commit 21354b2b7518c9518fa8405f07ed1f929736d4a2 Author: Emmanuele Bassi Date: Tue Feb 16 12:21:15 2010 +0000 Release 1.1.12 (developers snapshot) configure.ac | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit 7a3eb452b802e5b38542d224da179c4267706e7b Author: Emmanuele Bassi Date: Tue Feb 16 12:16:02 2010 +0000 conform: Do not resize the stage Since all conformance tests share the same state we should not touch stuff like the stage size; sharing is already fairly complex and adds a lot of caveats on the implementation of a conformance test unit, and if we make tests influence later ones then we might slip in bugs or false negatives - thus defeating the whole point of a conformance test suite. tests/conform/test-cogl-offscreen.c | 1 - tests/conform/test-cogl-readpixels.c | 1 - tests/conform/test-cogl-viewport.c | 1 - tests/conform/test-pick.c | 1 - 4 files changed, 0 insertions(+), 4 deletions(-) commit 4cadc7300504828fa0db8cb21e1b9d8e23be6319 Author: Emmanuele Bassi Date: Tue Feb 16 12:15:23 2010 +0000 conform: Use a 640x480 stage in test-pick Do not resize the stage to a smaller size: the default size is perfectly fine. tests/conform/test-pick.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit 958545aa70e526a12720bf2dd0d9b9a24d273b8d Author: Neil Roberts Date: Tue Feb 16 12:01:18 2010 +0000 cogl-atlas-texture: Don't use the atlas if FBOs aren't supported If FBOs aren't supported then it will end up very slow to reorganize the atlas. Also currently the CoglTexture2D backend will refuse to create any textures anyway so the full atlas texture won't be created. clutter/cogl/cogl/cogl-atlas-texture.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) commit a5021ba30f553d641399545d9777eb5b4b385ac1 Author: Neil Roberts Date: Tue Feb 16 11:58:47 2010 +0000 cogl-atlas-texture: Check for errors when creating the atlas texture cogl_texture_2d_new may fail in certain circumstances so cogl_atlas_texture_reserve_space should detect this and also fail. This will cause cogl_texture_new to fallback to a sliced texture. Thanks to Vladimir Ivakin for reporting this problem. clutter/cogl/cogl/cogl-atlas-texture.c | 19 ++++++++++++------- 1 files changed, 12 insertions(+), 7 deletions(-) commit e65bb38720c8990684ce24bda08b78d8da49cc1b Author: Emmanuele Bassi Date: Tue Feb 16 11:38:51 2010 +0000 conform: Use g_assert_cmpint() in cogl-readpixels test The g_assert_cmpint() macro prints out not just the assertion condition but also the assertion contents; this is useful to catch wrong values without incrementing the verbosity of the test itself. tests/conform/test-cogl-readpixels.c | 18 ++++++++---------- 1 files changed, 8 insertions(+), 10 deletions(-) commit 56f164f8a1c634e2d0ba6ffb5879672d456e1488 Author: Emmanuele Bassi Date: Mon Feb 15 19:03:37 2010 +0000 docs: Document SWAP_EVENTS feature flag clutter/clutter-feature.h | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit 2fcb644e4fb02375bdf8b1f54677bcde7abdceba Author: Chris Lord Date: Mon Feb 15 18:53:58 2010 +0000 [stage] Fix some races to do with window resizing When we resize, we relied on the stage's allocate to re-initialise the GL viewport. Unfortunately, if we resized within Clutter, the new size was cached before the window is actually resized, so glViewport wasn't being called after resizing (some of the time, it's a race condition). Change the way resizing works slightly so that we only resize when the geometry size doesn't match our preferred size, and queue a relayout on ConfigureNotify so the glViewport gets called. Also change window creation slightly so that setting the size of a window before it's realized works correctly. clutter/clutter-stage.c | 36 +++++++++++++++--------------------- clutter/glx/clutter-stage-glx.c | 19 +++++++++++++++++-- clutter/x11/clutter-event-x11.c | 13 +++++++++++++ clutter/x11/clutter-stage-x11.c | 24 ++++++++++-------------- 4 files changed, 55 insertions(+), 37 deletions(-) commit 0d428655e23c18064176aa823db0d7165581ba02 Author: Emmanuele Bassi Date: Mon Feb 15 16:09:26 2010 +0000 actor: Turn push/pop_internal into Actor methods Since the "internal" state is global, it will leak onto actors that you didn't intend for it to, because it applies not just to the actors you create, but also to any actors *they* create. Eg, if you have a dialog box class, you might push/pop_internal around creating its buttons, so that those buttons get marked as internal to the dialog box. But ctx->internal_child will still be set during the *button*'s constructor as well, and so, eg, the label and icon inside the button actor will *also* be marked as internal children, even if that isn't what the button class wanted. The least intrusive change at this point is to make push_internal() and pop_internal() two methods of the Actor class, and take a ClutterActor pointer as the argument - thus moving the locality of the internal_child counter to the Actor itself. http://bugzilla.openedhand.com/show_bug.cgi?id=1990 clutter/clutter-actor.c | 31 ++++++++++++++++++------------- clutter/clutter-actor.h | 4 ++-- clutter/clutter-private.h | 2 -- tests/conform/test-actor-destroy.c | 4 ++-- 4 files changed, 22 insertions(+), 19 deletions(-) commit 2229cafc3833a017b3a107b4f6b207f0a95908f5 Author: Emmanuele Bassi Date: Mon Feb 15 12:04:50 2010 +0000 stage: Add sanity checks for get_pending_swaps() The master clock might have a Stage during its destruction phase, without a StageWindow attached to it. If this happens and we try to dereference the StageWindow to get its class and call a virtual function we might experience some slight turbulence and... then... explode. http://bugzilla.openedhand.com/show_bug.cgi?id=1987 clutter/clutter-master-clock.c | 21 +++++++++++++-------- clutter/clutter-stage.c | 10 +++++++++- 2 files changed, 22 insertions(+), 9 deletions(-) commit fef82fae5c716f15cd345fcfbc37f01578a82580 Author: Emmanuele Bassi Date: Mon Feb 15 11:58:55 2010 +0000 build: Enable experimental COGL API in tests/conform Enable the experimental API when building the conformance test suite. tests/conform/Makefile.am | 1 + tests/conform/test-cogl-pixel-buffer.c | 3 --- 2 files changed, 1 insertions(+), 3 deletions(-) commit 032121ce17fb825592ba435cf260107b52f8196c Author: Emmanuele Bassi Date: Mon Feb 15 11:57:48 2010 +0000 build: Disable deprecated API in tests/conform We should not be using deprecated API in the conformance test suite. tests/conform/Makefile.am | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit c3354cb2c0acc7d80b2cea3f970a1d83a47d585c Author: Emmanuele Bassi Date: Mon Feb 15 11:56:34 2010 +0000 conform: Do not use deprecated API There is no more type-specific ref/unref pairs: it is all under CoglHandle now. tests/conform/test-cogl-blend-strings.c | 6 +++--- tests/conform/test-cogl-multitexture.c | 2 +- tests/conform/test-cogl-texture-mipmaps.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) commit d607400f01be1c1e26f54b3d83794e0d246e8db0 Author: Emmanuele Bassi Date: Mon Feb 15 11:45:35 2010 +0000 x11: Do not set pid or title on foreign windows If a StageX11 is using a foreign window we should not need to set the _NET_WM_PID or the WM_TITLE properies. http://bugzilla.openedhand.com/show_bug.cgi?id=1989 clutter/x11/clutter-stage-x11.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit 89191e8bbc591f33dd0f45e2317f31eeaa7d4023 Author: Emmanuele Bassi Date: Mon Feb 15 11:44:02 2010 +0000 docs: Mention signal-swapped-after modifier The signal-swapped-after:: modifier for signal connection inside the clutter_actor_animate* variadic arguments functions is not mentioned in the documentation. clutter/clutter-animation.c | 34 ++++++++++++++++++++++++---------- 1 files changed, 24 insertions(+), 10 deletions(-) commit 262782feae4e8130321be414f7aac9141ae22eab Author: Damien Lespiau Date: Mon Feb 8 19:18:36 2010 +0000 docs: Add 2010 in COGL's Copyright notice While at it, fix the usage of in to let the stylesheet do the collation when having several years. doc/reference/clutter/clutter-docs.xml.in | 7 +++++-- doc/reference/cogl/cogl-docs.xml.in | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) commit 01bf50905689b363877f85942403cdc947f8c82c Author: Damien Lespiau Date: Fri Feb 12 17:24:15 2010 +0000 cogl-buffer: fix compilation for GL ES In the frenzy of the last 10mins before API freeze, I obviously forgot to update the OpenGL path for _cogl_buffer_hints_to_gl_enum(). This commit fixes this. clutter/cogl/cogl/cogl-buffer.c | 15 +++++---------- 1 files changed, 5 insertions(+), 10 deletions(-) commit e668a2f228acb1f38853eea4245f87e10e82fe23 Author: Neil Roberts Date: Fri Feb 12 15:33:56 2010 +0000 cogl-atlas-texture: Flush the journal before adding a new texture When the atlas is reorganised we could potentially be moving around textures that are already referenced in the journal. We therefore need to flush the journal otherwise they will be rendered with incorrect texture coordinates. We also need to flush the journal even if we are not reorganizing so that we can rely on the old texture contents remaining in the atlas after migrating a texture out. clutter/cogl/cogl/cogl-atlas-texture.c | 26 +++++++++++++++++++++++++- 1 files changed, 25 insertions(+), 1 deletions(-) commit 4be4f56bdf463ccac89c7068b47ba1450bee95ee Author: Neil Roberts Date: Fri Feb 12 10:08:51 2010 +0000 cogl-sub-texture: Optimise taking a sub texture of a sub texture When creating a Cogl sub-texture, if the full texture is also a sub texture it will now just offset the x and y and reference the full texture instead. This avoids one level of indirection when rendering the texture which reduces the chances of getting rounding errors in the calculations. clutter/cogl/cogl/cogl-sub-texture-private.h | 17 ++++- clutter/cogl/cogl/cogl-sub-texture.c | 29 +++++++-- clutter/cogl/cogl/cogl-texture.h | 4 + tests/conform/test-cogl-sub-texture.c | 89 ++++++++++++++++--------- 4 files changed, 99 insertions(+), 40 deletions(-) commit 2018b5b16750b090c5592ebd5262fc66d809183e Author: Emmanuele Bassi Date: Fri Feb 12 16:24:27 2010 +0000 actor: Split get_paint_opacity() from the type check Since get_paint_opacity() recurses through the hierarchy it might lead to a lot of type checks while we walk the parent-child chain. We can split the recursive function from the public entry point and perform the type check just once. clutter/clutter-actor.c | 55 +++++++++++++++++++++++++++++----------------- 1 files changed, 35 insertions(+), 20 deletions(-) commit 37d51cb78e41ea36f01c049eda6163bddc84ce33 Author: Emmanuele Bassi Date: Fri Feb 12 16:18:12 2010 +0000 actor: Do not call get_opacity() from get_paint_opacity() We already have access to the opacity private field, there's no need to go through the public API. clutter/clutter-actor.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit 124f30cccef75feabb0933c074753b392f373e82 Author: Emmanuele Bassi Date: Fri Feb 12 15:52:07 2010 +0000 docs: Fixes for Cogl clutter/cogl/cogl/cogl-material.h | 1 + clutter/cogl/cogl/cogl-pixel-buffer.h | 2 +- doc/reference/cogl/Makefile.am | 3 ++- doc/reference/cogl/cogl-sections.txt | 8 ++++---- 4 files changed, 8 insertions(+), 6 deletions(-) commit 27e6c3b1e0db6fcb36a8f7e44e457b672ee34565 Author: Emmanuele Bassi Date: Fri Feb 12 14:46:43 2010 +0000 build: Use -Wuninitialized instead of -Wno-uninitialized We want to be warned about uninitialized variables. configure.ac | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 00c4bfc3c69ba1c1c37852392b46c0fe601a98a1 Author: Emmanuele Bassi Date: Fri Feb 12 14:45:49 2010 +0000 analysis: Interactive tests Abort if test-behave was passed the wrong type of behaviour to test. tests/interactive/test-behave.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit 46182233c031c480b5d4d1f6109ab28a6199d369 Author: Emmanuele Bassi Date: Fri Feb 12 14:45:04 2010 +0000 analysis: Conformance tests Initialize ClutterPathNote members to 0 using "{ 0, }". tests/conform/test-path.c | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-) commit 78f1f508af88ccd9652d38811a4ebc6662c566dd Author: Emmanuele Bassi Date: Thu Feb 11 15:24:41 2010 +0000 analysis: x11: ClutterEvent Remove an unused variable. clutter/x11/clutter-event-x11.c | 3 --- 1 files changed, 0 insertions(+), 3 deletions(-) commit 081696fdb5d83c41ed201277db272572eb534db2 Author: Emmanuele Bassi Date: Thu Feb 11 15:24:17 2010 +0000 analysis: CoglPangoRenderer Remove unused variables. clutter/cogl/pango/cogl-pango-render.c | 17 +++++++---------- 1 files changed, 7 insertions(+), 10 deletions(-) commit 2d8bdf9e5ebd101b40854e0066b06037dd261ea5 Author: Emmanuele Bassi Date: Thu Feb 11 15:20:25 2010 +0000 analysis: ClutterTimeoutPool Do not pre-initialize the list iterator, the for loop will do it for us. clutter/clutter-timeout-pool.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 9c8f8818784ba7c709c70ead6d8e103ee28d0c8c Author: Emmanuele Bassi Date: Thu Feb 11 15:20:07 2010 +0000 analysis: ClutterTimeline Remove an unused variable. clutter/clutter-timeline.c | 4 ---- 1 files changed, 0 insertions(+), 4 deletions(-) commit 65af411cb4675eab722fe16acc93fa6e7183e3c8 Author: Emmanuele Bassi Date: Thu Feb 11 15:19:46 2010 +0000 analysis: ClutterTexture Remove unused variables. clutter/clutter-texture.c | 25 +++++++++---------------- 1 files changed, 9 insertions(+), 16 deletions(-) commit 09644e4bb6cff70d2c9a59bbe9b461b7e53676e2 Author: Emmanuele Bassi Date: Thu Feb 11 15:19:32 2010 +0000 analysis: ClutterText Remove unused variables. clutter/clutter-text.c | 2 -- 1 files changed, 0 insertions(+), 2 deletions(-) commit c2d434e3af3d3b862866273a7dd15541ecbebcd5 Author: Emmanuele Bassi Date: Thu Feb 11 15:19:18 2010 +0000 analysis: ClutterStage Remove unused variables. clutter/clutter-stage.c | 8 +------- 1 files changed, 1 insertions(+), 7 deletions(-) commit 136e8c1acb15c078c0898a834f55666c6f0ef384 Author: Emmanuele Bassi Date: Thu Feb 11 15:17:53 2010 +0000 analysis: ClutterScriptParser We parse a JSON value depending on the initial state of an uninitialized variable. Ouch. clutter/clutter-script-parser.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 4d9010dd5e9c5a69ba5f7a0c3969ce5ac337c08d Author: Emmanuele Bassi Date: Thu Feb 11 15:17:32 2010 +0000 analysis: ClutterRectangle Remove unused variables. clutter/clutter-rectangle.c | 10 +++------- 1 files changed, 3 insertions(+), 7 deletions(-) commit 8ba65cfd4aba677530b25d9ab1323d2b1b281282 Author: Emmanuele Bassi Date: Thu Feb 11 15:17:07 2010 +0000 analysis: ClutterModel Remove unused variables. clutter/clutter-model.c | 10 ---------- 1 files changed, 0 insertions(+), 10 deletions(-) commit bea1a0a6a22ecd0ed96720bcecb3919d3fbb2757 Author: Emmanuele Bassi Date: Thu Feb 11 15:13:40 2010 +0000 analysis: ClutterMain • Remove unused variables. • Do not pre-initialize ClutterActor's GType; pre-emptive optimizations like these are more black magic than real optimization. clutter/clutter-main.c | 21 ++++++--------------- 1 files changed, 6 insertions(+), 15 deletions(-) commit 66920ea540834c0264434f64a0dcfae4150e625f Author: Emmanuele Bassi Date: Thu Feb 11 15:13:20 2010 +0000 analysis: ClutterInterval Remove unused variables. clutter/clutter-interval.c | 8 -------- 1 files changed, 0 insertions(+), 8 deletions(-) commit 853f9941da5f40b936307ce45f67265f978d9c2b Author: Emmanuele Bassi Date: Thu Feb 11 15:11:51 2010 +0000 analysis: ClutterBoxLayout Remove an useless assignment. The n_expand_children is not used outside the extra_space check, and if n_expand_children is 0 then the extra space we allocate is 0. clutter/clutter-box-layout.c | 5 +---- 1 files changed, 1 insertions(+), 4 deletions(-) commit cd058562538633962089cd30787b7a98d9733144 Author: Emmanuele Bassi Date: Thu Feb 11 15:11:25 2010 +0000 analysis: ClutterBehaviour Remove an unused variable. clutter/clutter-behaviour.c | 5 +---- 1 files changed, 1 insertions(+), 4 deletions(-) commit 6dc0e9632cc2597240d9e42c98cd567dbcc1dbec Author: Emmanuele Bassi Date: Thu Feb 11 15:09:51 2010 +0000 analysis: ClutterAnimation • Remove one unused variable. • We ignore the result of get_timeline_internal() so we need to tell the compiler that - though a better solution would be to split the timeline implicit creation into its own function. clutter/clutter-animation.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) commit a287ca7a2824efef2608877555711c408122a400 Author: Emmanuele Bassi Date: Thu Feb 11 15:09:12 2010 +0000 analysis: ClutterAnimator/2 Clean up an unused variable. clutter/clutter-animator.c | 4 +--- 1 files changed, 1 insertions(+), 3 deletions(-) commit 667222c301ca0f19c570938055208e564e4d02ef Author: Emmanuele Bassi Date: Thu Feb 11 15:08:19 2010 +0000 analysis: ClutterAnimator/1 Do not de-reference a void*; use a temporary variable -- after checking the contents of the pointer. This actually simplifies the readability and avoids pulling a Lisp with the parentheses. clutter/clutter-animator.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-) commit fcd3cfc0bfc656d63088a443355b30e7b50d2850 Author: Emmanuele Bassi Date: Thu Feb 11 15:07:38 2010 +0000 analysis: ClutterAlpha Clean up unused variables. clutter/clutter-alpha.c | 12 ++---------- 1 files changed, 2 insertions(+), 10 deletions(-) commit aa6d7a30291c199fc1d26a93574d88c027367bf0 Author: Emmanuele Bassi Date: Thu Feb 11 15:05:18 2010 +0000 analysis: ClutterActor Clean up ClutterActor for unused variables. clutter/clutter-actor.c | 12 +----------- 1 files changed, 1 insertions(+), 11 deletions(-) commit 7a372bc0011b6301cc8b46767493a23218a67cff Author: Neil Roberts Date: Fri Feb 12 14:26:33 2010 +0000 cogl: Cache the value for GL_MAX_TEXTURE_UNITS The function _cogl_get_max_texture_units is called quite often while rendering and it returns a constant value so we might as well cache the result. Calling glGetInteger on Mesa can be expensive because it flushes a lot of state. clutter/cogl/cogl/cogl-context.c | 2 ++ clutter/cogl/cogl/cogl-context.h | 4 ++++ clutter/cogl/cogl/cogl.c | 12 +++++++++--- 3 files changed, 15 insertions(+), 3 deletions(-) commit 22c33b2fea1fd60239280aa1f4fd112f533688aa Author: Robert Bragg Date: Thu Feb 11 16:12:26 2010 +0000 cogl: resolves some low hanging issues flagged by clang An initial pass over the Cogl source code using the Clang static analysis tool flagged a few low hanging issues such as un-used variables or redundant initializing of variables which this patch fixes. clutter/cogl/cogl/cogl-texture-2d-sliced.c | 9 ++------- clutter/cogl/cogl/cogl-texture.c | 8 ++++---- 2 files changed, 6 insertions(+), 11 deletions(-) commit 18305cbd98e02ab139beef769cbc90a2121bd1f5 Author: Robert Bragg Date: Thu Feb 11 15:33:01 2010 +0000 cogl_rectangle: avoid redundant copy of geometry All the cogl_rectangle* APIs normalize their input into into an array of _CoglMutiTexturedRect rectangles and pass these on to our work horse; _cogl_rectangles_with_multitexture_coords. The definition of _CoglMutiTexturedRect had 4 separate float members, x_1, y_1, x_2 and y_2 which meant for some common cases we were having to copy out from an array into these members. We are now able to simply point into the users array avoiding a copy which seems desirable when submiting lots of rectangles. clutter/cogl/cogl/cogl-journal-private.h | 5 +- clutter/cogl/cogl/cogl-journal.c | 31 ++++--- clutter/cogl/cogl/cogl-primitives.c | 135 ++++++++++++++++-------------- 3 files changed, 91 insertions(+), 80 deletions(-) commit 5f18fc928d85499d6ee2ac433dde247286e2de4e Author: Robert Bragg Date: Wed Feb 10 22:47:49 2010 +0000 cogl: explicitly mark cogl__ref/unref APIs as deprecated This uses the G_GNUC_DEPRECATED macros to mark the cogl_{texture,vertex_buffer,shader}_ref and unref APIs as deprecated. Since this flagged that cogl-pango-display-list.c and clutter-glx-texture-pixmap.c were still using deprecated _ref/_unref APIs they have now been changed to use the cogl_handle_ref/unref API instead. clutter/cogl/cogl/cogl-shader.h | 8 ++++++-- clutter/cogl/cogl/cogl-texture.h | 4 ++-- clutter/cogl/cogl/cogl-vertex-buffer.h | 4 ++-- clutter/cogl/pango/cogl-pango-display-list.c | 8 ++++---- clutter/glx/clutter-glx-texture-pixmap.c | 2 +- 5 files changed, 15 insertions(+), 11 deletions(-) commit 48660349dbcabdde05fc9e1334734bcc62bb790e Author: Robert Bragg Date: Wed Feb 10 22:30:37 2010 +0000 cogl: cleanly separate primitives + paths code The function prototypes for the primitives API were spread between cogl-path.h and cogl-texture.h and should have been in a cogl-primitives.h. As well as shuffling the prototypes around into more sensible places this commit splits the cogl-path API out from cogl-primitives.c into a cogl-path.c clutter/cogl/cogl/Makefile.am | 3 + clutter/cogl/cogl/cogl-internal.h | 28 + clutter/cogl/cogl/cogl-path.c | 1121 +++++++++++++++++++++++++++++++++++ clutter/cogl/cogl/cogl-path.h | 35 +- clutter/cogl/cogl/cogl-primitives.c | 1078 --------------------------------- clutter/cogl/cogl/cogl-primitives.h | 188 +++++- clutter/cogl/cogl/cogl-texture.h | 133 ----- clutter/cogl/cogl/cogl.h | 1 + 8 files changed, 1317 insertions(+), 1270 deletions(-) commit 9f5a3e14451ed77f47260bbd6a1b2271e8003361 Author: Robert Bragg Date: Wed Feb 10 18:18:30 2010 +0000 cogl: remove redundant _cogl_journal_flush prototype There was a redundant _cogl_journal_flush function prototype in cogl-primitives.h clutter/cogl/cogl/cogl-clip-stack.c | 1 + clutter/cogl/cogl/cogl-framebuffer.c | 1 + clutter/cogl/cogl/cogl-journal-private.h | 5 +++-- clutter/cogl/cogl/cogl-material.c | 1 + clutter/cogl/cogl/cogl-primitives.h | 3 --- clutter/cogl/cogl/cogl-texture-2d-sliced.c | 1 + clutter/cogl/cogl/cogl-texture-2d.c | 1 + clutter/cogl/cogl/cogl-vertex-buffer.c | 1 + clutter/cogl/cogl/driver/gl/cogl-program.c | 1 + 9 files changed, 10 insertions(+), 5 deletions(-) commit 7edcbaa1f9444848fcaac052557f7c444e3905e0 Author: Robert Bragg Date: Wed Feb 10 01:57:32 2010 +0000 cogl: improves header and coding style consistency We've had complaints that our Cogl code/headers are a bit "special" so this is a first pass at tidying things up by giving them some consistency. These changes are all consistent with how new code in Cogl is being written, but the style isn't consistently applied across all code yet. There are two parts to this patch; but since each one required a large amount of effort to maintain tidy indenting it made sense to combine the changes to reduce the time spent re indenting the same lines. The first change is to use a consistent style for declaring function prototypes in headers. Cogl headers now consistently use this style for prototypes: return_type cogl_function_name (CoglType arg0, CoglType arg1); Not everyone likes this style, but it seems that most of the currently active Cogl developers agree on it. The second change is to constrain the use of redundant glib data types in Cogl. Uses of gint, guint, gfloat, glong, gulong and gchar have all been replaced with int, unsigned int, float, long, unsigned long and char respectively. When talking about pixel data; use of guchar has been replaced with guint8, otherwise unsigned char can be used. The glib types that we continue to use for portability are gboolean, gint{8,16,32,64}, guint{8,16,32,64} and gsize. The general intention is that Cogl should look palatable to the widest range of C programmers including those outside the Gnome community so - especially for the public API - we want to minimize the number of foreign looking typedefs. clutter/cogl/cogl/cogl-atlas-texture.c | 52 ++-- clutter/cogl/cogl/cogl-atlas.c | 22 +- clutter/cogl/cogl/cogl-atlas.h | 18 +- clutter/cogl/cogl/cogl-bitmap-fallback.c | 82 +++--- clutter/cogl/cogl/cogl-bitmap-pixbuf.c | 60 ++-- clutter/cogl/cogl/cogl-bitmap-private.h | 30 +- clutter/cogl/cogl/cogl-bitmap.c | 34 +- clutter/cogl/cogl/cogl-bitmap.h | 15 +- clutter/cogl/cogl/cogl-blend-string.c | 12 +- clutter/cogl/cogl/cogl-blend-string.h | 4 +- clutter/cogl/cogl/cogl-buffer-private.h | 14 +- clutter/cogl/cogl/cogl-buffer.c | 8 +- clutter/cogl/cogl/cogl-buffer.h | 26 +- clutter/cogl/cogl/cogl-clip-stack.c | 16 +- clutter/cogl/cogl/cogl-clip-stack.h | 14 +- clutter/cogl/cogl/cogl-color.h | 75 +++-- clutter/cogl/cogl/cogl-context.c | 2 +- clutter/cogl/cogl/cogl-context.h | 10 +- clutter/cogl/cogl/cogl-debug.c | 8 +- clutter/cogl/cogl/cogl-debug.h | 4 +- clutter/cogl/cogl/cogl-feature-private.c | 19 +- clutter/cogl/cogl/cogl-feature-private.h | 14 +- clutter/cogl/cogl/cogl-fixed.c | 24 +- clutter/cogl/cogl/cogl-fixed.h | 72 +++-- clutter/cogl/cogl/cogl-handle.h | 2 +- clutter/cogl/cogl/cogl-internal.h | 32 ++- clutter/cogl/cogl/cogl-journal.c | 26 +- clutter/cogl/cogl/cogl-material-private.h | 67 +++-- clutter/cogl/cogl/cogl-material.c | 22 +- clutter/cogl/cogl/cogl-material.h | 175 +++++++----- clutter/cogl/cogl/cogl-matrix.h | 110 ++++--- clutter/cogl/cogl/cogl-path.h | 138 +++++---- clutter/cogl/cogl/cogl-pixel-buffer-private.h | 9 +- clutter/cogl/cogl/cogl-pixel-buffer.c | 53 ++-- clutter/cogl/cogl/cogl-pixel-buffer.h | 46 ++-- clutter/cogl/cogl/cogl-primitives.c | 48 ++-- clutter/cogl/cogl/cogl-primitives.h | 13 +- clutter/cogl/cogl/cogl-shader.h | 96 ++++--- clutter/cogl/cogl/cogl-sub-texture-private.h | 14 +- clutter/cogl/cogl/cogl-sub-texture.c | 70 +++--- clutter/cogl/cogl/cogl-texture-2d-private.h | 4 +- clutter/cogl/cogl/cogl-texture-2d-sliced-private.h | 6 +- clutter/cogl/cogl/cogl-texture-2d-sliced.c | 163 +++++----- clutter/cogl/cogl/cogl-texture-2d.c | 34 ++- clutter/cogl/cogl/cogl-texture-private.h | 6 +- clutter/cogl/cogl/cogl-texture.c | 106 ++++---- clutter/cogl/cogl/cogl-texture.h | 220 ++++++++------- clutter/cogl/cogl/cogl-types.h | 15 +- clutter/cogl/cogl/cogl-util.c | 30 +- clutter/cogl/cogl/cogl-vertex-buffer-private.h | 2 +- clutter/cogl/cogl/cogl-vertex-buffer.c | 18 +- clutter/cogl/cogl/cogl-vertex-buffer.h | 6 +- clutter/cogl/cogl/cogl.c | 52 ++-- clutter/cogl/cogl/cogl.h | 310 ++++++++++++-------- clutter/cogl/cogl/driver/gl/cogl-program.c | 18 +- clutter/cogl/cogl/driver/gl/cogl-shader.c | 2 +- clutter/cogl/cogl/driver/gl/cogl-texture-driver.c | 2 +- clutter/cogl/cogl/driver/gl/cogl.c | 8 +- clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 6 +- clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.h | 12 +- clutter/cogl/cogl/driver/gles/cogl-program.c | 42 ++-- clutter/cogl/cogl/driver/gles/cogl-shader.c | 4 +- .../cogl/cogl/driver/gles/cogl-texture-driver.c | 4 +- clutter/cogl/doc/CODING_STYLE | 49 +++ 64 files changed, 1491 insertions(+), 1184 deletions(-) commit 8c9472bc4c0350bc28f6ca152e82a0a507063d19 Author: Robert Bragg Date: Fri Feb 5 16:32:19 2010 +0000 cogl: deprecates cogl_check_extension OpenGL is an implementation detail for Cogl so it's not appropriate to expose OpenGL extensions through the Cogl API. Note: Clutter is currently still using this API, because it is still doing raw GL calls in ClutterGLXTexturePixmap, so this introduces a couple of (legitimate) build warnings while compiling Clutter. clutter/cogl/cogl/cogl-feature-private.c | 4 +- clutter/cogl/cogl/cogl-internal.h | 1 + clutter/cogl/cogl/cogl.c | 32 ++++++++++++++++++++++++++++++ clutter/cogl/cogl/cogl.h | 11 +++++++++- clutter/cogl/cogl/driver/gl/cogl.c | 31 ++-------------------------- clutter/cogl/cogl/driver/gles/cogl.c | 25 ----------------------- clutter/glx/clutter-backend-glx.c | 6 ++-- clutter/glx/clutter-glx-texture-pixmap.c | 5 ++- 8 files changed, 54 insertions(+), 61 deletions(-) commit b898f0e227aeabeb0513d1228a8f432c467d95b9 Author: Robert Bragg Date: Tue Feb 9 19:34:32 2010 +0000 never presume queuing redraws on invisible actors is redundant This replaces code like this: if (CLUTTER_ACTOR_IS_VISIBLE (self)) clutter_actor_queue_redraw (self); with: clutter_actor_queue_redraw (self); clutter_actor_queue_redraw internally knows what can be optimized when the actor is not visible, but it also knows that the queue_redraw signal must always be sent in case a ClutterClone is cloning a hidden actor. clutter/clutter-actor.c | 11 ++++------- clutter/clutter-group.c | 12 ++++-------- clutter/clutter-rectangle.c | 9 +++------ clutter/clutter-stage.c | 8 +++----- clutter/clutter-text.c | 30 ++++++++++-------------------- clutter/clutter-texture.c | 9 +++------ 6 files changed, 27 insertions(+), 52 deletions(-) commit bfb271b40332240f40c79dabf8f78f7a68293286 Author: Robert Bragg Date: Tue Feb 9 19:19:44 2010 +0000 box: port a ClutterGroup::foreach fix to ClutterBox ClutterGroup::foreach was recently changed (ref: ce030a3fce) to use g_list_foreach() to iterate the children instead of manually iterating the list so it would safely handle calls like: clutter_container_foreach (container, clutter_actor_destroy); (In this example clutter_actor_destroy will result in the current list item being iterated being freed.) clutter/clutter-box.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-) commit 60a4664d6e4f67b5e527cc2ecd190a538ed994ec Author: Robert Bragg Date: Tue Feb 9 19:06:59 2010 +0000 box: Adds missing copyright header Adds a Copyright (C) 2009,2010 Intel Corporation header clutter/clutter-box.c | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-) commit 4355621aebb075bc34b50a89f8ba99e8b8e12ff7 Author: Robert Bragg Date: Tue Feb 9 18:54:28 2010 +0000 group: make it comparable to ClutterBox There is a lot of duplication between ClutterGroup and ClutterBox so this makes the two files diff-able so that new fixes can easily be ported to both and bug fixes missing in one or the other can be spotted more easily. This doesn't change the behaviour of either actor; it's really just a shuffle around of code and normalizes the coding style to make the files comparable. This has already uncovered one bug in ClutterBox, and also highlights a bug in ClutterGroup + many other actors: 1) ClutterGroup::real_foreach was recently changed to use g_list_foreach instead of manually iterating the child list so it can safely handle calls like: clutter_container_foreach (container, clutter_actor_destroy); ClutterBox is still manually iterating the list. 2) In ClutterGroup we guard _queue_redraw() calls like this: if (CLUTTER_ACTOR_IS_VISIBLE (container)) clutter_actor_queue_redraw (CLUTTER_ACTOR (container)); In ClutterBox we don't: I think ClutterBox is correct here because clutter_actor_queue_redraw already optimizes the case where the actor's not visible, but it also considers that the actor may be cloned and so the guard in ClutterGroup could break clones. This actually highlights a wider clutter bug since the same kinds of guards can be found in all other clutter actors. clutter/clutter-box.c | 1 - clutter/clutter-group.c | 366 +++++++++++++++++++++------------------------- 2 files changed, 167 insertions(+), 200 deletions(-) commit 34c7611407154fcbb61c82c959c2a38972c2534f Author: Emmanuele Bassi Date: Fri Feb 12 11:38:47 2010 +0000 docs: Update the backend HACKING file Clarify the Backend::create_context() vfunc role, and the Stage::realize() vfunc with regards to creating the GL/GLES context. doc/HACKING.backends | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) commit 44818a48273baa7dabfbb9370ac218ae8b0cf38e Author: Neil Roberts Date: Thu Feb 11 14:20:48 2010 +0000 cogl: Add a fallback for when the signbit macro is missing The signbit macro is defined in C99 so it should be available but some versions of GCC don't appear to define it by default. If it's not available we can use a hack to test the bit directly. clutter/cogl/cogl/cogl-sub-texture.c | 2 +- clutter/cogl/cogl/cogl-texture-2d.c | 2 +- clutter/cogl/cogl/cogl-util.h | 27 ++++++++++++++++++++++++++- 3 files changed, 28 insertions(+), 3 deletions(-) commit 59463c2213b79a553d3d7999bb56106fb7c5a4ad Author: Emmanuele Bassi Date: Wed Feb 10 17:20:31 2010 +0000 Do a sanity check on _clutter_do_pick() arguments We should check that the passed ClutterStage pointer is indeed: a) still valid and b) a Stage. clutter/clutter-main.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit d0734bc4741d77e7c239cf860b73b49e9564aa91 Author: Emmanuele Bassi Date: Wed Feb 10 17:12:27 2010 +0000 input-device: Do not pick() on NULL stages If the stage associated to the InputDevice is not set we should short-circuit out and return NULL. This will result in a pick() done on the event's stage - if applicable. http://bugzilla.moblin.org/show_bug.cgi?id=9602 clutter/clutter-input-device.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) commit 4208169ab48795ca8f10287bd67031e161bf1f82 Author: Emmanuele Bassi Date: Wed Feb 10 15:38:41 2010 +0000 text: Bump up the preferred height Instead of returning a sub-pixel height round up the preferred height to the nearest integral value that is not less than the size reported by Pango, once converted in pixels. clutter/clutter-text.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit f54b29a0c0c182f1396abd9df7d46d99b81a133d Author: Emmanuele Bassi Date: Wed Feb 10 15:38:07 2010 +0000 test-text-field: Tone down the border Use a low opacity for the text field border. tests/interactive/test-text-field.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 2670fc58710b1d9d1ad5afae7b6ac397e1dc54dd Author: Emmanuele Bassi Date: Wed Feb 10 15:37:26 2010 +0000 test-text-field: Use ActorBox methods for the border Clamp to pixel and use get_size() when painting the border of the text field. tests/interactive/test-text-field.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit 3fdb0a59509aeaeb07c276ebd09df355626cfb92 Author: Robert Bragg Date: Wed Feb 10 11:57:58 2010 +0000 uprof: make the Redrawing timer a child of the Master Clock Previously it was a child of the Mainloop, but it's more closely a child of the Master Clock. clutter/clutter-backend.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 1899dbdc270e0bd494d174dd6bfbb9c5d18e174f Author: Robert Bragg Date: Wed Feb 10 12:18:41 2010 +0000 backend-glx: Fix glXQueryVersion test This fixes some backwards logic for asserting that we have a GLX major version == 1 and a minor version >= 2. (NB: Although we technically depend on GLX 1.3 features, we still have to support drivers that report GLX 1.2 because there are a lot of mesa drivers out there incorrectly report GLX 1.2 even though they export extensions that depend on GLX 1.3) clutter/glx/clutter-backend-glx.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit ce1bb3d858fd02d6bcfb94b2b8999cfd7d0a4535 Author: Neil Roberts Date: Wed Feb 10 12:41:09 2010 +0000 cogl-material: Layers are not equal if the filters aren't equal A material layer can not be considered equal if it is using different texture filtering modes. This was causing problems where rectangles with different filters would end up batched together and then rendered with the wrong filter mode. clutter/cogl/cogl/cogl-material.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) commit b61c2b510b5f5a72ae6181cdce646d7018fbd996 Author: Emmanuele Bassi Date: Wed Feb 10 10:58:14 2010 +0000 build: Tweak internal defines for building Clutter When building Clutter we should: • disable Cogl deprecated API; • enable experimental API. clutter/Makefile.am | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) commit 4a9f08639f7127719f5b59ee9287641ba4912063 Author: Robert Bragg Date: Wed Jan 20 18:53:36 2010 +0000 debug: Adds CLUTTER_DEBUG=disable-swap-events option This allows us to forcibly disable the use of the GLX_INTEL_swap_events extension for testing or debugging purposes. clutter/clutter-debug.h | 37 +++++++++++++++++++------------------ clutter/clutter-main.c | 3 ++- clutter/glx/clutter-backend-glx.c | 3 ++- 3 files changed, 23 insertions(+), 20 deletions(-) commit 5d702853b814445590aafe448bfc8f7993b06638 Author: Robert Bragg Date: Thu Nov 12 20:37:01 2009 +0000 glx backend: Adds support for GLX_INTEL_swap_event If your OpenGL driver supports GLX_INTEL_swap_event that means when glXSwapBuffers is called it returns immediatly and an XEvent is sent when the actual swap has finished. Clutter can use the events that notify swap completion as a means to throttle rendering in the master clock without blocking the CPU and so it should help improve the performance of CPU bound applications. clutter/clutter-feature.h | 3 +- clutter/clutter-master-clock.c | 72 ++++++++++++++++++++++++---- clutter/clutter-private.h | 2 + clutter/clutter-stage-window.c | 13 +++++ clutter/clutter-stage-window.h | 3 + clutter/clutter-stage.c | 8 +++ clutter/glx/Makefile.am | 2 + clutter/glx/clutter-backend-glx.c | 56 +++++++++++++++++---- clutter/glx/clutter-backend-glx.h | 3 + clutter/glx/clutter-event-glx.c | 96 +++++++++++++++++++++++++++++++++++++ clutter/glx/clutter-event-glx.h | 38 +++++++++++++++ clutter/glx/clutter-stage-glx.c | 21 ++++++++ clutter/glx/clutter-stage-glx.h | 2 + clutter/x11/clutter-backend-x11.c | 10 ++++ clutter/x11/clutter-backend-x11.h | 7 +++ clutter/x11/clutter-event-x11.c | 5 ++ doc/HACKING.backends | 8 +++ 17 files changed, 327 insertions(+), 22 deletions(-) commit 848db1ee4cc910542435bbcd3a57933bdf70269e Author: Robert Bragg Date: Thu Jan 14 14:03:23 2010 +0000 glx backend: when running with GLX 1.3 then create GLXWindows for stages Some extensions only support GLX versions > 1.3 and may not support old style X Windows as GLXDrawables, so we now create GLXWindows for stages when possible. clutter/glx/clutter-backend-glx.c | 72 ++++++++++++++++++++++++++++-------- clutter/glx/clutter-backend-glx.h | 1 + clutter/glx/clutter-stage-glx.c | 28 ++++++++++++++ clutter/glx/clutter-stage-glx.h | 1 + 4 files changed, 86 insertions(+), 16 deletions(-) commit ca3ab41a1b12f661fe6eecddfaf5e03b0d94d682 Author: Neil Roberts Date: Tue Feb 9 18:33:09 2010 +0000 clutter-backend: Fix the error check in _clutter_backend_create_stage Commit d2bdd3cb62 fixed some compiler warnings but also broke the ability to create a stage. Although not having warnings from the compiler is nice, it is also nice to be able to create a stage so lets not invert the meaning of the error check. clutter/clutter-backend.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 7b1925df82fa92fd68623c9a999ece6bf4ddfde3 Author: Emmanuele Bassi Date: Tue Feb 9 17:07:08 2010 +0000 cogl: Move material_copy() out of the deprecated section We strongly suggest people should be using cogl_material_copy(), but it was hidden behind the deprecation guards. clutter/cogl/cogl/cogl-material.h | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit d2bdd3cb62c1cba24619ae843cf087709a02643d Author: Emmanuele Bassi Date: Tue Feb 9 16:57:14 2010 +0000 Fix some compiler warnings GCC complains that some variable might be used uninitialized. clutter/clutter-backend.c | 6 ++++-- clutter/clutter-bin-layout.c | 1 + clutter/clutter-flow-layout.c | 6 ++++++ clutter/clutter-text.c | 6 ++---- clutter/cogl/cogl/cogl-matrix-stack.c | 6 +++++- 5 files changed, 18 insertions(+), 7 deletions(-) commit 193c477495488446d2f3d8ab0184f882f3255f48 Author: Neil Roberts Date: Tue Feb 9 16:30:28 2010 +0000 cogl-bitmap: Remove const from premult_alpha_last_four_pixels_sse2 The function modifies the pixels pointed by p in-place so the pointer can not be constant. The compiler was accepting this because the modification is done from inline assembler. clutter/cogl/cogl/cogl-bitmap-fallback.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit f5d2f58b03bf03b69f6cb92b3bdddb92b8a8ecc2 Author: Emmanuele Bassi Date: Tue Feb 9 15:29:29 2010 +0000 docs: Clean up the unused symbols for Cogl Gtk-doc is reporting a lot of false positives in the unused text file, mostly because of new private files that have been added to Cogl but not to the gtk-doc ignore list for the Cogl API reference. Once the false positives have been removed we have a couple of really missing symbols that should be added to the cogl-sections.txt file. doc/reference/cogl/Makefile.am | 54 +++++++++++++++++++--------------- doc/reference/cogl/cogl-sections.txt | 7 ++++ 2 files changed, 37 insertions(+), 24 deletions(-) commit ecc5ffe91ace38c9d288251807e721a4cd71b052 Author: Bastian Winkler Date: Tue Feb 9 15:19:03 2010 +0100 cogl-buffer: Use correct argument types in cogl_buffer_set_data_EXP offset and size arguments are gsize in cogl-buffer.h http://bugzilla.openedhand.com/show_bug.cgi?id=1980 Signed-off-by: Emmanuele Bassi clutter/cogl/cogl/cogl-buffer.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit 9aac36b47e43e95d12c8d28bd3671e6f5e000d32 Author: Emmanuele Bassi Date: Tue Feb 9 14:48:11 2010 +0000 docs: Move some Cogl defines in the private section The PixelFormat bit and mask #defines should not be used and are there mostly for convenience, so we can push them to the "private" sub-section of the API reference. This pushed Cogl's API reference coverage to 100%. doc/reference/cogl/cogl-sections.txt | 16 ++++++++-------- 1 files changed, 8 insertions(+), 8 deletions(-) commit 7ebb1e7157ab5d3efbeb37d7879d851adc7da40e Author: Emmanuele Bassi Date: Tue Feb 9 14:41:37 2010 +0000 docs: Fixes for Cogl API reference 98% symbol docs coverage. 335 symbols documented. 0 symbols incomplete. 8 not documented. Not bad, if I may say so. clutter/cogl/cogl/cogl-buffer.h | 12 ++++++-- clutter/cogl/cogl/cogl-color.h | 41 +++++++++++++++++++++++++++++ clutter/cogl/cogl/cogl-fixed.h | 2 +- clutter/cogl/cogl/cogl-material-private.h | 2 +- clutter/cogl/cogl/cogl-matrix.h | 3 +- clutter/cogl/cogl/cogl-types.h | 23 +++++++++++++++- doc/reference/cogl/cogl-sections.txt | 16 +++-------- 7 files changed, 80 insertions(+), 19 deletions(-) commit 1d28ed035f360b14cfbf5b01db4ffe2979172cf0 Author: Emmanuele Bassi Date: Tue Feb 9 13:39:08 2010 +0000 Post-release bump to 1.1.11 configure.ac | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)