1 commit 01cbd47b19a57a70924c4cc4ecad52319a446b29
2 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3 Date: Mon Jan 31 14:47:37 2011 +0000
8 1 file changed, 2 insertions(+), 2 deletions(-)
10 commit c060f086c5af655a52d7b2651abd76eb10394534
11 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12 Date: Mon Jan 31 13:59:14 2011 +0000
14 docs: Update the NEWS file
17 1 file changed, 3 insertions(+), 1 deletion(-)
19 commit bb44d51fc934e2360eb8d529be7cdcec438d32b5
20 Merge: 5859efa 6680ceb
21 Author: Emmanuele Bassi <ebassi@linux.intel.com>
22 Date: Mon Jan 31 13:58:12 2011 +0000
24 Merge remote branch 'elliot/cookbook-actors-composite'
26 * elliot/cookbook-actors-composite:
27 docs: Add reference to useful GObject tutorial
28 docs: Explain why destroy() is implemented
29 docs: Implement destroy() rather than dispose()
30 docs: Don't use clutter_stage_get_default()
31 docs: Change text on button
32 docs: Add a note about other state variables
33 docs: Complete composite actor recipe
34 docs: Change order of functions in example to match docs
35 docs: Add more comments on how allocate() works
36 docs: Include code examples in the recipe
37 docs: Explain enums for properties and signals
38 docs: Don't set explicit size on button
39 docs: Add example of preferred_height() and preferred_width()
40 docs: Add recipe for creating a custom ClutterActor with composition
41 docs: Add more comments on code example for composite actor
42 docs: Improve example code formatting
43 docs: Add some gtk-doc annotations to example
44 docs: Add custom ClutterActor example which uses composition
46 commit 5859efa34ff530a9452877a46cc120ca1d36a8e1
47 Author: Emmanuele Bassi <ebassi@linux.intel.com>
48 Date: Mon Jan 31 13:50:37 2011 +0000
50 docs: Update NEWS file
53 1 file changed, 10 insertions(+), 1 deletion(-)
55 commit 2c1f8c9ad367035f7fd0d5177c60816440d916b2
56 Author: Emmanuele Bassi <ebassi@linux.intel.com>
57 Date: Fri Jan 28 14:53:08 2011 +0000
59 osx: Add devices to event translation code
61 Use a DeviceManager sub-class similar to the Win32 backend one, which
62 creates two InputDevices: a core pointer and a core keyboard.
64 The event translation code then uses these two devices to fill out the
65 .device field of the events.
67 Throw in enter/leave tracking, given that we need to update the device's
70 http://bugzilla.clutter-project.org/show_bug.cgi?id=2490
72 clutter/osx/clutter-backend-osx.c | 45 ++++++--
73 clutter/osx/clutter-device-manager-osx.c | 180 ++++++++++++++++++++++++++++++
74 clutter/osx/clutter-device-manager-osx.h | 58 ++++++++++
75 clutter/osx/clutter-event-osx.c | 83 ++++++++++----
76 clutter/osx/clutter-stage-osx.c | 7 +-
77 clutter/osx/clutter-stage-osx.h | 12 +-
78 6 files changed, 350 insertions(+), 35 deletions(-)
80 commit 634e4ffd1a93d62c3875e02f5ba69085fa0b4bcf
81 Author: Viatcheslav Gachkaylo <vgachkaylo@crystalnix.com>
82 Date: Fri Jan 28 12:56:57 2011 +0000
84 osx: Improve the event loop
86 Implementation of event loop which works with GLib events, native OS X
87 events and Clutter events.
89 The event loop source code comes from the equivalent code in the Quartz
90 GDK backend from GTK+ 2.22.1, which is LGPL v2.1+ and thus compatible
91 with Clutter's licensing terms.
93 The code has been tested with libsoup, which did not work before together
96 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
98 http://bugzilla.clutter-project.org/show_bug.cgi?id=2490
100 clutter/Makefile.am | 6 +-
101 clutter/clutter-debug.h | 3 +-
102 clutter/osx/clutter-event-loop-osx.c | 1051 ++++++++++++++++++++++++++++++++++
103 clutter/osx/clutter-event-loop-osx.h | 32 ++
104 clutter/osx/clutter-event-osx.c | 223 +++-----
105 clutter/osx/clutter-stage-osx.h | 3 +
106 6 files changed, 1176 insertions(+), 142 deletions(-)
108 commit 6680cebfe1f0ef697e16f6db26d1e7fb70d5e459
109 Author: Elliot Smith <elliot.smith@intel.com>
110 Date: Mon Jan 31 13:40:10 2011 +0000
112 docs: Add reference to useful GObject tutorial
114 Add a reference to a GObject tutorial which
115 is a good introduction to the various macros etc.
116 and what they're for.
118 doc/cookbook/actors.xml | 4 +++-
119 1 file changed, 3 insertions(+), 1 deletion(-)
121 commit 885664f725aa3704c46db62e7b1fa951819fc22c
122 Author: Elliot Smith <elliot.smith@intel.com>
123 Date: Mon Jan 31 13:39:11 2011 +0000
125 docs: Explain why destroy() is implemented
127 As destroy() is Clutter-specific and not generic
128 GObject code, explain why we implement it
129 (rather than dispose()).
131 doc/cookbook/actors.xml | 25 +++++++++++++++++++++++++
132 1 file changed, 25 insertions(+)
134 commit 1558975bc38c87690f26bc54849459c4db581371
135 Author: Emmanuele Bassi <ebassi@linux.intel.com>
136 Date: Mon Jan 31 13:37:32 2011 +0000
138 docs: Fix documentation for clutter_actor_pop_internal()
140 http://bugzilla.clutter-project.org/show_bug.cgi?id=2534
142 clutter/clutter-actor.c | 2 +-
143 1 file changed, 1 insertion(+), 1 deletion(-)
145 commit e69d60e8b64bbe0811479dac96aee6009560be4e
146 Author: Elliot Smith <elliot.smith@intel.com>
147 Date: Mon Jan 31 13:36:37 2011 +0000
149 docs: Implement destroy() rather than dispose()
151 Remove the dispose() implementation and replace
154 This should be promoted as the standard approach
155 for implementing a composite actor, as it emits a
156 signal when instances of the actor subclass are destroyed.
158 doc/cookbook/examples/cb-button.c | 61 +++++++++++++++++++------------------
159 1 file changed, 31 insertions(+), 30 deletions(-)
161 commit 9753cd4a59f3849090bf8cee247fafd806729826
162 Author: Emmanuele Bassi <ebassi@linux.intel.com>
163 Date: Mon Jan 31 13:04:49 2011 +0000
165 docs: Update Cogl release notes for 1.6
167 README | 23 +++++++++++++++++++++++
168 1 file changed, 23 insertions(+)
170 commit f954b8e1bb309d4f9487edb558f4280c772cffb5
171 Author: Emmanuele Bassi <ebassi@linux.intel.com>
172 Date: Mon Jan 31 13:04:35 2011 +0000
176 NEWS | 35 +++++++++++++++++++++++++++++++++++
177 1 file changed, 35 insertions(+)
179 commit ef36d7cbccbd9225f2a16328522c1cbf3d0befd0
180 Author: Emmanuele Bassi <ebassi@linux.intel.com>
181 Date: Mon Jan 31 12:51:14 2011 +0000
183 docs: Update the documentation for clutter_actor_unparent()
185 Make sure that we document the semantics of unparent() and who should
188 clutter/clutter-actor.c | 8 +++++---
189 1 file changed, 5 insertions(+), 3 deletions(-)
191 commit e32253508de412c3d91c55e73e099ddcc38e1082
192 Author: Emmanuele Bassi <ebassi@linux.intel.com>
193 Date: Mon Jan 31 12:50:25 2011 +0000
195 docs: Update documentation for ::destroy
197 The ::destroy signal is meant to be used to break reference cycles on
198 third party code. The documentation should really make it clear.
200 clutter/clutter-actor.c | 19 +++++++++++++++----
201 1 file changed, 15 insertions(+), 4 deletions(-)
203 commit e0580127f8f3510c2a8b4d2906c66835ac7bc5a5
204 Author: Emmanuele Bassi <ebassi@linux.intel.com>
205 Date: Mon Jan 31 12:28:03 2011 +0000
207 docs: Update release notes for 1.6
209 README | 90 +++++++++++++++++++++++++++++++++++++++++++++++-----------------
210 1 file changed, 67 insertions(+), 23 deletions(-)
212 commit f63158c2a2c27e7d4a264caf994f799a38fb6398
213 Author: Elliot Smith <elliot.smith@intel.com>
214 Date: Mon Jan 31 12:18:58 2011 +0000
216 docs: Don't use clutter_stage_get_default()
218 clutter_stage_get_new() is the recommended way to
219 get a stage instance, so use that instead.
221 doc/cookbook/examples/actors-composite-main.c | 2 +-
222 1 file changed, 1 insertion(+), 1 deletion(-)
224 commit 3f64137a7937498ea4982edf9c1fb133fe9321e4
225 Author: Elliot Smith <elliot.smith@intel.com>
226 Date: Mon Jan 31 11:06:01 2011 +0000
228 docs: Change text on button
230 Modify the text shown on the button to "hello / world"
231 rather than "winkle / pickers". Slightly more
234 doc/cookbook/examples/actors-composite-main.c | 8 ++++----
235 1 file changed, 4 insertions(+), 4 deletions(-)
237 commit 5530c5e2ec9605722e7f65b60b73e8fe396e6c39
238 Author: Elliot Smith <elliot.smith@intel.com>
239 Date: Mon Jan 31 11:05:27 2011 +0000
241 docs: Add a note about other state variables
243 Explain that the private structure would be the
244 place to store other state variables for the instance.
246 doc/cookbook/examples/cb-button.c | 4 ++++
247 1 file changed, 4 insertions(+)
249 commit 08f5dc08d0e11e2f03b3a9c8889222a584cbe0e7
250 Author: Elliot Smith <elliot.smith@intel.com>
251 Date: Mon Jan 31 10:53:52 2011 +0000
253 docs: Complete composite actor recipe
255 Add some extra detail to the Discussion section of the
256 composite actor recipe, concentrating on the pros and
257 cons of this approach.
259 Also explain more about the Clutter parts of the implementation.
261 Also general tidy up of language and style.
263 doc/cookbook/actors.xml | 220 ++++++++++++++++++++++++++++++++++++-----------
264 1 file changed, 170 insertions(+), 50 deletions(-)
266 commit 238fd52c4b0660ac61b3ae125f3eef8f71b0f6b0
267 Author: Elliot Smith <elliot.smith@intel.com>
268 Date: Fri Jan 28 17:09:24 2011 +0000
270 docs: Change order of functions in example to match docs
272 Moved the functions around in the C code file, to match
273 the order Clutter uses them, and the order they are explained
276 doc/cookbook/examples/cb-button.c | 99 +++++++++++++++++--------------------
277 1 file changed, 44 insertions(+), 55 deletions(-)
279 commit 6934b3645164b5e2a4d4c3da5ed99fe93bb9a95d
280 Author: Elliot Smith <elliot.smith@intel.com>
281 Date: Fri Jan 28 16:43:22 2011 +0000
283 docs: Add more comments on how allocate() works
285 Add some extra description to the allocate() function,
286 explaining how the allocation has to be adjusted to
287 coordinates relative to the actor as a whole, before
288 applying to the single child actor it is composed from.
290 doc/cookbook/examples/cb-button.c | 9 ++++++++-
291 1 file changed, 8 insertions(+), 1 deletion(-)
293 commit 00deb59a9daa45558753810fcc18c738f61b0a6e
294 Author: Elliot Smith <elliot.smith@intel.com>
295 Date: Fri Jan 28 11:49:08 2011 +0000
297 docs: Include code examples in the recipe
299 Include all the code examples inline as part of the recipe.
301 Remove sections around each code example, as these are
302 unnecessary; leave full discussion for the Discussion section
303 instead of trying to cram it in around the code example.
305 doc/cookbook/actors.xml | 103 ++++++++++++++++-------------------------------
306 1 file changed, 34 insertions(+), 69 deletions(-)
308 commit 5f676ce3253f4e6f5ac07a1c1099d17e8384d5ee
309 Author: Elliot Smith <elliot.smith@intel.com>
310 Date: Fri Jan 28 11:39:26 2011 +0000
312 docs: Explain enums for properties and signals
314 Add some more explanatory comments about the PROP_ and
317 doc/cookbook/examples/cb-button.c | 18 ++++++++++++------
318 1 file changed, 12 insertions(+), 6 deletions(-)
320 commit 18b90f100c259db2e5ef19874277b3d5d50791f0
321 Author: Elliot Smith <elliot.smith@intel.com>
322 Date: Fri Jan 28 11:36:20 2011 +0000
324 docs: Don't set explicit size on button
326 Rather than set a size on the CbButton instance, let it
327 size itself automatically, based on the size requisition
330 doc/cookbook/examples/actors-composite-main.c | 2 +-
331 1 file changed, 1 insertion(+), 1 deletion(-)
333 commit 951f13bb8dc2ead8fe3fd3a6f2fede2618c57a19
334 Author: Elliot Smith <elliot.smith@intel.com>
335 Date: Fri Jan 28 11:35:14 2011 +0000
337 docs: Add example of preferred_height() and preferred_width()
339 As most actor subclasses will probably want to implement
340 size requisition, give a simple example of how to do this
341 on the basis of the composed actor's size, plus some padding.
343 doc/cookbook/examples/cb-button.c | 67 +++++++++++++++++++++++++++++++++++--
344 1 file changed, 64 insertions(+), 3 deletions(-)
346 commit 2adc224f0e701648ff0f08ed80317f4b3d4109df
347 Author: Elliot Smith <elliot.smith@intel.com>
348 Date: Wed Jan 26 11:22:07 2011 +0000
350 docs: Add recipe for creating a custom ClutterActor with composition
352 doc/cookbook/actors.xml | 190 ++++++++++++++++++++++++++++++++++++++++++++++-
353 1 file changed, 189 insertions(+), 1 deletion(-)
355 commit 7059be499ab8c31bcc9825f823587d05410f186a
356 Author: Elliot Smith <elliot.smith@intel.com>
357 Date: Fri Jan 28 11:13:47 2011 +0000
359 docs: Add more comments on code example for composite actor
361 Add more comments about the specific purpose of functions
362 and variables in the composite actor example, particularly
363 around GObject implementation.
365 doc/cookbook/examples/cb-button.c | 69 ++++++++++++++++++++++++++++++++-----
366 doc/cookbook/examples/cb-button.h | 11 ++++++
367 2 files changed, 72 insertions(+), 8 deletions(-)
369 commit b3954878c2827e78c0d800a038d6ae5cb515a136
370 Author: Elliot Smith <elliot.smith@intel.com>
371 Date: Wed Jan 26 11:18:23 2011 +0000
373 docs: Improve example code formatting
375 Improve code formatting to adhere to Clutter uncrustify rules.
377 doc/cookbook/examples/cb-button.c | 16 +++++++---------
378 doc/cookbook/examples/cb-button.h | 29 +++++++++++++++--------------
379 2 files changed, 22 insertions(+), 23 deletions(-)
381 commit 7b9eaeeadbf6ff10b4e467d13a873685a613ba37
382 Author: Elliot Smith <elliot.smith@intel.com>
383 Date: Tue Jan 25 11:36:13 2011 +0000
385 docs: Add some gtk-doc annotations to example
387 As this is a full GObject class implementation, add some
388 gtk-doc annotations to demonstrate how how custom actor subclasses
389 should be documented.
391 doc/cookbook/examples/cb-button.c | 65 +++++++++++++++++++++++++++++++------
392 1 file changed, 55 insertions(+), 10 deletions(-)
394 commit 8a5967f0cc4ca2ce2b4e8869f4a0ec3bdee07912
395 Author: Elliot Smith <elliot.smith@intel.com>
396 Date: Fri Jan 21 16:43:03 2011 +0000
398 docs: Add custom ClutterActor example which uses composition
400 doc/cookbook/examples/Makefile.am | 2 +
401 doc/cookbook/examples/actors-composite-main.c | 79 +++++++
402 doc/cookbook/examples/cb-button.c | 287 +++++++++++++++++++++++++
403 doc/cookbook/examples/cb-button.h | 72 +++++++
404 4 files changed, 440 insertions(+)
406 commit b820e3940681e4a08ec4985bb13c7f53faf657d4
407 Author: Emmanuele Bassi <ebassi@linux.intel.com>
408 Date: Sun Jan 30 23:00:00 2011 +0000
410 text: Bind BackSpace + Shift as BackSpace
412 Follow this old GTK+ bug:
414 https://bugzilla.gnome.org/show_bug.cgi?id=80302
416 and ignore the Shift mask.
418 clutter/clutter-text.c | 4 ++++
419 1 file changed, 4 insertions(+)
421 commit 9be4cfe8a9eef6a7a15c7100731a199f9348e73b
422 Author: Emmanuele Bassi <ebassi@linux.intel.com>
423 Date: Fri Jan 28 18:05:06 2011 +0000
425 x11/stage: Use a global Window ↔ Stage relationship
427 Since we need to find the stage from the X11 Window, it's better to use
428 a static hashmap that gets updated every time the ClutterStageX11:xwin
429 member is changed, instead of iterating over every stage handled by the
430 global ClutterStageManager singleton.
432 clutter/glx/clutter-backend-glx.c | 7 ++++--
433 clutter/x11/clutter-stage-x11.c | 49 ++++++++++++++++++++++++-------------
434 2 files changed, 37 insertions(+), 19 deletions(-)
436 commit f4508be4ab18f741bea12ea993c635fa9d632de2
437 Author: Emmanuele Bassi <ebassi@linux.intel.com>
438 Date: Fri Jan 28 17:25:43 2011 +0000
440 win32: Small clean ups in the event code
442 Use clutter_event_set_device() instead of setting the device field.
444 Also, use G_N_ELEMENTS() to determine the size of the key symbols
447 clutter/win32/clutter-event-win32.c | 31 ++++++++++++++++++++-----------
448 1 file changed, 20 insertions(+), 11 deletions(-)
450 commit 82d1e5a6ee081cf462999ea04fbd51cdb91f70c9
451 Author: Emmanuele Bassi <ebassi@linux.intel.com>
452 Date: Thu Jan 27 17:26:16 2011 +0000
454 Clean up crossing event synthesis code
456 Clutter should just require that the windowing system used by a backend
457 adds a device to the stage when the device enters, and removes it from
458 the stage when the device leaves; with this information, we can
459 synthesize every crossing event and update the device state without
460 other intervention from the backend-specific code.
462 The generation of additional crossing events for actors that are
463 covering the stage at the coordinates of the crossing event should be
464 delegated to the event processing code.
466 The x11 and win32 backends need to be modified to relay the enter and
467 leave events from the windowing system.
469 clutter/clutter-device-manager-private.h | 6 +-
470 clutter/clutter-device-manager.c | 2 +-
471 clutter/clutter-event.c | 1 +
472 clutter/clutter-input-device.c | 152 +++++++++----------------
473 clutter/clutter-main.c | 90 +++++++++++----
474 clutter/clutter-stage-private.h | 8 ++
475 clutter/clutter-stage.c | 48 +++++++-
476 clutter/win32/clutter-event-win32.c | 19 +++-
477 clutter/x11/clutter-device-manager-core-x11.c | 45 ++++----
478 clutter/x11/clutter-device-manager-xi2.c | 32 +++---
479 10 files changed, 242 insertions(+), 161 deletions(-)
481 commit b3784bd2b4c9aeac809cca70681bc248123133f8
482 Author: Emmanuele Bassi <ebassi@linux.intel.com>
483 Date: Thu Jan 27 17:21:08 2011 +0000
485 event: Add a setter for the device field
487 When synthesizing events coming from input devices it should be
488 possible to just call a setter function, to avoid a huge switch
489 on the type of the event.
491 Clutter should also store the device pointer inside the private
492 data, for faster access of the pointer in allocated events.
494 Finally, the get_device_id() and get_device_type() accessors should
495 just be wrappers around clutter_event_get_device(), to reduce the
496 amount of code duplication.
498 clutter/clutter-event.c | 98 +++++++++++++++++-----------
499 clutter/clutter-event.h | 3 +
500 doc/reference/clutter/clutter-sections.txt | 1 +
501 3 files changed, 64 insertions(+), 38 deletions(-)
503 commit 3502f326b21856ed7720c8541aa4eb3990517a6f
504 Author: Emmanuele Bassi <ebassi@linux.intel.com>
505 Date: Wed Jan 26 12:44:03 2011 +0000
507 x11/stage: Remove redundant line location
509 The CLUTTER_NOTE() macro already adds the line location; adding another
510 will just clutter up the log.
512 clutter/x11/clutter-stage-x11.c | 3 +--
513 1 file changed, 1 insertion(+), 2 deletions(-)
515 commit acf51259d2057b412d1d32fa8246fd14c9ddb66f
516 Author: Emmanuele Bassi <ebassi@linux.intel.com>
517 Date: Wed Jan 26 11:58:08 2011 +0000
519 x11: Store a back pointer to the backend in the stage
521 Since we access it in order to get the X11 Display pointer, it makes
522 sense to have the ClutterBackendX11 already available inside the
523 ClutterStageX11 structure, and avoid the pattern:
525 ClutterBackend *backend = clutter_get_default_backend ();
526 ClutterBackendX11 *backend_x11 = CLUTTER_BACKEND_X11 (backend);
528 which costs us a function call, a type cast and an unused variable.
530 clutter/egl/clutter-backend-egl.c | 1 +
531 clutter/glx/clutter-backend-glx.c | 1 +
532 clutter/x11/clutter-stage-x11.c | 129 +++++++++++--------------------------
533 clutter/x11/clutter-stage-x11.h | 5 +-
534 4 files changed, 41 insertions(+), 95 deletions(-)
536 commit 1d7e2233130b3041cc204fed326087c3a2bc9867
537 Author: Neil Roberts <neil@linux.intel.com>
538 Date: Fri Jan 28 18:11:38 2011 +0000
540 test-path: Fix the test when running against latest Cairo versions
542 Cairo has recently changed so that it no longer adds a final move-to
543 command when the path ends with a close. This patch makes the test
544 check the run-time version number of Cairo to avoid duplicating this
545 behaviour when testing the conversion to and from a Cairo path.
547 tests/conform/test-path.c | 18 ++++++++++++------
548 1 file changed, 12 insertions(+), 6 deletions(-)
550 commit e7519a149beb78b92ab8e5b2d315fbab3102dbc2
551 Author: Neil Roberts <neil@linux.intel.com>
552 Date: Tue Jan 25 15:53:35 2011 +0000
554 clutter-stage-x11: Don't ensure the viewport when the window moves
556 When we receive a ConfigureNotify event that doesn't affect the size
557 of the window (only the position) then we were still calling
558 clutter_stage_ensure_viewport which ends up queueing a full stage
559 redraw. This patch makes it so that it only ensures the viewport when
560 the size changes as it already did for avoiding queueing a relayout.
562 It now also avoids setting the clipped redraws cool off period when
563 the window only moves under the assumption that it's only necessary
566 clutter/x11/clutter-stage-x11.c | 134 ++++++++++++++++++++-------------------
567 1 file changed, 69 insertions(+), 65 deletions(-)
569 commit dc6f6d6445a1fb9090ce63947218578b969c8718
570 Author: Rob Bradford <rob@linux.intel.com>
571 Date: Mon Jan 24 18:41:49 2011 +0000
573 animator: Only free the animator key when we've finished with it
575 Fixes: http://bugzilla.clutter-project.org/show_bug.cgi?id=2530
577 clutter/clutter-animator.c | 3 ++-
578 1 file changed, 2 insertions(+), 1 deletion(-)
580 commit 5593792a40850b6a8f96afa91745115191a45c67
581 Author: Emmanuele Bassi <ebassi@linux.intel.com>
582 Date: Wed Jan 26 10:32:42 2011 +0000
584 Include stdint.h when using uint32_t
586 Since the XI2 device manager code is going to be compiled only on
587 POSIX compliant systems, we can safely assume the presence of stdint.h
588 and include it unconditionally.
590 clutter/x11/clutter-device-manager-xi2.c | 8 +++++---
591 1 file changed, 5 insertions(+), 3 deletions(-)
593 commit 5329c986947d08fd724585d8eac61f8e0b0553b5
594 Author: Emmanuele Bassi <ebassi@linux.intel.com>
595 Date: Tue Jan 25 11:10:29 2011 +0000
597 bind-constraint: Add BIND_POSITION and BIND_SIZE
599 CLUTTER_BIND_POSITION and CLUTTER_BIND_SIZE are two convenience
600 enumeration values for binding x and y, and width and height
601 respectively, using a single ClutterBindConstraint.
603 clutter/clutter-bind-constraint.c | 12 ++++++++++++
604 clutter/clutter-bind-constraint.h | 8 +++++++-
605 tests/interactive/test-constraints.c | 4 +++-
606 tests/interactive/test-flow-layout.c | 5 +----
607 4 files changed, 23 insertions(+), 6 deletions(-)
609 commit 4f53653bf9f2d4ea30ee77e686b4799d8e356c99
610 Author: Emmanuele Bassi <ebassi@linux.intel.com>
611 Date: Tue Jan 25 11:00:20 2011 +0000
613 x11: Remove more private symbols
615 Some private functions escaped my wrath in commit
616 a277b4091a3fa09a39cf001809c3048eb27f3952.
618 Thanks to: Emilio Pozuelo Monfort on #clutter
620 clutter/x11/clutter-backend-x11.c | 4 ++--
621 clutter/x11/clutter-device-manager-core-x11.c | 2 ++
622 clutter/x11/clutter-device-manager-core-x11.h | 4 ++--
623 3 files changed, 6 insertions(+), 4 deletions(-)
625 commit 32486fe995911256a76673bf62609312893281be
626 Author: Robert Bragg <robert@linux.intel.com>
627 Date: Mon Jan 24 18:42:28 2011 +0000
629 pipeline: fix for _init_multi_property_sparse_state
631 When copying COMBINE state in
632 _cogl_pipeline_layer_init_multi_property_sparse_state we would read some
633 state from the destination layer (invalid data potentially), then
634 redundantly set the value back on the destination. This was picked up by
635 valgrind, and the code is now more careful about how it references the
636 src layer vs the destination layer.
638 clutter/cogl/cogl/cogl-pipeline.c | 27 ++++++++++++++-------------
639 1 file changed, 14 insertions(+), 13 deletions(-)
641 commit bca39776d3080c180cdcf6698a54ee2c25bb5383
642 Author: Robert Bragg <robert@linux.intel.com>
643 Date: Fri Jan 21 19:05:23 2011 +0000
645 framebuffer: flush journal when switching framebuffers
647 There is currently a problem with per-framebuffer journals in that it's
648 possible to create a framebuffer from a texture which then gets rendered
649 too but the framebuffer (and corresponding journal) can be freed before
650 the texture gets used to draw with.
652 Conceptually we want to make sure when freeing a framebuffer that - if
653 it is associated with a texture - we flush the journal as the last thing
654 before really freeing the framebuffer's meta data. Technically though
655 this is awkward to implement since the obvious mechanism for us to be
656 notified about the framebuffer's destruction (by setting some user data
657 internally with a callback) notifies when the framebuffer has a
658 ref-count of 0. This means we'd have to be careful what we do with the
659 framebuffer to consider e.g. recursive destruction; anything that would
660 set more user data on the framebuffer while it is being destroyed and
661 ensuring nothing else gets notified of the framebuffer's destruction
662 before the journal has been flushed.
664 For simplicity, for now, this patch provides another solution which is
665 to flush framebuffer journals whenever we switch away from a given
666 framebuffer via cogl_set_framebuffer or cogl_push/pop_framebuffer. The
667 disadvantage of this approach is that we can't batch all the geometry of
668 a scene that involves intermediate renders to offscreen framebufers.
669 Clutter is doing this more and more with applications that use the
670 ClutterEffect APIs so this is a shame. Hopefully this will only be a
671 stop-gap solution while we consider how to reliably support journal
672 logging across framebuffer changes.
674 clutter/cogl/cogl/cogl-framebuffer.c | 26 ++++++++++++++++++++++----
675 1 file changed, 22 insertions(+), 4 deletions(-)
677 commit 4609770bb9faa4dc74ddd0f25e099ff46b91e258
678 Author: Neil Roberts <neil@linux.intel.com>
679 Date: Mon Jan 24 17:32:06 2011 +0000
681 cogl-clip-stack: Fix flushing multiple stencil rectangles
683 When flushing a clip stack that contains more than one rectangle which
684 needs to use the stencil buffer the code takes a different path so
685 that it can combine the new rectangle with the existing contents of
686 the stencil buffer. However it was not correctly flushing the
687 modelview and projection matrices so that rectangle would be in the
690 clutter/cogl/cogl/cogl-clip-stack.c | 16 ++++++++--------
691 1 file changed, 8 insertions(+), 8 deletions(-)
693 commit 6102f802449d22d543621532b543d6879fdb1925
694 Author: Neil Roberts <neil@linux.intel.com>
695 Date: Mon Jan 24 17:17:16 2011 +0000
697 test-clip: Replace the ellipse with a rotated rectangle
699 With test-clip it's possible to draw three different shapes depending
700 on what mouse button is used: a rectangle, an ellipse or a path
701 containing multiple shapes. However the ellipse is also a path so it
702 doesn't really test anything extra from the third option. This
703 replaces the ellipse with a rectangle that is first rotated by the
704 modelview matrix. The rotated matrix won't be able to use the scissor
705 so it can be used to test stencil and clip plane clipping.
707 tests/interactive/test-clip.c | 41 ++++++++++++++++++++++++++++++++++-------
708 1 file changed, 34 insertions(+), 7 deletions(-)
710 commit 5137d0a23f19ce461f178596b687479bd62d8522
711 Author: Neil Roberts <neil@linux.intel.com>
712 Date: Mon Jan 24 16:36:56 2011 +0000
714 cogl-debug: Add a debug option for tracing clipping
716 This adds a COGL_DEBUG=clipping option that reports how the clip is
717 being flushed. This is needed to determine whether the scissor,
718 stencil clip planes or software clipping is being used.
720 clutter/cogl/cogl/cogl-clip-stack.c | 12 ++++++++++++
721 clutter/cogl/cogl/cogl-debug-options.h | 5 +++++
722 clutter/cogl/cogl/cogl-debug.c | 3 ++-
723 clutter/cogl/cogl/cogl-debug.h | 1 +
724 clutter/cogl/cogl/cogl-journal.c | 2 ++
725 5 files changed, 22 insertions(+), 1 deletion(-)
727 commit 35a2d79e462c2d27e462f0e614c475cce17b883b
728 Author: Neil Roberts <neil@linux.intel.com>
729 Date: Mon Jan 24 14:28:00 2011 +0000
731 cogl-debug: Split the flags to support more than 32
733 The CoglDebugFlags are now stored in an array of unsigned ints rather
734 than a single variable. The flags are accessed using macros instead of
735 directly peeking at the cogl_debug_flags variable. The index values
736 are stored in the enum rather than the actual mask values so that the
737 enum doesn't need to be more than 32 bits wide. The hope is that the
738 code to determine the index into the array can be optimized out by the
739 compiler so it should have exactly the same performance as the old
742 clutter/cogl/cogl/cogl-atlas-texture.c | 2 +-
743 clutter/cogl/cogl/cogl-attribute.c | 8 +-
744 clutter/cogl/cogl/cogl-blend-string.c | 14 +--
745 clutter/cogl/cogl/cogl-context.c | 10 +--
746 clutter/cogl/cogl/cogl-debug.c | 85 ++++++++++++++----
747 clutter/cogl/cogl/cogl-debug.h | 105 +++++++++++++++--------
748 clutter/cogl/cogl/cogl-framebuffer.c | 4 +-
749 clutter/cogl/cogl/cogl-journal.c | 38 ++++----
750 clutter/cogl/cogl/cogl-matrix-private.h | 2 +-
751 clutter/cogl/cogl/cogl-pipeline-fragend-arbfp.c | 6 +-
752 clutter/cogl/cogl/cogl-pipeline-fragend-fixed.c | 6 +-
753 clutter/cogl/cogl/cogl-pipeline-vertend-fixed.c | 2 +-
754 clutter/cogl/cogl/cogl-pipeline.c | 2 +-
755 clutter/cogl/cogl/cogl-profile.c | 10 +--
756 clutter/cogl/cogl/cogl-rectangle-map.c | 4 +-
757 clutter/cogl/cogl/cogl-shader.c | 4 +-
758 16 files changed, 191 insertions(+), 111 deletions(-)
760 commit 67fdb5c9f8494117e3d763693041be3ace8168f4
761 Author: Neil Roberts <neil@linux.intel.com>
762 Date: Fri Jan 14 11:11:44 2011 +0000
764 cogl-pipeline: Flush the lighting params in common code not vertend
766 The lighting parameters such as the diffuse and ambient colors were
767 previously only flushed in the fixed vertend. This meant that if a
768 vertex shader was used then they would not be set. The lighting
769 parameters are uniforms which are just as useful in a fragment shader
770 so it doesn't really make sense to set them in the vertend. They are
771 now flushed in the common cogl-pipeline-opengl code but the code is
772 #ifdef'd for GLES2 because they need to be part of the progend in that
775 clutter/cogl/cogl/cogl-pipeline-opengl.c | 25 ++++++++++++++++++++++-
776 clutter/cogl/cogl/cogl-pipeline-vertend-fixed.c | 19 -----------------
777 2 files changed, 24 insertions(+), 20 deletions(-)
779 commit e778018d0d3247a64a7de64f0937a1335a22b56e
780 Author: Neil Roberts <neil@linux.intel.com>
781 Date: Thu Jan 13 18:24:22 2011 +0000
783 cogl-pipeline-progend-glsl: Generalize updating GLES2 uniforms
785 The uniforms for the alpha test reference value and point size on
786 GLES2 are updating using similar code. This generalizes the code so
787 that there is a static array of predefined builtin uniforms which
788 contains the uniform name, a pointer to a function to get the value
789 from the pipeline, a pointer to a function to update the uniform and a
790 flag representing which CoglPipelineState change affects the
791 uniform. The uniforms are then updated in a loop. This should simplify
792 adding more builtin uniforms.
794 clutter/cogl/cogl/cogl-pipeline-progend-glsl.c | 134 ++++++++++++++----------
795 1 file changed, 77 insertions(+), 57 deletions(-)
797 commit 9ff04e8a998af90891996fe8c2a4439e5736e4f4
798 Author: Neil Roberts <neil@linux.intel.com>
799 Date: Wed Jan 12 13:47:55 2011 +0000
801 cogl-shader-boilerplate: Move the uniforms to the common code
803 The builtin uniforms are accessible from either the vertex shader or
804 the fragment shader so we should define them in the common
805 section. This doesn't really matter for the current list of uniforms
806 because it's pretty unlikely that you'd want to access the matrices
807 from the fragment shader, but for other builtins such as the lighting
808 material properties it makes sense.
810 clutter/cogl/cogl/cogl-shader-boilerplate.h | 31 +++++++++++++++------------
811 1 file changed, 17 insertions(+), 14 deletions(-)
813 commit e8d5be0ba79eef766fff723012c5d1994da84b4c
814 Author: Neil Roberts <neil@linux.intel.com>
815 Date: Mon Jan 24 11:49:04 2011 +0000
817 ClutterTimeline: Fix the 'msecs' parameter for the new-frame signal
819 Between Clutter 0.8 and 1.0, the new-frame signal of ClutterTimeline
820 changed the second parameter to be an elapsed time in milliseconds
821 rather than the frame number. However a few places in clutter were
822 still calling the parameter 'frame_num' which is a bit
823 misleading. Notably the signature for the signal class closure in the
824 header was using the wrong name. This changes them to use 'msecs'.
826 clutter/clutter-alpha.c | 2 +-
827 clutter/clutter-timeline.h | 2 +-
828 tests/conform/test-timeline-rewind.c | 4 +---
829 3 files changed, 3 insertions(+), 5 deletions(-)
831 commit 5c0aaf50a7b3d1914d4580d5f853faa9a4b10f73
832 Author: Neil Roberts <neil@linux.intel.com>
833 Date: Mon Jan 24 11:29:59 2011 +0000
835 clutter-timeline: Emit the new-frame signal even on the first frame
837 ClutterTimeline has special handling for the first time do_tick is
838 called which was not emitting a new-frame signal. This meant that an
839 application which directly uses the timeline would have to manually
840 setup the initial state of an animation after starting a timeline to
841 avoid painting a single frame with the wrong state. It seems to make
842 more sense to instead emit the new-frame signal so that the
843 application always sees a new-frame when the progress changes before a
846 clutter/clutter-timeline.c | 2 ++
847 1 file changed, 2 insertions(+)
849 commit b917285e24a355d38678b4a1cdce9e572ac34c14
850 Author: Emmanuele Bassi <ebassi@linux.intel.com>
851 Date: Mon Jan 24 10:51:06 2011 +0000
853 Post-release version bump to 1.5.15
856 po/clutter-1.0.pot | 445 ++++++++++++++++++++++++++++-----------------------
857 po/de.po | 445 ++++++++++++++++++++++++++++-----------------------
858 po/fr.po | 449 ++++++++++++++++++++++++++++-----------------------
859 po/id.po | 450 +++++++++++++++++++++++++++++-----------------------
860 po/it.po | 450 +++++++++++++++++++++++++++++-----------------------
861 po/pl.po | 450 +++++++++++++++++++++++++++++-----------------------
862 po/zh_CN.po | 449 ++++++++++++++++++++++++++++-----------------------
863 8 files changed, 1731 insertions(+), 1409 deletions(-)
865 commit 3e05d2df8de5ded545393994aff29ef9a8f7a0c5
866 Author: Emmanuele Bassi <ebassi@linux.intel.com>
867 Date: Mon Jan 24 10:23:36 2011 +0000
869 Release Clutter 1.5.14 (1.6.0rc1)
871 NEWS | 42 ++++++++++++++++++++++++++++++++++--------
873 2 files changed, 35 insertions(+), 9 deletions(-)
875 commit 79b936aa4a829ffd5b5677da228425c4e0c46623
876 Author: Emmanuele Bassi <ebassi@linux.intel.com>
877 Date: Fri Jan 21 20:46:09 2011 +0000
881 NEWS | 21 +++++++++++++++++++++
882 1 file changed, 21 insertions(+)
884 commit 6bffd407fd4f4d4d5b5c5f5ef6d9b43c44b7fe03
885 Author: Bastian Winkler <buz@netbuz.org>
886 Date: Fri Jan 21 14:50:44 2011 +0100
888 model: Add support to define rows in ClutterScript
890 This adds a custom "rows" property, that allows to define the rows of a
891 ClutterModel. A single row can either an array of all columns or an
892 object with column-name : column-value pairs.
894 http://bugzilla.clutter-project.org/show_bug.cgi?id=2528
896 clutter/clutter-model.c | 210 ++++++++++++++++++++++++++++++-------
897 tests/conform/test-model.c | 35 +++++++
898 tests/data/test-script-model.json | 8 ++
899 3 files changed, 218 insertions(+), 35 deletions(-)
901 commit 95b3a718ef5c08f058e2bf0e3e56df390408821f
902 Author: Bastian Winkler <buz@netbuz.org>
903 Date: Wed Jan 12 13:09:52 2011 +0100
905 script-parser: Allow initialized GValue arg in clutter_script_parse_node
907 Allow to 'abuse' the clutter_script_parse_node function by calling it
908 with an initialized GValue instead of a valid GParamSpec argument to
909 obtain the correct typed value from the json node.
911 http://bugzilla.clutter-project.org/show_bug.cgi?id=2528
913 clutter/clutter-script-parser.c | 23 +++++++++++++++--------
914 1 file changed, 15 insertions(+), 8 deletions(-)
916 commit 8e1c1909f80b4513154a3dfd8980160f94ec036f
917 Author: Bastian Winkler <buz@netbuz.org>
918 Date: Wed Jan 12 12:54:43 2011 +0100
920 model: Change the column argument type to gint for clutter_model_set_sort
922 Like in clutter_model_set_sorting_column this function should take a
923 gint column, otherwise GObject-Introspection won't allow to pass a NULL
926 http://bugzilla.clutter-project.org/show_bug.cgi?id=2527
928 clutter/clutter-model.c | 2 +-
929 clutter/clutter-model.h | 2 +-
930 2 files changed, 2 insertions(+), 2 deletions(-)
932 commit 8a6986089b79f9d6cbb7012d12087d2d2e42526c
933 Author: Bastian Winkler <buz@netbuz.org>
934 Date: Sat Jan 22 12:51:31 2011 +0100
936 model: Fix some GObject-Introspection annotations
938 http://bugzilla.clutter-project.org/show_bug.cgi?id=2526
940 clutter/clutter-model.c | 6 +++---
941 1 file changed, 3 insertions(+), 3 deletions(-)
943 commit 86c786aaad28e439146af4a93f787163e96bab6d
944 Merge: 8a58677 b7d26b2
945 Author: Emmanuele Bassi <ebassi@linux.intel.com>
946 Date: Fri Jan 21 20:22:32 2011 +0000
951 test-devices: Actually print the axis data
952 device-manager/xi2: Sync the stage of source devices
953 event: Clean up clutter_event_copy()
954 device: unset the axes array pointer when resetting
955 device-manager/xi2: Fix device hotplugging
956 glx: Clean up GLX implementation
957 device/x11: Store min/max keycode in the XI device class
958 x11: Hide all private symbols
959 docs: More documentation fixes for InputDevice
960 */event: Never manipulate the event queue directly
961 win32: Update DeviceManager device creation
962 device: Allow enabling/disabling non-master devices
963 backend/eglx: Add newly created stages to the translators
964 device: Add more doc annotations
965 device: Use a double for translate_axis() argument
966 test-devices: Clean up and show axes data
967 event: Fix up clutter_event_copy()
968 device/xi2: Translate the axis data after setting devices
969 device: Add more accessors for properties
970 docs: Update API reference
973 commit 8a5867799c5809854dfac9c2b7e704bcc6e9455b
974 Author: Robert Bragg <robert@linux.intel.com>
975 Date: Fri Jan 21 18:43:35 2011 +0000
977 cogl: call _cogl_texture_init for x11 tfp
979 When we added the texture->framebuffers member a _cogl_texture_init
980 funciton was added to initialize the list of framebuffers associated
981 with a texture to NULL. All the backends were updated except the
982 x11 tfp backend. This was causing crashes in test-pixmap.
984 clutter/cogl/cogl/winsys/cogl-texture-pixmap-x11.c | 2 +-
985 1 file changed, 1 insertion(+), 1 deletion(-)
987 commit 1973168bbaa133215df73eaeeef25c6dcc0d6a07
988 Author: Robert Bragg <robert@linux.intel.com>
989 Date: Fri Jan 21 17:38:14 2011 +0000
991 journal: start uprof flush timer after flushing fb deps
993 This avoids us recursively starting the _cogl_journal_flush uprof timer
994 by only starting it after flushing the journals of dependency
997 clutter/cogl/cogl/cogl-journal.c | 6 ++++--
998 1 file changed, 4 insertions(+), 2 deletions(-)
1000 commit f9d4846d6acc493b9fd52d627a82a0302d507a17
1001 Author: Robert Bragg <robert@linux.intel.com>
1002 Date: Fri Jan 21 17:28:34 2011 +0000
1004 cogl: make sure to init ctx->framebuffers
1006 This makes sure to initialize ctx->framebuffers to NULL otherwise we can
1007 get apps crashing when they create their first framebuffer.
1009 clutter/cogl/cogl/cogl-context.c | 2 ++
1010 1 file changed, 2 insertions(+)
1012 commit 326c51630492ab13a2e584f9efb0dc5673966c0e
1013 Author: Robert Bragg <robert@linux.intel.com>
1014 Date: Thu Jan 20 19:31:53 2011 +0000
1016 cogl: rename CoglVertexAttribute CoglAttribute
1018 This is part of a broader cleanup of some of the experimental Cogl API.
1019 One of the reasons for this particular rename is to reduce the verbosity
1020 of using the API. Another reason is that CoglVertexArray is going to be
1021 renamed CoglAttributeBuffer and we want to help emphasize the
1022 relationship between CoglAttributes and CoglAttributeBuffers.
1024 clutter/cogl/cogl/Makefile.am | 6 +-
1025 clutter/cogl/cogl/cogl-attribute-private.h | 103 ++
1026 clutter/cogl/cogl/cogl-attribute.c | 1272 ++++++++++++++++++++
1027 clutter/cogl/cogl/cogl-attribute.h | 182 +++
1028 clutter/cogl/cogl/cogl-context.c | 2 +-
1029 clutter/cogl/cogl/cogl-index-array.c | 4 +-
1030 clutter/cogl/cogl/cogl-journal.c | 117 +-
1031 clutter/cogl/cogl/cogl-path-private.h | 4 +-
1032 .../cogl/cogl/cogl-pipeline-progend-glsl-private.h | 2 +-
1033 clutter/cogl/cogl/cogl-primitive.c | 309 +++--
1034 clutter/cogl/cogl/cogl-primitive.h | 26 +-
1035 clutter/cogl/cogl/cogl-primitives.c | 84 +-
1036 clutter/cogl/cogl/cogl-types.h | 22 +
1037 clutter/cogl/cogl/cogl-vertex-attribute-private.h | 103 --
1038 clutter/cogl/cogl/cogl-vertex-attribute.c | 1272 --------------------
1039 clutter/cogl/cogl/cogl-vertex-attribute.h | 205 ----
1040 clutter/cogl/cogl/cogl-vertex-buffer-private.h | 4 +-
1041 clutter/cogl/cogl/cogl-vertex-buffer.c | 18 +-
1042 clutter/cogl/cogl/cogl-vertex-buffer.h | 22 -
1043 clutter/cogl/cogl/cogl.c | 4 +-
1044 clutter/cogl/cogl/cogl.h | 2 +-
1045 clutter/cogl/cogl/cogl2-path.c | 28 +-
1046 doc/reference/cogl-2.0/cogl-docs.xml.in | 2 +-
1047 23 files changed, 1873 insertions(+), 1920 deletions(-)
1049 commit c4bafb48b6e4a3b35a13252e5ade500c01c4a392
1050 Author: Robert Bragg <robert@linux.intel.com>
1051 Date: Thu Jan 20 18:51:24 2011 +0000
1053 docs: Adds bitmap section to cogl reference manual
1055 This adds an include for the cogl-bitmap section to cogl-docs.xml.in
1057 doc/reference/cogl/cogl-docs.xml.in | 1 +
1058 1 file changed, 1 insertion(+)
1060 commit b3775a75640ae2be0cef489c69d7e4213f170cb9
1061 Author: Robert Bragg <robert@linux.intel.com>
1062 Date: Thu Jan 20 12:29:49 2011 +0000
1064 cogl: s/Cogl*Vertex/CoglVertex*/
1066 We have a bunch of experimental convenience functions like
1067 cogl_primitive_p2/p2t2 that have corresponding vertex structures but it
1068 seemed a bit odd to have the vertex annotation e.g. "P2T2" be an infix
1069 of the type like CoglP2T2Vertex instead of be a postfix like
1070 CoglVertexP2T2. This switches them all to follow the postfix naming
1073 clutter/cogl/cogl/cogl-primitive.c | 96 ++++++++++++++---------------
1074 clutter/cogl/cogl/cogl-primitive.h | 80 ++++++++++++------------
1075 clutter/cogl/cogl/cogl-vertex-attribute.c | 20 +++---
1076 tests/conform/test-cogl-primitive.c | 16 ++---
1077 4 files changed, 106 insertions(+), 106 deletions(-)
1079 commit 3f9e8591671d0c81d5d4034f0895bca3f98cb4c0
1080 Author: Robert Bragg <robert@linux.intel.com>
1081 Date: Thu Jan 20 18:30:55 2011 +0000
1083 test-picking: Don't manually paint the stage
1085 Instead of using an idle handler that synchonously paints the stage
1086 by manually calling clutter_actor_paint (stage) the test now uses an
1087 idle handler that repeatedly queues a redraw on the stage.
1089 do_events is now called from a "paint" signal handler for the stage, and
1090 instead of manually determining the fps the test now uses
1091 CLUTTER_SHOW_FPS=1 instead.
1093 tests/micro-bench/test-picking.c | 38 +++++++++++++++-----------------------
1094 1 file changed, 15 insertions(+), 23 deletions(-)
1096 commit 9a663d8e4106e43f8f214b7fdded555ee408cf28
1097 Author: Robert Bragg <robert@linux.intel.com>
1098 Date: Thu Jan 20 14:41:51 2011 +0000
1100 debug: Adds a COGL_DEBUG=disable-fast-read-pixel option
1102 COGL_DEBUG=disable-fast-read-pixel can be used to disable the
1103 optimization for reading a single pixel colour back by looking at the
1104 geometry in the journal and not involving the GPU. With this disabled we
1105 will always flush the journal, rendering to the framebuffer and then use
1106 glReadPixels to get the result.
1108 clutter/cogl/cogl/cogl-debug-options.h | 7 +++-
1109 clutter/cogl/cogl/cogl-debug.c | 3 +-
1110 clutter/cogl/cogl/cogl-debug.h | 61 ++++++++++++++++----------------
1111 clutter/cogl/cogl/cogl-framebuffer.c | 3 ++
1112 clutter/cogl/cogl/cogl-journal.c | 3 ++
1113 5 files changed, 45 insertions(+), 32 deletions(-)
1115 commit 1bdb0e6e98db719c8652c85fc234c21437ad071a
1116 Author: Robert Bragg <robert@linux.intel.com>
1117 Date: Wed Jan 12 22:12:41 2011 +0000
1119 cogl: Implements a software only read-pixel fast-path
1121 This adds a transparent optimization to cogl_read_pixels for when a
1122 single pixel is being read back and it happens that all the geometry of
1123 the current frame is still available in the framebuffer's associated
1126 The intention is to indirectly optimize Clutter's render based picking
1127 mechanism in such a way that the 99% of cases where scenes are comprised
1128 of trivial quad primitives that can easily be intersected we can avoid
1129 the latency of kicking a GPU render and blocking for the result when we
1130 know we can calculate the result manually on the CPU probably faster
1131 than we could even kick a render.
1133 A nice property of this solution is that it maintains all the
1134 flexibility of the render based picking provided by Clutter and it can
1135 gracefully fall back to GPU rendering if actors are drawn using anything
1136 more complex than a quad for their geometry.
1138 It seems worth noting that there is a limitation to the extensibility of
1139 this approach in that it can only optimize picking a against geometry
1140 that passes through Cogl's journal which isn't something Clutter
1141 directly controls. For now though this really doesn't matter since
1142 basically all apps should end up hitting this fast-path. The current
1143 idea to address this longer term would be a pick2 vfunc for ClutterActor
1144 that can support geometry and render based input regions of actors and
1145 move this optimization up into Clutter instead.
1147 Note: currently we don't have a primitive count threshold to consider
1148 that there could be scenes with enough geometry for us to compensate for
1149 the cost of kicking a render and determine a result more efficiently by
1150 utilizing the GPU. We don't currently expect this to be common though.
1152 Note: in the future it could still be interesting to revive something
1153 like the wip/async-pbo-picking branch to provide an asynchronous
1154 read-pixels based optimization for Clutter picking in cases where more
1155 complex input regions that necessitate rendering are in use or if we do
1156 add a threshold for rendering as mentioned above.
1158 clutter/clutter-main.c | 3 -
1159 clutter/cogl/cogl/cogl-framebuffer-private.h | 27 +
1160 clutter/cogl/cogl/cogl-framebuffer.c | 196 ++++++-
1161 clutter/cogl/cogl/cogl-journal-private.h | 20 +
1162 clutter/cogl/cogl/cogl-journal.c | 710 +++++++++++++++++++-------
1163 clutter/cogl/cogl/cogl-vertex-attribute.c | 7 +
1164 clutter/cogl/cogl/cogl.c | 20 +-
1165 7 files changed, 800 insertions(+), 183 deletions(-)
1167 commit e289e85397cb52f421e64e253e1af2628909f424
1168 Author: Robert Bragg <robert@linux.intel.com>
1169 Date: Tue Jan 18 16:37:01 2011 +0000
1171 matrix: fix transform/project_points() APIs
1173 Both cogl_matrix_transform_points and _project_points take points_in and
1174 points_out arguments and explicitly allow pointing to the same array
1175 (i.e. to transform in-place) The implementation of the various internal
1176 transform functions though were not handling this possability and so it
1177 was possible the reference partially transformed vertex values as if
1178 they were original input values leading to incorrect results. This patch
1179 ensures we take a temporary copy of the current input point when
1182 clutter/cogl/cogl/cogl-matrix.c | 136 +++++++++++++++++++--------------------
1183 1 file changed, 68 insertions(+), 68 deletions(-)
1185 commit 23ed01d4e933da803bb7bbe4d0439de0824532c1
1186 Author: Robert Bragg <robert@linux.intel.com>
1187 Date: Thu Jan 13 14:29:46 2011 +0000
1189 cogl: Adds _cogl_util_point_in_polygon API
1191 This adds a utility function that can determine if a given point
1192 intersects an arbitrary polygon, by counting how many edges a
1193 "semi-infinite" horizontal ray crosses from that point. The plan is to
1194 use this for a software based read-pixel fast path that avoids using the
1195 GPU to rasterize journaled primitives and can instead intersect a point
1196 being read with quads in the journal to determine the correct color.
1198 clutter/cogl/cogl/Makefile.am | 2 +
1199 clutter/cogl/cogl/cogl-point-in-poly-private.h | 40 ++++++++++++++
1200 clutter/cogl/cogl/cogl-point-in-poly.c | 69 ++++++++++++++++++++++++
1201 3 files changed, 111 insertions(+)
1203 commit 142b229c5c2684f94af32358d1401b61aa3019aa
1204 Author: Robert Bragg <robert@linux.intel.com>
1205 Date: Wed Jan 12 22:06:58 2011 +0000
1207 cogl: Adds _cogl_swap_buffers_notify for clutter backends
1209 This adds a stop-gap mechanism for Cogl to know when the window system
1210 is requested to present the current backbuffer to the frontbuffer by
1211 adding a _cogl_swap_buffers_notify function that backends are now
1212 expected to call right after issuing the equivalent request to OpenGL
1213 vie the platforms OpenGL binding layer. This (blindly) updates all the
1214 backends to call this new function.
1216 For now Cogl doesn't do anything with the notification but the intention
1217 is to use it as part of a planned read-pixel optimization which will
1218 need to reset some state at the start of each new frame.
1220 clutter/cogl/cogl/cogl-framebuffer-private.h | 3 +++
1221 clutter/cogl/cogl/cogl-framebuffer.c | 5 +++++
1222 clutter/cogl/cogl/cogl.c | 10 ++++++++++
1223 clutter/cogl/cogl/cogl.h | 3 +++
1224 clutter/egl/clutter-stage-egl.c | 1 +
1225 clutter/fruity/clutter-backend-fruity.c | 1 +
1226 clutter/glx/clutter-stage-glx.c | 1 +
1227 clutter/osx/clutter-stage-osx.c | 1 +
1228 clutter/wayland/clutter-stage-wayland.c | 2 ++
1229 clutter/win32/clutter-backend-win32.c | 5 ++++-
1230 10 files changed, 31 insertions(+), 1 deletion(-)
1232 commit e150f474b3e9e58565dc894b4ae9234406d90675
1233 Author: Robert Bragg <robert@linux.intel.com>
1234 Date: Wed Jan 12 19:30:30 2011 +0000
1236 clip: rename get_clip_stack + add framebuffer_get_stack
1238 Instead of having _cogl_get/set_clip stack which reference the global
1239 CoglContext this instead makes those into CoglClipState method functions
1240 named _cogl_clip_state_get/set_stack that take an explicit pointer to a
1243 This also adds _cogl_framebuffer_get/set_clip_stack convenience
1244 functions that avoid having to first get the ClipState from a
1245 framebuffer then the stack from that - so we can maintain the
1246 convenience of _cogl_get_clip_stack.
1248 clutter/cogl/cogl/cogl-clip-state.c | 21 +++------------------
1249 clutter/cogl/cogl/cogl-clip-state.h | 21 +++------------------
1250 clutter/cogl/cogl/cogl-framebuffer-private.h | 26 ++++++++++++++++++++++++++
1251 clutter/cogl/cogl/cogl-framebuffer.c | 17 +++++++++++++++++
1252 clutter/cogl/cogl/cogl-journal.c | 5 ++++-
1253 5 files changed, 53 insertions(+), 37 deletions(-)
1255 commit 179dc9b7d1d9d14227c7f4eef241faf2d1affda0
1256 Author: Robert Bragg <robert@linux.intel.com>
1257 Date: Wed Jan 12 19:13:45 2011 +0000
1259 clip-stack: Adds _cogl_clip_stack_get_bounds API
1261 This adds an internal function to be able to query the screen space
1262 bounding box of the current clip entries contained in a given
1265 This bounding box which is cheap to determine can be useful to know the
1266 largest extents that might be updated while drawing with this clip
1269 For example the plan is to use this as part of an optimized read-pixel
1270 path handled on the CPU which will need to track the currently valid
1271 extents of the last call to cogl_clear()
1273 clutter/cogl/cogl/cogl-clip-stack.c | 45 +++++++++++++++++++++++++----------
1274 clutter/cogl/cogl/cogl-clip-stack.h | 7 ++++++
1275 2 files changed, 39 insertions(+), 13 deletions(-)
1277 commit f834596fd42b26d471a80cfec08c0d6e8c53f39a
1278 Author: Robert Bragg <robert@linux.intel.com>
1279 Date: Thu Jan 6 13:25:45 2011 +0000
1281 journal: Support per-framebuffer journals
1283 Instead of having a single journal per context, we now have a
1284 CoglJournal object for each CoglFramebuffer. This means we now don't
1285 have to flush the journal when switching/pushing/popping between
1286 different framebuffers so for example a Clutter scene that involves some
1287 ClutterEffect actors that transiently redirect to an FBO can still be
1290 This also allows us to track state in the journal that relates to the
1291 current frame of its associated framebuffer which we'll need for our
1292 optimization for using the CPU to handle reading a single pixel back
1293 from a framebuffer when we know the whole scene is currently comprised
1294 of simple rectangles in a journal.
1296 clutter/cogl/cogl/cogl-atlas-texture.c | 22 ++--
1297 clutter/cogl/cogl/cogl-clip-state.c | 5 +-
1298 clutter/cogl/cogl/cogl-context.c | 6 --
1299 clutter/cogl/cogl/cogl-context.h | 12 +--
1300 clutter/cogl/cogl/cogl-framebuffer-private.h | 23 +++++
1301 clutter/cogl/cogl/cogl-framebuffer.c | 111 +++++++++++++++++---
1302 clutter/cogl/cogl/cogl-journal-private.h | 19 +++-
1303 clutter/cogl/cogl/cogl-journal.c | 140 +++++++++++++++++---------
1304 clutter/cogl/cogl/cogl-pipeline-private.h | 3 +
1305 clutter/cogl/cogl/cogl-pipeline.c | 7 +-
1306 clutter/cogl/cogl/cogl-primitives.c | 9 +-
1307 clutter/cogl/cogl/cogl-sub-texture.c | 3 +-
1308 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 2 +-
1309 clutter/cogl/cogl/cogl-texture-2d.c | 2 +-
1310 clutter/cogl/cogl/cogl-texture-3d.c | 2 +-
1311 clutter/cogl/cogl/cogl-texture-private.h | 15 +++
1312 clutter/cogl/cogl/cogl-texture-rectangle.c | 2 +-
1313 clutter/cogl/cogl/cogl-texture.c | 58 +++++++++++
1314 clutter/cogl/cogl/cogl-vertex-attribute.c | 7 +-
1315 clutter/cogl/cogl/cogl.c | 20 +++-
1316 clutter/cogl/cogl/cogl2-path.c | 8 +-
1317 21 files changed, 375 insertions(+), 101 deletions(-)
1319 commit 385e0f84c6179a30f9031aba974131e1cf3e6a4e
1320 Author: Robert Bragg <robert@linux.intel.com>
1321 Date: Wed Jan 12 20:37:53 2011 +0000
1323 cogl-object: Adds an internal _cogl_object_set_user_data
1325 This adds an internal alternative to cogl_object_set_user_data that also
1326 passes an instance pointer to destroy notify callbacks.
1328 When setting private data on a CoglObject it's often desirable to know
1329 the instance being destroyed when we are being notified to free the
1330 private data due to the object being freed. The typical solution to this
1331 is to track a pointer to the instance in the private data itself so it
1332 can be identified but that usually requires an extra micro allocation
1333 for the private data that could have been avoided if only the callback
1334 were given an instance pointer.
1336 The new internal _cogl_object_set_user_data passes the instance pointer
1337 as a second argument which means it is ABI compatible for us to layer
1338 the public version on top of this internal function.
1340 clutter/cogl/cogl/cogl-object-private.h | 21 ++++++++++++++++++++-
1341 clutter/cogl/cogl/cogl-object.c | 24 +++++++++++++++++-------
1342 2 files changed, 37 insertions(+), 8 deletions(-)
1344 commit 131578c13aeeb53d99d7c63a0b2ddaded23524fc
1345 Author: Robert Bragg <robert@linux.intel.com>
1346 Date: Wed Jan 5 15:30:04 2011 +0000
1348 framebuffer: Move clear code to cogl-framebuffer.c
1350 This moves the implementation of cogl_clear into cogl-framebuffer.c as
1351 two new internal functions _cogl_framebuffer_clear and
1352 _cogl_framebuffer_clear4f. It's not clear if this is what the API will
1353 look like as we make more of the CoglFramebuffer API public due to the
1354 limitations of using flags to identify buffers when framebuffers may
1355 contain any number of ancillary buffers but conceptually it makes some
1356 sense to tie the operation of clearing a color buffer to a framebuffer.
1358 The short term intention is to enable tracking the current clear color
1359 as a property of the framebuffer as part of an optimization for reading
1360 back single pixels when the geometry is simple enough that we can
1361 compute the result quickly on the CPU. (If the point doesn't intersect
1362 any geometry we'll need to return the last clear color.)
1364 clutter/cogl/cogl/cogl-framebuffer-private.h | 20 +++++
1365 clutter/cogl/cogl/cogl-framebuffer.c | 103 ++++++++++++++++++++++++++
1366 clutter/cogl/cogl/cogl.c | 66 +----------------
1367 clutter/cogl/cogl/cogl2-path.c | 4 +-
1368 4 files changed, 129 insertions(+), 64 deletions(-)
1370 commit b7d26b2d02729b2d5eeb1650ca4e89a723afc1c7
1371 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1372 Date: Fri Jan 21 15:27:56 2011 +0000
1374 test-devices: Actually print the axis data
1376 Returning in an if() block whose condition we assume to be true doesn't
1377 play nicely with having statements after the block. Let's fix that.
1379 tests/interactive/test-devices.c | 31 ++++++++++++++++---------------
1380 1 file changed, 16 insertions(+), 15 deletions(-)
1382 commit e46571d63911df23cb25fb0b3fcfe5e86f50d81b
1383 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1384 Date: Fri Jan 21 15:26:52 2011 +0000
1386 device-manager/xi2: Sync the stage of source devices
1388 Keep the slave devices in sync with their master, so that we don't
1389 ignore their events because they lack the stage pointer.
1391 clutter/x11/clutter-device-manager-xi2.c | 51 ++++++++++++++++++++----------
1392 1 file changed, 34 insertions(+), 17 deletions(-)
1394 commit 516366d7691128e9f2138781bcc144cd628b110f
1395 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1396 Date: Fri Jan 21 15:14:11 2011 +0000
1398 event: Clean up clutter_event_copy()
1400 Try to avoid duplication of variables and blocks.
1402 clutter/clutter-event.c | 46 +++++++++++++++++++++-------------------------
1403 1 file changed, 21 insertions(+), 25 deletions(-)
1405 commit 7a339d1663b94e4cbc07ffa8a8c3bf0a47d84cae
1406 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1407 Date: Fri Jan 21 14:12:19 2011 +0000
1409 device: unset the axes array pointer when resetting
1411 Otherwise we'll get a nice realloc() error from glibc.
1413 clutter/clutter-input-device.c | 2 ++
1414 1 file changed, 2 insertions(+)
1416 commit 4ab8a3f0c16b82d4f223de869e1b87279dcff272
1417 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1418 Date: Fri Jan 21 11:43:00 2011 +0000
1420 stage: Do not create the default stage on stage.is_default()
1422 Use the stage manager to see if a default stage was effectively set,
1423 otherwise we end up creating a default stage when destroying a
1426 clutter/clutter-stage.c | 12 +++++++-----
1427 1 file changed, 7 insertions(+), 5 deletions(-)
1429 commit 0e993469155516dde673292bafe72d1c8308e27f
1430 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1431 Date: Fri Jan 21 11:41:36 2011 +0000
1433 device-manager/xi2: Fix device hotplugging
1435 Hierarchy and Device changed events come through with the X window set
1436 to be the root window, not the stage window. We need to whitelist them
1437 so that we can actually support hotplugging and device changes.
1439 clutter/x11/clutter-device-manager-xi2.c | 32 ++++++++----
1440 tests/interactive/test-devices.c | 83 ++++++++++++++++++++++++++----
1441 2 files changed, 95 insertions(+), 20 deletions(-)
1443 commit 7514f5fe92844a57d33a4811fd20687bbb391c8b
1444 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1445 Date: Fri Jan 21 10:49:12 2011 +0000
1447 glx: Clean up GLX implementation
1449 Like commit a277b4091a3fa09a39cf001809c3048eb27f3952, but targeted at
1452 clutter/glx/clutter-backend-glx.c | 22 +++++++-------
1453 clutter/glx/clutter-stage-glx.c | 57 +++++++++++++++++--------------------
1454 clutter/glx/clutter-stage-glx.h | 2 +-
1455 3 files changed, 38 insertions(+), 43 deletions(-)
1457 commit 6da51f6ed379f531bee72b688366dc734082a573
1458 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1459 Date: Fri Jan 21 10:24:34 2011 +0000
1461 device/x11: Store min/max keycode in the XI device class
1463 The generic device class shouldn't have the minimum and maximum keycode,
1464 since no other input backend provides those.
1466 clutter/clutter-device-manager-private.h | 8 ++------
1467 clutter/clutter-input-device.c | 18 +++---------------
1468 clutter/x11/clutter-device-manager-core-x11.c | 10 +++++++---
1469 clutter/x11/clutter-device-manager-xi2.c | 6 ++----
1470 clutter/x11/clutter-input-device-core-x11.c | 9 ++++++---
1471 5 files changed, 20 insertions(+), 31 deletions(-)
1473 commit a277b4091a3fa09a39cf001809c3048eb27f3952
1474 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1475 Date: Thu Jan 20 15:39:28 2011 +0000
1477 x11: Hide all private symbols
1479 The x11 backend exposes a lot of symbols that are meant to only be used
1480 when implementing a subclassed backend, like the glx and eglx ones.
1482 The uninstalled headers are also filled with cruft declarations of
1483 functions long since removed.
1485 Let's try to clean up this mess.
1487 clutter/egl/clutter-backend-egl.c | 13 +++++++++----
1488 clutter/glx/clutter-backend-glx.c | 19 ++++++++++++++-----
1489 clutter/x11/clutter-backend-x11.c | 28 ++++++++++------------------
1490 clutter/x11/clutter-backend-x11.h | 31 +++----------------------------
1491 clutter/x11/clutter-keymap-x11.c | 4 ++--
1492 clutter/x11/clutter-keymap-x11.h | 4 ++--
1493 clutter/x11/clutter-stage-x11.c | 12 +++++++-----
1494 clutter/x11/clutter-stage-x11.h | 13 ++-----------
1495 8 files changed, 49 insertions(+), 75 deletions(-)
1497 commit 89467abae591fb07afed507323f086264d73e68d
1498 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1499 Date: Wed Jan 19 17:03:27 2011 +0000
1501 docs: More documentation fixes for InputDevice
1503 clutter/clutter-input-device.c | 107 +++++++++++++++++++++++-----
1504 doc/reference/clutter/clutter-sections.txt | 10 ++-
1505 2 files changed, 95 insertions(+), 22 deletions(-)
1507 commit 0f56abf569d524bd42d4a3cdc6a5321a3de2b7f9
1508 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1509 Date: Wed Jan 19 16:34:49 2011 +0000
1511 */event: Never manipulate the event queue directly
1513 Always use _clutter_event_push() instead.
1515 clutter/egl/clutter-event-tslib.c | 2 +-
1516 clutter/evdev/clutter-device-manager-evdev.c | 5 +----
1517 clutter/wayland/clutter-input-device-wayland.c | 26 +++++++-----------------
1518 clutter/win32/clutter-event-win32.c | 6 +-----
1519 4 files changed, 10 insertions(+), 29 deletions(-)
1521 commit 400ecdfc81d19ab27cbc7a4f416b6fc109556ebf
1522 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1523 Date: Wed Jan 19 16:34:37 2011 +0000
1525 win32: Update DeviceManager device creation
1527 clutter/win32/clutter-device-manager-win32.c | 13 +++++++++++++
1528 1 file changed, 13 insertions(+)
1530 commit 73cf6bd52c282acc1cdb67724d2b55d3f822f7ef
1531 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1532 Date: Wed Jan 19 16:23:45 2011 +0000
1534 device: Allow enabling/disabling non-master devices
1536 Slave and floating devices should always be disabled, and not deliver
1537 events to the scene. It is up to the user to enable non-master devices
1538 and handle events coming from them.
1540 ClutterInputDevice gets a new :enabled property, defaulting to FALSE;
1541 when a device manager creates a new device it has to set it to TRUE if
1542 the :device-mode property is set to CLUTTER_INPUT_MODE_MASTER.
1544 The main event queue entry point, _clutter_event_push(), will
1545 automatically discard events coming from disabled devices.
1547 clutter/clutter-device-manager-private.h | 3 +-
1548 clutter/clutter-event.c | 9 ++++
1549 clutter/clutter-input-device.c | 66 +++++++++++++++++++++++++
1550 clutter/clutter-input-device.h | 3 ++
1551 clutter/x11/clutter-device-manager-core-x11.c | 3 ++
1552 clutter/x11/clutter-device-manager-xi2.c | 10 +++-
1553 tests/interactive/test-devices.c | 10 +++-
1554 7 files changed, 100 insertions(+), 4 deletions(-)
1556 commit 137f7d42a8db40a85ae95b10d9ed0fa895f48b0a
1557 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1558 Date: Wed Jan 19 15:17:34 2011 +0000
1560 backend/eglx: Add newly created stages to the translators
1562 The events directed to the stage should be translated by the stage.
1564 clutter/egl/clutter-backend-egl.c | 4 ++++
1565 1 file changed, 4 insertions(+)
1567 commit d3ed3d3a7b3950160a3351d54e766628fd916ad8
1568 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1569 Date: Wed Jan 19 13:54:27 2011 +0000
1571 device: Add more doc annotations
1573 Even for internal API.
1575 clutter/clutter-input-device.c | 32 ++++++++++++++++++++++++++++++++
1576 1 file changed, 32 insertions(+)
1578 commit 50e52f550a14e86a689673ce898970337cc46e8b
1579 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1580 Date: Wed Jan 19 13:53:20 2011 +0000
1582 device: Use a double for translate_axis() argument
1584 While XI1 has axis data in events exposed as integers, XI2 uses double
1585 precision floating point values.
1587 clutter/clutter-device-manager-private.h | 2 +-
1588 clutter/clutter-input-device.c | 17 ++++++++++++++++-
1589 2 files changed, 17 insertions(+), 2 deletions(-)
1591 commit f54044f7e45fe37538187ca06f7d378ae8d64800
1592 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1593 Date: Wed Jan 19 13:52:33 2011 +0000
1595 test-devices: Clean up and show axes data
1597 tests/interactive/test-devices.c | 106 +++++++++++++++++++++++++++++++++-----
1598 1 file changed, 92 insertions(+), 14 deletions(-)
1600 commit d078fe09301db384b7a465b86ad83dab860576b4
1601 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1602 Date: Tue Jan 18 22:31:14 2011 +0000
1604 event: Fix up clutter_event_copy()
1606 We need to copy the scroll axis data, and we need to copy the private
1607 Event data from the source event to the target event structure.
1609 clutter/clutter-event.c | 25 +++++++++++++++++++++++++
1610 1 file changed, 25 insertions(+)
1612 commit 405e611279321ebe293e02b4507899355f49cc64
1613 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1614 Date: Tue Jan 18 22:30:21 2011 +0000
1616 device/xi2: Translate the axis data after setting devices
1618 We need the devices (source and virtual) to be set before translating
1619 the axis data from XI2 to the Clutter event.
1621 clutter/x11/clutter-device-manager-xi2.c | 30 +++++++++++++++++++-----------
1622 1 file changed, 19 insertions(+), 11 deletions(-)
1624 commit dd5f6ca7e1b5042beca6363109424565a7d8223b
1625 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1626 Date: Tue Jan 18 17:33:22 2011 +0000
1628 device: Add more accessors for properties
1630 Allow using real accessor methods for getting the ClutterInputDevice
1631 properties set on construction.
1633 clutter/clutter-input-device.c | 38 ++++++++++++++++++++++++++++
1634 clutter/clutter-input-device.h | 2 ++
1635 doc/reference/clutter/clutter-sections.txt | 2 ++
1636 3 files changed, 42 insertions(+)
1638 commit ad06f1b20fcac9167f456ba21674d8f7a2c0cd3b
1639 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1640 Date: Tue Jan 18 16:57:14 2011 +0000
1642 docs: Update API reference
1644 doc/reference/clutter/clutter-sections.txt | 2 ++
1645 1 file changed, 2 insertions(+)
1647 commit 333ca35ceca739388be36cf48514fcb68f3b7aef
1648 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1649 Date: Tue Jan 18 16:55:14 2011 +0000
1651 device: Add get_axis_value()
1653 We need a convenience function for extracting the value of a specific
1654 axis type out of the array of axis values attached to events.
1656 clutter/clutter-input-device.c | 47 ++++++++++++++++++++++++++++++++++++++++
1657 clutter/clutter-input-device.h | 4 ++++
1658 2 files changed, 51 insertions(+)
1660 commit d805237c313f5e2ce85b93fd167569c25b702163
1661 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1662 Date: Tue Jan 18 16:54:12 2011 +0000
1664 event: Add accessor for the axes field
1666 CLUTTER_BUTTON_* and CLUTTER_MOTION event types have axes data attached
1667 to them, so we want to expose a common ClutterEvent method for
1668 extracting that data.
1670 clutter/clutter-event.c | 57 +++++++++++++++++++++++++++++++++++++++++++++++
1671 clutter/clutter-event.h | 2 ++
1672 2 files changed, 59 insertions(+)
1674 commit 431200f40dad93bcaeff76ad34f3fdd431d5a8f2
1675 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1676 Date: Tue Jan 18 16:13:26 2011 +0000
1678 device: Add keys and axes accessors
1680 Allow retrieving the number of keys and axes, since we provide the API
1681 to iterate over them both.
1683 clutter/clutter-device-manager-private.h | 2 --
1684 clutter/clutter-input-device.c | 30 +++++++++++++++++++++------
1685 clutter/clutter-input-device.h | 3 +++
1686 clutter/x11/clutter-device-manager-xi2.c | 2 +-
1687 clutter/x11/clutter-input-device-core-x11.c | 3 +--
1688 doc/reference/clutter/clutter-sections.txt | 10 +++++++--
1689 6 files changed, 37 insertions(+), 13 deletions(-)
1691 commit b662a070f2c5ebe2af479fd0290745ad923b3c42
1692 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1693 Date: Tue Jan 18 15:42:02 2011 +0000
1695 docs: Update dependencies in README
1698 1 file changed, 1 insertion(+), 1 deletion(-)
1700 commit 0a869e0718331737a1126da861222f7b0162fcce
1701 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1702 Date: Tue Jan 18 14:16:11 2011 +0000
1704 egl/x11: Defer X11-specific code to the X11 backend
1706 The ClutterStageX11 implementation does most of the heavy lifting, so
1707 subclasses like ClutterStageGLX and ClutterStageEGL do not need to
1708 handle things like creating the stage Window and selecting events; just
1709 chaining up and using the internal API will suffice.
1711 clutter/egl/clutter-stage-egl.c | 108 +++------------------------------------
1712 1 file changed, 8 insertions(+), 100 deletions(-)
1714 commit a3102a777ead15f7ba4b671bd25fd642762fec57
1715 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1716 Date: Tue Jan 18 14:09:04 2011 +0000
1718 docs: Fill out documentation for new symbols
1720 clutter/clutter-event.c | 82 ++++++++++++++++++++++++++++
1721 clutter/clutter-event.h | 1 +
1722 clutter/clutter-input-device.c | 37 +++++++++++++
1723 clutter/clutter-input-device.h | 29 ++++++++++
1724 clutter/clutter-private.h | 4 ++
1725 clutter/x11/clutter-device-manager-xi2.c | 39 +++++++++----
1726 doc/reference/clutter/Makefile.am | 1 +
1727 doc/reference/clutter/clutter-sections.txt | 12 +++-
1728 8 files changed, 194 insertions(+), 11 deletions(-)
1730 commit fa3c5a28a7b82d817ae7b83a058158a101e1e4b0
1731 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1732 Date: Tue Jan 18 13:15:20 2011 +0000
1734 backend/x11: Allow querying xinput support
1736 Undeprecate the XInput-related X11 API: since we don't enable XI support
1737 by default we still need to ask for it, and see if we have it after the
1738 backend initialization sequence.
1740 clutter/x11/clutter-backend-x11.c | 14 ++++++++------
1741 clutter/x11/clutter-backend-x11.h | 5 +----
1742 2 files changed, 9 insertions(+), 10 deletions(-)
1744 commit c8cc03f8a7b13db01a71c4a597c05a7b94ba664c
1745 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1746 Date: Tue Jan 18 13:08:09 2011 +0000
1748 event/x11: Epic clean up
1750 Event translation is now done where it belongs: we don't need a massive
1751 switch in a file with direct access to private structure members.
1753 So long, event_translate(); and thanks for all the fish.
1755 clutter/x11/clutter-event-x11.c | 869 ---------------------------------------
1756 1 file changed, 869 deletions(-)
1758 commit c044e44dc798a4afede519abe430ff6a20bd745d
1759 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1760 Date: Tue Jan 18 13:07:36 2011 +0000
1762 device/x11: Use similar core for axis translation as XI2
1764 clutter/x11/clutter-input-device-core-x11.c | 39 +++++++++++++--------------
1765 1 file changed, 19 insertions(+), 20 deletions(-)
1767 commit c9c6236d3786ed3f69f170b02523e08a91b7f644
1768 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1769 Date: Tue Jan 18 13:05:46 2011 +0000
1771 stage/x11: Do not check a boolean for equality
1773 Booleans should only be used like direct conditions, never as
1774 comparisons with TRUE or FALSE.
1776 clutter/x11/clutter-stage-x11.c | 4 +---
1777 1 file changed, 1 insertion(+), 3 deletions(-)
1779 commit ee15d0d2d01a02e426cbb8c340738e4f8411fc4f
1780 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1781 Date: Tue Jan 18 13:05:17 2011 +0000
1783 Add copyright and licensing blurbs
1785 clutter/x11/clutter-input-device-core-x11.h | 23 +++++++++++++++++++++++
1786 clutter/x11/clutter-input-device-xi2.c | 23 +++++++++++++++++++++++
1787 clutter/x11/clutter-input-device-xi2.h | 23 +++++++++++++++++++++++
1788 3 files changed, 69 insertions(+)
1790 commit 2cb0077f7d7260109f0974d260cb4ed63ade6e9e
1791 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1792 Date: Tue Jan 18 13:03:07 2011 +0000
1794 device/xi2: Implement get_core_device()
1796 We ask XI2 to get the client pointer for CLUTTER_POINTER_DEVICE, and
1797 we use the attached keyboard device for CLUTTER_KEYBOARD_DEVICE. For
1798 everything else, we return NULL.
1800 clutter/x11/clutter-device-manager-xi2.c | 25 +++++++++++++++++++++++++
1801 1 file changed, 25 insertions(+)
1803 commit 9c48486d7ac73aa55b69a70cf1ef7009a0af2a09
1804 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1805 Date: Tue Jan 18 13:02:15 2011 +0000
1807 device/xi2: Remove the ::remove implementation
1809 Removing a device is only internal API, and we already have a function
1810 for that: we don't need to implement the DeviceManager virtual as well.
1812 clutter/x11/clutter-device-manager-xi2.c | 18 ++----------------
1813 1 file changed, 2 insertions(+), 16 deletions(-)
1815 commit 0075c45ca49569988fb6b8f1b4a60cd4e77be287
1816 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1817 Date: Tue Jan 18 13:01:27 2011 +0000
1819 device/xi2: Blow the cached devices list
1821 Every time we add or remove a device we should clear the cached list
1822 that we return in get_devices(), so that it gets repopulated.
1824 clutter/x11/clutter-device-manager-xi2.c | 8 ++++++++
1825 1 file changed, 8 insertions(+)
1827 commit de93f721c1314321bf78acec2f50d5a481210ec9
1828 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1829 Date: Tue Jan 18 12:59:49 2011 +0000
1831 Clean up the copyright and licensing blurbs
1833 clutter/glx/clutter-stage-glx.c | 9 +++++----
1834 clutter/x11/clutter-device-manager-core-x11.c | 2 +-
1835 clutter/x11/clutter-device-manager-core-x11.h | 2 +-
1836 clutter/x11/clutter-device-manager-xi2.c | 2 +-
1837 clutter/x11/clutter-device-manager-xi2.h | 2 +-
1838 clutter/x11/clutter-input-device-core-x11.c | 23 +++++++++++++++++++++++
1839 6 files changed, 32 insertions(+), 8 deletions(-)
1841 commit 7c25b063aafc21527413106dca6db3fcb50bd5ad
1842 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1843 Date: Tue Jan 18 12:57:50 2011 +0000
1845 x11: Use XI2 API only if we support it
1847 XIQueryVersion() is XI2 API.
1849 clutter/x11/clutter-backend-x11.c | 43 +++++++++++++++++++++++++++----------
1850 1 file changed, 32 insertions(+), 11 deletions(-)
1852 commit caf359d8c9a110797e9ad64a7cb3600b7b964275
1853 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1854 Date: Tue Jan 18 12:57:12 2011 +0000
1856 input-device: Add documentation
1858 clutter/clutter-input-device.c | 48 +++++++++++++++++++++++++++++++++++++++-
1859 clutter/clutter-input-device.h | 2 +-
1860 2 files changed, 48 insertions(+), 2 deletions(-)
1862 commit 342cdd25756b37745bfd1725d78f6f670f77bee0
1863 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1864 Date: Mon Jan 17 17:01:58 2011 +0000
1866 input-device: Move select_stage_events() to a vfunc
1868 Don't use a signal, use a virtual function.
1870 clutter/clutter-device-manager-private.h | 4 ++++
1871 clutter/clutter-input-device.c | 28 +++++----------------------
1872 clutter/x11/clutter-input-device-core-x11.c | 5 ++---
1873 clutter/x11/clutter-input-device-xi2.c | 5 ++---
1874 4 files changed, 13 insertions(+), 29 deletions(-)
1876 commit 2777c52f2759513c8e4b66e474ed2da587bd5de5
1877 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1878 Date: Mon Jan 17 16:56:07 2011 +0000
1880 input-device: Make ClutterInputDeviceClass private
1882 We keep the symbol in the public header, but the definition is now
1883 private. You could not sub-class InputDevice anyway, without the
1884 instance structure, and the lack of padding in the class made actually
1885 implementing devices in backends really hard.
1887 clutter/clutter-device-manager-private.h | 5 +++++
1888 clutter/clutter-input-device.h | 14 --------------
1889 2 files changed, 5 insertions(+), 14 deletions(-)
1891 commit 001f84875aa5a0f0871b0f86a73d4c1972c12430
1892 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1893 Date: Mon Jan 17 16:42:18 2011 +0000
1895 Enable XInput support by default
1897 Since we have a decent XI1 and XI2 implementation, now, we should turn
1898 the support for XInput on by default.
1900 The actual implementation to be used at run-time is still left to be
1901 decided by the user.
1904 1 file changed, 1 insertion(+), 1 deletion(-)
1906 commit 1b1e77b46989ba97bfff8abdfa61df0f514a7eae
1907 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1908 Date: Tue Jan 4 12:32:04 2011 +0000
1910 event/x11: Rework the way we translate X11 events
1912 This is a lump commit that is fairly difficult to break down without
1913 either breaking bisecting or breaking the test cases.
1915 The new design for handling X11 event translation works this way:
1917 - ClutterBackend::translate_event() has been added as the central
1918 point used by a ClutterBackend implementation to translate a
1919 native event into a ClutterEvent;
1921 - ClutterEventTranslator is a private interface that should be
1922 implemented by backend-specific objects, like stage
1923 implementations and ClutterDeviceManager sub-classes, and
1924 allows dealing with class-specific event translation;
1926 - ClutterStageX11 implements EventTranslator, and deals with the
1927 stage-relative X11 events coming from the X11 event source;
1929 - ClutterStageGLX overrides EventTranslator, in order to
1930 deal with the INTEL_GLX_swap_event extension, and it chains up
1931 to the X11 default implementation;
1933 - ClutterDeviceManagerX11 has been split into two separate classes,
1934 one that deals with core and (optionally) XI1 events, and the
1935 other that deals with XI2 events; the selection is done at run-time,
1936 since the core+XI1 and XI2 mechanisms are mutually exclusive.
1938 All the other backends we officially support still use their own
1939 custom event source and translation function, but the end goal is to
1940 migrate them to the translate_event() virtual function, and have the
1941 event source be a shared part of Clutter core.
1943 clutter/Makefile.am | 24 +-
1944 clutter/clutter-backend-private.h | 8 +
1945 clutter/clutter-backend.c | 12 +
1946 clutter/clutter-device-manager-private.h | 105 ++-
1947 clutter/clutter-device-manager.c | 29 +
1948 clutter/clutter-device-manager.h | 1 +
1949 clutter/clutter-event-translator.c | 38 +
1950 clutter/clutter-event-translator.h | 40 +
1951 clutter/clutter-event.c | 77 +-
1952 clutter/clutter-event.h | 51 --
1953 clutter/clutter-input-device.c | 476 ++++++++++-
1954 clutter/clutter-input-device.h | 57 +-
1955 clutter/clutter-marshal.list | 1 +
1956 clutter/clutter-private.h | 3 +
1957 clutter/clutter-types.h | 51 ++
1958 clutter/glx/clutter-backend-glx.c | 11 +-
1959 clutter/glx/clutter-event-glx.c | 105 ---
1960 clutter/glx/clutter-event-glx.h | 38 -
1961 clutter/glx/clutter-stage-glx.c | 186 ++---
1962 clutter/x11/clutter-backend-x11.c | 358 +++++++--
1963 clutter/x11/clutter-backend-x11.h | 55 +-
1964 clutter/x11/clutter-device-manager-core-x11.c | 745 +++++++++++++++++
1965 clutter/x11/clutter-device-manager-core-x11.h | 70 ++
1966 clutter/x11/clutter-device-manager-x11.c | 354 ---------
1967 clutter/x11/clutter-device-manager-x11.h | 68 --
1968 clutter/x11/clutter-device-manager-xi2.c | 1058 +++++++++++++++++++++++++
1969 clutter/x11/clutter-device-manager-xi2.h | 66 ++
1970 clutter/x11/clutter-event-x11.c | 116 +--
1971 clutter/x11/clutter-input-device-core-x11.c | 414 ++++++++++
1972 clutter/x11/clutter-input-device-core-x11.h | 26 +
1973 clutter/x11/clutter-input-device-x11.c | 228 ------
1974 clutter/x11/clutter-input-device-x11.h | 25 -
1975 clutter/x11/clutter-input-device-xi2.c | 161 ++++
1976 clutter/x11/clutter-input-device-xi2.h | 22 +
1977 clutter/x11/clutter-stage-x11.c | 552 ++++++++++++-
1978 clutter/x11/clutter-stage-x11.h | 9 +
1979 configure.ac | 50 +-
1980 tests/interactive/test-devices.c | 13 +
1981 38 files changed, 4436 insertions(+), 1267 deletions(-)
1983 commit ca092477c2d3fcc74384c3f46216802db32ba0d9
1984 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1985 Date: Thu Jan 20 16:18:16 2011 +0000
1987 Appease the gods in introspection
1989 Reduce the amount of bogus warnings g-ir-scanner prints out.
1991 clutter/clutter-align-constraint.c | 2 --
1992 clutter/clutter-align-constraint.h | 3 ++-
1993 clutter/clutter-backend-private.h | 1 -
1994 clutter/clutter-backend.h | 9 +++++++++
1995 clutter/clutter-bind-constraint.c | 2 --
1996 clutter/clutter-bind-constraint.h | 3 ++-
1997 clutter/clutter-binding-pool.c | 1 -
1998 clutter/clutter-binding-pool.h | 1 +
1999 clutter/clutter-blur-effect.c | 2 --
2000 clutter/clutter-blur-effect.h | 1 +
2001 clutter/clutter-colorize-effect.c | 2 --
2002 clutter/clutter-colorize-effect.h | 3 ++-
2003 clutter/clutter-desaturate-effect.c | 2 --
2004 clutter/clutter-desaturate-effect.h | 1 +
2005 clutter/clutter-page-turn-effect.c | 2 --
2006 clutter/clutter-page-turn-effect.h | 1 +
2007 clutter/clutter-path-constraint.c | 2 --
2008 clutter/clutter-path-constraint.h | 3 ++-
2009 clutter/clutter-settings.c | 2 --
2010 clutter/clutter-settings.h | 1 +
2011 clutter/clutter-snap-constraint.c | 2 --
2012 clutter/clutter-snap-constraint.h | 3 ++-
2013 doc/reference/clutter/clutter-sections.txt | 17 ++++++++++++++---
2014 23 files changed, 38 insertions(+), 28 deletions(-)
2016 commit 439553a1b7e7d6a1731df7124b74545881ce4fbf
2017 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2018 Date: Thu Jan 20 13:44:16 2011 +0000
2020 Update the NEWS file
2022 NEWS | 12 +++++++++++-
2023 1 file changed, 11 insertions(+), 1 deletion(-)
2025 commit ef7810422764f7297f295a7c8189204de1eb4c3f
2026 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2027 Date: Thu Jan 20 13:29:37 2011 +0000
2029 Expose deprecated symbols whilst building Clutter
2031 Don't use ugly "#undef CLUTTER_DISABLE_DEPRECATED" inside source code
2032 using deprecated symbols; we have the handy CLUTTER_COMPILATION define
2033 that we can use as part of the "disable deprecated" conditional.
2035 clutter/clutter-actor.c | 4 +---
2036 clutter/clutter-behaviour-depth.c | 1 -
2037 clutter/clutter-behaviour-depth.h | 2 +-
2038 clutter/clutter-behaviour-ellipse.c | 1 -
2039 clutter/clutter-behaviour-ellipse.h | 2 +-
2040 clutter/clutter-behaviour-opacity.c | 1 -
2041 clutter/clutter-behaviour-opacity.h | 2 +-
2042 clutter/clutter-behaviour-path.c | 1 -
2043 clutter/clutter-behaviour-path.h | 2 +-
2044 clutter/clutter-behaviour-rotate.c | 1 -
2045 clutter/clutter-behaviour-rotate.h | 2 +-
2046 clutter/clutter-behaviour-scale.c | 1 -
2047 clutter/clutter-behaviour-scale.h | 2 +-
2048 clutter/clutter-behaviour.c | 1 -
2049 clutter/clutter-behaviour.h | 4 ++--
2050 clutter/clutter-frame-source.h | 2 +-
2051 clutter/clutter-timeout-pool.c | 1 -
2052 clutter/clutter-timeout-pool.h | 2 +-
2053 18 files changed, 11 insertions(+), 21 deletions(-)
2055 commit cd96e631f15ee623116cf3d330cc046e7855ee56
2056 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2057 Date: Thu Jan 20 13:19:03 2011 +0000
2059 glx: Deprecate ClutterGLXTexturePixmap
2061 Since 1.4 the ClutterGLXTexturePixmap is just a wrapper around
2062 ClutterX11TexturePixmap, so we can safely deprecate it. All the
2063 functionality it provided is now effectively available from the
2064 superclass or directly from Cogl.
2066 clutter/glx/clutter-glx-texture-pixmap.c | 23 +++++++++++++++--------
2067 clutter/glx/clutter-glx-texture-pixmap.h | 12 ++++++++----
2068 2 files changed, 23 insertions(+), 12 deletions(-)
2070 commit 770bcd5b4042818008e3fbbfab8e11722681a5fa
2071 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2072 Date: Thu Jan 20 12:59:56 2011 +0000
2074 test-pixmap: Remove the GLX code
2076 The ClutterGLXTexturePixmap actor is just a wrapper around
2077 ClutterX11TexturePixmap, since the relevant texture-from-pixmap code has
2078 been moved down to Cogl.
2080 tests/interactive/test-pixmap.c | 41 ---------------------------------------
2081 1 file changed, 41 deletions(-)
2083 commit a2d6edd4223fc18a9b3902e388ddd105db468f32
2084 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2085 Date: Wed Jan 19 18:51:01 2011 +0000
2087 test-pixmap: Fix up compilation on EGLX
2089 We need to check for the GLX windowing system if we are to include
2092 tests/interactive/test-pixmap.c | 2 ++
2093 1 file changed, 2 insertions(+)
2095 commit 62a0584f115f4a1cc6138c2915d90e24c69c4002
2096 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2097 Date: Wed Jan 19 17:54:28 2011 +0000
2099 docs: Ignore clutter-config.h when scanning headers
2101 doc/reference/clutter/Makefile.am | 1 +
2102 1 file changed, 1 insertion(+)
2104 commit a43c5f10bb5f3273378fedecd618260b96499cff
2105 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2106 Date: Wed Jan 19 14:36:30 2011 +0000
2108 tests: Try to drop including config.h
2110 The config.h header should be considered a Clutter internal header, and
2111 the test cases (especially the interactive test cases) should strive to
2112 never rely on internal headers.
2114 tests/interactive/test-cogl-offscreen.c | 1 -
2115 tests/interactive/test-cogl-primitives.c | 6 ++---
2116 tests/interactive/test-cogl-tex-convert.c | 1 -
2117 tests/interactive/test-cogl-tex-foreign.c | 1 -
2118 tests/interactive/test-cogl-tex-getset.c | 1 -
2119 tests/interactive/test-cogl-tex-polygon.c | 1 -
2120 tests/interactive/test-cogl-tex-tile.c | 1 -
2121 tests/interactive/test-cogl-vertex-buffer.c | 1 -
2122 tests/interactive/test-paint-wrapper.c | 8 ++-----
2123 tests/interactive/test-pixmap.c | 34 +++++++++++++++++----------
2124 tests/interactive/test-textures.c | 4 ----
2125 11 files changed, 26 insertions(+), 33 deletions(-)
2127 commit 94b905b9e110c671698a0cd59fa827f6ddb0a84d
2128 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2129 Date: Wed Jan 19 14:33:27 2011 +0000
2131 build: Generate an instealled config header
2133 Clutter has some platform-specific API that is accessible only if the
2134 right backend has been compiled in. Third party applications that wish
2135 to be portable across backends might want to use defines and other
2136 pre-processor tricks to determine header inclusion and API usage.
2138 While Clutter has an internal set of symbols it can use, third party
2139 applications don't have the luxury of being able to access the config.h
2140 generated by Clutter's configure script.
2142 For this reason, Clutter should install a configuration header with a
2143 series of namespaced defines that can be picked up by applications and
2144 other third party code.
2147 clutter/Makefile.am | 5 +++++
2148 clutter/clutter-config.h.in | 16 ++++++++++++++++
2149 clutter/clutter.h | 2 ++
2150 configure.ac | 30 ++++++++++++++++++++++++++++++
2151 5 files changed, 54 insertions(+)
2153 commit 90a01b479c432310f9fcfb5fcd04e23d8fc1a92a
2154 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2155 Date: Tue Jan 18 15:14:58 2011 +0000
2157 Update the NEWS file
2159 NEWS | 18 ++++++++++++++++++
2160 1 file changed, 18 insertions(+)
2162 commit bb41cb54cbdbb21f3be26ac14c07fd1c804b4d31
2163 Author: Chris Lord <chris@linux.intel.com>
2164 Date: Tue Jan 18 15:48:29 2011 +0000
2166 timeline: Check if the timeline is playing in do_tick
2168 Check that the timeline is still playing before executing in
2169 _clutter_timeline_do_tick. This fixes the possibility of receiving a
2170 new-frame signal when stopping a timeline in response to a different
2171 timeline's signal emission.
2173 clutter/clutter-timeline.c | 8 ++++++++
2174 1 file changed, 8 insertions(+)
2176 commit c61e22d06787effcd4c260a817ba4845d5eedfdb
2177 Author: Lucas Rocha <lucasr@litl.com>
2178 Date: Mon Jan 17 18:28:49 2011 +0000
2180 drag-action: fix case where motion events are indefinitely disabled
2182 When drag threshold is not reached, emit_drag_begin() is not called
2183 causing default value of priv->motion_events_enabled (false) to used to
2184 restore motion events enabled state in Clutter. This causes drag action
2185 to indefinitely disable motion events. The current value of motion
2186 events enabled state is now queried on button press which guarantees
2187 that the state will be restored with the correct value in
2190 http://bugzilla.clutter-project.org/show_bug.cgi?id=2522
2192 clutter/clutter-drag-action.c | 3 ++-
2193 1 file changed, 2 insertions(+), 1 deletion(-)
2195 commit cecc7a4bfbae6dc4891f3cd1888e85fc1148dc1a
2196 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2197 Date: Tue Jan 18 14:46:02 2011 +0000
2199 stage: Fix gtk-doc annotation for set_accept_focus()
2201 clutter/clutter-stage.c | 2 +-
2202 1 file changed, 1 insertion(+), 1 deletion(-)
2204 commit 5d8b6aa6fa2c51b72079d52766e5013ff612af19
2205 Author: Bastian Winkler <buz@netbuz.org>
2206 Date: Fri Jan 14 14:53:05 2011 +0100
2208 introspection: Add missing (out) annotations for get_color()
2210 Some actors are missing the (out) annotations for the get_color()
2213 http://bugzilla.clutter-project.org/show_bug.cgi?id=2518
2215 clutter/clutter-rectangle.c | 4 ++--
2216 clutter/clutter-stage.c | 2 +-
2217 clutter/clutter-text.c | 2 +-
2218 3 files changed, 4 insertions(+), 4 deletions(-)
2220 commit 54d00ebaf0a0084c7b0580a7b234e214ce95dd16
2221 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2222 Date: Mon Jan 17 17:30:47 2011 +0000
2224 docs: Add ClutterClickAction.get_state()
2226 doc/reference/clutter/clutter-sections.txt | 3 +++
2227 1 file changed, 3 insertions(+)
2229 commit 6af7b76cb5959616ea828678e1fb0258a7a04d2d
2230 Author: Lucas Rocha <lucasr@gnome.org>
2231 Date: Mon Jan 17 00:38:04 2011 +0000
2233 click-action: add API to get modifier type
2235 This is to allow implementing modified click such as ctrl+click,
2236 shift+click, and so on.
2238 http://bugzilla.clutter-project.org/show_bug.cgi?id=2520
2240 clutter/clutter-click-action.c | 37 +++++++++++++++++++++++++++++++++++++
2241 clutter/clutter-click-action.h | 6 ++++--
2242 2 files changed, 41 insertions(+), 2 deletions(-)
2244 commit 6100aee5bd8d1c11fcaf6f7b3ac9a9317fbe39af
2245 Author: Damien Lespiau <damien.lespiau@intel.com>
2246 Date: Mon Jan 17 15:22:48 2011 +0000
2248 color: Mark the new static color API as being new from 1.6
2250 The patch was written a while ago but only merged in the 1.5.x cycle.
2252 clutter/clutter-color.c | 2 +-
2253 clutter/clutter-color.h | 2 +-
2254 2 files changed, 2 insertions(+), 2 deletions(-)
2256 commit ae9781e5266464314fda19ab8495e9824edbcdfb
2257 Author: Neil Roberts <neil@linux.intel.com>
2258 Date: Mon Jan 17 12:21:33 2011 +0000
2260 cogl-program: Don't use separate definitions on GLES 1.1
2262 Previously most of the code for cogl-program and cogl-shader was
2263 ifdef'd out for GLES 1.1 and alternate stub definitions were
2264 defined. This patch removes those and instead puts #ifdef's directly
2265 in the functions that need it. This should make it a little bit easier
2268 http://bugzilla.clutter-project.org/show_bug.cgi?id=2516
2270 clutter/cogl/cogl/cogl-program.c | 105 +++++---------------------------------
2271 clutter/cogl/cogl/cogl-shader.c | 91 +++++++++++----------------------
2272 2 files changed, 44 insertions(+), 152 deletions(-)
2274 commit b7677d047df6b8c96605454717873bbcb1722763
2275 Author: Neil Roberts <neil@linux.intel.com>
2276 Date: Mon Jan 17 12:20:06 2011 +0000
2278 cogl-pipeline-opengl: #ifdef out set_glsl_program for GLES 1.1
2280 glUseProgram is not available under GLES 1.1 so it was breaking the
2283 http://bugzilla.clutter-project.org/show_bug.cgi?id=2516
2285 clutter/cogl/cogl/cogl-pipeline-opengl.c | 9 +++++++++
2286 1 file changed, 9 insertions(+)
2288 commit 568d32acf3604a9c68556224844a839f0e014bcf
2289 Author: Neil Roberts <neil@linux.intel.com>
2290 Date: Mon Jan 17 12:06:13 2011 +0000
2292 cogl-pipeline: Fix the enum names for the constant combine source
2294 When determining whether to hash the combine constant Cogl checks the
2295 arguments to the combine funcs to determine whether the combine
2296 constant is used. However is was using the GLenums GL_CONSTANT_COLOR
2297 and GL_CONSTANT_ALPHA but these are not valid values for the
2298 CoglPipelineCombineSource enum so presumably the constant would never
2299 get hashed. This patch makes it use Cogl's enum of
2300 COGL_PIPELINE_COMBINE_SOURCE_CONSTANT instead.
2302 http://bugzilla.clutter-project.org/show_bug.cgi?id=2516
2304 clutter/cogl/cogl/cogl-pipeline.c | 12 ++++++------
2305 1 file changed, 6 insertions(+), 6 deletions(-)
2307 commit 0c070cdf91c2956ba057364eb63cc422a79b6c88
2308 Author: Adel Gadllah <adel.gadllah@gmail.com>
2309 Date: Sun Jan 16 23:19:28 2011 +0100
2311 ClutterX11TexturePixmap: Fix doc comment
2313 The wrong signal name was used probably a copy & paste
2316 clutter/x11/clutter-x11-texture-pixmap.c | 2 +-
2317 1 file changed, 1 insertion(+), 1 deletion(-)
2319 commit 88fe56d1752ad64f404da2baa1bc74f2ebbae64c
2320 Author: Neil Roberts <neil@linux.intel.com>
2321 Date: Thu Jan 13 15:54:50 2011 +0000
2323 cogl-buffer: Support mapping buffers for write on GLES
2325 GLES has an extension called GL_OES_mapbuffer to support mapping
2326 buffer objects but only for writing. Cogl now has two new feature
2327 flags to advertise whether mapping for reading and writing is
2328 supported. Under OpenGL, these features are always set if the VBO
2329 extension is advertised and under GLES only the write flag is set if
2330 the GL_OES_mapbuffer extension is advertised.
2332 clutter/cogl/cogl/cogl-buffer.c | 44 +++++++++-----------
2333 clutter/cogl/cogl/cogl-types.h | 8 +++-
2334 .../cogl/driver/gl/cogl-feature-functions-gl.h | 4 +-
2335 .../cogl/driver/gles/cogl-feature-functions-gles.h | 12 ++++++
2336 4 files changed, 42 insertions(+), 26 deletions(-)
2338 commit 7e73f0d4232338741e2dc811cdb2039287f384bb
2339 Author: Neil Roberts <neil@linux.intel.com>
2340 Date: Thu Jan 13 15:36:08 2011 +0000
2342 cogl: Enable the VBOs feature for GLES2
2344 The GLES2 wrapper code has been removed so there are no longer any
2345 problems with enabling VBOs.
2347 clutter/cogl/cogl/driver/gles/cogl-gles.c | 5 -----
2348 1 file changed, 5 deletions(-)
2350 commit 9bb74988d5b7c7df3678185ed4488c9957f00a9d
2351 Author: Neil Roberts <neil@linux.intel.com>
2352 Date: Thu Jan 13 15:35:30 2011 +0000
2354 cogl: Fallback to set_data when mapping a buffer to fill it
2356 In the journal code and when generating the stroke path the vertices
2357 are generated on the fly and stored in a CoglBuffer using
2358 cogl_buffer_map. However cogl_buffer_map is allowed to fail but it
2359 wasn't checking for a NULL return value. In particular on GLES it will
2360 always fail because glMapBuffer is only provided by an extension. This
2361 adds a new pair of internal functions called
2362 _cogl_buffer_{un,}map_for_fill_or_fallback which wrap
2363 cogl_buffer_map. If the map fails then it will instead return a
2364 pointer into a GByteArray attached to the context. When the buffer is
2365 unmapped the array is copied into the buffer using
2366 cogl_buffer_set_data.
2368 clutter/cogl/cogl/cogl-buffer-private.h | 19 ++++++++++--
2369 clutter/cogl/cogl/cogl-buffer.c | 51 +++++++++++++++++++++++++++++++
2370 clutter/cogl/cogl/cogl-context.c | 5 +++
2371 clutter/cogl/cogl/cogl-context.h | 6 ++++
2372 clutter/cogl/cogl/cogl-journal.c | 5 ++-
2373 clutter/cogl/cogl/cogl2-path.c | 7 ++---
2374 6 files changed, 83 insertions(+), 10 deletions(-)
2376 commit 77a486caf2c130341624ab56e588ab116c7e8e26
2377 Author: Neil Roberts <neil@linux.intel.com>
2378 Date: Thu Jan 13 14:12:10 2011 +0000
2380 cogl-context: Don't enable point sprites on GLES2
2382 On GLES2 there's no builtin mechanism to replace texture coordinates
2383 with point sprite coordinates so calling glEnable(GL_POINT_SPRITE)
2384 isn't valid. Instead the point sprite coords are implemented by using
2385 a special builtin varying variable in GLSL.
2387 clutter/cogl/cogl/cogl-context.c | 5 ++++-
2388 1 file changed, 4 insertions(+), 1 deletion(-)
2390 commit 88a085fdd86e3f1f285833f2f4df19af339c339c
2391 Author: Robert Bragg <robert@linux.intel.com>
2392 Date: Tue Jan 11 16:02:06 2011 +0000
2394 pipeline: differentiate texture target and data state
2396 There are several places where we need to compare the texture state of a
2397 pipeline and sometimes we need to take into consideration if the
2398 underlying texture has changed but other times we may only care to know
2399 if the texture target has changed.
2401 For example the fragends typically generate programs that they want to
2402 share with all pipelines with equivalent fragment processing state, and
2403 in this case when comparing pipelines we only care about the texture
2404 targets since changes to the underlying texture won't affect the
2407 Prior to this we had tried to handle this by passing around some special
2408 flags to various functions that evaluate pipeline state to say when we
2409 do/don't care about the texture data, but this wasn't working in all
2410 cases and was more awkward to manage than the new approach.
2412 Now we simply have two state bits:
2413 COGL_PIPELINE_LAYER_STATE_TEXTURE_TARGET and
2414 COGL_PIPELINE_LAYER_STATE_TEXTURE_DATA and CoglPipelineLayer has an
2415 additional target member. Since all the appropriate code takes masks of
2416 these state bits to determine what to evaluate we don't need any extra
2419 clutter/cogl/cogl/cogl-pipeline-fragend-arbfp.c | 9 +-
2420 clutter/cogl/cogl/cogl-pipeline-fragend-fixed.c | 25 +--
2421 clutter/cogl/cogl/cogl-pipeline-fragend-glsl.c | 3 +-
2422 clutter/cogl/cogl/cogl-pipeline-opengl.c | 9 +-
2423 clutter/cogl/cogl/cogl-pipeline-private.h | 28 +--
2424 clutter/cogl/cogl/cogl-pipeline-progend-glsl.c | 3 +-
2425 clutter/cogl/cogl/cogl-pipeline-vertend-glsl.c | 3 +-
2426 clutter/cogl/cogl/cogl-pipeline.c | 273 ++++++++++++++++-------
2427 8 files changed, 223 insertions(+), 130 deletions(-)
2429 commit 8ab68d26a5c2e026bc422da13ab290ba3d432aa4
2430 Author: Robert Bragg <robert@linux.intel.com>
2431 Date: Wed Jan 12 17:11:48 2011 +0000
2433 pipeline: optimize state init if changing property
2435 When notifying that a pipeline property is going to change, then at
2436 times a pipeline will take over being the authority of the corresponding
2437 state group. Some state groups can contain multiple properties and so to
2438 maintain the integrity of all of the properties we have to initialize
2439 all the property values in the new authority. For state groups with only
2440 one property we don't have to initialize anything during the
2441 pre_change_notify() because we can assume the value will be initialized
2442 as part of the change being notified.
2444 This patch optimizes how we handle this initialization of state groups
2445 in a couple of ways; firstly we no longer do anything to initialize
2446 state-groups with only one property, secondly we no longer use
2447 _cogl_pipeline_copy_differences - (we have a new
2448 _cogl_pipeline_init_multi_property_sparse_state() func) so we can avoid
2449 lots calls to handle_automatic_blend_enable() which is sometimes seen
2450 high in sysprof profiles.
2452 clutter/cogl/cogl/cogl-pipeline-private.h | 161 +++++++++++-------
2453 clutter/cogl/cogl/cogl-pipeline.c | 255 ++++++++++++++++++-----------
2454 2 files changed, 266 insertions(+), 150 deletions(-)
2456 commit 5fc3122dadf948c5594478a3eae7deef391c62fe
2457 Author: Neil Roberts <neil@linux.intel.com>
2458 Date: Wed Jan 12 16:59:37 2011 +0000
2460 test-cogl-shader-glsl: Disable the atlas for the hand texture
2462 Atlasing needs to be disabled for the hand texture so that it can work
2463 out the step value needed to fetch a neighbouring pixel in the blur
2464 shader. If the texture ends up in the atlas then the test can't know
2465 the actual size of the texture so it looks wrong.
2467 tests/interactive/test-cogl-shader-glsl.c | 4 +++-
2468 1 file changed, 3 insertions(+), 1 deletion(-)
2470 commit 3c9f72abbfcc7967aa399506adba0bfee4952bbc
2471 Author: Neil Roberts <neil@linux.intel.com>
2472 Date: Wed Jan 12 16:56:52 2011 +0000
2474 cogl-atlas-texture: Don't disable atlas if can't read texture data
2476 Previously atlasing would be disabled if the GL driver does not
2477 support reading back texture data. This meant that atlasing would not
2478 happen on GLES. However we also require that the driver support FBOs
2479 and the texture data is only read back as a fallback if the FBO
2480 fails. Therefore the atlas should be ok on GLES 2 which has FBO
2483 clutter/cogl/cogl/cogl-atlas-texture.c | 8 +++-----
2484 1 file changed, 3 insertions(+), 5 deletions(-)
2486 commit 12ceae548d441f0611542645a62f6c0cbf7a0c5f
2487 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2488 Date: Tue Jan 11 21:34:37 2011 +0000
2490 Post-release version bump to 1.5.13
2493 po/clutter-1.0.pot | 200 +++++++++++++++++++++++++++-------------------------
2494 po/de.po | 198 ++++++++++++++++++++++++++-------------------------
2495 po/fr.po | 199 ++++++++++++++++++++++++++-------------------------
2496 po/id.po | 199 ++++++++++++++++++++++++++-------------------------
2497 po/it.po | 200 +++++++++++++++++++++++++++-------------------------
2498 po/pl.po | 200 +++++++++++++++++++++++++++-------------------------
2499 po/zh_CN.po | 199 ++++++++++++++++++++++++++-------------------------
2500 8 files changed, 730 insertions(+), 667 deletions(-)
2502 commit 09d5c309ca95f68425919fdd1a41a14f41e4053b
2503 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2504 Date: Tue Jan 11 20:29:30 2011 +0000
2508 configure.ac | 23 ++++++++++++-----------
2509 1 file changed, 12 insertions(+), 11 deletions(-)
2511 commit 676df42c6fefd28a6da2c1cefd885d6fa4d59da1
2512 Author: Robert Bragg <robert@linux.intel.com>
2513 Date: Tue Jan 11 14:10:11 2011 +0000
2515 pipeline: don't skip flush if skip_gl_color flag differs
2517 We try and bail out of flushing pipeline state asap if we can see the
2518 pipeline has already been flushed and hasn't changed but we weren't
2519 checking to see if the skip_gl_color flag is the same as when it was
2520 last flush too and so we'd sometimes bail out without updating the
2523 clutter/cogl/cogl/cogl-pipeline-opengl.c | 3 ++-
2524 1 file changed, 2 insertions(+), 1 deletion(-)
2526 commit b922ac605962df6b1cf86a0e710294be114f62c4
2527 Author: Damien Lespiau <damien.lespiau@intel.com>
2528 Date: Tue Jan 11 14:15:46 2011 +0000
2530 test-shader: Fix the edge-detect shader
2532 cogl_text_coord_in in a array to access the texture units. In this case
2533 we want to sample texture unit 0, where the texture is.
2535 tests/interactive/test-shader.c | 2 +-
2536 1 file changed, 1 insertion(+), 1 deletion(-)
2538 commit 38e527a3cf2527a46461eb76c6598071daf95053
2539 Author: Neil Roberts <neil@linux.intel.com>
2540 Date: Mon Jan 10 20:13:41 2011 +0000
2542 cogl-vertex-attribute: Optionally avoid applying the legacy state
2544 When an item is added to the journal the current pipeline immediately
2545 gets the legacy state applied to it and the modified pipeline is
2546 logged instead of the original. However the actual drawing from the
2547 journal is done using the vertex attribute API which was also applying
2548 the legacy state. This meant that the legacy state used would be a
2549 combination of the state set when the journal entry was added as well
2550 as the state set when the journal is flushed. To fix this there is now
2551 an extra CoglDrawFlag to avoid applying the legacy state when setting
2552 up the GL state for the vertex attributes. The journal uses this flag
2555 clutter/cogl/cogl/cogl-journal.c | 3 ++-
2556 clutter/cogl/cogl/cogl-vertex-attribute-private.h | 6 +++++-
2557 clutter/cogl/cogl/cogl-vertex-attribute.c | 6 ++++--
2558 3 files changed, 11 insertions(+), 4 deletions(-)
2560 commit cb49197d0101aa32fa3bb0f8948c1952f5ccae33
2561 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2562 Date: Tue Jan 11 12:38:52 2011 +0000
2564 Update the NEWS file
2567 1 file changed, 3 insertions(+), 1 deletion(-)
2569 commit f4fc7284ebeaedfb60d9903b41177f59a4907b85
2570 Author: Bastian Winkler <buz@netbuz.org>
2571 Date: Mon Jan 3 16:15:17 2011 +0100
2573 script-parser: Also honor properties of type GType
2575 The script parser should also handle GType properties.
2577 http://bugzilla.clutter-project.org/show_bug.cgi?id=2513
2579 clutter/clutter-script-parser.c | 9 +++++++++
2580 1 file changed, 9 insertions(+)
2582 commit 8e3d9c21c643091bd537a2674eeaa86255167cc9
2583 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2584 Date: Tue Jan 11 11:49:11 2011 +0000
2588 NEWS | 46 ++++++++++++++++++++++++++++++++++++++++++++++
2589 1 file changed, 46 insertions(+)
2591 commit f2080f099e2a05b05cd0adb2f204c1917adae0f2
2592 Author: Damien Lespiau <damien.lespiau@intel.com>
2593 Date: Tue Jan 11 10:23:59 2011 +0000
2595 shader: Don't notify properties when finalizing shaders
2597 clutter_shader_finalize() was calling clutter_shader_release() which in
2598 turn notifies "compiled". GObject was complaining that we were trying to
2599 _ref() an object that was in _finalize().
2601 #0 g_log (log_domain=0x3e15c4 "GLib-GObject", log_level=G_LOG_LEVEL_CRITICAL,
2602 format=0x76c938 "%s: assertion `%s' failed") at gmessages.h:97
2603 #1 0x0070777d in g_return_if_fail_warning (
2604 log_domain=0x3e15c4 "GLib-GObject",
2605 pretty_function=0x3e37a4 "g_object_ref",
2606 expression=0x3e2a00 "object->ref_count > 0") at gmessages.c:586
2607 #2 0x003b862b in g_object_ref (_object=0x8567af0) at gobject.c:2615
2608 #3 0x003bd238 in g_object_notify_by_pspec (object=0x8567af0, pspec=0x87ea2f0)
2610 #4 0x00b6500b in clutter_shader_release (shader=0x8567af0)
2611 at ./clutter-shader.c:612
2612 #5 0x00b659b9 in clutter_shader_finalize (object=0x8567af0)
2613 at ./clutter-shader.c:107
2615 Then, let's split release in two, with an _internal() version that does
2616 not notify "compiled" and use it from dispose (as the object is still
2617 usable after a call to release_internal().
2619 http://bugzilla.clutter-project.org/show_bug.cgi?id=2512
2621 clutter/clutter-shader.c | 61 ++++++++++++++++++++++++++++------------------
2622 1 file changed, 37 insertions(+), 24 deletions(-)
2624 commit 3625adb9d8188464b27ddf3e1203214ea2952092
2625 Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
2626 Date: Mon Jan 10 19:13:03 2011 +0100
2628 ClutterListModel: Implement get_n_rows for improved performance
2630 The default implementation in ClutterModel iterates through all
2633 http://bugzilla.clutter-project.org/show_bug.cgi?id=2511
2635 clutter/clutter-list-model.c | 13 ++++++++++
2636 clutter/clutter-model.c | 56 +++++++++++++++++++++---------------------
2637 2 files changed, 41 insertions(+), 28 deletions(-)
2639 commit 850f956d4e2a811eb663575dcd6ae41f09b992de
2640 Author: Adel Gadllah <adel.gadllah@gmail.com>
2641 Date: Wed Jan 5 10:24:26 2011 +0100
2643 ClutterAlignConstraint: Keep pixel aligment
2645 We have to round the values here otherwise we might end up with
2648 http://bugzilla.clutter-project.org/show_bug.cgi?id=2508
2650 clutter/clutter-align-constraint.c | 4 ++++
2651 1 file changed, 4 insertions(+)
2653 commit d648de7d1492b9ae69aac6702a99fccb8f92b165
2654 Author: Neil Roberts <neil@linux.intel.com>
2655 Date: Tue Dec 14 14:44:45 2010 +0000
2657 cogl-journal: Avoid enabling blending if possible
2659 The vertex attribute API assumes that if there is a color array
2660 enabled then we can't determine if the colors are opaque so we have to
2661 enable blending. The journal always uses a color array to avoid
2662 switching color state between rectangles. Since the journal switched
2663 to using vertex attributes this means we effectively always enable
2664 blending from the journal. To fix this there is now a new flag for
2665 _cogl_draw_vertex_attributes to specify that the color array is known
2666 to only contain opaque colors which causes the draw function not to
2667 copy the pipeline. If the pipeline has blending disabled then the
2668 journal passes this flag.
2670 http://bugzilla.clutter-project.org/show_bug.cgi?id=2481
2672 clutter/cogl/cogl/cogl-journal.c | 9 ++++++---
2673 clutter/cogl/cogl/cogl-vertex-attribute-private.h | 9 ++++++++-
2674 clutter/cogl/cogl/cogl-vertex-attribute.c | 10 ++++++----
2675 3 files changed, 20 insertions(+), 8 deletions(-)
2677 commit 159cd6ddc02b4a9a37fe7e0a61a104d3abab91a6
2678 Author: Neil Roberts <neil@linux.intel.com>
2679 Date: Tue Dec 14 14:24:17 2010 +0000
2681 cogl-vertex-attribute: Add flags to _cogl_draw_vertex_attributes_array
2683 There is an internal version of cogl_draw_vertex_attributes_array
2684 which previously just bypassed the framebuffer flushing, journal
2685 flushing and pipeline validation so that it could be used to draw the
2686 journal. This patch generalises the function so that it takes a set of
2687 flags to specify which parts to flush. The public version of the
2688 function now just calls the internal version with the flags set to
2689 0. The '_real' version of the function has now been merged into the
2690 internal version of the function because it was only called in one
2691 place. This simplifies the code somewhat. The common code which
2692 flushed the various state has been moved to a separate function. The
2693 indexed versions of the functions have had a similar treatment.
2695 http://bugzilla.clutter-project.org/show_bug.cgi?id=2481
2697 clutter/cogl/cogl/cogl-journal.c | 17 ++-
2698 clutter/cogl/cogl/cogl-primitives.c | 6 +-
2699 clutter/cogl/cogl/cogl-vertex-attribute-private.h | 13 +-
2700 clutter/cogl/cogl/cogl-vertex-attribute.c | 167 ++++++++-------------
2701 clutter/cogl/cogl/cogl2-path.c | 14 +-
2702 5 files changed, 100 insertions(+), 117 deletions(-)
2704 commit 0201e5fa97549ffb2d20a1180e63e5a7a73fa7e2
2705 Author: Neil Roberts <neil@linux.intel.com>
2706 Date: Fri Dec 17 16:30:23 2010 +0000
2708 cogl: Don't assume that CoglBitmaps are allocated to height*rowstride
2710 Cogl no longer has any code that assumes the buffer in a CoglBitmap is
2711 allocated to the full size of height*rowstride. We should comment that
2712 this is the case so that we remember to keep it that way. This is
2713 important for cogl_texture_new_from_data because the application may
2714 have created the data from a sub-region of a larger image and in that
2715 case it's not safe to read the full rowstride of the last row when the
2716 sub region contains the last row of the larger image.
2718 http://bugzilla.clutter-project.org/show_bug.cgi?id=2491
2720 clutter/cogl/cogl/cogl-bitmap-pixbuf.c | 60 +++++--------------------------
2721 clutter/cogl/cogl/cogl-bitmap-private.h | 8 +++++
2722 2 files changed, 17 insertions(+), 51 deletions(-)
2724 commit e1cbef23f5118c748eb38c16ebb00de3f51686b7
2725 Author: Neil Roberts <neil@linux.intel.com>
2726 Date: Fri Dec 17 16:09:26 2010 +0000
2728 cogl-texture-driver-gles: Don't copy the bitmap if alignment matches
2730 When uploading data for GLES we need to deal with cases where the
2731 rowstride is too large to be described only by GL_UNPACK_ALIGNMENT
2732 because there is no GL_UNPACK_ROW_LENGTH. Previously for the
2733 sub-region uploading code it would always copy the bitmap and for the
2734 code to upload the whole image it would copy the bitmap unless the
2735 rowstride == bpp*width. Neither paths took into account that we don't
2736 need to copy if the rowstride is just an alignment of bpp*width. This
2737 moves the bitmap copying code to a separate function that is used by
2738 both upload methods. It only copies the bitmap if the rowstride is not
2739 just an alignment of bpp*width.
2741 http://bugzilla.clutter-project.org/show_bug.cgi?id=2491
2743 .../cogl/driver/gles/cogl-texture-driver-gles.c | 103 +++++++++++---------
2744 1 file changed, 55 insertions(+), 48 deletions(-)
2746 commit b3058c097dfb834018ab3598d002a7be595e78ff
2747 Author: Neil Roberts <neil@linux.intel.com>
2748 Date: Fri Dec 17 16:06:10 2010 +0000
2750 cogl-util: Add an internal wrapper for the ffs function
2752 The ffs function is defined in C99 so if we want to use it in Cogl we
2753 need to provide a fallback for MSVC. This adds a configure check for
2754 the function and then a fallback using a while loop if it is not
2757 http://bugzilla.clutter-project.org/show_bug.cgi?id=2491
2759 clutter/cogl/cogl/cogl-util.c | 21 +++++++++++++++++++++
2760 clutter/cogl/cogl/cogl-util.h | 8 ++++++++
2761 configure.ac | 4 ++++
2762 3 files changed, 33 insertions(+)
2764 commit 91c16023066b3d71ed569e0dcb97bdd0fe8b4667
2765 Author: Neil Roberts <neil@linux.intel.com>
2766 Date: Fri Dec 17 14:52:25 2010 +0000
2768 cogl-texture: Don't use the source rowstride if we have to copy bitmap
2770 If we have to copy the bitmap to do the premultiplication then we were
2771 previously using the rowstride of the source image as the rowstride
2772 for the new image. This is wasteful if the source image is a subregion
2773 of a larger image which would make it use a large rowstride. If we
2774 have to copy the data anyway we might as well compact it to the
2775 smallest rowstride. This also prevents the copy from reading past the
2776 end of the last row of pixels.
2778 An internal function called _cogl_bitmap_copy has been added to do the
2779 copy. It creates a new bitmap with the smallest possible rowstride
2780 rounded up the nearest multiple of 4 bytes. There may be other places
2781 in Cogl that are currently assuming we can read height*rowstride of
2782 the source buffer so they may want to take advantage of this function
2785 http://bugzilla.clutter-project.org/show_bug.cgi?id=2491
2787 clutter/cogl/cogl/cogl-bitmap-private.h | 4 ++++
2788 clutter/cogl/cogl/cogl-bitmap.c | 29 +++++++++++++++++++++++++++++
2789 clutter/cogl/cogl/cogl-texture.c | 22 +---------------------
2790 3 files changed, 34 insertions(+), 21 deletions(-)
2792 commit c6fbc8c567ebe7eb538e53c0a5964db4ff6aebf2
2793 Author: Neil Roberts <neil@linux.intel.com>
2794 Date: Wed Dec 22 01:45:09 2010 +0000
2796 cogl-vertex-attribute: Fix the name of the cogl_normal_in attribute
2798 The builtin vertex attribute for the normals was incorrectly checked
2799 for as 'cogl_normal' however it is defined as cogl_normal_in in the
2800 shader boilerplate and for the name generated by CoglVertexBuffer.
2802 http://bugzilla.clutter-project.org/show_bug.cgi?id=2499
2804 clutter/cogl/cogl/cogl-vertex-attribute.c | 2 +-
2805 1 file changed, 1 insertion(+), 1 deletion(-)
2807 commit 2c36b81996565f6128a55d5c12fee75a53c0a027
2808 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2809 Date: Mon Jan 10 14:03:35 2011 +0000
2811 container: Do not use Actor as prerequisite
2813 The prerequisite for ClutterContainer in 1.x is GObject, and we cannot
2814 restrict the prerequisites without an ABI break.
2816 clutter/clutter-container.c | 2 +-
2817 1 file changed, 1 insertion(+), 1 deletion(-)
2819 commit 6bb81a542fd2876c472c0287d368b1ba404324bf
2820 Author: nobled <nobled@dreamwidth.org>
2821 Date: Tue Jan 4 13:56:05 2011 +0000
2823 egl: Fix build for --with-flavour=opengl-egl-xlib
2825 Make sure the EGL backend doesn't forget to include desktop OpenGL headers.
2827 clutter/egl/clutter-egl-headers.h | 20 +++++++++++++-------
2828 1 file changed, 13 insertions(+), 7 deletions(-)
2830 commit 530bc2aa70ca83c56f46342d337ce873614353a4
2831 Author: nobled <nobled@dreamwidth.org>
2832 Date: Tue Jan 4 13:59:48 2011 +0000
2834 egl: Don't use obsolete API
2836 Fixes a GCC "implicit declaration of function" warning when compiling.
2838 clutter/egl/clutter-stage-egl.c | 4 ++--
2839 1 file changed, 2 insertions(+), 2 deletions(-)
2841 commit 8c23766da809701bc171fcb9b3650475b1d03a73
2842 Author: Kristian Høgsberg <krh@bitplanet.net>
2843 Date: Thu Jan 6 07:57:26 2011 -0500
2845 x11: Create the list of all devices correctly
2847 Linked lists are tricky.
2849 clutter/x11/clutter-device-manager-x11.c | 4 ++--
2850 1 file changed, 2 insertions(+), 2 deletions(-)
2852 commit bf0dd2cbcc83d91ef46301aa18bd5f0158b88d22
2853 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2854 Date: Thu Dec 30 12:49:41 2010 +0000
2856 test-text-field: Grab key focus on the first entry
2858 So that you can start typing right away.
2860 tests/interactive/test-text-field.c | 6 ++++--
2861 1 file changed, 4 insertions(+), 2 deletions(-)
2863 commit 2fe20ff3c505d3c1249b03ba7eaa1515f13a3c0a
2864 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2865 Date: Tue Dec 28 22:21:09 2010 +0000
2867 osx: Implement the set_accept_focus() vfunc
2869 Like the x11 and win32 backends, the quartz backend should allow setting
2870 the key focus when showing the stage window.
2872 clutter/osx/clutter-stage-osx.c | 29 +++++++++++++++++++++++------
2873 clutter/osx/clutter-stage-osx.h | 2 ++
2874 2 files changed, 25 insertions(+), 6 deletions(-)
2876 commit 9d6a33d0c835e8a91e42303886123e34e60576f5
2877 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2878 Date: Tue Dec 28 18:04:00 2010 +0000
2880 win32: Implement the set_accept_focus() vfunc
2882 Implement the ClutterStageWindow::set_accept_focus() virtual function in
2885 If accept_focus is set to be TRUE then we call SetforegroundWindow()
2886 after calling ShowWindow(). This is similar to what GDK does when
2887 dealing with the same situation.
2889 http://bugzilla.clutter-project.org/show_bug.cgi?id=2500
2891 clutter/win32/clutter-stage-win32.c | 21 +++++++++++++++++++--
2892 clutter/win32/clutter-stage-win32.h | 8 +++++---
2893 2 files changed, 24 insertions(+), 5 deletions(-)
2895 commit 497f39e2f40e816c1e7ceaa3bf2fb4e609436b35
2896 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2897 Date: Tue Dec 28 17:38:39 2010 +0000
2899 x11: Implement the set_accept_focus() vfunc
2901 Actually set the InputHint flag and set the input field of the WM_SPEC
2902 hints depending on the value of the accept-focus bitfield.
2904 http://bugzilla.clutter-project.org/show_bug.cgi?id=2500
2906 clutter/x11/clutter-stage-x11.c | 20 ++++++++++++++++----
2907 clutter/x11/clutter-stage-x11.h | 1 +
2908 2 files changed, 17 insertions(+), 4 deletions(-)
2910 commit bbede9fef579000a48309bec017303bd8c46ccae
2911 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2912 Date: Tue Dec 28 17:37:18 2010 +0000
2914 stage: Add :accept-focus property and accessors
2916 Allow the developer to set whether the Stage should receive key focus
2917 when mapped. The implementation is fully backend-dependent. The default
2918 value is TRUE because that's what we've been expecting so far.
2920 http://bugzilla.clutter-project.org/show_bug.cgi?id=2500
2922 clutter/clutter-stage.c | 67 +++++++++++++++++++++++++++-
2923 clutter/clutter-stage.h | 4 ++
2924 doc/reference/clutter/clutter-sections.txt | 2 +
2925 3 files changed, 72 insertions(+), 1 deletion(-)
2927 commit e1cd6f49b2afcb1738ee2e95f03aa77b8c696e7b
2928 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2929 Date: Tue Dec 28 17:36:27 2010 +0000
2931 stage-window: Add set_accept_focus() vfunc
2933 Allow Stage implementations to set whether or not they want to accept
2934 key focus when being shown.
2936 http://bugzilla.clutter-project.org/show_bug.cgi?id=2500
2938 clutter/clutter-stage-window.c | 12 ++++++++++++
2939 clutter/clutter-stage-window.h | 6 ++++++
2940 2 files changed, 18 insertions(+)
2942 commit 601b958ab1b162176c7dde318a96f279be995e64
2943 Author: Johan Bilien <jobi@via.ecp.fr>
2944 Date: Wed Dec 29 16:49:13 2010 -0500
2946 Fixed a crash when destroying the actor of a LEAVE event
2948 When processing a LEAVE event, one might destroy the actor, so the weak
2949 reference device->actor would be NULL.
2951 http://bugzilla.clutter-project.org/show_bug.cgi?id=2502
2953 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2955 clutter/clutter-input-device.c | 14 +++++++++-----
2956 1 file changed, 9 insertions(+), 5 deletions(-)
2958 commit 2911d3db535db98f7c0352e3ea40f2a7e65d82ea
2959 Author: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
2960 Date: Thu Dec 30 08:16:10 2010 +0700
2962 autogen.sh: make autoreconf use automake-1.11 when available
2964 This patch exports $ACLOCAL and $AUTOMAKE, otherwise autoreconf
2965 may use an older version instead.
2967 Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
2969 http://bugzilla.clutter-project.org/show_bug.cgi?id=2504
2972 1 file changed, 1 insertion(+)
2974 commit c95cc8d477ab26fd6231becdd062a81fa7ee6115
2975 Author: Johan Bilien <jobi@via.ecp.fr>
2976 Date: Wed Dec 29 16:57:02 2010 -0500
2978 Only reset the relayout_pending flag when actually doing a relayout
2980 If an actor is (unfortunately) queuing a relayout in relayout, you would
2981 end up with (ClutterActor*)stage->needs_allocation set to TRUE and
2982 stage->relayout_pending set to TRUE. But if then in the same cycle, an
2983 actor calls clutter_actor_get_allocation_box, that will trigger another
2984 (recursive) _clutter_stage_maybe_relayout, which will wrongly reset the
2985 relayout pending to FALSE, while not actually performing a new relayout
2986 because of the re-entrancy protection.
2988 http://bugzilla.clutter-project.org/show_bug.cgi?id=2503
2990 clutter/clutter-stage.c | 3 ++-
2991 1 file changed, 2 insertions(+), 1 deletion(-)
2993 commit b6558c5a1848b306c26813bc5f5015eb95c541d1
2994 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2995 Date: Wed Dec 22 09:42:41 2010 +0000
2997 docs: Fixes for the Cogl API reference
2999 clutter/cogl/cogl/cogl-bitmap.h | 4 +--
3000 clutter/cogl/cogl/cogl-buffer.h | 8 +++---
3001 clutter/cogl/cogl/cogl-index-array.h | 2 +-
3002 clutter/cogl/cogl/cogl-material-compat.h | 11 +++++----
3003 clutter/cogl/cogl/cogl-object.h | 19 ++++++++-------
3004 clutter/cogl/cogl/cogl-path.h | 8 +++---
3005 clutter/cogl/cogl/cogl-pipeline.h | 2 +-
3006 clutter/cogl/cogl/cogl-types.h | 4 +--
3007 clutter/cogl/cogl/cogl-vertex-array.h | 2 +-
3008 clutter/cogl/cogl/cogl-vertex-buffer.h | 2 +-
3009 doc/reference/cogl/cogl-sections.txt | 39 +++++++++++++++++++++++++++---
3010 11 files changed, 67 insertions(+), 34 deletions(-)
3012 commit 533880a1a5140d507db0f1a11d211c74ee0260f6
3013 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3014 Date: Tue Dec 21 12:03:38 2010 +0000
3016 build: Ignore private headers when building the Cogl reference
3018 Otherwise gtk-doc will try to look up private symbols.
3020 doc/reference/cogl/Makefile.am | 22 +++++++++++++++++-----
3021 1 file changed, 17 insertions(+), 5 deletions(-)
3023 commit 91cc8edba12c0e43ba69b055e5b46394b9d51917
3024 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3025 Date: Tue Dec 21 10:51:39 2010 +0000
3027 test-text-field: Do not expand the labels
3029 tests/interactive/test-text-field.c | 6 ++----
3030 1 file changed, 2 insertions(+), 4 deletions(-)
3032 commit 605e8d6fb50624b44b45f012b24cea7c302f78ea
3033 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3034 Date: Tue Dec 21 10:50:24 2010 +0000
3036 text: Only paint cursor if we have key focus
3038 If a Text actor does not have key focus then there's no point in showing
3041 clutter/clutter-text.c | 26 +++++++++++++++++++++++++-
3042 1 file changed, 25 insertions(+), 1 deletion(-)
3044 commit ec5e910cd376050bdd184cf970fa565e10764525
3045 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3046 Date: Mon Dec 20 17:59:35 2010 +0000
3048 test-text-field: Clean up
3050 Use a Table layout manager, and clean up a bit this test case.
3052 tests/interactive/test-text-field.c | 96 ++++++++++++++++++++---------------
3053 1 file changed, 56 insertions(+), 40 deletions(-)
3055 commit 21a12b966dbf72d2e83265399ac8d380b281df7f
3056 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3057 Date: Mon Dec 20 12:41:07 2010 +0000
3059 interactive: Remove test-bind
3061 The BindConstraint is already exercised in the test-constraints and in
3062 other interactive tests.
3064 tests/interactive/Makefile.am | 1 -
3065 tests/interactive/test-bind.c | 112 -----------------------------------------
3066 2 files changed, 113 deletions(-)
3068 commit b9f7ef11100f250767fd726b0ae9727a7e9a3f89
3069 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3070 Date: Sat Dec 18 21:33:37 2010 +0000
3072 build: Remove Cogl2 reference from the build scripts
3074 Keeping the Cogl 2.0 API reference in the build is getting far more
3075 troublesome than it's worth.
3077 It's breaking distcheck far too often, and it makes it impossible to
3078 rebuild the build environment from tarballs - which is something that
3079 some distributions (namely: the Debian-based ones, but not limited to
3080 them) do in order to change build scripts using their own rules.
3082 configure.ac | 16 ----------------
3083 doc/reference/Makefile.am | 6 ------
3084 2 files changed, 22 deletions(-)
3086 commit 491bbc226ee52546507406714030a9647dde4280
3087 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3088 Date: Sat Dec 18 13:24:54 2010 +0000
3090 constraints: Remove signal handlers on dispose
3092 Same as commit 2fa8b3a3abc7bb8e96a85d927edc0594f44f55df but done for
3093 AlignConstraint and SnapConstraint as well.
3095 clutter/clutter-align-constraint.c | 24 +++++++++++++++++++++---
3096 clutter/clutter-bind-constraint.c | 4 ++--
3097 clutter/clutter-snap-constraint.c | 29 +++++++++++++++++++++++------
3098 3 files changed, 46 insertions(+), 11 deletions(-)
3100 commit 2fa8b3a3abc7bb8e96a85d927edc0594f44f55df
3101 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3102 Date: Sat Dec 18 13:16:23 2010 +0000
3104 bind-constraint: Remove handlers in dispose
3106 We should remove the signal handlers on the source actor when a
3107 BindConstraint is disposed, to avoid dangling pointers and wrong
3110 http://bugzilla.clutter-project.org/show_bug.cgi?id=2493
3112 clutter/clutter-bind-constraint.c | 20 ++++++++++++++++++++
3113 1 file changed, 20 insertions(+)
3115 commit 45c884307e5946e316c839c03d94c5f5c92147d8
3116 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3117 Date: Fri Dec 17 16:04:25 2010 +0000
3119 Post-release version bump to 1.5.11
3122 po/clutter-1.0.pot | 104 ++++++++++++++++++++++++++--------------------------
3123 po/de.po | 102 +++++++++++++++++++++++++--------------------------
3124 po/fr.po | 102 +++++++++++++++++++++++++--------------------------
3125 po/id.po | 102 +++++++++++++++++++++++++--------------------------
3126 po/it.po | 102 +++++++++++++++++++++++++--------------------------
3127 po/pl.po | 102 +++++++++++++++++++++++++--------------------------
3128 po/zh_CN.po | 102 +++++++++++++++++++++++++--------------------------
3129 8 files changed, 359 insertions(+), 359 deletions(-)
3131 commit 339a6805521c04fd9e0d43689b6f380a45404078
3132 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3133 Date: Fri Dec 17 14:40:17 2010 +0000
3135 Release Clutter 1.5.10 (snapshot)
3137 NEWS | 11 +++++++++--
3139 2 files changed, 10 insertions(+), 3 deletions(-)
3141 commit 987a50be91f67a64cca32e7403b98c69b5aedb4c
3142 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3143 Date: Fri Dec 17 15:43:24 2010 +0000
3145 build: Fix release-check for cogl2 reference
3147 configure.ac | 10 ++++++++--
3148 doc/reference/Makefile.am | 7 ++-----
3149 2 files changed, 10 insertions(+), 7 deletions(-)
3151 commit cab4a5b4846d2e6e1800ac545020bce930a9132e
3152 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3153 Date: Fri Dec 17 14:41:33 2010 +0000
3155 build: Remove stringify.sh from Makefile.am
3157 build/Makefile.am | 2 +-
3158 1 file changed, 1 insertion(+), 1 deletion(-)
3160 commit 894c0527dffc4d0c01ef87880d33b02fcfab923e
3161 Author: Elliot Smith <elliot.smith@intel.com>
3162 Date: Wed Dec 15 13:31:12 2010 +0000
3164 cookbook: Proofing for "box layout" recipe
3166 General improvements to readability, formatting, fixing
3169 doc/cookbook/layouts.xml | 67 +++++++++++++++++++++++++---------------------
3170 1 file changed, 36 insertions(+), 31 deletions(-)
3172 commit accdd92110baffe886ab9bcc9dc263058d159ecc
3173 Author: Elliot Smith <elliot.smith@intel.com>
3174 Date: Wed Dec 15 13:13:28 2010 +0000
3176 cookbook: Add examples and more text for "box layout" recipe
3178 Added 3 examples for the box layout recipe:
3179 1) Simple box layout demonstrating how to set actor properties
3180 2) Trivial menu implementation using box layout
3181 3) Demonstration app which enables tweaking and testing
3182 of layout property interactions
3184 Also inlined example 1 in the solution section and added
3185 more explanatory text in the discussion.
3187 doc/cookbook/examples/Makefile.am | 6 +
3188 doc/cookbook/examples/layouts-box-menu.c | 151 +++++++
3189 .../examples/layouts-box-property-effects.c | 465 ++++++++++++++++++++
3190 doc/cookbook/examples/layouts-box.c | 95 ++++
3191 doc/cookbook/images/layouts-box.png | Bin 0 -> 1515 bytes
3192 doc/cookbook/layouts.xml | 134 +++++-
3193 6 files changed, 841 insertions(+), 10 deletions(-)
3195 commit 77aacd185dcdd1673e1c3fb058d93a5803febe6a
3196 Author: Elliot Smith <elliot.smith@intel.com>
3197 Date: Tue Dec 14 18:08:28 2010 +0000
3199 cookbook: Add initial skeleton for box layout recipe
3201 Created recipe and first draft content for recipe
3202 about ClutterBoxLayout.
3204 doc/cookbook/layouts.xml | 264 ++++++++++++++++++++++++++++++++++++++++++++++
3205 1 file changed, 264 insertions(+)
3207 commit 6c244c05497237ee2640d3d4cf7cd3d00baf469f
3208 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3209 Date: Fri Dec 17 13:53:28 2010 +0000
3211 geometry: Avoid sign issues when interpolating
3213 Width and height in ClutterGeometry are unsigned, and this might lead to
3214 overflow and wrap around issues.
3216 clutter/clutter-actor.c | 8 ++++++--
3217 1 file changed, 6 insertions(+), 2 deletions(-)
3219 commit c3313726f0c6911eee8709a15fe51ec0421d7422
3220 Author: Alexandre Quessy <alexandre@quessy.net>
3221 Date: Tue Dec 14 17:45:45 2010 -0500
3223 Fixed a typo in a doc string
3225 http://bugzilla.clutter-project.org/show_bug.cgi?id=2485
3227 clutter/clutter-deform-effect.c | 2 +-
3228 1 file changed, 1 insertion(+), 1 deletion(-)
3230 commit 140f818fb14181135891b06bde54649564f0bc07
3231 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3232 Date: Fri Dec 17 12:07:06 2010 +0000
3237 1 file changed, 5 insertions(+)
3239 commit c444447cd3712153127f4fdd2ac03262ec7689d2
3240 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3241 Date: Fri Dec 17 12:04:11 2010 +0000
3243 timeline: Rename the reverse property to auto-reverse
3245 Other frameworks expose the same functionality as "auto-reverse",
3246 probably to match the cassette tape player. It actually makes sense
3247 for Clutter to follow suit.
3249 clutter/clutter-timeline.c | 57 ++++++++++----------
3250 clutter/clutter-timeline.h | 4 +-
3251 doc/cookbook/animations.xml | 4 +-
3252 .../examples/animations-looping-implicit.c | 2 +-
3253 doc/reference/clutter/clutter-sections.txt | 4 +-
3254 .../clutter/migrating-ClutterBehaviour.xml | 2 +-
3255 tests/interactive/test-behave.c | 2 +-
3256 tests/interactive/test-layout.c | 2 +-
3257 tests/interactive/test-threads.c | 1 +
3258 9 files changed, 39 insertions(+), 39 deletions(-)
3260 commit 397e0ddb166097ae9a281c70bbff49196e513c5b
3261 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3262 Date: Thu Dec 16 15:30:53 2010 +0000
3264 interactive: Rename test-rotate
3266 The rotation test is now really testing the shader-based effects we ship
3267 with Clutter. The name should be changed to reflect that.
3269 tests/interactive/Makefile.am | 2 +-
3270 tests/interactive/test-rotate.c | 82 -------------------------------
3271 tests/interactive/test-shader-effects.c | 82 +++++++++++++++++++++++++++++++
3272 3 files changed, 83 insertions(+), 83 deletions(-)
3274 commit c2365c63cfd2d9e0c6116a39c7a50defc193c482
3275 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3276 Date: Thu Dec 16 15:25:29 2010 +0000
3278 interactive: Remove test-viewport
3280 The test-viewport interactive test is exercising the clip code - a job
3281 better done by the conformance test suite and by the test-clip
3284 tests/interactive/Makefile.am | 1 -
3285 tests/interactive/test-viewport.c | 69 -------------------------------------
3286 2 files changed, 70 deletions(-)
3288 commit 1515a9f98971c813d50a4c0004eb49c597fc3144
3289 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3290 Date: Thu Dec 16 15:10:27 2010 +0000
3292 interactive: Remove test-project
3294 The test-project test case was an old test that was barely working after
3295 landing the size allocation API in Clutter 0.8. It has never been fixed,
3296 and it's been of relative use ever since.
3298 tests/interactive/Makefile.am | 1 -
3299 tests/interactive/test-project.c | 229 --------------------------------------
3300 2 files changed, 230 deletions(-)
3302 commit 8ae47eb79c0c67faaf8c594aa7e8e2560abc358e
3303 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3304 Date: Thu Dec 16 15:08:11 2010 +0000
3306 interactive: Remove test-offscreen
3308 The test-offscreen interactive test was a dummy test for the
3309 ClutterStage:offscreen property, which has been deprecated and
3310 not implemented since Clutter 1.0, and never really worked except
3311 briefly in Clutter 0.2 or something.
3313 tests/interactive/Makefile.am | 1 -
3314 tests/interactive/test-offscreen.c | 32 --------------------------------
3315 2 files changed, 33 deletions(-)
3317 commit faaff037306be31b69fa255b8d3dae91b341256b
3318 Author: Neil Roberts <neil@linux.intel.com>
3319 Date: Mon Dec 13 17:21:58 2010 +0000
3321 clutter-stage: Don't always set the projection and viewport matrix
3323 The stage has a dirty flag to record whenever the viewport and
3324 projection matrices need to be flushed. However after flushing these
3325 the flags were never cleared so it would always redundantly update the
3328 http://bugzilla.clutter-project.org/show_bug.cgi?id=2480
3330 clutter/clutter-stage.c | 8 +++++++-
3331 1 file changed, 7 insertions(+), 1 deletion(-)
3333 commit f5954339427f19e3c7332ec10d8cfd43c073d724
3334 Author: Neil Roberts <neil@linux.intel.com>
3335 Date: Tue Dec 14 13:02:47 2010 +0000
3337 cogl-pipeline-fragend-arbfp: Generate ARBfp if user vertex shader
3339 The ARBfp fragend was bypassing generating a shader if the pipeline
3340 contains a user program. However it shouldn't do this if the pipeline
3341 only contains a vertex shader. This was breaking
3342 test-cogl-just-vertex-shader.
3344 clutter/cogl/cogl/cogl-pipeline-fragend-arbfp.c | 17 +++++++++++++----
3345 1 file changed, 13 insertions(+), 4 deletions(-)
3347 commit 52442414d953e90930d3928e81216e0f3ac194fe
3348 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3349 Date: Fri Dec 10 17:46:58 2010 +0000
3351 cally: Allow memory management for actions
3353 Adding an action should allow passing a user data pointer, and have a
3354 notification action that gets called when removing the action. This
3355 allows introspection and language bindings to attach custom data to the
3356 action - for instance, the real callable object that should be invoked.
3358 http://bugzilla.clutter-project.org/show_bug.cgi?id=2479
3360 clutter/cally/cally-actor.c | 94 +++++++++++++++++++++++++++++--------------
3361 clutter/cally/cally-actor.h | 47 ++++++++++++++++------
3362 2 files changed, 97 insertions(+), 44 deletions(-)
3364 commit def14e80cbb898c6c198a5caf3a2a3ad15d5e8e1
3365 Author: Mike Owens <mike@filespanker.com>
3366 Date: Thu Dec 9 09:39:23 2010 -0500
3368 ClutterText: Only grab keyboard focus if keyboard-interactive.
3370 Previously, ClutterText took keyboard focus on mouse-down, regardless
3371 if it were editable or selectable. Now it checks these properties,
3372 and behaves like other actors if it can't do anything useful with
3375 http://bugzilla.clutter-project.org/show_bug.cgi?id=2462
3377 clutter/clutter-text.c | 5 +++--
3378 1 file changed, 3 insertions(+), 2 deletions(-)
3380 commit 7b985f034fae95862f0c080a6311ccf0ac4f3966
3381 Author: Neil Roberts <neil@linux.intel.com>
3382 Date: Sat Nov 27 13:15:02 2010 +0000
3384 Allow multiple CoglAtlases for textures
3386 Previously Cogl would only ever use one atlas for textures and if it
3387 reached the maximum texture size then all other new textures would get
3388 their own GL texture. This patch makes it so that we create as many
3389 atlases as needed. This should avoid breaking up some batches and it
3390 will be particularly good if we switch to always using multi-texturing
3391 with a default shader that selects between multiple atlases using a
3394 Whenever a new atlas is created it is stored in a GSList on the
3395 context. A weak weference is taken on the atlas using
3396 cogl_object_set_user_data so that it can be removed from the list when
3397 the atlas is destroyed. The atlas textures themselves take a reference
3398 to the atlas and this is the only thing that keeps the atlas
3399 alive. This means that once the atlas becomes empty it will
3400 automatically be destroyed.
3402 All of the COGL_NOTEs pertaining to atlases are now prefixed with the
3403 atlas pointer to make it clearer which atlas is changing.
3405 clutter/cogl/cogl/cogl-atlas-texture-private.h | 10 +--
3406 clutter/cogl/cogl/cogl-atlas-texture.c | 105 ++++++++++++++++--------
3407 clutter/cogl/cogl/cogl-atlas.c | 19 +++--
3408 clutter/cogl/cogl/cogl-atlas.h | 3 -
3409 clutter/cogl/cogl/cogl-context.c | 5 +-
3410 clutter/cogl/cogl/cogl-context.h | 2 +-
3411 clutter/cogl/pango/cogl-pango-glyph-cache.c | 1 +
3412 7 files changed, 93 insertions(+), 52 deletions(-)
3414 commit d01a70762395d7ff353df1fb77397b4dfab284cf
3415 Author: Neil Roberts <neil@linux.intel.com>
3416 Date: Sat Nov 27 13:06:38 2010 +0000
3418 cogl-atlas: Convert to be a CoglObject subclass
3420 To implement multiple atlases it will be useful to have ref-counting
3421 on the CoglAtlas so it makes sense to convert it to be a CoglObject.
3423 clutter/cogl/cogl/cogl-atlas.c | 10 ++++++++--
3424 clutter/cogl/cogl/cogl-atlas.h | 8 +++++---
3425 clutter/cogl/cogl/cogl-context.c | 2 +-
3426 clutter/cogl/pango/cogl-pango-glyph-cache.c | 4 ++--
3427 4 files changed, 16 insertions(+), 8 deletions(-)
3429 commit d03c3a646ae4d26358ad5a48fe320845f7f099ed
3430 Author: Neil Roberts <neil@linux.intel.com>
3431 Date: Tue Dec 7 13:58:46 2010 +0000
3433 test-cogl-just-vertex-shader: Update to use the portable cogl_* names
3435 The vertex shader in this test now uses the cogl_* names for the GL
3436 builtin so that it will work on GLES2 as well.
3438 tests/conform/test-cogl-just-vertex-shader.c | 6 ++++--
3439 1 file changed, 4 insertions(+), 2 deletions(-)
3441 commit d1ddca4eeecf26df9c5a707ef5f88175d90feb34
3442 Author: Neil Roberts <neil@linux.intel.com>
3443 Date: Tue Dec 7 13:44:45 2010 +0000
3445 cogl-shader-boilerplate: Add the 3D texture extension on GLES2
3447 To use the 3D texture extension on GLES2 it has to be enabled with the
3448 following line in GLSL:
3450 #extension GL_OES_texture_3D : enable
3452 clutter/cogl/cogl/cogl-shader.c | 14 ++++++++++++--
3453 1 file changed, 12 insertions(+), 2 deletions(-)
3455 commit e0a02b2b5bc4ef88e8829d271380148a966e8494
3456 Author: Neil Roberts <neil@linux.intel.com>
3457 Date: Tue Dec 7 12:49:00 2010 +0000
3459 test-cogl-multitexture: Don't test the alpha component
3461 On EGL we don't request a context with any alpha bits so testing alpha
3462 component of cogl_read_pixels isn't reliable.
3464 tests/conform/test-cogl-multitexture.c | 3 +--
3465 1 file changed, 1 insertion(+), 2 deletions(-)
3467 commit afe39296180e3839c42c5327f55ff8a773ba7000
3468 Author: Neil Roberts <neil@linux.intel.com>
3469 Date: Tue Dec 7 11:39:37 2010 +0000
3471 test-cogl-materials: Use GL_MAX_VERTEX_ATTRIBS on GLES2
3473 When determining the maximum number of layers we also need to take
3474 into account GL_MAX_VERTEX_ATTRIBS on GLES2. Cogl needs one vertex
3475 attrib for each texture unit plus two for the position and color.
3477 tests/conform/test-cogl-materials.c | 22 +++++++++++++++-------
3478 1 file changed, 15 insertions(+), 7 deletions(-)
3480 commit bdeb555ae1e440de0453cd8fd4a024ba8381016f
3481 Author: Neil Roberts <neil@linux.intel.com>
3482 Date: Tue Dec 7 10:38:51 2010 +0000
3484 cogl2-path: Don't flush the enable flags
3486 All of the drawing needed in _cogl_add_path_to_stencil_buffer is done
3487 with the vertex attribute API so there should be no need to flush the
3488 enable flags to enable the vertex array. This was causing problems on
3489 GLES2 where the vertex array isn't available.
3491 clutter/cogl/cogl/cogl2-path.c | 5 -----
3492 1 file changed, 5 deletions(-)
3494 commit 7dc4b3c8947de12ca111edba52a9387287f97a82
3495 Author: Neil Roberts <neil@linux.intel.com>
3496 Date: Sun Dec 5 18:02:05 2010 +0000
3498 Remove the GLES2 wrapper
3500 The GLES2 wrapper is no longer needed because the shader generation is
3501 done within the GLSL fragend and vertend and any functions that are
3502 different for GLES2 are now guarded by #ifdefs.
3504 build/stringify.sh | 94 --
3505 clutter/cogl/cogl/Makefile.am | 20 -
3506 clutter/cogl/cogl/cogl-atlas.c | 6 +-
3507 clutter/cogl/cogl/cogl-buffer.c | 4 -
3508 clutter/cogl/cogl/cogl-clip-stack.c | 13 +-
3509 clutter/cogl/cogl/cogl-context.c | 6 +-
3510 clutter/cogl/cogl/cogl-framebuffer.c | 6 +-
3511 clutter/cogl/cogl/cogl-pipeline-fragend-arbfp.c | 4 -
3512 clutter/cogl/cogl/cogl-pipeline-fragend-glsl.c | 4 -
3513 clutter/cogl/cogl/cogl-pipeline-opengl.c | 16 +-
3514 clutter/cogl/cogl/cogl-pipeline-progend-glsl.c | 34 +-
3515 clutter/cogl/cogl/cogl-pipeline-vertend-glsl.c | 24 +
3516 clutter/cogl/cogl/cogl-pixel-array.c | 4 -
3517 clutter/cogl/cogl/cogl-texture-2d.c | 2 +
3518 clutter/cogl/cogl/cogl-texture-3d.c | 2 +
3519 clutter/cogl/cogl/cogl-vertex-attribute.c | 1 -
3520 clutter/cogl/cogl/cogl.c | 16 +-
3521 .../cogl/driver/gles/cogl-context-driver-gles.c | 6 -
3522 .../cogl/driver/gles/cogl-context-driver-gles.h | 4 -
3523 .../cogl/driver/gles/cogl-fixed-vertex-shader.glsl | 73 --
3524 clutter/cogl/cogl/driver/gles/cogl-gles.c | 4 +
3525 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 993 --------------------
3526 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.h | 388 --------
3527 .../cogl/driver/gles/cogl-texture-driver-gles.c | 6 +-
3528 24 files changed, 81 insertions(+), 1649 deletions(-)
3530 commit 1999bee5d2d5d14a97eacb84edb6ce364202b082
3531 Author: Neil Roberts <neil@linux.intel.com>
3532 Date: Mon Dec 6 21:29:56 2010 +0000
3534 cogl-pipeline: Use enums for the layer combine values
3536 Once the GLES2 wrapper is removed then we won't have the GLenums
3537 needed for setting up the layer combine state. This adds Cogl enums
3538 instead which have the same values as the corresponding GLenums. The
3541 CoglPipelineCombineFunc
3542 CoglPipelineCombineSource
3544 CoglPipelineCombineOp
3546 clutter/cogl/cogl/cogl-pipeline-fragend-arbfp.c | 41 ++++-----
3547 clutter/cogl/cogl/cogl-pipeline-fragend-glsl.c | 48 +++++-----
3548 clutter/cogl/cogl/cogl-pipeline-private.h | 46 ++++++++--
3549 clutter/cogl/cogl/cogl-pipeline.c | 107 +++++++++++++----------
3550 4 files changed, 148 insertions(+), 94 deletions(-)
3552 commit 271acaaae5d9e698ed1eefb201b2fa49b7bb3d2d
3553 Author: Neil Roberts <neil@linux.intel.com>
3554 Date: Mon Dec 6 12:31:51 2010 +0000
3556 cogl: upload matrices with uniforms on GLES2
3558 Once the GLES2 wrapper is removed we won't be able to upload the
3559 matrices with the fixed function API any more. The fixed function API
3560 gives a global state for setting the matrix but if a custom shader
3561 uniform is used for the matrices then the state is per
3562 program. _cogl_matrix_stack_flush_to_gl is called in a few places and
3563 it is assumed the current pipeline doesn't need to be flushed before
3564 it is called. To allow these semantics to continue to work, on GLES2
3565 the matrix flush now just stores a reference to the matrix stack in
3566 the CoglContext. A pre_paint virtual is added to the progend which is
3567 called whenever a pipeline is flushed, even if the same pipeline was
3568 flushed already. This gives the GLSL progend a chance to upload the
3569 matrices to the uniforms. The combined modelview/projection matrix is
3570 only calculated if it is used. The generated programs end up never
3571 using the modelview or projection matrix so it usually only has to
3572 upload the combined matrix. When a matrix stack is flushed a reference
3573 is taked to it by the pipeline progend and the age is stored so that
3574 if the same state is used with the same program again then we don't
3575 need to reupload the uniform.
3577 clutter/cogl/cogl/cogl-context.c | 12 +
3578 clutter/cogl/cogl/cogl-context.h | 10 +
3579 clutter/cogl/cogl/cogl-matrix-stack.c | 127 +++++++---
3580 clutter/cogl/cogl/cogl-matrix-stack.h | 10 +
3581 clutter/cogl/cogl/cogl-pipeline-opengl.c | 7 +
3582 clutter/cogl/cogl/cogl-pipeline-private.h | 4 +
3583 clutter/cogl/cogl/cogl-pipeline-progend-glsl.c | 250 +++++++++++++++++++-
3584 clutter/cogl/cogl/cogl-pipeline-vertend-glsl.c | 4 +
3585 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 2 +
3586 9 files changed, 396 insertions(+), 30 deletions(-)
3588 commit 67847260bca8ef313650497050e284a1971918aa
3589 Author: Neil Roberts <neil@linux.intel.com>
3590 Date: Fri Dec 10 17:42:39 2010 +0000
3592 cogl-matrix-stack: Add _cogl_matrix_stack_has_identity_flag
3594 This adds an internal function to quickly determine whether the top of
3595 the matrix stack is known to be the identity matrix.
3597 clutter/cogl/cogl/cogl-matrix-stack.c | 6 ++++++
3598 clutter/cogl/cogl/cogl-matrix-stack.h | 7 +++++++
3599 2 files changed, 13 insertions(+)
3601 commit 016005591dfa765255b05d96f701497ed7a59d23
3602 Author: Neil Roberts <neil@linux.intel.com>
3603 Date: Fri Dec 10 16:06:16 2010 +0000
3605 cogl-matrix-stack: Convert to be a CoglObject
3607 We will want to use ref-counting on the CoglMatrixStack so it might as
3608 well be a CoglObject.
3610 clutter/cogl/cogl/cogl-framebuffer.c | 4 ++--
3611 clutter/cogl/cogl/cogl-matrix-stack.c | 13 ++++++++++---
3612 clutter/cogl/cogl/cogl-matrix-stack.h | 3 ---
3613 clutter/cogl/cogl/cogl-pipeline-opengl.c | 2 +-
3614 4 files changed, 13 insertions(+), 9 deletions(-)
3616 commit 58a22613877fc041549eddeafbc364d369c5e445
3617 Author: Robert Bragg <robert@linux.intel.com>
3618 Date: Fri Dec 10 11:34:02 2010 +0000
3620 matrix-stack: Make header style consistent
3622 Cogl doesn't follow the Clutter/GTK+ columnized function prototype style
3623 so this updates cogl-matrix-stack.h to match the other Cogl headers.
3625 clutter/cogl/cogl/cogl-matrix-stack.c | 2 +-
3626 clutter/cogl/cogl/cogl-matrix-stack.h | 126 ++++++++++++++++++++-------------
3627 2 files changed, 76 insertions(+), 52 deletions(-)
3629 commit 4976d229405c7010a6ef1e621bcfb581b7eff99a
3630 Author: Robert Bragg <robert@linux.intel.com>
3631 Date: Fri Dec 10 11:13:09 2010 +0000
3633 matrix-stack: Adds a stack age counter
3635 Sometimes it would be useful if we could efficiently track when a matrix
3636 stack has been modified. For example on GLES2 we have to upload the
3637 modelview as a uniform to our glsl programs but because the modelview
3638 state is part of the framebuffer state it becomes a bit more tricky to
3639 know when to re-sync the value of the uniform with the framebuffer
3640 state. This adds an "age" counter to CoglMatrixStack which is
3641 incremented for any operation that effectively modifies the top of the
3642 stack so now we can save the age of the stack inside the pipeline
3643 whenever we update modelview uniform and later compare that with the
3644 stack to determine if it has changed.
3646 clutter/cogl/cogl/cogl-matrix-stack.c | 18 ++++++++++++++++++
3647 clutter/cogl/cogl/cogl-matrix-stack.h | 2 ++
3648 2 files changed, 20 insertions(+)
3650 commit 856d43a27cd4090467de08cd5738f10ec7e06ebd
3651 Author: Neil Roberts <neil@linux.intel.com>
3652 Date: Mon Dec 6 12:31:16 2010 +0000
3654 cogl-pipeline: Add internal API to get the layer matrix
3656 This returns the layer matrix given a pipeline and a layer index. The
3657 API is kept as internal because it directly returns a pointer into the
3658 layer private data to avoid a copy into an out-param. We might also
3659 want to add a public function which does the copy.
3661 clutter/cogl/cogl/cogl-pipeline-private.h | 4 ++++
3662 clutter/cogl/cogl/cogl-pipeline.c | 19 +++++++++++++++++++
3663 2 files changed, 23 insertions(+)
3665 commit 4514d49dda70b9b5a1833c7809dc4d22b1bcd3cd
3666 Author: Neil Roberts <neil@linux.intel.com>
3667 Date: Fri Dec 3 17:46:16 2010 +0000
3669 cogl-vertex-attribute: Use glVertexAttribPointer on GLES2
3671 When the GLES2 wrapper is removed we can't use the fixed function API
3672 such as glColorPointer to set the builtin attributes. Instead the GLSL
3673 progend now maintains a cache of attribute locations that are queried
3674 with glGetAttribLocation. The code that previously maintained a cache
3675 of the enabled texture coord arrays has been modified to also cache
3676 the enabled vertex attributes under GLES2. The vertex attribute API is
3677 now the only place that is using this cache so it has been moved into
3678 cogl-vertex-attribute.c
3680 clutter/cogl/cogl/cogl-bitmask.c | 16 +-
3681 clutter/cogl/cogl/cogl-bitmask.h | 10 +-
3682 clutter/cogl/cogl/cogl-context.c | 8 +-
3683 clutter/cogl/cogl/cogl-context.h | 8 +-
3684 clutter/cogl/cogl/cogl-internal.h | 6 -
3685 clutter/cogl/cogl/cogl-pipeline-opengl.c | 30 +-
3686 .../cogl/cogl/cogl-pipeline-progend-glsl-private.h | 18 ++
3687 clutter/cogl/cogl/cogl-pipeline-progend-glsl.c | 139 +++++++++
3688 clutter/cogl/cogl/cogl-vertex-attribute-private.h | 3 +
3689 clutter/cogl/cogl/cogl-vertex-attribute.c | 311 +++++++++++++++-----
3690 clutter/cogl/cogl/cogl.c | 36 +--
3691 11 files changed, 451 insertions(+), 134 deletions(-)
3693 commit 1515a8d73a0ea3ad6f6f8719e833bc17bb7c0001
3694 Author: Neil Roberts <neil@linux.intel.com>
3695 Date: Fri Dec 3 11:31:09 2010 +0000
3697 cogl-path: Stroke using the vertex attribute API
3699 Previously when stroking a path it was flushing a pipeline and then
3700 directly calling glDrawArrays to draw the line strip from the path
3701 nodes array. This patch changes it to build a CoglVertexArray and a
3702 series of attributes to paint with instead. The vertex array and
3703 attributes are attached to the CoglPath so it can be reused later. The
3704 old vertex array for filling has been renamed to fill_vbo.
3706 clutter/cogl/cogl/cogl-path-private.h | 12 +-
3707 clutter/cogl/cogl/cogl2-path.c | 201 ++++++++++++++++++++++-----------
3708 2 files changed, 143 insertions(+), 70 deletions(-)
3710 commit 3c5fa0cf9042827d205f90ac98c2eac9494707e9
3711 Author: Neil Roberts <neil@linux.intel.com>
3712 Date: Thu Dec 2 22:19:44 2010 +0000
3714 cogl: Move COGL_DEBUG=show-source into cogl-shader.c
3716 The code to display the source when the show-source debug option is
3717 given has been moved to _cogl_shader_set_source_with_boilerplate so
3718 that it will show both user shaders and generated shaders. It also
3719 shows the code with the full boilerplate. To make it the same for
3720 ARBfp, cogl_shader_compile_real now also dumps user ARBfp shaders.
3722 clutter/cogl/cogl/cogl-pipeline-fragend-glsl.c | 5 -----
3723 clutter/cogl/cogl/cogl-pipeline-vertend-glsl.c | 5 -----
3724 clutter/cogl/cogl/cogl-shader.c | 23 +++++++++++++++++++++++
3725 3 files changed, 23 insertions(+), 10 deletions(-)
3727 commit 8764a0d4874949c12d6c0e6af863d81a39bc4991
3728 Author: Neil Roberts <neil@linux.intel.com>
3729 Date: Thu Dec 2 20:48:45 2010 +0000
3731 cogl: Add a vertend to generate GLSL
3733 The GLSL vertend is mostly only useful for GLES2. The fixed function
3734 vertend is kept at higher priority than the GLSL vertend so it is
3735 unlikely to be used in any other circumstances.
3737 clutter/cogl/cogl/Makefile.am | 2 +
3738 clutter/cogl/cogl/cogl-context.c | 3 +-
3739 clutter/cogl/cogl/cogl-context.h | 3 +-
3740 clutter/cogl/cogl/cogl-pipeline-fragend-arbfp.c | 3 +-
3741 clutter/cogl/cogl/cogl-pipeline-fragend-fixed.c | 10 +-
3742 clutter/cogl/cogl/cogl-pipeline-fragend-glsl.c | 13 +-
3743 clutter/cogl/cogl/cogl-pipeline-opengl.c | 130 +++++--
3744 clutter/cogl/cogl/cogl-pipeline-private.h | 30 +-
3745 clutter/cogl/cogl/cogl-pipeline-progend-glsl.c | 83 ++--
3746 clutter/cogl/cogl/cogl-pipeline-vertend-fixed.c | 28 ++
3747 .../cogl/cogl/cogl-pipeline-vertend-glsl-private.h | 39 ++
3748 clutter/cogl/cogl/cogl-pipeline-vertend-glsl.c | 396 ++++++++++++++++++++
3749 clutter/cogl/cogl/cogl-pipeline.c | 7 +
3750 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 19 +-
3751 14 files changed, 679 insertions(+), 87 deletions(-)
3753 commit 6c34fb7232f3d82a6f5720fc9e07a41d997e643b
3754 Author: Neil Roberts <neil@linux.intel.com>
3755 Date: Tue Dec 7 12:33:39 2010 +0000
3757 cogl-shader-boilerplate: Don't put the color attrib in location 0
3759 Due to Mesa bug 28585 calling glVertexAttrib with attrib location 0
3760 doesn't appear to work. This patch just reorders the vertex and color
3761 attributes in the shader in the hope that Mesa will assign the color
3762 attribute to a different location.
3764 clutter/cogl/cogl/cogl-shader-boilerplate.h | 2 +-
3765 1 file changed, 1 insertion(+), 1 deletion(-)
3767 commit cf0ded1361bd639f7143aef02f37f17f01bdcf04
3768 Author: Neil Roberts <neil@linux.intel.com>
3769 Date: Thu Dec 2 22:08:51 2010 +0000
3771 cogl-shader-boilerplate: Add more builtins for GLES2
3773 Some builtin attributes such as the matrix uniforms and some varyings
3774 were missing from the boilerplate for GLES2. This also moves the
3775 texture matrix and texture coord attribute declarations to
3776 cogl-shader.c so that they can be dynamically defined depending on the
3777 number of texture coord arrays enabled.
3779 clutter/cogl/cogl/cogl-shader-boilerplate.h | 23 +++++++++++++++++---
3780 clutter/cogl/cogl/cogl-shader.c | 30 +++++++++++++++++++++------
3781 2 files changed, 44 insertions(+), 9 deletions(-)
3783 commit 17d689f79480f9d08c1ef8e62b990db0cdb6a36d
3784 Author: Neil Roberts <neil@linux.intel.com>
3785 Date: Thu Dec 2 18:05:22 2010 +0000
3787 cogl-pipeline: Rename the fragment_{source,header}_buffer to codegen
3789 We want to reuse the same buffers for vertends so calling them
3790 fragment_* doesn't make sense.
3792 clutter/cogl/cogl/cogl-context.c | 4 ++--
3793 clutter/cogl/cogl/cogl-context.h | 4 ++--
3794 clutter/cogl/cogl/cogl-pipeline-fragend-arbfp.c | 4 ++--
3795 clutter/cogl/cogl/cogl-pipeline-fragend-glsl.c | 8 ++++----
3796 clutter/cogl/cogl/cogl-pipeline-progend-glsl.c | 12 ++++++------
3797 5 files changed, 16 insertions(+), 16 deletions(-)
3799 commit a3e53dd029632166a51333249baa49b5e97644c9
3800 Author: Neil Roberts <neil@linux.intel.com>
3801 Date: Mon Nov 29 18:32:21 2010 +0000
3803 cogl: Add a fixed function vertend
3805 The vertends are intended to flush state that would be represented in
3806 a vertex program. Code to handle the layer matrix, lighting and
3807 point size has now been moved from the common cogl-pipeline-opengl
3808 backend to the fixed vertend.
3810 clutter/cogl/cogl/Makefile.am | 2 +
3811 clutter/cogl/cogl/cogl-pipeline-opengl.c | 109 ++++++++++++++-----
3812 clutter/cogl/cogl/cogl-pipeline-private.h | 34 +++++-
3813 .../cogl/cogl-pipeline-vertend-fixed-private.h | 36 +++++++
3814 clutter/cogl/cogl/cogl-pipeline-vertend-fixed.c | 114 ++++++++++++++++++++
3815 clutter/cogl/cogl/cogl-pipeline.c | 80 +++++++++++++-
3816 6 files changed, 342 insertions(+), 33 deletions(-)
3818 commit 313adc7bdf9c8a0d61cedf7e34d1cd3e961a7ea2
3819 Author: Neil Roberts <neil@linux.intel.com>
3820 Date: Thu Dec 2 14:00:46 2010 +0000
3822 cogl: Add a GLSL 'progend'
3824 'progend' is short for 'program backend'. The progend is intended to
3825 operate on combined state from a fragment backend and a vertex
3826 backend. The progend has an 'end' function which is run whenever the
3827 pipeline is flushed and the two pipeline change notification
3828 functions. All of the progends are run whenever the pipeline is
3829 flushed instead of selecting a single one because it is possible that
3830 multiple progends may be in use for example if the vertends and
3831 fragends are different. The GLSL progend will take the shaders
3832 generated by the fragend and vertend and link them into a single
3833 program. The fragend code has been changed to only generate the shader
3834 and not the program. The idea is that pipelines can share fragment
3835 shader objects even if their vertex state is different. The authority
3836 for the progend needs to be the combined authority on the vertend and
3839 clutter/cogl/cogl/Makefile.am | 2 +
3840 .../cogl/cogl/cogl-pipeline-fragend-glsl-private.h | 3 +
3841 clutter/cogl/cogl/cogl-pipeline-fragend-glsl.c | 725 +++++---------------
3842 clutter/cogl/cogl/cogl-pipeline-opengl.c | 5 +
3843 clutter/cogl/cogl/cogl-pipeline-private.h | 29 +
3844 .../cogl/cogl/cogl-pipeline-progend-glsl-private.h | 36 +
3845 clutter/cogl/cogl/cogl-pipeline-progend-glsl.c | 542 +++++++++++++++
3846 clutter/cogl/cogl/cogl-pipeline.c | 39 +-
3847 8 files changed, 839 insertions(+), 542 deletions(-)
3849 commit 1e3cdb60d6a6ad67c4e693687c5c9c64a25d7cec
3850 Author: Neil Roberts <neil@linux.intel.com>
3851 Date: Thu Dec 2 13:54:15 2010 +0000
3853 cogl-program: Add private functions to check if have each shader type
3855 This adds two internal functions:
3858 _cogl_program_has_fragment_shader (CoglHandle handle);
3861 _cogl_program_has_vertex_shader (CoglHandle handle);
3863 They just check whether any of the contained shaders are of that type.
3865 clutter/cogl/cogl/cogl-program-private.h | 6 ++++++
3866 clutter/cogl/cogl/cogl-program.c | 29 +++++++++++++++++++++++++++++
3867 2 files changed, 35 insertions(+)
3869 commit 31f0eb4f715a3622260965b0b0a3be132cde8d23
3870 Author: Neil Roberts <neil@linux.intel.com>
3871 Date: Wed Dec 1 17:06:18 2010 +0000
3873 cogl-pipeline: Make find codegen authority more general
3875 The pipeline function _cogl_pipeline_find_codegen_authority has been
3876 renamed to _cogl_pipeline_find_equivalent_parent and it now takes a
3877 set of flags for the pipeline and layer state that affects the
3878 authority. This is needed so that we can reuse the same code in the
3879 vertend and progends.
3881 clutter/cogl/cogl/cogl-pipeline-fragend-arbfp.c | 47 +++-----
3882 clutter/cogl/cogl/cogl-pipeline-fragend-glsl.c | 9 +-
3883 clutter/cogl/cogl/cogl-pipeline-private.h | 39 ++++++-
3884 clutter/cogl/cogl/cogl-pipeline.c | 137 ++++++++++-------------
3885 4 files changed, 116 insertions(+), 116 deletions(-)
3887 commit a1996706a293458221bce7a4126f82f64e4ca3c3
3888 Author: Neil Roberts <neil@linux.intel.com>
3889 Date: Tue Nov 30 12:48:27 2010 +0000
3891 cogl-pipeline: Move texture enabling/disabling to fixed fragend
3893 Previously enabling and disabling textures was done whatever the
3894 backend in cogl-pipeline-opengl. However enabling and disabling
3895 texture targets only has any meaning if no fragment shaders are being
3896 used so this patch moves the code to cogl-pipeline-fragend-fixed.
3898 The GLES2 wrapper has also been changed to ignore enabledness when
3899 deciding whether to update texture coordinate attribute pointers.
3901 clutter/cogl/cogl/cogl-pipeline-fragend-arbfp.c | 7 --
3902 clutter/cogl/cogl/cogl-pipeline-fragend-fixed.c | 107 +++++++++++++++++++-
3903 clutter/cogl/cogl/cogl-pipeline-fragend-glsl.c | 7 --
3904 clutter/cogl/cogl/cogl-pipeline-opengl-private.h | 16 ++-
3905 clutter/cogl/cogl/cogl-pipeline-opengl.c | 95 +++--------------
3906 clutter/cogl/cogl/cogl-pipeline-private.h | 2 -
3907 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 67 ++++++------
3908 7 files changed, 157 insertions(+), 144 deletions(-)
3910 commit 952878aab1d0610b09d048495295fd84499b70e9
3911 Author: Neil Roberts <neil@linux.intel.com>
3912 Date: Mon Nov 29 16:56:41 2010 +0000
3914 Rename CoglPipelineBackend to CoglPipelineFragend
3916 The current Cogl pipeline backends are entirely concerned with the
3917 fragment processing state. We also want to eventually have separate
3918 backends to generate shaders for the vertex processing state so we
3919 need to rename the fragment backends. 'Fragend' is a somewhat weird
3920 name but we wanted to avoid ending up with illegible symbols like
3921 CoglPipelineFragmentBackendGlslPrivate.
3923 clutter/cogl/cogl/Makefile.am | 12 +-
3924 clutter/cogl/cogl/cogl-context.c | 6 +-
3925 clutter/cogl/cogl/cogl-pipeline-arbfp-private.h | 42 -
3926 clutter/cogl/cogl/cogl-pipeline-arbfp.c | 1133 ------------------
3927 clutter/cogl/cogl/cogl-pipeline-fixed-private.h | 36 -
3928 clutter/cogl/cogl/cogl-pipeline-fixed.c | 260 ----
3929 .../cogl/cogl-pipeline-fragend-arbfp-private.h | 43 +
3930 clutter/cogl/cogl/cogl-pipeline-fragend-arbfp.c | 1133 ++++++++++++++++++
3931 .../cogl/cogl-pipeline-fragend-fixed-private.h | 36 +
3932 clutter/cogl/cogl/cogl-pipeline-fragend-fixed.c | 260 ++++
3933 .../cogl/cogl/cogl-pipeline-fragend-glsl-private.h | 36 +
3934 clutter/cogl/cogl/cogl-pipeline-fragend-glsl.c | 1263 ++++++++++++++++++++
3935 clutter/cogl/cogl/cogl-pipeline-glsl-private.h | 36 -
3936 clutter/cogl/cogl/cogl-pipeline-glsl.c | 1263 --------------------
3937 clutter/cogl/cogl/cogl-pipeline-opengl.c | 66 +-
3938 clutter/cogl/cogl/cogl-pipeline-private.h | 48 +-
3939 clutter/cogl/cogl/cogl-pipeline.c | 100 +-
3940 17 files changed, 2887 insertions(+), 2886 deletions(-)
3942 commit dc61d58c0df9dde51472bae17b1997c82cfcddb1
3943 Author: Neil Roberts <neil@linux.intel.com>
3944 Date: Thu Dec 2 15:37:53 2010 +0000
3946 cogl-pipeline-opengl: Remove the includes for the various backends
3948 Nothing in cogl-pipeline-opengl needs to know about the actual backend
3949 implementations, instead it just accesses then through the vtables.
3951 clutter/cogl/cogl/cogl-pipeline-opengl.c | 10 ----------
3952 1 file changed, 10 deletions(-)
3954 commit 54db48dfd1e1b151a3b92e160181f44305e21089
3955 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3956 Date: Sat Dec 11 17:40:52 2010 +0000
3958 animation: Allow transforming values in bind()
3960 While we do check for compatibility and transformability of a GValue
3961 with the GParamSpec value type, we are actually failing really badly
3964 First of all, we bail out on the wrong conditions.
3966 Then we use the type of the value passed instead of using the type
3967 of the property itself.
3969 This makes it impossible to actually use transformation functions for
3970 GValue types - even those that have been registered by GLib itself -
3971 when using the Animation API directly, instead of going through the
3972 clutter_actor_animate() wrappers.
3974 clutter/clutter-animation.c | 28 +++++++++++++++++++++++-----
3975 1 file changed, 23 insertions(+), 5 deletions(-)
3977 commit ae4e06d8c4ca2bd93a12e4ace38c0c888edcddf1
3978 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3979 Date: Fri Dec 10 17:15:39 2010 +0000
3981 introspection: Skip some C-only structures
3983 The ParamSpec sub-classes we define are meant to be used only from the C
3984 API, as high-level languages completely ignore them.
3986 The ClutterStageWindow interface is an internal type that escaped into
3987 the public headers; all its methods are private, but we cannot remove
3988 the type until we break for 2.0.
3990 clutter/clutter-color.h | 16 ++++++++--------
3991 clutter/clutter-fixed.h | 2 +-
3992 clutter/clutter-stage-window.h | 4 ++--
3993 clutter/clutter-units.h | 2 +-
3994 4 files changed, 12 insertions(+), 12 deletions(-)
3996 commit d5a418304712e38c7055114fa5b13a904fae9883
3997 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3998 Date: Fri Dec 10 17:15:23 2010 +0000
4000 introspection: Add cairo-1.0 to the dependencies
4002 clutter/Makefile.am | 2 +-
4003 1 file changed, 1 insertion(+), 1 deletion(-)
4005 commit 49a43a0772d749d280a7fc6ceb561c6452dc859f
4006 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4007 Date: Fri Dec 10 16:03:10 2010 +0000
4009 Remove unnecessary duplicate name for private enumerations
4011 clutter/clutter-actor-private.h | 6 ++----
4012 1 file changed, 2 insertions(+), 4 deletions(-)
4014 commit b91c1ec21c80e99949a19865be2c44c53063d09e
4015 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4016 Date: Thu Dec 9 16:05:55 2010 +0000
4020 NEWS | 27 +++++++++++++++++++++++++++
4021 1 file changed, 27 insertions(+)
4023 commit bc58de4658a206f07d51ddbb9b8c06f37c4cf841
4024 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4025 Date: Thu Dec 9 15:52:04 2010 +0000
4027 docs: Add 1.6 index to the API references
4029 doc/reference/cally/cally-docs.xml.in | 5 +++++
4030 doc/reference/clutter/clutter-docs.xml.in | 5 +++++
4031 doc/reference/cogl/cogl-docs.xml.in | 5 +++++
4032 3 files changed, 15 insertions(+)
4034 commit 36c3fc82c5c3eee50878f964f09939b9b169fd82
4035 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4036 Date: Thu Dec 9 15:42:19 2010 +0000
4038 Use G_STRFUNC correctly
4040 It cannot be chained up via the pre-processor.
4042 clutter/egl/clutter-backend-egl.c | 2 +-
4043 clutter/fruity/clutter-backend-fruity.c | 2 +-
4044 2 files changed, 2 insertions(+), 2 deletions(-)
4046 commit 24133ddadcd71af74f52b009b178e0ffa9e51374
4047 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4048 Date: Thu Dec 9 15:11:37 2010 +0000
4050 Rename the EGLDisplay accessors
4052 The accessor for the EGL display should be namespaced for the correct
4053 backend-specific API.
4055 clutter/egl/clutter-backend-egl.c | 19 ++++++++++++-----
4056 clutter/egl/clutter-egl.h | 28 ++++++++++++++++++------
4057 clutter/fruity/clutter-backend-fruity.c | 32 ++++++++++++++++++++++++++++
4058 clutter/fruity/clutter-fruity.h | 9 ++++++--
4059 clutter/fruity/clutter-stage-fruity.c | 3 ++-
4060 clutter/wayland/clutter-backend-wayland.c | 24 ++++++++++-----------
4061 clutter/wayland/clutter-stage-wayland.c | 4 ++--
4062 clutter/wayland/clutter-wayland.h | 7 +++---
4063 doc/reference/clutter/clutter-sections.txt | 3 ++-
4064 9 files changed, 95 insertions(+), 34 deletions(-)
4066 commit f5b51a2428cb3575ca4cfba98926f4906e6aba8e
4067 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4068 Date: Thu Dec 9 15:06:12 2010 +0000
4070 docs: Documentation fixes
4072 clutter/clutter-actor-private.h | 30 ++++++++++++++++--------------
4073 doc/reference/clutter/Makefile.am | 1 +
4074 2 files changed, 17 insertions(+), 14 deletions(-)
4076 commit ab0eb0a12b9cc05c417b49832b50b88a7cdb0958
4077 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4078 Date: Thu Dec 9 13:59:08 2010 +0000
4080 docs: Documentation fixes
4082 clutter/cally/cally-group.c | 2 +-
4083 clutter/clutter-main.c | 2 +-
4084 clutter/clutter-units.c | 4 ++--
4085 doc/reference/clutter/clutter-animation-tutorial.xml | 2 +-
4086 4 files changed, 5 insertions(+), 5 deletions(-)
4088 commit 8c7298b0c11df3690a8eb5afdd9226af87b4d76f
4089 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4090 Date: Thu Dec 9 13:49:01 2010 +0000
4092 build: Check NEWS file during release, not distcheck
4094 The check-news option in configure.ac conflicts with the idea of using a
4095 buildbot to do a distcheck.
4097 Since we're doing some validation on the state of the build during the
4098 release-check phase we should add the NEWS file check there.
4100 http://bugzilla.clutter-project.org/show_bug.cgi?id=2468
4102 build/autotools/Makefile.am.release | 11 ++++++++++-
4104 2 files changed, 11 insertions(+), 2 deletions(-)
4106 commit 88f7579a9d4dd7b290216b5943d87c8143cceb04
4107 Author: Elliot Smith <elliot.smith@intel.com>
4108 Date: Thu Dec 9 11:40:27 2010 +0000
4110 cookbook: Remove bold on emphasis inside programlisting
4112 If an <emphasis> element is placed inside a <programlisting> in a cookbook
4113 recipe, the result is bold italic text in the HTML output. This isn't
4114 particularly readable.
4116 Fix is to style emphasis elements inside programlistings
4117 so the font weight is not bold but is still italicised.
4119 http://bugzilla.clutter-project.org/show_bug.cgi?id=2475
4121 doc/common/style.css | 3 +++
4122 1 file changed, 3 insertions(+)
4124 commit ca42ec1a7a3a7b219477d6c16a0aff30d64efb1a
4125 Author: Jussi Kukkonen <jku@linux.intel.com>
4126 Date: Thu Dec 2 16:08:10 2010 +0200
4128 tests: Add test for clutter_model_get_iter_at_row()
4130 http://bugzilla.clutter-project.org/show_bug.cgi?id=2460
4132 tests/conform/test-model.c | 17 +++++++++++++++++
4133 1 file changed, 17 insertions(+)
4135 commit d8515bf4290bfece33fd41d356e86e74c0728067
4136 Author: Jussi Kukkonen <jku@linux.intel.com>
4137 Date: Thu Dec 2 16:27:36 2010 +0200
4139 Fix clutter_list_model_get_iter_at_row() when filtered
4141 Currently clutter_list_model_get_iter_at_row() always returns an
4142 iterator to the last non-filtered row when asking for row [1-N].
4144 Patch makes the function return an iterator to the Nth non-filtered
4147 http://bugzilla.clutter-project.org/show_bug.cgi?id=2460
4149 clutter/clutter-list-model.c | 58 +++++++++++++-----------------------------
4150 1 file changed, 17 insertions(+), 41 deletions(-)
4152 commit e7f62bc936995c5d998f7c8dc4b2b1b7254ea97d
4153 Author: nobled <nobled@dreamwidth.org>
4154 Date: Tue Dec 7 07:10:59 2010 +0000
4156 wayland: Update to current api
4158 Adapt to changes from these wayland commits:
4159 35fd2a8cc68c42d90756330535de04cbbb4d2613
4160 2bb3ebe1e437acf836449f0a63f3264ad29566f2
4161 f8fc08f77187f6a5723281dab66841e5f3c24320
4163 http://bugzilla.clutter-project.org/show_bug.cgi?id=2474
4165 clutter/wayland/clutter-backend-wayland.c | 8 ++++----
4166 1 file changed, 4 insertions(+), 4 deletions(-)
4168 commit d8a544c0f17f5d6550578a426c1ef1c4060ca411
4169 Author: nobled <nobled@dreamwidth.org>
4170 Date: Tue Dec 7 07:07:40 2010 +0000
4174 Fixes the build error:
4176 clutter-input-device-wayland.c:154:69:
4177 error: too few arguments to function call
4179 http://bugzilla.clutter-project.org/show_bug.cgi?id=2473
4181 clutter/wayland/clutter-input-device-wayland.c | 2 +-
4182 1 file changed, 1 insertion(+), 1 deletion(-)
4184 commit 3795c9b975d43305c64ed24306736f764ef165bc
4185 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4186 Date: Thu Dec 9 12:37:41 2010 +0000
4188 build: Do not hardcode --warn-all for g-ir-scanner
4190 It's possible to use --warn-all through the introspection scanner
4191 options from outside the build environment.
4193 clutter/Makefile.am | 3 ---
4194 1 file changed, 3 deletions(-)
4196 commit d229036441b3f0a4f7ab5205de46b5dbc9d9d7a9
4197 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4198 Date: Thu Dec 9 12:36:50 2010 +0000
4200 Reduce the amount of g-ir-scanner warnings
4202 As much as we can; the remaining warnings are mostly valid things that
4203 the introspection scanner still flags as potential issues.
4205 clutter/clutter-actor.h | 26 +++++++++++++-------------
4206 clutter/clutter-container.c | 16 ++++++++++++----
4207 clutter/clutter-device-manager.h | 10 +++++-----
4208 clutter/clutter-layout-manager.h | 8 ++++----
4209 clutter/clutter-offscreen-effect.h | 6 +++---
4210 clutter/clutter-scriptable.h | 2 +-
4211 clutter/x11/clutter-backend-x11.c | 10 +++++-----
4212 clutter/x11/clutter-stage-x11.c | 7 ++++---
4213 8 files changed, 47 insertions(+), 38 deletions(-)
4215 commit e1f48b15ee92f60f2a84c808ba0d505f38a1bf61
4216 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4217 Date: Thu Dec 9 12:00:29 2010 +0000
4219 docs: Use :reverse in the Behaviour migration guide
4221 Instead of the ::completed signal flip.
4223 doc/reference/clutter/migrating-ClutterBehaviour.xml | 8 +++-----
4224 1 file changed, 3 insertions(+), 5 deletions(-)
4226 commit b16ea099882accbb489d20ef1ea03dc3cb0d2846
4227 Merge: b6318bd 50849ac
4228 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4229 Date: Thu Dec 9 11:58:10 2010 +0000
4231 Merge remote branch 'elliot/cookbook-animations-looping-new-api'
4233 * elliot/cookbook-animations-looping-new-api:
4234 cookbook: Use new API to reverse timeline
4236 commit b6318bd8218c021270370d6e8093d38bdabe791d
4237 Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
4238 Date: Tue Dec 7 15:29:05 2010 +0100
4240 Make clutter_shader_effect_set_uniform_value accept G_TYPE_DOUBLE
4242 For users of gobject-introspection that cannot know which
4243 non-integer type to pass.
4245 http://bugzilla.clutter-project.org/show_bug.cgi?id=2471
4247 clutter/clutter-shader-effect.c | 12 +++++++++++-
4248 1 file changed, 11 insertions(+), 1 deletion(-)
4250 commit cf1fced88507e0ccc2fa704d14b3141168a48360
4251 Author: Robert Bragg <robert@linux.intel.com>
4252 Date: Wed Dec 8 18:57:42 2010 +0000
4254 pipeline: don't dereference NULL program state
4256 This avoid dereferencing a NULL arbfp program state in
4257 _cogl_pipeline_backend_arbfp_layer_pre_change_notify for
4258 _STATE_COMBINE_CONSTANT changes.
4260 clutter/cogl/cogl/cogl-pipeline-arbfp.c | 12 ++++++++----
4261 1 file changed, 8 insertions(+), 4 deletions(-)
4263 commit 46295a0dd1c0dcbc130ed9dd3aed900e597c8d42
4264 Author: Robert Bragg <robert@linux.intel.com>
4265 Date: Wed Dec 8 16:29:37 2010 +0000
4267 arbfp: Copy pipelines used as cache keys
4269 We are currently using a pipeline as a key into our arbfp program cache
4270 but because we weren't making a copy of the pipelines used as keys there
4271 were times when doing a lookup in the cache would end up trying to
4272 compare a lookup key with an entry key that would point to invalid
4275 Note: the current approach isn't ideal from the pov that that key
4276 pipeline may reference some arbitrarily large user textures will now be
4277 kept alive indefinitely. The plan to improve on this is that we will
4278 have a mechanism to create a special "key pipeline" which will derive
4279 from the default Cogl pipeline (to avoid affecting the lifetime of
4280 other pipelines) and only copy state from the original pipeline that
4281 affects the arbfp program and will reference small dummy textures
4282 instead of potentially large user textures.
4284 clutter/cogl/cogl/cogl-pipeline-arbfp.c | 34 ++++++++++++++++++++++++++++++-
4285 1 file changed, 33 insertions(+), 1 deletion(-)
4287 commit 87b2300f98727525267a6849c36c74849ea993fd
4288 Author: Robert Bragg <robert@linux.intel.com>
4289 Date: Wed Dec 8 16:27:57 2010 +0000
4291 arbfp: initialize arbfp_program_state->next_constant_id
4293 When allocating a new ArbfpProgramState struct when starting code
4294 generation we weren't initializing arbfp_program_state->next_constant_id
4297 clutter/cogl/cogl/cogl-pipeline-arbfp.c | 1 +
4298 1 file changed, 1 insertion(+)
4300 commit bac600b21bcbe13d3259fb7cee9e2b378f807d74
4301 Author: Robert Bragg <robert@linux.intel.com>
4302 Date: Wed Dec 8 16:23:10 2010 +0000
4304 pipeline: Clarify stages for finding an arbfp program
4306 In the arbfp backend there is a seqential approach to finding a suitable
4307 arbfp program to use for a given pipeline; first we see if there's
4308 already a program associated with the pipeline, 2nd we try and find a
4309 program associated with the "arbfp-authority" 3rd we try and lookup a
4310 program in a cache and finally we resort to starting code-generation for
4311 a new program. This patch slightly reworks the code of these steps to
4312 hopefully make them a bit clearer.
4314 clutter/cogl/cogl/cogl-pipeline-arbfp.c | 102 ++++++++++++++++++-------------
4315 1 file changed, 60 insertions(+), 42 deletions(-)
4317 commit 9606c42c559fefbf397047dad6da3f4f8958b459
4318 Author: Neil Roberts <neil@linux.intel.com>
4319 Date: Mon Dec 6 21:14:33 2010 +0000
4321 cogl-pipeline: Fix the layer_has_alpha_cb
4323 _cogl_pipeline_needs_blending_enabled tries to determine whether each
4324 layer is using the default combine state. However it was using
4325 argument 0 for both checks so the if-statement would never be true.
4327 clutter/cogl/cogl/cogl-pipeline.c | 4 ++--
4328 1 file changed, 2 insertions(+), 2 deletions(-)
4330 commit ab5f394e5aea5a79a0e5d6647e86402ca2ba5e4f
4331 Author: Robert Bragg <robert@linux.intel.com>
4332 Date: Wed Dec 8 11:38:56 2010 +0000
4334 pipeline: remove unused HashState member
4336 There was an unused pipeline_differences member as part of the HashState
4337 struct which this patch remove to avoid confusion.
4339 clutter/cogl/cogl/cogl-pipeline.c | 1 -
4340 1 file changed, 1 deletion(-)
4342 commit 5fd8e9c6083ff17202ceb2cfd2d1c56df0d1da14
4343 Author: Robert Bragg <robert@linux.intel.com>
4344 Date: Wed Dec 8 11:35:16 2010 +0000
4346 pipeline: initialize HashState flags member
4348 There are a set of "EvalFlags" that get passed to _cogl_pipeline_hash
4349 that can tweak the semantics of what state is evaluated for hashing but
4350 these flags weren't getting passed via the HashState state structure
4351 so it would be undefined if you would get the correct semantics.
4353 clutter/cogl/cogl/cogl-pipeline.c | 1 +
4354 1 file changed, 1 insertion(+)
4356 commit ea66156c83dded1536009bbdd02032e5e3114c3a
4357 Author: Robert Bragg <robert@linux.intel.com>
4358 Date: Wed Dec 8 11:30:00 2010 +0000
4360 pipeline: don't use near/far symbols
4362 According to 9cc90333473e3 the windows headers #define near as nothing,
4363 and presumable the same is true for 'far' too. Apparently this define is
4364 to improve compatibility with code written for Windows 3.1, so it's good
4365 that people will be able to incorporate such code into their Clutter
4368 clutter/cogl/cogl/cogl-pipeline.c | 8 ++++----
4369 1 file changed, 4 insertions(+), 4 deletions(-)
4371 commit acd3d615686f8b10589ac57b7fb16b4f968ae3fb
4372 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4373 Date: Wed Dec 8 14:26:27 2010 +0000
4375 docs: Fix listitem tag
4377 clutter/clutter-color.c | 2 +-
4378 1 file changed, 1 insertion(+), 1 deletion(-)
4380 commit c454526bbbd91224ab3fa580d80bf937b912d2cc
4381 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4382 Date: Wed Dec 8 13:59:53 2010 +0000
4384 docs: Clean up clutter_color_from_string()
4386 Add hsl() and hsla() formats, and clean up the wording.
4388 clutter/clutter-color.c | 54 ++++++++++++++++++++++++++++++++---------------
4389 1 file changed, 37 insertions(+), 17 deletions(-)
4391 commit ca7dc2f951f1d5cc59c364a186aa065449c2b85f
4392 Author: Neil Roberts <neil@linux.intel.com>
4393 Date: Tue Dec 7 23:32:47 2010 +0000
4395 cogl-backend-egl: Chain up to the X11 backend init_events
4397 Since c6493885c3f18 when building the EGL backend for eglx there was
4398 no fallback in the init_events implementation so the X11 backend init
4399 function would never get called. This was stopping it from receiving
4400 any X events so a lot of things broke. It now just chains up.
4402 clutter/egl/clutter-backend-egl.c | 5 +++++
4403 1 file changed, 5 insertions(+)
4405 commit b0751d234240aa5e7899dedba22c607e75f5ad81
4406 Author: Damien Lespiau <damien.lespiau@intel.com>
4407 Date: Tue Dec 7 22:06:07 2010 +0000
4409 input-device: Downgrade over-zealous warning to note
4411 This warning is really harmless, we just discard the event anyway, let's
4412 demote it to a CLUTTER_NOTE() so event backend implementers can see it.
4414 clutter/clutter-input-device.c | 4 ++--
4415 1 file changed, 2 insertions(+), 2 deletions(-)
4417 commit f8fc194b3b3529bf4f3230cef00d5d0b042673bf
4418 Author: Neil Roberts <neil@linux.intel.com>
4419 Date: Tue Dec 7 11:02:21 2010 +0000
4421 clutter-score: Initialize ClutterScoreEntry::complete_id
4423 When clutter_score_append_at_marker is called instead of
4424 clutter_score_append the complete_id field of ClutterScoreEntry was
4425 being left uninitialised. When the entry is eventually freed it would
4426 sometimes try to disconnect an invalid signal id. This was causing
4427 conformance test failures for me on GLES2.
4429 clutter/clutter-score.c | 1 +
4430 1 file changed, 1 insertion(+)
4432 commit 9d836d8ce5d95749e1b3562f1cab77d9ac27cb1e
4433 Author: Robert Bragg <robert@linux.intel.com>
4434 Date: Tue Dec 7 16:44:36 2010 +0000
4436 context: only declare arbfp cache for GL
4438 We were trying to declare and initializing an arbfp program cache for
4439 GLES but since the prototypes for the _hash and _equal functions were
4440 only available for GL this broke the GLES builds. By #ifdefing the code
4441 to conditionally declare/initialize for GL only this should hopefully
4444 clutter/cogl/cogl/cogl-context.c | 4 ++++
4445 clutter/cogl/cogl/cogl-context.h | 2 ++
4446 2 files changed, 6 insertions(+)
4448 commit 67c2a1b29fa679f3a86b8ee4cae682de8391397b
4449 Author: Robert Bragg <robert@linux.intel.com>
4450 Date: Tue Dec 7 16:36:44 2010 +0000
4452 pipeline: remove spurious use of True instead of TRUE
4454 The constant 'True' is defined by Xlib which isn't used for all clutter
4455 builds so this replaces occurrences of True with TRUE which is defined
4456 by glib. This should hopefully fix the win32 builds.
4458 clutter/cogl/cogl/cogl-pipeline.c | 4 ++--
4459 1 file changed, 2 insertions(+), 2 deletions(-)
4461 commit 464ed7e6b7c35248c03fd0a03a8e8087e7b5e274
4462 Author: Robert Bragg <robert@linux.intel.com>
4463 Date: Fri Dec 3 12:01:18 2010 +0000
4465 arbfp: Adds an ARBfp program cache
4467 This adds a cache (A GHashTable) of ARBfp programs and before ever
4468 starting to code-generate a new program we will always first try and
4469 find an existing program in the cache. This uses _cogl_pipeline_hash and
4470 _cogl_pipeline_equal to hash and compare the keys for the cache.
4472 There is a new COGL_DEBUG=disable-program-caches option that can disable
4473 the cache for debugging purposes.
4475 clutter/cogl/cogl/cogl-context.c | 6 ++
4476 clutter/cogl/cogl/cogl-context.h | 2 +
4477 clutter/cogl/cogl/cogl-debug-options.h | 5 +
4478 clutter/cogl/cogl/cogl-debug.c | 8 +-
4479 clutter/cogl/cogl/cogl-debug.h | 3 +-
4480 clutter/cogl/cogl/cogl-pipeline-arbfp-private.h | 6 ++
4481 clutter/cogl/cogl/cogl-pipeline-arbfp.c | 111 +++++++++++++++++++----
4482 7 files changed, 118 insertions(+), 23 deletions(-)
4484 commit e87c3820ee729930d4a7b84f4737b99eb26ad03d
4485 Author: Robert Bragg <robert@linux.intel.com>
4486 Date: Thu Nov 4 13:57:36 2010 +0000
4488 pipeline: Implements _cogl_pipeline_hash function
4490 This allows us to get a hash for a set of state groups for a given
4491 pipeline. This can be used for example to get a hash of the fragment
4492 processing state of a pipeline so we can implement a cache for compiled
4493 arbfp/glsl programs.
4495 clutter/cogl/cogl/cogl-color-private.h | 5 +
4496 clutter/cogl/cogl/cogl-context.c | 2 +
4497 clutter/cogl/cogl/cogl-pipeline-private.h | 18 +-
4498 clutter/cogl/cogl/cogl-pipeline.c | 520 +++++++++++++++++++++++++++++
4499 clutter/cogl/cogl/cogl-util.c | 9 +
4500 clutter/cogl/cogl/cogl-util.h | 27 ++
4501 6 files changed, 580 insertions(+), 1 deletion(-)
4503 commit cc36e49ec5f06f608380fba24682a69e9b0d0a1a
4504 Author: Robert Bragg <robert@linux.intel.com>
4505 Date: Fri Dec 3 11:36:49 2010 +0000
4507 pipeline: generalize _cogl_pipeline_equal
4509 _cogl_pipeline_equal now accepts a mask of pipeline differences and layer
4510 differences to constrain what state will be compared. In addition a set
4511 of flags are passed that can tweak the comparison semantics for some
4512 state groups. For example when comparing layer textures we sometimes
4513 only need to compare the texture target and can ignore the data itself.
4515 In updating the code this patch also changes it so all required pipeline
4516 authorities are resolved in one step up-front instead of resolving the
4517 authority for each state group in turn and repeatedly having to traverse
4518 the pipeline's ancestry. This adds two new functions
4519 _cogl_pipeline_resolve_authorities and
4520 _cogl_pipeline_layer_resolve_authorities to handle resolving a set of
4523 clutter/cogl/cogl/cogl-journal.c | 9 +-
4524 clutter/cogl/cogl/cogl-pipeline-private.h | 155 +++++++++++-----
4525 clutter/cogl/cogl/cogl-pipeline.c | 287 ++++++++++++++++++++---------
4526 3 files changed, 312 insertions(+), 139 deletions(-)
4528 commit 62b051951c80c31ee6874a1d156ce889350ce8be
4529 Author: Robert Bragg <robert@linux.intel.com>
4530 Date: Tue Dec 7 12:13:10 2010 +0000
4532 docs: don't dist cogl-2.0 manual if not built
4534 If not configured with --enable-cogl2-reference then don't try and dist
4535 the doc/references/cogl-2.0 manual. Although this means a tarball built
4536 this way will not be able to build the experimental cogl-2.0 manual this
4537 isn't considered a big problem since anyone interested in this would
4538 hopefully be tracking git for now or we can simply be careful to
4539 configure with --enable-cogl2-reference for our tarball releases.
4541 doc/reference/Makefile.am | 7 ++++++-
4542 1 file changed, 6 insertions(+), 1 deletion(-)
4544 commit ff646b7fc3e4528836f415e4087ee30c6547ad7d
4545 Author: Robert Bragg <robert@linux.intel.com>
4546 Date: Wed Dec 1 16:53:08 2010 +0000
4548 pipeline: remove layer->backend_priv[] array
4550 This removes the unused array of per-packend priv data pointers
4551 associated with every CoglPipelineLayer. This reduces the size of all
4552 layer allocations and avoids having to zero an array for each
4553 _cogl_pipeline_layer_copy.
4555 clutter/cogl/cogl/cogl-pipeline-arbfp.c | 1 -
4556 clutter/cogl/cogl/cogl-pipeline-glsl.c | 3 +--
4557 clutter/cogl/cogl/cogl-pipeline-private.h | 9 ---------
4558 clutter/cogl/cogl/cogl-pipeline.c | 24 ------------------------
4559 4 files changed, 1 insertion(+), 36 deletions(-)
4561 commit 1180fd159edea9b3907c186d45013348c041b216
4562 Author: Robert Bragg <robert@linux.intel.com>
4563 Date: Wed Dec 1 16:37:25 2010 +0000
4565 cogl-object: remove un-used cogl_object_get_type
4567 A non-static function named cogl_object_get_type was inadvertently added
4568 during the addition of the CoglObject base type, but there is no public
4569 prototype in the headers and it's only referenced inside cogl-object.c
4570 to implement cogl_handle_get_type() for compatibility. This removes the
4571 function since we don't want to commit to CoglObject always simply being
4572 a boxed type. In the future we may want to register hierarchical
4573 GTypeInstance based types.
4575 clutter/cogl/cogl/cogl-object.c | 8 +-------
4576 1 file changed, 1 insertion(+), 7 deletions(-)
4578 commit ef02cb7ff203b12932697823fbcc59a7bd04ad4d
4579 Author: Robert Bragg <robert@linux.intel.com>
4580 Date: Mon Nov 29 21:42:06 2010 +0000
4582 matrix gtype: registers a boxed type for CoglMatrix
4584 To allow us to have gobject properties that accept a CoglMatrix value we
4585 need to register a GType. This adds a cogl_gtype_matrix_get_type function
4586 that will register a static boxed type called "CoglMatrix".
4588 This adds a new section to the reference manual for GType integration
4591 clutter/cogl/cogl/Makefile.am | 1 +
4592 clutter/cogl/cogl/cogl-gtype-private.h | 48 ++++++++++++++++++++++++++++++
4593 clutter/cogl/cogl/cogl-matrix.c | 7 +++++
4594 clutter/cogl/cogl/cogl-matrix.h | 16 ++++++++++
4595 clutter/cogl/cogl/cogl.h | 6 ++++
4596 doc/reference/cogl-2.0/cogl-docs.xml.in | 6 ++++
4597 doc/reference/cogl-2.0/cogl-sections.txt | 6 +++-
4598 doc/reference/cogl/cogl-docs.xml.in | 1 +
4599 doc/reference/cogl/cogl-sections.txt | 6 ++++
4600 9 files changed, 96 insertions(+), 1 deletion(-)
4602 commit c29a7526c040209a5ca0bb327f1df6a98c4d88aa
4603 Author: Robert Bragg <robert@linux.intel.com>
4604 Date: Mon Nov 29 18:47:10 2010 +0000
4606 matrix: Adds matrix_copy and _free functions
4608 As a pre-requisite for being able to register a boxed GType for
4609 CoglMatrix (enabling us to define gobject properties that accept a
4610 CoglMatrix) this adds cogl_matrix_copy and _free functions.
4612 clutter/cogl/cogl/cogl-matrix.c | 15 +++++++++++++++
4613 clutter/cogl/cogl/cogl-matrix.h | 27 +++++++++++++++++++++++++++
4614 2 files changed, 42 insertions(+)
4616 commit 3edd02841b5748bbad0977ba9ccd91d65651f819
4617 Author: Robert Bragg <robert@linux.intel.com>
4618 Date: Fri Dec 3 16:59:52 2010 +0000
4620 pipeline simple optimization for _needs_blending_enabled
4622 In _cogl_pipeline_needs_blending_enabled after first checking whether
4623 the property most recently changed requires blending we would then
4624 resort to checking all other properties too in case some other state
4625 also requires blending. We now avoid checking all other properties in
4626 the case that blending was previously disabled and checking the property
4627 recently changed doesn't require blending.
4629 Note: the plan is to improve this further by explicitly keeping track
4630 of the properties that currently cause blending to be enabled so that we
4631 never have to resort to checking all other properties we can constrain
4632 the checks to those masked properties.
4634 clutter/cogl/cogl/cogl-pipeline.c | 17 +++++++++++++----
4635 1 file changed, 13 insertions(+), 4 deletions(-)
4637 commit 9ff191bd3bfba0000547c3082e7fe6c57152bbe5
4638 Author: Robert Bragg <robert@linux.intel.com>
4639 Date: Fri Dec 3 16:56:54 2010 +0000
4641 pipeline: inline _get_parent and _get_authority
4643 This moves _cogl_pipeline_get_parent and _cogl_pipeline_get_authority
4644 into cogl-pipeline-private.h so they can be inlined since they have been
4645 seen to get quite high in profiles. Given that they both contain such
4646 small amounts of code the function call overhead is significant.
4648 clutter/cogl/cogl/cogl-pipeline-private.h | 17 +++++++++++++++++
4649 clutter/cogl/cogl/cogl-pipeline.c | 17 -----------------
4650 2 files changed, 17 insertions(+), 17 deletions(-)
4652 commit 3fa91efea84c2c442fcc92e8ed0df711d7e67988
4653 Author: Neil Roberts <neil@linux.intel.com>
4654 Date: Wed Nov 10 14:02:31 2010 +0000
4656 Add a COGL_DEBUG option to disable software clipping
4658 This adds a debug option called disable-software-clipping which causes
4659 the journal to always log the clip stack state rather than trying to
4660 manually clip rectangles.
4662 clutter/cogl/cogl/cogl-debug-options.h | 5 +++++
4663 clutter/cogl/cogl/cogl-debug.c | 3 ++-
4664 clutter/cogl/cogl/cogl-debug.h | 3 ++-
4665 clutter/cogl/cogl/cogl-journal.c | 23 +++++++++++++----------
4666 4 files changed, 22 insertions(+), 12 deletions(-)
4668 commit 62c893feee386223aebbab781171028db547d7f9
4669 Author: Neil Roberts <neil@linux.intel.com>
4670 Date: Tue Nov 9 19:18:37 2010 +0000
4672 cogl-journal: Attempt to clip manually to avoid breaking up batches
4674 Before flushing the journal there is now a separate iteration that
4675 will try to determine if the matrix of the clip stack and the matrix
4676 of the rectangle in each entry are on the same plane. If they are it
4677 can completely avoid the clip stack and instead manually modify the
4678 vertex and texture coordinates to implement the clip. The has the
4679 advantage that it won't break up batching if a single clipped
4680 rectangle is used in a scene.
4682 The software clip is only used if there is no user program and no
4683 texture matrices. There is a threshold to the size of the batch where
4684 it is assumed that it is worth the cost to break up a batch and
4685 program the GPU to do the clipping. Currently this is set to 8
4686 although this figure is plucked out of thin air.
4688 To check whether the two matrices are on the same plane it tries to
4689 determine if one of the matrices is just a simple translation of the
4690 other. In the process of this it also works out what the translation
4691 would be. These values can be used to translate the clip rectangle
4692 into the coordinate space of the rectangle to be logged. Then we can
4693 do the clip directly in the rectangle's coordinate space.
4695 clutter/cogl/cogl/cogl-context.c | 3 +
4696 clutter/cogl/cogl/cogl-context.h | 1 +
4697 clutter/cogl/cogl/cogl-journal-private.h | 2 +
4698 clutter/cogl/cogl/cogl-journal.c | 363 +++++++++++++++++++++++++++++-
4699 4 files changed, 363 insertions(+), 6 deletions(-)
4701 commit be63fcee7ff2ef33d25efd873f9a9b79856e1577
4702 Author: Neil Roberts <neil@linux.intel.com>
4703 Date: Tue Nov 9 19:09:25 2010 +0000
4705 cogl-clip-stack: Move the struct definitions to the header
4707 It will be useful to be able to directly examine the contents of the
4708 clip stack within the journal code.
4710 clutter/cogl/cogl/cogl-clip-stack.c | 112 ----------------------------------
4711 clutter/cogl/cogl/cogl-clip-stack.h | 114 +++++++++++++++++++++++++++++++++++
4712 2 files changed, 114 insertions(+), 112 deletions(-)
4714 commit dc0506a1649bcea4997a68013927529451131712
4715 Author: Neil Roberts <neil@linux.intel.com>
4716 Date: Tue Nov 9 12:01:04 2010 +0000
4718 cogl-clip-stack: Don't convert rect clips to window clips
4720 Previously in cogl-clip-state.c when it detected that the current
4721 modelview matrix is screen-aligned it would convert the clip entry to
4722 a window clip. Instead of doing this cogl-clip-stack.c now contains
4723 the detection and keeps the entry as a rectangle clip but marks that
4724 it is entirely described by its scissor rect. When flusing the clip
4725 stack it doesn't do anything extra for entries that have this mark
4726 (because the clip will already been setup by the scissor). This is
4727 needed so that we can still track the original rectangle coordinates
4728 and modelview matrix to help detect when it would be faster to modify
4729 the rectangle when adding it to the journal rather than having to
4730 break up the batch to set the clip state.
4732 clutter/cogl/cogl/cogl-clip-stack.c | 109 ++++++++++++++++++++++++++---------
4733 clutter/cogl/cogl/cogl-clip-state.c | 55 ------------------
4734 2 files changed, 83 insertions(+), 81 deletions(-)
4736 commit 22be07c3b5ec7d8d5e5e0447599425026cbb7bd8
4737 Author: Neil Roberts <neil@linux.intel.com>
4738 Date: Thu Nov 25 21:08:45 2010 +0000
4740 cogl-journal: Defer expanding the vertices until uploading
4742 When logging a quad we now only store the 2 vertices representing the
4743 top left and bottom right of the quad. The color is only stored once
4744 per entry. Once we come to upload the data we expand the 2 vertices
4745 into four and copy the color to each vertex. We do this by mapping the
4746 buffer and directly expanding into it. We have to copy the data before
4747 we can render it anyway so it doesn't make much sense to expand the
4748 vertices before uploading and this way should save some space in the
4749 size of the journal. It also makes it slightly easier if we later want
4750 to do pre-processing on the journal entries before uploading such as
4751 doing software clipping.
4753 The modelview matrix is now always copied to the journal entry whereas
4754 before it would only be copied if we aren't doing software
4755 transform. The journal entry struct always has the space for the
4756 modelview matrix so hopefully it's only a small cost to copy the
4759 The transform for the four entries is now done using
4760 cogl_matrix_transform_points which may be slightly faster than
4761 transforming them each individually with a call to
4762 cogl_matrix_transfom.
4764 clutter/cogl/cogl/cogl-context.h | 1 +
4765 clutter/cogl/cogl/cogl-journal.c | 273 ++++++++++++++++++++++++--------------
4766 2 files changed, 173 insertions(+), 101 deletions(-)
4768 commit a7d88e15270e73025b19f745f21473b832fb1754
4769 Author: Neil Roberts <neil@linux.intel.com>
4770 Date: Thu Dec 2 21:08:30 2010 +0000
4772 Revert "cogl: Remove the generated array size for cogl_tex_coord_in"
4774 This reverts commit 4cfe90bde275dbb952645397aa2ba2d6f6e2f3ba.
4776 GLSL 1.00 on GLES doesn't support unsized arrays so the whole idea
4781 clutter/cogl/cogl/cogl-pipeline-glsl.c
4783 clutter/cogl/cogl/cogl-context.c | 2 +-
4784 clutter/cogl/cogl/cogl-pipeline-arbfp.c | 3 +-
4785 clutter/cogl/cogl/cogl-pipeline-fixed.c | 3 +-
4786 clutter/cogl/cogl/cogl-pipeline-glsl.c | 52 ++++-
4787 clutter/cogl/cogl/cogl-pipeline-opengl-private.h | 3 +-
4788 clutter/cogl/cogl/cogl-pipeline-opengl.c | 6 +-
4789 clutter/cogl/cogl/cogl-pipeline-private.h | 3 +-
4790 clutter/cogl/cogl/cogl-shader-boilerplate.h | 1 -
4791 clutter/cogl/cogl/cogl-shader-private.h | 6 +
4792 clutter/cogl/cogl/cogl-shader.c | 229 ++++++++++++++++------
4793 clutter/cogl/cogl/cogl-vertex-attribute.c | 4 +-
4794 clutter/cogl/cogl/cogl.c | 9 +-
4795 clutter/cogl/cogl/cogl2-path.c | 4 +-
4796 13 files changed, 250 insertions(+), 75 deletions(-)
4798 commit e0ce4cee8c6fb8d40d565cf3890942a0bc898bc0
4799 Author: Damien Lespiau <damien.lespiau@intel.com>
4800 Date: Thu Dec 2 15:46:40 2010 +0000
4802 win32: export TARGET and ROOT_DIR in env.sh
4804 So children of the shell sourcing it can use them (eg. buildbot slaves)
4806 build/mingw/mingw-cross-compile.sh | 4 ++--
4807 1 file changed, 2 insertions(+), 2 deletions(-)
4809 commit c1878316e02dce0ff10c8e81ee3fa3b6ea9bb9cb
4810 Author: Damien Lespiau <damien.lespiau@intel.com>
4811 Date: Thu Dec 2 15:41:43 2010 +0000
4813 win32: Detect the mingw32 cross compiler on Fedora
4815 Fedora mingw32 cross compiler is prefix with i686-pc-mingw32-.
4817 build/mingw/mingw-cross-compile.sh | 2 +-
4818 1 file changed, 1 insertion(+), 1 deletion(-)
4820 commit e73d5b30bbb927eae5ae2cd270df9d79c821c109
4821 Author: Damien Lespiau <damien.lespiau@intel.com>
4822 Date: Thu Dec 2 14:03:01 2010 +0000
4824 win32: Update glib and cairo version in mingw-cross-compile.sh
4826 Clutter has moved on and now depends on glib 2.26 and cairo 1.10
4827 (for cairo-gobject).
4829 build/mingw/mingw-cross-compile.sh | 4 ++--
4830 1 file changed, 2 insertions(+), 2 deletions(-)
4832 commit dd5431ef382a59337cfda04bc31cebc28085f17f
4833 Author: Neil Roberts <neil@linux.intel.com>
4834 Date: Thu Dec 2 16:30:55 2010 +0000
4836 cogl-pipeline-glsl: Fix reusing shaders for shared ancestors
4838 The check for whether we can reuse a program we've already generated
4839 was only being done if the pipeline already had a
4840 glsl_program_state. When there is no glsl_program_state it then looks
4841 for the nearest ancestor it can share the program with. It then
4842 wasn't checking whether that ancestor already had a GL program so it
4843 would start generating the source again. It wouldn't however compile
4844 that source again because _cogl_pipeline_backend_glsl_end does check
4845 whether there is already a program. This patch moves the check until
4846 after it has found the glsl_program_state, whether or not it was found
4847 from an ancestor or as its own state.
4849 clutter/cogl/cogl/cogl-pipeline-glsl.c | 32 +++++++++++++++-----------------
4850 1 file changed, 15 insertions(+), 17 deletions(-)
4852 commit 4cfe90bde275dbb952645397aa2ba2d6f6e2f3ba
4853 Author: Neil Roberts <neil@linux.intel.com>
4854 Date: Thu Dec 2 12:27:29 2010 +0000
4856 cogl: Remove the generated array size for cogl_tex_coord_in
4858 Under GLES2 we were defining the cogl_tex_coord_in varying as an array
4859 with a size determined by the number of texture coordinate arrays
4860 enabled whenever the program is used. This meant that we may have to
4861 regenerate the shader with a different size if the shader is used with
4862 more texture coord arrays later. However in OpenGL the equivalent
4863 builtin varying gl_TexCoord is simply defined as:
4865 varying vec4 gl_TexCoord[]; /* <-- no size */
4867 GLSL is documented that if you declare an array with no size then you
4868 can only access it with a constant index and the size of the array
4869 will be determined by the highest index used. If you want to access it
4870 with a non-constant expression you need to redeclare the array
4871 yourself with a size.
4873 We can replicate the same behaviour in our Cogl shaders by instead
4874 declaring the cogl_tex_coord_in with no size. That way we don't have
4875 to pass around the number of tex coord attributes enabled when we
4876 flush a material. It also means that CoglShader can go back to
4877 directly uploading the source string to GL when cogl_shader_source is
4878 called so that we don't have to keep a copy of it around.
4880 If the user wants to access cogl_tex_coord_in with a non-constant
4881 index then they can simply redeclare the array themself. Hopefully
4882 developers will expect to have to do this if they are accustomed to
4883 the gl_TexCoord array.
4885 clutter/cogl/cogl/cogl-context.c | 2 +-
4886 clutter/cogl/cogl/cogl-pipeline-arbfp.c | 3 +-
4887 clutter/cogl/cogl/cogl-pipeline-fixed.c | 3 +-
4888 clutter/cogl/cogl/cogl-pipeline-glsl.c | 46 +----
4889 clutter/cogl/cogl/cogl-pipeline-opengl-private.h | 3 +-
4890 clutter/cogl/cogl/cogl-pipeline-opengl.c | 6 +-
4891 clutter/cogl/cogl/cogl-pipeline-private.h | 3 +-
4892 clutter/cogl/cogl/cogl-shader-boilerplate.h | 1 +
4893 clutter/cogl/cogl/cogl-shader-private.h | 6 -
4894 clutter/cogl/cogl/cogl-shader.c | 229 ++++++----------------
4895 clutter/cogl/cogl/cogl-vertex-attribute.c | 4 +-
4896 clutter/cogl/cogl/cogl.c | 9 +-
4897 clutter/cogl/cogl/cogl2-path.c | 4 +-
4898 13 files changed, 73 insertions(+), 246 deletions(-)
4900 commit 50849ac1fdc7840cced9aa1730b5d3f7fd4d5d02
4901 Author: Elliot Smith <elliot.smith@intel.com>
4902 Date: Tue Nov 30 16:52:01 2010 +0000
4904 cookbook: Use new API to reverse timeline
4906 clutter_timeline_set_reverse() can be used to
4907 automatically reverse a timeline's direction each time
4908 it completes, so use that in looping animation recipe and
4911 doc/cookbook/animations.xml | 25 ++++++++++++++------
4912 .../examples/animations-looping-implicit.c | 24 +------------------
4913 2 files changed, 19 insertions(+), 30 deletions(-)
4915 commit 4f17bf3bcc5c017ef14a876f172ba3b1c3590317
4916 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4917 Date: Tue Nov 30 18:55:38 2010 +0000
4919 keysyms: Update the list
4921 Add TouchpadOn and TouchpadOff from the X11 key symbols.
4923 clutter/clutter-keysyms-compat.h | 2 ++
4924 clutter/clutter-keysyms.h | 2 ++
4925 2 files changed, 4 insertions(+)
4927 commit 87a72d188e7d986686106859a4d4f229b20dfe7a
4928 Author: Neil Roberts <neil@linux.intel.com>
4929 Date: Wed Dec 1 15:48:37 2010 +0000
4931 cogl-pipeline: Fix comparing layer states for finding codgen authority
4933 When compiling for GLES2, the codegen is affected by state other than
4934 the layers. That means when we find an authority for the codegen state
4935 we can't directly look at authority->n_layers to determine the number
4936 of layers because it isn't necessarily the layer state authority. This
4937 patch changes it to use cogl_pipeline_get_n_layers instead. Once we
4938 have two authorities that differ in codegen state we then compare all
4939 of the layers to decide if they would affect codegen. However it was
4940 ignoring the fact that the authorities might also differ by the other
4941 codegen state. This path also adds an extra check for whether
4942 _cogl_pipeline_compare_differences contains any codegen bits other
4943 than COGL_PIPELINE_STATE_LAYERS.
4945 clutter/cogl/cogl/cogl-pipeline.c | 11 +++++++++--
4946 1 file changed, 9 insertions(+), 2 deletions(-)
4948 commit f620d53054e50e4ddcf656794a38d13c21d0dbf6
4949 Author: Neil Roberts <neil@linux.intel.com>
4950 Date: Wed Dec 1 14:39:28 2010 +0000
4952 cogl-pipeline: Fix the codgen authority for texture target changes
4954 When determining if a layer would require a different shader to be
4955 generated it needs to check a certain set of state changes and it
4956 needs to check whether the texture target is different. However it was
4957 checking whether texture texture was different only if the other state
4958 was also different which doesn't make any sense. It also only checked
4959 the texture difference if that was the only state change which meant
4960 that effectively the code was impossible to reach. Now it does the
4961 texture target check indepent of the other state changes.
4963 clutter/cogl/cogl/cogl-pipeline.c | 29 ++++++++++++++---------------
4964 1 file changed, 14 insertions(+), 15 deletions(-)
4966 commit a38fa7a2dfc3a169777ba172d145178b9b068d73
4967 Author: Neil Roberts <neil@linux.intel.com>
4968 Date: Tue Nov 30 22:28:38 2010 +0000
4970 cogl-pipeline-fixed: Use the correct state flag for combine constant
4972 The fixed pipeline backend wasn't correctly flushing the combine
4973 constant because it was using the wrong flag to determine if the
4974 combine constant has changed since the last flushed material.
4976 clutter/cogl/cogl/cogl-pipeline-fixed.c | 6 +++---
4977 1 file changed, 3 insertions(+), 3 deletions(-)
4979 commit 499a370ee326ea24fd0fff55466877a6f286d9fd
4980 Author: Neil Roberts <neil@linux.intel.com>
4981 Date: Tue Nov 30 22:17:17 2010 +0000
4983 cogl-pipeline-opengl: Fix enabling previously disabled units
4985 When enabling a unit that was disabled from a previous flush pipeline
4986 it was forgetting to rebind the right texture unit so it wouldn't
4987 work. This was causing the redhand to disappear when using the fixed
4988 function backend in test-cogl-multitexture if anything else is added
4991 clutter/cogl/cogl/cogl-pipeline-opengl.c | 1 +
4992 1 file changed, 1 insertion(+)
4994 commit 17a98875d33c872800c04c26338427970b88b308
4995 Author: Neil Roberts <neil@linux.intel.com>
4996 Date: Tue Nov 30 22:15:40 2010 +0000
4998 cogl-pipeline: Add more ignored state changes for program generation
5000 For shader generation backends we don't need to worry about changes to
5001 the texture object and changing the user matrix. The missing user
5002 matrix flag was causing test-cogl-multitexture to regenerate the
5005 clutter/cogl/cogl/cogl-pipeline-arbfp.c | 5 ++++-
5006 clutter/cogl/cogl/cogl-pipeline-glsl.c | 5 ++++-
5007 2 files changed, 8 insertions(+), 2 deletions(-)
5009 commit 1564418b3feb9ab010c225129bc1b79b7c882318
5010 Author: Damien Lespiau <damien.lespiau@intel.com>
5011 Date: Tue Nov 30 16:36:56 2010 +0000
5013 cogl: Revert "build: Remove unused variable"
5015 Having ctx here produces a warning on GLES. However it's needed for Big
5016 GL as we have at the top of the file:
5019 #define glClientActiveTexture ctx->drv.pf_glClientActiveTexture
5022 This reverts commit 27a3a2056a245aca64b8e3a7d82b7976c13e897a.
5024 clutter/cogl/cogl/cogl.c | 2 ++
5025 1 file changed, 2 insertions(+)
5027 commit 8ee91794477c82171e0b165fb9e10655798682a0
5028 Author: Damien Lespiau <damien.lespiau@intel.com>
5029 Date: Tue Nov 30 16:22:49 2010 +0000
5031 egl: Fix compilation with EGLX
5033 That what happens when you test things only with 2 configure options
5034 instead of 3. The 2 tested compile, the third one breaks. Another good
5035 catch for the eglx bot!
5037 clutter/egl/clutter-backend-egl.c | 4 ++++
5038 1 file changed, 4 insertions(+)
5040 commit bbbd91e581ca6d7408c1f6fa2f1b6d50d2c4db2b
5041 Author: Damien Lespiau <damien.lespiau@intel.com>
5042 Date: Tue Nov 30 16:03:26 2010 +0000
5044 cogl: Fix unused variable warning with GLES2
5046 This shader variable is only used with big GL.
5048 clutter/cogl/cogl/cogl-shader.c | 2 ++
5049 1 file changed, 2 insertions(+)
5051 commit 9ad55edf24f74353c095153e370d6f648f4e5593
5052 Author: Damien Lespiau <damien.lespiau@intel.com>
5053 Date: Tue Nov 30 10:06:12 2010 -0500
5055 egl: Don't try to use stage_x11 with non-X winsys
5057 The access to stage_x11 has to be protected by COGL_HAS_X11_SUPPORT.
5059 clutter/egl/clutter-stage-egl.c | 7 +++++--
5060 1 file changed, 5 insertions(+), 2 deletions(-)
5062 commit 4ceb95d2ca5f5a52a77bfcada47d5befc6ab1fd1
5063 Author: Damien Lespiau <damien.lespiau@intel.com>
5064 Date: Tue Nov 30 14:50:13 2010 +0000
5066 evdev: Add a comment to revisit the GSource management with glib 2.28
5068 With glib 2.28, we'll be able to have one GSource per device manager
5069 with child sources for earch device. Make a note to update the code
5072 clutter/evdev/clutter-device-manager-evdev.c | 7 ++++++-
5073 1 file changed, 6 insertions(+), 1 deletion(-)
5075 commit 27a3a2056a245aca64b8e3a7d82b7976c13e897a
5076 Author: Damien Lespiau <damien.lespiau@intel.com>
5077 Date: Fri Nov 19 14:51:39 2010 -0500
5079 build: Remove unused variable
5081 and be 100% warning free again.
5083 clutter/cogl/cogl/cogl.c | 2 --
5084 1 file changed, 2 deletions(-)
5086 commit 9ba5447c9bbbd93808a56d9968b2e60f20bbd328
5087 Author: Damien Lespiau <damien.lespiau@intel.com>
5088 Date: Fri Nov 19 14:31:51 2010 -0500
5090 evdev: Enable the compilation of the evdev backend for eglnative
5092 Not tested (but checked that it compiles).
5094 There's no reason to only enable the check for the cex100. Hopefully
5097 We make sure not to enable both the evdev and the tslib backend at the
5098 same time as the DeviceManager is a singleton and we can't have both
5099 subclasses at the same time for now.
5101 configure.ac | 17 +++++++++++++++--
5102 1 file changed, 15 insertions(+), 2 deletions(-)
5104 commit bce4c87232bea82560725fa44e079088d75a367f
5105 Author: Damien Lespiau <damien.lespiau@intel.com>
5106 Date: Fri Nov 19 14:19:52 2010 -0500
5108 evdev: Don't oveflow when translating buttons to masks
5110 An array is used to translate the button to its mask. Clutter defines
5111 the masks for button 1 to 5 but we report BTN_LEFT..BTN_TASK ie
5112 0x110..0x117. We need to pad the array for the translation not to access
5113 random data for buttons between 0x115 and 0x117.
5115 clutter/evdev/clutter-device-manager-evdev.c | 4 ++--
5116 1 file changed, 2 insertions(+), 2 deletions(-)
5118 commit ac431ac21db043d42fa5b0be604a155503846012
5119 Author: Damien Lespiau <damien.lespiau@intel.com>
5120 Date: Thu Nov 11 19:11:27 2010 -0500
5122 input-device: Warn if the device has no associated stage
5124 Discarding the event without any warning when the device has no
5125 associated stage makes it hard to find the bug for people implementing
5126 new event backends. We should really warn for that abnormal condition in
5127 _clutter_input_device_update().
5129 clutter/clutter-input-device.c | 8 ++++++--
5130 1 file changed, 6 insertions(+), 2 deletions(-)
5132 commit c20beabf93a97c3e0d58d8512aa5459ca670d3bf
5133 Author: Damien Lespiau <damien.lespiau@intel.com>
5134 Date: Thu Nov 11 19:07:35 2010 -0500
5136 evdev: Add mouse support
5138 We know support EV_REL events comming from evdev devices. This addition
5139 is pretty straigthforward, it adds a x,y per GSource listening to a
5140 evdev device, updates from EL_REL (relative) events and craft new
5141 ClutterMotionEvents. As for buttons, BTN_LEFT..BTN_TASK are translated
5142 to ClutterButtonEvents with 1..8 as button number.
5144 clutter/evdev/clutter-device-manager-evdev.c | 223 +++++++++++++++++++++++---
5145 tests/interactive/test-events.c | 8 +-
5146 2 files changed, 204 insertions(+), 27 deletions(-)
5148 commit 94c2812d720bbdd3db3d779f1f96438b65ae383d
5149 Author: Damien Lespiau <damien.lespiau@intel.com>
5150 Date: Tue Nov 9 13:14:37 2010 -0500
5152 evdev: Only create a xkbcommon mapping for keyboard devices
5154 clutter/evdev/clutter-device-manager-evdev.c | 44 ++++++++++++++++----------
5155 1 file changed, 27 insertions(+), 17 deletions(-)
5157 commit 7cd6ba282865491d1e60e830676a363c72f21c25
5158 Author: Damien Lespiau <damien.lespiau@intel.com>
5159 Date: Tue Nov 9 13:02:53 2010 -0500
5161 evdev: Close the device gracefully in case of a read() error
5163 Even with udev, the read fails before udev has a chance to signal the
5164 change. Hence (and to handle errors gracefully anyway), let's remove the
5165 device from the device manager in case of a read() error.
5167 clutter/evdev/clutter-device-manager-evdev.c | 20 +++++++++++++++++++-
5168 1 file changed, 19 insertions(+), 1 deletion(-)
5170 commit afd279dd7684bfd28b07cf668a1aaf213239cfd4
5171 Author: Damien Lespiau <damien.lespiau@intel.com>
5172 Date: Tue Nov 9 12:50:23 2010 -0500
5174 evdev: Merge clutter-event-evdev.[ch] into the device manager
5176 The device manager now fully owns the GSources corresponding to the
5177 devices it manages. This will allow not only to remove the source when
5178 udev signals a device removal but also handle read() errors gracefully
5179 by removing the faulty device from the manager.
5181 clutter/Makefile.am | 2 -
5182 clutter/egl/clutter-backend-egl.c | 1 -
5183 clutter/evdev/clutter-device-manager-evdev.c | 320 +++++++++++++++++++++-
5184 clutter/evdev/clutter-device-manager-evdev.h | 3 +
5185 clutter/evdev/clutter-event-evdev.c | 367 --------------------------
5186 clutter/evdev/clutter-event-evdev.h | 36 ---
5187 6 files changed, 321 insertions(+), 408 deletions(-)
5189 commit afee3b009cff5149a1a97aadb3d8009c7b4a26f8
5190 Author: Damien Lespiau <damien.lespiau@intel.com>
5191 Date: Tue Nov 9 11:56:26 2010 -0500
5193 evdev: Support hotplug (addition/removal) of evdev devices
5195 Just connect to the GUdevClient "uevent" signal and deals with
5196 "add"/"remove" commands. This drives the installation/removal of
5197 GSource to listen to the device.
5199 clutter/evdev/clutter-device-manager-evdev.c | 59 ++++++++++++++++++++++++++
5200 clutter/evdev/clutter-event-evdev.c | 49 +++++++++++++++++++++
5201 2 files changed, 108 insertions(+)
5203 commit b83a4813a4fbf6818bed9f15d8fcf1d7c3717c9a
5204 Author: Damien Lespiau <damien.lespiau@intel.com>
5205 Date: Mon Nov 8 11:38:16 2010 -0500
5207 evdev: Make sure we only add evdev devices
5209 Let's use the sysfs path of the device to make sure we only load evdev
5210 device, not legacy mousedev ones for instance. We rely on the sysfs
5211 API/ABI guarantees and look for devices finishing by /input%d/event%d.
5213 clutter/evdev/clutter-device-manager-evdev.c | 35 ++++++++++++++++++++------
5214 1 file changed, 28 insertions(+), 7 deletions(-)
5216 commit c6493885c3f18042f39273a2efa4fc3616d932b2
5217 Author: Damien Lespiau <damien.lespiau@intel.com>
5218 Date: Thu Nov 4 10:38:32 2010 -0400
5220 evdev: First stab at an evdev backend
5222 This backend is a event backend that can be enabled for EGL (for now).
5223 It uses udev (gudev) to query input devices on a linux system, listens to
5224 keyboard events from input devices and xkbcommon to translate raw key
5225 codes into key keysyms.
5227 This commit only supports key events, more to follow.
5229 clutter/Makefile.am | 20 ++
5230 clutter/clutter-device-manager-private.h | 1 +
5231 clutter/clutter-input-device.h | 8 +
5232 clutter/egl/clutter-backend-egl.c | 49 +++-
5233 clutter/egl/clutter-backend-egl.h | 6 +
5234 clutter/evdev/clutter-device-manager-evdev.c | 276 ++++++++++++++++++++++
5235 clutter/evdev/clutter-device-manager-evdev.h | 58 +++++
5236 clutter/evdev/clutter-event-evdev.c | 318 ++++++++++++++++++++++++++
5237 clutter/evdev/clutter-event-evdev.h | 36 +++
5238 clutter/evdev/clutter-input-device-evdev.c | 197 ++++++++++++++++
5239 clutter/evdev/clutter-input-device-evdev.h | 66 ++++++
5240 configure.ac | 12 +-
5241 12 files changed, 1034 insertions(+), 13 deletions(-)
5243 commit 9f5f62b4b53da3354b35789a8c04b83272252b3b
5244 Author: Damien Lespiau <damien.lespiau@intel.com>
5245 Date: Thu Nov 4 10:09:28 2010 -0400
5247 evdev: Fix the unicode_value for new ClutterEvents
5249 Looking at what the X11 backend does: the unicode value is being
5250 translated to the unicode codepoint of the symbol if possible. Let's do
5253 Before that, key events for say KEY_Right (0xff53) had the unicode_value
5254 set to the keysym, which meant "This key event is actually printable and
5255 is Unicode codepoint is 0xff53", which lead to interesting results.
5257 clutter/evdev/clutter-xkb-utils.c | 71 ++++++++++++++++++++++++++++++++++++-
5258 1 file changed, 70 insertions(+), 1 deletion(-)
5260 commit ef5256ec25e6261947e107256ce36ead42fcab88
5261 Author: Damien Lespiau <damien.lespiau@intel.com>
5262 Date: Thu Nov 4 06:59:22 2010 -0400
5264 evdev: Factor out the xkbcommon code from the wayland client backend
5266 The wayland client code has support for translating raw linux input
5267 device key codes coming from the wayland compositor into key symbols
5268 thanks to libxkbcommon.
5270 A backend directly listening to linux input devices (called evdev, just
5271 like the Xorg one) could use exactly the same code for the translation,
5272 so abstract it a bit in a separate file.
5274 clutter/Makefile.am | 11 ++-
5275 clutter/evdev/clutter-xkb-utils.c | 111 ++++++++++++++++++++++++
5276 clutter/evdev/clutter-xkb-utils.h | 41 +++++++++
5277 clutter/wayland/clutter-input-device-wayland.c | 46 +++-------
5278 4 files changed, 169 insertions(+), 40 deletions(-)
5280 commit b5a9de1a23a58c1d52f5a394696a8532dc42befe
5281 Author: Emmanuele Bassi <ebassi@linux.intel.com>
5282 Date: Tue Nov 30 10:35:17 2010 +0000
5284 moduleset: Add gstreamer and gst-plugins-good
5286 build/clutter.modules | 26 ++++++++++++++++++++++++++
5287 1 file changed, 26 insertions(+)
5289 commit 1d153fa860850e4d24df16a64b499a5690fbfeab
5290 Author: Emmanuele Bassi <ebassi@linux.intel.com>
5291 Date: Tue Nov 30 10:34:59 2010 +0000
5293 moduleset: Disable stand-alone Cally
5295 build/clutter.modules | 2 ++
5296 1 file changed, 2 insertions(+)
5298 commit 085962a361d1150f3f59a1e4925e89814a86c931
5299 Author: Emmanuele Bassi <ebassi@linux.intel.com>
5300 Date: Tue Nov 30 10:34:38 2010 +0000
5302 moduleset: Switch gtk2 to the 2.24 branch
5304 build/clutter.modules | 2 +-
5305 1 file changed, 1 insertion(+), 1 deletion(-)
5307 commit 5e085e8d7f26e5191d67657ae4eacf3dab2e9906
5308 Author: Emmanuele Bassi <ebassi@linux.intel.com>
5309 Date: Mon Nov 29 14:21:21 2010 +0000
5311 Post-release version bump to 1.5.9
5314 po/clutter-1.0.pot | 408 ++++++++++++++++++++++++++--------------------------
5315 po/de.po | 406 +++++++++++++++++++++++++--------------------------
5316 po/fr.po | 406 +++++++++++++++++++++++++--------------------------
5317 po/id.po | 406 +++++++++++++++++++++++++--------------------------
5318 po/it.po | 406 +++++++++++++++++++++++++--------------------------
5319 po/pl.po | 406 +++++++++++++++++++++++++--------------------------
5320 po/zh_CN.po | 406 +++++++++++++++++++++++++--------------------------
5321 8 files changed, 1423 insertions(+), 1423 deletions(-)
5323 commit 8cebec6bdcefe84c2c663fce380c24f5ac88cfa4
5324 Author: Emmanuele Bassi <ebassi@linux.intel.com>
5325 Date: Mon Nov 29 14:09:09 2010 +0000
5327 Release Clutter 1.5.8 (snapshot)
5330 1 file changed, 1 insertion(+), 1 deletion(-)
5332 commit d046df8e6f1c1dfdf4144b1cbe2494d71ac3adc4
5333 Author: Neil Roberts <neil@linux.intel.com>
5334 Date: Mon Nov 29 10:55:49 2010 +0000
5336 cogl-shader.c: Don't add the common boilerplate twice
5338 In 6246c2bd6 I moved the code to add the boilerplate to a shader to a
5339 separate function and also made it so that the common boilerplate is
5340 added as a separate string to glShaderSource. However I didn't notice
5341 that the #define for the vertex and fragment shaders already includes
5342 the common part so it was being added twice. Mesa seems to accept this
5343 but it was causing problems on the IMG driver because COGL_VERSION was
5346 clutter/cogl/cogl/cogl-shader.c | 8 ++------
5347 1 file changed, 2 insertions(+), 6 deletions(-)
5349 commit ae300dc8e08d28dad821f7c843fe2b01783efb5a
5350 Author: Neil Roberts <neil@linux.intel.com>
5351 Date: Mon Nov 29 10:51:40 2010 +0000
5353 cogl-pipeline-glsl: Use char* instead of GLchar*
5355 It appears that some GLES2 headers don't define GLchar and it works
5356 just as well to use a regular char.
5358 clutter/cogl/cogl/cogl-pipeline-glsl.c | 2 +-
5359 1 file changed, 1 insertion(+), 1 deletion(-)
5361 commit 08308fd3978dff227b8e0c8e1388a590bde29f25
5362 Author: Emmanuele Bassi <ebassi@linux.intel.com>
5363 Date: Mon Nov 29 12:23:14 2010 +0000
5367 clutter/clutter-color.c | 2 ++
5368 1 file changed, 2 insertions(+)
5370 commit 556c938b4d6d3cb4743e00d95c0347e483d847a2
5371 Author: Emmanuele Bassi <ebassi@linux.intel.com>
5372 Date: Mon Nov 29 12:01:20 2010 +0000
5377 1 file changed, 3 insertions(+), 1 deletion(-)
5379 commit 038fe708f86efda95237915f8bce7fd1afb3a262
5380 Merge: 67143bd c9d0f8b
5381 Author: Emmanuele Bassi <ebassi@linux.intel.com>
5382 Date: Mon Nov 29 11:56:36 2010 +0000
5384 Merge remote branch 'elliot/cookbook-animations-scaling'
5386 * elliot/cookbook-animations-scaling:
5387 cookbook: Add recipe for animated scaling of an actor
5388 cookbook: Add example of scaling a texture
5389 cookbook: Added "animated scaling" recipe skeleton
5390 cookbook: Added animated scaling example
5392 commit 67143bd846c2b39ce94779d7ab2b5bd48e58d1cd
5393 Author: Chris Lord <chris@linux.intel.com>
5394 Date: Thu Nov 25 15:11:42 2010 +0000
5396 text: Optimise get_preferred_height for single-line-mode
5398 Don't calculate an extra layout in clutter_text_get_preferred_height for
5399 single-line strings, when it's unnecessary. There's no need to set the
5400 width of a layout when in single-line mode, as wrapping will not happen.
5402 clutter/clutter-text.c | 5 ++++-
5403 1 file changed, 4 insertions(+), 1 deletion(-)
5405 commit e1b58d9407845a249bc59cd270be50d43d34126b
5406 Author: Emmanuele Bassi <ebassi@linux.intel.com>
5407 Date: Mon Nov 29 11:19:16 2010 +0000
5411 NEWS | 32 ++++++++++++++++++++++++++++++--
5412 1 file changed, 30 insertions(+), 2 deletions(-)
5414 commit 850a35f069368b645ceb8e027b6b27863dba308b
5415 Author: Emmanuele Bassi <ebassi@linux.intel.com>
5416 Date: Mon Nov 29 10:59:16 2010 +0000
5418 shader-effect: Remove unused function
5420 The reset_uniforms() internal function is not used any more because the
5421 CoglProgram cannot be reset post-creation - hence the uniforms cannot
5424 clutter/clutter-shader-effect.c | 50 +++++++++++++--------------------------
5425 1 file changed, 16 insertions(+), 34 deletions(-)
5427 commit 08087c965bf312513f98a53bf3220e92c372d131
5428 Author: Neil Roberts <neil@linux.intel.com>
5429 Date: Sat Nov 27 16:26:20 2010 +0000
5431 ClutterShaderEffect: Don't throw away the program for a new actor
5433 Previously when the shader effect is used with a new actor it would
5434 end up throwing away the old program. I don't think this is neccessary
5435 and it means if you use an effect to temporarily bind to an actor then
5436 it will recompile the shader whenever it is applied.
5438 http://bugzilla.clutter-project.org/show_bug.cgi?id=2454
5440 clutter/clutter-shader-effect.c | 42 ++++++++++++++++++---------------------
5441 1 file changed, 19 insertions(+), 23 deletions(-)
5443 commit 2dc9e0dc2941a1f805e71a656585037ced0ed721
5444 Author: Neil Roberts <neil@linux.intel.com>
5445 Date: Sat Nov 27 16:27:59 2010 +0000
5447 ClutterOffscreenEffect: Don't throw away the material for a new actor
5449 When a new actor is set for ClutterOffscreenEffect it would throw away
5450 the old material. I don't think there is anything specifically tied to
5451 the actor in the material so throwing away just loses Cogl's cached
5452 state about the material. This ends up relinking the shader every time
5453 a new actor is set in ClutterShaderEffect.
5455 http://bugzilla.clutter-project.org/show_bug.cgi?id=2454
5457 clutter/clutter-offscreen-effect.c | 6 ------
5458 1 file changed, 6 deletions(-)
5460 commit b63e9ee8f8717dbf73e15df1e9a9d115dcb45504
5461 Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
5462 Date: Sat Nov 27 16:07:01 2010 +0100
5464 Don't bail out from creating the FBO if we don't have it yet.
5466 This happens when reattaching an effect to another actor.
5468 http://bugzilla.clutter-project.org/show_bug.cgi?id=2453
5470 clutter/clutter-offscreen-effect.c | 3 ++-
5471 1 file changed, 2 insertions(+), 1 deletion(-)
5473 commit 47d63c1c550776de52841f3d5508f20b48f5d722
5474 Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
5475 Date: Sat Nov 27 16:04:50 2010 +0100
5477 Set the signal handler to 0 when disconnecting it.
5479 Otherwise we'll try to disconnect it again later.
5481 http://bugzilla.clutter-project.org/show_bug.cgi?id=2452
5483 clutter/clutter-actor-meta.c | 5 ++++-
5484 1 file changed, 4 insertions(+), 1 deletion(-)
5486 commit 215d87abe9ccfe98cbf0e5e73f5c8edf4106a7ce
5487 Author: Emmanuele Bassi <ebassi@linux.intel.com>
5488 Date: Mon Nov 29 08:55:13 2010 +0000
5490 shader-effect: Zero out ShaderUniform
5492 Do not use the compiler to zero the first field of the GValue member,
5493 since it's apparently non-portable. As we're allocating memory anyway we
5494 can let the slice allocator do the zero-ing for us.
5496 Mentioned in: http://bugzilla.clutter-project.org/show_bug.cgi?id=2455
5498 clutter/clutter-shader-effect.c | 3 +--
5499 1 file changed, 1 insertion(+), 2 deletions(-)
5501 commit 21e47d4280e27393d7510e232a1b1ee19b426032
5502 Author: Neil Roberts <neil@linux.intel.com>
5503 Date: Fri Nov 26 15:23:15 2010 +0000
5505 cogl_pipeline_equal: Fix the comparison for layer texture equality
5507 Before commit 49898d43 CoglPipeline would compare whether a pipeline
5508 layer's texture is equal by fetching the underlying GL handle. I
5509 changed that so that it would only compare the CoglHandles because
5510 that commit removes the GL handle texture overrides and sliced
5511 textures instead log the underlying primitive texture. However I
5512 forgot that the primitives don't always use
5513 _cogl_texture_foreach_sub_texture_in_region when the quad fits within
5514 the single texture so it won't use a texture override. This meant that
5515 atlas textures and sub textures get logged with the atlas handle so
5516 the comparison still needs to be done using the GL handles. It might
5517 be nice to add a CoglTexture virtual to get the underlying primitive
5518 texture instead to avoid having the pipeline poke around with GL
5521 clutter/cogl/cogl/cogl-pipeline.c | 9 ++++++++-
5522 1 file changed, 8 insertions(+), 1 deletion(-)
5524 commit b424bd75124c4dc34510b056376a7f04f4620e53
5525 Author: Robert Bragg <robert@linux.intel.com>
5526 Date: Mon Nov 1 13:53:16 2010 +0000
5528 tests: Adds test-cogl-perf micro benchmark
5530 This is mostly a stub, starting point for a one-stop Cogl
5531 micro-benchmarking tool. The first test it adds is one that tries to
5532 hammer the Cogl journal, but no doubt there are lots of other things we
5533 should be regularly testing. Currently the aim is that the tool will be
5534 able to also generate reports which we can collect to keep track of
5535 performance changes over time.
5537 tests/micro-bench/Makefile.am | 4 +-
5538 tests/micro-bench/test-cogl-perf.c | 161 ++++++++++++++++++++++++++++++++++++
5539 2 files changed, 164 insertions(+), 1 deletion(-)
5541 commit 58a467c9270ec325431fc963aa8a862ae69fcabf
5542 Author: Robert Bragg <robert@linux.intel.com>
5543 Date: Thu Nov 25 20:12:36 2010 +0000
5545 primitives: avoid leaking polygon override materials
5547 If we have to make override changes to the user's source material to
5548 handle cogl_polygon then we need to make sure we unref the override
5549 material at the end.
5551 clutter/cogl/cogl/cogl-primitives.c | 3 +++
5552 1 file changed, 3 insertions(+)
5554 commit 01b93537ab9743dfd6aa2f0c3d4499420ee860cd
5555 Author: Alexandre Quessy <alexandre@quessy.net>
5556 Date: Thu Nov 25 13:13:51 2010 -0500
5558 Fixed "the the" repetitions in some doc strings
5560 http://bugzilla.clutter-project.org/show_bug.cgi?id=2450
5562 clutter/clutter-actor.c | 6 +++---
5563 clutter/clutter-stage.c | 2 +-
5564 clutter/clutter-text.c | 2 +-
5565 clutter/cogl/cogl/cogl-fixed.c | 2 +-
5566 clutter/cogl/cogl/cogl-vertex-buffer.c | 2 +-
5567 doc/cookbook/animations.xml | 2 +-
5568 doc/cookbook/events.xml | 2 +-
5569 7 files changed, 9 insertions(+), 9 deletions(-)
5571 commit 3729e47ef68dd0f4257563985d784b687acce5d2
5572 Author: Robert Bragg <robert@linux.intel.com>
5573 Date: Thu Nov 25 13:19:59 2010 +0000
5575 pipeline: Simplify layer change notifications to backend
5577 Previously we used the layers->backend_priv[] members to determine when
5578 to notify backends about layer changes, but it entirely up to the
5579 backends if they want to associate private state with layers, even
5580 though they may still be interested in layer change notifications (they
5581 may associate layer related state with the owner pipeline).
5583 We now make the observation that in
5584 _cogl_pipeline_backend_layer_change_notify we should be able to assume
5585 there can only be one backend currently associated with the layer
5586 because we wouldn't allow changes to a layer with multiple dependants.
5587 This means we can determine the backend to notify by looking at the
5588 owner pipeline instead.
5590 clutter/cogl/cogl/cogl-pipeline.c | 22 ++++++++++------------
5591 1 file changed, 10 insertions(+), 12 deletions(-)
5593 commit 6ddb8397110f6e6998e0262e5d3dd604cd93d670
5594 Author: Neil Roberts <neil@linux.intel.com>
5595 Date: Thu Nov 25 10:56:50 2010 +0000
5597 clutter-offscreen-effect: Don't recreate the material when FBO changes
5599 Previously whenever the size of the FBO changes it would create a new
5600 material and attach the texture to it. This is not good for Cogl
5601 because it throws away any cached state for the material. In
5602 test-rotate the size of the FBO changes constantly so it effectively
5603 uses a new material every paint. For shader effects this also ends up
5604 relinking the shader every paint because the linked programs are part
5605 of the material state.
5607 clutter/clutter-offscreen-effect.c | 12 +++++-------
5608 1 file changed, 5 insertions(+), 7 deletions(-)
5610 commit 1b2a748d6c180454f0501859b4b02dc8c94d75e0
5611 Author: Neil Roberts <neil@linux.intel.com>
5612 Date: Wed Nov 24 18:37:47 2010 +0000
5614 cogl-context: Get rid of the features_cached member
5616 The features_cached member of CoglContext is intended to mark when
5617 we've calculated the features so that we know if they are ready in
5618 cogl_get_features. However we always intialize the features while
5619 creating the context so features_cached will never be FALSE so it's
5620 not useful. We also had the odd behaviour that the COGL_DEBUG feature
5621 overrides were only applied in the first call to
5622 cogl_get_features. However there are other functions that use the
5623 feature flags such as cogl_features_available that don't use this
5624 function so in some cases the feature flags will be interpreted before
5625 the overrides are applied. This patch makes it always initialize the
5626 features and apply the overrides immediately while creating the
5627 context. This fixes a problem with COGL_DEBUG=disable-arbfp where the
5628 first material flushed is done before any call to cogl_get_features so
5629 it may still use ARBfp.
5631 clutter/cogl/cogl/cogl-context.c | 24 +++++++++++++++++++++++-
5632 clutter/cogl/cogl/cogl-context.h | 1 -
5633 clutter/cogl/cogl/cogl.c | 24 ------------------------
5634 clutter/cogl/cogl/driver/gl/cogl-gl.c | 1 -
5635 clutter/cogl/cogl/driver/gles/cogl-gles.c | 1 -
5636 5 files changed, 23 insertions(+), 28 deletions(-)
5638 commit b9176e8672fa56cf627b3d47e06598338d32e5ea
5639 Author: Neil Roberts <neil@linux.intel.com>
5640 Date: Wed Nov 24 17:42:34 2010 +0000
5642 Lower the priority of the GLSL pipeline backend
5644 Now that the GLSL backend can generate code it can effectively handle
5645 any pipeline unless there is an ARBfp program. However with current
5646 open source GL drivers the ARBfp compiler is more stable so it makes
5647 sense to prefer ARBfp when possible. The GLSL backend is also lower
5648 than the fixed function backend on the assumption that any driver that
5649 supports GLSL will also support ARBfp so it's quicker to try the fixed
5650 function backend next.
5652 clutter/cogl/cogl/cogl-pipeline-private.h | 12 ++++++------
5653 1 file changed, 6 insertions(+), 6 deletions(-)
5655 commit d19f6212ce84894a79554f183d001deb25464721
5656 Author: Neil Roberts <neil@linux.intel.com>
5657 Date: Wed Nov 24 17:29:00 2010 +0000
5659 Add a COGL_DEBUG option to disable the fixed function pipeline backend
5661 This adds COGL_DEBUG=disable-fixed to disable the fixed function
5662 pipeline backend. This is needed to test the GLSL shader generation
5663 because otherwise the fixed function backend would always override it.
5665 clutter/cogl/cogl/cogl-debug-options.h | 5 +++++
5666 clutter/cogl/cogl/cogl-debug.c | 1 +
5667 clutter/cogl/cogl/cogl-debug.h | 15 ++++++++-------
5668 clutter/cogl/cogl/cogl-pipeline-fixed.c | 3 +++
5669 4 files changed, 17 insertions(+), 7 deletions(-)
5671 commit 577d65c2c964aba9046aa07ef76aaf1a99c32b70
5672 Author: Neil Roberts <neil@linux.intel.com>
5673 Date: Wed Nov 24 17:33:07 2010 +0000
5675 Don't use the fixed function backend if there is a user program
5677 The fixed function pipeline backend can't handle a user program so it
5678 should bail out if one is given.
5680 clutter/cogl/cogl/cogl-pipeline-fixed.c | 6 ++++++
5681 1 file changed, 6 insertions(+)
5683 commit aa498072e075cc1ef4a85a0d14fb7b78ba749e3a
5684 Author: Neil Roberts <neil@linux.intel.com>
5685 Date: Wed Nov 24 17:37:55 2010 +0000
5687 Add a warning message when no usable Cogl pipeline backend is found
5689 If none of the pipeline backends can handle the state then it now
5690 displays a warning so the developer has a chance to work out what's
5693 clutter/cogl/cogl/cogl-pipeline-opengl.c | 3 +++
5694 1 file changed, 3 insertions(+)
5696 commit 289e880efd4b7e2434619cbbe18ae444d4c52fd8
5697 Author: Neil Roberts <neil@linux.intel.com>
5698 Date: Wed Nov 24 15:30:56 2010 +0000
5700 cogl-pipeline-glsl: Don't use gl_PointCoord on OpenGL
5702 We don't want to use gl_PointCoord to implement point sprites on big
5703 GL because in that case we already use glTexEnv(GL_COORD_REPLACE) to
5704 replace the texture coords with the point sprite coords. Although GL
5705 also supports the gl_PointCoord variable, it requires GLSL 1.2 which
5706 would mean we would have to declare the GLSL version and check for
5707 it. We continue to use gl_PointCoord for GLES2 because it has no
5710 clutter/cogl/cogl/cogl-pipeline-glsl.c | 9 ++++++++-
5711 1 file changed, 8 insertions(+), 1 deletion(-)
5713 commit 9c32d07453fbc06c44e8c0fca6ef6e85f23ebf0b
5714 Author: Neil Roberts <neil@linux.intel.com>
5715 Date: Sat Jul 17 14:11:02 2010 +0100
5717 Add a conformance test that uses a vertex shader with no frag shader
5719 This creates a material which users a layer to override the color of
5720 the rectangle. A simple vertex shader is then created which just
5721 emulates the fixed function pipeline. No fragment shader is
5722 added. This demonstrates a bug where the layer state is getting
5723 ignored when a vertex shader is in use.
5725 http://bugzilla.clutter-project.org/show_bug.cgi?id=2221
5727 tests/conform/Makefile.am | 1 +
5728 tests/conform/test-cogl-just-vertex-shader.c | 135 ++++++++++++++++++++++++++
5729 tests/conform/test-conform-main.c | 2 +
5730 3 files changed, 138 insertions(+)
5732 commit a50010fb408294dce2d1205fe3a70aeead39c192
5733 Author: Neil Roberts <neil@linux.intel.com>
5734 Date: Tue Nov 23 14:47:17 2010 +0000
5736 Remove the fragment shader generation from the GLES2 wrapper
5738 The GLES2 wrapper no longer needs to generate any fragment shader
5739 state because the GLSL pipeline backend will always give the wrapper a
5740 custom fragment shader. This simplifies a lot of the state comparison
5741 done by the wrapper. The fog generation is also removed even though
5742 it's actually part of the vertex shader because only the fixed
5743 function pipeline backend actually calls the fog functions so it would
5744 be disabled when using any of the other backends anyway. We can fix
5745 this when the two shader backends also start generating vertex
5748 clutter/cogl/cogl/Makefile.am | 5 +-
5749 clutter/cogl/cogl/cogl-pipeline-opengl.c | 8 +
5750 .../driver/gles/cogl-fixed-fragment-shader.glsl | 64 --
5751 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 737 +-------------------
5752 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.h | 69 +-
5753 5 files changed, 22 insertions(+), 861 deletions(-)
5755 commit 987e3c32dc733b5f6942a10651750080730272e6
5756 Author: Neil Roberts <neil@linux.intel.com>
5757 Date: Tue Nov 23 14:51:49 2010 +0000
5759 Disable the fixed function backend for GLES2
5761 GLES2 doesn't really support fixed function so if we disable it we can
5762 remove the fixed function wrappers from the GLES2 Cogl backend.
5764 clutter/cogl/cogl/cogl-pipeline-fixed.c | 11 -----------
5765 clutter/cogl/cogl/cogl-pipeline-private.h | 4 +---
5766 clutter/cogl/cogl/cogl-pipeline.c | 2 ++
5767 3 files changed, 3 insertions(+), 14 deletions(-)
5769 commit 3504491b46246ffe912939defa17d013f9a27b46
5770 Author: Neil Roberts <neil@linux.intel.com>
5771 Date: Mon Nov 22 18:33:49 2010 +0000
5773 cogl-pipeline-glsl: Generate the alpha test snippet under GLES2
5775 GLES2 has no glAlphaFunc function so we need to simulate the behaviour
5776 in the fragment shader. The alpha test function is simulated with an
5777 if-statement and a discard statement. The reference value is stored as
5780 clutter/cogl/cogl/cogl-pipeline-glsl.c | 144 +++++++++++++++++++++++++++++++-
5781 1 file changed, 140 insertions(+), 4 deletions(-)
5783 commit c3582b77dfc553528e49a8f3a1373a787cf64648
5784 Author: Neil Roberts <neil@linux.intel.com>
5785 Date: Mon Nov 22 18:32:43 2010 +0000
5787 cogl-pipeline: Add getters for the alpha test state
5789 This adds two public functions:
5791 cogl_pipeline_get_alpha_test_function
5793 cogl_pipeline_get_alpha_test_reference.
5795 clutter/cogl/cogl/cogl-pipeline.c | 25 +++++++++++++++++++++++++
5796 clutter/cogl/cogl/cogl-pipeline.h | 22 ++++++++++++++++++++++
5797 2 files changed, 47 insertions(+)
5799 commit 959846326fa138d9611212f0e1c6626e187984b8
5800 Author: Neil Roberts <neil@linux.intel.com>
5801 Date: Mon Nov 22 18:29:50 2010 +0000
5803 cogl: Separate out state flags for the alpha test func and ref
5805 Previously the flag to mark the differences for the alpha test
5806 function and reference value were conflated into one. However this is
5807 awkward when generating shader code to simulate the alpha testing for
5808 GLES 2 because in that case changing the function would need a
5809 different program but changing the reference value just requires
5810 updating a uniform. This patch makes the function and reference have
5811 their own state flags.
5813 clutter/cogl/cogl/cogl-pipeline-opengl.c | 3 +-
5814 clutter/cogl/cogl/cogl-pipeline-private.h | 25 ++++---
5815 clutter/cogl/cogl/cogl-pipeline.c | 110 ++++++++++++++++++++++-------
5816 3 files changed, 102 insertions(+), 36 deletions(-)
5818 commit 124441aade679834ce7e34f38f9e10bd829aa76b
5819 Author: Neil Roberts <neil@linux.intel.com>
5820 Date: Mon Nov 22 16:44:11 2010 +0000
5822 Remove the disabling of layer constants for GLES2
5824 The GLSL shader generation supports layer combine constants so there's
5825 no need to disable it for GLES2. It looks like there was also code for
5826 it in the GLES2 wrapper so I'm not sure why it was disabled in the
5829 clutter/cogl/cogl/cogl-blend-string.c | 10 ----------
5830 1 file changed, 10 deletions(-)
5832 commit 3fa73735c02e2e6471774f2a4253317e424564ee
5833 Author: Neil Roberts <neil@linux.intel.com>
5834 Date: Fri Nov 19 10:44:27 2010 +0000
5836 Generate GLSL in the CoglPipeline GLSL backend
5838 The GLSL pipeline backend can now generate code to represent the
5839 pipeline state in a similar way to the ARBfp backend. Most of the code
5840 for this is taken from the GLES 2 wrapper.
5842 clutter/cogl/cogl/cogl-context.c | 1 +
5843 clutter/cogl/cogl/cogl-context.h | 1 +
5844 clutter/cogl/cogl/cogl-pipeline-glsl.c | 772 +++++++++++++++++++++++++++++---
5845 3 files changed, 702 insertions(+), 72 deletions(-)
5847 commit 6246c2bd6cc5174529f5a6c5efb7daf44c131b6b
5848 Author: Neil Roberts <neil@linux.intel.com>
5849 Date: Mon Nov 22 12:15:35 2010 +0000
5851 Move the cogl shader boilerplate setting code to a separate function
5853 _cogl_shader_compile_real had some code to create a set of strings to
5854 combine the boilerplate code with a shader before calling
5855 glShaderSource. This has now been moved to its own internal function
5856 so that it could be used from the GLSL pipeline backend as well.
5858 clutter/cogl/cogl/cogl-shader-private.h | 8 +++
5859 clutter/cogl/cogl/cogl-shader.c | 96 ++++++++++++++++++++++++-------
5860 2 files changed, 82 insertions(+), 22 deletions(-)
5862 commit 339fc68bcbc15dbb212684be5cb4155cdaf4c836
5863 Author: Neil Roberts <neil@linux.intel.com>
5864 Date: Fri Nov 19 15:42:26 2010 +0000
5866 Move need_texture_combine_separate to cogl-pipeline
5868 need_texture_combine_separate is moved to cogl-pipeline.c and renamed
5869 to _cogl_pipeline_need_texture_combine_separate. The function is
5870 needed by both the ARBfp and GLSL codegen backends so it makes sense to
5873 clutter/cogl/cogl/cogl-pipeline-arbfp.c | 75 +----------------------------
5874 clutter/cogl/cogl/cogl-pipeline-private.h | 4 ++
5875 clutter/cogl/cogl/cogl-pipeline.c | 74 ++++++++++++++++++++++++++++
5876 3 files changed, 79 insertions(+), 74 deletions(-)
5878 commit 9bbb088a2ad3e7758b65f83c181e0603350acfc1
5879 Author: Neil Roberts <neil@linux.intel.com>
5880 Date: Fri Nov 19 10:43:52 2010 +0000
5882 Move find_arbfp_authority to cogl-pipeline.c
5884 The code for finding the arbfp authority for a pipeline should be the
5885 same as finding the GLSL authority. So that the code can be shared the
5886 function has been moved to cogl-pipeline.c and renamed to
5887 _cogl_pipeline_find_codegen_authority.
5889 clutter/cogl/cogl/cogl-pipeline-arbfp.c | 145 +----------------------------
5890 clutter/cogl/cogl/cogl-pipeline-private.h | 4 +
5891 clutter/cogl/cogl/cogl-pipeline.c | 142 ++++++++++++++++++++++++++++
5892 3 files changed, 147 insertions(+), 144 deletions(-)
5894 commit e57a132f940d1b0f1c66720096c446e4f04bf4dc
5895 Author: Neil Roberts <neil@linux.intel.com>
5896 Date: Mon Nov 1 17:25:26 2010 +0000
5898 cogl: Rename arbfp_source_buffer to fragment_source_buffer
5900 Only one of the material backends can be generating code at the same
5901 time so it seems to make sense to share the same source buffer between
5902 arbfp and glsl. The new name is fragment_source_buffer in case we
5903 later want to create a new buffer for the vertex shader. That probably
5904 couldn't share the same buffer because it will likely need to be
5905 generated at the same time.
5907 clutter/cogl/cogl/cogl-context.c | 2 +-
5908 clutter/cogl/cogl/cogl-context.h | 2 +-
5909 clutter/cogl/cogl/cogl-pipeline-arbfp.c | 6 +++---
5910 3 files changed, 5 insertions(+), 5 deletions(-)
5912 commit 9b5c90f441938c8044eecaf9c348c85708d45ce3
5913 Author: Evan Nemerson <evan@coeus-group.com>
5914 Date: Fri Nov 19 23:27:46 2010 -0800
5916 cogl: Include exported pacakges information in GIR
5918 http://bugzilla.clutter-project.org/show_bug.cgi?id=2438
5920 clutter/cogl/cogl/Makefile.am | 1 +
5921 1 file changed, 1 insertion(+)
5923 commit f687ec6a226fa3914c6cf81fbad6b43786a2e1dc
5924 Author: Chris Lord <chris@linux.intel.com>
5925 Date: Wed Nov 24 16:34:21 2010 +0000
5927 docs: Update documentation to reflect automatic map/unmap/etc.
5929 Update the ClutterActor documentation to reflect the new automatic
5930 map/unmap/realize/unrealize implementations.
5932 clutter/clutter-actor.h | 6 ++++--
5933 doc/reference/clutter/subclassing-ClutterActor.xml | 10 +---------
5934 2 files changed, 5 insertions(+), 11 deletions(-)
5936 commit 186d5698ceb32e3b99d52390e29c5609fa3a8ae2
5937 Author: Chris Lord <chris@linux.intel.com>
5938 Date: Tue Oct 26 17:09:24 2010 +0100
5940 actor: Use the internal child list for map/unmap
5942 Use the internal child list for the default map/unmap vfuncs. This removes
5943 the requirement for non-container composite actors to implement their own
5944 map/unmap functions.
5946 clutter/clutter-actor.c | 22 ++++++++++++++--------
5947 1 file changed, 14 insertions(+), 8 deletions(-)
5949 commit 4752cc38b2000ba643fc9451769ebb2da9873280
5950 Author: Robert Bragg <robert@linux.intel.com>
5951 Date: Wed Oct 20 18:26:01 2010 +0100
5953 actor: re-work unrealize to work with composite actors
5955 Unrealizing an actor is a recursive process that needs to traverse the
5956 children of an actor to ensure they are also unrealized. This maintains
5957 the invariant that if any given actor is marked as unrealized then you
5958 know that all its children have also been unrealized.
5960 The previous implementation would use the container interface's
5961 foreach_with_internals vfunc to explicitly traverse the children of
5962 container actors but this didn't consider composite actors that aren't
5965 Since clutter-actor now maintains an explicit list of children we can
5966 also handle composite actors that aren't containers using
5967 _clutter_actor_traverse.
5969 clutter/clutter-actor.c | 57 +++++++++++++++++++++++++++--------------------
5970 1 file changed, 33 insertions(+), 24 deletions(-)
5972 commit 4bda67473283b9b10a21b72df01d54447c7d557f
5973 Author: Robert Bragg <robert@linux.intel.com>
5974 Date: Wed Oct 20 15:40:30 2010 +0100
5976 actor: make _clutter_actor_traverse more flexible
5978 This makes it possible to choose the traversal order; either depth first
5979 or breadth first and when visiting actors in a depth first order there
5980 is now a callback called before children are traversed and one called
5981 after. Some tasks such as unrealizing actors need to explicitly control
5982 the traversal order to maintain the invariable that all children of an
5983 actor are unrealized before we actually mark the parent as unrealized.
5985 The callbacks are now passed the relative depth in the graph of the
5986 actor being visited and instead of only being able to return a boolean
5987 to bail out of further traversal it can now do one of: continue,
5988 skip_children or break. To implement something like unrealize it's
5989 desirable to skip children that you find have already been unrealized.
5991 clutter/clutter-actor-private.h | 47 ++++++++++++-
5992 clutter/clutter-actor.c | 146 +++++++++++++++++++++++++++++++--------
5993 2 files changed, 163 insertions(+), 30 deletions(-)
5995 commit 9df6f0c52445ef9c3c5343c1f0aee63c67bffe06
5996 Author: Owen W. Taylor <otaylor@fishsoup.net>
5997 Date: Tue Oct 5 13:05:45 2010 -0400
5999 ClutterX11TexturePixmap: Optimize ConfigureEvent handling
6001 ClutterX11TexturePixmap watches for configure events to tell when it
6002 needs to name a new pixmap for the window. However, ConfigureEvents
6003 occur on moves in addition to resizes, and doing round trips and
6004 naming new pixmaps every time a window is moved is a real performance
6007 Add clutter_x11_texture_pixmap_sync_window_internal() that takes the
6008 size/position of the window as arguments rather than always calling
6009 XGetWindowAttributes. This allows us to bypass all work other than
6010 notifying the window-x/window-y properties when we get a ConfigurEvent
6013 The last received width/height is saved to allow us to also omit
6014 XGetWindowAttributes on MapNotify events.
6016 The public clutter_x11_texture_pixmap_sync_window() becomes a bit less
6017 efficient since we no longer combine the roundtrips for
6018 XGetWindowAttributes() and XCompositeNameWindowPixmap(), but it appears
6019 to have no callers in current publicly available code.
6021 Several FIXME's are added for areas where there are still weird things
6022 going on in the code or improvements could be made.
6024 http://bugzilla.clutter-project.org/show_bug.cgi?id=2356
6026 clutter/x11/clutter-x11-texture-pixmap.c | 189 +++++++++++++++++++++---------
6027 1 file changed, 132 insertions(+), 57 deletions(-)
6029 commit 1fdd82fcf1234a9b6c6fbcff05a62ce8f1eefcab
6030 Author: Neil Roberts <neil@linux.intel.com>
6031 Date: Wed Nov 17 17:31:23 2010 +0000
6033 test-cogl-texture-get-set-data: Test the alpha component
6035 Previously the alpha component of the test texture data was always set
6036 to 255 and the data was read back as RGB so that the alpha component
6037 is ignored. Now the alpha component is set to a generated value and
6038 the data is read back a second time as RGBA to verify that Cogl is not
6039 doing any premult conversions when the internal texture and target
6042 http://bugzilla.clutter-project.org/show_bug.cgi?id=2414
6044 tests/conform/test-cogl-texture-get-set-data.c | 39 ++++++++++++++++++++++--
6045 1 file changed, 36 insertions(+), 3 deletions(-)
6047 commit 8b4034cd06035e49bbe709daf2977d828cb0f263
6048 Author: Owen W. Taylor <otaylor@fishsoup.net>
6049 Date: Fri Nov 12 11:02:13 2010 -0500
6051 Use FBOs and use cogl_read_pixels() to efficiently read partial textures
6053 * cogl_texture_get_data() is converted to use
6054 _cogl_texture_foreach_sub_texture_in_region() to iterate
6055 through the underlying textures.
6057 * When we need to read only a portion of the underlying
6058 texture, we set up a FBO and use _cogl_read_pixels()
6059 to read the portion we need. This is enormously more
6060 efficient for reading a small portion of a large atlas
6063 * The CoglAtlasTexture, CoglSubTexture, and CoglTexture2dSliced
6064 implementation of get_texture() are removed.
6066 http://bugzilla.clutter-project.org/show_bug.cgi?id=2414
6068 clutter/cogl/cogl/cogl-atlas-texture.c | 17 +--
6069 clutter/cogl/cogl/cogl-sub-texture.c | 70 +---------
6070 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 149 +---------------------
6071 clutter/cogl/cogl/cogl-texture.c | 191 ++++++++++++++++++++++++++--
6072 4 files changed, 186 insertions(+), 241 deletions(-)
6074 commit 519b6fe6f259762f05a638716691f626b3b54f12
6075 Author: Neil Roberts <neil@linux.intel.com>
6076 Date: Wed Nov 17 17:57:17 2010 +0000
6078 cogl-framebuffer: Try to track format of the framebuffer
6080 Previously in cogl_read_pixels we assume the format of the framebuffer
6081 is always premultiplied because that is the most likely format with
6082 the default Cogl blend mode. However when the framebuffer is bound to
6083 a texture we should be able to make a better guess at the format
6084 because we know the texture keeps track of the premult status. This
6085 patch adds an internal format member to CoglFramebuffer. For onscreen
6086 framebuffers we still assume it is RGBA_8888_PRE but for offscreen to
6087 textures we copy the texture format. cogl_read_pixels uses this to
6088 determine whether the data returned by glReadPixels will be
6091 http://bugzilla.clutter-project.org/show_bug.cgi?id=2414
6093 clutter/cogl/cogl/cogl-framebuffer-private.h | 3 +++
6094 clutter/cogl/cogl/cogl-framebuffer.c | 15 +++++++++++++++
6095 clutter/cogl/cogl/cogl.c | 22 ++++++++++------------
6096 3 files changed, 28 insertions(+), 12 deletions(-)
6098 commit 08e1d7f57438fc563253906de735412329366b45
6099 Author: Neil Roberts <neil@linux.intel.com>
6100 Date: Wed Nov 17 17:45:27 2010 +0000
6102 cogl_read_pixels: Fix the format used in GLES2
6104 When converting the data in cogl_read_pixels it was using bmp_format
6105 instead of the format passed in to the function. bmp_format is the
6106 same as the passed in format except that it always has the premult bit
6107 set. Therefore the conversion would not handle premultiply correctly.
6109 http://bugzilla.clutter-project.org/show_bug.cgi?id=2414
6111 clutter/cogl/cogl/cogl.c | 2 +-
6112 1 file changed, 1 insertion(+), 1 deletion(-)
6114 commit 2bd054f886a1ecd18837e6be9e48b379b8628754
6115 Author: Neil Roberts <neil@linux.intel.com>
6116 Date: Wed Nov 17 15:38:20 2010 +0000
6118 Add an internal _cogl_read_pixels_with_rowstride
6120 This is the same as _cogl_read_pixels except that it takes a rowstride
6121 parameter for the destination buffer. Under OpenGL setting the
6122 rowstride this will end up calling GL_ROW_LENGTH so that the buffer
6123 region can be directly written to. Under GLES GL_ROW_LENGTH is not
6124 supported so it will use an intermediate buffer as it does if the
6125 format is not GL_RGBA.
6127 cogl_read_pixels now just calls the full version of the function with
6128 the rowstride set to width*bpp.
6130 http://bugzilla.clutter-project.org/show_bug.cgi?id=2414
6132 clutter/cogl/cogl/cogl-private.h | 10 ++++++++++
6133 clutter/cogl/cogl/cogl.c | 39 +++++++++++++++++++++++++++-----------
6134 2 files changed, 38 insertions(+), 11 deletions(-)
6136 commit b4016f64fa9c82266e4827fb06826319a418d9d9
6137 Author: Neil Roberts <neil@linux.intel.com>
6138 Date: Thu Nov 11 15:28:44 2010 +0000
6140 Add an internal _cogl_offscreen_new_to_texture_full function
6142 This function is the same as cogl_offscreen_new_to_texture but it
6143 takes a level parameter and a set of flags so that FBOs can be used to
6144 render to higher mipmap levels and to disable the depth and stencil
6145 buffers. cogl_offscreen_new_to_texture now just calls the new function
6146 with the level set to zero. This function could be useful in a few
6147 places in Cogl where we want to use FBOs as an implementation detail
6148 such as when copying between textures.
6150 http://bugzilla.clutter-project.org/show_bug.cgi?id=2414
6152 clutter/cogl/cogl/cogl-framebuffer-private.h | 24 +++++++
6153 clutter/cogl/cogl/cogl-framebuffer.c | 100 +++++++++++++++++++-------
6154 2 files changed, 100 insertions(+), 24 deletions(-)
6156 commit d52bd995a6a5012fc363b607a9ac79b2748087db
6157 Author: Owen W. Taylor <otaylor@fishsoup.net>
6158 Date: Fri Nov 12 10:58:59 2010 -0500
6160 Test slicing when getting data in both directions
6162 http://bugzilla.clutter-project.org/show_bug.cgi?id=2414
6164 tests/conform/test-cogl-texture-get-set-data.c | 2 ++
6165 1 file changed, 2 insertions(+)
6167 commit a53b9febcdd60c322933e41e4ded6247da1f8bef
6168 Author: Robert Bragg <robert@linux.intel.com>
6169 Date: Tue Nov 23 16:48:59 2010 +0000
6171 stage: if backend _ignoring_redraw_clips queue full redraw
6173 In clutter_stage_real_queue_redraw we were checking to see if the
6174 backend will ignore any subsequent redraw_clip so we can avoid the cost
6175 of projecting the paint-volume of an actor into stage coordinates, but
6176 we weren't ensuring that a full redraw would be queued instead we just
6177 bailed out immediately. This makes sure to call
6178 _clutter_stage_window_add_redraw_clip (stage_window, NULL) in this case
6179 to make sure the backend will do an un-clipped redraw.
6181 clutter/clutter-stage.c | 5 ++++-
6182 1 file changed, 4 insertions(+), 1 deletion(-)
6184 commit 5f181f7265fe043025583e3a7747e9ce55bd65ba
6185 Author: Robert Bragg <robert@linux.intel.com>
6186 Date: Tue Nov 23 16:05:44 2010 +0000
6188 stage-window: tweak has_redraw_clips semantics
6190 This tweaks the semantics of the has_redraw_clips vfunc so we can assume
6191 that at the start of a new frame there is an implied, initial,
6192 redraw_clip that clips everything (i.e. nothing would be redrawn) so in
6193 that case we would expect the has_redraw_clips vfunc to return True at
6194 the start of a new frame for backends that support clipping.
6196 Previously there was an ambiguity when this function returned False
6197 since it could either mean a full screen redraw had been queued or it
6198 could mean that the clip state wasn't yet initialized for that frame.
6199 This would result in _clutter_stage_has_full_redraw_queued() returning
6200 True at the start of a new frame even before any actors have been
6201 updated, which in turn meant we would incorrectly ignore queue_redraw
6202 requests for actors, believing them to be redundant.
6204 clutter/clutter-stage-window.c | 16 ++++++++++++++++
6205 clutter/egl/clutter-stage-egl.c | 19 +++++++++++++------
6206 clutter/glx/clutter-stage-glx.c | 21 ++++++++++++++-------
6207 3 files changed, 43 insertions(+), 13 deletions(-)
6209 commit c9d0f8b26e8ca6e67b52a1cc2a54d247919d09a9
6210 Author: Elliot Smith <elliot.smith@intel.com>
6211 Date: Wed Nov 24 12:44:35 2010 +0000
6213 cookbook: Add recipe for animated scaling of an actor
6215 Recipe explains how to animate scaling a single actor.
6217 Also covers scaling vs. resizing, scale center, and
6218 scaling within layouts and containers.
6220 The first example shows how animations around each scale
6221 gravity look, as well as tracking the transformed position
6222 and size of the actor and displaying those.
6224 The second example is a simple image viewer with zoom in/out
6227 doc/cookbook/animations.xml | 305 ++++++++++++++++++++++++++++++++++++-------
6228 1 file changed, 257 insertions(+), 48 deletions(-)
6230 commit ee9a4d02bba8bb0cf6ea73c5cdcce49fb29f786e
6231 Author: Elliot Smith <elliot.smith@intel.com>
6232 Date: Wed Nov 24 12:22:12 2010 +0000
6234 cookbook: Add example of scaling a texture
6236 Added a simple application for scaling a
6237 texture while keeping the mouse pointer over
6238 the same coordinates on its surface.
6240 doc/cookbook/examples/Makefile.am | 2 +
6241 doc/cookbook/examples/animations-scaling-zoom.c | 155 +++++++++++++++++++++++
6242 2 files changed, 157 insertions(+)
6244 commit c8f112876e69ca2aeb9eb202c504bcf24ecab921
6245 Author: Elliot Smith <elliot.smith@intel.com>
6246 Date: Fri Nov 19 14:52:44 2010 +0000
6248 cookbook: Added "animated scaling" recipe skeleton
6250 doc/cookbook/animations.xml | 132 +++++++++++++++++++++++++++++++++++++++++++
6251 1 file changed, 132 insertions(+)
6253 commit b47b2f474910ead5b72eae88ebc53c2f667b93d7
6254 Author: Elliot Smith <elliot.smith@intel.com>
6255 Date: Fri Nov 19 14:29:39 2010 +0000
6257 cookbook: Added animated scaling example
6259 Added an example showing scaling of an actor on
6260 each of the scaling gravity settings (NORTH_WEST, NORTH etc.),
6261 with a mark indicating the center being used.
6263 Displays the transformed size and position, updated
6264 on each paint of the actor.
6266 doc/cookbook/examples/Makefile.am | 2 +
6267 doc/cookbook/examples/animations-scaling.c | 183 ++++++++++++++++++++++++++++
6268 2 files changed, 185 insertions(+)
6270 commit 446107f19d59ab95c918e566b5d8efdb8c0841c8
6271 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6272 Date: Wed Nov 24 12:02:38 2010 +0000
6274 x11: Check for initialized context when enabling ARGB visuals
6276 Instead of using the backend singleton. This allows lazy initialization
6279 http://bugzilla.clutter-project.org/show_bug.cgi?id=2435
6281 clutter/x11/clutter-backend-x11.c | 2 +-
6282 1 file changed, 1 insertion(+), 1 deletion(-)
6284 commit 6a552e27abfa2e0f0705ac935872e5393cdf1fdc
6285 Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
6286 Date: Tue Nov 23 17:06:52 2010 +0100
6288 Fix API docs for ClutterShaderEffects
6290 It can implement now both fragment and vertex shaders.
6292 http://bugzilla.clutter-project.org/show_bug.cgi?id=2442
6294 clutter/clutter-shader-effect.c | 7 +++----
6295 1 file changed, 3 insertions(+), 4 deletions(-)
6297 commit 65d0ce607efe6cbc72e3f1f4518c8cf5d038ceee
6298 Author: Robert Bragg <robert@linux.intel.com>
6299 Date: Tue Nov 23 14:31:45 2010 +0000
6301 stage: Report an unknown paint volume.
6303 Previously we were leaving it up to the default implementation of
6304 get_paint_volume in ClutterGroup to handle the stage by determining the
6305 bounding box of all contained children. This isn't the true bounding box
6306 of the stage though since the stage is responsible for clearing the
6307 entire framebuffer at the start of the frame. This adds a
6308 get_paint_volume implementation for ClutterStage which simply returns
6309 False which means Clutter has to assume it covers everything.
6311 clutter/clutter-stage.c | 10 ++++++++++
6312 1 file changed, 10 insertions(+)
6314 commit 52bf38c38c4b1d0c787cccf5e1ea2518a67ac1bf
6315 Author: Robert Bragg <robert@linux.intel.com>
6316 Date: Tue Nov 23 14:30:08 2010 +0000
6318 x11: only queue clipped redraw for Expose
6320 When we handle Expose events we try and queue a clipped redraw of the
6321 stage, but for some reason we were also redundantly calling
6322 clutter_actor_queue_redraw for the stage which would negate the request
6323 to queue a clipped redraw.
6325 clutter/x11/clutter-event-x11.c | 2 --
6326 1 file changed, 2 deletions(-)
6328 commit 1b7c895a2d041a36ad9279044e47542be8c0ba95
6329 Author: Neil Roberts <neil@linux.intel.com>
6330 Date: Tue Nov 23 14:07:16 2010 +0000
6332 cogl-texture-driver-gles: Fix image height for uploading 3D textures
6334 When uploading a 3D texture with an awkward rowstride, on GLES Cogl
6335 will copy the images to an intermediate buffer to pass to GL. However
6336 it was using the wrong height when copying the data so it would end up
6337 overflowing the buffer and crashing.
6339 clutter/cogl/cogl/driver/gles/cogl-texture-driver-gles.c | 2 +-
6340 1 file changed, 1 insertion(+), 1 deletion(-)
6342 commit 01c6ccfa1336216c74829386912806ca02e1ab12
6343 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6344 Date: Tue Nov 23 13:05:47 2010 +0000
6346 pipeline: Use WrapModeInternal in the Layer struct
6348 Since we're using CoglPipelineWrapModeInternal in the internal API
6349 anyway, and the compiler complains loudly when comparing two enumeration
6350 types without casting, the PipelineLayer struct should store the
6351 wrap modes using the internal enumeration.
6353 clutter/cogl/cogl/cogl-pipeline-private.h | 44 ++++++++++++++---------------
6354 1 file changed, 22 insertions(+), 22 deletions(-)
6356 commit 8e6fac38fa73ec4c8a67835a1128e6b1a9889302
6357 Author: Owen W. Taylor <otaylor@fishsoup.net>
6358 Date: Sat Nov 13 11:29:49 2010 -0500
6360 Don't update or use last_paint_box when painting inside a clone
6362 The last_paint_box for an actor represents its "normal" position - we
6363 shouldn't update it or use it to cull drawing if we are painting
6364 a clone of the actor. Tracking whether we are painting a clone is
6365 done by adding _clutter_actor_push/pop_clone_paint() and a global
6366 "clone paint level".
6368 http://bugzilla.clutter-project.org/show_bug.cgi?id=2396
6370 clutter/clutter-actor-private.h | 3 +++
6371 clutter/clutter-actor.c | 42 ++++++++++++++++++++++++++++++++-------
6372 clutter/clutter-clone.c | 2 ++
6373 3 files changed, 40 insertions(+), 7 deletions(-)
6375 commit c68280556ee762c840bb8c73da16d505b6efe1ac
6376 Author: Robert Bragg <robert@linux.intel.com>
6377 Date: Mon Nov 22 15:51:15 2010 +0000
6379 clip-stack: combine modelview-projection in set_clip_planes
6381 When using clip planes and we we have to project some vertices into
6382 screen coordinates we used to transform those by the modelview and then
6383 the projection matrix separately. Now we combine the modelview and
6384 projection matrix and then use that to transform the vertices in one
6387 clutter/cogl/cogl/cogl-clip-stack.c | 24 ++++++++++++------------
6388 1 file changed, 12 insertions(+), 12 deletions(-)
6390 commit 99f4832c28512e8b670b3681eeb228b4c8c08d14
6391 Author: Robert Bragg <robert@linux.intel.com>
6392 Date: Mon Nov 22 12:44:36 2010 +0000
6394 journal: remove possability of fallback layers
6396 When logging quads in the journal it used to be possible to specify a
6397 mask of fallback layers (layers where a default white texture should be
6398 used in-place of the corresponding texture in the current source
6399 pipeline). Since we now handle fallbacks for cogl_rectangle* primitives
6400 when validating the pipeline up-front before logging in the journal we
6401 no longer need the ability for the journal to apply fallbacks too.
6403 clutter/cogl/cogl/cogl-journal-private.h | 1 -
6404 clutter/cogl/cogl/cogl-journal.c | 6 ------
6405 clutter/cogl/cogl/cogl-primitives.c | 2 --
6406 3 files changed, 9 deletions(-)
6408 commit 305bb124b71b8fd531009f050cc83d89af1dfb93
6409 Author: Robert Bragg <robert@linux.intel.com>
6410 Date: Fri Nov 12 16:08:25 2010 +0000
6412 use cogl_matrix_transform_points in clutter
6414 When transforming a paint-volume or transforming allocation vertices we
6415 are transforming more than one point at a time so we can batch those
6416 together with cogl_matrix_transform_points instead of
6417 cogl_matrix_transform_point. Also in both of these cases we don't need
6418 to do a projective transform so using cogl_matrix_transform_points also
6419 lets us reduce the per-vertex computation.
6421 clutter/clutter-actor.c | 23 ++++++++---------------
6422 clutter/clutter-paint-volume.c | 18 +++++++-----------
6423 2 files changed, 15 insertions(+), 26 deletions(-)
6425 commit 2dba3e8cbf4d130701510768b5c766bb7ef070e8
6426 Author: Robert Bragg <robert@linux.intel.com>
6427 Date: Fri Nov 12 13:35:24 2010 +0000
6429 matrix: Adds experimental cogl_matrix_{transform,project}_points
6431 This add two new function that allows us to transform or project an
6432 array of points instead of only transforming one point at a time. Recent
6433 benchmarking has shown cogl_matrix_transform_point to be a bottleneck
6434 sometimes, so this should allow us to reduce the overhead when
6435 transforming lots of vertices at the same time, and also reduce the cost
6436 of 3 component, non-projective transforms.
6438 For now they are marked as experimental (you have to define
6439 COGL_ENABLE_EXPERIMENTAL_API) because there is some concern that it
6440 introduces some inconsistent naming. cogl_matrix_transform_point would
6441 have to be renamed cogl_matrix_project_point to be consistent, but that
6442 would be an API break.
6444 clutter/cogl/cogl/cogl-matrix.c | 346 ++++++++++++++++++++++++++++++++++
6445 clutter/cogl/cogl/cogl-matrix.h | 123 ++++++++++++
6446 doc/reference/cogl/cogl-sections.txt | 2 +-
6447 3 files changed, 470 insertions(+), 1 deletion(-)
6449 commit 4307e65f937538a6251738a8450babce5ed9e8e6
6450 Author: Robert Bragg <robert@linux.intel.com>
6451 Date: Thu Nov 11 16:28:45 2010 +0000
6453 primitives: validate with _cogl_pipeline_foreach_layer
6455 Switch _cogl_rectangles_with_multitexture_coords to using
6456 _cogl_pipeline_foreach_layer to iterate the layers of a pipeline when
6457 validating instead of iterating the pipelines internal list, which is
6458 risky since any modifications to pipelines (even to an override pipeline
6459 derived from the original), could potentially corrupt the list as it is
6462 clutter/cogl/cogl/cogl-pipeline-private.h | 3 +-
6463 clutter/cogl/cogl/cogl-pipeline.c | 6 +-
6464 clutter/cogl/cogl/cogl-primitives.c | 324 ++++++++++++++++-------------
6465 3 files changed, 180 insertions(+), 153 deletions(-)
6467 commit fb564cc2ca9579c3b444f5fd5c59ee4da040b7da
6468 Author: Robert Bragg <robert@linux.intel.com>
6469 Date: Thu Nov 11 15:08:38 2010 +0000
6471 cogl: remove WrapModeOverrides from FlushOptions
6473 This removes the possibility to specify wrap mode overrides within a
6474 CoglPipelineFlushOptions struct since the right way to handle these
6475 overrides is by copying the user's material and making the changes to
6476 that copy before flushing. All primitives code has already switched away
6477 from using these wrap mode overrides so this patch just removes unused
6478 code and types. It also remove the wrap_mode_overrides argument for
6479 _cogl_journal_log_quad.
6481 clutter/cogl/cogl/cogl-journal-private.h | 2 --
6482 clutter/cogl/cogl/cogl-journal.c | 7 ----
6483 clutter/cogl/cogl/cogl-pipeline-private.h | 32 +----------------
6484 clutter/cogl/cogl/cogl-pipeline.c | 55 -----------------------------
6485 clutter/cogl/cogl/cogl-primitives.c | 2 --
6486 5 files changed, 1 insertion(+), 97 deletions(-)
6488 commit b8c9ee7e88ca6d1c2e9bc6380740dbf19096e71e
6489 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6490 Date: Tue Nov 23 10:26:15 2010 +0000
6492 x11: Ignore NULL settings
6494 Prevent a segfault when dealing with XSETTINGS_ACTION_DELETE.
6496 http://bugzilla.clutter-project.org/show_bug.cgi?id=2441
6498 clutter/x11/clutter-backend-x11.c | 3 +++
6499 1 file changed, 3 insertions(+)
6501 commit 1db8b8a70e9c198a04d7c3e3e6365513f5d6858d
6502 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6503 Date: Mon Nov 22 17:01:17 2010 +0000
6505 color: Do not shadow a variable
6509 clutter/clutter-color.c | 2 --
6510 1 file changed, 2 deletions(-)
6512 commit 88049013702032895a9cb7ed60f661d58443130d
6513 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6514 Date: Mon Nov 22 15:20:55 2010 +0000
6518 NEWS | 13 +++++++++++++
6519 1 file changed, 13 insertions(+)
6521 commit f4531aef4bea347f84b6ace38f6df7b34cdbe13c
6522 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6523 Date: Mon Nov 22 15:07:01 2010 +0000
6525 color: And finally, add hsla() support
6527 Missed it when reading the CSS spec.
6529 clutter/clutter-color.c | 35 ++++++++++++++++++++++++++++++++---
6530 1 file changed, 32 insertions(+), 3 deletions(-)
6532 commit e86db85cd2f0bbdbb65924a8f9ae2575e1212d14
6533 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6534 Date: Mon Nov 22 15:02:47 2010 +0000
6536 color: Support the CSS hsl() notation
6538 Since we support the rgb() and rgba() notations we might as well also
6539 support the hsl() one.
6541 clutter/clutter-color.c | 70 ++++++++++++++++++++++++++++++++++++++++++++
6542 tests/conform/test-color.c | 14 +++++++++
6543 2 files changed, 84 insertions(+)
6545 commit ab6da347f61c0fb2249bbab9d03545121752d633
6546 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6547 Date: Mon Nov 22 14:22:56 2010 +0000
6549 color: Support CSS color definitions
6551 The CSS Color Module 3, available at:
6553 http://www.w3.org/TR/css3-color/
6555 allows defining colors as:
6560 along with the usual hexadecimal and named notations.
6562 The r, g, and b channels can be:
6564 • integers between 0 and 255
6565 • percentages, between 0% and 100%
6567 The alpha channel, if included using the rgba() modifier, can be a
6568 floating point value between 0.0 and 1.0.
6570 The ClutterColor parser should support this notation.
6572 clutter/clutter-color.c | 135 ++++++++++++++++++++++++++++++++++++++++++--
6573 tests/conform/test-color.c | 54 ++++++++++++++++--
6574 2 files changed, 178 insertions(+), 11 deletions(-)
6576 commit ee0b8c439e0211e1af8ad55d17d2695e17879f0a
6577 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6578 Date: Mon Nov 22 10:16:45 2010 +0000
6580 docs: Update the release notes in the README
6582 Also updates the introductory blurb.
6584 README | 29 ++++++++++++++++++++++++-----
6585 1 file changed, 24 insertions(+), 5 deletions(-)
6587 commit 3055cd1f4aec16a39e520da8d697d19c5beae711
6588 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6589 Date: Sat Nov 20 13:05:51 2010 +0000
6591 docs: Include the Behaviour migration guide
6593 I forgot to add the xinclude directive in the main document.
6595 doc/reference/clutter/clutter-docs.xml.in | 1 +
6596 1 file changed, 1 insertion(+)
6598 commit 2fe8f864971f3fdfd27e1f2480aa48b0b9c4172e
6599 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6600 Date: Sat Nov 20 11:07:45 2010 +0000
6602 po: Post-release update
6604 po/clutter-1.0.pot | 490 ++++++++++++++++++++++----------------------
6605 po/de.po | 488 ++++++++++++++++++++++----------------------
6606 po/fr.po | 488 ++++++++++++++++++++++----------------------
6607 po/id.po | 488 ++++++++++++++++++++++----------------------
6608 po/it.po | 573 ++++++++++++++++++++++++++++------------------------
6609 po/pl.po | 488 ++++++++++++++++++++++----------------------
6610 po/zh_CN.po | 488 ++++++++++++++++++++++----------------------
6611 7 files changed, 1770 insertions(+), 1733 deletions(-)
6613 commit ac6a378177c37712b13fb25d09b7c5e2ce4f626f
6614 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6615 Date: Sat Nov 20 11:07:29 2010 +0000
6617 Post-release version bump to 1.5.7
6620 1 file changed, 1 insertion(+), 1 deletion(-)
6622 commit 7373cebd8d23fa88c74f680bca5d5c7445d46eb0
6623 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6624 Date: Sat Nov 20 10:17:51 2010 +0000
6626 Release Clutter 1.5.6 (snapshot)
6629 1 file changed, 1 insertion(+), 1 deletion(-)
6631 commit b674fcf3bb3acef61bb10a5726e020a4bc1310c7
6632 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6633 Date: Sat Nov 20 10:46:57 2010 +0000
6635 build: Add missing cogl-shader-boilerplate.h
6637 clutter/cogl/cogl/Makefile.am | 1 +
6638 1 file changed, 1 insertion(+)
6640 commit be3040fd2bca29d3d415d4baf062480f20471947
6641 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6642 Date: Fri Nov 19 18:29:43 2010 +0000
6644 build: Add a missing file
6646 clutter/cogl/cogl/Makefile.am | 1 +
6647 1 file changed, 1 insertion(+)
6649 commit e30b7b2d5a2f4468a9266085ce58b133734e3f9c
6650 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6651 Date: Fri Nov 19 18:15:29 2010 +0000
6653 build: Don't reference non-existing files
6655 clutter/cogl/cogl/Makefile.am | 1 -
6656 1 file changed, 1 deletion(-)
6658 commit 60c6312b2d11f25c631cade6cc59b9680debc6c2
6659 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6660 Date: Fri Nov 19 18:07:27 2010 +0000
6662 Update the NEWS file
6664 NEWS | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6665 1 file changed, 63 insertions(+)
6667 commit d39277d0cf96e2a4ac7b5cc3f587b5fba1f48610
6668 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6669 Date: Fri Nov 19 12:26:57 2010 +0000
6671 actor: Reset the last paint box on unmap
6673 This allows hiding + moving + showing an actor without repainting the
6676 http://bugzilla.clutter-project.org/show_bug.cgi?id=2395
6678 clutter/clutter-actor.c | 11 +++++++----
6679 1 file changed, 7 insertions(+), 4 deletions(-)
6681 commit 346d3e40a37f2229b0a9314fd8a3c2b6c4313752
6682 Author: Owen W. Taylor <otaylor@fishsoup.net>
6683 Date: Mon Nov 15 01:32:42 2010 -0500
6685 Free state at the end of a journal flush
6687 At the end of flushing the journal, we need to free the vertex
6688 attributes and vertex array.
6690 http://bugzilla.clutter-project.org/show_bug.cgi?id=2423
6692 clutter/cogl/cogl/cogl-journal.c | 8 +++++++-
6693 1 file changed, 7 insertions(+), 1 deletion(-)
6695 commit 1299672b5a53e004bfbc92fd89d2707c732e3586
6696 Author: Owen W. Taylor <otaylor@fishsoup.net>
6697 Date: Sun Nov 14 22:59:24 2010 -0500
6699 Actually free buffer objects
6701 With the refactoring to centralize code into CoglBuffer,
6702 _cogl_buffer_fini() was never actually implemented, so all GL
6703 vertex and index buffer objects were leaked.
6705 The duplicate call to glDeleteBuffers() in CoglPixelArray is
6706 removed (it wasn't paying attention to whether the buffer had been
6707 allocated as a PBO or not.)
6709 http://bugzilla.clutter-project.org/show_bug.cgi?id=2423
6711 clutter/cogl/cogl/cogl-buffer.c | 7 +++++++
6712 clutter/cogl/cogl/cogl-pixel-array.c | 2 --
6713 2 files changed, 7 insertions(+), 2 deletions(-)
6715 commit a5c30398df59f1aca8c0bf1e1f0a32ae51e990cd
6716 Author: Robert Bragg <robert@linux.intel.com>
6717 Date: Tue Nov 16 13:54:15 2010 +0000
6719 egl: Adds support for clipped redraws
6721 This adds egl backend support for handling clipped redraws. This uses
6722 the EGL_NOK_swap_region extension to enable the EGL backend to present a
6723 subregion from the back buffer to the front so we don't always have to
6724 redraw the entire stage for small updates.
6726 clutter/egl/clutter-backend-egl.c | 81 ++++++++++++++
6727 clutter/egl/clutter-backend-egl.h | 32 ++++++
6728 clutter/egl/clutter-stage-egl.c | 215 ++++++++++++++++++++++++++++++++++++-
6729 clutter/egl/clutter-stage-egl.h | 8 ++
6730 4 files changed, 333 insertions(+), 3 deletions(-)
6732 commit a4d3208eb57ddb3cc7eea61534b5187663d7507c
6733 Author: Robert Bragg <robert@linux.intel.com>
6734 Date: Tue Nov 16 13:06:08 2010 +0000
6736 debug: Adds a COGL_DEBUG=wireframe option
6738 This adds a COGL_DEBUG=wireframe option to visualize the underlying
6739 geometry of the primitives being drawn via Cogl. This works for triangle
6740 list, triangle fan, triangle strip and quad (internal only) primitives.
6741 It also works for indexed vertex arrays.
6743 clutter/cogl/cogl/cogl-debug-options.h | 5 +
6744 clutter/cogl/cogl/cogl-debug.c | 3 +-
6745 clutter/cogl/cogl/cogl-debug.h | 3 +-
6746 clutter/cogl/cogl/cogl-vertex-attribute.c | 243 +++++++++++++++++++++++++++++
6747 4 files changed, 252 insertions(+), 2 deletions(-)
6749 commit 78ac92f8e57acf8eccc20a1990bd7d619f5ebbdc
6750 Author: Robert Bragg <robert@linux.intel.com>
6751 Date: Tue Nov 16 08:52:49 2010 +0000
6753 vertex-buffer: don't unref NULL object
6755 In cogl_vertex_buffer_indices_get_for_quads() we sometimes have to
6756 extend the length of an existing array, but when we came to unref the
6757 previous array we didn't first check that it wasn't simply NULL.
6759 clutter/cogl/cogl/cogl-vertex-buffer.c | 3 ++-
6760 1 file changed, 2 insertions(+), 1 deletion(-)
6762 commit f473c213fcc1b0095f32c909eb69a0c8172cba0e
6763 Author: Robert Bragg <robert@linux.intel.com>
6764 Date: Tue Nov 16 08:49:55 2010 +0000
6766 vertex-array: Adds data arg for _vertex_array_new()
6768 This adds an optional data argument for cogl_vertex_array_new() since it
6769 seems that mostly every case where we use this API we follow up with a
6770 cogl_buffer_set_data() matching the size of the new array. This
6771 simplifies all those cases and whenever we want to delay uploading of
6772 data then NULL can simply be passed.
6774 clutter/cogl/cogl/cogl-journal.c | 2 +-
6775 clutter/cogl/cogl/cogl-primitive.c | 40 +++++++-------------------------
6776 clutter/cogl/cogl/cogl-primitives.c | 6 ++---
6777 clutter/cogl/cogl/cogl-vertex-array.c | 11 +++++++--
6778 clutter/cogl/cogl/cogl-vertex-array.h | 9 +++++--
6779 clutter/cogl/cogl/cogl-vertex-buffer.c | 3 ++-
6780 clutter/cogl/cogl/cogl2-path.c | 12 ++++------
6781 7 files changed, 33 insertions(+), 50 deletions(-)
6783 commit 804dd5d5fc2b68b64032cac30268372303be24bf
6784 Author: Robert Bragg <robert@linux.intel.com>
6785 Date: Tue Nov 16 08:41:29 2010 +0000
6787 indices: Makes cogl_indices_get_array public
6789 This makes the previously internal only _cogl_indices_get_array API
6790 public as cogl_indices_get_array (Though marked as experimental)
6792 clutter/cogl/cogl/cogl-indices-private.h | 3 ---
6793 clutter/cogl/cogl/cogl-indices.c | 2 +-
6794 clutter/cogl/cogl/cogl-indices.h | 3 +++
6795 clutter/cogl/cogl/cogl-vertex-attribute.c | 2 +-
6796 4 files changed, 5 insertions(+), 5 deletions(-)
6798 commit dfc671da5960fccf478131aa3136c25341979e61
6799 Author: Robert Bragg <robert@linux.intel.com>
6800 Date: Tue Nov 16 08:38:59 2010 +0000
6802 build: cogl-clip-state.h depends on cogl-clip-stack.h
6804 This adds a #include "cogl-clip-stack.h" to cogl-clip-state.h which
6805 depends on the CoglClipStack typedef.
6807 clutter/cogl/cogl/cogl-clip-state.h | 2 ++
6808 1 file changed, 2 insertions(+)
6810 commit 6f68bb365694bfd82737f6d1c577af38280d099b
6811 Author: Robert Bragg <robert@linux.intel.com>
6812 Date: Wed Nov 10 18:27:00 2010 +0000
6814 debug: disable-culling was disabling clipped redraws
6816 there was a typo and the disable-culling option was actually disabling
6819 clutter/clutter-main.c | 2 +-
6820 1 file changed, 1 insertion(+), 1 deletion(-)
6822 commit 694632ce95bfc2c14791214acc435743dba4df2e
6823 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6824 Date: Thu Nov 18 18:23:49 2010 +0000
6826 build: Re-arrange headers
6828 Try to minimize the included headers, especially in clutter-actor.h.
6830 clutter/clutter-actor.c | 1 +
6831 clutter/clutter-actor.h | 6 ++----
6832 clutter/clutter-color.h | 5 +----
6833 clutter/clutter-deform-effect.h | 2 +-
6834 clutter/clutter-effect.h | 1 -
6835 clutter/clutter-offscreen-effect.h | 1 +
6836 clutter/clutter-shader.h | 1 -
6837 clutter/clutter-texture.c | 15 +++++++--------
6838 clutter/clutter-texture.h | 2 +-
6839 clutter/clutter-types.h | 6 +++++-
6840 10 files changed, 19 insertions(+), 21 deletions(-)
6842 commit 63cef64d17d3e5c22add99e8d736b6f69fac8f25
6843 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6844 Date: Thu Nov 18 14:14:37 2010 +0000
6846 docs: Fix some wrong function/signal/property names
6848 clutter/clutter-behaviour-scale.c | 4 ++--
6849 clutter/clutter-behaviour.h | 2 +-
6850 clutter/clutter-constraint.c | 4 ++--
6851 clutter/clutter-drag-action.c | 2 +-
6852 clutter/clutter-script.c | 2 +-
6853 clutter/clutter-stage.c | 2 +-
6854 clutter/clutter-stage.h | 2 +-
6855 clutter/clutter-texture.c | 4 ++--
6856 clutter/clutter-units.c | 2 +-
6857 doc/cookbook/animations.xml | 2 +-
6858 doc/reference/clutter/clutter-overview.xml | 2 +-
6859 doc/reference/clutter/migrating-ClutterPath.xml | 2 +-
6860 12 files changed, 15 insertions(+), 15 deletions(-)
6862 commit b0f535037993a15e75525494c5dddecc96bbe0dd
6863 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6864 Date: Wed Nov 17 15:51:35 2010 +0000
6866 test-layout: Port away from Behaviour
6868 Use a simple animation with a looping+reversing timeline.
6870 tests/interactive/test-layout.c | 24 +++++++++++++++---------
6871 1 file changed, 15 insertions(+), 9 deletions(-)
6873 commit eade1ab19e90b6955ead726132503f13ac346356
6874 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6875 Date: Wed Nov 10 11:51:42 2010 +0000
6877 test-rotate: Remove the behaviour code
6879 Use a looping animation with a shared timeline instead.
6881 tests/interactive/test-rotate.c | 57 +++++++++++++++++----------------------
6882 1 file changed, 25 insertions(+), 32 deletions(-)
6884 commit 74a770a976250d1d3cb887d9536fac1e9fc7cdf4
6885 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6886 Date: Wed Nov 10 13:15:06 2010 +0000
6888 docs: Add Behaviour migration guide
6890 doc/reference/clutter/Makefile.am | 6 +-
6891 .../clutter/migrating-ClutterBehaviour.xml | 122 ++++++++++++++++++++
6892 2 files changed, 126 insertions(+), 2 deletions(-)
6894 commit a35708eb74dcc3ffd474e1c07725ece7b8a4fb1a
6895 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6896 Date: Sat Nov 6 15:54:21 2010 +0000
6898 Deprecate ClutterBehaviour and sub-classes
6900 The Behaviour class and its implementations have been replaced by the
6901 new animation framework API and by the constraints for layout-related
6904 Currently, we need to make tests build, so we undef DISABLE_DEPRECATED
6905 in specific test cases while they get ported.
6907 clutter/clutter-actor.c | 4 +++-
6908 clutter/clutter-behaviour-depth.c | 15 ++++++++++++-
6909 clutter/clutter-behaviour-depth.h | 9 ++++++++
6910 clutter/clutter-behaviour-ellipse.c | 6 ++++--
6911 clutter/clutter-behaviour-ellipse.h | 8 +++++++
6912 clutter/clutter-behaviour-opacity.c | 34 ++++++++++++++++--------------
6913 clutter/clutter-behaviour-opacity.h | 10 ++++++++-
6914 clutter/clutter-behaviour-path.c | 25 +++++++++++++++++-----
6915 clutter/clutter-behaviour-path.h | 9 ++++++++
6916 clutter/clutter-behaviour-rotate.c | 13 ++++++------
6917 clutter/clutter-behaviour-rotate.h | 8 +++++++
6918 clutter/clutter-behaviour-scale.c | 33 +++++++++++++++++++++--------
6919 clutter/clutter-behaviour-scale.h | 9 ++++++++
6920 clutter/clutter-behaviour.c | 7 ++++--
6921 clutter/clutter-behaviour.h | 12 ++++++++++-
6922 tests/conform/test-behaviours.c | 2 ++
6923 tests/conform/test-script-parser.c | 1 +
6924 tests/interactive/test-actor-clone.c | 1 +
6925 tests/interactive/test-actors.c | 1 +
6926 tests/interactive/test-behave.c | 1 +
6927 tests/interactive/test-depth.c | 2 ++
6928 tests/interactive/test-layout.c | 2 ++
6929 tests/interactive/test-multistage.c | 2 ++
6930 tests/interactive/test-paint-wrapper.c | 2 ++
6931 tests/interactive/test-pixmap.c | 4 +++-
6932 tests/interactive/test-rotate.c | 1 +
6933 tests/interactive/test-scale.c | 2 ++
6934 tests/interactive/test-script.c | 1 +
6935 tests/interactive/test-texture-async.c | 2 ++
6936 tests/interactive/test-texture-quality.c | 2 ++
6937 tests/interactive/test-threads.c | 2 ++
6938 tests/interactive/test-viewport.c | 1 +
6939 32 files changed, 185 insertions(+), 46 deletions(-)
6941 commit 71a838815f4d3ea1d9e2054bbbaaf0449eae357e
6942 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6943 Date: Wed Nov 17 15:27:42 2010 +0000
6945 timeline: Add :reverse property
6947 The :reverse property removes the pattern of connecting to the
6948 ::completed signal of a Timeline to change the direction.
6950 http://bugzilla.clutter-project.org/show_bug.cgi?id=2408
6952 clutter/clutter-timeline.c | 156 ++++++++++++++++++++++++----
6953 clutter/clutter-timeline.h | 3 +
6954 doc/reference/clutter/clutter-sections.txt | 2 +
6955 tests/interactive/test-behave.c | 21 +---
6956 4 files changed, 144 insertions(+), 38 deletions(-)
6958 commit 1ce47bb562a227f4c3bb267e2e10b54b4ded475c
6959 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6960 Date: Thu Nov 18 14:02:52 2010 +0000
6962 docs: Remove unnecessary '#'
6964 The hash is confusing gtk-doc.
6966 clutter/clutter-color.h | 90 +++++++++++++++++++++++------------------------
6967 1 file changed, 45 insertions(+), 45 deletions(-)
6969 commit a94ea93bde8382691b8eea1f047b20c0c689c51f
6970 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6971 Date: Thu Nov 18 10:53:01 2010 +0000
6973 paint-volume: Do not take a reference on the actor
6975 The paint volume structure is cached in the Actor it references, and
6976 this causes a reference cycle.
6978 The paint volume is going to be used when painting, so the actor must
6979 still be valid - otherwise Clutter will bail out far before than
6980 accessing the actor pointer in ClutterPaintVolume.
6982 Otherwise, we could have used dispose() to check for a valid actor and
6983 remove a reference if the actor field is !NULL; it feels less clean,
6984 though, since we're effectively managing an extra reference on
6987 http://bugzilla.clutter-project.org/show_bug.cgi?id=2431
6989 clutter/clutter-actor.c | 8 +++-----
6990 clutter/clutter-paint-volume.c | 18 +++---------------
6991 2 files changed, 6 insertions(+), 20 deletions(-)
6993 commit 0371ba3976fafecc900123bb94822b95a1198d3a
6994 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6995 Date: Thu Nov 18 11:00:08 2010 +0000
6997 actor: Group bitfields together
6999 clutter/clutter-actor.c | 5 +++--
7000 1 file changed, 3 insertions(+), 2 deletions(-)
7002 commit b55346151c3122d356d1e0af5f73bba184fbaa81
7003 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7004 Date: Wed Nov 17 19:13:55 2010 +0000
7006 build: Cogl-2.0 API reference should be conditionally built
7008 Building the API reference for Cogl 2.0 is fairly confusing: the API
7009 itself is experimental and for internal use only -- though we want
7012 Let's build the API reference only when Clutter is configured with a
7013 specific configure switch, so that people that wish to give feedback on
7014 the API and its documentation can do it.
7016 configure.ac | 8 ++++++++
7017 doc/reference/Makefile.am | 8 +++++++-
7018 2 files changed, 15 insertions(+), 1 deletion(-)
7020 commit 8f60d5a3a2d6650bb27ebe6488fe56bf67d3d09c
7021 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7022 Date: Sun Nov 7 16:20:51 2010 +0000
7024 Start using the monotonic API in GLib ≥ 2.27
7026 Starting from the 2.27 cycle, GLib is exposing a monotonic clock with
7027 microseconds granularity throughout the time-based API. We can start
7028 using it, given that the old, non-monotonic version is going to be
7029 deprecated by the same cycle.
7031 clutter/clutter-frame-source.c | 12 +++++++++---
7032 clutter/clutter-master-clock.c | 27 ++++++++++++++++++++-------
7033 clutter/clutter-timeout-interval.c | 15 ++++++++++-----
7034 clutter/clutter-timeout-pool.c | 13 ++++++++++---
7035 4 files changed, 49 insertions(+), 18 deletions(-)
7037 commit 68d7a5e84721966686fb066c8b62041f0889a07a
7038 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7039 Date: Sun Nov 7 15:57:33 2010 +0000
7041 Move away from GTimeVal
7043 GLib 2.28 will deprecate GTimeVal and related API in favour of
7044 standardizing on microseconds granularity for all time-based API.
7046 Clutter should switch too.
7048 All of the current users of GTimeVal convert to milliseconds when
7049 doing time operations, and use GTimeVal only as storage. This can
7050 effectively be replaced by a gint64.
7052 The Master Clock uses a microsecond resolution, except when interacting
7053 with the main loop itself, since the main loop has a millisecond
7054 resolution - at least until Ryan Lortie manages to switch that too to
7055 microseconds on Linux.
7057 The clutter_timeline_do_tick() function was erroneously not privatized,
7058 but it was still assumed to be private; we should just remove it from
7061 clutter/clutter-frame-source.c | 8 +++---
7062 clutter/clutter-master-clock.c | 51 ++++++++++++++++--------------------
7063 clutter/clutter-timeline.c | 17 ++++++------
7064 clutter/clutter-timeline.h | 4 +--
7065 clutter/clutter-timeout-interval.c | 33 ++++++++++++-----------
7066 clutter/clutter-timeout-interval.h | 28 +++++++++++---------
7067 clutter/clutter-timeout-pool.c | 16 ++++++-----
7068 7 files changed, 79 insertions(+), 78 deletions(-)
7070 commit 8b047d0bc963389109486388ce5051a6a06d0994
7071 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7072 Date: Wed Nov 17 12:49:10 2010 +0000
7074 docs: Move the constraints example picture about the source code
7076 clutter/clutter-constraint.c | 6 +++---
7077 1 file changed, 3 insertions(+), 3 deletions(-)
7079 commit e5da5b0907264f822bf646ef7e1151bb69f1945a
7080 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7081 Date: Wed Nov 17 12:47:46 2010 +0000
7083 shaders: Fix the usage of the Cogl GLSL variables
7085 clutter/clutter-blur-effect.c | 4 ++--
7086 clutter/clutter-colorize-effect.c | 2 +-
7087 clutter/clutter-desaturate-effect.c | 2 +-
7088 3 files changed, 4 insertions(+), 4 deletions(-)
7090 commit f96113705d0154772e39a4782925d49b74d5ad09
7091 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7092 Date: Wed Nov 17 12:14:02 2010 +0000
7094 docs: Fix closing tag
7096 clutter/clutter-constraint.c | 2 +-
7097 1 file changed, 1 insertion(+), 1 deletion(-)
7099 commit a731682ac394d1b54b78dec1083d158a71e10f89
7100 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7101 Date: Mon Nov 15 16:30:12 2010 +0000
7103 actor: Simple show/hide optimizations
7105 Showing a visible (and hiding an invisible) actor is far less cheap than
7108 http://bugzilla.clutter-project.org/show_bug.cgi?id=2422
7110 clutter/clutter-actor.c | 65 ++++++++++++++++++++++++++++++++---------------
7111 1 file changed, 45 insertions(+), 20 deletions(-)
7113 commit 66e7a38a3d9a8b2782969cf24db59909e0f99877
7114 Author: muflone <webreg@vbsimple.net>
7115 Date: Mon Nov 15 17:54:01 2010 +0000
7117 po: Update Italian translation
7119 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
7121 po/it.po | 839 +++++++++++++++++++++++++++++++-------------------------------
7122 1 file changed, 413 insertions(+), 426 deletions(-)
7124 commit a32f7811447addd100bb5919ee5e0f3d1157097f
7125 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7126 Date: Tue Nov 16 17:18:50 2010 +0000
7128 docs: Break down the constraints example
7130 clutter/clutter-constraint.c | 34 ++++++++++++++++++++++++++++++++++
7131 1 file changed, 34 insertions(+)
7133 commit 3777e0b38267fd21539c8ec5e7f04d6179379a3d
7134 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7135 Date: Mon Nov 15 17:27:46 2010 +0000
7137 docs: Update the constraints example image
7139 doc/reference/clutter/constraints-example.png | Bin 2482 -> 5985 bytes
7140 1 file changed, 0 insertions(+), 0 deletions(-)
7142 commit 2950cb3e78626b269555bc3a4813f9bfe17ea7fc
7143 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7144 Date: Mon Nov 15 16:02:15 2010 +0000
7146 docs: Fix Since tags for PaintVolume-related API
7148 clutter/clutter-paint-volume.c | 28 ++++++++++++++--------------
7149 1 file changed, 14 insertions(+), 14 deletions(-)
7151 commit b7fa13a52f6c7f13e81cefd774b7ac301261a673
7152 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7153 Date: Mon Nov 15 15:02:07 2010 +0000
7155 docs: Add introductory section on Constraints
7157 Use the snap-constraint code for the example code and screenshot.
7159 clutter/clutter-constraint.c | 59 ++++++++++++++++++++++++-
7160 doc/reference/clutter/Makefile.am | 2 +
7161 doc/reference/clutter/constraints-example.png | Bin 0 -> 2482 bytes
7162 3 files changed, 60 insertions(+), 1 deletion(-)
7164 commit 3c15c0c9bb6befff149b8be512d7342d820b591a
7165 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7166 Date: Wed Nov 10 16:37:34 2010 +0000
7170 A SnapConstraint is a constraint that "snaps" the edges of two actors
7173 clutter/Makefile.am | 2 +
7174 clutter/clutter-snap-constraint.c | 589 ++++++++++++++++++++++++++++
7175 clutter/clutter-snap-constraint.h | 90 +++++
7176 clutter/clutter.h | 1 +
7177 doc/reference/clutter/clutter-docs.xml.in | 16 +-
7178 doc/reference/clutter/clutter-sections.txt | 19 +
7179 doc/reference/clutter/clutter.types | 1 +
7180 tests/interactive/Makefile.am | 6 +-
7181 tests/interactive/test-snap-constraint.c | 90 +++++
7182 9 files changed, 808 insertions(+), 6 deletions(-)
7184 commit b3f5a6e2ba29852f1f4a4d9b0f9efcdae1a61af0
7185 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7186 Date: Fri Nov 12 18:09:25 2010 +0000
7188 actor: Do not queue relayouts on actors being destroyed
7190 Simple optimization is simple.
7192 clutter/clutter-actor.c | 9 ++++-----
7193 1 file changed, 4 insertions(+), 5 deletions(-)
7195 commit 0523d6db0815ed55e5e76f5d0cd879e394d9a0f6
7196 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7197 Date: Fri Nov 12 18:07:44 2010 +0000
7199 actor: Add a get_debug_name() private Actor method
7201 For internal usage, writing:
7203 clutter_actor_get_name (actor) != NULL
7204 ? clutter_actor_get_name (actor)
7205 : G_OBJECT_TYPE_NAME (actor)
7207 is overly verbose and does two type checks. A simple, internal method
7208 for getting the same result without type checks would be much more
7211 clutter/clutter-actor-private.h | 2 ++
7212 clutter/clutter-actor.c | 63 ++++++++++++++++++++-------------------
7213 2 files changed, 34 insertions(+), 31 deletions(-)
7215 commit f3295a3f36cb64e6976f3a1359e08ad680193665
7216 Merge: 9f2c315 63721c5
7217 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7218 Date: Mon Nov 15 15:41:46 2010 +0000
7220 Merge remote branch 'elliot/cookbook-opacity-values-fix'
7222 * elliot/cookbook-opacity-values-fix:
7223 cookbook: Fix opacity examples in recipe
7224 cookbook: Fix incorrect value for opacity
7226 commit 9f2c31547c7a3a36edbd5098eb51ce6c6b9b5ea1
7227 Merge: 5f9df7e 8bdfa4d
7228 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7229 Date: Mon Nov 15 15:37:42 2010 +0000
7231 Merge remote branch 'elliot/cookbook-animations-looping'
7233 * elliot/cookbook-animations-looping:
7234 cookbook: Recipe for "looping animations"
7235 cookbook: Clarify how signals are emitted during looped animation
7236 cookbook: First draft for looping animations recipe
7237 cookbook: Recipe skeleton for "looping animations"
7238 cookbook: Looping animation examples
7240 commit 5f9df7e3a0a2646fe894987443869892de69c200
7241 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7242 Date: Mon Nov 15 15:36:41 2010 +0000
7244 Fix compilation warning by using the correct type
7246 clutter/clutter-main.c | 2 +-
7247 1 file changed, 1 insertion(+), 1 deletion(-)
7249 commit 92e21ae936a2bf796441db629cb1576b2ef8856d
7250 Merge: e800353 f9d2310
7251 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7252 Date: Mon Nov 15 15:26:07 2010 +0000
7254 Merge remote branch 'elliot/c90-fix'
7256 commit 8bdfa4ddee3aed333796ef76fc650405f3d17689
7257 Author: Elliot Smith <elliot.smith@intel.com>
7258 Date: Mon Nov 15 11:18:26 2010 +0000
7260 cookbook: Recipe for "looping animations"
7262 Added a recipe giving examples of how to loop
7263 animations for each part of the animation API (implicit,
7266 The discussion covers looping a fixed number of times
7267 and inverting a single implicit animation to create
7268 a loop which goes back to its start on each iteration.
7270 doc/cookbook/animations.xml | 328 +++++++++++++++++++++++++++++++++++++++----
7271 1 file changed, 298 insertions(+), 30 deletions(-)
7273 commit e205bd0fdc42832d97bf022cf63faa6d5302478c
7274 Author: Elliot Smith <elliot.smith@intel.com>
7275 Date: Thu Nov 11 12:04:20 2010 +0000
7277 cookbook: Clarify how signals are emitted during looped animation
7279 Added a comment to the example code about how timeline
7280 emits "completed" during looped animation, while the
7281 animation itself doesn't.
7283 doc/cookbook/examples/animations-looping-implicit.c | 4 ++++
7284 1 file changed, 4 insertions(+)
7286 commit 7eb248b1f0ae05e2eb165a04f37bbf8eadaf77d6
7287 Author: Elliot Smith <elliot.smith@intel.com>
7288 Date: Thu Nov 11 11:44:28 2010 +0000
7290 cookbook: First draft for looping animations recipe
7292 Includes video showing the looped animation and
7293 basic section headings, plus outline of content and notes.
7295 doc/cookbook/Makefile.am | 1 +
7296 doc/cookbook/animations.xml | 87 ++++++++++++++++++++++++++--
7297 doc/cookbook/videos/animations-looping.ogv | Bin 0 -> 29011 bytes
7298 3 files changed, 82 insertions(+), 6 deletions(-)
7300 commit 071029e373366b93a9f3b7c3b4ef5b8ec9eaf6a3
7301 Author: Elliot Smith <elliot.smith@intel.com>
7302 Date: Wed Nov 10 17:43:28 2010 +0000
7304 cookbook: Recipe skeleton for "looping animations"
7306 doc/cookbook/animations.xml | 55 +++++++++++++++++++++++++++++++++++++++++++
7307 1 file changed, 55 insertions(+)
7309 commit 0d8c730558f2d4b4c04c3daa014cebd76b14c263
7310 Author: Elliot Smith <elliot.smith@intel.com>
7311 Date: Wed Nov 10 16:11:27 2010 +0000
7313 cookbook: Looping animation examples
7315 Added code examples for creating a looped animation with
7316 each of the animation approaches (implicit, ClutterAnimation,
7319 doc/cookbook/examples/Makefile.am | 6 ++
7320 .../examples/animations-looping-animator.c | 66 +++++++++++++++
7321 .../examples/animations-looping-implicit.c | 87 ++++++++++++++++++++
7322 doc/cookbook/examples/animations-looping-state.c | 83 +++++++++++++++++++
7323 4 files changed, 242 insertions(+)
7325 commit e80035331b8adf6eec2549bf16f1027210c4233f
7326 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7327 Date: Sun Nov 14 23:06:53 2010 +0000
7329 Use the right string in the font settings debug blurb
7331 clutter/clutter-settings.c | 2 +-
7332 1 file changed, 1 insertion(+), 1 deletion(-)
7334 commit e6bc65b5c37c38dbf5a82dea724e2f389e2b481e
7335 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7336 Date: Sun Nov 14 15:23:36 2010 +0000
7338 text: Do not segfault with NULL :font-name
7340 Make sure that we have a fall back in place for the default font name
7341 string, and use g_strcmp0 to protect ourselves from NULL strings.
7343 http://bugzilla.clutter-project.org/show_bug.cgi?id=2417
7345 clutter/clutter-text.c | 16 ++++++++++++----
7346 1 file changed, 12 insertions(+), 4 deletions(-)
7348 commit 9249bd8411157c7610fd406e88ebc9ed9e089be4
7349 Author: Owen W. Taylor <otaylor@fishsoup.net>
7350 Date: Fri Nov 12 18:53:51 2010 -0500
7352 xsettings: don't use the xsettings watch function functionality
7354 The "watch" function functionality in xsettings-client.c is designed
7355 for setups like GDK where filters are per-window. If we are going
7356 to pass all events to _clutter_xsettings_client_process_event()
7357 anyways, we can just pass in NULL for watch.
7359 This avoids a nasty infinite loop where an event would get processed
7360 triggering removing a filter and adding a new filter, which would
7361 immediately run and remove a filter and add another and so on
7364 http://bugzilla.clutter-project.org/show_bug.cgi?id=2415
7366 clutter/x11/clutter-backend-x11.c | 37 ++++---------------------------------
7367 1 file changed, 4 insertions(+), 33 deletions(-)
7369 commit f9d2310b724fbd6ff4e3d6b0d1bcdfc1dd8b4b7b
7370 Author: Elliot Smith <elliot.smith@intel.com>
7371 Date: Fri Nov 12 09:32:04 2010 +0000
7373 cookbook: Make example code C90 compliant
7375 Modified all cookbook example code to prevent ISO C90 compliance
7376 warnings occurring during compilation.
7378 doc/cookbook/examples/animations-moving-animator.c | 11 ++++----
7379 doc/cookbook/examples/animations-moving-implicit.c | 4 ++-
7380 doc/cookbook/examples/events-buttons-lasso.c | 6 ++--
7381 doc/cookbook/examples/events-mouse-scroll.c | 13 +++++----
7382 .../examples/events-pointer-motion-scribbler.c | 4 +--
7383 .../examples/events-pointer-motion-stacked.c | 5 ++--
7384 doc/cookbook/examples/events-pointer-motion.c | 3 +-
7385 .../examples/layouts-stacking-diff-sized-actors.c | 6 ++--
7386 doc/cookbook/examples/layouts-stacking.c | 10 +++----
7387 doc/cookbook/examples/script-signals.c | 13 +++++----
7388 doc/cookbook/examples/script-ui.c | 11 ++++----
7389 doc/cookbook/examples/text-shadow.c | 14 +++++-----
7390 doc/cookbook/examples/textures-crossfade-cogl.c | 29 ++++++++++++++------
7391 .../examples/textures-crossfade-slideshow.c | 29 +++++++++++---------
7392 doc/cookbook/examples/textures-crossfade.c | 18 ++++++------
7393 doc/cookbook/examples/textures-reflection.c | 14 +++++-----
7394 16 files changed, 107 insertions(+), 83 deletions(-)
7396 commit 63721c5db1bc1c4a53ee2af536ffbd19b015fdb9
7397 Author: Elliot Smith <elliot.smith@intel.com>
7398 Date: Fri Nov 12 09:54:12 2010 +0000
7400 cookbook: Fix opacity examples in recipe
7402 The recipe had examples where opacity was set using
7403 fractional numbers. Fixed all examples to use
7406 doc/cookbook/actors.xml | 26 +++++++++++++-------------
7407 1 file changed, 13 insertions(+), 13 deletions(-)
7409 commit f135f2e7d5b7c5304ae4ba91a26f4dc0d5b0c757
7410 Author: Elliot Smith <elliot.smith@intel.com>
7411 Date: Fri Nov 12 09:49:07 2010 +0000
7413 cookbook: Fix incorrect value for opacity
7415 Opacity is a guint, so don't use floating point numbers
7418 doc/cookbook/examples/events-pointer-motion-stacked.c | 2 +-
7419 1 file changed, 1 insertion(+), 1 deletion(-)
7421 commit 03a713e18e842d29a73f9cefb38e689ceefb35ed
7422 Author: Lucas Rocha <lucasr@gnome.org>
7423 Date: Thu Nov 11 22:23:09 2010 +0000
7425 click-action: don't use pointer grabs
7427 The same behavior can be achieved by capturing events on stage while
7428 button is pressed. This fixes a problem when using click and drag
7429 actions on the same actor as there no grabs involved.
7431 http://bugzilla.clutter-project.org/show_bug.cgi?id=2409
7433 clutter/clutter-click-action.c | 85 +++++++++++++++++++++++++++++++---------
7434 1 file changed, 67 insertions(+), 18 deletions(-)
7436 commit dfdd5914142d6c6fd36b52c186d8bfa92c704168
7437 Merge: 47a6cd9 6ed6b2a
7438 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7439 Date: Thu Nov 11 17:53:42 2010 +0000
7441 Merge branch 'wip/static-colors'
7443 * wip/static-colors:
7444 Move tests to static colors where possible
7445 color: Add named, global colors
7447 commit 47a6cd95e76ef75a6c117424056c5359c5479283
7448 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7449 Date: Thu Nov 11 14:05:36 2010 +0000
7451 Add cogl-2.0 reference in the ignore file
7453 .gitignore | 13 +++++++++++++
7454 1 file changed, 13 insertions(+)
7456 commit 1bcf15e1b82a7f2842aa210f73dba5706d404484
7457 Author: Neil Roberts <neil@linux.intel.com>
7458 Date: Thu Nov 11 16:24:54 2010 +0000
7460 cogl-texture: Remove the gl_handle from CoglTextureSliceCallback
7462 There's no longer any need to use the GL handle in the callback for
7463 _cogl_texture_foreach_sub_texture_in_region because it can now work in
7464 terms of primitive cogl textures so it has now been removed. This
7465 would be helpful if we ever want to make the foreach function public
7466 so that apps could implement their own primitives using sliced
7469 clutter/cogl/cogl/cogl-primitives.c | 2 --
7470 clutter/cogl/cogl/cogl-sub-texture.c | 4 +---
7471 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 4 ----
7472 clutter/cogl/cogl/cogl-texture-2d.c | 2 --
7473 clutter/cogl/cogl/cogl-texture-3d.c | 2 --
7474 clutter/cogl/cogl/cogl-texture-private.h | 2 --
7475 clutter/cogl/cogl/cogl-texture-rectangle.c | 2 --
7476 7 files changed, 1 insertion(+), 17 deletions(-)
7478 commit 49898d43ddc7905a612dad0954d472fb00e8a9c1
7479 Author: Neil Roberts <neil@linux.intel.com>
7480 Date: Thu Nov 11 16:18:25 2010 +0000
7482 cogl-pipeline: Use layer overrides as CoglHandles instead of GLuint
7484 Since d5634e37 the sliced texture backend now works in terms of
7485 CoglTexture2Ds so there's no need to have special casing for
7486 overriding the texture of a pipeline layer with a GL handle. Instead
7487 we can just use cogl_pipeline_set_layer_texture with the
7488 CoglHandle. The special _cogl_pipeline_set_layer_gl_texture_slice
7489 function has now been removed and parts of the code for comparing
7490 materials have been simplified.
7492 clutter/cogl/cogl/cogl-journal-private.h | 2 +-
7493 clutter/cogl/cogl/cogl-journal.c | 2 +-
7494 clutter/cogl/cogl/cogl-pipeline-opengl.c | 35 +++-------
7495 clutter/cogl/cogl/cogl-pipeline-private.h | 7 +-
7496 clutter/cogl/cogl/cogl-pipeline.c | 105 ++++-------------------------
7497 clutter/cogl/cogl/cogl-primitives.c | 15 ++++-
7498 6 files changed, 38 insertions(+), 128 deletions(-)
7500 commit 1447ceb0deb081c85342fc3e74db3b278833cf76
7501 Author: Neil Roberts <neil@linux.intel.com>
7502 Date: Thu Nov 11 15:42:12 2010 +0000
7504 CoglTexture2DSliced: Pass slice tex to callback in foreach_sub_texture
7506 The cogl_texture_foreach_sub_texture_in_region virtual for the sliced
7507 texture backend was previously passing the CoglHandle of the sliced
7508 texture to the callback. Since d5634e37 the slice texture backend now
7509 works in terms of 2D textures so it's possible to pass the underlying
7510 slice texture as a handle too. This makes all of the foreach callbacks
7511 consistent in that they pass a CoglHandle of the primitive texture
7512 type that matches the GL handle.
7514 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 2 +-
7515 1 file changed, 1 insertion(+), 1 deletion(-)
7517 commit 21c74030119e5f3a6414d3ce161178799af4cdc4
7518 Author: Robert Bragg <robert@linux.intel.com>
7519 Date: Thu Nov 4 00:43:48 2010 +0000
7521 docs: Adds an initial cogl-2.0 reference manual
7523 So we can keep track of the experimental progress of Cogl 2.0 features
7524 this adds a standalone Cogl 2.0 Reference Manual which doesn't cover
7525 the deprecated 1.x symbols and removes the need for a "Cogl
7526 experimental API" chapter since those sections now make up the main
7530 doc/reference/Makefile.am | 2 +-
7531 doc/reference/cogl-2.0/Makefile.am | 142 ++++++
7532 doc/reference/cogl-2.0/blend-strings.xml | 129 ++++++
7533 doc/reference/cogl-2.0/cogl-docs.xml.in | 188 ++++++++
7534 doc/reference/cogl-2.0/cogl-sections.txt | 480 +++++++++++++++++++++
7535 doc/reference/cogl-2.0/cogl_ortho.png | Bin 0 -> 12650 bytes
7536 doc/reference/cogl-2.0/fill-rule-even-odd.png | Bin 0 -> 3121 bytes
7537 doc/reference/cogl-2.0/fill-rule-non-zero.png | Bin 0 -> 3143 bytes
7538 doc/reference/cogl-2.0/quad-indices-order.png | Bin 0 -> 2620 bytes
7539 doc/reference/cogl-2.0/quad-indices-triangles.png | Bin 0 -> 8018 bytes
7540 11 files changed, 942 insertions(+), 1 deletion(-)
7542 commit fb9d3a835071f94f06ae54945bd8059f9c34df5c
7543 Author: Robert Bragg <robert@linux.intel.com>
7544 Date: Thu Nov 4 00:27:47 2010 +0000
7546 path 2.0: update path API for experimental 2.0 API
7548 When COGL_ENABLE_EXPERIMENTAL_2_0_API is defined cogl.h will now include
7549 cogl2-path.h which changes cogl_path_new() so it can directly return a
7550 CoglPath pointer; it no longer exposes a prototype for
7551 cogl_{get,set}_path and all the remaining cogl_path_ functions now take
7552 an explicit path as their first argument.
7554 The idea is that we want to encourage developers to retain path objects
7555 for as long as possible so they can take advantage of us uploading the
7556 path geometry to the GPU. Currently although it is possible to start a
7557 new path and query the current path, it is not convenient.
7559 The other thing is that we want to get Cogl to the point where nothing
7560 depends on a global, current context variable. This will allow us to one
7561 day define a sensible threading model if/when that is ever desired.
7563 clutter/cogl/cogl/Makefile.am | 15 +-
7564 clutter/cogl/cogl/cogl-clip-state.c | 8 +-
7565 clutter/cogl/cogl/cogl-context.c | 4 +-
7566 clutter/cogl/cogl/cogl-context.h | 2 +-
7567 clutter/cogl/cogl/cogl-path-private.h | 14 +-
7568 clutter/cogl/cogl/cogl-path.c | 1363 ++----------------------
7569 clutter/cogl/cogl/cogl-path.h | 2 +
7570 clutter/cogl/cogl/cogl.h | 6 +
7571 clutter/cogl/cogl/cogl2-path.c | 1466 ++++++++++++++++++++++++++
7572 clutter/cogl/cogl/cogl2-path.h | 506 +++++++++
7573 clutter/cogl/pango/cogl-pango-display-list.c | 7 +-
7574 tests/interactive/test-cogl-primitives.c | 1 +
7575 12 files changed, 2086 insertions(+), 1308 deletions(-)
7577 commit 8efb48ecf4c322bd870f97dc88968b19807c2493
7578 Author: Robert Bragg <robert@linux.intel.com>
7579 Date: Thu Nov 4 14:22:24 2010 +0000
7581 config.h: define COGL_ENABLE_EXPERIMENTAL_2_0_API
7583 By defining COGL_ENABLE_EXPERIMENTAL_2_0_API in config.h we can ensure
7584 that all internal clutter and cogl code can use the Cogl 2.0 API and by
7585 not using AM_CPPFLAGS we avoid having other tools such as glib-mkenums
7586 and the gir-scanner from inadvertently using the define also.
7588 configure.ac | 8 ++++++++
7589 1 file changed, 8 insertions(+)
7591 commit b993195dc8f6e274a565d357de603bb1c9351596
7592 Author: Robert Bragg <robert@linux.intel.com>
7593 Date: Wed Nov 3 20:26:20 2010 +0000
7595 cogl: Adds COGL_ENABLE_EXPERIMENTAL_2_0_API define
7597 For now this new define is simply an alias for
7598 COGL_ENABLE_EXPERIMENTAL_API but the intention is that we will also use
7599 it to start experimenting with changes that need to break the existing
7600 Cogl API in incompatible ways.
7602 clutter/cogl/cogl/cogl.h | 4 ++++
7603 1 file changed, 4 insertions(+)
7605 commit 6ed6b2a54b5c8f44496399057ad5e58771bfc620
7606 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7607 Date: Mon Oct 11 17:45:30 2010 +0100
7609 Move tests to static colors where possible
7611 tests/interactive/test-actors.c | 11 ++++++-----
7612 tests/interactive/test-behave.c | 18 ++++++------------
7613 tests/interactive/test-binding-pool.c | 9 +++------
7614 tests/interactive/test-box-layout.c | 8 ++++----
7615 tests/interactive/test-depth.c | 26 ++++++++++++--------------
7616 tests/interactive/test-drag.c | 11 ++++-------
7617 tests/interactive/test-layout.c | 4 ----
7618 tests/interactive/test-multistage.c | 11 +++--------
7619 tests/interactive/test-rotate.c | 13 +++++--------
7620 tests/interactive/test-stage-sizing.c | 13 ++++---------
7621 tests/interactive/test-threads.c | 14 +++++++-------
7622 11 files changed, 54 insertions(+), 84 deletions(-)
7624 commit 985518c601c1a6e0d108d55fb0465a776ccae584
7625 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7626 Date: Tue Apr 6 10:54:20 2010 +0100
7628 color: Add named, global colors
7630 Since EGA colors are apparently all the rage in other toolkits, Clutter
7631 should not be left out. On top of the usual CGA/EGA palette the static
7632 colors also include the Tango Icon palette, which at least is more
7633 pleasant to the eye.
7635 Static colors are accessed through an enumeration by using
7636 clutter_color_get_static(), or using the short-hand pre-processor
7639 http://bugzilla.clutter-project.org/show_bug.cgi?id=2066
7641 clutter/Makefile.am | 1 +
7642 clutter/clutter-color-static.h | 77 ++++++++++++++++++++
7643 clutter/clutter-color.c | 77 ++++++++++++++++++++
7644 clutter/clutter-color.h | 107 ++++++++++++++++++++++++++++
7645 clutter/clutter.h | 1 +
7646 doc/reference/clutter/Makefile.am | 1 +
7647 doc/reference/clutter/clutter-sections.txt | 2 +
7648 7 files changed, 266 insertions(+)
7650 commit 6735f80b4b43b4c63dd0e3b982a5032509596a5d
7651 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7652 Date: Thu Nov 11 12:03:24 2010 +0000
7654 build: Sanitize the hack for ACLOCAL_FLAGS
7656 Move the ACLOCAL_FLAGS hack we have to use with jhbuild and autoreconf
7657 inside the ACLOCAL_AMFLAGS declaration in Makefile.am, and leave
7660 Makefile.am | 5 ++++-
7662 2 files changed, 5 insertions(+), 2 deletions(-)
7664 commit 6c53c9c84985aa8e83de1cf00e3feb9205e9f779
7665 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7666 Date: Wed Nov 10 16:37:44 2010 +0000
7668 build: Hack build/autotools into autoreconf
7670 Since we require a version of gettext that might not match the version
7671 installed we need to hack the order of includes for autoreconf.
7673 This hack should go away, and we should just use the installed copy of
7677 1 file changed, 1 insertion(+), 1 deletion(-)
7679 commit 5f30835eae218c8e80153101018c53862c03c353
7680 Author: Robert Bragg <robert@linux.intel.com>
7681 Date: Fri Jul 23 17:46:41 2010 +0100
7683 cogl-shader: Prepend boilerplate for portable shaders
7685 We now prepend a set of defines to any given GLSL shader so that we can
7686 define builtin uniforms/attributes within the "cogl" namespace that we
7687 can use to provide compatibility across a range of the earlier versions
7690 This updates test-cogl-shader-glsl.c and test-shader.c so they no longer
7691 needs to special case GLES vs GL when splicing together its shaders as
7692 well as the blur, colorize and desaturate effects.
7694 To get a feel for the new, portable uniform/attribute names here are the
7695 defines for OpenGL vertex shaders:
7697 #define cogl_position_in gl_Vertex
7698 #define cogl_color_in gl_Color
7699 #define cogl_tex_coord_in gl_MultiTexCoord0
7700 #define cogl_tex_coord0_in gl_MultiTexCoord0
7701 #define cogl_tex_coord1_in gl_MultiTexCoord1
7702 #define cogl_tex_coord2_in gl_MultiTexCoord2
7703 #define cogl_tex_coord3_in gl_MultiTexCoord3
7704 #define cogl_tex_coord4_in gl_MultiTexCoord4
7705 #define cogl_tex_coord5_in gl_MultiTexCoord5
7706 #define cogl_tex_coord6_in gl_MultiTexCoord6
7707 #define cogl_tex_coord7_in gl_MultiTexCoord7
7708 #define cogl_normal_in gl_Normal
7710 #define cogl_position_out gl_Position
7711 #define cogl_point_size_out gl_PointSize
7712 #define cogl_color_out gl_FrontColor
7713 #define cogl_tex_coord_out gl_TexCoord
7715 #define cogl_modelview_matrix gl_ModelViewMatrix
7716 #define cogl_modelview_projection_matrix gl_ModelViewProjectionMatrix
7717 #define cogl_projection_matrix gl_ProjectionMatrix
7718 #define cogl_texture_matrix gl_TextureMatrix
7720 And for fragment shaders we have:
7722 #define cogl_color_in gl_Color
7723 #define cogl_tex_coord_in gl_TexCoord
7725 #define cogl_color_out gl_FragColor
7726 #define cogl_depth_out gl_FragDepth
7728 #define cogl_front_facing gl_FrontFacing
7730 clutter/clutter-blur-effect.c | 7 +-
7731 clutter/clutter-colorize-effect.c | 5 +-
7732 clutter/clutter-desaturate-effect.c | 5 +-
7733 clutter/cogl/cogl/cogl-context.c | 2 +-
7734 clutter/cogl/cogl/cogl-path.c | 4 +-
7735 clutter/cogl/cogl/cogl-pipeline-arbfp.c | 3 +-
7736 clutter/cogl/cogl/cogl-pipeline-fixed.c | 3 +-
7737 clutter/cogl/cogl/cogl-pipeline-glsl.c | 44 ++++-
7738 clutter/cogl/cogl/cogl-pipeline-opengl-private.h | 3 +-
7739 clutter/cogl/cogl/cogl-pipeline-opengl.c | 6 +-
7740 clutter/cogl/cogl/cogl-pipeline-private.h | 3 +-
7741 clutter/cogl/cogl/cogl-shader-boilerplate.h | 107 ++++++++++
7742 clutter/cogl/cogl/cogl-shader-private.h | 5 +
7743 clutter/cogl/cogl/cogl-shader.c | 206 +++++++++++++++-----
7744 clutter/cogl/cogl/cogl-vertex-attribute.c | 4 +-
7745 clutter/cogl/cogl/cogl-vertex-buffer.c | 86 +++++++-
7746 clutter/cogl/cogl/cogl.c | 16 +-
7747 .../driver/gles/cogl-fixed-fragment-shader.glsl | 24 +--
7748 .../cogl/driver/gles/cogl-fixed-vertex-shader.glsl | 40 ++--
7749 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 62 +++---
7750 tests/interactive/test-cogl-shader-glsl.c | 38 +---
7751 tests/interactive/test-shader.c | 34 +---
7752 22 files changed, 517 insertions(+), 190 deletions(-)
7754 commit a4b984186ccd81879822ab7fad1af8b545b28e35
7755 Author: Robert Bragg <robert@linux.intel.com>
7756 Date: Tue Nov 9 15:56:03 2010 +0000
7758 tests: test-cogl-shader-arbfp wasn't compiling shader
7760 test-cogl-shader-arbfp was never calling cogl_shader_compile so it was a
7761 fluke that it used to run before.
7763 tests/interactive/test-cogl-shader-arbfp.c | 1 +
7764 1 file changed, 1 insertion(+)
7766 commit fd43786170937ff66eddadf9736124b33684405f
7767 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7768 Date: Wed Nov 10 13:59:09 2010 +0000
7770 build: Honour ACLOCAL_FLAGS with autoreconf
7772 autogen.sh | 30 +++++++++++++++++++++++++++++-
7773 1 file changed, 29 insertions(+), 1 deletion(-)
7775 commit 373140c830859f279c96d2605b6c4187a1fa7541
7776 Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
7777 Date: Wed Oct 27 19:02:47 2010 +0200
7779 Discard the current pick buffer...
7781 if we are asked to pick with a different mode.
7783 http://bugzilla.clutter-project.org/show_bug.cgi?id=2385
7785 clutter/clutter-main.c | 8 +++++---
7786 clutter/clutter-stage-private.h | 8 +++++---
7787 clutter/clutter-stage.c | 17 ++++++++++++-----
7788 tests/conform/test-pick.c | 9 +++++++++
7789 4 files changed, 31 insertions(+), 11 deletions(-)
7791 commit b4588b57dff691492d2d9fdd87c293ff95a278aa
7792 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7793 Date: Mon Nov 8 16:15:23 2010 +0000
7795 reference: Add a Wayland section
7797 doc/reference/clutter/Makefile.am | 1 +
7798 doc/reference/clutter/clutter-docs.xml.in | 1 +
7799 doc/reference/clutter/clutter-sections.txt | 6 ++++++
7800 3 files changed, 8 insertions(+)
7802 commit b783d77e6a730470656a9122755d10b50ac76e23
7803 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7804 Date: Mon Nov 8 16:03:44 2010 +0000
7806 gtk-doc: Add PathConstraint to the Clutter API reference
7808 doc/reference/clutter/clutter-docs.xml.in | 9 +++++----
7809 doc/reference/clutter/clutter.types | 1 +
7810 2 files changed, 6 insertions(+), 4 deletions(-)
7812 commit 4909ecc71e1c7ac2b2aab6bb5a7c874f9d5b4697
7813 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7814 Date: Mon Nov 8 16:01:19 2010 +0000
7816 gtk-doc: Fixes for the API references
7818 clutter/clutter-cairo-texture.c | 2 +-
7819 clutter/clutter-cairo-texture.h | 2 ++
7820 clutter/cogl/cogl/cogl-vertex-attribute.h | 2 +-
7821 doc/reference/clutter/Makefile.am | 7 +++++++
7822 doc/reference/clutter/clutter-sections.txt | 1 +
7823 5 files changed, 12 insertions(+), 2 deletions(-)
7825 commit 993d3b3fe196903d020f954f2ccce51458b3dd3a
7826 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7827 Date: Mon Nov 8 15:52:17 2010 +0000
7829 timeout-pool: Deprecate the structure too
7831 Don't leave it lying around, since nothing can use it anyway.
7833 clutter/clutter-timeout-pool.c | 4 +++-
7834 clutter/clutter-timeout-pool.h | 4 ++--
7835 2 files changed, 5 insertions(+), 3 deletions(-)
7837 commit 26a70707ab2286e188d9ccb63084acdd5cbeebc5
7838 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7839 Date: Sun Nov 7 21:35:40 2010 +0000
7841 path-constraint: Add a ::node-reached signal
7843 Emit a signal whenever a node in the path has been reached.
7845 clutter/clutter-marshal.list | 1 +
7846 clutter/clutter-path-constraint.c | 43 ++++++++++++++++++
7847 tests/interactive/test-path-constraint.c | 71 +++++++++++++++++++++++++++++-
7848 3 files changed, 114 insertions(+), 1 deletion(-)
7850 commit ef7f729c6881950623cbbd8b82b68b3a15e26318
7851 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7852 Date: Sun Nov 7 15:27:17 2010 +0000
7854 build: Re-instate profile builds
7856 The profiling support was broken - probably during the restructuring of
7857 the build environment, but I'm too lazy to bisect that.
7859 The fix is trivial, and everything works as it should.
7861 clutter/Makefile.am | 2 ++
7862 configure.ac | 4 ++--
7863 2 files changed, 4 insertions(+), 2 deletions(-)
7865 commit 38912ee4d9d7c74aa78a9dffcfc9e687232d8302
7866 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7867 Date: Sat Nov 6 20:00:39 2010 +0000
7869 Deprecate ClutterFrameSource
7871 The FrameSource API hasn't been used internally since 1.0; since it's
7872 not part of the paint clock, it is of limited use.
7874 clutter/clutter-frame-source.c | 89 ++++++++++++++++++++++++++++++++++
7875 clutter/clutter-frame-source.h | 4 ++
7876 clutter/clutter-main.c | 103 ++++------------------------------------
7877 clutter/clutter-main.h | 3 ++
7878 clutter/clutter-private.h | 11 +++++
7879 5 files changed, 115 insertions(+), 95 deletions(-)
7881 commit 9ac2f5cba567114fd61446b9fa8991a663483fd5
7882 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7883 Date: Sat Nov 6 19:59:58 2010 +0000
7885 Deprecate ClutterTimeoutPool
7887 Timelines have stopped using the pool since 1.0; there is no real reason
7888 to expose it as part of the active API.
7890 clutter/clutter-timeout-pool.c | 6 ++++++
7891 clutter/clutter-timeout-pool.h | 6 ++++++
7892 2 files changed, 12 insertions(+)
7894 commit a432d9973dc40658632eeb4060090b7c68aacf50
7895 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7896 Date: Sat Nov 6 18:12:41 2010 +0000
7898 Remove a compiler warning
7900 clutter/cogl/cogl/cogl-vertex-attribute.c | 3 ++-
7901 1 file changed, 2 insertions(+), 1 deletion(-)
7903 commit 6ec9c3247c5267c6c4a93e20d55d16415e4c1c9d
7904 Author: Maxim Ermilov <zaspire@rambler.ru>
7905 Date: Fri Nov 5 20:20:14 2010 +0300
7907 CoglContext: correct initialization order
7909 http://bugzilla.clutter-project.org/show_bug.cgi?id=2401
7911 clutter/cogl/cogl/cogl-context.c | 4 ++--
7912 1 file changed, 2 insertions(+), 2 deletions(-)
7914 commit ee59c83e176f78fa9ff95eaebbeb66e807b9ac0c
7915 Author: Piotr Drąg <piotrdrag@gmail.com>
7916 Date: Tue Nov 2 12:22:55 2010 +0000
7918 po: Update the Polish translation
7920 po/pl.po | 46 +++++++++++++---------------------------------
7921 1 file changed, 13 insertions(+), 33 deletions(-)
7923 commit 57633520d48eca5539381e3507847008470f27ed
7924 Author: Neil Roberts <neil@linux.intel.com>
7925 Date: Fri Nov 5 18:33:37 2010 +0000
7927 Make test-cogl-npot-texture a bit more extensive
7929 The size of the texture used for test-cogl-npot-texture was only using
7930 1 pixel of waste and the texture was scaled down so it would be quite
7931 likely that the test would still pass if only the top left slice was
7932 rendered. It also didn't test using non-default texture
7933 coordinates. These problems made it fail to pick up bug 2398. The
7934 texture is now using the maximum amount of waste and rendered in four
7937 tests/conform/test-cogl-npot-texture.c | 17 ++++++++++++++---
7938 1 file changed, 14 insertions(+), 3 deletions(-)
7940 commit cc63c7dd8ffcb5076e072d46b264cd7668e3d48f
7941 Author: Neil Roberts <neil@linux.intel.com>
7942 Date: Fri Nov 5 14:38:19 2010 +0000
7944 cogl-texture-2d-sliced: Fix the foreach callback for waste textures
7946 When converting the virtual coordinates of the underlying texture for
7947 a slice to virtual coordinates for the whole texture it was using the
7948 size and offset of the intersection as the size of the child
7949 texture. This would be incorrect if the texture contains waste or the
7950 texture coordinates are not the default. Instead the sliced foreach
7951 function now passes the CoglSpan to the callback instead of the
7954 http://bugzilla.clutter-project.org/show_bug.cgi?id=2398
7956 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 56 +++++++++++++---------------
7957 1 file changed, 26 insertions(+), 30 deletions(-)
7959 commit 8112bfc49fbdf4aa64ab06e0c2971cd3566ac08c
7960 Author: Neil Roberts <neil@linux.intel.com>
7961 Date: Fri Nov 5 14:55:46 2010 +0000
7963 Replace the disable-npots tool with a COGL_DEBUG option
7965 Previously in the tests/tools directory we build a disable-npots
7966 library which was used as an LD_PRELOAD to trick Cogl in to thinking
7967 there is no NPOT texture extension. This is a little awkward to use so
7968 it seems much simpler to just define a COGL_DEBUG option to disable
7971 clutter/cogl/cogl/cogl-debug-options.h | 6 ++
7972 clutter/cogl/cogl/cogl-debug.c | 3 +-
7973 clutter/cogl/cogl/cogl-debug.h | 3 +-
7974 clutter/cogl/cogl/cogl.c | 6 ++
7976 tests/Makefile.am | 4 +-
7977 tests/conform/Makefile.am | 2 +-
7978 tests/tools/Makefile.am | 43 ---------
7979 tests/tools/README | 2 -
7980 tests/tools/disable-npots.c | 156 --------------------------------
7981 tests/tools/disable-npots.sh.in | 15 ---
7982 11 files changed, 19 insertions(+), 226 deletions(-)
7984 commit 632412c9c8e2d62797c4333259e3c8a645479c61
7985 Author: Robert Bragg <robert@linux.intel.com>
7986 Date: Tue Nov 2 12:20:32 2010 +0000
7988 actor: Check "paint" handlers in _get_paint_volume
7990 Instead of waiting until clutter_actor_paint to check if there are any
7991 handlers connected to the "paint" signal, we now do the check whenever
7992 the paint-volume is requested in _actor_get_paint_volume_mutable().
7994 Previously we checked in clutter_actor_paint(), but at that time we may
7995 already be using a stage clip that could be derived from an invalid
7996 paint-volume. We used to try and handle that by queuing a follow up,
7997 unclipped, redraw but anyway there was an additional problem with the
7998 previous approach because the checking wasn't enough to always catch
7999 invalid volumes involved in culling (considering that containers may
8000 derive their volume from children that haven't yet been painted)
8002 By moving the check to _get_paint_volume time not only do we now
8003 correctly check children in cases where a container derives its volume
8004 from its children's volumes but we no longer need to queue follow up
8005 redraws to cover up artefacts.
8007 Since we now never queue follow up redraws, this in turn means we should
8008 no longer clobber redraws queued with an explicit clip which was
8009 something affecting gnome-shell since it connects a handler to the paint
8010 signal of the stage.
8012 http://bugzilla.clutter-project.org/show_bug.cgi?id=2388
8014 clutter/clutter-actor.c | 78 ++++++++++++++++++++++-------------------------
8015 1 file changed, 37 insertions(+), 41 deletions(-)
8017 commit b9dbeac2c3ac8ded52118270914328fd57eeee6e
8018 Author: Damien Lespiau <damien.lespiau@intel.com>
8019 Date: Thu Oct 14 16:37:25 2010 +0100
8021 gitignore: Update the path of generated GLES2 shaders
8023 The generation is not happening in the main Cogl directory, Update the
8024 .gitignore file accordingly.
8027 1 file changed, 2 insertions(+), 2 deletions(-)
8029 commit 844b5781283560bb99e827c0cbc1d212f21be628
8030 Author: Robert Bragg <robert@linux.intel.com>
8031 Date: Mon Nov 1 22:07:11 2010 +0000
8033 matrix-stack: use GArray instead of GSList for stack
8035 In some micro-benchmarks testing journal throughput the list
8036 manipulation jumps pretty high in the profile. This replaces the GSList
8037 usage with a GArray instead which is effectively a grow only allocation
8038 that means we avoid ongoing allocations while manipulating the stack
8041 clutter/cogl/cogl/cogl-matrix-stack.c | 55 ++++++++++-----------------------
8042 1 file changed, 17 insertions(+), 38 deletions(-)
8044 commit a6000533dca20639ec94bd2b0afe8de71382dc65
8045 Author: Robert Bragg <robert@linux.intel.com>
8046 Date: Mon Nov 1 20:33:20 2010 +0000
8048 pipeline: Avoid costly checking of lighting properties
8050 During _cogl_pipeline_needs_blending_enabled we were always checking the
8051 current lighting properties (ambient,diffuse,specular,emission) which
8052 had a notable impact during micro-benchmarks that exercise journal
8053 throughput of simple colored rectangles. This #if 0's the offending code
8054 considering that Cogl doesn't actually support lighting currently and
8055 when it actually does then we will be able to optimize this by avoiding
8056 the checks when lighting is disabled.
8058 clutter/cogl/cogl/cogl-pipeline.c | 42 +++++++++++++++++++++----------------
8059 1 file changed, 24 insertions(+), 18 deletions(-)
8061 commit eaee5dd604e94fd5b63e25be47b6300c12646aa6
8062 Author: Robert Bragg <robert@linux.intel.com>
8063 Date: Mon Nov 1 20:27:32 2010 +0000
8065 cogl: add separate material for blended source_colors
8067 When using cogl_set_source_color4ub there is a notable difference
8068 between colors that require blending and those that dont. When trying to
8069 modify the color of pipeline referenced by the journal we don't force a
8070 flush of the journal unless the color change will also change the
8071 blending state. By using two separate pipeline objects for handing
8072 opaque or transparent colors we can avoid ever flushing the journal when
8073 repeatedly using cogl_set_source_color and jumping between opaque and
8076 clutter/cogl/cogl/cogl-context.c | 13 ++++++++-----
8077 clutter/cogl/cogl/cogl-context.h | 5 +++--
8078 clutter/cogl/cogl/cogl.c | 19 ++++++++++++++-----
8079 3 files changed, 25 insertions(+), 12 deletions(-)
8081 commit d05ce7cd26253b94fb990b63e46b822febb616ab
8082 Author: Robert Bragg <robert@linux.intel.com>
8083 Date: Mon Nov 1 18:55:48 2010 +0000
8085 texture_quad_multiple_primitives: rework wrap mode overrides
8087 This reworks _cogl_texture_quad_multiple_primitives so instead of using
8088 the CoglPipelineWrapModeOverrides mechanism to force the clamp to edge
8089 repeat mode we now derive an override pipeline using cogl_pipeline_copy
8090 instead. This avoids a relatively large, unconditional, memset.
8092 clutter/cogl/cogl/cogl-primitives.c | 84 +++++++++++++++++++++++------------
8093 1 file changed, 55 insertions(+), 29 deletions(-)
8095 commit 7bbe207b65f1684278470f95681e46d34a56fc18
8096 Author: Robert Bragg <robert@linux.intel.com>
8097 Date: Mon Nov 1 18:33:17 2010 +0000
8099 _multitexture_quad_single_primitive: avoid wrap overrides
8101 This avoids using the wrap mode overrides mechanism to implement
8102 _cogl_multitexture_quad_single_primitive which requires memsetting a
8103 fairly large array. This updates it to use cogl_pipeline_foreach_layer()
8104 and we now derive an override_material to handle changes to the wrap
8105 modes instead of using the CoglPipelineWrapModeOverrides.
8107 clutter/cogl/cogl/cogl-primitives.c | 265 ++++++++++++++++++++---------------
8108 1 file changed, 151 insertions(+), 114 deletions(-)
8110 commit e73b67e59bac1ac9a8b03bd776cf309151d9a1b0
8111 Author: Neil Roberts <neil@linux.intel.com>
8112 Date: Wed Nov 3 16:02:27 2010 +0000
8114 cogl-path: Don't bother filling the path if less than 3 nodes
8116 Previously there was a check to avoid filling the path if there are
8117 zero nodes. However the tesselator also won't generate any triangles
8118 if there are less than 3 nodes so we might as well bail out in that
8119 case too. If we don't emit any triangles then we would end up trying
8120 to create an empty VBO. Although I don't think this should necessarily
8121 be a problem, this seems to cause Mesa to segfault in version 7.8.1
8122 when calling glBufferSubData (although not in
8123 master). test-cogl-primitives tries to fill a path with only two
8124 points so it's convenient to be able to avoid the crash in this case.
8126 clutter/cogl/cogl/cogl-path.c | 4 ++--
8127 1 file changed, 2 insertions(+), 2 deletions(-)
8129 commit 25b48585d3cabac8040aa4cccd579a1952a93f6d
8130 Author: Neil Roberts <neil@linux.intel.com>
8131 Date: Tue Nov 2 17:35:17 2010 +0000
8133 cogl-journal: Log the clip state in the journal
8135 When adding a new entry to the journal a reference is now taken on the
8136 current clip stack. Modifying the current clip state no longer causes
8137 a journal flush. The journal flushing code now has an extra stage to
8138 compare the clip state of each entry. The comparison can simply be
8139 done by comparing the pointers. Although different clip states will
8140 still end up with multiple draw calls this at leasts allows a scene
8141 comprising of multiple different clips to be upload with one vbo. It
8142 also lays the groundwork to do certain tricks when drawing clipped
8143 rectangles such as modifying the geometry instead of setting a clip
8146 clutter/cogl/cogl/cogl-clip-state.c | 24 -------
8147 clutter/cogl/cogl/cogl-journal-private.h | 2 +
8148 clutter/cogl/cogl/cogl-journal.c | 106 +++++++++++++++++++++++-------
8149 3 files changed, 83 insertions(+), 49 deletions(-)
8151 commit 4d5dc42dadac20da08e99340de9e828a805578ab
8152 Author: Neil Roberts <neil@linux.intel.com>
8153 Date: Tue Nov 2 17:34:51 2010 +0000
8155 cogl-framebuffer: Add a flag to skip flushing the clip state
8157 This adds a flag to avoid flushing the clip state when flushing the
8158 framebuffer state. This will be used by the journal to manage its own
8159 clip state flushing.
8161 clutter/cogl/cogl/cogl-framebuffer-private.h | 3 +++
8162 clutter/cogl/cogl/cogl-framebuffer.c | 3 ++-
8163 2 files changed, 5 insertions(+), 1 deletion(-)
8165 commit c5d909d0631dfeea5cd7f6beff900ed21762bf9d
8166 Author: Neil Roberts <neil@linux.intel.com>
8167 Date: Tue Nov 2 17:15:06 2010 +0000
8169 cogl: Don't flush the journal when flushing clip state
8171 Flushing the clip state no longer does anything that would cause the
8172 journal to flush. The clip state is only flushed when flushing the
8173 framebuffer state and in all cases this ends up flushing the journal
8174 in one way or another anyway. Avoiding flushing the journal will make
8175 it easier to log the clip state in the journal.
8177 Previously when trying to set up a rectangle clip that can't be
8178 scissored or when using a path clip the code would use cogl_rectangle
8179 as part of the process to fill the stencil buffer. This is now changed
8180 to use a new internal _cogl_rectangle_immediate function which
8181 directly uses the vertex array API to draw a triangle strip without
8182 affecting the journal. This should be just as efficient as the
8183 previous journalled code because these places would end up flushing
8184 the journal immediately before and after submitting the single
8185 rectangle anyway and flushing the journal always creates a new vbo so
8186 it would effectively do the same thing.
8188 Similarly there is also a new internal _cogl_clear function that does
8189 not flush the journal.
8191 clutter/cogl/cogl/Makefile.am | 2 +
8192 clutter/cogl/cogl/cogl-clip-stack.c | 47 ++++++++---------
8193 clutter/cogl/cogl/cogl-clip-state.c | 5 ++
8194 clutter/cogl/cogl/cogl-path.c | 76 +++++++++++++--------------
8195 clutter/cogl/cogl/cogl-primitives-private.h | 43 +++++++++++++++
8196 clutter/cogl/cogl/cogl-primitives.c | 40 ++++++++++++++
8197 clutter/cogl/cogl/cogl-private.h | 34 ++++++++++++
8198 clutter/cogl/cogl/cogl.c | 30 +++++++----
8199 8 files changed, 203 insertions(+), 74 deletions(-)
8201 commit a39b292d90c7511d0e7ab7ff484c9b75edc2880f
8202 Author: Neil Roberts <neil@linux.intel.com>
8203 Date: Wed Nov 3 15:48:56 2010 +0000
8205 cogl-path: Use the vertex array API instead of CoglVertexBuffer
8207 The new vertex array is now implemented in terms of the
8208 CoglVertexBuffer anyway so it should be slightly faster to use a
8209 vertex array directly.
8211 clutter/cogl/cogl/cogl-path-private.h | 26 ++++++-----
8212 clutter/cogl/cogl/cogl-path.c | 81 +++++++++++++++++++--------------
8213 2 files changed, 60 insertions(+), 47 deletions(-)
8215 commit 60de7939ee8bf35d5b8b72564dcb342157716cb0
8216 Author: Neil Roberts <neil@linux.intel.com>
8217 Date: Tue Nov 2 14:28:12 2010 +0000
8219 cogl: Move the clip stack dirtiness to the context rather than the FB
8221 Previously we tracked whether the clip stack needs flushing as part of
8222 the CoglClipState which is part of the CoglFramebuffer state. This is
8223 a bit odd because most of the clipping state (such as the clip planes
8224 and the scissor) are part of the GL context's state rather than the
8225 framebuffer. We were marking the clip state on the framebuffer dirty
8226 every time we change the framebuffer anyway so it seems to make more
8227 sense to have the dirtiness be part of the global context.
8229 Instead of a just a single boolean to record whether the state needs
8230 flushing, the CoglContext now holds a reference to the clip stack that
8231 was flushed. That way we can flush arbitrary stack states and if it
8232 happens to be the same as the state already flushed then Cogl will do
8233 nothing. This will be useful if we log the clip stack in the journal
8234 because then we will need to flush unrelated clip stack states for
8237 clutter/cogl/cogl/cogl-clip-stack.c | 44 +++++++++++++++++++++++++++++-----
8238 clutter/cogl/cogl/cogl-clip-stack.h | 6 +++--
8239 clutter/cogl/cogl/cogl-clip-state.c | 40 +++----------------------------
8240 clutter/cogl/cogl/cogl-clip-state.h | 6 -----
8241 clutter/cogl/cogl/cogl-context.c | 5 ++++
8242 clutter/cogl/cogl/cogl-context.h | 22 +++++++++++++++++
8243 clutter/cogl/cogl/cogl-framebuffer.c | 2 +-
8244 clutter/cogl/cogl/cogl-path.c | 10 +++-----
8245 8 files changed, 76 insertions(+), 59 deletions(-)
8247 commit 57574f399524c2eb46b095aa78b28ea5032a15ad
8248 Author: Neil Roberts <neil@linux.intel.com>
8249 Date: Mon Nov 1 19:52:45 2010 +0000
8251 cogl-clip-stack: Don't allocate a separate struct for CoglClipStack
8253 Instead of having a separate CoglHandle for CoglClipStack the code is
8254 now expected to directly hold a pointer to the top entry on the
8255 stack. The empty stack is then the NULL pointer. This saves an
8256 allocation when we want to copy the stack because we can just take a
8257 reference on a stack entry. The idea is that this will make it
8258 possible to store the clip stack in the journal without any extra
8261 The _cogl_get_clip_stack and set functions now take a CoglClipStack
8262 pointer instead of a handle so it would no longer make sense to make
8263 them public. However I think the only reason we would have wanted that
8264 in the first place would be to save the clip state between switching
8265 FBOs and that is no longer necessary.
8267 clutter/cogl/cogl/cogl-clip-stack.c | 193 ++++++++++++++---------------------
8268 clutter/cogl/cogl/cogl-clip-stack.h | 38 +++----
8269 clutter/cogl/cogl/cogl-clip-state.c | 55 ++++------
8270 clutter/cogl/cogl/cogl-clip-state.h | 20 ++--
8271 4 files changed, 116 insertions(+), 190 deletions(-)
8273 commit 314e980a3b40f79f1cb96fa8a8fc53d24eecfa2a
8274 Author: Neil Roberts <neil@linux.intel.com>
8275 Date: Wed Nov 3 13:34:21 2010 +0000
8277 cogl: Don't flush the framebuffer state for the internal draw
8279 CoglVertexAttribute has an internal draw function that is used by the
8280 CoglJournal to avoid the call to cogl_journal_flush which would
8281 otherwise end up recursively flushing the journal forever. The
8282 enable_gl_state function called by this was previously also calling
8283 _cogl_flush_framebuffer_state. However the journal code tries to
8284 handle this function specially by calling it with a flag to disable
8285 flushing the modelview matrix. This is useful because the journal
8286 handles flushing the modelview itself. Without this patch the journal
8287 state ends up getting flushed twice. This isn't a particularly big
8288 problem currently because the matrix stack has caching to recognise
8289 when it would push the same state twice and bails out. However if we
8290 later want to use the framebuffer flush flags to override a particular
8291 state of the framebuffer (such as the clip state) then we need to make
8292 sure the flush isn't called twice.
8294 clutter/cogl/cogl/cogl-vertex-attribute.c | 29 +++++++++++++++++++----------
8295 1 file changed, 19 insertions(+), 10 deletions(-)
8297 commit 738a669fc2987474d524e2f0e5d60a3a49832784
8298 Author: Neil Roberts <neil@linux.intel.com>
8299 Date: Thu Nov 4 16:01:23 2010 +0000
8301 cogl-buffer: Use void* instead of guint8* for map and set_data
8303 Unless the CoglBuffer is being used for texture data then it's
8304 relatively unlikely that the data will contain an array of bytes. For
8305 example if it's used as a vertex array then it's more likely to be
8306 floats or some vertex struct. In that case it's much more convenient
8307 if set_data and map use void* pointers so that we can avoid a cast.
8309 clutter/cogl/cogl/cogl-buffer-private.h | 8 ++++----
8310 clutter/cogl/cogl/cogl-buffer.c | 12 ++++++------
8311 clutter/cogl/cogl/cogl-buffer.h | 4 ++--
8312 clutter/cogl/cogl/cogl-journal.c | 2 +-
8313 clutter/cogl/cogl/cogl-primitive.c | 16 ++++++++--------
8314 clutter/cogl/cogl/cogl-primitives.c | 2 +-
8315 6 files changed, 22 insertions(+), 22 deletions(-)
8317 commit a53c9dafb5fcd18ecd868c350441759196d614fc
8318 Author: Neil Roberts <neil@linux.intel.com>
8319 Date: Thu Nov 4 17:31:59 2010 +0000
8321 Add a conformance test for the CoglPrimitive convenience constructors
8323 This adds a simple conformance test which calls all of the convenience
8324 constructors for CoglPrimitive.
8326 tests/conform/Makefile.am | 1 +
8327 tests/conform/test-cogl-primitive.c | 230 +++++++++++++++++++++++++++++++++++
8328 tests/conform/test-conform-main.c | 2 +
8329 3 files changed, 233 insertions(+)
8331 commit 390bdd2a275f9b3a242fc11725a92cca2c187797
8332 Author: Neil Roberts <neil@linux.intel.com>
8333 Date: Thu Nov 4 17:21:56 2010 +0000
8335 cogl-primitive: Fix the texture attribute offsets
8337 The offsets for the texture coordinate attributes in the convenience
8338 constructors were all wrong.
8340 clutter/cogl/cogl/cogl-primitive.c | 8 ++++----
8341 1 file changed, 4 insertions(+), 4 deletions(-)
8343 commit 17aaaac3362768b1b882c5772b3c6f81afa7ce01
8344 Author: Neil Roberts <neil@linux.intel.com>
8345 Date: Thu Nov 4 16:54:20 2010 +0000
8347 cogl-primitive: Fix a typo in new_with_attributes_array
8349 A typo in the g_return_val_if_fail was causing it to segfault.
8351 clutter/cogl/cogl/cogl-primitive.c | 2 +-
8352 1 file changed, 1 insertion(+), 1 deletion(-)
8354 commit b6eaab812be51ceeab023b4556f23e3b9e8a9ec5
8355 Author: Neil Roberts <neil@linux.intel.com>
8356 Date: Thu Nov 4 16:42:11 2010 +0000
8358 cogl-primitive: Add the missing cogl_primitive_new_p2 function
8360 There was a struct defined for CoglP2Vertex but there was no
8361 constructor function to use it.
8363 clutter/cogl/cogl/cogl-primitive.c | 27 ++++++++++++++++++++++
8364 clutter/cogl/cogl/cogl-primitive.h | 44 ++++++++++++++++++++++++++++++++++++
8365 2 files changed, 71 insertions(+)
8367 commit 1935855cdd4476c1f55dcff76706dc56653d33de
8368 Author: Neil Roberts <neil@linux.intel.com>
8369 Date: Thu Nov 4 16:13:01 2010 +0000
8371 cogl-primitive: Fix the ref-counting for the convenience constuctors
8373 The convenience constructors for the builtin vertex structs were
8374 creating the primitive and then immediately destroying it and
8375 returning the pointer. I think the intention was to unref the
8376 attributes instead. This adds an internal wrapper around the
8377 new_with_attributes_array constructor which unrefs the attributes
8378 instead of the primitive. The convenience constructors now use that.
8380 clutter/cogl/cogl/cogl-primitive.c | 89 ++++++++++++++++++++++--------------
8381 1 file changed, 55 insertions(+), 34 deletions(-)
8383 commit 3c35b95a84d410fdd9a9912c7c0d76f6ac05b562
8384 Author: Robert Bragg <robert@linux.intel.com>
8385 Date: Thu Nov 4 13:23:23 2010 +0000
8387 primitive: fix prototypes and start adding docs
8389 This fixes the prototypes for the cogl_primitive_new_xyz functions and
8390 also adds documentation with examples for each one.
8392 clutter/cogl/cogl/cogl-primitive.h | 329 +++++++++++++++++++++++++++++++++---
8393 1 file changed, 307 insertions(+), 22 deletions(-)
8395 commit 00397a313c955ba567d003d88dc64fb57d8346fb
8396 Author: Neil Roberts <neil@linux.intel.com>
8397 Date: Thu Nov 4 14:56:44 2010 +0000
8399 cogl-gles2-wrapper: Fix a reference to the old name for CoglPipeline
8401 The GLES2 wrapper was referring to COGL_MATERIAL_PROGRAM_TYPE_GLSL but
8402 this has since been renamed to COGL_PIPELINE_PROGRAM_TYPE_GLSL so the
8403 GLES2 backend wouldn't compile.
8405 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 2 +-
8406 1 file changed, 1 insertion(+), 1 deletion(-)
8408 commit 5abdbd5f7a2b0c4884dfb8b9415eb7e6f3f15a3b
8409 Author: Robert Bragg <robert@linux.intel.com>
8410 Date: Fri Oct 29 15:49:25 2010 +0100
8412 gles2: disable vbos until while we rework backend
8414 The gles2 wrapper functions don't understand about the CoglBuffer API so
8415 they don't support attributes stored in a CoglVertexArray. Instead of
8416 teaching the backend about buffers we are going to wait until we have
8417 overhauled the GLES 2 backend. We are currently making progress
8418 consolidating the GLES 2 backend with a new GLSL backend for
8419 CoglMaterial. This will hugely simplify the GLES 2 support and share
8420 code with the OpenGL backend. In the end it's hoped that this problem
8421 will simply go away so it doesn't make much sense to solve it with the
8424 clutter/cogl/cogl/driver/gles/cogl-gles.c | 5 +++++
8425 1 file changed, 5 insertions(+)
8427 commit 8034dc87d43c7e24324bacf42948fe96d1636176
8428 Author: Robert Bragg <robert@linux.intel.com>
8429 Date: Wed Oct 27 18:54:57 2010 +0100
8431 cogl: rename CoglMaterial -> CoglPipeline
8433 This applies an API naming change that's been deliberated over for a
8434 while now which is to rename CoglMaterial to CoglPipeline.
8436 For now the new pipeline API is marked as experimental and public
8437 headers continue to talk about materials not pipelines. The CoglMaterial
8438 API is now maintained in terms of the cogl_pipeline API internally.
8439 Currently this API is targeting Cogl 2.0 so we will have time to
8440 integrate it properly with other upcoming Cogl 2.0 work.
8442 The basic reasons for the rename are:
8443 - That the term "material" implies to many people that they are
8444 constrained to fragment processing; perhaps as some kind of high-level
8445 texture abstraction.
8446 - In Clutter they get exposed by ClutterTexture actors which may be
8447 re-inforcing this misconception.
8448 - When comparing how other frameworks use the term material, a material
8449 sometimes describes a multi-pass fragment processing technique which
8450 isn't the case in Cogl.
8451 - In code, "CoglPipeline" will hopefully be a much more self documenting
8452 summary of what these objects represent; a full GPU pipeline
8453 configuration including, for example, vertex processing, fragment
8454 processing and blending.
8455 - When considering the API documentation story, at some point we need a
8456 document introducing developers to how the "GPU pipeline" works so it
8457 should become intuitive that CoglPipeline maps back to that
8458 description of the GPU pipeline.
8459 - This is consistent in terminology and concept to OpenGL 4's new
8460 pipeline object which is a container for program objects.
8462 Note: The cogl-material.[ch] files have been renamed to
8463 cogl-material-compat.[ch] because otherwise git doesn't seem to treat
8464 the change as a moving the old cogl-material.c->cogl-pipeline.c and so
8465 we loose all our git-blame history.
8467 clutter/cogl/cogl/Makefile.am | 24 +-
8468 clutter/cogl/cogl/cogl-atlas-texture.c | 14 +-
8469 clutter/cogl/cogl/cogl-atlas.c | 2 +-
8470 clutter/cogl/cogl/cogl-buffer-private.h | 2 +-
8471 clutter/cogl/cogl/cogl-clip-stack.c | 6 +-
8472 clutter/cogl/cogl/cogl-context.c | 48 +-
8473 clutter/cogl/cogl/cogl-context.h | 28 +-
8474 clutter/cogl/cogl/cogl-framebuffer.c | 2 +-
8475 clutter/cogl/cogl/cogl-journal-private.h | 8 +-
8476 clutter/cogl/cogl/cogl-journal.c | 128 +-
8477 clutter/cogl/cogl/cogl-material-arbfp-private.h | 36 -
8478 clutter/cogl/cogl/cogl-material-arbfp.c | 1218 -----
8479 clutter/cogl/cogl/cogl-material-compat.c | 495 ++
8480 clutter/cogl/cogl/cogl-material-compat.h | 1396 +++++
8481 clutter/cogl/cogl/cogl-material-fixed-private.h | 36 -
8482 clutter/cogl/cogl/cogl-material-fixed.c | 261 -
8483 clutter/cogl/cogl/cogl-material-glsl-private.h | 36 -
8484 clutter/cogl/cogl/cogl-material-glsl.c | 452 --
8485 clutter/cogl/cogl/cogl-material-opengl-private.h | 155 -
8486 clutter/cogl/cogl/cogl-material-opengl.c | 1212 -----
8487 clutter/cogl/cogl/cogl-material-private.h | 957 ----
8488 clutter/cogl/cogl/cogl-material.c | 5743 --------------------
8489 clutter/cogl/cogl/cogl-material.h | 1440 -----
8490 clutter/cogl/cogl/cogl-path.c | 42 +-
8491 clutter/cogl/cogl/cogl-pipeline-arbfp-private.h | 36 +
8492 clutter/cogl/cogl/cogl-pipeline-arbfp.c | 1218 +++++
8493 clutter/cogl/cogl/cogl-pipeline-fixed-private.h | 36 +
8494 clutter/cogl/cogl/cogl-pipeline-fixed.c | 261 +
8495 clutter/cogl/cogl/cogl-pipeline-glsl-private.h | 36 +
8496 clutter/cogl/cogl/cogl-pipeline-glsl.c | 452 ++
8497 clutter/cogl/cogl/cogl-pipeline-opengl-private.h | 156 +
8498 clutter/cogl/cogl/cogl-pipeline-opengl.c | 1212 +++++
8499 clutter/cogl/cogl/cogl-pipeline-private.h | 993 ++++
8500 clutter/cogl/cogl/cogl-pipeline.c | 5725 +++++++++++++++++++
8501 clutter/cogl/cogl/cogl-pipeline.h | 1234 +++++
8502 clutter/cogl/cogl/cogl-primitives.c | 212 +-
8503 clutter/cogl/cogl/cogl-texture-2d-private.h | 2 +-
8504 clutter/cogl/cogl/cogl-texture-2d-sliced-private.h | 2 +-
8505 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 2 +-
8506 clutter/cogl/cogl/cogl-texture-2d.c | 2 +-
8507 clutter/cogl/cogl/cogl-texture-3d-private.h | 4 +-
8508 clutter/cogl/cogl/cogl-texture-3d.c | 4 +-
8509 clutter/cogl/cogl/cogl-texture-private.h | 4 +-
8510 clutter/cogl/cogl/cogl-texture-rectangle-private.h | 2 +-
8511 clutter/cogl/cogl/cogl-texture-rectangle.c | 2 +-
8512 clutter/cogl/cogl/cogl-texture.c | 26 +-
8513 clutter/cogl/cogl/cogl-types.h | 52 +-
8514 clutter/cogl/cogl/cogl-util.c | 2 +-
8515 clutter/cogl/cogl/cogl-vertex-attribute.c | 76 +-
8516 clutter/cogl/cogl/cogl-vertex-buffer.c | 92 +-
8517 clutter/cogl/cogl/cogl.c | 68 +-
8518 clutter/cogl/cogl/cogl.h | 9 +-
8519 .../cogl/cogl/driver/gl/cogl-texture-driver-gl.c | 4 +-
8520 .../cogl/driver/gles/cogl-texture-driver-gles.c | 4 +-
8521 clutter/cogl/cogl/winsys/cogl-texture-pixmap-x11.c | 6 +-
8522 55 files changed, 13713 insertions(+), 11962 deletions(-)
8524 commit 959af183b171f9ee9bdc2ecf6cec3b37e6703a5f
8525 Author: Robert Bragg <robert@linux.intel.com>
8526 Date: Wed Oct 27 12:43:36 2010 +0100
8528 pango: Use CoglMaterial type for materials
8530 Instead of using the CoglHandle type for material variables this updates
8531 the pango code to use CoglMaterial * instead. CoglHandle is the old
8532 typename which is being phased out of the API.
8534 clutter/cogl/pango/cogl-pango-display-list.c | 6 +++---
8535 clutter/cogl/pango/cogl-pango-display-list.h | 4 ++--
8536 clutter/cogl/pango/cogl-pango-render.c | 4 ++--
8537 3 files changed, 7 insertions(+), 7 deletions(-)
8539 commit 7ee99aaa838e5961c3ce15305679a6ea7a271113
8540 Author: Robert Bragg <robert@linux.intel.com>
8541 Date: Wed Oct 27 12:36:24 2010 +0100
8543 pango: push/pop source instead of trashing users source
8545 The pango-display-list code was calling cogl_set_source in numerous
8546 places and it didn't appear to be saving the users source to restore
8547 later. This could result in the user inadvertantly drawing a primitive
8548 with one of these internally managed materials instead of one that they
8549 chose. To rectify this the code now uses cogl_{push,pop}_source to save
8550 and restore the users source.
8552 clutter/cogl/pango/cogl-pango-display-list.c | 76 +++++++++++++++-----------
8553 1 file changed, 45 insertions(+), 31 deletions(-)
8555 commit 4e69c730857835d0b2971b3fd6b00e285b82a66a
8556 Author: Robert Bragg <robert@linux.intel.com>
8557 Date: Mon Oct 18 17:17:22 2010 +0100
8559 primitives: implements cogl_polygon on vertex_attributes
8561 This updates the implementation of cogl_polygon so it sits on the new
8562 CoglVertexArray and CoglVertexAttribute apis. This lets us minimize the
8563 number of different drawing paths we have to maintain in Cogl.
8565 Since the sliced texture support for cogl_polygon has been broken for a
8566 long time now and no one has complained this patch also greatly
8567 simplifies the code by not doing any special material validation so
8568 cogl_polygon will be restricted in the same way as
8569 cogl_draw_vertex_attributes. (i.e. sliced textures not supported).
8571 clutter/cogl/cogl/cogl-context.c | 5 +
8572 clutter/cogl/cogl/cogl-context.h | 3 +-
8573 clutter/cogl/cogl/cogl-primitives.c | 579 ++++++++++-------------------------
8574 3 files changed, 167 insertions(+), 420 deletions(-)
8576 commit f9d9b1b1578e05a51bbf087aa2626e11d8e2c185
8577 Author: Robert Bragg <robert@linux.intel.com>
8578 Date: Tue Oct 26 19:22:57 2010 +0100
8580 journal: port to the vertex_attributes API
8582 Instead of using raw OpenGL in the journal we now use the vertex
8583 attributes API instead. This is part of an ongoing effort to reduce the
8584 number of drawing paths we maintain in Cogl.
8586 clutter/cogl/cogl/cogl-context.c | 4 +
8587 clutter/cogl/cogl/cogl-context.h | 1 +
8588 clutter/cogl/cogl/cogl-journal.c | 262 ++++++++++++++++++++------------------
8589 3 files changed, 145 insertions(+), 122 deletions(-)
8591 commit f82b32cb3b93001705a2581ff59293e1074de4bb
8592 Author: Robert Bragg <robert@linux.intel.com>
8593 Date: Tue Oct 26 18:56:57 2010 +0100
8595 vertex-buffer: use cogl_get_rectangle_indices
8597 The functionality of cogl_vertex_buffer_indices_get_for_quads is now
8598 provided by cogl_get_rectangle_indices so this reworks the former to now
8599 work in terms of the latter so we don't have duplicated logic.
8601 clutter/cogl/cogl/cogl-context.c | 9 ---
8602 clutter/cogl/cogl/cogl-context.h | 6 --
8603 clutter/cogl/cogl/cogl-vertex-buffer.c | 101 ++++++++++++--------------------
8604 3 files changed, 36 insertions(+), 80 deletions(-)
8606 commit 670ea32dbdffea57008b5f5e315a879353cecdee
8607 Author: Robert Bragg <robert@linux.intel.com>
8608 Date: Tue Oct 12 12:55:23 2010 +0100
8610 vertex-buffer: port to CoglVertexAttributes + CoglPrimitive
8612 As part of an ongoing effort to reduce the number of draw paths we have
8613 in Cogl this re-works CoglVertexBuffer to use the CoglVertexAttribute
8614 and CoglPrimitive APIs instead of using raw GL.
8616 clutter/cogl/cogl/cogl-vertex-buffer-private.h | 42 +-
8617 clutter/cogl/cogl/cogl-vertex-buffer.c | 1140 ++++++++----------------
8618 2 files changed, 371 insertions(+), 811 deletions(-)
8620 commit 69b1f756d14237c60073f77ee048975a159148cb
8621 Author: Robert Bragg <robert@linux.intel.com>
8622 Date: Tue Oct 26 18:57:33 2010 +0100
8624 primitive: adds immutable ref/unref mechanism
8626 This adds a way to mark that a primitive is in use so that modifications
8627 will generate a warning. The plan is to use this mechanism when batching
8628 primitives in the journal to warn users that mid-scene modifications of
8629 primitives is not allowed.
8631 clutter/cogl/cogl/cogl-primitive-private.h | 8 +++
8632 clutter/cogl/cogl/cogl-primitive.c | 77 ++++++++++++++++++++++++++++
8633 2 files changed, 85 insertions(+)
8635 commit 2d58d3f1b6b728e3cca6e1bbeabd19fc03de05df
8636 Author: Robert Bragg <robert@linux.intel.com>
8637 Date: Tue Oct 12 15:48:31 2010 +0100
8639 primitive: Adds convenience constructors
8641 This adds convenience primitive constructors named like:
8642 cogl_primitive_new_p3 or
8643 cogl_primitive_new_p3c4 or
8644 cogl_primitive_new_p3t2c4
8645 where the letters correspond to the interleved vertex attributes layouts
8646 such as CoglP3Vertex which is a struct with 3 float x,y,z members for
8647 the [p]osition, or CoglP3T2C4Vertex which is a struct with 3 float x,y,z
8648 members for the [p]osition, 2 float s,t members for the [t]exture
8649 coordinates and 4 unsigned byte r,g,b,a members for the [c]olor.
8651 The hope is that people will find these convenient enough to replace
8654 clutter/cogl/cogl/cogl-primitive.c | 246 ++++++++++++++++++++++++++++++++++++
8655 clutter/cogl/cogl/cogl-primitive.h | 66 +++++++---
8656 2 files changed, 296 insertions(+), 16 deletions(-)
8658 commit 0cd077dc7efc5ed3cb982ffa6c7f4f5276867338
8659 Author: Robert Bragg <robert@linux.intel.com>
8660 Date: Tue Oct 12 12:54:07 2010 +0100
8662 cogl: Adds experimental CoglPrimitive API
8664 A CoglPrimitive is a retainable object for drawing a single primitive,
8665 such as a triangle strip, fan or list.
8667 CoglPrimitives build on CoglVertexAttributes and CoglIndices which
8668 themselves build on CoglVertexArrays and CoglIndexArrays respectively.
8670 A CoglPrimitive encapsulates enough information such that it can be
8671 retained in a queue (e.g. the Cogl Journal, or renderlists in the
8672 future) and drawn at some later time.
8674 clutter/cogl/cogl/Makefile.am | 3 +
8675 clutter/cogl/cogl/cogl-primitive-private.h | 46 ++++
8676 clutter/cogl/cogl/cogl-primitive.c | 223 ++++++++++++++++++++
8677 clutter/cogl/cogl/cogl-primitive.h | 311 ++++++++++++++++++++++++++++
8678 clutter/cogl/cogl/cogl.h | 1 +
8679 5 files changed, 584 insertions(+)
8681 commit dd63078bd3e4fae8fced0a2c8801bee145f9c24b
8682 Author: Robert Bragg <robert@linux.intel.com>
8683 Date: Tue Oct 12 12:53:10 2010 +0100
8685 cogl: Adds experimental CoglVertexAttribute API
8687 A CoglVertexAttribute defines a single attribute contained in a
8688 CoglVertexArray. I.e. a CoglVertexArray is simply a buffer of N bytes
8689 intended for containing a collection of attributes (position, color,
8690 normals etc) and a CoglVertexAttribute defines one such attribute by
8691 specifying its start offset in the array, its type, the number of
8692 components and the stride etc.
8694 clutter/cogl/cogl/Makefile.am | 3 +
8695 clutter/cogl/cogl/cogl-vertex-attribute-private.h | 80 ++
8696 clutter/cogl/cogl/cogl-vertex-attribute.c | 882 +++++++++++++++++++++
8697 clutter/cogl/cogl/cogl-vertex-attribute.h | 205 +++++
8698 clutter/cogl/cogl/cogl.h | 1 +
8699 5 files changed, 1171 insertions(+)
8701 commit 3d14fbc30881e7068c6724aef4ec3efbb4467186
8702 Author: Robert Bragg <robert@linux.intel.com>
8703 Date: Tue Oct 12 12:48:58 2010 +0100
8705 cogl: Adds experimental CoglIndices API
8707 CoglIndices define a range of indices inside a CoglIndexArray. I.e. a
8708 CoglIndexArray is simply a buffer of N bytes and you can then
8709 instantiate multiple CoglIndices collections that define a sub-region of
8710 a CoglIndexArray by specifying a start offset and an index data type.
8712 clutter/cogl/cogl/Makefile.am | 3 +
8713 clutter/cogl/cogl/cogl-context.c | 18 +++
8714 clutter/cogl/cogl/cogl-context.h | 10 ++
8715 clutter/cogl/cogl/cogl-indices-private.h | 57 +++++++
8716 clutter/cogl/cogl/cogl-indices.c | 253 ++++++++++++++++++++++++++++++
8717 clutter/cogl/cogl/cogl-indices.h | 74 +++++++++
8718 clutter/cogl/cogl/cogl.h | 1 +
8719 7 files changed, 416 insertions(+)
8721 commit 8ca80e47c40422b69d1e7b70850c7033ec71b1b8
8722 Author: Robert Bragg <robert@linux.intel.com>
8723 Date: Tue Oct 12 12:34:27 2010 +0100
8725 cogl: Adds experimental CoglVertexArray type
8727 This adds a new CoglVertexArray object which is a subclass of CoglBuffer
8728 used to hold vertex attributes. A later commit will add a
8729 CoglVertexAttribute API which will be used to describe the attributes
8730 inside a CoglVertexArray.
8732 clutter/cogl/cogl/Makefile.am | 3 +
8733 clutter/cogl/cogl/cogl-vertex-array-private.h | 39 +++++++++++++
8734 clutter/cogl/cogl/cogl-vertex-array.c | 70 ++++++++++++++++++++++
8735 clutter/cogl/cogl/cogl-vertex-array.h | 77 +++++++++++++++++++++++++
8736 clutter/cogl/cogl/cogl.h | 1 +
8737 5 files changed, 190 insertions(+)
8739 commit 3aba41e20209d597c6fc49a6163b86eb71a2ff3a
8740 Author: Robert Bragg <robert@linux.intel.com>
8741 Date: Tue Oct 12 12:36:22 2010 +0100
8743 cogl: Adds experimental CoglIndexArray type
8745 A CoglIndexArray is a subclass of CoglBuffer and will be used to hold
8746 vertex indices. A later commit will add a CoglIndices API which will
8747 allow describing a range of indices inside a CoglIndexArray.
8749 clutter/cogl/cogl/Makefile.am | 3 +
8750 clutter/cogl/cogl/cogl-index-array-private.h | 39 ++++++++
8751 clutter/cogl/cogl/cogl-index-array.c | 131 ++++++++++++++++++++++++++
8752 clutter/cogl/cogl/cogl-index-array.h | 79 ++++++++++++++++
8753 clutter/cogl/cogl/cogl.h | 1 +
8754 5 files changed, 253 insertions(+)
8756 commit eac167df1c6ce300d915249e696cc0dc2d6a8819
8757 Author: Robert Bragg <robert@linux.intel.com>
8758 Date: Tue Oct 26 19:08:51 2010 +0100
8760 buffer: adds immutable ref/unref mechanism
8762 This adds an internal mechanism to mark that a buffer is in-use so that
8763 a warning can be generated if the user attempts to modify the buffer.
8765 The plans is for the journal to use this mechanism so that we can warn
8766 users about mid-scene modifications of buffers.
8768 clutter/cogl/cogl/cogl-buffer-private.h | 8 ++++++
8769 clutter/cogl/cogl/cogl-buffer.c | 42 +++++++++++++++++++++++++++++--
8770 2 files changed, 48 insertions(+), 2 deletions(-)
8772 commit efa11f8a8fd0400b3f6003d9f48292b0629d3698
8773 Author: Robert Bragg <robert@linux.intel.com>
8774 Date: Tue Oct 12 13:14:17 2010 +0100
8776 buffer: make _bind() return base pointer
8778 We now make _cogl_buffer_bind return a base pointer for the bound buffer
8779 which can be used with OpenGL. The pointer will be NULL for GPU based
8780 buffers or may point to an malloc'd buffer. Since OpenGL expects an
8781 offset instead of a pointer when dealing with buffer objects this means
8782 we can handle fallback malloc buffers and GPU buffers in a consistent
8785 clutter/cogl/cogl/cogl-bitmap.c | 28 ++++++++--------------------
8786 clutter/cogl/cogl/cogl-buffer-private.h | 2 +-
8787 clutter/cogl/cogl/cogl-buffer.c | 17 ++++++++++-------
8788 3 files changed, 19 insertions(+), 28 deletions(-)
8790 commit 35ddc5407efe0e2877d64e75a5d2e252f9aee8b9
8791 Author: Robert Bragg <robert@linux.intel.com>
8792 Date: Tue Oct 26 19:02:04 2010 +0100
8794 material: Bail out faster if re-flushing unchanged material
8796 This allows _cogl_material_flush_gl_state to bail out faster if
8797 repeatedly asked to flush the same material and we can see the material
8800 Since we can rely on the material age incrementing when any material
8801 property changes or any associated layer property changes then we can
8802 track the age of the material after flushing so it can be compared with
8803 the age of the material if it is subsequently re-flushed. If the age is
8804 the same we only have to re-assert the texture object state.
8806 clutter/cogl/cogl/cogl-context.h | 1 +
8807 clutter/cogl/cogl/cogl-material-opengl.c | 16 ++++++++++++++--
8808 2 files changed, 15 insertions(+), 2 deletions(-)
8810 commit bbf27e6b285afca1261eaa448096667415d81219
8811 Author: Robert Bragg <robert@linux.intel.com>
8812 Date: Tue Oct 26 17:43:16 2010 +0100
8814 material-node: track if node owns reference on parent
8816 MaterialNodes are used for the sparse graph of material state and layer
8817 state. In the case of materials there is the idea of weak materials that
8818 don't take a reference on their parent and in that case we need to be
8819 careful not to unref our parent during
8820 _cogl_material_node_unparent_real. This adds a has_parent_reference
8821 member to the CoglMaterialNode struct so we now know when to skip the
8824 clutter/cogl/cogl/cogl-material-private.h | 4 ++++
8825 clutter/cogl/cogl/cogl-material.c | 4 +++-
8826 2 files changed, 7 insertions(+), 1 deletion(-)
8828 commit e5202d6a0da1d94f65ddbe381766d775e1047e26
8829 Author: Robert Bragg <robert@linux.intel.com>
8830 Date: Tue Oct 26 17:38:58 2010 +0100
8832 cogl-object: correctly free user_data_array in _unref
8834 If there is private data associated with a CoglObject then there may be
8835 a user_data_array that needs to be freed. The code was mistakenly
8836 freeing the array inside the loop that was actually iterating over the
8837 user data array notifying the objects destruction instead of waiting
8838 until all the data entries had been destroyed.
8840 clutter/cogl/cogl/cogl-object.c | 3 +--
8841 1 file changed, 1 insertion(+), 2 deletions(-)
8843 commit 0b4b1ca1caad41785dadc7d2bd71af6c7b644ada
8844 Author: Owen W. Taylor <otaylor@fishsoup.net>
8845 Date: Sat Oct 30 18:11:03 2010 -0400
8847 Don't leave stale invalidated queued redraws around
8849 Once an actor had _clutter_stage_queue_redraw_entry_invalidate()
8850 called on it once, then priv->queue_redraw_entry would point to
8851 an entry with entry->actor NULL. _clutter_stage_queue_actor_redraw()
8852 doesn't handle this case and no further redraws would be queued.
8854 To fix this, NULL out priv->queue_redraw_entry() and then make sure
8855 we free the invalidated entry in
8856 _clutter_stage_maybe_finish_queue_redraws() just as we do for
8857 still valid entries.
8859 http://bugzilla.clutter-project.org/show_bug.cgi?id=2389
8861 clutter/clutter-actor.c | 5 ++++-
8862 clutter/clutter-stage.c | 12 +++++++-----
8863 2 files changed, 11 insertions(+), 6 deletions(-)
8865 commit 02a3670e880333536f0fb53b1044317a9f46ee15
8866 Author: Neil Roberts <neil@linux.intel.com>
8867 Date: Mon Nov 1 15:21:04 2010 +0000
8869 win32: Fix a couple of build warnings
8871 * clutter-backend-win32 had an unused variable
8873 * clutter-event-win32 was using the abs function without including
8876 clutter/win32/clutter-backend-win32.c | 2 --
8877 clutter/win32/clutter-event-win32.c | 1 +
8878 2 files changed, 1 insertion(+), 2 deletions(-)
8880 commit f13f545aa9824ed53ea5a78878c7f96d40239e48
8881 Author: Neil Roberts <neil@linux.intel.com>
8882 Date: Mon Nov 1 15:13:12 2010 +0000
8884 clutter-backend-win32: Use g_object_unref on the stage manager
8886 Previously when trying to destroy all of the stages in the backend
8887 dispose function it would poke directly in the ClutterStageManager
8888 struct to get the list. In 8613013ab08 the defintion of
8889 ClutterStageManager moved to a different header which isn't included
8890 by the Win32 backend so it wouldn't compile. In that commit the X11
8891 backend was changed to unref the stage manager instead of poking in
8892 the internals so we should do the same for the win32 backend.
8894 clutter/win32/clutter-backend-win32.c | 7 +------
8895 1 file changed, 1 insertion(+), 6 deletions(-)
8897 commit 907490d795f4438e631679fce47cae7fc08830d6
8898 Author: Damien Lespiau <damien.lespiau@intel.com>
8899 Date: Sun Oct 31 18:34:23 2010 +0000
8901 clone: Remove checks in set_source_internal()
8903 One of the ideas behind _internal() functions is to be able to have a
8904 version of the original one without checks (among other things). As
8905 these functions are either static or private to the library, we control
8906 the arguments given to it, and thus no need for checking them again
8909 clutter/clutter-clone.c | 7 +------
8910 1 file changed, 1 insertion(+), 6 deletions(-)
8912 commit a318fe5ca50feca359abc15238c4ed0da3b41397
8913 Author: Damien Lespiau <damien.lespiau@intel.com>
8914 Date: Sun Oct 31 16:49:40 2010 +0000
8916 texture: Warn when the file loaded from a ClutterScript can't be found
8918 Telling the user about files not found when loading a ClutterScript with
8919 ClutterTextures in it is very useful and can save a few minutes (or
8920 hours) of frustation because it "does not work".
8922 clutter/clutter-texture.c | 5 ++++-
8923 1 file changed, 4 insertions(+), 1 deletion(-)
8925 commit 2ee0e40848a1c70c5b9891dea60d0f25d08e2a47
8926 Author: Neil Roberts <neil@linux.intel.com>
8927 Date: Fri Oct 15 18:00:29 2010 +0100
8929 Merge cogl-program-{gl,gles}.c into one cogl-program.c
8931 This merges the two implementations of CoglProgram for the GLES2 and
8932 GL backends into one. The implementation is more like the GLES2
8933 version which would track the uniform values and delay sending them to
8934 GL. CoglProgram is now effectively just a GList of CoglShaders along
8935 with an array of stored uniform values. CoglProgram never actually
8936 creates a GL program, instead this is left up to the GLSL material
8937 backend. This is necessary on GLES2 where we may need to relink the
8938 user's program with different generated shaders depending on the other
8939 emulated fixed function state. It will also be necessary in the future
8940 GLSL backends for regular OpenGL. The GLSL and ARBfp material backends
8941 are now the ones that create and link the GL program from the list of
8942 shaders. The linked program is attached to the private material state
8943 so that it can be reused if the CoglProgram is used again with the
8944 same material. This does mean the program will get relinked if the
8945 shader is used with multiple materials. This will be particularly bad
8946 if the legacy cogl_program_use function is used because that
8947 effectively always makes one-shot materials. This problem will
8948 hopefully be alleviated if we make a hash table with a cache of
8949 generated programs. The cogl program would then need to become part of
8952 Each CoglProgram now has an age counter which is incremented every
8953 time a shader is added. This is used by the material backends to
8954 detect when we need to create a new GL program for the user program.
8956 The internal _cogl_use_program function now takes a GL program handle
8957 rather than a CoglProgram. It no longer needs any special differences
8958 for GLES2. The GLES2 wrapper function now also uses this function to
8959 bind its generated shaders.
8961 The ARBfp shaders no longer store a copy of the program source but
8962 instead just directly create a program object when cogl_shader_source
8963 is called. This avoids having to reupload the source if the same
8964 shader is used in multiple materials.
8966 There are currently a few gross hacks to get the GLES2 backend to work
8967 with this. The problem is that the GLSL material backend is now
8968 generating a complete GL program but the GLES2 wrapper still needs to
8969 add its fixed function emulation shaders if the program doesn't
8970 provide either a vertex or fragment shader. There is a new function in
8971 the GLES2 wrapper called _cogl_gles2_use_program which replaces the
8972 previous cogl_program_use implementation. It extracts the GL shaders
8973 from the GL program object and creates a new GL program containing all
8974 of the shaders plus its fixed function emulation. This new program is
8975 returned to the GLSL material backend so that it can still flush the
8976 custom uniforms using it. The user_program is attached to the GLES2
8977 settings struct as before but its stored using a GL program handle
8978 rather than a CoglProgram pointer. This hack will go away once the
8979 GLSL material backend replaces the GLES2 wrapper by generating the
8982 Under Mesa this currently generates some GL errors when glClear is
8983 called in test-cogl-shader-glsl. I think this is due to a bug in Mesa
8984 however. When the user program on the material is changed the GLSL
8985 backend gets notified and deletes the GL program that it linked from
8986 the user shaders. The program will still be bound in GL
8987 however. Leaving a deleted shader bound exposes a bug in Mesa's
8988 glClear implementation. More details are here:
8990 https://bugs.freedesktop.org/show_bug.cgi?id=31194
8992 clutter/cogl/cogl/Makefile.am | 6 +-
8993 clutter/cogl/cogl/cogl-internal.h | 4 +-
8994 clutter/cogl/cogl/cogl-material-arbfp.c | 36 +-
8995 clutter/cogl/cogl/cogl-material-fixed.c | 17 +-
8996 clutter/cogl/cogl/cogl-material-glsl.c | 355 +++++++++-
8997 clutter/cogl/cogl/cogl-material-opengl.c | 156 ++---
8998 clutter/cogl/cogl/cogl-material-private.h | 2 +-
8999 clutter/cogl/cogl/cogl-program-private.h | 78 +++
9000 clutter/cogl/cogl/cogl-program.c | 683 ++++++++++++++++++++
9001 clutter/cogl/cogl/cogl-shader-private.h | 1 -
9002 clutter/cogl/cogl/cogl-shader.c | 56 +-
9003 .../cogl/driver/gl/cogl-feature-functions-gl.h | 11 +
9004 clutter/cogl/cogl/driver/gl/cogl-program-gl.c | 488 --------------
9005 clutter/cogl/cogl/driver/gl/cogl-program-gl.h | 46 --
9006 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 194 ++----
9007 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.h | 9 +-
9008 clutter/cogl/cogl/driver/gles/cogl-program-gles.c | 437 -------------
9009 clutter/cogl/cogl/driver/gles/cogl-program-gles.h | 52 --
9010 18 files changed, 1307 insertions(+), 1324 deletions(-)
9012 commit 65d7a113eeb0de08ccb402fe4ade14fe82fcaff1
9013 Author: Neil Roberts <neil@linux.intel.com>
9014 Date: Wed Oct 27 15:07:03 2010 +0100
9016 cogl: Use separate materials for set_source_color and texture
9018 Previously cogl_set_source_color and cogl_set_source_texture modified
9019 a single global material. If an application then mixes using
9020 cogl_set_source_color and texture then the material will constantly
9021 need a new ARBfp program because the numbers of layers alternates
9022 between 0 and 1. This patch just adds a second global material that is
9023 only used for cogl_set_source_texture. I think it would still end up
9024 flushing the journal if cogl_set_source_texture is used with multiple
9025 different textures but at least it should avoid a recompile unless the
9026 texture target also changes. It might be nice to somehow attach a
9027 material to the CoglTexture for use with cogl_set_source_texture but
9028 it would be difficult to implement this without creating a circular
9031 clutter/cogl/cogl/cogl-context.c | 3 +++
9032 clutter/cogl/cogl/cogl-context.h | 3 ++-
9033 clutter/cogl/cogl/cogl.c | 11 ++---------
9034 3 files changed, 7 insertions(+), 10 deletions(-)
9036 commit 89cedc78009cee86ffe025cd7c2343d69b199928
9037 Author: Robert Bragg <robert@linux.intel.com>
9038 Date: Tue Oct 12 12:53:44 2010 +0100
9040 Move IndicesType and VerticesMode typedefs to cogl-types.h
9042 This moves the CoglIndicesType and CoglVerticesMode typedefs from
9043 cogl-vertex-buffer.h to cogl-types.h so they can be shared with the
9044 anticipated cogl vertex attribute API.
9046 clutter/cogl/cogl/cogl-types.h | 48 ++++++++++++++++++++++++++++++++
9047 clutter/cogl/cogl/cogl-vertex-buffer.h | 47 -------------------------------
9048 2 files changed, 48 insertions(+), 47 deletions(-)
9050 commit e3bf83eab527d1dfbd697da1cc13dda2bb8b7d30
9051 Author: Robert Bragg <robert@linux.intel.com>
9052 Date: Tue Oct 26 16:05:00 2010 +0100
9054 buffer: BufferBindTarget + BufferUsageHint enum renaming
9056 This renames the BufferBindTarget + BufferUsageHint enums to match the
9057 anticipated new APIs for "index arrays" and "vertex arrays" as opposed
9058 to using the terms "vertices" or "indices".
9060 clutter/cogl/cogl/cogl-buffer-private.h | 5 +++--
9061 clutter/cogl/cogl/cogl-buffer.c | 2 +-
9062 2 files changed, 4 insertions(+), 3 deletions(-)
9064 commit 9efe7ca5bc66d2889c45ac998115d3df04bfebb4
9065 Author: Robert Bragg <robert@linux.intel.com>
9066 Date: Mon Oct 18 18:50:02 2010 +0100
9068 buffer: warn if (offset + size) > buffer->size
9070 previously we would silently bail out if the given offset + data size
9071 would overflow the buffer size. Now we use g_return_val_if_fail so we
9072 get a warning if we hit this case.
9074 clutter/cogl/cogl/cogl-buffer.c | 7 ++-----
9075 1 file changed, 2 insertions(+), 5 deletions(-)
9077 commit b2963b4eef2aba6b3b62983b1b23ff7abfa221e1
9078 Author: Robert Bragg <robert@linux.intel.com>
9079 Date: Tue Oct 12 13:25:05 2010 +0100
9081 pixel-array: Remove some benign variables
9083 There were some completely unused static global variables declared in
9084 cogl-pixel-array.c which this patch removes.
9086 clutter/cogl/cogl/cogl-pixel-array.c | 7 -------
9087 1 file changed, 7 deletions(-)
9089 commit 902c18ad874694b2f3f5fffa67d8f5aa576d79a2
9090 Author: Robert Bragg <robert@linux.intel.com>
9091 Date: Tue Oct 12 13:23:44 2010 +0100
9093 pixel-array: Remove flags member and flag macros
9095 There are no flags associated with pixel-arrays so we don't need the
9096 flags member or flag macros.
9098 clutter/cogl/cogl/cogl-pixel-array-private.h | 18 ------------------
9099 clutter/cogl/cogl/cogl-pixel-array.c | 2 --
9100 2 files changed, 20 deletions(-)
9102 commit 1c8b355bbb6f1aa466a8ca0b2a4732135413661b
9103 Author: Robert Bragg <robert@linux.intel.com>
9104 Date: Tue Oct 26 16:06:46 2010 +0100
9106 buffer: Add a store_created bit field member
9108 This adds a store_created bit field to CoglBuffer so we know if the
9109 underlying buffer has been allocated yet. Previously the code was trying
9110 to do something really wrong by accidentally using the
9111 COGL_PIXEL_ARRAY_FLAG_IS_SET macro (note "PIXEL_ARRAY") and what is more
9112 odd was the declaration of a CoglPixelArray *pixel_array in
9113 cogl-buffer.c which the buffer was being cast too before calling using
9114 the macro. Probably this was the fall-out of some previous code
9117 clutter/cogl/cogl/cogl-buffer-private.h | 2 ++
9118 clutter/cogl/cogl/cogl-buffer.c | 25 +++++++++++--------------
9119 2 files changed, 13 insertions(+), 14 deletions(-)
9121 commit d5188c26b6dc928639d0779ba4910ad5f4fa7fcc
9122 Author: Robert Bragg <robert@linux.intel.com>
9123 Date: Tue Oct 12 11:46:29 2010 +0100
9125 buffer: remove flag macros
9127 All the macros get used for are to |= (a new flag bit), &= ~(a flag bit)
9128 or use the & operator to test if a flag bit is set. I haven't found the
9129 code more readable with these macros, but several times now I've felt
9130 the need to double check if these macros do anything else behind the
9131 hood or I've forgotten what flags are available so I've had to go to the
9132 macro definition to see what the full enum names are for the flags (the
9133 macros use symbol concatenation) so I can search for the definition of
9134 all the flags. It turns out they are defined next to the macro so you
9135 don't have to search far, but without the macro that wouldn't have been
9138 The more common use of the _IS_SET macro is actually more concise
9139 expanded and imho since it doesn't hide anything in a separate header
9140 file the code is more readable without the macro.
9142 clutter/cogl/cogl/cogl-bitmap.c | 4 ++--
9143 clutter/cogl/cogl/cogl-buffer-private.h | 9 ---------
9144 clutter/cogl/cogl/cogl-buffer.c | 20 ++++++++++----------
9145 3 files changed, 12 insertions(+), 21 deletions(-)
9147 commit bc3a26d03552273ddb61004364a6897057415732
9148 Author: Robert Bragg <robert@linux.intel.com>
9149 Date: Tue Oct 12 12:35:47 2010 +0100
9151 material: Adds _cogl_material_get_layer_texture
9153 This is a counter part for _cogl_material_layer_get_texture which takes
9154 a layer index instead of a direct CoglMaterialLayer pointer. The aim is
9155 to phase out code that directly iterates the internal layer pointers of
9156 a material since the layer pointers can change if any property of any
9157 layer is changed making direct layer pointers very fragile.
9159 clutter/cogl/cogl/cogl-material-private.h | 4 ++++
9160 clutter/cogl/cogl/cogl-material.c | 9 +++++++++
9161 2 files changed, 13 insertions(+)
9163 commit 0288ba39110b46a51be7d1efc2de0a5a64e0d1e0
9164 Author: Robert Bragg <robert@linux.intel.com>
9165 Date: Mon Oct 18 19:00:50 2010 +0100
9167 material: add internal layer filter getters
9169 This adds internal _cogl_material_get_layer_filters and
9170 _cogl_material_get_layer_{min,mag}_filter functions which can be used to
9171 query the filters associated with a layer using a layer_index, as
9172 opposed to a layer pointer. Accessing layer pointers is considered
9173 deprecated so we need to provide layer_index based replacements.
9175 clutter/cogl/cogl/cogl-material-private.h | 14 +++++++++
9176 clutter/cogl/cogl/cogl-material.c | 45 +++++++++++++++++++++++++++++
9177 2 files changed, 59 insertions(+)
9179 commit 6fd26630bae6a30f97e523f4c2e6f21889111930
9180 Author: Robert Bragg <robert@linux.intel.com>
9181 Date: Sun Aug 1 23:05:28 2010 +0100
9183 material: Adds missing get_layer_wrap_mode_xyz prototypes
9185 This adds missing getter function prototypes for
9186 cogl_material_get_layer_wrap_mode_{s,t,p}
9188 clutter/cogl/cogl/cogl-material.h | 52 +++++++++++++++++++++++++++++++++++++
9189 1 file changed, 52 insertions(+)
9191 commit 32ae904d81684c1affd919fd1ccb024d18636bc8
9192 Author: Robert Bragg <robert@linux.intel.com>
9193 Date: Sun Aug 1 16:07:38 2010 +0100
9195 vertex-buffer: remove the unstrided CBO type
9197 When we come to submitting the users given attributes we sort them into
9198 different types of buffers. Previously we had three types; strided,
9199 unstrided and multi-pack. Really though unstrided was just a limited
9200 form of multi-pack buffer and didn't imply any hind of special
9201 optimization so this patch consolidates some code by reducing to just
9202 two types; strided and multi-pack.
9204 clutter/cogl/cogl/cogl-vertex-buffer-private.h | 5 ++--
9205 clutter/cogl/cogl/cogl-vertex-buffer.c | 33 +++++-------------------
9206 2 files changed, 8 insertions(+), 30 deletions(-)
9208 commit 94e06197856c9959580c837985eb114150d402a3
9209 Author: Robert Bragg <robert@linux.intel.com>
9210 Date: Wed Jul 28 13:59:34 2010 +0100
9212 material: Adds _cogl_material_pre_paint_for_layer
9214 This is a counter part for _cogl_material_layer_pre_paint which takes a
9215 layer index instead of a direct CoglMaterialLayer pointer. The aim is to
9216 phase out code that directly iterates the internal layer pointers of a
9217 material since the layer pointers can change if any property of any
9218 layer is changed making direct layer pointers very fragile.
9220 clutter/cogl/cogl/cogl-material-private.h | 9 +++++++++
9221 clutter/cogl/cogl/cogl-material.c | 8 ++++++++
9222 2 files changed, 17 insertions(+)
9224 commit 701a69366142f5c2389110daa0426abdb8691f6d
9225 Author: Robert Bragg <robert@linux.intel.com>
9226 Date: Mon Oct 25 13:25:21 2010 +0100
9228 cogl: Adds {push,pop,get}_source functions
9230 This exposes the idea of a stack of source materials instead of just
9231 having a single current material. This allows the writing of orthogonal
9232 code that can change the current source material and restore it to its
9233 previous state. It also allows the implementation of new composite
9234 primitives that may want to validate the current source material and
9235 possibly make override changes in a derived material.
9237 clutter/cogl/cogl/cogl-clip-stack.c | 7 +-
9238 clutter/cogl/cogl/cogl-context.c | 6 +-
9239 clutter/cogl/cogl/cogl-context.h | 2 +-
9240 clutter/cogl/cogl/cogl-material-private.h | 3 +
9241 clutter/cogl/cogl/cogl-path.c | 41 +++++------
9242 clutter/cogl/cogl/cogl-primitives.c | 99 ++++++++++++--------------
9243 clutter/cogl/cogl/cogl-texture.c | 7 +-
9244 clutter/cogl/cogl/cogl-vertex-buffer.c | 38 ++++++----
9245 clutter/cogl/cogl/cogl.c | 109 ++++++++++++++++++++++++++---
9246 clutter/cogl/cogl/cogl.h | 58 ++++++++++++---
9247 doc/reference/cogl/cogl-sections.txt | 3 +
9248 11 files changed, 252 insertions(+), 121 deletions(-)
9250 commit bf6c635e9dfa28470fa31b6459c6636afe70c95e
9251 Merge: b16ff03 cf46c81
9252 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9253 Date: Mon Oct 25 23:44:53 2010 +0100
9255 Merge branch 'private-cleanup'
9258 Add copyright notices
9259 Clean up clutter-private.h/6
9260 Clean up clutter-private.h/5
9261 Clean up clutter-private.h/4
9262 Clean up clutter-private.h/3
9263 Clean up clutter-private.h/2
9264 Clean up clutter-private.h/1
9266 commit b16ff0359ac53bfd6650256c874677e44b93a746
9267 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9268 Date: Mon Oct 25 17:44:27 2010 +0100
9270 Post-release version bump to 1.5.5
9273 1 file changed, 1 insertion(+), 1 deletion(-)
9275 commit cba230400a4d92f6c97f029326d68fa5798b1214
9276 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9277 Date: Mon Oct 25 17:30:52 2010 +0100
9279 Release Clutter 1.5.4
9282 po/clutter-1.0.pot | 792 +++++++++++++++++++++++------------------------
9283 po/de.po | 822 +++++++++++++++++++++++++------------------------
9284 po/fr.po | 860 ++++++++++++++++++++++++++--------------------------
9285 po/id.po | 799 ++++++++++++++++++++++++------------------------
9286 po/it.po | 790 +++++++++++++++++++++++------------------------
9287 po/pl.po | 812 +++++++++++++++++++++++++------------------------
9288 po/zh_CN.po | 800 ++++++++++++++++++++++++------------------------
9289 8 files changed, 2867 insertions(+), 2810 deletions(-)
9291 commit cb7d2943eafd65a2526f7da0f9e5d8bf1a176f32
9292 Author: Chris Lord <chris@linux.intel.com>
9293 Date: Fri Oct 22 17:41:06 2010 +0100
9295 state: Correct the documentation
9297 Correct the argument order and replace all occurrences of
9298 clutter_state_change() with the appropriate clutter_state_set_state() or
9299 clutter_state_warp_to_state().
9301 clutter/clutter-state.c | 21 +++++++++++----------
9302 1 file changed, 11 insertions(+), 10 deletions(-)
9304 commit bfc1583d76548f9882a4d77df39d32733883814d
9305 Author: Chris Lord <chris@linux.intel.com>
9306 Date: Fri Oct 22 16:32:05 2010 +0100
9308 state: Fix warping to the current state during transitions
9310 If you warp to a state, it should be immediately set. Check if the
9311 animation is in progress when warping to a state and don't short-circuit
9312 in the already-set check if we're not animating.
9314 clutter/clutter-state.c | 8 ++++++--
9315 1 file changed, 6 insertions(+), 2 deletions(-)
9317 commit 35c35de55c27ff212d819e202b6081859510ee3d
9318 Author: Chris Lord <chris@linux.intel.com>
9319 Date: Fri Oct 22 16:13:16 2010 +0100
9321 state: Handle setting keys for the current target state
9323 Add special behaviour when you set the key of the current target state:
9324 - If the state is transitioning, add/modify the interval so that the new
9325 key transitions from the current time (taking into account pre-delay) to
9326 its target final property
9327 - If the state is set but has already finished animating/was warped to,
9328 set the property immediately
9330 clutter/clutter-state.c | 73 ++++++++++++++++++++++++++++++++++++++++++++---
9331 1 file changed, 69 insertions(+), 4 deletions(-)
9333 commit 73dcbedc8067fac25e43d833036f8c76f7c01282
9334 Author: Chris Lord <chris@linux.intel.com>
9335 Date: Fri Oct 22 15:24:49 2010 +0100
9337 state: Fix crasher when removing the last key of a transitioning state
9339 If ClutterState is in the middle of a transition and you remove all the
9340 keys from the target state, the target state will be destroyed without
9341 stopping the animation/unsetting the target state. This caused an invalid
9344 clutter/clutter-state.c | 4 ++++
9345 1 file changed, 4 insertions(+)
9347 commit 5700b34b9cd894e6847dc8973e358104b47fdae5
9348 Author: Chris Lord <chris@linux.intel.com>
9349 Date: Thu Oct 21 16:51:45 2010 +0100
9351 state: Allow setting a NULL state
9353 Allow setting a %NULL state. This has the effect of unsetting the current
9354 state and stopping all animation. This allows you to, for example, start
9355 a state transition, set the state to NULL, alter the state transition
9356 and then resume it again, by just setting it.
9358 clutter/clutter-state.c | 22 ++++++++++++++++++----
9359 1 file changed, 18 insertions(+), 4 deletions(-)
9361 commit 9c5f09f32d291aac58fa7e7456302272e4c2a49e
9362 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9363 Date: Mon Oct 25 17:16:24 2010 +0100
9368 1 file changed, 3 insertions(+)
9370 commit ef6b46d8262cb9910dc70afa3cff2c2443f65d69
9371 Merge: 0cb2ef4 f6ab7ec
9372 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9373 Date: Mon Oct 25 17:09:46 2010 +0100
9375 Merge branch 'wip/path-constraint'
9377 * wip/path-constraint:
9378 docs: Add PathConstraint
9379 tests: Add a PathConstraint interactive test
9380 Add ClutterPathConstraint
9381 actor-box: Add setters for origin and size
9383 commit f6ab7eccd9c946c75b5b4f4eba0c4a834f31804a
9384 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9385 Date: Mon Oct 25 16:09:40 2010 +0100
9387 docs: Add PathConstraint
9389 clutter/clutter-path-constraint.c | 68 ++++++++++++++++++++++++++++
9390 clutter/clutter-path-constraint.h | 2 +-
9391 doc/reference/clutter/clutter-sections.txt | 16 +++++++
9392 3 files changed, 85 insertions(+), 1 deletion(-)
9394 commit 6f8e46e0b356ab5f367a1042be04392fe0775cba
9395 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9396 Date: Mon Oct 25 15:47:15 2010 +0100
9398 tests: Add a PathConstraint interactive test
9400 tests/interactive/Makefile.am | 3 +-
9401 tests/interactive/test-path-constraint.c | 63 ++++++++++++++++++++++++++++++
9402 2 files changed, 65 insertions(+), 1 deletion(-)
9404 commit 6b2cbb990835f366060e59344db9019d271b2a89
9405 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9406 Date: Mon Oct 25 15:46:04 2010 +0100
9408 Add ClutterPathConstraint
9410 ClutterPathConstraint is a simple Constraint implementation that
9411 modifies the allocation of the Actor to which is has been applied using
9412 a progress value and a ClutterPath.
9414 clutter/Makefile.am | 2 +
9415 clutter/clutter-path-constraint.c | 287 +++++++++++++++++++++++++++++++++++++
9416 clutter/clutter-path-constraint.h | 65 +++++++++
9417 clutter/clutter.h | 1 +
9418 4 files changed, 355 insertions(+)
9420 commit 3f6ec0ba5a153f8185db8e481f823b49030bd8bc
9421 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9422 Date: Mon Oct 25 15:45:35 2010 +0100
9424 actor-box: Add setters for origin and size
9426 clutter/clutter-actor-box.c | 49 ++++++++++++++++++++++++++++
9427 clutter/clutter-types.h | 7 ++++
9428 doc/reference/clutter/clutter-sections.txt | 2 ++
9429 3 files changed, 58 insertions(+)
9431 commit 0cb2ef434b371d5d372040e03ec6705f2991ad39
9432 Author: Damien Lespiau <damien.lespiau@intel.com>
9433 Date: Thu Oct 14 11:48:00 2010 -0400
9435 eglnative: Fix the type of stage for eglnative
9437 CLUTTER_TYPE_STAGE_EGLNATIVE does not exist any more, use
9438 CUTTER_TYPE_STAGE_EGL instead.
9441 1 file changed, 1 insertion(+), 1 deletion(-)
9443 commit 6da18b6e4f93bb1430698959d6280cb53f9e2ff2
9444 Author: Neil Roberts <neil@linux.intel.com>
9445 Date: Thu Oct 21 17:20:44 2010 +0100
9447 win32: Fix clutter_win32_disable_event_retrieval
9449 There was previously a flag that gets set when this function was
9450 called but nothing checked it so the function effectively did
9451 nothing. Also the flag was a member of the backend struct but this
9452 can't be used because the function should be called before
9453 clutter_init so the backend is not ready yet. This patch makes the
9454 event disabling work more like the X11 backend and set a global
9457 clutter/win32/clutter-backend-win32.c | 30 ++++++++++++++++++++++++++++--
9458 clutter/win32/clutter-backend-win32.h | 1 -
9459 clutter/win32/clutter-event-win32.c | 20 --------------------
9460 3 files changed, 28 insertions(+), 23 deletions(-)
9462 commit e6099cdd4bd08d81cab51ff4fc291c839d7f37e3
9463 Author: Ole André Vadla Ravnås <oravnas@cisco.com>
9464 Date: Thu Oct 14 15:30:54 2010 +0200
9466 win32: Use _clutter_actor_rerealize() like X11 backend does
9468 http://bugzilla.clutter-project.org/show_bug.cgi?id=1654
9470 clutter/win32/clutter-stage-win32.c | 90 +++++++++++++++++++++++++----------
9471 1 file changed, 66 insertions(+), 24 deletions(-)
9473 commit e66c679e84fd604d714828dceba1a50105790181
9474 Author: Neil Roberts <neil@linux.intel.com>
9475 Date: Fri Aug 27 15:54:21 2010 +0100
9477 win32: Add a public clutter_win32_handle_event function
9479 This function handles a single windows message. The idea is that it
9480 could be used by clutter-gtk to forward on events from a
9481 GdkEventFilter. The function replaces the old message_translate()
9482 function. That function didn't translate the event anymore anyway and
9483 instead it could generate multiple events so
9484 clutter_win32_handle_event seems like a more appropriate name. The
9485 function returns TRUE or FALSE depending on whether the event was
9486 completely handled instead of setting call_window_proc.
9488 clutter/win32/clutter-event-win32.c | 70 +++++++++++++++++-----------
9489 clutter/win32/clutter-win32.h | 2 +
9490 doc/reference/clutter/clutter-sections.txt | 1 +
9491 3 files changed, 47 insertions(+), 26 deletions(-)
9493 commit 52744c0d9db6d7f9738d31b6d9f774c0912fcad0
9494 Author: Neil Roberts <neil@linux.intel.com>
9495 Date: Thu Oct 21 16:27:17 2010 +0100
9497 clutter-stage: Set the Cogl framebuffer size after allocating
9499 When handling an allocation on the stage, Clutter uses the oppurtunity
9500 to inform Cogl of the new size of the framebuffer so that it can
9501 handle the viewport correctly. It queries the size of the window
9502 implementation using a backend virtual function. However it was doing
9503 this before letting the backend handle the allocation so on Win32 it
9504 would end up using the previous framebuffer size. This wasn't
9505 affecting the X11 backend because in that case the resizes are
9506 asynchronous so setting the stage size causes one allocation which
9507 ends up sending a window size request. Eventually a ConfigureNotify is
9508 received which causes the size of the stage to be set again and
9509 another allocation is fired meaning the framebuffer size will be set
9510 again this time with the correct size. In Win32 the resizes are
9511 synchronous so we don't have this second allocation.
9513 clutter/clutter-stage.c | 12 ++++++++----
9514 1 file changed, 8 insertions(+), 4 deletions(-)
9516 commit cc7977988c92ad7fa96f0a1dd0a8581432f090ca
9517 Author: Neil Roberts <neil@linux.intel.com>
9518 Date: Mon Oct 25 13:15:01 2010 +0100
9520 cogl-context-winsys: Avoid zero-length arrays
9522 When compiling for non-glx platforms the winsys feature data array
9523 ends up empty. Empty arrays cause problems for MSVC so this patch adds
9524 a stub entry so that the array always has at least one entry.
9526 Based on a patch by Ole André Vadla Ravnås
9528 clutter/cogl/cogl/winsys/cogl-context-winsys.c | 8 +++++++-
9529 1 file changed, 7 insertions(+), 1 deletion(-)
9531 commit f1752ff3ba1828873f7f97f3842eadcc389e87a1
9532 Author: Neil Roberts <neil@linux.intel.com>
9533 Date: Mon Oct 25 13:08:52 2010 +0100
9535 Avoid mixing declarations and code
9537 Mixing declarations and code causes problems for MSVC as it is a C99
9538 feature so we should try to avoid it.
9540 clutter/cally/cally-actor.c | 66 ++++++++++++++++--------------
9541 clutter/clutter-stage.c | 3 +-
9542 clutter/cogl/cogl/cogl-material-opengl.c | 9 +++-
9543 clutter/cogl/cogl/cogl-material.c | 4 +-
9544 clutter/x11/clutter-event-x11.c | 5 ++-
9545 tests/conform/test-cogl-blend-strings.c | 8 ++--
9546 tests/conform/test-cogl-depth-test.c | 8 ++--
9547 tests/conform/test-cogl-materials.c | 8 ++--
9548 tests/conform/test-cogl-premult.c | 8 ++--
9549 9 files changed, 68 insertions(+), 51 deletions(-)
9551 commit 8e3674dcc12654e48e9c85e5aff2d56642512321
9552 Author: Neil Roberts <neil@linux.intel.com>
9553 Date: Mon Oct 25 13:07:50 2010 +0100
9555 Avoid variable length arrays in clutter-backend-x11
9557 There was an array whose length was define by a static const int
9558 variable. GCC seems to consider this a variable-length array so it
9559 will cause warnings now that -Wvla is enabled. We might as well make
9560 this constant a #define instead to avoid the warning.
9562 clutter/x11/clutter-backend-x11.c | 6 +++---
9563 1 file changed, 3 insertions(+), 3 deletions(-)
9565 commit c3f47fa7d03ec3e7a5f963ced0457f27c3ec41ee
9566 Author: Neil Roberts <neil@linux.intel.com>
9567 Date: Mon Oct 25 13:03:39 2010 +0100
9569 Add -Wdeclaration-after-statement and -Wvla to maintainer CFLAGS
9571 These warnings pick up C99 extensions that are commonly accidentally
9572 used and which cause problems when compiling with MSVC.
9574 configure.ac | 3 ++-
9575 1 file changed, 2 insertions(+), 1 deletion(-)
9577 commit 164af55a6e52075afbc335a3ff15fe9b48ac9f31
9578 Author: Giovanni Campagna <gcampagna@src.gnome.org>
9579 Date: Sun Oct 24 14:45:16 2010 +0200
9581 Avoid warnings on ClutterClone with a NULL source
9583 clutter_clone_apply_transform should check the source before calling
9584 methods on it, else criticals will be emitted.
9586 http://bugzilla.clutter-project.org/show_bug.cgi?id=2381
9588 clutter/clutter-clone.c | 4 ++++
9589 1 file changed, 4 insertions(+)
9591 commit c7bfe27e96ccc6295d0e774dacf3597ec7df146c
9592 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9593 Date: Mon Oct 25 12:31:50 2010 +0100
9597 NEWS | 39 +++++++++++++++++++++++++++++++++++++++
9598 1 file changed, 39 insertions(+)
9600 commit 276acf5854c0e589eae9a76c78ef1faa50c46caa
9601 Author: Ole André Vadla Ravnås <oravnas@cisco.com>
9602 Date: Sat Oct 9 23:07:26 2010 +0200
9604 binding-pool: Use the correct marshaller
9606 clutter/clutter-binding-pool.c | 8 ++++----
9607 clutter/clutter-marshal.list | 2 +-
9608 2 files changed, 5 insertions(+), 5 deletions(-)
9610 commit c792431538e02c05f90f12bd4c36c72cf3f3eab4
9611 Author: Ole André Vadla Ravnås <oravnas@cisco.com>
9612 Date: Thu Oct 14 13:11:46 2010 +0200
9614 interval: Remember to chain up to parent in finalize()
9616 clutter/clutter-interval.c | 2 ++
9617 1 file changed, 2 insertions(+)
9619 commit d5634e37a262012f66022071d862ad9e5a8fbe53
9620 Author: Neil Roberts <neil@linux.intel.com>
9621 Date: Mon Oct 4 14:34:24 2010 +0100
9623 cogl-texture-2d-sliced: Use the other backends for the slices
9625 Instead of directly manipulating GL textures itself,
9626 CoglTexture2DSliced now works in terms of CoglHandles. It creates the
9627 texture slices using cogl_texture_new_with_size which should always
9628 end up creating a CoglTexture2D because the size should fit. This
9629 allows us to avoid replicating some code such as the first pixel
9630 mipmap tracking and it better enforces the separation that each
9631 texture backend is the only place that contains code dealing with each
9634 clutter/cogl/cogl/cogl-texture-2d-sliced-private.h | 20 +-
9635 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 1103 ++++++++------------
9636 2 files changed, 462 insertions(+), 661 deletions(-)
9638 commit 61f2f1c024a01368ff99e6639518463b175ff2c0
9639 Author: Neil Roberts <neil@linux.intel.com>
9640 Date: Mon Oct 4 15:27:38 2010 +0100
9642 Support foreign textures in the texture-2d and rectangle backends
9644 This adds two new internal functions to create a foreign texture for
9645 the texture 2d and rectangle backends. cogl_texture_new_from_foreign
9646 will now use one of these backends directly if there is no waste
9647 instead of always using the sliced texture backend.
9649 clutter/cogl/cogl/cogl-texture-2d-private.h | 7 +
9650 clutter/cogl/cogl/cogl-texture-2d.c | 135 +++++++++++++++++++-
9651 clutter/cogl/cogl/cogl-texture-rectangle-private.h | 7 +
9652 clutter/cogl/cogl/cogl-texture-rectangle.c | 118 ++++++++++++++++-
9653 clutter/cogl/cogl/cogl-texture.c | 42 ++++--
9654 5 files changed, 287 insertions(+), 22 deletions(-)
9656 commit 7b7b655e6ef45e5bdda25fe7b416ea632a0da25f
9657 Author: Damien Lespiau <damien.lespiau@intel.com>
9658 Date: Fri Oct 22 06:52:27 2010 +0100
9660 build: Dist cookbook.xsl
9662 cookbook.xsl was not in EXTRA_DIST, so the cookbook was not buildable
9663 with released tarballs.
9665 doc/common/Makefile.am | 1 +
9666 1 file changed, 1 insertion(+)
9668 commit cf46c8197e678bd53d3592307b326fa984c93eb9
9669 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9670 Date: Thu Oct 21 13:13:00 2010 +0100
9672 Add copyright notices
9674 clutter/clutter-actor-meta-private.h | 24 ++++++++++++++++++++++++
9675 clutter/clutter-actor-meta.c | 24 ++++++++++++++++++++++++
9676 clutter/clutter-actor-meta.h | 24 ++++++++++++++++++++++++
9677 clutter/clutter-actor-private.h | 21 +++++++++++++++++++++
9678 clutter/clutter-backend-private.h | 21 +++++++++++++++++++++
9679 clutter/clutter-device-manager-private.h | 24 ++++++++++++++++++++++++
9680 clutter/clutter-paint-volume-private.h | 21 +++++++++++++++++++++
9681 clutter/clutter-stage-manager-private.h | 24 ++++++++++++++++++++++++
9682 clutter/clutter-stage-private.h | 21 +++++++++++++++++++++
9683 9 files changed, 204 insertions(+)
9685 commit 46c597a1f674394d94ac9bdd61b3521d8bb0905a
9686 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9687 Date: Thu Oct 21 12:16:05 2010 +0100
9689 Clean up clutter-private.h/6
9691 Move all Actor private API to a separate file.
9693 clutter/Makefile.am | 1 +
9694 clutter/clutter-actor-box.c | 2 +
9695 clutter/clutter-actor-private.h | 97 ++++++++++++++++++++++++++++
9696 clutter/clutter-actor.c | 2 +-
9697 clutter/clutter-animator.c | 2 +
9698 clutter/clutter-behaviour-ellipse.c | 6 +-
9699 clutter/clutter-bind-constraint.c | 2 +
9700 clutter/clutter-cairo-texture.c | 1 +
9701 clutter/clutter-clone.c | 1 +
9702 clutter/clutter-desaturate-effect.c | 2 +
9703 clutter/clutter-input-device.c | 1 +
9704 clutter/clutter-master-clock.c | 1 +
9705 clutter/clutter-offscreen-effect.c | 1 +
9706 clutter/clutter-page-turn-effect.c | 2 +
9707 clutter/clutter-paint-volume.c | 1 +
9708 clutter/clutter-path.c | 3 +-
9709 clutter/clutter-private.h | 102 +-----------------------------
9710 clutter/clutter-rectangle.c | 1 +
9711 clutter/clutter-stage.c | 1 +
9712 clutter/clutter-text.c | 2 +
9713 clutter/clutter-texture.c | 1 +
9714 clutter/clutter-units.c | 2 +
9715 clutter/glx/clutter-stage-glx.c | 1 +
9716 clutter/wayland/clutter-stage-wayland.c | 7 +-
9717 clutter/win32/clutter-stage-win32.c | 1 +
9718 clutter/x11/clutter-event-x11.c | 3 +-
9719 clutter/x11/clutter-stage-x11.c | 1 +
9720 clutter/x11/clutter-x11-texture-pixmap.c | 1 +
9721 28 files changed, 138 insertions(+), 110 deletions(-)
9723 commit cf3a29f224644b718458576191a6246883ba6485
9724 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9725 Date: Thu Oct 21 11:59:50 2010 +0100
9727 Clean up clutter-private.h/5
9729 Move PaintVolume private API to a separate header.
9731 clutter/Makefile.am | 1 +
9732 clutter/clutter-actor.c | 1 +
9733 clutter/clutter-clone.c | 2 +-
9734 clutter/clutter-paint-volume-private.h | 104 ++++++++++++++++++++++++++++++
9735 clutter/clutter-paint-volume.c | 3 +
9736 clutter/clutter-private.h | 93 --------------------------
9737 clutter/clutter-stage.c | 19 +++---
9738 clutter/x11/clutter-event-x11.c | 1 +
9739 clutter/x11/clutter-x11-texture-pixmap.c | 4 +-
9740 9 files changed, 124 insertions(+), 104 deletions(-)
9742 commit 43edfc940038f9582902d83e798b9985f8790f57
9743 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9744 Date: Thu Oct 21 11:49:37 2010 +0100
9746 Clean up clutter-private.h/4
9748 Move the private Backend API to a separate header.
9750 This also allows us to finally move the class vtable and instance
9751 structure to a separate file and plug the visibility hole that left
9752 the Backend class bare for everyone to poke into.
9754 clutter/Makefile.am | 1 +
9755 clutter/clutter-backend-private.h | 99 +++++++++++++++++++++++++++++
9756 clutter/clutter-backend.c | 2 +-
9757 clutter/clutter-backend.h | 50 ---------------
9758 clutter/clutter-device-manager.c | 1 +
9759 clutter/clutter-event.c | 5 +-
9760 clutter/clutter-feature.c | 1 +
9761 clutter/clutter-main.c | 16 ++---
9762 clutter/clutter-private.h | 37 -----------
9763 clutter/clutter-stage.c | 2 +-
9764 clutter/clutter-units.c | 5 +-
9765 clutter/egl/clutter-backend-egl.h | 3 +-
9766 clutter/fruity/clutter-backend-fruity.h | 5 +-
9767 clutter/osx/clutter-backend-osx.h | 2 +-
9768 clutter/wayland/clutter-backend-wayland.h | 3 +-
9769 clutter/win32/clutter-backend-win32.h | 3 +-
9770 clutter/x11/clutter-backend-x11.h | 3 +-
9771 17 files changed, 129 insertions(+), 109 deletions(-)
9773 commit 8613013ab086668360d4ce625fe7b896ca5ae0e0
9774 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9775 Date: Thu Oct 21 11:29:09 2010 +0100
9777 Clean up clutter-private.h/3
9779 Move Stage private API to a separate header.
9781 clutter/Makefile.am | 1 +
9782 clutter/clutter-actor.c | 2 +-
9783 clutter/clutter-backend.c | 2 +
9784 clutter/clutter-input-device.c | 1 +
9785 clutter/clutter-main.c | 2 +-
9786 clutter/clutter-master-clock.c | 1 +
9787 clutter/clutter-offscreen-effect.c | 1 +
9788 clutter/clutter-private.h | 69 -----------------------------
9789 clutter/clutter-stage-manager-private.h | 7 +++
9790 clutter/clutter-stage-private.h | 64 ++++++++++++++++++++++++++
9791 clutter/clutter-stage.c | 2 +-
9792 clutter/clutter-texture.c | 1 +
9793 clutter/egl/clutter-backend-egl.c | 9 ++--
9794 clutter/egl/clutter-stage-egl.c | 19 ++++----
9795 clutter/fruity/clutter-backend-fruity.c | 8 ++--
9796 clutter/glx/clutter-backend-glx.c | 11 ++---
9797 clutter/glx/clutter-event-glx.c | 2 +
9798 clutter/glx/clutter-stage-glx.c | 21 +++------
9799 clutter/osx/clutter-backend-osx.c | 7 ++-
9800 clutter/osx/clutter-stage-osx.c | 8 ++--
9801 clutter/wayland/clutter-backend-wayland.c | 11 ++---
9802 clutter/wayland/clutter-stage-wayland.c | 20 ++++-----
9803 clutter/win32/clutter-backend-win32.c | 13 +++---
9804 clutter/win32/clutter-event-win32.c | 1 +
9805 clutter/win32/clutter-stage-win32.c | 19 +++-----
9806 clutter/x11/clutter-backend-x11.c | 6 +--
9807 clutter/x11/clutter-event-x11.c | 1 +
9808 clutter/x11/clutter-stage-x11.c | 17 +++----
9809 28 files changed, 162 insertions(+), 164 deletions(-)
9811 commit 999c0637848bc36b2a668f52ff58125a1f298dd8
9812 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9813 Date: Thu Oct 21 10:59:49 2010 +0100
9815 Clean up clutter-private.h/2
9817 Move StageManager private API to a different header.
9819 clutter/Makefile.am | 1 +
9820 clutter/clutter-private.h | 8 --------
9821 clutter/clutter-stage-manager-private.h | 18 ++++++++++++++++++
9822 clutter/clutter-stage-manager.c | 13 ++-----------
9823 clutter/clutter-stage.c | 2 +-
9824 5 files changed, 22 insertions(+), 20 deletions(-)
9826 commit c1771d152eaaa54017e80f370b2163eadc8c2fdc
9827 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9828 Date: Thu Oct 21 10:54:14 2010 +0100
9830 Clean up clutter-private.h/1
9832 Move DeviceManager/InputDevice private API to a different header.
9834 clutter/Makefile.am | 23 ++++----
9835 clutter/clutter-device-manager-private.h | 68 ++++++++++++++++++++++++
9836 clutter/clutter-device-manager.c | 2 +-
9837 clutter/clutter-event.c | 4 +-
9838 clutter/clutter-input-device.c | 1 +
9839 clutter/clutter-main.c | 1 +
9840 clutter/clutter-private.h | 58 --------------------
9841 clutter/clutter-stage.c | 2 +-
9842 clutter/wayland/clutter-input-device-wayland.c | 7 +--
9843 clutter/win32/clutter-device-manager-win32.c | 2 +-
9844 clutter/win32/clutter-event-win32.c | 13 ++---
9845 clutter/x11/clutter-device-manager-x11.c | 2 +-
9846 clutter/x11/clutter-event-x11.c | 11 ++--
9847 clutter/x11/clutter-input-device-x11.c | 6 ++-
9848 14 files changed, 109 insertions(+), 91 deletions(-)
9850 commit f709664f2338302f3ad09427d97847c21518cc1d
9851 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9852 Date: Wed Oct 20 09:42:34 2010 +0100
9854 build: Go back to autoreconf
9856 After testing and distchecking, I verified that autoreconf can still be
9857 used to rebuild the autotools setup.
9859 Thanks to Javier Jardón for the second pair of eyes.
9861 autogen.sh | 91 ++++++------------------------------------------------------
9862 1 file changed, 8 insertions(+), 83 deletions(-)
9864 commit 68156c24c1e951f06a12feca4f13b9cd1627df61
9865 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9866 Date: Tue Oct 19 17:48:15 2010 +0100
9868 build: Remove unused Makefile.am
9870 We switched to a non-recursive layout, hence we don't need Makefile.am
9871 in the osx/ and fruity/ sub-directories.
9873 clutter/fruity/Makefile.am | 24 ------------------------
9874 clutter/osx/Makefile.am | 25 -------------------------
9875 2 files changed, 49 deletions(-)
9877 commit ce3311df2683dae46b3b63a760ae87353f9f59b6
9878 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9879 Date: Tue Oct 19 12:32:02 2010 +0100
9881 conform: Remove unnecessary destroy() calls
9883 Unparented actors are owned by the Script instance, and if that goes
9884 away then the actors go away with it. The fact that we needed an
9885 explicit destroy() before was a hint of a memory management issue that I
9886 blissfully - and regretfully - ignored for the sake of a passing test
9889 tests/conform/test-script-parser.c | 5 -----
9890 1 file changed, 5 deletions(-)
9892 commit b5bbdd6cecc47beb0d299fdcf92aa58f71aabb1e
9893 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9894 Date: Tue Oct 19 11:03:13 2010 +0100
9896 build: Add test wrappers to the main ignore file
9898 They are generated at configure time, so it's a good idea to have them
9899 in the main ignore file instead of adding them to the built ignore files
9903 tests/conform/Makefile.am | 1 -
9904 tests/interactive/Makefile.am | 1 -
9905 3 files changed, 2 insertions(+), 2 deletions(-)
9907 commit e80825535adf57db6d7faa16b81eddb7b5d6b065
9908 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9909 Date: Tue Oct 19 10:48:39 2010 +0100
9911 build: Show whether we have XComposite
9913 Since we're doing it for other optional X11 extensions as well.
9916 1 file changed, 1 insertion(+)
9918 commit dd2f55c6f6bbc2f0a12b70ccf90cf7840b6e2212
9919 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9920 Date: Tue Oct 19 10:40:57 2010 +0100
9922 x11: Protect XComposite API calls
9924 Since we allow compiling Clutter without the XComposite extension
9925 available, we need to protect the calls to the XComposite API with
9926 the guards provided by the configure script.
9928 clutter/x11/clutter-backend-x11.c | 8 +++++++-
9929 clutter/x11/clutter-x11-texture-pixmap.c | 16 ++++++++++++----
9930 2 files changed, 19 insertions(+), 5 deletions(-)
9932 commit 21eb49098a7e90007b9043917a8dcf816db765b7
9933 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9934 Date: Mon Sep 13 23:29:52 2010 +0300
9936 script: Fix the memory management
9938 Currently, the memory management in ClutterScript is overly complicated.
9939 The basic design tenet should be:
9941 - ClutterScript owns a reference on every object it creates
9943 This allows the Script instance to reliably handle the lifetime of the
9944 instances from creation to disposal.
9946 In case of unmerge, the Script instance should destroy any Actor
9947 instance, except for the Stage, and release the reference it owns. The
9948 Stage is special because it's really owned by Clutter itself, and it
9949 should be destroyed explicitly.
9951 When disposing the Script itself, it should just release the reference;
9952 any parented actor, or any InitiallyUnowned instance, will then be
9953 managed by the parent object, as they should, while every GObject
9954 instance will go away, as documented.
9956 This commit is based on a patch by:
9958 Henrik Hedberg <hhedberg@innologies.fi>
9960 http://bugzilla.clutter-project.org/show_bug.cgi?id=2316
9962 clutter/clutter-script-parser.c | 30 ++++++++++++++++++++++--------
9963 clutter/clutter-script-private.h | 3 ++-
9964 clutter/clutter-script.c | 20 +++++---------------
9965 3 files changed, 29 insertions(+), 24 deletions(-)
9967 commit 20a359cc530bac6a27bfa46839b49a88e1bec3d6
9968 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9969 Date: Tue Oct 19 01:41:05 2010 +0100
9971 debug: Do not use '&' in the messages
9973 Use ':' as a separator between G_STRLOC and the debug message, like we
9976 clutter/clutter-debug.h | 4 ++--
9977 1 file changed, 2 insertions(+), 2 deletions(-)
9979 commit 78d4073f8ebb115d4e02f5ffea11260ed286719f
9980 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9981 Date: Tue Oct 19 01:40:44 2010 +0100
9983 Remove unused variables
9985 clutter/clutter-script.c | 1 -
9986 clutter/clutter-shader-effect.c | 1 -
9987 2 files changed, 2 deletions(-)
9989 commit 1c9dcdaeb295867d86a447cfc3df44d4e74d3ae0
9990 Author: Damien Lespiau <damien.lespiau@intel.com>
9991 Date: Thu Oct 14 15:33:17 2010 +0100
9993 build: Fix CLUTTER_EGL_BACKEND definition for eglnative and cex100
9995 CLUTTER_EGL_BACKEND is used to define a special EGL native backend to
9996 use and was introduced for the CEX100 EGL backend. Unfortunately
9997 CLUTTER_EGL_BACKEND was defined to "cex100" for eglnative, which is
10000 The paches defines the right values for CLUTTER_EGL_BACKEND for the
10001 eglnative and cex100 flavours.
10003 configure.ac | 3 ++-
10004 1 file changed, 2 insertions(+), 1 deletion(-)
10006 commit 32270730bdcc20d9ac19c5b66cfda08e8e839937
10007 Author: Damien Lespiau <damien.lespiau@intel.com>
10008 Date: Thu Oct 14 16:32:13 2010 +0100
10010 build: Fix EGL/CEX100 build with GLES2
10012 Some headers files have been renamed or removed and the gles(2) did not
10013 compile anymore, fix that.
10015 clutter/cogl/cogl/driver/gles/cogl-gles.c | 2 +-
10016 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 2 +-
10017 2 files changed, 2 insertions(+), 2 deletions(-)
10019 commit 0f613ea134b7369a214e1bb0056e3a21233982f9
10020 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10021 Date: Fri Oct 15 17:35:41 2010 +0100
10023 cairo-texture: Allow overriding the surface creation
10025 By using a new signal, ::create-surface (width, height), it should be
10026 possible for third party code and sub-classes to override the default
10027 surface creation code in CairoSurface.
10029 This commit takes a bit of the patch from:
10031 http://bugzilla.clutter-project.org/show_bug.cgi?id=1878
10033 which cleans up CairoTexture; the idea, mutuated from that bug, is that
10034 the CairoTexture actor checks whether the surface it has it's an image
10035 one, and in that case it uses a Cogl texture as the backing store. In
10036 case the surface is not an image one we assume that the surface itself
10037 has some way of updating the GL state and flush the surface.
10039 clutter/clutter-cairo-texture.c | 303 ++++++++++++++----------
10040 clutter/clutter-cairo-texture.h | 7 +-
10041 clutter/clutter-marshal.list | 1 +
10042 tests/interactive/Makefile.am | 2 +-
10043 tests/interactive/test-cairo-flowers.c | 223 +++++++++++++++++
10044 tests/interactive/test-clutter-cairo-flowers.c | 224 ------------------
10045 6 files changed, 404 insertions(+), 356 deletions(-)
10047 commit 63e314b07e8212089c2c50aab015790fe8908e6a
10048 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10049 Date: Fri Oct 15 16:09:19 2010 +0100
10051 build: Depend on cairo-gobject
10053 Starting from version 1.10, Cairo ships GTypes for its data types.
10056 configure.ac | 2 +-
10057 2 files changed, 2 insertions(+), 2 deletions(-)
10059 commit 8729c01377d11874107bdee5d53dbcb23874db20
10060 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10061 Date: Fri Oct 15 16:09:12 2010 +0100
10063 build: Remove unnecessary g-i version check
10065 configure.ac | 7 -------
10066 1 file changed, 7 deletions(-)
10068 commit 050e775da27209c5720d5ba8bffde786add562cd
10069 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10070 Date: Fri Oct 15 15:24:27 2010 +0100
10072 Move more classes to install_properties()
10074 clutter/clutter-actor-meta.c | 51 ++++++-----
10075 clutter/clutter-align-constraint.c | 56 ++++++------
10076 clutter/clutter-alpha.c | 20 ++---
10077 clutter/clutter-animation.c | 86 +++++++++---------
10078 clutter/clutter-animator.c | 33 +++----
10079 clutter/clutter-behaviour.c | 18 ++--
10080 clutter/clutter-bin-layout.c | 104 +++++++++++-----------
10081 clutter/clutter-bind-constraint.c | 51 +++++------
10082 clutter/clutter-binding-pool.c | 20 +++--
10083 clutter/clutter-cairo-texture.c | 39 ++++-----
10084 clutter/clutter-child-meta.c | 35 ++++----
10085 clutter/clutter-click-action.c | 31 +++----
10086 clutter/clutter-clone.c | 20 +++--
10087 clutter/clutter-colorize-effect.c | 18 ++--
10088 clutter/clutter-deform-effect.c | 55 ++++++------
10089 clutter/clutter-desaturate-effect.c | 28 +++---
10090 clutter/clutter-device-manager.c | 20 ++---
10091 clutter/clutter-flow-layout.c | 165 ++++++++++++++++++-----------------
10092 clutter/clutter-script.c | 36 ++++----
10093 clutter/clutter-shader-effect.c | 25 +++---
10094 clutter/clutter-timeline.c | 72 ++++++++-------
10095 21 files changed, 492 insertions(+), 491 deletions(-)
10097 commit 8429aa8d755b268975c2870978f8d8484f584542
10098 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10099 Date: Fri Oct 8 15:47:00 2010 +0100
10101 Remove unnecessary GLib version checks
10103 We now depend on a newer version of GLib than those checks tested for.
10105 clutter/clutter-animation.c | 6 ------
10106 clutter/clutter-animator.c | 5 -----
10107 clutter/clutter-box.c | 5 -----
10108 clutter/clutter-container.c | 5 -----
10109 clutter/clutter-frame-source.c | 3 ---
10110 clutter/clutter-interval.c | 10 ----------
10111 clutter/clutter-layout-manager.c | 5 -----
10112 clutter/clutter-master-clock.c | 2 --
10113 clutter/clutter-state.c | 5 -----
10114 clutter/clutter-timeout-pool.c | 2 --
10115 clutter/x11/clutter-event-x11.c | 3 ---
10116 11 files changed, 51 deletions(-)
10118 commit 7dd09e21861bd1b7ceaea112b6e4fb69aeebbf1e
10119 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10120 Date: Fri Oct 8 15:21:57 2010 +0100
10122 Use G_DEFINE_BOXED_TYPE for all boxed types
10124 We actually need a couple more macros for registering GValue
10125 transformation functions. Those should be added to upstream
10128 clutter/clutter-actor-box.c | 60 +++++++++++----------------
10129 clutter/clutter-actor.c | 88 ++++++++++++++--------------------------
10130 clutter/clutter-animator.c | 16 ++------
10131 clutter/clutter-behaviour.c | 18 ++------
10132 clutter/clutter-color.c | 29 +++----------
10133 clutter/clutter-event.c | 16 ++------
10134 clutter/clutter-paint-volume.c | 16 ++------
10135 clutter/clutter-path.c | 48 +++++++---------------
10136 clutter/clutter-private.h | 24 ++++++++---
10137 clutter/clutter-stage.c | 27 ++----------
10138 clutter/clutter-state.c | 15 ++-----
10139 clutter/clutter-state.h | 1 +
10140 clutter/clutter-units.c | 45 +++++---------------
10141 13 files changed, 123 insertions(+), 280 deletions(-)
10143 commit 09a830d2945456d882cbf8b326264041b172fea9
10144 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10145 Date: Fri Oct 8 14:49:47 2010 +0100
10147 Remove conditional wrappers for property installation/notification
10149 For the time being, just keep the #define's.
10151 clutter/clutter-drag-action.c | 11 ++++++-----
10152 clutter/clutter-private.h | 27 ++-------------------------
10153 2 files changed, 8 insertions(+), 30 deletions(-)
10155 commit 9caf11f2d8f7120830da9f10a694ccc8f30ebee1
10156 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10157 Date: Fri Oct 8 14:47:46 2010 +0100
10159 Use G_DEFINE_INTERFACE
10161 GObject provides us with a nice, safe macro for defining interface
10164 clutter/clutter-animatable.c | 16 +-
10165 clutter/clutter-container.c | 178 ++++++++-----------
10166 clutter/clutter-media.c | 368 +++++++++++++++++++---------------------
10167 clutter/clutter-scriptable.c | 20 +--
10168 clutter/clutter-stage-window.c | 25 +--
10169 5 files changed, 263 insertions(+), 344 deletions(-)
10171 commit 8f5d6cb790a426536b462297e76be9159109e245
10172 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10173 Date: Fri Oct 8 14:47:13 2010 +0100
10175 build: Depend on GLib ≥ 2.26.0
10177 We are going to need some new macros and API.
10180 configure.ac | 3 ++-
10181 2 files changed, 3 insertions(+), 2 deletions(-)
10183 commit 2b4ee9ab548a58784da7ccc710cbbd213a6c45c9
10184 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10185 Date: Fri Oct 15 16:05:44 2010 +0100
10187 actor: Add more checks to the redraw queue
10189 clutter/clutter-actor.c | 4 ++--
10190 clutter/clutter-stage.c | 14 ++++++++++----
10191 2 files changed, 12 insertions(+), 6 deletions(-)
10193 commit ad0e7a9e15a18f26b1002056427ded9a9f011e86
10194 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10195 Date: Fri Oct 15 15:24:58 2010 +0100
10197 moduleset: Add Atk as a Clutter dependency
10199 build/clutter.modules | 1 +
10200 1 file changed, 1 insertion(+)
10202 commit 56c89bd86b61f3c2ecba04d8a3afd4aa6250cf09
10203 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10204 Date: Fri Oct 15 12:40:43 2010 +0100
10206 osx: Fix glib.h include path
10208 The fix for removing glib/gmain.h introduced the wrong path for glib.h.
10210 clutter/osx/clutter-event-osx.c | 3 ++-
10211 1 file changed, 2 insertions(+), 1 deletion(-)
10213 commit d8426197554f4745bc2489c81435b9510b62d21a
10214 Author: Roland Peffer <gdevel@clixxun.com>
10215 Date: Thu Oct 14 18:23:02 2010 +0100
10217 osx: Add button mask to the modifier state translation
10219 The modifier state translation is missing the CLUTTER_BUTTON*_MASK.
10221 http://bugzilla.clutter-project.org/show_bug.cgi?id=2365
10223 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
10225 clutter/osx/clutter-event-osx.c | 8 ++++++++
10226 1 file changed, 8 insertions(+)
10228 commit 134ce072e793834c7fe08a270c03ee5b2efbe998
10229 Author: Kristian Høgsberg <krh@bitplanet.net>
10230 Date: Wed Sep 29 17:10:44 2010 -0400
10232 The amazing lazy-copy-back-repaint-page-flip
10234 Always use pageflipping, but avoid full repaint by copying back dirty
10235 regions from front to back. Additionally, we dealy copying back until
10236 we're ready to paint the new frame, so we can avoid copying areas that
10237 will be repainted anyway.
10239 This is the least amount of copying per frame we can get away with at all
10240 and at the same time we don't have to worry about stalling the GPU on
10241 synchronized blits since we always pageflip.
10243 clutter/wayland/clutter-backend-wayland.c | 8 +
10244 clutter/wayland/clutter-stage-wayland.c | 295 ++++++++++++++++++++++-------
10245 clutter/wayland/clutter-stage-wayland.h | 4 +-
10246 3 files changed, 241 insertions(+), 66 deletions(-)
10248 commit cb5582c4ab1207738a2b5dc4c94fb4551e696c20
10249 Author: Kristian Høgsberg <krh@bitplanet.net>
10250 Date: Tue Sep 28 10:17:46 2010 -0400
10252 Add wayland backend
10254 This adds a clutter backend for running under the wayland window system.
10255 Initial cogl framebuffer integration by Robert Bragg.
10257 clutter/Makefile.am | 19 +
10258 clutter/cogl/cogl/Makefile.am | 4 +
10259 clutter/cogl/cogl/winsys/cogl-egl.c | 10 +-
10260 clutter/wayland/clutter-backend-wayland.c | 552 ++++++++++++++++++++++++
10261 clutter/wayland/clutter-backend-wayland.h | 94 ++++
10262 clutter/wayland/clutter-event-wayland.c | 148 +++++++
10263 clutter/wayland/clutter-input-device-wayland.c | 340 +++++++++++++++
10264 clutter/wayland/clutter-stage-wayland.c | 368 ++++++++++++++++
10265 clutter/wayland/clutter-stage-wayland.h | 94 ++++
10266 clutter/wayland/clutter-wayland.h | 60 +++
10267 configure.ac | 61 ++-
10268 11 files changed, 1738 insertions(+), 12 deletions(-)
10270 commit a7cf98ebfc9ca13e3f84bbe33171a2218cfe039b
10271 Author: Kristian Høgsberg <krh@bitplanet.net>
10272 Date: Mon Sep 27 13:25:50 2010 -0400
10274 Initialize color masks lazily
10276 When we don't use a window system drawable, we can't query the color
10277 masks at context initialization time. Do it lazily so we're sure to have
10278 a current context with a valid framebuffer.
10280 clutter/clutter-main.c | 35 ++++++++++++++++++++---------------
10281 1 file changed, 20 insertions(+), 15 deletions(-)
10283 commit f456116c18dac24454f9c46b02677a51f79e4052
10284 Author: Robert Bragg <robert@linux.intel.com>
10285 Date: Thu Oct 14 16:19:55 2010 +0100
10287 When unparenting an actor, remove queued redraws for all descendants
10289 We need to make sure that redraws queued for actors on a stage are for
10290 actors actually in the stage. So in clutter_actor_unparent() descend
10291 through the children and remove redraws. Just removing the actor itself
10292 isn't good enough since an entire hierarchy can be removed from the
10293 stage without breaking it up into individual actors.
10295 http://bugzilla.clutter-project.org/show_bug.cgi?id=2359
10297 This is based on an original patch from Owen Taylor who debugged the
10298 root cause of this bug; thanks.
10300 clutter/clutter-actor.c | 24 +++++++++++++++++++-----
10301 1 file changed, 19 insertions(+), 5 deletions(-)
10303 commit 07f2dba7e24abd7b25327cf6b6b3f60dc17091d2
10304 Author: Robert Bragg <robert@linux.intel.com>
10305 Date: Thu Sep 30 18:42:40 2010 +0100
10307 stage: handle unclipped redraw following clipped
10309 In the case that an unclipped redraw of an actor is queued after a
10310 clipped we should update any existing ClutterStageQueueRedrawEntry
10311 so entry->has_clip = FALSE and free the previous clip.
10313 clutter/clutter-stage.c | 5 +++++
10314 1 file changed, 5 insertions(+)
10316 commit d032b9b2bf21c9c7c02f1a1b11d4e4a1bc7472b6
10317 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10318 Date: Tue Oct 12 17:31:15 2010 +0100
10320 conform: Start cleaning up the conformance test suite
10322 Re-order the units into a sensible list, with basic tests at the
10323 beginning, and per-class tests at the end - with Cogl last.
10325 Also, start renaming the unit functions from test_<foo> to <foo>,
10326 so that the executable wrappers and the reports have sensible names.
10328 tests/conform/test-actor-destroy.c | 18 ++++++-
10329 tests/conform/test-actor-invariants.c | 7 ---
10330 tests/conform/test-actor-size.c | 6 +--
10331 tests/conform/test-anchors.c | 6 +--
10332 tests/conform/test-clutter-text.c | 46 +++++------------
10333 tests/conform/test-conform-main.c | 80 +++++++++++++++--------------
10334 tests/conform/test-pick.c | 4 +-
10335 tests/conform/test-text-cache.c | 3 +-
10336 tests/conform/test-timeline-interpolate.c | 3 +-
10337 tests/conform/test-timeline-rewind.c | 3 +-
10338 10 files changed, 77 insertions(+), 99 deletions(-)
10340 commit b5d5b9628ed8f683231134ac36b75efe80022f06
10341 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10342 Date: Tue Oct 12 17:11:52 2010 +0100
10344 conform: Implement TEST_CONFORM_TODO() correctly
10346 The TODO() macro for adding new tests to the test suite has always meant
10347 to be implemented like the TODO block in Test::More, i.e. a test that is
10348 assumed to fail, and which warns if it unexpectedly succeeds.
10350 Since GTest lacks the expressivity of Test::More, the implementation
10351 just verifies that the tests marked as TODO actually fail, and will fail
10352 if they happen to succeed - at which point the developer will have to
10353 change the macro to SIMPLE or SKIP.
10355 tests/conform/ADDING_NEW_TESTS | 70 ++++++++++++++++++++++++---------
10356 tests/conform/Makefile.am | 6 ++-
10357 tests/conform/test-actor-invariants.c | 7 ++++
10358 tests/conform/test-conform-common.h | 6 +++
10359 tests/conform/test-conform-main.c | 30 ++++++++++++--
10360 5 files changed, 96 insertions(+), 23 deletions(-)
10362 commit 2a23bab8191678f33f10f0bd15fc05c7b05c89d3
10363 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10364 Date: Tue Oct 12 15:43:42 2010 +0100
10366 conform: Save the revision and date inside the test report
10368 Even if gtester-report doesn't use that information (yet), we should
10369 store the revision of Clutter that generated the report, and the date in
10370 which the test suite was ran.
10372 tests/conform/Makefile.am | 41 +++++++++++++++++++++++++++++------------
10373 1 file changed, 29 insertions(+), 12 deletions(-)
10375 commit e6418a9dec874b55d51afede7b039d3fd31908d4
10376 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10377 Date: Tue Oct 12 15:43:27 2010 +0100
10379 constraints: Remove unused variable
10381 clutter/clutter-align-constraint.c | 1 -
10382 clutter/clutter-bind-constraint.c | 1 -
10383 2 files changed, 2 deletions(-)
10385 commit 7fd6273c25569fe4f37ad371532d93e5170e51f7
10386 Author: Neil Roberts <neil@linux.intel.com>
10387 Date: Mon Oct 11 16:16:45 2010 +0100
10389 tests: Generate the stub scripts using sed
10391 Instead of trying to run ./test-conformance with the -l option to
10392 generate a list of available tests it now runs sed on the
10393 test-conform-main.c file instead. Running the generated executable is
10394 a pain for cross-compiling so it would be nice to avoid it unless it's
10395 absolutely necessary. Although you could tell people who are cross
10396 compiling to just disable the conformance tests, this seems a shame
10397 because they could still be useful along with the wrappers for example
10398 if the cross compile is built to a shared network folder where the
10399 tests can be run on the actual device.
10401 The sed script is a little more ugly than it could be because it tries
10402 to avoid using the GNU extensions '\+' and '\|'.
10404 The script ends up placing restrictions on the format of the C file
10405 because the tests must all be listed on one line each. There is now a
10406 comment to explain this. Hopefully the trade off is worth it.
10408 http://bugzilla.clutter-project.org/show_bug.cgi?id=2363
10410 tests/conform/Makefile.am | 6 ++++--
10411 tests/conform/test-conform-main.c | 5 +++++
10412 2 files changed, 9 insertions(+), 2 deletions(-)
10414 commit 100d541f479d070660905fa763b625853f17bfee
10415 Author: Neil Roberts <neil@linux.intel.com>
10416 Date: Tue Oct 12 14:43:10 2010 +0100
10418 tests: Re-enable the test-anchors conformance test
10420 This test was disabled in b5d58213. The commit message doesn't mention
10421 this so I'm guessing it was a mistake. In any case the test appears to
10422 work now anyway so it should be re-enabled.
10424 http://bugzilla.clutter-project.org/show_bug.cgi?id=2363
10426 tests/conform/test-conform-main.c | 2 --
10427 1 file changed, 2 deletions(-)
10429 commit 2831addcf5ef1e4070fd2fabbe1ce71385b53062
10430 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10431 Date: Tue Oct 12 14:53:20 2010 +0100
10433 test-flow-layout: Track stage size by default
10435 Instead of requiring a special command line switch.
10437 tests/interactive/test-flow-layout.c | 10 +++++-----
10438 1 file changed, 5 insertions(+), 5 deletions(-)
10440 commit 4e724aed46cd7ad0ad7718b584a0f1691b12a09f
10441 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10442 Date: Tue Oct 12 14:09:47 2010 +0100
10444 bind-constraint: Use ::queue-relayout
10446 Instead of using the allocation-changed signal, use the queue-relayout
10447 signal on the source to queue a relayout on the actor to which the
10448 BindConstraint has been attached to.
10450 The ::allocation-changed signal is not always enough, given that a
10451 BindConstraint can use the position as well as the size of an actor to
10452 drive the allocation of another; in this regard, it's much similar
10453 to a ClutterClone, which requires a notification on every change, even
10454 potential, and not just real ones, given the short-circuiting done
10455 inside ClutterActor.
10457 clutter/clutter-bind-constraint.c | 12 +++++-------
10458 1 file changed, 5 insertions(+), 7 deletions(-)
10460 commit 5c82b2551c2053f76bfb09b6d36a5ea4c4e93104
10461 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10462 Date: Tue Oct 12 14:09:17 2010 +0100
10464 constraints: Do not check for :enabled
10466 ClutterActor will do it for us.
10468 clutter/clutter-align-constraint.c | 3 ---
10469 clutter/clutter-bind-constraint.c | 3 ---
10470 2 files changed, 6 deletions(-)
10472 commit 3f27afde2484a01c71e0b484d2f485e5ce15f5d7
10473 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10474 Date: Tue Oct 12 14:08:07 2010 +0100
10476 actor: Use an explicit check for NULL
10478 Follow the coding style, and don't use the implicit C boolean
10479 equivalence for NULL pointers.
10481 clutter/clutter-actor.c | 4 ++--
10482 1 file changed, 2 insertions(+), 2 deletions(-)
10484 commit 3b72fdb20cca143f386d9a81dc42fc5ac64c48e7
10485 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10486 Date: Tue Oct 12 14:07:27 2010 +0100
10488 actor: Queue a relayout when adding/removing constraints
10490 Constraints change the way an actor is allocated; this warrants a
10493 clutter/clutter-actor.c | 3 +++
10494 1 file changed, 3 insertions(+)
10496 commit 91a9a355c32e86e597c57f3fd8b4deaecad0b9a4
10497 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10498 Date: Tue Oct 12 14:04:21 2010 +0100
10500 actor: Check CluterActorMeta:enabled
10502 Instead of delegating the check for the ActorMeta:enabled property to
10503 the sub-classes of ClutterActorMeta, ClutterActor can do the check prior
10504 to using the ClutterActorMeta instances.
10506 clutter/clutter-actor.c | 13 ++++++++++++-
10507 1 file changed, 12 insertions(+), 1 deletion(-)
10509 commit 3f6b82c9c9e75be6ba174f5964c85809ab0746cc
10510 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10511 Date: Tue Oct 12 14:04:05 2010 +0100
10513 actor: Add debugging note for allocation changes
10515 clutter/clutter-actor.c | 3 +++
10516 1 file changed, 3 insertions(+)
10518 commit 89a389cd2bdfa78768b5901a8a2865cb7d1a8c83
10519 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10520 Date: Mon Oct 11 15:57:22 2010 +0100
10522 actor-box: Split out ActorBox into its own file
10524 clutter-actor.c is getting way too large, so splitting it up wherever
10525 possible makes sense.
10527 clutter/Makefile.am | 1 +
10528 clutter/clutter-actor-box.c | 440 +++++++++++++++++++++++++++++++++++++++++++
10529 clutter/clutter-actor.c | 438 ------------------------------------------
10530 3 files changed, 441 insertions(+), 438 deletions(-)
10532 commit 7a54bdc65dcb9eb3d4d30020f65c255ef6f86f29
10533 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10534 Date: Mon Oct 11 15:52:50 2010 +0100
10536 vertex: Register progress function
10538 This allows animating properties storing a ClutterVertex.
10540 clutter/clutter-actor.c | 32 ++++++++++++++++++++++++++++----
10541 1 file changed, 28 insertions(+), 4 deletions(-)
10543 commit 4931802feea47c2fd89aa171a8fd05ebbfa087b4
10544 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10545 Date: Mon Oct 11 15:44:09 2010 +0100
10547 geometry: Register a progress function
10549 This allows animating properties storing a ClutterGeometry.
10551 clutter/clutter-actor.c | 34 ++++++++++++++++++++++++++++++----
10552 1 file changed, 30 insertions(+), 4 deletions(-)
10554 commit a5fc90d4d99cf904abd60ed0be0356ecb1efb40a
10555 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10556 Date: Mon Oct 11 15:20:25 2010 +0100
10558 actor-box: Register a progress function
10560 So that we can animate properties storing ClutterActorBox.
10562 clutter/clutter-actor.c | 32 ++++++++++++++++++++++++++++----
10563 1 file changed, 28 insertions(+), 4 deletions(-)
10565 commit 2f21c851eafbe217661c3010ad6388414e27a56b
10566 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10567 Date: Mon Oct 11 15:07:06 2010 +0100
10569 script: Fix annotation for get_object()'s return value
10571 clutter/clutter-script.c | 2 +-
10572 1 file changed, 1 insertion(+), 1 deletion(-)
10574 commit dcf266261645fd2deda5c68ded438160bccd7235
10575 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10576 Date: Mon Oct 11 15:06:11 2010 +0100
10578 interval: Remove special casing for ClutterColor
10580 ClutterColor registers a progress function on type initialization, so we
10581 don't need to special case it any more.
10583 clutter/clutter-interval.c | 17 -----------------
10584 1 file changed, 17 deletions(-)
10586 commit d5376bf317b5b682d85e64f1815f7c308da2ffda
10587 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10588 Date: Mon Oct 11 15:04:54 2010 +0100
10590 color: Add Color.interpolate() method
10592 The interpolate() method does what it says on the tin: it interpolates
10593 between two colors using the given factor.
10595 ClutterColor uses it to register a progress function for Intervals.
10597 clutter/clutter-color.c | 48 ++++++++++++++++++++++++++++
10598 clutter/clutter-color.h | 5 +++
10599 doc/reference/clutter/clutter-sections.txt | 1 +
10600 3 files changed, 54 insertions(+)
10602 commit 7e112472b5ad9deea9b0ad1fda47aa16199a780a
10603 Author: Neil Roberts <neil@linux.intel.com>
10604 Date: Tue Oct 5 17:17:53 2010 +0100
10606 cogl-texture-2d-sliced: Use the smallest possible waste
10608 When picking a size for the last slice in a texture, Cogl would always
10609 pick the biggest power of two size that doesn't create too much
10610 waste and is less than or equal to the previous slice size. However
10611 this can end up creating a texture that is bigger than needed if there
10612 is a smaller power of two.
10614 For example, if the maximum waste is 127 (the current default) and we
10615 try to create a texture that is 257 pixels wide it will decide that
10616 the next power of two (512) is too much waste (255) so it will create
10617 the first slice at 256 pixels wide. Then we only have 1 pixel left to
10618 allocate but Cogl would pick the next smaller size that has a small
10619 enough waste which is 128. But of course 1 is already a power of two
10620 so that's redundantly oversized by 127.
10622 This patch fixes it so that whenever it finds a size that would be big
10623 enough, instead of using exactly that it picks the next power of two
10624 up from the size we need to fill.
10626 http://bugzilla.clutter-project.org/show_bug.cgi?id=2355
10628 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 4 ++++
10629 1 file changed, 4 insertions(+)
10631 commit 1f106b35a99e3784e441feca2df983efafa9fbd9
10632 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10633 Date: Mon Oct 11 13:52:09 2010 +0100
10635 Whitespace alignment fixes
10637 clutter/clutter-paint-volume.c | 6 +++---
10638 1 file changed, 3 insertions(+), 3 deletions(-)
10640 commit 68d656c61badd7a88d7271600a59f24b05fbc36e
10641 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10642 Date: Mon Oct 11 13:51:12 2010 +0100
10644 paint-volume: Add arguments checks
10646 In some cases we access the arguments in public functions without, or
10647 prior to checking the arguments.
10649 clutter/clutter-paint-volume.c | 14 +++++++++-----
10650 1 file changed, 9 insertions(+), 5 deletions(-)
10652 commit 8089af3c1b0e9d9501ee5fad4249a3af1bfdb5dc
10653 Author: Owen W. Taylor <otaylor@fishsoup.net>
10654 Date: Thu Oct 7 16:00:47 2010 -0400
10656 ClutterClone: Handle clone_source == NULL for get_paint_volume()
10658 It's valid to have a ClutterClone without a clone source; in this
10659 case the paint volume is empty.
10661 http://bugzilla.clutter-project.org/show_bug.cgi?id=2360
10663 clutter/clutter-clone.c | 4 ++++
10664 1 file changed, 4 insertions(+)
10666 commit e0058925349046e315e45e14747879e05bdab262
10667 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10668 Date: Mon Oct 11 13:32:26 2010 +0100
10670 clone: Remove unnecessary G_UNLIKELY macros
10672 A Clone:source property might be NULL, and we should not penalize
10673 performance when we can just bail out early, because that would kind of
10676 clutter/clutter-clone.c | 4 ++--
10677 1 file changed, 2 insertions(+), 2 deletions(-)
10679 commit 12f80db8b8e826db245880c28f05facd0189c0f8
10680 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10681 Date: Mon Oct 11 12:00:18 2010 +0100
10683 docs: Update the README
10685 Add a minimal building reference, and point to git-bz for filing
10686 patches to Bugzilla.
10688 README | 28 ++++++++++++++++++++++++++--
10689 1 file changed, 26 insertions(+), 2 deletions(-)
10691 commit f8af2da4c8b2e428baba750fac18a38904f55c35
10692 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10693 Date: Sun Oct 10 09:31:55 2010 +0100
10695 osx: Compilation fixes
10697 Replace deprecated symbols with the correct ones.
10699 clutter/osx/clutter-backend-osx.c | 8 ++-
10700 clutter/osx/clutter-event-osx.c | 104 ++++++++++++++++++++++++-------------
10701 clutter/osx/clutter-stage-osx.c | 2 +-
10702 3 files changed, 77 insertions(+), 37 deletions(-)
10704 commit 981fed1f63ecd1cc077c50869e9814c439ccf407
10705 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10706 Date: Fri Oct 8 13:29:49 2010 +0100
10708 box-layout: Plug a memory leak
10710 Similar to commit 4724be167f19fe58cb38179e6f3b34b6797ff639 for
10713 http://bugzilla.clutter-project.org/show_bug.cgi?id=2358
10715 clutter/clutter-box-layout.c | 39 +++++++++++++--------------------------
10716 1 file changed, 13 insertions(+), 26 deletions(-)
10718 commit 4724be167f19fe58cb38179e6f3b34b6797ff639
10719 Author: Neil Roberts <neil@linux.intel.com>
10720 Date: Wed Oct 6 16:01:03 2010 +0100
10722 Plug a memory leak in clutter-table-layout
10724 Whenever the allocation is changed on a child of a ClutterTableLayout
10725 and animations are not in effect then it would store a copy of the
10726 allocation in the child meta data. However it was not freeing the old
10727 copy of the allocation so it would end up with a small leak.
10729 Instead of just changing it to free the old value this patch makes it
10730 store the allocation inline in the meta data struct because it seems
10731 that the size of an actor box is already quite small compared to the
10732 size of the meta data struct so it is probably not worth having a
10733 separate allocation for it. To detect the case when there has not yet
10734 been an allocation a separate boolean is used instead of storing NULL.
10736 http://bugzilla.clutter-project.org/show_bug.cgi?id=2358
10738 clutter/clutter-table-layout.c | 39 ++++++++++++++++-----------------------
10739 1 file changed, 16 insertions(+), 23 deletions(-)
10741 commit 42dac6c9971fc33acae95f02d6e3605324a8d7f3
10742 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10743 Date: Thu Oct 7 18:01:53 2010 +0100
10745 autogen.sh: libtool 2.4 has been released
10748 1 file changed, 1 insertion(+), 1 deletion(-)
10750 commit eec1a5fb7ad0c5d5f6169abbd1825bd083a940c0
10751 Author: Damien Lespiau <damien.lespiau@gmail.com>
10752 Date: Thu Oct 7 12:17:33 2010 +0100
10754 po: Update French localization
10756 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
10758 po/fr.po | 264 +++++++++++++++++++++++++++++++-------------------------------
10759 1 file changed, 132 insertions(+), 132 deletions(-)
10761 commit 7bdbbe6a8c372e902753151cfacb2a6d7505b96c
10762 Author: Andika Triwidada <andika@gmail.com>
10763 Date: Tue Oct 5 17:23:37 2010 +0100
10765 po: Update Indonesian localization
10767 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
10769 po/id.po | 223 +++++++++++++++++++++++---------------------------------------
10770 1 file changed, 84 insertions(+), 139 deletions(-)
10772 commit 12119ff063f0a7d71c2d7431697004a620d154ab
10773 Author: Damien Lespiau <damien.lespiau@gmail.com>
10774 Date: Tue Oct 5 17:22:56 2010 +0100
10776 po: Add French localization
10778 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
10780 po/fr.po | 1836 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10781 1 file changed, 1836 insertions(+)
10783 commit 3cb0436c42ca9369e3d804b8519d2dd40dac86e5
10784 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10785 Date: Tue Oct 5 14:30:01 2010 +0100
10787 clutter.modules: Update Cairo and Pixman
10789 build/clutter.modules | 12 ++++++------
10790 1 file changed, 6 insertions(+), 6 deletions(-)
10792 commit 155bde24650eb613824319f7186bd0a0d690932d
10793 Author: Damien Lespiau <damien.lespiau@intel.com>
10794 Date: Tue Oct 5 08:35:19 2010 +0100
10796 texture: Fix the typos in the blurbs and make them not end with '.'
10798 All the nifty things you discover when translating strings not exposed
10799 to anyone. First the clutter-wide record of the number of typos in one
10800 string. Second, ClutterTexture happened to have the only property blurbs
10801 ending with a '.', remove them.
10803 clutter/clutter-texture.c | 15 ++++++++-------
10804 1 file changed, 8 insertions(+), 7 deletions(-)
10806 commit 2d56ed637c3c71516498c5a9dc11bf521db37f6f
10807 Author: Damien Lespiau <damien.lespiau@intel.com>
10808 Date: Tue Oct 5 08:25:06 2010 +0100
10810 text: Rename the nick of the position property "Cursor Position"
10812 the "position" property of ClutterText is really the position of the
10813 cursor. Rename the nick accordingly not to confuse it with the position
10814 of the actor itself and be consistent with all the other cursor-related
10817 clutter/clutter-text.c | 2 +-
10818 1 file changed, 1 insertion(+), 1 deletion(-)
10820 commit a13182c740c9d61e897c8f41d958ca31ebbe6797
10821 Author: Damien Lespiau <damien.lespiau@intel.com>
10822 Date: Tue Oct 5 08:03:19 2010 +0100
10824 cogl: Use Cogl (not COGL) consistently
10826 If I remember correctly, Robert wants to name Cogl, Cogl (not COGL) so
10827 start by having a consistent naming in the code.
10829 clutter/clutter-texture.c | 16 ++++++++--------
10830 clutter/cogl/cogl/cogl-debug.c | 8 ++++----
10831 configure.ac | 4 ++--
10832 3 files changed, 14 insertions(+), 14 deletions(-)
10834 commit 24577a053868bfa39c7758dea2173cf090230de2
10835 Author: Damien Lespiau <damien.lespiau@intel.com>
10836 Date: Tue Oct 5 07:44:49 2010 +0100
10838 bin-layer: Fix the property blurbs
10840 The descriptions for the 'y-align' and 'x-align' properties talk about a
10841 layer and a layer manager. It seems that these properties are the
10842 alignement factors relative to the BinLayout, so document them
10845 clutter/clutter-bin-layout.c | 4 ++--
10846 1 file changed, 2 insertions(+), 2 deletions(-)
10848 commit 9ae1729f37fde328b738972c39db52673a28999e
10849 Author: Damien Lespiau <damien.lespiau@intel.com>
10850 Date: Mon Oct 4 18:35:13 2010 +0100
10852 box-layout: Fix missing spaces in the blurbs of vertical and homogeneous
10854 clutter/clutter-box-layout.c | 8 ++++----
10855 1 file changed, 4 insertions(+), 4 deletions(-)
10857 commit 9258f9bebb33bd7677f11872fa2c928296399832
10858 Author: Damien Lespiau <damien.lespiau@intel.com>
10859 Date: Mon Oct 4 17:20:30 2010 +0100
10861 deform-effect: Fix Horiontal/Horizontal typo
10863 clutter/clutter-deform-effect.c | 2 +-
10864 1 file changed, 1 insertion(+), 1 deletion(-)
10866 commit cd7df1b42133cef69de123986f336767f7a14978
10867 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10868 Date: Mon Oct 4 15:47:53 2010 +0100
10870 build: Fix the release-message target
10872 Generate the SHA256 checksum file during release-upload and then copy it
10873 to the build directory.
10875 build/autotools/Makefile.am.release | 7 ++++---
10876 1 file changed, 4 insertions(+), 3 deletions(-)
10878 commit 75e016ac20528c9fded515a620962cae1d96e5f6
10879 Author: Andika Triwidada <andika@gmail.com>
10880 Date: Mon Oct 4 15:43:54 2010 +0100
10882 po: Add Indonesian localization
10884 po/id.po | 2041 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10885 1 file changed, 2041 insertions(+)
10887 commit c32c25e4576ef125d83ad74d3ac6c3ae90d098ab
10888 Author: Piotr Drąg <piotrdrag@gmail.com>
10889 Date: Mon Oct 4 15:43:16 2010 +0100
10891 po: Update Polish localization
10893 po/pl.po | 708 ++++++++++++++++++++++++++++++++------------------------------
10894 1 file changed, 365 insertions(+), 343 deletions(-)
10896 commit 55121d0f35a8f713973254a4a56ef6cdf79f0ea9
10897 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10898 Date: Mon Oct 4 15:20:44 2010 +0100
10900 Post-release version bump to 1.5.3
10902 configure.ac | 2 +-
10903 1 file changed, 1 insertion(+), 1 deletion(-)
10905 commit ca5188edbf962e065dd80726a4a4e92ccc8cfacf
10906 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10907 Date: Mon Oct 4 14:53:55 2010 +0100
10909 Release Clutter 1.5.2 (snapshot)
10911 NEWS | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
10912 configure.ac | 2 +-
10913 2 files changed, 53 insertions(+), 1 deletion(-)
10915 commit 6af0ee2cbe2d6584b523809f160f56daf16eb583
10916 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10917 Date: Mon Oct 4 14:12:21 2010 +0100
10919 cogl-x11: Trap glXDestroyPixmap()
10921 There are ordering issues in the pixmap destruction with current and
10922 past X11 server, Mesa and dri2. Under some circumstances, an X pixmap
10923 might be destroyed with the GLX pixmap still referencing it, and thus
10924 the X server will decide to destroy the GLX pixmap as well; then, when
10925 Cogl tries to destroy the GLX pixmap, it gets BadDrawable errors.
10927 Clutter 1.2 used to trap + sync all calls to glXDestroyPixmap(), but
10928 then we assumed that the ordering issue had been solved. So, we're back
10931 I left a Big Fat Comment™ right above the glXDestroyPixmap() call
10932 referencing the bug and the reasoning behind the trap, so that we don't
10933 go and remove it in the future without checking that the issue has been
10936 http://bugzilla.clutter-project.org/show_bug.cgi?id=2324
10938 clutter/cogl/cogl/winsys/cogl-texture-pixmap-x11.c | 22 ++++++++++++++++++++
10939 1 file changed, 22 insertions(+)
10941 commit f5aeabadd5faf699ab04ec24d6db12297ee6ee30
10942 Author: Alejandro Piñeiro <apinheiro@igalia.com>
10943 Date: Mon Oct 4 02:17:40 2010 +0200
10945 Fixing cally.pc.in and moving include headers to previous directory
10947 After commit 8dd8fbdb some errors appear if you try work directly
10950 * cally.pc.in removed some elements. After install clutter, doing
10951 pkg-config --cflags cally-1.0
10952 fails due missing winsys
10954 * cally headers were moved from clutter-1.0/cally to
10955 clutter-1.0/clutter/cally. Applications using it (yes I know,
10956 nobody is officially using it) would require to:
10957 * Change their include.
10958 * Add directly a dependency to cally, in order to use the cally.pc
10959 file with the correct directory include.
10961 Note: Take into account that accessibility support still works (ie:
10962 clutter_get_accessibility_enabled). This bug only prevents
10963 applications to work directly against cally (ie: create a CallyActor
10966 http://bugzilla.clutter-project.org/show_bug.cgi?id=2353
10968 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
10970 clutter/Makefile.am | 5 +++--
10971 clutter/cally/cally.pc.in | 6 ++++++
10972 2 files changed, 9 insertions(+), 2 deletions(-)
10974 commit d3b6dd5ec7dda1557b2f5e5f14d3a73c02781683
10975 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10976 Date: Mon Oct 4 11:30:32 2010 +0100
10978 effect: Fix up the class ABI
10980 Landing the paint-box branch accidentally added two slots to the
10981 ClutterEffectClass vtable, plus the get_paint_volume() function
10982 pointer. This is an ABI break from 1.4.
10984 clutter/clutter-effect.h | 4 +---
10985 1 file changed, 1 insertion(+), 3 deletions(-)
10987 commit e1a1050a39a607aee4c97c4558c0a637136f6b52
10988 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10989 Date: Mon Oct 4 11:27:16 2010 +0100
10991 actor-box: Constify arguments for union
10993 The input arguments for clutter_actor_box_union() should be constified,
10994 since they will not be modified by the function.
10996 clutter/clutter-actor.c | 14 +++++++-------
10997 clutter/clutter-types.h | 4 ++--
10998 2 files changed, 9 insertions(+), 9 deletions(-)
11000 commit 45b6d7d47a943faad8d82e0b196be058a1c45193
11001 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11002 Date: Mon Oct 4 11:26:46 2010 +0100
11004 docs: Fix the annotations of ActorClass
11006 clutter/clutter-actor.h | 6 ++++--
11007 1 file changed, 4 insertions(+), 2 deletions(-)
11009 commit bdb24701f04cec42d388fe415aba16b29c2678e5
11010 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11011 Date: Mon Oct 4 10:52:36 2010 +0100
11013 build: Add -xobjective-c to the fruity backend section
11015 Like we do for the Quartz backend, we should turn on the -xobjective-c
11016 compiler flag for the Fruity backend.
11018 This does not mean that the backend actually works.
11020 clutter/Makefile.am | 5 +++++
11021 1 file changed, 5 insertions(+)
11023 commit db5e33d4a547862c772e93efbfd041baaebd6423
11024 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11025 Date: Mon Oct 4 10:44:00 2010 +0100
11029 Clutter has long since moved all the RFE and roadmap tracking to
11030 Bugzilla. The TODO is just a relic of an ancient past, where men
11031 were real men, women were real women, and fuzzy little creatures
11032 from Alpha Centauri were fuzzy little creatures from Alpha Centauri.
11035 1 file changed, 7 deletions(-)
11037 commit 0cf2f50ba60d9268f162da89a19f2387b1d6e9cb
11038 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11039 Date: Mon Oct 4 09:09:13 2010 +0100
11041 build: Remove redundant EXTRA_DISTs
11043 The files for the backend that we conditionally compile are
11044 automatically added to the dist process by automake.
11046 clutter/Makefile.am | 37 ++-----------------------------------
11047 1 file changed, 2 insertions(+), 35 deletions(-)
11049 commit 7728ea951b0675ef3f97c160f212eb9ae72ce45e
11050 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11051 Date: Mon Oct 4 09:08:07 2010 +0100
11053 docs: Add unused symbols to the Clutter API reference
11055 doc/reference/clutter/clutter-sections.txt | 5 +++++
11056 1 file changed, 5 insertions(+)
11058 commit a29623e8388c949b0c18853ce8c9f0e494a4317d
11059 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11060 Date: Mon Oct 4 08:57:29 2010 +0100
11062 build: Unconditionally add GLES2 shaders to EXTRA_DIST
11064 clutter/cogl/cogl/Makefile.am | 3 +--
11065 1 file changed, 1 insertion(+), 2 deletions(-)
11067 commit ba09e9c6df28bbd57a400de3d6acbe14fd53b7f6
11068 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11069 Date: Sun Oct 3 17:21:10 2010 +0100
11071 build: Generate a stub announcement email when releasing
11073 build/autotools/Makefile.am.release | 42 +++++++++++++++++++++++++++++++----
11074 1 file changed, 38 insertions(+), 4 deletions(-)
11076 commit df5702e463769c53a8badf725d158fe4ed94c76e
11077 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11078 Date: Sun Oct 3 16:37:41 2010 +0100
11080 docs: Update the RELEASING checklist
11082 doc/RELEASING | 60 +++++++++++++++++++++++++++++++--------------------------
11083 1 file changed, 33 insertions(+), 27 deletions(-)
11085 commit 2ed2b7eb83aeb813a8d3d734dd870bf739ef345a
11086 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11087 Date: Sun Oct 3 16:13:02 2010 +0100
11089 build: Only generate bzip2 tarballs
11091 Don't generate both bz2 and gz tarballs: we only use the former anyway,
11092 and the latter just adds time for distcheck to complete.
11094 The gz tarball will be generated by the remote installation scripts when
11095 publishing the release.
11097 configure.ac | 2 +-
11098 1 file changed, 1 insertion(+), 1 deletion(-)
11100 commit 939333b4f2dcd5fd7045af7c57db4e21de06d57b
11101 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11102 Date: Sun Oct 3 16:10:44 2010 +0100
11104 build: Dist every backend file
11106 All backend files should be present in the tarball generated by `make
11107 dist`, to allow building Clutter on different platforms.
11109 clutter/Makefile.am | 150 ++++++++++++++++++++++++++++++++++++++++-----------
11110 1 file changed, 118 insertions(+), 32 deletions(-)
11112 commit 6df136ae7cadea1df48d531af0730bf3867f3463
11113 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11114 Date: Sun Oct 3 15:28:14 2010 +0100
11116 container: Do not emit a signal in the class handler
11118 Yes, I am that stupid.
11120 clutter/clutter-container.c | 12 +++++-------
11121 1 file changed, 5 insertions(+), 7 deletions(-)
11123 commit e8d3ab4fd3d85b31230be4a59463338438c5621a
11124 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11125 Date: Sun Oct 3 15:16:41 2010 +0100
11127 introspection: Skip Script.connect_signals_full()
11129 It's meant to be used by language bindings, not by applications.
11131 clutter/clutter-script.c | 2 +-
11132 1 file changed, 1 insertion(+), 1 deletion(-)
11134 commit 19b93a94aef1700c83edb9e555f1507fcee2f249
11135 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11136 Date: Sun Oct 3 15:12:01 2010 +0100
11138 container: Fix the marshaller for ::child-notify
11140 The marshaller was defined as OBJECT,OBJECT,PARAM but the signal
11141 definition used only two arguments. Since the signal never worked
11142 and we never got any report about it, nobody could be possibly
11143 using the ::child-notify signal.
11145 clutter/clutter-container.c | 2 +-
11146 clutter/clutter-marshal.list | 2 +-
11147 2 files changed, 2 insertions(+), 2 deletions(-)
11149 commit 96db215ed3bb79915bfb5b9e037d116c83876a8d
11150 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11151 Date: Sun Oct 3 14:53:14 2010 +0100
11153 build: Automate the release process
11155 Makefile.am | 12 ++++---
11156 build/autotools/Makefile.am | 1 +
11157 build/autotools/Makefile.am.release | 68 +++++++++++++++++++++++++++++++++++
11158 3 files changed, 77 insertions(+), 4 deletions(-)
11160 commit 87bb089b572071632f3b8c2a63756a07e5d5a73a
11161 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11162 Date: Sun Oct 3 11:02:56 2010 +0100
11164 docs: Update the coding style
11166 Resynchronize with gtk+'s coding style document, since they switched to
11169 doc/CODING_STYLE | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
11170 1 file changed, 88 insertions(+)
11172 commit c4668f04f745f30657379727424137b62d44248d
11173 Author: Aron Xu <aronxu@gnome.org>
11174 Date: Thu Sep 30 15:20:05 2010 +0800
11176 Update zh_CN translation.
11178 Signed-off-by: Aron Xu <aronxu@gnome.org>
11179 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
11181 po/zh_CN.po | 290 +++++++++++++++++++++++++++++------------------------------
11182 1 file changed, 143 insertions(+), 147 deletions(-)
11184 commit 7ac84cf7a3695aa495ca28dbf172c8f4f6e48780
11185 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11186 Date: Thu Sep 30 14:58:23 2010 +0100
11188 container: Add child_notify() wrapper
11190 The child_notify() virtual function on ClutterContainer does not have a
11191 wrapper for implementations to call.
11193 clutter/clutter-container.c | 28 ++++++++++++++++++++++++++++
11194 clutter/clutter-container.h | 3 +++
11195 doc/reference/clutter/clutter-sections.txt | 1 +
11196 3 files changed, 32 insertions(+)
11198 commit fc344fb93a153f91ea4bafd9fe25dd88d27e8082
11199 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11200 Date: Thu Sep 30 13:11:05 2010 +0100
11202 container: Implement ::child-notify
11204 Since we added child properties to the Container interface we made a
11205 guarantee that the ::child-notify signal would be emitted whenever a
11206 property was set using clutter_container_child_set*().
11210 The child_notify virtual function was not implemented, and the signal
11213 We also used a G_LIKELY() macro while checking for non-NULL on a
11214 function pointer that was by default set to NULL, thus making the
11215 setting of child properties far less efficient than needed.
11217 clutter/clutter-container.c | 21 ++++++++++++++++++---
11218 1 file changed, 18 insertions(+), 3 deletions(-)
11220 commit 18ff73c24471694eb951c7192f15528b594f09b5
11221 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11222 Date: Thu Sep 30 12:43:10 2010 +0100
11224 build: Add more metadata to the introspection files
11226 clutter/Makefile.am | 10 +++++++---
11227 1 file changed, 7 insertions(+), 3 deletions(-)
11229 commit 6a95457b3f0927ec0adaebc9c91499f28ef804a0
11230 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11231 Date: Thu Sep 30 12:32:08 2010 +0100
11233 cookbook: Remove unused variable from the animator example
11235 doc/cookbook/examples/animations-moving-animator.c | 1 -
11236 1 file changed, 1 deletion(-)
11238 commit fde6efc690e6378eb1999267e5b15dc7c8accd43
11239 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11240 Date: Thu Sep 30 12:31:28 2010 +0100
11242 build: Make Cally.gir depend on Cogl.gir
11244 Since Cally's introspection data depends on it.
11246 clutter/Makefile.am | 2 +-
11247 1 file changed, 1 insertion(+), 1 deletion(-)
11249 commit c202156794289d210ed4bdf9c9fe6d522685fafd
11250 Merge: 077a5b4 cb191ff
11251 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11252 Date: Thu Sep 30 12:24:32 2010 +0100
11254 Merge remote branch 'elliot/events-buttons'
11256 * elliot/events-buttons:
11257 cookbook: Add recipe about handling button events
11258 cookbook: Example of using button press and release events
11259 cookbook: Example of ClutterClickAction
11260 cookbook: Example of simple handling of button events
11262 commit 077a5b4c34d7b52d8831ccce4c572c7dcae04a6e
11263 Author: Colin Walters <walters@verbum.org>
11264 Date: Wed Sep 29 13:18:03 2010 -0400
11266 introspection: Update to changed variables for header file names
11268 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
11270 clutter/Makefile.am | 2 +-
11271 1 file changed, 1 insertion(+), 1 deletion(-)
11273 commit 32d647ddd15ebddf91aa15b092fdcdf14d31ec4f
11274 Author: Ray Strode <rstrode@redhat.com>
11275 Date: Wed Sep 29 18:43:30 2010 -0400
11277 actor: sync entry has_clip member to clip state
11279 The clutter stage has a list of entries of actors waiting to be redrawn.
11280 Each entry has a "clip" ClutterPaintVolume member which represents which
11281 how much of the actor needs to get redrawn. It's possible for there to
11282 be no clip associated with the entry. In this case, the clip member is
11283 invalid, the has_clip member should be set to false.
11285 This commit fixes a bug where the has_clip member was not being
11286 initially, explicitly set to false for new entries, and not being
11287 explicitly set to false in the event the clip associated with the entry
11290 http://bugzilla.clutter-project.org/show_bug.cgi?id=2350
11292 Signed-off-by: Robert Bragg <robert@linux.intel.com>
11294 clutter/clutter-stage.c | 7 ++++++-
11295 1 file changed, 6 insertions(+), 1 deletion(-)
11297 commit fba633529148e65b9e136ea082fa7f853b789d96
11298 Author: Robert Bragg <robert@linux.intel.com>
11299 Date: Thu Sep 30 11:18:23 2010 +0100
11301 actor: don't ignore clip for clipped redraws
11303 In all the changes made recently to how we handle redraws and adding
11304 support for paint-volumes we stopped looking at explicit clip regions
11305 passed to _clutter_actor_queue_redraw_with_clip.
11307 In _clutter_actor_finish_queue_redraw we had started always trying to
11308 clip the redraw to the paint-volume of the actor, but forgot to consider
11309 that the user may have already determined the clip region for us!
11311 Now we first check if the given clip != NUll and if so we don't need to
11312 calculate the paint-volume of the actor.
11314 http://bugzilla.clutter-project.org/show_bug.cgi?id=2349
11316 clutter/clutter-actor.c | 13 +++++++++++--
11317 1 file changed, 11 insertions(+), 2 deletions(-)
11319 commit 471659ed4b2f16749c050701bcdc911405e9e018
11320 Author: Robert Bragg <robert@linux.intel.com>
11321 Date: Thu Sep 30 02:37:24 2010 +0100
11323 test-pixmap: add timeout to draw arcs on pixmap
11325 As a convenient test that clipped redraws are working correctly in
11326 response to X pixmap damage this updates test-pixmap to have a repeating
11327 1 second timeout that draws arcs on the pixmap.
11329 tests/interactive/test-pixmap.c | 26 +++++++++++++++++---------
11330 1 file changed, 17 insertions(+), 9 deletions(-)
11332 commit 18e3273fb1e3ba231d370294f13f180b5df68158
11333 Author: Robert Bragg <robert@linux.intel.com>
11334 Date: Thu Sep 30 02:00:24 2010 +0100
11336 x11-tfp: Implement get_paint_volume virtual
11338 One of the later changes made on the paint volume branch before merging
11339 with master was to make paint volumes opt in only since we couldn't make
11340 any safe assumptions about how custom actors may constrain their
11341 painting. We added very conservative implementations for the existing
11342 Clutter actors - including for ClutterTexture which
11343 ClutterX11TexturePixmap is a sub-class of - but we were conservative to
11344 the extent of explicitly checking the GType of the actor so we would
11345 avoid making any assumptions about sub-classes. The upshot was that we
11346 neglected to implement the get_paint_volume vfunc for
11347 ClutterX11TexturePixmap.
11349 This patch provides an implementation that simply reports the actor's
11350 allocation as its paint volume. Also unlike for other core actors it
11351 doesn't explicitly check the GType so we are assuming that all existing
11352 sub-classes of ClutterX11TexturePixmap constrain their drawing to the
11353 actor's transformed allocation. If anyone does want to draw outside the
11354 allocation in future sub-classes, then they should also provide an
11355 updated get_paint_volume implementation.
11357 http://bugzilla.clutter-project.org/show_bug.cgi?id=2349
11359 clutter/x11/clutter-x11-texture-pixmap.c | 10 ++++++++++
11360 1 file changed, 10 insertions(+)
11362 commit 83eb5ab88cb31fc85016975055d28165300b9867
11363 Author: Robert Bragg <robert@linux.intel.com>
11364 Date: Fri Sep 24 01:01:33 2010 +0100
11366 material: tweak dot file debug code
11368 When using the debug function _cogl_debug_dump_materials_dot_file to
11369 write a dot file representing the sparse graph of material state we now
11370 only show a link between materials and layers when the material directly
11371 owns that layer reference (i.e. just those referenced in
11372 material->layer_differences) This makes it possible to see when
11373 ancestors of a material are being deferred too for layer state.
11375 For example when looking at the graph if you see that a material has an
11376 n_layers of 3 but there is only a link to 2 layers, then you know you
11377 need to look at it's ancestors to find the last layer.
11379 clutter/cogl/cogl/cogl-material.c | 6 +++++-
11380 1 file changed, 5 insertions(+), 1 deletion(-)
11382 commit cb191ff6f18e291810077271f853658c8d679e3d
11383 Author: Elliot Smith <elliot.smith@intel.com>
11384 Date: Thu Sep 30 11:12:14 2010 +0100
11386 cookbook: Add recipe about handling button events
11388 Recipe covers adding handlers for button-press-event and
11389 button-release-event signals on actors, and how to
11390 examine the content of a ClutterButtonEvent via API functions.
11392 The discussion section explains about click count
11393 (the criteria for how clicks get counted, including
11394 distance and time settings); how button numbers are reported;
11395 and how to use ClutterClickAction as an alternative
11396 for press + release in certain scenarios.
11398 doc/cookbook/events.xml | 388 +++++++++++++++++++++++++++++++++++++++++++++++
11399 1 file changed, 388 insertions(+)
11401 commit d8a9026b842655d23d839a639540bb134f734d84
11402 Author: Neil Roberts <neil@linux.intel.com>
11403 Date: Wed Sep 29 17:04:25 2010 +0100
11405 win32: Fix the CLUTTER_* keysym macros
11407 In 4ee05f8e21d the namespace for the clutter keysym macros were
11408 changed to CLUTTER_KEY_* but the win32 events backend was still
11409 referring to the old names.
11411 clutter/win32/clutter-event-win32.c | 110 +++++++++++++++++------------------
11412 1 file changed, 55 insertions(+), 55 deletions(-)
11414 commit 94439e55265d91e0c5419306115d2af02378e75e
11415 Author: Elliot Smith <elliot.smith@intel.com>
11416 Date: Tue Sep 28 16:53:30 2010 +0100
11418 cookbook: Example of using button press and release events
11420 A longer example of using button press and release events
11421 to draw rectangles with random colors.
11423 doc/cookbook/examples/Makefile.am | 2 +
11424 doc/cookbook/examples/events-buttons-lasso.c | 154 ++++++++++++++++++++++++++
11425 2 files changed, 156 insertions(+)
11427 commit 0cda6c006b5909da5919c4e3a1492a32895c596c
11428 Author: Elliot Smith <elliot.smith@intel.com>
11429 Date: Tue Sep 28 16:37:26 2010 +0100
11431 cookbook: Example of ClutterClickAction
11433 Example of handling clicks on an actor; part of the recipe on
11434 handling button events.
11436 doc/cookbook/examples/Makefile.am | 2 +
11437 doc/cookbook/examples/events-buttons-click.c | 66 ++++++++++++++++++++++++++
11438 2 files changed, 68 insertions(+)
11440 commit fc9ecdf82ed13cf14be9e8fd5fda9787f8972205
11441 Author: Elliot Smith <elliot.smith@intel.com>
11442 Date: Mon Sep 27 16:36:16 2010 +0100
11444 cookbook: Example of simple handling of button events
11446 Added an example showing how to examine the content
11447 of a ClutterButtonEvent in a signal handler.
11449 doc/cookbook/examples/Makefile.am | 2 +
11450 doc/cookbook/examples/events-buttons.c | 107 ++++++++++++++++++++++++++++++++
11451 2 files changed, 109 insertions(+)
11453 commit f753b0c4a15421e984cf3b2fcb1ccce7f0e6a61d
11454 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11455 Date: Thu Sep 30 10:29:00 2010 +0100
11457 Wrap g_object_class_install_properties()
11459 GObject ≥ 2.26.0 added a nice convenience call for installing properties
11460 from an array of GParamSpec. Since we're already storing all GParamSpec
11461 in an array in order to use them with g_object_notify_by_pspec(), this
11462 turns out nicely for us.
11464 Since we do not depend on GLib 2.26 (yet), we need to provide a simple
11465 private wrapper that implements the fall back to the default
11466 g_object_class_install_property() call.
11468 ClutterDragAction has been converted as a proof of concept.
11470 clutter/clutter-drag-action.c | 71 ++++++++++++++++++++---------------------
11471 clutter/clutter-private.h | 17 ++++++++++
11472 2 files changed, 51 insertions(+), 37 deletions(-)
11474 commit f090c3ea496b2bf79b2fb0c7ab6a80299c59aed1
11475 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11476 Date: Thu Sep 30 10:27:10 2010 +0100
11478 stage: Add more checks on the stage window retrieval
11480 During destruction, the StageWindow implementation associated to a Stage
11481 might be NULL. We need to add more checks for a) the IN_DESTRUCTION flag
11482 being set and b) the StageWindow pointer being NULL. Otherwise, we will
11483 get warnings during the destruction of the Stage.
11485 clutter/clutter-stage.c | 14 +++++++++++++-
11486 1 file changed, 13 insertions(+), 1 deletion(-)
11488 commit 52c4d6fa0c5f5260de5093967cdd1036e351050c
11489 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11490 Date: Wed Sep 29 17:32:57 2010 +0100
11492 build: Use platform detection to add -no-undefined
11494 Instead of relying on the flavour passed to the configure script.
11496 configure.ac | 13 ++++++++++++-
11497 1 file changed, 12 insertions(+), 1 deletion(-)
11499 commit 7aaef8abeed4d3903465ac9d8fd0a916d17aab79
11500 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11501 Date: Wed Sep 29 16:46:06 2010 +0100
11503 modules: Use the stable branch of json-glib
11505 build/clutter.modules | 2 +-
11506 1 file changed, 1 insertion(+), 1 deletion(-)
11508 commit a278a1f94053372d49fb31f82cac551f186a28f4
11509 Author: Neil Roberts <neil@linux.intel.com>
11510 Date: Wed Sep 29 15:40:22 2010 +0100
11512 cogl-texture-2d-sliced: Don't create the slice textures twice
11514 Both of the cogl_texture_2d_sliced_new functions called the
11515 slices_create function which creates the underlying GL
11516 textures. However this was also called by init_base so the textures
11517 would end up being created twice. This would make it leak the GL
11518 textures and the arrays which point to them.
11520 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 18 ------------------
11521 1 file changed, 18 deletions(-)
11523 commit 54f5e168ecd67838d9fae08912e37f47d786f45e
11524 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11525 Date: Wed Sep 29 16:05:55 2010 +0100
11527 Bump up dependency of json-glib to 0.12.0
11529 New stable release.
11532 configure.ac | 2 +-
11533 2 files changed, 2 insertions(+), 2 deletions(-)
11535 commit 66b0c1969c72ad49482befb3136b3e8478b07c58
11536 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11537 Date: Wed Sep 22 12:56:33 2010 +0100
11539 Remove the internal copy of JSON-GLib
11541 The internal copy of JSON-GLib was meant to go away right after the 1.0
11542 release, given that JSON-GLib was still young and relatively unknown.
11544 Nowadays, many projects started depending on this little library, and
11545 distributions ship it and keep it up to date.
11547 Keeping a copy of JSON-GLib means keeping it up to date; unfortunately,
11548 this would also imply updating the code not just for the API but for the
11549 internal implementations.
11551 Starting with the 1.2 release, Clutter preferably dependend on the
11552 system copy; with the 1.4 release we stopped falling back automatically.
11553 The 1.6 cycle finally removes the internal copy and requires a copy of
11554 JSON-GLib installed on the target system in order to compile Clutter.
11557 clutter/Makefile.am | 66 +--
11558 clutter/clutter-json.h.in | 11 -
11559 clutter/clutter-script-private.h | 3 +-
11560 clutter/clutter-script.c | 2 -
11561 clutter/clutter-scriptable.h | 2 +-
11562 clutter/json/json-array.c | 725 ------------------------
11563 clutter/json/json-generator.c | 646 ---------------------
11564 clutter/json/json-generator.h | 83 ---
11565 clutter/json/json-glib.h | 12 -
11566 clutter/json/json-marshal.c | 130 -----
11567 clutter/json/json-marshal.h | 37 --
11568 clutter/json/json-node.c | 770 -------------------------
11569 clutter/json/json-object.c | 888 -----------------------------
11570 clutter/json/json-parser.c | 1124 -------------------------------------
11571 clutter/json/json-parser.h | 147 -----
11572 clutter/json/json-types-private.h | 61 --
11573 clutter/json/json-types.h | 288 ----------
11574 configure.ac | 90 +--
11575 doc/reference/clutter/Makefile.am | 2 -
11576 20 files changed, 13 insertions(+), 5089 deletions(-)
11578 commit e36cc40a49a9f0c2e200a0326451333dbb68b4ac
11579 Merge: 0f22e92 8dd8fbd
11580 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11581 Date: Wed Sep 29 15:55:58 2010 +0100
11583 Merge branch 'wip/non-recursive'
11585 * wip/non-recursive:
11586 build: Start moving to a non-recursive layout
11588 commit 0f22e922e3d03bfa9e7272aa6d2819748c3913c7
11589 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11590 Date: Wed Sep 29 15:44:51 2010 +0100
11592 modules: Fix up mesa module
11594 build/clutter.modules | 6 +++++-
11595 1 file changed, 5 insertions(+), 1 deletion(-)
11597 commit e072d797b1b5cbdc3c448f1e1acdd6adac0c833b
11598 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11599 Date: Wed Sep 29 15:23:53 2010 +0100
11601 modules: Add mesa and wayland to the moduleset
11603 build/clutter.modules | 13 +++++++++++++
11604 1 file changed, 13 insertions(+)
11606 commit 42f6364cac945e451725fc4aeeccf28ee5019ff3
11607 Author: Robert Bragg <robert@linux.intel.com>
11608 Date: Fri Sep 24 02:24:36 2010 +0100
11610 actor: don't dirty pick buffer in _real_queue_redraw
11612 Since re-working how redraws are queued it is no longer necessary to
11613 dirty the pick buffer in _clutter_actor_real_queue_redraw since this
11614 should now reliably be handled in _clutter_stage_queue_actor_redraw.
11616 clutter/clutter-actor.c | 9 +--------
11617 1 file changed, 1 insertion(+), 8 deletions(-)
11619 commit 51fca9d96807b227d00b0bc58e6e5f216024cf91
11620 Author: Robert Bragg <robert@linux.intel.com>
11621 Date: Mon Sep 13 00:33:23 2010 +0100
11623 actor: Adds private _clutter_actor_traverse API
11625 This adds two internal functions relating to explicit traversal of the
11627 _clutter_actor_foreach_child
11628 _clutter_actor_traverse
11630 _clutter_actor_foreach_child just iterates the immediate children of an
11631 actor, and with a new ClutterForeachCallback type it allows the
11632 callbacks to break iteration early.
11634 _clutter_actor_traverse traverses the given actor and all of its
11635 decendants. Again traversal can be stopped early if a callback returns
11638 The first intended use for _clutter_actor_traverse is to maintain a
11639 cache pointer to the stage for all actors. In this case we will need to
11640 update the pointer for all descendants of an actor when an actor is
11641 reparented in any way.
11643 clutter/clutter-actor.c | 64 +++++++++++++++++++++++++++++++++++++++++++++
11644 clutter/clutter-private.h | 32 +++++++++++++++++++++++
11645 2 files changed, 96 insertions(+)
11647 commit 9a1abbc713537b3ef381e8e9ea1a5e910613567e
11648 Author: Robert Bragg <robert@linux.intel.com>
11649 Date: Sun Sep 12 23:49:02 2010 +0100
11651 actor: Adds private _clutter_actor_get_n_children
11653 This adds a private getter to query the number of children an actor has.
11654 One use planned for this API is to avoid calling get_paint_volume on
11655 such actors. (It's not clear what the best semantics for
11656 get_paint_volume are for actors with children, so we are considering
11657 leaving the semantics undefined for the initial clutter 1.4 release)
11659 clutter/clutter-actor.c | 7 +++++++
11660 clutter/clutter-private.h | 1 +
11661 2 files changed, 8 insertions(+)
11663 commit 239d83f952aa077622ca79c390842be271baddcd
11664 Author: Robert Bragg <robert@linux.intel.com>
11665 Date: Sun Sep 12 23:31:39 2010 +0100
11667 actor: explicitly track children in clutter-actor.c
11669 We now explicitly track the list of children each actor has in a private
11670 GList. This gives us a reliable way to know how many children an actor
11671 has - even for composite actors that don't implement the container
11672 interface. This also will allow us to directly traverse the scenegraph
11673 in a more generalized fashion. Previously the scenegraph was
11674 more-or-less represented implicitly according the implementation of
11677 clutter/clutter-actor.c | 14 ++++++++++++++
11678 1 file changed, 14 insertions(+)
11680 commit b3edd3e922e3a3a2dafc5a7a1c02bb22a5ffec94
11681 Author: Robert Bragg <robert@linux.intel.com>
11682 Date: Sat Sep 11 02:48:18 2010 +0100
11684 debug: fix blue outlines for paint-volumes debug opt
11686 When using the CLUTTER_PAINT=paint-volumes debug option we try and show
11687 when a paint volume couldn't be determined by drawing a blue outline of
11688 the allocation instead. There was a typo though and instead we were
11689 drawing an outline the size of the stage instead of for the given actor.
11690 This fixes that and removes a FIXME comment relating to the blue outline
11691 that is now implemented.
11693 clutter/clutter-actor.c | 5 +----
11694 1 file changed, 1 insertion(+), 4 deletions(-)
11696 commit 1a8d577168ef48a9fcef21415b44b2b8c2f9a26c
11697 Author: Robert Bragg <robert@linux.intel.com>
11698 Date: Sat Sep 11 02:39:23 2010 +0100
11700 clone: Implement get_paint_volume virtual
11702 To allow Clutter to queue clipped redraws when a clone actor changes we
11703 need to be able to report a paint volume for clone actors. This patch
11704 makes ClutterClones query the paint volume of their source actor and
11705 masquerade it as their own volume.
11707 clutter/clutter-clone.c | 19 +++++++++++++++++++
11708 1 file changed, 19 insertions(+)
11710 commit f6ba69f82dba0fdb46998c93929f3c68ebf11cb1
11711 Author: Robert Bragg <robert@linux.intel.com>
11712 Date: Fri Sep 10 02:18:16 2010 +0100
11714 Revert "actor: don't immediately queue redraw when queuing relayout"
11716 This reverts commit ca44c6a7d8abe9f2c548bee817559ea8adaa7a80.
11718 In reality there are probably lots of actors that depend on the exact
11719 semantics as they are documented so this change isn't really acceptable.
11720 For example when the font changes in ClutterText we only queue a
11721 relayout, and since it's possible that the font will have the same size
11722 and the actor won't get a new allocation it wouldn't otherwise queue a
11725 Since queue_redraw requests now get deferred until just before a paint
11726 run it is actually no longer a problem to queue the redraw here.
11728 clutter/clutter-actor.c | 20 --------------------
11729 1 file changed, 20 deletions(-)
11731 commit 3b789490d2cee54652d65950a71fe55736c6a433
11732 Author: Robert Bragg <robert@linux.intel.com>
11733 Date: Fri Sep 10 01:33:02 2010 +0100
11735 actor: defer queue-redraw signaling
11737 Instead of immediately, recursively emitting the "queue-redraw" signal
11738 when clutter_actor_queue_redraw is called we now defer this process
11739 until all stage updates are complete. This allows us to aggregate
11740 repeated _queue_redraw requests for the same actor avoiding redundant
11741 paint volume transformations. By deferring we also increase the
11742 likelihood that the actor will have a valid paint volume since it will
11743 have an up to date allocation; this in turn means we will more often be
11744 able to automatically queue clipped redraws which can have a big impact
11747 Here's an outline of the actor queue redraw mechanism:
11749 The process starts in clutter_actor_queue_redraw or
11750 _clutter_actor_queue_redraw_with_clip.
11752 These functions queue an entry in a list associated with the stage which
11753 is a list of actors that queued a redraw while updating the timelines,
11754 performing layouting and processing other mainloop sources before the
11757 We aim to minimize the processing done at this point because there is a
11758 good chance other events will happen while updating the scenegraph that
11759 would invalidate any expensive work we might otherwise try to do here.
11760 For example we don't try and resolve the screen space bounding box of an
11761 actor at this stage so as to minimize how much of the screen redraw
11762 because it's possible something else will happen which will force a full
11765 When all updates are complete and we come to paint the stage (see
11766 _clutter_stage_do_update) then we iterate this list and actually emit
11767 the "queue-redraw" signals for each of the listed actors which will
11768 bubble up to the stage for each actor and at that point we will
11769 transform the actors paint volume into screen coordinates to determine
11770 the clip region for what needs to be redrawn in the next paint.
11772 Note: actors are allowed to queue a redraw in reseponse to a
11773 queue-redraw signal so we repeat the processing of the list until it
11774 remains empty. An example of when this happens is for Clone actors or
11775 clutter_texture_new_from_actor actors which need to queue a redraw if
11776 their source queues a redraw.
11778 clutter/clutter-actor.c | 223 +++++++++++++++++++++++++++++++--------------
11779 clutter/clutter-private.h | 21 ++++-
11780 clutter/clutter-stage.c | 173 ++++++++++++++++++++++++++++++-----
11781 3 files changed, 320 insertions(+), 97 deletions(-)
11783 commit 7d8effd5e26495dc3e01ba741a0389364183fc5f
11784 Author: Robert Bragg <robert@linux.intel.com>
11785 Date: Thu Sep 9 18:51:17 2010 +0100
11787 paint_volume: add private api to change reference actor
11789 For Clone actors we will need a way to report the volume of the source
11790 actor as the volume of the clone actor. To make this work though we need
11791 to be able to replace the reference to the source actor with a reference
11792 to the clone actor instead. This adds a private
11793 _clutter_paint_volume_set_reference_actor function to do that.
11795 clutter/clutter-paint-volume.c | 15 +++++++++++++++
11796 clutter/clutter-private.h | 38 ++++++++++++++++++++------------------
11797 2 files changed, 35 insertions(+), 18 deletions(-)
11799 commit 2d895816be659a86d999748ecf631422b9e9176f
11800 Author: Robert Bragg <robert@linux.intel.com>
11801 Date: Thu Sep 9 17:53:29 2010 +0100
11803 paint_volume: Adds _clutter_paint_volume_set_from_volume
11805 This adds a way to initialize a paint volume from another source paint
11806 volume. This lets us for instance pass the contents of one paint volume
11807 back through the out param of a get_paint_volume implementation.
11809 clutter/clutter-paint-volume.c | 12 ++++++++++++
11810 clutter/clutter-private.h | 3 +++
11811 2 files changed, 15 insertions(+)
11813 commit bfacca30119ed51517bac39c362a927ef39291ec
11814 Author: Robert Bragg <robert@linux.intel.com>
11815 Date: Thu Sep 9 14:30:38 2010 +0100
11817 actor: don't queue_redraw actors not descended from stage
11819 This makes clutter_actor_queue_redraw simply bail out early if the actor
11820 isn't a descendant of a ClutterStage since the request isn't meaningful
11821 and it avoids a crash when trying to queue a clipped redraw against the
11822 stage to clear the actors old location.
11824 clutter/clutter-actor.c | 7 ++++++-
11825 1 file changed, 6 insertions(+), 1 deletion(-)
11827 commit b77d9a6d2c0cc02519c79efe9dd4c8c184f73b36
11828 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11829 Date: Thu Sep 9 13:11:11 2010 +0100
11831 paint-volume: Add convenience function for using an allocation
11833 Classes overriding ClutterActor::get_paint_volume() that wish to use
11834 their allocation as the paint volume should have an idiomatic way of
11837 clutter/clutter-paint-volume.c | 37 +++++++++++++++++++++++++++++++++++++
11838 clutter/clutter-types.h | 39 +++++++++++++++++++++------------------
11839 2 files changed, 58 insertions(+), 18 deletions(-)
11841 commit 5640a65046e5fbf5b7283315b457e39331fa028b
11842 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11843 Date: Thu Sep 9 12:38:25 2010 +0100
11845 text: Update get_paint_volume() implementation
11847 In commit 9818eee4646e49e99beb5a43f1dafcbdcca41f94 I forgot to update
11848 ClutterText as well as the other actors.
11850 clutter/clutter-text.c | 24 ++++--------------------
11851 1 file changed, 4 insertions(+), 20 deletions(-)
11853 commit 16f7ee13f2efb545d7cfd33774f42bab92f0e1e6
11854 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11855 Date: Thu Sep 9 12:30:29 2010 +0100
11857 Move default paint volume computation into a function
11859 This should reduce the amount of copy and paste for actor sub-classes
11860 that use the default paint volume from the allocation.
11862 clutter/clutter-cairo-texture.c | 24 ++++----------------
11863 clutter/clutter-paint-volume.c | 46 +++++++++++++++++++++++++++++++++++++++
11864 clutter/clutter-private.h | 4 ++++
11865 clutter/clutter-rectangle.c | 24 ++++----------------
11866 clutter/clutter-texture.c | 24 ++++----------------
11867 5 files changed, 62 insertions(+), 60 deletions(-)
11869 commit fd41024d29f093afe2fe1f0292c7ec5965ba5801
11870 Author: Robert Bragg <robert@linux.intel.com>
11871 Date: Wed Sep 8 21:01:37 2010 +0100
11873 paint_volume: assert non-NULL pv in _volume_copy
11875 Instead of carefully checking if the user passes NULL to
11876 clutter_paint_volume_copy we now simply use g_return_val_if_fail.
11878 clutter/clutter-paint-volume.c | 4 +---
11879 1 file changed, 1 insertion(+), 3 deletions(-)
11881 commit 3040b140bce59ac2e70de325e0afa98ec8fa7ce7
11882 Author: Robert Bragg <robert@linux.intel.com>
11883 Date: Wed Sep 8 20:39:15 2010 +0100
11885 paint_volume: Splits out clutter_paint_volume code
11887 This splits out all the clutter_paint_volume code from clutter-actor.c
11888 into clutter-paint-volume.c. Since clutter-actor.c and
11889 clutter-paint-volume.c both needed the functionality of
11890 _fully_transform_vertices, this function has now been moved to
11891 clutter-utils.c as _clutter_util_fully_transform_vertices.
11893 clutter/Makefile.am | 1 +
11894 clutter/clutter-actor.c | 838 +---------------------------------------
11895 clutter/clutter-paint-volume.c | 817 +++++++++++++++++++++++++++++++++++++++
11896 clutter/clutter-private.h | 14 +-
11897 clutter/clutter-util.c | 45 +++
11898 5 files changed, 882 insertions(+), 833 deletions(-)
11900 commit 72eeb8e809492524dc146cb92e0b4e3a5347f628
11901 Author: Robert Bragg <robert@linux.intel.com>
11902 Date: Wed Sep 8 19:47:11 2010 +0100
11904 actor: make default get_paint_volume more conservative
11906 There are too many examples where the default assumption that an actor
11907 paints inside its allocation isn't true, so we now return FALSE in the
11908 base implementation instead. This means that by default we are saying
11909 "we don't know the paint volume of the actor", so developers need to
11910 implement the get_paint_volume virtual to take advantage of culling and
11911 clipped redraws with their actors.
11913 This patch provides very conservative get_paint_volume implementations
11914 for ClutterTexture, ClutterCairoTexture, ClutterRectangle and
11915 ClutterText which all explicitly check the actor's object type to avoid
11916 making any assumptions about subclasses.
11918 clutter/clutter-actor.c | 14 +-------------
11919 clutter/clutter-cairo-texture.c | 28 ++++++++++++++++++++++++++++
11920 clutter/clutter-rectangle.c | 28 +++++++++++++++++++++++++++-
11921 clutter/clutter-text.c | 26 ++++++++++++++++++++++++++
11922 clutter/clutter-texture.c | 34 ++++++++++++++++++++++++++++++----
11923 5 files changed, 112 insertions(+), 18 deletions(-)
11925 commit d9a7f1b03b8527becd0251e51b8abacd710a1f8d
11926 Author: Robert Bragg <robert@linux.intel.com>
11927 Date: Wed Sep 8 18:20:54 2010 +0100
11929 actor: don't always check needs_allocation for clipped redraw
11931 We were always explicitly checking priv->needs_allocation in
11932 _clutter_actor_queue_redraw_with_clip, but we only need to do that if
11933 the CLUTTER_REDRAW_CLIPPED_TO_ALLOCATION flag is used.
11935 clutter/clutter-actor.c | 22 +++++++++++-----------
11936 1 file changed, 11 insertions(+), 11 deletions(-)
11938 commit 072595a1bfe084e00e7bc6f7cc074c89a9914ce6
11939 Author: Robert Bragg <robert@linux.intel.com>
11940 Date: Wed Sep 8 18:17:27 2010 +0100
11942 actor: new actors should start with an empty paint box
11944 This initializes priv->last_paint_box with a degenerate box, so a newly
11945 allocated actor added to the scenegraph and made visible only needs to
11946 trigger a redraw of its initial position. If we don't have a valid
11947 last_paint_box though we would instead trigger a full stage redraw.
11949 clutter/clutter-actor.c | 7 +++++++
11950 1 file changed, 7 insertions(+)
11952 commit c2ea35b5cab98a5c2eca305b5199c7d3b44be70c
11953 Author: Robert Bragg <robert@linux.intel.com>
11954 Date: Wed Sep 8 18:14:04 2010 +0100
11956 actor: when culling/clipped redraws disable ignore paint box
11958 To make comparing the performance with culling/clipped redraws
11959 enabled/disabled fairer we now avoid querying the paint box when they
11960 are disabled, so that results should reflect how the cost of
11961 transforming paint volumes into screen space etc gets offset against the
11962 benefit of culling.
11964 clutter/clutter-actor.c | 76 +++++++++++++++++++++++++++--------------------
11965 1 file changed, 44 insertions(+), 32 deletions(-)
11967 commit 5d1600d6036941885a6ad2a4372f35678696d549
11968 Author: Robert Bragg <robert@linux.intel.com>
11969 Date: Wed Sep 8 11:32:29 2010 +0100
11971 stage: only update viewport when allocation changes
11973 In clutter_stage_allocate at the end we were always querying the latest
11974 allocation set and using the geometry to assert the viewport and then
11975 kicking a full redraw. These only need to be done when the allocation
11976 really changes, so we now read the previous allocation at the start of
11977 the function and compare at the end. This was stopping clipped redraws
11978 from being used in a lot of cases.
11980 clutter/clutter-stage.c | 18 ++++++++++++------
11981 1 file changed, 12 insertions(+), 6 deletions(-)
11983 commit 1e7f22db3b7cdf9c8154ec7c3ae7cb9b83ac0655
11984 Author: Robert Bragg <robert@linux.intel.com>
11985 Date: Wed Sep 8 01:18:30 2010 +0100
11987 glx: queue full redraws for the first 2 frames
11989 To consider that we've see a number of drivers that can struggle to get
11990 going and may produce a bad first frame we now force the first 2 frames
11991 to be full redraws. This became a serious issue after we started using
11992 clipped redraws more aggressively because we assumed that after the
11993 first frame the full framebuffer was valid and we only redraw the
11994 content that changes. With buggy drivers though, applications would be
11995 left with junk covering a lot of the stage until some event triggered a
11998 clutter/glx/clutter-stage-glx.c | 5 +++++
11999 clutter/glx/clutter-stage-glx.h | 5 +++++
12000 2 files changed, 10 insertions(+)
12002 commit 771348b3696b9f9a0f7de41d9b71abee6309f07b
12003 Author: Robert Bragg <robert@linux.intel.com>
12004 Date: Wed Sep 8 01:15:00 2010 +0100
12006 x11: minimize nasty artefacts when resizing windows
12008 This is a workaround for a race condition when resizing windows while
12009 there are in-flight glXCopySubBuffer blits happening.
12011 The problem stems from the fact that rectangles for the blits are
12012 described relative to the bottom left of the window and because we can't
12013 guarantee control over the X window gravity used when resizing so the
12014 gravity is typically NorthWest not SouthWest.
12016 This means if you grow a window vertically the server will make sure to
12017 place the old contents of the window at the top-left/north-west of your
12018 new larger window, but that may happen asynchronous to GLX preparing to
12019 do a blit specified relative to the bottom-left/south-west of the window
12020 (based on the old smaller window geometry).
12022 When the GLX issued blit finally happens relative to the new bottom of
12023 your window, the destination will have shifted relative to the top-left
12024 where all the pixels you care about are so it will result in a nasty
12025 artefact making resizing look very ugly!
12027 We can't currently fix this completely, in-part because the window
12028 manager tends to trample any gravity we might set. This workaround
12029 instead simply disables blits for a while if we are notified of any
12030 resizes happening so if the user is resizing a window via the window
12031 manager then they may see an artefact for one frame but then we will
12032 fallback to redrawing the full stage until the cooling off period is
12035 clutter/glx/clutter-stage-glx.c | 6 ++++-
12036 clutter/x11/clutter-event-x11.c | 47 +++++++++++++++++++++++++++++++++++++++
12037 clutter/x11/clutter-stage-x11.h | 2 ++
12038 3 files changed, 54 insertions(+), 1 deletion(-)
12040 commit 012e4ab153337cb973a623d6b03c274231ef68b5
12041 Author: Robert Bragg <robert@linux.intel.com>
12042 Date: Wed Sep 8 01:03:15 2010 +0100
12044 x11: Queue clipped redraws for Expose events
12046 Instead of triggering a full stage redraw for Expose events we use the
12047 geometry of the exposed region given in the event to queue a clipped
12048 redraw of the stage.
12050 clutter/x11/clutter-event-x11.c | 27 +++++++++++++++++++++++++++
12051 1 file changed, 27 insertions(+)
12053 commit 105451d1bea329edff85a5727f0bc4fd3b8e5504
12054 Author: Robert Bragg <robert@linux.intel.com>
12055 Date: Tue Sep 7 23:35:26 2010 +0100
12057 cogl: removes unused _cogl_setup_viewport
12059 Clutter has now taken responsibility for managing its viewport,
12060 projection matrix and view transform as part of ClutterStage so
12061 _cogl_setup_viewport is no longer used by anything, and since it's quite
12062 an obscure API anyway it's we've taken the opportunity to remove the
12065 clutter/cogl/cogl/cogl.c | 74 ----------------------------------------------
12066 clutter/cogl/cogl/cogl.h | 26 ----------------
12067 2 files changed, 100 deletions(-)
12069 commit 95ff71d01c44b1d93fdecadb8f233cd05d051d9f
12070 Author: Robert Bragg <robert@linux.intel.com>
12071 Date: Tue Sep 7 23:25:18 2010 +0100
12073 stage: Sometimes really force a full redraw
12075 Since clutter_actor_queue_redraw now automatically clips redraws
12076 according to the paint volume of the actor we have to be careful to
12077 ensure we really force a full redraw when the stage is allocated a new
12078 size or the stage viewport changes.
12080 clutter/clutter-stage.c | 20 ++++++++++++++++++--
12081 1 file changed, 18 insertions(+), 2 deletions(-)
12083 commit 2235e705859a880415da4d57c76596cef0b9026f
12084 Author: Robert Bragg <robert@linux.intel.com>
12085 Date: Tue Sep 7 23:09:06 2010 +0100
12087 actor: don't immediately queue redraw when queuing relayout
12089 We have bent the originally documented semantics a bit so now where we
12090 say "Queueing a new layout automatically queues a redraw as well" it
12091 might be clearer to say "Queuing a new layout implicitly queues a redraw
12092 as well if anything in the layout changes".
12094 This should be close enough to the original semantics to not cause any
12097 Without this change then we we fail to take advantage of clipped redraws
12098 in a lot of cases because queuing a redraw with priv->needs_allocation
12099 == TRUE will automatically be promoted to a full stage redraw since it's
12100 not possible to determine a valid paint-volume.
12102 Also queuing a redraw here will end up registering a redundant clipped
12103 redraw for the current location, doing quite a lot of redundant
12104 transforms, and then later when re-allocated during layouting another
12105 queue redraw would happen with the correct paint-volume.
12107 clutter/clutter-actor.c | 20 ++++++++++++++++++++
12108 1 file changed, 20 insertions(+)
12110 commit b499696d83c4f37b1513929ea62323abbaaa5940
12111 Author: Robert Bragg <robert@linux.intel.com>
12112 Date: Tue Sep 7 22:21:28 2010 +0100
12114 Use paint volumes to do automatic culling
12116 This uses actor paint volumes to perform culling during
12117 clutter_actor_paint.
12119 When performing a clipped redraw (because only a few localized actors
12120 changed) then as we traverse the scenegraph painting the actors we can
12121 now ignore actors that don't intersect the clip region. Early testing
12122 shows this can have a big performance benefit; e.g. 100% fps improvement
12123 for test-state with culling enabled and we hope that there are even much
12124 more compelling examples than that in the real world,
12126 Most Clutter applications are 2Dish interfaces and have quite a lot of
12127 actors that get continuously painted when anything is animated. The
12128 dynamic actors are often localized to an area of user focus though so
12129 with culling we can completely avoid painting any of the static actors
12130 outside the current clip region.
12132 Obviously the cost of culling has to be offset against the cost of
12133 painting to determine if it's a win, but our (limited) testing suggests
12134 it should be a win for most applications.
12136 Note: we hope we will be able to also bring another performance bump
12137 from culling with another iteration - hopefully in the 1.6 cycle - to
12138 avoid doing the culling in screen space and instead do it in the stage's
12139 model space. This will hopefully let us minimize the cost of
12140 transforming the actor volumes for culling.
12142 clutter/clutter-actor.c | 53 ++++++++++++++++++++++++++++++-
12143 clutter/clutter-debug.h | 3 +-
12144 clutter/clutter-main.c | 3 +-
12145 clutter/clutter-private.h | 6 +++-
12146 clutter/clutter-stage.c | 20 +++++++++++-
12147 clutter/egl/clutter-stage-egl.c | 2 +-
12148 clutter/fruity/clutter-backend-fruity.c | 2 +-
12149 clutter/glx/clutter-stage-glx.c | 4 +--
12150 clutter/osx/clutter-stage-osx.c | 2 +-
12151 clutter/win32/clutter-backend-win32.c | 2 +-
12152 10 files changed, 86 insertions(+), 11 deletions(-)
12154 commit ef8be9e25ebe77fc63055191cc48af53d731c108
12155 Author: Robert Bragg <robert@linux.intel.com>
12156 Date: Tue Sep 7 22:11:28 2010 +0100
12158 actor: Use paint volumes to always queue clipped redraws
12160 This makes clutter_actor_queue_redraw transparently use an actor's paint
12161 volume to queue a clipped redraw.
12163 We save the actors paint box each time it is painted so that when
12164 clutter_actor_queue_redraw is called we can determine the old and new
12165 location of the actor so we know the full bounds of what must be redrawn
12166 to clear its old view and show the new.
12168 clutter/clutter-actor.c | 75 +++++++++++++++++++++++++++++++++++++++++++++++
12169 1 file changed, 75 insertions(+)
12171 commit 13c4d7b95d4a9068322cf1d2b292d4bc98bbecfd
12172 Author: Robert Bragg <robert@linux.intel.com>
12173 Date: Tue Sep 7 21:43:50 2010 +0100
12175 actor: make _transform_and_project_box static
12177 This makes _clutter_actor_transform_and_project_box a static function
12178 and removes the prototype from clutter-private.h since it is no longer
12179 used outside clutter-actor.c
12181 clutter/clutter-actor.c | 2 +-
12182 clutter/clutter-private.h | 4 ----
12183 2 files changed, 1 insertion(+), 5 deletions(-)
12185 commit 120d7595e3128a233c1fdffd762327b5b74a54d1
12186 Author: Robert Bragg <robert@linux.intel.com>
12187 Date: Tue Sep 7 21:47:01 2010 +0100
12189 actor: _real_queue_relayout shouldn't queue redraw
12191 The base implementation for the actor queue_relayout method was queuing
12192 an implicit redraw, but there shouldn't be anything implied from the
12193 mere process of queuing a redraw that should force us to queue a redraw.
12194 If actors are moved as a part of relayouting later then they will queue
12195 a redraw. Also clutter_actor_queue_relayout() still also explicitly
12196 queues a redraw so I think this may have been doubly redundant.
12198 clutter/clutter-actor.c | 5 +----
12199 1 file changed, 1 insertion(+), 4 deletions(-)
12201 commit dc976922714ab74f37c69a9ea109ad4e145fce92
12202 Author: Robert Bragg <robert@linux.intel.com>
12203 Date: Tue Sep 7 21:56:33 2010 +0100
12205 actor: re-allocation implies need to redraw
12207 If clutter_actor_allocate finds it necessary to update an actors
12208 allocation then it now also queue a redraw of that actor. Currently we
12209 queue redraws for actors very early on when queuing a relayout instead
12210 of waiting to determine the final outcome of relayouting to determine if
12211 a redraw is really required. With this in place we can move away from
12212 preemptive queuing of redraws.
12214 clutter/clutter-actor.c | 18 +++++++++++++-----
12215 1 file changed, 13 insertions(+), 5 deletions(-)
12217 commit 267e458a433b819f98ca47557c0a899d8c4dd357
12218 Author: Robert Bragg <robert@linux.intel.com>
12219 Date: Tue Sep 7 20:29:01 2010 +0100
12221 actor: separate the queue redraw code
12223 clutter_actor_queue_relayout currently queues a relayout and a redraw,
12224 but the plan is to change it to only queue a relayout and honour the
12225 documentation by assuming that the process of relayouting will
12226 result queuing redraws for any actors whos allocation changes.
12228 This doesn't make that change it just adds an internal
12229 _clutter_actor_queue_only_relayout function which
12230 clutter_actor_queue_relayout now uses as well as calling
12231 clutter_actor_queue_redraw.
12233 clutter/clutter-actor.c | 38 ++++++++++++++++++++++++--------------
12234 1 file changed, 24 insertions(+), 14 deletions(-)
12236 commit 6d5f6449ddeb47a9bb814f675843d12ae9f7882e
12237 Author: Robert Bragg <robert@linux.intel.com>
12238 Date: Tue Sep 7 20:08:00 2010 +0100
12240 stage: make it possible to queue a relayout only
12242 This adds a private ->relayout_pending boolean similar in spirit to
12243 redraw_pending. This will allow us to queue a relayout without
12244 implicitly queueing a redraw; instead we can depend on the actions
12245 of a relayout to queue any necessary redraw.
12247 clutter/clutter-main.c | 44 -------------------------
12248 clutter/clutter-stage.c | 82 +++++++++++++++++++++++++++++++++++++++++------
12249 2 files changed, 73 insertions(+), 53 deletions(-)
12251 commit f8a6e36f1bd1989eaabca81db14dd8bad879fba7
12252 Author: Robert Bragg <robert@linux.intel.com>
12253 Date: Tue Sep 7 19:40:28 2010 +0100
12255 texture: Forward queue redraw/relayout for fbos
12257 When clutter_texture_new_from_actor is use we need to track when the
12258 source actor queues a redraw or a relayout so we can also queue a redraw
12259 or relayout for the texture actor.
12261 clutter/clutter-texture.c | 30 ++++++++++++++++++++++++++++++
12262 1 file changed, 30 insertions(+)
12264 commit 1ea7145efc46e246610a0db70cb71c57cdf55e2b
12265 Author: Robert Bragg <robert@linux.intel.com>
12266 Date: Tue Sep 7 19:31:27 2010 +0100
12268 Queue clipped redraws work in terms of paint volumes
12270 There is an internal _clutter_actor_queue_redraw_with_clip API that gets
12271 used for texture-from-pixmap to minimize what we redraw in response to
12272 Damage events. It was previously working in terms of a ClutterActorBox
12273 but it has now been changed so an actor can queue a redraw of volume
12276 The plan is that clutter_actor_queue_redraw will start to transparently
12277 use _clutter_actor_queue_redraw_with_clip when it can determine a paint
12278 volume for the actor.
12280 clutter/clutter-actor.c | 78 ++++++++++++++++++++----------
12281 clutter/clutter-actor.h | 19 --------
12282 clutter/clutter-private.h | 23 +++++++--
12283 clutter/clutter-stage.c | 57 +++++++++++-----------
12284 clutter/x11/clutter-x11-texture-pixmap.c | 20 +++++---
12285 5 files changed, 115 insertions(+), 82 deletions(-)
12287 commit f3bffe5cab61efceaaadc5ba81129860b7b5c1a6
12288 Author: Robert Bragg <robert@linux.intel.com>
12289 Date: Tue Sep 7 19:07:19 2010 +0100
12291 blur-effect: fix paint volume padding
12293 For the blur effect we use a BLUR_PADDING constant to pad out the volume
12294 of the source actor on the x and y axis. Previously we were offsetting
12295 the origin negatively using BLUR_PADDING and then adding BLUR_PADDING
12296 to the width and height, but we should have been adding 2*BLUR_PADDING
12299 clutter/clutter-blur-effect.c | 4 ++--
12300 1 file changed, 2 insertions(+), 2 deletions(-)
12302 commit f60703cb1da1158c7d263210ca198203293b9576
12303 Author: Robert Bragg <robert@linux.intel.com>
12304 Date: Tue Sep 7 23:07:52 2010 +0100
12306 debug: CLUTTER_DEBUG_REDRAWS: disable clipped redraws
12308 This ensures that clipped redraws are disabled when using
12309 CLUTTER_PAINT=redraws. This may seem unintuitive given that this option
12310 is for debugging clipped redraws, but we can't draw an outline outside
12311 the clip region and anything we draw inside the clip region is liable to
12312 leave a trailing mess on the screen since it won't be cleared up by
12313 later clipped redraws.
12315 clutter/clutter-main.c | 7 +++
12316 clutter/glx/clutter-stage-glx.c | 105 +++++++++++++++++++++++----------------
12317 2 files changed, 68 insertions(+), 44 deletions(-)
12319 commit 066220f983d4e27020c9b5340aa7d7bfaace9928
12320 Author: Robert Bragg <robert@linux.intel.com>
12321 Date: Tue Sep 7 18:50:29 2010 +0100
12323 paint volumes: CLUTTER_PAINT=paint-volumes debug option
12325 This adds a debug option to visualize the paint volumes of all actors.
12326 When CLUTTER_PAINT=paint-volumes is exported in the environment before
12327 running a Clutter application then all actors will have their bounding
12328 volume drawn in green with a label corresponding to the actors type.
12330 clutter/clutter-actor.c | 96 +++++++++++++++++++++++++++++++++++++++++++++++
12331 clutter/clutter-debug.h | 3 +-
12332 clutter/clutter-main.c | 7 +++-
12333 3 files changed, 104 insertions(+), 2 deletions(-)
12335 commit 3540d222e1ebba80bbe6cdfe32e97af052304d77
12336 Author: Robert Bragg <robert@linux.intel.com>
12337 Date: Tue Sep 7 18:04:19 2010 +0100
12339 paint volumes: another pass at the design
12341 This is a fairly extensive second pass at exposing paint volumes for
12344 The API has changed to allow clutter_actor_get_paint_volume to fail
12345 since there are times - such as when an actor isn't a descendent of the
12346 stage - when the volume can't be determined. Another example is when
12347 something has connected to the "paint" signal of the actor and we simply
12348 have no way of knowing what might be drawn in that handler.
12350 The API has also be changed to return a const ClutterPaintVolume pointer
12351 (transfer none) so we can avoid having to dynamically allocate the
12352 volumes in the most common/performance critical code paths. Profiling was
12353 showing the slice allocation of volumes taking about 1% of an apps time,
12354 for some fairly basic tests. Most volumes can now simply be allocated on
12355 the stack; for clutter_actor_get_paint_volume we return a pointer to
12356 &priv->paint_volume and if we need a more dynamic allocation there is
12357 now a _clutter_stage_paint_volume_stack_allocate() mechanism which lets
12358 us allocate data which expires at the start of the next frame.
12360 The API has been extended to make it easier to implement
12361 get_paint_volume for containers by using
12362 clutter_actor_get_transformed_paint_volume and
12363 clutter_paint_volume_union. The first allows you to query the paint
12364 volume of a child but transformed into parent actor coordinates. The
12365 second lets you combine volumes together so you can union all the
12366 volumes for a container's children and report that as the container's
12369 The representation of paint volumes has been updated to consider that
12370 2D actors are the most common.
12372 The effect apis, clutter-texture and clutter-group have been update
12375 clutter/clutter-actor.c | 920 ++++++++++++++++++++++++++-----
12376 clutter/clutter-actor.h | 10 +-
12377 clutter/clutter-blur-effect.c | 4 +-
12378 clutter/clutter-effect.c | 11 +-
12379 clutter/clutter-effect.h | 2 +-
12380 clutter/clutter-group.c | 25 +
12381 clutter/clutter-main.c | 2 +-
12382 clutter/clutter-offscreen-effect.c | 94 ++--
12383 clutter/clutter-private.h | 94 +++-
12384 clutter/clutter-stage.c | 47 ++
12385 clutter/clutter-texture.c | 109 +++-
12386 clutter/clutter-types.h | 18 +
12387 clutter/egl/clutter-stage-egl.c | 2 +-
12388 clutter/fruity/clutter-backend-fruity.c | 2 +-
12389 clutter/glx/clutter-stage-glx.c | 4 +-
12390 clutter/osx/clutter-stage-osx.c | 2 +-
12391 clutter/win32/clutter-backend-win32.c | 2 +-
12392 17 files changed, 1089 insertions(+), 259 deletions(-)
12394 commit 48a24a2e08d5978e538e31c8480fa3d7b9b0b291
12395 Author: Robert Bragg <robert@linux.intel.com>
12396 Date: Thu Aug 19 15:38:15 2010 +0100
12398 actor-box: Adds clutter_actor_box_union utility
12400 When using ClutterActorBoxs for representing clip regions it can be
12401 convenient to be able to union multiple boxes together.
12403 clutter/clutter-actor.c | 28 ++++++++++++++++++++++++++++
12404 clutter/clutter-types.h | 3 +++
12405 2 files changed, 31 insertions(+)
12407 commit 2da127dcff2c272e4d3b4ed5fc06919700fbc036
12408 Author: Robert Bragg <robert@linux.intel.com>
12409 Date: Thu Aug 19 15:26:19 2010 +0100
12411 texture: size fbos using clutter_actor_get_paint_box
12413 Previously we used the transformed allocation but that doesn't take
12414 into account actors with depth which may be projected outside the
12415 area covered by the transformed allocation.
12417 clutter/clutter-texture.c | 48 ++++++++++++++-------------------------------
12418 1 file changed, 15 insertions(+), 33 deletions(-)
12420 commit 044809edb89a736f2aa5ecba54972cdea6d724c4
12421 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12422 Date: Thu Aug 19 15:27:51 2010 +0100
12424 docs: Add PaintVolume to the API reference
12426 And document the various related functions.
12428 clutter/clutter-actor.c | 166 ++++++++++++++++++++++++++++
12429 doc/reference/clutter/clutter-sections.txt | 16 +++
12430 2 files changed, 182 insertions(+)
12432 commit a6e5ecebe3c7e593257a5c3d4dc052561d4147f9
12433 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12434 Date: Thu Aug 19 14:06:52 2010 +0100
12436 blur-effect: Add padding to account for the blur
12438 The blur effect will sample pixels on the edges of the offscreen buffer,
12439 so we want to add a padding to avoid clamping the blur.
12441 We do this by creating a larger target texture, and updating the paint
12442 volume of the actor during paint to take that padding into account.
12444 clutter/clutter-blur-effect.c | 35 +++++++++++++++++++++++++++++++++++
12445 1 file changed, 35 insertions(+)
12447 commit 5d97ca5f87a621b33129a675b5a4342c2b7a1dc7
12448 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12449 Date: Thu Aug 19 14:05:45 2010 +0100
12451 offscreen-effect: Use the paint box to size the FBO
12453 We should be using the real, on-screen, transformed size of the actor to
12454 size and position the offscreen buffer we use to paint the actor for an
12457 clutter/clutter-offscreen-effect.c | 45 +++++++++++++++---------------------
12458 1 file changed, 19 insertions(+), 26 deletions(-)
12460 commit 25abdf09b76fb594f8e64295a93aad241bcc3941
12461 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12462 Date: Mon Aug 16 17:02:15 2010 +0100
12464 effect: Allow any effect to override the paint volume
12466 An Effect implementation might override the paint volume of the actor to
12467 which it is applied to. The get_paint_volume() virtual function should
12468 be added to the Effect class vtable so that any effect can get the
12469 current paint volume and update it.
12471 The clutter_actor_get_paint_volume() function becomes context aware, and
12472 does the right thing if called from within a ClutterEffect pre_paint()
12473 or post_paint() implementation, by allowing all effects in the chain up
12474 to the caller to modify the paint volume.
12476 clutter/clutter-actor.c | 54 +++++++++++++++++++++++++++++++++++++++++++--
12477 clutter/clutter-effect.c | 17 ++++++++++++++
12478 clutter/clutter-effect.h | 9 ++++++--
12479 clutter/clutter-private.h | 6 +++--
12480 4 files changed, 80 insertions(+), 6 deletions(-)
12482 commit 94ce747f83b09c93351a06db233742f3b9255380
12483 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12484 Date: Mon Aug 16 15:53:28 2010 +0100
12486 actor: Allow querying the paint volume
12488 An actor has an implicit "paint volume", that is the volume in 3D space
12489 occupied when painting itself.
12491 The paint volume is defined as a cuboid with the origin placed at the
12492 top-left corner of the actor; the size of the cuboid is given by three
12493 vectors: width, height and depth.
12495 ClutterActor provides API to convert the paint volume into a 2D box in
12496 screen coordinates, to compute the on-screen area that an actor will
12497 occupy when painted.
12499 Actors can override the default implementation of the get_paint_volume()
12500 virtual function to provide a different volume.
12502 clutter/clutter-actor.c | 269 +++++++++++++++++++++++++++++++++++++++++++++
12503 clutter/clutter-actor.h | 8 +-
12504 clutter/clutter-private.h | 4 +
12505 clutter/clutter-types.h | 29 ++++-
12506 4 files changed, 305 insertions(+), 5 deletions(-)
12508 commit 8dd8fbdbdf940258ff6b5ce616534bf8f8fd356a
12509 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12510 Date: Mon Sep 13 11:30:30 2010 +0100
12512 build: Start moving to a non-recursive layout
12514 *** WARNING: THIS COMMIT CHANGES THE BUILD ***
12516 Do not recurse into the backend directories to build private, internal
12519 We only recurse from clutter/ into the cogl sub-directory; from there,
12520 we don't recurse any further. All the backend-specific code in Cogl and
12521 Clutter is compiled conditionally depending on the macros defined by the
12524 We still recurse from the top-level directory into doc, clutter and
12525 tests, because gtk-doc and tests do not deal nicely with non-recursive
12528 This change makes Clutter compile slightly faster, and cleans up the
12529 build system, especially when dealing with introspection data.
12531 Ideally, we also want to make Cogl part of the top-level build, so that
12532 we can finally drop the sed trick to change the shared library from the
12533 GIR before compiling it.
12535 Currently disabled:
12540 Currently enabled but untested:
12546 Makefile.am | 19 +-
12548 build/Makefile.am | 2 +-
12549 build/stringify.sh | 94 ++++
12550 clutter.pc.in | 21 -
12551 clutter/Makefile.am | 521 +++++++++++++------
12552 clutter/cally/Makefile.am | 80 ---
12553 clutter/cally/cally.pc.in | 9 +-
12554 clutter/clutter.pc.in | 21 +
12555 clutter/cogl/cogl/Makefile.am | 136 +++--
12556 clutter/cogl/cogl/cogl-context.h | 10 +-
12557 clutter/cogl/cogl/cogl-material-arbfp.c | 9 +-
12558 clutter/cogl/cogl/cogl-material-fixed.c | 9 +-
12559 clutter/cogl/cogl/cogl-material-glsl.c | 8 +-
12560 clutter/cogl/cogl/cogl-material-opengl.c | 9 +-
12561 clutter/cogl/cogl/driver/gl/Makefile.am | 34 --
12562 .../cogl/cogl/driver/gl/cogl-context-driver-gl.c | 39 ++
12563 .../cogl/cogl/driver/gl/cogl-context-driver-gl.h | 53 ++
12564 clutter/cogl/cogl/driver/gl/cogl-context-driver.c | 39 --
12565 clutter/cogl/cogl/driver/gl/cogl-context-driver.h | 53 --
12566 .../cogl/driver/gl/cogl-feature-functions-gl.h | 410 +++++++++++++++
12567 .../cogl/cogl/driver/gl/cogl-feature-functions.h | 410 ---------------
12568 clutter/cogl/cogl/driver/gl/cogl-gl.c | 237 +++++++++
12569 clutter/cogl/cogl/driver/gl/cogl-program-gl.c | 488 ++++++++++++++++++
12570 clutter/cogl/cogl/driver/gl/cogl-program-gl.h | 46 ++
12571 clutter/cogl/cogl/driver/gl/cogl-program.c | 488 ------------------
12572 clutter/cogl/cogl/driver/gl/cogl-program.h | 46 --
12573 .../cogl/cogl/driver/gl/cogl-texture-driver-gl.c | 522 ++++++++++++++++++++
12574 clutter/cogl/cogl/driver/gl/cogl-texture-driver.c | 522 --------------------
12575 clutter/cogl/cogl/driver/gl/cogl.c | 237 ---------
12576 clutter/cogl/cogl/driver/gles/Makefile.am | 57 ---
12577 .../cogl/driver/gles/cogl-context-driver-gles.c | 46 ++
12578 .../cogl/driver/gles/cogl-context-driver-gles.h | 56 +++
12579 .../cogl/cogl/driver/gles/cogl-context-driver.c | 46 --
12580 .../cogl/cogl/driver/gles/cogl-context-driver.h | 56 ---
12581 .../cogl/driver/gles/cogl-feature-functions-gles.h | 111 +++++
12582 .../cogl/cogl/driver/gles/cogl-feature-functions.h | 111 -----
12583 clutter/cogl/cogl/driver/gles/cogl-gles.c | 117 +++++
12584 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 1 -
12585 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.h | 2 +-
12586 clutter/cogl/cogl/driver/gles/cogl-program-gles.c | 437 ++++++++++++++++
12587 clutter/cogl/cogl/driver/gles/cogl-program-gles.h | 52 ++
12588 clutter/cogl/cogl/driver/gles/cogl-program.c | 437 ----------------
12589 clutter/cogl/cogl/driver/gles/cogl-program.h | 52 --
12590 .../cogl/driver/gles/cogl-texture-driver-gles.c | 504 +++++++++++++++++++
12591 .../cogl/cogl/driver/gles/cogl-texture-driver.c | 504 -------------------
12592 clutter/cogl/cogl/driver/gles/cogl.c | 117 -----
12593 clutter/cogl/cogl/driver/gles/stringify.sh | 94 ----
12594 clutter/egl/Makefile.am | 46 --
12595 clutter/glx/Makefile.am | 36 --
12596 clutter/json/Makefile.am | 39 --
12597 clutter/win32/Makefile.am | 38 --
12598 clutter/win32/clutter-win32.pc.in | 16 -
12599 clutter/x11/Makefile.am | 74 ---
12600 clutter/x11/clutter-backend-x11.c | 16 +-
12601 clutter/x11/clutter-x11-enum-types.c.in | 31 --
12602 clutter/x11/clutter-x11-enum-types.h.in | 26 -
12603 clutter/x11/clutter-x11.h | 1 -
12604 clutter/x11/clutter-x11.pc.in | 16 -
12605 configure.ac | 102 ++--
12606 61 files changed, 3798 insertions(+), 4023 deletions(-)
12608 commit 27aebb5c9d4a39e3f8e252b40cbf664d9981bbeb
12609 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12610 Date: Wed Sep 29 14:10:38 2010 +0100
12612 cally: Do not use deprecated functions
12614 The function g_strcasecmp() has been deprecated since GLib 2.2.
12616 clutter/cally/cally-actor.c | 5 ++++-
12617 1 file changed, 4 insertions(+), 1 deletion(-)
12619 commit e798047ca043fea204851ab22faf67a3222fa6d0
12620 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12621 Date: Wed Sep 29 11:44:46 2010 +0100
12623 animator: Code style fixes
12625 clutter/clutter-animator.c | 30 +++++++++++++++---------------
12626 1 file changed, 15 insertions(+), 15 deletions(-)
12628 commit 3fe10e0bb1a7d6d9ad1f28ab50d609d2a0af55fb
12629 Author: Stephen Kennedy <sk4425@googlemail.com>
12630 Date: Wed Sep 29 10:56:48 2010 +0100
12632 ClutterAnimator doesn't ref timeline properly
12634 ClutterAnimator currently has a number of bugs related to its
12635 referencing of its internal timeline.
12637 1) The default timeline created in _init is not unreffed (it appears the
12638 programmer has wrongly thought ClutterTimeline has a floating reference
12639 based on the use of g_object_ref_sink in _set_timeline)
12641 2) The timeline and slave_timeline vars are unreffed in finalize instead
12644 3) The signal handlers set up in _set_timeline are not disconnected when
12645 the animator is disposed
12647 http://bugzilla.clutter-project.org/show_bug.cgi?id=2347
12649 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
12651 clutter/clutter-animator.c | 23 ++++++++++++++++++-----
12652 1 file changed, 18 insertions(+), 5 deletions(-)
12654 commit d0cab85673a885b9aba317d282dd1bd5518fa241
12655 Author: Neil Roberts <neil@linux.intel.com>
12656 Date: Mon Sep 27 22:17:12 2010 +0100
12658 Add a conformance test for clutter_actor_contains
12660 This adds a conformance test for clutter_actor_contains to assert that
12661 it gets the expected results for the given tree of actors.
12663 tests/conform/test-actor-invariants.c | 66 +++++++++++++++++++++++++++++++++
12664 tests/conform/test-conform-main.c | 1 +
12665 2 files changed, 67 insertions(+)
12667 commit 306852075256906d268d5e0cb49957963f2e6a87
12668 Author: Neil Roberts <neil@linux.intel.com>
12669 Date: Mon Sep 27 17:51:01 2010 +0100
12671 Simplify the loop for clutter_actor_contains
12673 This reorganizes the loop for clutter_actor_contains so that it is a
12674 for loop rather than a while loop. Although this is mostly just
12675 nitpicking, I think this change could make the loop slightly faster if
12676 not optimized because it doesn't perform the self == descendant check
12677 twice and it is clearer.
12679 clutter/clutter-actor.c | 10 +++++++---
12680 1 file changed, 7 insertions(+), 3 deletions(-)
12682 commit 99adb88e9b2cddd65b4fd960444f26a5b52ce3c1
12683 Author: Neil Roberts <neil@linux.intel.com>
12684 Date: Mon Sep 27 17:47:38 2010 +0100
12686 Document what happens when self==descendant in clutter_actor_contains
12688 The documentation for clutter_actor_contains didn't specify what
12689 happens when self==descendant. A strict reading of it might lead you
12690 to think that it would return FALSE because in that case the
12691 descendant isn't an immediate child or a deeper descendant. The code
12692 actually would return TRUE. I think this is more useful so this patch
12693 fixes the docs rather than the code.
12695 clutter/clutter-actor.c | 3 ++-
12696 1 file changed, 2 insertions(+), 1 deletion(-)
12698 commit bba1424a444816f61865c5caffb17e56e0eb478b
12699 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12700 Date: Mon Sep 27 16:46:26 2010 +0100
12702 Post-branch version bump to 1.5.1
12704 configure.ac | 4 ++--
12705 1 file changed, 2 insertions(+), 2 deletions(-)
12707 commit 1971581dfa4c4ec1c37ed85f4087800fb28a2e20
12708 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12709 Date: Sun Sep 26 18:48:04 2010 +0100
12711 doap: Remove mallum from the maintainers list
12713 clutter.doap | 7 -------
12714 1 file changed, 7 deletions(-)
12716 commit 43e85836b48636fe1a5217cb5fce6517e07ed3d0
12717 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12718 Date: Sun Sep 26 16:52:58 2010 +0100
12720 actor: Dispose all constrains
12722 We are leaking the ClutterMetaGroup with all the constraints when
12723 disposing an Actor.
12725 clutter/clutter-actor.c | 6 ++++++
12726 1 file changed, 6 insertions(+)
12728 commit fda1f3a8ba053aaa98882788b6098acbf7875bd3
12729 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12730 Date: Sat Sep 25 20:23:41 2010 +0100
12732 json: Allow NULL as a value for strings, arrays and objects
12734 We should not warn when asking for a string, array or object if the
12735 contents were 'null'.
12737 Patch from JSON-GLib.
12739 clutter/json/json-array.c | 42 ++++++++++++++++++++++++++++++++---------
12740 clutter/json/json-object.c | 45 +++++++++++++++++++++++++++++++++++---------
12741 2 files changed, 69 insertions(+), 18 deletions(-)
12743 commit 8fe9f3a37db72dcb1dfdf0589135310a78b0174e
12744 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12745 Date: Fri Sep 24 16:21:06 2010 +0100
12747 test-clutter-units: Force a known resolution to avoid fuzzyness
12749 Instead of taking the current resolution, whatever it may be, use a
12750 known DPI. This should alleviate fuzzyness and create consistent
12753 tests/conform/test-clutter-units.c | 14 +++++++-------
12754 1 file changed, 7 insertions(+), 7 deletions(-)
12756 commit 51a4af92628287b491cd2539ce7bda0811976527
12757 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12758 Date: Fri Sep 24 15:25:15 2010 +0100
12760 Post-release version bump to 1.4.1
12762 configure.ac | 4 ++--
12763 1 file changed, 2 insertions(+), 2 deletions(-)