commit 333f4c8f07dc1f281b478a048a0f395e7e4529bc Author: Emmanuele Bassi Date: Mon May 10 10:14:40 2010 +0100 Release Clutter 1.2.8 NEWS | 36 ++++++++++++++++++++++++++++++++++++ configure.ac | 4 ++-- 2 files changed, 38 insertions(+), 2 deletions(-) commit d11cb33e20a6c79fbe1e293ffbff85409b9b6836 Author: Emmanuele Bassi Date: Sun May 9 00:13:16 2010 +0100 Fix annotation typos (cherry picked from commit 4c850d39c59bc1d88f527f99485882fa2399afbf) Signed-off-by: Emmanuele Bassi clutter/clutter-animation.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit dce15cb94705542134594470a2c3f09cd6044bd2 Author: Damien Lespiau Date: Mon May 3 20:41:17 2010 +0200 debug: Use G_UNLIKELY in the tests Debugging code is not meant to be run in the nominal code path. Use G_UNLIKELY to be reduce the number of bubbles in the instruction pipeline. Took the opportunity to re-indent the macros. (cherry picked from commit 71f942d03a42e9f0c2a88823aaa20d375f392163) clutter/clutter-debug.h | 52 ++++++++++++++++++++-------------------- clutter/cogl/cogl/cogl-debug.h | 20 +++++++------- 2 files changed, 36 insertions(+), 36 deletions(-) commit 8b9e7a6863f1be92ed15a897fe88212da3ef8202 Author: Jussi Kukkonen Date: Sun Apr 18 10:47:14 2010 +0300 container: use CLUTTER_IS_ACTOR on correct parameter clutter_container_create_child_meta() uses CLUTTER_IS_ACTOR on the container parameter instead of the actor parameter. http://bugzilla.openedhand.com/show_bug.cgi?id=2087 Signed-off-by: Emmanuele Bassi (cherry picked from commit 0835e27380e2de484c0bd330ab0163d5df63b902) clutter/clutter-container.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 14a353e0c204a3e603397d3dce61a11ac80c6cee Author: Owen W. Taylor Date: Fri Apr 30 14:56:07 2010 -0400 Ignore unexpected GLX_BufferSwapComplete A server that supports GLX_BufferSwapComplete will always send these events, so we should just silently ignore them if we've chosen not to take advantage of the INTEL_swap_event GLX extension. http://bugzilla.openedhand.com/show_bug.cgi?id=2102 (cherry picked from commit d8e1bd989c0ccd95a6c0cea20d567da9a3bc6d79) Signed-off-by: Emmanuele Bassi clutter/glx/clutter-event-glx.c | 15 ++++++++------- 1 files changed, 8 insertions(+), 7 deletions(-) commit d43312e55c79d032ffc22c84b81db6f55778a761 Author: Neil Roberts Date: Wed May 5 12:05:15 2010 +0100 gles: Fix the functions names for the GL_OES_framebuffer_object ext In 91cde78a7 I accidentally changed the function names that get looked up for the framebuffer extension under GLES so that they didn't have any suffix. The spec for extension specifies that they should have the OES suffix. (cherry picked from commit 0ff02d18d2741adbb79d479a34325f0d63a05c26) .../cogl/cogl/driver/gles/cogl-feature-functions.h | 5 +---- 1 files changed, 1 insertions(+), 4 deletions(-) commit 04b23a4aa64cb794d93bf8fb851fc9e4f2bfbbb9 Author: Owen W. Taylor Date: Fri Apr 30 14:50:11 2010 -0400 Call backend handle_event from clutter_x11_handle_event() Whether events come from the main loop source or from clutter_x11_handle_event(), we need to feed them to the backend virtual handle_event function. This fixes problems with clients using clutter_x11_handle_event() hanging because GLXBufferSwapComplete events aren't received. http://bugzilla.openedhand.com/show_bug.cgi?id=2101 clutter/x11/clutter-event-x11.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-) commit eaf0bb86f1b511d96db788ac980e82a74c01f1b8 Author: Neil Roberts Date: Mon Apr 26 12:41:26 2010 +0100 cogl-texture-2d-sliced: Use the converted bitmap when uploading When uploading texture data the cogl-texture-2d-sliced backend was using _cogl_texture_prepare_for_upload to create a bitmap suitable for upload but then it was using the original bitmap instead of the new bitmap for the data. This was causing any format conversions performed by cogl_texture_prepare_for_upload to be ignored. http://bugzilla.openedhand.com/show_bug.cgi?id=2059 (cherry picked from commit e477768bd859550930c57a72318c952076b67158) clutter/cogl/cogl/cogl-texture-2d-sliced.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit 59f92b6d85aa3e36149fc2116436f1779731731a Author: Neil Roberts Date: Mon Apr 26 12:30:37 2010 +0100 cogl-texture: Don't attempt to use GL to convert formats under GLES In commit abe91784c4b I changed cogl-texture so that it would use the OpenGL mechanism to specify a different internal texture format from the image format so that it can do the conversion instead of Cogl. However under GLES the internal format and the image format must always be the same and it only supports a limited set of formats. This patch changes _cogl_texture_prepare_for_upload so that it does the conversion using the cogl bitmap code when compiling for GLES. http://bugzilla.openedhand.com/show_bug.cgi?id=2059 (cherry picked from commit 405d529f449bb3cfa7f156510a98e70e38c9e1b5) clutter/cogl/cogl/cogl-texture.c | 32 ++++++++++++++++++++++++++++++++ 1 files changed, 32 insertions(+), 0 deletions(-) commit 9df0a9ca1c412d8d2828b983757886dd8e6633c5 Author: Neil Roberts Date: Tue Apr 27 16:38:07 2010 +0100 cogl-material: Fix the check to prevent using too many layers There was a check at the bottom of the loop which sets up the state for each of the layers so that it would break from the loop when the maximum number of layers is reached. However after doing this it would not increment 'i'. 'i' is later used to disable the remaining layers so it would end up disabling the last layer it just set up. This patch moves the check to be part of the loop condition so that the check is performed after incrementing 'i'. http://bugzilla.openedhand.com/show_bug.cgi?id=2064 (cherry picked from commit 8530b7946a862abdbcd4890ba8a444799b75986d) clutter/cogl/cogl/cogl-material.c | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-) commit 2bd608e23b2431bce3adbf8be4495f0fc22e1ed7 Author: Neil Roberts Date: Tue Apr 27 16:35:35 2010 +0100 cogl-material: Fix the warning for when too many layers are used The warning displayed when too many layers are used had an off-by-one error so that it would display even if exactly the maximum number is used. There was also a missing space at the end of the line in the message which looked wrong when displayed on the terminal. http://bugzilla.openedhand.com/show_bug.cgi?id=2064 (cherry picked from commit 3c2bb33cbd129a474bd59cf9efa8275617eb06fa) clutter/cogl/cogl/cogl-material.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit bb9244f8daff8fa3e184585b557ee35fa3f370e0 Author: Emmanuele Bassi Date: Wed Apr 28 16:19:37 2010 +0100 Fix clutter_event_get_coords() for crossing events The ClutterCrossingEvent data structure contains the coordinates of the crossing; they are regularly filed out by Clutter and by the backend event processing code. And yet clutter_event_get_coords() returns (0, 0) because it thinks that CLUTTER_ENTER and CLUTTER_LEAVE events do not have coordinates. (cherry picked from commit ce261025f6dfd34153382cb69bcb7fb11b8e2561) Signed-off-by: Emmanuele Bassi clutter/clutter-event.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit edcaa89e357a0209dcaf955911d6165d5c54dc90 Author: Neil Roberts Date: Fri Mar 26 23:09:11 2010 +0000 picking: Read the colour value using COGL_PIXEL_FORMAT_RGBA_8888_PRE In commit c0a553163b I changed the format used to read the picking pixel to COGL_PIXEL_FORMAT_RGB_888 because it was convenient to avoid the premult conversion. However this broke picking on GLES on some platforms because for that glReadPixels is only guaranteed to support GL_RGBA with GL_UNSIGNED_BYTE. Since the last commit cogl_read_pixels will always use that format but it will end up with a conversion back to RGB_888. This patch avoids that conversion and avoids the premult conversion by reading in RGBA_8888_PRE. http://bugzilla.openedhand.com/show_bug.cgi?id=2057 (cherry picked from commit 78dc59b34859686c89e9b96dc0fc78f453031262) clutter/clutter-main.c | 12 +++++++++--- 1 files changed, 9 insertions(+), 3 deletions(-) commit 7cfde98438a38036f4806310b80662e27c1a7d69 Author: Neil Roberts Date: Fri Mar 26 22:40:53 2010 +0000 cogl_read_pixels: Always use GL_RGBA/GL_UNSIGNED_BYTE under GLES Under GLES glReadPixels is documented to only support GL_RGBA with GL_UNSIGNED_BYTE and an implementation specfic format which can be fetched with glGet, GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES and GL_IMPLEMENTATION_COLOR_READ_TYPE_OES. This patch makes it always read using GL_RGBA and GL_UNSIGNED_BYTE and then convert the results if neccessary. This has some room for improvement because it doesn't attempt to use the implementation specific format. Also the conversion is somewhat wasteful because there are currently no cogl_bitmap_* functions to convert without allocating a new buffer so it ends up doing an intermediate copy. http://bugzilla.openedhand.com/show_bug.cgi?id=2057 (cherry picked from commit 0cb09cd40d6b031a5514038af73a13d4e7bf2f82) clutter/cogl/cogl/cogl.c | 67 +++++++++++++++++++++++++++++++++++++++------ 1 files changed, 58 insertions(+), 9 deletions(-) commit 72f2f6a20a79e446707e5c4608975296d2528a7c Author: Neil Roberts Date: Fri Mar 26 22:34:56 2010 +0000 cogl-bitmap: Fix converting formats with and without alpha channels _cogl_bitmap_convert_format_and_premult was failing when converting from RGBA to RGB and vice versa. _cogl_bitmap_fallback_convert converts without altering the premult status so when choosing a new format it would copy over the premult bit. However, it did this regardless of whether the new format had an alpha channel so when converting from RGBA_8888_PRE to RGB_888 it would end up inventing a new meaningless format which would be RGB_888_PRE. This patch makes it avoid copying the premult flag if the destination has no alpha. It doesn't matter if it copies when the source format has no alpha because it will always be unset. _cogl_bitmap_convert_format_and_premult was also breaking when converting from RGBA_8888_PRE to RGB_888 because it would think RGB_888 is unpremultiplied and try to convert but then _cogl_bitmap_fallback_premult wouldn't know how to do the conversion. http://bugzilla.openedhand.com/show_bug.cgi?id=2057 (cherry picked from commit 9750b90f37127c85f7092c16ca64fb0b63501882) clutter/cogl/cogl/cogl-bitmap-fallback.c | 8 ++++++-- clutter/cogl/cogl/cogl-bitmap.c | 10 +++++++++- 2 files changed, 15 insertions(+), 3 deletions(-) commit 97b2ce08511726e6c140ebc0e05c4b52a218523d Author: Neil Roberts Date: Thu Apr 22 18:03:57 2010 +0100 cogl-path: Add documentation for the angles of cogl_path_arc This adds documentation for how Cogl interprets the angles given to cogl_path_arc. (cherry picked from commit e16f05326e72484a38c5154ecdf973de2c35445a) clutter/cogl/cogl/cogl-path.h | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-) commit 2dd19e09fad6b1538aea329b813a55c3713ce198 Author: Neil Roberts Date: Wed Apr 21 11:49:57 2010 +0100 cogl-path: Document how a shape is filled This adds some documentation to cogl_path_fill() describing the fill rule Cogl uses. (cherry picked from commit 7f2b2e13641c146f4b62631ed89638aba610ae07) clutter/cogl/cogl/cogl-path.h | 28 +++++++++++++++++++++++----- doc/reference/cogl/Makefile.am | 6 +++++- doc/reference/cogl/fill-rule.png | Bin 0 -> 3121 bytes 3 files changed, 28 insertions(+), 6 deletions(-) commit 32a7465cb97197a58cd80992510bb48da0eedf66 Author: Neil Roberts Date: Fri Apr 23 10:39:27 2010 +0100 cogl-path: Don't try to union sub paths When drawing a path with only a single sub path, Cogl uses the 'even-odd' fill rule which means that if a part of the path intersects with another part then the intersection would be inverted. However when combining sub paths it treats them as separate paths and then unions them together. This doesn't match the semantics of the even-odd rule in SVG and Cairo. This patch makes it so that a new sub path is just drawn as another triangle fan so that it will continue to invert the stencil buffer. This is also much simpler and more efficient as well as being more correct. http://bugzilla.openedhand.com/show_bug.cgi?id=2088 (cherry picked from commit 44c86fceadf4e770fa93df1605cf93f16103b195) Conflicts: clutter/cogl/cogl/cogl-path.c clutter/cogl/cogl/cogl-path.c | 24 ------------------------ 1 files changed, 0 insertions(+), 24 deletions(-) commit 61131ad01140aa58821938956aa291847d6ba294 Author: Neil Roberts Date: Tue Apr 20 14:58:57 2010 +0100 cogl-clip-stack: Use orientation of the polygon to set clip planes Previously the clip stack code was trying to detect when the orientation of the on-screen rectangle had changed by checking if the order of the y-coordinates on the left edge was different from the order the x-coordinates on the top edge. This doesn't work for some rotations which was causing the clip planes to clip the wrong side of the line. This patch makes it detect the orientation by calculating the signed area which is a standard computer graphics algorithm. http://bugzilla.openedhand.com/show_bug.cgi?id=2079 (cherry picked from commit abc64a2c671a4eeafa374ceb91482e058705f6fb) clutter/cogl/cogl/cogl-clip-stack.c | 43 +++++++++++++++++++--------------- 1 files changed, 24 insertions(+), 19 deletions(-) commit 00584d542dcc73220c645f0d2f424ea02c750320 Author: Emmanuele Bassi Date: Mon Apr 19 17:53:20 2010 +0100 Post-release version bump to 1.2.7 configure.ac | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)