Commit Graph

9129 Commits

Author SHA1 Message Date
Chris Wilson
239280f855 stage-cogl: Fix damage tracking with varying buffer ages
With server-side buffer allocation, buffers may be returned out of order
(e.g. they may be held onto by external references or hardware). As such
we may see older buffers the frame after we discard the history from
seeing a very young buffer. To overcome this we want to keep the history
in a ring so we can keep track of older entries without keeping an
unbounded list. After converting to a ring, the maximum buffer age
observed during testing was 5 (expected value of 4), but before we could
see ages as high as 9 due to the huge latency spikes caused by doing full
buffer redraws (compounded by external listeners doing readback on the
damaged areas, for example vnc, drm/udl, prime). For this reason, a
maximum age of 16 was chosen to be suitably large enough to prevent these
worst cases from taxing the system.

v2: Fix off-by-one in combining the damage histroy into the clipping
rectangle, and apply copious whitespace fixes.

Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=745512
References: https://bugzilla.gnome.org/show_bug.cgi?id=724788
References: https://bugzilla.gnome.org/show_bug.cgi?id=669122
2015-03-15 14:46:42 +00:00
Chris Wilson
55c957267e stage-cogl: Use swap buffers with damage
cogl provides an interface to pass along damage with the swap buffers
request. This is useful for the display servers and hardware to minimise
the work done in updating the screen and also reducing the work done by
external listeners (such as vnc, drm/udl and PRIME).

Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=745512
2015-03-15 14:45:53 +00:00
Emmanuele Bassi
a82b97e000 build: The EGL backend is no longer experimental
It's used by GNOME Shell on Wayland, and it's automatically tested on
build.gnome.org — I say we can remove the experimental backend flag.
2015-03-14 23:26:39 +00:00
Emmanuele Bassi
6de3413921 rectangle: Do not draw the border if bigger than the allocation
If the rectangle is allocate a size smaller than the border, drawing the
border will end up with negative coordinates, and will mess up the whole
thing. Since rectangles don't have a minimum preferred size, we cannot
rely on the allocation being big enough to contain the border and the
background color.

If the rectangle is smaller than the border width value, we just paint
the border color as well.
2015-03-14 23:17:27 +00:00
Samir Ribic
56baa51b1a Added Bosnian translation 2015-03-13 20:57:36 +00:00
Emmanuele Bassi
a740366369 ignore: Add gtkdoc-check files 2015-03-12 20:22:57 +00:00
Emmanuele Bassi
8af4dfc8ae build: Enable gtk-doc check
This should catch missing symbols during `make check`, and hopefully
lead to their addition prior to a release.
2015-03-12 20:22:57 +00:00
Emmanuele Bassi
34b03aebaf build: Add missing Mir includes for gtk-doc
If we don't specify the files, gtk-doc won't find the symbols even if
they are documented.
2015-03-12 20:22:57 +00:00
Emmanuele Bassi
1912f28063 docs: Remove leftover DocBook tags
We use markdown for the documentation.
2015-03-12 20:22:57 +00:00
Rūdolfs Mazurs
c0d01f87d4 Updated Latvian translation 2015-03-12 21:47:36 +02:00
Dušan Kazik
a9d6057402 Updated Slovak translation 2015-03-09 11:44:53 +00:00
Emmanuele Bassi
fefc2b5321 docs: Improve more deprecation notices 2015-03-08 15:49:45 +00:00
Milo Casagrande
0b32b3a96a Updated Italian translation 2015-03-08 15:41:58 +00:00
Daniel Korostil
4a55faf36a Updated Ukrainian translation 2015-03-08 14:25:06 +02:00
Chun-wei Fan
fc9248b3b6 MSVC Builds: Rename "Install" projects
Rename the install projects to clutter-install so that it would be easier
to use the project file set as a part of a grand solution file, such as
one that is used to build the entire Clutter stack.
2015-03-06 18:47:45 +08:00
Chun-wei Fan
2312d26dfe MSVC Builds: "Install" .pdb Files
"Install" the .pdb file for the Clutter DLL, that is already built
alongside with it with all builds.  This commit will disable, for now,
the "installation" of the test/sample programs.
2015-03-06 18:45:59 +08:00
Chun-wei Fan
ddf1962c98 MSVC 2010 Builds: Fix .pdb Generation
In order to make the .pdb filename match the filename of the target, the
.pdb filename must be specified for Visual Studio builds, if the target
filename does not match the project name.  Update the Clutter main project
accordingly.
2015-03-06 18:44:17 +08:00
Chun-wei Fan
aa62a5cb7f MSVC Builds: Speed Up Release Builds
Use the multipropcessor compilation (/MP) option, which can help cut down
build times for release builds by quite a bit.  A warning will be emitted
for debug builds, due to the use of /Gm, but the build will otherwise
proceed normally.

Also use the /d2Zi+ compiler flag for MSVC 2010 (and later) builds, so that
more useful info would be logged to the .pdb files that are generated
during the build.
2015-03-06 18:37:04 +08:00
Chun-wei Fan
432a38722a MSVC 2010 Builds: Clean Up "Install"
Remove the empty lines from the property sheet that is really not necessary
2015-03-06 18:26:08 +08:00
Chun-wei Fan
133545c0e1 MSVC Builds: Update Clutter Main Project
There is a new source needed to build the GDK backend, so include that in
the project files.
2015-03-06 18:15:08 +08:00
Emmanuele Bassi
79b1253bc8 docs: Improve deprecation notices for ClutterAnimation 2015-03-05 13:18:37 +00:00
Emmanuele Bassi
2a5b6d8753 docs: Add anchors to sections in ClutterActor's description 2015-03-05 13:16:59 +00:00
Emmanuele Bassi
6bed552cfe docs: Improve deprecation notices for ClutterTableLayout 2015-03-05 13:04:09 +00:00
Emmanuele Bassi
51b46bc093 docs: Improve deprecation notices for ClutterBox 2015-03-05 12:57:26 +00:00
Emmanuele Bassi
423a126c95 docs: Improve deprecation notices for ClutterRectangle 2015-03-05 12:57:08 +00:00
Piotr Drąg
c8f0279ad8 Updated Polish translation 2015-03-05 00:09:12 +01:00
Tom Tryfonidis
c8c5e06f1f Updated Greek translation 2015-03-04 17:20:17 +00:00
Emmanuele Bassi
ec26ae2b5a docs: Update deprecation notes for ClutterTexture
Point to ClutterImage, ClutterContent, and ClutterActor where needed, so
that developers trying to port their code will have a chance at figuring
out how.
2015-03-04 16:08:18 +00:00
Emmanuele Bassi
253292802c Drop the UProf dependency
Nobody has been compiling Clutter with profiling enabled in a long time.

UProf itself hasn't been updated in 5 years, and it still depends on
deprecated components like dbus-glib, with no port to GDBus in sight.

The profiling code was moderately useful in the past, but these days
it's probably better to profile Cogl than Clutter itself; timing
information can be extracted by the timestamp on each diagnostic message
that is now available by default in the CLUTTER_NOTE macro, and we can
add ad hoc counters where needed.
2015-03-03 17:44:15 +00:00
Emmanuele Bassi
df15f04fc0 build: Use libtool macros to find libm
Instead of using `-lm` everywhere, use LT_LIB_M inside configure.ac, and
$(LIBM) inside Makefile.am.
2015-03-03 17:23:37 +00:00
Emmanuele Bassi
4591435c35 Post-release version bump to 1.21.7 2015-03-03 16:25:13 +00:00
Emmanuele Bassi
9b4a7a9964 Release Clutter 1.21.6 2015-03-03 16:16:39 +00:00
Emmanuele Bassi
b33c523243 docs: Add missing sections to the Clutter API reference 2015-03-03 16:15:31 +00:00
Emmanuele Bassi
54da12762b docs: Add missing symbols to the Clutter API reference 2015-03-03 16:15:14 +00:00
Emmanuele Bassi
4bfb3650b3 build: Add missing files to the API reference build 2015-03-03 16:14:45 +00:00
Emmanuele Bassi
faf90f5ddd docs: Fix a gtk-doc annotation in the Mir backend 2015-03-03 16:14:15 +00:00
Emmanuele Bassi
73e6f4e69d build: Add top_builddir to the API reference sources
Otherwise gtk-doc won't be able to find some generated files.
2015-03-03 15:54:36 +00:00
Emmanuele Bassi
6b70343d09 docs: Minimal fixes for the API reference 2015-03-03 15:53:04 +00:00
Emmanuele Bassi
a9861b3419 docs: Note that the GDK backend is the new default
Update the release notes with this piece of information.
2015-03-03 15:18:35 +00:00
Мирослав Николић
a3ecf37e34 Updated Serbian translation 2015-03-02 20:24:15 +01:00
Emmanuele Bassi
3b98103b72 gdk/stage: Warn if CoglContext is not available
Instead of crashing inside Cogl later on.

https://bugzilla.gnome.org/show_bug.cgi?id=745229
2015-03-02 16:08:18 +00:00
Aurimas Černius
97ea9e973d Updated Lithuanian translation 2015-02-28 21:23:59 +02:00
Rafael Ferreira
9341035a30 Updated Brazilian Portuguese translation 2015-02-26 20:38:46 +00:00
Alexandre Franke
36780b07b1 Updated French translation 2015-02-24 09:48:03 +00:00
Owen W. Taylor
c32dc34080 Allow setting up quad-buffer stereo output
Add clutter_x11_set_use_stereo_stage() that can be called
before clutter_init() so that the CoglDisplay we create and all
stages created from that CoglDisplay will be created with a
stereo fbconfig.

This is done in clutter-x11 because of the similarity to the
existing clutter_x11_set_use_argb_visual(), and because it's
not clear without other examples whether the need to have
stereo enabled from before clutter_init() is universal or
somethign specific to GLX.

Cogl required version is increased to 1.20, which has the
required API.

https://bugzilla.gnome.org/show_bug.cgi?id=732706
2015-02-23 16:39:21 -05:00
Chao-Hsiung Liao
82926e9532 Updated Chinese (Taiwan) translation 2015-02-21 11:17:52 +00:00
Marco Trevisan (Treviño)
77db999339 clutter: add Mir windowing/input backend
Added support for Mir, now clutter can natively draw on MirSurfaces.
This depends on latest cogl git.

Run your clutter apps using CLUTTER_BACKEND=mir

Signed-off-by: Emmanuele Bassi <ebassi@gnome.org>
2015-02-21 00:46:17 +00:00
Giovanni Campagna
10cce00440 ClutterActor: expose setter for the opacity override
Toolkits may need to paint actors internally outside the normal tree
(for example to create a shadow shape), in which case they need to
control the opacity directly.

https://bugzilla.gnome.org/show_bug.cgi?id=677412

Signed-off-by: Emmanuele Bassi <ebassi@gnome.org>
2015-02-21 00:26:40 +00:00
Fran Dieguez
65032da551 Updated Galician translations 2015-02-19 12:21:54 +01:00
Lionel Landwerlin
a4d0b157b6 gdk: master-clock: force scheduling new frames for timelines alive
As long as we have timelines alive, we need to keep asking the
GdkFrameClock for new frames. Otherwise animations might stall.

https://bugzilla.gnome.org/show_bug.cgi?id=744684
2015-02-18 11:37:53 +00:00