update to 1.10.4
[profile/ivi/clutter.git] / ChangeLog.pre-1.6
1 commit 01cbd47b19a57a70924c4cc4ecad52319a446b29
2 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3 Date:   Mon Jan 31 14:47:37 2011 +0000
4
5     Release Clutter 1.6.0
6
7  configure.ac |    4 ++--
8  1 file changed, 2 insertions(+), 2 deletions(-)
9
10 commit c060f086c5af655a52d7b2651abd76eb10394534
11 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12 Date:   Mon Jan 31 13:59:14 2011 +0000
13
14     docs: Update the NEWS file
15
16  NEWS |    4 +++-
17  1 file changed, 3 insertions(+), 1 deletion(-)
18
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
23
24     Merge remote branch 'elliot/cookbook-actors-composite'
25     
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
45
46 commit 5859efa34ff530a9452877a46cc120ca1d36a8e1
47 Author: Emmanuele Bassi <ebassi@linux.intel.com>
48 Date:   Mon Jan 31 13:50:37 2011 +0000
49
50     docs: Update NEWS file
51
52  NEWS |   11 ++++++++++-
53  1 file changed, 10 insertions(+), 1 deletion(-)
54
55 commit 2c1f8c9ad367035f7fd0d5177c60816440d916b2
56 Author: Emmanuele Bassi <ebassi@linux.intel.com>
57 Date:   Fri Jan 28 14:53:08 2011 +0000
58
59     osx: Add devices to event translation code
60     
61     Use a DeviceManager sub-class similar to the Win32 backend one, which
62     creates two InputDevices: a core pointer and a core keyboard.
63     
64     The event translation code then uses these two devices to fill out the
65     .device field of the events.
66     
67     Throw in enter/leave tracking, given that we need to update the device's
68     state.
69     
70     http://bugzilla.clutter-project.org/show_bug.cgi?id=2490
71
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(-)
79
80 commit 634e4ffd1a93d62c3875e02f5ba69085fa0b4bcf
81 Author: Viatcheslav Gachkaylo <vgachkaylo@crystalnix.com>
82 Date:   Fri Jan 28 12:56:57 2011 +0000
83
84     osx: Improve the event loop
85     
86     Implementation of event loop which works with GLib events, native OS X
87     events and Clutter events.
88     
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.
92     
93     The code has been tested with libsoup, which did not work before together
94     with Clutter.
95     
96     Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
97     
98     http://bugzilla.clutter-project.org/show_bug.cgi?id=2490
99
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(-)
107
108 commit 6680cebfe1f0ef697e16f6db26d1e7fb70d5e459
109 Author: Elliot Smith <elliot.smith@intel.com>
110 Date:   Mon Jan 31 13:40:10 2011 +0000
111
112     docs: Add reference to useful GObject tutorial
113     
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.
117
118  doc/cookbook/actors.xml |    4 +++-
119  1 file changed, 3 insertions(+), 1 deletion(-)
120
121 commit 885664f725aa3704c46db62e7b1fa951819fc22c
122 Author: Elliot Smith <elliot.smith@intel.com>
123 Date:   Mon Jan 31 13:39:11 2011 +0000
124
125     docs: Explain why destroy() is implemented
126     
127     As destroy() is Clutter-specific and not generic
128     GObject code, explain why we implement it
129     (rather than dispose()).
130
131  doc/cookbook/actors.xml |   25 +++++++++++++++++++++++++
132  1 file changed, 25 insertions(+)
133
134 commit 1558975bc38c87690f26bc54849459c4db581371
135 Author: Emmanuele Bassi <ebassi@linux.intel.com>
136 Date:   Mon Jan 31 13:37:32 2011 +0000
137
138     docs: Fix documentation for clutter_actor_pop_internal()
139     
140     http://bugzilla.clutter-project.org/show_bug.cgi?id=2534
141
142  clutter/clutter-actor.c |    2 +-
143  1 file changed, 1 insertion(+), 1 deletion(-)
144
145 commit e69d60e8b64bbe0811479dac96aee6009560be4e
146 Author: Elliot Smith <elliot.smith@intel.com>
147 Date:   Mon Jan 31 13:36:37 2011 +0000
148
149     docs: Implement destroy() rather than dispose()
150     
151     Remove the dispose() implementation and replace
152     with destroy().
153     
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.
157
158  doc/cookbook/examples/cb-button.c |   61 +++++++++++++++++++------------------
159  1 file changed, 31 insertions(+), 30 deletions(-)
160
161 commit 9753cd4a59f3849090bf8cee247fafd806729826
162 Author: Emmanuele Bassi <ebassi@linux.intel.com>
163 Date:   Mon Jan 31 13:04:49 2011 +0000
164
165     docs: Update Cogl release notes for 1.6
166
167  README |   23 +++++++++++++++++++++++
168  1 file changed, 23 insertions(+)
169
170 commit f954b8e1bb309d4f9487edb558f4280c772cffb5
171 Author: Emmanuele Bassi <ebassi@linux.intel.com>
172 Date:   Mon Jan 31 13:04:35 2011 +0000
173
174     Update the NEWS file
175
176  NEWS |   35 +++++++++++++++++++++++++++++++++++
177  1 file changed, 35 insertions(+)
178
179 commit ef36d7cbccbd9225f2a16328522c1cbf3d0befd0
180 Author: Emmanuele Bassi <ebassi@linux.intel.com>
181 Date:   Mon Jan 31 12:51:14 2011 +0000
182
183     docs: Update the documentation for clutter_actor_unparent()
184     
185     Make sure that we document the semantics of unparent() and who should
186     call it.
187
188  clutter/clutter-actor.c |    8 +++++---
189  1 file changed, 5 insertions(+), 3 deletions(-)
190
191 commit e32253508de412c3d91c55e73e099ddcc38e1082
192 Author: Emmanuele Bassi <ebassi@linux.intel.com>
193 Date:   Mon Jan 31 12:50:25 2011 +0000
194
195     docs: Update documentation for ::destroy
196     
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.
199
200  clutter/clutter-actor.c |   19 +++++++++++++++----
201  1 file changed, 15 insertions(+), 4 deletions(-)
202
203 commit e0580127f8f3510c2a8b4d2906c66835ac7bc5a5
204 Author: Emmanuele Bassi <ebassi@linux.intel.com>
205 Date:   Mon Jan 31 12:28:03 2011 +0000
206
207     docs: Update release notes for 1.6
208
209  README |   90 +++++++++++++++++++++++++++++++++++++++++++++++-----------------
210  1 file changed, 67 insertions(+), 23 deletions(-)
211
212 commit f63158c2a2c27e7d4a264caf994f799a38fb6398
213 Author: Elliot Smith <elliot.smith@intel.com>
214 Date:   Mon Jan 31 12:18:58 2011 +0000
215
216     docs: Don't use clutter_stage_get_default()
217     
218     clutter_stage_get_new() is the recommended way to
219     get a stage instance, so use that instead.
220
221  doc/cookbook/examples/actors-composite-main.c |    2 +-
222  1 file changed, 1 insertion(+), 1 deletion(-)
223
224 commit 3f64137a7937498ea4982edf9c1fb133fe9321e4
225 Author: Elliot Smith <elliot.smith@intel.com>
226 Date:   Mon Jan 31 11:06:01 2011 +0000
227
228     docs: Change text on button
229     
230     Modify the text shown on the button to "hello / world"
231     rather than "winkle / pickers". Slightly more
232     sensible.
233
234  doc/cookbook/examples/actors-composite-main.c |    8 ++++----
235  1 file changed, 4 insertions(+), 4 deletions(-)
236
237 commit 5530c5e2ec9605722e7f65b60b73e8fe396e6c39
238 Author: Elliot Smith <elliot.smith@intel.com>
239 Date:   Mon Jan 31 11:05:27 2011 +0000
240
241     docs: Add a note about other state variables
242     
243     Explain that the private structure would be the
244     place to store other state variables for the instance.
245
246  doc/cookbook/examples/cb-button.c |    4 ++++
247  1 file changed, 4 insertions(+)
248
249 commit 08f5dc08d0e11e2f03b3a9c8889222a584cbe0e7
250 Author: Elliot Smith <elliot.smith@intel.com>
251 Date:   Mon Jan 31 10:53:52 2011 +0000
252
253     docs: Complete composite actor recipe
254     
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.
258     
259     Also explain more about the Clutter parts of the implementation.
260     
261     Also general tidy up of language and style.
262
263  doc/cookbook/actors.xml |  220 ++++++++++++++++++++++++++++++++++++-----------
264  1 file changed, 170 insertions(+), 50 deletions(-)
265
266 commit 238fd52c4b0660ac61b3ae125f3eef8f71b0f6b0
267 Author: Elliot Smith <elliot.smith@intel.com>
268 Date:   Fri Jan 28 17:09:24 2011 +0000
269
270     docs: Change order of functions in example to match docs
271     
272     Moved the functions around in the C code file, to match
273     the order Clutter uses them, and the order they are explained
274     in the recipe.
275
276  doc/cookbook/examples/cb-button.c |   99 +++++++++++++++++--------------------
277  1 file changed, 44 insertions(+), 55 deletions(-)
278
279 commit 6934b3645164b5e2a4d4c3da5ed99fe93bb9a95d
280 Author: Elliot Smith <elliot.smith@intel.com>
281 Date:   Fri Jan 28 16:43:22 2011 +0000
282
283     docs: Add more comments on how allocate() works
284     
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.
289
290  doc/cookbook/examples/cb-button.c |    9 ++++++++-
291  1 file changed, 8 insertions(+), 1 deletion(-)
292
293 commit 00deb59a9daa45558753810fcc18c738f61b0a6e
294 Author: Elliot Smith <elliot.smith@intel.com>
295 Date:   Fri Jan 28 11:49:08 2011 +0000
296
297     docs: Include code examples in the recipe
298     
299     Include all the code examples inline as part of the recipe.
300     
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.
304
305  doc/cookbook/actors.xml |  103 ++++++++++++++++-------------------------------
306  1 file changed, 34 insertions(+), 69 deletions(-)
307
308 commit 5f676ce3253f4e6f5ac07a1c1099d17e8384d5ee
309 Author: Elliot Smith <elliot.smith@intel.com>
310 Date:   Fri Jan 28 11:39:26 2011 +0000
311
312     docs: Explain enums for properties and signals
313     
314     Add some more explanatory comments about the PROP_ and
315     signals enums.
316
317  doc/cookbook/examples/cb-button.c |   18 ++++++++++++------
318  1 file changed, 12 insertions(+), 6 deletions(-)
319
320 commit 18b90f100c259db2e5ef19874277b3d5d50791f0
321 Author: Elliot Smith <elliot.smith@intel.com>
322 Date:   Fri Jan 28 11:36:20 2011 +0000
323
324     docs: Don't set explicit size on button
325     
326     Rather than set a size on the CbButton instance, let it
327     size itself automatically, based on the size requisition
328     functions.
329
330  doc/cookbook/examples/actors-composite-main.c |    2 +-
331  1 file changed, 1 insertion(+), 1 deletion(-)
332
333 commit 951f13bb8dc2ead8fe3fd3a6f2fede2618c57a19
334 Author: Elliot Smith <elliot.smith@intel.com>
335 Date:   Fri Jan 28 11:35:14 2011 +0000
336
337     docs: Add example of preferred_height() and preferred_width()
338     
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.
342
343  doc/cookbook/examples/cb-button.c |   67 +++++++++++++++++++++++++++++++++++--
344  1 file changed, 64 insertions(+), 3 deletions(-)
345
346 commit 2adc224f0e701648ff0f08ed80317f4b3d4109df
347 Author: Elliot Smith <elliot.smith@intel.com>
348 Date:   Wed Jan 26 11:22:07 2011 +0000
349
350     docs: Add recipe for creating a custom ClutterActor with composition
351
352  doc/cookbook/actors.xml |  190 ++++++++++++++++++++++++++++++++++++++++++++++-
353  1 file changed, 189 insertions(+), 1 deletion(-)
354
355 commit 7059be499ab8c31bcc9825f823587d05410f186a
356 Author: Elliot Smith <elliot.smith@intel.com>
357 Date:   Fri Jan 28 11:13:47 2011 +0000
358
359     docs: Add more comments on code example for composite actor
360     
361     Add more comments about the specific purpose of functions
362     and variables in the composite actor example, particularly
363     around GObject implementation.
364
365  doc/cookbook/examples/cb-button.c |   69 ++++++++++++++++++++++++++++++++-----
366  doc/cookbook/examples/cb-button.h |   11 ++++++
367  2 files changed, 72 insertions(+), 8 deletions(-)
368
369 commit b3954878c2827e78c0d800a038d6ae5cb515a136
370 Author: Elliot Smith <elliot.smith@intel.com>
371 Date:   Wed Jan 26 11:18:23 2011 +0000
372
373     docs: Improve example code formatting
374     
375     Improve code formatting to adhere to Clutter uncrustify rules.
376
377  doc/cookbook/examples/cb-button.c |   16 +++++++---------
378  doc/cookbook/examples/cb-button.h |   29 +++++++++++++++--------------
379  2 files changed, 22 insertions(+), 23 deletions(-)
380
381 commit 7b9eaeeadbf6ff10b4e467d13a873685a613ba37
382 Author: Elliot Smith <elliot.smith@intel.com>
383 Date:   Tue Jan 25 11:36:13 2011 +0000
384
385     docs: Add some gtk-doc annotations to example
386     
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.
390
391  doc/cookbook/examples/cb-button.c |   65 +++++++++++++++++++++++++++++++------
392  1 file changed, 55 insertions(+), 10 deletions(-)
393
394 commit 8a5967f0cc4ca2ce2b4e8869f4a0ec3bdee07912
395 Author: Elliot Smith <elliot.smith@intel.com>
396 Date:   Fri Jan 21 16:43:03 2011 +0000
397
398     docs: Add custom ClutterActor example which uses composition
399
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(+)
405
406 commit b820e3940681e4a08ec4985bb13c7f53faf657d4
407 Author: Emmanuele Bassi <ebassi@linux.intel.com>
408 Date:   Sun Jan 30 23:00:00 2011 +0000
409
410     text: Bind BackSpace + Shift as BackSpace
411     
412     Follow this old GTK+ bug:
413     
414       https://bugzilla.gnome.org/show_bug.cgi?id=80302
415     
416     and ignore the Shift mask.
417
418  clutter/clutter-text.c |    4 ++++
419  1 file changed, 4 insertions(+)
420
421 commit 9be4cfe8a9eef6a7a15c7100731a199f9348e73b
422 Author: Emmanuele Bassi <ebassi@linux.intel.com>
423 Date:   Fri Jan 28 18:05:06 2011 +0000
424
425     x11/stage: Use a global Window ↔ Stage relationship
426     
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.
431
432  clutter/glx/clutter-backend-glx.c |    7 ++++--
433  clutter/x11/clutter-stage-x11.c   |   49 ++++++++++++++++++++++++-------------
434  2 files changed, 37 insertions(+), 19 deletions(-)
435
436 commit f4508be4ab18f741bea12ea993c635fa9d632de2
437 Author: Emmanuele Bassi <ebassi@linux.intel.com>
438 Date:   Fri Jan 28 17:25:43 2011 +0000
439
440     win32: Small clean ups in the event code
441     
442     Use clutter_event_set_device() instead of setting the device field.
443     
444     Also, use G_N_ELEMENTS() to determine the size of the key symbols
445     mapping array.
446
447  clutter/win32/clutter-event-win32.c |   31 ++++++++++++++++++++-----------
448  1 file changed, 20 insertions(+), 11 deletions(-)
449
450 commit 82d1e5a6ee081cf462999ea04fbd51cdb91f70c9
451 Author: Emmanuele Bassi <ebassi@linux.intel.com>
452 Date:   Thu Jan 27 17:26:16 2011 +0000
453
454     Clean up crossing event synthesis code
455     
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.
461     
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.
465     
466     The x11 and win32 backends need to be modified to relay the enter and
467     leave events from the windowing system.
468
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(-)
480
481 commit b3784bd2b4c9aeac809cca70681bc248123133f8
482 Author: Emmanuele Bassi <ebassi@linux.intel.com>
483 Date:   Thu Jan 27 17:21:08 2011 +0000
484
485     event: Add a setter for the device field
486     
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.
490     
491     Clutter should also store the device pointer inside the private
492     data, for faster access of the pointer in allocated events.
493     
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.
497
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(-)
502
503 commit 3502f326b21856ed7720c8541aa4eb3990517a6f
504 Author: Emmanuele Bassi <ebassi@linux.intel.com>
505 Date:   Wed Jan 26 12:44:03 2011 +0000
506
507     x11/stage: Remove redundant line location
508     
509     The CLUTTER_NOTE() macro already adds the line location; adding another
510     will just clutter up the log.
511
512  clutter/x11/clutter-stage-x11.c |    3 +--
513  1 file changed, 1 insertion(+), 2 deletions(-)
514
515 commit acf51259d2057b412d1d32fa8246fd14c9ddb66f
516 Author: Emmanuele Bassi <ebassi@linux.intel.com>
517 Date:   Wed Jan 26 11:58:08 2011 +0000
518
519     x11: Store a back pointer to the backend in the stage
520     
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:
524     
525       ClutterBackend *backend = clutter_get_default_backend ();
526       ClutterBackendX11 *backend_x11 = CLUTTER_BACKEND_X11 (backend);
527     
528     which costs us a function call, a type cast and an unused variable.
529
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(-)
535
536 commit 1d7e2233130b3041cc204fed326087c3a2bc9867
537 Author: Neil Roberts <neil@linux.intel.com>
538 Date:   Fri Jan 28 18:11:38 2011 +0000
539
540     test-path: Fix the test when running against latest Cairo versions
541     
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.
546
547  tests/conform/test-path.c |   18 ++++++++++++------
548  1 file changed, 12 insertions(+), 6 deletions(-)
549
550 commit e7519a149beb78b92ab8e5b2d315fbab3102dbc2
551 Author: Neil Roberts <neil@linux.intel.com>
552 Date:   Tue Jan 25 15:53:35 2011 +0000
553
554     clutter-stage-x11: Don't ensure the viewport when the window moves
555     
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.
561     
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
564     for size changes.
565
566  clutter/x11/clutter-stage-x11.c |  134 ++++++++++++++++++++-------------------
567  1 file changed, 69 insertions(+), 65 deletions(-)
568
569 commit dc6f6d6445a1fb9090ce63947218578b969c8718
570 Author: Rob Bradford <rob@linux.intel.com>
571 Date:   Mon Jan 24 18:41:49 2011 +0000
572
573     animator: Only free the animator key when we've finished with it
574     
575     Fixes: http://bugzilla.clutter-project.org/show_bug.cgi?id=2530
576
577  clutter/clutter-animator.c |    3 ++-
578  1 file changed, 2 insertions(+), 1 deletion(-)
579
580 commit 5593792a40850b6a8f96afa91745115191a45c67
581 Author: Emmanuele Bassi <ebassi@linux.intel.com>
582 Date:   Wed Jan 26 10:32:42 2011 +0000
583
584     Include stdint.h when using uint32_t
585     
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.
589
590  clutter/x11/clutter-device-manager-xi2.c |    8 +++++---
591  1 file changed, 5 insertions(+), 3 deletions(-)
592
593 commit 5329c986947d08fd724585d8eac61f8e0b0553b5
594 Author: Emmanuele Bassi <ebassi@linux.intel.com>
595 Date:   Tue Jan 25 11:10:29 2011 +0000
596
597     bind-constraint: Add BIND_POSITION and BIND_SIZE
598     
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.
602
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(-)
608
609 commit 4f53653bf9f2d4ea30ee77e686b4799d8e356c99
610 Author: Emmanuele Bassi <ebassi@linux.intel.com>
611 Date:   Tue Jan 25 11:00:20 2011 +0000
612
613     x11: Remove more private symbols
614     
615     Some private functions escaped my wrath in commit
616     a277b4091a3fa09a39cf001809c3048eb27f3952.
617     
618     Thanks to: Emilio Pozuelo Monfort on #clutter
619
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(-)
624
625 commit 32486fe995911256a76673bf62609312893281be
626 Author: Robert Bragg <robert@linux.intel.com>
627 Date:   Mon Jan 24 18:42:28 2011 +0000
628
629     pipeline: fix for _init_multi_property_sparse_state
630     
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.
637
638  clutter/cogl/cogl/cogl-pipeline.c |   27 ++++++++++++++-------------
639  1 file changed, 14 insertions(+), 13 deletions(-)
640
641 commit bca39776d3080c180cdcf6698a54ee2c25bb5383
642 Author: Robert Bragg <robert@linux.intel.com>
643 Date:   Fri Jan 21 19:05:23 2011 +0000
644
645     framebuffer: flush journal when switching framebuffers
646     
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.
651     
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.
663     
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.
673
674  clutter/cogl/cogl/cogl-framebuffer.c |   26 ++++++++++++++++++++++----
675  1 file changed, 22 insertions(+), 4 deletions(-)
676
677 commit 4609770bb9faa4dc74ddd0f25e099ff46b91e258
678 Author: Neil Roberts <neil@linux.intel.com>
679 Date:   Mon Jan 24 17:32:06 2011 +0000
680
681     cogl-clip-stack: Fix flushing multiple stencil rectangles
682     
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
688     wrong place.
689
690  clutter/cogl/cogl/cogl-clip-stack.c |   16 ++++++++--------
691  1 file changed, 8 insertions(+), 8 deletions(-)
692
693 commit 6102f802449d22d543621532b543d6879fdb1925
694 Author: Neil Roberts <neil@linux.intel.com>
695 Date:   Mon Jan 24 17:17:16 2011 +0000
696
697     test-clip: Replace the ellipse with a rotated rectangle
698     
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.
706
707  tests/interactive/test-clip.c |   41 ++++++++++++++++++++++++++++++++++-------
708  1 file changed, 34 insertions(+), 7 deletions(-)
709
710 commit 5137d0a23f19ce461f178596b687479bd62d8522
711 Author: Neil Roberts <neil@linux.intel.com>
712 Date:   Mon Jan 24 16:36:56 2011 +0000
713
714     cogl-debug: Add a debug option for tracing clipping
715     
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.
719
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(-)
726
727 commit 35a2d79e462c2d27e462f0e614c475cce17b883b
728 Author: Neil Roberts <neil@linux.intel.com>
729 Date:   Mon Jan 24 14:28:00 2011 +0000
730
731     cogl-debug: Split the flags to support more than 32
732     
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
740     code.
741
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(-)
759
760 commit 67fdb5c9f8494117e3d763693041be3ace8168f4
761 Author: Neil Roberts <neil@linux.intel.com>
762 Date:   Fri Jan 14 11:11:44 2011 +0000
763
764     cogl-pipeline: Flush the lighting params in common code not vertend
765     
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
773     case.
774
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(-)
778
779 commit e778018d0d3247a64a7de64f0937a1335a22b56e
780 Author: Neil Roberts <neil@linux.intel.com>
781 Date:   Thu Jan 13 18:24:22 2011 +0000
782
783     cogl-pipeline-progend-glsl: Generalize updating GLES2 uniforms
784     
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.
793
794  clutter/cogl/cogl/cogl-pipeline-progend-glsl.c |  134 ++++++++++++++----------
795  1 file changed, 77 insertions(+), 57 deletions(-)
796
797 commit 9ff04e8a998af90891996fe8c2a4439e5736e4f4
798 Author: Neil Roberts <neil@linux.intel.com>
799 Date:   Wed Jan 12 13:47:55 2011 +0000
800
801     cogl-shader-boilerplate: Move the uniforms to the common code
802     
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.
809
810  clutter/cogl/cogl/cogl-shader-boilerplate.h |   31 +++++++++++++++------------
811  1 file changed, 17 insertions(+), 14 deletions(-)
812
813 commit e8d5be0ba79eef766fff723012c5d1994da84b4c
814 Author: Neil Roberts <neil@linux.intel.com>
815 Date:   Mon Jan 24 11:49:04 2011 +0000
816
817     ClutterTimeline: Fix the 'msecs' parameter for the new-frame signal
818     
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'.
825
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(-)
830
831 commit 5c0aaf50a7b3d1914d4580d5f853faa9a4b10f73
832 Author: Neil Roberts <neil@linux.intel.com>
833 Date:   Mon Jan 24 11:29:59 2011 +0000
834
835     clutter-timeline: Emit the new-frame signal even on the first frame
836     
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
844     paint.
845
846  clutter/clutter-timeline.c |    2 ++
847  1 file changed, 2 insertions(+)
848
849 commit b917285e24a355d38678b4a1cdce9e572ac34c14
850 Author: Emmanuele Bassi <ebassi@linux.intel.com>
851 Date:   Mon Jan 24 10:51:06 2011 +0000
852
853     Post-release version bump to 1.5.15
854
855  configure.ac       |    2 +-
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(-)
864
865 commit 3e05d2df8de5ded545393994aff29ef9a8f7a0c5
866 Author: Emmanuele Bassi <ebassi@linux.intel.com>
867 Date:   Mon Jan 24 10:23:36 2011 +0000
868
869     Release Clutter 1.5.14 (1.6.0rc1)
870
871  NEWS         |   42 ++++++++++++++++++++++++++++++++++--------
872  configure.ac |    2 +-
873  2 files changed, 35 insertions(+), 9 deletions(-)
874
875 commit 79b936aa4a829ffd5b5677da228425c4e0c46623
876 Author: Emmanuele Bassi <ebassi@linux.intel.com>
877 Date:   Fri Jan 21 20:46:09 2011 +0000
878
879     Update the NEWS file
880
881  NEWS |   21 +++++++++++++++++++++
882  1 file changed, 21 insertions(+)
883
884 commit 6bffd407fd4f4d4d5b5c5f5ef6d9b43c44b7fe03
885 Author: Bastian Winkler <buz@netbuz.org>
886 Date:   Fri Jan 21 14:50:44 2011 +0100
887
888     model: Add support to define rows in ClutterScript
889     
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.
893     
894     http://bugzilla.clutter-project.org/show_bug.cgi?id=2528
895
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(-)
900
901 commit 95b3a718ef5c08f058e2bf0e3e56df390408821f
902 Author: Bastian Winkler <buz@netbuz.org>
903 Date:   Wed Jan 12 13:09:52 2011 +0100
904
905     script-parser: Allow initialized GValue arg in clutter_script_parse_node
906     
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.
910     
911     http://bugzilla.clutter-project.org/show_bug.cgi?id=2528
912
913  clutter/clutter-script-parser.c |   23 +++++++++++++++--------
914  1 file changed, 15 insertions(+), 8 deletions(-)
915
916 commit 8e1c1909f80b4513154a3dfd8980160f94ec036f
917 Author: Bastian Winkler <buz@netbuz.org>
918 Date:   Wed Jan 12 12:54:43 2011 +0100
919
920     model: Change the column argument type to gint for clutter_model_set_sort
921     
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
924     sorting function.
925     
926     http://bugzilla.clutter-project.org/show_bug.cgi?id=2527
927
928  clutter/clutter-model.c |    2 +-
929  clutter/clutter-model.h |    2 +-
930  2 files changed, 2 insertions(+), 2 deletions(-)
931
932 commit 8a6986089b79f9d6cbb7012d12087d2d2e42526c
933 Author: Bastian Winkler <buz@netbuz.org>
934 Date:   Sat Jan 22 12:51:31 2011 +0100
935
936     model: Fix some GObject-Introspection annotations
937     
938     http://bugzilla.clutter-project.org/show_bug.cgi?id=2526
939
940  clutter/clutter-model.c |    6 +++---
941  1 file changed, 3 insertions(+), 3 deletions(-)
942
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
947
948     Merge branch 'xi2'
949     
950     * xi2: (41 commits)
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
971       ...
972
973 commit 8a5867799c5809854dfac9c2b7e704bcc6e9455b
974 Author: Robert Bragg <robert@linux.intel.com>
975 Date:   Fri Jan 21 18:43:35 2011 +0000
976
977     cogl: call _cogl_texture_init for x11 tfp
978     
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.
983
984  clutter/cogl/cogl/winsys/cogl-texture-pixmap-x11.c |    2 +-
985  1 file changed, 1 insertion(+), 1 deletion(-)
986
987 commit 1973168bbaa133215df73eaeeef25c6dcc0d6a07
988 Author: Robert Bragg <robert@linux.intel.com>
989 Date:   Fri Jan 21 17:38:14 2011 +0000
990
991     journal: start uprof flush timer after flushing fb deps
992     
993     This avoids us recursively starting the _cogl_journal_flush uprof timer
994     by only starting it after flushing the journals of dependency
995     framebuffers.
996
997  clutter/cogl/cogl/cogl-journal.c |    6 ++++--
998  1 file changed, 4 insertions(+), 2 deletions(-)
999
1000 commit f9d4846d6acc493b9fd52d627a82a0302d507a17
1001 Author: Robert Bragg <robert@linux.intel.com>
1002 Date:   Fri Jan 21 17:28:34 2011 +0000
1003
1004     cogl: make sure to init ctx->framebuffers
1005     
1006     This makes sure to initialize ctx->framebuffers to NULL otherwise we can
1007     get apps crashing when they create their first framebuffer.
1008
1009  clutter/cogl/cogl/cogl-context.c |    2 ++
1010  1 file changed, 2 insertions(+)
1011
1012 commit 326c51630492ab13a2e584f9efb0dc5673966c0e
1013 Author: Robert Bragg <robert@linux.intel.com>
1014 Date:   Thu Jan 20 19:31:53 2011 +0000
1015
1016     cogl: rename CoglVertexAttribute CoglAttribute
1017     
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.
1023
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(-)
1048
1049 commit c4bafb48b6e4a3b35a13252e5ade500c01c4a392
1050 Author: Robert Bragg <robert@linux.intel.com>
1051 Date:   Thu Jan 20 18:51:24 2011 +0000
1052
1053     docs: Adds bitmap section to cogl reference manual
1054     
1055     This adds an include for the cogl-bitmap section to cogl-docs.xml.in
1056
1057  doc/reference/cogl/cogl-docs.xml.in |    1 +
1058  1 file changed, 1 insertion(+)
1059
1060 commit b3775a75640ae2be0cef489c69d7e4213f170cb9
1061 Author: Robert Bragg <robert@linux.intel.com>
1062 Date:   Thu Jan 20 12:29:49 2011 +0000
1063
1064     cogl: s/Cogl*Vertex/CoglVertex*/
1065     
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
1071     style.
1072
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(-)
1078
1079 commit 3f9e8591671d0c81d5d4034f0895bca3f98cb4c0
1080 Author: Robert Bragg <robert@linux.intel.com>
1081 Date:   Thu Jan 20 18:30:55 2011 +0000
1082
1083     test-picking: Don't manually paint the stage
1084     
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.
1088     
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.
1092
1093  tests/micro-bench/test-picking.c |   38 +++++++++++++++-----------------------
1094  1 file changed, 15 insertions(+), 23 deletions(-)
1095
1096 commit 9a663d8e4106e43f8f214b7fdded555ee408cf28
1097 Author: Robert Bragg <robert@linux.intel.com>
1098 Date:   Thu Jan 20 14:41:51 2011 +0000
1099
1100     debug: Adds a COGL_DEBUG=disable-fast-read-pixel option
1101     
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.
1107
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(-)
1114
1115 commit 1bdb0e6e98db719c8652c85fc234c21437ad071a
1116 Author: Robert Bragg <robert@linux.intel.com>
1117 Date:   Wed Jan 12 22:12:41 2011 +0000
1118
1119     cogl: Implements a software only read-pixel fast-path
1120     
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
1124     journal.
1125     
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.
1132     
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.
1137     
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.
1146     
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.
1151     
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.
1157
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(-)
1166
1167 commit e289e85397cb52f421e64e253e1af2628909f424
1168 Author: Robert Bragg <robert@linux.intel.com>
1169 Date:   Tue Jan 18 16:37:01 2011 +0000
1170
1171     matrix: fix transform/project_points() APIs
1172     
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
1180     transforming.
1181
1182  clutter/cogl/cogl/cogl-matrix.c |  136 +++++++++++++++++++--------------------
1183  1 file changed, 68 insertions(+), 68 deletions(-)
1184
1185 commit 23ed01d4e933da803bb7bbe4d0439de0824532c1
1186 Author: Robert Bragg <robert@linux.intel.com>
1187 Date:   Thu Jan 13 14:29:46 2011 +0000
1188
1189     cogl: Adds _cogl_util_point_in_polygon API
1190     
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.
1197
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(+)
1202
1203 commit 142b229c5c2684f94af32358d1401b61aa3019aa
1204 Author: Robert Bragg <robert@linux.intel.com>
1205 Date:   Wed Jan 12 22:06:58 2011 +0000
1206
1207     cogl: Adds _cogl_swap_buffers_notify for clutter backends
1208     
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.
1215     
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.
1219
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(-)
1231
1232 commit e150f474b3e9e58565dc894b4ae9234406d90675
1233 Author: Robert Bragg <robert@linux.intel.com>
1234 Date:   Wed Jan 12 19:30:30 2011 +0000
1235
1236     clip: rename get_clip_stack + add framebuffer_get_stack
1237     
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
1241     CoglClipState.
1242     
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.
1247
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(-)
1254
1255 commit 179dc9b7d1d9d14227c7f4eef241faf2d1affda0
1256 Author: Robert Bragg <robert@linux.intel.com>
1257 Date:   Wed Jan 12 19:13:45 2011 +0000
1258
1259     clip-stack: Adds _cogl_clip_stack_get_bounds API
1260     
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
1263     CoglClipStack.
1264     
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
1267     stack.
1268     
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()
1272
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(-)
1276
1277 commit f834596fd42b26d471a80cfec08c0d6e8c53f39a
1278 Author: Robert Bragg <robert@linux.intel.com>
1279 Date:   Thu Jan 6 13:25:45 2011 +0000
1280
1281     journal: Support per-framebuffer journals
1282     
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
1288     batched.
1289     
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.
1295
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(-)
1318
1319 commit 385e0f84c6179a30f9031aba974131e1cf3e6a4e
1320 Author: Robert Bragg <robert@linux.intel.com>
1321 Date:   Wed Jan 12 20:37:53 2011 +0000
1322
1323     cogl-object: Adds an internal _cogl_object_set_user_data
1324     
1325     This adds an internal alternative to cogl_object_set_user_data that also
1326     passes an instance pointer to destroy notify callbacks.
1327     
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.
1335     
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.
1339
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(-)
1343
1344 commit 131578c13aeeb53d99d7c63a0b2ddaded23524fc
1345 Author: Robert Bragg <robert@linux.intel.com>
1346 Date:   Wed Jan 5 15:30:04 2011 +0000
1347
1348     framebuffer: Move clear code to cogl-framebuffer.c
1349     
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.
1357     
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.)
1363
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(-)
1369
1370 commit b7d26b2d02729b2d5eeb1650ca4e89a723afc1c7
1371 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1372 Date:   Fri Jan 21 15:27:56 2011 +0000
1373
1374     test-devices: Actually print the axis data
1375     
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.
1378
1379  tests/interactive/test-devices.c |   31 ++++++++++++++++---------------
1380  1 file changed, 16 insertions(+), 15 deletions(-)
1381
1382 commit e46571d63911df23cb25fb0b3fcfe5e86f50d81b
1383 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1384 Date:   Fri Jan 21 15:26:52 2011 +0000
1385
1386     device-manager/xi2: Sync the stage of source devices
1387     
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.
1390
1391  clutter/x11/clutter-device-manager-xi2.c |   51 ++++++++++++++++++++----------
1392  1 file changed, 34 insertions(+), 17 deletions(-)
1393
1394 commit 516366d7691128e9f2138781bcc144cd628b110f
1395 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1396 Date:   Fri Jan 21 15:14:11 2011 +0000
1397
1398     event: Clean up clutter_event_copy()
1399     
1400     Try to avoid duplication of variables and blocks.
1401
1402  clutter/clutter-event.c |   46 +++++++++++++++++++++-------------------------
1403  1 file changed, 21 insertions(+), 25 deletions(-)
1404
1405 commit 7a339d1663b94e4cbc07ffa8a8c3bf0a47d84cae
1406 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1407 Date:   Fri Jan 21 14:12:19 2011 +0000
1408
1409     device: unset the axes array pointer when resetting
1410     
1411     Otherwise we'll get a nice realloc() error from glibc.
1412
1413  clutter/clutter-input-device.c |    2 ++
1414  1 file changed, 2 insertions(+)
1415
1416 commit 4ab8a3f0c16b82d4f223de869e1b87279dcff272
1417 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1418 Date:   Fri Jan 21 11:43:00 2011 +0000
1419
1420     stage: Do not create the default stage on stage.is_default()
1421     
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
1424     non-default one.
1425
1426  clutter/clutter-stage.c |   12 +++++++-----
1427  1 file changed, 7 insertions(+), 5 deletions(-)
1428
1429 commit 0e993469155516dde673292bafe72d1c8308e27f
1430 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1431 Date:   Fri Jan 21 11:41:36 2011 +0000
1432
1433     device-manager/xi2: Fix device hotplugging
1434     
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.
1438
1439  clutter/x11/clutter-device-manager-xi2.c |   32 ++++++++----
1440  tests/interactive/test-devices.c         |   83 ++++++++++++++++++++++++++----
1441  2 files changed, 95 insertions(+), 20 deletions(-)
1442
1443 commit 7514f5fe92844a57d33a4811fd20687bbb391c8b
1444 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1445 Date:   Fri Jan 21 10:49:12 2011 +0000
1446
1447     glx: Clean up GLX implementation
1448     
1449     Like commit a277b4091a3fa09a39cf001809c3048eb27f3952, but targeted at
1450     the GLX backend.
1451
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(-)
1456
1457 commit 6da51f6ed379f531bee72b688366dc734082a573
1458 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1459 Date:   Fri Jan 21 10:24:34 2011 +0000
1460
1461     device/x11: Store min/max keycode in the XI device class
1462     
1463     The generic device class shouldn't have the minimum and maximum keycode,
1464     since no other input backend provides those.
1465
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(-)
1472
1473 commit a277b4091a3fa09a39cf001809c3048eb27f3952
1474 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1475 Date:   Thu Jan 20 15:39:28 2011 +0000
1476
1477     x11: Hide all private symbols
1478     
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.
1481     
1482     The uninstalled headers are also filled with cruft declarations of
1483     functions long since removed.
1484     
1485     Let's try to clean up this mess.
1486
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(-)
1496
1497 commit 89467abae591fb07afed507323f086264d73e68d
1498 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1499 Date:   Wed Jan 19 17:03:27 2011 +0000
1500
1501     docs: More documentation fixes for InputDevice
1502
1503  clutter/clutter-input-device.c             |  107 +++++++++++++++++++++++-----
1504  doc/reference/clutter/clutter-sections.txt |   10 ++-
1505  2 files changed, 95 insertions(+), 22 deletions(-)
1506
1507 commit 0f56abf569d524bd42d4a3cdc6a5321a3de2b7f9
1508 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1509 Date:   Wed Jan 19 16:34:49 2011 +0000
1510
1511     */event: Never manipulate the event queue directly
1512     
1513     Always use _clutter_event_push() instead.
1514
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(-)
1520
1521 commit 400ecdfc81d19ab27cbc7a4f416b6fc109556ebf
1522 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1523 Date:   Wed Jan 19 16:34:37 2011 +0000
1524
1525     win32: Update DeviceManager device creation
1526
1527  clutter/win32/clutter-device-manager-win32.c |   13 +++++++++++++
1528  1 file changed, 13 insertions(+)
1529
1530 commit 73cf6bd52c282acc1cdb67724d2b55d3f822f7ef
1531 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1532 Date:   Wed Jan 19 16:23:45 2011 +0000
1533
1534     device: Allow enabling/disabling non-master devices
1535     
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.
1539     
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.
1543     
1544     The main event queue entry point, _clutter_event_push(), will
1545     automatically discard events coming from disabled devices.
1546
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(-)
1555
1556 commit 137f7d42a8db40a85ae95b10d9ed0fa895f48b0a
1557 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1558 Date:   Wed Jan 19 15:17:34 2011 +0000
1559
1560     backend/eglx: Add newly created stages to the translators
1561     
1562     The events directed to the stage should be translated by the stage.
1563
1564  clutter/egl/clutter-backend-egl.c |    4 ++++
1565  1 file changed, 4 insertions(+)
1566
1567 commit d3ed3d3a7b3950160a3351d54e766628fd916ad8
1568 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1569 Date:   Wed Jan 19 13:54:27 2011 +0000
1570
1571     device: Add more doc annotations
1572     
1573     Even for internal API.
1574
1575  clutter/clutter-input-device.c |   32 ++++++++++++++++++++++++++++++++
1576  1 file changed, 32 insertions(+)
1577
1578 commit 50e52f550a14e86a689673ce898970337cc46e8b
1579 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1580 Date:   Wed Jan 19 13:53:20 2011 +0000
1581
1582     device: Use a double for translate_axis() argument
1583     
1584     While XI1 has axis data in events exposed as integers, XI2 uses double
1585     precision floating point values.
1586
1587  clutter/clutter-device-manager-private.h |    2 +-
1588  clutter/clutter-input-device.c           |   17 ++++++++++++++++-
1589  2 files changed, 17 insertions(+), 2 deletions(-)
1590
1591 commit f54044f7e45fe37538187ca06f7d378ae8d64800
1592 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1593 Date:   Wed Jan 19 13:52:33 2011 +0000
1594
1595     test-devices: Clean up and show axes data
1596
1597  tests/interactive/test-devices.c |  106 +++++++++++++++++++++++++++++++++-----
1598  1 file changed, 92 insertions(+), 14 deletions(-)
1599
1600 commit d078fe09301db384b7a465b86ad83dab860576b4
1601 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1602 Date:   Tue Jan 18 22:31:14 2011 +0000
1603
1604     event: Fix up clutter_event_copy()
1605     
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.
1608
1609  clutter/clutter-event.c |   25 +++++++++++++++++++++++++
1610  1 file changed, 25 insertions(+)
1611
1612 commit 405e611279321ebe293e02b4507899355f49cc64
1613 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1614 Date:   Tue Jan 18 22:30:21 2011 +0000
1615
1616     device/xi2: Translate the axis data after setting devices
1617     
1618     We need the devices (source and virtual) to be set before translating
1619     the axis data from XI2 to the Clutter event.
1620
1621  clutter/x11/clutter-device-manager-xi2.c |   30 +++++++++++++++++++-----------
1622  1 file changed, 19 insertions(+), 11 deletions(-)
1623
1624 commit dd5f6ca7e1b5042beca6363109424565a7d8223b
1625 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1626 Date:   Tue Jan 18 17:33:22 2011 +0000
1627
1628     device: Add more accessors for properties
1629     
1630     Allow using real accessor methods for getting the ClutterInputDevice
1631     properties set on construction.
1632
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(+)
1637
1638 commit ad06f1b20fcac9167f456ba21674d8f7a2c0cd3b
1639 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1640 Date:   Tue Jan 18 16:57:14 2011 +0000
1641
1642     docs: Update API reference
1643
1644  doc/reference/clutter/clutter-sections.txt |    2 ++
1645  1 file changed, 2 insertions(+)
1646
1647 commit 333ca35ceca739388be36cf48514fcb68f3b7aef
1648 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1649 Date:   Tue Jan 18 16:55:14 2011 +0000
1650
1651     device: Add get_axis_value()
1652     
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.
1655
1656  clutter/clutter-input-device.c |   47 ++++++++++++++++++++++++++++++++++++++++
1657  clutter/clutter-input-device.h |    4 ++++
1658  2 files changed, 51 insertions(+)
1659
1660 commit d805237c313f5e2ce85b93fd167569c25b702163
1661 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1662 Date:   Tue Jan 18 16:54:12 2011 +0000
1663
1664     event: Add accessor for the axes field
1665     
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.
1669
1670  clutter/clutter-event.c |   57 +++++++++++++++++++++++++++++++++++++++++++++++
1671  clutter/clutter-event.h |    2 ++
1672  2 files changed, 59 insertions(+)
1673
1674 commit 431200f40dad93bcaeff76ad34f3fdd431d5a8f2
1675 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1676 Date:   Tue Jan 18 16:13:26 2011 +0000
1677
1678     device: Add keys and axes accessors
1679     
1680     Allow retrieving the number of keys and axes, since we provide the API
1681     to iterate over them both.
1682
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(-)
1690
1691 commit b662a070f2c5ebe2af479fd0290745ad923b3c42
1692 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1693 Date:   Tue Jan 18 15:42:02 2011 +0000
1694
1695     docs: Update dependencies in README
1696
1697  README |    2 +-
1698  1 file changed, 1 insertion(+), 1 deletion(-)
1699
1700 commit 0a869e0718331737a1126da861222f7b0162fcce
1701 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1702 Date:   Tue Jan 18 14:16:11 2011 +0000
1703
1704     egl/x11: Defer X11-specific code to the X11 backend
1705     
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.
1710
1711  clutter/egl/clutter-stage-egl.c |  108 +++------------------------------------
1712  1 file changed, 8 insertions(+), 100 deletions(-)
1713
1714 commit a3102a777ead15f7ba4b671bd25fd642762fec57
1715 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1716 Date:   Tue Jan 18 14:09:04 2011 +0000
1717
1718     docs: Fill out documentation for new symbols
1719
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(-)
1729
1730 commit fa3c5a28a7b82d817ae7b83a058158a101e1e4b0
1731 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1732 Date:   Tue Jan 18 13:15:20 2011 +0000
1733
1734     backend/x11: Allow querying xinput support
1735     
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.
1739
1740  clutter/x11/clutter-backend-x11.c |   14 ++++++++------
1741  clutter/x11/clutter-backend-x11.h |    5 +----
1742  2 files changed, 9 insertions(+), 10 deletions(-)
1743
1744 commit c8cc03f8a7b13db01a71c4a597c05a7b94ba664c
1745 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1746 Date:   Tue Jan 18 13:08:09 2011 +0000
1747
1748     event/x11: Epic clean up
1749     
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.
1752     
1753     So long, event_translate(); and thanks for all the fish.
1754
1755  clutter/x11/clutter-event-x11.c |  869 ---------------------------------------
1756  1 file changed, 869 deletions(-)
1757
1758 commit c044e44dc798a4afede519abe430ff6a20bd745d
1759 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1760 Date:   Tue Jan 18 13:07:36 2011 +0000
1761
1762     device/x11: Use similar core for axis translation as XI2
1763
1764  clutter/x11/clutter-input-device-core-x11.c |   39 +++++++++++++--------------
1765  1 file changed, 19 insertions(+), 20 deletions(-)
1766
1767 commit c9c6236d3786ed3f69f170b02523e08a91b7f644
1768 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1769 Date:   Tue Jan 18 13:05:46 2011 +0000
1770
1771     stage/x11: Do not check a boolean for equality
1772     
1773     Booleans should only be used like direct conditions, never as
1774     comparisons with TRUE or FALSE.
1775
1776  clutter/x11/clutter-stage-x11.c |    4 +---
1777  1 file changed, 1 insertion(+), 3 deletions(-)
1778
1779 commit ee15d0d2d01a02e426cbb8c340738e4f8411fc4f
1780 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1781 Date:   Tue Jan 18 13:05:17 2011 +0000
1782
1783     Add copyright and licensing blurbs
1784
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(+)
1789
1790 commit 2cb0077f7d7260109f0974d260cb4ed63ade6e9e
1791 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1792 Date:   Tue Jan 18 13:03:07 2011 +0000
1793
1794     device/xi2: Implement get_core_device()
1795     
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.
1799
1800  clutter/x11/clutter-device-manager-xi2.c |   25 +++++++++++++++++++++++++
1801  1 file changed, 25 insertions(+)
1802
1803 commit 9c48486d7ac73aa55b69a70cf1ef7009a0af2a09
1804 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1805 Date:   Tue Jan 18 13:02:15 2011 +0000
1806
1807     device/xi2: Remove the ::remove implementation
1808     
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.
1811
1812  clutter/x11/clutter-device-manager-xi2.c |   18 ++----------------
1813  1 file changed, 2 insertions(+), 16 deletions(-)
1814
1815 commit 0075c45ca49569988fb6b8f1b4a60cd4e77be287
1816 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1817 Date:   Tue Jan 18 13:01:27 2011 +0000
1818
1819     device/xi2: Blow the cached devices list
1820     
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.
1823
1824  clutter/x11/clutter-device-manager-xi2.c |    8 ++++++++
1825  1 file changed, 8 insertions(+)
1826
1827 commit de93f721c1314321bf78acec2f50d5a481210ec9
1828 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1829 Date:   Tue Jan 18 12:59:49 2011 +0000
1830
1831     Clean up the copyright and licensing blurbs
1832
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(-)
1840
1841 commit 7c25b063aafc21527413106dca6db3fcb50bd5ad
1842 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1843 Date:   Tue Jan 18 12:57:50 2011 +0000
1844
1845     x11: Use XI2 API only if we support it
1846     
1847     XIQueryVersion() is XI2 API.
1848
1849  clutter/x11/clutter-backend-x11.c |   43 +++++++++++++++++++++++++++----------
1850  1 file changed, 32 insertions(+), 11 deletions(-)
1851
1852 commit caf359d8c9a110797e9ad64a7cb3600b7b964275
1853 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1854 Date:   Tue Jan 18 12:57:12 2011 +0000
1855
1856     input-device: Add documentation
1857
1858  clutter/clutter-input-device.c |   48 +++++++++++++++++++++++++++++++++++++++-
1859  clutter/clutter-input-device.h |    2 +-
1860  2 files changed, 48 insertions(+), 2 deletions(-)
1861
1862 commit 342cdd25756b37745bfd1725d78f6f670f77bee0
1863 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1864 Date:   Mon Jan 17 17:01:58 2011 +0000
1865
1866     input-device: Move select_stage_events() to a vfunc
1867     
1868     Don't use a signal, use a virtual function.
1869
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(-)
1875
1876 commit 2777c52f2759513c8e4b66e474ed2da587bd5de5
1877 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1878 Date:   Mon Jan 17 16:56:07 2011 +0000
1879
1880     input-device: Make ClutterInputDeviceClass private
1881     
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.
1886
1887  clutter/clutter-device-manager-private.h |    5 +++++
1888  clutter/clutter-input-device.h           |   14 --------------
1889  2 files changed, 5 insertions(+), 14 deletions(-)
1890
1891 commit 001f84875aa5a0f0871b0f86a73d4c1972c12430
1892 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1893 Date:   Mon Jan 17 16:42:18 2011 +0000
1894
1895     Enable XInput support by default
1896     
1897     Since we have a decent XI1 and XI2 implementation, now, we should turn
1898     the support for XInput on by default.
1899     
1900     The actual implementation to be used at run-time is still left to be
1901     decided by the user.
1902
1903  configure.ac |    2 +-
1904  1 file changed, 1 insertion(+), 1 deletion(-)
1905
1906 commit 1b1e77b46989ba97bfff8abdfa61df0f514a7eae
1907 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1908 Date:   Tue Jan 4 12:32:04 2011 +0000
1909
1910     event/x11: Rework the way we translate X11 events
1911     
1912     This is a lump commit that is fairly difficult to break down without
1913     either breaking bisecting or breaking the test cases.
1914     
1915     The new design for handling X11 event translation works this way:
1916     
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;
1920     
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;
1925     
1926       - ClutterStageX11 implements EventTranslator, and deals with the
1927         stage-relative X11 events coming from the X11 event source;
1928     
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;
1932     
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.
1937     
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.
1942
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(-)
1982
1983 commit ca092477c2d3fcc74384c3f46216802db32ba0d9
1984 Author: Emmanuele Bassi <ebassi@linux.intel.com>
1985 Date:   Thu Jan 20 16:18:16 2011 +0000
1986
1987     Appease the gods in introspection
1988     
1989     Reduce the amount of bogus warnings g-ir-scanner prints out.
1990
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(-)
2015
2016 commit 439553a1b7e7d6a1731df7124b74545881ce4fbf
2017 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2018 Date:   Thu Jan 20 13:44:16 2011 +0000
2019
2020     Update the NEWS file
2021
2022  NEWS |   12 +++++++++++-
2023  1 file changed, 11 insertions(+), 1 deletion(-)
2024
2025 commit ef7810422764f7297f295a7c8189204de1eb4c3f
2026 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2027 Date:   Thu Jan 20 13:29:37 2011 +0000
2028
2029     Expose deprecated symbols whilst building Clutter
2030     
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.
2034
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(-)
2054
2055 commit cd96e631f15ee623116cf3d330cc046e7855ee56
2056 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2057 Date:   Thu Jan 20 13:19:03 2011 +0000
2058
2059     glx: Deprecate ClutterGLXTexturePixmap
2060     
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.
2065
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(-)
2069
2070 commit 770bcd5b4042818008e3fbbfab8e11722681a5fa
2071 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2072 Date:   Thu Jan 20 12:59:56 2011 +0000
2073
2074     test-pixmap: Remove the GLX code
2075     
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.
2079
2080  tests/interactive/test-pixmap.c |   41 ---------------------------------------
2081  1 file changed, 41 deletions(-)
2082
2083 commit a2d6edd4223fc18a9b3902e388ddd105db468f32
2084 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2085 Date:   Wed Jan 19 18:51:01 2011 +0000
2086
2087     test-pixmap: Fix up compilation on EGLX
2088     
2089     We need to check for the GLX windowing system if we are to include
2090     clutter-glx.h.
2091
2092  tests/interactive/test-pixmap.c |    2 ++
2093  1 file changed, 2 insertions(+)
2094
2095 commit 62a0584f115f4a1cc6138c2915d90e24c69c4002
2096 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2097 Date:   Wed Jan 19 17:54:28 2011 +0000
2098
2099     docs: Ignore clutter-config.h when scanning headers
2100
2101  doc/reference/clutter/Makefile.am |    1 +
2102  1 file changed, 1 insertion(+)
2103
2104 commit a43c5f10bb5f3273378fedecd618260b96499cff
2105 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2106 Date:   Wed Jan 19 14:36:30 2011 +0000
2107
2108     tests: Try to drop including config.h
2109     
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.
2113
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(-)
2126
2127 commit 94b905b9e110c671698a0cd59fa827f6ddb0a84d
2128 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2129 Date:   Wed Jan 19 14:33:27 2011 +0000
2130
2131     build: Generate an instealled config header
2132     
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.
2137     
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.
2141     
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.
2145
2146  .gitignore                  |    1 +
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(+)
2152
2153 commit 90a01b479c432310f9fcfb5fcd04e23d8fc1a92a
2154 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2155 Date:   Tue Jan 18 15:14:58 2011 +0000
2156
2157     Update the NEWS file
2158
2159  NEWS |   18 ++++++++++++++++++
2160  1 file changed, 18 insertions(+)
2161
2162 commit bb41cb54cbdbb21f3be26ac14c07fd1c804b4d31
2163 Author: Chris Lord <chris@linux.intel.com>
2164 Date:   Tue Jan 18 15:48:29 2011 +0000
2165
2166     timeline: Check if the timeline is playing in do_tick
2167     
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.
2172
2173  clutter/clutter-timeline.c |    8 ++++++++
2174  1 file changed, 8 insertions(+)
2175
2176 commit c61e22d06787effcd4c260a817ba4845d5eedfdb
2177 Author: Lucas Rocha <lucasr@litl.com>
2178 Date:   Mon Jan 17 18:28:49 2011 +0000
2179
2180     drag-action: fix case where motion events are indefinitely disabled
2181     
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
2188     emit_drag_end()
2189     
2190     http://bugzilla.clutter-project.org/show_bug.cgi?id=2522
2191
2192  clutter/clutter-drag-action.c |    3 ++-
2193  1 file changed, 2 insertions(+), 1 deletion(-)
2194
2195 commit cecc7a4bfbae6dc4891f3cd1888e85fc1148dc1a
2196 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2197 Date:   Tue Jan 18 14:46:02 2011 +0000
2198
2199     stage: Fix gtk-doc annotation for set_accept_focus()
2200
2201  clutter/clutter-stage.c |    2 +-
2202  1 file changed, 1 insertion(+), 1 deletion(-)
2203
2204 commit 5d8b6aa6fa2c51b72079d52766e5013ff612af19
2205 Author: Bastian Winkler <buz@netbuz.org>
2206 Date:   Fri Jan 14 14:53:05 2011 +0100
2207
2208     introspection: Add missing (out) annotations for get_color()
2209     
2210     Some actors are missing the (out) annotations for the get_color()
2211     methods.
2212     
2213     http://bugzilla.clutter-project.org/show_bug.cgi?id=2518
2214
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(-)
2219
2220 commit 54d00ebaf0a0084c7b0580a7b234e214ce95dd16
2221 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2222 Date:   Mon Jan 17 17:30:47 2011 +0000
2223
2224     docs: Add ClutterClickAction.get_state()
2225
2226  doc/reference/clutter/clutter-sections.txt |    3 +++
2227  1 file changed, 3 insertions(+)
2228
2229 commit 6af7b76cb5959616ea828678e1fb0258a7a04d2d
2230 Author: Lucas Rocha <lucasr@gnome.org>
2231 Date:   Mon Jan 17 00:38:04 2011 +0000
2232
2233     click-action: add API to get modifier type
2234     
2235     This is to allow implementing modified click such as ctrl+click,
2236     shift+click, and so on.
2237     
2238     http://bugzilla.clutter-project.org/show_bug.cgi?id=2520
2239
2240  clutter/clutter-click-action.c |   37 +++++++++++++++++++++++++++++++++++++
2241  clutter/clutter-click-action.h |    6 ++++--
2242  2 files changed, 41 insertions(+), 2 deletions(-)
2243
2244 commit 6100aee5bd8d1c11fcaf6f7b3ac9a9317fbe39af
2245 Author: Damien Lespiau <damien.lespiau@intel.com>
2246 Date:   Mon Jan 17 15:22:48 2011 +0000
2247
2248     color: Mark the new static color API as being new from 1.6
2249     
2250     The patch was written a while ago but only merged in the 1.5.x cycle.
2251
2252  clutter/clutter-color.c |    2 +-
2253  clutter/clutter-color.h |    2 +-
2254  2 files changed, 2 insertions(+), 2 deletions(-)
2255
2256 commit ae9781e5266464314fda19ab8495e9824edbcdfb
2257 Author: Neil Roberts <neil@linux.intel.com>
2258 Date:   Mon Jan 17 12:21:33 2011 +0000
2259
2260     cogl-program: Don't use separate definitions on GLES 1.1
2261     
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
2266     to maintain.
2267     
2268     http://bugzilla.clutter-project.org/show_bug.cgi?id=2516
2269
2270  clutter/cogl/cogl/cogl-program.c |  105 +++++---------------------------------
2271  clutter/cogl/cogl/cogl-shader.c  |   91 +++++++++++----------------------
2272  2 files changed, 44 insertions(+), 152 deletions(-)
2273
2274 commit b7677d047df6b8c96605454717873bbcb1722763
2275 Author: Neil Roberts <neil@linux.intel.com>
2276 Date:   Mon Jan 17 12:20:06 2011 +0000
2277
2278     cogl-pipeline-opengl: #ifdef out set_glsl_program for GLES 1.1
2279     
2280     glUseProgram is not available under GLES 1.1 so it was breaking the
2281     build.
2282     
2283     http://bugzilla.clutter-project.org/show_bug.cgi?id=2516
2284
2285  clutter/cogl/cogl/cogl-pipeline-opengl.c |    9 +++++++++
2286  1 file changed, 9 insertions(+)
2287
2288 commit 568d32acf3604a9c68556224844a839f0e014bcf
2289 Author: Neil Roberts <neil@linux.intel.com>
2290 Date:   Mon Jan 17 12:06:13 2011 +0000
2291
2292     cogl-pipeline: Fix the enum names for the constant combine source
2293     
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.
2301     
2302     http://bugzilla.clutter-project.org/show_bug.cgi?id=2516
2303
2304  clutter/cogl/cogl/cogl-pipeline.c |   12 ++++++------
2305  1 file changed, 6 insertions(+), 6 deletions(-)
2306
2307 commit 0c070cdf91c2956ba057364eb63cc422a79b6c88
2308 Author: Adel Gadllah <adel.gadllah@gmail.com>
2309 Date:   Sun Jan 16 23:19:28 2011 +0100
2310
2311     ClutterX11TexturePixmap: Fix doc comment
2312     
2313     The wrong signal name was used probably a copy & paste
2314     mistake, fix that.
2315
2316  clutter/x11/clutter-x11-texture-pixmap.c |    2 +-
2317  1 file changed, 1 insertion(+), 1 deletion(-)
2318
2319 commit 88fe56d1752ad64f404da2baa1bc74f2ebbae64c
2320 Author: Neil Roberts <neil@linux.intel.com>
2321 Date:   Thu Jan 13 15:54:50 2011 +0000
2322
2323     cogl-buffer: Support mapping buffers for write on GLES
2324     
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.
2331
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(-)
2337
2338 commit 7e73f0d4232338741e2dc811cdb2039287f384bb
2339 Author: Neil Roberts <neil@linux.intel.com>
2340 Date:   Thu Jan 13 15:36:08 2011 +0000
2341
2342     cogl: Enable the VBOs feature for GLES2
2343     
2344     The GLES2 wrapper code has been removed so there are no longer any
2345     problems with enabling VBOs.
2346
2347  clutter/cogl/cogl/driver/gles/cogl-gles.c |    5 -----
2348  1 file changed, 5 deletions(-)
2349
2350 commit 9bb74988d5b7c7df3678185ed4488c9957f00a9d
2351 Author: Neil Roberts <neil@linux.intel.com>
2352 Date:   Thu Jan 13 15:35:30 2011 +0000
2353
2354     cogl: Fallback to set_data when mapping a buffer to fill it
2355     
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.
2367
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(-)
2375
2376 commit 77a486caf2c130341624ab56e588ab116c7e8e26
2377 Author: Neil Roberts <neil@linux.intel.com>
2378 Date:   Thu Jan 13 14:12:10 2011 +0000
2379
2380     cogl-context: Don't enable point sprites on GLES2
2381     
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.
2386
2387  clutter/cogl/cogl/cogl-context.c |    5 ++++-
2388  1 file changed, 4 insertions(+), 1 deletion(-)
2389
2390 commit 88a085fdd86e3f1f285833f2f4df19af339c339c
2391 Author: Robert Bragg <robert@linux.intel.com>
2392 Date:   Tue Jan 11 16:02:06 2011 +0000
2393
2394     pipeline: differentiate texture target and data state
2395     
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.
2400     
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
2405     programs generated.
2406     
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.
2411     
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
2417     magic flags.
2418
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(-)
2428
2429 commit 8ab68d26a5c2e026bc422da13ab290ba3d432aa4
2430 Author: Robert Bragg <robert@linux.intel.com>
2431 Date:   Wed Jan 12 17:11:48 2011 +0000
2432
2433     pipeline: optimize state init if changing property
2434     
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.
2443     
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.
2451
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(-)
2455
2456 commit 5fc3122dadf948c5594478a3eae7deef391c62fe
2457 Author: Neil Roberts <neil@linux.intel.com>
2458 Date:   Wed Jan 12 16:59:37 2011 +0000
2459
2460     test-cogl-shader-glsl: Disable the atlas for the hand texture
2461     
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.
2466
2467  tests/interactive/test-cogl-shader-glsl.c |    4 +++-
2468  1 file changed, 3 insertions(+), 1 deletion(-)
2469
2470 commit 3c9f72abbfcc7967aa399506adba0bfee4952bbc
2471 Author: Neil Roberts <neil@linux.intel.com>
2472 Date:   Wed Jan 12 16:56:52 2011 +0000
2473
2474     cogl-atlas-texture: Don't disable atlas if can't read texture data
2475     
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
2481     support in core.
2482
2483  clutter/cogl/cogl/cogl-atlas-texture.c |    8 +++-----
2484  1 file changed, 3 insertions(+), 5 deletions(-)
2485
2486 commit 12ceae548d441f0611542645a62f6c0cbf7a0c5f
2487 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2488 Date:   Tue Jan 11 21:34:37 2011 +0000
2489
2490     Post-release version bump to 1.5.13
2491
2492  configure.ac       |    2 +-
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(-)
2501
2502 commit 09d5c309ca95f68425919fdd1a41a14f41e4053b
2503 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2504 Date:   Tue Jan 11 20:29:30 2011 +0000
2505
2506     Release 1.5.12
2507
2508  configure.ac |   23 ++++++++++++-----------
2509  1 file changed, 12 insertions(+), 11 deletions(-)
2510
2511 commit 676df42c6fefd28a6da2c1cefd885d6fa4d59da1
2512 Author: Robert Bragg <robert@linux.intel.com>
2513 Date:   Tue Jan 11 14:10:11 2011 +0000
2514
2515     pipeline: don't skip flush if skip_gl_color flag differs
2516     
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
2521     glColor correctly.
2522
2523  clutter/cogl/cogl/cogl-pipeline-opengl.c |    3 ++-
2524  1 file changed, 2 insertions(+), 1 deletion(-)
2525
2526 commit b922ac605962df6b1cf86a0e710294be114f62c4
2527 Author: Damien Lespiau <damien.lespiau@intel.com>
2528 Date:   Tue Jan 11 14:15:46 2011 +0000
2529
2530     test-shader: Fix the edge-detect shader
2531     
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.
2534
2535  tests/interactive/test-shader.c |    2 +-
2536  1 file changed, 1 insertion(+), 1 deletion(-)
2537
2538 commit 38e527a3cf2527a46461eb76c6598071daf95053
2539 Author: Neil Roberts <neil@linux.intel.com>
2540 Date:   Mon Jan 10 20:13:41 2011 +0000
2541
2542     cogl-vertex-attribute: Optionally avoid applying the legacy state
2543     
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
2553     when flushing.
2554
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(-)
2559
2560 commit cb49197d0101aa32fa3bb0f8948c1952f5ccae33
2561 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2562 Date:   Tue Jan 11 12:38:52 2011 +0000
2563
2564     Update the NEWS file
2565
2566  NEWS |    4 +++-
2567  1 file changed, 3 insertions(+), 1 deletion(-)
2568
2569 commit f4fc7284ebeaedfb60d9903b41177f59a4907b85
2570 Author: Bastian Winkler <buz@netbuz.org>
2571 Date:   Mon Jan 3 16:15:17 2011 +0100
2572
2573     script-parser: Also honor properties of type GType
2574     
2575     The script parser should also handle GType properties.
2576     
2577     http://bugzilla.clutter-project.org/show_bug.cgi?id=2513
2578
2579  clutter/clutter-script-parser.c |    9 +++++++++
2580  1 file changed, 9 insertions(+)
2581
2582 commit 8e3d9c21c643091bd537a2674eeaa86255167cc9
2583 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2584 Date:   Tue Jan 11 11:49:11 2011 +0000
2585
2586     Update NEWS file
2587
2588  NEWS |   46 ++++++++++++++++++++++++++++++++++++++++++++++
2589  1 file changed, 46 insertions(+)
2590
2591 commit f2080f099e2a05b05cd0adb2f204c1917adae0f2
2592 Author: Damien Lespiau <damien.lespiau@intel.com>
2593 Date:   Tue Jan 11 10:23:59 2011 +0000
2594
2595     shader: Don't notify properties when finalizing shaders
2596     
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().
2600     
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)
2609          at gobject.c:1075
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
2614     
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().
2618     
2619     http://bugzilla.clutter-project.org/show_bug.cgi?id=2512
2620
2621  clutter/clutter-shader.c |   61 ++++++++++++++++++++++++++++------------------
2622  1 file changed, 37 insertions(+), 24 deletions(-)
2623
2624 commit 3625adb9d8188464b27ddf3e1203214ea2952092
2625 Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
2626 Date:   Mon Jan 10 19:13:03 2011 +0100
2627
2628     ClutterListModel: Implement get_n_rows for improved performance
2629     
2630     The default implementation in ClutterModel iterates through all
2631     the elements.
2632     
2633     http://bugzilla.clutter-project.org/show_bug.cgi?id=2511
2634
2635  clutter/clutter-list-model.c |   13 ++++++++++
2636  clutter/clutter-model.c      |   56 +++++++++++++++++++++---------------------
2637  2 files changed, 41 insertions(+), 28 deletions(-)
2638
2639 commit 850f956d4e2a811eb663575dcd6ae41f09b992de
2640 Author: Adel Gadllah <adel.gadllah@gmail.com>
2641 Date:   Wed Jan 5 10:24:26 2011 +0100
2642
2643     ClutterAlignConstraint: Keep pixel aligment
2644     
2645     We have to round the values here otherwise we might end up with
2646     misaligned actors.
2647     
2648     http://bugzilla.clutter-project.org/show_bug.cgi?id=2508
2649
2650  clutter/clutter-align-constraint.c |    4 ++++
2651  1 file changed, 4 insertions(+)
2652
2653 commit d648de7d1492b9ae69aac6702a99fccb8f92b165
2654 Author: Neil Roberts <neil@linux.intel.com>
2655 Date:   Tue Dec 14 14:44:45 2010 +0000
2656
2657     cogl-journal: Avoid enabling blending if possible
2658     
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.
2669     
2670     http://bugzilla.clutter-project.org/show_bug.cgi?id=2481
2671
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(-)
2676
2677 commit 159cd6ddc02b4a9a37fe7e0a61a104d3abab91a6
2678 Author: Neil Roberts <neil@linux.intel.com>
2679 Date:   Tue Dec 14 14:24:17 2010 +0000
2680
2681     cogl-vertex-attribute: Add flags to _cogl_draw_vertex_attributes_array
2682     
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.
2694     
2695     http://bugzilla.clutter-project.org/show_bug.cgi?id=2481
2696
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(-)
2703
2704 commit 0201e5fa97549ffb2d20a1180e63e5a7a73fa7e2
2705 Author: Neil Roberts <neil@linux.intel.com>
2706 Date:   Fri Dec 17 16:30:23 2010 +0000
2707
2708     cogl: Don't assume that CoglBitmaps are allocated to height*rowstride
2709     
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.
2717     
2718     http://bugzilla.clutter-project.org/show_bug.cgi?id=2491
2719
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(-)
2723
2724 commit e1cbef23f5118c748eb38c16ebb00de3f51686b7
2725 Author: Neil Roberts <neil@linux.intel.com>
2726 Date:   Fri Dec 17 16:09:26 2010 +0000
2727
2728     cogl-texture-driver-gles: Don't copy the bitmap if alignment matches
2729     
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.
2740     
2741     http://bugzilla.clutter-project.org/show_bug.cgi?id=2491
2742
2743  .../cogl/driver/gles/cogl-texture-driver-gles.c    |  103 +++++++++++---------
2744  1 file changed, 55 insertions(+), 48 deletions(-)
2745
2746 commit b3058c097dfb834018ab3598d002a7be595e78ff
2747 Author: Neil Roberts <neil@linux.intel.com>
2748 Date:   Fri Dec 17 16:06:10 2010 +0000
2749
2750     cogl-util: Add an internal wrapper for the ffs function
2751     
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
2755     available.
2756     
2757     http://bugzilla.clutter-project.org/show_bug.cgi?id=2491
2758
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(+)
2763
2764 commit 91c16023066b3d71ed569e0dcb97bdd0fe8b4667
2765 Author: Neil Roberts <neil@linux.intel.com>
2766 Date:   Fri Dec 17 14:52:25 2010 +0000
2767
2768     cogl-texture: Don't use the source rowstride if we have to copy bitmap
2769     
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.
2777     
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
2783     too.
2784     
2785     http://bugzilla.clutter-project.org/show_bug.cgi?id=2491
2786
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(-)
2791
2792 commit c6fbc8c567ebe7eb538e53c0a5964db4ff6aebf2
2793 Author: Neil Roberts <neil@linux.intel.com>
2794 Date:   Wed Dec 22 01:45:09 2010 +0000
2795
2796     cogl-vertex-attribute: Fix the name of the cogl_normal_in attribute
2797     
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.
2801     
2802     http://bugzilla.clutter-project.org/show_bug.cgi?id=2499
2803
2804  clutter/cogl/cogl/cogl-vertex-attribute.c |    2 +-
2805  1 file changed, 1 insertion(+), 1 deletion(-)
2806
2807 commit 2c36b81996565f6128a55d5c12fee75a53c0a027
2808 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2809 Date:   Mon Jan 10 14:03:35 2011 +0000
2810
2811     container: Do not use Actor as prerequisite
2812     
2813     The prerequisite for ClutterContainer in 1.x is GObject, and we cannot
2814     restrict the prerequisites without an ABI break.
2815
2816  clutter/clutter-container.c |    2 +-
2817  1 file changed, 1 insertion(+), 1 deletion(-)
2818
2819 commit 6bb81a542fd2876c472c0287d368b1ba404324bf
2820 Author: nobled <nobled@dreamwidth.org>
2821 Date:   Tue Jan 4 13:56:05 2011 +0000
2822
2823     egl: Fix build for --with-flavour=opengl-egl-xlib
2824     
2825     Make sure the EGL backend doesn't forget to include desktop OpenGL headers.
2826
2827  clutter/egl/clutter-egl-headers.h |   20 +++++++++++++-------
2828  1 file changed, 13 insertions(+), 7 deletions(-)
2829
2830 commit 530bc2aa70ca83c56f46342d337ce873614353a4
2831 Author: nobled <nobled@dreamwidth.org>
2832 Date:   Tue Jan 4 13:59:48 2011 +0000
2833
2834     egl: Don't use obsolete API
2835     
2836     Fixes a GCC "implicit declaration of function" warning when compiling.
2837
2838  clutter/egl/clutter-stage-egl.c |    4 ++--
2839  1 file changed, 2 insertions(+), 2 deletions(-)
2840
2841 commit 8c23766da809701bc171fcb9b3650475b1d03a73
2842 Author: Kristian Høgsberg <krh@bitplanet.net>
2843 Date:   Thu Jan 6 07:57:26 2011 -0500
2844
2845     x11: Create the list of all devices correctly
2846     
2847     Linked lists are tricky.
2848
2849  clutter/x11/clutter-device-manager-x11.c |    4 ++--
2850  1 file changed, 2 insertions(+), 2 deletions(-)
2851
2852 commit bf0dd2cbcc83d91ef46301aa18bd5f0158b88d22
2853 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2854 Date:   Thu Dec 30 12:49:41 2010 +0000
2855
2856     test-text-field: Grab key focus on the first entry
2857     
2858     So that you can start typing right away.
2859
2860  tests/interactive/test-text-field.c |    6 ++++--
2861  1 file changed, 4 insertions(+), 2 deletions(-)
2862
2863 commit 2fe20ff3c505d3c1249b03ba7eaa1515f13a3c0a
2864 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2865 Date:   Tue Dec 28 22:21:09 2010 +0000
2866
2867     osx: Implement the set_accept_focus() vfunc
2868     
2869     Like the x11 and win32 backends, the quartz backend should allow setting
2870     the key focus when showing the stage window.
2871
2872  clutter/osx/clutter-stage-osx.c |   29 +++++++++++++++++++++++------
2873  clutter/osx/clutter-stage-osx.h |    2 ++
2874  2 files changed, 25 insertions(+), 6 deletions(-)
2875
2876 commit 9d6a33d0c835e8a91e42303886123e34e60576f5
2877 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2878 Date:   Tue Dec 28 18:04:00 2010 +0000
2879
2880     win32: Implement the set_accept_focus() vfunc
2881     
2882     Implement the ClutterStageWindow::set_accept_focus() virtual function in
2883     the win32 backend.
2884     
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.
2888     
2889     http://bugzilla.clutter-project.org/show_bug.cgi?id=2500
2890
2891  clutter/win32/clutter-stage-win32.c |   21 +++++++++++++++++++--
2892  clutter/win32/clutter-stage-win32.h |    8 +++++---
2893  2 files changed, 24 insertions(+), 5 deletions(-)
2894
2895 commit 497f39e2f40e816c1e7ceaa3bf2fb4e609436b35
2896 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2897 Date:   Tue Dec 28 17:38:39 2010 +0000
2898
2899     x11: Implement the set_accept_focus() vfunc
2900     
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.
2903     
2904     http://bugzilla.clutter-project.org/show_bug.cgi?id=2500
2905
2906  clutter/x11/clutter-stage-x11.c |   20 ++++++++++++++++----
2907  clutter/x11/clutter-stage-x11.h |    1 +
2908  2 files changed, 17 insertions(+), 4 deletions(-)
2909
2910 commit bbede9fef579000a48309bec017303bd8c46ccae
2911 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2912 Date:   Tue Dec 28 17:37:18 2010 +0000
2913
2914     stage: Add :accept-focus property and accessors
2915     
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.
2919     
2920     http://bugzilla.clutter-project.org/show_bug.cgi?id=2500
2921
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(-)
2926
2927 commit e1cd6f49b2afcb1738ee2e95f03aa77b8c696e7b
2928 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2929 Date:   Tue Dec 28 17:36:27 2010 +0000
2930
2931     stage-window: Add set_accept_focus() vfunc
2932     
2933     Allow Stage implementations to set whether or not they want to accept
2934     key focus when being shown.
2935     
2936     http://bugzilla.clutter-project.org/show_bug.cgi?id=2500
2937
2938  clutter/clutter-stage-window.c |   12 ++++++++++++
2939  clutter/clutter-stage-window.h |    6 ++++++
2940  2 files changed, 18 insertions(+)
2941
2942 commit 601b958ab1b162176c7dde318a96f279be995e64
2943 Author: Johan Bilien <jobi@via.ecp.fr>
2944 Date:   Wed Dec 29 16:49:13 2010 -0500
2945
2946     Fixed a crash when destroying the actor of a LEAVE event
2947     
2948     When processing a LEAVE event, one might destroy the actor, so the weak
2949     reference device->actor would be NULL.
2950     
2951     http://bugzilla.clutter-project.org/show_bug.cgi?id=2502
2952     
2953     Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2954
2955  clutter/clutter-input-device.c |   14 +++++++++-----
2956  1 file changed, 9 insertions(+), 5 deletions(-)
2957
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
2961
2962     autogen.sh: make autoreconf use automake-1.11 when available
2963     
2964     This patch exports $ACLOCAL and $AUTOMAKE, otherwise autoreconf
2965     may use an older version instead.
2966     
2967     Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
2968     
2969     http://bugzilla.clutter-project.org/show_bug.cgi?id=2504
2970
2971  autogen.sh |    1 +
2972  1 file changed, 1 insertion(+)
2973
2974 commit c95cc8d477ab26fd6231becdd062a81fa7ee6115
2975 Author: Johan Bilien <jobi@via.ecp.fr>
2976 Date:   Wed Dec 29 16:57:02 2010 -0500
2977
2978     Only reset the relayout_pending flag when actually doing a relayout
2979     
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.
2987     
2988     http://bugzilla.clutter-project.org/show_bug.cgi?id=2503
2989
2990  clutter/clutter-stage.c |    3 ++-
2991  1 file changed, 2 insertions(+), 1 deletion(-)
2992
2993 commit b6558c5a1848b306c26813bc5f5015eb95c541d1
2994 Author: Emmanuele Bassi <ebassi@linux.intel.com>
2995 Date:   Wed Dec 22 09:42:41 2010 +0000
2996
2997     docs: Fixes for the Cogl API reference
2998
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(-)
3011
3012 commit 533880a1a5140d507db0f1a11d211c74ee0260f6
3013 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3014 Date:   Tue Dec 21 12:03:38 2010 +0000
3015
3016     build: Ignore private headers when building the Cogl reference
3017     
3018     Otherwise gtk-doc will try to look up private symbols.
3019
3020  doc/reference/cogl/Makefile.am |   22 +++++++++++++++++-----
3021  1 file changed, 17 insertions(+), 5 deletions(-)
3022
3023 commit 91cc8edba12c0e43ba69b055e5b46394b9d51917
3024 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3025 Date:   Tue Dec 21 10:51:39 2010 +0000
3026
3027     test-text-field: Do not expand the labels
3028
3029  tests/interactive/test-text-field.c |    6 ++----
3030  1 file changed, 2 insertions(+), 4 deletions(-)
3031
3032 commit 605e8d6fb50624b44b45f012b24cea7c302f78ea
3033 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3034 Date:   Tue Dec 21 10:50:24 2010 +0000
3035
3036     text: Only paint cursor if we have key focus
3037     
3038     If a Text actor does not have key focus then there's no point in showing
3039     the cursor at all.
3040
3041  clutter/clutter-text.c |   26 +++++++++++++++++++++++++-
3042  1 file changed, 25 insertions(+), 1 deletion(-)
3043
3044 commit ec5e910cd376050bdd184cf970fa565e10764525
3045 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3046 Date:   Mon Dec 20 17:59:35 2010 +0000
3047
3048     test-text-field: Clean up
3049     
3050     Use a Table layout manager, and clean up a bit this test case.
3051
3052  tests/interactive/test-text-field.c |   96 ++++++++++++++++++++---------------
3053  1 file changed, 56 insertions(+), 40 deletions(-)
3054
3055 commit 21a12b966dbf72d2e83265399ac8d380b281df7f
3056 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3057 Date:   Mon Dec 20 12:41:07 2010 +0000
3058
3059     interactive: Remove test-bind
3060     
3061     The BindConstraint is already exercised in the test-constraints and in
3062     other interactive tests.
3063
3064  tests/interactive/Makefile.am |    1 -
3065  tests/interactive/test-bind.c |  112 -----------------------------------------
3066  2 files changed, 113 deletions(-)
3067
3068 commit b9f7ef11100f250767fd726b0ae9727a7e9a3f89
3069 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3070 Date:   Sat Dec 18 21:33:37 2010 +0000
3071
3072     build: Remove Cogl2 reference from the build scripts
3073     
3074     Keeping the Cogl 2.0 API reference in the build is getting far more
3075     troublesome than it's worth.
3076     
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.
3081
3082  configure.ac              |   16 ----------------
3083  doc/reference/Makefile.am |    6 ------
3084  2 files changed, 22 deletions(-)
3085
3086 commit 491bbc226ee52546507406714030a9647dde4280
3087 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3088 Date:   Sat Dec 18 13:24:54 2010 +0000
3089
3090     constraints: Remove signal handlers on dispose
3091     
3092     Same as commit 2fa8b3a3abc7bb8e96a85d927edc0594f44f55df but done for
3093     AlignConstraint and SnapConstraint as well.
3094
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(-)
3099
3100 commit 2fa8b3a3abc7bb8e96a85d927edc0594f44f55df
3101 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3102 Date:   Sat Dec 18 13:16:23 2010 +0000
3103
3104     bind-constraint: Remove handlers in dispose
3105     
3106     We should remove the signal handlers on the source actor when a
3107     BindConstraint is disposed, to avoid dangling pointers and wrong
3108     invocations.
3109     
3110     http://bugzilla.clutter-project.org/show_bug.cgi?id=2493
3111
3112  clutter/clutter-bind-constraint.c |   20 ++++++++++++++++++++
3113  1 file changed, 20 insertions(+)
3114
3115 commit 45c884307e5946e316c839c03d94c5f5c92147d8
3116 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3117 Date:   Fri Dec 17 16:04:25 2010 +0000
3118
3119     Post-release version bump to 1.5.11
3120
3121  configure.ac       |    2 +-
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(-)
3130
3131 commit 339a6805521c04fd9e0d43689b6f380a45404078
3132 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3133 Date:   Fri Dec 17 14:40:17 2010 +0000
3134
3135     Release Clutter 1.5.10 (snapshot)
3136
3137  NEWS         |   11 +++++++++--
3138  configure.ac |    2 +-
3139  2 files changed, 10 insertions(+), 3 deletions(-)
3140
3141 commit 987a50be91f67a64cca32e7403b98c69b5aedb4c
3142 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3143 Date:   Fri Dec 17 15:43:24 2010 +0000
3144
3145     build: Fix release-check for cogl2 reference
3146
3147  configure.ac              |   10 ++++++++--
3148  doc/reference/Makefile.am |    7 ++-----
3149  2 files changed, 10 insertions(+), 7 deletions(-)
3150
3151 commit cab4a5b4846d2e6e1800ac545020bce930a9132e
3152 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3153 Date:   Fri Dec 17 14:41:33 2010 +0000
3154
3155     build: Remove stringify.sh from Makefile.am
3156
3157  build/Makefile.am |    2 +-
3158  1 file changed, 1 insertion(+), 1 deletion(-)
3159
3160 commit 894c0527dffc4d0c01ef87880d33b02fcfab923e
3161 Author: Elliot Smith <elliot.smith@intel.com>
3162 Date:   Wed Dec 15 13:31:12 2010 +0000
3163
3164     cookbook: Proofing for "box layout" recipe
3165     
3166     General improvements to readability, formatting, fixing
3167     typos etc.
3168
3169  doc/cookbook/layouts.xml |   67 +++++++++++++++++++++++++---------------------
3170  1 file changed, 36 insertions(+), 31 deletions(-)
3171
3172 commit accdd92110baffe886ab9bcc9dc263058d159ecc
3173 Author: Elliot Smith <elliot.smith@intel.com>
3174 Date:   Wed Dec 15 13:13:28 2010 +0000
3175
3176     cookbook: Add examples and more text for "box layout" recipe
3177     
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
3183     
3184     Also inlined example 1 in the solution section and added
3185     more explanatory text in the discussion.
3186
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(-)
3194
3195 commit 77aacd185dcdd1673e1c3fb058d93a5803febe6a
3196 Author: Elliot Smith <elliot.smith@intel.com>
3197 Date:   Tue Dec 14 18:08:28 2010 +0000
3198
3199     cookbook: Add initial skeleton for box layout recipe
3200     
3201     Created recipe and first draft content for recipe
3202     about ClutterBoxLayout.
3203
3204  doc/cookbook/layouts.xml |  264 ++++++++++++++++++++++++++++++++++++++++++++++
3205  1 file changed, 264 insertions(+)
3206
3207 commit 6c244c05497237ee2640d3d4cf7cd3d00baf469f
3208 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3209 Date:   Fri Dec 17 13:53:28 2010 +0000
3210
3211     geometry: Avoid sign issues when interpolating
3212     
3213     Width and height in ClutterGeometry are unsigned, and this might lead to
3214     overflow and wrap around issues.
3215
3216  clutter/clutter-actor.c |    8 ++++++--
3217  1 file changed, 6 insertions(+), 2 deletions(-)
3218
3219 commit c3313726f0c6911eee8709a15fe51ec0421d7422
3220 Author: Alexandre Quessy <alexandre@quessy.net>
3221 Date:   Tue Dec 14 17:45:45 2010 -0500
3222
3223     Fixed a typo in a doc string
3224     
3225     http://bugzilla.clutter-project.org/show_bug.cgi?id=2485
3226
3227  clutter/clutter-deform-effect.c |    2 +-
3228  1 file changed, 1 insertion(+), 1 deletion(-)
3229
3230 commit 140f818fb14181135891b06bde54649564f0bc07
3231 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3232 Date:   Fri Dec 17 12:07:06 2010 +0000
3233
3234     Update NEWS
3235
3236  NEWS |    5 +++++
3237  1 file changed, 5 insertions(+)
3238
3239 commit c444447cd3712153127f4fdd2ac03262ec7689d2
3240 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3241 Date:   Fri Dec 17 12:04:11 2010 +0000
3242
3243     timeline: Rename the reverse property to auto-reverse
3244     
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.
3248
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(-)
3259
3260 commit 397e0ddb166097ae9a281c70bbff49196e513c5b
3261 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3262 Date:   Thu Dec 16 15:30:53 2010 +0000
3263
3264     interactive: Rename test-rotate
3265     
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.
3268
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(-)
3273
3274 commit c2365c63cfd2d9e0c6116a39c7a50defc193c482
3275 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3276 Date:   Thu Dec 16 15:25:29 2010 +0000
3277
3278     interactive: Remove test-viewport
3279     
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
3282     interactive test.
3283
3284  tests/interactive/Makefile.am     |    1 -
3285  tests/interactive/test-viewport.c |   69 -------------------------------------
3286  2 files changed, 70 deletions(-)
3287
3288 commit 1515a9f98971c813d50a4c0004eb49c597fc3144
3289 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3290 Date:   Thu Dec 16 15:10:27 2010 +0000
3291
3292     interactive: Remove test-project
3293     
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.
3297
3298  tests/interactive/Makefile.am    |    1 -
3299  tests/interactive/test-project.c |  229 --------------------------------------
3300  2 files changed, 230 deletions(-)
3301
3302 commit 8ae47eb79c0c67faaf8c594aa7e8e2560abc358e
3303 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3304 Date:   Thu Dec 16 15:08:11 2010 +0000
3305
3306     interactive: Remove test-offscreen
3307     
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.
3312
3313  tests/interactive/Makefile.am      |    1 -
3314  tests/interactive/test-offscreen.c |   32 --------------------------------
3315  2 files changed, 33 deletions(-)
3316
3317 commit faaff037306be31b69fa255b8d3dae91b341256b
3318 Author: Neil Roberts <neil@linux.intel.com>
3319 Date:   Mon Dec 13 17:21:58 2010 +0000
3320
3321     clutter-stage: Don't always set the projection and viewport matrix
3322     
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
3326     state.
3327     
3328     http://bugzilla.clutter-project.org/show_bug.cgi?id=2480
3329
3330  clutter/clutter-stage.c |    8 +++++++-
3331  1 file changed, 7 insertions(+), 1 deletion(-)
3332
3333 commit f5954339427f19e3c7332ec10d8cfd43c073d724
3334 Author: Neil Roberts <neil@linux.intel.com>
3335 Date:   Tue Dec 14 13:02:47 2010 +0000
3336
3337     cogl-pipeline-fragend-arbfp: Generate ARBfp if user vertex shader
3338     
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.
3343
3344  clutter/cogl/cogl/cogl-pipeline-fragend-arbfp.c |   17 +++++++++++++----
3345  1 file changed, 13 insertions(+), 4 deletions(-)
3346
3347 commit 52442414d953e90930d3928e81216e0f3ac194fe
3348 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3349 Date:   Fri Dec 10 17:46:58 2010 +0000
3350
3351     cally: Allow memory management for actions
3352     
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.
3357     
3358     http://bugzilla.clutter-project.org/show_bug.cgi?id=2479
3359
3360  clutter/cally/cally-actor.c |   94 +++++++++++++++++++++++++++++--------------
3361  clutter/cally/cally-actor.h |   47 ++++++++++++++++------
3362  2 files changed, 97 insertions(+), 44 deletions(-)
3363
3364 commit def14e80cbb898c6c198a5caf3a2a3ad15d5e8e1
3365 Author: Mike Owens <mike@filespanker.com>
3366 Date:   Thu Dec 9 09:39:23 2010 -0500
3367
3368     ClutterText: Only grab keyboard focus if keyboard-interactive.
3369     
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
3373     the focus.
3374     
3375     http://bugzilla.clutter-project.org/show_bug.cgi?id=2462
3376
3377  clutter/clutter-text.c |    5 +++--
3378  1 file changed, 3 insertions(+), 2 deletions(-)
3379
3380 commit 7b985f034fae95862f0c080a6311ccf0ac4f3966
3381 Author: Neil Roberts <neil@linux.intel.com>
3382 Date:   Sat Nov 27 13:15:02 2010 +0000
3383
3384     Allow multiple CoglAtlases for textures
3385     
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
3392     vertex attribute.
3393     
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.
3401     
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.
3404
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(-)
3413
3414 commit d01a70762395d7ff353df1fb77397b4dfab284cf
3415 Author: Neil Roberts <neil@linux.intel.com>
3416 Date:   Sat Nov 27 13:06:38 2010 +0000
3417
3418     cogl-atlas: Convert to be a CoglObject subclass
3419     
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.
3422
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(-)
3428
3429 commit d03c3a646ae4d26358ad5a48fe320845f7f099ed
3430 Author: Neil Roberts <neil@linux.intel.com>
3431 Date:   Tue Dec 7 13:58:46 2010 +0000
3432
3433     test-cogl-just-vertex-shader: Update to use the portable cogl_* names
3434     
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.
3437
3438  tests/conform/test-cogl-just-vertex-shader.c |    6 ++++--
3439  1 file changed, 4 insertions(+), 2 deletions(-)
3440
3441 commit d1ddca4eeecf26df9c5a707ef5f88175d90feb34
3442 Author: Neil Roberts <neil@linux.intel.com>
3443 Date:   Tue Dec 7 13:44:45 2010 +0000
3444
3445     cogl-shader-boilerplate: Add the 3D texture extension on GLES2
3446     
3447     To use the 3D texture extension on GLES2 it has to be enabled with the
3448     following line in GLSL:
3449     
3450     #extension GL_OES_texture_3D : enable
3451
3452  clutter/cogl/cogl/cogl-shader.c |   14 ++++++++++++--
3453  1 file changed, 12 insertions(+), 2 deletions(-)
3454
3455 commit e0a02b2b5bc4ef88e8829d271380148a966e8494
3456 Author: Neil Roberts <neil@linux.intel.com>
3457 Date:   Tue Dec 7 12:49:00 2010 +0000
3458
3459     test-cogl-multitexture: Don't test the alpha component
3460     
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.
3463
3464  tests/conform/test-cogl-multitexture.c |    3 +--
3465  1 file changed, 1 insertion(+), 2 deletions(-)
3466
3467 commit afe39296180e3839c42c5327f55ff8a773ba7000
3468 Author: Neil Roberts <neil@linux.intel.com>
3469 Date:   Tue Dec 7 11:39:37 2010 +0000
3470
3471     test-cogl-materials: Use GL_MAX_VERTEX_ATTRIBS on GLES2
3472     
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.
3476
3477  tests/conform/test-cogl-materials.c |   22 +++++++++++++++-------
3478  1 file changed, 15 insertions(+), 7 deletions(-)
3479
3480 commit bdeb555ae1e440de0453cd8fd4a024ba8381016f
3481 Author: Neil Roberts <neil@linux.intel.com>
3482 Date:   Tue Dec 7 10:38:51 2010 +0000
3483
3484     cogl2-path: Don't flush the enable flags
3485     
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.
3490
3491  clutter/cogl/cogl/cogl2-path.c |    5 -----
3492  1 file changed, 5 deletions(-)
3493
3494 commit 7dc4b3c8947de12ca111edba52a9387287f97a82
3495 Author: Neil Roberts <neil@linux.intel.com>
3496 Date:   Sun Dec 5 18:02:05 2010 +0000
3497
3498     Remove the GLES2 wrapper
3499     
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.
3503
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(-)
3529
3530 commit 1999bee5d2d5d14a97eacb84edb6ce364202b082
3531 Author: Neil Roberts <neil@linux.intel.com>
3532 Date:   Mon Dec 6 21:29:56 2010 +0000
3533
3534     cogl-pipeline: Use enums for the layer combine values
3535     
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
3539     enums are:
3540     
3541     CoglPipelineCombineFunc
3542     CoglPipelineCombineSource
3543      and
3544     CoglPipelineCombineOp
3545
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(-)
3551
3552 commit 271acaaae5d9e698ed1eefb201b2fa49b7bb3d2d
3553 Author: Neil Roberts <neil@linux.intel.com>
3554 Date:   Mon Dec 6 12:31:51 2010 +0000
3555
3556     cogl: upload matrices with uniforms on GLES2
3557     
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.
3576
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(-)
3587
3588 commit 67847260bca8ef313650497050e284a1971918aa
3589 Author: Neil Roberts <neil@linux.intel.com>
3590 Date:   Fri Dec 10 17:42:39 2010 +0000
3591
3592     cogl-matrix-stack: Add _cogl_matrix_stack_has_identity_flag
3593     
3594     This adds an internal function to quickly determine whether the top of
3595     the matrix stack is known to be the identity matrix.
3596
3597  clutter/cogl/cogl/cogl-matrix-stack.c |    6 ++++++
3598  clutter/cogl/cogl/cogl-matrix-stack.h |    7 +++++++
3599  2 files changed, 13 insertions(+)
3600
3601 commit 016005591dfa765255b05d96f701497ed7a59d23
3602 Author: Neil Roberts <neil@linux.intel.com>
3603 Date:   Fri Dec 10 16:06:16 2010 +0000
3604
3605     cogl-matrix-stack: Convert to be a CoglObject
3606     
3607     We will want to use ref-counting on the CoglMatrixStack so it might as
3608     well be a CoglObject.
3609
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(-)
3615
3616 commit 58a22613877fc041549eddeafbc364d369c5e445
3617 Author: Robert Bragg <robert@linux.intel.com>
3618 Date:   Fri Dec 10 11:34:02 2010 +0000
3619
3620     matrix-stack: Make header style consistent
3621     
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.
3624
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(-)
3628
3629 commit 4976d229405c7010a6ef1e621bcfb581b7eff99a
3630 Author: Robert Bragg <robert@linux.intel.com>
3631 Date:   Fri Dec 10 11:13:09 2010 +0000
3632
3633     matrix-stack: Adds a stack age counter
3634     
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.
3645
3646  clutter/cogl/cogl/cogl-matrix-stack.c |   18 ++++++++++++++++++
3647  clutter/cogl/cogl/cogl-matrix-stack.h |    2 ++
3648  2 files changed, 20 insertions(+)
3649
3650 commit 856d43a27cd4090467de08cd5738f10ec7e06ebd
3651 Author: Neil Roberts <neil@linux.intel.com>
3652 Date:   Mon Dec 6 12:31:16 2010 +0000
3653
3654     cogl-pipeline: Add internal API to get the layer matrix
3655     
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.
3660
3661  clutter/cogl/cogl/cogl-pipeline-private.h |    4 ++++
3662  clutter/cogl/cogl/cogl-pipeline.c         |   19 +++++++++++++++++++
3663  2 files changed, 23 insertions(+)
3664
3665 commit 4514d49dda70b9b5a1833c7809dc4d22b1bcd3cd
3666 Author: Neil Roberts <neil@linux.intel.com>
3667 Date:   Fri Dec 3 17:46:16 2010 +0000
3668
3669     cogl-vertex-attribute: Use glVertexAttribPointer on GLES2
3670     
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
3679
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(-)
3692
3693 commit 1515a8d73a0ea3ad6f6f8719e833bc17bb7c0001
3694 Author: Neil Roberts <neil@linux.intel.com>
3695 Date:   Fri Dec 3 11:31:09 2010 +0000
3696
3697     cogl-path: Stroke using the vertex attribute API
3698     
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.
3705
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(-)
3709
3710 commit 3c5fa0cf9042827d205f90ac98c2eac9494707e9
3711 Author: Neil Roberts <neil@linux.intel.com>
3712 Date:   Thu Dec 2 22:19:44 2010 +0000
3713
3714     cogl: Move COGL_DEBUG=show-source into cogl-shader.c
3715     
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.
3721
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(-)
3726
3727 commit 8764a0d4874949c12d6c0e6af863d81a39bc4991
3728 Author: Neil Roberts <neil@linux.intel.com>
3729 Date:   Thu Dec 2 20:48:45 2010 +0000
3730
3731     cogl: Add a vertend to generate GLSL
3732     
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.
3736
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(-)
3752
3753 commit 6c34fb7232f3d82a6f5720fc9e07a41d997e643b
3754 Author: Neil Roberts <neil@linux.intel.com>
3755 Date:   Tue Dec 7 12:33:39 2010 +0000
3756
3757     cogl-shader-boilerplate: Don't put the color attrib in location 0
3758     
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.
3763
3764  clutter/cogl/cogl/cogl-shader-boilerplate.h |    2 +-
3765  1 file changed, 1 insertion(+), 1 deletion(-)
3766
3767 commit cf0ded1361bd639f7143aef02f37f17f01bdcf04
3768 Author: Neil Roberts <neil@linux.intel.com>
3769 Date:   Thu Dec 2 22:08:51 2010 +0000
3770
3771     cogl-shader-boilerplate: Add more builtins for GLES2
3772     
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.
3778
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(-)
3782
3783 commit 17d689f79480f9d08c1ef8e62b990db0cdb6a36d
3784 Author: Neil Roberts <neil@linux.intel.com>
3785 Date:   Thu Dec 2 18:05:22 2010 +0000
3786
3787     cogl-pipeline: Rename the fragment_{source,header}_buffer to codegen
3788     
3789     We want to reuse the same buffers for vertends so calling them
3790     fragment_* doesn't make sense.
3791
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(-)
3798
3799 commit a3e53dd029632166a51333249baa49b5e97644c9
3800 Author: Neil Roberts <neil@linux.intel.com>
3801 Date:   Mon Nov 29 18:32:21 2010 +0000
3802
3803     cogl: Add a fixed function vertend
3804     
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.
3809
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(-)
3817
3818 commit 313adc7bdf9c8a0d61cedf7e34d1cd3e961a7ea2
3819 Author: Neil Roberts <neil@linux.intel.com>
3820 Date:   Thu Dec 2 14:00:46 2010 +0000
3821
3822     cogl: Add a GLSL 'progend'
3823     
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
3837     fragend state.
3838
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(-)
3848
3849 commit 1e3cdb60d6a6ad67c4e693687c5c9c64a25d7cec
3850 Author: Neil Roberts <neil@linux.intel.com>
3851 Date:   Thu Dec 2 13:54:15 2010 +0000
3852
3853     cogl-program: Add private functions to check if have each shader type
3854     
3855     This adds two internal functions:
3856     
3857     gboolean
3858     _cogl_program_has_fragment_shader (CoglHandle handle);
3859     
3860     gboolean
3861     _cogl_program_has_vertex_shader (CoglHandle handle);
3862     
3863     They just check whether any of the contained shaders are of that type.
3864
3865  clutter/cogl/cogl/cogl-program-private.h |    6 ++++++
3866  clutter/cogl/cogl/cogl-program.c         |   29 +++++++++++++++++++++++++++++
3867  2 files changed, 35 insertions(+)
3868
3869 commit 31f0eb4f715a3622260965b0b0a3be132cde8d23
3870 Author: Neil Roberts <neil@linux.intel.com>
3871 Date:   Wed Dec 1 17:06:18 2010 +0000
3872
3873     cogl-pipeline: Make find codegen authority more general
3874     
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.
3880
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(-)
3886
3887 commit a1996706a293458221bce7a4126f82f64e4ca3c3
3888 Author: Neil Roberts <neil@linux.intel.com>
3889 Date:   Tue Nov 30 12:48:27 2010 +0000
3890
3891     cogl-pipeline: Move texture enabling/disabling to fixed fragend
3892     
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.
3897     
3898     The GLES2 wrapper has also been changed to ignore enabledness when
3899     deciding whether to update texture coordinate attribute pointers.
3900
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(-)
3909
3910 commit 952878aab1d0610b09d048495295fd84499b70e9
3911 Author: Neil Roberts <neil@linux.intel.com>
3912 Date:   Mon Nov 29 16:56:41 2010 +0000
3913
3914     Rename CoglPipelineBackend to CoglPipelineFragend
3915     
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.
3922
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(-)
3941
3942 commit dc61d58c0df9dde51472bae17b1997c82cfcddb1
3943 Author: Neil Roberts <neil@linux.intel.com>
3944 Date:   Thu Dec 2 15:37:53 2010 +0000
3945
3946     cogl-pipeline-opengl: Remove the includes for the various backends
3947     
3948     Nothing in cogl-pipeline-opengl needs to know about the actual backend
3949     implementations, instead it just accesses then through the vtables.
3950
3951  clutter/cogl/cogl/cogl-pipeline-opengl.c |   10 ----------
3952  1 file changed, 10 deletions(-)
3953
3954 commit 54db48dfd1e1b151a3b92e160181f44305e21089
3955 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3956 Date:   Sat Dec 11 17:40:52 2010 +0000
3957
3958     animation: Allow transforming values in bind()
3959     
3960     While we do check for compatibility and transformability of a GValue
3961     with the GParamSpec value type, we are actually failing really badly
3962     at it.
3963     
3964     First of all, we bail out on the wrong conditions.
3965     
3966     Then we use the type of the value passed instead of using the type
3967     of the property itself.
3968     
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.
3973
3974  clutter/clutter-animation.c |   28 +++++++++++++++++++++++-----
3975  1 file changed, 23 insertions(+), 5 deletions(-)
3976
3977 commit ae4e06d8c4ca2bd93a12e4ace38c0c888edcddf1
3978 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3979 Date:   Fri Dec 10 17:15:39 2010 +0000
3980
3981     introspection: Skip some C-only structures
3982     
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.
3985     
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.
3989
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(-)
3995
3996 commit d5a418304712e38c7055114fa5b13a904fae9883
3997 Author: Emmanuele Bassi <ebassi@linux.intel.com>
3998 Date:   Fri Dec 10 17:15:23 2010 +0000
3999
4000     introspection: Add cairo-1.0 to the dependencies
4001
4002  clutter/Makefile.am |    2 +-
4003  1 file changed, 1 insertion(+), 1 deletion(-)
4004
4005 commit 49a43a0772d749d280a7fc6ceb561c6452dc859f
4006 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4007 Date:   Fri Dec 10 16:03:10 2010 +0000
4008
4009     Remove unnecessary duplicate name for private enumerations
4010
4011  clutter/clutter-actor-private.h |    6 ++----
4012  1 file changed, 2 insertions(+), 4 deletions(-)
4013
4014 commit b91c1ec21c80e99949a19865be2c44c53063d09e
4015 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4016 Date:   Thu Dec 9 16:05:55 2010 +0000
4017
4018     docs: Update NEWS
4019
4020  NEWS |   27 +++++++++++++++++++++++++++
4021  1 file changed, 27 insertions(+)
4022
4023 commit bc58de4658a206f07d51ddbb9b8c06f37c4cf841
4024 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4025 Date:   Thu Dec 9 15:52:04 2010 +0000
4026
4027     docs: Add 1.6 index to the API references
4028
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(+)
4033
4034 commit 36c3fc82c5c3eee50878f964f09939b9b169fd82
4035 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4036 Date:   Thu Dec 9 15:42:19 2010 +0000
4037
4038     Use G_STRFUNC correctly
4039     
4040     It cannot be chained up via the pre-processor.
4041
4042  clutter/egl/clutter-backend-egl.c       |    2 +-
4043  clutter/fruity/clutter-backend-fruity.c |    2 +-
4044  2 files changed, 2 insertions(+), 2 deletions(-)
4045
4046 commit 24133ddadcd71af74f52b009b178e0ffa9e51374
4047 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4048 Date:   Thu Dec 9 15:11:37 2010 +0000
4049
4050     Rename the EGLDisplay accessors
4051     
4052     The accessor for the EGL display should be namespaced for the correct
4053     backend-specific API.
4054
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(-)
4065
4066 commit f5b51a2428cb3575ca4cfba98926f4906e6aba8e
4067 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4068 Date:   Thu Dec 9 15:06:12 2010 +0000
4069
4070     docs: Documentation fixes
4071
4072  clutter/clutter-actor-private.h   |   30 ++++++++++++++++--------------
4073  doc/reference/clutter/Makefile.am |    1 +
4074  2 files changed, 17 insertions(+), 14 deletions(-)
4075
4076 commit ab0eb0a12b9cc05c417b49832b50b88a7cdb0958
4077 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4078 Date:   Thu Dec 9 13:59:08 2010 +0000
4079
4080     docs: Documentation fixes
4081
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(-)
4087
4088 commit 8c7298b0c11df3690a8eb5afdd9226af87b4d76f
4089 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4090 Date:   Thu Dec 9 13:49:01 2010 +0000
4091
4092     build: Check NEWS file during release, not distcheck
4093     
4094     The check-news option in configure.ac conflicts with the idea of using a
4095     buildbot to do a distcheck.
4096     
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.
4099     
4100     http://bugzilla.clutter-project.org/show_bug.cgi?id=2468
4101
4102  build/autotools/Makefile.am.release |   11 ++++++++++-
4103  configure.ac                        |    2 +-
4104  2 files changed, 11 insertions(+), 2 deletions(-)
4105
4106 commit 88f7579a9d4dd7b290216b5943d87c8143cceb04
4107 Author: Elliot Smith <elliot.smith@intel.com>
4108 Date:   Thu Dec 9 11:40:27 2010 +0000
4109
4110     cookbook: Remove bold on emphasis inside programlisting
4111     
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.
4115     
4116     Fix is to style emphasis elements inside programlistings
4117     so the font weight is not bold but is still italicised.
4118     
4119     http://bugzilla.clutter-project.org/show_bug.cgi?id=2475
4120
4121  doc/common/style.css |    3 +++
4122  1 file changed, 3 insertions(+)
4123
4124 commit ca42ec1a7a3a7b219477d6c16a0aff30d64efb1a
4125 Author: Jussi Kukkonen <jku@linux.intel.com>
4126 Date:   Thu Dec 2 16:08:10 2010 +0200
4127
4128     tests: Add test for clutter_model_get_iter_at_row()
4129     
4130     http://bugzilla.clutter-project.org/show_bug.cgi?id=2460
4131
4132  tests/conform/test-model.c |   17 +++++++++++++++++
4133  1 file changed, 17 insertions(+)
4134
4135 commit d8515bf4290bfece33fd41d356e86e74c0728067
4136 Author: Jussi Kukkonen <jku@linux.intel.com>
4137 Date:   Thu Dec 2 16:27:36 2010 +0200
4138
4139     Fix clutter_list_model_get_iter_at_row() when filtered
4140     
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].
4143     
4144     Patch makes the function return an iterator to the Nth non-filtered
4145     row or NULL.
4146     
4147     http://bugzilla.clutter-project.org/show_bug.cgi?id=2460
4148
4149  clutter/clutter-list-model.c |   58 +++++++++++++-----------------------------
4150  1 file changed, 17 insertions(+), 41 deletions(-)
4151
4152 commit e7f62bc936995c5d998f7c8dc4b2b1b7254ea97d
4153 Author: nobled <nobled@dreamwidth.org>
4154 Date:   Tue Dec 7 07:10:59 2010 +0000
4155
4156     wayland: Update to current api
4157     
4158     Adapt to changes from these wayland commits:
4159     35fd2a8cc68c42d90756330535de04cbbb4d2613
4160     2bb3ebe1e437acf836449f0a63f3264ad29566f2
4161     f8fc08f77187f6a5723281dab66841e5f3c24320
4162     
4163     http://bugzilla.clutter-project.org/show_bug.cgi?id=2474
4164
4165  clutter/wayland/clutter-backend-wayland.c |    8 ++++----
4166  1 file changed, 4 insertions(+), 4 deletions(-)
4167
4168 commit d8a544c0f17f5d6550578a426c1ef1c4060ca411
4169 Author: nobled <nobled@dreamwidth.org>
4170 Date:   Tue Dec 7 07:07:40 2010 +0000
4171
4172     wayland: fix typo
4173     
4174     Fixes the build error:
4175     
4176     clutter-input-device-wayland.c:154:69:
4177     error: too few arguments to function call
4178     
4179     http://bugzilla.clutter-project.org/show_bug.cgi?id=2473
4180
4181  clutter/wayland/clutter-input-device-wayland.c |    2 +-
4182  1 file changed, 1 insertion(+), 1 deletion(-)
4183
4184 commit 3795c9b975d43305c64ed24306736f764ef165bc
4185 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4186 Date:   Thu Dec 9 12:37:41 2010 +0000
4187
4188     build: Do not hardcode --warn-all for g-ir-scanner
4189     
4190     It's possible to use --warn-all through the introspection scanner
4191     options from outside the build environment.
4192
4193  clutter/Makefile.am |    3 ---
4194  1 file changed, 3 deletions(-)
4195
4196 commit d229036441b3f0a4f7ab5205de46b5dbc9d9d7a9
4197 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4198 Date:   Thu Dec 9 12:36:50 2010 +0000
4199
4200     Reduce the amount of g-ir-scanner warnings
4201     
4202     As much as we can; the remaining warnings are mostly valid things that
4203     the introspection scanner still flags as potential issues.
4204
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(-)
4214
4215 commit e1f48b15ee92f60f2a84c808ba0d505f38a1bf61
4216 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4217 Date:   Thu Dec 9 12:00:29 2010 +0000
4218
4219     docs: Use :reverse in the Behaviour migration guide
4220     
4221     Instead of the ::completed signal flip.
4222
4223  doc/reference/clutter/migrating-ClutterBehaviour.xml |    8 +++-----
4224  1 file changed, 3 insertions(+), 5 deletions(-)
4225
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
4230
4231     Merge remote branch 'elliot/cookbook-animations-looping-new-api'
4232     
4233     * elliot/cookbook-animations-looping-new-api:
4234       cookbook: Use new API to reverse timeline
4235
4236 commit b6318bd8218c021270370d6e8093d38bdabe791d
4237 Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
4238 Date:   Tue Dec 7 15:29:05 2010 +0100
4239
4240     Make clutter_shader_effect_set_uniform_value accept G_TYPE_DOUBLE
4241     
4242     For users of gobject-introspection that cannot know which
4243     non-integer type to pass.
4244     
4245     http://bugzilla.clutter-project.org/show_bug.cgi?id=2471
4246
4247  clutter/clutter-shader-effect.c |   12 +++++++++++-
4248  1 file changed, 11 insertions(+), 1 deletion(-)
4249
4250 commit cf1fced88507e0ccc2fa704d14b3141168a48360
4251 Author: Robert Bragg <robert@linux.intel.com>
4252 Date:   Wed Dec 8 18:57:42 2010 +0000
4253
4254     pipeline: don't dereference NULL program state
4255     
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.
4259
4260  clutter/cogl/cogl/cogl-pipeline-arbfp.c |   12 ++++++++----
4261  1 file changed, 8 insertions(+), 4 deletions(-)
4262
4263 commit 46295a0dd1c0dcbc130ed9dd3aed900e597c8d42
4264 Author: Robert Bragg <robert@linux.intel.com>
4265 Date:   Wed Dec 8 16:29:37 2010 +0000
4266
4267     arbfp: Copy pipelines used as cache keys
4268     
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
4273     memory.
4274     
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.
4283
4284  clutter/cogl/cogl/cogl-pipeline-arbfp.c |   34 ++++++++++++++++++++++++++++++-
4285  1 file changed, 33 insertions(+), 1 deletion(-)
4286
4287 commit 87b2300f98727525267a6849c36c74849ea993fd
4288 Author: Robert Bragg <robert@linux.intel.com>
4289 Date:   Wed Dec 8 16:27:57 2010 +0000
4290
4291     arbfp: initialize arbfp_program_state->next_constant_id
4292     
4293     When allocating a new ArbfpProgramState struct when starting code
4294     generation we weren't initializing arbfp_program_state->next_constant_id
4295     to 0.
4296
4297  clutter/cogl/cogl/cogl-pipeline-arbfp.c |    1 +
4298  1 file changed, 1 insertion(+)
4299
4300 commit bac600b21bcbe13d3259fb7cee9e2b378f807d74
4301 Author: Robert Bragg <robert@linux.intel.com>
4302 Date:   Wed Dec 8 16:23:10 2010 +0000
4303
4304     pipeline: Clarify stages for finding an arbfp program
4305     
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.
4313
4314  clutter/cogl/cogl/cogl-pipeline-arbfp.c |  102 ++++++++++++++++++-------------
4315  1 file changed, 60 insertions(+), 42 deletions(-)
4316
4317 commit 9606c42c559fefbf397047dad6da3f4f8958b459
4318 Author: Neil Roberts <neil@linux.intel.com>
4319 Date:   Mon Dec 6 21:14:33 2010 +0000
4320
4321     cogl-pipeline: Fix the layer_has_alpha_cb
4322     
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.
4326
4327  clutter/cogl/cogl/cogl-pipeline.c |    4 ++--
4328  1 file changed, 2 insertions(+), 2 deletions(-)
4329
4330 commit ab5f394e5aea5a79a0e5d6647e86402ca2ba5e4f
4331 Author: Robert Bragg <robert@linux.intel.com>
4332 Date:   Wed Dec 8 11:38:56 2010 +0000
4333
4334     pipeline: remove unused HashState member
4335     
4336     There was an unused pipeline_differences member as part of the HashState
4337     struct which this patch remove to avoid confusion.
4338
4339  clutter/cogl/cogl/cogl-pipeline.c |    1 -
4340  1 file changed, 1 deletion(-)
4341
4342 commit 5fd8e9c6083ff17202ceb2cfd2d1c56df0d1da14
4343 Author: Robert Bragg <robert@linux.intel.com>
4344 Date:   Wed Dec 8 11:35:16 2010 +0000
4345
4346     pipeline: initialize HashState flags member
4347     
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.
4352
4353  clutter/cogl/cogl/cogl-pipeline.c |    1 +
4354  1 file changed, 1 insertion(+)
4355
4356 commit ea66156c83dded1536009bbdd02032e5e3114c3a
4357 Author: Robert Bragg <robert@linux.intel.com>
4358 Date:   Wed Dec 8 11:30:00 2010 +0000
4359
4360     pipeline: don't use near/far symbols
4361     
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
4366     applications.
4367
4368  clutter/cogl/cogl/cogl-pipeline.c |    8 ++++----
4369  1 file changed, 4 insertions(+), 4 deletions(-)
4370
4371 commit acd3d615686f8b10589ac57b7fb16b4f968ae3fb
4372 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4373 Date:   Wed Dec 8 14:26:27 2010 +0000
4374
4375     docs: Fix listitem tag
4376
4377  clutter/clutter-color.c |    2 +-
4378  1 file changed, 1 insertion(+), 1 deletion(-)
4379
4380 commit c454526bbbd91224ab3fa580d80bf937b912d2cc
4381 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4382 Date:   Wed Dec 8 13:59:53 2010 +0000
4383
4384     docs: Clean up clutter_color_from_string()
4385     
4386     Add hsl() and hsla() formats, and clean up the wording.
4387
4388  clutter/clutter-color.c |   54 ++++++++++++++++++++++++++++++++---------------
4389  1 file changed, 37 insertions(+), 17 deletions(-)
4390
4391 commit ca7dc2f951f1d5cc59c364a186aa065449c2b85f
4392 Author: Neil Roberts <neil@linux.intel.com>
4393 Date:   Tue Dec 7 23:32:47 2010 +0000
4394
4395     cogl-backend-egl: Chain up to the X11 backend init_events
4396     
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.
4401
4402  clutter/egl/clutter-backend-egl.c |    5 +++++
4403  1 file changed, 5 insertions(+)
4404
4405 commit b0751d234240aa5e7899dedba22c607e75f5ad81
4406 Author: Damien Lespiau <damien.lespiau@intel.com>
4407 Date:   Tue Dec 7 22:06:07 2010 +0000
4408
4409     input-device: Downgrade over-zealous warning to note
4410     
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.
4413
4414  clutter/clutter-input-device.c |    4 ++--
4415  1 file changed, 2 insertions(+), 2 deletions(-)
4416
4417 commit f8fc194b3b3529bf4f3230cef00d5d0b042673bf
4418 Author: Neil Roberts <neil@linux.intel.com>
4419 Date:   Tue Dec 7 11:02:21 2010 +0000
4420
4421     clutter-score: Initialize ClutterScoreEntry::complete_id
4422     
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.
4428
4429  clutter/clutter-score.c |    1 +
4430  1 file changed, 1 insertion(+)
4431
4432 commit 9d836d8ce5d95749e1b3562f1cab77d9ac27cb1e
4433 Author: Robert Bragg <robert@linux.intel.com>
4434 Date:   Tue Dec 7 16:44:36 2010 +0000
4435
4436     context: only declare arbfp cache for GL
4437     
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
4442     fix GLES builds.
4443
4444  clutter/cogl/cogl/cogl-context.c |    4 ++++
4445  clutter/cogl/cogl/cogl-context.h |    2 ++
4446  2 files changed, 6 insertions(+)
4447
4448 commit 67c2a1b29fa679f3a86b8ee4cae682de8391397b
4449 Author: Robert Bragg <robert@linux.intel.com>
4450 Date:   Tue Dec 7 16:36:44 2010 +0000
4451
4452     pipeline: remove spurious use of True instead of TRUE
4453     
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.
4457
4458  clutter/cogl/cogl/cogl-pipeline.c |    4 ++--
4459  1 file changed, 2 insertions(+), 2 deletions(-)
4460
4461 commit 464ed7e6b7c35248c03fd0a03a8e8087e7b5e274
4462 Author: Robert Bragg <robert@linux.intel.com>
4463 Date:   Fri Dec 3 12:01:18 2010 +0000
4464
4465     arbfp: Adds an ARBfp program cache
4466     
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.
4471     
4472     There is a new COGL_DEBUG=disable-program-caches option that can disable
4473     the cache for debugging purposes.
4474
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(-)
4483
4484 commit e87c3820ee729930d4a7b84f4737b99eb26ad03d
4485 Author: Robert Bragg <robert@linux.intel.com>
4486 Date:   Thu Nov 4 13:57:36 2010 +0000
4487
4488     pipeline: Implements _cogl_pipeline_hash function
4489     
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.
4494
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(-)
4502
4503 commit cc36e49ec5f06f608380fba24682a69e9b0d0a1a
4504 Author: Robert Bragg <robert@linux.intel.com>
4505 Date:   Fri Dec 3 11:36:49 2010 +0000
4506
4507     pipeline: generalize _cogl_pipeline_equal
4508     
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.
4514     
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
4521     authorities.
4522
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(-)
4527
4528 commit 62b051951c80c31ee6874a1d156ce889350ce8be
4529 Author: Robert Bragg <robert@linux.intel.com>
4530 Date:   Tue Dec 7 12:13:10 2010 +0000
4531
4532     docs: don't dist cogl-2.0 manual if not built
4533     
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.
4540
4541  doc/reference/Makefile.am |    7 ++++++-
4542  1 file changed, 6 insertions(+), 1 deletion(-)
4543
4544 commit ff646b7fc3e4528836f415e4087ee30c6547ad7d
4545 Author: Robert Bragg <robert@linux.intel.com>
4546 Date:   Wed Dec 1 16:53:08 2010 +0000
4547
4548     pipeline: remove layer->backend_priv[] array
4549     
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.
4554
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(-)
4560
4561 commit 1180fd159edea9b3907c186d45013348c041b216
4562 Author: Robert Bragg <robert@linux.intel.com>
4563 Date:   Wed Dec 1 16:37:25 2010 +0000
4564
4565     cogl-object: remove un-used cogl_object_get_type
4566     
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.
4574
4575  clutter/cogl/cogl/cogl-object.c |    8 +-------
4576  1 file changed, 1 insertion(+), 7 deletions(-)
4577
4578 commit ef02cb7ff203b12932697823fbcc59a7bd04ad4d
4579 Author: Robert Bragg <robert@linux.intel.com>
4580 Date:   Mon Nov 29 21:42:06 2010 +0000
4581
4582     matrix gtype: registers a boxed type for CoglMatrix
4583     
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".
4587     
4588     This adds a new section to the reference manual for GType integration
4589     functions.
4590
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(-)
4601
4602 commit c29a7526c040209a5ca0bb327f1df6a98c4d88aa
4603 Author: Robert Bragg <robert@linux.intel.com>
4604 Date:   Mon Nov 29 18:47:10 2010 +0000
4605
4606     matrix: Adds matrix_copy and _free functions
4607     
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.
4611
4612  clutter/cogl/cogl/cogl-matrix.c |   15 +++++++++++++++
4613  clutter/cogl/cogl/cogl-matrix.h |   27 +++++++++++++++++++++++++++
4614  2 files changed, 42 insertions(+)
4615
4616 commit 3edd02841b5748bbad0977ba9ccd91d65651f819
4617 Author: Robert Bragg <robert@linux.intel.com>
4618 Date:   Fri Dec 3 16:59:52 2010 +0000
4619
4620     pipeline simple optimization for _needs_blending_enabled
4621     
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.
4628     
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.
4633
4634  clutter/cogl/cogl/cogl-pipeline.c |   17 +++++++++++++----
4635  1 file changed, 13 insertions(+), 4 deletions(-)
4636
4637 commit 9ff191bd3bfba0000547c3082e7fe6c57152bbe5
4638 Author: Robert Bragg <robert@linux.intel.com>
4639 Date:   Fri Dec 3 16:56:54 2010 +0000
4640
4641     pipeline: inline _get_parent and _get_authority
4642     
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.
4647
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(-)
4651
4652 commit 3fa91efea84c2c442fcc92e8ed0df711d7e67988
4653 Author: Neil Roberts <neil@linux.intel.com>
4654 Date:   Wed Nov 10 14:02:31 2010 +0000
4655
4656     Add a COGL_DEBUG option to disable software clipping
4657     
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.
4661
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(-)
4667
4668 commit 62c893feee386223aebbab781171028db547d7f9
4669 Author: Neil Roberts <neil@linux.intel.com>
4670 Date:   Tue Nov 9 19:18:37 2010 +0000
4671
4672     cogl-journal: Attempt to clip manually to avoid breaking up batches
4673     
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.
4681     
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.
4687     
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.
4694
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(-)
4700
4701 commit be63fcee7ff2ef33d25efd873f9a9b79856e1577
4702 Author: Neil Roberts <neil@linux.intel.com>
4703 Date:   Tue Nov 9 19:09:25 2010 +0000
4704
4705     cogl-clip-stack: Move the struct definitions to the header
4706     
4707     It will be useful to be able to directly examine the contents of the
4708     clip stack within the journal code.
4709
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(-)
4713
4714 commit dc0506a1649bcea4997a68013927529451131712
4715 Author: Neil Roberts <neil@linux.intel.com>
4716 Date:   Tue Nov 9 12:01:04 2010 +0000
4717
4718     cogl-clip-stack: Don't convert rect clips to window clips
4719     
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.
4731
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(-)
4735
4736 commit 22be07c3b5ec7d8d5e5e0447599425026cbb7bd8
4737 Author: Neil Roberts <neil@linux.intel.com>
4738 Date:   Thu Nov 25 21:08:45 2010 +0000
4739
4740     cogl-journal: Defer expanding the vertices until uploading
4741     
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.
4752     
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
4757     matrix.
4758     
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.
4763
4764  clutter/cogl/cogl/cogl-context.h |    1 +
4765  clutter/cogl/cogl/cogl-journal.c |  273 ++++++++++++++++++++++++--------------
4766  2 files changed, 173 insertions(+), 101 deletions(-)
4767
4768 commit a7d88e15270e73025b19f745f21473b832fb1754
4769 Author: Neil Roberts <neil@linux.intel.com>
4770 Date:   Thu Dec 2 21:08:30 2010 +0000
4771
4772     Revert "cogl: Remove the generated array size for cogl_tex_coord_in"
4773     
4774     This reverts commit 4cfe90bde275dbb952645397aa2ba2d6f6e2f3ba.
4775     
4776     GLSL 1.00 on GLES doesn't support unsized arrays so the whole idea
4777     can't work.
4778     
4779     Conflicts:
4780     
4781         clutter/cogl/cogl/cogl-pipeline-glsl.c
4782
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(-)
4797
4798 commit e0ce4cee8c6fb8d40d565cf3890942a0bc898bc0
4799 Author: Damien Lespiau <damien.lespiau@intel.com>
4800 Date:   Thu Dec 2 15:46:40 2010 +0000
4801
4802     win32: export TARGET and ROOT_DIR in env.sh
4803     
4804     So children of the shell sourcing it can use them (eg. buildbot slaves)
4805
4806  build/mingw/mingw-cross-compile.sh |    4 ++--
4807  1 file changed, 2 insertions(+), 2 deletions(-)
4808
4809 commit c1878316e02dce0ff10c8e81ee3fa3b6ea9bb9cb
4810 Author: Damien Lespiau <damien.lespiau@intel.com>
4811 Date:   Thu Dec 2 15:41:43 2010 +0000
4812
4813     win32: Detect the mingw32 cross compiler on Fedora
4814     
4815     Fedora mingw32 cross compiler is prefix with i686-pc-mingw32-.
4816
4817  build/mingw/mingw-cross-compile.sh |    2 +-
4818  1 file changed, 1 insertion(+), 1 deletion(-)
4819
4820 commit e73d5b30bbb927eae5ae2cd270df9d79c821c109
4821 Author: Damien Lespiau <damien.lespiau@intel.com>
4822 Date:   Thu Dec 2 14:03:01 2010 +0000
4823
4824     win32: Update glib and cairo version in mingw-cross-compile.sh
4825     
4826     Clutter has moved on and now depends on glib 2.26 and cairo 1.10
4827     (for cairo-gobject).
4828
4829  build/mingw/mingw-cross-compile.sh |    4 ++--
4830  1 file changed, 2 insertions(+), 2 deletions(-)
4831
4832 commit dd5431ef382a59337cfda04bc31cebc28085f17f
4833 Author: Neil Roberts <neil@linux.intel.com>
4834 Date:   Thu Dec 2 16:30:55 2010 +0000
4835
4836     cogl-pipeline-glsl: Fix reusing shaders for shared ancestors
4837     
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.
4848
4849  clutter/cogl/cogl/cogl-pipeline-glsl.c |   32 +++++++++++++++-----------------
4850  1 file changed, 15 insertions(+), 17 deletions(-)
4851
4852 commit 4cfe90bde275dbb952645397aa2ba2d6f6e2f3ba
4853 Author: Neil Roberts <neil@linux.intel.com>
4854 Date:   Thu Dec 2 12:27:29 2010 +0000
4855
4856     cogl: Remove the generated array size for cogl_tex_coord_in
4857     
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:
4864     
4865     varying vec4 gl_TexCoord[]; /* <-- no size */
4866     
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.
4872     
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.
4879     
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.
4884
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(-)
4899
4900 commit 50849ac1fdc7840cced9aa1730b5d3f7fd4d5d02
4901 Author: Elliot Smith <elliot.smith@intel.com>
4902 Date:   Tue Nov 30 16:52:01 2010 +0000
4903
4904     cookbook: Use new API to reverse timeline
4905     
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
4909     examples.
4910
4911  doc/cookbook/animations.xml                        |   25 ++++++++++++++------
4912  .../examples/animations-looping-implicit.c         |   24 +------------------
4913  2 files changed, 19 insertions(+), 30 deletions(-)
4914
4915 commit 4f17bf3bcc5c017ef14a876f172ba3b1c3590317
4916 Author: Emmanuele Bassi <ebassi@linux.intel.com>
4917 Date:   Tue Nov 30 18:55:38 2010 +0000
4918
4919     keysyms: Update the list
4920     
4921     Add TouchpadOn and TouchpadOff from the X11 key symbols.
4922
4923  clutter/clutter-keysyms-compat.h |    2 ++
4924  clutter/clutter-keysyms.h        |    2 ++
4925  2 files changed, 4 insertions(+)
4926
4927 commit 87a72d188e7d986686106859a4d4f229b20dfe7a
4928 Author: Neil Roberts <neil@linux.intel.com>
4929 Date:   Wed Dec 1 15:48:37 2010 +0000
4930
4931     cogl-pipeline: Fix comparing layer states for finding codgen authority
4932     
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.
4944
4945  clutter/cogl/cogl/cogl-pipeline.c |   11 +++++++++--
4946  1 file changed, 9 insertions(+), 2 deletions(-)
4947
4948 commit f620d53054e50e4ddcf656794a38d13c21d0dbf6
4949 Author: Neil Roberts <neil@linux.intel.com>
4950 Date:   Wed Dec 1 14:39:28 2010 +0000
4951
4952     cogl-pipeline: Fix the codgen authority for texture target changes
4953     
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.
4962
4963  clutter/cogl/cogl/cogl-pipeline.c |   29 ++++++++++++++---------------
4964  1 file changed, 14 insertions(+), 15 deletions(-)
4965
4966 commit a38fa7a2dfc3a169777ba172d145178b9b068d73
4967 Author: Neil Roberts <neil@linux.intel.com>
4968 Date:   Tue Nov 30 22:28:38 2010 +0000
4969
4970     cogl-pipeline-fixed: Use the correct state flag for combine constant
4971     
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.
4975
4976  clutter/cogl/cogl/cogl-pipeline-fixed.c |    6 +++---
4977  1 file changed, 3 insertions(+), 3 deletions(-)
4978
4979 commit 499a370ee326ea24fd0fff55466877a6f286d9fd
4980 Author: Neil Roberts <neil@linux.intel.com>
4981 Date:   Tue Nov 30 22:17:17 2010 +0000
4982
4983     cogl-pipeline-opengl: Fix enabling previously disabled units
4984     
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
4989     to the scene.
4990
4991  clutter/cogl/cogl/cogl-pipeline-opengl.c |    1 +
4992  1 file changed, 1 insertion(+)
4993
4994 commit 17a98875d33c872800c04c26338427970b88b308
4995 Author: Neil Roberts <neil@linux.intel.com>
4996 Date:   Tue Nov 30 22:15:40 2010 +0000
4997
4998     cogl-pipeline: Add more ignored state changes for program generation
4999     
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
5003     shader every frame.
5004
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(-)
5008
5009 commit 1564418b3feb9ab010c225129bc1b79b7c882318
5010 Author: Damien Lespiau <damien.lespiau@intel.com>
5011 Date:   Tue Nov 30 16:36:56 2010 +0000
5012
5013     cogl: Revert "build: Remove unused variable"
5014     
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:
5017     
5018      #ifdef HAVE_COGL_GL
5019      #define glClientActiveTexture ctx->drv.pf_glClientActiveTexture
5020      #endif
5021     
5022     This reverts commit 27a3a2056a245aca64b8e3a7d82b7976c13e897a.
5023
5024  clutter/cogl/cogl/cogl.c |    2 ++
5025  1 file changed, 2 insertions(+)
5026
5027 commit 8ee91794477c82171e0b165fb9e10655798682a0
5028 Author: Damien Lespiau <damien.lespiau@intel.com>
5029 Date:   Tue Nov 30 16:22:49 2010 +0000
5030
5031     egl: Fix compilation with EGLX
5032     
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!
5036
5037  clutter/egl/clutter-backend-egl.c |    4 ++++
5038  1 file changed, 4 insertions(+)
5039
5040 commit bbbd91e581ca6d7408c1f6fa2f1b6d50d2c4db2b
5041 Author: Damien Lespiau <damien.lespiau@intel.com>
5042 Date:   Tue Nov 30 16:03:26 2010 +0000
5043
5044     cogl: Fix unused variable warning with GLES2
5045     
5046     This shader variable is only used with big GL.
5047
5048  clutter/cogl/cogl/cogl-shader.c |    2 ++
5049  1 file changed, 2 insertions(+)
5050
5051 commit 9ad55edf24f74353c095153e370d6f648f4e5593
5052 Author: Damien Lespiau <damien.lespiau@intel.com>
5053 Date:   Tue Nov 30 10:06:12 2010 -0500
5054
5055     egl: Don't try to use stage_x11 with non-X winsys
5056     
5057     The access to stage_x11 has to be protected by COGL_HAS_X11_SUPPORT.
5058
5059  clutter/egl/clutter-stage-egl.c |    7 +++++--
5060  1 file changed, 5 insertions(+), 2 deletions(-)
5061
5062 commit 4ceb95d2ca5f5a52a77bfcada47d5befc6ab1fd1
5063 Author: Damien Lespiau <damien.lespiau@intel.com>
5064 Date:   Tue Nov 30 14:50:13 2010 +0000
5065
5066     evdev: Add a comment to revisit the GSource management with glib 2.28
5067     
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
5070     in a few months.
5071
5072  clutter/evdev/clutter-device-manager-evdev.c |    7 ++++++-
5073  1 file changed, 6 insertions(+), 1 deletion(-)
5074
5075 commit 27a3a2056a245aca64b8e3a7d82b7976c13e897a
5076 Author: Damien Lespiau <damien.lespiau@intel.com>
5077 Date:   Fri Nov 19 14:51:39 2010 -0500
5078
5079     build: Remove unused variable
5080     
5081     and be 100% warning free again.
5082
5083  clutter/cogl/cogl/cogl.c |    2 --
5084  1 file changed, 2 deletions(-)
5085
5086 commit 9ba5447c9bbbd93808a56d9968b2e60f20bbd328
5087 Author: Damien Lespiau <damien.lespiau@intel.com>
5088 Date:   Fri Nov 19 14:31:51 2010 -0500
5089
5090     evdev: Enable the compilation of the evdev backend for eglnative
5091     
5092     Not tested (but checked that it compiles).
5093     
5094     There's no reason to only enable the check for the cex100. Hopefully
5095     should work.
5096     
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.
5100
5101  configure.ac |   17 +++++++++++++++--
5102  1 file changed, 15 insertions(+), 2 deletions(-)
5103
5104 commit bce4c87232bea82560725fa44e079088d75a367f
5105 Author: Damien Lespiau <damien.lespiau@intel.com>
5106 Date:   Fri Nov 19 14:19:52 2010 -0500
5107
5108     evdev: Don't oveflow when translating buttons to masks
5109     
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.
5114
5115  clutter/evdev/clutter-device-manager-evdev.c |    4 ++--
5116  1 file changed, 2 insertions(+), 2 deletions(-)
5117
5118 commit ac431ac21db043d42fa5b0be604a155503846012
5119 Author: Damien Lespiau <damien.lespiau@intel.com>
5120 Date:   Thu Nov 11 19:11:27 2010 -0500
5121
5122     input-device: Warn if the device has no associated stage
5123     
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().
5128
5129  clutter/clutter-input-device.c |    8 ++++++--
5130  1 file changed, 6 insertions(+), 2 deletions(-)
5131
5132 commit c20beabf93a97c3e0d58d8512aa5459ca670d3bf
5133 Author: Damien Lespiau <damien.lespiau@intel.com>
5134 Date:   Thu Nov 11 19:07:35 2010 -0500
5135
5136     evdev: Add mouse support
5137     
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.
5143
5144  clutter/evdev/clutter-device-manager-evdev.c |  223 +++++++++++++++++++++++---
5145  tests/interactive/test-events.c              |    8 +-
5146  2 files changed, 204 insertions(+), 27 deletions(-)
5147
5148 commit 94c2812d720bbdd3db3d779f1f96438b65ae383d
5149 Author: Damien Lespiau <damien.lespiau@intel.com>
5150 Date:   Tue Nov 9 13:14:37 2010 -0500
5151
5152     evdev: Only create a xkbcommon mapping for keyboard devices
5153
5154  clutter/evdev/clutter-device-manager-evdev.c |   44 ++++++++++++++++----------
5155  1 file changed, 27 insertions(+), 17 deletions(-)
5156
5157 commit 7cd6ba282865491d1e60e830676a363c72f21c25
5158 Author: Damien Lespiau <damien.lespiau@intel.com>
5159 Date:   Tue Nov 9 13:02:53 2010 -0500
5160
5161     evdev: Close the device gracefully in case of a read() error
5162     
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.
5166
5167  clutter/evdev/clutter-device-manager-evdev.c |   20 +++++++++++++++++++-
5168  1 file changed, 19 insertions(+), 1 deletion(-)
5169
5170 commit afd279dd7684bfd28b07cf668a1aaf213239cfd4
5171 Author: Damien Lespiau <damien.lespiau@intel.com>
5172 Date:   Tue Nov 9 12:50:23 2010 -0500
5173
5174     evdev: Merge clutter-event-evdev.[ch] into the device manager
5175     
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.
5180
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(-)
5188
5189 commit afee3b009cff5149a1a97aadb3d8009c7b4a26f8
5190 Author: Damien Lespiau <damien.lespiau@intel.com>
5191 Date:   Tue Nov 9 11:56:26 2010 -0500
5192
5193     evdev: Support hotplug (addition/removal) of evdev devices
5194     
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.
5198
5199  clutter/evdev/clutter-device-manager-evdev.c |   59 ++++++++++++++++++++++++++
5200  clutter/evdev/clutter-event-evdev.c          |   49 +++++++++++++++++++++
5201  2 files changed, 108 insertions(+)
5202
5203 commit b83a4813a4fbf6818bed9f15d8fcf1d7c3717c9a
5204 Author: Damien Lespiau <damien.lespiau@intel.com>
5205 Date:   Mon Nov 8 11:38:16 2010 -0500
5206
5207     evdev: Make sure we only add evdev devices
5208     
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.
5212
5213  clutter/evdev/clutter-device-manager-evdev.c |   35 ++++++++++++++++++++------
5214  1 file changed, 28 insertions(+), 7 deletions(-)
5215
5216 commit c6493885c3f18042f39273a2efa4fc3616d932b2
5217 Author: Damien Lespiau <damien.lespiau@intel.com>
5218 Date:   Thu Nov 4 10:38:32 2010 -0400
5219
5220     evdev: First stab at an evdev backend
5221     
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.
5226     
5227     This commit only supports key events, more to follow.
5228
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(-)
5242
5243 commit 9f5f62b4b53da3354b35789a8c04b83272252b3b
5244 Author: Damien Lespiau <damien.lespiau@intel.com>
5245 Date:   Thu Nov 4 10:09:28 2010 -0400
5246
5247     evdev: Fix the unicode_value for new ClutterEvents
5248     
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
5251     the same then.
5252     
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.
5256
5257  clutter/evdev/clutter-xkb-utils.c |   71 ++++++++++++++++++++++++++++++++++++-
5258  1 file changed, 70 insertions(+), 1 deletion(-)
5259
5260 commit ef5256ec25e6261947e107256ce36ead42fcab88
5261 Author: Damien Lespiau <damien.lespiau@intel.com>
5262 Date:   Thu Nov 4 06:59:22 2010 -0400
5263
5264     evdev: Factor out the xkbcommon code from the wayland client backend
5265     
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.
5269     
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.
5273
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(-)
5279
5280 commit b5a9de1a23a58c1d52f5a394696a8532dc42befe
5281 Author: Emmanuele Bassi <ebassi@linux.intel.com>
5282 Date:   Tue Nov 30 10:35:17 2010 +0000
5283
5284     moduleset: Add gstreamer and gst-plugins-good
5285
5286  build/clutter.modules |   26 ++++++++++++++++++++++++++
5287  1 file changed, 26 insertions(+)
5288
5289 commit 1d153fa860850e4d24df16a64b499a5690fbfeab
5290 Author: Emmanuele Bassi <ebassi@linux.intel.com>
5291 Date:   Tue Nov 30 10:34:59 2010 +0000
5292
5293     moduleset: Disable stand-alone Cally
5294
5295  build/clutter.modules |    2 ++
5296  1 file changed, 2 insertions(+)
5297
5298 commit 085962a361d1150f3f59a1e4925e89814a86c931
5299 Author: Emmanuele Bassi <ebassi@linux.intel.com>
5300 Date:   Tue Nov 30 10:34:38 2010 +0000
5301
5302     moduleset: Switch gtk2 to the 2.24 branch
5303
5304  build/clutter.modules |    2 +-
5305  1 file changed, 1 insertion(+), 1 deletion(-)
5306
5307 commit 5e085e8d7f26e5191d67657ae4eacf3dab2e9906
5308 Author: Emmanuele Bassi <ebassi@linux.intel.com>
5309 Date:   Mon Nov 29 14:21:21 2010 +0000
5310
5311     Post-release version bump to 1.5.9
5312
5313  configure.ac       |    2 +-
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(-)
5322
5323 commit 8cebec6bdcefe84c2c663fce380c24f5ac88cfa4
5324 Author: Emmanuele Bassi <ebassi@linux.intel.com>
5325 Date:   Mon Nov 29 14:09:09 2010 +0000
5326
5327     Release Clutter 1.5.8 (snapshot)
5328
5329  configure.ac |    2 +-
5330  1 file changed, 1 insertion(+), 1 deletion(-)
5331
5332 commit d046df8e6f1c1dfdf4144b1cbe2494d71ac3adc4
5333 Author: Neil Roberts <neil@linux.intel.com>
5334 Date:   Mon Nov 29 10:55:49 2010 +0000
5335
5336     cogl-shader.c: Don't add the common boilerplate twice
5337     
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
5344     defined twice.
5345
5346  clutter/cogl/cogl/cogl-shader.c |    8 ++------
5347  1 file changed, 2 insertions(+), 6 deletions(-)
5348
5349 commit ae300dc8e08d28dad821f7c843fe2b01783efb5a
5350 Author: Neil Roberts <neil@linux.intel.com>
5351 Date:   Mon Nov 29 10:51:40 2010 +0000
5352
5353     cogl-pipeline-glsl: Use char* instead of GLchar*
5354     
5355     It appears that some GLES2 headers don't define GLchar and it works
5356     just as well to use a regular char.
5357
5358  clutter/cogl/cogl/cogl-pipeline-glsl.c |    2 +-
5359  1 file changed, 1 insertion(+), 1 deletion(-)
5360
5361 commit 08308fd3978dff227b8e0c8e1388a590bde29f25
5362 Author: Emmanuele Bassi <ebassi@linux.intel.com>
5363 Date:   Mon Nov 29 12:23:14 2010 +0000
5364
5365     docs: Close a tag
5366
5367  clutter/clutter-color.c |    2 ++
5368  1 file changed, 2 insertions(+)
5369
5370 commit 556c938b4d6d3cb4743e00d95c0347e483d847a2
5371 Author: Emmanuele Bassi <ebassi@linux.intel.com>
5372 Date:   Mon Nov 29 12:01:20 2010 +0000
5373
5374     Update NEWS
5375
5376  NEWS |    4 +++-
5377  1 file changed, 3 insertions(+), 1 deletion(-)
5378
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
5383
5384     Merge remote branch 'elliot/cookbook-animations-scaling'
5385     
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
5391
5392 commit 67143bd846c2b39ce94779d7ab2b5bd48e58d1cd
5393 Author: Chris Lord <chris@linux.intel.com>
5394 Date:   Thu Nov 25 15:11:42 2010 +0000
5395
5396     text: Optimise get_preferred_height for single-line-mode
5397     
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.
5401
5402  clutter/clutter-text.c |    5 ++++-
5403  1 file changed, 4 insertions(+), 1 deletion(-)
5404
5405 commit e1b58d9407845a249bc59cd270be50d43d34126b
5406 Author: Emmanuele Bassi <ebassi@linux.intel.com>
5407 Date:   Mon Nov 29 11:19:16 2010 +0000
5408
5409     Update NEWS file
5410
5411  NEWS |   32 ++++++++++++++++++++++++++++++--
5412  1 file changed, 30 insertions(+), 2 deletions(-)
5413
5414 commit 850a35f069368b645ceb8e027b6b27863dba308b
5415 Author: Emmanuele Bassi <ebassi@linux.intel.com>
5416 Date:   Mon Nov 29 10:59:16 2010 +0000
5417
5418     shader-effect: Remove unused function
5419     
5420     The reset_uniforms() internal function is not used any more because the
5421     CoglProgram cannot be reset post-creation - hence the uniforms cannot
5422     change.
5423
5424  clutter/clutter-shader-effect.c |   50 +++++++++++++--------------------------
5425  1 file changed, 16 insertions(+), 34 deletions(-)
5426
5427 commit 08087c965bf312513f98a53bf3220e92c372d131
5428 Author: Neil Roberts <neil@linux.intel.com>
5429 Date:   Sat Nov 27 16:26:20 2010 +0000
5430
5431     ClutterShaderEffect: Don't throw away the program for a new actor
5432     
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.
5437     
5438     http://bugzilla.clutter-project.org/show_bug.cgi?id=2454
5439
5440  clutter/clutter-shader-effect.c |   42 ++++++++++++++++++---------------------
5441  1 file changed, 19 insertions(+), 23 deletions(-)
5442
5443 commit 2dc9e0dc2941a1f805e71a656585037ced0ed721
5444 Author: Neil Roberts <neil@linux.intel.com>
5445 Date:   Sat Nov 27 16:27:59 2010 +0000
5446
5447     ClutterOffscreenEffect: Don't throw away the material for a new actor
5448     
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.
5454     
5455     http://bugzilla.clutter-project.org/show_bug.cgi?id=2454
5456
5457  clutter/clutter-offscreen-effect.c |    6 ------
5458  1 file changed, 6 deletions(-)
5459
5460 commit b63e9ee8f8717dbf73e15df1e9a9d115dcb45504
5461 Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
5462 Date:   Sat Nov 27 16:07:01 2010 +0100
5463
5464     Don't bail out from creating the FBO if we don't have it yet.
5465     
5466     This happens when reattaching an effect to another actor.
5467     
5468     http://bugzilla.clutter-project.org/show_bug.cgi?id=2453
5469
5470  clutter/clutter-offscreen-effect.c |    3 ++-
5471  1 file changed, 2 insertions(+), 1 deletion(-)
5472
5473 commit 47d63c1c550776de52841f3d5508f20b48f5d722
5474 Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
5475 Date:   Sat Nov 27 16:04:50 2010 +0100
5476
5477     Set the signal handler to 0 when disconnecting it.
5478     
5479     Otherwise we'll try to disconnect it again later.
5480     
5481     http://bugzilla.clutter-project.org/show_bug.cgi?id=2452
5482
5483  clutter/clutter-actor-meta.c |    5 ++++-
5484  1 file changed, 4 insertions(+), 1 deletion(-)
5485
5486 commit 215d87abe9ccfe98cbf0e5e73f5c8edf4106a7ce
5487 Author: Emmanuele Bassi <ebassi@linux.intel.com>
5488 Date:   Mon Nov 29 08:55:13 2010 +0000
5489
5490     shader-effect: Zero out ShaderUniform
5491     
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.
5495     
5496     Mentioned in: http://bugzilla.clutter-project.org/show_bug.cgi?id=2455
5497
5498  clutter/clutter-shader-effect.c |    3 +--
5499  1 file changed, 1 insertion(+), 2 deletions(-)
5500
5501 commit 21e47d4280e27393d7510e232a1b1ee19b426032
5502 Author: Neil Roberts <neil@linux.intel.com>
5503 Date:   Fri Nov 26 15:23:15 2010 +0000
5504
5505     cogl_pipeline_equal: Fix the comparison for layer texture equality
5506     
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
5519     handles.
5520
5521  clutter/cogl/cogl/cogl-pipeline.c |    9 ++++++++-
5522  1 file changed, 8 insertions(+), 1 deletion(-)
5523
5524 commit b424bd75124c4dc34510b056376a7f04f4620e53
5525 Author: Robert Bragg <robert@linux.intel.com>
5526 Date:   Mon Nov 1 13:53:16 2010 +0000
5527
5528     tests: Adds test-cogl-perf micro benchmark
5529     
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.
5536
5537  tests/micro-bench/Makefile.am      |    4 +-
5538  tests/micro-bench/test-cogl-perf.c |  161 ++++++++++++++++++++++++++++++++++++
5539  2 files changed, 164 insertions(+), 1 deletion(-)
5540
5541 commit 58a467c9270ec325431fc963aa8a862ae69fcabf
5542 Author: Robert Bragg <robert@linux.intel.com>
5543 Date:   Thu Nov 25 20:12:36 2010 +0000
5544
5545     primitives: avoid leaking polygon override materials
5546     
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.
5550
5551  clutter/cogl/cogl/cogl-primitives.c |    3 +++
5552  1 file changed, 3 insertions(+)
5553
5554 commit 01b93537ab9743dfd6aa2f0c3d4499420ee860cd
5555 Author: Alexandre Quessy <alexandre@quessy.net>
5556 Date:   Thu Nov 25 13:13:51 2010 -0500
5557
5558     Fixed "the the" repetitions in some doc strings
5559     
5560     http://bugzilla.clutter-project.org/show_bug.cgi?id=2450
5561
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(-)
5570
5571 commit 3729e47ef68dd0f4257563985d784b687acce5d2
5572 Author: Robert Bragg <robert@linux.intel.com>
5573 Date:   Thu Nov 25 13:19:59 2010 +0000
5574
5575     pipeline: Simplify layer change notifications to backend
5576     
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).
5582     
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.
5589
5590  clutter/cogl/cogl/cogl-pipeline.c |   22 ++++++++++------------
5591  1 file changed, 10 insertions(+), 12 deletions(-)
5592
5593 commit 6ddb8397110f6e6998e0262e5d3dd604cd93d670
5594 Author: Neil Roberts <neil@linux.intel.com>
5595 Date:   Thu Nov 25 10:56:50 2010 +0000
5596
5597     clutter-offscreen-effect: Don't recreate the material when FBO changes
5598     
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.
5606
5607  clutter/clutter-offscreen-effect.c |   12 +++++-------
5608  1 file changed, 5 insertions(+), 7 deletions(-)
5609
5610 commit 1b2a748d6c180454f0501859b4b02dc8c94d75e0
5611 Author: Neil Roberts <neil@linux.intel.com>
5612 Date:   Wed Nov 24 18:37:47 2010 +0000
5613
5614     cogl-context: Get rid of the features_cached member
5615     
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.
5630
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(-)
5637
5638 commit b9176e8672fa56cf627b3d47e06598338d32e5ea
5639 Author: Neil Roberts <neil@linux.intel.com>
5640 Date:   Wed Nov 24 17:42:34 2010 +0000
5641
5642     Lower the priority of the GLSL pipeline backend
5643     
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.
5651
5652  clutter/cogl/cogl/cogl-pipeline-private.h |   12 ++++++------
5653  1 file changed, 6 insertions(+), 6 deletions(-)
5654
5655 commit d19f6212ce84894a79554f183d001deb25464721
5656 Author: Neil Roberts <neil@linux.intel.com>
5657 Date:   Wed Nov 24 17:29:00 2010 +0000
5658
5659     Add a COGL_DEBUG option to disable the fixed function pipeline backend
5660     
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.
5664
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(-)
5670
5671 commit 577d65c2c964aba9046aa07ef76aaf1a99c32b70
5672 Author: Neil Roberts <neil@linux.intel.com>
5673 Date:   Wed Nov 24 17:33:07 2010 +0000
5674
5675     Don't use the fixed function backend if there is a user program
5676     
5677     The fixed function pipeline backend can't handle a user program so it
5678     should bail out if one is given.
5679
5680  clutter/cogl/cogl/cogl-pipeline-fixed.c |    6 ++++++
5681  1 file changed, 6 insertions(+)
5682
5683 commit aa498072e075cc1ef4a85a0d14fb7b78ba749e3a
5684 Author: Neil Roberts <neil@linux.intel.com>
5685 Date:   Wed Nov 24 17:37:55 2010 +0000
5686
5687     Add a warning message when no usable Cogl pipeline backend is found
5688     
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
5691     going on.
5692
5693  clutter/cogl/cogl/cogl-pipeline-opengl.c |    3 +++
5694  1 file changed, 3 insertions(+)
5695
5696 commit 289e880efd4b7e2434619cbbe18ae444d4c52fd8
5697 Author: Neil Roberts <neil@linux.intel.com>
5698 Date:   Wed Nov 24 15:30:56 2010 +0000
5699
5700     cogl-pipeline-glsl: Don't use gl_PointCoord on OpenGL
5701     
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
5708     glTexEnv function.
5709
5710  clutter/cogl/cogl/cogl-pipeline-glsl.c |    9 ++++++++-
5711  1 file changed, 8 insertions(+), 1 deletion(-)
5712
5713 commit 9c32d07453fbc06c44e8c0fca6ef6e85f23ebf0b
5714 Author: Neil Roberts <neil@linux.intel.com>
5715 Date:   Sat Jul 17 14:11:02 2010 +0100
5716
5717     Add a conformance test that uses a vertex shader with no frag shader
5718     
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.
5724     
5725     http://bugzilla.clutter-project.org/show_bug.cgi?id=2221
5726
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(+)
5731
5732 commit a50010fb408294dce2d1205fe3a70aeead39c192
5733 Author: Neil Roberts <neil@linux.intel.com>
5734 Date:   Tue Nov 23 14:47:17 2010 +0000
5735
5736     Remove the fragment shader generation from the GLES2 wrapper
5737     
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
5746     shaders.
5747
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(-)
5754
5755 commit 987e3c32dc733b5f6942a10651750080730272e6
5756 Author: Neil Roberts <neil@linux.intel.com>
5757 Date:   Tue Nov 23 14:51:49 2010 +0000
5758
5759     Disable the fixed function backend for GLES2
5760     
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.
5763
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(-)
5768
5769 commit 3504491b46246ffe912939defa17d013f9a27b46
5770 Author: Neil Roberts <neil@linux.intel.com>
5771 Date:   Mon Nov 22 18:33:49 2010 +0000
5772
5773     cogl-pipeline-glsl: Generate the alpha test snippet under GLES2
5774     
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
5778     a uniform.
5779
5780  clutter/cogl/cogl/cogl-pipeline-glsl.c |  144 +++++++++++++++++++++++++++++++-
5781  1 file changed, 140 insertions(+), 4 deletions(-)
5782
5783 commit c3582b77dfc553528e49a8f3a1373a787cf64648
5784 Author: Neil Roberts <neil@linux.intel.com>
5785 Date:   Mon Nov 22 18:32:43 2010 +0000
5786
5787     cogl-pipeline: Add getters for the alpha test state
5788     
5789     This adds two public functions:
5790     
5791      cogl_pipeline_get_alpha_test_function
5792        and
5793      cogl_pipeline_get_alpha_test_reference.
5794
5795  clutter/cogl/cogl/cogl-pipeline.c |   25 +++++++++++++++++++++++++
5796  clutter/cogl/cogl/cogl-pipeline.h |   22 ++++++++++++++++++++++
5797  2 files changed, 47 insertions(+)
5798
5799 commit 959846326fa138d9611212f0e1c6626e187984b8
5800 Author: Neil Roberts <neil@linux.intel.com>
5801 Date:   Mon Nov 22 18:29:50 2010 +0000
5802
5803     cogl: Separate out state flags for the alpha test func and ref
5804     
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.
5812
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(-)
5817
5818 commit 124441aade679834ce7e34f38f9e10bd829aa76b
5819 Author: Neil Roberts <neil@linux.intel.com>
5820 Date:   Mon Nov 22 16:44:11 2010 +0000
5821
5822     Remove the disabling of layer constants for GLES2
5823     
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
5827     first place.
5828
5829  clutter/cogl/cogl/cogl-blend-string.c |   10 ----------
5830  1 file changed, 10 deletions(-)
5831
5832 commit 3fa73735c02e2e6471774f2a4253317e424564ee
5833 Author: Neil Roberts <neil@linux.intel.com>
5834 Date:   Fri Nov 19 10:44:27 2010 +0000
5835
5836     Generate GLSL in the CoglPipeline GLSL backend
5837     
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.
5841
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(-)
5846
5847 commit 6246c2bd6cc5174529f5a6c5efb7daf44c131b6b
5848 Author: Neil Roberts <neil@linux.intel.com>
5849 Date:   Mon Nov 22 12:15:35 2010 +0000
5850
5851     Move the cogl shader boilerplate setting code to a separate function
5852     
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.
5857
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(-)
5861
5862 commit 339fc68bcbc15dbb212684be5cb4155cdaf4c836
5863 Author: Neil Roberts <neil@linux.intel.com>
5864 Date:   Fri Nov 19 15:42:26 2010 +0000
5865
5866     Move need_texture_combine_separate to cogl-pipeline
5867     
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
5871     share it.
5872
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(-)
5877
5878 commit 9bbb088a2ad3e7758b65f83c181e0603350acfc1
5879 Author: Neil Roberts <neil@linux.intel.com>
5880 Date:   Fri Nov 19 10:43:52 2010 +0000
5881
5882     Move find_arbfp_authority to cogl-pipeline.c
5883     
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.
5888
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(-)
5893
5894 commit e57a132f940d1b0f1c66720096c446e4f04bf4dc
5895 Author: Neil Roberts <neil@linux.intel.com>
5896 Date:   Mon Nov 1 17:25:26 2010 +0000
5897
5898     cogl: Rename arbfp_source_buffer to fragment_source_buffer
5899     
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.
5906
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(-)
5911
5912 commit 9b5c90f441938c8044eecaf9c348c85708d45ce3
5913 Author: Evan Nemerson <evan@coeus-group.com>
5914 Date:   Fri Nov 19 23:27:46 2010 -0800
5915
5916     cogl: Include exported pacakges information in GIR
5917     
5918     http://bugzilla.clutter-project.org/show_bug.cgi?id=2438
5919
5920  clutter/cogl/cogl/Makefile.am |    1 +
5921  1 file changed, 1 insertion(+)
5922
5923 commit f687ec6a226fa3914c6cf81fbad6b43786a2e1dc
5924 Author: Chris Lord <chris@linux.intel.com>
5925 Date:   Wed Nov 24 16:34:21 2010 +0000
5926
5927     docs: Update documentation to reflect automatic map/unmap/etc.
5928     
5929     Update the ClutterActor documentation to reflect the new automatic
5930     map/unmap/realize/unrealize implementations.
5931
5932  clutter/clutter-actor.h                            |    6 ++++--
5933  doc/reference/clutter/subclassing-ClutterActor.xml |   10 +---------
5934  2 files changed, 5 insertions(+), 11 deletions(-)
5935
5936 commit 186d5698ceb32e3b99d52390e29c5609fa3a8ae2
5937 Author: Chris Lord <chris@linux.intel.com>
5938 Date:   Tue Oct 26 17:09:24 2010 +0100
5939
5940     actor: Use the internal child list for map/unmap
5941     
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.
5945
5946  clutter/clutter-actor.c |   22 ++++++++++++++--------
5947  1 file changed, 14 insertions(+), 8 deletions(-)
5948
5949 commit 4752cc38b2000ba643fc9451769ebb2da9873280
5950 Author: Robert Bragg <robert@linux.intel.com>
5951 Date:   Wed Oct 20 18:26:01 2010 +0100
5952
5953     actor: re-work unrealize to work with composite actors
5954     
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.
5959     
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
5963     containers.
5964     
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.
5968
5969  clutter/clutter-actor.c |   57 +++++++++++++++++++++++++++--------------------
5970  1 file changed, 33 insertions(+), 24 deletions(-)
5971
5972 commit 4bda67473283b9b10a21b72df01d54447c7d557f
5973 Author: Robert Bragg <robert@linux.intel.com>
5974 Date:   Wed Oct 20 15:40:30 2010 +0100
5975
5976     actor: make _clutter_actor_traverse more flexible
5977     
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.
5984     
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.
5990
5991  clutter/clutter-actor-private.h |   47 ++++++++++++-
5992  clutter/clutter-actor.c         |  146 +++++++++++++++++++++++++++++++--------
5993  2 files changed, 163 insertions(+), 30 deletions(-)
5994
5995 commit 9df6f0c52445ef9c3c5343c1f0aee63c67bffe06
5996 Author: Owen W. Taylor <otaylor@fishsoup.net>
5997 Date:   Tue Oct 5 13:05:45 2010 -0400
5998
5999     ClutterX11TexturePixmap: Optimize ConfigureEvent handling
6000     
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
6005     killer.
6006     
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
6011     for a move.
6012     
6013     The last received width/height is saved to allow us to also omit
6014     XGetWindowAttributes on MapNotify events.
6015     
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.
6020     
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.
6023     
6024     http://bugzilla.clutter-project.org/show_bug.cgi?id=2356
6025
6026  clutter/x11/clutter-x11-texture-pixmap.c |  189 +++++++++++++++++++++---------
6027  1 file changed, 132 insertions(+), 57 deletions(-)
6028
6029 commit 1fdd82fcf1234a9b6c6fbcff05a62ce8f1eefcab
6030 Author: Neil Roberts <neil@linux.intel.com>
6031 Date:   Wed Nov 17 17:31:23 2010 +0000
6032
6033     test-cogl-texture-get-set-data: Test the alpha component
6034     
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
6040     data is the same.
6041     
6042     http://bugzilla.clutter-project.org/show_bug.cgi?id=2414
6043
6044  tests/conform/test-cogl-texture-get-set-data.c |   39 ++++++++++++++++++++++--
6045  1 file changed, 36 insertions(+), 3 deletions(-)
6046
6047 commit 8b4034cd06035e49bbe709daf2977d828cb0f263
6048 Author: Owen W. Taylor <otaylor@fishsoup.net>
6049 Date:   Fri Nov 12 11:02:13 2010 -0500
6050
6051     Use FBOs and use cogl_read_pixels() to efficiently read partial textures
6052     
6053     * cogl_texture_get_data() is converted to use
6054        _cogl_texture_foreach_sub_texture_in_region() to iterate
6055       through the underlying textures.
6056     
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
6061        texture.
6062     
6063      * The CoglAtlasTexture, CoglSubTexture, and CoglTexture2dSliced
6064        implementation of get_texture() are removed.
6065     
6066     http://bugzilla.clutter-project.org/show_bug.cgi?id=2414
6067
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(-)
6073
6074 commit 519b6fe6f259762f05a638716691f626b3b54f12
6075 Author: Neil Roberts <neil@linux.intel.com>
6076 Date:   Wed Nov 17 17:57:17 2010 +0000
6077
6078     cogl-framebuffer: Try to track format of the framebuffer
6079     
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
6089     premultiplied.
6090     
6091     http://bugzilla.clutter-project.org/show_bug.cgi?id=2414
6092
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(-)
6097
6098 commit 08e1d7f57438fc563253906de735412329366b45
6099 Author: Neil Roberts <neil@linux.intel.com>
6100 Date:   Wed Nov 17 17:45:27 2010 +0000
6101
6102     cogl_read_pixels: Fix the format used in GLES2
6103     
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.
6108     
6109     http://bugzilla.clutter-project.org/show_bug.cgi?id=2414
6110
6111  clutter/cogl/cogl/cogl.c |    2 +-
6112  1 file changed, 1 insertion(+), 1 deletion(-)
6113
6114 commit 2bd054f886a1ecd18837e6be9e48b379b8628754
6115 Author: Neil Roberts <neil@linux.intel.com>
6116 Date:   Wed Nov 17 15:38:20 2010 +0000
6117
6118     Add an internal _cogl_read_pixels_with_rowstride
6119     
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.
6126     
6127     cogl_read_pixels now just calls the full version of the function with
6128     the rowstride set to width*bpp.
6129     
6130     http://bugzilla.clutter-project.org/show_bug.cgi?id=2414
6131
6132  clutter/cogl/cogl/cogl-private.h |   10 ++++++++++
6133  clutter/cogl/cogl/cogl.c         |   39 +++++++++++++++++++++++++++-----------
6134  2 files changed, 38 insertions(+), 11 deletions(-)
6135
6136 commit b4016f64fa9c82266e4827fb06826319a418d9d9
6137 Author: Neil Roberts <neil@linux.intel.com>
6138 Date:   Thu Nov 11 15:28:44 2010 +0000
6139
6140     Add an internal _cogl_offscreen_new_to_texture_full function
6141     
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.
6149     
6150     http://bugzilla.clutter-project.org/show_bug.cgi?id=2414
6151
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(-)
6155
6156 commit d52bd995a6a5012fc363b607a9ac79b2748087db
6157 Author: Owen W. Taylor <otaylor@fishsoup.net>
6158 Date:   Fri Nov 12 10:58:59 2010 -0500
6159
6160     Test slicing when getting data in both directions
6161     
6162     http://bugzilla.clutter-project.org/show_bug.cgi?id=2414
6163
6164  tests/conform/test-cogl-texture-get-set-data.c |    2 ++
6165  1 file changed, 2 insertions(+)
6166
6167 commit a53b9febcdd60c322933e41e4ded6247da1f8bef
6168 Author: Robert Bragg <robert@linux.intel.com>
6169 Date:   Tue Nov 23 16:48:59 2010 +0000
6170
6171     stage: if backend _ignoring_redraw_clips queue full redraw
6172     
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.
6180
6181  clutter/clutter-stage.c |    5 ++++-
6182  1 file changed, 4 insertions(+), 1 deletion(-)
6183
6184 commit 5f181f7265fe043025583e3a7747e9ce55bd65ba
6185 Author: Robert Bragg <robert@linux.intel.com>
6186 Date:   Tue Nov 23 16:05:44 2010 +0000
6187
6188     stage-window: tweak has_redraw_clips semantics
6189     
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.
6195     
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.
6203
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(-)
6208
6209 commit c9d0f8b26e8ca6e67b52a1cc2a54d247919d09a9
6210 Author: Elliot Smith <elliot.smith@intel.com>
6211 Date:   Wed Nov 24 12:44:35 2010 +0000
6212
6213     cookbook: Add recipe for animated scaling of an actor
6214     
6215     Recipe explains how to animate scaling a single actor.
6216     
6217     Also covers scaling vs. resizing, scale center, and
6218     scaling within layouts and containers.
6219     
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.
6223     
6224     The second example is a simple image viewer with zoom in/out
6225     using scaling.
6226
6227  doc/cookbook/animations.xml |  305 ++++++++++++++++++++++++++++++++++++-------
6228  1 file changed, 257 insertions(+), 48 deletions(-)
6229
6230 commit ee9a4d02bba8bb0cf6ea73c5cdcce49fb29f786e
6231 Author: Elliot Smith <elliot.smith@intel.com>
6232 Date:   Wed Nov 24 12:22:12 2010 +0000
6233
6234     cookbook: Add example of scaling a texture
6235     
6236     Added a simple application for scaling a
6237     texture while keeping the mouse pointer over
6238     the same coordinates on its surface.
6239
6240  doc/cookbook/examples/Makefile.am               |    2 +
6241  doc/cookbook/examples/animations-scaling-zoom.c |  155 +++++++++++++++++++++++
6242  2 files changed, 157 insertions(+)
6243
6244 commit c8f112876e69ca2aeb9eb202c504bcf24ecab921
6245 Author: Elliot Smith <elliot.smith@intel.com>
6246 Date:   Fri Nov 19 14:52:44 2010 +0000
6247
6248     cookbook: Added "animated scaling" recipe skeleton
6249
6250  doc/cookbook/animations.xml |  132 +++++++++++++++++++++++++++++++++++++++++++
6251  1 file changed, 132 insertions(+)
6252
6253 commit b47b2f474910ead5b72eae88ebc53c2f667b93d7
6254 Author: Elliot Smith <elliot.smith@intel.com>
6255 Date:   Fri Nov 19 14:29:39 2010 +0000
6256
6257     cookbook: Added animated scaling example
6258     
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.
6262     
6263     Displays the transformed size and position, updated
6264     on each paint of the actor.
6265
6266  doc/cookbook/examples/Makefile.am          |    2 +
6267  doc/cookbook/examples/animations-scaling.c |  183 ++++++++++++++++++++++++++++
6268  2 files changed, 185 insertions(+)
6269
6270 commit 446107f19d59ab95c918e566b5d8efdb8c0841c8
6271 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6272 Date:   Wed Nov 24 12:02:38 2010 +0000
6273
6274     x11: Check for initialized context when enabling ARGB visuals
6275     
6276     Instead of using the backend singleton. This allows lazy initialization
6277     of Clutter.
6278     
6279     http://bugzilla.clutter-project.org/show_bug.cgi?id=2435
6280
6281  clutter/x11/clutter-backend-x11.c |    2 +-
6282  1 file changed, 1 insertion(+), 1 deletion(-)
6283
6284 commit 6a552e27abfa2e0f0705ac935872e5393cdf1fdc
6285 Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
6286 Date:   Tue Nov 23 17:06:52 2010 +0100
6287
6288     Fix API docs for ClutterShaderEffects
6289     
6290     It can implement now both fragment and vertex shaders.
6291     
6292     http://bugzilla.clutter-project.org/show_bug.cgi?id=2442
6293
6294  clutter/clutter-shader-effect.c |    7 +++----
6295  1 file changed, 3 insertions(+), 4 deletions(-)
6296
6297 commit 65d0ce607efe6cbc72e3f1f4518c8cf5d038ceee
6298 Author: Robert Bragg <robert@linux.intel.com>
6299 Date:   Tue Nov 23 14:31:45 2010 +0000
6300
6301     stage: Report an unknown paint volume.
6302     
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.
6310
6311  clutter/clutter-stage.c |   10 ++++++++++
6312  1 file changed, 10 insertions(+)
6313
6314 commit 52bf38c38c4b1d0c787cccf5e1ea2518a67ac1bf
6315 Author: Robert Bragg <robert@linux.intel.com>
6316 Date:   Tue Nov 23 14:30:08 2010 +0000
6317
6318     x11: only queue clipped redraw for Expose
6319     
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.
6324
6325  clutter/x11/clutter-event-x11.c |    2 --
6326  1 file changed, 2 deletions(-)
6327
6328 commit 1b7c895a2d041a36ad9279044e47542be8c0ba95
6329 Author: Neil Roberts <neil@linux.intel.com>
6330 Date:   Tue Nov 23 14:07:16 2010 +0000
6331
6332     cogl-texture-driver-gles: Fix image height for uploading 3D textures
6333     
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.
6338
6339  clutter/cogl/cogl/driver/gles/cogl-texture-driver-gles.c |    2 +-
6340  1 file changed, 1 insertion(+), 1 deletion(-)
6341
6342 commit 01c6ccfa1336216c74829386912806ca02e1ab12
6343 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6344 Date:   Tue Nov 23 13:05:47 2010 +0000
6345
6346     pipeline: Use WrapModeInternal in the Layer struct
6347     
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.
6352
6353  clutter/cogl/cogl/cogl-pipeline-private.h |   44 ++++++++++++++---------------
6354  1 file changed, 22 insertions(+), 22 deletions(-)
6355
6356 commit 8e6fac38fa73ec4c8a67835a1128e6b1a9889302
6357 Author: Owen W. Taylor <otaylor@fishsoup.net>
6358 Date:   Sat Nov 13 11:29:49 2010 -0500
6359
6360     Don't update or use last_paint_box when painting inside a clone
6361     
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".
6367     
6368     http://bugzilla.clutter-project.org/show_bug.cgi?id=2396
6369
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(-)
6374
6375 commit c68280556ee762c840bb8c73da16d505b6efe1ac
6376 Author: Robert Bragg <robert@linux.intel.com>
6377 Date:   Mon Nov 22 15:51:15 2010 +0000
6378
6379     clip-stack: combine modelview-projection in set_clip_planes
6380     
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
6385     step instead.
6386
6387  clutter/cogl/cogl/cogl-clip-stack.c |   24 ++++++++++++------------
6388  1 file changed, 12 insertions(+), 12 deletions(-)
6389
6390 commit 99f4832c28512e8b670b3681eeb228b4c8c08d14
6391 Author: Robert Bragg <robert@linux.intel.com>
6392 Date:   Mon Nov 22 12:44:36 2010 +0000
6393
6394     journal: remove possability of fallback layers
6395     
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.
6402
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(-)
6407
6408 commit 305bb124b71b8fd531009f050cc83d89af1dfb93
6409 Author: Robert Bragg <robert@linux.intel.com>
6410 Date:   Fri Nov 12 16:08:25 2010 +0000
6411
6412     use cogl_matrix_transform_points in clutter
6413     
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.
6420
6421  clutter/clutter-actor.c        |   23 ++++++++---------------
6422  clutter/clutter-paint-volume.c |   18 +++++++-----------
6423  2 files changed, 15 insertions(+), 26 deletions(-)
6424
6425 commit 2dba3e8cbf4d130701510768b5c766bb7ef070e8
6426 Author: Robert Bragg <robert@linux.intel.com>
6427 Date:   Fri Nov 12 13:35:24 2010 +0000
6428
6429     matrix: Adds experimental cogl_matrix_{transform,project}_points
6430     
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.
6437     
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.
6443
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(-)
6448
6449 commit 4307e65f937538a6251738a8450babce5ed9e8e6
6450 Author: Robert Bragg <robert@linux.intel.com>
6451 Date:   Thu Nov 11 16:28:45 2010 +0000
6452
6453     primitives: validate with _cogl_pipeline_foreach_layer
6454     
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
6460     being iterated.
6461
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(-)
6466
6467 commit fb564cc2ca9579c3b444f5fd5c59ee4da040b7da
6468 Author: Robert Bragg <robert@linux.intel.com>
6469 Date:   Thu Nov 11 15:08:38 2010 +0000
6470
6471     cogl: remove WrapModeOverrides from FlushOptions
6472     
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.
6480
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(-)
6487
6488 commit b8c9ee7e88ca6d1c2e9bc6380740dbf19096e71e
6489 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6490 Date:   Tue Nov 23 10:26:15 2010 +0000
6491
6492     x11: Ignore NULL settings
6493     
6494     Prevent a segfault when dealing with XSETTINGS_ACTION_DELETE.
6495     
6496     http://bugzilla.clutter-project.org/show_bug.cgi?id=2441
6497
6498  clutter/x11/clutter-backend-x11.c |    3 +++
6499  1 file changed, 3 insertions(+)
6500
6501 commit 1db8b8a70e9c198a04d7c3e3e6365513f5d6858d
6502 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6503 Date:   Mon Nov 22 17:01:17 2010 +0000
6504
6505     color: Do not shadow a variable
6506     
6507     Avoid a warning.
6508
6509  clutter/clutter-color.c |    2 --
6510  1 file changed, 2 deletions(-)
6511
6512 commit 88049013702032895a9cb7ed60f661d58443130d
6513 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6514 Date:   Mon Nov 22 15:20:55 2010 +0000
6515
6516     Update NEWS
6517
6518  NEWS |   13 +++++++++++++
6519  1 file changed, 13 insertions(+)
6520
6521 commit f4531aef4bea347f84b6ace38f6df7b34cdbe13c
6522 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6523 Date:   Mon Nov 22 15:07:01 2010 +0000
6524
6525     color: And finally, add hsla() support
6526     
6527     Missed it when reading the CSS spec.
6528
6529  clutter/clutter-color.c |   35 ++++++++++++++++++++++++++++++++---
6530  1 file changed, 32 insertions(+), 3 deletions(-)
6531
6532 commit e86db85cd2f0bbdbb65924a8f9ae2575e1212d14
6533 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6534 Date:   Mon Nov 22 15:02:47 2010 +0000
6535
6536     color: Support the CSS hsl() notation
6537     
6538     Since we support the rgb() and rgba() notations we might as well also
6539     support the hsl() one.
6540
6541  clutter/clutter-color.c    |   70 ++++++++++++++++++++++++++++++++++++++++++++
6542  tests/conform/test-color.c |   14 +++++++++
6543  2 files changed, 84 insertions(+)
6544
6545 commit ab6da347f61c0fb2249bbab9d03545121752d633
6546 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6547 Date:   Mon Nov 22 14:22:56 2010 +0000
6548
6549     color: Support CSS color definitions
6550     
6551     The CSS Color Module 3, available at:
6552     
6553       http://www.w3.org/TR/css3-color/
6554     
6555     allows defining colors as:
6556     
6557       rgb ( r, g, b )
6558       rgba ( r, g, b, a)
6559     
6560     along with the usual hexadecimal and named notations.
6561     
6562     The r, g, and b channels can be:
6563     
6564       • integers between 0 and 255
6565       • percentages, between 0% and 100%
6566     
6567     The alpha channel, if included using the rgba() modifier, can be a
6568     floating point value between 0.0 and 1.0.
6569     
6570     The ClutterColor parser should support this notation.
6571
6572  clutter/clutter-color.c    |  135 ++++++++++++++++++++++++++++++++++++++++++--
6573  tests/conform/test-color.c |   54 ++++++++++++++++--
6574  2 files changed, 178 insertions(+), 11 deletions(-)
6575
6576 commit ee0b8c439e0211e1af8ad55d17d2695e17879f0a
6577 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6578 Date:   Mon Nov 22 10:16:45 2010 +0000
6579
6580     docs: Update the release notes in the README
6581     
6582     Also updates the introductory blurb.
6583
6584  README |   29 ++++++++++++++++++++++++-----
6585  1 file changed, 24 insertions(+), 5 deletions(-)
6586
6587 commit 3055cd1f4aec16a39e520da8d697d19c5beae711
6588 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6589 Date:   Sat Nov 20 13:05:51 2010 +0000
6590
6591     docs: Include the Behaviour migration guide
6592     
6593     I forgot to add the xinclude directive in the main document.
6594
6595  doc/reference/clutter/clutter-docs.xml.in |    1 +
6596  1 file changed, 1 insertion(+)
6597
6598 commit 2fe8f864971f3fdfd27e1f2480aa48b0b9c4172e
6599 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6600 Date:   Sat Nov 20 11:07:45 2010 +0000
6601
6602     po: Post-release update
6603
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(-)
6612
6613 commit ac6a378177c37712b13fb25d09b7c5e2ce4f626f
6614 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6615 Date:   Sat Nov 20 11:07:29 2010 +0000
6616
6617     Post-release version bump to 1.5.7
6618
6619  configure.ac |    2 +-
6620  1 file changed, 1 insertion(+), 1 deletion(-)
6621
6622 commit 7373cebd8d23fa88c74f680bca5d5c7445d46eb0
6623 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6624 Date:   Sat Nov 20 10:17:51 2010 +0000
6625
6626     Release Clutter 1.5.6 (snapshot)
6627
6628  configure.ac |    2 +-
6629  1 file changed, 1 insertion(+), 1 deletion(-)
6630
6631 commit b674fcf3bb3acef61bb10a5726e020a4bc1310c7
6632 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6633 Date:   Sat Nov 20 10:46:57 2010 +0000
6634
6635     build: Add missing cogl-shader-boilerplate.h
6636
6637  clutter/cogl/cogl/Makefile.am |    1 +
6638  1 file changed, 1 insertion(+)
6639
6640 commit be3040fd2bca29d3d415d4baf062480f20471947
6641 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6642 Date:   Fri Nov 19 18:29:43 2010 +0000
6643
6644     build: Add a missing file
6645
6646  clutter/cogl/cogl/Makefile.am |    1 +
6647  1 file changed, 1 insertion(+)
6648
6649 commit e30b7b2d5a2f4468a9266085ce58b133734e3f9c
6650 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6651 Date:   Fri Nov 19 18:15:29 2010 +0000
6652
6653     build: Don't reference non-existing files
6654
6655  clutter/cogl/cogl/Makefile.am |    1 -
6656  1 file changed, 1 deletion(-)
6657
6658 commit 60c6312b2d11f25c631cade6cc59b9680debc6c2
6659 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6660 Date:   Fri Nov 19 18:07:27 2010 +0000
6661
6662     Update the NEWS file
6663
6664  NEWS |   63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6665  1 file changed, 63 insertions(+)
6666
6667 commit d39277d0cf96e2a4ac7b5cc3f587b5fba1f48610
6668 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6669 Date:   Fri Nov 19 12:26:57 2010 +0000
6670
6671     actor: Reset the last paint box on unmap
6672     
6673     This allows hiding + moving + showing an actor without repainting the
6674     wrong area.
6675     
6676     http://bugzilla.clutter-project.org/show_bug.cgi?id=2395
6677
6678  clutter/clutter-actor.c |   11 +++++++----
6679  1 file changed, 7 insertions(+), 4 deletions(-)
6680
6681 commit 346d3e40a37f2229b0a9314fd8a3c2b6c4313752
6682 Author: Owen W. Taylor <otaylor@fishsoup.net>
6683 Date:   Mon Nov 15 01:32:42 2010 -0500
6684
6685     Free state at the end of a journal flush
6686     
6687     At the end of flushing the journal, we need to free the vertex
6688     attributes and vertex array.
6689     
6690     http://bugzilla.clutter-project.org/show_bug.cgi?id=2423
6691
6692  clutter/cogl/cogl/cogl-journal.c |    8 +++++++-
6693  1 file changed, 7 insertions(+), 1 deletion(-)
6694
6695 commit 1299672b5a53e004bfbc92fd89d2707c732e3586
6696 Author: Owen W. Taylor <otaylor@fishsoup.net>
6697 Date:   Sun Nov 14 22:59:24 2010 -0500
6698
6699     Actually free buffer objects
6700     
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.
6704     
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.)
6708     
6709     http://bugzilla.clutter-project.org/show_bug.cgi?id=2423
6710
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(-)
6714
6715 commit a5c30398df59f1aca8c0bf1e1f0a32ae51e990cd
6716 Author: Robert Bragg <robert@linux.intel.com>
6717 Date:   Tue Nov 16 13:54:15 2010 +0000
6718
6719     egl: Adds support for clipped redraws
6720     
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.
6725
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(-)
6731
6732 commit a4d3208eb57ddb3cc7eea61534b5187663d7507c
6733 Author: Robert Bragg <robert@linux.intel.com>
6734 Date:   Tue Nov 16 13:06:08 2010 +0000
6735
6736     debug: Adds a COGL_DEBUG=wireframe option
6737     
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.
6742
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(-)
6748
6749 commit 78ac92f8e57acf8eccc20a1990bd7d619f5ebbdc
6750 Author: Robert Bragg <robert@linux.intel.com>
6751 Date:   Tue Nov 16 08:52:49 2010 +0000
6752
6753     vertex-buffer: don't unref NULL object
6754     
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.
6758
6759  clutter/cogl/cogl/cogl-vertex-buffer.c |    3 ++-
6760  1 file changed, 2 insertions(+), 1 deletion(-)
6761
6762 commit f473c213fcc1b0095f32c909eb69a0c8172cba0e
6763 Author: Robert Bragg <robert@linux.intel.com>
6764 Date:   Tue Nov 16 08:49:55 2010 +0000
6765
6766     vertex-array: Adds data arg for _vertex_array_new()
6767     
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.
6773
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(-)
6782
6783 commit 804dd5d5fc2b68b64032cac30268372303be24bf
6784 Author: Robert Bragg <robert@linux.intel.com>
6785 Date:   Tue Nov 16 08:41:29 2010 +0000
6786
6787     indices: Makes cogl_indices_get_array public
6788     
6789     This makes the previously internal only _cogl_indices_get_array API
6790     public as cogl_indices_get_array (Though marked as experimental)
6791
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(-)
6797
6798 commit dfc671da5960fccf478131aa3136c25341979e61
6799 Author: Robert Bragg <robert@linux.intel.com>
6800 Date:   Tue Nov 16 08:38:59 2010 +0000
6801
6802     build: cogl-clip-state.h depends on cogl-clip-stack.h
6803     
6804     This adds a #include "cogl-clip-stack.h" to cogl-clip-state.h which
6805     depends on the CoglClipStack typedef.
6806
6807  clutter/cogl/cogl/cogl-clip-state.h |    2 ++
6808  1 file changed, 2 insertions(+)
6809
6810 commit 6f68bb365694bfd82737f6d1c577af38280d099b
6811 Author: Robert Bragg <robert@linux.intel.com>
6812 Date:   Wed Nov 10 18:27:00 2010 +0000
6813
6814     debug: disable-culling was disabling clipped redraws
6815     
6816     there was a typo and the disable-culling option was actually disabling
6817     clipped redraws.
6818
6819  clutter/clutter-main.c |    2 +-
6820  1 file changed, 1 insertion(+), 1 deletion(-)
6821
6822 commit 694632ce95bfc2c14791214acc435743dba4df2e
6823 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6824 Date:   Thu Nov 18 18:23:49 2010 +0000
6825
6826     build: Re-arrange headers
6827     
6828     Try to minimize the included headers, especially in clutter-actor.h.
6829
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(-)
6841
6842 commit 63cef64d17d3e5c22add99e8d736b6f69fac8f25
6843 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6844 Date:   Thu Nov 18 14:14:37 2010 +0000
6845
6846     docs: Fix some wrong function/signal/property names
6847
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(-)
6861
6862 commit b0f535037993a15e75525494c5dddecc96bbe0dd
6863 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6864 Date:   Wed Nov 17 15:51:35 2010 +0000
6865
6866     test-layout: Port away from Behaviour
6867     
6868     Use a simple animation with a looping+reversing timeline.
6869
6870  tests/interactive/test-layout.c |   24 +++++++++++++++---------
6871  1 file changed, 15 insertions(+), 9 deletions(-)
6872
6873 commit eade1ab19e90b6955ead726132503f13ac346356
6874 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6875 Date:   Wed Nov 10 11:51:42 2010 +0000
6876
6877     test-rotate: Remove the behaviour code
6878     
6879     Use a looping animation with a shared timeline instead.
6880
6881  tests/interactive/test-rotate.c |   57 +++++++++++++++++----------------------
6882  1 file changed, 25 insertions(+), 32 deletions(-)
6883
6884 commit 74a770a976250d1d3cb887d9536fac1e9fc7cdf4
6885 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6886 Date:   Wed Nov 10 13:15:06 2010 +0000
6887
6888     docs: Add Behaviour migration guide
6889
6890  doc/reference/clutter/Makefile.am                  |    6 +-
6891  .../clutter/migrating-ClutterBehaviour.xml         |  122 ++++++++++++++++++++
6892  2 files changed, 126 insertions(+), 2 deletions(-)
6893
6894 commit a35708eb74dcc3ffd474e1c07725ece7b8a4fb1a
6895 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6896 Date:   Sat Nov 6 15:54:21 2010 +0000
6897
6898     Deprecate ClutterBehaviour and sub-classes
6899     
6900     The Behaviour class and its implementations have been replaced by the
6901     new animation framework API and by the constraints for layout-related
6902     animations.
6903     
6904     Currently, we need to make tests build, so we undef DISABLE_DEPRECATED
6905     in specific test cases while they get ported.
6906
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(-)
6940
6941 commit 71a838815f4d3ea1d9e2054bbbaaf0449eae357e
6942 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6943 Date:   Wed Nov 17 15:27:42 2010 +0000
6944
6945     timeline: Add :reverse property
6946     
6947     The :reverse property removes the pattern of connecting to the
6948     ::completed signal of a Timeline to change the direction.
6949     
6950     http://bugzilla.clutter-project.org/show_bug.cgi?id=2408
6951
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(-)
6957
6958 commit 1ce47bb562a227f4c3bb267e2e10b54b4ded475c
6959 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6960 Date:   Thu Nov 18 14:02:52 2010 +0000
6961
6962     docs: Remove unnecessary '#'
6963     
6964     The hash is confusing gtk-doc.
6965
6966  clutter/clutter-color.h |   90 +++++++++++++++++++++++------------------------
6967  1 file changed, 45 insertions(+), 45 deletions(-)
6968
6969 commit a94ea93bde8382691b8eea1f047b20c0c689c51f
6970 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6971 Date:   Thu Nov 18 10:53:01 2010 +0000
6972
6973     paint-volume: Do not take a reference on the actor
6974     
6975     The paint volume structure is cached in the Actor it references, and
6976     this causes a reference cycle.
6977     
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.
6981     
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
6985     ourselves.
6986     
6987     http://bugzilla.clutter-project.org/show_bug.cgi?id=2431
6988
6989  clutter/clutter-actor.c        |    8 +++-----
6990  clutter/clutter-paint-volume.c |   18 +++---------------
6991  2 files changed, 6 insertions(+), 20 deletions(-)
6992
6993 commit 0371ba3976fafecc900123bb94822b95a1198d3a
6994 Author: Emmanuele Bassi <ebassi@linux.intel.com>
6995 Date:   Thu Nov 18 11:00:08 2010 +0000
6996
6997     actor: Group bitfields together
6998
6999  clutter/clutter-actor.c |    5 +++--
7000  1 file changed, 3 insertions(+), 2 deletions(-)
7001
7002 commit b55346151c3122d356d1e0af5f73bba184fbaa81
7003 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7004 Date:   Wed Nov 17 19:13:55 2010 +0000
7005
7006     build: Cogl-2.0 API reference should be conditionally built
7007     
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
7010     feedback for it.
7011     
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.
7015
7016  configure.ac              |    8 ++++++++
7017  doc/reference/Makefile.am |    8 +++++++-
7018  2 files changed, 15 insertions(+), 1 deletion(-)
7019
7020 commit 8f60d5a3a2d6650bb27ebe6488fe56bf67d3d09c
7021 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7022 Date:   Sun Nov 7 16:20:51 2010 +0000
7023
7024     Start using the monotonic API in GLib ≥ 2.27
7025     
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.
7030
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(-)
7036
7037 commit 68d7a5e84721966686fb066c8b62041f0889a07a
7038 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7039 Date:   Sun Nov 7 15:57:33 2010 +0000
7040
7041     Move away from GTimeVal
7042     
7043     GLib 2.28 will deprecate GTimeVal and related API in favour of
7044     standardizing on microseconds granularity for all time-based API.
7045     
7046     Clutter should switch too.
7047     
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.
7051     
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.
7056     
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
7059     the public symbols.
7060
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(-)
7069
7070 commit 8b047d0bc963389109486388ce5051a6a06d0994
7071 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7072 Date:   Wed Nov 17 12:49:10 2010 +0000
7073
7074     docs: Move the constraints example picture about the source code
7075
7076  clutter/clutter-constraint.c |    6 +++---
7077  1 file changed, 3 insertions(+), 3 deletions(-)
7078
7079 commit e5da5b0907264f822bf646ef7e1151bb69f1945a
7080 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7081 Date:   Wed Nov 17 12:47:46 2010 +0000
7082
7083     shaders: Fix the usage of the Cogl GLSL variables
7084
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(-)
7089
7090 commit f96113705d0154772e39a4782925d49b74d5ad09
7091 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7092 Date:   Wed Nov 17 12:14:02 2010 +0000
7093
7094     docs: Fix closing tag
7095
7096  clutter/clutter-constraint.c |    2 +-
7097  1 file changed, 1 insertion(+), 1 deletion(-)
7098
7099 commit a731682ac394d1b54b78dec1083d158a71e10f89
7100 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7101 Date:   Mon Nov 15 16:30:12 2010 +0000
7102
7103     actor: Simple show/hide optimizations
7104     
7105     Showing a visible (and hiding an invisible) actor is far less cheap than
7106     it should be.
7107     
7108     http://bugzilla.clutter-project.org/show_bug.cgi?id=2422
7109
7110  clutter/clutter-actor.c |   65 ++++++++++++++++++++++++++++++++---------------
7111  1 file changed, 45 insertions(+), 20 deletions(-)
7112
7113 commit 66e7a38a3d9a8b2782969cf24db59909e0f99877
7114 Author: muflone <webreg@vbsimple.net>
7115 Date:   Mon Nov 15 17:54:01 2010 +0000
7116
7117     po: Update Italian translation
7118     
7119     Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
7120
7121  po/it.po |  839 +++++++++++++++++++++++++++++++-------------------------------
7122  1 file changed, 413 insertions(+), 426 deletions(-)
7123
7124 commit a32f7811447addd100bb5919ee5e0f3d1157097f
7125 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7126 Date:   Tue Nov 16 17:18:50 2010 +0000
7127
7128     docs: Break down the constraints example
7129
7130  clutter/clutter-constraint.c |   34 ++++++++++++++++++++++++++++++++++
7131  1 file changed, 34 insertions(+)
7132
7133 commit 3777e0b38267fd21539c8ec5e7f04d6179379a3d
7134 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7135 Date:   Mon Nov 15 17:27:46 2010 +0000
7136
7137     docs: Update the constraints example image
7138
7139  doc/reference/clutter/constraints-example.png |  Bin 2482 -> 5985 bytes
7140  1 file changed, 0 insertions(+), 0 deletions(-)
7141
7142 commit 2950cb3e78626b269555bc3a4813f9bfe17ea7fc
7143 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7144 Date:   Mon Nov 15 16:02:15 2010 +0000
7145
7146     docs: Fix Since tags for PaintVolume-related API
7147
7148  clutter/clutter-paint-volume.c |   28 ++++++++++++++--------------
7149  1 file changed, 14 insertions(+), 14 deletions(-)
7150
7151 commit b7fa13a52f6c7f13e81cefd774b7ac301261a673
7152 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7153 Date:   Mon Nov 15 15:02:07 2010 +0000
7154
7155     docs: Add introductory section on Constraints
7156     
7157     Use the snap-constraint code for the example code and screenshot.
7158
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(-)
7163
7164 commit 3c15c0c9bb6befff149b8be512d7342d820b591a
7165 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7166 Date:   Wed Nov 10 16:37:34 2010 +0000
7167
7168     Add SnapConstraint
7169     
7170     A SnapConstraint is a constraint that "snaps" the edges of two actors
7171     together.
7172
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(-)
7183
7184 commit b3f5a6e2ba29852f1f4a4d9b0f9efcdae1a61af0
7185 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7186 Date:   Fri Nov 12 18:09:25 2010 +0000
7187
7188     actor: Do not queue relayouts on actors being destroyed
7189     
7190     Simple optimization is simple.
7191
7192  clutter/clutter-actor.c |    9 ++++-----
7193  1 file changed, 4 insertions(+), 5 deletions(-)
7194
7195 commit 0523d6db0815ed55e5e76f5d0cd879e394d9a0f6
7196 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7197 Date:   Fri Nov 12 18:07:44 2010 +0000
7198
7199     actor: Add a get_debug_name() private Actor method
7200     
7201     For internal usage, writing:
7202     
7203       clutter_actor_get_name (actor) != NULL
7204         ? clutter_actor_get_name (actor)
7205         : G_OBJECT_TYPE_NAME (actor)
7206     
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
7209     appreciated.
7210
7211  clutter/clutter-actor-private.h |    2 ++
7212  clutter/clutter-actor.c         |   63 ++++++++++++++++++++-------------------
7213  2 files changed, 34 insertions(+), 31 deletions(-)
7214
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
7219
7220     Merge remote branch 'elliot/cookbook-opacity-values-fix'
7221     
7222     * elliot/cookbook-opacity-values-fix:
7223       cookbook: Fix opacity examples in recipe
7224       cookbook: Fix incorrect value for opacity
7225
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
7230
7231     Merge remote branch 'elliot/cookbook-animations-looping'
7232     
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
7239
7240 commit 5f9df7e3a0a2646fe894987443869892de69c200
7241 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7242 Date:   Mon Nov 15 15:36:41 2010 +0000
7243
7244     Fix compilation warning by using the correct type
7245
7246  clutter/clutter-main.c |    2 +-
7247  1 file changed, 1 insertion(+), 1 deletion(-)
7248
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
7253
7254     Merge remote branch 'elliot/c90-fix'
7255
7256 commit 8bdfa4ddee3aed333796ef76fc650405f3d17689
7257 Author: Elliot Smith <elliot.smith@intel.com>
7258 Date:   Mon Nov 15 11:18:26 2010 +0000
7259
7260     cookbook: Recipe for "looping animations"
7261     
7262     Added a recipe giving examples of how to loop
7263     animations for each part of the animation API (implicit,
7264     animator, state).
7265     
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.
7269
7270  doc/cookbook/animations.xml |  328 +++++++++++++++++++++++++++++++++++++++----
7271  1 file changed, 298 insertions(+), 30 deletions(-)
7272
7273 commit e205bd0fdc42832d97bf022cf63faa6d5302478c
7274 Author: Elliot Smith <elliot.smith@intel.com>
7275 Date:   Thu Nov 11 12:04:20 2010 +0000
7276
7277     cookbook: Clarify how signals are emitted during looped animation
7278     
7279     Added a comment to the example code about how timeline
7280     emits "completed" during looped animation, while the
7281     animation itself doesn't.
7282
7283  doc/cookbook/examples/animations-looping-implicit.c |    4 ++++
7284  1 file changed, 4 insertions(+)
7285
7286 commit 7eb248b1f0ae05e2eb165a04f37bbf8eadaf77d6
7287 Author: Elliot Smith <elliot.smith@intel.com>
7288 Date:   Thu Nov 11 11:44:28 2010 +0000
7289
7290     cookbook: First draft for looping animations recipe
7291     
7292     Includes video showing the looped animation and
7293     basic section headings, plus outline of content and notes.
7294
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(-)
7299
7300 commit 071029e373366b93a9f3b7c3b4ef5b8ec9eaf6a3
7301 Author: Elliot Smith <elliot.smith@intel.com>
7302 Date:   Wed Nov 10 17:43:28 2010 +0000
7303
7304     cookbook: Recipe skeleton for "looping animations"
7305
7306  doc/cookbook/animations.xml |   55 +++++++++++++++++++++++++++++++++++++++++++
7307  1 file changed, 55 insertions(+)
7308
7309 commit 0d8c730558f2d4b4c04c3daa014cebd76b14c263
7310 Author: Elliot Smith <elliot.smith@intel.com>
7311 Date:   Wed Nov 10 16:11:27 2010 +0000
7312
7313     cookbook: Looping animation examples
7314     
7315     Added code examples for creating a looped animation with
7316     each of the animation approaches (implicit, ClutterAnimation,
7317     ClutterState).
7318
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(+)
7324
7325 commit e80035331b8adf6eec2549bf16f1027210c4233f
7326 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7327 Date:   Sun Nov 14 23:06:53 2010 +0000
7328
7329     Use the right string in the font settings debug blurb
7330
7331  clutter/clutter-settings.c |    2 +-
7332  1 file changed, 1 insertion(+), 1 deletion(-)
7333
7334 commit e6bc65b5c37c38dbf5a82dea724e2f389e2b481e
7335 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7336 Date:   Sun Nov 14 15:23:36 2010 +0000
7337
7338     text: Do not segfault with NULL :font-name
7339     
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.
7342     
7343     http://bugzilla.clutter-project.org/show_bug.cgi?id=2417
7344
7345  clutter/clutter-text.c |   16 ++++++++++++----
7346  1 file changed, 12 insertions(+), 4 deletions(-)
7347
7348 commit 9249bd8411157c7610fd406e88ebc9ed9e089be4
7349 Author: Owen W. Taylor <otaylor@fishsoup.net>
7350 Date:   Fri Nov 12 18:53:51 2010 -0500
7351
7352     xsettings: don't use the xsettings watch function functionality
7353     
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.
7358     
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
7362     ad-infinitum.
7363     
7364     http://bugzilla.clutter-project.org/show_bug.cgi?id=2415
7365
7366  clutter/x11/clutter-backend-x11.c |   37 ++++---------------------------------
7367  1 file changed, 4 insertions(+), 33 deletions(-)
7368
7369 commit f9d2310b724fbd6ff4e3d6b0d1bcdfc1dd8b4b7b
7370 Author: Elliot Smith <elliot.smith@intel.com>
7371 Date:   Fri Nov 12 09:32:04 2010 +0000
7372
7373     cookbook: Make example code C90 compliant
7374     
7375     Modified all cookbook example code to prevent ISO C90 compliance
7376     warnings occurring during compilation.
7377
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(-)
7395
7396 commit 63721c5db1bc1c4a53ee2af536ffbd19b015fdb9
7397 Author: Elliot Smith <elliot.smith@intel.com>
7398 Date:   Fri Nov 12 09:54:12 2010 +0000
7399
7400     cookbook: Fix opacity examples in recipe
7401     
7402     The recipe had examples where opacity was set using
7403     fractional numbers. Fixed all examples to use
7404     integers only.
7405
7406  doc/cookbook/actors.xml |   26 +++++++++++++-------------
7407  1 file changed, 13 insertions(+), 13 deletions(-)
7408
7409 commit f135f2e7d5b7c5304ae4ba91a26f4dc0d5b0c757
7410 Author: Elliot Smith <elliot.smith@intel.com>
7411 Date:   Fri Nov 12 09:49:07 2010 +0000
7412
7413     cookbook: Fix incorrect value for opacity
7414     
7415     Opacity is a guint, so don't use floating point numbers
7416     to set its value.
7417
7418  doc/cookbook/examples/events-pointer-motion-stacked.c |    2 +-
7419  1 file changed, 1 insertion(+), 1 deletion(-)
7420
7421 commit 03a713e18e842d29a73f9cefb38e689ceefb35ed
7422 Author: Lucas Rocha <lucasr@gnome.org>
7423 Date:   Thu Nov 11 22:23:09 2010 +0000
7424
7425     click-action: don't use pointer grabs
7426     
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.
7430     
7431     http://bugzilla.clutter-project.org/show_bug.cgi?id=2409
7432
7433  clutter/clutter-click-action.c |   85 +++++++++++++++++++++++++++++++---------
7434  1 file changed, 67 insertions(+), 18 deletions(-)
7435
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
7440
7441     Merge branch 'wip/static-colors'
7442     
7443     * wip/static-colors:
7444       Move tests to static colors where possible
7445       color: Add named, global colors
7446
7447 commit 47a6cd95e76ef75a6c117424056c5359c5479283
7448 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7449 Date:   Thu Nov 11 14:05:36 2010 +0000
7450
7451     Add cogl-2.0 reference in the ignore file
7452
7453  .gitignore |   13 +++++++++++++
7454  1 file changed, 13 insertions(+)
7455
7456 commit 1bcf15e1b82a7f2842aa210f73dba5706d404484
7457 Author: Neil Roberts <neil@linux.intel.com>
7458 Date:   Thu Nov 11 16:24:54 2010 +0000
7459
7460     cogl-texture: Remove the gl_handle from CoglTextureSliceCallback
7461     
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
7467     textures.
7468
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(-)
7477
7478 commit 49898d43ddc7905a612dad0954d472fb00e8a9c1
7479 Author: Neil Roberts <neil@linux.intel.com>
7480 Date:   Thu Nov 11 16:18:25 2010 +0000
7481
7482     cogl-pipeline: Use layer overrides as CoglHandles instead of GLuint
7483     
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.
7491
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(-)
7499
7500 commit 1447ceb0deb081c85342fc3e74db3b278833cf76
7501 Author: Neil Roberts <neil@linux.intel.com>
7502 Date:   Thu Nov 11 15:42:12 2010 +0000
7503
7504     CoglTexture2DSliced: Pass slice tex to callback in foreach_sub_texture
7505     
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.
7513
7514  clutter/cogl/cogl/cogl-texture-2d-sliced.c |    2 +-
7515  1 file changed, 1 insertion(+), 1 deletion(-)
7516
7517 commit 21c74030119e5f3a6414d3ce161178799af4cdc4
7518 Author: Robert Bragg <robert@linux.intel.com>
7519 Date:   Thu Nov 4 00:43:48 2010 +0000
7520
7521     docs: Adds an initial cogl-2.0 reference manual
7522     
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
7527     table of contents.
7528
7529  configure.ac                                      |    2 +
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(-)
7541
7542 commit fb9d3a835071f94f06ae54945bd8059f9c34df5c
7543 Author: Robert Bragg <robert@linux.intel.com>
7544 Date:   Thu Nov 4 00:27:47 2010 +0000
7545
7546     path 2.0: update path API for experimental 2.0 API
7547     
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.
7553     
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.
7558     
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.
7562
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(-)
7576
7577 commit 8efb48ecf4c322bd870f97dc88968b19807c2493
7578 Author: Robert Bragg <robert@linux.intel.com>
7579 Date:   Thu Nov 4 14:22:24 2010 +0000
7580
7581     config.h: define COGL_ENABLE_EXPERIMENTAL_2_0_API
7582     
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.
7587
7588  configure.ac |    8 ++++++++
7589  1 file changed, 8 insertions(+)
7590
7591 commit b993195dc8f6e274a565d357de603bb1c9351596
7592 Author: Robert Bragg <robert@linux.intel.com>
7593 Date:   Wed Nov 3 20:26:20 2010 +0000
7594
7595     cogl: Adds COGL_ENABLE_EXPERIMENTAL_2_0_API define
7596     
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.
7601
7602  clutter/cogl/cogl/cogl.h |    4 ++++
7603  1 file changed, 4 insertions(+)
7604
7605 commit 6ed6b2a54b5c8f44496399057ad5e58771bfc620
7606 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7607 Date:   Mon Oct 11 17:45:30 2010 +0100
7608
7609     Move tests to static colors where possible
7610
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(-)
7623
7624 commit 985518c601c1a6e0d108d55fb0465a776ccae584
7625 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7626 Date:   Tue Apr 6 10:54:20 2010 +0100
7627
7628     color: Add named, global colors
7629     
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.
7634     
7635     Static colors are accessed through an enumeration by using
7636     clutter_color_get_static(), or using the short-hand pre-processor
7637     macros.
7638     
7639     http://bugzilla.clutter-project.org/show_bug.cgi?id=2066
7640
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(+)
7649
7650 commit 6735f80b4b43b4c63dd0e3b982a5032509596a5d
7651 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7652 Date:   Thu Nov 11 12:03:24 2010 +0000
7653
7654     build: Sanitize the hack for ACLOCAL_FLAGS
7655     
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
7658     autogen.sh alone.
7659
7660  Makefile.am |    5 ++++-
7661  autogen.sh  |    2 +-
7662  2 files changed, 5 insertions(+), 2 deletions(-)
7663
7664 commit 6c53c9c84985aa8e83de1cf00e3feb9205e9f779
7665 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7666 Date:   Wed Nov 10 16:37:44 2010 +0000
7667
7668     build: Hack build/autotools into autoreconf
7669     
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.
7672     
7673     This hack should go away, and we should just use the installed copy of
7674     gettext.
7675
7676  autogen.sh |    2 +-
7677  1 file changed, 1 insertion(+), 1 deletion(-)
7678
7679 commit 5f30835eae218c8e80153101018c53862c03c353
7680 Author: Robert Bragg <robert@linux.intel.com>
7681 Date:   Fri Jul 23 17:46:41 2010 +0100
7682
7683     cogl-shader: Prepend boilerplate for portable shaders
7684     
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
7688     of GLSL.
7689     
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.
7693     
7694     To get a feel for the new, portable uniform/attribute names here are the
7695     defines for OpenGL vertex shaders:
7696     
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
7709     
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
7714     
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
7719     
7720     And for fragment shaders we have:
7721     
7722      #define cogl_color_in gl_Color
7723      #define cogl_tex_coord_in gl_TexCoord
7724     
7725      #define cogl_color_out gl_FragColor
7726      #define cogl_depth_out gl_FragDepth
7727     
7728      #define cogl_front_facing gl_FrontFacing
7729
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(-)
7753
7754 commit a4b984186ccd81879822ab7fad1af8b545b28e35
7755 Author: Robert Bragg <robert@linux.intel.com>
7756 Date:   Tue Nov 9 15:56:03 2010 +0000
7757
7758     tests: test-cogl-shader-arbfp wasn't compiling shader
7759     
7760     test-cogl-shader-arbfp was never calling cogl_shader_compile so it was a
7761     fluke that it used to run before.
7762
7763  tests/interactive/test-cogl-shader-arbfp.c |    1 +
7764  1 file changed, 1 insertion(+)
7765
7766 commit fd43786170937ff66eddadf9736124b33684405f
7767 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7768 Date:   Wed Nov 10 13:59:09 2010 +0000
7769
7770     build: Honour ACLOCAL_FLAGS with autoreconf
7771
7772  autogen.sh |   30 +++++++++++++++++++++++++++++-
7773  1 file changed, 29 insertions(+), 1 deletion(-)
7774
7775 commit 373140c830859f279c96d2605b6c4187a1fa7541
7776 Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
7777 Date:   Wed Oct 27 19:02:47 2010 +0200
7778
7779     Discard the current pick buffer...
7780     
7781     if we are asked to pick with a different mode.
7782     
7783     http://bugzilla.clutter-project.org/show_bug.cgi?id=2385
7784
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(-)
7790
7791 commit b4588b57dff691492d2d9fdd87c293ff95a278aa
7792 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7793 Date:   Mon Nov 8 16:15:23 2010 +0000
7794
7795     reference: Add a Wayland section
7796
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(+)
7801
7802 commit b783d77e6a730470656a9122755d10b50ac76e23
7803 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7804 Date:   Mon Nov 8 16:03:44 2010 +0000
7805
7806     gtk-doc: Add PathConstraint to the Clutter API reference
7807
7808  doc/reference/clutter/clutter-docs.xml.in |    9 +++++----
7809  doc/reference/clutter/clutter.types       |    1 +
7810  2 files changed, 6 insertions(+), 4 deletions(-)
7811
7812 commit 4909ecc71e1c7ac2b2aab6bb5a7c874f9d5b4697
7813 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7814 Date:   Mon Nov 8 16:01:19 2010 +0000
7815
7816     gtk-doc: Fixes for the API references
7817
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(-)
7824
7825 commit 993d3b3fe196903d020f954f2ccce51458b3dd3a
7826 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7827 Date:   Mon Nov 8 15:52:17 2010 +0000
7828
7829     timeout-pool: Deprecate the structure too
7830     
7831     Don't leave it lying around, since nothing can use it anyway.
7832
7833  clutter/clutter-timeout-pool.c |    4 +++-
7834  clutter/clutter-timeout-pool.h |    4 ++--
7835  2 files changed, 5 insertions(+), 3 deletions(-)
7836
7837 commit 26a70707ab2286e188d9ccb63084acdd5cbeebc5
7838 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7839 Date:   Sun Nov 7 21:35:40 2010 +0000
7840
7841     path-constraint: Add a ::node-reached signal
7842     
7843     Emit a signal whenever a node in the path has been reached.
7844
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(-)
7849
7850 commit ef7f729c6881950623cbbd8b82b68b3a15e26318
7851 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7852 Date:   Sun Nov 7 15:27:17 2010 +0000
7853
7854     build: Re-instate profile builds
7855     
7856     The profiling support was broken - probably during the restructuring of
7857     the build environment, but I'm too lazy to bisect that.
7858     
7859     The fix is trivial, and everything works as it should.
7860
7861  clutter/Makefile.am |    2 ++
7862  configure.ac        |    4 ++--
7863  2 files changed, 4 insertions(+), 2 deletions(-)
7864
7865 commit 38912ee4d9d7c74aa78a9dffcfc9e687232d8302
7866 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7867 Date:   Sat Nov 6 20:00:39 2010 +0000
7868
7869     Deprecate ClutterFrameSource
7870     
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.
7873
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(-)
7880
7881 commit 9ac2f5cba567114fd61446b9fa8991a663483fd5
7882 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7883 Date:   Sat Nov 6 19:59:58 2010 +0000
7884
7885     Deprecate ClutterTimeoutPool
7886     
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.
7889
7890  clutter/clutter-timeout-pool.c |    6 ++++++
7891  clutter/clutter-timeout-pool.h |    6 ++++++
7892  2 files changed, 12 insertions(+)
7893
7894 commit a432d9973dc40658632eeb4060090b7c68aacf50
7895 Author: Emmanuele Bassi <ebassi@linux.intel.com>
7896 Date:   Sat Nov 6 18:12:41 2010 +0000
7897
7898     Remove a compiler warning
7899
7900  clutter/cogl/cogl/cogl-vertex-attribute.c |    3 ++-
7901  1 file changed, 2 insertions(+), 1 deletion(-)
7902
7903 commit 6ec9c3247c5267c6c4a93e20d55d16415e4c1c9d
7904 Author: Maxim Ermilov <zaspire@rambler.ru>
7905 Date:   Fri Nov 5 20:20:14 2010 +0300
7906
7907     CoglContext: correct initialization order
7908     
7909     http://bugzilla.clutter-project.org/show_bug.cgi?id=2401
7910
7911  clutter/cogl/cogl/cogl-context.c |    4 ++--
7912  1 file changed, 2 insertions(+), 2 deletions(-)
7913
7914 commit ee59c83e176f78fa9ff95eaebbeb66e807b9ac0c
7915 Author: Piotr Drąg <piotrdrag@gmail.com>
7916 Date:   Tue Nov 2 12:22:55 2010 +0000
7917
7918     po: Update the Polish translation
7919
7920  po/pl.po |   46 +++++++++++++---------------------------------
7921  1 file changed, 13 insertions(+), 33 deletions(-)
7922
7923 commit 57633520d48eca5539381e3507847008470f27ed
7924 Author: Neil Roberts <neil@linux.intel.com>
7925 Date:   Fri Nov 5 18:33:37 2010 +0000
7926
7927     Make test-cogl-npot-texture a bit more extensive
7928     
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
7935     parts at 1:1 scale.
7936
7937  tests/conform/test-cogl-npot-texture.c |   17 ++++++++++++++---
7938  1 file changed, 14 insertions(+), 3 deletions(-)
7939
7940 commit cc63c7dd8ffcb5076e072d46b264cd7668e3d48f
7941 Author: Neil Roberts <neil@linux.intel.com>
7942 Date:   Fri Nov 5 14:38:19 2010 +0000
7943
7944     cogl-texture-2d-sliced: Fix the foreach callback for waste textures
7945     
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
7952     intersection.
7953     
7954     http://bugzilla.clutter-project.org/show_bug.cgi?id=2398
7955
7956  clutter/cogl/cogl/cogl-texture-2d-sliced.c |   56 +++++++++++++---------------
7957  1 file changed, 26 insertions(+), 30 deletions(-)
7958
7959 commit 8112bfc49fbdf4aa64ab06e0c2971cd3566ac08c
7960 Author: Neil Roberts <neil@linux.intel.com>
7961 Date:   Fri Nov 5 14:55:46 2010 +0000
7962
7963     Replace the disable-npots tool with a COGL_DEBUG option
7964     
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
7969     npot textures.
7970
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 ++
7975  configure.ac                           |    5 -
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(-)
7983
7984 commit 632412c9c8e2d62797c4333259e3c8a645479c61
7985 Author: Robert Bragg <robert@linux.intel.com>
7986 Date:   Tue Nov 2 12:20:32 2010 +0000
7987
7988     actor: Check "paint" handlers in _get_paint_volume
7989     
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().
7993     
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)
8001     
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.
8006     
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.
8011     
8012     http://bugzilla.clutter-project.org/show_bug.cgi?id=2388
8013
8014  clutter/clutter-actor.c |   78 ++++++++++++++++++++++-------------------------
8015  1 file changed, 37 insertions(+), 41 deletions(-)
8016
8017 commit b9dbeac2c3ac8ded52118270914328fd57eeee6e
8018 Author: Damien Lespiau <damien.lespiau@intel.com>
8019 Date:   Thu Oct 14 16:37:25 2010 +0100
8020
8021     gitignore: Update the path of generated GLES2 shaders
8022     
8023     The generation is not happening in the main Cogl directory, Update the
8024     .gitignore file accordingly.
8025
8026  .gitignore |    4 ++--
8027  1 file changed, 2 insertions(+), 2 deletions(-)
8028
8029 commit 844b5781283560bb99e827c0cbc1d212f21be628
8030 Author: Robert Bragg <robert@linux.intel.com>
8031 Date:   Mon Nov 1 22:07:11 2010 +0000
8032
8033     matrix-stack: use GArray instead of GSList for stack
8034     
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
8039     mid-scene.
8040
8041  clutter/cogl/cogl/cogl-matrix-stack.c |   55 ++++++++++-----------------------
8042  1 file changed, 17 insertions(+), 38 deletions(-)
8043
8044 commit a6000533dca20639ec94bd2b0afe8de71382dc65
8045 Author: Robert Bragg <robert@linux.intel.com>
8046 Date:   Mon Nov 1 20:33:20 2010 +0000
8047
8048     pipeline: Avoid costly checking of lighting properties
8049     
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.
8057
8058  clutter/cogl/cogl/cogl-pipeline.c |   42 +++++++++++++++++++++----------------
8059  1 file changed, 24 insertions(+), 18 deletions(-)
8060
8061 commit eaee5dd604e94fd5b63e25be47b6300c12646aa6
8062 Author: Robert Bragg <robert@linux.intel.com>
8063 Date:   Mon Nov 1 20:27:32 2010 +0000
8064
8065     cogl: add separate material for blended source_colors
8066     
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
8074     transparent colors.
8075
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(-)
8080
8081 commit d05ce7cd26253b94fb990b63e46b822febb616ab
8082 Author: Robert Bragg <robert@linux.intel.com>
8083 Date:   Mon Nov 1 18:55:48 2010 +0000
8084
8085     texture_quad_multiple_primitives: rework wrap mode overrides
8086     
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.
8091
8092  clutter/cogl/cogl/cogl-primitives.c |   84 +++++++++++++++++++++++------------
8093  1 file changed, 55 insertions(+), 29 deletions(-)
8094
8095 commit 7bbe207b65f1684278470f95681e46d34a56fc18
8096 Author: Robert Bragg <robert@linux.intel.com>
8097 Date:   Mon Nov 1 18:33:17 2010 +0000
8098
8099     _multitexture_quad_single_primitive: avoid wrap overrides
8100     
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.
8106
8107  clutter/cogl/cogl/cogl-primitives.c |  265 ++++++++++++++++++++---------------
8108  1 file changed, 151 insertions(+), 114 deletions(-)
8109
8110 commit e73b67e59bac1ac9a8b03bd776cf309151d9a1b0
8111 Author: Neil Roberts <neil@linux.intel.com>
8112 Date:   Wed Nov 3 16:02:27 2010 +0000
8113
8114     cogl-path: Don't bother filling the path if less than 3 nodes
8115     
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.
8125
8126  clutter/cogl/cogl/cogl-path.c |    4 ++--
8127  1 file changed, 2 insertions(+), 2 deletions(-)
8128
8129 commit 25b48585d3cabac8040aa4cccd579a1952a93f6d
8130 Author: Neil Roberts <neil@linux.intel.com>
8131 Date:   Tue Nov 2 17:35:17 2010 +0000
8132
8133     cogl-journal: Log the clip state in the journal
8134     
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
8144     state.
8145
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(-)
8150
8151 commit 4d5dc42dadac20da08e99340de9e828a805578ab
8152 Author: Neil Roberts <neil@linux.intel.com>
8153 Date:   Tue Nov 2 17:34:51 2010 +0000
8154
8155     cogl-framebuffer: Add a flag to skip flushing the clip state
8156     
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.
8160
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(-)
8164
8165 commit c5d909d0631dfeea5cd7f6beff900ed21762bf9d
8166 Author: Neil Roberts <neil@linux.intel.com>
8167 Date:   Tue Nov 2 17:15:06 2010 +0000
8168
8169     cogl: Don't flush the journal when flushing clip state
8170     
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.
8176     
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.
8187     
8188     Similarly there is also a new internal _cogl_clear function that does
8189     not flush the journal.
8190
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(-)
8200
8201 commit a39b292d90c7511d0e7ab7ff484c9b75edc2880f
8202 Author: Neil Roberts <neil@linux.intel.com>
8203 Date:   Wed Nov 3 15:48:56 2010 +0000
8204
8205     cogl-path: Use the vertex array API instead of CoglVertexBuffer
8206     
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.
8210
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(-)
8214
8215 commit 60de7939ee8bf35d5b8b72564dcb342157716cb0
8216 Author: Neil Roberts <neil@linux.intel.com>
8217 Date:   Tue Nov 2 14:28:12 2010 +0000
8218
8219     cogl: Move the clip stack dirtiness to the context rather than the FB
8220     
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.
8228     
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
8235     each batch.
8236
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(-)
8246
8247 commit 57574f399524c2eb46b095aa78b28ea5032a15ad
8248 Author: Neil Roberts <neil@linux.intel.com>
8249 Date:   Mon Nov 1 19:52:45 2010 +0000
8250
8251     cogl-clip-stack: Don't allocate a separate struct for CoglClipStack
8252     
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
8259     allocations.
8260     
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.
8266
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(-)
8272
8273 commit 314e980a3b40f79f1cb96fa8a8fc53d24eecfa2a
8274 Author: Neil Roberts <neil@linux.intel.com>
8275 Date:   Wed Nov 3 13:34:21 2010 +0000
8276
8277     cogl: Don't flush the framebuffer state for the internal draw
8278     
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.
8293
8294  clutter/cogl/cogl/cogl-vertex-attribute.c |   29 +++++++++++++++++++----------
8295  1 file changed, 19 insertions(+), 10 deletions(-)
8296
8297 commit 738a669fc2987474d524e2f0e5d60a3a49832784
8298 Author: Neil Roberts <neil@linux.intel.com>
8299 Date:   Thu Nov 4 16:01:23 2010 +0000
8300
8301     cogl-buffer: Use void* instead of guint8* for map and set_data
8302     
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.
8308
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(-)
8316
8317 commit a53c9dafb5fcd18ecd868c350441759196d614fc
8318 Author: Neil Roberts <neil@linux.intel.com>
8319 Date:   Thu Nov 4 17:31:59 2010 +0000
8320
8321     Add a conformance test for the CoglPrimitive convenience constructors
8322     
8323     This adds a simple conformance test which calls all of the convenience
8324     constructors for CoglPrimitive.
8325
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(+)
8330
8331 commit 390bdd2a275f9b3a242fc11725a92cca2c187797
8332 Author: Neil Roberts <neil@linux.intel.com>
8333 Date:   Thu Nov 4 17:21:56 2010 +0000
8334
8335     cogl-primitive: Fix the texture attribute offsets
8336     
8337     The offsets for the texture coordinate attributes in the convenience
8338     constructors were all wrong.
8339
8340  clutter/cogl/cogl/cogl-primitive.c |    8 ++++----
8341  1 file changed, 4 insertions(+), 4 deletions(-)
8342
8343 commit 17aaaac3362768b1b882c5772b3c6f81afa7ce01
8344 Author: Neil Roberts <neil@linux.intel.com>
8345 Date:   Thu Nov 4 16:54:20 2010 +0000
8346
8347     cogl-primitive: Fix a typo in new_with_attributes_array
8348     
8349     A typo in the g_return_val_if_fail was causing it to segfault.
8350
8351  clutter/cogl/cogl/cogl-primitive.c |    2 +-
8352  1 file changed, 1 insertion(+), 1 deletion(-)
8353
8354 commit b6eaab812be51ceeab023b4556f23e3b9e8a9ec5
8355 Author: Neil Roberts <neil@linux.intel.com>
8356 Date:   Thu Nov 4 16:42:11 2010 +0000
8357
8358     cogl-primitive: Add the missing cogl_primitive_new_p2 function
8359     
8360     There was a struct defined for CoglP2Vertex but there was no
8361     constructor function to use it.
8362
8363  clutter/cogl/cogl/cogl-primitive.c |   27 ++++++++++++++++++++++
8364  clutter/cogl/cogl/cogl-primitive.h |   44 ++++++++++++++++++++++++++++++++++++
8365  2 files changed, 71 insertions(+)
8366
8367 commit 1935855cdd4476c1f55dcff76706dc56653d33de
8368 Author: Neil Roberts <neil@linux.intel.com>
8369 Date:   Thu Nov 4 16:13:01 2010 +0000
8370
8371     cogl-primitive: Fix the ref-counting for the convenience constuctors
8372     
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.
8379
8380  clutter/cogl/cogl/cogl-primitive.c |   89 ++++++++++++++++++++++--------------
8381  1 file changed, 55 insertions(+), 34 deletions(-)
8382
8383 commit 3c35b95a84d410fdd9a9912c7c0d76f6ac05b562
8384 Author: Robert Bragg <robert@linux.intel.com>
8385 Date:   Thu Nov 4 13:23:23 2010 +0000
8386
8387     primitive: fix prototypes and start adding docs
8388     
8389     This fixes the prototypes for the cogl_primitive_new_xyz functions and
8390     also adds documentation with examples for each one.
8391
8392  clutter/cogl/cogl/cogl-primitive.h |  329 +++++++++++++++++++++++++++++++++---
8393  1 file changed, 307 insertions(+), 22 deletions(-)
8394
8395 commit 00397a313c955ba567d003d88dc64fb57d8346fb
8396 Author: Neil Roberts <neil@linux.intel.com>
8397 Date:   Thu Nov 4 14:56:44 2010 +0000
8398
8399     cogl-gles2-wrapper: Fix a reference to the old name for CoglPipeline
8400     
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.
8404
8405  clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c |    2 +-
8406  1 file changed, 1 insertion(+), 1 deletion(-)
8407
8408 commit 5abdbd5f7a2b0c4884dfb8b9415eb7e6f3f15a3b
8409 Author: Robert Bragg <robert@linux.intel.com>
8410 Date:   Fri Oct 29 15:49:25 2010 +0100
8411
8412     gles2: disable vbos until while we rework backend
8413     
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
8422     current design.
8423
8424  clutter/cogl/cogl/driver/gles/cogl-gles.c |    5 +++++
8425  1 file changed, 5 insertions(+)
8426
8427 commit 8034dc87d43c7e24324bacf42948fe96d1636176
8428 Author: Robert Bragg <robert@linux.intel.com>
8429 Date:   Wed Oct 27 18:54:57 2010 +0100
8430
8431     cogl: rename CoglMaterial -> CoglPipeline
8432     
8433     This applies an API naming change that's been deliberated over for a
8434     while now which is to rename CoglMaterial to CoglPipeline.
8435     
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.
8441     
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.
8461     
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.
8466
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(-)
8523
8524 commit 959af183b171f9ee9bdc2ecf6cec3b37e6703a5f
8525 Author: Robert Bragg <robert@linux.intel.com>
8526 Date:   Wed Oct 27 12:43:36 2010 +0100
8527
8528     pango: Use CoglMaterial type for materials
8529     
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.
8533
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(-)
8538
8539 commit 7ee99aaa838e5961c3ce15305679a6ea7a271113
8540 Author: Robert Bragg <robert@linux.intel.com>
8541 Date:   Wed Oct 27 12:36:24 2010 +0100
8542
8543     pango: push/pop source instead of trashing users source
8544     
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.
8551
8552  clutter/cogl/pango/cogl-pango-display-list.c |   76 +++++++++++++++-----------
8553  1 file changed, 45 insertions(+), 31 deletions(-)
8554
8555 commit 4e69c730857835d0b2971b3fd6b00e285b82a66a
8556 Author: Robert Bragg <robert@linux.intel.com>
8557 Date:   Mon Oct 18 17:17:22 2010 +0100
8558
8559     primitives: implements cogl_polygon on vertex_attributes
8560     
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.
8564     
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).
8570
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(-)
8575
8576 commit f9d9b1b1578e05a51bbf087aa2626e11d8e2c185
8577 Author: Robert Bragg <robert@linux.intel.com>
8578 Date:   Tue Oct 26 19:22:57 2010 +0100
8579
8580     journal: port to the vertex_attributes API
8581     
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.
8585
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(-)
8590
8591 commit f82b32cb3b93001705a2581ff59293e1074de4bb
8592 Author: Robert Bragg <robert@linux.intel.com>
8593 Date:   Tue Oct 26 18:56:57 2010 +0100
8594
8595     vertex-buffer: use cogl_get_rectangle_indices
8596     
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.
8600
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(-)
8605
8606 commit 670ea32dbdffea57008b5f5e315a879353cecdee
8607 Author: Robert Bragg <robert@linux.intel.com>
8608 Date:   Tue Oct 12 12:55:23 2010 +0100
8609
8610     vertex-buffer: port to CoglVertexAttributes + CoglPrimitive
8611     
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.
8615
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(-)
8619
8620 commit 69b1f756d14237c60073f77ee048975a159148cb
8621 Author: Robert Bragg <robert@linux.intel.com>
8622 Date:   Tue Oct 26 18:57:33 2010 +0100
8623
8624     primitive: adds immutable ref/unref mechanism
8625     
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.
8630
8631  clutter/cogl/cogl/cogl-primitive-private.h |    8 +++
8632  clutter/cogl/cogl/cogl-primitive.c         |   77 ++++++++++++++++++++++++++++
8633  2 files changed, 85 insertions(+)
8634
8635 commit 2d58d3f1b6b728e3cca6e1bbeabd19fc03de05df
8636 Author: Robert Bragg <robert@linux.intel.com>
8637 Date:   Tue Oct 12 15:48:31 2010 +0100
8638
8639     primitive: Adds convenience constructors
8640     
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.
8650     
8651     The hope is that people will find these convenient enough to replace
8652     cogl_polygon.
8653
8654  clutter/cogl/cogl/cogl-primitive.c |  246 ++++++++++++++++++++++++++++++++++++
8655  clutter/cogl/cogl/cogl-primitive.h |   66 +++++++---
8656  2 files changed, 296 insertions(+), 16 deletions(-)
8657
8658 commit 0cd077dc7efc5ed3cb982ffa6c7f4f5276867338
8659 Author: Robert Bragg <robert@linux.intel.com>
8660 Date:   Tue Oct 12 12:54:07 2010 +0100
8661
8662     cogl: Adds experimental CoglPrimitive API
8663     
8664     A CoglPrimitive is a retainable object for drawing a single primitive,
8665     such as a triangle strip, fan or list.
8666     
8667     CoglPrimitives build on CoglVertexAttributes and CoglIndices which
8668     themselves build on CoglVertexArrays and CoglIndexArrays respectively.
8669     
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.
8673
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(+)
8680
8681 commit dd63078bd3e4fae8fced0a2c8801bee145f9c24b
8682 Author: Robert Bragg <robert@linux.intel.com>
8683 Date:   Tue Oct 12 12:53:10 2010 +0100
8684
8685     cogl: Adds experimental CoglVertexAttribute API
8686     
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.
8693
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(+)
8700
8701 commit 3d14fbc30881e7068c6724aef4ec3efbb4467186
8702 Author: Robert Bragg <robert@linux.intel.com>
8703 Date:   Tue Oct 12 12:48:58 2010 +0100
8704
8705     cogl: Adds experimental CoglIndices API
8706     
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.
8711
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(+)
8720
8721 commit 8ca80e47c40422b69d1e7b70850c7033ec71b1b8
8722 Author: Robert Bragg <robert@linux.intel.com>
8723 Date:   Tue Oct 12 12:34:27 2010 +0100
8724
8725     cogl: Adds experimental CoglVertexArray type
8726     
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.
8731
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(+)
8738
8739 commit 3aba41e20209d597c6fc49a6163b86eb71a2ff3a
8740 Author: Robert Bragg <robert@linux.intel.com>
8741 Date:   Tue Oct 12 12:36:22 2010 +0100
8742
8743     cogl: Adds experimental CoglIndexArray type
8744     
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.
8748
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(+)
8755
8756 commit eac167df1c6ce300d915249e696cc0dc2d6a8819
8757 Author: Robert Bragg <robert@linux.intel.com>
8758 Date:   Tue Oct 26 19:08:51 2010 +0100
8759
8760     buffer: adds immutable ref/unref mechanism
8761     
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.
8764     
8765     The plans is for the journal to use this mechanism so that we can warn
8766     users about mid-scene modifications of buffers.
8767
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(-)
8771
8772 commit efa11f8a8fd0400b3f6003d9f48292b0629d3698
8773 Author: Robert Bragg <robert@linux.intel.com>
8774 Date:   Tue Oct 12 13:14:17 2010 +0100
8775
8776     buffer: make _bind() return base pointer
8777     
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
8783     way.
8784
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(-)
8789
8790 commit 35ddc5407efe0e2877d64e75a5d2e252f9aee8b9
8791 Author: Robert Bragg <robert@linux.intel.com>
8792 Date:   Tue Oct 26 19:02:04 2010 +0100
8793
8794     material: Bail out faster if re-flushing unchanged material
8795     
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
8798     hasn't changed.
8799     
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.
8805
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(-)
8809
8810 commit bbf27e6b285afca1261eaa448096667415d81219
8811 Author: Robert Bragg <robert@linux.intel.com>
8812 Date:   Tue Oct 26 17:43:16 2010 +0100
8813
8814     material-node: track if node owns reference on parent
8815     
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
8822     unref.
8823
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(-)
8827
8828 commit e5202d6a0da1d94f65ddbe381766d775e1047e26
8829 Author: Robert Bragg <robert@linux.intel.com>
8830 Date:   Tue Oct 26 17:38:58 2010 +0100
8831
8832     cogl-object: correctly free user_data_array in _unref
8833     
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.
8839
8840  clutter/cogl/cogl/cogl-object.c |    3 +--
8841  1 file changed, 1 insertion(+), 2 deletions(-)
8842
8843 commit 0b4b1ca1caad41785dadc7d2bd71af6c7b644ada
8844 Author: Owen W. Taylor <otaylor@fishsoup.net>
8845 Date:   Sat Oct 30 18:11:03 2010 -0400
8846
8847     Don't leave stale invalidated queued redraws around
8848     
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.
8853     
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.
8858     
8859     http://bugzilla.clutter-project.org/show_bug.cgi?id=2389
8860
8861  clutter/clutter-actor.c |    5 ++++-
8862  clutter/clutter-stage.c |   12 +++++++-----
8863  2 files changed, 11 insertions(+), 6 deletions(-)
8864
8865 commit 02a3670e880333536f0fb53b1044317a9f46ee15
8866 Author: Neil Roberts <neil@linux.intel.com>
8867 Date:   Mon Nov 1 15:21:04 2010 +0000
8868
8869     win32: Fix a couple of build warnings
8870     
8871     * clutter-backend-win32 had an unused variable
8872     
8873     * clutter-event-win32 was using the abs function without including
8874       stdlib.h
8875
8876  clutter/win32/clutter-backend-win32.c |    2 --
8877  clutter/win32/clutter-event-win32.c   |    1 +
8878  2 files changed, 1 insertion(+), 2 deletions(-)
8879
8880 commit f13f545aa9824ed53ea5a78878c7f96d40239e48
8881 Author: Neil Roberts <neil@linux.intel.com>
8882 Date:   Mon Nov 1 15:13:12 2010 +0000
8883
8884     clutter-backend-win32: Use g_object_unref on the stage manager
8885     
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.
8893
8894  clutter/win32/clutter-backend-win32.c |    7 +------
8895  1 file changed, 1 insertion(+), 6 deletions(-)
8896
8897 commit 907490d795f4438e631679fce47cae7fc08830d6
8898 Author: Damien Lespiau <damien.lespiau@intel.com>
8899 Date:   Sun Oct 31 18:34:23 2010 +0000
8900
8901     clone: Remove checks in set_source_internal()
8902     
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
8907     here.
8908
8909  clutter/clutter-clone.c |    7 +------
8910  1 file changed, 1 insertion(+), 6 deletions(-)
8911
8912 commit a318fe5ca50feca359abc15238c4ed0da3b41397
8913 Author: Damien Lespiau <damien.lespiau@intel.com>
8914 Date:   Sun Oct 31 16:49:40 2010 +0000
8915
8916     texture: Warn when the file loaded from a ClutterScript can't be found
8917     
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".
8921
8922  clutter/clutter-texture.c |    5 ++++-
8923  1 file changed, 4 insertions(+), 1 deletion(-)
8924
8925 commit 2ee0e40848a1c70c5b9891dea60d0f25d08e2a47
8926 Author: Neil Roberts <neil@linux.intel.com>
8927 Date:   Fri Oct 15 18:00:29 2010 +0100
8928
8929     Merge cogl-program-{gl,gles}.c into one cogl-program.c
8930     
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
8950     the hash lookup.
8951     
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.
8955     
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.
8960     
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.
8965     
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
8980     code itself.
8981     
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:
8989     
8990     https://bugs.freedesktop.org/show_bug.cgi?id=31194
8991
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(-)
9011
9012 commit 65d7a113eeb0de08ccb402fe4ade14fe82fcaff1
9013 Author: Neil Roberts <neil@linux.intel.com>
9014 Date:   Wed Oct 27 15:07:03 2010 +0100
9015
9016     cogl: Use separate materials for set_source_color and texture
9017     
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
9029     reference.
9030
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(-)
9035
9036 commit 89cedc78009cee86ffe025cd7c2343d69b199928
9037 Author: Robert Bragg <robert@linux.intel.com>
9038 Date:   Tue Oct 12 12:53:44 2010 +0100
9039
9040     Move IndicesType and VerticesMode typedefs to cogl-types.h
9041     
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.
9045
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(-)
9049
9050 commit e3bf83eab527d1dfbd697da1cc13dda2bb8b7d30
9051 Author: Robert Bragg <robert@linux.intel.com>
9052 Date:   Tue Oct 26 16:05:00 2010 +0100
9053
9054     buffer: BufferBindTarget + BufferUsageHint enum renaming
9055     
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".
9059
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(-)
9063
9064 commit 9efe7ca5bc66d2889c45ac998115d3df04bfebb4
9065 Author: Robert Bragg <robert@linux.intel.com>
9066 Date:   Mon Oct 18 18:50:02 2010 +0100
9067
9068     buffer: warn if (offset + size) > buffer->size
9069     
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.
9073
9074  clutter/cogl/cogl/cogl-buffer.c |    7 ++-----
9075  1 file changed, 2 insertions(+), 5 deletions(-)
9076
9077 commit b2963b4eef2aba6b3b62983b1b23ff7abfa221e1
9078 Author: Robert Bragg <robert@linux.intel.com>
9079 Date:   Tue Oct 12 13:25:05 2010 +0100
9080
9081     pixel-array: Remove some benign variables
9082     
9083     There were some completely unused static global variables declared in
9084     cogl-pixel-array.c which this patch removes.
9085
9086  clutter/cogl/cogl/cogl-pixel-array.c |    7 -------
9087  1 file changed, 7 deletions(-)
9088
9089 commit 902c18ad874694b2f3f5fffa67d8f5aa576d79a2
9090 Author: Robert Bragg <robert@linux.intel.com>
9091 Date:   Tue Oct 12 13:23:44 2010 +0100
9092
9093     pixel-array: Remove flags member and flag macros
9094     
9095     There are no flags associated with pixel-arrays so we don't need the
9096     flags member or flag macros.
9097
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(-)
9101
9102 commit 1c8b355bbb6f1aa466a8ca0b2a4732135413661b
9103 Author: Robert Bragg <robert@linux.intel.com>
9104 Date:   Tue Oct 26 16:06:46 2010 +0100
9105
9106     buffer: Add a store_created bit field member
9107     
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
9115     re-factoring.
9116
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(-)
9120
9121 commit d5188c26b6dc928639d0779ba4910ad5f4fa7fcc
9122 Author: Robert Bragg <robert@linux.intel.com>
9123 Date:   Tue Oct 12 11:46:29 2010 +0100
9124
9125     buffer: remove flag macros
9126     
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
9136     necessary.
9137     
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.
9141
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(-)
9146
9147 commit bc3a26d03552273ddb61004364a6897057415732
9148 Author: Robert Bragg <robert@linux.intel.com>
9149 Date:   Tue Oct 12 12:35:47 2010 +0100
9150
9151     material: Adds _cogl_material_get_layer_texture
9152     
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.
9158
9159  clutter/cogl/cogl/cogl-material-private.h |    4 ++++
9160  clutter/cogl/cogl/cogl-material.c         |    9 +++++++++
9161  2 files changed, 13 insertions(+)
9162
9163 commit 0288ba39110b46a51be7d1efc2de0a5a64e0d1e0
9164 Author: Robert Bragg <robert@linux.intel.com>
9165 Date:   Mon Oct 18 19:00:50 2010 +0100
9166
9167     material: add internal layer filter getters
9168     
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.
9174
9175  clutter/cogl/cogl/cogl-material-private.h |   14 +++++++++
9176  clutter/cogl/cogl/cogl-material.c         |   45 +++++++++++++++++++++++++++++
9177  2 files changed, 59 insertions(+)
9178
9179 commit 6fd26630bae6a30f97e523f4c2e6f21889111930
9180 Author: Robert Bragg <robert@linux.intel.com>
9181 Date:   Sun Aug 1 23:05:28 2010 +0100
9182
9183     material: Adds missing get_layer_wrap_mode_xyz prototypes
9184     
9185     This adds missing getter function prototypes for
9186     cogl_material_get_layer_wrap_mode_{s,t,p}
9187
9188  clutter/cogl/cogl/cogl-material.h |   52 +++++++++++++++++++++++++++++++++++++
9189  1 file changed, 52 insertions(+)
9190
9191 commit 32ae904d81684c1affd919fd1ccb024d18636bc8
9192 Author: Robert Bragg <robert@linux.intel.com>
9193 Date:   Sun Aug 1 16:07:38 2010 +0100
9194
9195     vertex-buffer: remove the unstrided CBO type
9196     
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.
9203
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(-)
9207
9208 commit 94e06197856c9959580c837985eb114150d402a3
9209 Author: Robert Bragg <robert@linux.intel.com>
9210 Date:   Wed Jul 28 13:59:34 2010 +0100
9211
9212     material: Adds _cogl_material_pre_paint_for_layer
9213     
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.
9219
9220  clutter/cogl/cogl/cogl-material-private.h |    9 +++++++++
9221  clutter/cogl/cogl/cogl-material.c         |    8 ++++++++
9222  2 files changed, 17 insertions(+)
9223
9224 commit 701a69366142f5c2389110daa0426abdb8691f6d
9225 Author: Robert Bragg <robert@linux.intel.com>
9226 Date:   Mon Oct 25 13:25:21 2010 +0100
9227
9228     cogl: Adds {push,pop,get}_source functions
9229     
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.
9236
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(-)
9249
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
9254
9255     Merge branch 'private-cleanup'
9256     
9257     * 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
9265
9266 commit b16ff0359ac53bfd6650256c874677e44b93a746
9267 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9268 Date:   Mon Oct 25 17:44:27 2010 +0100
9269
9270     Post-release version bump to 1.5.5
9271
9272  configure.ac |    2 +-
9273  1 file changed, 1 insertion(+), 1 deletion(-)
9274
9275 commit cba230400a4d92f6c97f029326d68fa5798b1214
9276 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9277 Date:   Mon Oct 25 17:30:52 2010 +0100
9278
9279     Release Clutter 1.5.4
9280
9281  configure.ac       |    2 +-
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(-)
9290
9291 commit cb7d2943eafd65a2526f7da0f9e5d8bf1a176f32
9292 Author: Chris Lord <chris@linux.intel.com>
9293 Date:   Fri Oct 22 17:41:06 2010 +0100
9294
9295     state: Correct the documentation
9296     
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().
9300
9301  clutter/clutter-state.c |   21 +++++++++++----------
9302  1 file changed, 11 insertions(+), 10 deletions(-)
9303
9304 commit bfc1583d76548f9882a4d77df39d32733883814d
9305 Author: Chris Lord <chris@linux.intel.com>
9306 Date:   Fri Oct 22 16:32:05 2010 +0100
9307
9308     state: Fix warping to the current state during transitions
9309     
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.
9313
9314  clutter/clutter-state.c |    8 ++++++--
9315  1 file changed, 6 insertions(+), 2 deletions(-)
9316
9317 commit 35c35de55c27ff212d819e202b6081859510ee3d
9318 Author: Chris Lord <chris@linux.intel.com>
9319 Date:   Fri Oct 22 16:13:16 2010 +0100
9320
9321     state: Handle setting keys for the current target state
9322     
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
9329
9330  clutter/clutter-state.c |   73 ++++++++++++++++++++++++++++++++++++++++++++---
9331  1 file changed, 69 insertions(+), 4 deletions(-)
9332
9333 commit 73dcbedc8067fac25e43d833036f8c76f7c01282
9334 Author: Chris Lord <chris@linux.intel.com>
9335 Date:   Fri Oct 22 15:24:49 2010 +0100
9336
9337     state: Fix crasher when removing the last key of a transitioning state
9338     
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
9342     memory access.
9343
9344  clutter/clutter-state.c |    4 ++++
9345  1 file changed, 4 insertions(+)
9346
9347 commit 5700b34b9cd894e6847dc8973e358104b47fdae5
9348 Author: Chris Lord <chris@linux.intel.com>
9349 Date:   Thu Oct 21 16:51:45 2010 +0100
9350
9351     state: Allow setting a NULL state
9352     
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.
9357
9358  clutter/clutter-state.c |   22 ++++++++++++++++++----
9359  1 file changed, 18 insertions(+), 4 deletions(-)
9360
9361 commit 9c5f09f32d291aac58fa7e7456302272e4c2a49e
9362 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9363 Date:   Mon Oct 25 17:16:24 2010 +0100
9364
9365     Update NEWS
9366
9367  NEWS |    3 +++
9368  1 file changed, 3 insertions(+)
9369
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
9374
9375     Merge branch 'wip/path-constraint'
9376     
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
9382
9383 commit f6ab7eccd9c946c75b5b4f4eba0c4a834f31804a
9384 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9385 Date:   Mon Oct 25 16:09:40 2010 +0100
9386
9387     docs: Add PathConstraint
9388
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(-)
9393
9394 commit 6f8e46e0b356ab5f367a1042be04392fe0775cba
9395 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9396 Date:   Mon Oct 25 15:47:15 2010 +0100
9397
9398     tests: Add a PathConstraint interactive test
9399
9400  tests/interactive/Makefile.am            |    3 +-
9401  tests/interactive/test-path-constraint.c |   63 ++++++++++++++++++++++++++++++
9402  2 files changed, 65 insertions(+), 1 deletion(-)
9403
9404 commit 6b2cbb990835f366060e59344db9019d271b2a89
9405 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9406 Date:   Mon Oct 25 15:46:04 2010 +0100
9407
9408     Add ClutterPathConstraint
9409     
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.
9413
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(+)
9419
9420 commit 3f6ec0ba5a153f8185db8e481f823b49030bd8bc
9421 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9422 Date:   Mon Oct 25 15:45:35 2010 +0100
9423
9424     actor-box: Add setters for origin and size
9425
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(+)
9430
9431 commit 0cb2ef434b371d5d372040e03ec6705f2991ad39
9432 Author: Damien Lespiau <damien.lespiau@intel.com>
9433 Date:   Thu Oct 14 11:48:00 2010 -0400
9434
9435     eglnative: Fix the type of stage for eglnative
9436     
9437     CLUTTER_TYPE_STAGE_EGLNATIVE does not exist any more, use
9438     CUTTER_TYPE_STAGE_EGL instead.
9439
9440  configure.ac |    2 +-
9441  1 file changed, 1 insertion(+), 1 deletion(-)
9442
9443 commit 6da18b6e4f93bb1430698959d6280cb53f9e2ff2
9444 Author: Neil Roberts <neil@linux.intel.com>
9445 Date:   Thu Oct 21 17:20:44 2010 +0100
9446
9447     win32: Fix clutter_win32_disable_event_retrieval
9448     
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
9455     variable instead.
9456
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(-)
9461
9462 commit e6099cdd4bd08d81cab51ff4fc291c839d7f37e3
9463 Author: Ole André Vadla Ravnås <oravnas@cisco.com>
9464 Date:   Thu Oct 14 15:30:54 2010 +0200
9465
9466     win32: Use _clutter_actor_rerealize() like X11 backend does
9467     
9468     http://bugzilla.clutter-project.org/show_bug.cgi?id=1654
9469
9470  clutter/win32/clutter-stage-win32.c |   90 +++++++++++++++++++++++++----------
9471  1 file changed, 66 insertions(+), 24 deletions(-)
9472
9473 commit e66c679e84fd604d714828dceba1a50105790181
9474 Author: Neil Roberts <neil@linux.intel.com>
9475 Date:   Fri Aug 27 15:54:21 2010 +0100
9476
9477     win32: Add a public clutter_win32_handle_event function
9478     
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.
9487
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(-)
9492
9493 commit 52744c0d9db6d7f9738d31b6d9f774c0912fcad0
9494 Author: Neil Roberts <neil@linux.intel.com>
9495 Date:   Thu Oct 21 16:27:17 2010 +0100
9496
9497     clutter-stage: Set the Cogl framebuffer size after allocating
9498     
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.
9512
9513  clutter/clutter-stage.c |   12 ++++++++----
9514  1 file changed, 8 insertions(+), 4 deletions(-)
9515
9516 commit cc7977988c92ad7fa96f0a1dd0a8581432f090ca
9517 Author: Neil Roberts <neil@linux.intel.com>
9518 Date:   Mon Oct 25 13:15:01 2010 +0100
9519
9520     cogl-context-winsys: Avoid zero-length arrays
9521     
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.
9525     
9526     Based on a patch by Ole André Vadla Ravnås
9527
9528  clutter/cogl/cogl/winsys/cogl-context-winsys.c |    8 +++++++-
9529  1 file changed, 7 insertions(+), 1 deletion(-)
9530
9531 commit f1752ff3ba1828873f7f97f3842eadcc389e87a1
9532 Author: Neil Roberts <neil@linux.intel.com>
9533 Date:   Mon Oct 25 13:08:52 2010 +0100
9534
9535     Avoid mixing declarations and code
9536     
9537     Mixing declarations and code causes problems for MSVC as it is a C99
9538     feature so we should try to avoid it.
9539
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(-)
9550
9551 commit 8e3674dcc12654e48e9c85e5aff2d56642512321
9552 Author: Neil Roberts <neil@linux.intel.com>
9553 Date:   Mon Oct 25 13:07:50 2010 +0100
9554
9555     Avoid variable length arrays in clutter-backend-x11
9556     
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.
9561
9562  clutter/x11/clutter-backend-x11.c |    6 +++---
9563  1 file changed, 3 insertions(+), 3 deletions(-)
9564
9565 commit c3f47fa7d03ec3e7a5f963ced0457f27c3ec41ee
9566 Author: Neil Roberts <neil@linux.intel.com>
9567 Date:   Mon Oct 25 13:03:39 2010 +0100
9568
9569     Add -Wdeclaration-after-statement and -Wvla to maintainer CFLAGS
9570     
9571     These warnings pick up C99 extensions that are commonly accidentally
9572     used and which cause problems when compiling with MSVC.
9573
9574  configure.ac |    3 ++-
9575  1 file changed, 2 insertions(+), 1 deletion(-)
9576
9577 commit 164af55a6e52075afbc335a3ff15fe9b48ac9f31
9578 Author: Giovanni Campagna <gcampagna@src.gnome.org>
9579 Date:   Sun Oct 24 14:45:16 2010 +0200
9580
9581     Avoid warnings on ClutterClone with a NULL source
9582     
9583     clutter_clone_apply_transform should check the source before calling
9584     methods on it, else criticals will be emitted.
9585     
9586     http://bugzilla.clutter-project.org/show_bug.cgi?id=2381
9587
9588  clutter/clutter-clone.c |    4 ++++
9589  1 file changed, 4 insertions(+)
9590
9591 commit c7bfe27e96ccc6295d0e774dacf3597ec7df146c
9592 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9593 Date:   Mon Oct 25 12:31:50 2010 +0100
9594
9595     Update NEWS
9596
9597  NEWS |   39 +++++++++++++++++++++++++++++++++++++++
9598  1 file changed, 39 insertions(+)
9599
9600 commit 276acf5854c0e589eae9a76c78ef1faa50c46caa
9601 Author: Ole André Vadla Ravnås <oravnas@cisco.com>
9602 Date:   Sat Oct 9 23:07:26 2010 +0200
9603
9604     binding-pool: Use the correct marshaller
9605
9606  clutter/clutter-binding-pool.c |    8 ++++----
9607  clutter/clutter-marshal.list   |    2 +-
9608  2 files changed, 5 insertions(+), 5 deletions(-)
9609
9610 commit c792431538e02c05f90f12bd4c36c72cf3f3eab4
9611 Author: Ole André Vadla Ravnås <oravnas@cisco.com>
9612 Date:   Thu Oct 14 13:11:46 2010 +0200
9613
9614     interval: Remember to chain up to parent in finalize()
9615
9616  clutter/clutter-interval.c |    2 ++
9617  1 file changed, 2 insertions(+)
9618
9619 commit d5634e37a262012f66022071d862ad9e5a8fbe53
9620 Author: Neil Roberts <neil@linux.intel.com>
9621 Date:   Mon Oct 4 14:34:24 2010 +0100
9622
9623     cogl-texture-2d-sliced: Use the other backends for the slices
9624     
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
9632     texture target.
9633
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(-)
9637
9638 commit 61f2f1c024a01368ff99e6639518463b175ff2c0
9639 Author: Neil Roberts <neil@linux.intel.com>
9640 Date:   Mon Oct 4 15:27:38 2010 +0100
9641
9642     Support foreign textures in the texture-2d and rectangle backends
9643     
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.
9648
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(-)
9655
9656 commit 7b7b655e6ef45e5bdda25fe7b416ea632a0da25f
9657 Author: Damien Lespiau <damien.lespiau@intel.com>
9658 Date:   Fri Oct 22 06:52:27 2010 +0100
9659
9660     build: Dist cookbook.xsl
9661     
9662     cookbook.xsl was not in EXTRA_DIST, so the cookbook was not buildable
9663     with released tarballs.
9664
9665  doc/common/Makefile.am |    1 +
9666  1 file changed, 1 insertion(+)
9667
9668 commit cf46c8197e678bd53d3592307b326fa984c93eb9
9669 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9670 Date:   Thu Oct 21 13:13:00 2010 +0100
9671
9672     Add copyright notices
9673
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(+)
9684
9685 commit 46c597a1f674394d94ac9bdd61b3521d8bb0905a
9686 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9687 Date:   Thu Oct 21 12:16:05 2010 +0100
9688
9689     Clean up clutter-private.h/6
9690     
9691     Move all Actor private API to a separate file.
9692
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(-)
9722
9723 commit cf3a29f224644b718458576191a6246883ba6485
9724 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9725 Date:   Thu Oct 21 11:59:50 2010 +0100
9726
9727     Clean up clutter-private.h/5
9728     
9729     Move PaintVolume private API to a separate header.
9730
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(-)
9741
9742 commit 43edfc940038f9582902d83e798b9985f8790f57
9743 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9744 Date:   Thu Oct 21 11:49:37 2010 +0100
9745
9746     Clean up clutter-private.h/4
9747     
9748     Move the private Backend API to a separate header.
9749     
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.
9753
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(-)
9772
9773 commit 8613013ab086668360d4ce625fe7b896ca5ae0e0
9774 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9775 Date:   Thu Oct 21 11:29:09 2010 +0100
9776
9777     Clean up clutter-private.h/3
9778     
9779     Move Stage private API to a separate header.
9780
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(-)
9810
9811 commit 999c0637848bc36b2a668f52ff58125a1f298dd8
9812 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9813 Date:   Thu Oct 21 10:59:49 2010 +0100
9814
9815     Clean up clutter-private.h/2
9816     
9817     Move StageManager private API to a different header.
9818
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(-)
9825
9826 commit c1771d152eaaa54017e80f370b2163eadc8c2fdc
9827 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9828 Date:   Thu Oct 21 10:54:14 2010 +0100
9829
9830     Clean up clutter-private.h/1
9831     
9832     Move DeviceManager/InputDevice private API to a different header.
9833
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(-)
9849
9850 commit f709664f2338302f3ad09427d97847c21518cc1d
9851 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9852 Date:   Wed Oct 20 09:42:34 2010 +0100
9853
9854     build: Go back to autoreconf
9855     
9856     After testing and distchecking, I verified that autoreconf can still be
9857     used to rebuild the autotools setup.
9858     
9859     Thanks to Javier Jardón for the second pair of eyes.
9860
9861  autogen.sh |   91 ++++++------------------------------------------------------
9862  1 file changed, 8 insertions(+), 83 deletions(-)
9863
9864 commit 68156c24c1e951f06a12feca4f13b9cd1627df61
9865 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9866 Date:   Tue Oct 19 17:48:15 2010 +0100
9867
9868     build: Remove unused Makefile.am
9869     
9870     We switched to a non-recursive layout, hence we don't need Makefile.am
9871     in the osx/ and fruity/ sub-directories.
9872
9873  clutter/fruity/Makefile.am |   24 ------------------------
9874  clutter/osx/Makefile.am    |   25 -------------------------
9875  2 files changed, 49 deletions(-)
9876
9877 commit ce3311df2683dae46b3b63a760ae87353f9f59b6
9878 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9879 Date:   Tue Oct 19 12:32:02 2010 +0100
9880
9881     conform: Remove unnecessary destroy() calls
9882     
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
9887     suite.
9888
9889  tests/conform/test-script-parser.c |    5 -----
9890  1 file changed, 5 deletions(-)
9891
9892 commit b5bbdd6cecc47beb0d299fdcf92aa58f71aabb1e
9893 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9894 Date:   Tue Oct 19 11:03:13 2010 +0100
9895
9896     build: Add test wrappers to the main ignore file
9897     
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
9900     under tests.
9901
9902  .gitignore                    |    2 ++
9903  tests/conform/Makefile.am     |    1 -
9904  tests/interactive/Makefile.am |    1 -
9905  3 files changed, 2 insertions(+), 2 deletions(-)
9906
9907 commit e80825535adf57db6d7faa16b81eddb7b5d6b065
9908 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9909 Date:   Tue Oct 19 10:48:39 2010 +0100
9910
9911     build: Show whether we have XComposite
9912     
9913     Since we're doing it for other optional X11 extensions as well.
9914
9915  configure.ac |    1 +
9916  1 file changed, 1 insertion(+)
9917
9918 commit dd2f55c6f6bbc2f0a12b70ccf90cf7840b6e2212
9919 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9920 Date:   Tue Oct 19 10:40:57 2010 +0100
9921
9922     x11: Protect XComposite API calls
9923     
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.
9927
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(-)
9931
9932 commit 21eb49098a7e90007b9043917a8dcf816db765b7
9933 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9934 Date:   Mon Sep 13 23:29:52 2010 +0300
9935
9936     script: Fix the memory management
9937     
9938     Currently, the memory management in ClutterScript is overly complicated.
9939     The basic design tenet should be:
9940     
9941       - ClutterScript owns a reference on every object it creates
9942     
9943     This allows the Script instance to reliably handle the lifetime of the
9944     instances from creation to disposal.
9945     
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.
9950     
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.
9955     
9956     This commit is based on a patch by:
9957     
9958       Henrik Hedberg <hhedberg@innologies.fi>
9959     
9960     http://bugzilla.clutter-project.org/show_bug.cgi?id=2316
9961
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(-)
9966
9967 commit 20a359cc530bac6a27bfa46839b49a88e1bec3d6
9968 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9969 Date:   Tue Oct 19 01:41:05 2010 +0100
9970
9971     debug: Do not use '&' in the messages
9972     
9973     Use ':' as a separator between G_STRLOC and the debug message, like we
9974     do for warnings.
9975
9976  clutter/clutter-debug.h |    4 ++--
9977  1 file changed, 2 insertions(+), 2 deletions(-)
9978
9979 commit 78d4073f8ebb115d4e02f5ffea11260ed286719f
9980 Author: Emmanuele Bassi <ebassi@linux.intel.com>
9981 Date:   Tue Oct 19 01:40:44 2010 +0100
9982
9983     Remove unused variables
9984
9985  clutter/clutter-script.c        |    1 -
9986  clutter/clutter-shader-effect.c |    1 -
9987  2 files changed, 2 deletions(-)
9988
9989 commit 1c9dcdaeb295867d86a447cfc3df44d4e74d3ae0
9990 Author: Damien Lespiau <damien.lespiau@intel.com>
9991 Date:   Thu Oct 14 15:33:17 2010 +0100
9992
9993     build: Fix CLUTTER_EGL_BACKEND definition for eglnative and cex100
9994     
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
9998     obviously wrong.
9999     
10000     The paches defines the right values for CLUTTER_EGL_BACKEND for the
10001     eglnative and cex100 flavours.
10002
10003  configure.ac |    3 ++-
10004  1 file changed, 2 insertions(+), 1 deletion(-)
10005
10006 commit 32270730bdcc20d9ac19c5b66cfda08e8e839937
10007 Author: Damien Lespiau <damien.lespiau@intel.com>
10008 Date:   Thu Oct 14 16:32:13 2010 +0100
10009
10010     build: Fix EGL/CEX100 build with GLES2
10011     
10012     Some headers files have been renamed or removed and the gles(2) did not
10013     compile anymore, fix that.
10014
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(-)
10018
10019 commit 0f613ea134b7369a214e1bb0056e3a21233982f9
10020 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10021 Date:   Fri Oct 15 17:35:41 2010 +0100
10022
10023     cairo-texture: Allow overriding the surface creation
10024     
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.
10028     
10029     This commit takes a bit of the patch from:
10030     
10031       http://bugzilla.clutter-project.org/show_bug.cgi?id=1878
10032     
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.
10038
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(-)
10046
10047 commit 63e314b07e8212089c2c50aab015790fe8908e6a
10048 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10049 Date:   Fri Oct 15 16:09:19 2010 +0100
10050
10051     build: Depend on cairo-gobject
10052     
10053     Starting from version 1.10, Cairo ships GTypes for its data types.
10054
10055  README       |    2 +-
10056  configure.ac |    2 +-
10057  2 files changed, 2 insertions(+), 2 deletions(-)
10058
10059 commit 8729c01377d11874107bdee5d53dbcb23874db20
10060 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10061 Date:   Fri Oct 15 16:09:12 2010 +0100
10062
10063     build: Remove unnecessary g-i version check
10064
10065  configure.ac |    7 -------
10066  1 file changed, 7 deletions(-)
10067
10068 commit 050e775da27209c5720d5ba8bffde786add562cd
10069 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10070 Date:   Fri Oct 15 15:24:27 2010 +0100
10071
10072     Move more classes to install_properties()
10073
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(-)
10096
10097 commit 8429aa8d755b268975c2870978f8d8484f584542
10098 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10099 Date:   Fri Oct 8 15:47:00 2010 +0100
10100
10101     Remove unnecessary GLib version checks
10102     
10103     We now depend on a newer version of GLib than those checks tested for.
10104
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(-)
10117
10118 commit 7dd09e21861bd1b7ceaea112b6e4fb69aeebbf1e
10119 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10120 Date:   Fri Oct 8 15:21:57 2010 +0100
10121
10122     Use G_DEFINE_BOXED_TYPE for all boxed types
10123     
10124     We actually need a couple more macros for registering GValue
10125     transformation functions. Those should be added to upstream
10126     GLib.
10127
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(-)
10142
10143 commit 09a830d2945456d882cbf8b326264041b172fea9
10144 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10145 Date:   Fri Oct 8 14:49:47 2010 +0100
10146
10147     Remove conditional wrappers for property installation/notification
10148     
10149     For the time being, just keep the #define's.
10150
10151  clutter/clutter-drag-action.c |   11 ++++++-----
10152  clutter/clutter-private.h     |   27 ++-------------------------
10153  2 files changed, 8 insertions(+), 30 deletions(-)
10154
10155 commit 9caf11f2d8f7120830da9f10a694ccc8f30ebee1
10156 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10157 Date:   Fri Oct 8 14:47:46 2010 +0100
10158
10159     Use G_DEFINE_INTERFACE
10160     
10161     GObject provides us with a nice, safe macro for defining interface
10162     types.
10163
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(-)
10170
10171 commit 8f5d6cb790a426536b462297e76be9159109e245
10172 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10173 Date:   Fri Oct 8 14:47:13 2010 +0100
10174
10175     build: Depend on GLib ≥ 2.26.0
10176     
10177     We are going to need some new macros and API.
10178
10179  README       |    2 +-
10180  configure.ac |    3 ++-
10181  2 files changed, 3 insertions(+), 2 deletions(-)
10182
10183 commit 2b4ee9ab548a58784da7ccc710cbbd213a6c45c9
10184 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10185 Date:   Fri Oct 15 16:05:44 2010 +0100
10186
10187     actor: Add more checks to the redraw queue
10188
10189  clutter/clutter-actor.c |    4 ++--
10190  clutter/clutter-stage.c |   14 ++++++++++----
10191  2 files changed, 12 insertions(+), 6 deletions(-)
10192
10193 commit ad0e7a9e15a18f26b1002056427ded9a9f011e86
10194 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10195 Date:   Fri Oct 15 15:24:58 2010 +0100
10196
10197     moduleset: Add Atk as a Clutter dependency
10198
10199  build/clutter.modules |    1 +
10200  1 file changed, 1 insertion(+)
10201
10202 commit 56c89bd86b61f3c2ecba04d8a3afd4aa6250cf09
10203 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10204 Date:   Fri Oct 15 12:40:43 2010 +0100
10205
10206     osx: Fix glib.h include path
10207     
10208     The fix for removing glib/gmain.h introduced the wrong path for glib.h.
10209
10210  clutter/osx/clutter-event-osx.c |    3 ++-
10211  1 file changed, 2 insertions(+), 1 deletion(-)
10212
10213 commit d8426197554f4745bc2489c81435b9510b62d21a
10214 Author: Roland Peffer <gdevel@clixxun.com>
10215 Date:   Thu Oct 14 18:23:02 2010 +0100
10216
10217     osx: Add button mask to the modifier state translation
10218     
10219     The modifier state translation is missing the CLUTTER_BUTTON*_MASK.
10220     
10221     http://bugzilla.clutter-project.org/show_bug.cgi?id=2365
10222     
10223     Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
10224
10225  clutter/osx/clutter-event-osx.c |    8 ++++++++
10226  1 file changed, 8 insertions(+)
10227
10228 commit 134ce072e793834c7fe08a270c03ee5b2efbe998
10229 Author: Kristian Høgsberg <krh@bitplanet.net>
10230 Date:   Wed Sep 29 17:10:44 2010 -0400
10231
10232     The amazing lazy-copy-back-repaint-page-flip
10233     
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.
10238     
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.
10242
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(-)
10247
10248 commit cb5582c4ab1207738a2b5dc4c94fb4551e696c20
10249 Author: Kristian Høgsberg <krh@bitplanet.net>
10250 Date:   Tue Sep 28 10:17:46 2010 -0400
10251
10252     Add wayland backend
10253     
10254     This adds a clutter backend for running under the wayland window system.
10255     Initial cogl framebuffer integration by Robert Bragg.
10256
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(-)
10269
10270 commit a7cf98ebfc9ca13e3f84bbe33171a2218cfe039b
10271 Author: Kristian Høgsberg <krh@bitplanet.net>
10272 Date:   Mon Sep 27 13:25:50 2010 -0400
10273
10274     Initialize color masks lazily
10275     
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.
10279
10280  clutter/clutter-main.c |   35 ++++++++++++++++++++---------------
10281  1 file changed, 20 insertions(+), 15 deletions(-)
10282
10283 commit f456116c18dac24454f9c46b02677a51f79e4052
10284 Author: Robert Bragg <robert@linux.intel.com>
10285 Date:   Thu Oct 14 16:19:55 2010 +0100
10286
10287     When unparenting an actor, remove queued redraws for all descendants
10288     
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.
10294     
10295     http://bugzilla.clutter-project.org/show_bug.cgi?id=2359
10296     
10297     This is based on an original patch from Owen Taylor who debugged the
10298     root cause of this bug; thanks.
10299
10300  clutter/clutter-actor.c |   24 +++++++++++++++++++-----
10301  1 file changed, 19 insertions(+), 5 deletions(-)
10302
10303 commit 07f2dba7e24abd7b25327cf6b6b3f60dc17091d2
10304 Author: Robert Bragg <robert@linux.intel.com>
10305 Date:   Thu Sep 30 18:42:40 2010 +0100
10306
10307     stage: handle unclipped redraw following clipped
10308     
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.
10312
10313  clutter/clutter-stage.c |    5 +++++
10314  1 file changed, 5 insertions(+)
10315
10316 commit d032b9b2bf21c9c7c02f1a1b11d4e4a1bc7472b6
10317 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10318 Date:   Tue Oct 12 17:31:15 2010 +0100
10319
10320     conform: Start cleaning up the conformance test suite
10321     
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.
10324     
10325     Also, start renaming the unit functions from test_<foo> to <foo>,
10326     so that the executable wrappers and the reports have sensible names.
10327
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(-)
10339
10340 commit b5d5b9628ed8f683231134ac36b75efe80022f06
10341 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10342 Date:   Tue Oct 12 17:11:52 2010 +0100
10343
10344     conform: Implement TEST_CONFORM_TODO() correctly
10345     
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.
10349     
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.
10354
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(-)
10361
10362 commit 2a23bab8191678f33f10f0bd15fc05c7b05c89d3
10363 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10364 Date:   Tue Oct 12 15:43:42 2010 +0100
10365
10366     conform: Save the revision and date inside the test report
10367     
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.
10371
10372  tests/conform/Makefile.am |   41 +++++++++++++++++++++++++++++------------
10373  1 file changed, 29 insertions(+), 12 deletions(-)
10374
10375 commit e6418a9dec874b55d51afede7b039d3fd31908d4
10376 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10377 Date:   Tue Oct 12 15:43:27 2010 +0100
10378
10379     constraints: Remove unused variable
10380
10381  clutter/clutter-align-constraint.c |    1 -
10382  clutter/clutter-bind-constraint.c  |    1 -
10383  2 files changed, 2 deletions(-)
10384
10385 commit 7fd6273c25569fe4f37ad371532d93e5170e51f7
10386 Author: Neil Roberts <neil@linux.intel.com>
10387 Date:   Mon Oct 11 16:16:45 2010 +0100
10388
10389     tests: Generate the stub scripts using sed
10390     
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.
10400     
10401     The sed script is a little more ugly than it could be because it tries
10402     to avoid using the GNU extensions '\+' and '\|'.
10403     
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.
10407     
10408     http://bugzilla.clutter-project.org/show_bug.cgi?id=2363
10409
10410  tests/conform/Makefile.am         |    6 ++++--
10411  tests/conform/test-conform-main.c |    5 +++++
10412  2 files changed, 9 insertions(+), 2 deletions(-)
10413
10414 commit 100d541f479d070660905fa763b625853f17bfee
10415 Author: Neil Roberts <neil@linux.intel.com>
10416 Date:   Tue Oct 12 14:43:10 2010 +0100
10417
10418     tests: Re-enable the test-anchors conformance test
10419     
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.
10423     
10424     http://bugzilla.clutter-project.org/show_bug.cgi?id=2363
10425
10426  tests/conform/test-conform-main.c |    2 --
10427  1 file changed, 2 deletions(-)
10428
10429 commit 2831addcf5ef1e4070fd2fabbe1ce71385b53062
10430 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10431 Date:   Tue Oct 12 14:53:20 2010 +0100
10432
10433     test-flow-layout: Track stage size by default
10434     
10435     Instead of requiring a special command line switch.
10436
10437  tests/interactive/test-flow-layout.c |   10 +++++-----
10438  1 file changed, 5 insertions(+), 5 deletions(-)
10439
10440 commit 4e724aed46cd7ad0ad7718b584a0f1691b12a09f
10441 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10442 Date:   Tue Oct 12 14:09:47 2010 +0100
10443
10444     bind-constraint: Use ::queue-relayout
10445     
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.
10449     
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.
10456
10457  clutter/clutter-bind-constraint.c |   12 +++++-------
10458  1 file changed, 5 insertions(+), 7 deletions(-)
10459
10460 commit 5c82b2551c2053f76bfb09b6d36a5ea4c4e93104
10461 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10462 Date:   Tue Oct 12 14:09:17 2010 +0100
10463
10464     constraints: Do not check for :enabled
10465     
10466     ClutterActor will do it for us.
10467
10468  clutter/clutter-align-constraint.c |    3 ---
10469  clutter/clutter-bind-constraint.c  |    3 ---
10470  2 files changed, 6 deletions(-)
10471
10472 commit 3f27afde2484a01c71e0b484d2f485e5ce15f5d7
10473 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10474 Date:   Tue Oct 12 14:08:07 2010 +0100
10475
10476     actor: Use an explicit check for NULL
10477     
10478     Follow the coding style, and don't use the implicit C boolean
10479     equivalence for NULL pointers.
10480
10481  clutter/clutter-actor.c |    4 ++--
10482  1 file changed, 2 insertions(+), 2 deletions(-)
10483
10484 commit 3b72fdb20cca143f386d9a81dc42fc5ac64c48e7
10485 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10486 Date:   Tue Oct 12 14:07:27 2010 +0100
10487
10488     actor: Queue a relayout when adding/removing constraints
10489     
10490     Constraints change the way an actor is allocated; this warrants a
10491     relayout.
10492
10493  clutter/clutter-actor.c |    3 +++
10494  1 file changed, 3 insertions(+)
10495
10496 commit 91a9a355c32e86e597c57f3fd8b4deaecad0b9a4
10497 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10498 Date:   Tue Oct 12 14:04:21 2010 +0100
10499
10500     actor: Check CluterActorMeta:enabled
10501     
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.
10505
10506  clutter/clutter-actor.c |   13 ++++++++++++-
10507  1 file changed, 12 insertions(+), 1 deletion(-)
10508
10509 commit 3f6b82c9c9e75be6ba174f5964c85809ab0746cc
10510 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10511 Date:   Tue Oct 12 14:04:05 2010 +0100
10512
10513     actor: Add debugging note for allocation changes
10514
10515  clutter/clutter-actor.c |    3 +++
10516  1 file changed, 3 insertions(+)
10517
10518 commit 89a389cd2bdfa78768b5901a8a2865cb7d1a8c83
10519 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10520 Date:   Mon Oct 11 15:57:22 2010 +0100
10521
10522     actor-box: Split out ActorBox into its own file
10523     
10524     clutter-actor.c is getting way too large, so splitting it up wherever
10525     possible makes sense.
10526
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(-)
10531
10532 commit 7a54bdc65dcb9eb3d4d30020f65c255ef6f86f29
10533 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10534 Date:   Mon Oct 11 15:52:50 2010 +0100
10535
10536     vertex: Register progress function
10537     
10538     This allows animating properties storing a ClutterVertex.
10539
10540  clutter/clutter-actor.c |   32 ++++++++++++++++++++++++++++----
10541  1 file changed, 28 insertions(+), 4 deletions(-)
10542
10543 commit 4931802feea47c2fd89aa171a8fd05ebbfa087b4
10544 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10545 Date:   Mon Oct 11 15:44:09 2010 +0100
10546
10547     geometry: Register a progress function
10548     
10549     This allows animating properties storing a ClutterGeometry.
10550
10551  clutter/clutter-actor.c |   34 ++++++++++++++++++++++++++++++----
10552  1 file changed, 30 insertions(+), 4 deletions(-)
10553
10554 commit a5fc90d4d99cf904abd60ed0be0356ecb1efb40a
10555 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10556 Date:   Mon Oct 11 15:20:25 2010 +0100
10557
10558     actor-box: Register a progress function
10559     
10560     So that we can animate properties storing ClutterActorBox.
10561
10562  clutter/clutter-actor.c |   32 ++++++++++++++++++++++++++++----
10563  1 file changed, 28 insertions(+), 4 deletions(-)
10564
10565 commit 2f21c851eafbe217661c3010ad6388414e27a56b
10566 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10567 Date:   Mon Oct 11 15:07:06 2010 +0100
10568
10569     script: Fix annotation for get_object()'s return value
10570
10571  clutter/clutter-script.c |    2 +-
10572  1 file changed, 1 insertion(+), 1 deletion(-)
10573
10574 commit dcf266261645fd2deda5c68ded438160bccd7235
10575 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10576 Date:   Mon Oct 11 15:06:11 2010 +0100
10577
10578     interval: Remove special casing for ClutterColor
10579     
10580     ClutterColor registers a progress function on type initialization, so we
10581     don't need to special case it any more.
10582
10583  clutter/clutter-interval.c |   17 -----------------
10584  1 file changed, 17 deletions(-)
10585
10586 commit d5376bf317b5b682d85e64f1815f7c308da2ffda
10587 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10588 Date:   Mon Oct 11 15:04:54 2010 +0100
10589
10590     color: Add Color.interpolate() method
10591     
10592     The interpolate() method does what it says on the tin: it interpolates
10593     between two colors using the given factor.
10594     
10595     ClutterColor uses it to register a progress function for Intervals.
10596
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(+)
10601
10602 commit 7e112472b5ad9deea9b0ad1fda47aa16199a780a
10603 Author: Neil Roberts <neil@linux.intel.com>
10604 Date:   Tue Oct 5 17:17:53 2010 +0100
10605
10606     cogl-texture-2d-sliced: Use the smallest possible waste
10607     
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.
10613     
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.
10621     
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.
10625     
10626     http://bugzilla.clutter-project.org/show_bug.cgi?id=2355
10627
10628  clutter/cogl/cogl/cogl-texture-2d-sliced.c |    4 ++++
10629  1 file changed, 4 insertions(+)
10630
10631 commit 1f106b35a99e3784e441feca2df983efafa9fbd9
10632 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10633 Date:   Mon Oct 11 13:52:09 2010 +0100
10634
10635     Whitespace alignment fixes
10636
10637  clutter/clutter-paint-volume.c |    6 +++---
10638  1 file changed, 3 insertions(+), 3 deletions(-)
10639
10640 commit 68d656c61badd7a88d7271600a59f24b05fbc36e
10641 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10642 Date:   Mon Oct 11 13:51:12 2010 +0100
10643
10644     paint-volume: Add arguments checks
10645     
10646     In some cases we access the arguments in public functions without, or
10647     prior to checking the arguments.
10648
10649  clutter/clutter-paint-volume.c |   14 +++++++++-----
10650  1 file changed, 9 insertions(+), 5 deletions(-)
10651
10652 commit 8089af3c1b0e9d9501ee5fad4249a3af1bfdb5dc
10653 Author: Owen W. Taylor <otaylor@fishsoup.net>
10654 Date:   Thu Oct 7 16:00:47 2010 -0400
10655
10656     ClutterClone: Handle clone_source == NULL for get_paint_volume()
10657     
10658     It's valid to have a ClutterClone without a clone source; in this
10659     case the paint volume is empty.
10660     
10661     http://bugzilla.clutter-project.org/show_bug.cgi?id=2360
10662
10663  clutter/clutter-clone.c |    4 ++++
10664  1 file changed, 4 insertions(+)
10665
10666 commit e0058925349046e315e45e14747879e05bdab262
10667 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10668 Date:   Mon Oct 11 13:32:26 2010 +0100
10669
10670     clone: Remove unnecessary G_UNLIKELY macros
10671     
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
10674     defeat the point.
10675
10676  clutter/clutter-clone.c |    4 ++--
10677  1 file changed, 2 insertions(+), 2 deletions(-)
10678
10679 commit 12f80db8b8e826db245880c28f05facd0189c0f8
10680 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10681 Date:   Mon Oct 11 12:00:18 2010 +0100
10682
10683     docs: Update the README
10684     
10685     Add a minimal building reference, and point to git-bz for filing
10686     patches to Bugzilla.
10687
10688  README |   28 ++++++++++++++++++++++++++--
10689  1 file changed, 26 insertions(+), 2 deletions(-)
10690
10691 commit f8af2da4c8b2e428baba750fac18a38904f55c35
10692 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10693 Date:   Sun Oct 10 09:31:55 2010 +0100
10694
10695     osx: Compilation fixes
10696     
10697     Replace deprecated symbols with the correct ones.
10698
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(-)
10703
10704 commit 981fed1f63ecd1cc077c50869e9814c439ccf407
10705 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10706 Date:   Fri Oct 8 13:29:49 2010 +0100
10707
10708     box-layout: Plug a memory leak
10709     
10710     Similar to commit 4724be167f19fe58cb38179e6f3b34b6797ff639 for
10711     TableLayout.
10712     
10713     http://bugzilla.clutter-project.org/show_bug.cgi?id=2358
10714
10715  clutter/clutter-box-layout.c |   39 +++++++++++++--------------------------
10716  1 file changed, 13 insertions(+), 26 deletions(-)
10717
10718 commit 4724be167f19fe58cb38179e6f3b34b6797ff639
10719 Author: Neil Roberts <neil@linux.intel.com>
10720 Date:   Wed Oct 6 16:01:03 2010 +0100
10721
10722     Plug a memory leak in clutter-table-layout
10723     
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.
10728     
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.
10735     
10736     http://bugzilla.clutter-project.org/show_bug.cgi?id=2358
10737
10738  clutter/clutter-table-layout.c |   39 ++++++++++++++++-----------------------
10739  1 file changed, 16 insertions(+), 23 deletions(-)
10740
10741 commit 42dac6c9971fc33acae95f02d6e3605324a8d7f3
10742 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10743 Date:   Thu Oct 7 18:01:53 2010 +0100
10744
10745     autogen.sh: libtool 2.4 has been released
10746
10747  autogen.sh |    2 +-
10748  1 file changed, 1 insertion(+), 1 deletion(-)
10749
10750 commit eec1a5fb7ad0c5d5f6169abbd1825bd083a940c0
10751 Author: Damien Lespiau <damien.lespiau@gmail.com>
10752 Date:   Thu Oct 7 12:17:33 2010 +0100
10753
10754     po: Update French localization
10755     
10756     Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
10757
10758  po/fr.po |  264 +++++++++++++++++++++++++++++++-------------------------------
10759  1 file changed, 132 insertions(+), 132 deletions(-)
10760
10761 commit 7bdbbe6a8c372e902753151cfacb2a6d7505b96c
10762 Author: Andika Triwidada <andika@gmail.com>
10763 Date:   Tue Oct 5 17:23:37 2010 +0100
10764
10765     po: Update Indonesian localization
10766     
10767     Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
10768
10769  po/id.po |  223 +++++++++++++++++++++++---------------------------------------
10770  1 file changed, 84 insertions(+), 139 deletions(-)
10771
10772 commit 12119ff063f0a7d71c2d7431697004a620d154ab
10773 Author: Damien Lespiau <damien.lespiau@gmail.com>
10774 Date:   Tue Oct 5 17:22:56 2010 +0100
10775
10776     po: Add French localization
10777     
10778     Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
10779
10780  po/fr.po | 1836 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10781  1 file changed, 1836 insertions(+)
10782
10783 commit 3cb0436c42ca9369e3d804b8519d2dd40dac86e5
10784 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10785 Date:   Tue Oct 5 14:30:01 2010 +0100
10786
10787     clutter.modules: Update Cairo and Pixman
10788
10789  build/clutter.modules |   12 ++++++------
10790  1 file changed, 6 insertions(+), 6 deletions(-)
10791
10792 commit 155bde24650eb613824319f7186bd0a0d690932d
10793 Author: Damien Lespiau <damien.lespiau@intel.com>
10794 Date:   Tue Oct 5 08:35:19 2010 +0100
10795
10796     texture: Fix the typos in the blurbs and make them not end with '.'
10797     
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.
10802
10803  clutter/clutter-texture.c |   15 ++++++++-------
10804  1 file changed, 8 insertions(+), 7 deletions(-)
10805
10806 commit 2d56ed637c3c71516498c5a9dc11bf521db37f6f
10807 Author: Damien Lespiau <damien.lespiau@intel.com>
10808 Date:   Tue Oct 5 08:25:06 2010 +0100
10809
10810     text: Rename the nick of the position property "Cursor Position"
10811     
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
10815     properties.
10816
10817  clutter/clutter-text.c |    2 +-
10818  1 file changed, 1 insertion(+), 1 deletion(-)
10819
10820 commit a13182c740c9d61e897c8f41d958ca31ebbe6797
10821 Author: Damien Lespiau <damien.lespiau@intel.com>
10822 Date:   Tue Oct 5 08:03:19 2010 +0100
10823
10824     cogl: Use Cogl (not COGL) consistently
10825     
10826     If I remember correctly, Robert wants to name Cogl, Cogl (not COGL) so
10827     start by having a consistent naming in the code.
10828
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(-)
10833
10834 commit 24577a053868bfa39c7758dea2173cf090230de2
10835 Author: Damien Lespiau <damien.lespiau@intel.com>
10836 Date:   Tue Oct 5 07:44:49 2010 +0100
10837
10838     bin-layer: Fix the property blurbs
10839     
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
10843     accordingly.
10844
10845  clutter/clutter-bin-layout.c |    4 ++--
10846  1 file changed, 2 insertions(+), 2 deletions(-)
10847
10848 commit 9ae1729f37fde328b738972c39db52673a28999e
10849 Author: Damien Lespiau <damien.lespiau@intel.com>
10850 Date:   Mon Oct 4 18:35:13 2010 +0100
10851
10852     box-layout: Fix missing spaces in the blurbs of vertical and homogeneous
10853
10854  clutter/clutter-box-layout.c |    8 ++++----
10855  1 file changed, 4 insertions(+), 4 deletions(-)
10856
10857 commit 9258f9bebb33bd7677f11872fa2c928296399832
10858 Author: Damien Lespiau <damien.lespiau@intel.com>
10859 Date:   Mon Oct 4 17:20:30 2010 +0100
10860
10861     deform-effect: Fix Horiontal/Horizontal typo
10862
10863  clutter/clutter-deform-effect.c |    2 +-
10864  1 file changed, 1 insertion(+), 1 deletion(-)
10865
10866 commit cd7df1b42133cef69de123986f336767f7a14978
10867 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10868 Date:   Mon Oct 4 15:47:53 2010 +0100
10869
10870     build: Fix the release-message target
10871     
10872     Generate the SHA256 checksum file during release-upload and then copy it
10873     to the build directory.
10874
10875  build/autotools/Makefile.am.release |    7 ++++---
10876  1 file changed, 4 insertions(+), 3 deletions(-)
10877
10878 commit 75e016ac20528c9fded515a620962cae1d96e5f6
10879 Author: Andika Triwidada <andika@gmail.com>
10880 Date:   Mon Oct 4 15:43:54 2010 +0100
10881
10882     po: Add Indonesian localization
10883
10884  po/id.po | 2041 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10885  1 file changed, 2041 insertions(+)
10886
10887 commit c32c25e4576ef125d83ad74d3ac6c3ae90d098ab
10888 Author: Piotr Drąg <piotrdrag@gmail.com>
10889 Date:   Mon Oct 4 15:43:16 2010 +0100
10890
10891     po: Update Polish localization
10892
10893  po/pl.po |  708 ++++++++++++++++++++++++++++++++------------------------------
10894  1 file changed, 365 insertions(+), 343 deletions(-)
10895
10896 commit 55121d0f35a8f713973254a4a56ef6cdf79f0ea9
10897 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10898 Date:   Mon Oct 4 15:20:44 2010 +0100
10899
10900     Post-release version bump to 1.5.3
10901
10902  configure.ac |    2 +-
10903  1 file changed, 1 insertion(+), 1 deletion(-)
10904
10905 commit ca5188edbf962e065dd80726a4a4e92ccc8cfacf
10906 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10907 Date:   Mon Oct 4 14:53:55 2010 +0100
10908
10909     Release Clutter 1.5.2 (snapshot)
10910
10911  NEWS         |   52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
10912  configure.ac |    2 +-
10913  2 files changed, 53 insertions(+), 1 deletion(-)
10914
10915 commit 6af0ee2cbe2d6584b523809f160f56daf16eb583
10916 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10917 Date:   Mon Oct 4 14:12:21 2010 +0100
10918
10919     cogl-x11: Trap glXDestroyPixmap()
10920     
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.
10926     
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
10929     to square 1.
10930     
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
10934     in fact solved.
10935     
10936     http://bugzilla.clutter-project.org/show_bug.cgi?id=2324
10937
10938  clutter/cogl/cogl/winsys/cogl-texture-pixmap-x11.c |   22 ++++++++++++++++++++
10939  1 file changed, 22 insertions(+)
10940
10941 commit f5aeabadd5faf699ab04ec24d6db12297ee6ee30
10942 Author: Alejandro Piñeiro <apinheiro@igalia.com>
10943 Date:   Mon Oct 4 02:17:40 2010 +0200
10944
10945     Fixing cally.pc.in and moving include headers to previous directory
10946     
10947     After commit 8dd8fbdb some errors appear if you try work directly
10948     against cally:
10949     
10950      * cally.pc.in removed some elements. After install clutter, doing
10951        pkg-config --cflags cally-1.0
10952        fails due missing winsys
10953     
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.
10960     
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
10964     subclass)
10965     
10966     http://bugzilla.clutter-project.org/show_bug.cgi?id=2353
10967     
10968     Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
10969
10970  clutter/Makefile.am       |    5 +++--
10971  clutter/cally/cally.pc.in |    6 ++++++
10972  2 files changed, 9 insertions(+), 2 deletions(-)
10973
10974 commit d3b6dd5ec7dda1557b2f5e5f14d3a73c02781683
10975 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10976 Date:   Mon Oct 4 11:30:32 2010 +0100
10977
10978     effect: Fix up the class ABI
10979     
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.
10983
10984  clutter/clutter-effect.h |    4 +---
10985  1 file changed, 1 insertion(+), 3 deletions(-)
10986
10987 commit e1a1050a39a607aee4c97c4558c0a637136f6b52
10988 Author: Emmanuele Bassi <ebassi@linux.intel.com>
10989 Date:   Mon Oct 4 11:27:16 2010 +0100
10990
10991     actor-box: Constify arguments for union
10992     
10993     The input arguments for clutter_actor_box_union() should be constified,
10994     since they will not be modified by the function.
10995
10996  clutter/clutter-actor.c |   14 +++++++-------
10997  clutter/clutter-types.h |    4 ++--
10998  2 files changed, 9 insertions(+), 9 deletions(-)
10999
11000 commit 45b6d7d47a943faad8d82e0b196be058a1c45193
11001 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11002 Date:   Mon Oct 4 11:26:46 2010 +0100
11003
11004     docs: Fix the annotations of ActorClass
11005
11006  clutter/clutter-actor.h |    6 ++++--
11007  1 file changed, 4 insertions(+), 2 deletions(-)
11008
11009 commit bdb24701f04cec42d388fe415aba16b29c2678e5
11010 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11011 Date:   Mon Oct 4 10:52:36 2010 +0100
11012
11013     build: Add -xobjective-c to the fruity backend section
11014     
11015     Like we do for the Quartz backend, we should turn on the -xobjective-c
11016     compiler flag for the Fruity backend.
11017     
11018     This does not mean that the backend actually works.
11019
11020  clutter/Makefile.am |    5 +++++
11021  1 file changed, 5 insertions(+)
11022
11023 commit db5e33d4a547862c772e93efbfd041baaebd6423
11024 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11025 Date:   Mon Oct 4 10:44:00 2010 +0100
11026
11027     docs: Remove TODO
11028     
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.
11033
11034  TODO |    7 -------
11035  1 file changed, 7 deletions(-)
11036
11037 commit 0cf2f50ba60d9268f162da89a19f2387b1d6e9cb
11038 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11039 Date:   Mon Oct 4 09:09:13 2010 +0100
11040
11041     build: Remove redundant EXTRA_DISTs
11042     
11043     The files for the backend that we conditionally compile are
11044     automatically added to the dist process by automake.
11045
11046  clutter/Makefile.am |   37 ++-----------------------------------
11047  1 file changed, 2 insertions(+), 35 deletions(-)
11048
11049 commit 7728ea951b0675ef3f97c160f212eb9ae72ce45e
11050 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11051 Date:   Mon Oct 4 09:08:07 2010 +0100
11052
11053     docs: Add unused symbols to the Clutter API reference
11054
11055  doc/reference/clutter/clutter-sections.txt |    5 +++++
11056  1 file changed, 5 insertions(+)
11057
11058 commit a29623e8388c949b0c18853ce8c9f0e494a4317d
11059 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11060 Date:   Mon Oct 4 08:57:29 2010 +0100
11061
11062     build: Unconditionally add GLES2 shaders to EXTRA_DIST
11063
11064  clutter/cogl/cogl/Makefile.am |    3 +--
11065  1 file changed, 1 insertion(+), 2 deletions(-)
11066
11067 commit ba09e9c6df28bbd57a400de3d6acbe14fd53b7f6
11068 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11069 Date:   Sun Oct 3 17:21:10 2010 +0100
11070
11071     build: Generate a stub announcement email when releasing
11072
11073  build/autotools/Makefile.am.release |   42 +++++++++++++++++++++++++++++++----
11074  1 file changed, 38 insertions(+), 4 deletions(-)
11075
11076 commit df5702e463769c53a8badf725d158fe4ed94c76e
11077 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11078 Date:   Sun Oct 3 16:37:41 2010 +0100
11079
11080     docs: Update the RELEASING checklist
11081
11082  doc/RELEASING |   60 +++++++++++++++++++++++++++++++--------------------------
11083  1 file changed, 33 insertions(+), 27 deletions(-)
11084
11085 commit 2ed2b7eb83aeb813a8d3d734dd870bf739ef345a
11086 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11087 Date:   Sun Oct 3 16:13:02 2010 +0100
11088
11089     build: Only generate bzip2 tarballs
11090     
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.
11093     
11094     The gz tarball will be generated by the remote installation scripts when
11095     publishing the release.
11096
11097  configure.ac |    2 +-
11098  1 file changed, 1 insertion(+), 1 deletion(-)
11099
11100 commit 939333b4f2dcd5fd7045af7c57db4e21de06d57b
11101 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11102 Date:   Sun Oct 3 16:10:44 2010 +0100
11103
11104     build: Dist every backend file
11105     
11106     All backend files should be present in the tarball generated by `make
11107     dist`, to allow building Clutter on different platforms.
11108
11109  clutter/Makefile.am |  150 ++++++++++++++++++++++++++++++++++++++++-----------
11110  1 file changed, 118 insertions(+), 32 deletions(-)
11111
11112 commit 6df136ae7cadea1df48d531af0730bf3867f3463
11113 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11114 Date:   Sun Oct 3 15:28:14 2010 +0100
11115
11116     container: Do not emit a signal in the class handler
11117     
11118     Yes, I am that stupid.
11119
11120  clutter/clutter-container.c |   12 +++++-------
11121  1 file changed, 5 insertions(+), 7 deletions(-)
11122
11123 commit e8d3ab4fd3d85b31230be4a59463338438c5621a
11124 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11125 Date:   Sun Oct 3 15:16:41 2010 +0100
11126
11127     introspection: Skip Script.connect_signals_full()
11128     
11129     It's meant to be used by language bindings, not by applications.
11130
11131  clutter/clutter-script.c |    2 +-
11132  1 file changed, 1 insertion(+), 1 deletion(-)
11133
11134 commit 19b93a94aef1700c83edb9e555f1507fcee2f249
11135 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11136 Date:   Sun Oct 3 15:12:01 2010 +0100
11137
11138     container: Fix the marshaller for ::child-notify
11139     
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.
11144
11145  clutter/clutter-container.c  |    2 +-
11146  clutter/clutter-marshal.list |    2 +-
11147  2 files changed, 2 insertions(+), 2 deletions(-)
11148
11149 commit 96db215ed3bb79915bfb5b9e037d116c83876a8d
11150 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11151 Date:   Sun Oct 3 14:53:14 2010 +0100
11152
11153     build: Automate the release process
11154
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(-)
11159
11160 commit 87bb089b572071632f3b8c2a63756a07e5d5a73a
11161 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11162 Date:   Sun Oct 3 11:02:56 2010 +0100
11163
11164     docs: Update the coding style
11165     
11166     Resynchronize with gtk+'s coding style document, since they switched to
11167     ours.
11168
11169  doc/CODING_STYLE |   88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
11170  1 file changed, 88 insertions(+)
11171
11172 commit c4668f04f745f30657379727424137b62d44248d
11173 Author: Aron Xu <aronxu@gnome.org>
11174 Date:   Thu Sep 30 15:20:05 2010 +0800
11175
11176     Update zh_CN translation.
11177     
11178     Signed-off-by: Aron Xu <aronxu@gnome.org>
11179     Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
11180
11181  po/zh_CN.po |  290 +++++++++++++++++++++++++++++------------------------------
11182  1 file changed, 143 insertions(+), 147 deletions(-)
11183
11184 commit 7ac84cf7a3695aa495ca28dbf172c8f4f6e48780
11185 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11186 Date:   Thu Sep 30 14:58:23 2010 +0100
11187
11188     container: Add child_notify() wrapper
11189     
11190     The child_notify() virtual function on ClutterContainer does not have a
11191     wrapper for implementations to call.
11192
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(+)
11197
11198 commit fc344fb93a153f91ea4bafd9fe25dd88d27e8082
11199 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11200 Date:   Thu Sep 30 13:11:05 2010 +0100
11201
11202     container: Implement ::child-notify
11203     
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*().
11207     
11208     We were lying.
11209     
11210     The child_notify virtual function was not implemented, and the signal
11211     was never emitted.
11212     
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.
11216
11217  clutter/clutter-container.c |   21 ++++++++++++++++++---
11218  1 file changed, 18 insertions(+), 3 deletions(-)
11219
11220 commit 18ff73c24471694eb951c7192f15528b594f09b5
11221 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11222 Date:   Thu Sep 30 12:43:10 2010 +0100
11223
11224     build: Add more metadata to the introspection files
11225
11226  clutter/Makefile.am |   10 +++++++---
11227  1 file changed, 7 insertions(+), 3 deletions(-)
11228
11229 commit 6a95457b3f0927ec0adaebc9c91499f28ef804a0
11230 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11231 Date:   Thu Sep 30 12:32:08 2010 +0100
11232
11233     cookbook: Remove unused variable from the animator example
11234
11235  doc/cookbook/examples/animations-moving-animator.c |    1 -
11236  1 file changed, 1 deletion(-)
11237
11238 commit fde6efc690e6378eb1999267e5b15dc7c8accd43
11239 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11240 Date:   Thu Sep 30 12:31:28 2010 +0100
11241
11242     build: Make Cally.gir depend on Cogl.gir
11243     
11244     Since Cally's introspection data depends on it.
11245
11246  clutter/Makefile.am |    2 +-
11247  1 file changed, 1 insertion(+), 1 deletion(-)
11248
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
11253
11254     Merge remote branch 'elliot/events-buttons'
11255     
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
11261
11262 commit 077a5b4c34d7b52d8831ccce4c572c7dcae04a6e
11263 Author: Colin Walters <walters@verbum.org>
11264 Date:   Wed Sep 29 13:18:03 2010 -0400
11265
11266     introspection: Update to changed variables for header file names
11267     
11268     Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
11269
11270  clutter/Makefile.am |    2 +-
11271  1 file changed, 1 insertion(+), 1 deletion(-)
11272
11273 commit 32d647ddd15ebddf91aa15b092fdcdf14d31ec4f
11274 Author: Ray Strode <rstrode@redhat.com>
11275 Date:   Wed Sep 29 18:43:30 2010 -0400
11276
11277     actor: sync entry has_clip member to clip state
11278     
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.
11284     
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
11288     is freed.
11289     
11290     http://bugzilla.clutter-project.org/show_bug.cgi?id=2350
11291     
11292     Signed-off-by: Robert Bragg <robert@linux.intel.com>
11293
11294  clutter/clutter-stage.c |    7 ++++++-
11295  1 file changed, 6 insertions(+), 1 deletion(-)
11296
11297 commit fba633529148e65b9e136ea082fa7f853b789d96
11298 Author: Robert Bragg <robert@linux.intel.com>
11299 Date:   Thu Sep 30 11:18:23 2010 +0100
11300
11301     actor: don't ignore clip for clipped redraws
11302     
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.
11306     
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!
11310     
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.
11313     
11314     http://bugzilla.clutter-project.org/show_bug.cgi?id=2349
11315
11316  clutter/clutter-actor.c |   13 +++++++++++--
11317  1 file changed, 11 insertions(+), 2 deletions(-)
11318
11319 commit 471659ed4b2f16749c050701bcdc911405e9e018
11320 Author: Robert Bragg <robert@linux.intel.com>
11321 Date:   Thu Sep 30 02:37:24 2010 +0100
11322
11323     test-pixmap: add timeout to draw arcs on pixmap
11324     
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.
11328
11329  tests/interactive/test-pixmap.c |   26 +++++++++++++++++---------
11330  1 file changed, 17 insertions(+), 9 deletions(-)
11331
11332 commit 18e3273fb1e3ba231d370294f13f180b5df68158
11333 Author: Robert Bragg <robert@linux.intel.com>
11334 Date:   Thu Sep 30 02:00:24 2010 +0100
11335
11336     x11-tfp: Implement get_paint_volume virtual
11337     
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.
11348     
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.
11356     
11357     http://bugzilla.clutter-project.org/show_bug.cgi?id=2349
11358
11359  clutter/x11/clutter-x11-texture-pixmap.c |   10 ++++++++++
11360  1 file changed, 10 insertions(+)
11361
11362 commit 83eb5ab88cb31fc85016975055d28165300b9867
11363 Author: Robert Bragg <robert@linux.intel.com>
11364 Date:   Fri Sep 24 01:01:33 2010 +0100
11365
11366     material: tweak dot file debug code
11367     
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.
11374     
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.
11378
11379  clutter/cogl/cogl/cogl-material.c |    6 +++++-
11380  1 file changed, 5 insertions(+), 1 deletion(-)
11381
11382 commit cb191ff6f18e291810077271f853658c8d679e3d
11383 Author: Elliot Smith <elliot.smith@intel.com>
11384 Date:   Thu Sep 30 11:12:14 2010 +0100
11385
11386     cookbook: Add recipe about handling button events
11387     
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.
11391     
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.
11397
11398  doc/cookbook/events.xml |  388 +++++++++++++++++++++++++++++++++++++++++++++++
11399  1 file changed, 388 insertions(+)
11400
11401 commit d8a9026b842655d23d839a639540bb134f734d84
11402 Author: Neil Roberts <neil@linux.intel.com>
11403 Date:   Wed Sep 29 17:04:25 2010 +0100
11404
11405     win32: Fix the CLUTTER_* keysym macros
11406     
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.
11410
11411  clutter/win32/clutter-event-win32.c |  110 +++++++++++++++++------------------
11412  1 file changed, 55 insertions(+), 55 deletions(-)
11413
11414 commit 94439e55265d91e0c5419306115d2af02378e75e
11415 Author: Elliot Smith <elliot.smith@intel.com>
11416 Date:   Tue Sep 28 16:53:30 2010 +0100
11417
11418     cookbook: Example of using button press and release events
11419     
11420     A longer example of using button press and release events
11421     to draw rectangles with random colors.
11422
11423  doc/cookbook/examples/Makefile.am            |    2 +
11424  doc/cookbook/examples/events-buttons-lasso.c |  154 ++++++++++++++++++++++++++
11425  2 files changed, 156 insertions(+)
11426
11427 commit 0cda6c006b5909da5919c4e3a1492a32895c596c
11428 Author: Elliot Smith <elliot.smith@intel.com>
11429 Date:   Tue Sep 28 16:37:26 2010 +0100
11430
11431     cookbook: Example of ClutterClickAction
11432     
11433     Example of handling clicks on an actor; part of the recipe on
11434     handling button events.
11435
11436  doc/cookbook/examples/Makefile.am            |    2 +
11437  doc/cookbook/examples/events-buttons-click.c |   66 ++++++++++++++++++++++++++
11438  2 files changed, 68 insertions(+)
11439
11440 commit fc9ecdf82ed13cf14be9e8fd5fda9787f8972205
11441 Author: Elliot Smith <elliot.smith@intel.com>
11442 Date:   Mon Sep 27 16:36:16 2010 +0100
11443
11444     cookbook: Example of simple handling of button events
11445     
11446     Added an example showing how to examine the content
11447     of a ClutterButtonEvent in a signal handler.
11448
11449  doc/cookbook/examples/Makefile.am      |    2 +
11450  doc/cookbook/examples/events-buttons.c |  107 ++++++++++++++++++++++++++++++++
11451  2 files changed, 109 insertions(+)
11452
11453 commit f753b0c4a15421e984cf3b2fcb1ccce7f0e6a61d
11454 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11455 Date:   Thu Sep 30 10:29:00 2010 +0100
11456
11457     Wrap g_object_class_install_properties()
11458     
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.
11463     
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.
11467     
11468     ClutterDragAction has been converted as a proof of concept.
11469
11470  clutter/clutter-drag-action.c |   71 ++++++++++++++++++++---------------------
11471  clutter/clutter-private.h     |   17 ++++++++++
11472  2 files changed, 51 insertions(+), 37 deletions(-)
11473
11474 commit f090c3ea496b2bf79b2fb0c7ab6a80299c59aed1
11475 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11476 Date:   Thu Sep 30 10:27:10 2010 +0100
11477
11478     stage: Add more checks on the stage window retrieval
11479     
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.
11484
11485  clutter/clutter-stage.c |   14 +++++++++++++-
11486  1 file changed, 13 insertions(+), 1 deletion(-)
11487
11488 commit 52c4d6fa0c5f5260de5093967cdd1036e351050c
11489 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11490 Date:   Wed Sep 29 17:32:57 2010 +0100
11491
11492     build: Use platform detection to add -no-undefined
11493     
11494     Instead of relying on the flavour passed to the configure script.
11495
11496  configure.ac |   13 ++++++++++++-
11497  1 file changed, 12 insertions(+), 1 deletion(-)
11498
11499 commit 7aaef8abeed4d3903465ac9d8fd0a916d17aab79
11500 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11501 Date:   Wed Sep 29 16:46:06 2010 +0100
11502
11503     modules: Use the stable branch of json-glib
11504
11505  build/clutter.modules |    2 +-
11506  1 file changed, 1 insertion(+), 1 deletion(-)
11507
11508 commit a278a1f94053372d49fb31f82cac551f186a28f4
11509 Author: Neil Roberts <neil@linux.intel.com>
11510 Date:   Wed Sep 29 15:40:22 2010 +0100
11511
11512     cogl-texture-2d-sliced: Don't create the slice textures twice
11513     
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.
11519
11520  clutter/cogl/cogl/cogl-texture-2d-sliced.c |   18 ------------------
11521  1 file changed, 18 deletions(-)
11522
11523 commit 54f5e168ecd67838d9fae08912e37f47d786f45e
11524 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11525 Date:   Wed Sep 29 16:05:55 2010 +0100
11526
11527     Bump up dependency of json-glib to 0.12.0
11528     
11529     New stable release.
11530
11531  README       |    2 +-
11532  configure.ac |    2 +-
11533  2 files changed, 2 insertions(+), 2 deletions(-)
11534
11535 commit 66b0c1969c72ad49482befb3136b3e8478b07c58
11536 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11537 Date:   Wed Sep 22 12:56:33 2010 +0100
11538
11539     Remove the internal copy of JSON-GLib
11540     
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.
11543     
11544     Nowadays, many projects started depending on this little library, and
11545     distributions ship it and keep it up to date.
11546     
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.
11550     
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.
11555
11556  README                            |   15 +-
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(-)
11577
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
11582
11583     Merge branch 'wip/non-recursive'
11584     
11585     * wip/non-recursive:
11586       build: Start moving to a non-recursive layout
11587
11588 commit 0f22e922e3d03bfa9e7272aa6d2819748c3913c7
11589 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11590 Date:   Wed Sep 29 15:44:51 2010 +0100
11591
11592     modules: Fix up mesa module
11593
11594  build/clutter.modules |    6 +++++-
11595  1 file changed, 5 insertions(+), 1 deletion(-)
11596
11597 commit e072d797b1b5cbdc3c448f1e1acdd6adac0c833b
11598 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11599 Date:   Wed Sep 29 15:23:53 2010 +0100
11600
11601     modules: Add mesa and wayland to the moduleset
11602
11603  build/clutter.modules |   13 +++++++++++++
11604  1 file changed, 13 insertions(+)
11605
11606 commit 42f6364cac945e451725fc4aeeccf28ee5019ff3
11607 Author: Robert Bragg <robert@linux.intel.com>
11608 Date:   Fri Sep 24 02:24:36 2010 +0100
11609
11610     actor: don't dirty pick buffer in _real_queue_redraw
11611     
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.
11615
11616  clutter/clutter-actor.c |    9 +--------
11617  1 file changed, 1 insertion(+), 8 deletions(-)
11618
11619 commit 51fca9d96807b227d00b0bc58e6e5f216024cf91
11620 Author: Robert Bragg <robert@linux.intel.com>
11621 Date:   Mon Sep 13 00:33:23 2010 +0100
11622
11623     actor: Adds private _clutter_actor_traverse API
11624     
11625     This adds two internal functions relating to explicit traversal of the
11626     scenegraph:
11627     _clutter_actor_foreach_child
11628     _clutter_actor_traverse
11629     
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.
11633     
11634     _clutter_actor_traverse traverses the given actor and all of its
11635     decendants. Again traversal can be stopped early if a callback returns
11636     FALSE.
11637     
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.
11642
11643  clutter/clutter-actor.c   |   64 +++++++++++++++++++++++++++++++++++++++++++++
11644  clutter/clutter-private.h |   32 +++++++++++++++++++++++
11645  2 files changed, 96 insertions(+)
11646
11647 commit 9a1abbc713537b3ef381e8e9ea1a5e910613567e
11648 Author: Robert Bragg <robert@linux.intel.com>
11649 Date:   Sun Sep 12 23:49:02 2010 +0100
11650
11651     actor: Adds private _clutter_actor_get_n_children
11652     
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)
11658
11659  clutter/clutter-actor.c   |    7 +++++++
11660  clutter/clutter-private.h |    1 +
11661  2 files changed, 8 insertions(+)
11662
11663 commit 239d83f952aa077622ca79c390842be271baddcd
11664 Author: Robert Bragg <robert@linux.intel.com>
11665 Date:   Sun Sep 12 23:31:39 2010 +0100
11666
11667     actor: explicitly track children in clutter-actor.c
11668     
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
11675     paint methods.
11676
11677  clutter/clutter-actor.c |   14 ++++++++++++++
11678  1 file changed, 14 insertions(+)
11679
11680 commit b3edd3e922e3a3a2dafc5a7a1c02bb22a5ffec94
11681 Author: Robert Bragg <robert@linux.intel.com>
11682 Date:   Sat Sep 11 02:48:18 2010 +0100
11683
11684     debug: fix blue outlines for paint-volumes debug opt
11685     
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.
11692
11693  clutter/clutter-actor.c |    5 +----
11694  1 file changed, 1 insertion(+), 4 deletions(-)
11695
11696 commit 1a8d577168ef48a9fcef21415b44b2b8c2f9a26c
11697 Author: Robert Bragg <robert@linux.intel.com>
11698 Date:   Sat Sep 11 02:39:23 2010 +0100
11699
11700     clone: Implement get_paint_volume virtual
11701     
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.
11706
11707  clutter/clutter-clone.c |   19 +++++++++++++++++++
11708  1 file changed, 19 insertions(+)
11709
11710 commit f6ba69f82dba0fdb46998c93929f3c68ebf11cb1
11711 Author: Robert Bragg <robert@linux.intel.com>
11712 Date:   Fri Sep 10 02:18:16 2010 +0100
11713
11714     Revert "actor: don't immediately queue redraw when queuing relayout"
11715     
11716     This reverts commit ca44c6a7d8abe9f2c548bee817559ea8adaa7a80.
11717     
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
11723     redraw.
11724     
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.
11727
11728  clutter/clutter-actor.c |   20 --------------------
11729  1 file changed, 20 deletions(-)
11730
11731 commit 3b789490d2cee54652d65950a71fe55736c6a433
11732 Author: Robert Bragg <robert@linux.intel.com>
11733 Date:   Fri Sep 10 01:33:02 2010 +0100
11734
11735     actor: defer queue-redraw signaling
11736     
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
11745     on performance.
11746     
11747     Here's an outline of the actor queue redraw mechanism:
11748     
11749     The process starts in clutter_actor_queue_redraw or
11750     _clutter_actor_queue_redraw_with_clip.
11751     
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
11755     next paint starts.
11756     
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
11763     redraw anyway.
11764     
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.
11771     
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.
11777
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(-)
11782
11783 commit 7d8effd5e26495dc3e01ba741a0389364183fc5f
11784 Author: Robert Bragg <robert@linux.intel.com>
11785 Date:   Thu Sep 9 18:51:17 2010 +0100
11786
11787     paint_volume: add private api to change reference actor
11788     
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.
11794
11795  clutter/clutter-paint-volume.c |   15 +++++++++++++++
11796  clutter/clutter-private.h      |   38 ++++++++++++++++++++------------------
11797  2 files changed, 35 insertions(+), 18 deletions(-)
11798
11799 commit 2d895816be659a86d999748ecf631422b9e9176f
11800 Author: Robert Bragg <robert@linux.intel.com>
11801 Date:   Thu Sep 9 17:53:29 2010 +0100
11802
11803     paint_volume: Adds _clutter_paint_volume_set_from_volume
11804     
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.
11808
11809  clutter/clutter-paint-volume.c |   12 ++++++++++++
11810  clutter/clutter-private.h      |    3 +++
11811  2 files changed, 15 insertions(+)
11812
11813 commit bfacca30119ed51517bac39c362a927ef39291ec
11814 Author: Robert Bragg <robert@linux.intel.com>
11815 Date:   Thu Sep 9 14:30:38 2010 +0100
11816
11817     actor: don't queue_redraw actors not descended from stage
11818     
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.
11823
11824  clutter/clutter-actor.c |    7 ++++++-
11825  1 file changed, 6 insertions(+), 1 deletion(-)
11826
11827 commit b77d9a6d2c0cc02519c79efe9dd4c8c184f73b36
11828 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11829 Date:   Thu Sep 9 13:11:11 2010 +0100
11830
11831     paint-volume: Add convenience function for using an allocation
11832     
11833     Classes overriding ClutterActor::get_paint_volume() that wish to use
11834     their allocation as the paint volume should have an idiomatic way of
11835     doing so.
11836
11837  clutter/clutter-paint-volume.c |   37 +++++++++++++++++++++++++++++++++++++
11838  clutter/clutter-types.h        |   39 +++++++++++++++++++++------------------
11839  2 files changed, 58 insertions(+), 18 deletions(-)
11840
11841 commit 5640a65046e5fbf5b7283315b457e39331fa028b
11842 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11843 Date:   Thu Sep 9 12:38:25 2010 +0100
11844
11845     text: Update get_paint_volume() implementation
11846     
11847     In commit 9818eee4646e49e99beb5a43f1dafcbdcca41f94 I forgot to update
11848     ClutterText as well as the other actors.
11849
11850  clutter/clutter-text.c |   24 ++++--------------------
11851  1 file changed, 4 insertions(+), 20 deletions(-)
11852
11853 commit 16f7ee13f2efb545d7cfd33774f42bab92f0e1e6
11854 Author: Emmanuele Bassi <ebassi@linux.intel.com>
11855 Date:   Thu Sep 9 12:30:29 2010 +0100
11856
11857     Move default paint volume computation into a function
11858     
11859     This should reduce the amount of copy and paste for actor sub-classes
11860     that use the default paint volume from the allocation.
11861
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(-)
11868
11869 commit fd41024d29f093afe2fe1f0292c7ec5965ba5801
11870 Author: Robert Bragg <robert@linux.intel.com>
11871 Date:   Wed Sep 8 21:01:37 2010 +0100
11872
11873     paint_volume: assert non-NULL pv in _volume_copy
11874     
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.
11877
11878  clutter/clutter-paint-volume.c |    4 +---
11879  1 file changed, 1 insertion(+), 3 deletions(-)
11880
11881 commit 3040b140bce59ac2e70de325e0afa98ec8fa7ce7
11882 Author: Robert Bragg <robert@linux.intel.com>
11883 Date:   Wed Sep 8 20:39:15 2010 +0100
11884
11885     paint_volume: Splits out clutter_paint_volume code
11886     
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.
11892
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(-)
11899
11900 commit 72eeb8e809492524dc146cb92e0b4e3a5347f628
11901 Author: Robert Bragg <robert@linux.intel.com>
11902 Date:   Wed Sep 8 19:47:11 2010 +0100
11903
11904     actor: make default get_paint_volume more conservative
11905     
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.
11912     
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.
11917
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(-)
11924
11925 commit d9a7f1b03b8527becd0251e51b8abacd710a1f8d
11926 Author: Robert Bragg <robert@linux.intel.com>
11927 Date:   Wed Sep 8 18:20:54 2010 +0100
11928
11929     actor: don't always check needs_allocation for clipped redraw
11930     
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.
11934
11935  clutter/clutter-actor.c |   22 +++++++++++-----------
11936  1 file changed, 11 insertions(+), 11 deletions(-)
11937
11938 commit 072595a1bfe084e00e7bc6f7cc074c89a9914ce6
11939 Author: Robert Bragg <robert@linux.intel.com>
11940 Date:   Wed Sep 8 18:17:27 2010 +0100
11941
11942     actor: new actors should start with an empty paint box
11943     
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.
11948
11949  clutter/clutter-actor.c |    7 +++++++
11950  1 file changed, 7 insertions(+)
11951
11952 commit c2ea35b5cab98a5c2eca305b5199c7d3b44be70c
11953 Author: Robert Bragg <robert@linux.intel.com>
11954 Date:   Wed Sep 8 18:14:04 2010 +0100
11955
11956     actor: when culling/clipped redraws disable ignore paint box
11957     
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.
11963
11964  clutter/clutter-actor.c |   76 +++++++++++++++++++++++++++--------------------
11965  1 file changed, 44 insertions(+), 32 deletions(-)
11966
11967 commit 5d1600d6036941885a6ad2a4372f35678696d549
11968 Author: Robert Bragg <robert@linux.intel.com>
11969 Date:   Wed Sep 8 11:32:29 2010 +0100
11970
11971     stage: only update viewport when allocation changes
11972     
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.
11979
11980  clutter/clutter-stage.c |   18 ++++++++++++------
11981  1 file changed, 12 insertions(+), 6 deletions(-)
11982
11983 commit 1e7f22db3b7cdf9c8154ec7c3ae7cb9b83ac0655
11984 Author: Robert Bragg <robert@linux.intel.com>
11985 Date:   Wed Sep 8 01:18:30 2010 +0100
11986
11987     glx: queue full redraws for the first 2 frames
11988     
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
11996     full redraw.
11997
11998  clutter/glx/clutter-stage-glx.c |    5 +++++
11999  clutter/glx/clutter-stage-glx.h |    5 +++++
12000  2 files changed, 10 insertions(+)
12001
12002 commit 771348b3696b9f9a0f7de41d9b71abee6309f07b
12003 Author: Robert Bragg <robert@linux.intel.com>
12004 Date:   Wed Sep 8 01:15:00 2010 +0100
12005
12006     x11: minimize nasty artefacts when resizing windows
12007     
12008     This is a workaround for a race condition when resizing windows while
12009     there are in-flight glXCopySubBuffer blits happening.
12010     
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.
12015     
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).
12021     
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!
12026     
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
12033     over.
12034
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(-)
12039
12040 commit 012e4ab153337cb973a623d6b03c274231ef68b5
12041 Author: Robert Bragg <robert@linux.intel.com>
12042 Date:   Wed Sep 8 01:03:15 2010 +0100
12043
12044     x11: Queue clipped redraws for Expose events
12045     
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.
12049
12050  clutter/x11/clutter-event-x11.c |   27 +++++++++++++++++++++++++++
12051  1 file changed, 27 insertions(+)
12052
12053 commit 105451d1bea329edff85a5727f0bc4fd3b8e5504
12054 Author: Robert Bragg <robert@linux.intel.com>
12055 Date:   Tue Sep 7 23:35:26 2010 +0100
12056
12057     cogl: removes unused _cogl_setup_viewport
12058     
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
12063     function.
12064
12065  clutter/cogl/cogl/cogl.c |   74 ----------------------------------------------
12066  clutter/cogl/cogl/cogl.h |   26 ----------------
12067  2 files changed, 100 deletions(-)
12068
12069 commit 95ff71d01c44b1d93fdecadb8f233cd05d051d9f
12070 Author: Robert Bragg <robert@linux.intel.com>
12071 Date:   Tue Sep 7 23:25:18 2010 +0100
12072
12073     stage: Sometimes really force a full redraw
12074     
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.
12079
12080  clutter/clutter-stage.c |   20 ++++++++++++++++++--
12081  1 file changed, 18 insertions(+), 2 deletions(-)
12082
12083 commit 2235e705859a880415da4d57c76596cef0b9026f
12084 Author: Robert Bragg <robert@linux.intel.com>
12085 Date:   Tue Sep 7 23:09:06 2010 +0100
12086
12087     actor: don't immediately queue redraw when queuing relayout
12088     
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".
12093     
12094     This should be close enough to the original semantics to not cause any
12095     problems.
12096     
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.
12101     
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.
12106
12107  clutter/clutter-actor.c |   20 ++++++++++++++++++++
12108  1 file changed, 20 insertions(+)
12109
12110 commit b499696d83c4f37b1513929ea62323abbaaa5940
12111 Author: Robert Bragg <robert@linux.intel.com>
12112 Date:   Tue Sep 7 22:21:28 2010 +0100
12113
12114     Use paint volumes to do automatic culling
12115     
12116     This uses actor paint volumes to perform culling during
12117     clutter_actor_paint.
12118     
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,
12125     
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.
12131     
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.
12135     
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.
12141
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(-)
12153
12154 commit ef8be9e25ebe77fc63055191cc48af53d731c108
12155 Author: Robert Bragg <robert@linux.intel.com>
12156 Date:   Tue Sep 7 22:11:28 2010 +0100
12157
12158     actor: Use paint volumes to always queue clipped redraws
12159     
12160     This makes clutter_actor_queue_redraw transparently use an actor's paint
12161     volume to queue a clipped redraw.
12162     
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.
12167
12168  clutter/clutter-actor.c |   75 +++++++++++++++++++++++++++++++++++++++++++++++
12169  1 file changed, 75 insertions(+)
12170
12171 commit 13c4d7b95d4a9068322cf1d2b292d4bc98bbecfd
12172 Author: Robert Bragg <robert@linux.intel.com>
12173 Date:   Tue Sep 7 21:43:50 2010 +0100
12174
12175     actor: make _transform_and_project_box static
12176     
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
12180
12181  clutter/clutter-actor.c   |    2 +-
12182  clutter/clutter-private.h |    4 ----
12183  2 files changed, 1 insertion(+), 5 deletions(-)
12184
12185 commit 120d7595e3128a233c1fdffd762327b5b74a54d1
12186 Author: Robert Bragg <robert@linux.intel.com>
12187 Date:   Tue Sep 7 21:47:01 2010 +0100
12188
12189     actor: _real_queue_relayout shouldn't queue redraw
12190     
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.
12197
12198  clutter/clutter-actor.c |    5 +----
12199  1 file changed, 1 insertion(+), 4 deletions(-)
12200
12201 commit dc976922714ab74f37c69a9ea109ad4e145fce92
12202 Author: Robert Bragg <robert@linux.intel.com>
12203 Date:   Tue Sep 7 21:56:33 2010 +0100
12204
12205     actor: re-allocation implies need to redraw
12206     
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.
12213
12214  clutter/clutter-actor.c |   18 +++++++++++++-----
12215  1 file changed, 13 insertions(+), 5 deletions(-)
12216
12217 commit 267e458a433b819f98ca47557c0a899d8c4dd357
12218 Author: Robert Bragg <robert@linux.intel.com>
12219 Date:   Tue Sep 7 20:29:01 2010 +0100
12220
12221     actor: separate the queue redraw code
12222     
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.
12227     
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.
12232
12233  clutter/clutter-actor.c |   38 ++++++++++++++++++++++++--------------
12234  1 file changed, 24 insertions(+), 14 deletions(-)
12235
12236 commit 6d5f6449ddeb47a9bb814f675843d12ae9f7882e
12237 Author: Robert Bragg <robert@linux.intel.com>
12238 Date:   Tue Sep 7 20:08:00 2010 +0100
12239
12240     stage: make it possible to queue a relayout only
12241     
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.
12246
12247  clutter/clutter-main.c  |   44 -------------------------
12248  clutter/clutter-stage.c |   82 +++++++++++++++++++++++++++++++++++++++++------
12249  2 files changed, 73 insertions(+), 53 deletions(-)
12250
12251 commit f8a6e36f1bd1989eaabca81db14dd8bad879fba7
12252 Author: Robert Bragg <robert@linux.intel.com>
12253 Date:   Tue Sep 7 19:40:28 2010 +0100
12254
12255     texture: Forward queue redraw/relayout for fbos
12256     
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.
12260
12261  clutter/clutter-texture.c |   30 ++++++++++++++++++++++++++++++
12262  1 file changed, 30 insertions(+)
12263
12264 commit 1ea7145efc46e246610a0db70cb71c57cdf55e2b
12265 Author: Robert Bragg <robert@linux.intel.com>
12266 Date:   Tue Sep 7 19:31:27 2010 +0100
12267
12268     Queue clipped redraws work in terms of paint volumes
12269     
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
12274     instead.
12275     
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.
12279
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(-)
12286
12287 commit f3bffe5cab61efceaaadc5ba81129860b7b5c1a6
12288 Author: Robert Bragg <robert@linux.intel.com>
12289 Date:   Tue Sep 7 19:07:19 2010 +0100
12290
12291     blur-effect: fix paint volume padding
12292     
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
12297     instead.
12298
12299  clutter/clutter-blur-effect.c |    4 ++--
12300  1 file changed, 2 insertions(+), 2 deletions(-)
12301
12302 commit f60703cb1da1158c7d263210ca198203293b9576
12303 Author: Robert Bragg <robert@linux.intel.com>
12304 Date:   Tue Sep 7 23:07:52 2010 +0100
12305
12306     debug: CLUTTER_DEBUG_REDRAWS: disable clipped redraws
12307     
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.
12314
12315  clutter/clutter-main.c          |    7 +++
12316  clutter/glx/clutter-stage-glx.c |  105 +++++++++++++++++++++++----------------
12317  2 files changed, 68 insertions(+), 44 deletions(-)
12318
12319 commit 066220f983d4e27020c9b5340aa7d7bfaace9928
12320 Author: Robert Bragg <robert@linux.intel.com>
12321 Date:   Tue Sep 7 18:50:29 2010 +0100
12322
12323     paint volumes: CLUTTER_PAINT=paint-volumes debug option
12324     
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.
12329
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(-)
12334
12335 commit 3540d222e1ebba80bbe6cdfe32e97af052304d77
12336 Author: Robert Bragg <robert@linux.intel.com>
12337 Date:   Tue Sep 7 18:04:19 2010 +0100
12338
12339     paint volumes: another pass at the design
12340     
12341     This is a fairly extensive second pass at exposing paint volumes for
12342     actors.
12343     
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.
12349     
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.
12359     
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
12367     own volume.
12368     
12369     The representation of paint volumes has been updated to consider that
12370     2D actors are the most common.
12371     
12372     The effect apis, clutter-texture and clutter-group have been update
12373     accordingly.
12374
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(-)
12393
12394 commit 48a24a2e08d5978e538e31c8480fa3d7b9b0b291
12395 Author: Robert Bragg <robert@linux.intel.com>
12396 Date:   Thu Aug 19 15:38:15 2010 +0100
12397
12398     actor-box: Adds clutter_actor_box_union utility
12399     
12400     When using ClutterActorBoxs for representing clip regions it can be
12401     convenient to be able to union multiple boxes together.
12402
12403  clutter/clutter-actor.c |   28 ++++++++++++++++++++++++++++
12404  clutter/clutter-types.h |    3 +++
12405  2 files changed, 31 insertions(+)
12406
12407 commit 2da127dcff2c272e4d3b4ed5fc06919700fbc036
12408 Author: Robert Bragg <robert@linux.intel.com>
12409 Date:   Thu Aug 19 15:26:19 2010 +0100
12410
12411     texture: size fbos using clutter_actor_get_paint_box
12412     
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.
12416
12417  clutter/clutter-texture.c |   48 ++++++++++++++-------------------------------
12418  1 file changed, 15 insertions(+), 33 deletions(-)
12419
12420 commit 044809edb89a736f2aa5ecba54972cdea6d724c4
12421 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12422 Date:   Thu Aug 19 15:27:51 2010 +0100
12423
12424     docs: Add PaintVolume to the API reference
12425     
12426     And document the various related functions.
12427
12428  clutter/clutter-actor.c                    |  166 ++++++++++++++++++++++++++++
12429  doc/reference/clutter/clutter-sections.txt |   16 +++
12430  2 files changed, 182 insertions(+)
12431
12432 commit a6e5ecebe3c7e593257a5c3d4dc052561d4147f9
12433 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12434 Date:   Thu Aug 19 14:06:52 2010 +0100
12435
12436     blur-effect: Add padding to account for the blur
12437     
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.
12440     
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.
12443
12444  clutter/clutter-blur-effect.c |   35 +++++++++++++++++++++++++++++++++++
12445  1 file changed, 35 insertions(+)
12446
12447 commit 5d97ca5f87a621b33129a675b5a4342c2b7a1dc7
12448 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12449 Date:   Thu Aug 19 14:05:45 2010 +0100
12450
12451     offscreen-effect: Use the paint box to size the FBO
12452     
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
12455     effect.
12456
12457  clutter/clutter-offscreen-effect.c |   45 +++++++++++++++---------------------
12458  1 file changed, 19 insertions(+), 26 deletions(-)
12459
12460 commit 25abdf09b76fb594f8e64295a93aad241bcc3941
12461 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12462 Date:   Mon Aug 16 17:02:15 2010 +0100
12463
12464     effect: Allow any effect to override the paint volume
12465     
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.
12470     
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.
12475
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(-)
12481
12482 commit 94ce747f83b09c93351a06db233742f3b9255380
12483 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12484 Date:   Mon Aug 16 15:53:28 2010 +0100
12485
12486     actor: Allow querying the paint volume
12487     
12488     An actor has an implicit "paint volume", that is the volume in 3D space
12489     occupied when painting itself.
12490     
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.
12494     
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.
12498     
12499     Actors can override the default implementation of the get_paint_volume()
12500     virtual function to provide a different volume.
12501
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(-)
12507
12508 commit 8dd8fbdbdf940258ff6b5ce616534bf8f8fd356a
12509 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12510 Date:   Mon Sep 13 11:30:30 2010 +0100
12511
12512     build: Start moving to a non-recursive layout
12513     
12514             *** WARNING: THIS COMMIT CHANGES THE BUILD ***
12515     
12516     Do not recurse into the backend directories to build private, internal
12517     libraries.
12518     
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
12522     configure script.
12523     
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
12526     layouts.
12527     
12528     This change makes Clutter compile slightly faster, and cleans up the
12529     build system, especially when dealing with introspection data.
12530     
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.
12534     
12535     Currently disabled:
12536     
12537       ‣ OSX backend
12538       ‣ Fruity backend
12539     
12540     Currently enabled but untested:
12541     
12542       ‣ EGL backend
12543       ‣ Windows backend
12544
12545  .gitignore                                         |    7 +-
12546  Makefile.am                                        |   19 +-
12547  autogen.sh                                         |    1 -
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(-)
12607
12608 commit 27aebb5c9d4a39e3f8e252b40cbf664d9981bbeb
12609 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12610 Date:   Wed Sep 29 14:10:38 2010 +0100
12611
12612     cally: Do not use deprecated functions
12613     
12614     The function g_strcasecmp() has been deprecated since GLib 2.2.
12615
12616  clutter/cally/cally-actor.c |    5 ++++-
12617  1 file changed, 4 insertions(+), 1 deletion(-)
12618
12619 commit e798047ca043fea204851ab22faf67a3222fa6d0
12620 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12621 Date:   Wed Sep 29 11:44:46 2010 +0100
12622
12623     animator: Code style fixes
12624
12625  clutter/clutter-animator.c |   30 +++++++++++++++---------------
12626  1 file changed, 15 insertions(+), 15 deletions(-)
12627
12628 commit 3fe10e0bb1a7d6d9ad1f28ab50d609d2a0af55fb
12629 Author: Stephen Kennedy <sk4425@googlemail.com>
12630 Date:   Wed Sep 29 10:56:48 2010 +0100
12631
12632     ClutterAnimator doesn't ref timeline properly
12633     
12634     ClutterAnimator currently has a number of bugs related to its
12635     referencing of its internal timeline.
12636     
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)
12640     
12641     2) The timeline and slave_timeline vars are unreffed in finalize instead
12642     of dispose
12643     
12644     3) The signal handlers set up in _set_timeline are not disconnected when
12645     the animator is disposed
12646     
12647     http://bugzilla.clutter-project.org/show_bug.cgi?id=2347
12648     
12649     Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
12650
12651  clutter/clutter-animator.c |   23 ++++++++++++++++++-----
12652  1 file changed, 18 insertions(+), 5 deletions(-)
12653
12654 commit d0cab85673a885b9aba317d282dd1bd5518fa241
12655 Author: Neil Roberts <neil@linux.intel.com>
12656 Date:   Mon Sep 27 22:17:12 2010 +0100
12657
12658     Add a conformance test for clutter_actor_contains
12659     
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.
12662
12663  tests/conform/test-actor-invariants.c |   66 +++++++++++++++++++++++++++++++++
12664  tests/conform/test-conform-main.c     |    1 +
12665  2 files changed, 67 insertions(+)
12666
12667 commit 306852075256906d268d5e0cb49957963f2e6a87
12668 Author: Neil Roberts <neil@linux.intel.com>
12669 Date:   Mon Sep 27 17:51:01 2010 +0100
12670
12671     Simplify the loop for clutter_actor_contains
12672     
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.
12678
12679  clutter/clutter-actor.c |   10 +++++++---
12680  1 file changed, 7 insertions(+), 3 deletions(-)
12681
12682 commit 99adb88e9b2cddd65b4fd960444f26a5b52ce3c1
12683 Author: Neil Roberts <neil@linux.intel.com>
12684 Date:   Mon Sep 27 17:47:38 2010 +0100
12685
12686     Document what happens when self==descendant in clutter_actor_contains
12687     
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.
12694
12695  clutter/clutter-actor.c |    3 ++-
12696  1 file changed, 2 insertions(+), 1 deletion(-)
12697
12698 commit bba1424a444816f61865c5caffb17e56e0eb478b
12699 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12700 Date:   Mon Sep 27 16:46:26 2010 +0100
12701
12702     Post-branch version bump to 1.5.1
12703
12704  configure.ac |    4 ++--
12705  1 file changed, 2 insertions(+), 2 deletions(-)
12706
12707 commit 1971581dfa4c4ec1c37ed85f4087800fb28a2e20
12708 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12709 Date:   Sun Sep 26 18:48:04 2010 +0100
12710
12711     doap: Remove mallum from the maintainers list
12712
12713  clutter.doap |    7 -------
12714  1 file changed, 7 deletions(-)
12715
12716 commit 43e85836b48636fe1a5217cb5fce6517e07ed3d0
12717 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12718 Date:   Sun Sep 26 16:52:58 2010 +0100
12719
12720     actor: Dispose all constrains
12721     
12722     We are leaking the ClutterMetaGroup with all the constraints when
12723     disposing an Actor.
12724
12725  clutter/clutter-actor.c |    6 ++++++
12726  1 file changed, 6 insertions(+)
12727
12728 commit fda1f3a8ba053aaa98882788b6098acbf7875bd3
12729 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12730 Date:   Sat Sep 25 20:23:41 2010 +0100
12731
12732     json: Allow NULL as a value for strings, arrays and objects
12733     
12734     We should not warn when asking for a string, array or object if the
12735     contents were 'null'.
12736     
12737     Patch from JSON-GLib.
12738
12739  clutter/json/json-array.c  |   42 ++++++++++++++++++++++++++++++++---------
12740  clutter/json/json-object.c |   45 +++++++++++++++++++++++++++++++++++---------
12741  2 files changed, 69 insertions(+), 18 deletions(-)
12742
12743 commit 8fe9f3a37db72dcb1dfdf0589135310a78b0174e
12744 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12745 Date:   Fri Sep 24 16:21:06 2010 +0100
12746
12747     test-clutter-units: Force a known resolution to avoid fuzzyness
12748     
12749     Instead of taking the current resolution, whatever it may be, use a
12750     known DPI. This should alleviate fuzzyness and create consistent
12751     results.
12752
12753  tests/conform/test-clutter-units.c |   14 +++++++-------
12754  1 file changed, 7 insertions(+), 7 deletions(-)
12755
12756 commit 51a4af92628287b491cd2539ce7bda0811976527
12757 Author: Emmanuele Bassi <ebassi@linux.intel.com>
12758 Date:   Fri Sep 24 15:25:15 2010 +0100
12759
12760     Post-release version bump to 1.4.1
12761
12762  configure.ac |    4 ++--
12763  1 file changed, 2 insertions(+), 2 deletions(-)