commit d5e6594ddd0d4ad3b9cf684526216900794f9ff5 Author: Emmanuele Bassi Date: Mon Feb 21 12:47:09 2011 +0000 Release Clutter 1.6.6 (stable) NEWS | 20 ++++++++++++++++++++ configure.ac | 4 ++-- 2 files changed, 22 insertions(+), 2 deletions(-) commit f5c240a50b1fc83e138f85f5f4a87ffbea9c83c0 Author: Emmanuele Bassi Date: Mon Feb 21 12:46:34 2011 +0000 build: Use all-am, not all as the gitignore target build/autotools/Makefile.am.gitignore | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 0d17b1463b55676cdceb5d24724c6a2461c2bdae Author: Emmanuele Bassi Date: Sat Feb 19 16:48:59 2011 +0000 device-manager/xi2: Silence a compiler warning clutter/x11/clutter-device-manager-xi2.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 3c25fcfe49865bda639447b9dee8369171f77606 Author: Emmanuele Bassi Date: Sat Feb 19 16:46:44 2011 +0000 tests: Remove unused variables tests/interactive/test-pixmap.c | 2 -- tests/interactive/test-texture-async.c | 3 --- 2 files changed, 0 insertions(+), 5 deletions(-) commit b505c022c42eda63d940d648a7641e64355baa37 Author: Emmanuele Bassi Date: Sat Feb 19 16:45:51 2011 +0000 test-timeline: Ignore the default stage We need to create the default stage to have the master clock spin, but we can tell the compiler that the returned value is meaningless. tests/conform/test-timeline.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit fd3462170f3d36a8ddc128611074116d5cc62ba6 Author: Emmanuele Bassi Date: Sat Feb 19 16:45:35 2011 +0000 cally: Remove unused variables clutter/cally/cally-actor.c | 12 ++-------- clutter/cally/cally-text.c | 45 +++++++++++++++++++++++++++++++----------- clutter/cally/cally-util.c | 3 +- 3 files changed, 37 insertions(+), 23 deletions(-) commit dfdcc20670f108cbcb62aead3d2a502084d1b3d1 Author: Emmanuele Bassi Date: Sat Feb 19 16:45:06 2011 +0000 clutter: Remove unused variables clutter/clutter-desaturate-effect.c | 3 --- clutter/clutter-main.c | 5 ----- clutter/clutter-shader-effect.c | 4 ---- clutter/clutter-state.c | 3 --- clutter/clutter-table-layout.c | 9 ++------- 5 files changed, 2 insertions(+), 22 deletions(-) commit f99d2336f0ae99bb3faf25031b3df082680755bd Author: Emmanuele Bassi Date: Sat Feb 19 16:44:38 2011 +0000 x11: Remove unused variables clutter/x11/clutter-device-manager-core-x11.c | 9 +++++---- clutter/x11/clutter-device-manager-xi2.c | 6 ++---- clutter/x11/clutter-keymap-x11.c | 2 ++ clutter/x11/clutter-stage-x11.c | 5 ++--- clutter/x11/clutter-x11-texture-pixmap.c | 17 +++-------------- 5 files changed, 14 insertions(+), 25 deletions(-) commit 23598ea74b7b158b31d53ae4c08cbeabceee6bb0 Author: Emmanuele Bassi Date: Sat Feb 19 16:43:46 2011 +0000 cogl: Remove unused variables clutter/cogl/cogl/cogl-texture-2d-sliced.c | 4 ---- 1 files changed, 0 insertions(+), 4 deletions(-) commit ec02a8808e60f0ce57f0bd45cb6cfe09b21c59f2 Author: Emmanuele Bassi Date: Sat Feb 19 09:17:25 2011 +0000 deform-effect: Use the FBO target size The ClutterDeformEffect sub-classes are effectively deforming the texture target of an FBO, not the actor itself. Thus, we need to use the FBO's size, and not the actor's allocated size, given that the actor might be transformed prior to applying an effect. http://bugzilla.clutter-project.org/show_bug.cgi?id=2571 clutter/clutter-deform-effect.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) commit 20f19fe06ca5821949b5e47464241d31c2e6dffc Author: Emmanuele Bassi Date: Sat Feb 19 09:15:34 2011 +0000 offscreen-effect: Add private API for getting the target size Since the FBO target might have a different size than the mere paint box of the actor, we need API to get it out of the ClutterOffscreenEffect private data structure and on to sub-classes. Since we cannot add new API in a stable cycle, we need a private function; we'll leave it there even when opening 1.7, since it's useful for internal purposes. clutter/Makefile.am | 1 + clutter/clutter-offscreen-effect-private.h | 14 ++++++++++++++ clutter/clutter-offscreen-effect.c | 19 +++++++++++++++++++ 3 files changed, 34 insertions(+), 0 deletions(-) commit 82c68c588741e78824afd19e5eecfd546b9ab115 Author: Emmanuele Bassi Date: Sat Feb 19 09:04:46 2011 +0000 Update NEWS NEWS | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) commit e2bd848924d0a9152c0bfbd3defd6a8ea04012ce Author: Emmanuele Bassi Date: Sat Feb 19 09:02:51 2011 +0000 build: Centralize X11 extensions versioning Similar to what we did for the base dependencies. README.in | 4 ++-- configure.ac | 16 ++++++++++------ 2 files changed, 12 insertions(+), 8 deletions(-) commit a923375f0a9136a1f99985359e60a077f3fd0055 Author: Emmanuele Bassi Date: Fri Feb 18 19:28:48 2011 +0000 drag-action: Use per-stage motion event toggle Similar to what we did for the ClutterDeviceManager, use per-stage granularity when toggling the motion event delivery while dragging. clutter/clutter-drag-action.c | 14 +++++++++----- 1 files changed, 9 insertions(+), 5 deletions(-) commit cca2e5bc9c1610881f69238b2c23c34233ea8451 Author: Emmanuele Bassi Date: Fri Feb 18 19:27:58 2011 +0000 device-manager: Use per-stage motion event toggle Now that we have internal support for per-stage granularity of motion event delivery, let's use it when updating the state of the input devices. clutter/clutter-device-manager.c | 16 +++++++++------- 1 files changed, 9 insertions(+), 7 deletions(-) commit bc548dc86271d38918d310c26c9c59de76218d16 Author: Emmanuele Bassi Date: Fri Feb 18 17:19:04 2011 +0000 Store the motion event deliver flag in ClutterStage Once upon a time, the land of Clutter had a stage singleton. It was created automatically at initialization time and stayed around even after the main loop was terminated. The singleton was content in being all there was. There also was a global API to handle the configuration of the stage singleton that would affect the behaviour on other classes, signals and properties. Then, an evil wizard came along and locked the stage singleton in his black tower, and twisted it until it was possible to create new stages. These new stages were pesky, and didn't have the same semantics of the singleton: they didn't stay around when closed, or terminate the main loop on delete events. The evil wizard also started moving all the stage-related API from the global context into class-specific methods. Finally, the evil wizard cast a spell, and the stage singleton was demoted to creation on demand - and until somebody called the clutter_stage_get_default() function, the singleton remained in a limbo of NULL pointers and undefined memory areas. There was a last bit - literally - of information still held by the global API; a tiny, little flag that disabled per-actor motion events. The evil wizard added private accessors for it, and stored it inside the stage private structure, in preparation for a deprecation that would come in a future development cycle. The evil wizard looked down upon the land of Clutter from the height of his black tower; the lay of the land had been reshaped into a crucible of potential, and the last dregs of the original force of creation were either molted into new, useful shapes, or blasted away by the sheer fury of his will. All was good. clutter/clutter-main.c | 34 +++++++++++++++++++++++++++------- clutter/clutter-stage-private.h | 4 ++++ clutter/clutter-stage.c | 22 ++++++++++++++++++++++ 3 files changed, 53 insertions(+), 7 deletions(-) commit 7500b77b2bf8e23e885af6884adc006a4abf5c17 Author: Emmanuele Bassi Date: Fri Feb 18 17:18:05 2011 +0000 Assert if we call backend API without a valid backend This is a backend programming error, and we should not tolerate failures in these cases. clutter/clutter-backend.c | 44 +++++++++++--------------------------------- 1 files changed, 11 insertions(+), 33 deletions(-) commit 7e42da123f28dd695a43fea6444e30a73fb35119 Author: Emmanuele Bassi Date: Fri Feb 18 16:53:58 2011 +0000 Clean up clutter-private.h Move macros at the top, and clean up whitespace. clutter/clutter-private.h | 40 ++++++++++++++++++++-------------------- 1 files changed, 20 insertions(+), 20 deletions(-) commit cdd9fd1af1908282430a22be13b10005ec41375b Author: Emmanuele Bassi Date: Fri Feb 18 16:53:31 2011 +0000 Move ActorMeta private function in the private header No reason to leave it in the installed header. clutter/clutter-actor-meta-private.h | 4 ++++ clutter/clutter-actor-meta.h | 4 ---- 2 files changed, 4 insertions(+), 4 deletions(-) commit 3e5aa9ed6348008bcbf21355e9e06bb50c90baf7 Author: Emmanuele Bassi Date: Fri Feb 18 16:27:49 2011 +0000 Add private header for event-related API clutter/Makefile.am | 1 + clutter/clutter-backend.c | 2 +- clutter/clutter-event-private.h | 28 ++++++++++++++++++++++++ clutter/clutter-event.c | 2 +- clutter/clutter-input-device.c | 1 + clutter/clutter-private.h | 18 --------------- clutter/clutter-stage.c | 2 +- clutter/egl/clutter-event-tslib.c | 17 ++++++-------- clutter/evdev/clutter-device-manager-evdev.c | 2 +- clutter/osx/clutter-event-osx.c | 12 ++++++---- clutter/wayland/clutter-input-device-wayland.c | 1 + clutter/win32/clutter-event-win32.c | 2 +- clutter/x11/clutter-backend-x11.c | 2 +- clutter/x11/clutter-device-manager-core-x11.c | 1 + clutter/x11/clutter-device-manager-xi2.c | 1 + clutter/x11/clutter-event-x11.c | 3 +- clutter/x11/clutter-stage-x11.c | 2 +- 17 files changed, 55 insertions(+), 42 deletions(-) commit d27b335b61bba50ba6b156d32cf3bdf094181104 Author: Emmanuele Bassi Date: Fri Feb 18 16:00:39 2011 +0000 Move ClutterEffect private symbols to a private header No point in cluttering up clutter-private.h even more than necessary. clutter/Makefile.am | 1 + clutter/clutter-actor.c | 2 +- clutter/clutter-effect-private.h | 15 +++++++++++++++ clutter/clutter-effect.c | 1 + clutter/clutter-private.h | 5 ----- 5 files changed, 18 insertions(+), 6 deletions(-) commit 3addeb91ccfe38676a52582aac594cf98269faf3 Author: Emmanuele Bassi Date: Fri Feb 18 15:53:27 2011 +0000 Privatize all ClutterIdPool functions The clutter-id-pool.h header is private and not installed; yet, all the clutter_id_pool_* symbols are public. Let's correct this oversight we've been stringing along since forever. clutter/clutter-id-pool.c | 16 ++++++++-------- clutter/clutter-id-pool.h | 18 +++++++++--------- clutter/clutter-main.c | 8 ++++---- 3 files changed, 21 insertions(+), 21 deletions(-) commit 37fe8c509a127463dcd434e4be1dbaefd73febe2 Author: Emmanuele Bassi Date: Fri Feb 18 15:47:35 2011 +0000 Clean up usage of CLUTTER_CONTEXT and remove the macro Only allow access to the ClutterMainContext through the private _clutter_context_get_default() function, so we can easily grep it and remove the unwanted usage of the global context. clutter/clutter-main.c | 49 ++++++++++++++++++++++----------------------- clutter/clutter-private.h | 1 - 2 files changed, 24 insertions(+), 26 deletions(-) commit 689aac56c9d43b8e09d8799861eef590356899f0 Author: Emmanuele Bassi Date: Fri Feb 18 15:46:13 2011 +0000 Wrap id-pool access The ClutterIdPool is held by the ClutterMainContext; we should hide its direct usage into sensible private API. clutter/clutter-actor.c | 7 ++++--- clutter/clutter-main.c | 16 ++++++++++++++++ clutter/clutter-private.h | 2 ++ 3 files changed, 22 insertions(+), 3 deletions(-) commit 2593bbaadce7ff690f0d70deaee239d0a336c716 Author: Emmanuele Bassi Date: Fri Feb 18 15:44:17 2011 +0000 Wrap shader stack into private functions The shader stack held by ClutterMainContext should only be accessed using functions, and not directly. Since it's a stack, we can use stack-like operations: push, pop and peek. clutter/clutter-actor.c | 28 ++++++++++++---------------- clutter/clutter-main.c | 29 +++++++++++++++++++++++++++++ clutter/clutter-private.h | 7 +++++-- clutter/clutter-texture.c | 19 +++++++++---------- 4 files changed, 55 insertions(+), 28 deletions(-) commit 28b0f8b93837bde38da01ce9397c133447df5813 Author: Emmanuele Bassi Date: Fri Feb 18 14:38:54 2011 +0000 stage: Make the redraw_count a stage counter We don't care about redraws issued on stages that are not currently being repainted. clutter/clutter-private.h | 2 -- clutter/clutter-stage.c | 26 +++++++++++++++++++------- 2 files changed, 19 insertions(+), 9 deletions(-) commit 4635c8f9fd8ca38445fe617f1986b93bbfe8bfaa Author: Emmanuele Bassi Date: Fri Feb 18 14:38:24 2011 +0000 Make _clutter_pixel_to_id() private It's only used in the same file that declares it. clutter/clutter-main.c | 2 +- clutter/clutter-private.h | 2 -- 2 files changed, 1 insertions(+), 3 deletions(-) commit 92ddaa9c1304e422331ca2f1a8d5dfb9edb95a8f Author: Emmanuele Bassi Date: Fri Feb 18 12:56:17 2011 +0000 stage: Move stage redraw logic into clutter-stage.c The _clutter_do_redraw() function should really be moved inside ClutterStage, since all it does is calling private stage and backend functions. This also allows us to change a long-standing issue with a global fps counter for all stages, instead of a\ per-stage one. clutter/clutter-main.c | 48 ------------------------------ clutter/clutter-private.h | 3 -- clutter/clutter-stage.c | 55 +++++++++++++++++++++++++++++++++- tests/interactive/test-multistage.c | 27 +++++++++------- 4 files changed, 68 insertions(+), 65 deletions(-) commit 89a0d514b4762ea2e0e604b02381c8951cb26d4f Author: Emmanuele Bassi Date: Fri Feb 18 12:07:07 2011 +0000 Continue hiding the ClutterMainContext We should strive to make the main context as transparent as possible, and hide accessing its data through private functions. clutter/clutter-actor.c | 29 ++++++++--------------------- clutter/clutter-main.c | 17 ++++++++++++++--- clutter/clutter-private.h | 5 +++-- 3 files changed, 25 insertions(+), 26 deletions(-) commit fc89513295d467abf8c5d3ed8c799e761a072786 Author: Emmanuele Bassi Date: Fri Feb 18 11:43:27 2011 +0000 actor: Move the ShaderData out of the private data Let's try and start reducing the size of ClutterActorPrivate by moving some optional, out-of-band data from it to GObject data. The ShaderData structure is a prime candidate for this migration: it does not need to be inspected by the actor, and its relationship with an actor is transient and optional. By attaching it to the actor's instance through g_object_set_data() we neatly tie its lifetime to the instance, and we don't have to care cleaning it up in the finalize()/dispose() implementation of ClutterActor itself. clutter/clutter-actor.c | 130 +++++++++++++++++++-------------------- tests/interactive/test-shader.c | 4 +- 2 files changed, 67 insertions(+), 67 deletions(-) commit 9ea2567a2fbf44a05d000d07c031b593109c739b Author: Neil Roberts Date: Thu Feb 17 13:11:34 2011 +0000 cogl-atlas-texture: Don't let textures be destroyed during migration If an atlas texture's last reference is held by the journal or by the last flushed pipeline then if an atlas migration is started it can cause a crash. This is because the atlas migration will cause a journal flush and can sometimes change the current pipeline which means that the texture would be destroyed during migration. This patch adds an extra 'post_reorganize' callback to the existing 'reorganize' callback (which is now renamed to 'pre_reorganize'). The pre_reorganize callback is now called before the atlas grabs a list of the current textures instead of after so that it doesn't matter if the journal flush destroys some of those textures. The pre_reorganize callback for CoglAtlasTexture grabs a reference to all of the textures so that they can not be destroyed when the migration changes the pipeline. In the post_reorganize callback the reference is removed again. http://bugzilla.clutter-project.org/show_bug.cgi?id=2538 clutter/cogl/cogl/cogl-atlas-texture.c | 80 ++++++++++++++++++++++++--- clutter/cogl/cogl/cogl-atlas.c | 54 +++++++++++++----- clutter/cogl/cogl/cogl-atlas.h | 11 ++- clutter/cogl/pango/cogl-pango-glyph-cache.c | 2 +- 4 files changed, 120 insertions(+), 27 deletions(-) commit 71f57eef1b30817ad46a94272526dcc4ddc5e516 Author: Neil Roberts Date: Wed Feb 16 18:42:33 2011 +0000 clutter-actor: Free the paint volume when queue a clip redraw In _clutter_actor_queue_redraw_with_clip it has a local variable to mark when a new paint volume for the clip is created so that it can be freed when the function returns. However the actual code to free the paint volume went missing in 3b789490d2c so the variable did nothing. This patch just adds the free back in. clutter/clutter-actor.c | 14 ++++++++------ 1 files changed, 8 insertions(+), 6 deletions(-) commit 8231c345dca871eddf2f61b54c1600d2075e277a Author: Emmanuele Bassi Date: Wed Feb 16 15:38:05 2011 +0000 build: Compress the CLUTTER_PC_FILES list A bit of black magic, courtesy of gtk+'s configure.ac, to strip the leading space from BACKEND_PC_FILES. configure.ac | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) commit 0e32da66508efb38b104265995f6c8e7e1ffca6a Author: Neil Roberts Date: Wed Feb 16 14:11:25 2011 +0000 clutter-color-size-effect: Fix a minor typo in the docs 'Since:' was spelt 'SinceL' which I assume was a typo. clutter/clutter-colorize-effect.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 354f7b0e259173a007ec055bed6aab535a3b6d13 Author: Emmanuele Bassi Date: Tue Feb 15 14:46:20 2011 +0000 backend: Remove usage of CLUTTER_STAGE_TYPE It's only used for debugging purposes, and it's of limited usage since the stage creation is deferred to the backend implementation itself. clutter/clutter-backend.c | 1 + clutter/egl/clutter-backend-egl.c | 4 ---- clutter/glx/clutter-backend-glx.c | 4 ---- clutter/wayland/clutter-backend-wayland.c | 4 ---- clutter/win32/clutter-backend-win32.c | 4 ---- 5 files changed, 1 insertions(+), 16 deletions(-) commit ca94d0cc374703d1bba7b45ba31573849943c9b5 Author: Neil Roberts Date: Tue Feb 15 12:50:15 2011 +0000 cogl-atlas: Fix a compiler warning when Cogl debug is disabled When Cogl debugging is disabled then the 'waste' variable is not used so it throws a compiler warning. This patch removes the variable and the value is calculated directly as the parameter to COGL_NOTE. clutter/cogl/cogl/cogl-atlas.c | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-) commit c5f057822e9e309deabce19cebeed09b5db4daf2 Author: Neil Roberts Date: Tue Feb 15 12:44:40 2011 +0000 cogl-debug: Don't define _cogl_debug_flags when debugging disabled _cogl_debug_flags isn't used when COGL_DEBUG is not defined so there's no need to declare it. Based on a patch by Fan, Chun-wei http://bugzilla.clutter-project.org/show_bug.cgi?id=2561 clutter/cogl/cogl/cogl-debug.c | 4 ---- 1 files changed, 0 insertions(+), 4 deletions(-) commit fb3321d4feb8e451eb81a7087778ed31b103caf2 Author: Neil Roberts Date: Tue Feb 15 12:43:26 2011 +0000 cogl: Avoid pointer arithmetic on void* pointers Some code was doing pointer arithmetic on the return value from cogl_buffer_map which is void* pointer. This is a GCC extension so we should try to avoid it. This patch adds casts to guint8* where appropriate. Based on a patch by Fan, Chun-wei. http://bugzilla.clutter-project.org/show_bug.cgi?id=2561 clutter/cogl/cogl/cogl-attribute.c | 4 ++-- clutter/cogl/cogl/cogl-journal.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) commit e52cc75f072fa604c840e1ef9ae2a2418d6d222f Author: Neil Roberts Date: Tue Feb 15 12:36:58 2011 +0000 configure.ac: Add -Wpointer-arith to the maintainer CFLAGS GCC by default allows pointer arithmetic on void* pointers and treats them as having a size of 1 byte. This is non-standard behaviour and causes errors on some compilers so we should try to avoid it. -Wpointer-arith warns about these cases. configure.ac | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) commit 6dc4af1c5da3e99324272fff3014da5d2c0e343a Author: Emmanuele Bassi Date: Tue Feb 15 14:15:59 2011 +0000 docs: Update the README Fix some typos; add URLs for API references and Bugzilla. README.in | 23 +++++++++++++---------- 1 files changed, 13 insertions(+), 10 deletions(-) commit 92d13a1966ac261e8e71314040b95233a7f27c8a Author: Emmanuele Bassi Date: Tue Feb 15 12:13:14 2011 +0000 build: Re-enable --warn-all for g-ir-scanner Now that I don't have to see a bunch of false positives any more, we can finally use warnings to catch issues. clutter/Makefile.am | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit 6309fd6cd77ed685f36a0d4f4dd4633baa99677e Author: Emmanuele Bassi Date: Tue Feb 15 12:11:28 2011 +0000 introspection: Override the GParamSpec type About other assorted boneheadedness, the GType for GParamSpec is called 'GParam'. Why? Who knows. I assume alcohol was involved, but I honestly don't want to know. This removes the last g-ir-scanner warning in Clutter. clutter/clutter-container.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 6655bedba735d2066877c938767b0d675b265923 Author: Emmanuele Bassi Date: Tue Feb 15 12:31:12 2011 +0000 Fix ISO C90 compiler warnings in Cogl Mixing declarations and statements and unused variables. clutter/cogl/cogl/cogl-attribute.c | 14 +++++-- clutter/cogl/cogl/cogl-bitmap-pixbuf.c | 67 +++++++++++++++++++++---------- clutter/cogl/cogl/cogl-blend-string.c | 4 +- 3 files changed, 57 insertions(+), 28 deletions(-) commit 5c398c18ad68363e13c4be04c68f0d6e87d72393 Author: Emmanuele Bassi Date: Tue Feb 15 11:50:26 2011 +0000 More ISO C90 warning fixes in Clutter This time, in Clutter core. The ObjC standard library provides a type called 'id', which obviously requires any library to either drop the useful shadowed variable warning or stop using 'id' as a variable name. Yes, it's almost unbearably stupid. Well, at least it's not 'index' in string.h, or 'y2' in math.h. clutter/clutter-actor.c | 12 ++-- clutter/clutter-actor.h | 2 +- clutter/clutter-animator.c | 10 ++-- clutter/clutter-id-pool.c | 30 ++++++------ clutter/clutter-id-pool.h | 6 +- clutter/clutter-main.c | 99 ++++++++++++++++++++------------------- clutter/clutter-main.h | 6 +- clutter/clutter-score.c | 22 ++++---- clutter/clutter-score.h | 4 +- clutter/clutter-script-parser.c | 40 ++++++++-------- clutter/clutter-script.c | 8 ++-- clutter/clutter-scriptable.c | 12 ++-- clutter/clutter-scriptable.h | 4 +- clutter/clutter-state.c | 18 ++++---- clutter/clutter-timeout-pool.c | 10 ++-- clutter/clutter-timeout-pool.h | 2 +- 16 files changed, 144 insertions(+), 141 deletions(-) commit 54a4511247bbec5330332971ea06e17af33839be Author: Emmanuele Bassi Date: Tue Feb 15 11:34:21 2011 +0000 Fix some ISO C90 warnings on OSX clutter/osx/clutter-backend-osx.c | 41 ++++++++++------- clutter/osx/clutter-device-manager-osx.c | 4 +- clutter/osx/clutter-event-loop-osx.c | 3 +- clutter/osx/clutter-event-osx.c | 13 +++-- clutter/osx/clutter-stage-osx.c | 72 +++++++++++++++++------------- 5 files changed, 78 insertions(+), 55 deletions(-) commit e90ded6c2352aeead516ec97c56332f1b7394afa Author: Neil Roberts Date: Thu Jan 20 17:45:47 2011 +0000 cogl-atlas: Try 4 different approaches for migrating textures Instead of directly banging GL to migrate textures the atlas now uses the CoglFramebuffer API. It will use one of four approaches; it can set up two FBOs and use _cogl_blit_framebuffer to copy between them; it can use a single target fbo and then render the source texture to the FBO using a Cogl draw call; it can use a single FBO and call glCopyTexSubImage2D; or it can fallback to reading all of the texture data back to system memory and uploading it again with a sub texture update. Previously GL calls were used directly because Cogl wasn't able to create a framebuffer without a stencil and depth buffer. However there is now an internal version of cogl_offscreen_new_to_texture which takes a set of flags to disable the two buffers. The code for blitting has now been moved into a separate file called cogl-blit.c because it has become quite long and it may be useful outside of the atlas at some point. The 4 different methods have a fixed order of preference which is: * Texture render between two FBOs * glBlitFramebuffer * glCopyTexSubImage2D * glGetTexImage + glTexSubImage2D Once a method is succesfully used it is tried first for all subsequent blits. The default default can be overridden by setting the environment variable COGL_ATLAS_DEFAULT_BLIT_MODE to one of the following values: * texture-render * framebuffer * copy-tex-sub-image * get-tex-data clutter/cogl/cogl/Makefile.am | 2 + clutter/cogl/cogl/cogl-atlas.c | 185 ++----------------- clutter/cogl/cogl/cogl-blit.c | 389 ++++++++++++++++++++++++++++++++++++++ clutter/cogl/cogl/cogl-blit.h | 89 +++++++++ clutter/cogl/cogl/cogl-context.c | 4 + clutter/cogl/cogl/cogl-context.h | 1 + 6 files changed, 501 insertions(+), 169 deletions(-) commit 7b369445b3beb776f27b0f93c7d4dc41dc6b22a4 Author: Neil Roberts Date: Thu Feb 10 18:24:14 2011 +0000 cogl-texture-2d: Add _cogl_is_texture_2d to the private header This adds a declaration for _cogl_is_texture_2d to the private header so that it can be used in cogl-blit.c to determine if the target texture is a simple 2D texture. clutter/cogl/cogl/cogl-texture-2d-private.h | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) commit f947fe958fa99a3c2a2b3a9076023ba638665ce0 Author: Neil Roberts Date: Thu Feb 10 18:22:27 2011 +0000 cogl-texture-2d: Add an internal wrapper around glCopyTexSubImage2D This adds a function called _cogl_texture_2d_copy_from_framebuffer which is a simple wrapper around glCopyTexSubImage2D. It is currently specific to the texture 2D backend. clutter/cogl/cogl/cogl-texture-2d-private.h | 22 +++++++++++++++++ clutter/cogl/cogl/cogl-texture-2d.c | 35 +++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 0 deletions(-) commit 5cc062c16c98ca398c20342031c2cffd41609711 Author: Neil Roberts Date: Sat Feb 5 11:19:52 2011 +0000 cogl-framebuffer: Add _cogl_blit_framebuffer This adds the _cogl_blit_framebuffer internal function which is a wrapper around glBlitFramebuffer. The API is changed from the GL version of the function to reflect the limitations provided by the GL_ANGLE_framebuffer_blit extension (eg, no scaling or mirroring). clutter/cogl/cogl/cogl-framebuffer-private.h | 53 ++++++++++++++++++++++++++ clutter/cogl/cogl/cogl-framebuffer.c | 46 ++++++++++++++++++++++ 2 files changed, 99 insertions(+), 0 deletions(-) commit 5a159fcef4ba1c1734ff479932762e7164d9642d Author: Neil Roberts Date: Sat Feb 5 12:42:39 2011 +0000 cogl-gles: Check for the GL_ANGLE_framebuffer_blit extension This extension is the GLES equivalent of the GL_EXT_framebuffer_blit extension except that it has some extra restrictions. We need to check for some extension that provides glBlitFramebuffer so that we can unconditionally use ctx->drv.pf_glBlitFramebuffer in both GL and GLES code. Even with the restrictions, the extension provides enough features for what Cogl needs. .../cogl/driver/gles/cogl-feature-functions-gles.h | 18 ++++++++++++++++++ 1 files changed, 18 insertions(+), 0 deletions(-) commit 80bae51c01fc9eed35f3e0d64480b94e9146c7f4 Author: Neil Roberts Date: Fri Jan 21 17:37:10 2011 +0000 cogl-atlas-texture: Make copying a texture out more robust Previously when _cogl_atlas_texture_migrate_out_of_atlas is called it would unreference the atlas texture's sub-texture before calling _cogl_atlas_copy_rectangle. This would leave the atlas texture in an inconsistent state during the copy. This doesn't normally matter but if the copy ends up doing a render then the atlas texture may end up being referenced. In particular it would cause problems if the texture is left in a texture unit because then Cogl may try to call get_gl_texture even though the texture isn't actually being used for rendering. To fix this the sub texture is now unrefed after the copy call instead. clutter/cogl/cogl/cogl-atlas-texture.c | 23 +++++++++++++++-------- 1 files changed, 15 insertions(+), 8 deletions(-) commit e57aa3ca3ee88f117e72e668ab3e762b6ea731ba Author: Neil Roberts Date: Wed Feb 2 14:23:53 2011 +0000 cogl-framebuffer: Separate the draw and read buffer The current framebuffer is now internally separated so that there can be a different draw and read buffer. This is required to use the GL_EXT_framebuffer_blit extension. The current draw and read buffers are stored as a pair in a single stack so that pushing the draw and read buffer is done simultaneously with the new _cogl_push_framebuffers internal function. Calling cogl_pop_framebuffer will restore both the draw and read buffer to the previous state. The public cogl_push_framebuffer function is layered on top of the new function so that it just pushes the same buffer for both drawing and reading. When flushing the framebuffer state, the cogl_framebuffer_flush_state function now tackes a pointer to both the draw and the read buffer. Anywhere that was just flushing the state for the current framebuffer with _cogl_get_framebuffer now needs to call both _cogl_get_draw_buffer and _cogl_get_read_buffer. clutter/cogl/cogl/cogl-attribute.c | 8 +- clutter/cogl/cogl/cogl-clip-stack.c | 10 +- clutter/cogl/cogl/cogl-clip-state.c | 14 +- clutter/cogl/cogl/cogl-framebuffer-private.h | 23 +++- clutter/cogl/cogl/cogl-framebuffer.c | 235 +++++++++++++++++++------- clutter/cogl/cogl/cogl-journal.c | 11 +- clutter/cogl/cogl/cogl-matrix-stack.c | 2 +- clutter/cogl/cogl/cogl-primitives.c | 4 +- clutter/cogl/cogl/cogl-texture.c | 2 +- clutter/cogl/cogl/cogl.c | 50 +++--- clutter/cogl/cogl/cogl2-path.c | 8 +- 11 files changed, 255 insertions(+), 112 deletions(-) commit bdb309cbd676ea2b710b57154b68c190e9e5fa9a Author: Emmanuele Bassi Date: Mon Feb 14 18:36:51 2011 +0000 annotations: Use caller-allocates for color getters This should avoid a separate initialization of a ClutterColor in language bindings. clutter/clutter-box.c | 2 +- clutter/clutter-colorize-effect.c | 2 +- clutter/clutter-rectangle.c | 4 ++-- clutter/clutter-stage.c | 2 +- clutter/clutter-text.c | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) commit 9e17d06bc71918743d6499e140352fe8682202b9 Author: Emmanuele Bassi Date: Mon Feb 14 17:34:15 2011 +0000 build: Add README template to EXTRA_DIST Makefile.am | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit fbaac155c5afc9d0f172334e7c8d7d4fd4c87f35 Author: Emmanuele Bassi Date: Mon Feb 14 16:49:01 2011 +0000 build: Generate README Use the configure script to generate the README from a template file, so that we can keep the versions of the dependencies in one place. .gitignore | 1 + README | 1058 ---------------------------------------------------------- README.in | 1058 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 53 +++- 4 files changed, 1099 insertions(+), 1071 deletions(-) commit b91befaacada5a499b863c3731b0581cea420660 Author: Emmanuele Bassi Date: Mon Feb 14 16:15:55 2011 +0000 Post-release version bump to 1.6.5 configure.ac | 4 +- po/clutter-1.0.pot | 96 ++++++++++++++++++++++++++-------------------------- po/de.po | 94 +++++++++++++++++++++++++------------------------- po/fr.po | 94 +++++++++++++++++++++++++------------------------- po/id.po | 94 +++++++++++++++++++++++++------------------------- po/it.po | 94 +++++++++++++++++++++++++------------------------- po/pl.po | 94 +++++++++++++++++++++++++------------------------- po/zh_CN.po | 94 +++++++++++++++++++++++++------------------------- 8 files changed, 332 insertions(+), 332 deletions(-)