cairo did notuse gl at all with gles
[platform/upstream/cairo.git] / ChangeLog.pre-1.10
1 commit cb0bc64c16b3a38cbf0c622830c18ac9ea6e2ffe
2 Author: Chris Wilson <chris@chris-wilson.co.uk>
3 Date:   Mon Sep 6 17:15:51 2010 +0100
4
5     version: 1.10.0 *release*
6     
7     /me faints with excitement.
8
9  cairo-version.h |    4 ++--
10  1 file changed, 2 insertions(+), 2 deletions(-)
11
12 commit 87fad104645c481ab027afbc9fa45c54cacbc9a7
13 Author: Chris Wilson <chris@chris-wilson.co.uk>
14 Date:   Mon Sep 6 17:14:41 2010 +0100
15
16     NEWS: Sum up 2 years of development for 1.10.0 in 60 lines
17
18  NEWS |   61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
19  1 file changed, 61 insertions(+)
20
21 commit 04623ef9df7274d411a3b7f03129bf43e53e7086
22 Author: Chris Wilson <chris@chris-wilson.co.uk>
23 Date:   Mon Sep 6 13:15:55 2010 +0100
24
25     test: Add subsurface-outside-target refs to REFERENCE_IMAGES
26
27  test/Makefile.am |    2 ++
28  1 file changed, 2 insertions(+)
29
30 commit d5b2c2a12ebea33f4d108d4deec2e9111c8c7e12
31 Author: Chris Wilson <chris@chris-wilson.co.uk>
32 Date:   Mon Sep 6 13:10:08 2010 +0100
33
34     test: Rename clip-fill-*-unbounded.image16 ref to match REFERENCE_IMAGES
35
36  test/clip-fill-eo-unbounded.image16.ref.png       |  Bin 0 -> 2887 bytes
37  test/clip-fill-eo-unbounded.image16.rgb24.ref.png |  Bin 2887 -> 0 bytes
38  test/clip-fill-nz-unbounded.image16.ref.png       |  Bin 0 -> 2887 bytes
39  test/clip-fill-nz-unbounded.image16.rgb24.ref.png |  Bin 2887 -> 0 bytes
40  4 files changed, 0 insertions(+), 0 deletions(-)
41
42 commit cab9682f9dc4c99dcd51ddb66abd756e2ac7a63c
43 Author: Chris Wilson <chris@chris-wilson.co.uk>
44 Date:   Mon Sep 6 12:24:47 2010 +0100
45
46     check: Ignore the documentation errors.
47     
48     Currently it is complaining about having documentation for
49     unconfigured sections, ignore it for now.
50
51  doc/public/check-doc-coverage.sh |    6 +++++-
52  1 file changed, 5 insertions(+), 1 deletion(-)
53
54 commit 8127f1f5d52bb716dbd70efe096894f2a542f4a9
55 Author: Chris Wilson <chris@chris-wilson.co.uk>
56 Date:   Mon Sep 6 12:24:14 2010 +0100
57
58     Bump pixman requirements to 0.18.4 for assorted fixes.
59
60  README       |    2 +-
61  configure.ac |    2 +-
62  2 files changed, 2 insertions(+), 2 deletions(-)
63
64 commit 21a2f90cdef3d592c1d1614852fe3929ed2aa765
65 Author: Chris Wilson <chris@chris-wilson.co.uk>
66 Date:   Thu Sep 2 13:19:26 2010 +0100
67
68     check: Make the actual error stand out
69
70  doc/public/check-doc-coverage.sh |    6 +++---
71  1 file changed, 3 insertions(+), 3 deletions(-)
72
73 commit 8258532794d0579f6c1b825b8cfb9c8f7ced4369
74 Author: Chris Wilson <chris@chris-wilson.co.uk>
75 Date:   Thu Sep 2 13:15:07 2010 +0100
76
77     Reduce the cairo_device_type_t to only hold the used entries.
78     
79     This should help clarify the documentation by not mentioning non-existent
80     devices and prevent any assumed coupling between surface-type values and
81     devices.
82
83  src/cairo.h                              |   49 +++++-------------------------
84  util/cairo-gobject/cairo-gobject-enums.c |   24 +++------------
85  2 files changed, 12 insertions(+), 61 deletions(-)
86
87 commit e3afbc1875d618c6d7e893971372be8f9889fc8b
88 Author: Chris Wilson <chris@chris-wilson.co.uk>
89 Date:   Thu Sep 2 13:07:53 2010 +0100
90
91     check: Fix for link-time-optimisation
92
93  src/check-def.sh |    2 +-
94  1 file changed, 1 insertion(+), 1 deletion(-)
95
96 commit a9e055ff481303428cd9684dca826bc3f5d868c5
97 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
98 Date:   Thu Sep 2 14:51:30 2010 +0100
99
100     freelist: Separate freelist inlines from the datatype in headers.
101     
102     The cairo-freelist-private.h header has a number of static inline
103     functions which call hidden functions in libcairo.  This poses
104     a problem on Solaris where the native compiler compiles inline
105     functions whether they are used or not, thereby adding the
106     link time requirements on hidden functions from whatever code
107     that includes cairo-freelist-private.h.  Unfortunately the
108     boilerplate code includes cairo-private headers and indirectly
109     the freelist header, so linking the boilerplate helper library
110     fails on Solaris.
111     
112     This patch separates the structure definitions from the function
113     prototypes and static inlines in cairo-freelist-private.h by moving
114     the datatypes to a new cairo-freelist-type-private.h.
115
116  src/Makefile.sources              |    1 +
117  src/cairo-freelist-private.h      |   28 +------------------
118  src/cairo-freelist-type-private.h |   54 +++++++++++++++++++++++++++++++++++++
119  src/cairo-xlib-display.c          |    2 +-
120  src/cairo-xlib-private.h          |    2 +-
121  5 files changed, 58 insertions(+), 29 deletions(-)
122
123 commit f5632d641c44a143386ca3b413e90ed3b1a85f89
124 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
125 Date:   Thu Sep 2 13:55:55 2010 +0300
126
127     build: Remove stray backslash.
128     
129     A stray backslash bwetween two assignment lines apparently
130     invokes a GNU make extension for conditional assignments.
131     This patch fixes the build when using the native Solaris make.
132
133  src/Makefile.sources |    2 +-
134  1 file changed, 1 insertion(+), 1 deletion(-)
135
136 commit 3a8b8fcc2a8a48cef49211c45723862f9fa8db23
137 Author: Benjamin Otte <otte@redhat.com>
138 Date:   Wed Sep 1 21:14:40 2010 +0200
139
140     gobject: Fix header defines
141
142  util/cairo-gobject/cairo-gobject.h |   64 ++++++++++++++++++------------------
143  1 file changed, 32 insertions(+), 32 deletions(-)
144
145 commit 54a651564cdd2510d0a66f6720c4a45733ff3285
146 Author: Benjamin Otte <otte@redhat.com>
147 Date:   Wed Sep 1 18:47:16 2010 +0200
148
149     build: Work around caching not reevaluating uncached variables
150     
151     This is a somewhat crude hack to ensure that GOBJECT_CFLAGS/LIBS are
152     properly cached.
153
154  configure.ac |    4 ++++
155  1 file changed, 4 insertions(+)
156
157 commit 28ba78a9716f3c105cdfb5f7519f2435dd9cb271
158 Author: Benjamin Otte <otte@redhat.com>
159 Date:   Wed Sep 1 18:46:46 2010 +0200
160
161     gobject: Fix pkgconfig file variable
162     
163     I confused % and $. I blame it on spec files.
164
165  configure.ac |    2 +-
166  1 file changed, 1 insertion(+), 1 deletion(-)
167
168 commit 61a1835e40d0b6d786951143779077d16ed2486e
169 Author: Benjamin Otte <otte@redhat.com>
170 Date:   Wed Sep 1 03:17:12 2010 +0200
171
172     subsurface: Fix acquire_source_surface for out-of-bounds surfaces
173     
174     See subsurface-outside-target test.
175
176  src/cairo-surface-subsurface.c |   41 ++++++++++++++++++++++------------------
177  1 file changed, 23 insertions(+), 18 deletions(-)
178
179 commit f54c51e75c7abe872127d559e029bf4383439bca
180 Author: Benjamin Otte <otte@redhat.com>
181 Date:   Wed Sep 1 02:10:51 2010 +0200
182
183     test: Add subsurface-outside-target
184     
185     This test defines the behavior of subsurfaces when they are created to
186     be bigger than their target.
187
188  test/Makefile.sources                         |    1 +
189  test/subsurface-outside-target.argb32.ref.png |  Bin 0 -> 2063 bytes
190  test/subsurface-outside-target.c              |  178 +++++++++++++++++++++++++
191  test/subsurface-outside-target.rgb24.ref.png  |  Bin 0 -> 1648 bytes
192  4 files changed, 179 insertions(+)
193
194 commit 6eab5ee10c111cf87dcf62e3f639f44cfd1e5cf6
195 Author: Maarten Bosmans <mkbosmans@gmail.com>
196 Date:   Sat Aug 28 13:39:21 2010 +0200
197
198     build: prefer libpng14 over older versions
199     
200     Also move libpng to the front of the list, so that the default
201     version of the system is first checked.
202
203  configure.ac |    2 +-
204  1 file changed, 1 insertion(+), 1 deletion(-)
205
206 commit 9f98ec6eb915204d59820cf57d32f347f9933517
207 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
208 Date:   Sun Aug 29 00:05:51 2010 +0300
209
210     device: Refer the user to per-backend docs about devices.
211     
212     The exact semantics of the device API can't be spelled out
213     out in the device API docs since the effects are so tied
214     to the specific backend.  To use a particular device in
215     practice the user should refer to the backend docs.
216
217  src/cairo-device.c |    6 ++++++
218  1 file changed, 6 insertions(+)
219
220 commit b0f65054b810d432238ff4986bee3f63e1fc46df
221 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
222 Date:   Sun Aug 29 00:03:07 2010 +0300
223
224     subsurface: Add a note to the docs about usage restrictions.
225     
226     Make our assumptions about constructed subsurfaces explicit
227     while we work out the correct semantics for the edge cases.
228
229  src/cairo-surface-subsurface.c |    7 +++++++
230  1 file changed, 7 insertions(+)
231
232 commit 92fe2d370d120f4d9bc95e92209d1c1cec7e900b
233 Author: Benjamin Otte <otte@redhat.com>
234 Date:   Sat Aug 28 17:12:45 2010 +0200
235
236     surface-offset: Use right variable in mask
237     
238     Use source/mask instead of their copies. The copies only get initialized
239     if we actually need to translate things.
240
241  src/cairo-surface-offset.c |    2 +-
242  1 file changed, 1 insertion(+), 1 deletion(-)
243
244 commit df4b23ff74f3d22fb306f59cdba4dce6b0857cd2
245 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
246 Date:   Fri Aug 27 20:26:06 2010 +0300
247
248     subsurface: Fix crash when acquiring a source image.
249     
250     The code is passing in the extra info received from
251     the target surface's acquire_source() method to
252     _cairo_surface_get_extents() rather than the acquired
253     source surface itself.
254
255  src/cairo-surface-subsurface.c |    2 +-
256  1 file changed, 1 insertion(+), 1 deletion(-)
257
258 commit 2d146867dc4d4e17da2fd1e4776f62aaa999d90f
259 Author: Andrea Canciani <ranma42@gmail.com>
260 Date:   Thu Aug 26 14:50:34 2010 +0200
261
262     subsurface: Correct cloning condition
263     
264     72644c6df2c2da1d77ca10a755dbb44bbd960c0d was using the wrong (inverted)
265     condition to check if the subsurface extents are contained in the
266     target extents.
267
268  src/cairo-surface-subsurface.c |   10 +++++-----
269  1 file changed, 5 insertions(+), 5 deletions(-)
270
271 commit 72644c6df2c2da1d77ca10a755dbb44bbd960c0d
272 Author: Andrea Canciani <ranma42@gmail.com>
273 Date:   Thu Aug 26 14:24:17 2010 +0200
274
275     subsurface: Avoid invalid accesses
276     
277     Whenever subsurface extents are not contained in the target extents,
278     using the source image given by the target (with origin corrected by
279     using an appropriate offset in the data pointer) is not a valid
280     operation. Fallback to cloning in that case.
281
282  src/cairo-surface-subsurface.c |   12 +++++++++++-
283  1 file changed, 11 insertions(+), 1 deletion(-)
284
285 commit df4465bdd11e25a1ed942bc0fc8e7dc5d43f951f
286 Author: Andrea Canciani <ranma42@gmail.com>
287 Date:   Thu Aug 26 14:23:04 2010 +0200
288
289     subsurface: Silence compiler warnings
290     
291     Commit d1c35f5e65d53f6b8b9060455335424ca0f44bd0 introduced two
292     unused variable warnings.
293
294  src/cairo-surface-subsurface.c |    2 --
295  1 file changed, 2 deletions(-)
296
297 commit d1c35f5e65d53f6b8b9060455335424ca0f44bd0
298 Author: Benjamin Otte <otte@redhat.com>
299 Date:   Thu Aug 26 13:55:02 2010 +0200
300
301     subsurface: Don't clip size to target size
302     
303     This clipping would modify the origin of the subsurface and then the
304     creator has no easy way to figure this out.
305
306  src/cairo-surface-subsurface.c |    3 ---
307  1 file changed, 3 deletions(-)
308
309 commit 174fb5f16f93887e2f319edd5b46efae3e7e93ad
310 Author: Benjamin Otte <otte@redhat.com>
311 Date:   Thu Aug 26 13:21:04 2010 +0200
312
313     subsurface: Don't apply device transform twice for source/mask
314
315  src/cairo-surface-offset.c |   12 ------------
316  1 file changed, 12 deletions(-)
317
318 commit e79acf47a57b60c83d1f9491aac354161986b29b
319 Author: Benjamin Otte <otte@redhat.com>
320 Date:   Thu Aug 26 12:54:25 2010 +0200
321
322     subsurface: Make CAIRO_SURFACE_TYPE_SUBSURFACE public
323
324  src/cairo-analysis-surface.c    |    2 +-
325  src/cairo-image-surface.c       |    2 +-
326  src/cairo-pdf-surface.c         |    4 ++--
327  src/cairo-ps-surface.c          |    4 ++--
328  src/cairo-script-surface.c      |    2 +-
329  src/cairo-surface-subsurface.c  |    4 ++--
330  src/cairo-types-private.h       |    3 +--
331  src/cairo-xcb-surface-render.c  |    4 ++--
332  src/cairo-xlib-surface.c        |    2 +-
333  src/cairo.h                     |    7 ++++++-
334  src/drm/cairo-drm-i915-shader.c |    6 +++---
335  src/drm/cairo-drm-i965-shader.c |    6 +++---
336  12 files changed, 25 insertions(+), 21 deletions(-)
337
338 commit 40459dacb52587cc784faf2635e54797d3989408
339 Author: Benjamin Otte <otte@redhat.com>
340 Date:   Thu Aug 26 11:45:28 2010 +0200
341
342     subsurface: Don't crash when the device transform isn't integer
343     
344     Apply the transform before rounding to integer coordinates, so we can
345     handle doubles easily.
346
347  src/cairo-surface-subsurface.c |   10 ++++------
348  1 file changed, 4 insertions(+), 6 deletions(-)
349
350 commit e19b213e84ab8b8ead5e0c700e5b906590e22aa1
351 Author: Benjamin Otte <otte@redhat.com>
352 Date:   Thu Aug 26 11:18:29 2010 +0200
353
354     subsurface: Make subsurfaces their own type
355     
356     Do not try to hide being a subsurface.
357     This would cause confusion when users where calling surface-type
358     specific getters on subsurfaces.
359     
360     FIXME: We still need public API to access a subsurface's target though.
361
362  src/cairo-surface-subsurface.c |    1 -
363  1 file changed, 1 deletion(-)
364
365 commit e65bf64c4a6e2c7ff673449b8459b3150e438e21
366 Author: Benjamin Otte <otte@redhat.com>
367 Date:   Thu Aug 26 11:17:06 2010 +0200
368
369     subsurface: Properly account for device offsets in the target
370
371  src/cairo-surface-subsurface.c |   10 +++++-----
372  1 file changed, 5 insertions(+), 5 deletions(-)
373
374 commit 8e9c4ea5890a4df3f463e592dc3aa429bb423608
375 Author: Chris Wilson <chris@chris-wilson.co.uk>
376 Date:   Wed Aug 11 12:18:53 2010 +0100
377
378     Mark the context as invalid on the final cairo_destroy()
379     
380     We initialise the context to a non-error state upon creation, but after
381     destroy there is a window of opportunity where the object is kept alive
382     inside the context pool and the user could mistakenly keep on passing
383     the zombie context into cairo functions. As all entry points need to
384     check error status, flagging the context as an error object upon the
385     final unreference prevents such misuse (until such as time as the
386     context is reallocated).
387
388  src/cairo.c |    3 +++
389  1 file changed, 3 insertions(+)
390
391 commit cd52378ae60ab2075d7e9ec7335e990b2f46059e
392 Author: Andrea Canciani <ranma42@gmail.com>
393 Date:   Tue Aug 10 19:38:59 2010 +0200
394
395     test: Update linear-gradient-large ref image
396     
397     Make linear-gradient-large ref image match xlib gradients (both on nvidia
398     and on macosx) and pixman gradients (when patched to compute the linear
399     gradients using floating point math).
400
401  test/linear-gradient-large.ref.png |  Bin 3753 -> 4079 bytes
402  1 file changed, 0 insertions(+), 0 deletions(-)
403
404 commit a7762e3d6570a6981d8fb74ecc6ae30391c39b89
405 Author: Krzysztof Kosiński <tweenk.pl@gmail.com>
406 Date:   Tue Aug 10 17:55:03 2010 +0200
407
408     tests: Add linear-gradient-large test
409     
410     Shows large rounding errors in Pixman when computing gradients. Added as
411     a test to Cairo to catch similar issues in other backends.
412     
413     https://bugs.freedesktop.org/show_bug.cgi?id=29470
414
415  test/Makefile.am                   |    5 +--
416  test/Makefile.sources              |    1 +
417  test/linear-gradient-large.c       |   67 ++++++++++++++++++++++++++++++++++++
418  test/linear-gradient-large.ref.png |  Bin 0 -> 3753 bytes
419  4 files changed, 71 insertions(+), 2 deletions(-)
420
421 commit 56ea51fdcc273531b5e86b921aad19237a1c9415
422 Author: Andrea Canciani <ranma42@gmail.com>
423 Date:   Mon Aug 9 20:23:50 2010 +0200
424
425     Replace insertion sort with mergesort in the scan converter
426     
427     Insertion sort can take up to O(n^2), mergesort is guaranteed to run
428     in O(n*log(n)).
429     An example showing bad performance for insertion sort is:
430        https://bugs.freedesktop.org/show_bug.cgi?id=28067
431     
432     The mergesort has been engineered to be fast even when working on
433     cases where the insertion sort would have performed well and as
434     expected it shows no changes in the benchmark cairo traces.
435
436  src/cairo-tor-scan-converter.c |  138 ++++++++++++++++++++++++++++++----------
437  1 file changed, 103 insertions(+), 35 deletions(-)
438
439 commit a150371a5d10e03d6c0d781c6fac950a9ac6be18
440 Author: Nicolaus L Hepler <nlhepler@gmail.com>
441 Date:   Tue Aug 10 09:34:39 2010 +0200
442
443     ft-font: Make alpha mapping consistent
444     
445     Vertical RGB mapping previously forced opaque pixels.
446     To be consistent with horizontal RGB/BGR and vertical BGR it
447     should use an alpha equal to the mid channel (green).
448
449  src/cairo-ft-font.c |    7 -------
450  1 file changed, 7 deletions(-)
451
452 commit 73470862cbc5895147d5c58ca2647f539e8fe67c
453 Author: David Schleef <ds@schleef.org>
454 Date:   Tue Aug 10 02:37:38 2010 +0200
455
456     perf: Fix README to say cairo-perf-micro
457
458  perf/README |   12 ++++++------
459  1 file changed, 6 insertions(+), 6 deletions(-)
460
461 commit df8f96423429915ef1648310fce8b5aed0917c0a
462 Author: Benjamin Otte <otte@redhat.com>
463 Date:   Tue Aug 10 01:24:30 2010 +0200
464
465     build: Fudge the build system some more so it handles extra libs
466     
467     Add NONPKGCONFIG_EXTRA_LIBS that are only put into the generated pc file
468     but not used when linking. This is now used to add -lcairo-gobject to
469     the cairo-gobject.pc file.
470
471  build/configure.ac.features          |    3 +++
472  configure.ac                         |    2 +-
473  src/cairo-features-uninstalled.pc.in |    2 +-
474  src/cairo-features.pc.in             |    2 +-
475  4 files changed, 6 insertions(+), 3 deletions(-)
476
477 commit 01325ad767acf6213135a0bad895de233324f745
478 Author: Benjamin Otte <otte@redhat.com>
479 Date:   Tue Aug 10 00:11:25 2010 +0200
480
481     gobject: Include the extra library in the pkgconfig file
482
483  configure.ac |    1 +
484  1 file changed, 1 insertion(+)
485
486 commit 8fb91dc3f6b691f91c322cec4b1d0ee4dbebd69c
487 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
488 Date:   Tue Aug 10 00:53:53 2010 +0300
489
490     script: Fix script backend build.
491     
492     The flight data recorders were missing an include
493     of cairo-tee.h ever since cairo-tee.h became an optional
494     backend.
495
496  util/cairo-fdr/fdr.c    |    1 +
497  util/cairo-sphinx/fdr.c |    1 +
498  2 files changed, 2 insertions(+)
499
500 commit 766832364904dbf5b8a67ebc1600d2ec45d2734f
501 Author: Andrea Canciani <ranma42@gmail.com>
502 Date:   Mon Aug 9 18:47:13 2010 +0200
503
504     perf: Improve calibration
505     
506     Make the loops count depend on the actual calibration_loops/calibration_time
507     instead of calibration_loops/calibration_max_time.
508     This avoids having some tests take much less/more than the wanted time per iteration
509     (I was having some tests taking about 1 second, other taking about 7 seconds when
510     the ms_per_iteration was 2000)
511     
512     Spend 0.5-1 times the time wanted for each iteration in calibration, increase the
513     accuracy of loops count. Just making the loops count be the correct ratio doesn't
514     guarantee that the iteration time is accurate. By actually measuring iteration
515     times until it gets greater than 1/4 of the wanted time, the total sum is bound
516     to be <= the wanted iteration time and last calibration time is between 1/4 and
517     1/2 of the wanted time, so it should give a very accurate loop count.
518
519  perf/cairo-perf-micro.c |   17 ++++++++---------
520  1 file changed, 8 insertions(+), 9 deletions(-)
521
522 commit 046b642db0782ab5e2a5c82988b21e05afe8e716
523 Author: Rich Walsh <DragText@E-vertise.Com>
524 Date:   Sat Aug 7 16:30:59 2010 +0300
525
526     os2: Restore surface type checking in the get_extents method.
527
528  src/cairo-os2-surface.c |   10 +++++++++-
529  1 file changed, 9 insertions(+), 1 deletion(-)
530
531 commit 78bdd87b7545f8e85632ac301a69da145727fcec
532 Author: Rich Walsh <DragText@E-vertise.Com>
533 Date:   Sat Aug 7 16:22:26 2010 +0300
534
535     os2: Fix clipping to bounds when blitting pixels.
536     
537     The bounds checks on the rectangle to blit were done
538     after converting target/source to inclusive/noninclusive
539     coordinates rather than before, potentially causing an
540     off-by-one in the sizes, since the same logic was applied
541     to both inclusive and non-inclusive coordinates.  This
542     patch enforces bounds up front.
543     
544     Thread "OS/2 surface fixes" on cairo-l:
545     http://lists.cairographics.org/archives/cairo/2010-July/020343.html
546
547  src/cairo-os2-surface.c |   62 +++++++++++++++++++++--------------------------
548  1 file changed, 27 insertions(+), 35 deletions(-)
549
550 commit d0284687b32161212d6bc52309e2d5bb516dc3e8
551 Author: Rich Walsh <DragText@E-vertise.Com>
552 Date:   Sat Aug 7 03:53:24 2010 +0300
553
554     os2: Tweak an inline declaration.
555     
556     C99 and cairo prefers "static inline <return type>" rather
557     than "static <return type> inline".
558     
559     Thread "OS/2 surface fixes" on cairo-l:
560     http://lists.cairographics.org/archives/cairo/2010-July/020343.html
561
562  src/cairo-os2-surface.c |    2 +-
563  1 file changed, 1 insertion(+), 1 deletion(-)
564
565 commit cb30340064a2ff24dc408e185c5a309a14f6c78c
566 Author: Rich Walsh <DragText@E-vertise.Com>
567 Date:   Sat Aug 7 03:33:10 2010 +0300
568
569     os2: Consolidate error paths of cairo_os2_surface_create().
570     
571     Use a single code path to release the resources acquired
572     for a surface that's been partially constructed, rather than
573     have multiple error exits which each release the resources
574     acquired so far.
575     
576     Thread "OS/2 surface fixes" on cairo-l:
577     http://lists.cairographics.org/archives/cairo/2010-July/020343.html
578
579  src/cairo-os2-surface.c |  120 +++++++++++++++++++++++------------------------
580  1 file changed, 60 insertions(+), 60 deletions(-)
581
582 commit 66e3d650fe90754c811195c75579ac7a3512b7be
583 Author: Rich Walsh <DragText@E-vertise.Com>
584 Date:   Sat Aug 7 03:12:12 2010 +0300
585
586     os2: Document ownership of OS/2 objects passed to surfaces.
587     
588     Clarify the documentation for cairo_os2_surface_create()
589     and cairo_os2_surface_set_hwnd() to note that the ownership
590     of the presentation space and window respectively
591     remains with the caller.
592     
593     Thread "OS/2 surface fixes" on cairo-l:
594     http://lists.cairographics.org/archives/cairo/2010-July/020343.html
595
596  src/cairo-os2-surface.c |   23 ++++++++++++-----------
597  1 file changed, 12 insertions(+), 11 deletions(-)
598
599 commit 01525271544d5b88f87027e470fa85038d59bf8d
600 Author: Rich Walsh <DragText@E-vertise.Com>
601 Date:   Sat Aug 7 03:08:21 2010 +0300
602
603     os2: Don't fake an Anchor Block when one isn't needed.
604     
605     The code was being tricky about passing in a HAB to
606     DevOpenDC() even though one isn't needed at all under
607     OS/2.  Pass in NULL instead.
608     
609     Thread "OS/2 surface fixes" on cairo-l:
610     http://lists.cairographics.org/archives/cairo/2010-July/020343.html
611
612  src/cairo-os2-surface.c |   16 +++-------------
613  1 file changed, 3 insertions(+), 13 deletions(-)
614
615 commit 883d9725e0f844e7d5cc4c50c75a812b5435702b
616 Author: Rich Walsh <DragText@E-vertise.Com>
617 Date:   Sat Aug 7 03:01:56 2010 +0300
618
619     os2: Fix buffer allocator behaviour on arithmetic overflow.
620     
621     On arithmetic overflow the buffer allocator would attempt
622     to allocate zero bytes instead of failing the allocation.
623     Depending on the implementation of the underlying allocator
624     being proxied, this may result in an allocation of a zero
625     length buffer, causing all kinds of grief.  This patch
626     causes arithmetic overflows to explicitly fail the allocation.
627     
628     Thread "OS/2 surface fixes" on cairo-l:
629     http://lists.cairographics.org/archives/cairo/2010-July/020343.html
630
631  src/cairo-os2-surface.c |   54 ++++++++++++++++++++---------------------------
632  1 file changed, 23 insertions(+), 31 deletions(-)
633
634 commit b54037828c5b338b2f1dcbe48201225b258c1e1e
635 Author: Rich Walsh <DragText@E-vertise.Com>
636 Date:   Sat Aug 7 02:40:20 2010 +0300
637
638     os2: Fix blitting 24 bpp pixel data.
639     
640     There's a format mismatch between cairo's pixel formats
641     and OS/2 24 bpp data: the individual pixels in OS/2 take
642     only three bytes per pixel, but there needs to be padding
643     between lines to make the start of a line always be aligned
644     at a DWORD boundary.
645     
646     This patch fixes the format conversion code to include
647     the required padding between rows.
648     
649     Thread "OS/2 surface fixes" on cairo-l:
650     http://lists.cairographics.org/archives/cairo/2010-July/020343.html
651
652  src/cairo-os2-private.h |    1 +
653  src/cairo-os2-surface.c |  116 +++++++++++++++++++++++++++--------------------
654  2 files changed, 68 insertions(+), 49 deletions(-)
655
656 commit 5aadecb3ac03d379c2c8113566fa8062843df42e
657 Author: Rich Walsh <DragText@E-vertise.Com>
658 Date:   Sat Aug 7 02:30:01 2010 +0300
659
660     os2: New API to create surfaces without a persistent HPS.
661     
662     It's not always necessary to create a presentation space (HPS) for
663     surface tied to a window, as the user may have one already.  This patch
664     introduces three new functions to create a surface without an HPS
665     and let the user manage an HPS associated with the surface.
666     
667     Thread "OS/2 surface fixes" on cairo-l:
668     http://lists.cairographics.org/archives/cairo/2010-July/020343.html
669     
670     Mozilla Bugzilla:
671     https://bugzilla.mozilla.org/show_bug.cgi?id=557159
672
673  src/cairo-os2-surface.c |  142 ++++++++++++++++++++++++++++++++++++++++++++++-
674  src/cairo-os2.h         |   14 +++++
675  2 files changed, 153 insertions(+), 3 deletions(-)
676
677 commit 9669faa936fe38da3615d7831e423befa5ecdfad
678 Author: Benjamin Otte <otte@redhat.com>
679 Date:   Sun Aug 8 17:23:05 2010 +0200
680
681     gl: Handle errors from _cairo_gl_gradient_render()
682     
683     Thanks Andrea for finding this.
684
685  src/cairo-gl-gradient.c |    9 ++++++++-
686  1 file changed, 8 insertions(+), 1 deletion(-)
687
688 commit e31b56e020df806aa6180cd2efa0a34e55e5adaf
689 Author: Benjamin Otte <otte@redhat.com>
690 Date:   Sun Aug 8 14:45:24 2010 +0200
691
692     configure: Fix gobject handling
693     
694     1) Explicitly depend on glib, too.
695     2) Don't link gobject into libcairo proper (thanks Joonas for noticing).
696
697  configure.ac |    4 ++--
698  1 file changed, 2 insertions(+), 2 deletions(-)
699
700 commit ae2b7b13cd5fdeaee44496056bb99f497346e262
701 Author: Andrea Canciani <ranma42@gmail.com>
702 Date:   Wed Aug 4 14:22:23 2010 +0200
703
704     pattern: Simplify degenerate linear pattern to solid colors
705     
706     Degenerate linear patterns are considered clear if they have
707     EXTEND_NONE, the average of the first and the last stop if they are
708     EXTEND_PAD, the weighted average of the stops (based on the size of
709     the interpolation range in which they are active, just like integrating
710     over the whole interpolation range and taking the average) if they are
711     EXTEND_REPEAT or EXTEND_REFLECT.
712     
713     Fixes degenerate-linear-gradient
714
715  src/cairo-pattern.c                     |  119 ++++++++++++++++++++++++++++++-
716  test/degenerate-linear-gradient.ref.png |  Bin 232 -> 322 bytes
717  2 files changed, 117 insertions(+), 2 deletions(-)
718
719 commit d54a5a9fc90857448954d6cbe725d4665efa3d45
720 Author: Andrea Canciani <ranma42@gmail.com>
721 Date:   Wed Aug 4 14:16:34 2010 +0200
722
723     pattern: Add gradient degeneracy testing functions
724     
725     Introduce two new (private) functions for testing the degeneracy of linear
726     and radial gradients and use them instead of verbose (and error-prone) tests.
727
728  src/cairo-pattern.c |   21 +++++++++++++++++----
729  1 file changed, 17 insertions(+), 4 deletions(-)
730
731 commit 63434bc43819e2c7d4db568e82f5a9a7dfb0418d
732 Author: Andrea Canciani <ranma42@gmail.com>
733 Date:   Wed Aug 4 14:22:01 2010 +0200
734
735     gstate: Correct comment
736
737  src/cairo-gstate.c |    2 +-
738  1 file changed, 1 insertion(+), 1 deletion(-)
739
740 commit 28cd511fb974f886ae65e588413afcfc220a1a7c
741 Author: Andrea Canciani <ranma42@gmail.com>
742 Date:   Sat Aug 7 22:55:46 2010 +0200
743
744     Correct color stops comparison function
745     
746     Two clear stops with different "underlying" colors must be considered
747     different, since when interpolated with non-clear colors they will
748     produce different results.
749
750  src/cairo-color.c |   25 ++++---------------------
751  1 file changed, 4 insertions(+), 21 deletions(-)
752
753 commit f71a618bd2604c8f0beaf4816a38a54f6f271bd9
754 Author: Andrea Canciani <ranma42@gmail.com>
755 Date:   Sat Aug 7 21:32:09 2010 +0200
756
757     Fix configuration if gobject is absent
758     
759     Autodetect gobject and only use it if present.
760     Its absence is not to be considered a failure since it's not required.
761
762  build/Makefile.win32.features |    2 +-
763  configure.ac                  |    2 +-
764  2 files changed, 2 insertions(+), 2 deletions(-)
765
766 commit 661f4859cdbc0394ed0a9db34ced0f4e2bbe78ff
767 Author: Benjamin Otte <otte@redhat.com>
768 Date:   Sat Aug 7 20:05:42 2010 +0200
769
770     Add cairo-gobject library
771     
772     This library is supposed to contain GType declarations for Cairo types.
773     It is also meant to support gobject-introspection binding creation.
774
775  boilerplate/Makefile.win32.features        |   12 +
776  build/Makefile.win32.features              |    1 +
777  build/Makefile.win32.features-h            |    3 +
778  configure.ac                               |   10 +
779  src/Makefile.win32.features                |   16 +
780  util/Makefile.am                           |    4 +
781  util/cairo-gobject/Makefile.am             |   15 +
782  util/cairo-gobject/cairo-gobject-enums.c   |  519 ++++++++++++++++++++++++++++
783  util/cairo-gobject/cairo-gobject-structs.c |   87 +++++
784  util/cairo-gobject/cairo-gobject.h         |  186 ++++++++++
785  10 files changed, 853 insertions(+)
786
787 commit fc4e8f036326da1839ec5320eba60823e7efc2db
788 Author: Søren Sandmann Pedersen <ssp@redhat.com>
789 Date:   Sat Aug 7 12:10:49 2010 -0400
790
791     Update documentation to reflect that rgb565 is no longer deprecated.
792
793  src/cairo.h |    6 +++---
794  1 file changed, 3 insertions(+), 3 deletions(-)
795
796 commit de606af5d673df193fc07fbd047ba2cec82d2f1c
797 Author: Andrea Canciani <ranma42@gmail.com>
798 Date:   Tue Jul 27 18:04:36 2010 +0200
799
800     quartz: improve backend detection
801     
802     Quartz previously crashed with NULL backends and didn't check for
803     the backend type when getting a CGContext from a quartz surface,
804     returning meaningless data for subsurfaces.
805
806  src/cairo-quartz-surface.c |   24 +++++++++++++++---------
807  1 file changed, 15 insertions(+), 9 deletions(-)
808
809 commit 056ce165c4377e9cf93fd7a06b6b0d5d4d98cb8c
810 Author: Andrea Canciani <ranma42@gmail.com>
811 Date:   Tue Jul 27 18:50:55 2010 +0200
812
813     quartz: fix solid masking fallback
814     
815     Falling back when painting would ignore the alpha value (which is
816     needed to have the correct mask opacity).
817     _cairo_quartz_surface_paint_cg doesn't fallback, so the usual mask
818     fallback path is now taken, as expected.
819
820  src/cairo-quartz-surface.c |    2 +-
821  1 file changed, 1 insertion(+), 1 deletion(-)
822
823 commit bdeade14ea86fb5f3ff17accd71711d2c40b1b33
824 Author: Andrea Canciani <ranma42@gmail.com>
825 Date:   Wed Jul 28 19:33:53 2010 +0200
826
827     quartz: fix stroking with unbounded operators
828     
829     Self-intersecting strokes were drawn incorrectly when an unbounded
830     operator was used, since the fixup operation also cleared the
831     intersection.
832     
833     Fixes clip-stroke-unbounded.
834
835  src/cairo-quartz-surface.c |   14 ++++++++------
836  1 file changed, 8 insertions(+), 6 deletions(-)
837
838 commit 8f38d2aa29bc0d69690cbf542c4a2b497b7a0c0a
839 Author: Andrea Canciani <ranma42@gmail.com>
840 Date:   Thu Jul 29 10:45:59 2010 +0200
841
842     test: improve clip-*-unbounded tests
843     
844     Merge clip-*-unbounded tests and add self-intersections to the paths
845     that are drawn. This exposes a bug in the unbounded fixup code in quartz.
846     
847     Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
848
849  test/Makefile.am                                   |   35 ++--
850  test/Makefile.sources                              |    3 +-
851  test/clip-draw-unbounded.c                         |  184 ++++++++++++++++++++
852  test/clip-fill-eo-unbounded.argb32.ref.png         |  Bin 0 -> 3668 bytes
853  test/clip-fill-eo-unbounded.image16.rgb24.ref.png  |  Bin 0 -> 2887 bytes
854  test/clip-fill-eo-unbounded.quartz.argb32.ref.png  |  Bin 0 -> 3366 bytes
855  test/clip-fill-eo-unbounded.quartz.rgb24.ref.png   |  Bin 0 -> 3061 bytes
856  test/clip-fill-eo-unbounded.rgb24.ref.png          |  Bin 0 -> 3201 bytes
857  test/clip-fill-eo-unbounded.svg12.rgb24.xfail.png  |  Bin 0 -> 3636 bytes
858  ...p-fill-eo-unbounded.xlib-fallback.rgb24.ref.png |  Bin 0 -> 3208 bytes
859  test/clip-fill-eo-unbounded.xlib.argb32.ref.png    |  Bin 0 -> 3693 bytes
860  test/clip-fill-eo-unbounded.xlib.rgb24.ref.png     |  Bin 0 -> 3198 bytes
861  test/clip-fill-nz-unbounded.argb32.ref.png         |  Bin 0 -> 3668 bytes
862  test/clip-fill-nz-unbounded.image16.rgb24.ref.png  |  Bin 0 -> 2887 bytes
863  test/clip-fill-nz-unbounded.quartz.argb32.ref.png  |  Bin 0 -> 3366 bytes
864  test/clip-fill-nz-unbounded.quartz.rgb24.ref.png   |  Bin 0 -> 3061 bytes
865  test/clip-fill-nz-unbounded.rgb24.ref.png          |  Bin 0 -> 3201 bytes
866  test/clip-fill-nz-unbounded.svg12.rgb24.xfail.png  |  Bin 0 -> 3636 bytes
867  ...p-fill-nz-unbounded.xlib-fallback.rgb24.ref.png |  Bin 0 -> 3208 bytes
868  test/clip-fill-nz-unbounded.xlib.argb32.ref.png    |  Bin 0 -> 3693 bytes
869  test/clip-fill-nz-unbounded.xlib.rgb24.ref.png     |  Bin 0 -> 3198 bytes
870  test/clip-fill-unbounded.argb32.ref.png            |  Bin 1607 -> 0 bytes
871  test/clip-fill-unbounded.c                         |  105 -----------
872  test/clip-fill-unbounded.image16.ref.png           |  Bin 1204 -> 0 bytes
873  test/clip-fill-unbounded.pdf.argb32.ref.png        |  Bin 1244 -> 0 bytes
874  test/clip-fill-unbounded.ps.argb32.xfail.png       |  Bin 1244 -> 0 bytes
875  test/clip-fill-unbounded.quartz.argb32.ref.png     |  Bin 1436 -> 0 bytes
876  test/clip-fill-unbounded.quartz.rgb24.ref.png      |  Bin 1368 -> 0 bytes
877  test/clip-fill-unbounded.rgb24.ref.png             |  Bin 1304 -> 0 bytes
878  test/clip-fill-unbounded.svg12.argb32.xfail.png    |  Bin 1601 -> 0 bytes
879  test/clip-fill-unbounded.svg12.rgb24.xfail.png     |  Bin 1601 -> 0 bytes
880  ...clip-fill-unbounded.xlib-fallback.rgb24.ref.png |  Bin 1438 -> 0 bytes
881  test/clip-fill-unbounded.xlib.argb32.ref.png       |  Bin 1759 -> 0 bytes
882  test/clip-fill-unbounded.xlib.rgb24.ref.png        |  Bin 1430 -> 0 bytes
883  test/clip-stroke-unbounded.argb32.ref.png          |  Bin 1694 -> 3545 bytes
884  test/clip-stroke-unbounded.c                       |  102 -----------
885  test/clip-stroke-unbounded.image16.ref.png         |  Bin 1255 -> 0 bytes
886  test/clip-stroke-unbounded.image16.rgb24.ref.png   |  Bin 0 -> 2778 bytes
887  test/clip-stroke-unbounded.pdf.argb32.xfail.png    |  Bin 1351 -> 0 bytes
888  test/clip-stroke-unbounded.ps.argb32.ref.png       |  Bin 1351 -> 0 bytes
889  test/clip-stroke-unbounded.quartz.argb32.ref.png   |  Bin 1493 -> 3362 bytes
890  test/clip-stroke-unbounded.quartz.rgb24.ref.png    |  Bin 1356 -> 3061 bytes
891  test/clip-stroke-unbounded.rgb24.ref.png           |  Bin 1372 -> 3063 bytes
892  test/clip-stroke-unbounded.svg12.argb32.xfail.png  |  Bin 1697 -> 0 bytes
893  test/clip-stroke-unbounded.svg12.rgb24.xfail.png   |  Bin 1697 -> 3569 bytes
894  ...ip-stroke-unbounded.xlib-fallback.rgb24.ref.png |  Bin 1437 -> 3123 bytes
895  test/clip-stroke-unbounded.xlib.argb32.ref.png     |  Bin 1785 -> 3620 bytes
896  test/clip-stroke-unbounded.xlib.rgb24.ref.png      |  Bin 1442 -> 3109 bytes
897  48 files changed, 204 insertions(+), 225 deletions(-)
898
899 commit 142df6f9638e10d0712e092d902f7670965a88f9
900 Author: Benjamin Otte <otte@redhat.com>
901 Date:   Fri Jul 30 22:04:44 2010 +0200
902
903     configure: Disable xml backend by default
904     
905     We don't want to enable it by default when nobody uses it.
906
907  boilerplate/Makefile.win32.features |    2 +-
908  build/Makefile.win32.features       |    2 +-
909  configure.ac                        |    2 +-
910  src/Makefile.win32.features         |    2 +-
911  4 files changed, 4 insertions(+), 4 deletions(-)
912
913 commit 9f33f8453b4949cfdc63169d3acd7238f89379c2
914 Author: Benjamin Otte <otte@redhat.com>
915 Date:   Fri Jul 30 21:48:14 2010 +0200
916
917     configure: Disable tee backend by default
918     
919     We don't want to enable it by default when nobody uses it.
920
921  boilerplate/Makefile.win32.features |    4 +++-
922  build/Makefile.win32.features       |    1 +
923  build/Makefile.win32.features-h     |    2 ++
924  configure.ac                        |    2 +-
925  src/Makefile.win32.features         |    8 +++++++-
926  src/cairo-surface.c                 |    4 ++++
927  test/api-special-cases.c            |    6 ++++++
928  7 files changed, 24 insertions(+), 3 deletions(-)
929
930 commit 9f4d677e2a6dd0bfbbbe20de39f92177bfdfc0e8
931 Author: Benjamin Otte <otte@redhat.com>
932 Date:   Fri Jul 30 22:15:55 2010 +0200
933
934     tee: Move definitions into separate header
935
936  src/Makefile.sources     |    6 +++--
937  src/cairo-tee-surface.c  |    2 ++
938  src/cairo-tee.h          |   66 ++++++++++++++++++++++++++++++++++++++++++++++
939  src/cairo.h              |   17 ------------
940  test/api-special-cases.c |    3 +++
941  5 files changed, 75 insertions(+), 19 deletions(-)
942
943 commit 14639e6b8525ada2cb93abb1d70dde827b7bf9e0
944 Author: Kristian Høgsberg <krh@bitplanet.net>
945 Date:   Thu Jun 17 18:29:48 2010 -0400
946
947     egl: Use EGL_KHR_surfaceless_opengl extension when available
948     
949     This lets us avoid creating a throwaway pbuffer just to make the
950     context current.
951
952  src/cairo-egl-context.c |   58 +++++++++++++++++++++++++++++++----------------
953  1 file changed, 38 insertions(+), 20 deletions(-)
954
955 commit b6fd673d37e1c8962d15c0e0e59322a2002fc399
956 Author: Chris Wilson <chris@chris-wilson.co.uk>
957 Date:   Mon Jul 26 13:15:38 2010 +0100
958
959     version: 1.9.15 post-snapshot bump
960
961  cairo-version.h |    2 +-
962  1 file changed, 1 insertion(+), 1 deletion(-)
963
964 commit ed8c6f42540f03a62fd64ad83b7c397528092232
965 Author: Chris Wilson <chris@chris-wilson.co.uk>
966 Date:   Mon Jul 26 12:53:44 2010 +0100
967
968     version: 1.9.14 snapshot
969
970  cairo-version.h |    2 +-
971  1 file changed, 1 insertion(+), 1 deletion(-)
972
973 commit 81094cf4622302ebaa9b3f328f5d2a56a1c07a64
974 Author: Chris Wilson <chris@chris-wilson.co.uk>
975 Date:   Mon Jul 26 12:52:56 2010 +0100
976
977     NEWS: 1.9.14
978
979  NEWS |   27 +++++++++++++++++++++++++++
980  1 file changed, 27 insertions(+)
981
982 commit c1fcbd0322f86327ddd89c2eef2facbc74045629
983 Author: Andrea Canciani <ranma42@gmail.com>
984 Date:   Mon Jul 26 11:21:48 2010 +0200
985
986     quartz: fix REFLECT radial gradients
987     
988     The interpolation range of repeating radial gradients can safely be
989     reflected around any integer (previously 0), but for reflect-extended
990     radial gradients can only be reflected around odd integers if the
991     appearance is to be the same, thus reflecting around 1 is correct for both.
992     
993     Fixes radial-gradient.
994
995  src/cairo-quartz-surface.c |    4 ++--
996  1 file changed, 2 insertions(+), 2 deletions(-)
997
998 commit 3898e46d1de19848efeddb442dcf7f7663530256
999 Author: Chris Wilson <chris@chris-wilson.co.uk>
1000 Date:   Fri Jul 23 09:41:48 2010 +0100
1001
1002     image: Compensate mask origins for glyph clipping
1003     
1004     Fixes the regression in bitmap-font and large-font pointed out by Andrea
1005     Canciani since ef067933.
1006
1007  src/cairo-image-surface.c |    2 +-
1008  1 file changed, 1 insertion(+), 1 deletion(-)
1009
1010 commit 53fcfc781eeee949abc03cf90048a2228f7e0a63
1011 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
1012 Date:   Wed Jul 21 22:39:40 2010 +0300
1013
1014     build: Typos in comments.
1015     
1016     Fix inline "dnl" strings left over from a string
1017     substitution "--" -> "dnl".
1018
1019  build/configure.ac.pthread |    8 ++++----
1020  1 file changed, 4 insertions(+), 4 deletions(-)
1021
1022 commit fd1e731c9d0af307ebde4d888866c95bd6ebe66d
1023 Author: Hib Eris <hib@hiberis.nl>
1024 Date:   Wed Jul 21 22:34:05 2010 +0300
1025
1026     build: Fix pthread detection code when there isn't one.
1027     
1028     The code was testing the output variable $use_pthread rather than
1029     the input variable $enable_pthread when checking that pthreads
1030     were actually found when requested.
1031
1032  build/configure.ac.pthread |    2 +-
1033  1 file changed, 1 insertion(+), 1 deletion(-)
1034
1035 commit 108b1c7825116ed3f93aa57384bbd3290cdc9181
1036 Author: Karl Tomlinson <karlt+@karlt.net>
1037 Date:   Sat Jul 17 13:08:53 2010 +1200
1038
1039     clip: consider gstate target extents in _cairo_gstate_copy_clip_rectangle_list
1040     
1041     Fixes https://bugs.freedesktop.org/show_bug.cgi?id=29125
1042     
1043     To be consistent with _cairo_gstate_clip_extents, the context's clip
1044     should be intersected with the target surface extents (instead of only
1045     using them when there is no clip).
1046     
1047     Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
1048
1049  src/cairo-clip.c   |   72 +++++++++++++++++++---------------------------------
1050  src/cairo-gstate.c |   14 +++++++++-
1051  test/get-clip.c    |   16 ++++++++++++
1052  3 files changed, 55 insertions(+), 47 deletions(-)
1053
1054 commit b79ea8a6cab8bd28aebecf6e1e8229d5ac017264
1055 Author: Karl Tomlinson <karlt+@karlt.net>
1056 Date:   Sat Jul 17 11:46:25 2010 +1200
1057
1058     clip: consider all_clipped in _cairo_clip_get_extents
1059     
1060     If the gstate clip in _cairo_gstate_int_clip_extents() has all_clipped
1061     set (and path NULL), then it returns the gstate target extents instead of
1062     an empty rectangle.  If the target is infinite, then it says the clip is
1063     unbounded.
1064     
1065     Fixes https://bugs.freedesktop.org/show_bug.cgi?id=29124
1066     Tested-by test/get-clip
1067     
1068     Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
1069
1070  src/cairo-clip.c |    5 +++++
1071  test/get-clip.c  |    5 ++++-
1072  2 files changed, 9 insertions(+), 1 deletion(-)
1073
1074 commit 6a5115901381fe9c81a8a311e267c2a00e2a1d04
1075 Author: Karl Tomlinson <karlt+@karlt.net>
1076 Date:   Sat Jul 17 10:47:42 2010 +1200
1077
1078     test: return CAIRO_TEST_FAILURE from get-clip preamble on failure
1079     
1080     https://bugs.freedesktop.org/show_bug.cgi?id=29120
1081
1082  test/get-clip.c |    5 +++++
1083  1 file changed, 5 insertions(+)
1084
1085 commit f2fa15680ec3ac95cb68d4957557f06561a7dc55
1086 Author: Karl Tomlinson <karlt+@karlt.net>
1087 Date:   Sat Jul 17 10:39:50 2010 +1200
1088
1089     clip: return empty clip from _cairo_clip_copy_rectangle_list when all_clipped
1090     
1091     Fixes https://bugs.freedesktop.org/show_bug.cgi?id=29122
1092     Tested by test/get-clip
1093     
1094     Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
1095
1096  src/cairo-clip.c |    5 ++++-
1097  1 file changed, 4 insertions(+), 1 deletion(-)
1098
1099 commit 33ac2035876aeb9215ca0bdaaeea5265fcee61f8
1100 Author: Karl Tomlinson <karlt+@karlt.net>
1101 Date:   Sat Jul 17 10:13:22 2010 +1200
1102
1103     test: use the surface size expected in get-clip phase "No clip set"
1104     
1105     https://bugs.freedesktop.org/show_bug.cgi?id=29121
1106
1107  test/get-clip.c |    8 +++++---
1108  1 file changed, 5 insertions(+), 3 deletions(-)
1109
1110 commit bac5c28a18af5d43c96f0b64d1c7235da3f02779
1111 Author: Chris Wilson <chris@chris-wilson.co.uk>
1112 Date:   Sat Jul 17 10:09:14 2010 +0100
1113
1114     boilerplate: Offset the xlib window
1115     
1116     An idea courtesy of Benjamin Otte is to stress the drivers a bit more by
1117     not rendering to 0,0. Under various circumstances rendering to a Window
1118     is mapped onto the Screen root Window with a collection of offsets and
1119     clips by X. It is easy for the driver to make a mistake and misrender...
1120
1121  boilerplate/cairo-boilerplate-xlib.c |    4 ++--
1122  1 file changed, 2 insertions(+), 2 deletions(-)
1123
1124 commit 51b0c21f02a8f0f5d7f44da05e49d7f8f3bf8bc7
1125 Author: Benjamin Otte <otte@redhat.com>
1126 Date:   Fri Jul 16 19:49:53 2010 +0200
1127
1128     build: Add explicit dependcy to cxx lib
1129     
1130     Otherwise the build will fail because it doesn't add the dependency
1131     manually.
1132     
1133     https://bugs.freedesktop.org/show_bug.cgi?id=29114
1134
1135  boilerplate/Makefile.am |    3 +++
1136  src/Makefile.am         |    2 +-
1137  2 files changed, 4 insertions(+), 1 deletion(-)
1138
1139 commit 6b92d5a0f9fce28f99b07177454da00f984fdb43
1140 Author: Oleg Romashin <romaxa@gmail.com>
1141 Date:   Fri Jul 16 09:47:23 2010 +0100
1142
1143     qt: Use native glyph rendering.
1144     
1145     Remove the hack of using the xlib surface to do glyph rendering and use
1146     the new interface introduced with Qt4.7, or else fallback to image
1147     rendering with freetype.
1148     
1149     Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
1150     [2 files changed, 35 insertions(+), 140 deletions(-) \o/]
1151
1152  src/cairo-qt-surface.cpp |  169 ++++++++++------------------------------------
1153  src/cairo-xlib-surface.c |    6 --
1154  2 files changed, 35 insertions(+), 140 deletions(-)
1155
1156 commit f53f072a223c3fbdeba315f5cba755cba498e121
1157 Author: Chris Wilson <chris@chris-wilson.co.uk>
1158 Date:   Mon Jul 12 18:53:29 2010 +0100
1159
1160     clip: Do the NULL check before the dereference.
1161     
1162     Breakage introduced in the commit earlier today.
1163
1164  src/cairo-clip.c |    3 ++-
1165  1 file changed, 2 insertions(+), 1 deletion(-)
1166
1167 commit ef0679333da881bd83b0bb4db546ea9c68f81f89
1168 Author: Chris Wilson <chris@chris-wilson.co.uk>
1169 Date:   Mon Jul 12 16:07:27 2010 +0100
1170
1171     image: Manually clip against bounds when rendering directly
1172     
1173     This is path is slightly peculiar in that it explicitly avoid the
1174     intermediate mask and the geometry is not pre-clipped.
1175     
1176     This in conjunction with the previous commit fixes:
1177     
1178       Clip doesn't work for text
1179       https://bugs.freedesktop.org/show_bug.cgi?id=29008
1180     
1181     which is captured in test/partial-clip-text.
1182
1183  src/cairo-image-surface.c |   23 +++++++++++++++++++----
1184  1 file changed, 19 insertions(+), 4 deletions(-)
1185
1186 commit 679e5a600bd7dae6cbde83070fb1f7355f8025a7
1187 Author: Chris Wilson <chris@chris-wilson.co.uk>
1188 Date:   Mon Jul 12 16:06:32 2010 +0100
1189
1190     Differentiate between reducing clip to composite extents and a rectangle
1191     
1192     This is required for handling glyphs when rendering directly to the
1193     surface.
1194
1195  src/cairo-clip-private.h         |    4 ++++
1196  src/cairo-clip.c                 |   22 +++++++++++++++-------
1197  src/cairo-gl-surface.c           |    4 ++--
1198  src/cairo-image-surface.c        |   10 +++++-----
1199  src/cairo-surface-fallback.c     |   10 +++++-----
1200  src/cairo-xcb-surface-render.c   |   10 +++++-----
1201  src/drm/cairo-drm-i915-glyphs.c  |    2 +-
1202  src/drm/cairo-drm-i915-surface.c |    8 ++++----
1203  src/drm/cairo-drm-i965-glyphs.c  |    2 +-
1204  src/drm/cairo-drm-i965-surface.c |    8 ++++----
1205  10 files changed, 46 insertions(+), 34 deletions(-)
1206
1207 commit 8546a877889bfafc056c867bc9aea25e9fdcdef0
1208 Author: Chris Wilson <chris@chris-wilson.co.uk>
1209 Date:   Mon Jul 12 16:27:29 2010 +0100
1210
1211     test: Add partial-clip-text
1212     
1213     This exercises a bug found by Igor Nikitin:
1214     
1215       https://bugs.freedesktop.org/show_bug.cgi?id=29008
1216
1217  test/Makefile.am                   |    3 +++
1218  test/Makefile.sources              |    1 +
1219  test/partial-clip-text.c           |   50 ++++++++++++++++++++++++++++++++++++
1220  test/partial-clip-text.ps.ref.png  |  Bin 0 -> 107 bytes
1221  test/partial-clip-text.ref.png     |  Bin 0 -> 175 bytes
1222  test/partial-clip-text.svg.ref.png |  Bin 0 -> 173 bytes
1223  6 files changed, 54 insertions(+)
1224
1225 commit 53ee897449dca497d6a3d6dc90b87fea8027cc44
1226 Author: Chris Wilson <chris@chris-wilson.co.uk>
1227 Date:   Mon Jul 12 12:37:31 2010 +0100
1228
1229     version: Post-snapshot bump to 1.9.13
1230
1231  cairo-version.h |    2 +-
1232  1 file changed, 1 insertion(+), 1 deletion(-)
1233
1234 commit aa4cd8287f47b4538e765e1b48dcbac19813a8a2
1235 Author: Chris Wilson <chris@chris-wilson.co.uk>
1236 Date:   Mon Jul 12 12:12:12 2010 +0100
1237
1238     version: 1.9.12 snapshot
1239
1240  cairo-version.h |    2 +-
1241  1 file changed, 1 insertion(+), 1 deletion(-)
1242
1243 commit 53b129dd8aecf4e2bd8b7d2cd27b91370c6705e9
1244 Author: Chris Wilson <chris@chris-wilson.co.uk>
1245 Date:   Mon Jul 12 12:11:42 2010 +0100
1246
1247     NEWS for 1.9.12.
1248
1249  NEWS |   56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1250  1 file changed, 56 insertions(+)
1251
1252 commit 01380f3a56b28a388d2876780f33516ecd16ee16
1253 Author: Chris Wilson <chris@chris-wilson.co.uk>
1254 Date:   Mon Jul 12 11:49:53 2010 +0100
1255
1256     test: Missing REFERENCE_IMAGES
1257
1258  test/Makefile.am |    3 +++
1259  1 file changed, 3 insertions(+)
1260
1261 commit 459b8ae660eb49a87ffb9da31f305718a2b4f11f
1262 Author: Chris Wilson <chris@chris-wilson.co.uk>
1263 Date:   Mon Jul 12 11:05:57 2010 +0100
1264
1265     Make distcheck happy.
1266
1267  src/cairo-fontconfig-private.h |    2 ++
1268  src/cairo-skia.h               |    2 +-
1269  src/glew/GL/glew.h             |    2 ++
1270  src/glew/GL/glxew.h            |    2 ++
1271  test/api-special-cases.c       |    5 +++--
1272  5 files changed, 10 insertions(+), 3 deletions(-)
1273
1274 commit d56b1718025f8b2354b5b1eb99af41df70a6c590
1275 Author: Andrea Canciani <ranma42@gmail.com>
1276 Date:   Mon Jul 12 10:36:24 2010 +0200
1277
1278     test: Add halo quartz reference images
1279     
1280     When quartz-font is enabled, halo and halo-transform fonts have a
1281     different shape.
1282
1283  test/halo-transform.quartz.ref.png |  Bin 0 -> 14360 bytes
1284  test/halo.quartz.ref.png           |  Bin 0 -> 8601 bytes
1285  2 files changed, 0 insertions(+), 0 deletions(-)
1286
1287 commit 9107895789fc721ee6ea2ccb2ce3ab99fb978caa
1288 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
1289 Date:   Mon Jul 12 11:03:15 2010 +0300
1290
1291     test: Add comments explaining the bug in bug-seams.
1292     
1293     Where two rasterization methods meet, havoc occurs.
1294
1295  test/bug-seams.c |   22 ++++++++++++++++++++++
1296  1 file changed, 22 insertions(+)
1297
1298 commit 0152db263b9b12547fadb5d080913fcbb696d34e
1299 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
1300 Date:   Mon Jul 12 10:36:00 2010 +0300
1301
1302     build: Sync up autogenerated win32 build files.
1303
1304  boilerplate/Makefile.win32.features |    9 +++++++++
1305  build/Makefile.win32.features       |    1 +
1306  build/Makefile.win32.features-h     |    3 +++
1307  src/Makefile.win32.features         |    9 +++++++++
1308  4 files changed, 22 insertions(+)
1309
1310 commit 06ffb7df716652baba96960cd59e1a59f4bd1ac1
1311 Author: Eric Anholt <eric@anholt.net>
1312 Date:   Sat Jul 10 14:19:50 2010 -0700
1313
1314     gl: Only use a mat3 for the transformation for gradients coordinates.
1315     
1316     No point in passing in a column of zeroes that we multiply by zero, or
1317     the row that we drop on the floor.  We could do even better by just
1318     passing in a 3x2, at the expense of adding a language version
1319     dependency (or just pass in 2 vectors).
1320     
1321     No significant performance difference.
1322
1323  src/cairo-gl-shaders.c |   28 +++++++++++++---------------
1324  1 file changed, 13 insertions(+), 15 deletions(-)
1325
1326 commit 1e7485f8e5b6fd9b26f06838d8e7a35e073c394b
1327 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
1328 Date:   Mon Jul 12 00:23:11 2010 +0300
1329
1330     trace: Avoid stdbool.h C99ism.
1331     
1332     There is no <stdbool.h> on old Solaris without invoking
1333     c99 mode explicitly.
1334
1335  util/cairo-trace/trace.c |  184 +++++++++++++++++++++++-----------------------
1336  1 file changed, 94 insertions(+), 90 deletions(-)
1337
1338 commit 97529a3713d899468fb3ca7a1c3f75a09bd1b215
1339 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
1340 Date:   Sun Jul 11 23:54:21 2010 +0300
1341
1342     build: Avoid shifting shell parameters that aren't there.
1343     
1344     The shift primitive of the Solaris 9 Bourne shell doesn't like
1345     it if we try to shift more formal arguments than are there.
1346     This causes the compare_versions function in autogen.sh to croak when
1347     the actual and compared versions differ in the number of
1348     components.
1349
1350  autogen.sh |    3 ++-
1351  1 file changed, 2 insertions(+), 1 deletion(-)
1352
1353 commit dd6026b613aa5414a128727995f2a4f79284072a
1354 Author: Benjamin Otte <otte@redhat.com>
1355 Date:   Sun Jul 11 20:44:40 2010 +0200
1356
1357     doc: Make the necessity of flush/mark_dirty more obvious
1358
1359  src/cairo-surface.c |   32 ++++++++++++++++++++++++++++++++
1360  1 file changed, 32 insertions(+)
1361
1362 commit 8a1944f45b9c9056088246d4f2e72d60a59fd5c4
1363 Author: Benjamin Otte <otte@redhat.com>
1364 Date:   Sun Jul 11 19:11:15 2010 +0200
1365
1366     check: Allow unprefix type names in the title
1367     
1368     Some documentation sections use the type name as the title, and we don't
1369     want to use that title as a link.
1370
1371  src/check-doc-syntax.sh |    4 +---
1372  1 file changed, 1 insertion(+), 3 deletions(-)
1373
1374 commit f0466ecf7db859a80b779b7fb4381e3c9409c39b
1375 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
1376 Date:   Sun Jul 11 21:57:40 2010 +0300
1377
1378     build: Fix typo in pthread test program.
1379     
1380     Missing a semicolon after pthread_cleanup_push.  Incredibly
1381     only openbsd 4.5 minded.
1382
1383  build/configure.ac.pthread |    2 +-
1384  1 file changed, 1 insertion(+), 1 deletion(-)
1385
1386 commit 3f1d7de8e1620ad385930477b63454107dd8ffd3
1387 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
1388 Date:   Sun Jul 11 17:29:07 2010 +0300
1389
1390     build: Fix regression provoked by newer autoconf and dodgy configuring.
1391     
1392     We're not supposed to be redefining PACKAGE_VERSION, PACKAGE_...
1393     from the configure generated confdefs.h.  This patch rudely adds
1394     paper over the problem.  The compiler warnings are a problem for
1395     us since our checking of various compiler flags assumes that
1396     no news is good news, and that any warning messages are due
1397     to the flags under test.  The regression appears when using
1398     an autoconf >= 2.64, at least, but not with 2.61.
1399     
1400     The same issue appears in the pthread test because our conftest
1401     unconditionally #defines _GNU_SOURCE, but autoconf ends up doing
1402     that in the confdefs.h.
1403
1404  build/configure.ac.noversion |   13 ++++++++++++-
1405  build/configure.ac.pthread   |    2 ++
1406  2 files changed, 14 insertions(+), 1 deletion(-)
1407
1408 commit fca8977219b857e2e61dd86ac39ae9f40086f306
1409 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
1410 Date:   Sun Jun 27 03:03:17 2010 +0300
1411
1412     build: Rework pthread detection.
1413     
1414     Use two levels of pthread support: a minimal level used to
1415     build cairo itself, and a full level to build threaded apps
1416     which want to use cairo.  The minimal level tries to use
1417     pthread stubs from libc if possible, but falls back to the
1418     full level if that's not possible.  We use CFLAGS=-D_REENTRANT
1419     LIBS=-lpthread to find a real pthread library since that seems
1420     to work on every unix-like test box we can get our hands on.
1421
1422  build/ax-pthread.m4           |  283 -----------------------------------------
1423  build/configure.ac.pthread    |  251 ++++++++++++++++++++++++++++++++++++
1424  configure.ac                  |   47 +++----
1425  test/Makefile.am              |   16 +--
1426  test/cairo-test-trace.c       |   10 +-
1427  test/cairo-test.c             |    6 +-
1428  util/cairo-sphinx/Makefile.am |    3 +-
1429  util/cairo-sphinx/sphinx.c    |    4 +
1430  util/cairo-trace/Makefile.am  |    4 +-
1431  9 files changed, 291 insertions(+), 333 deletions(-)
1432
1433 commit 47c35e5e86a3c99fc39afe2e13a7c92d5247ee1e
1434 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
1435 Date:   Sun Jun 27 01:14:03 2010 +0300
1436
1437     build: Purge CAIRO_CC_TRY_LINK_FLAG.
1438     
1439     Use CAIRO_CC_TRY_FLAG instead in the one place where we used
1440     CAIRO_CC_TRY_LINK_FLAG and make the build system one macro
1441     smaller.
1442
1443  build/aclocal.cairo.m4      |   21 ---------------------
1444  build/configure.ac.warnings |    2 +-
1445  2 files changed, 1 insertion(+), 22 deletions(-)
1446
1447 commit d2f5592e0e0d316cfc40ec676ee6e7f4e2a699fb
1448 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
1449 Date:   Sun Jun 27 01:11:13 2010 +0300
1450
1451     build: Factor out a more pliable CAIRO_CC_TRY_LINK_WITH_ENV_SILENT.
1452     
1453     Introduce a new CAIRO_CC_TRY_LINK_WITH_ENV_SILENT macro for running
1454     generic link tests with arbitrary CFLAGS/LIBS/LDFLAGS and no muttering
1455     of autoconf messages.  Rewrite the previous CAIRO_CC_TRY_FLAG in terms
1456     of it.
1457
1458  build/aclocal.cairo.m4 |   31 +++++++++++++++++++++++++------
1459  1 file changed, 25 insertions(+), 6 deletions(-)
1460
1461 commit 120b78ada7eed6424f07a688854657d0c3ad68f8
1462 Author: Benjamin Otte <otte@redhat.com>
1463 Date:   Sun Jul 11 18:48:38 2010 +0200
1464
1465     build: Split boilerplate lib generation into two so's
1466     
1467     Same thing as what was previously done for libcairo.so: Build an
1468     intermediate lib for the (potential) C++ stuff.
1469
1470  boilerplate/Makefile.am      |   31 ++++++++++++++++++++++++-------
1471  boilerplate/Makefile.sources |    7 ++-----
1472  2 files changed, 26 insertions(+), 12 deletions(-)
1473
1474 commit d6362a0d76753cb6f85f0dbd567a3ec7b7b08696
1475 Author: Benjamin Otte <otte@redhat.com>
1476 Date:   Sun Jul 11 16:01:44 2010 +0200
1477
1478     qt: Define cairo-qt's API as C symbols
1479     
1480     That way, the C linker doesn't mess up when linking libcairo.so.
1481
1482  src/cairo-qt.h |   12 ++++--------
1483  1 file changed, 4 insertions(+), 8 deletions(-)
1484
1485 commit 5d4a4775c8b091b947b52cc8f7e1e48a5eaea007
1486 Author: Benjamin Otte <otte@redhat.com>
1487 Date:   Sun Jul 11 15:41:56 2010 +0200
1488
1489     build: Fix typo that makes C++ libs not build
1490
1491  src/Makefile.am |    2 +-
1492  1 file changed, 1 insertion(+), 1 deletion(-)
1493
1494 commit 9b9952ab4f64a476bbadfd3e6cf1e66c1137ccd7
1495 Author: Chris Wilson <chris@chris-wilson.co.uk>
1496 Date:   Sat Jul 10 11:13:07 2010 +0100
1497
1498     Convert mime data length to use unsigned long
1499     
1500     What we want to use is size_t, but we don't want the implied POSIX
1501     dependency. However, POSIX does say that size_t is an unsigned integer
1502     that is no longer than a long, so it would appear safe to use an
1503     unsigned long as a replacement. Safer at least than unsigned int.
1504
1505  src/cairo-image-info-private.h     |    6 +++---
1506  src/cairo-image-info.c             |    4 ++--
1507  src/cairo-output-stream-private.h  |    2 +-
1508  src/cairo-output-stream.c          |    2 +-
1509  src/cairo-pdf-surface.c            |   18 +++++++++---------
1510  src/cairo-png.c                    |    2 +-
1511  src/cairo-ps-surface.c             |    2 +-
1512  src/cairo-script-surface.c         |    6 +++---
1513  src/cairo-surface.c                |    4 ++--
1514  src/cairo-svg-surface.c            |    6 +++---
1515  src/cairo-types-private.h          |    2 +-
1516  src/cairo-win32-printing-surface.c |   10 +++++-----
1517  src/cairo.h                        |    4 ++--
1518  util/cairo-trace/trace.c           |    6 +++---
1519  14 files changed, 37 insertions(+), 37 deletions(-)
1520
1521 commit eb85ab998b606144daf025285968a5d6031b9aa6
1522 Author: Chris Wilson <chris@chris-wilson.co.uk>
1523 Date:   Sat Jul 10 10:43:40 2010 +0100
1524
1525     subsurface: Don't assume we ever own the target.
1526     
1527     Andrea pointed out that snapshots can be shared, and so the subsurface
1528     should not be calling finish even on a snapshot.
1529
1530  src/cairo-surface-subsurface-private.h |    1 -
1531  src/cairo-surface-subsurface.c         |   17 ++++++++---------
1532  2 files changed, 8 insertions(+), 10 deletions(-)
1533
1534 commit 59c83117d77f58e9cb64aaa6b572fab62fb31c6b
1535 Author: Benjamin Otte <otte@redhat.com>
1536 Date:   Fri Jul 9 18:55:11 2010 +0200
1537
1538     build: Commit new versions of autogenerate Windows build files
1539     
1540     The recent commits to the build system changed a bunch of stuff in
1541     there, so update the files.
1542
1543  boilerplate/Makefile.win32.features |   92 +++++++++++++++++++++++++++++++----
1544  build/Makefile.win32.features-h     |    1 -
1545  src/Makefile.win32.features         |   92 +++++++++++++++++++++++++++++++----
1546  3 files changed, 164 insertions(+), 21 deletions(-)
1547
1548 commit bf117e4ea7c89dadcb5a358bb47c0f213cc67461
1549 Author: Benjamin Otte <otte@redhat.com>
1550 Date:   Fri Jul 9 18:43:38 2010 +0200
1551
1552     build: fix glew include
1553     
1554     Currently wether internal glew is built is dependant on wether the
1555     tarball in use was built with internal glew or not. And that's not how
1556     it should be.
1557
1558  configure.ac         |    8 ++++----
1559  src/Makefile.sources |   11 +++++++----
1560  2 files changed, 11 insertions(+), 8 deletions(-)
1561
1562 commit 0bd704bd1e92b274209aeda6de88c7e75ffa81be
1563 Author: Benjamin Otte <otte@redhat.com>
1564 Date:   Fri Jul 9 17:15:02 2010 +0200
1565
1566     build: Remove wrong flags from libcairo_cxx.la
1567     
1568     They're useful for the final so, but not for an intermediate noinst lib.
1569
1570  src/Makefile.am |    2 +-
1571  1 file changed, 1 insertion(+), 1 deletion(-)
1572
1573 commit faceffd5beb4297299175945660522d8f1f5f2cb
1574 Author: Benjamin Otte <otte@redhat.com>
1575 Date:   Fri Jul 9 16:58:18 2010 +0200
1576
1577     build: copy/paste failure: Don't build libcxx.la
1578
1579  src/Makefile.am |    2 +-
1580  1 file changed, 1 insertion(+), 1 deletion(-)
1581
1582 commit dbb386d3c0aa9e7534d333cf3dbcfc2aaeac05d3
1583 Author: Benjamin Otte <otte@redhat.com>
1584 Date:   Fri Jul 9 12:49:10 2010 +0200
1585
1586     gl: Use unsigned int instead of GLuint
1587     
1588     GLuint is not defined in cairo-gl.h. If unsigned int is not compatible
1589     enough to GLuint, we might consider to use #include <GL/gl.h> instead.
1590
1591  src/cairo-gl-surface.c |    2 +-
1592  src/cairo-gl.h         |    3 ++-
1593  2 files changed, 3 insertions(+), 2 deletions(-)
1594
1595 commit f7fc8569a797356d5e93ad67aae4eca31e6835cd
1596 Author: Benjamin Otte <otte@redhat.com>
1597 Date:   Fri Jul 9 12:29:35 2010 +0200
1598
1599     build: Fix C++ issues with automake
1600     
1601     This is an attempt to fix the broken situation we've been in where
1602     automake links libcairo.la with c++ because it might potentially maybe
1603     include C++ files.
1604     
1605     Those potential files only exist in Chris' throwaway backends (skia, qt)
1606     and the BeOS backend, so for 99.99% of cases, these backends are not
1607     needed and linking with c++ is overkill. Also, no one wants to have
1608     libcairo.so link to libstdc++.
1609     
1610     This patch fixes that in mutliple steps:
1611     1) Add build infrastructure to distinguish between C and C++ backends.
1612        This is done by allowing to specify backend_sources as well as
1613        backend_cxx_sources variables in Makefile.sources.
1614     2) Optionally build a libcairo_cxx.la noinst library
1615        This intermediate library is built for C++ backends only and therefor
1616        linked using c++. It is then linked into the final libcairo.la. This
1617        does not require c++, so the linking of libcairo.la is done with cc.
1618     
1619     This also works around various weirdnesses that the current build system
1620     exposes, where it assumes cisms when in fact using c++ semantics, like
1621     not detecting c++ properly or:
1622     https://bugzilla.redhat.com/show_bug.cgi?id=606523
1623
1624  build/configure.ac.features |    7 ++++++-
1625  configure.ac                |   10 ++++++++++
1626  src/Makefile.am             |   20 +++++++++++++++++++-
1627  src/Makefile.am.analysis    |    4 ++--
1628  src/Makefile.sources        |    6 +++---
1629  5 files changed, 40 insertions(+), 7 deletions(-)
1630
1631 commit df6d49f6eaf334d5a2de8bdd90919278071ab868
1632 Author: Benjamin Otte <otte@redhat.com>
1633 Date:   Fri Jul 9 10:29:30 2010 +0200
1634
1635     build: Get rid of $(foo_files) Makefile.am variables
1636     
1637     They're unused, and less variables make the build system easier to
1638     understand.
1639
1640  build/configure.ac.features |    1 -
1641  src/Makefile.am             |    1 -
1642  2 files changed, 2 deletions(-)
1643
1644 commit ce530b2802683fe6c5289367ef03018f4081a2da
1645 Author: Benjamin Otte <otte@redhat.com>
1646 Date:   Fri Jul 9 04:24:51 2010 +0200
1647
1648     doc: Add "@Since: 1.10" tags to device docs
1649
1650  src/cairo-device.c |   14 ++++++++++++++
1651  src/cairo.h        |    2 ++
1652  2 files changed, 16 insertions(+)
1653
1654 commit c1fed693020c96126cdc697ddd22567398369b04
1655 Author: Benjamin Otte <otte@redhat.com>
1656 Date:   Fri Jul 9 04:20:42 2010 +0200
1657
1658     gl: Remove double ** from some comments
1659     
1660     gtk-doc doesn't like that unless it's a real gtk-doc comment.
1661     And it wasn't.
1662
1663  src/cairo-gl-composite.c |    4 ++--
1664  1 file changed, 2 insertions(+), 2 deletions(-)
1665
1666 commit 5c73b371ae31f230210987941eec2db49d2e02be
1667 Author: Benjamin Otte <otte@redhat.com>
1668 Date:   Fri Jul 9 04:20:06 2010 +0200
1669
1670     doc: Document remaining cairo-device functions
1671
1672  src/cairo-device.c |   32 ++++++++++++++++++++++++++++++++
1673  1 file changed, 32 insertions(+)
1674
1675 commit 9877c1932a44f7e5300d6fcd99c19748aa5a4828
1676 Author: Benjamin Otte <otte@redhat.com>
1677 Date:   Fri Jul 9 03:52:45 2010 +0200
1678
1679     doc: Add more documentation for devices
1680     
1681     Add general docs and document acquire/release. I'm not happy with the
1682     documentation yet. In particular, I have 2 issues:
1683     1) The threading guarantees Cairo provides are missing.
1684     2) There's no docs on which Cairo functions do acquire devices.
1685     
1686     I guess I'll have to fix them later.
1687
1688  src/cairo-device.c |   86 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1689  1 file changed, 86 insertions(+)
1690
1691 commit 739d6e35fa5632b80b888d6475f2fdb6be6054a6
1692 Author: Benjamin Otte <otte@redhat.com>
1693 Date:   Fri Jul 9 03:04:27 2010 +0200
1694
1695     doc: Clarify that cairo_surface_get_device() can return NULL
1696
1697  src/cairo-surface.c |    3 ++-
1698  1 file changed, 2 insertions(+), 1 deletion(-)
1699
1700 commit 65d0590b041835fb466f4a7073910ef1383d9e77
1701 Author: Benjamin Otte <otte@redhat.com>
1702 Date:   Fri Jul 9 02:23:13 2010 +0200
1703
1704     doc: Copy docs for standard device APIs
1705     
1706     Copied from the surface equivalents
1707
1708  src/cairo-device.c |   42 ++++++++++++++++++++++++++++++++++++++++++
1709  1 file changed, 42 insertions(+)
1710
1711 commit 8a08b6fa5288f376688730c66ae9219d01180f42
1712 Author: Benjamin Otte <otte@redhat.com>
1713 Date:   Fri Jul 9 02:21:00 2010 +0200
1714
1715     doc: Remove the <TITLE> declarations
1716     
1717     This information was duplicated. It exists as the "@Title" of the
1718     SECTION inline documentation already.
1719
1720  doc/public/cairo-sections.txt |   28 ----------------------------
1721  1 file changed, 28 deletions(-)
1722
1723 commit 5e76bc6deb9fd4dc7a0f9181d3941ba55ce89c56
1724 Author: Benjamin Otte <otte@redhat.com>
1725 Date:   Fri Jul 9 01:10:24 2010 +0200
1726
1727     doc: Add missing region documentation
1728
1729  src/cairo-region.c |   25 +++++++++++++++++++++++++
1730  src/cairo.h        |   13 +++++++++++++
1731  2 files changed, 38 insertions(+)
1732
1733 commit 57da730d286f643c8f68b445907f7cdd1f53e5de
1734 Author: Benjamin Otte <otte@redhat.com>
1735 Date:   Thu Jul 8 23:44:35 2010 +0200
1736
1737     doc: Fix a syntax issue in quartz-font gtkdoc
1738     
1739     A missing empty line caused the long description to be part of
1740     @See_Also. Ooops.
1741
1742  src/cairo-quartz-font.c |    1 +
1743  1 file changed, 1 insertion(+)
1744
1745 commit fb03eba44f1ae7dd76dd3db82bfb55b06b0932ae
1746 Author: Andrea Canciani <ranma42@gmail.com>
1747 Date:   Thu Jul 8 20:06:08 2010 +0200
1748
1749     test: Add quartz functions to api-special-cases test
1750
1751  test/api-special-cases.c |   19 +++++++++++++++++++
1752  1 file changed, 19 insertions(+)
1753
1754 commit 59aab0bdc24838252850034cee36ed756f3c3e2a
1755 Author: Andrea Canciani <ranma42@gmail.com>
1756 Date:   Thu Jul 8 20:05:13 2010 +0200
1757
1758     test: fix typo
1759
1760  test/api-special-cases.c |    2 +-
1761  1 file changed, 1 insertion(+), 1 deletion(-)
1762
1763 commit b870cc030d8e0eb6309695e5a101c802f688cf40
1764 Author: Benjamin Otte <otte@redhat.com>
1765 Date:   Thu Jul 8 13:05:18 2010 +0200
1766
1767     doc: Move tmpl/ docs to inline docs
1768     
1769     I did this manually so I could review the docs at the same time.
1770     If anyone finds typos or other mistakes I did, please complain to me (or
1771     better: fix them).
1772
1773  doc/public/cairo-sections.txt           |    4 +-
1774  doc/public/tmpl/.gitignore              |    3 -
1775  doc/public/tmpl/cairo-atsui.sgml        |   21 -
1776  doc/public/tmpl/cairo-beos.sgml         |   22 -
1777  doc/public/tmpl/cairo-font-face.sgml    |  116 ------
1778  doc/public/tmpl/cairo-font-options.sgml |  199 ---------
1779  doc/public/tmpl/cairo-ft.sgml           |   87 ----
1780  doc/public/tmpl/cairo-image.sgml        |  127 ------
1781  doc/public/tmpl/cairo-matrix.sgml       |  169 --------
1782  doc/public/tmpl/cairo-paths.sgml        |  263 ------------
1783  doc/public/tmpl/cairo-pattern.sgml      |  350 ----------------
1784  doc/public/tmpl/cairo-pdf.sgml          |  101 -----
1785  doc/public/tmpl/cairo-png.sgml          |   96 -----
1786  doc/public/tmpl/cairo-ps.sgml           |  144 -------
1787  doc/public/tmpl/cairo-quartz-fonts.sgml |   52 ---
1788  doc/public/tmpl/cairo-quartz.sgml       |   64 ---
1789  doc/public/tmpl/cairo-scaled-font.sgml  |  227 -----------
1790  doc/public/tmpl/cairo-status.sgml       |   98 -----
1791  doc/public/tmpl/cairo-surface.sgml      |  326 ---------------
1792  doc/public/tmpl/cairo-svg.sgml          |   91 -----
1793  doc/public/tmpl/cairo-text.sgml         |  319 ---------------
1794  doc/public/tmpl/cairo-transforms.sgml   |  132 ------
1795  doc/public/tmpl/cairo-types.sgml        |   43 --
1796  doc/public/tmpl/cairo-user-fonts.sgml   |  169 --------
1797  doc/public/tmpl/cairo-version.sgml      |  205 ----------
1798  doc/public/tmpl/cairo-win32-fonts.sgml  |  106 -----
1799  doc/public/tmpl/cairo-win32.sgml        |  101 -----
1800  doc/public/tmpl/cairo-xcb-xrender.sgml  |   26 --
1801  doc/public/tmpl/cairo-xcb.sgml          |   26 --
1802  doc/public/tmpl/cairo-xlib-xrender.sgml |   60 ---
1803  doc/public/tmpl/cairo-xlib.sgml         |  147 -------
1804  doc/public/tmpl/cairo.sgml              |  674 -------------------------------
1805  src/cairo-beos-surface.cpp              |   10 +
1806  src/cairo-font-face.c                   |   17 +
1807  src/cairo-font-options.c                |   12 +
1808  src/cairo-ft-font.c                     |   25 ++
1809  src/cairo-image-surface.c               |   21 +
1810  src/cairo-matrix.c                      |   23 ++
1811  src/cairo-misc.c                        |   20 +
1812  src/cairo-path.c                        |    9 +
1813  src/cairo-pattern.c                     |   17 +
1814  src/cairo-pdf-surface.c                 |   17 +
1815  src/cairo-png.c                         |   18 +
1816  src/cairo-ps-surface.c                  |   17 +
1817  src/cairo-quartz-font.c                 |   17 +
1818  src/cairo-quartz-surface.c              |   17 +
1819  src/cairo-scaled-font.c                 |   10 +
1820  src/cairo-surface.c                     |   47 +++
1821  src/cairo-svg-surface.c                 |   17 +
1822  src/cairo-types-private.h               |    8 +
1823  src/cairo-user-font.c                   |   22 +
1824  src/cairo-version.c                     |  156 +++++++
1825  src/cairo-win32-font.c                  |   17 +
1826  src/cairo-win32-surface.c               |   24 ++
1827  src/cairo-xcb-surface-render.c          |   13 +
1828  src/cairo-xcb-surface.c                 |   13 +
1829  src/cairo-xlib-surface.c                |   40 ++
1830  src/cairo.c                             |   57 +++
1831  58 files changed, 666 insertions(+), 4566 deletions(-)
1832
1833 commit 65a1e351330106ee0af9f6f0df06b82954341ee6
1834 Author: Benjamin Otte <otte@redhat.com>
1835 Date:   Thu Jul 8 03:28:05 2010 +0200
1836
1837     doc: Remove CAIRO_FORMAT_RGB16_565 from hidden symbols list
1838     
1839     It's part of the cairo_format_t documentation now.
1840
1841  doc/public/cairo-sections.txt |    1 -
1842  1 file changed, 1 deletion(-)
1843
1844 commit e7594aebce6007bfa2027ba2655875db6c036e73
1845 Author: Benjamin Otte <otte@redhat.com>
1846 Date:   Thu Jul 8 03:21:45 2010 +0200
1847
1848     doc: Fix some consistency issues that confuse gtk-doc
1849
1850  src/cairo-region.c |   16 +++++++++++++---
1851  src/cairo.h        |   16 ++++++++++++++--
1852  2 files changed, 27 insertions(+), 5 deletions(-)
1853
1854 commit da2663a0aa1e3f0a6b2f6ae2e9952ac27dec3f5d
1855 Author: Benjamin Otte <otte@redhat.com>
1856 Date:   Thu Jul 8 03:14:42 2010 +0200
1857
1858     doc: Add list of new symbol in Cairo 1.10
1859
1860  doc/public/cairo-docs.xml |    3 +++
1861  1 file changed, 3 insertions(+)
1862
1863 commit a106aa86a3267b4886f7eabdc4b07bb394e11531
1864 Author: Benjamin Otte <otte@redhat.com>
1865 Date:   Thu Jul 8 03:13:20 2010 +0200
1866
1867     doc: add --name-space option to gtkdoc-mkdb
1868     
1869     This sorts function names in new symbols lists way better.
1870
1871  doc/public/Makefile.am |    2 +-
1872  1 file changed, 1 insertion(+), 1 deletion(-)
1873
1874 commit 71d17e4b1f1cb83bc605d72d8419d4bfb824c828
1875 Author: Benjamin Otte <otte@redhat.com>
1876 Date:   Thu Jul 8 02:42:39 2010 +0200
1877
1878     drm: Fix Makefile for drm_xr
1879     
1880     Use cairo_drm_xr_sources/headers for the drm_xr stuff. This makes it
1881     work correctly in gtk-doc instead of conditionally adding it to
1882     cairo_drm_sources/headers.
1883
1884  src/Makefile.sources |   10 ++++------
1885  1 file changed, 4 insertions(+), 6 deletions(-)
1886
1887 commit 4b3e488cebeeace02eae1164ed12caa93d7c5847
1888 Author: Benjamin Otte <otte@redhat.com>
1889 Date:   Thu Jul 8 02:42:06 2010 +0200
1890
1891     skia: Add cairo-skia.h as a public header
1892
1893  src/Makefile.sources |    2 +-
1894  1 file changed, 1 insertion(+), 1 deletion(-)
1895
1896 commit 2a546286da5fe7203846d99a4a3d732c73e62db5
1897 Author: Benjamin Otte <otte@redhat.com>
1898 Date:   Thu Jul 8 02:20:17 2010 +0200
1899
1900     doc: Add a section about regions
1901
1902  doc/public/cairo-docs.xml     |    1 +
1903  doc/public/cairo-sections.txt |   30 ++++++++++++++++++++++++++++++
1904  2 files changed, 31 insertions(+)
1905
1906 commit ab1f6d1af7c0e47077013edd58e93fa9fc6f2b5c
1907 Author: Benjamin Otte <otte@redhat.com>
1908 Date:   Thu Jul 8 01:41:27 2010 +0200
1909
1910     doc: Add missing surface APIs
1911
1912  doc/public/cairo-sections.txt |    2 ++
1913  1 file changed, 2 insertions(+)
1914
1915 commit 90bf273a38856d178e90721168b8b076f79fbf38
1916 Author: Benjamin Otte <otte@redhat.com>
1917 Date:   Thu Jul 8 01:39:37 2010 +0200
1918
1919     doc: Add a section for cairo_device_t
1920
1921  doc/public/cairo-docs.xml     |    1 +
1922  doc/public/cairo-sections.txt |   18 ++++++++++++++++++
1923  2 files changed, 19 insertions(+)
1924
1925 commit 60e4f28d091df8ac6b898448eb52fae9ca920d5d
1926 Author: Benjamin Otte <otte@redhat.com>
1927 Date:   Thu Jul 8 01:39:07 2010 +0200
1928
1929     doc: Add cairo_in_clip() to cairo_t section
1930
1931  doc/public/cairo-sections.txt |    1 +
1932  1 file changed, 1 insertion(+)
1933
1934 commit 6843186b729b20acddccd36184d2c5a7b5525d2e
1935 Author: Benjamin Otte <otte@redhat.com>
1936 Date:   Thu Jul 8 01:38:43 2010 +0200
1937
1938     doc: Add cairo_rectangle_int_t to the general types list
1939
1940  doc/public/cairo-sections.txt |    1 +
1941  1 file changed, 1 insertion(+)
1942
1943 commit c54dff82d3055529b7663dcff7a970cae919a9e0
1944 Author: Benjamin Otte <otte@redhat.com>
1945 Date:   Thu Jul 8 01:33:42 2010 +0200
1946
1947     glew: The headers are private, not public
1948
1949  src/Makefile.sources |    2 +-
1950  1 file changed, 1 insertion(+), 1 deletion(-)
1951
1952 commit 4252e3b8f915fc23611f1a667bf7bc1bb6a21dfd
1953 Author: Benjamin Otte <otte@redhat.com>
1954 Date:   Thu Jul 8 01:32:25 2010 +0200
1955
1956     doc: Add drm and glew to the ignored directories
1957     
1958     This reduces the number of unused symbols to a reasonable size. ;)
1959
1960  doc/public/Makefile.am |    2 ++
1961  1 file changed, 2 insertions(+)
1962
1963 commit 729d00341c26d46d82359014df97472a469e49a4
1964 Author: Benjamin Otte <otte@redhat.com>
1965 Date:   Thu Jul 8 13:57:43 2010 +0200
1966
1967     gl: Fix compile error after rebase failure
1968
1969  src/cairo-gl-surface.c |    2 +-
1970  1 file changed, 1 insertion(+), 1 deletion(-)
1971
1972 commit 292423c73376a7f9b84c9e3e578c242f486e921b
1973 Author: Colin Walters <walters@verbum.org>
1974 Date:   Wed Jul 7 15:46:33 2010 -0400
1975
1976     Support NOCONFIGURE environment variable
1977     
1978     This is taken from gnome-common; it can be convenient for builders
1979     to separate the autogen from the configure stage.
1980
1981  autogen.sh |    4 +++-
1982  1 file changed, 3 insertions(+), 1 deletion(-)
1983
1984 commit 9e6c151af810886e94372ac8e4878915059c6c14
1985 Author: Kristian Høgsberg <krh@bitplanet.net>
1986 Date:   Thu Jun 17 18:19:39 2010 -0400
1987
1988     gl: Add new cairo-gl surface constructor to create surface for texture
1989
1990  src/cairo-gl-private.h |    2 +
1991  src/cairo-gl-surface.c |  111 ++++++++++++++++++++++++++++++++++++++++++------
1992  src/cairo-gl.h         |    4 ++
1993  3 files changed, 105 insertions(+), 12 deletions(-)
1994
1995 commit 4c91bb9a221bc8e3d65a96365bbd1157b3f4e612
1996 Author: Benjamin Otte <otte@redhat.com>
1997 Date:   Tue Jul 6 17:27:18 2010 +0200
1998
1999     region: Add cairo_region_xor() and cairo_region_xor_rectangle()
2000     
2001     gdk_region_xor() was a quite often used function in GDK and now that
2002     GDKe uses cairo regions, it seems like a worthwhile addition to Cairo.
2003
2004  src/cairo-region.c |   80 ++++++++++++++++++++++++++++++++++++++++++++++++++++
2005  src/cairo.h        |    6 ++++
2006  src/cairoint.h     |    2 ++
2007  3 files changed, 88 insertions(+)
2008
2009 commit 82de6336d88be43de759b94634e87b9e4a8391b1
2010 Author: Benjamin Otte <otte@redhat.com>
2011 Date:   Tue Jul 6 00:48:36 2010 +0200
2012
2013     test: Add note about how to fix failures to api-special-cases
2014
2015  test/api-special-cases.c |    6 ++++++
2016  1 file changed, 6 insertions(+)
2017
2018 commit 75f269b14e1e4cdadd8c08566a07b2460ae3364b
2019 Author: Benjamin Otte <otte@redhat.com>
2020 Date:   Tue Jul 6 00:41:12 2010 +0200
2021
2022     test: Add documentation to the api-special-cases test
2023     
2024     Hopefully people add other backend APIs to the testsuite.
2025
2026  test/api-special-cases.c |   27 +++++++++++++++++++++++++++
2027  1 file changed, 27 insertions(+)
2028
2029 commit 398870e64a18f32f1854cb19f64c34e2b1987140
2030 Author: Benjamin Otte <otte@redhat.com>
2031 Date:   Tue Jul 6 00:21:38 2010 +0200
2032
2033     xlib: Setters should set finished surfaces into an error status
2034     
2035     Caught by api-special-cases test
2036
2037  src/cairo-xlib-surface.c |   18 ++++++++++++++----
2038  1 file changed, 14 insertions(+), 4 deletions(-)
2039
2040 commit 6e562d1448eb70b7269f8f2f280719aa2aeb3ce7
2041 Author: Benjamin Otte <otte@redhat.com>
2042 Date:   Tue Jul 6 00:20:57 2010 +0200
2043
2044     xcb: Setters should set finished surfaces into an error status
2045     
2046     Caught by api-special-cases test
2047
2048  src/cairo-xcb-surface.c |   10 ++++++++--
2049  1 file changed, 8 insertions(+), 2 deletions(-)
2050
2051 commit fa070704966f10e7264778a3ffb401054a68e8f7
2052 Author: Benjamin Otte <otte@redhat.com>
2053 Date:   Tue Jul 6 00:20:36 2010 +0200
2054
2055     test: Add xcb and xlib functions to api-special-cases test
2056
2057  test/api-special-cases.c |   91 ++++++++++++++++++++++++++++++++++++++++++++++
2058  1 file changed, 91 insertions(+)
2059
2060 commit c4068fe9414bad663f77c030ac96fa4b4cba87ba
2061 Author: Benjamin Otte <otte@redhat.com>
2062 Date:   Mon Jul 5 23:14:33 2010 +0200
2063
2064     test: Add ps, pdf and svg to the api-special-cases test
2065
2066  test/api-special-cases.c |  103 ++++++++++++++++++++++++++++++++++++++++++++++
2067  1 file changed, 103 insertions(+)
2068
2069 commit 3e008e8ab0a1c5254bd1d8a58c9e9a89846fe7ac
2070 Author: Benjamin Otte <otte@redhat.com>
2071 Date:   Mon Jul 5 23:14:19 2010 +0200
2072
2073     svg: Set error when extracting from finished surface
2074     
2075     Caught by api-special-cases test
2076
2077  src/cairo-svg-surface.c |   10 ++++++++++
2078  1 file changed, 10 insertions(+)
2079
2080 commit 2e66cbaee2efc4a8eb2117f945d68e2816349cfe
2081 Author: Benjamin Otte <otte@redhat.com>
2082 Date:   Mon Jul 5 23:10:12 2010 +0200
2083
2084     ps: Allow specifying if errors on extract_surface should be set
2085     
2086     Getters should not set errors on passed in input. So we don't.
2087     
2088     Caught by api-special-cases test
2089
2090  src/cairo-ps-surface.c |   39 ++++++++++++++++++++++-----------------
2091  1 file changed, 22 insertions(+), 17 deletions(-)
2092
2093 commit f5dfc3ce6eab3bf836f2d7f7cf72d2834c42d72f
2094 Author: Benjamin Otte <otte@redhat.com>
2095 Date:   Mon Jul 5 23:08:08 2010 +0200
2096
2097     ps: Set error when extracting from finished surface
2098     
2099     Caught by api-special-cases test
2100
2101  src/cairo-ps-surface.c |   10 ++++++++++
2102  1 file changed, 10 insertions(+)
2103
2104 commit 106357f6e28467f6db02e8d69c4aea459aca781c
2105 Author: Benjamin Otte <otte@redhat.com>
2106 Date:   Mon Jul 5 23:07:24 2010 +0200
2107
2108     pdf: Set error when extracting from finished surface
2109     
2110     Caught by api-special-cases test
2111
2112  src/cairo-pdf-surface.c |   10 ++++++++++
2113  1 file changed, 10 insertions(+)
2114
2115 commit 702aa19fdae8bd511c4374f580dde6503afd3341
2116 Author: Benjamin Otte <otte@redhat.com>
2117 Date:   Mon Jul 5 22:50:44 2010 +0200
2118
2119     gl: Fail properly when called with finished functions
2120     
2121     Caught by api-special-cases test
2122
2123  src/cairo-gl-surface.c |   12 +++++++++++-
2124  1 file changed, 11 insertions(+), 1 deletion(-)
2125
2126 commit b87be76bdfcbd329c79a9f11b24d22010ad15dde
2127 Author: Benjamin Otte <otte@redhat.com>
2128 Date:   Mon Jul 5 22:50:18 2010 +0200
2129
2130     test: Add gl functions to the tests
2131
2132  test/api-special-cases.c |   39 ++++++++++++++++++++++++++++++++++++++-
2133  1 file changed, 38 insertions(+), 1 deletion(-)
2134
2135 commit 448653e7b9938100c3f2e30e026fbc4d9de7d0d5
2136 Author: Benjamin Otte <otte@redhat.com>
2137 Date:   Mon Jul 5 22:41:43 2010 +0200
2138
2139     Call _cairo_error() when setting the FINISHED error on surfaces
2140
2141  src/cairo-surface-subsurface.c |    2 +-
2142  src/cairo-surface.c            |   12 ++++++------
2143  2 files changed, 7 insertions(+), 7 deletions(-)
2144
2145 commit 19da8e138d317c1770d8bbd21a49c657d954f126
2146 Author: Benjamin Otte <otte@redhat.com>
2147 Date:   Mon Jul 5 22:40:54 2010 +0200
2148
2149     tee: Add proper error handling
2150     
2151     Caught by api-special-cases
2152
2153  src/cairo-tee-surface.c |   15 +++++++++++++++
2154  1 file changed, 15 insertions(+)
2155
2156 commit a9f30fc1f0c3e50715468b09707477973bf5268b
2157 Author: Benjamin Otte <otte@redhat.com>
2158 Date:   Mon Jul 5 22:30:55 2010 +0200
2159
2160     test: Add recording and tee surface functions to api-special-cases
2161
2162  test/api-special-cases.c |   44 ++++++++++++++++++++++++++++++++++++++++++++
2163  1 file changed, 44 insertions(+)
2164
2165 commit 41abc0ca37855751ed06051a30c0d866977ed2bd
2166 Author: Benjamin Otte <otte@redhat.com>
2167 Date:   Mon Jul 5 22:19:05 2010 +0200
2168
2169     test: add PNG functions
2170
2171  test/api-special-cases.c |   36 ++++++++++++++++++++++++++++++++++++
2172  1 file changed, 36 insertions(+)
2173
2174 commit 897eaa3e97f865ad2c28442c26efaf4ba391cf03
2175 Author: Benjamin Otte <otte@redhat.com>
2176 Date:   Mon Jul 5 22:11:23 2010 +0200
2177
2178     test: Add a non-error surface check
2179     
2180     In that check, we call functions that require a specific surface type
2181     with surfaces of a different type and check that they don't crash and
2182     set the correct error.
2183
2184  test/api-special-cases.c |   36 ++++++++++++++++++++++++++++++++++++
2185  1 file changed, 36 insertions(+)
2186
2187 commit 986ddf565215dc01065eade46921abe8a4b7912e
2188 Author: Benjamin Otte <otte@redhat.com>
2189 Date:   Mon Jul 5 22:03:42 2010 +0200
2190
2191     test: add image surface functions to api-special-cases test
2192
2193  test/api-special-cases.c |   90 +++++++++++++++++++++++++++++++++-------------
2194  1 file changed, 66 insertions(+), 24 deletions(-)
2195
2196 commit 72878d70ea75be03f47fa9d53f8305e76162054e
2197 Author: Benjamin Otte <otte@redhat.com>
2198 Date:   Mon Jul 5 20:47:19 2010 +0200
2199
2200     test: Add a new test variant to api-special-cases test
2201     
2202     This variant tests a (hopefully) inert error surface.
2203
2204  test/api-special-cases.c |   35 +++++++++++++++++++++++++++++++++++
2205  1 file changed, 35 insertions(+)
2206
2207 commit 9de25a0297c141a0776835920168afaa3ca77a87
2208 Author: Benjamin Otte <otte@redhat.com>
2209 Date:   Mon Jul 5 18:33:40 2010 +0200
2210
2211     configure: remove dolt
2212     
2213     libtool should be fast by now
2214
2215  Makefile.am           |    5 +-
2216  build/aclocal.dolt.m4 |  178 -------------------------------------------------
2217  configure.ac          |    1 -
2218  3 files changed, 2 insertions(+), 182 deletions(-)
2219
2220 commit 6744b78de17930285569da2158a334763e2bd333
2221 Author: Benjamin Otte <otte@redhat.com>
2222 Date:   Mon Jul 5 18:25:31 2010 +0200
2223
2224     subsurface: Fail if created from a finished surface
2225     
2226     Caught by api-special-cases test
2227
2228  src/cairo-surface-subsurface.c |    2 ++
2229  1 file changed, 2 insertions(+)
2230
2231 commit 8fd1ecea12f15c2bda710065909a14415ba92bd8
2232 Author: Benjamin Otte <otte@redhat.com>
2233 Date:   Mon Jul 5 18:25:16 2010 +0200
2234
2235     surface: Fail if set_mime_data() is called on a finished surface
2236     
2237     Caught by api-special-cases test
2238
2239  src/cairo-surface.c |    2 ++
2240  1 file changed, 2 insertions(+)
2241
2242 commit e388ff1ae732970d6166780817ec121cf58ccd0e
2243 Author: Benjamin Otte <otte@redhat.com>
2244 Date:   Mon Jul 5 18:24:23 2010 +0200
2245
2246     surface: Fail early if create_similar() is called on a finished surface
2247     
2248     Caught by api-special-cases test
2249
2250  src/cairo-surface.c |    2 ++
2251  1 file changed, 2 insertions(+)
2252
2253 commit c1689ef6f27f99c36e1a5f4de658363ca0aad25a
2254 Author: Benjamin Otte <otte@redhat.com>
2255 Date:   Mon Jul 5 18:23:37 2010 +0200
2256
2257     surface: don't call begin_modification on finished surfaces
2258     
2259     Fixes https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/600622
2260     
2261     Caught by api-special-cases test
2262
2263  src/cairo-surface.c |    4 ++--
2264  1 file changed, 2 insertions(+), 2 deletions(-)
2265
2266 commit cf0245c1201d4884ff19e881e9c118784fa14884
2267 Author: Benjamin Otte <otte@redhat.com>
2268 Date:   Mon Jul 5 18:17:09 2010 +0200
2269
2270     tests: Add a testcase that checks APIs work consistently
2271     
2272     In particular, it checks that finished and surfaces in an error state do
2273     not do bad things, like cause crashes.
2274     So far this test only checks surface APIs, but it should be extended to
2275     cover all APIs.
2276     
2277     Please update this test when new APIs get added.
2278     
2279     Motivated by https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/600622
2280
2281  test/Makefile.sources          |    1 +
2282  test/api-special-cases.c       |  360 ++++++++++++++++++++++++++++++++++++++++
2283  test/api-special-cases.ref.png |  Bin 0 -> 95 bytes
2284  3 files changed, 361 insertions(+)
2285
2286 commit eb63284fc3ae9377003ca312be58ae8f5dbbfdbd
2287 Author: Benjamin Otte <otte@redhat.com>
2288 Date:   Mon Jul 5 00:37:10 2010 +0200
2289
2290     configure: Use automake silent rules
2291     
2292     This replaces shave usage.
2293     If silent rules are not available, don't use them.
2294
2295  configure.ac |    1 +
2296  1 file changed, 1 insertion(+)
2297
2298 commit 68bbb6b4a0a3b9bc923ccf130b1ca4221a5e54bd
2299 Author: Benjamin Otte <otte@redhat.com>
2300 Date:   Mon Jul 5 00:35:39 2010 +0200
2301
2302     configure: remove shave
2303
2304  build/.gitignore       |    2 --
2305  build/aclocal.shave.m4 |   77 ---------------------------------------------
2306  build/shave-libtool.in |   69 ----------------------------------------
2307  build/shave.in         |   82 ------------------------------------------------
2308  configure.ac           |    4 ---
2309  5 files changed, 234 deletions(-)
2310
2311 commit 9ce87c67ff64083ec48edfefe83a1df3756c364c
2312 Author: Benjamin Otte <otte@redhat.com>
2313 Date:   Sat Jul 3 02:54:55 2010 +0200
2314
2315     perf: print comment describing backend
2316     
2317     Use the descibe string to output information about the backend we're
2318     testing.
2319
2320  perf/cairo-perf-trace.c |   31 ++++++++++++++++++++++++++++++-
2321  1 file changed, 30 insertions(+), 1 deletion(-)
2322
2323 commit fcfe7c67248ea171dc40c0dbd861e489a2df5941
2324 Author: Benjamin Otte <otte@redhat.com>
2325 Date:   Sat Jul 3 02:54:28 2010 +0200
2326
2327     boilerplate: Add describe string
2328     
2329     Print the pixman version we're using
2330
2331  boilerplate/cairo-boilerplate.c |   21 ++++++++++++++++++---
2332  1 file changed, 18 insertions(+), 3 deletions(-)
2333
2334 commit 0a7135148a634ea6692a4edd83193870a5d526b3
2335 Author: Benjamin Otte <otte@redhat.com>
2336 Date:   Sat Jul 3 02:54:08 2010 +0200
2337
2338     gl: Add describe string
2339
2340  boilerplate/cairo-boilerplate-glx.c |   29 +++++++++++++++++++++++++----
2341  1 file changed, 25 insertions(+), 4 deletions(-)
2342
2343 commit a1c4b001a548611b7d77e9280fdb5a82da275830
2344 Author: Benjamin Otte <otte@redhat.com>
2345 Date:   Wed Jun 30 18:27:54 2010 +0200
2346
2347     boilerplate: Add a describe vfunc
2348     
2349     This function is supposed to describe the backend in use. The describe
2350     function is optional - and therefore initialized as NULL everywhere.
2351     Note:
2352     It is well known that the xlib backend uses X. What is not known is what
2353     version the server supports or what graphics card it is running on. That
2354     is the information the describe vfunc is supposed to provide.
2355
2356  boilerplate/Makefile.win32.features            |    8 ++++++++
2357  boilerplate/cairo-boilerplate-directfb.c       |    4 ++--
2358  boilerplate/cairo-boilerplate-drm.c            |    2 ++
2359  boilerplate/cairo-boilerplate-egl.c            |    1 +
2360  boilerplate/cairo-boilerplate-glx.c            |    4 ++++
2361  boilerplate/cairo-boilerplate-pdf.c            |    4 ++--
2362  boilerplate/cairo-boilerplate-ps.c             |    8 ++++----
2363  boilerplate/cairo-boilerplate-quartz.c         |    5 +++--
2364  boilerplate/cairo-boilerplate-script.c         |    2 +-
2365  boilerplate/cairo-boilerplate-skia.c           |    4 ++--
2366  boilerplate/cairo-boilerplate-svg.c            |    8 ++++----
2367  boilerplate/cairo-boilerplate-test-surfaces.c  |   16 ++++++++--------
2368  boilerplate/cairo-boilerplate-vg.c             |    4 ++++
2369  boilerplate/cairo-boilerplate-wgl.c            |    2 ++
2370  boilerplate/cairo-boilerplate-win32-printing.c |    4 ++--
2371  boilerplate/cairo-boilerplate-win32.c          |    4 ++--
2372  boilerplate/cairo-boilerplate-xcb.c            |    7 +++++++
2373  boilerplate/cairo-boilerplate-xlib.c           |    4 ++++
2374  boilerplate/cairo-boilerplate.c                |   10 +++++-----
2375  boilerplate/cairo-boilerplate.h                |    4 ++++
2376  build/Makefile.win32.features-h                |    1 +
2377  src/Makefile.win32.features                    |    8 ++++++++
2378  22 files changed, 80 insertions(+), 34 deletions(-)
2379
2380 commit 4c039b1cdfac5b5d6aa0c38f0779213fd14ec7de
2381 Author: Chris Wilson <chris@chris-wilson.co.uk>
2382 Date:   Fri Jul 2 17:01:12 2010 +0100
2383
2384     user-font: Check the status before destroying the context
2385
2386  src/cairo-user-font.c |    4 ++--
2387  1 file changed, 2 insertions(+), 2 deletions(-)
2388
2389 commit 1f84f5682c6ff246b3d28c75c8731504f31c1ee1
2390 Author: Chris Wilson <chris@chris-wilson.co.uk>
2391 Date:   Fri Jul 2 13:19:17 2010 +0100
2392
2393     xlib: Apply translation to image surface upload.
2394     
2395     Fixes:
2396     
2397       Bug 28888 - cairo_paint with rgb images does not work correctly
2398       https://bugs.freedesktop.org/show_bug.cgi?id=28888
2399
2400  src/cairo-xlib-surface.c |   13 ++++++++-----
2401  1 file changed, 8 insertions(+), 5 deletions(-)
2402
2403 commit d2d6c96c24501d888422ea42d3c90d3c8f3647a0
2404 Author: Andrea Canciani <ranma42@gmail.com>
2405 Date:   Tue Jun 29 09:58:54 2010 +0200
2406
2407     user-font: correct handling of size 0 text
2408     
2409     Text with size 0 has a singular scale matrix, thus requires special
2410     handling to avoid invalidating the context where it is used.
2411     
2412     Fixes pthread-show-text and text-zero-len (they failed with assertion
2413     when ran using the user font backend).
2414
2415  src/cairo-matrix.c      |    9 +++++++
2416  src/cairo-scaled-font.c |    5 ++--
2417  src/cairo-user-font.c   |   60 ++++++++++++++++++++++++++++-------------------
2418  src/cairoint.h          |    3 +++
2419  4 files changed, 50 insertions(+), 27 deletions(-)
2420
2421 commit 6db247e13c6fa61879029b335c6fa649d810c11b
2422 Author: Andrea Canciani <ranma42@gmail.com>
2423 Date:   Tue Jun 29 09:28:04 2010 +0200
2424
2425     user-font: ignore translation in scale matrix
2426     
2427     Currently the translation component of the scaled_font scale matrix
2428     is applied by gstate and only linear components should be applied in
2429     font backends.
2430     
2431     Fixes font-matrix-translation (when using user-font as font backend).
2432
2433  src/cairo-user-font.c |    6 +++++-
2434  1 file changed, 5 insertions(+), 1 deletion(-)
2435
2436 commit 549431e98ed0be17b80f24f0e0c167c7ad632f4f
2437 Author: Andrea Canciani <ranma42@gmail.com>
2438 Date:   Mon Jun 28 22:40:28 2010 +0200
2439
2440     ft-font: fix typo
2441
2442  src/cairo-ft-font.c |    2 +-
2443  1 file changed, 1 insertion(+), 1 deletion(-)
2444
2445 commit 97a88c5adb08a3181bad1f63a7bbdfe5784b4207
2446 Author: Chris Wilson <chris@chris-wilson.co.uk>
2447 Date:   Mon Jun 28 17:10:59 2010 +0100
2448
2449     xlib: Compile without fontconfig
2450     
2451     Create a cairo-fontconfig-private.h where we can add the missing defines
2452     in a common location rather than in the body of the code.
2453
2454  src/Makefile.sources           |    1 +
2455  src/cairo-fontconfig-private.h |   76 ++++++++++++++++++++++++++++++++++++++++
2456  src/cairo-ft-font.c            |    5 +--
2457  src/cairo-surface-subsurface.c |    1 +
2458  src/cairo-xlib-screen.c        |   20 +----------
2459  5 files changed, 80 insertions(+), 23 deletions(-)
2460
2461 commit 7d6910014310344e5d16c97ffd1f1c9fbc01b143
2462 Author: Andrea Canciani <ranma42@gmail.com>
2463 Date:   Mon Jun 28 17:12:41 2010 +0200
2464
2465     quartz: remove unused declarations
2466
2467  src/cairo-quartz-surface.c |   17 -----------------
2468  1 file changed, 17 deletions(-)
2469
2470 commit bd4c14b94eeb386b30439929e8e54a5d9b5d5fca
2471 Author: Andrea Canciani <ranma42@gmail.com>
2472 Date:   Thu Jun 24 23:20:41 2010 +0200
2473
2474     quartz: remove unused os version info
2475     
2476     It was previously used to activate a workaround for text transformation
2477     whenrunning on some os versions. Now the workaround is not needed anymore.
2478
2479  src/cairo-quartz-surface.c |    7 -------
2480  1 file changed, 7 deletions(-)
2481
2482 commit aa7e9c43b6381930455a68258dcc3e14dce2b0e4
2483 Author: Andrea Canciani <ranma42@gmail.com>
2484 Date:   Thu Jun 24 14:18:02 2010 +0200
2485
2486     quartz-font: correct and explain matrix computations
2487     
2488     glyph_path was taking into account the translation (which currently
2489     is already applied in gstate) and the sign of the elements of the
2490     matrices was not explained.
2491
2492  src/cairo-quartz-font.c |   13 ++++++-------
2493  1 file changed, 6 insertions(+), 7 deletions(-)
2494
2495 commit b26f72fef99e9869a62cbb8e44a82837f87cf2c6
2496 Author: Andrea Canciani <ranma42@gmail.com>
2497 Date:   Thu Jun 24 22:34:36 2010 +0200
2498
2499     quartz: check return status
2500     
2501     If the font backend is unable to tell the extents of the operation,
2502     consider it unbound.
2503
2504  src/cairo-quartz-surface.c |    8 ++++----
2505  1 file changed, 4 insertions(+), 4 deletions(-)
2506
2507 commit 9c0d761bfcdd28d52c83d74f46dd3c709ae0fa69
2508 Author: Andrea Canciani <ranma42@gmail.com>
2509 Date:   Thu Jun 24 15:26:03 2010 +0200
2510
2511     quartz: improve text transform handling
2512     
2513     Use scale instead of manually compositing font_matrix and ctm and
2514     composite it with the context ctm, so that no workaround for clipping
2515     is needed anymore.
2516
2517  src/cairo-quartz-surface.c |   46 ++++++++++++--------------------------------
2518  1 file changed, 12 insertions(+), 34 deletions(-)
2519
2520 commit 9068b5768b8560fbf095f1c0eecb5c805232f794
2521 Author: Andrea Canciani <ranma42@gmail.com>
2522 Date:   Thu Jun 24 15:15:37 2010 +0200
2523
2524     quartz-font: silence compiler warnings
2525     
2526     Remove an unused function, explicitly ignore or check return values,
2527     don't define unused variables.
2528
2529  src/cairo-quartz-font.c |   84 +++++++++++++++++------------------------------
2530  1 file changed, 30 insertions(+), 54 deletions(-)
2531
2532 commit ca161a585a7ce09cfcd468ea7591c5959077a907
2533 Author: Chris Wilson <chris@chris-wilson.co.uk>
2534 Date:   Sat Jun 26 14:50:57 2010 +0100
2535
2536     version: 1.9.9
2537     
2538     Post-snapshot bump.
2539
2540  cairo-version.h |    2 +-
2541  1 file changed, 1 insertion(+), 1 deletion(-)
2542
2543 commit 0f1ff0daab7259ec16076f788760da4f35cb0cdc
2544 Author: Chris Wilson <chris@chris-wilson.co.uk>
2545 Date:   Sat Jun 26 14:20:25 2010 +0100
2546
2547     test: Missing ref image.
2548
2549  test/Makefile.am |    1 +
2550  1 file changed, 1 insertion(+)
2551
2552 commit 45d1f461ce2d2e3af16a5a90ffd8980bffc5eaa8
2553 Author: Chris Wilson <chris@chris-wilson.co.uk>
2554 Date:   Sat Jun 26 14:17:23 2010 +0100
2555
2556     version: 1.9.10
2557
2558  cairo-version.h |    2 +-
2559  1 file changed, 1 insertion(+), 1 deletion(-)
2560
2561 commit 7a68a7bfd550b5e4b6635495e7de49fe306fbad4
2562 Author: Chris Wilson <chris@chris-wilson.co.uk>
2563 Date:   Sat Jun 26 14:16:27 2010 +0100
2564
2565     NEWS for 1.9.10 snapshot
2566
2567  NEWS |   28 ++++++++++++++++++++++++++++
2568  1 file changed, 28 insertions(+)
2569
2570 commit 8df41361196c7ba1b8d272507cc3d523cdcf5632
2571 Author: Chris Wilson <chris@chris-wilson.co.uk>
2572 Date:   Sat Jun 26 09:52:11 2010 +0100
2573
2574     Regenerate default win32 headers.
2575
2576  boilerplate/Makefile.win32.features |    8 --------
2577  build/Makefile.win32.features-h     |    1 -
2578  src/Makefile.win32.features         |    8 --------
2579  3 files changed, 17 deletions(-)
2580
2581 commit 1373675ef7602363aeca0d9ec12be79719ea066d
2582 Author: Benjamin Otte <otte@redhat.com>
2583 Date:   Fri Jun 25 14:10:12 2010 +0200
2584
2585     pop-group: Translate existing path properly
2586     
2587     This fixes the reverse case of the push_group case fixed a few commits
2588     ago.
2589
2590  src/cairo.c |    8 +++++---
2591  1 file changed, 5 insertions(+), 3 deletions(-)
2592
2593 commit 59076776674e3ae47099f20e1d86064fbd856008
2594 Author: Benjamin Otte <otte@redhat.com>
2595 Date:   Fri Jun 25 14:08:49 2010 +0200
2596
2597     test: improve push-group-path-offset to also catch the pop_group() case
2598     
2599     cairo_pop_group() also trasnforms the path wrong, so we use cairo_fill()
2600     to copy data instead of cairo_paint().
2601     
2602     (Also, unbust the testcase.)
2603
2604  test/push-group-path-offset.c |   45 +++++++++++++++--------------------------
2605  1 file changed, 16 insertions(+), 29 deletions(-)
2606
2607 commit 2e8571d95ca36f8ad9e20796990cdc0b3f763082
2608 Author: Benjamin Otte <otte@redhat.com>
2609 Date:   Fri Jun 25 13:41:22 2010 +0200
2610
2611     push-group: Fix path translation when pushing a group with device offsets
2612     
2613     With the previous code, the parent's device offset wasn't undone before
2614     applying the new device offset.
2615     Tested by push-group-path-offset test.
2616
2617  src/cairo.c |    5 +++--
2618  1 file changed, 3 insertions(+), 2 deletions(-)
2619
2620 commit a9b8d1a94ea624ea8b12a125bdf70c6f248e7ca7
2621 Author: Benjamin Otte <otte@redhat.com>
2622 Date:   Fri Jun 25 13:38:40 2010 +0200
2623
2624     test: Add a new test for a bug with device-offset tests
2625     
2626     All the credit for this one goes to make distcheck
2627
2628  test/Makefile.sources               |    1 +
2629  test/push-group-path-offset.c       |   90 +++++++++++++++++++++++++++++++++++
2630  test/push-group-path-offset.ref.png |  Bin 0 -> 186 bytes
2631  3 files changed, 91 insertions(+)
2632
2633 commit 1099a3515b6a69e2ff360d8e6b1df71e3ea5c213
2634 Author: Chris Wilson <chris@chris-wilson.co.uk>
2635 Date:   Thu Jun 24 17:22:34 2010 +0100
2636
2637     drm/intel: Fix common off-by-one by rewriting the [XY]MAX macro.
2638     
2639     Many rectangles in the command stream are specified as inclusive rects,
2640     i.e. the max values are (width-1, height-1), which is easy to neglect.
2641
2642  src/drm/cairo-drm-i915-private.h          |    2 +-
2643  src/drm/cairo-drm-i915-surface.c          |   24 ++++++------------------
2644  src/drm/cairo-drm-i965-shader.c           |   12 ++++++------
2645  src/drm/cairo-drm-intel-command-private.h |    4 ++--
2646  4 files changed, 15 insertions(+), 27 deletions(-)
2647
2648 commit fb6a00571c818c738d66bc04dc75e79491878f78
2649 Author: Chris Wilson <chris@chris-wilson.co.uk>
2650 Date:   Mon Jun 14 10:19:37 2010 +0100
2651
2652     drm: _cairo_color_get_content() compilation fixes
2653
2654  src/drm/cairo-drm-i915-shader.c |    2 +-
2655  src/drm/cairo-drm-i965-shader.c |    5 +----
2656  src/drm/cairo-drm-intel.c       |    3 +--
2657  3 files changed, 3 insertions(+), 7 deletions(-)
2658
2659 commit 42956b46436b9704be7619e1b61ab222923376d0
2660 Author: Zoxc <zoxc32@gmail.com>
2661 Date:   Sun Jun 20 21:07:57 2010 +0000
2662
2663     build: Added cairo deflate stream as a requirement for the script surface.
2664
2665  src/Makefile.sources |    3 +++
2666  1 file changed, 3 insertions(+)
2667
2668 commit b036a09972a19e63a85a4661a457525e2abe4026
2669 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
2670 Date:   Thu Jun 24 14:59:18 2010 +0300
2671
2672     whitespace: Fixup formal arguments and tabs in boilerplate/ and perf/.
2673     
2674     Ran a script to align the formal parameters of functions and
2675     collapse spaces to tabs in code.
2676
2677  boilerplate/cairo-boilerplate-beos.cpp         |   42 +++++-----
2678  boilerplate/cairo-boilerplate-directfb.c       |   86 ++++++++++----------
2679  boilerplate/cairo-boilerplate-drm.c            |    2 +-
2680  boilerplate/cairo-boilerplate-egl.c            |   20 ++---
2681  boilerplate/cairo-boilerplate-getopt.c         |   12 +--
2682  boilerplate/cairo-boilerplate-glx.c            |   60 +++++++-------
2683  boilerplate/cairo-boilerplate-pdf.c            |   24 +++---
2684  boilerplate/cairo-boilerplate-private.h        |    2 +-
2685  boilerplate/cairo-boilerplate-ps.c             |   49 ++++++------
2686  boilerplate/cairo-boilerplate-qt.cpp           |   18 ++---
2687  boilerplate/cairo-boilerplate-quartz.c         |   18 ++---
2688  boilerplate/cairo-boilerplate-scaled-font.h    |    2 +-
2689  boilerplate/cairo-boilerplate-script.c         |   30 +++----
2690  boilerplate/cairo-boilerplate-skia.c           |   18 ++---
2691  boilerplate/cairo-boilerplate-svg.c            |   59 +++++++-------
2692  boilerplate/cairo-boilerplate-system.c         |   10 ++-
2693  boilerplate/cairo-boilerplate-system.h         |   10 ++-
2694  boilerplate/cairo-boilerplate-test-surfaces.c  |  100 +++++++++++------------
2695  boilerplate/cairo-boilerplate-vg.c             |   36 ++++-----
2696  boilerplate/cairo-boilerplate-wgl.c            |   58 +++++++-------
2697  boilerplate/cairo-boilerplate-win32-printing.c |   29 +++----
2698  boilerplate/cairo-boilerplate-win32.c          |   18 ++---
2699  boilerplate/cairo-boilerplate-xcb.c            |   85 ++++++++++----------
2700  boilerplate/cairo-boilerplate-xlib.c           |   90 ++++++++++-----------
2701  boilerplate/cairo-boilerplate.c                |  102 ++++++++++++------------
2702  boilerplate/cairo-boilerplate.h                |   44 +++++-----
2703  perf/cairo-perf-chart.c                        |   38 ++++++---
2704  perf/cairo-perf-compare-backends.c             |   30 ++++---
2705  perf/cairo-perf-diff-files.c                   |   37 +++++----
2706  perf/cairo-perf-graph-files.c                  |   73 ++++++++++-------
2707  perf/cairo-perf-graph-widget.c                 |   60 ++++++++------
2708  perf/cairo-perf-graph.h                        |    8 +-
2709  perf/cairo-perf-micro.c                        |   82 ++++++++++---------
2710  perf/cairo-perf-os2.c                          |   10 +--
2711  perf/cairo-perf-posix.c                        |   24 +++---
2712  perf/cairo-perf-print.c                        |    5 +-
2713  perf/cairo-perf-report.c                       |   62 ++++++++------
2714  perf/cairo-perf-trace.c                        |   82 ++++++++++---------
2715  perf/cairo-perf-win32.c                        |    6 +-
2716  perf/cairo-perf.h                              |   38 ++++-----
2717  perf/cairo-stats.c                             |   11 +--
2718  perf/cairo-stats.h                             |    6 +-
2719  42 files changed, 850 insertions(+), 746 deletions(-)
2720
2721 commit 616e35d1fae703dc118ce503d25d4f57cfd16dfd
2722 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
2723 Date:   Thu Jun 24 09:44:07 2010 +0300
2724
2725     boilerplate: Remove the xlib-window target from Renderless builds.
2726     
2727     I don't know why _cairo_boilerplate_xlib_window_create_surface()
2728     is in the Render-only section of the code, but since it is, this
2729     patch makes the boilerplate at least compile if we don't have
2730     Render support built in.
2731
2732  boilerplate/cairo-boilerplate-xlib.c |    4 ++--
2733  1 file changed, 2 insertions(+), 2 deletions(-)
2734
2735 commit aed744008dbaab49f28f9c54ad0850074ece5d66
2736 Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
2737 Date:   Thu Jun 24 05:38:14 2010 -0400
2738
2739     test: Fix typo in copyright statement
2740
2741  test/bug-seams.c |    2 +-
2742  1 file changed, 1 insertion(+), 1 deletion(-)
2743
2744 commit 5c7e1dd690af21943435676bfac320cfe863cf55
2745 Author: Soeren Sandmann <sandmann@daimi.au.dk>
2746 Date:   Thu Jun 24 10:11:48 2010 +0100
2747
2748     test: Add an example of seams.
2749     
2750     A pair of perfectly conjoint quads should not produce a seam when
2751     accumulating into a temporary mask. Yet here is an example of where they
2752     do!
2753
2754  test/Makefile.am                     |    3 ++
2755  test/Makefile.sources                |    1 +
2756  test/bug-seams.c                     |   98 ++++++++++++++++++++++++++++++++++
2757  test/bug-seams.ref.png               |  Bin 0 -> 1604 bytes
2758  test/bug-seams.xlib-fallback.ref.png |  Bin 0 -> 2133 bytes
2759  test/bug-seams.xlib.ref.png          |  Bin 0 -> 1606 bytes
2760  6 files changed, 102 insertions(+)
2761
2762 commit 413ec4b708a511eb2f3866165a35d3a8d97bd326
2763 Author: Benjamin Otte <otte@redhat.com>
2764 Date:   Tue Jun 22 23:19:32 2010 +0200
2765
2766     gl: Return a surface from _cairo_surface_create_in_error()
2767     
2768     On error, surface creation functions should always return a surface
2769     created with _cairo_surface_create_in_error() instead of a new surface
2770     in an error state. This simplifies internal code as no refcounting has
2771     to be done.
2772
2773  src/cairo-gl-surface.c |    3 ++-
2774  1 file changed, 2 insertions(+), 1 deletion(-)
2775
2776 commit a4e292507cf7c2f960d040edd57b56a976c73da6
2777 Author: Benjamin Otte <otte@redhat.com>
2778 Date:   Tue Jun 22 22:01:25 2010 +0200
2779
2780     gl: Propagate surface creation error instead of crashing
2781
2782  src/cairo-gl-glyphs.c |   22 ++++++++++++++++------
2783  1 file changed, 16 insertions(+), 6 deletions(-)
2784
2785 commit faa4e6761c8f74a1acaa7ccc5bc8bb23b2f5cdb1
2786 Author: Benjamin Otte <otte@redhat.com>
2787 Date:   Mon Jun 21 14:01:34 2010 +0200
2788
2789     egl: Copy glx code to detect the proper surface in acquire
2790
2791  src/cairo-egl-context.c |    9 +++++++++
2792  1 file changed, 9 insertions(+)
2793
2794 commit 76a721f7e94fb040f106b200c09c1a7b9ae83d36
2795 Author: Benjamin Otte <otte@redhat.com>
2796 Date:   Mon Jun 21 13:30:06 2010 +0200
2797
2798     egl: Remove unused prev_foo usage
2799
2800  src/cairo-egl-context.c |    7 -------
2801  1 file changed, 7 deletions(-)
2802
2803 commit b8051ee985ed46c69f5fba1216ead1ebacecfd44
2804 Author: Chris Wilson <chris@chris-wilson.co.uk>
2805 Date:   Sat Jun 19 18:09:27 2010 +0100
2806
2807     script: Pass the buffer length back to freetype.
2808     
2809     After querying the required size, inform the backend of the allocated
2810     size of the buffer.
2811
2812  src/cairo-script-surface.c |    2 +-
2813  1 file changed, 1 insertion(+), 1 deletion(-)
2814
2815 commit 8ac9a9df24eefc5f1125db87eb8eda2e94f54070
2816 Author: Chris Wilson <chris@chris-wilson.co.uk>
2817 Date:   Sat Jun 19 13:23:50 2010 +0100
2818
2819     xcb: Return the status upon flushing the device.
2820     
2821     The vfunc was updated to expect the status return, so supply it.
2822
2823  src/cairo-xcb-connection.c |    5 +++--
2824  1 file changed, 3 insertions(+), 2 deletions(-)
2825
2826 commit 9fffc0e120df8947c34d9e423c69ab66b763d875
2827 Author: Chris Wilson <chris@chris-wilson.co.uk>
2828 Date:   Sat Jun 19 11:15:13 2010 +0100
2829
2830     xlib: Precise and Imprecise were reversed.
2831     
2832     The intention was to switch to imprecise mode by default, using the
2833     exact rendering mode only upon request.
2834
2835  src/cairo-xlib-surface.c |    8 ++++----
2836  1 file changed, 4 insertions(+), 4 deletions(-)
2837
2838 commit b322b2e61984c2e9e00fb44343ebe5e423246445
2839 Author: Chris Wilson <chris@chris-wilson.co.uk>
2840 Date:   Sat Jun 19 10:26:05 2010 +0100
2841
2842     xlib: Perform image uploads inplace.
2843     
2844     Under the restrictive conditions where we are doing an untransformed
2845     contained upload of an image into a matching surface, perform it in
2846     place. The drivers will attempt to stream such uploads efficiently, far
2847     more so than our code.
2848
2849  src/cairo-xlib-surface.c |  112 ++++++++++++++++++++++++++++++++++++++++++++++
2850  1 file changed, 112 insertions(+)
2851
2852 commit c3eb95bf6670bbc06ef908481da95f3504c7dc4d
2853 Author: Benjamin Otte <otte@redhat.com>
2854 Date:   Fri Jun 18 19:26:07 2010 +0200
2855
2856     egl: Fail properly if no configs are available instead of crashing
2857
2858  boilerplate/cairo-boilerplate-egl.c |    4 ++++
2859  1 file changed, 4 insertions(+)
2860
2861 commit 3908d80f57bc0abef47721a5b8b9afd5041118e3
2862 Author: Benjamin Otte <otte@redhat.com>
2863 Date:   Fri Jun 18 16:11:20 2010 +0200
2864
2865     glx: Remove useless optimization trying to avoid glXMakeCurrent()
2866     
2867     The optimization is not performance-relevant. And having less code is
2868     always a good idea.
2869
2870  src/cairo-glx-context.c |   19 ++-----------------
2871  1 file changed, 2 insertions(+), 17 deletions(-)
2872
2873 commit 64f90322f73c37ac5667292949bb45b0279239d9
2874 Author: Benjamin Otte <otte@redhat.com>
2875 Date:   Fri Jun 18 12:40:48 2010 +0200
2876
2877     gl: Refactor status handling in _cairo_gl_context_release()
2878     
2879     Previously, the code returned a status and required the caller to mangle
2880     this status with his own status. Now, the function takes the previous
2881     status ass an argument and does the mangling itself.
2882     
2883     Also contains fixes for all the callers to actually check the return
2884     value - which is now rather trivial as it just requires passing through
2885     the status variable.
2886
2887  src/cairo-gl-composite.c |    6 ++----
2888  src/cairo-gl-device.c    |    2 +-
2889  src/cairo-gl-glyphs.c    |   14 +++++---------
2890  src/cairo-gl-gradient.c  |    3 ++-
2891  src/cairo-gl-private.h   |   14 ++++++++------
2892  src/cairo-gl-surface.c   |   47 ++++++++++++++++++++++++----------------------
2893  6 files changed, 43 insertions(+), 43 deletions(-)
2894
2895 commit fc3d521c121da237974e486f1b7735009764b441
2896 Author: Benjamin Otte <otte@redhat.com>
2897 Date:   Fri Jun 18 12:23:37 2010 +0200
2898
2899     gl: Inline the check_error() function
2900
2901  src/cairo-gl-private.h |   23 +++++++----------------
2902  1 file changed, 7 insertions(+), 16 deletions(-)
2903
2904 commit 9d7fa289132650261e546b39af2371c262f46d3c
2905 Author: Benjamin Otte <otte@redhat.com>
2906 Date:   Fri Jun 18 12:18:05 2010 +0200
2907
2908     gl: Don't assert if there used to be a GL error
2909     
2910     When acquiring the GL context, do not assert that the GL context is not
2911     in an error state. Do not even call _cairo_error(). Handling GL errors
2912     in other code is not Cairo's responsibility.
2913     
2914     Instead just clear all previous errors so we don't accidentally set
2915     surfaces into error states to unrelated errors.
2916
2917  src/cairo-gl-private.h |    3 ++-
2918  1 file changed, 2 insertions(+), 1 deletion(-)
2919
2920 commit 0f9a8cd18f14b1f23aaefe14db3b5ad07c84cff7
2921 Author: Benjamin Otte <otte@redhat.com>
2922 Date:   Fri Jun 18 12:17:36 2010 +0200
2923
2924     gl: Add a custom glGetError() function
2925     
2926     This function clears all errors and returns the first one that happened.
2927
2928  src/cairo-gl-private.h |   19 ++++++++++++++++---
2929  1 file changed, 16 insertions(+), 3 deletions(-)
2930
2931 commit 8048d3aa0a11ab1c054887682b8b2a899a87da0e
2932 Author: Benjamin Otte <otte@redhat.com>
2933 Date:   Fri Jun 18 10:50:21 2010 +0200
2934
2935     gl: Remove custom fprintf fudging on GL errors
2936     
2937     Now that we probably call _cairo_error() on every GL error, there is no
2938     need to use custom methods to catch those errors. The usual breakpoint
2939     is enough.
2940
2941  src/cairo-gl-private.h |    7 +------
2942  src/cairo-gl-surface.c |   20 --------------------
2943  2 files changed, 1 insertion(+), 26 deletions(-)
2944
2945 commit f4da5048bf87df0651ec83ca3f1ad6a5af7eb16d
2946 Author: Benjamin Otte <otte@redhat.com>
2947 Date:   Fri Jun 18 10:44:15 2010 +0200
2948
2949     gl: cairo_warn about return value from cairo_gl_context_release()
2950
2951  src/cairo-gl-private.h |    2 +-
2952  1 file changed, 1 insertion(+), 1 deletion(-)
2953
2954 commit d9179f480a43c7171806e2c33804aaae70a2cfa6
2955 Author: Benjamin Otte <otte@redhat.com>
2956 Date:   Fri Jun 18 00:43:09 2010 +0200
2957
2958     boilerplate: Reinstate glFinish() for wgl
2959     
2960     It was accidentally disabled.
2961
2962  boilerplate/cairo-boilerplate-wgl.c |    2 +-
2963  1 file changed, 1 insertion(+), 1 deletion(-)
2964
2965 commit 67e84d61230a2012c18d8bff60e8835aaa57be07
2966 Author: Kristian Høgsberg <krh@bitplanet.net>
2967 Date:   Thu Jun 17 17:38:00 2010 -0400
2968
2969     egl: Implement acquire and release for EGL backend
2970
2971  src/cairo-egl-context.c |   46 +++++++++++++++++++++++++++++++++++++---------
2972  1 file changed, 37 insertions(+), 9 deletions(-)
2973
2974 commit 7ab9ce1b9130dcd63b2b2b2516b77ef1ae531144
2975 Author: Chris Wilson <chris@chris-wilson.co.uk>
2976 Date:   Thu Jun 17 15:47:04 2010 +0100
2977
2978     image: Make a local copy of the trap coordinates as the boxes alias.
2979     
2980     As we transform the array of trapezoids into an array of boxes in-place,
2981     we must take local copies of the coordinates before writing into the
2982     boxes otherwise we may inadvertently modify the trapezoidal coordinates.
2983     
2984     Fixes test/a1-bug.
2985
2986  src/cairo-image-surface.c |   15 +++++++++++----
2987  1 file changed, 11 insertions(+), 4 deletions(-)
2988
2989 commit f2645fa361003636d1da6ca38c3b61fef1b1ce4d
2990 Author: Chris Wilson <chris@chris-wilson.co.uk>
2991 Date:   Thu Jun 17 15:38:53 2010 +0100
2992
2993     test: Add a1-bug
2994     
2995     Capture a bug report from "cairouser" where a1 rasterisation is now
2996     broken.
2997
2998  test/Makefile.am            |    3 +++
2999  test/Makefile.sources       |    1 +
3000  test/a1-bug.c               |   61 +++++++++++++++++++++++++++++++++++++++++++
3001  test/a1-bug.image16.ref.png |  Bin 0 -> 3329 bytes
3002  test/a1-bug.ref.png         |  Bin 0 -> 3736 bytes
3003  test/a1-bug.xlib.ref.png    |  Bin 0 -> 3362 bytes
3004  6 files changed, 65 insertions(+)
3005
3006 commit 800e977c2ea1e097c4b7332b18a5fc03089603c1
3007 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
3008 Date:   Thu Jun 17 14:27:13 2010 +0300
3009
3010     perf: Allow comparing perf reports with only one difference.
3011     
3012     The cairo-perf-diff-files tool would ignore perf reports with
3013     just one test for no apparent reason.  The traces take so long
3014     that it's useful to be able to compare runs with just one trace.
3015
3016  perf/cairo-perf-diff-files.c |    2 +-
3017  1 file changed, 1 insertion(+), 1 deletion(-)
3018
3019 commit 29b8cfd2b6cf590fcfe64e5ba5b4479c2748ac06
3020 Author: Chris Wilson <chris@chris-wilson.co.uk>
3021 Date:   Thu Jun 17 10:11:31 2010 +0100
3022
3023     test/halo: Remove copied code.
3024     
3025     How did that get there? I obviously ran the test to generate the output,
3026     so where did it spring as it is the old version of the function?
3027     
3028     From 16364768d79570e7201a87f0a985c65acaff5560.
3029     
3030     Mysteries will never cease.
3031
3032  test/halo.c |   36 ------------------------------------
3033  1 file changed, 36 deletions(-)
3034
3035 commit a9a22649e2ffa1cd3720c8555dc3c6aff2040e3d
3036 Author: Zoxc <zoxc32@gmail.com>
3037 Date:   Wed Jun 16 21:33:30 2010 +0200
3038
3039     wgl: Only reset GL context on the dummy window.
3040     
3041     This changes the WGL context destruction code to only reset the GL
3042     context for the dummy window, since doing it on <nothing> is an
3043     invalid operation.
3044
3045  src/cairo-wgl-context.c |    6 ++----
3046  1 file changed, 2 insertions(+), 4 deletions(-)
3047
3048 commit ca35e09ece5107c3ebc9f111d4a3d96d69aa3d03
3049 Author: Zoxc <zoxc32@gmail.com>
3050 Date:   Mon Jun 14 20:34:52 2010 +0200
3051
3052     gl: Added wgl boilerplate and moved the glx and egl boilerplates into their own files.
3053
3054  boilerplate/Makefile.sources        |    4 +-
3055  boilerplate/Makefile.win32.features |    8 +
3056  boilerplate/cairo-boilerplate-egl.c |  141 ++++++++++
3057  boilerplate/cairo-boilerplate-gl.c  |  492 -----------------------------------
3058  boilerplate/cairo-boilerplate-glx.c |  401 ++++++++++++++++++++++++++++
3059  boilerplate/cairo-boilerplate-wgl.c |  236 +++++++++++++++++
3060  build/Makefile.win32.features-h     |    1 +
3061  src/Makefile.win32.features         |    8 +
3062  8 files changed, 798 insertions(+), 493 deletions(-)
3063
3064 commit 2af3262895d74492a0f856f049d1524a527257bb
3065 Author: Zoxc <zoxc32@gmail.com>
3066 Date:   Mon Jun 14 20:33:17 2010 +0200
3067
3068     wgl: Renamed hwnd field to wnd.
3069
3070  src/cairo-wgl-context.c |   12 ++++++------
3071  1 file changed, 6 insertions(+), 6 deletions(-)
3072
3073 commit 7a023a62f7517ad0d54f4d59c99909fadcc05e82
3074 Author: Nicolaus L Helper <nlhepler@gmail.com>
3075 Date:   Thu Jun 17 08:56:30 2010 +0100
3076
3077     ft,fc,xlib: LCD filtering patch.
3078     
3079     This adds internal API to retrieve the LCD filtering parameters from
3080     fontconfig, or as set on the Screen, and feed them to FreeType when
3081     rendering the glyph.
3082     
3083     References:
3084       Bug 10301 - LCD filtering patch
3085       https://bugs.freedesktop.org/show_bug.cgi?id=10301
3086     
3087     Tested-by: Brandon Wright <bearoso@gmail.com>
3088     Forward-ported-by: Robert Hooker <sarvatt@gmail.cm>
3089     
3090     ickle: The API is clearly not ready for public consumption, the enum are
3091     poorly named, however this stands by itself as enabling system wide
3092     properties.
3093
3094  src/cairo-font-options.c  |   51 +++-
3095  src/cairo-ft-font.c       |  675 ++++++++++++++++++++++++++++++++-------------
3096  src/cairo-surface.c       |    1 +
3097  src/cairo-types-private.h |   25 ++
3098  src/cairo-xlib-screen.c   |   28 ++
3099  src/cairoint.h            |    7 +
3100  6 files changed, 597 insertions(+), 190 deletions(-)
3101
3102 commit 36b4b0631cc220d01c411b596a4eef839338cd7c
3103 Author: Chris Wilson <chris@chris-wilson.co.uk>
3104 Date:   Thu Jun 17 08:50:31 2010 +0100
3105
3106     image: Use consistent rounding modes for a1 rasterisation.
3107     
3108     When checking if the traps are equivalent to a set of rectangles, we
3109     need to use the same rounding mode as when converting the traps to a set
3110     of boxes and then filling them. Failure to do leads to a situation where
3111     (-127,-128) was thought to be equivalent to (0,0) but we attempted to
3112     fill from 0 to -1 instead.
3113     
3114     References:
3115       http://lists.cairographics.org/archives/cairo/2010-June/020115.html
3116
3117  src/cairo-image-surface.c |   58 +++++++++++++++++++++++++++------------------
3118  1 file changed, 35 insertions(+), 23 deletions(-)
3119
3120 commit 3306bcb1d91265d60c460aa64d3ee4a4acb430a1
3121 Author: Chris Wilson <chris@chris-wilson.co.uk>
3122 Date:   Thu Jun 17 08:47:48 2010 +0100
3123
3124     fixed: Refactor code to use more inlines and less duplication of logic.
3125     
3126     This also has the side-effect of fixing the types in the problematic
3127     functions which hid Andrea's true fix for the unsigned FRAC_MASK.
3128
3129  src/cairo-fixed-private.h |   18 +++++++++++++++---
3130  1 file changed, 15 insertions(+), 3 deletions(-)
3131
3132 commit c0dee7964c4394b7963041f246855fd3b01f4ebb
3133 Author: Chris Wilson <chris@chris-wilson.co.uk>
3134 Date:   Wed Jun 16 18:49:58 2010 +0100
3135
3136     test: Add a1-rasterisation
3137     
3138     Check the rounding criteria when rasterising.
3139
3140  test/Makefile.am                         |    2 +
3141  test/Makefile.sources                    |    1 +
3142  test/a1-rasterisation-rectangles.ref.png |  Bin 0 -> 1729 bytes
3143  test/a1-rasterisation-triangles.ref.png  |  Bin 0 -> 1729 bytes
3144  test/a1-rasterisation.c                  |  101 ++++++++++++++++++++++++++++++
3145  5 files changed, 104 insertions(+)
3146
3147 commit 16364768d79570e7201a87f0a985c65acaff5560
3148 Author: Chris Wilson <chris@chris-wilson.co.uk>
3149 Date:   Wed Jun 16 15:09:22 2010 +0100
3150
3151     test/halo: Transformation seems key to the bug...
3152
3153  test/halo.c |   36 ++++++++++++++++++++++++++++++++++++
3154  1 file changed, 36 insertions(+)
3155
3156 commit cb28e0bfeb47a72f14ee42f161ebf6b5eb61e76b
3157 Author: Andrea Canciani <ranma42@gmail.com>
3158 Date:   Thu Jun 17 08:42:39 2010 +0200
3159
3160     test: correct options in getopt call
3161     
3162     'k' was missing and 't' was present but unhandled. Options have been
3163     reordered according to the "USAGE" ordering.
3164
3165  test/cairo-test-runner.c |    2 +-
3166  1 file changed, 1 insertion(+), 1 deletion(-)
3167
3168 commit 3cd07559328b60e3da85debb805cb4a3fc4abc22
3169 Author: Andrea Canciani <ranma42@gmail.com>
3170 Date:   Wed Jun 16 22:54:08 2010 +0200
3171
3172     correct rounding computation
3173     
3174     cairo_fixed_integer_round[_down] were adding an unsigned mask value
3175     before shifting its result, causing the shift to be computed as
3176     logical (unsigned) right shift, thus producing incorrect values for
3177     negative inputs. Making the mask value signed fixes this issue.
3178     
3179     Bug report by cu:
3180     http://lists.cairographics.org/archives/cairo/2010-June/020115.html
3181
3182  src/cairo-fixed-private.h |    2 +-
3183  1 file changed, 1 insertion(+), 1 deletion(-)
3184
3185 commit 8689d75caaa9c6ee42976873d21684fa9f48834f
3186 Author: Chris Wilson <chris@chris-wilson.co.uk>
3187 Date:   Wed Jun 16 15:09:22 2010 +0100
3188
3189     test/halo: Transformation seems key to the bug...
3190     
3191     Only it is actually transformation of the result that is required in
3192     order to magnify the effect to a detectable level.
3193
3194  test/Makefile.am                    |    5 +++
3195  test/halo-transform.image16.ref.png |  Bin 0 -> 10983 bytes
3196  test/halo-transform.ps.ref.png      |  Bin 0 -> 8691 bytes
3197  test/halo-transform.ref.png         |  Bin 0 -> 15086 bytes
3198  test/halo-transform.xlib.ref.png    |  Bin 0 -> 15346 bytes
3199  test/halo.c                         |   64 +++++++++++++++++++++++++++++++++--
3200  test/halo.image16.ref.png           |  Bin 5328 -> 6172 bytes
3201  test/halo.ps.ref.png                |  Bin 0 -> 5220 bytes
3202  test/halo.ref.png                   |  Bin 7524 -> 8839 bytes
3203  test/halo.xlib.ref.png              |  Bin 7404 -> 8835 bytes
3204  10 files changed, 67 insertions(+), 2 deletions(-)
3205
3206 commit 71936a1f414807a51c68de111362c2d5499bdfa7
3207 Author: Chris Wilson <chris@chris-wilson.co.uk>
3208 Date:   Tue Jun 15 21:36:15 2010 +0100
3209
3210     test/aliasing: Add a few more colour combinations.
3211     
3212     In particular, compare red against its inverse, cyan. Etc.
3213
3214  test/aliasing.c               |    6 +++++-
3215  test/aliasing.image16.ref.png |  Bin 20810 -> 97251 bytes
3216  test/aliasing.ref.png         |  Bin 22980 -> 104672 bytes
3217  test/aliasing.xlib.ref.png    |  Bin 24018 -> 104315 bytes
3218  4 files changed, 5 insertions(+), 1 deletion(-)
3219
3220 commit e2220a1f3a7b483e615f5bb993a014d20b0f788a
3221 Author: Chris Wilson <chris@chris-wilson.co.uk>
3222 Date:   Tue Jun 15 11:45:54 2010 +0100
3223
3224     configure: Try an alternate name for system glew.
3225
3226  configure.ac |   10 ++++++----
3227  1 file changed, 6 insertions(+), 4 deletions(-)
3228
3229 commit 25ec0c1e9b5af2ba68200b79b252de5c1b371d0a
3230 Author: Chris Wilson <chris@chris-wilson.co.uk>
3231 Date:   Tue Jun 15 10:59:01 2010 +0100
3232
3233     build: Enable system GLEW on non-UNIX platforms
3234
3235  configure.ac |   12 +++++++++---
3236  1 file changed, 9 insertions(+), 3 deletions(-)
3237
3238 commit 52624446636bb5941ca2180afa2c0be275414cec
3239 Author: Chris Wilson <chris@chris-wilson.co.uk>
3240 Date:   Tue Jun 15 10:40:36 2010 +0100
3241
3242     glew: Define NULL
3243
3244  src/glew/glew.c |    4 ++++
3245  1 file changed, 4 insertions(+)
3246
3247 commit 56d06b088b9c355ca76a38191717a8e03aa5f59a
3248 Author: Chris Wilson <chris@chris-wilson.co.uk>
3249 Date:   Mon Jun 14 22:58:38 2010 +0100
3250
3251     test: Add an aliasing test case.
3252     
3253     Just a simple test in drawing neighbouring edges and looking for the
3254     effects of aliasing.
3255
3256  test/Makefile.am              |    3 ++
3257  test/Makefile.sources         |    1 +
3258  test/aliasing.c               |   98 +++++++++++++++++++++++++++++++++++++++++
3259  test/aliasing.image16.ref.png |  Bin 0 -> 20810 bytes
3260  test/aliasing.ref.png         |  Bin 0 -> 22980 bytes
3261  test/aliasing.xlib.ref.png    |  Bin 0 -> 24018 bytes
3262  6 files changed, 102 insertions(+)
3263
3264 commit 4b39f02bf7e8b4921518db4a2d8564514cb323a9
3265 Author: Chris Wilson <chris@chris-wilson.co.uk>
3266 Date:   Mon Jun 14 20:38:26 2010 +0100
3267
3268     test: Add halo
3269     
3270     halo uses text_path + stroke + (fill | show_text)  to generate a "halo"
3271     around the string. This is to try to replicate a bug described by Ian
3272     Britten in the PDF backend where the rendering of the show_text looked
3273     distorted compared to the stroke.
3274
3275  test/Makefile.am          |    3 ++
3276  test/Makefile.sources     |    1 +
3277  test/halo.c               |   98 +++++++++++++++++++++++++++++++++++++++++++++
3278  test/halo.image16.ref.png |  Bin 0 -> 5328 bytes
3279  test/halo.ref.png         |  Bin 0 -> 7524 bytes
3280  test/halo.xlib.ref.png    |  Bin 0 -> 7404 bytes
3281  6 files changed, 102 insertions(+)
3282
3283 commit 072a200ec502bf5ac3e62702e6f14ed18171b1e0
3284 Author: Chris Wilson <chris@chris-wilson.co.uk>
3285 Date:   Mon Jun 14 16:05:14 2010 +0100
3286
3287     build: Add wgl to Makefile.sources and regenerate features.
3288
3289  boilerplate/Makefile.win32.features |   10 ++++++++++
3290  build/Makefile.win32.features       |    1 +
3291  build/Makefile.win32.features-h     |    3 +++
3292  src/Makefile.sources                |    6 ++++--
3293  src/Makefile.win32.features         |   14 ++++++++++++++
3294  5 files changed, 32 insertions(+), 2 deletions(-)
3295
3296 commit 4a0bd91ff77c8afddde6d09495bc9ca7242f953d
3297 Author: Dmitri Vorobiev <dmitri.vorobiev@movial.com>
3298 Date:   Mon Jun 14 16:40:39 2010 +0300
3299
3300     scaled-font: fine-tune caching
3301     
3302     This patch implements the ideas outlined by Behdad Esfahbod in the following
3303     mailing list message:
3304     
3305     http://lists.cairographics.org/archives/cairo/2010-June/020065.html
3306     
3307     Specifically, two things have been adjusted. First, the size of the look-up
3308     table was reduced to 64. Second, cache codepath is now bypassed for strings
3309     that are shorter than 16, not only for one-character strings. This allowed
3310     us to reduce the LUT initialization overhead while still retaining the
3311     advantage of caching for common-case string sizes.
3312     
3313     We have experimented with different LUT sizes, and it came out that the size
3314     of 64 is the best one in view of speed, at least for our language-neutral
3315     benchmark, which generated random strings of printable ASCII characters.
3316     
3317     Below is a table presenting benchmark results for different values of LUT
3318     size:
3319     
3320     ===============================================================================
3321      Benchmark          | [1]   | [2]   | [3]   | [4]   | [5]   | [6]   | [7]
3322     ===============================================================================
3323     8px text, 1 chars   | 0.41  | 0.41  | 0     | 0.41  | 0     | 0.41  | 0
3324     8px text, 10 chars  | 2.13  | 2.21  | 3.76  | 2.19  | 2.82  | 2.09  | -1.88
3325     8px text, 20 chars  | 2.97  | 3.04  | 2.36  | 3.01  | 1.35  | 2.98  | 0.34
3326     12px text, 1 chars  | 0.94  | 0.94  | 0     | 0.95  | 1.06  | 0.94  | 0
3327     12px text, 10 chars | 4.73  | 4.89  | 3.38  | 4.9   | 3.59  | 4.82  | 1.9
3328     12px text, 20 chars | 6.32  | 6.42  | 1.58  | 6.46  | 2.22  | 6.32  | 0
3329     16px text, 1 chars  | 1.75  | 1.76  | 0.57  | 1.77  | 1.14  | 1.76  | 0.57
3330     16px text, 10 chars | 8.13  | 8.45  | 3.94  | 8.43  | 3.69  | 8.44  | 3.81
3331     16px text, 20 chars | 10.41 | 10.69 | 2.69  | 10.64 | 2.21  | 10.65 | 2.31
3332     24px text, 1 chars  | 3.3   | 3.3   | 0     | 3.32  | 0.61  | 3.3   | 0
3333     24px text, 10 chars | 14.68 | 14.97 | 1.98  | 14.97 | 1.98  | 14.87 | 1.29
3334     24px text, 20 chars | 17.93 | 18.01 | 0.45  | 18.06 | 0.73  | 17.81 | -0.67
3335     96px text, 1 chars  | 23.65 | 23.38 | -1.14 | 23.74 | 0.38  | 23.65 | 0
3336     96px text, 5 chars  | 50.52 | 51.34 | 1.62  | 51.48 | 1.9   | 51.41 | 1.76
3337     96px text, 10 chars | 57.5  | 58.11 | 1.06  | 58.27 | 1.34  | 58.04 | 0.94
3338     ===============================================================================
3339     
3340     [1]: Git head, Mpix/s
3341     [2]: {GLYPH_LUT_SIZE = 32, CACHING_THRESHOLD = 16}
3342     [3]: Gain of {32, 16} w.r.t. Git head
3343     [4]: {GLYPH_LUT_SIZE = 64, CACHING_THRESHOLD = 16}
3344     [5]: Gain of {64, 16} w.r.t. Git head
3345     [6]: {GLYPH_LUT_SIZE = 128, CACHING_THRESHOLD = 16}
3346     [7]: Gain of {128, 16} w.r.t. Git head
3347     
3348     The benchmark itself can be found from this mailing list message:
3349     
3350     http://lists.cairographics.org/archives/cairo/2010-June/020064.html
3351
3352  src/cairo-scaled-font.c |   61 ++++++++++++++++++++++++++++++++++-------------
3353  1 file changed, 45 insertions(+), 16 deletions(-)
3354
3355 commit 505a0456d2498112155db7e7f275a14dc98f643e
3356 Author: Zoxc <zoxc32@gmail.com>
3357 Date:   Mon Jun 14 01:20:54 2010 +0200
3358
3359     gl: Added WGL context and surface.
3360
3361  build/configure.ac.features |    1 +
3362  configure.ac                |    9 ++
3363  src/cairo-gl.h              |   16 +++
3364  src/cairo-wgl-context.c     |  253 +++++++++++++++++++++++++++++++++++++++++++
3365  4 files changed, 279 insertions(+)
3366
3367 commit fd6c38b9e006feefa20ce4f54d3108dad51c828d
3368 Author: Zoxc <zoxc32@gmail.com>
3369 Date:   Mon Jun 14 01:04:10 2010 +0200
3370
3371     win32: Fixed compile errors in Windows backend.
3372
3373  src/cairo-win32-printing-surface.c |    9 ++++-----
3374  src/cairo-win32-surface.c          |    4 ++--
3375  2 files changed, 6 insertions(+), 7 deletions(-)
3376
3377 commit 5f10139cd92383c657e328ffad41874c4f668551
3378 Author: Chris Wilson <chris@chris-wilson.co.uk>
3379 Date:   Sun Jun 13 12:33:10 2010 +0100
3380
3381     NEWS: A couple more tweaks
3382     
3383     I only spotted these in the release announcement.
3384
3385  NEWS |    6 +++---
3386  1 file changed, 3 insertions(+), 3 deletions(-)
3387
3388 commit 4932aaa3173799c8f3ac30e4c9a594c20c83a121
3389 Author: Chris Wilson <chris@chris-wilson.co.uk>
3390 Date:   Sun Jun 13 12:02:53 2010 +0100
3391
3392     version: 1.9.9
3393     
3394     Post-snapshot bump.
3395
3396  cairo-version.h |    2 +-
3397  1 file changed, 1 insertion(+), 1 deletion(-)
3398
3399 commit 3a20b10cd0d94406fbd5fe3bb3d4820a95364537
3400 Author: Chris Wilson <chris@chris-wilson.co.uk>
3401 Date:   Sun Jun 13 10:27:03 2010 +0100
3402
3403     version: 1.9.8
3404     
3405     Snapshot time!
3406
3407  cairo-version.h |    2 +-
3408  1 file changed, 1 insertion(+), 1 deletion(-)
3409
3410 commit b612a230865a1a62f9cdcb051de9b57b509646b2
3411 Author: Andrea Canciani <ranma42@gmail.com>
3412 Date:   Sun Jun 13 12:29:24 2010 +0200
3413
3414     test: update quartz ref images in makefile
3415
3416  test/Makefile.am |  143 +++++++++++++++++++++++++++++++++++++++++-------------
3417  1 file changed, 109 insertions(+), 34 deletions(-)
3418
3419 commit 0693af2328606a4c7e4c888d2a1cd346e6bef405
3420 Author: Chris Wilson <chris@chris-wilson.co.uk>
3421 Date:   Sun Jun 13 10:22:37 2010 +0100
3422
3423     test: Move all output below test/output/
3424     
3425     make distcheck complains of remanents being left under test/ after a
3426     clean, notably the files used to check the capabilities of a similar
3427     surface and the fallback-resolution output.
3428
3429  test/cairo-test.c          |   53 +++++++++++++++++++++++++-------------------
3430  test/fallback-resolution.c |   30 +++++++++++++++++++++----
3431  2 files changed, 56 insertions(+), 27 deletions(-)
3432
3433 commit ffc3a39c95e918fa2fcd14c1b1063b9a9acceebf
3434 Author: Chris Wilson <chris@chris-wilson.co.uk>
3435 Date:   Sat Jun 12 20:04:36 2010 +0100
3436
3437     NEWS: Minor tweaks.
3438
3439  NEWS |   46 +++++++++++++++++++++++-----------------------
3440  1 file changed, 23 insertions(+), 23 deletions(-)
3441
3442 commit b6e16b8d2950cdadf2e2b14b0e7502d4a9ebdc09
3443 Author: Andrea Canciani <ranma42@gmail.com>
3444 Date:   Sat Jun 12 10:33:35 2010 +0200
3445
3446     test: quartz ref image refresh
3447
3448  test/a1-image-sample.quartz.xfail.png                         |  Bin 0 -> 972 bytes
3449  test/a1-mask-sample.quartz.xfail.png                          |  Bin 0 -> 972 bytes
3450  test/a1-traps-sample.quartz.xfail.png                         |  Bin 0 -> 122 bytes
3451  test/big-line.quartz.ref.png                                  |  Bin 0 -> 993 bytes
3452  test/caps-joins-curve.quartz.ref.png                          |  Bin 0 -> 5199 bytes
3453  test/clear.quartz.argb32.ref.png                              |  Bin 0 -> 691 bytes
3454  test/clear.quartz.rgb24.ref.png                               |  Bin 0 -> 606 bytes
3455  test/clip-disjoint.quartz.ref.png                             |  Bin 0 -> 5476 bytes
3456  test/clip-fill-rule.quartz.rgb24.ref.png                      |  Bin 0 -> 363 bytes
3457  test/clip-fill-unbounded.quartz.argb32.ref.png                |  Bin 0 -> 1436 bytes
3458  test/clip-fill-unbounded.quartz.rgb24.ref.png                 |  Bin 0 -> 1368 bytes
3459  test/clip-fill.quartz.ref.png                                 |  Bin 0 -> 875 bytes
3460  test/clip-group-shapes-circles.quartz.ref.png                 |  Bin 0 -> 1518 bytes
3461  test/clip-nesting.quartz.argb32.ref.png                       |  Bin 0 -> 1048 bytes
3462  test/clip-nesting.quartz.ref.png                              |  Bin 1067 -> 0 bytes
3463  test/clip-nesting.quartz.rgb24.ref.png                        |  Bin 956 -> 937 bytes
3464  test/clip-operator.quartz.argb32.ref.png                      |  Bin 0 -> 9586 bytes
3465  test/clip-operator.quartz.ref.png                             |  Bin 9539 -> 0 bytes
3466  test/clip-operator.quartz.rgb24.ref.png                       |  Bin 4412 -> 4104 bytes
3467  test/clip-push-group.quartz.ref.png                           |  Bin 203 -> 166 bytes
3468  test/clip-shape.quartz.ref.png                                |  Bin 0 -> 3229 bytes
3469  test/clip-stroke-unbounded.quartz.argb32.ref.png              |  Bin 0 -> 1493 bytes
3470  test/clip-stroke-unbounded.quartz.rgb24.ref.png               |  Bin 0 -> 1356 bytes
3471  test/clip-stroke.quartz.ref.png                               |  Bin 0 -> 1305 bytes
3472  test/clip-text.quartz.ref.png                                 |  Bin 0 -> 854 bytes
3473  test/clip-twice.quartz.argb32.ref.png                         |  Bin 0 -> 1171 bytes
3474  test/clip-twice.quartz.ref.png                                |  Bin 1171 -> 0 bytes
3475  test/clip-twice.quartz.rgb24.ref.png                          |  Bin 1111 -> 1095 bytes
3476  test/clipped-group.quartz.ref.png                             |  Bin 0 -> 308 bytes
3477  test/culled-glyphs.quartz.ref.png                             |  Bin 0 -> 493 bytes
3478  test/dash-caps-joins.quartz.ref.png                           |  Bin 4727 -> 0 bytes
3479  test/dash-caps-joins.quartz.xfail.png                         |  Bin 0 -> 4446 bytes
3480  test/dash-curve.quartz.ref.png                                |  Bin 47965 -> 0 bytes
3481  test/dash-curve.quartz.xfail.png                              |  Bin 0 -> 42238 bytes
3482  test/dash-scale.quartz.ref.png                                |  Bin 8079 -> 7614 bytes
3483  test/dash-state.quartz.ref.png                                |  Bin 8698 -> 0 bytes
3484  test/dash-state.quartz.xfail.png                              |  Bin 0 -> 6957 bytes
3485  test/degenerate-arc.quartz.ref.png                            |  Bin 0 -> 552 bytes
3486  test/degenerate-curve-to.quartz.ref.png                       |  Bin 0 -> 247 bytes
3487  test/degenerate-dash.quartz.xfail.png                         |  Bin 0 -> 1560 bytes
3488  test/degenerate-path.quartz.argb32.xfail.png                  |  Bin 0 -> 200 bytes
3489  test/degenerate-path.quartz.ref.png                           |  Bin 232 -> 0 bytes
3490  test/degenerate-path.quartz.rgb24.ref.png                     |  Bin 198 -> 0 bytes
3491  test/degenerate-path.quartz.rgb24.xfail.png                   |  Bin 0 -> 172 bytes
3492  test/degenerate-pen.quartz.ref.png                            |  Bin 1144 -> 0 bytes
3493  test/degenerate-rel-curve-to.quartz.ref.png                   |  Bin 0 -> 246 bytes
3494  test/extend-pad-border.quartz.ref.png                         |  Bin 0 -> 432 bytes
3495  test/extend-pad-similar.quartz.xfail.png                      |  Bin 0 -> 270 bytes
3496  test/extend-pad.quartz.xfail.png                              |  Bin 0 -> 270 bytes
3497  test/fill-alpha-pattern.quartz.ref.png                        |  Bin 0 -> 7943 bytes
3498  test/fill-alpha.quartz.ref.png                                |  Bin 0 -> 2704 bytes
3499  test/fill-and-stroke-alpha-add.quartz.ref.png                 |  Bin 603 -> 542 bytes
3500  test/fill-and-stroke-alpha.quartz.ref.png                     |  Bin 550 -> 0 bytes
3501  test/fill-and-stroke.quartz.argb32.ref.png                    |  Bin 0 -> 273 bytes
3502  test/fill-and-stroke.quartz.ref.png                           |  Bin 286 -> 0 bytes
3503  test/fill-and-stroke.quartz.rgb24.ref.png                     |  Bin 264 -> 249 bytes
3504  test/fill-degenerate-sort-order.quartz.argb32.ref.png         |  Bin 0 -> 2451 bytes
3505  test/fill-degenerate-sort-order.quartz.ref.png                |  Bin 2470 -> 0 bytes
3506  test/fill-degenerate-sort-order.quartz.rgb24.ref.png          |  Bin 2098 -> 2079 bytes
3507  test/fill-image.quartz.ref.png                                |  Bin 0 -> 1297 bytes
3508  test/fill-rule.quartz.argb32.ref.png                          |  Bin 0 -> 2060 bytes
3509  test/fill-rule.quartz.ref.png                                 |  Bin 2079 -> 0 bytes
3510  test/fill-rule.quartz.rgb24.ref.png                           |  Bin 1790 -> 1771 bytes
3511  test/filter-bilinear-extents.quartz.xfail.png                 |  Bin 0 -> 308 bytes
3512  test/filter-nearest-offset.quartz.xfail.png                   |  Bin 0 -> 2130 bytes
3513  test/filter-nearest-transformed.quartz.xfail.png              |  Bin 0 -> 534 bytes
3514  test/finer-grained-fallbacks.quartz.argb32.ref.png            |  Bin 0 -> 988 bytes
3515  test/finer-grained-fallbacks.quartz.rgb24.ref.png             |  Bin 0 -> 763 bytes
3516  test/font-matrix-translation.quartz.ref.png                   |  Bin 1090 -> 996 bytes
3517  test/ft-show-glyphs-table.quartz.xfail.png                    |  Bin 0 -> 827 bytes
3518  test/ft-text-vertical-layout-type1.quartz.xfail.png           |  Bin 0 -> 3635 bytes
3519  test/ft-text-vertical-layout-type3.quartz.ref.png             |  Bin 0 -> 3573 bytes
3520  test/glyph-cache-pressure.quartz.ref.png                      |  Bin 3654 -> 3284 bytes
3521  test/gradient-constant-alpha.quartz.argb32.ref.png            |  Bin 0 -> 214 bytes
3522  test/group-unaligned.quartz.ref.png                           |  Bin 0 -> 363 bytes
3523  test/huge-radial.quartz.ref.png                               |  Bin 0 -> 84690 bytes
3524  test/inverse-text.quartz.ref.png                              |  Bin 0 -> 2565 bytes
3525  test/joins.quartz.ref.png                                     |  Bin 0 -> 5833 bytes
3526  test/leaky-dash.quartz.ref.png                                |  Bin 241 -> 195 bytes
3527  test/leaky-dashed-rectangle.quartz.ref.png                    |  Bin 0 -> 339 bytes
3528  test/leaky-dashed-stroke.quartz.ref.png                       |  Bin 0 -> 9229 bytes
3529  test/line-width-scale.quartz.ref.png                          |  Bin 6434 -> 5623 bytes
3530  test/linear-gradient-reflect.quartz.ref.png                   |  Bin 878 -> 780 bytes
3531  test/linear-gradient-subset.quartz.ref.png                    |  Bin 0 -> 887 bytes
3532  test/linear-gradient.quartz.ref.png                           |  Bin 1164 -> 1060 bytes
3533  test/long-dashed-lines.quartz.ref.png                         |  Bin 2313 -> 2068 bytes
3534  test/mask-alpha.quartz.argb32.ref.png                         |  Bin 641 -> 622 bytes
3535  test/mask-transformed-image.quartz.ref.png                    |  Bin 0 -> 3909 bytes
3536  test/mask-transformed-similar.quartz.ref.png                  |  Bin 0 -> 3909 bytes
3537  test/mask.quartz.argb32.ref.png                               |  Bin 0 -> 10575 bytes
3538  test/mask.quartz.ref.png                                      |  Bin 10682 -> 0 bytes
3539  test/mask.quartz.rgb24.ref.png                                |  Bin 8418 -> 8354 bytes
3540  test/new-sub-path.quartz.ref.png                              |  Bin 383 -> 370 bytes
3541  test/new-sub-path.quartz.rgb24.ref.png                        |  Bin 357 -> 0 bytes
3542  test/operator-clear.quartz.argb32.ref.png                     |  Bin 0 -> 1228 bytes
3543  test/operator-clear.quartz.ref.png                            |  Bin 1459 -> 0 bytes
3544  test/operator-clear.quartz.rgb24.ref.png                      |  Bin 1293 -> 1096 bytes
3545  test/operator-source.quartz.argb32.ref.png                    |  Bin 0 -> 4754 bytes
3546  test/operator-source.quartz.ref.png                           |  Bin 4637 -> 0 bytes
3547  test/operator-source.quartz.rgb24.ref.png                     |  Bin 3533 -> 3535 bytes
3548  test/over-above-source.quartz.argb32.ref.png                  |  Bin 0 -> 511 bytes
3549  test/over-above-source.quartz.ref.png                         |  Bin 530 -> 0 bytes
3550  test/over-above-source.quartz.rgb24.ref.png                   |  Bin 456 -> 437 bytes
3551  test/over-around-source.quartz.argb32.ref.png                 |  Bin 0 -> 593 bytes
3552  test/over-around-source.quartz.ref.png                        |  Bin 612 -> 0 bytes
3553  test/over-around-source.quartz.rgb24.ref.png                  |  Bin 491 -> 0 bytes
3554  test/over-between-source.quartz.argb32.ref.png                |  Bin 0 -> 551 bytes
3555  test/over-between-source.quartz.ref.png                       |  Bin 570 -> 0 bytes
3556  test/over-between-source.quartz.rgb24.ref.png                 |  Bin 467 -> 0 bytes
3557  test/path-append.quartz.ref.png                               |  Bin 0 -> 6395 bytes
3558  test/pthread-same-source.quartz.xfail.png                     |  Bin 0 -> 957 bytes
3559  test/pthread-show-text.quartz.ref.png                         |  Bin 0 -> 42996 bytes
3560  test/push-group-color.quartz.ref.png                          |  Bin 0 -> 3127 bytes
3561  test/push-group.quartz.argb32.ref.png                         |  Bin 0 -> 3932 bytes
3562  test/push-group.quartz.rgb24.ref.png                          |  Bin 0 -> 3659 bytes
3563  test/radial-gradient.quartz.ref.png                           |  Bin 92334 -> 0 bytes
3564  test/random-intersections-curves-eo.quartz.ref.png            |  Bin 0 -> 326366 bytes
3565  test/random-intersections-curves-nz.quartz.ref.png            |  Bin 0 -> 324940 bytes
3566  test/random-intersections-eo.quartz.ref.png                   |  Bin 197778 -> 179179 bytes
3567  test/random-intersections-nonzero.quartz.ref.png              |  Bin 0 -> 180871 bytes
3568  test/recording-surface-pattern.quartz.argb32.ref.png          |  Bin 0 -> 4570 bytes
3569  test/recording-surface-pattern.quartz.ref.png                 |  Bin 4572 -> 0 bytes
3570  test/recording-surface-pattern.quartz.rgb24.ref.png           |  Bin 4063 -> 4058 bytes
3571  test/rectilinear-dash.quartz.xfail.png                        |  Bin 0 -> 494 bytes
3572  test/rectilinear-stroke.quartz.xfail.png                      |  Bin 0 -> 209 bytes
3573  test/reflected-stroke.quartz.ref.png                          |  Bin 5293 -> 0 bytes
3574  test/rel-path.quartz.ref.png                                  |  Bin 212 -> 0 bytes
3575  test/rel-path.quartz.rgb24.ref.png                            |  Bin 228 -> 0 bytes
3576  test/rotate-image-surface-paint.quartz.ref.png                |  Bin 257 -> 356 bytes
3577  test/rotated-clip.quartz.ref.png                              |  Bin 0 -> 3923 bytes
3578  test/rounded-rectangle-fill.quartz.ref.png                    |  Bin 0 -> 684 bytes
3579  test/scale-offset-image.quartz.ref.png                        |  Bin 0 -> 9054 bytes
3580  test/scale-offset-similar.quartz.ref.png                      |  Bin 0 -> 9054 bytes
3581  test/select-font-face.quartz.ref.png                          |  Bin 2970 -> 2645 bytes
3582  test/self-intersecting.quartz.xfail.png                       |  Bin 0 -> 233 bytes
3583  test/show-text-current-point.quartz.ref.png                   |  Bin 3093 -> 2773 bytes
3584  test/smask-fill.quartz.ref.png                                |  Bin 0 -> 2076 bytes
3585  test/smask-mask.quartz.ref.png                                |  Bin 0 -> 3357 bytes
3586  test/smask-paint.quartz.ref.png                               |  Bin 0 -> 3499 bytes
3587  test/smask-stroke.quartz.ref.png                              |  Bin 0 -> 1697 bytes
3588  test/smask-text.quartz.ref.png                                |  Bin 0 -> 1904 bytes
3589  test/smask.quartz.ref.png                                     |  Bin 0 -> 4067 bytes
3590  test/source-clip-scale.quartz.ref.png                         |  Bin 148 -> 126 bytes
3591  test/spline-decomposition.quartz.xfail.png                    |  Bin 0 -> 19560 bytes
3592  test/stroke-ctm-caps.quartz.ref.png                           |  Bin 1109 -> 899 bytes
3593  test/stroke-image.quartz.ref.png                              |  Bin 1802 -> 1350 bytes
3594  test/subsurface-pad.quartz.xfail.png                          |  Bin 0 -> 197 bytes
3595  test/surface-pattern-big-scale-down.quartz.ref.png            |  Bin 0 -> 258 bytes
3596  test/surface-pattern-operator.quartz.argb32.xfail.png         |  Bin 0 -> 5917 bytes
3597  test/surface-pattern-operator.quartz.rgb24.xfail.png          |  Bin 0 -> 2546 bytes
3598  test/surface-pattern-scale-down-extend-none.quartz.ref.png    |  Bin 0 -> 391 bytes
3599  test/surface-pattern-scale-down-extend-pad.quartz.xfail.png   |  Bin 0 -> 397 bytes
3600  test/surface-pattern-scale-down-extend-reflect.quartz.ref.png |  Bin 0 -> 475 bytes
3601  test/surface-pattern-scale-down-extend-repeat.quartz.ref.png  |  Bin 0 -> 397 bytes
3602  test/surface-pattern-scale-down.quartz.ref.png                |  Bin 3188 -> 2276 bytes
3603  test/surface-pattern-scale-up.quartz.xfail.png                |  Bin 0 -> 3294 bytes
3604  test/surface-pattern.quartz.xfail.png                         |  Bin 0 -> 9216 bytes
3605  test/text-antialias-gray.quartz.ref.png                       |  Bin 1041 -> 956 bytes
3606  test/text-antialias-none.quartz.ref.png                       |  Bin 300 -> 270 bytes
3607  test/text-antialias-subpixel.quartz.ref.png                   |  Bin 1065 -> 949 bytes
3608  test/text-glyph-range.quartz.ref.png                          |  Bin 0 -> 2191 bytes
3609  test/text-pattern.quartz.argb32.ref.png                       |  Bin 0 -> 2148 bytes
3610  test/text-pattern.quartz.ref.png                              |  Bin 2158 -> 0 bytes
3611  test/text-pattern.quartz.rgb24.ref.png                        |  Bin 1874 -> 1867 bytes
3612  test/text-rotate.quartz.ref.png                               |  Bin 17820 -> 16655 bytes
3613  test/trap-clip.quartz.argb32.ref.png                          |  Bin 0 -> 6060 bytes
3614  test/trap-clip.quartz.ref.png                                 |  Bin 6041 -> 0 bytes
3615  test/trap-clip.quartz.rgb24.ref.png                           |  Bin 5385 -> 5694 bytes
3616  test/unantialiased-shapes.quartz.ref.png                      |  Bin 4394 -> 3868 bytes
3617  test/unbounded-operator.quartz.ref.png                        |  Bin 4066 -> 0 bytes
3618  test/unbounded-operator.quartz.rgb24.ref.png                  |  Bin 1918 -> 0 bytes
3619  test/user-font-proxy.quartz.ref.png                           |  Bin 0 -> 19795 bytes
3620  test/user-font-rescale.quartz.ref.png                         |  Bin 0 -> 15982 bytes
3621  test/user-font.quartz.ref.png                                 |  Bin 0 -> 5960 bytes
3622  test/xcomposite-projection.quartz.ref.png                     |  Bin 0 -> 639 bytes
3623  175 files changed, 0 insertions(+), 0 deletions(-)
3624
3625 commit 0d5a15f23812575c80db44ca23075293cc0dbfad
3626 Author: Chris Wilson <chris@chris-wilson.co.uk>
3627 Date:   Sat Jun 12 20:00:24 2010 +0100
3628
3629     check: Disable running cairo-perf-micro
3630     
3631     Since this takes days to run now and should not find any bugs that are
3632     not covered by the test-suite it seems like a pointless exercise.
3633     Especially as I am trying to make a release!
3634
3635  perf/Makefile.am |   15 ++++-----------
3636  1 file changed, 4 insertions(+), 11 deletions(-)
3637
3638 commit e9fb39daee9ef3f80e4aedbda68027b36ce94fe3
3639 Author: Chris Wilson <chris@chris-wilson.co.uk>
3640 Date:   Sat Jun 12 19:40:42 2010 +0100
3641
3642     NEWS: take two.
3643
3644  NEWS |   81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
3645  1 file changed, 75 insertions(+), 6 deletions(-)
3646
3647 commit 62899e5e23a798bb3e9b60c9e793555e973b7823
3648 Author: Chris Wilson <chris@chris-wilson.co.uk>
3649 Date:   Sat Jun 12 18:51:31 2010 +0100
3650
3651     NEWS: Boring stub for 1.9.10.
3652
3653  NEWS |   19 +++++++++++++++++++
3654  1 file changed, 19 insertions(+)
3655
3656 commit fc372b1d9dea1ed4cb4229eaaad62a2d8e112a03
3657 Author: Chris Wilson <chris@chris-wilson.co.uk>
3658 Date:   Sat Jun 12 16:50:30 2010 +0100
3659
3660     test: Missing ref images
3661
3662  test/Makefile.am                       |    8 ++++----
3663  test/coverage-triangles.xlib.xfail.png |  Bin 0 -> 15859 bytes
3664  2 files changed, 4 insertions(+), 4 deletions(-)
3665
3666 commit 8737bc8b17ff0c437bb57df018bb7c540a394a7c
3667 Author: Chris Wilson <chris@chris-wilson.co.uk>
3668 Date:   Sat Jun 12 16:49:46 2010 +0100
3669
3670     gl: start returning the failure status aftern an invalid GL op.
3671
3672  src/cairo-gl-composite.c |    1 +
3673  src/cairo-gl-device.c    |   26 +++++++++++++++++++-------
3674  src/cairo-gl-glyphs.c    |   10 +++++++---
3675  src/cairo-gl-private.h   |   45 ++++++++++++++++++++++++++++++++++-----------
3676  src/cairo-gl-surface.c   |   40 +++++++++++++++++++++++++---------------
3677  5 files changed, 86 insertions(+), 36 deletions(-)
3678
3679 commit 5b2f90bf532184e46829de4b2e2f9d0b10c1ff81
3680 Author: Chris Wilson <chris@chris-wilson.co.uk>
3681 Date:   Sat Jun 12 16:49:11 2010 +0100
3682
3683     test: Forgotten ref image.
3684
3685  test/clipped-group.xlib-fallback.ref.png |  Bin 0 -> 344 bytes
3686  1 file changed, 0 insertions(+), 0 deletions(-)
3687
3688 commit cdd6f11716e3fbe579d68161caec220c7852fdff
3689 Author: Chris Wilson <chris@chris-wilson.co.uk>
3690 Date:   Sat Jun 12 15:44:29 2010 +0100
3691
3692     test: Record the expected failure mode for partial-coverage-intersecting-quads
3693     
3694     As the diagonals of the quad intersect below the limits of Cairo's fixed
3695     point, we fail to take heed of the intersection.
3696
3697  test/Makefile.am                                   |    1 +
3698  test/partial-coverage-intersecting-quads.xfail.png |  Bin 0 -> 262 bytes
3699  2 files changed, 1 insertion(+)
3700
3701 commit 3d72b4aa70d106b5da093e6405c7e3890fa343cf
3702 Author: Chris Wilson <chris@chris-wilson.co.uk>
3703 Date:   Sat Jun 12 15:32:31 2010 +0100
3704
3705     test/coverage: The comment was still wrong.
3706     
3707     Writing comments is hard. I give in.
3708
3709  test/coverage.c |    2 +-
3710  1 file changed, 1 insertion(+), 1 deletion(-)
3711
3712 commit e6d1b3a8ce0b516aed7715b57d9ca5ab4fad6c2f
3713 Author: Andrea Canciani <ranma42@gmail.com>
3714 Date:   Sat Jun 12 16:22:54 2010 +0200
3715
3716     test: update font family name
3717     
3718     Update the name of the test font family to DejaVu, so that backends
3719     unable to rely on fontconfig to match font names can find the correct
3720     font anyway.
3721
3722  test/README       |   10 +++++-----
3723  test/cairo-test.h |    2 +-
3724  2 files changed, 6 insertions(+), 6 deletions(-)
3725
3726 commit 3cb882d01b53cb3cec9be62d678dd4ef7ea2c1fd
3727 Author: Andrea Canciani <ranma42@gmail.com>
3728 Date:   Sat Jun 12 16:20:37 2010 +0200
3729
3730     test: make test font family a define
3731     
3732     In order to make it easier to change the test font family, add it
3733     as a define in the global header and always reference the macro in
3734     the tests.
3735
3736  test/cairo-test.h                    |    2 ++
3737  test/clip-all.c                      |    2 +-
3738  test/clip-empty-save.c               |    2 +-
3739  test/clip-empty.c                    |    2 +-
3740  test/clip-operator.c                 |    2 +-
3741  test/font-face-get-type.c            |    2 +-
3742  test/font-matrix-translation.c       |    2 +-
3743  test/ft-show-glyphs-positioning.c    |    2 +-
3744  test/ft-show-glyphs-table.c          |    2 +-
3745  test/ft-text-antialias-none.c        |    2 +-
3746  test/ft-text-vertical-layout-type3.c |    2 +-
3747  test/get-path-extents.c              |    2 +-
3748  test/glyph-cache-pressure.c          |    2 +-
3749  test/inverse-text.c                  |    6 +++---
3750  test/large-font.c                    |    2 +-
3751  test/operator-clear.c                |    2 +-
3752  test/operator-source.c               |    2 +-
3753  test/overlapping-glyphs.c            |    2 +-
3754  test/pdf-features.c                  |    2 +-
3755  test/ps-features.c                   |    2 +-
3756  test/select-font-face.c              |    6 +++---
3757  test/select-font-no-show-text.c      |    2 +-
3758  test/show-text-current-point.c       |    2 +-
3759  test/smask-text.c                    |    2 +-
3760  test/smask.c                         |    2 +-
3761  test/text-antialias-gray.c           |    2 +-
3762  test/text-antialias-none.c           |    2 +-
3763  test/text-antialias-subpixel.c       |    2 +-
3764  test/text-glyph-range.c              |    2 +-
3765  test/text-pattern.c                  |    2 +-
3766  test/text-rotate.c                   |    2 +-
3767  test/text-transform.c                |    2 +-
3768  test/text-zero-len.c                 |    2 +-
3769  test/unbounded-operator.c            |    2 +-
3770  test/user-font-rescale.c             |    6 +++---
3771  35 files changed, 42 insertions(+), 40 deletions(-)
3772
3773 commit b1e4df928fb59ee295830d5c0fa26330714f88f2
3774 Author: Chris Wilson <chris@chris-wilson.co.uk>
3775 Date:   Sat Jun 12 15:28:28 2010 +0100
3776
3777     test/coverage: Refine comments
3778     
3779     Joonas didn't like me putting incorrect labels in my comments. Said they
3780     were misleading and worse than useless. Harsh.
3781
3782  test/coverage.c |   20 +++++++++++++-------
3783  1 file changed, 13 insertions(+), 7 deletions(-)
3784
3785 commit 968374b6335199cbf02c8c4733537388da2a45f5
3786 Author: Chris Wilson <chris@chris-wilson.co.uk>
3787 Date:   Sat Jun 12 15:14:17 2010 +0100
3788
3789     test/coverage: Add a comment describing the column_triangle geometry()
3790
3791  test/coverage.c |   20 ++++++++++++++++++++
3792  1 file changed, 20 insertions(+)
3793
3794 commit 299263f8c912d3468d51ed22bcb6ab96275709f0
3795 Author: Chris Wilson <chris@chris-wilson.co.uk>
3796 Date:   Sat Jun 12 13:48:12 2010 +0100
3797
3798     test: Disable tests that are too slow to run by default.
3799     
3800     Introduce a slow mode [-s] to the runner, and add "slow" to the
3801     requirements for the very long running tests like the coverage stress
3802     tests.
3803
3804  test/cairo-test-runner.c |   17 +++++++++++++++--
3805  test/coverage.c          |   12 ++++++------
3806  test/half-coverage.c     |    4 ++--
3807  test/mask-glyphs.c       |    2 +-
3808  test/partial-coverage.c  |   16 ++++++++--------
3809  5 files changed, 32 insertions(+), 19 deletions(-)
3810
3811 commit 53139261c7ba1a4cc0b869cb48c136b0362a3b0c
3812 Author: Chris Wilson <chris@chris-wilson.co.uk>
3813 Date:   Sat Jun 12 13:40:17 2010 +0100
3814
3815     test: Use exact matching on test names by default.
3816     
3817     Specifying individual tests to run is more common than using a group
3818     chosen from a keyword, so change the default matching mode and introduce
3819     '-k' to select by keyword.
3820
3821  test/cairo-test-runner.c |   45 ++++++++++++++++++++++-----------------------
3822  1 file changed, 22 insertions(+), 23 deletions(-)
3823
3824 commit 97288b0859bae6cea1e3bff84b632e00f1d10917
3825 Author: Chris Wilson <chris@chris-wilson.co.uk>
3826 Date:   Sat Jun 12 13:34:27 2010 +0100
3827
3828     test: More minute geometry exercised by partial-coverage.
3829     
3830     Moving beyond the capabilities of cairo...
3831
3832  test/Makefile.am                                   |    2 +
3833  test/partial-coverage-intersecting-quads.ref.png   |  Bin 0 -> 189 bytes
3834  ...partial-coverage-intersecting-triangles.ref.png |  Bin 0 -> 202 bytes
3835  test/partial-coverage.c                            |  131 ++++++++++++++++++++
3836  4 files changed, 133 insertions(+)
3837
3838 commit 4e3ef57bc892b0b046c486390adc7164a1de64de
3839 Author: Chris Wilson <chris@chris-wilson.co.uk>
3840 Date:   Sat Jun 12 13:18:42 2010 +0100
3841
3842     test: More coverage coverage.
3843     
3844     A couple of different shapes that aim to test the tessellation side of
3845     the rasterisers more... And worryingly there does seem to be an
3846     unexpected systematic error.
3847
3848  test/Makefile.am                                   |    8 +
3849  test/coverage-column-triangles.ref.png             |  Bin 0 -> 208 bytes
3850  test/coverage-column-triangles.xlib.xfail.png      |  Bin 0 -> 12745 bytes
3851  test/coverage-intersecting-quads.ref.png           |  Bin 0 -> 253 bytes
3852  test/coverage-intersecting-quads.xlib.xfail.png    |  Bin 0 -> 15296 bytes
3853  test/coverage-intersecting-triangles.ref.png       |  Bin 0 -> 209 bytes
3854  .../coverage-intersecting-triangles.xlib.xfail.png |  Bin 0 -> 16728 bytes
3855  test/coverage-row-triangles.ref.png                |  Bin 0 -> 208 bytes
3856  test/coverage-row-triangles.xlib.xfail.png         |  Bin 0 -> 12671 bytes
3857  test/coverage.c                                    |  249 +++++++++++++++++++-
3858  10 files changed, 251 insertions(+), 6 deletions(-)
3859
3860 commit 9b7cc7641b691a3b9e3d5edd51053c9a095d9c5a
3861 Author: Chris Wilson <chris@chris-wilson.co.uk>
3862 Date:   Sat Jun 12 10:41:09 2010 +0100
3863
3864     cairo: Create error objects for cairo_t
3865     
3866     Perform an early check for error status and prevent creation of a full
3867     object. This means that we do not pass down error objects to the
3868     initialisation routines and so can survive without paranoia inside the
3869     library. It also has brings consistency that like the other
3870     constructors, no object is created in error and we can skip the
3871     cairo_destroy() if we choose (and we don't waste one of the precious
3872     zero-alloc context slots.
3873     
3874     Fixes crash in test/a8-mask introduced by 1a544361e845.
3875
3876  src/cairo-debug.c              |    2 ++
3877  src/cairo-mutex-list-private.h |    1 +
3878  src/cairo.c                    |   76 ++++++++++++++++++++++++++++++++++------
3879  src/cairoint.h                 |    3 ++
3880  4 files changed, 71 insertions(+), 11 deletions(-)
3881
3882 commit 9b6617a3b3b31d52e6646400b16ec56c754bfebd
3883 Author: Chris Wilson <chris@chris-wilson.co.uk>
3884 Date:   Fri Jun 11 21:58:34 2010 +0100
3885
3886     image: Apply component alpha to composite masks.
3887     
3888     If we need to pattern requires component alpha, then we must take a
3889     copy of the image and enable component alpha for pixman.
3890     
3891     Fixes test/text-antialias-subpixel on xlib-fallback -- i.e. we will
3892     finally render subpixel antialiased text on ancient XServers.
3893
3894  src/cairo-image-surface.c |   40 ++++++++++++++++++++++++----------------
3895  1 file changed, 24 insertions(+), 16 deletions(-)
3896
3897 commit 7440fc07f77b112b00957f5459129dba23a5683f
3898 Author: Chris Wilson <chris@chris-wilson.co.uk>
3899 Date:   Fri Jun 11 21:29:02 2010 +0100
3900
3901     test: xlib ref image refresh
3902
3903  test/Makefile.am                                   |   26 ++++++++++++++------
3904  ...clip-fill-unbounded.xlib-fallback.rgb24.ref.png |  Bin 1429 -> 1438 bytes
3905  test/clip-fill-unbounded.xlib.argb32.ref.png       |  Bin 1758 -> 1759 bytes
3906  test/clip-fill-unbounded.xlib.rgb24.ref.png        |  Bin 1426 -> 1430 bytes
3907  test/clip-group-shapes-circles.xlib.ref.png        |  Bin 0 -> 1534 bytes
3908  ...-group-shapes-unaligned-rectangles.xlib.ref.png |  Bin 0 -> 431 bytes
3909  ...ip-stroke-unbounded.xlib-fallback.rgb24.ref.png |  Bin 1429 -> 1437 bytes
3910  test/clip-stroke-unbounded.xlib.argb32.ref.png     |  Bin 1792 -> 1785 bytes
3911  test/clip-stroke-unbounded.xlib.rgb24.ref.png      |  Bin 1426 -> 1442 bytes
3912  test/clip-stroke.xlib-fallback.ref.png             |  Bin 1490 -> 1491 bytes
3913  test/clip-stroke.xlib.ref.png                      |  Bin 1490 -> 1491 bytes
3914  test/clipped-group.xlib.ref.png                    |  Bin 0 -> 289 bytes
3915  test/coverage-rectangles.xlib.xfail.png            |  Bin 0 -> 15981 bytes
3916  test/finer-grained-fallbacks.xlib-fallback.ref.png |  Bin 0 -> 919 bytes
3917  test/finer-grained-fallbacks.xlib.ref.png          |  Bin 1111 -> 1110 bytes
3918  test/finer-grained-fallbacks.xlib.rgb24.ref.png    |  Bin 1114 -> 856 bytes
3919  test/ft-text-vertical-layout-type1.xlib.ref.png    |  Bin 3639 -> 3625 bytes
3920  test/ft-text-vertical-layout-type3.xlib.ref.png    |  Bin 3605 -> 3597 bytes
3921  test/leaky-dashed-rectangle.xlib.ref.png           |  Bin 347 -> 344 bytes
3922  test/linear-gradient-subset.xlib.ref.png           |  Bin 0 -> 782 bytes
3923  test/pthread-show-text.xlib-fallback.ref.png       |  Bin 0 -> 42073 bytes
3924  ...m-intersections-curves-nz.xlib-fallback.ref.png |  Bin 264288 -> 264277 bytes
3925  test/random-intersections-curves-nz.xlib.ref.png   |  Bin 264288 -> 264277 bytes
3926  test/recording-surface-pattern.xlib.argb32.ref.png |  Bin 0 -> 3055 bytes
3927  test/recording-surface-pattern.xlib.rgb24.ref.png  |  Bin 0 -> 3124 bytes
3928  test/scale-offset-image.xlib-fallback.xfail.png    |  Bin 8706 -> 8686 bytes
3929  test/scale-offset-image.xlib.ref.png               |  Bin 0 -> 9136 bytes
3930  test/scale-offset-image.xlib.xfail.png             |  Bin 9132 -> 0 bytes
3931  test/scale-offset-similar.xlib-fallback.xfail.png  |  Bin 8706 -> 8686 bytes
3932  test/scale-offset-similar.xlib.xfail.png           |  Bin 8696 -> 8698 bytes
3933  test/self-intersecting.xlib.ref.png                |  Bin 252 -> 208 bytes
3934  test/smask-text.xlib-fallback.ref.png              |  Bin 0 -> 1874 bytes
3935  test/smask.xlib-fallback.ref.png                   |  Bin 0 -> 3423 bytes
3936  test/subsurface.xlib.ref.png                       |  Bin 0 -> 1782 bytes
3937  test/text-rotate.xlib-fallback.ref.png             |  Bin 0 -> 16592 bytes
3938  35 files changed, 19 insertions(+), 7 deletions(-)
3939
3940 commit a049889c64131b170b66ed8906309f6adee80fa5
3941 Author: Chris Wilson <chris@chris-wilson.co.uk>
3942 Date:   Fri Jun 11 21:26:26 2010 +0100
3943
3944     pattern: Remove incorrect optimisations from _cairo_pattern_aquire_surface()
3945     
3946     Safe reduction of patterns is performed in gstate, so not only are the
3947     extra checks in _cairo_pattern_acquire_surface redundant there are also
3948     unsafe. Simply remove them.
3949     
3950     Fixes test/radial-gradient-extend [xlib-fallback]
3951
3952  src/cairo-pattern.c |  110 ++++++++-------------------------------------------
3953  1 file changed, 17 insertions(+), 93 deletions(-)
3954
3955 commit 00bc1d1578dc2640db64315270b00073697fb9fa
3956 Author: Chris Wilson <chris@chris-wilson.co.uk>
3957 Date:   Fri Jun 11 20:31:29 2010 +0100
3958
3959     pattern: Remove extraordinary _cairo_pattern_fini_snapshot().
3960     
3961     Miraculously the circular references from self-copy have disappeared and
3962     the forced finish within _cairo_pattern_fini_snapshot() now quite
3963     explosive. By replacing them with an ordinary _cairo_pattern_fini() the
3964     crash from test/smask-image-mask disappear along and valgrind remains
3965     happy.
3966     
3967     Fixes test/smask-image-mask and similar.
3968
3969  src/cairo-pattern.c           |   17 -----------------
3970  src/cairo-recording-surface.c |   24 ++++++++++++------------
3971  src/cairoint.h                |    3 ---
3972  3 files changed, 12 insertions(+), 32 deletions(-)
3973
3974 commit 1098e203dc21529f138bfabfa7558f61b8427ea0
3975 Author: Chris Wilson <chris@chris-wilson.co.uk>
3976 Date:   Fri Jun 11 18:07:28 2010 +0100
3977
3978     test: pdf ref image refresh
3979
3980  test/Makefile.am                                     |   11 +++++++++++
3981  test/clear-source.pdf.xfail.png                      |  Bin 0 -> 974 bytes
3982  test/clip-fill-unbounded.pdf.argb32.ref.png          |  Bin 0 -> 1244 bytes
3983  test/clip-stroke-unbounded.pdf.argb32.xfail.png      |  Bin 0 -> 1351 bytes
3984  test/clip-unbounded.pdf.argb32.xfail.png             |  Bin 0 -> 95 bytes
3985  test/clip-unbounded.pdf.rgb24.xfail.png              |  Bin 0 -> 95 bytes
3986  test/filter-nearest-offset.pdf.xfail.png             |  Bin 2152 -> 4522 bytes
3987  test/filter-nearest-transformed.pdf.xfail.png        |  Bin 532 -> 532 bytes
3988  test/pthread-show-text.pdf.ref.png                   |  Bin 0 -> 47015 bytes
3989  test/radial-gradient-source.pdf.argb32.ref.png       |  Bin 0 -> 235290 bytes
3990  test/rotate-image-surface-paint.pdf.xfail.png        |  Bin 358 -> 442 bytes
3991  test/scale-source-surface-paint.pdf.argb32.xfail.png |  Bin 0 -> 157 bytes
3992  test/scale-source-surface-paint.pdf.rgb24.xfail.png  |  Bin 0 -> 152 bytes
3993  test/surface-pattern-operator.pdf.argb32.xfail.png   |  Bin 0 -> 5485 bytes
3994  test/surface-pattern-operator.pdf.rgb24.xfail.png    |  Bin 0 -> 2095 bytes
3995  15 files changed, 11 insertions(+)
3996
3997 commit 1c91d019c54afde0edb022312491b086588ce6c4
3998 Author: Chris Wilson <chris@chris-wilson.co.uk>
3999 Date:   Fri Jun 11 17:47:08 2010 +0100
4000
4001     test: ps ref image refresh.
4002     
4003     Update to gs-8.71 and some additional reference images for the new tests.
4004
4005  test/Makefile.am                                   |  116 +++++++++++---------
4006  test/README                                        |    2 +-
4007  test/big-line.ps.ref.png                           |  Bin 0 -> 946 bytes
4008  test/bug-bo-rectangular.ps.xfail.png               |  Bin 0 -> 945 bytes
4009  test/caps-joins-curve.ps.ref.png                   |  Bin 3728 -> 3715 bytes
4010  test/caps-joins.ps.ref.png                         |  Bin 2282 -> 2268 bytes
4011  test/caps-sub-paths.ps.ref.png                     |  Bin 0 -> 163 bytes
4012  test/caps.ps.ref.png                               |  Bin 1466 -> 1478 bytes
4013  test/clear-source.ps.xfail.png                     |  Bin 0 -> 552 bytes
4014  test/clip-disjoint.ps.ref.png                      |  Bin 0 -> 4680 bytes
4015  test/clip-fill-rule.ps.argb32.ref.png              |  Bin 0 -> 251 bytes
4016  test/clip-fill-rule.ps.rgb24.ref.png               |  Bin 0 -> 234 bytes
4017  test/clip-fill-rule.ps2.argb32.ref.png             |  Bin 310 -> 0 bytes
4018  test/clip-fill-rule.ps2.rgb24.ref.png              |  Bin 302 -> 0 bytes
4019  test/clip-fill-rule.ps3.argb32.ref.png             |  Bin 310 -> 0 bytes
4020  test/clip-fill-rule.ps3.rgb24.ref.png              |  Bin 302 -> 0 bytes
4021  test/clip-fill-unbounded.ps.argb32.xfail.png       |  Bin 0 -> 1244 bytes
4022  test/clip-image.ps.ref.png                         |  Bin 0 -> 2498 bytes
4023  test/clip-nesting.ps.argb32.ref.png                |  Bin 0 -> 441 bytes
4024  test/clip-nesting.ps.rgb24.ref.png                 |  Bin 0 -> 492 bytes
4025  test/clip-nesting.ps2.argb32.ref.png               |  Bin 651 -> 0 bytes
4026  test/clip-nesting.ps2.rgb24.ref.png                |  Bin 636 -> 0 bytes
4027  test/clip-nesting.ps3.argb32.ref.png               |  Bin 651 -> 0 bytes
4028  test/clip-nesting.ps3.rgb24.ref.png                |  Bin 636 -> 0 bytes
4029  test/clip-push-group.ps.ref.png                    |  Bin 0 -> 120 bytes
4030  test/clip-push-group.ps2.argb32.ref.png            |  Bin 179 -> 0 bytes
4031  test/clip-push-group.ps2.rgb24.ref.png             |  Bin 179 -> 0 bytes
4032  test/clip-push-group.ps3.argb32.ref.png            |  Bin 179 -> 0 bytes
4033  test/clip-push-group.ps3.rgb24.ref.png             |  Bin 179 -> 0 bytes
4034  test/clip-stroke-unbounded.ps.argb32.ref.png       |  Bin 0 -> 1351 bytes
4035  test/clip-stroke.ps.xfail.png                      |  Bin 0 -> 662 bytes
4036  test/clip-twice.ps.argb32.ref.png                  |  Bin 0 -> 492 bytes
4037  test/clip-twice.ps.rgb24.ref.png                   |  Bin 0 -> 409 bytes
4038  test/clip-twice.ps2.argb32.ref.png                 |  Bin 575 -> 0 bytes
4039  test/clip-twice.ps2.rgb24.ref.png                  |  Bin 541 -> 0 bytes
4040  test/clip-twice.ps3.argb32.ref.png                 |  Bin 575 -> 0 bytes
4041  test/clip-twice.ps3.rgb24.ref.png                  |  Bin 541 -> 0 bytes
4042  test/clipped-group.ps2.ref.png                     |  Bin 343 -> 214 bytes
4043  test/clipped-group.ps3.ref.png                     |  Bin 343 -> 214 bytes
4044  test/copy-path.ps.ref.png                          |  Bin 0 -> 379 bytes
4045  test/copy-path.ps2.ref.png                         |  Bin 474 -> 0 bytes
4046  test/copy-path.ps3.ref.png                         |  Bin 474 -> 0 bytes
4047  test/dash-caps-joins.ps.ref.png                    |  Bin 0 -> 3669 bytes
4048  test/dash-caps-joins.ps2.argb32.ref.png            |  Bin 3870 -> 0 bytes
4049  test/dash-caps-joins.ps2.rgb24.ref.png             |  Bin 3870 -> 0 bytes
4050  test/dash-caps-joins.ps3.argb32.ref.png            |  Bin 3870 -> 0 bytes
4051  test/dash-caps-joins.ps3.rgb24.ref.png             |  Bin 3870 -> 0 bytes
4052  test/dash-curve.ps2.ref.png                        |  Bin 27293 -> 24355 bytes
4053  test/dash-curve.ps3.ref.png                        |  Bin 27293 -> 24355 bytes
4054  test/dash-infinite-loop.ps.ref.png                 |  Bin 0 -> 617 bytes
4055  test/dash-scale.ps.ref.png                         |  Bin 0 -> 5965 bytes
4056  test/dash-scale.ps2.argb32.ref.png                 |  Bin 6318 -> 0 bytes
4057  test/dash-scale.ps2.rgb24.ref.png                  |  Bin 6316 -> 0 bytes
4058  test/dash-scale.ps3.argb32.ref.png                 |  Bin 6318 -> 0 bytes
4059  test/dash-scale.ps3.rgb24.ref.png                  |  Bin 6316 -> 0 bytes
4060  test/dash-state.ps2.ref.png                        |  Bin 10219 -> 8740 bytes
4061  test/dash-state.ps3.ref.png                        |  Bin 10219 -> 8740 bytes
4062  test/degenerate-arc.ps2.ref.png                    |  Bin 585 -> 509 bytes
4063  test/degenerate-arc.ps3.ref.png                    |  Bin 585 -> 509 bytes
4064  test/degenerate-curve-to.ps.xfail.png              |  Bin 202 -> 221 bytes
4065  test/degenerate-dash.ps.xfail.png                  |  Bin 1835 -> 1837 bytes
4066  test/degenerate-path.ps.argb32.xfail.png           |  Bin 236 -> 234 bytes
4067  test/degenerate-path.ps.rgb24.xfail.png            |  Bin 186 -> 184 bytes
4068  test/degenerate-pen.ps.ref.png                     |  Bin 0 -> 759 bytes
4069  test/degenerate-pen.ps2.ref.png                    |  Bin 865 -> 0 bytes
4070  test/degenerate-pen.ps3.ref.png                    |  Bin 865 -> 0 bytes
4071  test/degenerate-rel-curve-to.ps.ref.png            |  Bin 0 -> 225 bytes
4072  test/degenerate-rel-curve-to.ps.xfail.png          |  Bin 202 -> 0 bytes
4073  test/fill-and-stroke.ps.argb32.ref.png             |  Bin 0 -> 257 bytes
4074  test/fill-and-stroke.ps.rgb24.ref.png              |  Bin 0 -> 225 bytes
4075  test/fill-and-stroke.ps2.argb32.ref.png            |  Bin 310 -> 0 bytes
4076  test/fill-and-stroke.ps2.rgb24.ref.png             |  Bin 319 -> 0 bytes
4077  test/fill-and-stroke.ps3.argb32.ref.png            |  Bin 310 -> 0 bytes
4078  test/fill-and-stroke.ps3.rgb24.ref.png             |  Bin 319 -> 0 bytes
4079  .../fill-degenerate-sort-order.ps.argb32.xfail.png |  Bin 1901 -> 1903 bytes
4080  test/fill-degenerate-sort-order.ps.rgb24.xfail.png |  Bin 1645 -> 1638 bytes
4081  test/fill-image.ps.ref.png                         |  Bin 1799 -> 1645 bytes
4082  test/fill-rule.ps2.argb32.ref.png                  |  Bin 2253 -> 1878 bytes
4083  test/fill-rule.ps2.rgb24.ref.png                   |  Bin 2031 -> 1524 bytes
4084  test/fill-rule.ps3.argb32.ref.png                  |  Bin 2253 -> 1878 bytes
4085  test/fill-rule.ps3.rgb24.ref.png                   |  Bin 2031 -> 1524 bytes
4086  test/finer-grained-fallbacks.ps2.argb32.ref.png    |  Bin 1173 -> 1168 bytes
4087  test/finer-grained-fallbacks.ps2.rgb24.ref.png     |  Bin 1154 -> 936 bytes
4088  test/finer-grained-fallbacks.ps3.argb32.ref.png    |  Bin 1173 -> 1168 bytes
4089  test/finer-grained-fallbacks.ps3.rgb24.ref.png     |  Bin 1154 -> 936 bytes
4090  test/ft-text-vertical-layout-type1.ps.ref.png      |  Bin 1634 -> 2088 bytes
4091  test/ft-text-vertical-layout-type3.ps.ref.png      |  Bin 1636 -> 2134 bytes
4092  test/group-unaligned.ps.ref.png                    |  Bin 332 -> 321 bytes
4093  test/group-unaligned.ps.rgb24.xfail.png            |  Bin 0 -> 371 bytes
4094  test/implicit-close.ps.ref.png                     |  Bin 0 -> 252 bytes
4095  test/joins.ps.ref.png                              |  Bin 5496 -> 4230 bytes
4096  test/leaky-dashed-rectangle.ps.ref.png             |  Bin 444 -> 358 bytes
4097  test/leaky-dashed-stroke.ps.ref.png                |  Bin 0 -> 5293 bytes
4098  test/leaky-dashed-stroke.ps2.ref.png               |  Bin 5511 -> 0 bytes
4099  test/leaky-dashed-stroke.ps3.ref.png               |  Bin 5511 -> 0 bytes
4100  test/leaky-polygon.ps.ref.png                      |  Bin 0 -> 289 bytes
4101  test/leaky-polygon.ps2.ref.png                     |  Bin 354 -> 0 bytes
4102  test/leaky-polygon.ps3.ref.png                     |  Bin 354 -> 0 bytes
4103  test/line-width-scale.ps2.ref.png                  |  Bin 3911 -> 3431 bytes
4104  test/line-width-scale.ps3.ref.png                  |  Bin 3911 -> 3431 bytes
4105  test/linear-gradient-subset.ps3.ref.png            |  Bin 0 -> 619 bytes
4106  test/long-dashed-lines.ps2.ref.png                 |  Bin 1516 -> 1329 bytes
4107  test/long-dashed-lines.ps3.ref.png                 |  Bin 1516 -> 1329 bytes
4108  test/new-sub-path.ps2.argb32.ref.png               |  Bin 556 -> 398 bytes
4109  test/new-sub-path.ps3.argb32.ref.png               |  Bin 556 -> 398 bytes
4110  test/operator-alpha-alpha.ps.xfail.png             |  Bin 1338 -> 3429 bytes
4111  test/over-around-source.ps2.argb32.ref.png         |  Bin 522 -> 508 bytes
4112  test/over-around-source.ps3.argb32.ref.png         |  Bin 522 -> 508 bytes
4113  test/over-below-source.ps2.argb32.ref.png          |  Bin 503 -> 368 bytes
4114  test/over-below-source.ps2.rgb24.ref.png           |  Bin 0 -> 362 bytes
4115  test/over-below-source.ps3.argb32.ref.png          |  Bin 503 -> 368 bytes
4116  test/over-below-source.ps3.rgb24.ref.png           |  Bin 0 -> 362 bytes
4117  test/path-append.ps.ref.png                        |  Bin 4516 -> 4525 bytes
4118  test/pixman-rotate.ps.argb32.ref.png               |  Bin 0 -> 355 bytes
4119  test/push-group-color.ps3.ref.png                  |  Bin 0 -> 2561 bytes
4120  test/random-intersections-curves-eo.ps.ref.png     |  Bin 151676 -> 151668 bytes
4121  test/random-intersections-curves-nz.ps.ref.png     |  Bin 134732 -> 134746 bytes
4122  test/random-intersections-eo.ps.ref.png            |  Bin 78806 -> 78037 bytes
4123  test/random-intersections-nonzero.ps.ref.png       |  Bin 77299 -> 76450 bytes
4124  test/recording-surface-pattern.ps.argb32.ref.png   |  Bin 0 -> 3064 bytes
4125  test/recording-surface-pattern.ps.rgb24.ref.png    |  Bin 0 -> 3147 bytes
4126  test/recording-surface-pattern.ps2.argb32.ref.png  |  Bin 3257 -> 0 bytes
4127  test/recording-surface-pattern.ps2.rgb24.ref.png   |  Bin 3873 -> 0 bytes
4128  test/recording-surface-pattern.ps3.argb32.ref.png  |  Bin 3257 -> 0 bytes
4129  test/recording-surface-pattern.ps3.rgb24.ref.png   |  Bin 3873 -> 0 bytes
4130  test/reflected-stroke.ps.ref.png                   |  Bin 0 -> 3368 bytes
4131  test/reflected-stroke.ps2.ref.png                  |  Bin 3898 -> 0 bytes
4132  test/reflected-stroke.ps3.ref.png                  |  Bin 3898 -> 0 bytes
4133  test/rounded-rectangle-fill.ps.ref.png             |  Bin 0 -> 551 bytes
4134  test/rounded-rectangle-stroke.ps.ref.png           |  Bin 0 -> 568 bytes
4135  test/scale-offset-image.ps.ref.png                 |  Bin 7289 -> 7697 bytes
4136  test/spline-decomposition.ps.ref.png               |  Bin 9028 -> 8939 bytes
4137  test/stroke-image.ps.ref.png                       |  Bin 1641 -> 1682 bytes
4138  test/subsurface.ps.ref.png                         |  Bin 0 -> 1651 bytes
4139  test/surface-pattern-big-scale-down.ps.ref.png     |  Bin 0 -> 235 bytes
4140  test/surface-pattern-big-scale-down.ps.xfail.png   |  Bin 238 -> 0 bytes
4141  test/text-glyph-range.ps.ref.png                   |  Bin 0 -> 1253 bytes
4142  test/text-glyph-range.ps2.ref.png                  |  Bin 1389 -> 0 bytes
4143  test/text-glyph-range.ps3.ref.png                  |  Bin 1389 -> 0 bytes
4144  test/text-rotate.ps.ref.png                        |  Bin 0 -> 8765 bytes
4145  test/text-rotate.ps2.ref.png                       |  Bin 6851 -> 0 bytes
4146  test/text-rotate.ps3.ref.png                       |  Bin 6851 -> 0 bytes
4147  test/text-transform.ps.ref.png                     |  Bin 0 -> 3430 bytes
4148  test/text-transform.ps2.ref.png                    |  Bin 4154 -> 0 bytes
4149  test/text-transform.ps3.ref.png                    |  Bin 4154 -> 0 bytes
4150  test/trap-clip.ps2.argb32.ref.png                  |  Bin 4849 -> 4839 bytes
4151  test/trap-clip.ps2.rgb24.ref.png                   |  Bin 5617 -> 4729 bytes
4152  test/trap-clip.ps3.argb32.ref.png                  |  Bin 5591 -> 4751 bytes
4153  test/trap-clip.ps3.rgb24.ref.png                   |  Bin 5512 -> 4553 bytes
4154  test/twin.ps.ref.png                               |  Bin 2142 -> 2136 bytes
4155  test/user-font-proxy.ps.ref.png                    |  Bin 7766 -> 7837 bytes
4156  test/user-font-rescale.ps.ref.png                  |  Bin 0 -> 6781 bytes
4157  test/user-font-rescale.ps2.ref.png                 |  Bin 8041 -> 0 bytes
4158  test/user-font-rescale.ps3.ref.png                 |  Bin 8041 -> 0 bytes
4159  test/xlib-expose-event.ps.ref.png                  |  Bin 0 -> 39035 bytes
4160  155 files changed, 65 insertions(+), 53 deletions(-)
4161
4162 commit 1a544361e845e4881990624a597f9dc2b82d1c73
4163 Author: Chris Wilson <chris@chris-wilson.co.uk>
4164 Date:   Fri Jun 11 16:04:41 2010 +0100
4165
4166     gstate: Update cached matrix state after device transform changes on the target
4167     
4168     Commit 8d67186cb291cb877e52b987e2ac18c2a1175a57 caches whether the device
4169     transform is identity on context creation. However, the api is quite lax
4170     and allows the user to modify the device transform *after* he has
4171     started to use the surface in a context, as apparently WebKit does.
4172     Since this is not the only instance where we may need to invalidate
4173     caches if the user modifies state, introduce a simple mechanism for
4174     hooking into notifications of property changes.
4175     
4176     Fixes test/clip-device-offset.
4177
4178  src/Makefile.sources        |    1 +
4179  src/cairo-gstate-private.h  |    3 +++
4180  src/cairo-gstate.c          |   28 ++++++++++++++++++++----
4181  src/cairo-observer.c        |   50 +++++++++++++++++++++++++++++++++++++++++++
4182  src/cairo-surface-private.h |    1 +
4183  src/cairo-surface.c         |    6 ++++++
4184  src/cairo-types-private.h   |    6 ++++++
4185  src/cairoint.h              |    5 +++++
4186  8 files changed, 96 insertions(+), 4 deletions(-)
4187
4188 commit f74b11415a1f7682dd50c222baa8815ef93681dc
4189 Author: Chris Wilson <chris@chris-wilson.co.uk>
4190 Date:   Fri Jun 11 14:06:15 2010 +0100
4191
4192     test: Use a group to render PDF correctly using poppler.
4193     
4194     In order to support blend modes, we need to use a clear background
4195     whilst rendering the PDF, which inspired the use of DEST_OVER to avoid
4196     having to render to an intermediate surface. However, the adjunct of
4197     using subpixel text means that we cannot simply using the alpha channel
4198     as the sole mask and so need to render to an intermediate and paint it
4199     over an opaque background.
4200
4201  test/any2ppm.c |    9 ++++++---
4202  test/pdf2png.c |    9 ++++++---
4203  2 files changed, 12 insertions(+), 6 deletions(-)
4204
4205 commit 7f227ec8d3f981dbbf2ca1914bf7fd29d9cdfd05
4206 Author: Chris Wilson <chris@chris-wilson.co.uk>
4207 Date:   Fri Jun 11 12:54:15 2010 +0100
4208
4209     Revert "test/pdf2png: Don't use DEST_OVER as poppler starts using subpixel text."
4210     
4211     This reverts commit 506b2ebe714d61a64972b607a42a55e48d1c722a.
4212     
4213     We have conflicting requirements here. In order to support extended
4214     blend modes correctly we need to use DEST_OVER, at the expense of
4215     supporting subpixel text. More thought required.
4216
4217  test/any2ppm.c |    9 +++++----
4218  test/pdf2png.c |   10 +++++-----
4219  2 files changed, 10 insertions(+), 9 deletions(-)
4220
4221 commit c761e0c5bb55e8869521ad5b4a2447ea9abcb4d1
4222 Author: Chris Wilson <chris@chris-wilson.co.uk>
4223 Date:   Fri Jun 11 12:40:36 2010 +0100
4224
4225     test: Restrict the coverage tests to raster targets.
4226     
4227     Typo inside the requirements failed to prevent the tests running on the
4228     vector backends.
4229
4230  test/coverage.c         |    4 ++--
4231  test/half-coverage.c    |    4 ++--
4232  test/partial-coverage.c |   18 +++++++++---------
4233  3 files changed, 13 insertions(+), 13 deletions(-)
4234
4235 commit b49c944fe4abb9f3c70fac02a71061bf8d07259a
4236 Author: Chris Wilson <chris@chris-wilson.co.uk>
4237 Date:   Fri Jun 11 12:38:17 2010 +0100
4238
4239     test: Add a convenience script to disable the screensaver when testing
4240     
4241     If the screensaver activates, it can cause failures when attempting to
4242     render into an xlib window, so inhibit if we know how.
4243
4244  test/Makefile.am             |    2 +-
4245  test/run-cairo-test-suite.sh |   18 ++++++++++++++++++
4246  2 files changed, 19 insertions(+), 1 deletion(-)
4247
4248 commit 4e4724d48c63d0cd4ec507ce72dcc55fb6e5f584
4249 Author: Chris Wilson <chris@chris-wilson.co.uk>
4250 Date:   Fri Jun 11 12:19:56 2010 +0100
4251
4252     gl: make check insists "cairoint.h" is first.
4253
4254  src/cairo-gl-gradient.c |    5 ++---
4255  1 file changed, 2 insertions(+), 3 deletions(-)
4256
4257 commit 4edbcf1b1d046c9c626a0c0ad10d3c71f17984f2
4258 Author: Chris Wilson <chris@chris-wilson.co.uk>
4259 Date:   Fri Jun 11 12:17:19 2010 +0100
4260
4261     color: Mark _cairo_color_get_content() as private.
4262
4263  src/cairoint.h |    2 +-
4264  1 file changed, 1 insertion(+), 1 deletion(-)
4265
4266 commit 506b2ebe714d61a64972b607a42a55e48d1c722a
4267 Author: Chris Wilson <chris@chris-wilson.co.uk>
4268 Date:   Fri Jun 11 12:04:39 2010 +0100
4269
4270     test/pdf2png: Don't use DEST_OVER as poppler starts using subpixel text.
4271     
4272     Using DEST_OVER in this form to paint the background white fails in the
4273     presence of subpixel geometry (particular text), so remove the hack and
4274     simply paint the background white prior to passing the surface to
4275     poppler. KISS.
4276
4277  test/any2ppm.c |    9 ++++-----
4278  test/pdf2png.c |   10 +++++-----
4279  2 files changed, 9 insertions(+), 10 deletions(-)
4280
4281 commit edb73b6dcf1adce40d6c10c492e3f78556e22b85
4282 Author: Chris Wilson <chris@chris-wilson.co.uk>
4283 Date:   Fri Jun 11 11:16:42 2010 +0100
4284
4285     xlib: Adjust trapezoid precision based on antialias.
4286     
4287     Render supports two modes of precision when rendering trapezoids.
4288     Precise specifies points sampling on a 15x17 grid, ala pixman. Imprecise
4289     allows the driver more freedom in the methods used, which may be more
4290     amenable to acceleration. Choose to use the imprecise mode by default,
4291     but still allow users to force the more rigidly specified precision by
4292     changing the antialias mode.
4293
4294  src/cairo-xlib-surface-private.h |    1 +
4295  src/cairo-xlib-surface.c         |   31 +++++++++++++++++++++++++++++++
4296  2 files changed, 32 insertions(+)
4297
4298 commit 290749bdb5c634c030db81722214661c34344403
4299 Author: Chris Wilson <chris@chris-wilson.co.uk>
4300 Date:   Fri Jun 11 10:59:17 2010 +0100
4301
4302     polygon: Reorder conditionals based on likelihood.
4303     
4304     The vast majority of edges will be unclipped, so process those first.
4305
4306  src/cairo-polygon.c |   30 +++++++++++++++---------------
4307  1 file changed, 15 insertions(+), 15 deletions(-)
4308
4309 commit 55037bfb2454a671332d961e061c712ab5471580
4310 Author: Karl Tomlinson <karlt+@karlt.net>
4311 Date:   Fri Jun 11 10:35:43 2010 +0100
4312
4313     xlib: Find matching Visual for XRenderFormat
4314     
4315     Not only is this useful for users to know which Visual matches any
4316     particular Cairo surface, it should also close a few obscure bugs of not
4317     converting images correctly on upload.
4318     
4319     Fixes:
4320     
4321       Bug 28492 - cairo_xlib_surface_create_with_xrender_format does not
4322                   create visual for resulting surface
4323       https://bugs.freedesktop.org/show_bug.cgi?id=28492
4324     
4325       Mozilla Bug 567065 - Try to create offscreen Xlib surface from existing
4326                            visual if possible
4327       https://bugzilla.mozilla.org/show_bug.cgi?id=567065
4328     
4329       Mozilla Bug 445250 - cairo_draw_with_xlib should provide a non-NULL visual
4330                            to callback
4331       https://bugzilla.mozilla.org/show_bug.cgi?id=445250
4332     
4333     Reported-by: Oleg Romashin <romaxa@gmail.com>
4334
4335  src/cairo-xlib-surface.c |   74 ++++++++++++++++++++++++++++++++++++++++------
4336  1 file changed, 65 insertions(+), 9 deletions(-)
4337
4338 commit cf426bce8ebd3aff5d50c6a54bbd731132b3d312
4339 Author: Chris Wilson <chris@chris-wilson.co.uk>
4340 Date:   Fri Jun 11 10:05:09 2010 +0100
4341
4342     test: Add a simple coverage test.
4343     
4344     This test case should be much clearer than half-coverage over what it
4345     purports to actually test. In each pixel, it draws a single geometric
4346     primitive that coverages a known percentage of the pixel and then we
4347     measure how close the rasterisers are to that ideal.
4348
4349  test/Makefile.am                 |    2 +
4350  test/Makefile.sources            |    1 +
4351  test/coverage-rectangles.ref.png |  Bin 0 -> 259 bytes
4352  test/coverage-triangles.ref.png  |  Bin 0 -> 253 bytes
4353  test/coverage.c                  |  135 ++++++++++++++++++++++++++++++++++++++
4354  5 files changed, 138 insertions(+)
4355
4356 commit bd3d9ef3d1dbc5364e79e6afb47d9e124cb61ca4
4357 Author: Chris Wilson <chris@chris-wilson.co.uk>
4358 Date:   Fri Jun 11 09:12:16 2010 +0100
4359
4360     test: Distinguish tests that throw an error from a normal fail.
4361     
4362     Hitting an error in a test case is almost as bad as crashing, and the
4363     severity may be lost amidst "normal" failures. So introduce a new class
4364     of ERROR so that we can immediately spot these during a test run, and
4365     appropriately log them afterwards.
4366
4367  test/cairo-test-runner.c |   89 ++++++++++++++++++++++++++++++++++++++++++++--
4368  test/cairo-test.c        |   20 ++++++++++-
4369  test/cairo-test.h        |    1 +
4370  3 files changed, 107 insertions(+), 3 deletions(-)
4371
4372 commit eeafeebd2ec8ad8a9e7053aaaa0f845b58563b3b
4373 Author: Chris Wilson <chris@chris-wilson.co.uk>
4374 Date:   Fri Jun 11 09:06:20 2010 +0100
4375
4376     path: Exponentially grow buffer based on populated points and ops.
4377     
4378     Instead of simply doubling the buffer size every time we overflow a point
4379     or an op, enlarge the buffer to fit twice the number of used points and
4380     ops.  We expect paths to be fairly consistent in the mix of operations,
4381     and this allows the buffer size to tune itself to actual usage and reduce
4382     wastage.
4383
4384  src/cairo-path-fixed-private.h |    3 ++-
4385  src/cairo-path-fixed.c         |   39 +++++++++++++++++++--------------------
4386  2 files changed, 21 insertions(+), 21 deletions(-)
4387
4388 commit b0056a86b4f6c92fa7eb89baf8483a46979c8cf1
4389 Author: Chris Wilson <chris@chris-wilson.co.uk>
4390 Date:   Thu Jun 10 18:27:22 2010 +0100
4391
4392     test: Exercise partial coverage some more.
4393     
4394     Add some overlapping triangles (coarse enough for them to be resolved
4395     using Cairo's 24.8 fixed point without loss of precision) to exercise
4396     handling of overlapping subpixel geometry.
4397
4398  test/Makefile.am                                   |    4 +
4399  ...tial-coverage-overlap-half-triangles-eo.ref.png |  Bin 0 -> 189 bytes
4400  ...partial-coverage-overlap-half-triangles.ref.png |  Bin 0 -> 189 bytes
4401  ...overage-overlap-three-quarter-triangles.ref.png |  Bin 0 -> 186 bytes
4402  ...artial-coverage-three-quarter-reference.ref.png |  Bin 0 -> 186 bytes
4403  test/partial-coverage.c                            |  284 ++++++++++++++++++--
4404  6 files changed, 269 insertions(+), 19 deletions(-)
4405
4406 commit 836f6166597eaa687b10e5f26fe71e099c434aa1
4407 Author: Andrea Canciani <ranma42@gmail.com>
4408 Date:   Wed Jun 9 19:09:22 2010 +0200
4409
4410     gl: support single stop gradients
4411
4412  src/cairo-gl-gradient-private.h |    2 +-
4413  src/cairo-gl-gradient.c         |    3 +--
4414  2 files changed, 2 insertions(+), 3 deletions(-)
4415
4416 commit d17e2c5e23eac302b7463a08205088147da1172a
4417 Author: Andrea Canciani <ranma42@gmail.com>
4418 Date:   Thu Jun 10 10:52:16 2010 +0200
4419
4420     ps: support single stop gradients
4421
4422  src/cairo-ps-surface.c |    9 ++++-----
4423  1 file changed, 4 insertions(+), 5 deletions(-)
4424
4425 commit eb7fc351156bd66921ac3b3ffbd1fba6ba743ffb
4426 Author: Andrea Canciani <ranma42@gmail.com>
4427 Date:   Thu Jun 10 10:51:50 2010 +0200
4428
4429     pdf: support single stop gradients
4430
4431  src/cairo-pdf-surface.c |    6 +++---
4432  1 file changed, 3 insertions(+), 3 deletions(-)
4433
4434 commit e2660a0eac5f6081bf052db16b8bd85c814d19d8
4435 Author: Andrea Canciani <ranma42@gmail.com>
4436 Date:   Wed Jun 9 16:59:29 2010 +0200
4437
4438     pattern: improve single stop gradients handling
4439     
4440     None-extended single stop gradients are now explicitly made clear.
4441
4442  src/cairo-pattern.c |    9 ++++++++-
4443  1 file changed, 8 insertions(+), 1 deletion(-)
4444
4445 commit 7a024bc206aae790c7357be83474126037335ab1
4446 Author: Andrea Canciani <ranma42@gmail.com>
4447 Date:   Wed Jun 9 17:59:47 2010 +0200
4448
4449     test: exercise ps crash with single stop gradients
4450     
4451     PS crashes only when using the source operator, as it will otherwise
4452     fallback to rasterization of the gradients.
4453
4454  test/linear-gradient-one-stop.argb32.ref.png |  Bin 0 -> 225 bytes
4455  test/linear-gradient-one-stop.c              |    2 +-
4456  test/linear-gradient-one-stop.ref.png        |  Bin 344 -> 0 bytes
4457  test/linear-gradient-one-stop.rgb24.ref.png  |  Bin 0 -> 174 bytes
4458  test/radial-gradient-one-stop.argb32.ref.png |  Bin 0 -> 1392 bytes
4459  test/radial-gradient-one-stop.c              |    2 +-
4460  test/radial-gradient-one-stop.ref.png        |  Bin 1422 -> 0 bytes
4461  test/radial-gradient-one-stop.rgb24.ref.png  |  Bin 0 -> 1153 bytes
4462  8 files changed, 2 insertions(+), 2 deletions(-)
4463
4464 commit a0f8cfe64660c0043db15f9b9cbf1298bf1838d1
4465 Author: Andrea Canciani <ranma42@gmail.com>
4466 Date:   Tue Jun 8 17:04:00 2010 +0200
4467
4468     pattern: improve degenerate gradients handling
4469     
4470     Degenerate radial gradients are now considered clear.
4471
4472  src/cairo-pattern.c |   35 +++++++++++++++++++++++++----------
4473  1 file changed, 25 insertions(+), 10 deletions(-)
4474
4475 commit bccd89b4177b5f5bd05def9bee5f0927a9f25e4a
4476 Author: Andrea Canciani <ranma42@gmail.com>
4477 Date:   Tue Jun 8 15:45:09 2010 +0200
4478
4479     gstate: correct optimizations
4480     
4481     Gradient were previously hand-optimized (without properly checking
4482     for extend modes). By properly using _cairo_pattern functions we
4483     avoid code duplication and bugs.
4484     
4485     Fixes linear-gradient-extend, radial-gradient-extend.
4486
4487  src/cairo-gstate.c |   85 +++++++++++-----------------------------------------
4488  1 file changed, 17 insertions(+), 68 deletions(-)
4489
4490 commit 06c6207ad4205f211be70e324c6d32ea7d28dca8
4491 Author: Andrea Canciani <ranma42@gmail.com>
4492 Date:   Tue Jun 1 19:40:14 2010 +0200
4493
4494     pattern: add gradient_is_solid function
4495     
4496     It contains in a single place the logic needed to check if a gradient
4497     pattern is solid (within a specified region).
4498
4499  src/cairo-pattern.c |   53 +++++++++++++++++++++++++++++++++++++++++++++++++++
4500  src/cairoint.h      |    5 +++++
4501  2 files changed, 58 insertions(+)
4502
4503 commit 561625ee3bd2732457eaaf28937edf557ee7661d
4504 Author: Andrea Canciani <ranma42@gmail.com>
4505 Date:   Tue Jun 1 19:39:02 2010 +0200
4506
4507     pattern: improve clear/opaque check functions
4508     
4509     _cairo_pattern_is_opaque was missing some checks about the extend type.
4510     Conversely _cairo_pattern_is_clear was being too strict about gradients.
4511
4512  src/cairo-pattern.c |  112 +++++++++++++++++++++++++++++++++++++++++++++++----
4513  src/cairoint.h      |    4 ++
4514  2 files changed, 108 insertions(+), 8 deletions(-)
4515
4516 commit baaf312e047a9bea6f54e63cd6534c2ed7448523
4517 Author: Andrea Canciani <ranma42@gmail.com>
4518 Date:   Mon Apr 19 09:53:00 2010 +0200
4519
4520     pattern: remove content field from solid patterns
4521     
4522     The content field in solid patterns had ill-defined semantic (or no
4523     semantic at all), thus it can be removed.
4524
4525  src/cairo-color.c          |   16 ++++++++++++++++
4526  src/cairo-gl-surface.c     |    2 +-
4527  src/cairo-gstate.c         |   14 +++++---------
4528  src/cairo-pattern.c        |   37 ++++++++++---------------------------
4529  src/cairo-script-surface.c |    9 +++------
4530  src/cairo-surface.c        |    4 ++--
4531  src/cairo-types-private.h  |    1 -
4532  src/cairo-xlib-surface.c   |    6 +++---
4533  src/cairo.c                |    4 ++--
4534  src/cairoint.h             |    9 +++++----
4535  10 files changed, 47 insertions(+), 55 deletions(-)
4536
4537 commit 7461947eb1a5f002a5931303843a5a2deca0e383
4538 Author: Andrea Canciani <ranma42@gmail.com>
4539 Date:   Mon Apr 19 09:51:26 2010 +0200
4540
4541     surface: remove content argument from is_similar
4542     
4543     The content argument was basically unuses.
4544     
4545     Xlib change extracted from ickle's wip/compositor branch.
4546
4547  src/cairo-directfb-surface.c |    2 +-
4548  src/cairo-pattern.c          |    5 ++---
4549  src/cairo-surface.c          |    5 ++---
4550  src/cairo-win32-surface.c    |    3 +--
4551  src/cairo-xlib-surface.c     |   30 ++----------------------------
4552  src/cairoint.h               |    6 ++----
4553  6 files changed, 10 insertions(+), 41 deletions(-)
4554
4555 commit ef5f9b5c61750207947587173d21b46e2d299f33
4556 Author: Chris Wilson <chris@chris-wilson.co.uk>
4557 Date:   Thu Jun 10 14:13:53 2010 +0100
4558
4559     test: Update partial coverage.
4560     
4561     Gah, no wonder the output looked wrong for the triangles, they only
4562     covered half the pixel. So separate triangles into two cases.
4563
4564  test/Makefile.am                             |    2 +
4565  test/partial-coverage-half-reference.ref.png |  Bin 0 -> 189 bytes
4566  test/partial-coverage-half-triangles.ref.png |  Bin 0 -> 189 bytes
4567  test/partial-coverage.c                      |   98 ++++++++++++++++++++++++--
4568  4 files changed, 96 insertions(+), 4 deletions(-)
4569
4570 commit 8d67186cb291cb877e52b987e2ac18c2a1175a57
4571 Author: Chris Wilson <chris@chris-wilson.co.uk>
4572 Date:   Thu Jun 10 11:36:58 2010 +0100
4573
4574     gstate: Track whether the combination of ctm * device is identity.
4575     
4576     In the fairly common condition that both the ctm and the device
4577     transforms are identity, the function overhead of calling the matrix
4578     multiplication on the point overwhelmingly dominates.
4579
4580  src/cairo-clip.c           |    1 +
4581  src/cairo-gstate-private.h |  310 ++++++++++++++++++++++++++++++++++++++++++++
4582  src/cairo-gstate.c         |   18 ++-
4583  src/cairoint.h             |  295 -----------------------------------------
4584  4 files changed, 327 insertions(+), 297 deletions(-)
4585
4586 commit 1349728d1ef63ed562a3fd0ee3c0a89aaba77616
4587 Author: Chris Wilson <chris@chris-wilson.co.uk>
4588 Date:   Thu Jun 10 11:26:12 2010 +0100
4589
4590     test: Add partial coverage.
4591     
4592     Another experiment in measuring consistency of rasterisation stratagems
4593     across the backends.
4594
4595  test/Makefile.am                         |    3 +
4596  test/Makefile.sources                    |    1 +
4597  test/partial-coverage-rectangles.ref.png |  Bin 0 -> 202 bytes
4598  test/partial-coverage-reference.ref.png  |  Bin 0 -> 202 bytes
4599  test/partial-coverage-triangles.ref.png  |  Bin 0 -> 202 bytes
4600  test/partial-coverage.c                  |  213 ++++++++++++++++++++++++++++++
4601  6 files changed, 217 insertions(+)
4602
4603 commit 486118361ad0c2e68fa9f6b44ddb10e84d237eca
4604 Author: Chris Wilson <chris@chris-wilson.co.uk>
4605 Date:   Thu Jun 10 11:28:26 2010 +0100
4606
4607     test: Fix half-coverage colouration.
4608     
4609     Hmm, red over red makes the test pointless. The test still remains of
4610     highly dubious quality, as it primarily serves as a rendercheck more
4611     than a test of Cairo. The best hope for this test is that it inspires a
4612     better one.
4613     
4614     And incorporate the notes made by Joonas.
4615
4616  test/half-coverage.c |   28 +++++++++++++++++++++++++++-
4617  1 file changed, 27 insertions(+), 1 deletion(-)
4618
4619 commit 5cb764850f7c405085739647bac2809045e7cdf3
4620 Author: Dmitri Vorobiev <dmitri.vorobiev@movial.com>
4621 Date:   Wed Jun 9 19:20:27 2010 +0300
4622
4623     scaled-font: optimize cairo_scaled_font_text_to_glyphs()
4624     
4625     This patch serves two purposes. First, it factors out the heavy part
4626     of the cairo_scaled_font_text_to_glyphs() routine thus allowing GCC
4627     to better optimize the cache cleanup loop. Keeping the look-up table
4628     indices in a separate array speeds up array initialization even further.
4629     
4630     Second, this patch introduces a shortcut for the case when the string
4631     to be rendered consists of a single character. In this case, caching is
4632     not necessary at all.
4633     
4634     We have a benchmark that uses Cairo to render a large amount of random
4635     strings of consisting of printable ASCII characters. Below are Oprofile
4636     results collected while running this benchmark. It is easy to see that
4637     the heavy part becomes noticeably lighter.
4638     
4639     Before:
4640     
4641     Profiling through timer interrupt
4642     samples  %        app name                 symbol name
4643     198755   13.5580  libcairo.so.2.10907.0    cairo_scaled_font_text_to_glyphs
4644     88580     6.0424  libcairo.so.2.10907.0    _cairo_scaled_glyph_lookup
4645     81127     5.5340  libcairo.so.2.10907.0    _cairo_hash_table_lookup
4646     68186     4.6513  libcairo.so.2.10907.0    cairo_scaled_font_glyph_extents
4647     47145     3.2160  libcairo.so.2.10907.0    _composite_glyphs_via_mask
4648     46327     3.1602  libcairo.so.2.10907.0    _cairo_scaled_font_glyph_device_extents
4649     44817     3.0572  libcairo.so.2.10907.0    _composite_glyphs
4650     40431     2.7580  libcairo.so.2.10907.0    .plt
4651     
4652     After (note that cairo_scaled_font_text_to_glyphs_internal_single() was inlined):
4653     
4654     Profiling through timer interrupt
4655     samples  %        app name                 symbol name
4656     107264    7.6406  libcairo.so.2.10907.0    cairo_scaled_font_text_to_glyphs_internal_multiple
4657     87888     6.2604  libcairo.so.2.10907.0    _cairo_scaled_glyph_lookup
4658     79011     5.6281  libcairo.so.2.10907.0    _cairo_hash_table_lookup
4659     71723     5.1090  libcairo.so.2.10907.0    cairo_scaled_font_glyph_extents
4660     48084     3.4251  libcairo.so.2.10907.0    _composite_glyphs_via_mask
4661     46636     3.3220  libcairo.so.2.10907.0    _cairo_scaled_font_glyph_device_extents
4662     44740     3.1869  libcairo.so.2.10907.0    _composite_glyphs
4663     42472     3.0254  libc-2.8.so              _int_malloc
4664     39194     2.7919  libcairo.so.2.10907.0    _cairo_gstate_transform_glyphs_to_backend
4665     38614     2.7506  libcairo.so.2.10907.0    .plt
4666     37063     2.6401  libcairo.so.2.10907.0    _cairo_ft_ucs4_to_index
4667     36856     2.6253  libc-2.8.so              random
4668     36376     2.5911  libcairo.so.2.10907.0    _cairo_scaled_glyphs_equal
4669     34545     2.4607  libcairo.so.2.10907.0    cairo_matrix_transform_point
4670     31690     2.2573  libc-2.8.so              malloc
4671     29395     2.0939  libcairo.so.2.10907.0    _cairo_matrix_is_identity
4672     26142     1.8621  libcairo.so.2.10907.0    _cairo_utf8_to_ucs4
4673     24406     1.7385  libc-2.8.so              free
4674     24059     1.7138  libcairo.so.2.10907.0    cairo_scaled_font_text_to_glyphs
4675     
4676     [ickle: slightly amended for stylistic consistency.]
4677
4678  src/cairo-scaled-font.c |  168 ++++++++++++++++++++++++++++++++---------------
4679  1 file changed, 114 insertions(+), 54 deletions(-)
4680
4681 commit c43399fa68696aa62599fb71752850dd46c15c82
4682 Author: Andrea Canciani <ranma42@gmail.com>
4683 Date:   Wed Jun 9 17:53:09 2010 +0200
4684
4685     gl: fix compilation on MacOS X
4686     
4687     MacOS X uses different defines to avoid multiple inclusion of GL
4688     header files. Adding them to glew.h fixes the compilation when GL is
4689     enabled.
4690
4691  src/glew/GL/glew.h |    3 ++-
4692  1 file changed, 2 insertions(+), 1 deletion(-)
4693
4694 commit 6eb5f859f1d38783dc43541e7e87b0c5f91691d8
4695 Author: Chris Wilson <chris@chris-wilson.co.uk>
4696 Date:   Wed Jun 9 10:40:32 2010 +0100
4697
4698     bo: And disable DEBUG_TRAPS again.
4699     
4700     Meh. I'm going back to bed. Thanks Joonas for catching this.
4701
4702  src/cairo-bentley-ottmann.c |    2 +-
4703  1 file changed, 1 insertion(+), 1 deletion(-)
4704
4705 commit 85af0ec37456b4eb47c39326b24370a9ccc43092
4706 Author: Chris Wilson <chris@chris-wilson.co.uk>
4707 Date:   Wed Jun 9 10:33:29 2010 +0100
4708
4709     test: Add half-coverage to exercise the rasteriser with subpixel geometry.
4710
4711  test/Makefile.sources |    1 +
4712  test/half-coverage.c  |  129 +++++++++++++++++++++++++++++++++++++++++++++++++
4713  2 files changed, 130 insertions(+)
4714
4715 commit 56c081bdc6d29df932e6993109586ff275d8de12
4716 Author: Chris Wilson <chris@chris-wilson.co.uk>
4717 Date:   Wed Jun 9 10:33:01 2010 +0100
4718
4719     bo: Fix debugging for changes in internal traps api.
4720
4721  src/cairo-bentley-ottmann.c |   10 +++++++---
4722  1 file changed, 7 insertions(+), 3 deletions(-)
4723
4724 commit a946d39555136adc4eff3b68a62ba37f6d9a6299
4725 Author: Benjamin Otte <otte@redhat.com>
4726 Date:   Tue Jun 8 21:09:51 2010 +0200
4727
4728     gl: Add support for clip regions to the span renderer
4729     
4730     Clip surface support is still missing, but i suppose that'd need a tiny
4731     bit more code...
4732
4733  src/cairo-gl-surface.c |   16 +++++++++++++---
4734  1 file changed, 13 insertions(+), 3 deletions(-)
4735
4736 commit f61b3f25aff454800a9d6013012d41633139d896
4737 Author: Benjamin Otte <otte@redhat.com>
4738 Date:   Tue Jun 8 12:03:36 2010 +0200
4739
4740     gl: Add an assertion that we always have a texture
4741     
4742     When painting, the sources must be textures and not windows, and we did
4743     that wrong previously. This assertion makes sure that never happens
4744     again.
4745
4746  src/cairo-gl-composite.c |    1 +
4747  1 file changed, 1 insertion(+)
4748
4749 commit c6c9a24a1df1826cab78bd8ef1c5a1074bafa0d7
4750 Author: Benjamin Otte <otte@redhat.com>
4751 Date:   Tue Jun 8 04:11:33 2010 +0200
4752
4753     gl: Use CAIRO_COLOR_BLACK
4754     
4755     ... instead of creating black on our own - and wrong, too.
4756
4757  src/cairo-gl-surface.c |    8 +-------
4758  1 file changed, 1 insertion(+), 7 deletions(-)
4759
4760 commit 19bc6793d1d9b209d5a03a727288504b1e71f7c4
4761 Author: Benjamin Otte <otte@redhat.com>
4762 Date:   Tue Jun 8 04:00:02 2010 +0200
4763
4764     gl: Only clone texture surfaces
4765     
4766     Using non-texture surfaces as source or mask will fail, so we need to
4767     fallback.
4768     Caught by the subsurface-modify-child test.
4769
4770  src/cairo-gl-surface.c |    4 +++-
4771  1 file changed, 3 insertions(+), 1 deletion(-)
4772
4773 commit 44483d843e4fe1f5db5cf213f76913d683265bb4
4774 Author: Benjamin Otte <otte@redhat.com>
4775 Date:   Tue Jun 8 03:59:10 2010 +0200
4776
4777     gl: Fix argument order
4778     
4779     oops...
4780
4781  src/cairo-gl-surface.c |    4 ++--
4782  1 file changed, 2 insertions(+), 2 deletions(-)
4783
4784 commit 72bf1a536775138d79787729994ec9cfe2193be7
4785 Author: Benjamin Otte <otte@redhat.com>
4786 Date:   Tue Jun 8 01:50:12 2010 +0200
4787
4788     Update my copyright notices to preferred version
4789     
4790     No more copyright headers containing my name.
4791
4792  test/clear-source.c          |   35 ++++++++++++++++++-----------------
4793  test/clip-fill-no-op.c       |   35 ++++++++++++++++++-----------------
4794  test/clip-stroke-no-op.c     |   35 ++++++++++++++++++-----------------
4795  test/pthread-same-source.c   |   35 ++++++++++++++++++-----------------
4796  test/pthread-similar.c       |   35 ++++++++++++++++++-----------------
4797  test/xcomposite-projection.c |   35 ++++++++++++++++++-----------------
4798  test/zero-mask.c             |   35 ++++++++++++++++++-----------------
4799  7 files changed, 126 insertions(+), 119 deletions(-)
4800
4801 commit 10d95c7020ca94903d474beb9c8ede89c186cbe3
4802 Author: Andrea Canciani <ranma42@gmail.com>
4803 Date:   Tue Jun 8 20:48:25 2010 +0200
4804
4805     test: add/update reference images
4806     
4807     Add missing reference images and update one-stop references according
4808     to current subset policy (outside the defined range, the gradient
4809     is clear).
4810
4811  test/degenerate-linear-gradient.ref.png |  Bin 0 -> 232 bytes
4812  test/degenerate-radial-gradient.ref.png |  Bin 0 -> 428 bytes
4813  test/linear-gradient-one-stop.ref.png   |  Bin 468 -> 344 bytes
4814  test/radial-gradient-one-stop.ref.png   |  Bin 3772 -> 1422 bytes
4815  4 files changed, 0 insertions(+), 0 deletions(-)
4816
4817 commit dd0f8872711d9896416cca2027f578f7d58d228f
4818 Author: Andrea Canciani <ranma42@gmail.com>
4819 Date:   Mon Jun 7 17:34:12 2010 +0200
4820
4821     test: fix typo
4822
4823  test/linear-gradient-extend.c |    2 +-
4824  1 file changed, 1 insertion(+), 1 deletion(-)
4825
4826 commit 9b88b5dce5327cbd13ea05de949c502fe41f91f7
4827 Author: Andrea Canciani <ranma42@gmail.com>
4828 Date:   Tue Jun 8 10:45:06 2010 +0200
4829
4830     test: add degenerate gradient and single stop tests
4831     
4832     Add tests for degeneratate linear gradients (with start point equal
4833     to the end point), degenerate radial gradients (start radius and end
4834     radius equal to zero, same start and end circle) and gradients (both
4835     linear and radial) with just a single stop.
4836
4837  test/Makefile.sources                 |    6 +-
4838  test/degenerate-linear-gradient.c     |   81 +++++++++++++++++++++++++
4839  test/degenerate-radial-gradient.c     |   93 ++++++++++++++++++++++++++++
4840  test/linear-gradient-one-stop.c       |   90 +++++++++++++++++++++++++++
4841  test/linear-gradient-one-stop.ref.png |  Bin 0 -> 468 bytes
4842  test/radial-gradient-one-stop.c       |  107 +++++++++++++++++++++++++++++++++
4843  test/radial-gradient-one-stop.ref.png |  Bin 0 -> 3772 bytes
4844  7 files changed, 376 insertions(+), 1 deletion(-)
4845
4846 commit 7d8359721b581845260c0442a174e48b061484a7
4847 Author: Benjamin Otte <otte@redhat.com>
4848 Date:   Mon Jun 7 16:46:46 2010 +0200
4849
4850     gl: Fix span renderer doing bad stuff for CLEAR and SOURCE
4851     
4852     SOURCE will fallback now, CLEAR is identical to DEST_OUT with white.
4853
4854  src/cairo-gl-surface.c |    7 +++++++
4855  1 file changed, 7 insertions(+)
4856
4857 commit ef8fd1355ea03b8566ef31642b32133d3543e4e8
4858 Author: Benjamin Otte <otte@redhat.com>
4859 Date:   Mon Jun 7 15:03:37 2010 +0200
4860
4861     gl: Fix span renderer for unbounded spans
4862     
4863     The span renderer used to not output rects for the top and bottom rows
4864     when they didn't contain any spans.
4865
4866  src/cairo-gl-surface.c |   72 ++++++++++++++++++++++++++++++++----------------
4867  1 file changed, 49 insertions(+), 23 deletions(-)
4868
4869 commit 1d11af083f5368c88032a33ff40d0e21c139db18
4870 Author: Benjamin Otte <otte@redhat.com>
4871 Date:   Sat Jun 5 15:22:44 2010 +0200
4872
4873     gl: Add a simple spans renderer for stroke/fill
4874     
4875     It's very simple as clipped polygons or ANTIALIAS_NONE still return
4876     UNSUPPORTED. Also, no optimizations are done, so even pixel-aligned
4877     rectangles use the full span rendering.
4878     
4879     Still, there are no performance regressions in the benchmark traces and
4880     firefox-talos-svg and swfdec-giant-steps both got ~15% faster.
4881
4882  src/cairo-gl-surface.c |  178 +++++++++++++++++++++++++++++++++++++++++++++++-
4883  1 file changed, 175 insertions(+), 3 deletions(-)
4884
4885 commit 550335efeddf813c1bec493513254fdbd34a9ace
4886 Author: Benjamin Otte <otte@redhat.com>
4887 Date:   Sat Jun 5 15:19:44 2010 +0200
4888
4889     Remove _cairo_surface_composite_trapezoids_as_polygon()
4890     
4891     The function computed the composite rectangles wrong and was only used
4892     in a gl fallback anyway. So instead of trying to fix it, just remove it
4893     and make sure gl doesn't fallback.
4894
4895  src/cairo-gl-surface.c    |   14 ---------
4896  src/cairo-spans-private.h |   12 --------
4897  src/cairo-spans.c         |   75 ---------------------------------------------
4898  src/cairoint.h            |   12 --------
4899  4 files changed, 113 deletions(-)
4900
4901 commit 1e003fce8f7239aaf4608747d63287e0c715ee51
4902 Author: Benjamin Otte <otte@redhat.com>
4903 Date:   Sat Jun 5 14:58:32 2010 +0200
4904
4905     gl: Fix vertex size changes not causing updates of the operands
4906     
4907     Check vertex size stays identical when setting up vertices.
4908
4909  src/cairo-gl-composite.c |   17 ++++++++++-------
4910  1 file changed, 10 insertions(+), 7 deletions(-)
4911
4912 commit 39143400ddd0d4e63a72ce91c423f764e466e405
4913 Author: Benjamin Otte <otte@redhat.com>
4914 Date:   Fri Jun 4 12:25:52 2010 +0200
4915
4916     gl: Add a gradient texture cache
4917     
4918     For firefox-planet-gnome, 19135 times a gradient gets rendered using
4919     only 10 different gradients. So we get a 100% hit rate in the cache.
4920     Unfortunately, texture upload is not the biggest problem of this test,
4921     as the performance increase is only moderate - at least on i965:
4922     34.3s => 33.5s
4923
4924  src/cairo-gl-device.c           |   12 +++++++-
4925  src/cairo-gl-gradient-private.h |   18 ++++++++----
4926  src/cairo-gl-gradient.c         |   58 +++++++++++++++++++++++++++++++++++++--
4927  src/cairo-gl-private.h          |    2 ++
4928  4 files changed, 81 insertions(+), 9 deletions(-)
4929
4930 commit 932ab2641ea3183171c3b5699c96c4709fc6bd49
4931 Author: Benjamin Otte <otte@redhat.com>
4932 Date:   Thu Jun 3 18:54:18 2010 +0200
4933
4934     device: flush before setting finished
4935     
4936     Otherwise APIs critical for flushing - in particular acquiring the
4937     device - do not work.
4938
4939  src/cairo-device.c |    4 ++--
4940  1 file changed, 2 insertions(+), 2 deletions(-)
4941
4942 commit 35e219d08f1c202399655db183ca0105a1c2166f
4943 Author: Benjamin Otte <otte@redhat.com>
4944 Date:   Thu Jun 3 17:50:59 2010 +0200
4945
4946     gl: Make gradient textures a separate object
4947     
4948     This is necessary so we can do proper refcounting and don't delete the
4949     gradient texture prematurely.
4950
4951  src/Makefile.sources            |    4 +-
4952  src/cairo-gl-composite.c        |  156 +++------------------------
4953  src/cairo-gl-gradient-private.h |   80 ++++++++++++++
4954  src/cairo-gl-gradient.c         |  223 +++++++++++++++++++++++++++++++++++++++
4955  src/cairo-gl-private.h          |    9 +-
4956  5 files changed, 327 insertions(+), 145 deletions(-)
4957
4958 commit 9c17a477d29f633a4850ef8b458cbca82a19afc4
4959 Author: Benjamin Otte <otte@redhat.com>
4960 Date:   Thu Jun 3 17:40:56 2010 +0200
4961
4962     gl: Use the generic functions for filter/extend in gradients
4963
4964  src/cairo-gl-composite.c |   26 ++++++++------------------
4965  src/cairo-gl-private.h   |    2 ++
4966  2 files changed, 10 insertions(+), 18 deletions(-)
4967
4968 commit df93802765afcf883abef5549bd5dff3465e2d79
4969 Author: Benjamin Otte <otte@redhat.com>
4970 Date:   Thu Jun 3 17:38:28 2010 +0200
4971
4972     gl: Create separate functions for setting extend and filter
4973
4974  src/cairo-gl-composite.c |   47 +++++++++++++++++++++++++++-------------------
4975  1 file changed, 28 insertions(+), 19 deletions(-)
4976
4977 commit 10e71806d2e1929aa127642a397fa6ccef434b5b
4978 Author: Benjamin Otte <otte@redhat.com>
4979 Date:   Wed Jun 2 20:04:57 2010 +0200
4980
4981     gl: Switch to deferred rendering
4982     
4983     1) call _cairo_gl_composite_flush() or cairo_surface_flush() where
4984        needed
4985     2) Destroy texture operands when necessary
4986     3) get rid of _cairo_gl_composite_end()
4987     
4988     With this patch, vertices are not flushed immediately anymore, but only
4989     when needed or when a new set of vertices is emitted that requires an
4990     incompatible setup. This improves performance a lot in particular for
4991     text. (gnome-terminal-vim gets 10x faster)
4992
4993  src/cairo-gl-composite.c |   40 ++++++++++++++++++++++------------------
4994  src/cairo-gl-glyphs.c    |    4 ----
4995  src/cairo-gl-private.h   |    4 ----
4996  src/cairo-gl-surface.c   |   12 ++++++------
4997  4 files changed, 28 insertions(+), 32 deletions(-)
4998
4999 commit f2f79ca1b3455000df4138ab500ae03b6584250c
5000 Author: Benjamin Otte <otte@redhat.com>
5001 Date:   Wed Jun 2 19:57:47 2010 +0200
5002
5003     gl: Make using shaders an explicit argument
5004     
5005     This is preparation for a followup patch
5006
5007  src/cairo-gl-composite.c |   15 ++++++++-------
5008  1 file changed, 8 insertions(+), 7 deletions(-)
5009
5010 commit 19c1d8316e22fc37c7cdaf6c3e56519c06d10561
5011 Author: Benjamin Otte <otte@redhat.com>
5012 Date:   Wed Jun 2 18:14:28 2010 +0200
5013
5014     gl: Special case blend mode for CAIRO_CONTENT_COLOR
5015     
5016     This ensures that alpha stays at 1 for RGB in all cases.
5017
5018  src/cairo-gl-composite.c |    2 ++
5019  1 file changed, 2 insertions(+)
5020
5021 commit 1f249064cc5c19a39ffe0faaa8825c8f8b6a2175
5022 Author: Benjamin Otte <otte@redhat.com>
5023 Date:   Wed Jun 2 18:11:04 2010 +0200
5024
5025     gl: rework _cairo_gl_set_operator()
5026     
5027     1) store the current operator. This will be useful later to check if the
5028        operator changed.
5029     2) pass the context instead of the destination as first argument. The
5030        destination is known to be the current target.
5031
5032  src/cairo-gl-composite.c |   16 +++++++++-------
5033  src/cairo-gl-device.c    |    3 +++
5034  src/cairo-gl-private.h   |    1 +
5035  3 files changed, 13 insertions(+), 7 deletions(-)
5036
5037 commit f66500d8b052251ea3ce06f06d2fa4c8dec2ff3b
5038 Author: Benjamin Otte <otte@redhat.com>
5039 Date:   Wed Jun 2 15:53:48 2010 +0200
5040
5041     gl: Only resetup textures if we need to
5042
5043  src/cairo-gl-composite.c |   45 +++++++++++++++++++++++++++++++++++++++++++++
5044  1 file changed, 45 insertions(+)
5045
5046 commit d9dcafd61ad6aeecb4538e9fd44e3443a8a50bf1
5047 Author: Benjamin Otte <otte@redhat.com>
5048 Date:   Wed Jun 2 15:26:45 2010 +0200
5049
5050     gl: Do not reset the current target on release
5051     
5052     This now also requires a call to cairo_device_flush().
5053
5054  src/cairo-gl-device.c |    2 +-
5055  1 file changed, 1 insertion(+), 1 deletion(-)
5056
5057 commit ce36be5c67fa5b574eb11eb98cdd8c9cd7e09335
5058 Author: Benjamin Otte <otte@redhat.com>
5059 Date:   Wed Jun 2 15:23:57 2010 +0200
5060
5061     glx: When acquiring device, use the correct drawable
5062
5063  src/cairo-glx-context.c |   16 +++++++++++++---
5064  1 file changed, 13 insertions(+), 3 deletions(-)
5065
5066 commit 5819bb07eb7ac64f0e2fbe6a46cc3db0de1d92ce
5067 Author: Benjamin Otte <otte@redhat.com>
5068 Date:   Wed Jun 2 15:23:08 2010 +0200
5069
5070     gl: Store the vertex offset in the operand
5071
5072  src/cairo-gl-composite.c |    1 +
5073  src/cairo-gl-private.h   |    1 +
5074  2 files changed, 2 insertions(+)
5075
5076 commit c75460c54d88ce9a50ac59c15a10684043ca4b0e
5077 Author: Benjamin Otte <otte@redhat.com>
5078 Date:   Sun May 30 22:01:10 2010 +0200
5079
5080     gl: Introduce a temporary texture unit
5081     
5082     ...and use it for image uploads. This makes sure that the texture units
5083     used for SOURCE and MASK get not clobbered when images get uploaded to
5084     textures.
5085
5086  src/cairo-gl-composite.c |    2 ++
5087  src/cairo-gl-device.c    |   17 +++++++++++++++++
5088  src/cairo-gl-private.h   |    8 +++++++-
5089  src/cairo-gl-surface.c   |    2 ++
5090  4 files changed, 28 insertions(+), 1 deletion(-)
5091
5092 commit 1ddff8aba35466fe6689536bc5f2d7eeefaea02c
5093 Author: Benjamin Otte <otte@redhat.com>
5094 Date:   Sun May 30 21:25:20 2010 +0200
5095
5096     gl: Only allocate a framebuffer if we need one
5097     
5098     This way, we don't clobber the current target when creating textures for
5099     image surfaces.
5100
5101  src/cairo-gl-device.c  |   26 ++++++++++++++++++++++++++
5102  src/cairo-gl-private.h |    2 +-
5103  src/cairo-gl-surface.c |   20 ++------------------
5104  3 files changed, 29 insertions(+), 19 deletions(-)
5105
5106 commit 1c15510c3d00553aba9ec4fd4e6764da3cdb0a41
5107 Author: Benjamin Otte <otte@redhat.com>
5108 Date:   Sun May 30 20:12:31 2010 +0200
5109
5110     Call cairo_surface_flush() before setting finished
5111     
5112     With the current code, the surface will never be flushed as the flush
5113     function checks if the surface is finished, and if so, doesn't call the
5114     vfunc. Ooops.
5115
5116  src/cairo-surface.c |    2 +-
5117  1 file changed, 1 insertion(+), 1 deletion(-)
5118
5119 commit 467d5e7f90b9edfb62ca71e67608704424a10aca
5120 Author: Benjamin Otte <otte@redhat.com>
5121 Date:   Fri May 28 21:56:57 2010 +0200
5122
5123     gl: Flush properly in set_destination
5124
5125  src/cairo-gl-device.c |   33 +++++++++++++++++----------------
5126  1 file changed, 17 insertions(+), 16 deletions(-)
5127
5128 commit e15348d8d0bbff6968b1f640e63315d159f143f5
5129 Author: Benjamin Otte <otte@redhat.com>
5130 Date:   Fri May 28 21:55:26 2010 +0200
5131
5132     gl: Don't reset vertex size
5133
5134  src/cairo-gl-composite.c |   10 ++++++----
5135  src/cairo-gl-device.c    |    1 +
5136  2 files changed, 7 insertions(+), 4 deletions(-)
5137
5138 commit a8d6ac1efc3f1f5ff4f92f4e7a3492e62518f3f7
5139 Author: Benjamin Otte <otte@redhat.com>
5140 Date:   Fri May 28 21:51:08 2010 +0200
5141
5142     gl: Remove check if we're between begin/end
5143     
5144     This will be useless soon, because we will keep the current state alive as
5145     long as possible.
5146
5147  src/cairo-gl-composite.c |    1 -
5148  src/cairo-gl-private.h   |    7 -------
5149  2 files changed, 8 deletions(-)
5150
5151 commit 8f675fb801f7864aa52778d4d53d7ab68f4e664b
5152 Author: Benjamin Otte <otte@redhat.com>
5153 Date:   Fri May 28 21:46:52 2010 +0200
5154
5155     gl: Stop disabling the vertex array and the array buffer
5156
5157  src/cairo-gl-composite.c |   12 ++++--------
5158  src/cairo-gl-device.c    |    4 ++++
5159  2 files changed, 8 insertions(+), 8 deletions(-)
5160
5161 commit bef0b541497eb5a621df0b5528e08adb0beff961
5162 Author: Benjamin Otte <otte@redhat.com>
5163 Date:   Fri May 28 21:08:17 2010 +0200
5164
5165     gl: Do not reset shaders on _end()
5166     
5167     Instead, keep the shader around until cairo_device_flush() is called.
5168
5169  src/cairo-gl-composite.c |   35 ++++++++++++++++++++++-------------
5170  src/cairo-gl-device.c    |    3 +++
5171  src/cairo-gl-private.h   |    6 ++++++
5172  3 files changed, 31 insertions(+), 13 deletions(-)
5173
5174 commit 534c14729921cbc2f8e24575eb792de9ddb96e23
5175 Author: Benjamin Otte <otte@redhat.com>
5176 Date:   Fri May 28 21:06:58 2010 +0200
5177
5178     region: clarify docs of cairo_region_equal()
5179
5180  src/cairo-region.c |    9 +++++----
5181  1 file changed, 5 insertions(+), 4 deletions(-)
5182
5183 commit 0fc6f08981604ffdd0109362dcbbd9773501cd9a
5184 Author: Benjamin Otte <otte@redhat.com>
5185 Date:   Fri May 28 20:45:52 2010 +0200
5186
5187     gl: Make _shader_by_type() a getter
5188     
5189     And refactor code to do the current_shader assigning itself.
5190
5191  src/cairo-gl-composite.c |   16 +++++++++++-----
5192  src/cairo-gl-private.h   |    5 +++--
5193  src/cairo-gl-shaders.c   |   13 ++++++++-----
5194  3 files changed, 22 insertions(+), 12 deletions(-)
5195
5196 commit 2971ca049881298cd171cf27cd3beb49d2c0572f
5197 Author: Benjamin Otte <otte@redhat.com>
5198 Date:   Fri May 28 20:39:22 2010 +0200
5199
5200     gl: bind all shader variables at the same place
5201     
5202     Avoids the need to bind the shader when creating it.
5203
5204  src/cairo-gl-composite.c |   26 ++++++++++++++++++++------
5205  src/cairo-gl-shaders.c   |   11 -----------
5206  2 files changed, 20 insertions(+), 17 deletions(-)
5207
5208 commit e11d8370e0503f085beaa355d85fa6991cd497da
5209 Author: Benjamin Otte <otte@redhat.com>
5210 Date:   Fri May 28 17:37:19 2010 +0200
5211
5212     gl: Set GL_BLEND and GL_SCISSOR_TEST globally
5213     
5214     Note that we do set them unconditionally in _begin() because a flush
5215     might have cleared them.
5216
5217  src/cairo-gl-composite.c |   11 +++--------
5218  src/cairo-gl-device.c    |    8 ++++++++
5219  src/cairo-gl-surface.c   |    1 +
5220  3 files changed, 12 insertions(+), 8 deletions(-)
5221
5222 commit 7747f6d9146c19419fdc4fbbdf72eed42dfa731d
5223 Author: Benjamin Otte <otte@redhat.com>
5224 Date:   Fri May 28 17:19:56 2010 +0200
5225
5226     gl: Introduce flush functions
5227     
5228     The flush functions will clear the state that will in the future be kep
5229     unconditionally.
5230
5231  src/cairo-gl-composite.c |    6 +++---
5232  src/cairo-gl-device.c    |   22 +++++++++++++++++++++-
5233  src/cairo-gl-private.h   |    4 ++++
5234  src/cairo-gl-surface.c   |   36 ++++++++++++++++++++++++++++++++----
5235  4 files changed, 60 insertions(+), 8 deletions(-)
5236
5237 commit 5c74beaaa5dedd82f891f1cc109142f7b6e222a8
5238 Author: Benjamin Otte <otte@redhat.com>
5239 Date:   Fri May 28 17:19:45 2010 +0200
5240
5241     docs: fix typo
5242
5243  src/cairo-surface.c |    2 +-
5244  1 file changed, 1 insertion(+), 1 deletion(-)
5245
5246 commit 92d7b1eee96e6b1448aaf3c95a44238fa0eeff48
5247 Author: Benjamin Otte <otte@redhat.com>
5248 Date:   Fri May 28 16:19:12 2010 +0200
5249
5250     device: Make flush vfunc return a cairo_status_t
5251     
5252     Mirror the behavior of the surface flush vfunc: Make it return a status
5253     and if it's an error set it on the device.
5254
5255  src/cairo-device-private.h |    2 +-
5256  src/cairo-device.c         |    9 +++++++--
5257  src/cairo-xml-surface.c    |    4 +++-
5258  3 files changed, 11 insertions(+), 4 deletions(-)
5259
5260 commit 63e3cf3888d5b55295a04c4af28e876c04245b85
5261 Author: Benjamin Otte <otte@redhat.com>
5262 Date:   Fri May 28 15:09:23 2010 +0200
5263
5264     gl: Move unsetting the state into the operand destroy function
5265
5266  src/cairo-gl-composite.c |   43 +++++++++++++++++++++++++++++--------------
5267  1 file changed, 29 insertions(+), 14 deletions(-)
5268
5269 commit b9b85dbf3706fe9e50f40b5fda655e71931c2d7f
5270 Author: Benjamin Otte <otte@redhat.com>
5271 Date:   Fri May 28 13:42:11 2010 +0200
5272
5273     gl: get rid of the operand's pattern variable
5274     
5275     Now someone just needs to teach cairo-gl to not use
5276     cairo_pattern_acquire_surface() and we could avoid the nasty hack in
5277     cairo_gl_operand_destroy().
5278
5279  src/cairo-gl-composite.c |   21 ++++++++++-----------
5280  src/cairo-gl-private.h   |    2 --
5281  2 files changed, 10 insertions(+), 13 deletions(-)
5282
5283 commit ae9517a39fdddec389553a64116140e222970ef0
5284 Author: Benjamin Otte <otte@redhat.com>
5285 Date:   Fri May 28 13:18:28 2010 +0200
5286
5287     gl: Check mask's attributes for component alpha
5288     
5289     ... and don't duplicate that information into the cairo_gl_composite_t
5290
5291  src/cairo-gl-composite.c |   14 ++++++++------
5292  src/cairo-gl-private.h   |    1 -
5293  2 files changed, 8 insertions(+), 7 deletions(-)
5294
5295 commit f72afc09d0b99030f5766e7bbbb05f6db606e195
5296 Author: Benjamin Otte <otte@redhat.com>
5297 Date:   Fri May 28 13:14:09 2010 +0200
5298
5299     gl: Merge fixed function setup into general texture setup
5300
5301  src/cairo-gl-composite.c |   84 +++++++++++++++++++---------------------------
5302  1 file changed, 34 insertions(+), 50 deletions(-)
5303
5304 commit dd1faaf02e2a75ca8b9c484abd15726f5c6d3ac4
5305 Author: Benjamin Otte <otte@redhat.com>
5306 Date:   Fri May 28 12:54:54 2010 +0200
5307
5308     gl: Move function
5309     
5310     I wanna use it elsewhere and keep the diff small.
5311
5312  src/cairo-gl-composite.c |   58 +++++++++++++++++++++++-----------------------
5313  1 file changed, 29 insertions(+), 29 deletions(-)
5314
5315 commit d03800313623fb2b9e7d15c6a659ceaaee2882e8
5316 Author: Benjamin Otte <otte@redhat.com>
5317 Date:   Fri May 28 12:51:08 2010 +0200
5318
5319     gl: Simplify mask operand setup code
5320     
5321     Component alpha just has one different value
5322
5323  src/cairo-gl-composite.c |   40 +++++++---------------------------------
5324  1 file changed, 7 insertions(+), 33 deletions(-)
5325
5326 commit e20261dddaa194ab4e980da8681e9378d7fd7ef1
5327 Author: Benjamin Otte <otte@redhat.com>
5328 Date:   Fri May 28 12:48:59 2010 +0200
5329
5330     gl: Get rid of operand argument to emit functions
5331
5332  src/cairo-gl-composite.c |   34 +++++++++++++++-------------------
5333  src/cairo-gl-glyphs.c    |    2 +-
5334  src/cairo-gl-private.h   |    2 --
5335  src/cairo-gl-surface.c   |   11 +++--------
5336  4 files changed, 19 insertions(+), 30 deletions(-)
5337
5338 commit 8062fb352e6cd1d961f0fbc660779f4ad94c7508
5339 Author: Benjamin Otte <otte@redhat.com>
5340 Date:   Fri May 28 11:03:09 2010 +0200
5341
5342     gl: Add an enum for tex units
5343     
5344     Instead of hardcoding 0 for source and 1 for mask, use an enum. It's
5345     also clearer when functions take a cairo_gl_tex_t argument instead of a
5346     GLuint.
5347
5348  src/cairo-gl-composite.c |   20 ++++++++++----------
5349  src/cairo-gl-private.h   |    5 +++++
5350  src/cairo-gl-shaders.c   |   34 ++++++++++++----------------------
5351  3 files changed, 27 insertions(+), 32 deletions(-)
5352
5353 commit 5db362dd6792af20282e0e9a2805ee6f1b921e44
5354 Author: Benjamin Otte <otte@redhat.com>
5355 Date:   Fri May 28 10:24:33 2010 +0200
5356
5357     gl: Keep a copy of the current operand in the context
5358     
5359     Note that they are currently only valid as long as the
5360     cairo_gl_composite_t exists, but that will be changed soon.
5361
5362  src/cairo-gl-composite.c |   20 ++++++++++++++++----
5363  src/cairo-gl-private.h   |    2 ++
5364  2 files changed, 18 insertions(+), 4 deletions(-)
5365
5366 commit a05f062c806ac014d0daffa1d74bdb0dd90a8a26
5367 Author: Benjamin Otte <otte@redhat.com>
5368 Date:   Wed May 26 19:23:18 2010 +0200
5369
5370     gl: Move struct definitions in header
5371
5372  src/cairo-gl-private.h |   66 ++++++++++++++++++++++++------------------------
5373  1 file changed, 33 insertions(+), 33 deletions(-)
5374
5375 commit 85d4c6c55b85c52d8f86247f00659e37354abd49
5376 Author: Benjamin Otte <otte@redhat.com>
5377 Date:   Wed May 26 21:23:40 2010 +0200
5378
5379     gl: operand->texture.surface cannot be NULL
5380
5381  src/cairo-gl-composite.c |   10 +++-------
5382  1 file changed, 3 insertions(+), 7 deletions(-)
5383
5384 commit 9486ad5fbdad047b5194f6bed68a08bb4c594610
5385 Author: Benjamin Otte <otte@redhat.com>
5386 Date:   Wed May 26 19:16:41 2010 +0200
5387
5388     gl: Remove composite_t argument from _flush() function
5389
5390  src/cairo-gl-composite.c |   17 +++++++----------
5391  src/cairo-gl-glyphs.c    |    2 +-
5392  src/cairo-gl-private.h   |    3 +--
5393  3 files changed, 9 insertions(+), 13 deletions(-)
5394
5395 commit 16e420b4dca5325ab295a27103299a916f334b05
5396 Author: Benjamin Otte <otte@redhat.com>
5397 Date:   Wed May 26 19:13:53 2010 +0200
5398
5399     gl: Remove dependency on composite_t in draw function
5400
5401  src/cairo-gl-composite.c |    4 ++--
5402  1 file changed, 2 insertions(+), 2 deletions(-)
5403
5404 commit e46215ec6b94355b741acf5dfdd264d6396b4bc8
5405 Author: Benjamin Otte <otte@redhat.com>
5406 Date:   Wed May 26 18:44:20 2010 +0200
5407
5408     gl: Remove unneeded and broken workaround
5409     
5410     We now ensure the values are properly zeroed when setting the operator.
5411
5412  src/cairo-gl-composite.c |   14 +-------------
5413  1 file changed, 1 insertion(+), 13 deletions(-)
5414
5415 commit b2d709b5c7e463437189b8e4a2c53a3317437825
5416 Author: Benjamin Otte <otte@redhat.com>
5417 Date:   Wed May 26 17:41:01 2010 +0200
5418
5419     gl: Switch src alpha handling to a tiny on/off function
5420     
5421     Instead of doing setup every time, we just set this one flag. Much
5422     nicer.
5423
5424  src/cairo-gl-composite.c |   22 +++++++---------------
5425  1 file changed, 7 insertions(+), 15 deletions(-)
5426
5427 commit 53fd451f85974d2ed0d6f29a0a0549fd4c7035fe
5428 Author: Benjamin Otte <otte@redhat.com>
5429 Date:   Wed May 26 17:32:14 2010 +0200
5430
5431     gl: Avoid redundant mask setup
5432     
5433     The mask doesn't change, so no need to set it up twice
5434
5435  src/cairo-gl-composite.c |    2 --
5436  1 file changed, 2 deletions(-)
5437
5438 commit 1b3675fc4b9c7f6ad4d9edd9b27bee10c2502b81
5439 Author: Benjamin Otte <otte@redhat.com>
5440 Date:   Wed May 26 17:28:05 2010 +0200
5441
5442     gl: Split fixed-function operand setup into own function
5443
5444  src/cairo-gl-composite.c |  151 +++++++++++++---------------------------------
5445  1 file changed, 42 insertions(+), 109 deletions(-)
5446
5447 commit 02da871050f6be02ba0231e545d6613a42c3a7e6
5448 Author: Benjamin Otte <otte@redhat.com>
5449 Date:   Wed May 26 17:02:29 2010 +0200
5450
5451     gl: Unify fixed function setup code
5452
5453  src/cairo-gl-composite.c |   15 ++++-----------
5454  1 file changed, 4 insertions(+), 11 deletions(-)
5455
5456 commit 74f9094162fba54c29859e25ad5be085604aa0b6
5457 Author: Benjamin Otte <otte@redhat.com>
5458 Date:   Wed May 26 15:46:39 2010 +0200
5459
5460     gl: switch OPERAND0 and OPERAND1 in the fixed function path
5461     
5462     This should not change anything as we multiply the values.
5463     But it allows unifying parts of the code, which will happen in another
5464     patch.
5465
5466  src/cairo-gl-composite.c |   42 +++++++++++++++++++++---------------------
5467  1 file changed, 21 insertions(+), 21 deletions(-)
5468
5469 commit c6aac5d0134f1473d3867c1b6a4b40753700ffcb
5470 Author: Benjamin Otte <otte@redhat.com>
5471 Date:   Wed May 26 15:42:56 2010 +0200
5472
5473     gl: Move the pre shader to the context, too
5474     
5475     It's required when flushing, too.
5476
5477  src/cairo-gl-composite.c |   10 +++++-----
5478  src/cairo-gl-private.h   |    2 +-
5479  2 files changed, 6 insertions(+), 6 deletions(-)
5480
5481 commit 61bc3067ca5fa4aeaef537c397c37826facc7621
5482 Author: Benjamin Otte <otte@redhat.com>
5483 Date:   Wed May 26 15:28:32 2010 +0200
5484
5485     gl: Store the clip region in the context
5486     
5487     This is necessary because we want to get rid of keeping the composite
5488     stuff around.
5489
5490  src/cairo-gl-composite.c |   15 ++++++++++-----
5491  src/cairo-gl-device.c    |    2 ++
5492  src/cairo-gl-private.h   |    1 +
5493  3 files changed, 13 insertions(+), 5 deletions(-)
5494
5495 commit db79880d9a836d50e9202caa5c73e22a2b6b97b3
5496 Author: Benjamin Otte <otte@redhat.com>
5497 Date:   Wed May 26 13:03:12 2010 +0200
5498
5499     gl: Make gl_composite_begin() acquire the context
5500     
5501     Also remove the previous places for context acquisition. This completes
5502     fixing the potential ABBA deadlock I talked about a few commits ago.
5503
5504  src/cairo-gl-composite.c |   21 +++++++++++++++++----
5505  src/cairo-gl-glyphs.c    |    7 ++++++-
5506  src/cairo-gl-private.h   |    4 ++--
5507  src/cairo-gl-surface.c   |   26 +++++---------------------
5508  4 files changed, 30 insertions(+), 28 deletions(-)
5509
5510 commit 1320a168fa5b73fd42438040a4bf8ee9ad222a0e
5511 Author: Benjamin Otte <otte@redhat.com>
5512 Date:   Wed May 26 12:26:49 2010 +0200
5513
5514     gl: Remove unused code
5515     
5516     We don't need to acquire/release the context, we're not using it.
5517
5518  src/cairo-gl-glyphs.c |   11 +----------
5519  1 file changed, 1 insertion(+), 10 deletions(-)
5520
5521 commit 8f5c3b706b5bad6b0851a3e27752f7d1a3ca8a72
5522 Author: Benjamin Otte <otte@redhat.com>
5523 Date:   Wed May 26 12:16:01 2010 +0200
5524
5525     gl: Make composite_set_clip_region not require the context
5526
5527  src/cairo-gl-composite.c |    3 +--
5528  src/cairo-gl-glyphs.c    |    2 +-
5529  src/cairo-gl-private.h   |    3 +--
5530  src/cairo-gl-surface.c   |    2 +-
5531  4 files changed, 4 insertions(+), 6 deletions(-)
5532
5533 commit ac6abcbac7f79e5717c44e251135dcba8ab00b27
5534 Author: Benjamin Otte <otte@redhat.com>
5535 Date:   Wed May 26 12:14:24 2010 +0200
5536
5537     gl: Make composite_set_source/mask/mask_spans not require a context
5538
5539  src/cairo-gl-composite.c |   77 ++++++++++++++++++++++++----------------------
5540  src/cairo-gl-glyphs.c    |    5 ++-
5541  src/cairo-gl-private.h   |    9 ++----
5542  src/cairo-gl-surface.c   |   13 ++++----
5543  4 files changed, 51 insertions(+), 53 deletions(-)
5544
5545 commit 88a70d66fcdbca7e489baa48cd145bb69c3e28e0
5546 Author: Benjamin Otte <otte@redhat.com>
5547 Date:   Wed May 26 11:59:36 2010 +0200
5548
5549     gl: Add API for querying if we need GL_TEXTURE_RECTANGLE_EXT
5550     
5551     We need to do that querying outside of taking the lock, so we want to be
5552     able to query the device, not the context.
5553
5554  src/cairo-gl-composite.c |   11 +++++------
5555  src/cairo-gl-glyphs.c    |    2 +-
5556  src/cairo-gl-private.h   |    6 ++++++
5557  3 files changed, 12 insertions(+), 7 deletions(-)
5558
5559 commit 9c6e1338a1c7d61b4cc84bcdc5c38573a34cd561
5560 Author: Benjamin Otte <otte@redhat.com>
5561 Date:   Wed May 26 11:36:22 2010 +0200
5562
5563     gl: Make cairo_gl_composite_t not require a gl context anymore
5564     
5565     First patch in a series.
5566     
5567     The idea is to make all gl operations in Cairo work like this:
5568     1) prepare cairo_gl_composite_t
5569     2) acquire device
5570     3) begin composite operation
5571     4) emit vertexes
5572     5) end operation
5573     6) release device
5574     7) cleanup composite operation
5575     
5576     This both reduces the time required with the device locked, cleans the
5577     API and more importantly avoids ABBA deadlocks, as we currently call
5578     acquire_pattern() with the device lock held.
5579
5580  src/cairo-gl-composite.c |    6 ++----
5581  src/cairo-gl-glyphs.c    |    7 +++----
5582  src/cairo-gl-private.h   |    6 ++----
5583  src/cairo-gl-surface.c   |   19 ++++++++-----------
5584  4 files changed, 15 insertions(+), 23 deletions(-)
5585
5586 commit 60f0cb9c60556f94af903dd6f9da0628a05a1f7f
5587 Author: Benjamin Otte <otte@redhat.com>
5588 Date:   Sat May 22 18:42:44 2010 +0200
5589
5590     gl: Flush surface at the right times
5591
5592  src/cairo-gl-composite.c |    2 ++
5593  src/cairo-gl-device.c    |    2 ++
5594  src/cairo-gl-surface.c   |    2 ++
5595  3 files changed, 6 insertions(+)
5596
5597 commit ffeeae462ea0f8c7af326f3bcc66b88881bd8fdd
5598 Author: Chris Wilson <chris@chris-wilson.co.uk>
5599 Date:   Sun Jun 6 16:50:34 2010 +0100
5600
5601     Revert "gstate: reduce a couple more operators"
5602     
5603     This reverts commit a85c6c1e36273d534f01ade0714b0592b6bed5ab.
5604     
5605     Soeren found that this introduced a regression when displaying pages in
5606     evince, and since I'm not overly enthralled at the added complexity here
5607     for very little gain, remove the reduction and leave it clear for a more
5608     complete solution in the future.
5609
5610  src/cairo-gstate.c |   15 +--------------
5611  1 file changed, 1 insertion(+), 14 deletions(-)
5612
5613 commit 44e628a6f4e6b9b21ad67b08869186a779d0db5a
5614 Author: Makoto Kato <m_kato@ga2.so-net.ne.jp>
5615 Date:   Mon May 31 18:22:40 2010 +0900
5616
5617     openvg: fix build break
5618
5619  src/cairo-vg-surface.c |    2 +-
5620  1 file changed, 1 insertion(+), 1 deletion(-)
5621
5622 commit cc080a1e2731a42045709d789587070da944145c
5623 Author: Chris Wilson <chris@chris-wilson.co.uk>
5624 Date:   Thu May 27 20:51:55 2010 +0100
5625
5626     gl: Unmap the vertex buffer prior to using in DaawArrays()
5627     
5628     "It is an INVALID_OPERTION error to source data from a buffer object
5629     that is currently mapped."
5630     
5631     mesa is currently lax in this regard, but the Nvidia libGL conforms to
5632     the spec and thus was causing failures.
5633
5634  src/cairo-gl-composite.c |   23 ++++++++++++-----------
5635  1 file changed, 12 insertions(+), 11 deletions(-)
5636
5637 commit b3e15bd5c307352065555c6c3ae5f0bd15b9a791
5638 Author: Chris Wilson <chris@chris-wilson.co.uk>
5639 Date:   Thu May 27 18:43:03 2010 +0100
5640
5641     gl: _cairo_set_shader_by_type() cannot return UNSUPPORTED
5642     
5643     So remove the superfuous test.
5644
5645  src/cairo-gl-composite.c |    7 ++++---
5646  1 file changed, 4 insertions(+), 3 deletions(-)
5647
5648 commit 59bd34e6a3661483f60bb01be8b406a5c38e1131
5649 Author: Chris Wilson <chris@chris-wilson.co.uk>
5650 Date:   Thu May 27 18:35:40 2010 +0100
5651
5652     gl: Check for an error device when creating surfaces.
5653
5654  src/cairo-gl-surface.c |    3 +++
5655  1 file changed, 3 insertions(+)
5656
5657 commit 53f086105975c1c2bd4c43a1b0613ebde3580e95
5658 Author: Chris Wilson <chris@chris-wilson.co.uk>
5659 Date:   Thu May 27 18:27:53 2010 +0100
5660
5661     gl: Make _cairo_gl_shader_(init|compile) static
5662     
5663     Only used within _cairo_gl_shaders.c, so remove the private symbol.
5664
5665  src/cairo-gl-private.h |   10 ----------
5666  src/cairo-gl-shaders.c |   41 +++++++++++++++++++++++++----------------
5667  2 files changed, 25 insertions(+), 26 deletions(-)
5668
5669 commit dd0866cdc878a0be438a117051ccc64f12f81970
5670 Author: Chris Wilson <chris@chris-wilson.co.uk>
5671 Date:   Thu May 27 17:52:11 2010 +0100
5672
5673     boilerplate: Exercise RENDER capable windows.
5674     
5675     Ensure that the drivers actually work when rendering to a normal window.
5676
5677  boilerplate/cairo-boilerplate-xlib.c |  107 ++++++++++++++++++++++++++++++++++
5678  1 file changed, 107 insertions(+)
5679
5680 commit 2dc42af9422a15f902934a53c074e4194991a9e4
5681 Author: Chris Wilson <chris@chris-wilson.co.uk>
5682 Date:   Mon May 17 16:32:20 2010 +0100
5683
5684     script: Update csi-exec to match new interface.
5685
5686  util/cairo-script/csi-exec.c |    3 ++-
5687  1 file changed, 2 insertions(+), 1 deletion(-)
5688
5689 commit 2f0f4ed0e2ae5657dedfe180b7be3a2496753ba8
5690 Author: Chris Wilson <chris@chris-wilson.co.uk>
5691 Date:   Thu May 20 21:54:51 2010 +0100
5692
5693     freed-pool: Don't access beyond the end of the array.
5694     
5695     Argh. This bug has been here for quite some time and only showed itself
5696     with a corrupt pointer on ppc32. Since the erroneous write is inside the
5697     block, it remained undetected by valgrind.
5698
5699  src/cairo-freed-pool-private.h |    8 +++++---
5700  src/cairo-freed-pool.c         |    4 +++-
5701  2 files changed, 8 insertions(+), 4 deletions(-)
5702
5703 commit 97b4aeba44e5f4b23b3ed417b991570b46d4736e
5704 Author: Chris Wilson <chris@chris-wilson.co.uk>
5705 Date:   Thu May 20 21:54:16 2010 +0100
5706
5707     atomic: Add memory barriers if required for intel primitives
5708
5709  src/cairo-atomic-private.h |   16 ++++++++++++++++
5710  1 file changed, 16 insertions(+)
5711
5712 commit 24e684c267404528b40fa49b55272d73bd44167d
5713 Author: Benjamin Otte <otte@gnome.org>
5714 Date:   Thu May 20 22:37:18 2010 +0200
5715
5716     gl: spans need the dummy texture
5717     
5718     Thanks Eric. That took me half a day.
5719
5720  src/cairo-gl-composite.c |    2 +-
5721  1 file changed, 1 insertion(+), 1 deletion(-)
5722
5723 commit d7a564d8eed32b4417fdb4c8c5d91467e4ae1019
5724 Author: Benjamin Otte <otte@redhat.com>
5725 Date:   Thu May 20 22:10:06 2010 +0200
5726
5727     gl: Don't set is_clear
5728     
5729     1) It's wrong.
5730     2) The core functions set the flag correctly already.
5731
5732  src/cairo-gl-surface.c |    2 --
5733  1 file changed, 2 deletions(-)
5734
5735 commit f9cf07b126293d00df085d4fbfa337e1132e0258
5736 Author: Benjamin Otte <otte@redhat.com>
5737 Date:   Thu May 20 16:08:38 2010 +0200
5738
5739     gl: Fix coverage passing for spans not being endian safe.
5740
5741  src/cairo-gl-composite.c |   29 ++++++++++++++++-------------
5742  src/cairo-gl-private.h   |    2 +-
5743  src/cairo-gl-surface.c   |    4 ++--
5744  3 files changed, 19 insertions(+), 16 deletions(-)
5745
5746 commit 2a0f34c6da2eb4f10b198d04894fc1413352e041
5747 Author: Benjamin Otte <otte@redhat.com>
5748 Date:   Thu May 20 11:23:18 2010 +0200
5749
5750     gl: Allow NONE and SPANS sampler for source, too
5751
5752  src/cairo-gl-shaders.c |    4 +++-
5753  1 file changed, 3 insertions(+), 1 deletion(-)
5754
5755 commit 1586f7740ad436447ac75c6b869da7446172a63c
5756 Author: Benjamin Otte <otte@gnome.org>
5757 Date:   Thu May 20 13:17:52 2010 +0200
5758
5759     gl: Refactor fixed function setup code
5760     
5761     In particular get rid of the _cairo_gl_set_tex_combine_constant_color()
5762     function by inlining it and move common glTexEnv calls out of the
5763     switch statement.
5764
5765  src/cairo-gl-composite.c |  130 ++++++++++++++++------------------------------
5766  1 file changed, 46 insertions(+), 84 deletions(-)
5767
5768 commit 4889090c76bdab5e4eb887593caf5d5a34f90864
5769 Author: Benjamin Otte <otte@gnome.org>
5770 Date:   Thu May 20 12:13:43 2010 +0200
5771
5772     gl: set the active texture before fiddling with with glTexEnv
5773     
5774     fixes the fixed function pipeline
5775
5776  src/cairo-gl-composite.c |    8 ++++++++
5777  1 file changed, 8 insertions(+)
5778
5779 commit 3cff2da912150868390bf4b9df166c88b3dfcf2e
5780 Author: Benjamin Otte <otte@gnome.org>
5781 Date:   Thu May 20 12:03:18 2010 +0200
5782
5783     gl: Remove unused variables
5784
5785  src/cairo-gl-composite.c |    9 ---------
5786  1 file changed, 9 deletions(-)
5787
5788 commit 4c7dd1be4526c85b47f1fe1d4663e7fbec0926b1
5789 Author: Benjamin Otte <otte@redhat.com>
5790 Date:   Wed May 19 22:03:18 2010 +0200
5791
5792     gl: Move vertex array setup code into the texture setup code
5793
5794  src/cairo-gl-composite.c |   35 ++++++++++++++---------------------
5795  1 file changed, 14 insertions(+), 21 deletions(-)
5796
5797 commit d9d5976bdf333a5a7ea7707bc3076696f3c079d2
5798 Author: Benjamin Otte <otte@redhat.com>
5799 Date:   Wed May 19 21:54:32 2010 +0200
5800
5801     gl: Add an assertion that a context cannot call _begin() twice
5802     
5803     Evert _begin() call must be followed by an _end() call to avoid any
5804     nastiness. Just like GL. :)
5805
5806  src/cairo-gl-composite.c |    2 ++
5807  src/cairo-gl-private.h   |    7 +++++++
5808  2 files changed, 9 insertions(+)
5809
5810 commit 5b8b1fe1cb692530b40db330c3040cd85a8b6bd7
5811 Author: Benjamin Otte <otte@redhat.com>
5812 Date:   Wed May 19 21:10:26 2010 +0200
5813
5814     gl: Move vertex buffer handling from setup into context
5815     
5816     We can only emit one vertex buffer at a time anyway.
5817
5818  src/cairo-gl-composite.c |   34 ++++++++++++++++++----------------
5819  src/cairo-gl-private.h   |    8 ++++----
5820  2 files changed, 22 insertions(+), 20 deletions(-)
5821
5822 commit 0d5f2eab77f055b063538dcd345a1e0db480f3bc
5823 Author: Benjamin Otte <otte@redhat.com>
5824 Date:   Wed May 19 20:49:49 2010 +0200
5825
5826     gl: Actuall do fall back to fixed function paths.
5827     
5828     Previously we were just returning UNSUPPORTED all the time. I guess that
5829     explains why my code got so slow...
5830
5831  src/cairo-gl-composite.c |    4 +++-
5832  1 file changed, 3 insertions(+), 1 deletion(-)
5833
5834 commit bb7ca71c1af416ca084f03089f5fe762403635dd
5835 Author: Benjamin Otte <otte@redhat.com>
5836 Date:   Wed May 19 20:47:31 2010 +0200
5837
5838     gl: Don't store the shader in the composite_t anymore
5839     
5840     Now that we have ctx->current_shader, there's no need to keep it in the
5841     composite setup code.
5842
5843  src/cairo-gl-composite.c |   30 ++++++++++++++----------------
5844  src/cairo-gl-private.h   |   10 ++++------
5845  src/cairo-gl-shaders.c   |   16 ++++++----------
5846  3 files changed, 24 insertions(+), 32 deletions(-)
5847
5848 commit 6c477b4a945a8f8b866bb2f5e125d4a0328d05f4
5849 Author: Benjamin Otte <otte@redhat.com>
5850 Date:   Wed May 19 20:10:19 2010 +0200
5851
5852     gl: Move shader checking in the TexEnv setup code
5853     
5854     As the previously generic setup code only contains non-shader code now,
5855     we can check in advance that no shader is in use and do all the other
5856     stuff without checks.
5857
5858  src/cairo-gl-composite.c |  208 ++++++++++++++++++++++------------------------
5859  1 file changed, 101 insertions(+), 107 deletions(-)
5860
5861 commit 73262edd8201de8ab8a01e01f83af5b5d6470f9e
5862 Author: Benjamin Otte <otte@redhat.com>
5863 Date:   Wed May 19 19:25:03 2010 +0200
5864
5865     gl: Move texture setup code into its own file
5866     
5867     This ensures textures don't need to be (re)set when doing component
5868     alpha and running 2 shaders.
5869
5870  src/cairo-gl-composite.c |  208 ++++++++++++++++++++--------------------------
5871  1 file changed, 92 insertions(+), 116 deletions(-)
5872
5873 commit 970c879dd897019f90b0c8ff5a18781be4935c55
5874 Author: Benjamin Otte <otte@redhat.com>
5875 Date:   Wed May 19 18:34:00 2010 +0200
5876
5877     gl: Binding variables only works for the current shader
5878     
5879     So make the code reflect that.
5880
5881  src/cairo-gl-composite.c |   27 ++++++++++++---------------
5882  src/cairo-gl-private.h   |    6 ------
5883  src/cairo-gl-shaders.c   |   22 ++++++++--------------
5884  3 files changed, 20 insertions(+), 35 deletions(-)
5885
5886 commit 065969d78f23c634ebcb2b931cbb1fe184f2cedf
5887 Author: Benjamin Otte <otte@redhat.com>
5888 Date:   Wed May 19 18:21:06 2010 +0200
5889
5890     gl: Separate binding to shaders from setting operands
5891     
5892     That way we only need to bind to shaders when creating them, but not
5893     everytime we switch shaders on text output.
5894
5895  src/cairo-gl-composite.c |  156 +++++++++++++++++++++++-----------------------
5896  src/cairo-gl-shaders.c   |    2 +-
5897  2 files changed, 79 insertions(+), 79 deletions(-)
5898
5899 commit c53f7778bcf274f64f801ef9ee1641a088842f60
5900 Author: Benjamin Otte <otte@redhat.com>
5901 Date:   Wed May 19 16:50:57 2010 +0200
5902
5903     gl: Use the mask, not the source
5904     
5905     Not that we'd ever have constant color component-alpha masks, but that's
5906     an entirely different topic.
5907
5908  src/cairo-gl-composite.c |    8 ++++----
5909  1 file changed, 4 insertions(+), 4 deletions(-)
5910
5911 commit 26e8e506b66022910c262da0618ef5be8c5a080e
5912 Author: Benjamin Otte <otte@redhat.com>
5913 Date:   Wed May 19 13:19:56 2010 +0200
5914
5915     gl: Add _cairo_gl_surface_is_texture()
5916     
5917     It's more explicit then just checking surface->fb != 0
5918     Also, it makes improving that check easier.
5919
5920  src/cairo-gl-device.c  |    4 ++--
5921  src/cairo-gl-private.h |    6 ++++++
5922  src/cairo-gl-surface.c |   11 ++++++-----
5923  3 files changed, 14 insertions(+), 7 deletions(-)
5924
5925 commit e4cb46b50015f792b0e8c7b49f3b42f2c3c0ad00
5926 Author: Benjamin Otte <otte@redhat.com>
5927 Date:   Wed May 19 12:10:10 2010 +0200
5928
5929     gl: Implement texture upload to window with composite()
5930     
5931     Instead of custom code that does basically the same thing, use
5932     a temporary surface and _cairo_gl_surface_composite() to upload images.
5933
5934  src/cairo-gl-shaders.c |    2 +-
5935  src/cairo-gl-surface.c |  129 ++++++++++++++++++------------------------------
5936  2 files changed, 48 insertions(+), 83 deletions(-)
5937
5938 commit 7c8759e279f51ea722c07e4b0c70f4a49f34393d
5939 Author: Benjamin Otte <otte@redhat.com>
5940 Date:   Wed May 19 11:46:12 2010 +0200
5941
5942     gl: cache the current shader in the context
5943
5944  src/cairo-gl-private.h |    4 +++-
5945  src/cairo-gl-shaders.c |    7 +++++++
5946  2 files changed, 10 insertions(+), 1 deletion(-)
5947
5948 commit 6864ca6c25aa8147a562d7f693a95025dde807a8
5949 Author: Benjamin Otte <otte@redhat.com>
5950 Date:   Wed May 19 11:10:11 2010 +0200
5951
5952     gl: Move _cairo_gl_set_operator() to the file it's used in
5953     
5954     Also make it a private function.
5955
5956  src/cairo-gl-composite.c |   57 ++++++++++++++++++++++++++++++++++++++++++++++
5957  src/cairo-gl-private.h   |    4 ----
5958  src/cairo-gl-surface.c   |   57 ----------------------------------------------
5959  3 files changed, 57 insertions(+), 61 deletions(-)
5960
5961 commit 0d2d4c59026c31da084e6797d109a230341b396d
5962 Author: Benjamin Otte <otte@redhat.com>
5963 Date:   Tue May 18 21:56:55 2010 +0200
5964
5965     gl: Detect color-pattern clears of surfaces
5966     
5967     ... and use glClear() there.
5968     
5969     The common case here is a solid color and OPERATOR_OVER.
5970
5971  src/cairo-gl-private.h |    3 ---
5972  src/cairo-gl-surface.c |   38 +++++++++++++++++++++++++++++---------
5973  2 files changed, 29 insertions(+), 12 deletions(-)
5974
5975 commit b70eb275c4aa54f7c90a985b5de67da12ac08a30
5976 Author: Benjamin Otte <otte@redhat.com>
5977 Date:   Tue May 18 21:56:18 2010 +0200
5978
5979     gl: detect image uploads and fast-path them
5980
5981  src/cairo-gl-surface.c |   23 +++++++++++++++++++++++
5982  1 file changed, 23 insertions(+)
5983
5984 commit 8adbf3aa19fd9fb8200973ecd72cdebfd9a5364d
5985 Author: Benjamin Otte <otte@redhat.com>
5986 Date:   Tue May 18 20:12:44 2010 +0200
5987
5988     gl: Use _cairo_gl_surface_draw_image() when caching glyphs
5989
5990  src/cairo-gl-glyphs.c |   47 ++++++++---------------------------------------
5991  1 file changed, 8 insertions(+), 39 deletions(-)
5992
5993 commit 915aa64ef077fe3b6094d0f1c8bd87ab5acc4868
5994 Author: Benjamin Otte <otte@redhat.com>
5995 Date:   Tue May 18 13:01:30 2010 +0200
5996
5997     gl: Actually check errors for _cairo_gl_composite_begin()
5998
5999  src/cairo-gl-glyphs.c |    2 ++
6000  1 file changed, 2 insertions(+)
6001
6002 commit 0222cc7d76b0dc724630b660687f98a2460eb0b9
6003 Author: Benjamin Otte <otte@redhat.com>
6004 Date:   Tue May 18 13:00:34 2010 +0200
6005
6006     gl: Get rid of _cairo_gl_composite_set_mask_texture()
6007     
6008     Now that the glyph cache contains real surfaces, there's no longer a
6009     need to have a special function for it.
6010
6011  src/cairo-gl-composite.c |   16 ----------------
6012  src/cairo-gl-glyphs.c    |   15 ++++++++-------
6013  src/cairo-gl-private.h   |    6 ------
6014  3 files changed, 8 insertions(+), 29 deletions(-)
6015
6016 commit 208d9f2a7e1f66ff2764c41fe67f65e27279b2ab
6017 Author: Benjamin Otte <otte@redhat.com>
6018 Date:   Tue May 18 12:49:59 2010 +0200
6019
6020     gl: Make glyph cache a real surface
6021     
6022     This has the huge advantage that we can use real surface functions on
6023     it.
6024
6025  src/cairo-gl-glyphs.c  |   67 ++++++++++++++++++------------------------------
6026  src/cairo-gl-private.h |    3 +--
6027  2 files changed, 26 insertions(+), 44 deletions(-)
6028
6029 commit 050117996339cfe35add1f2cd44d0e5578d4a981
6030 Author: Benjamin Otte <otte@redhat.com>
6031 Date:   Tue May 18 12:02:54 2010 +0200
6032
6033     surface: Add _cairo_surface_release_device_reference() API
6034     
6035     See the API documentation for that function about its intended purpose.
6036
6037  src/cairo-surface-private.h |    1 +
6038  src/cairo-surface.c         |   26 +++++++++++++++++++++++++-
6039  src/cairoint.h              |    3 +++
6040  3 files changed, 29 insertions(+), 1 deletion(-)
6041
6042 commit c489f67d1d1d6079f9b58b726ed42beea1dfc44e
6043 Author: Benjamin Otte <otte@redhat.com>
6044 Date:   Mon May 17 20:45:42 2010 +0200
6045
6046     gl: Make a bunch of functions static
6047     
6048     They are no longer used outside of cairo_gl_composite_t.
6049
6050  src/cairo-gl-composite.c |    8 ++++----
6051  src/cairo-gl-private.h   |   16 ----------------
6052  2 files changed, 4 insertions(+), 20 deletions(-)
6053
6054 commit c8008e118a54d62690d6555c9ffabf734c39e69f
6055 Author: Benjamin Otte <otte@redhat.com>
6056 Date:   Mon May 17 19:16:20 2010 +0200
6057
6058     gl: Don't name the union in cairo_gl_operand_t
6059     
6060     Gets rid of ultra-long variable names.
6061
6062  src/cairo-gl-composite.c |  152 +++++++++++++++++++++++-----------------------
6063  src/cairo-gl-private.h   |    2 +-
6064  2 files changed, 77 insertions(+), 77 deletions(-)
6065
6066 commit 53260148ea9abacdc510826765c1d63f486add6c
6067 Author: Andrea Canciani <ranma42@gmail.com>
6068 Date:   Fri May 14 21:04:22 2010 +0200
6069
6070     quartz: fix repeating radial gradients on 64 bits
6071     
6072     Quartz API uses the type CGFloat, which is double on 64 bits,
6073     float on 32 bits architectures
6074
6075  src/cairo-quartz-surface.c |    2 +-
6076  1 file changed, 1 insertion(+), 1 deletion(-)
6077
6078 commit 0104976dc853b60de14080a749a6f729852f1b22
6079 Author: Andrea Canciani <ranma42@gmail.com>
6080 Date:   Fri May 14 21:03:19 2010 +0200
6081
6082     quartz: silence compiler warnings
6083     
6084     All the possible enum values have to be explicitly handled in switch statements.
6085
6086  src/cairo-quartz-surface.c |    2 ++
6087  1 file changed, 2 insertions(+)
6088
6089 commit ac94a00a4d3acb36f011330b78d1311534fe90e0
6090 Author: Andrea Canciani <ranma42@gmail.com>
6091 Date:   Fri May 14 19:33:15 2010 +0200
6092
6093     quartz: fallback for A1 images on little endian archs
6094     
6095     Quartz uses a bit ordering that is consistent with cairo on big
6096     endian architectures, but isn't on little endian architectures.
6097     
6098     Fixes a1-mask and large-source-roi (on little endian)
6099
6100  src/cairo-quartz-surface.c |    2 ++
6101  1 file changed, 2 insertions(+)
6102
6103 commit f40e3b09a130a9ccbe310120fd5cfc7ad7828a4d
6104 Author: Andrea Canciani <ranma42@gmail.com>
6105 Date:   Thu May 13 12:15:19 2010 +0200
6106
6107     quartz-font: Silence 0x0 CGContext warning
6108     
6109     Silence Quartz complaints about operations on empty contexts:
6110     <Error>: CGContextSetFont: invalid context 0x0
6111     <Error>: CGContextSetFontSize: invalid context 0x0
6112     <Error>: CGContextSetTextMatrix: invalid context 0x0
6113     <Error>: CGContextSetAlpha: invalid context 0x0
6114     <Error>: CGContextShowGlyphsAtPoint: invalid context 0x0
6115
6116  src/cairo-quartz-font.c |   77 ++++++++++++++++++++++++++---------------------
6117  1 file changed, 42 insertions(+), 35 deletions(-)
6118
6119 commit 1687e6169463947554f5476674a577e67e2c543b
6120 Author: Andrea Canciani <ranma42@gmail.com>
6121 Date:   Thu May 13 11:54:32 2010 +0200
6122
6123     quartz-font: Conform context and antialias handling to quartz-surface
6124     
6125     A8 surfaces are now kAlphaOnly surfaces in quartz-font too.
6126     Subpixel font smoothing can be enabled.
6127
6128  src/cairo-quartz-font.c |   38 ++++++++++++++++++++++++++++----------
6129  1 file changed, 28 insertions(+), 10 deletions(-)
6130
6131 commit d68bbc0fe5706634e4c025bdcb311905b7f008e4
6132 Author: Benjamin Otte <otte@gnome.org>
6133 Date:   Mon May 17 20:57:08 2010 +0200
6134
6135     gl: Add missing NULL-check in non-shader code
6136
6137  src/cairo-gl-composite.c |    4 ++--
6138  1 file changed, 2 insertions(+), 2 deletions(-)
6139
6140 commit 7f22372edf10f5eab53ea132d9226f6d5b49eb9a
6141 Author: Benjamin Otte <otte@redhat.com>
6142 Date:   Mon May 17 14:20:17 2010 +0200
6143
6144     gl: Get rid of src and mask argument to composite_init()
6145     
6146     This was thought of as a way to detect self-painting, but it's better to
6147     check that later in _begin() - when we check it.
6148
6149  src/cairo-gl-composite.c |    2 --
6150  src/cairo-gl-glyphs.c    |    2 +-
6151  src/cairo-gl-private.h   |    2 --
6152  src/cairo-gl-surface.c   |    9 ++++-----
6153  4 files changed, 5 insertions(+), 10 deletions(-)
6154
6155 commit 75f15babed8409fb1eaae514411de01d57072c80
6156 Author: Benjamin Otte <otte@redhat.com>
6157 Date:   Mon May 17 14:17:47 2010 +0200
6158
6159     gl: Implement fill_rectangles with composite
6160     
6161     Tiny performance improvement, but a lot less code.
6162
6163  src/cairo-gl-surface.c |  204 ++++++++++--------------------------------------
6164  1 file changed, 41 insertions(+), 163 deletions(-)
6165
6166 commit e7c5b4f79fa24b75026c93bc9244115d2ee23930
6167 Author: Benjamin Otte <otte@redhat.com>
6168 Date:   Mon May 17 13:56:22 2010 +0200
6169
6170     gl: make _set_mask() accept NULL
6171     
6172     That way, it can be used to unset the mask.
6173
6174  src/cairo-gl-composite.c |    3 +++
6175  src/cairo-gl-surface.c   |   14 ++++++--------
6176  2 files changed, 9 insertions(+), 8 deletions(-)
6177
6178 commit 145db7a427e594f1d68a6c0f4afe5e365e219cf0
6179 Author: Chris Wilson <chris@chris-wilson.co.uk>
6180 Date:   Mon May 17 12:37:46 2010 +0100
6181
6182     gl: Check status after composite_begin
6183     
6184     Skip the unnecessary work in _cairo_gl_surface_composite() if we fail
6185     to setup the GL composite operation.
6186
6187  src/cairo-gl-surface.c |    2 ++
6188  1 file changed, 2 insertions(+)
6189
6190 commit 8695c41e80ce932fd5dd434307b92f323a937c7c
6191 Author: Chris Wilson <chris@chris-wilson.co.uk>
6192 Date:   Mon May 17 12:36:54 2010 +0100
6193
6194     gl: Throw a _cairo_error when detecting a GLerror
6195     
6196     This allows us to easily set an breakpoint and inspect cairo's state
6197     when we do something illegal.
6198
6199  src/cairo-gl-private.h |    4 +++-
6200  1 file changed, 3 insertions(+), 1 deletion(-)
6201
6202 commit 1c18ab02c8d41be8e5886cbb34aeda5099189fef
6203 Author: Chris Wilson <chris@chris-wilson.co.uk>
6204 Date:   Mon May 17 11:42:26 2010 +0100
6205
6206     gl: Rename cairo_gl_shader_program_t to cairo_gl_shader_t
6207     
6208     And complete the move of the shaders into the cairo_gl_shader namespace.
6209     Of particular note, the bind_*_to_shader become
6210     _cairo_gl_shader_bind_*() and have proper types.
6211
6212  src/cairo-gl-composite.c |  138 ++++++-------
6213  src/cairo-gl-device.c    |   14 +-
6214  src/cairo-gl-private.h   |   93 +++++----
6215  src/cairo-gl-shaders.c   |  508 +++++++++++++++++++++++++---------------------
6216  src/cairo-gl-surface.c   |   54 ++---
6217  5 files changed, 424 insertions(+), 383 deletions(-)
6218
6219 commit 2325d755b03958d8ead9a995c0d1d03e4f93af0c
6220 Author: Chris Wilson <chris@chris-wilson.co.uk>
6221 Date:   Mon May 17 10:33:46 2010 +0100
6222
6223     gl: Pretty print the error GLenum.
6224
6225  src/cairo-gl-private.h |    3 ++-
6226  src/cairo-gl-surface.c |   19 +++++++++++++++++++
6227  2 files changed, 21 insertions(+), 1 deletion(-)
6228
6229 commit 7ef1bd22ded512f4fad3959796d7f40c4ddc5824
6230 Author: Benjamin Otte <otte@redhat.com>
6231 Date:   Mon May 17 01:12:34 2010 +0200
6232
6233     gl: Update copyright statements
6234     
6235     - add 2010 Red Hat copyright for my code
6236     - include myself as author
6237     - update contributors list
6238
6239  src/cairo-gl-composite.c |    5 ++++-
6240  src/cairo-gl-device.c    |    5 ++++-
6241  src/cairo-gl-glyphs.c    |    5 +++++
6242  src/cairo-gl-private.h   |    6 ++++--
6243  src/cairo-gl-shaders.c   |    8 +++++++-
6244  src/cairo-gl-surface.c   |    5 ++++-
6245  6 files changed, 28 insertions(+), 6 deletions(-)
6246
6247 commit 0b69e51b526a609a2dc5f1d2fb9c49f240feb57b
6248 Author: Benjamin Otte <otte@redhat.com>
6249 Date:   Mon May 17 00:56:21 2010 +0200
6250
6251     gl: Assert that binding values to shaders never fails
6252     
6253     As that would  be a programming error, we can use an assert and get rid
6254     of return values that we weren't checking anyway.
6255
6256  src/cairo-gl-composite.c |  129 +++++++++++++++++++---------------------------
6257  src/cairo-gl-private.h   |   12 ++---
6258  src/cairo-gl-shaders.c   |  114 ++++++++++++++++------------------------
6259  src/cairo-gl-surface.c   |   15 +++---
6260  4 files changed, 111 insertions(+), 159 deletions(-)
6261
6262 commit 0bb11e8f5bcdc8a6f8384197b39c2ad48eaab1cd
6263 Author: Benjamin Otte <otte@redhat.com>
6264 Date:   Mon May 17 00:49:01 2010 +0200
6265
6266     gl: Use GL_TRIANGLES instead of GL_QUADS
6267     
6268     It seems to increase performance by 1-2% on average and up to 30% in
6269     some cases (on i965).
6270
6271  src/cairo-gl-composite.c |   16 +++++++++++-----
6272  1 file changed, 11 insertions(+), 5 deletions(-)
6273
6274 commit 2b771da47a87f86f378314bfe8033874d9444914
6275 Author: Benjamin Otte <otte@redhat.com>
6276 Date:   Sun May 16 23:58:47 2010 +0200
6277
6278     xlib: ensure variable isn't uninitialized
6279
6280  src/cairo-xlib-surface.c |    4 +++-
6281  1 file changed, 3 insertions(+), 1 deletion(-)
6282
6283 commit b768a33a602942825e5ec651ae7bafd6d5fc33ac
6284 Author: Benjamin Otte <otte@redhat.com>
6285 Date:   Sun May 16 21:10:45 2010 +0200
6286
6287     gl: Set composite->has_component_alpha based on mask
6288     
6289     Previously it was set when initing the composite structure, but that
6290     doesn't allow resetting it when a new mask is used.
6291
6292  src/cairo-gl-composite.c |    7 ++++---
6293  1 file changed, 4 insertions(+), 3 deletions(-)
6294
6295 commit 1cde4601df8a3689450e2a0e15888c53aff12983
6296 Author: Benjamin Otte <otte@redhat.com>
6297 Date:   Sun May 16 21:05:16 2010 +0200
6298
6299     gl: Replace _cairo_gl_operand_init() with setters for src/mask
6300     
6301     Now cairo_gl_operand_t is no longer exposed outside of
6302     cairo-gl-composite.c
6303
6304  src/cairo-gl-composite.c |   34 +++++++++++++++++++++++++++++++++-
6305  src/cairo-gl-glyphs.c    |   10 +++++-----
6306  src/cairo-gl-private.h   |   25 ++++++++++++++++---------
6307  src/cairo-gl-surface.c   |   26 +++++++++++++-------------
6308  4 files changed, 67 insertions(+), 28 deletions(-)
6309
6310 commit 6575cb7a95e109ab39eda58603ed6a76581a41b0
6311 Author: Benjamin Otte <otte@redhat.com>
6312 Date:   Sun May 16 20:39:00 2010 +0200
6313
6314     gl: Convert glyphs path to use cairo_gl_composite_t
6315
6316  src/cairo-gl-composite.c |  122 ++++++++++++-----
6317  src/cairo-gl-glyphs.c    |  331 ++++++----------------------------------------
6318  src/cairo-gl-private.h   |   22 +++
6319  3 files changed, 150 insertions(+), 325 deletions(-)
6320
6321 commit 8937f2b4b5e4bcb8ada1e478df6a7329c0b80a5a
6322 Author: Benjamin Otte <otte@redhat.com>
6323 Date:   Sun May 16 13:19:48 2010 +0200
6324
6325     gl: Require ARB_vertex_buffer_object extension unconditionally
6326     
6327     <anholt> we shouldn't bother with non-vbo support. there's no
6328     justification for a driver not supporting it.
6329
6330  src/cairo-gl-composite.c |    1 -
6331  src/cairo-gl-device.c    |    5 +++--
6332  src/cairo-gl-glyphs.c    |    3 ---
6333  src/cairo-gl-private.h   |    7 -------
6334  src/cairo-gl-surface.c   |   12 ++++--------
6335  5 files changed, 7 insertions(+), 21 deletions(-)
6336
6337 commit 29dfd5b488e16ec8be879b2415635df93b874afc
6338 Author: Benjamin Otte <otte@redhat.com>
6339 Date:   Sun May 16 03:36:05 2010 +0200
6340
6341     gl: Remove unused variables
6342
6343  src/cairo-gl-surface.c |    7 +------
6344  1 file changed, 1 insertion(+), 6 deletions(-)
6345
6346 commit 4144488f516214b675d25d48add8cbd83fd17025
6347 Author: Benjamin Otte <otte@redhat.com>
6348 Date:   Sun May 16 03:29:04 2010 +0200
6349
6350     gl: Convert span renderer to use cairo_gl_composite_begin/end()
6351     
6352     Adds two new APIs to the composite API:
6353     - _cairo_gl_composite_set_mask_spans()
6354       Tells the composite renderer to use the color values for spans.
6355     - _cairo_gl_composite_set_clip_region()
6356       Tells the composite renderer to use GL_SCISSORS_TEST to clip when
6357       drawing. This function is very unperformant, so if it can be avoided,
6358       it probably shouldn't be used.
6359
6360  src/cairo-gl-composite.c |   72 +++++++++++++-
6361  src/cairo-gl-private.h   |   10 ++
6362  src/cairo-gl-surface.c   |  247 ++++++----------------------------------------
6363  3 files changed, 110 insertions(+), 219 deletions(-)
6364
6365 commit 6e81d85e3682f14e1c5dbe97dda2cc1fcd32df3a
6366 Author: Benjamin Otte <otte@redhat.com>
6367 Date:   Sun May 16 03:27:28 2010 +0200
6368
6369     gl: Change _cairo_gl_composite_emit_rect()
6370     
6371     Two changes:
6372     - The function now takes x1/y1,x2/y2 instead of x,y,width,height
6373     - The function takes a color uint32_t. This will be used by spans.
6374
6375  src/cairo-gl-composite.c |   27 +++++++++++++++------------
6376  src/cairo-gl-private.h   |    9 +++++----
6377  src/cairo-gl-surface.c   |   10 ++++++----
6378  3 files changed, 26 insertions(+), 20 deletions(-)
6379
6380 commit f8398cc2d83eb9ac37874f71d4f8805dbf0df412
6381 Author: Benjamin Otte <otte@redhat.com>
6382 Date:   Sun May 16 02:34:18 2010 +0200
6383
6384     gl: remove unused variables from span renderer
6385
6386  src/cairo-gl-surface.c |    7 -------
6387  1 file changed, 7 deletions(-)
6388
6389 commit f5c5077def47b91b57dfbc8c2622b4aaf5ca8fbb
6390 Author: Benjamin Otte <otte@redhat.com>
6391 Date:   Sun May 16 02:06:43 2010 +0200
6392
6393     gl: Support component alpha in gl_composite_t
6394     
6395     Use that to get rid of cairo_gl_surface_composite_component_alpha()
6396
6397  src/cairo-gl-composite.c |  165 +++++++++++++++++++++++++--
6398  src/cairo-gl-glyphs.c    |    2 +-
6399  src/cairo-gl-private.h   |    4 +
6400  src/cairo-gl-surface.c   |  280 +---------------------------------------------
6401  4 files changed, 167 insertions(+), 284 deletions(-)
6402
6403 commit 88c118f891ca9ba472b8acff33829de845bb507c
6404 Author: Benjamin Otte <otte@redhat.com>
6405 Date:   Sun May 16 00:24:17 2010 +0200
6406
6407     gl: Implement _composite_emit_rect() and _composite_end()
6408     
6409     And use it in cairo_gl_surface_composite()
6410
6411  src/cairo-gl-composite.c |  164 ++++++++++++++++++++++++++++++++++++++++++++++
6412  src/cairo-gl-private.h   |   19 ++++++
6413  src/cairo-gl-surface.c   |  107 +++---------------------------
6414  3 files changed, 192 insertions(+), 98 deletions(-)
6415
6416 commit b96735f7b465a16182c4c8555878ba16b947e8f9
6417 Author: Benjamin Otte <otte@redhat.com>
6418 Date:   Sat May 15 22:12:12 2010 +0200
6419
6420     gl: Add _cairo_gl_composite_begin() function
6421     
6422     This is the first step at adding the following function set:
6423     _cairo_gl_composite_begin()
6424     _cairo_gl_composite_emit_*()
6425     _cairo_gl_composite_end()
6426     which will take care of proiding a unified model for emitting vertexes
6427     using vbos instead of the 5 different methods we currently have.
6428
6429  src/cairo-gl-composite.c |   30 ++++++++++++++++++++++++++++++
6430  src/cairo-gl-private.h   |    6 ++++++
6431  src/cairo-gl-surface.c   |   22 +---------------------
6432  3 files changed, 37 insertions(+), 21 deletions(-)
6433
6434 commit 211a8b8234d24dd8e00332cb0b0e625ac1ffef58
6435 Author: Benjamin Otte <otte@redhat.com>
6436 Date:   Sat May 15 21:27:58 2010 +0200
6437
6438     gl: make _cairo_operand_destroy private
6439
6440  src/cairo-gl-composite.c |    2 +-
6441  src/cairo-gl-private.h   |    3 ---
6442  2 files changed, 1 insertion(+), 4 deletions(-)
6443
6444 commit bf1060252abaa97eb5ce149f8b99055b42096c67
6445 Author: Benjamin Otte <otte@redhat.com>
6446 Date:   Sat May 15 21:26:55 2010 +0200
6447
6448     gl: make show_glyphs use the cairo_composite_t API
6449
6450  src/cairo-gl-glyphs.c |   17 ++++++++++-------
6451  1 file changed, 10 insertions(+), 7 deletions(-)
6452
6453 commit 948290de12c5f451d361903f0f52e0cde5527180
6454 Author: Benjamin Otte <otte@redhat.com>
6455 Date:   Sat May 15 20:33:00 2010 +0200
6456
6457     gl: Make the span renderer use the new composite APIs
6458
6459  src/cairo-gl-surface.c |   32 ++++++++++++++++++++------------
6460  1 file changed, 20 insertions(+), 12 deletions(-)
6461
6462 commit 7ad8c3b45691ce0c8a86180bb3c1117b9a9980c0
6463 Author: Benjamin Otte <otte@redhat.com>
6464 Date:   Sat May 15 20:07:44 2010 +0200
6465
6466     gl: Move composite code into own file
6467     
6468     This allows designing a cleaner interface for cairo_composite_t as there
6469     will not be static functions that get called outside of the "published"
6470     interfaces.
6471
6472  src/Makefile.sources     |    3 +-
6473  src/cairo-gl-composite.c |  898 ++++++++++++++++++++++++++++++++++++++++++++++
6474  src/cairo-gl-private.h   |    8 +
6475  src/cairo-gl-surface.c   |  851 +------------------------------------------
6476  4 files changed, 910 insertions(+), 850 deletions(-)
6477
6478 commit 3ff32b00f0f85a853163c20b101ac5dd6a07da77
6479 Author: Benjamin Otte <otte@redhat.com>
6480 Date:   Sat May 15 18:20:56 2010 +0200
6481
6482     gl: cairo_gl_compsite_setup_t => cairo_gl_composite_t
6483
6484  src/cairo-gl-glyphs.c  |    4 ++--
6485  src/cairo-gl-private.h |   26 +++++++++++++-------------
6486  src/cairo-gl-surface.c |   46 +++++++++++++++++++++++-----------------------
6487  3 files changed, 38 insertions(+), 38 deletions(-)
6488
6489 commit c16edee26fb9f1669ee0ce1a61f0c54d802c6c7b
6490 Author: Benjamin Otte <otte@redhat.com>
6491 Date:   Sat May 15 17:33:24 2010 +0200
6492
6493     gl: use glBlendFuncSeparate()
6494     
6495     This way we can treat alpha-only textures correctly and don't have to
6496     emit different shaders for it. Also gets rid of
6497     GL_OPERAND_TEXTURE_ALPHA.
6498
6499  src/cairo-gl-glyphs.c  |    9 +++------
6500  src/cairo-gl-private.h |    1 -
6501  src/cairo-gl-shaders.c |   37 -------------------------------------
6502  src/cairo-gl-surface.c |   37 +++++++++++++------------------------
6503  4 files changed, 16 insertions(+), 68 deletions(-)
6504
6505 commit 4f5221a834a883262cce607d247f607d6c200363
6506 Author: Benjamin Otte <otte@redhat.com>
6507 Date:   Wed May 12 21:12:37 2010 +0200
6508
6509     gl: acquire device manually in finish, as the default way will error
6510     
6511     We'll get CAIRO_STATUS_DEVICE_FINISHED, d'oh
6512
6513  src/cairo-gl-device.c |   16 ++++++++--------
6514  1 file changed, 8 insertions(+), 8 deletions(-)
6515
6516 commit 3f6300444928d12bf4a6e2f6f2c5fec1de7dba8e
6517 Author: Benjamin Otte <otte@redhat.com>
6518 Date:   Wed May 12 20:53:20 2010 +0200
6519
6520     gl: Put shaders into a cache
6521     
6522     This allows to grow the complexity of the shaders without enlarging the
6523     static array to unreasonable sizes.
6524     
6525     The cache size of 64 is essentially random.
6526
6527  src/cairo-gl-device.c  |    2 +
6528  src/cairo-gl-private.h |    8 ++--
6529  src/cairo-gl-shaders.c |  111 ++++++++++++++++++++++++++++++++++++++++--------
6530  3 files changed, 100 insertions(+), 21 deletions(-)
6531
6532 commit 08b04caf52518f1672694341355b5f5418008e78
6533 Author: Benjamin Otte <otte@redhat.com>
6534 Date:   Wed May 12 18:10:04 2010 +0200
6535
6536     gl: Add cairo_gl_composite_setup_init/fini() functions
6537     
6538     Simplifies the main code paths, and can be extended to do dest copies.
6539
6540  src/cairo-gl-private.h |   13 +++++++
6541  src/cairo-gl-surface.c |   91 +++++++++++++++++++++++++++---------------------
6542  2 files changed, 65 insertions(+), 39 deletions(-)
6543
6544 commit aa14df0db5e4f236a9668ceda4e148e7d3ba0e9f
6545 Author: Benjamin Otte <otte@redhat.com>
6546 Date:   Wed May 12 17:01:47 2010 +0200
6547
6548     gl: move operator check
6549     
6550     component alpha compositing checks the operator itself
6551
6552  src/cairo-gl-surface.c |    6 +++---
6553  1 file changed, 3 insertions(+), 3 deletions(-)
6554
6555 commit a3ee0a7f113ed38df66580ff7e38a79759b0c933
6556 Author: Benjamin Otte <otte@redhat.com>
6557 Date:   Wed May 12 16:57:32 2010 +0200
6558
6559     gl: Programmatically generate fragment shaders
6560
6561  src/cairo-gl-shaders.c |  428 +++++++++++++++++++++---------------------------
6562  src/cairo-gl-surface.c |    6 +-
6563  2 files changed, 186 insertions(+), 248 deletions(-)
6564
6565 commit fe43b13052f7063f880aeeebda1880a6a2097922
6566 Author: Benjamin Otte <otte@redhat.com>
6567 Date:   Wed May 12 13:57:06 2010 +0200
6568
6569     gl: Automatically generate the vertex shader source
6570     
6571     The idea is being able to generate shaders from the given input
6572     on-demand. This allows creating more advanced shaders, such as those
6573     that include the destination (for self-painting and
6574     unsupported-by-blending operator) or painting images in weird formats
6575     (extra translation step in shader, think YUV).
6576
6577  src/cairo-gl-device.c  |    2 +-
6578  src/cairo-gl-private.h |   21 +++---
6579  src/cairo-gl-shaders.c |  195 +++++++++++++++++++++++++++++-------------------
6580  src/cairo-gl-surface.c |    3 +-
6581  4 files changed, 132 insertions(+), 89 deletions(-)
6582
6583 commit 405eee07ad9a5bc325b339b8588facb905fb28f5
6584 Author: Benjamin Otte <otte@redhat.com>
6585 Date:   Wed May 12 00:02:28 2010 +0200
6586
6587     gl: Get rid of cairo_gl_shader_source/mask_t
6588     
6589     Use the cairo_gl_operand_type_t instead. Those enums are pretty much
6590     identical.
6591
6592  src/cairo-gl-glyphs.c  |   13 ++--
6593  src/cairo-gl-private.h |   67 ++++++++-------------
6594  src/cairo-gl-shaders.c |   60 ++++++++++---------
6595  src/cairo-gl-surface.c |  153 +++++++++++++++++++++++++++++-------------------
6596  4 files changed, 157 insertions(+), 136 deletions(-)
6597
6598 commit 5149bb87d7b547766ce6ff4976217454adbab562
6599 Author: Benjamin Otte <otte@redhat.com>
6600 Date:   Tue May 11 21:35:13 2010 +0200
6601
6602     gl: s/_cairo_gl_set_destination/_cairo_gl_context_set_destination/
6603     
6604     It's an operation on the context, so name it accordingly
6605
6606  src/cairo-gl-device.c  |    2 +-
6607  src/cairo-gl-glyphs.c  |    2 +-
6608  src/cairo-gl-private.h |    2 +-
6609  src/cairo-gl-surface.c |   16 ++++++++--------
6610  4 files changed, 11 insertions(+), 11 deletions(-)
6611
6612 commit 9f34e403f38192d711304fbde4dedbaa8e15fd6e
6613 Author: Benjamin Otte <otte@redhat.com>
6614 Date:   Tue May 11 13:15:16 2010 +0200
6615
6616     gl: Share vertex shaders
6617     
6618     Previously, we created a new vertex shader for every shader program we
6619     used. Now the code shares identical vertex shaders between programs.
6620
6621  src/cairo-gl-device.c  |   17 ++++-
6622  src/cairo-gl-private.h |   27 ++++++--
6623  src/cairo-gl-shaders.c |  179 ++++++++++++++++++++++++++++--------------------
6624  src/cairo-gl-surface.c |    7 +-
6625  4 files changed, 142 insertions(+), 88 deletions(-)
6626
6627 commit 562c323ae8689907d7a62a7c2f5c10fb8d055608
6628 Author: Adrian Johnson <ajohnson@redneon.com>
6629 Date:   Sun May 16 17:47:13 2010 +0930
6630
6631     cff: Use correct glyph advance when subsetting cff fonts
6632     
6633     Previously the glyph advance in font units was used for the widths in
6634     the PDF font dictionary. This only works for cff fonts that use a
6635     [0.001 0 0 0.001 0 0] font matrix.
6636
6637  src/cairo-cff-subset.c                  |   38 +++++++++++++++++--------------
6638  src/cairo-pdf-surface.c                 |   19 ++++++++--------
6639  src/cairo-scaled-font-subsets-private.h |    6 ++---
6640  3 files changed, 34 insertions(+), 29 deletions(-)
6641
6642 commit edcefa87ed0a8ff59b54ef9251182ce68f9158ba
6643 Author: Adrian Johnson <ajohnson@redneon.com>
6644 Date:   Wed May 12 23:12:55 2010 +0930
6645
6646     type1: Use correct glyph advance when subsetting type 1 fonts
6647     
6648     Previously the glyph advance in font units was used for the widths in
6649     the PDF font dictionary. This only works for Type 1 fonts that use a
6650     [0.001 0 0 0.001 0 0] font matrix.
6651     
6652     https://bugs.freedesktop.org/show_bug.cgi?id=28061
6653
6654  src/cairo-pdf-surface.c                 |   23 ++++++++++++-----------
6655  src/cairo-scaled-font-subsets-private.h |    6 +++---
6656  src/cairo-type1-fallback.c              |   18 +++++++++---------
6657  src/cairo-type1-subset.c                |    6 +++---
6658  4 files changed, 27 insertions(+), 26 deletions(-)
6659
6660 commit 34fd094b3be54138c20ea5c4aab1d9597d056f35
6661 Author: Chris Wilson <chris@chris-wilson.co.uk>
6662 Date:   Sun May 16 10:23:30 2010 +0100
6663
6664     rtree: Actually pin the node when pinning.
6665     
6666     How embarrassing.
6667
6668  src/cairo-rtree-private.h |    2 +-
6669  1 file changed, 1 insertion(+), 1 deletion(-)
6670
6671 commit 63062511f6755af9ddd2985250465f94ebc5a3e8
6672 Author: Chris Wilson <chris@chris-wilson.co.uk>
6673 Date:   Sun May 16 10:15:42 2010 +0100
6674
6675     boilerplate: Exercise manual double-buffering to a window
6676     
6677     Shouldn't possibly go wrong, but the mix of fbo and Window might prove
6678     interesting.
6679
6680  boilerplate/cairo-boilerplate-gl.c |  117 ++++++++++++++++++++++++++++++++++++
6681  1 file changed, 117 insertions(+)
6682
6683 commit 605be3182308ec7dfe15e9d89890c33800b1eea9
6684 Author: Chris Wilson <chris@chris-wilson.co.uk>
6685 Date:   Sun May 16 10:11:02 2010 +0100
6686
6687     cairo: Missing private markup for _cairo_format_to_pixman_format
6688
6689  src/cairoint.h |    2 +-
6690  1 file changed, 1 insertion(+), 1 deletion(-)
6691
6692 commit 14d6c3e054da89e47fc82ea29a708290eefe1357
6693 Author: Chris Wilson <chris@chris-wilson.co.uk>
6694 Date:   Sun May 16 10:07:07 2010 +0100
6695
6696     configure: Include PTHREAD_CFLAGS in CAIRO_LDFLAGS
6697     
6698     Required for successful linking of our programs. I am not sure what the
6699     impact this has upon other users of Cairo yet, I think we need to export
6700     the PTHREAD_CFLAGS via cairo.pc as well.
6701
6702  configure.ac |    1 +
6703  1 file changed, 1 insertion(+)
6704
6705 commit c3df7e6d58364f883d91567757ed999ea88e10ca
6706 Author: Chris Wilson <chris@chris-wilson.co.uk>
6707 Date:   Sun May 16 09:54:04 2010 +0100
6708
6709     rtree: Replace undeclared TRUE/FALSE with 1/0
6710
6711  src/cairo-rtree-private.h |    4 ++--
6712  1 file changed, 2 insertions(+), 2 deletions(-)
6713
6714 commit 465ceb330eada9937945f5c4d156169167d4bf8c
6715 Author: Andrea Canciani <ranma42@gmail.com>
6716 Date:   Sun May 16 09:41:12 2010 +0200
6717
6718     test: improve copyright notices
6719     
6720     Conform copyright notices to a1-image-sample.c
6721
6722  test/dash-offset.c              |   48 ++++++++++++++++-----------------------
6723  test/linear-gradient-extend.c   |   36 +++++++++++++++--------------
6724  test/radial-gradient-extend.c   |   36 +++++++++++++++--------------
6725  test/surface-pattern-operator.c |   36 +++++++++++++++--------------
6726  4 files changed, 76 insertions(+), 80 deletions(-)
6727
6728 commit e8bc25fdb21340b0a5a25f7193fd0bc5de540a50
6729 Author: Andrea Canciani <ranma42@valium.area51.sns.it>
6730 Date:   Fri May 14 21:40:13 2010 +0200
6731
6732     test: add linear-gradient-extend and radial-gradient-extend
6733     
6734     Check that constant gradient to solid color optimization are only
6735     applied if the extents permit it.
6736
6737  test/Makefile.sources               |    2 +
6738  test/linear-gradient-extend.c       |   90 +++++++++++++++++++++++++++++++++++
6739  test/linear-gradient-extend.ref.png |  Bin 0 -> 371 bytes
6740  test/radial-gradient-extend.c       |   90 +++++++++++++++++++++++++++++++++++
6741  test/radial-gradient-extend.ref.png |  Bin 0 -> 466 bytes
6742  5 files changed, 182 insertions(+)
6743
6744 commit a9d821b7a0f582b3d1b0175adee3350c81061a94
6745 Author: Benjamin Otte <otte@redhat.com>
6746 Date:   Fri May 14 21:06:18 2010 +0200
6747
6748     gl: gl surfaces are only similar when they share the same device
6749     
6750     Fixes gl-surface-source test for gl target
6751
6752  src/cairo-gl-surface.c |    2 +-
6753  1 file changed, 1 insertion(+), 1 deletion(-)
6754
6755 commit 435329a70f172c8cec72831dd7a2b2cfc0496342
6756 Author: Richard Procter <richard.n.procter@gmail.com>
6757 Date:   Fri May 14 14:48:46 2010 -0400
6758
6759     Bug 28100 - Font option CAIRO_HINT_METRICS_OFF unhonoured on win32
6760     
6761     Fix typo.  Ouch!
6762
6763  src/cairo-win32-font.c |    2 +-
6764  1 file changed, 1 insertion(+), 1 deletion(-)
6765
6766 commit 3a550eb2253588372b2c071b3c3152d5271c1aa2
6767 Author: Benjamin Otte <otte@redhat.com>
6768 Date:   Thu May 13 21:17:19 2010 +0200
6769
6770     gl: Remove gradient optimizations
6771     
6772     These optimizations are done in cairo-gstate.c these days.
6773
6774  src/cairo-gl-surface.c |   31 -------------------------------
6775  1 file changed, 31 deletions(-)
6776
6777 commit 3b1c0a4bd66660780095e6016e3db451f34503a3
6778 Author: Benjamin Otte <otte@redhat.com>
6779 Date:   Fri May 14 15:56:17 2010 +0200
6780
6781     fallback: Remove span renderer paths
6782     
6783     Those paths were broken, as they didn't properly translate the polygon
6784     to the destination size. And rather than adding lots of code that allows
6785     translation, it's easier to just delete this code.
6786     
6787     Note that the only user of the code was the GL backend anyway.
6788
6789  src/cairo-surface-fallback.c |   67 ------------------------------------------
6790  1 file changed, 67 deletions(-)
6791
6792 commit e3b2212bc5c4884eab356ae263b8318e10c379ac
6793 Author: Benjamin Otte <otte@redhat.com>
6794 Date:   Thu May 13 15:14:29 2010 +0200
6795
6796     build: Fix pthread detection
6797     
6798     Incorporate the pthread detection code from the autoconf archive. Should
6799     fix build on obscure archs that pretend to be UNIXy - like Mac OS X
6800     Tiger.
6801     
6802     http://www.gnu.org/software/autoconf-archive/
6803     http://www.gnu.org/software/autoconf-archive/ax_pthread.html
6804
6805  build/ax-pthread.m4           |  283 +++++++++++++++++++++++++++++++++++++++++
6806  build/configure.ac.system     |   11 --
6807  configure.ac                  |   14 +-
6808  util/cairo-sphinx/Makefile.am |    5 +-
6809  util/cairo-trace/Makefile.am  |    2 +-
6810  5 files changed, 292 insertions(+), 23 deletions(-)
6811
6812 commit acfbf95a0c7620359fd917224b5b391702740190
6813 Author: Benjamin Otte <otte@redhat.com>
6814 Date:   Thu May 13 14:21:21 2010 +0200
6815
6816     test: Make global variables in new test static
6817     
6818     It seems there's no gcc flag that warns about this.
6819
6820  test/zero-mask.c |    4 ++--
6821  1 file changed, 2 insertions(+), 2 deletions(-)
6822
6823 commit c69143e3f9c95ab3937a7efb8e4de170c4edb648
6824 Author: Benjamin Otte <otte@redhat.com>
6825 Date:   Wed May 12 21:14:36 2010 +0200
6826
6827     gl: Don't keep a temporary surface in the device
6828     
6829     We get circular references that way.
6830     If it turns out later such a cache is critical, we'll need to invent a
6831     way to avoid circling references. For now, just pretend it's not
6832     important.
6833
6834  src/cairo-gl-glyphs.c  |   36 ++++++++----------------------------
6835  src/cairo-gl-private.h |    1 -
6836  2 files changed, 8 insertions(+), 29 deletions(-)
6837
6838 commit ec1ca17b71b41159ea8754d42954863b62623536
6839 Author: Benjamin Otte <otte@redhat.com>
6840 Date:   Thu May 13 12:07:53 2010 +0200
6841
6842     gl: Don't create 0x0 surfaces
6843     
6844     We get a very annoyed libGL if we try to create 0x0 textures, so we
6845     return an image surface instead.
6846     
6847     Tested by the zero-mask test.
6848
6849  src/cairo-gl-surface.c |    4 ++++
6850  1 file changed, 4 insertions(+)
6851
6852 commit 108e3f5031fc16843197382af78af299b19ef290
6853 Author: Benjamin Otte <otte@redhat.com>
6854 Date:   Thu May 13 12:01:39 2010 +0200
6855
6856     Use a solid color for 0xN and Nx0 surfaces
6857     
6858     This gets around the need to check for 0-sized surfaces in the backends.
6859
6860  src/cairo-gstate.c |   15 +++++++++++++++
6861  1 file changed, 15 insertions(+)
6862
6863 commit 18c963824ebbb0e7054e682ecb5664a282a58552
6864 Author: Benjamin Otte <otte@redhat.com>
6865 Date:   Thu May 13 11:56:22 2010 +0200
6866
6867     Make _cairo_color_equal() work for unmultiplied colors, too
6868     
6869     Color stop colors are unmultiplied, and we use it there.
6870
6871  src/cairo-color.c |   10 ++++++++--
6872  1 file changed, 8 insertions(+), 2 deletions(-)
6873
6874 commit 7bd8d0db1f4ac448c93d6d342726f64a0d6300e3
6875 Author: Benjamin Otte <otte@redhat.com>
6876 Date:   Thu May 13 11:23:33 2010 +0200
6877
6878     image: Fix wholly unbounded fixup
6879     
6880     Tested by zero-mask test.
6881
6882  src/cairo-image-surface.c |    2 +-
6883  1 file changed, 1 insertion(+), 1 deletion(-)
6884
6885 commit 8aa50b5a7873b8317d0593105497607dbb2fae1d
6886 Author: Benjamin Otte <otte@redhat.com>
6887 Date:   Thu May 13 10:27:37 2010 +0200
6888
6889     cairo_paint_with_alpha(cr, 0.0) is only a noop when bounded by mask
6890
6891  src/cairo.c |    3 ++-
6892  1 file changed, 2 insertions(+), 1 deletion(-)
6893
6894 commit ee32dfb3de035e73cb8c2073c0826daf244e3845
6895 Author: Benjamin Otte <otte@redhat.com>
6896 Date:   Thu May 13 10:04:49 2010 +0200
6897
6898     test: Add a test for various zero mask operations
6899
6900  test/Makefile.sources        |    3 +-
6901  test/zero-mask.c             |  199 ++++++++++++++++++++++++++++++++++++++++++
6902  test/zero-mask.ref.png       |  Bin 0 -> 402 bytes
6903  test/zero-mask.rgb24.ref.png |  Bin 0 -> 382 bytes
6904  4 files changed, 201 insertions(+), 1 deletion(-)
6905
6906 commit 986ae4232067d4f33931d98fb6324871a1025633
6907 Author: Owen W. Taylor <otaylor@fishsoup.net>
6908 Date:   Thu Feb 25 15:18:22 2010 -0500
6909
6910     language bindings guide: clarify mapping for cairo_pattern_create_rgb[a]
6911     
6912     Clarify that cairo_pattern_create_rgb() and cairo_pattern_create_rgba()
6913     should be be overloaded as a single constructor for SolidPattern, but
6914     instead should be static methods.
6915
6916  doc/public/language-bindings.xml |    9 +++++++--
6917  1 file changed, 7 insertions(+), 2 deletions(-)
6918
6919 commit 18b48a6ebc044c07f08bafd0abcb68c595c5746c
6920 Author: Chris Wilson <chris@chris-wilson.co.uk>
6921 Date:   Thu May 13 10:00:18 2010 +0100
6922
6923     Make cairo_color_stop_t a unique type.
6924     
6925     Hopefully reduce the occurrence of the confusion between the
6926     premultiplied shorts in cairo_color_t and the non-premultiplied shorts
6927     in cairo_color_stop_t.
6928     
6929     The existence of the two separate types is debatable and open for
6930     review.
6931
6932  src/cairo-color.c         |    4 ++--
6933  src/cairo-gstate.c        |    2 +-
6934  src/cairo-pattern.c       |    2 +-
6935  src/cairo-pdf-surface.c   |    9 ---------
6936  src/cairo-ps-surface.c    |   32 ++------------------------------
6937  src/cairo-svg-surface.c   |    4 ++--
6938  src/cairo-types-private.h |   17 ++++++++++++++++-
6939  src/cairoint.h            |    4 ++--
6940  8 files changed, 26 insertions(+), 48 deletions(-)
6941
6942 commit dfa2544f158930b002df74e676f3ef7aeeee1bd4
6943 Author: Chris Wilson <chris@chris-wilson.co.uk>
6944 Date:   Thu May 13 09:52:39 2010 +0100
6945
6946     color: Special case comparing color stops.
6947     
6948     color stops are not premultiplied so we need to handle them carefully
6949     when comparing. The next step will be to make cairo_color_stop_t a
6950     unique type to prevent this mistake again.
6951
6952  src/cairo-color.c         |   30 ++++++++++++++++++++++++++++++
6953  src/cairo-gl-surface.c    |    4 ++--
6954  src/cairo-gstate.c        |    4 ++--
6955  src/cairo-pattern.c       |    6 +++---
6956  src/cairoint.h            |    4 ++++
6957  src/drm/cairo-drm-intel.c |    2 +-
6958  6 files changed, 42 insertions(+), 8 deletions(-)
6959
6960 commit 4741d33cf67409a6fddbc32a5d0c8d68224cd939
6961 Author: Chris Wilson <chris@chris-wilson.co.uk>
6962 Date:   Thu May 13 09:31:10 2010 +0100
6963
6964     gstate: Don't reduce solid source and mask for SOURCE and CLEAR
6965     
6966     Not all operators are created equal, and this optimization breaks for
6967     SOURCE and CLEAR where the mask operates on the clip and not the source.
6968
6969  src/cairo-gstate.c |    3 ++-
6970  1 file changed, 2 insertions(+), 1 deletion(-)
6971
6972 commit ee871940ffe229ed285e618566e45c7d28c5857c
6973 Author: Andrea Canciani <ranma42@gmail.com>
6974 Date:   Thu May 13 01:54:39 2010 +0200
6975
6976     Revert bd672d080ca0036ef1b88d26583e6af36f541461
6977     on src/cairo-composite-rectangles.c
6978     
6979     The extent of the operation can be larger than the source if
6980     the operator is not bounded by the source.
6981     
6982     Fixes clip-unbounded, operator-source, surface-pattern-operator
6983
6984  src/cairo-composite-rectangles.c |    7 +++----
6985  1 file changed, 3 insertions(+), 4 deletions(-)
6986
6987 commit 0870c6fb5b39dcc04fa376123848adde2d06d2ce
6988 Author: Chris Wilson <chris@chris-wilson.co.uk>
6989 Date:   Thu Apr 15 20:31:24 2010 +0100
6990
6991     gcc-4.5 warnings and optimisation flags.
6992
6993  build/configure.ac.warnings |    4 ++--
6994  1 file changed, 2 insertions(+), 2 deletions(-)
6995
6996 commit cf0933a05aedb66b5d8999c84b935349b25dd974
6997 Author: Chris Wilson <chris@chris-wilson.co.uk>
6998 Date:   Mon Apr 12 10:42:14 2010 +0100
6999
7000     gallium: Refresh.
7001     
7002     Catch up with changes in APIs, still no substance and the integration
7003     with winsys handles needs review.
7004
7005  boilerplate/Makefile.win32.features |    8 -
7006  build/Makefile.win32.features-h     |    1 -
7007  src/Makefile.win32.features         |    8 -
7008  src/drm/cairo-drm-gallium-surface.c |  514 +++++++++++++++++++++--------------
7009  4 files changed, 317 insertions(+), 214 deletions(-)
7010
7011 commit bd672d080ca0036ef1b88d26583e6af36f541461
7012 Author: Chris Wilson <chris@chris-wilson.co.uk>
7013 Date:   Fri Mar 26 19:37:08 2010 +0000
7014
7015     drm: code dump, sorry.
7016     
7017     Lots upon lots of tiny fixes mixed in with experimental code. :(
7018
7019  boilerplate/Makefile.win32.features     |   18 +
7020  boilerplate/cairo-boilerplate-drm.c     |   12 +-
7021  build/Makefile.win32.features           |    1 +
7022  build/Makefile.win32.features-h         |    4 +
7023  build/configure.ac.features             |    1 +
7024  configure.ac                            |   13 +
7025  src/Makefile.sources                    |    7 +
7026  src/Makefile.win32.features             |   22 +
7027  src/cairo-boxes-private.h               |    4 +
7028  src/cairo-boxes.c                       |   31 +
7029  src/cairo-composite-rectangles.c        |    7 +-
7030  src/cairo-drm-xr.h                      |   66 +
7031  src/cairo-drm.h                         |    4 +-
7032  src/cairo-fixed-private.h               |   18 +-
7033  src/cairo-freelist-private.h            |    1 -
7034  src/cairo-freelist.c                    |    7 +-
7035  src/cairo-image-surface.c               |    2 +-
7036  src/cairo-list-private.h                |   31 +-
7037  src/cairoint.h                          |    7 +
7038  src/drm/cairo-drm-i915-glyphs.c         |   82 +-
7039  src/drm/cairo-drm-i915-private.h        |  153 +-
7040  src/drm/cairo-drm-i915-shader.c         |  866 ++++++-----
7041  src/drm/cairo-drm-i915-spans.c          |  146 +-
7042  src/drm/cairo-drm-i915-surface.c        | 1884 ++++++++++++++++++------
7043  src/drm/cairo-drm-i965-glyphs.c         |   36 +-
7044  src/drm/cairo-drm-i965-private.h        |    2 +-
7045  src/drm/cairo-drm-i965-shader.c         |   11 +-
7046  src/drm/cairo-drm-i965-spans.c          |   16 +-
7047  src/drm/cairo-drm-i965-surface.c        |  146 +-
7048  src/drm/cairo-drm-intel-debug.c         |    1 +
7049  src/drm/cairo-drm-intel-ioctl-private.h |   25 +
7050  src/drm/cairo-drm-intel-private.h       |   92 +-
7051  src/drm/cairo-drm-intel-surface.c       |   90 +-
7052  src/drm/cairo-drm-intel.c               |  530 ++++---
7053  src/drm/cairo-drm-private.h             |   10 +-
7054  src/drm/cairo-drm-radeon-surface.c      |   60 +-
7055  src/drm/cairo-drm-surface.c             |   37 +-
7056  src/drm/cairo-drm-xr.c                  | 2377 +++++++++++++++++++++++++++++++
7057  38 files changed, 5416 insertions(+), 1404 deletions(-)
7058
7059 commit c8fba4960339797521afbf8068fcbe62d064f5dc
7060 Author: Chris Wilson <chris@chris-wilson.co.uk>
7061 Date:   Sat Apr 3 15:38:04 2010 +0100
7062
7063     rtree: Remove the unused evict hook.
7064
7065  src/cairo-gl-glyphs.c            |    3 +--
7066  src/cairo-rtree-private.h        |    4 +---
7067  src/cairo-rtree.c                |   13 +------------
7068  src/drm/cairo-drm-i915-surface.c |    3 +--
7069  src/drm/cairo-drm-intel.c        |    2 +-
7070  5 files changed, 5 insertions(+), 20 deletions(-)
7071
7072 commit 2a0726337368462046ef84d9be4cf59734b39806
7073 Author: Chris Wilson <chris@chris-wilson.co.uk>
7074 Date:   Sat Apr 3 15:30:18 2010 +0100
7075
7076     rtree: defer propagating pinned nodes until eviction.
7077     
7078     Only during infrequent eviction do we require absolute knowledge of
7079     which graph of nodes are in use and thus pinned. So during the common
7080     use of querying the glyph cache, we just mark the leaf as used. Then we
7081     need to make space for a new glyph, we move the parents of the left
7082     nodes from the evictable list to the pinned list.
7083
7084  src/cairo-rtree-private.h |   12 ++++++++++--
7085  src/cairo-rtree.c         |   33 +++++++++++----------------------
7086  2 files changed, 21 insertions(+), 24 deletions(-)
7087
7088 commit cbe8fd0794adaccdf3eb15eef780a030e3d51784
7089 Author: Chris Wilson <chris@chris-wilson.co.uk>
7090 Date:   Sat Apr 3 14:56:25 2010 +0100
7091
7092     script: Avoid the expensive of the redundant memset.
7093     
7094     As we are about to immediately fill the entire image, allocate the
7095     memory ourselves to avoid the redundant memset performed by pixman.
7096
7097  util/cairo-script/cairo-script-operators.c |   39 ++++++++++++++++++----------
7098  1 file changed, 26 insertions(+), 13 deletions(-)
7099
7100 commit b9f7a4b5261b6d4e7bdbb5cc56d78d50ad1bd4a7
7101 Author: Chris Wilson <chris@chris-wilson.co.uk>
7102 Date:   Sat Apr 3 14:48:36 2010 +0100
7103
7104     script: Don't hash the entire image.
7105     
7106     The reuse hit rate is very small, and most images are quickly
7107     distinguished in the first few bytes... Though perhaps not for video as
7108     in the swfdec-youtube case...
7109
7110  util/cairo-script/cairo-script-operators.c |   35 +++++++++++++++++++---------
7111  1 file changed, 24 insertions(+), 11 deletions(-)
7112
7113 commit a85c6c1e36273d534f01ade0714b0592b6bed5ab
7114 Author: Chris Wilson <chris@chris-wilson.co.uk>
7115 Date:   Sat Apr 3 14:09:56 2010 +0100
7116
7117     gstate: reduce a couple more operators
7118
7119  src/cairo-gstate.c |   15 ++++++++++++++-
7120  1 file changed, 14 insertions(+), 1 deletion(-)
7121
7122 commit a3cb52e4037db9e565d32f85d69c364b606555e9
7123 Author: Chris Wilson <chris@chris-wilson.co.uk>
7124 Date:   Sat Apr 3 13:36:18 2010 +0100
7125
7126     simplify pattern extents for translation matrices
7127
7128  src/cairo-pattern.c |   22 ++++++++++++++--------
7129  1 file changed, 14 insertions(+), 8 deletions(-)
7130
7131 commit d45c7dc62d6b036bbbe85c3c1951807e055930d9
7132 Author: Chris Wilson <chris@chris-wilson.co.uk>
7133 Date:   Thu Apr 1 17:09:11 2010 +0100
7134
7135     xcb: discard glyph mask and use dst directly when possible.
7136
7137  boilerplate/cairo-boilerplate-xcb.c |   12 +++--
7138  src/cairo-gstate.c                  |   18 ++++++--
7139  src/cairo-pattern.c                 |    2 +-
7140  src/cairo-xcb-surface-render.c      |   85 ++++++++++++++++++++++++++++-------
7141  4 files changed, 92 insertions(+), 25 deletions(-)
7142
7143 commit a8b611ea8eb90f190ee3a9e7999e08e2d865ac43
7144 Author: Chris Wilson <chris@chris-wilson.co.uk>
7145 Date:   Sat Mar 27 08:23:10 2010 +0000
7146
7147     clip: Fill instead of creating intermediate surfaces.
7148
7149  src/cairo-clip.c |    4 +++-
7150  1 file changed, 3 insertions(+), 1 deletion(-)
7151
7152 commit fb53d05a69d0291fe68dfe8669b5c1f7636ede1a
7153 Author: Chris Wilson <chris@chris-wilson.co.uk>
7154 Date:   Wed May 12 20:06:34 2010 +0100
7155
7156     test: Remove pthread_yield()
7157     
7158     I accidentally pushed this debugging left-over from when I was tracking
7159     down a race in memfault. Remove it so that the test suite compiles on
7160     more minimal pthread setups.
7161
7162  test/pthread-same-source.c |    2 --
7163  test/pthread-show-text.c   |    2 --
7164  test/pthread-similar.c     |    2 --
7165  3 files changed, 6 deletions(-)
7166
7167 commit cdd98dba6a62360071aebb6dbbb6be2ab6be368f
7168 Author: Chris Wilson <chris@chris-wilson.co.uk>
7169 Date:   Wed May 12 19:35:15 2010 +0100
7170
7171     win32-printing: compile fix.
7172     
7173     Missing arg for _cairo_recording_surface_replay_region().
7174
7175  src/cairo-win32-printing-surface.c |    2 +-
7176  1 file changed, 1 insertion(+), 1 deletion(-)
7177
7178 commit 35307fc66f649cc042ec07b7b79277d7ee5987f3
7179 Author: Jonathan Kew <jfkthame@gmail.com>
7180 Date:   Tue May 11 15:12:01 2010 -0400
7181
7182     win32: Grow glyph extents to account for ClearType
7183     
7184     Add extra pixel on each side of the glyph's black box returned by
7185     GetGlyphOutlineW, to avoid clipping ClearType pixels.
7186     
7187     From https://bugzilla.mozilla.org/show_bug.cgi?id=445087
7188
7189  src/cairo-win32-font.c |   13 +++++++++++++
7190  1 file changed, 13 insertions(+)
7191
7192 commit d65e8064c0bd3f2d5ad200493bfefb89aefbba55
7193 Author: Robert O'Callahan <robert@ocallahan.org>
7194 Date:   Tue May 11 13:59:58 2010 -0400
7195
7196     Ensure the quartz backend returns the first stop for negative positions on the gradient line of a nonrepeating linear gradient.
7197     
7198     I discovered a small bug in cairo-quartz gradients. If you have multiple stops
7199     at position 0, then cairo-quartz pads with the *last* stop at position 0,
7200     instead of the first stop at position 0. This patch fixes that.
7201     
7202     From https://bugzilla.mozilla.org/show_bug.cgi?id=513395
7203
7204  src/cairo-quartz-surface.c |   24 ++++++++++++++++++++++--
7205  1 file changed, 22 insertions(+), 2 deletions(-)
7206
7207 commit ce27db9a558cbf4065b18aed55cc706fc0a6d128
7208 Author: Robert O'Callahan <robert@ocallahan.org>
7209 Date:   Tue May 11 13:59:52 2010 -0400
7210
7211     Don't repeat a Quartz gradient more times than necessary, to avoid Quartz quality problems when there are lots of repeated color stops.
7212     
7213     -- Add a parameter to _cairo_quartz_setup_source so we can pass down the
7214     extents of the object we're drawing
7215     -- Compute fill/stroke/glyph extents and pass them down in the cases we need to
7216     (repeating/reflecting gradients)
7217     -- Pass those extents on down to where we set up the gradients
7218     -- Make _cairo_quartz_setup_linear_source fall back to pixman for the
7219     degenerate case where the linear gradient vector has no length
7220     -- In CreateRepeatingRadialGradientFunction and
7221     CreateRepeatingLinearGradientFunction, use the object extents (or surface
7222     extents, for the paint() case) instead of the clip box to calculate the
7223     parameters for the gradient
7224     -- I've changed the way CreateRepeatingLinearGradientFunction calculates the
7225     repetition count. The new approach gives much more precise bounds on the number
7226     of repetitions needed (and is very similar to what we do for radial gradients).
7227     This is important because if we specify a much larger input range than we
7228     really need for our gradient color function, Quartz samples it too coarsely
7229     over the range we actually care about, and the gradients look bad.
7230     
7231     For example, suppose start = (5,0), end = (6,10), the CTM is identity and the
7232     bounds we want to cover is (0,0)-(10,10). I think the current approach sets up
7233     the gradient to be repeated 10 times. In fact only 3 repetitions are needed.
7234     
7235     Also, using 'width' here didn't look right:
7236     -       y_rep_end = (int) ceil((surface->extents.width - MAX(mstart.y, mend.y))
7237     / dy
7238     
7239     From https://bugzilla.mozilla.org/show_bug.cgi?id=508730
7240
7241  src/cairo-quartz-surface.c |  261 ++++++++++++++++++++++++++++++--------------
7242  1 file changed, 179 insertions(+), 82 deletions(-)
7243
7244 commit 7b4e63d5b8bda8e9ea1f6455d779070f64f07f6f
7245 Author: Robert O'Callahan <robert@ocallahan.org>
7246 Date:   Tue May 11 13:59:43 2010 -0400
7247
7248     Clean up Quartz gradient code by moving some local variables to static const globals.
7249     
7250     From https://bugzilla.mozilla.org/show_bug.cgi?id=508730
7251
7252  src/cairo-quartz-surface.c |   31 +++++++++++++------------------
7253  1 file changed, 13 insertions(+), 18 deletions(-)
7254
7255 commit 8302952dcff20a1d2de194152ace810c7056f994
7256 Author: Robert O'Callahan <robert@ocallahan.org>
7257 Date:   Tue May 11 13:58:10 2010 -0400
7258
7259     quartz: Don't fallback to pixman for repeating radial gradients.
7260     
7261     Figuring out where the outer circle should move to is tricky. I hope the
7262     algebra in there is understandable.
7263     
7264     This is a nice performance improvement, probably because we avoid painting the
7265     gradient over the entire clipBox (which is usually the entire surface).
7266     
7267     I tried to write reftests that compared a repeating radial gradient to a
7268     non-repeating gradient with manually repeated stops, but it didn't work because
7269     the rasterization was slightly different --- I'm not sure why.
7270     
7271     This patch also forces us to use pixman for all degenerate cases where the
7272     circles intersect. This at least makes us consistent across platforms.
7273     
7274     From https://bugzilla.mozilla.org/show_bug.cgi?id=508227
7275
7276  src/cairo-quartz-surface.c |  203 +++++++++++++++++++++++++++++++++++++++-----
7277  1 file changed, 180 insertions(+), 23 deletions(-)
7278
7279 commit 1bda2334b32394a821e6286fbc76617e68da3895
7280 Author: Chris Wilson <chris@chris-wilson.co.uk>
7281 Date:   Tue May 11 13:51:38 2010 +0100
7282
7283     trace: And for the bonus round... Make it compile.
7284
7285  util/cairo-trace/trace.c |    4 ++--
7286  1 file changed, 2 insertions(+), 2 deletions(-)
7287
7288 commit b23f3bd20450aae764f9f9362c560b00bf68636b
7289 Author: Chris Wilson <chris@chris-wilson.co.uk>
7290 Date:   Tue May 11 13:54:08 2010 +0100
7291
7292     trace: Try wrapping FT_Open_Face()
7293     
7294     We have to be careful to disambuigate an internal call by FreeType from
7295     the application.
7296
7297  util/cairo-trace/trace.c |   38 ++++++++++++++++++++++++++------------
7298  1 file changed, 26 insertions(+), 12 deletions(-)
7299
7300 commit ee446910aa1db0ca0b54791a2ef3bb24b277c9a4
7301 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
7302 Date:   Mon May 10 15:06:25 2010 -0400
7303
7304     Add an additional set parantheses around the container_of macro
7305     
7306     The non-__GNUC__ version of the container_of macro would do wrong
7307     when used like container_of(...)-> because '->' binds tighter
7308     than the cast in the container_of macro. Adding an additional
7309     set of parantheses fixes this.
7310
7311  src/cairoint.h |    2 +-
7312  1 file changed, 1 insertion(+), 1 deletion(-)
7313
7314 commit e540d040bddc717f17e0e2510cffc0bc3cb41ccd
7315 Author: Chris Wilson <chris@chris-wilson.co.uk>
7316 Date:   Mon May 10 13:36:53 2010 +0100
7317
7318     xcb: trivial memfault fixes.
7319     
7320     The first fixes required to kick-start memfault testing of the xcb
7321     backend.
7322
7323  boilerplate/cairo-boilerplate-xcb.c |   22 +++++++++++---
7324  src/cairo-xcb-connection-render.c   |   35 +++++++++++++++------
7325  src/cairo-xcb-connection.c          |   57 ++++++++++++++++++++++++-----------
7326  src/cairo-xcb-private.h             |    2 +-
7327  src/cairo-xcb-screen.c              |   15 ++++-----
7328  src/cairo-xcb-surface-core.c        |    1 -
7329  src/cairo-xcb-surface-render.c      |   32 +++++++++++++++++---
7330  src/cairo-xcb-surface.c             |    5 +--
7331  src/cairo-xlib-xcb-surface.c        |    1 -
7332  9 files changed, 123 insertions(+), 47 deletions(-)
7333
7334 commit 8b486db9a9d74b40df296382eb1833bc40ae791a
7335 Author: Chris Wilson <chris@chris-wilson.co.uk>
7336 Date:   Mon May 10 12:45:31 2010 +0100
7337
7338     region: _cairo_region_create_in_error()
7339     
7340     Avoid leaks when reporting memfault associated with constructing
7341     regions.
7342
7343  src/cairo-path-fill.c      |    7 ++---
7344  src/cairo-region-private.h |    3 +++
7345  src/cairo-region.c         |   63 ++++++++++++++++++++++++++++++++++++++------
7346  3 files changed, 60 insertions(+), 13 deletions(-)
7347
7348 commit 9d863cd3942c3086c24d67305f7a5892604d0eeb
7349 Author: Chris Wilson <chris@chris-wilson.co.uk>
7350 Date:   Sat May 8 18:20:11 2010 +0100
7351
7352     xcb: Find the correct xcb_screen_t for faking Screen
7353     
7354     When choosing the xcb_screen_t to use for the xlib-xcb backing surface,
7355     it helps if it matches the screen used to generate similar surfaces and
7356     snapshots - otherwise we end up pulling the image back from the XServer
7357     every time we want to use the Picture.
7358
7359  src/cairo-xlib-xcb-surface.c |   23 +++++++++++++++++++++--
7360  1 file changed, 21 insertions(+), 2 deletions(-)
7361
7362 commit 448d3571088463fc61641badcdfdc8c0002ae12a
7363 Author: Chris Wilson <chris@chris-wilson.co.uk>
7364 Date:   Sat May 8 09:59:54 2010 +0100
7365
7366     xcb: Upload images in place.
7367     
7368     A common operation is to store an image in a similar surface, so
7369     construct a fast path to avoid the allocation and double-blit through a
7370     temporary pixmap.
7371
7372  src/cairo-xcb-private.h        |    5 ++
7373  src/cairo-xcb-surface-render.c |  169 +++++++++++++++++++++++++++++++++++++++-
7374  src/cairo-xcb-surface.c        |   31 ++++----
7375  3 files changed, 189 insertions(+), 16 deletions(-)
7376
7377 commit e48cbd3b47a6e4f7c1f66b3085df41546460e477
7378 Author: Chris Wilson <chris@chris-wilson.co.uk>
7379 Date:   Sat May 8 09:56:46 2010 +0100
7380
7381     xcb: Reset picture after failed snapshot.
7382     
7383     Clear the local picture variable if we cannot use the snapshot so that
7384     we are forced to create a new and valid picture.
7385
7386  src/cairo-xcb-surface-render.c |    4 ++--
7387  1 file changed, 2 insertions(+), 2 deletions(-)
7388
7389 commit 4e3c19833ef8631c1f1cd54870c0a86d88252886
7390 Author: Chris Wilson <chris@chris-wilson.co.uk>
7391 Date:   Fri May 7 21:30:13 2010 +0100
7392
7393     test: Force cairo-test-suite to return SUCCESS
7394     
7395     Set the CAIRO_TEST_FORCE_PASS environment variable to run through the
7396     test suite and ignore errors. Useful for forcing distcheck to continue
7397     past a broken test suite.
7398
7399  test/cairo-test-runner.c |   10 ++++++++++
7400  1 file changed, 10 insertions(+)
7401
7402 commit ad8abc01105f02a05497969b6b5ec2c8742daeb2
7403 Author: Chris Wilson <chris@chris-wilson.co.uk>
7404 Date:   Fri May 7 21:28:58 2010 +0100
7405
7406     subsurface: Don't double apply device offset for deep subsurfaces.
7407     
7408     If we have a subsurface of a subsurface then the device offset has
7409     already been applied to the extents that we use to offset the new
7410     subsurface.
7411
7412  src/cairo-surface-subsurface.c |   10 +++++-----
7413  1 file changed, 5 insertions(+), 5 deletions(-)
7414
7415 commit d2a250ad33dcd1a3960b07d2f0270266a3f3f106
7416 Author: Benjamin Otte <otte@redhat.com>
7417 Date:   Fri May 7 20:36:33 2010 +0200
7418
7419     gl: Make the shader implementation per-context, not global
7420
7421  src/cairo-gl-device.c  |    8 +---
7422  src/cairo-gl-glyphs.c  |    4 +-
7423  src/cairo-gl-private.h |   37 ++++++++++++-----
7424  src/cairo-gl-shaders.c |  105 +++++++++++++++++++++++++-----------------------
7425  src/cairo-gl-surface.c |   89 +++++++++++++++++++++-------------------
7426  5 files changed, 131 insertions(+), 112 deletions(-)
7427
7428 commit 4571055c46e82cbb6d3ab47860d63e400b338238
7429 Author: Benjamin Otte <otte@redhat.com>
7430 Date:   Wed May 5 19:36:46 2010 +0200
7431
7432     gl: Print GL errors when releasing the device
7433     
7434     Don't scatter calls to error printing around everywhere, instead do it
7435     in the one place where it matters.
7436     
7437     Also, convert the functions to macros, so we can use __FILE__ and
7438     __LINE__ when printing a warning
7439
7440  src/cairo-gl-private.h |   15 ++++++++++-----
7441  src/cairo-gl-surface.c |   22 +---------------------
7442  2 files changed, 11 insertions(+), 26 deletions(-)
7443
7444 commit 59b31aeed9b3ec2a1ac6da188ef5e86d20626662
7445 Author: Benjamin Otte <otte@redhat.com>
7446 Date:   Sat May 8 15:09:39 2010 +0200
7447
7448     gl: Make check_span_renderer() call not require a device lock
7449     
7450     Note that we didn't lock the device previously, so the function was
7451     broken.
7452
7453  src/cairo-gl-device.c  |    1 +
7454  src/cairo-gl-private.h |    7 +++++++
7455  src/cairo-gl-surface.c |    5 +++--
7456  3 files changed, 11 insertions(+), 2 deletions(-)
7457
7458 commit 81f4dd65a32efae645b826b84e8382f7bf7a9b2d
7459 Author: Chris Wilson <chris@chris-wilson.co.uk>
7460 Date:   Fri May 7 22:35:18 2010 +0100
7461
7462     cairo: Special case cairo_t with NULL_POINTER
7463     
7464     Avoid allocation for the potential user error of attempting to use
7465     cairo_create(NULL).
7466
7467  src/cairo.c |   24 +++++++++++++++++++++++-
7468  1 file changed, 23 insertions(+), 1 deletion(-)
7469
7470 commit a61570a55e70040ffcf8ff3cb2c7943e71a5e2a0
7471 Author: Chris Wilson <chris@chris-wilson.co.uk>
7472 Date:   Fri May 7 22:18:52 2010 +0100
7473
7474     test/copy-path: memfault status checks.
7475
7476  test/copy-path.c |   61 ++++++++++++++++++++++++++++++++++--------------------
7477  1 file changed, 38 insertions(+), 23 deletions(-)
7478
7479 commit e6180d1d5e29a91f1bfc20956bb017ab74fb8b8e
7480 Author: Chris Wilson <chris@chris-wilson.co.uk>
7481 Date:   Fri May 7 22:18:10 2010 +0100
7482
7483     surface-fallback: Only destroy the clip after it has been initialized.
7484     
7485     More memfault detected error path errors.
7486
7487  src/cairo-surface-fallback.c |    7 ++++---
7488  1 file changed, 4 insertions(+), 3 deletions(-)
7489
7490 commit 01a208f7e3785254dc101f09a73943ec7cfb1d6e
7491 Author: timeless <timeless@bemail.org>
7492 Date:   Fri May 7 10:24:49 2010 -0400
7493
7494     Remove useless null checks of a and b in _cairo_path_fixed_equal
7495     
7496     'a' and 'b' are dereferenced before being checked for null.
7497     
7498     From https://bugzilla.mozilla.org/show_bug.cgi?id=555706
7499
7500  src/cairo-path-fixed.c |   22 ++++++++--------------
7501  1 file changed, 8 insertions(+), 14 deletions(-)
7502
7503 commit 0068d9b5cd09a7aa0c5a2ab4da97ca181934ff56
7504 Author: Jonathan Kew <jfkthame@gmail.com>
7505 Date:   Fri May 7 10:16:32 2010 -0400
7506
7507     quartz: Work around bad glyph extents returned by CoreGraphics for empty glyphs in Al Bayan font
7508     
7509     This resolves the problem by checking for the crazy glyph bbox result from
7510     CoreGraphics, and replacing it with an empty rect.
7511     
7512     From https://bugzilla.mozilla.org/show_bug.cgi?id=534260
7513
7514  src/cairo-quartz-font.c |   10 ++++++++++
7515  1 file changed, 10 insertions(+)
7516
7517 commit c5d9643417690380c102bf0b6ad195cb264d3feb
7518 Author: Chris Wilson <chris@chris-wilson.co.uk>
7519 Date:   Fri May 7 11:24:28 2010 +0100
7520
7521     doc: regen
7522
7523  doc/public/tmpl/cairo-font-face.sgml    |    3 +++
7524  doc/public/tmpl/cairo-font-options.sgml |    4 ++++
7525  doc/public/tmpl/cairo-ft.sgml           |    3 +++
7526  doc/public/tmpl/cairo-image.sgml        |    5 +++++
7527  doc/public/tmpl/cairo-matrix.sgml       |    3 +++
7528  doc/public/tmpl/cairo-paths.sgml        |    3 +++
7529  doc/public/tmpl/cairo-pattern.sgml      |    3 +++
7530  doc/public/tmpl/cairo-pdf.sgml          |    3 +++
7531  doc/public/tmpl/cairo-png.sgml          |    3 +++
7532  doc/public/tmpl/cairo-ps.sgml           |    3 +++
7533  doc/public/tmpl/cairo-quartz-fonts.sgml |    3 +++
7534  doc/public/tmpl/cairo-quartz.sgml       |    3 +++
7535  doc/public/tmpl/cairo-scaled-font.sgml  |    3 +++
7536  doc/public/tmpl/cairo-status.sgml       |    6 ++++++
7537  doc/public/tmpl/cairo-surface.sgml      |    9 +++++++++
7538  doc/public/tmpl/cairo-svg.sgml          |    3 +++
7539  doc/public/tmpl/cairo-text.sgml         |    3 +++
7540  doc/public/tmpl/cairo-transforms.sgml   |    3 +++
7541  doc/public/tmpl/cairo-types.sgml        |    3 +++
7542  doc/public/tmpl/cairo-user-fonts.sgml   |    4 ++++
7543  doc/public/tmpl/cairo-version.sgml      |    5 +++++
7544  doc/public/tmpl/cairo-win32-fonts.sgml  |    3 +++
7545  doc/public/tmpl/cairo-win32.sgml        |    3 +++
7546  doc/public/tmpl/cairo-xlib-xrender.sgml |    3 +++
7547  doc/public/tmpl/cairo-xlib.sgml         |    3 +++
7548  doc/public/tmpl/cairo.sgml              |    3 +++
7549  26 files changed, 93 insertions(+)
7550
7551 commit b9e9ff59348412a1f1f2c57d6185c84f77874c26
7552 Author: Chris Wilson <chris@chris-wilson.co.uk>
7553 Date:   Fri May 7 11:21:50 2010 +0100
7554
7555     subsurface: Include device offset in extents
7556     
7557     Adjust the subsurface extents so that the user specifies the extents in
7558     world space rather than device space.
7559
7560  src/cairo-surface-subsurface.c |   10 ++++++++--
7561  1 file changed, 8 insertions(+), 2 deletions(-)
7562
7563 commit 5e3b28ffeac3fc7239c7ada6992e4794a27b0818
7564 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
7565 Date:   Thu May 6 22:27:09 2010 -0400
7566
7567     Remove comma from the end of the CAIRO_PATTERN_ACQUIRE enum
7568
7569  src/cairoint.h |    2 +-
7570  1 file changed, 1 insertion(+), 1 deletion(-)
7571
7572 commit cc8442514ab15f08708ecb26f499c764a7d171f4
7573 Author: Chris Wilson <chris@chris-wilson.co.uk>
7574 Date:   Thu May 6 21:50:16 2010 +0100
7575
7576     gl: Enable fixed-function without glsl.
7577     
7578     Through a very simple mistake we were triggering fallbacks after
7579     detecting we were not able to perform the composite using GLSL -- we
7580     were just returning the UNSUPPORTED status instead of enabling the
7581     fixed-function path.
7582
7583  src/cairo-gl-surface.c |   56 +++++++++++++++++++++++++++---------------------
7584  1 file changed, 31 insertions(+), 25 deletions(-)
7585
7586 commit 30d358e098353af24f16cdb7efe41f10f276f559
7587 Author: Metal Sonic <kidlinux96@gmail.com>
7588 Date:   Thu May 6 16:07:43 2010 -0400
7589
7590     Update license blocks to use "Mozilla Foundation" instead of "Mozilla Corporation"
7591     
7592     From https://bugzilla.mozilla.org/show_bug.cgi?id=507387
7593
7594  src/cairo-fixed-private.h        |    2 +-
7595  src/cairo-fixed-type-private.h   |    2 +-
7596  src/cairo-malloc-private.h       |    2 +-
7597  src/cairo-quartz-font.c          |    2 +-
7598  src/cairo-quartz-image-surface.c |    2 +-
7599  src/cairo-quartz-image.h         |    2 +-
7600  src/cairo-quartz-surface.c       |    2 +-
7601  src/cairo-quartz.h               |    2 +-
7602  8 files changed, 8 insertions(+), 8 deletions(-)
7603
7604 commit 506636e19edcdb656c94f61c915c9d49829dade8
7605 Author: Chris Wilson <chris@chris-wilson.co.uk>
7606 Date:   Thu May 6 17:21:59 2010 +0100
7607
7608     cairo: stash a number of contexts for use with NO_MUTEX
7609     
7610     The implementation is the same as the atomic one (bar the use of atomic
7611     primitives to manipulate the occupancy!).
7612     
7613     Patch based on the original by Jeff Muizelaar.
7614
7615  src/cairo.c |   33 ++++++++++++++++++++++++++++++++-
7616  1 file changed, 32 insertions(+), 1 deletion(-)
7617
7618 commit 91dfee420c3e9d85e5cd4f2cec6dc708c0e471a2
7619 Author: Chris Wilson <chris@chris-wilson.co.uk>
7620 Date:   Thu May 6 17:03:56 2010 +0100
7621
7622     device: Reorder finalization so that user data is destroyed last.
7623     
7624     As the user is likely to attach the underlying resources to the device
7625     for automatic collection upon finalization, it is important that the
7626     user data is then destroy last (so that those resources are still
7627     available in the surface and device cleanup routines).
7628
7629  src/cairo-device.c  |    9 +++++++--
7630  src/cairo-surface.c |    4 ++--
7631  2 files changed, 9 insertions(+), 4 deletions(-)
7632
7633 commit 2658d7ef5f8f7e06929f4b1cae64e5312db24ec4
7634 Author: Chris Wilson <chris@chris-wilson.co.uk>
7635 Date:   Thu May 6 17:02:39 2010 +0100
7636
7637     test/gl-surface-source: Attach GLXContext to device user data.
7638     
7639     As we actually use the GLXContext to create the device, we only want to
7640     free those resources upon the final unreference of the device (and not
7641     the initial surface).
7642
7643  test/gl-surface-source.c |   26 +++++++++++---------------
7644  1 file changed, 11 insertions(+), 15 deletions(-)
7645
7646 commit f5167dc2e1a13d8c4e5d66d7178a24b9b5e7ac7a
7647 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
7648 Date:   Thu May 6 11:43:52 2010 -0400
7649
7650     Add an implementation of ffs() for MSVC
7651
7652  src/cairo-compiler-private.h |   15 +++++++++++++++
7653  1 file changed, 15 insertions(+)
7654
7655 commit a2a2bd62ff37e2642f671ca7ebf26954e1856abe
7656 Author: Chris Wilson <chris@chris-wilson.co.uk>
7657 Date:   Thu May 6 14:39:30 2010 +0100
7658
7659     surface-fallback: Handle memfaults during clipping.
7660     
7661     Don't be lazy, propagate the error rather than asserting.
7662
7663  src/cairo-surface-fallback.c |   26 +++++++++++++++-----------
7664  1 file changed, 15 insertions(+), 11 deletions(-)
7665
7666 commit 2e3acee410ff127d4557ca8191625338cd225313
7667 Author: Chris Wilson <chris@chris-wilson.co.uk>
7668 Date:   Thu May 6 14:38:55 2010 +0100
7669
7670     test: Add gl-surface-source
7671     
7672     Exercise using GL sources.
7673
7674  test/Makefile.am                       |    7 ++
7675  test/Makefile.sources                  |    3 +
7676  test/gl-surface-source.argb32.ref.png  |  Bin 0 -> 377 bytes
7677  test/gl-surface-source.c               |  115 ++++++++++++++++++++++++++++++++
7678  test/gl-surface-source.image16.ref.png |  Bin 0 -> 305 bytes
7679  test/gl-surface-source.rgb24.ref.png   |  Bin 0 -> 301 bytes
7680  6 files changed, 125 insertions(+)
7681
7682 commit 75d8550891b8b2c09200aaaa812c6c9332161cd7
7683 Author: Chris Wilson <chris@chris-wilson.co.uk>
7684 Date:   Thu May 6 13:50:27 2010 +0100
7685
7686     test/clip-contexts: Free secondary context
7687
7688  test/clip-contexts.c |    2 ++
7689  1 file changed, 2 insertions(+)
7690
7691 commit bf83bf00a75343f7d1dcd15dc4eeec1b1a4b9428
7692 Author: Chris Wilson <chris@chris-wilson.co.uk>
7693 Date:   Thu May 6 10:53:48 2010 +0100
7694
7695     test: Add subsurface-image-repeat
7696     
7697     Test handling of source clipping with an image - principally to check
7698     handling of mime types and zero-copy image snapshotting in the vector
7699     surfaces and ensure that they work with subsurface patterns as well.
7700
7701  test/Makefile.am                             |    2 +
7702  test/Makefile.sources                        |    1 +
7703  test/subsurface-image-repeat.c               |   70 ++++++++++++++++++++++++++
7704  test/subsurface-image-repeat.image16.ref.png |  Bin 0 -> 776 bytes
7705  test/subsurface-image-repeat.ref.png         |  Bin 0 -> 915 bytes
7706  5 files changed, 73 insertions(+)
7707
7708 commit 88986fdbef795c61cd60231046663d3cd80b4947
7709 Author: Chris Wilson <chris@chris-wilson.co.uk>
7710 Date:   Thu May 6 10:46:49 2010 +0100
7711
7712     xlib: Remove reference counting for cairo_xlib_screen_t
7713     
7714     The screen is owned by the cairo_xlib_display_t device, so we can
7715     simplify and close the refleak by removing the surplus reference
7716     counting.
7717
7718  src/cairo-xlib-display.c |   84 +++++++++++-----------------------------------
7719  src/cairo-xlib-private.h |   22 +++---------
7720  src/cairo-xlib-screen.c  |   47 ++++++--------------------
7721  src/cairo-xlib-surface.c |   38 ++++++---------------
7722  src/cairo-xlib-visual.c  |    2 +-
7723  5 files changed, 46 insertions(+), 147 deletions(-)
7724
7725 commit 632fabc77d89254e2e6915148fa870f23c2a5722
7726 Author: Chris Wilson <chris@chris-wilson.co.uk>
7727 Date:   Thu May 6 10:10:38 2010 +0100
7728
7729     xlib: Convert visual array to a cairo_list_t
7730     
7731     It's simpler and more memory efficient.
7732
7733  src/cairo-xlib-private.h |    4 ++-
7734  src/cairo-xlib-screen.c  |   76 ++++++++++++++--------------------------------
7735  2 files changed, 26 insertions(+), 54 deletions(-)
7736
7737 commit 20d75bdadc897be238ceb4d2d02f079e469144e4
7738 Author: Chris Wilson <chris@chris-wilson.co.uk>
7739 Date:   Thu May 6 10:03:36 2010 +0100
7740
7741     xlib: Remove screen->has_render
7742     
7743     Use the info from the display instead.
7744
7745  src/cairo-xlib-private.h |    1 -
7746  src/cairo-xlib-screen.c  |   17 ++++-------------
7747  2 files changed, 4 insertions(+), 14 deletions(-)
7748
7749 commit 9e0b716ecf1b27d74e63f25a055d8120d8d53309
7750 Author: Chris Wilson <chris@chris-wilson.co.uk>
7751 Date:   Thu May 6 09:58:46 2010 +0100
7752
7753     xlib: Remove obsolete comment, there is no race anymore
7754     
7755     The display lock is now held for the duration of the screen creation, so
7756     there is no race. Remove the false comment.
7757
7758  src/cairo-xlib-screen.c |    4 ----
7759  1 file changed, 4 deletions(-)
7760
7761 commit 62346c500a7421e30b3054fdcc07fc78a18da96e
7762 Author: Chris Wilson <chris@chris-wilson.co.uk>
7763 Date:   Thu May 6 09:37:02 2010 +0100
7764
7765     xlib: Ensure the global display mutex is initialized before use.
7766
7767  src/cairo-xlib-display.c |    2 ++
7768  1 file changed, 2 insertions(+)
7769
7770 commit fb6caf08ae5ccf8f8c2c251d32fd98aacbcebdcc
7771 Author: Chris Wilson <chris@chris-wilson.co.uk>
7772 Date:   Thu May 6 09:30:41 2010 +0100
7773
7774     image: Propagate error instead of asserting.
7775     
7776     Apparently we can get to this point without evaluating the clip surface,
7777     so return the error status rather than assert.
7778
7779  src/cairo-image-surface.c |    3 ++-
7780  1 file changed, 2 insertions(+), 1 deletion(-)
7781
7782 commit 5e95c62bbb0cb28ee22af8f97267ce2da72cf47a
7783 Author: Chris Wilson <chris@chris-wilson.co.uk>
7784 Date:   Thu May 6 09:09:22 2010 +0100
7785
7786     clip: Propagate failure from retrieving the previous clip surface.
7787
7788  src/cairo-clip.c |    3 ++-
7789  1 file changed, 2 insertions(+), 1 deletion(-)
7790
7791 commit a6ee7aea8ac11a9e5a9b58e17e881db9666a2b24
7792 Author: Chris Wilson <chris@chris-wilson.co.uk>
7793 Date:   Wed May 5 10:52:39 2010 +0100
7794
7795     test: Add xlib-expose-event.image16.ref.png
7796
7797  test/Makefile.am                       |    1 +
7798  test/xlib-expose-event.image16.ref.png |  Bin 0 -> 30332 bytes
7799  2 files changed, 1 insertion(+)
7800
7801 commit ded2dc8faaa3a48c84a31422a31c64595a6eaf8a
7802 Author: Chris Wilson <chris@chris-wilson.co.uk>
7803 Date:   Wed May 5 14:44:55 2010 +0100
7804
7805     scaled-font: Pluck last glyph from the most recent page.
7806     
7807     In converting to cairo_list_t, it helps to preserve the semantics of
7808     appending the page to the end of the list where it is expected to be
7809     plucked in the event of an allocation failure.
7810
7811  src/cairo-scaled-font.c |    2 +-
7812  1 file changed, 1 insertion(+), 1 deletion(-)
7813
7814 commit fa937913e06bc295750538be45aa83eb42332fb4
7815 Author: Adrian Johnson <ajohnson@redneon.com>
7816 Date:   Wed May 5 21:35:11 2010 +0930
7817
7818     PS: Add missing 'q' when resetting clip path
7819
7820  src/cairo-ps-surface.c |    2 +-
7821  1 file changed, 1 insertion(+), 1 deletion(-)
7822
7823 commit 9c594d8b405eba09b07c0a438f5311f5c5e40313
7824 Author: Benjamin Otte <otte@redhat.com>
7825 Date:   Wed May 5 12:28:59 2010 +0200
7826
7827     gl: Get rid of ctx variable
7828     
7829     The code used renderer->ctx and ctx interchangably, that was confusing.
7830
7831  src/cairo-gl-surface.c |   12 ++++++------
7832  1 file changed, 6 insertions(+), 6 deletions(-)
7833
7834 commit a354f1f92a17378f42d0b703482ae2b8168c7f68
7835 Author: Benjamin Otte <otte@redhat.com>
7836 Date:   Wed May 5 12:28:24 2010 +0200
7837
7838     gl: Another case of proper device acquiring
7839     
7840     This patch isn't strictly necessary, but it cleans up the code.
7841
7842  src/cairo-gl-surface.c |   15 +++++++++------
7843  1 file changed, 9 insertions(+), 6 deletions(-)
7844
7845 commit 36210ee51444979271f7ba1cc0ac452cd30df0af
7846 Author: Benjamin Otte <otte@redhat.com>
7847 Date:   Wed May 5 12:24:43 2010 +0200
7848
7849     gl: Get rid of another cast to cairo_gl_context_t
7850
7851  src/cairo-gl-surface.c |    6 +++---
7852  1 file changed, 3 insertions(+), 3 deletions(-)
7853
7854 commit 58b03691d379979b50d74740748b8b8523e0cd0d
7855 Author: Benjamin Otte <otte@redhat.com>
7856 Date:   Wed May 5 12:21:23 2010 +0200
7857
7858     gl: Introduce _cairo_gl_device_has_glsl() function
7859     
7860     The function takes a cairo_device_t argument as it can be called on an
7861     unacquired device.
7862     
7863     This is the first patch in a process to try to rid cairo-gl-surface.c of
7864     casts from cairo_device_t to cairo_gl_context_t. As its members should
7865     usually only be accessed when the device is locked, the only way the
7866     cairo_gl_context_t should be acquired is using
7867     _cairo_gl_context_acquire().
7868
7869  src/cairo-gl-glyphs.c  |    2 +-
7870  src/cairo-gl-private.h |    6 ++++++
7871  src/cairo-gl-surface.c |    9 ++++-----
7872  3 files changed, 11 insertions(+), 6 deletions(-)
7873
7874 commit 5223b654230d3074d0bc31eb74c415e50eced365
7875 Author: Benjamin Otte <otte@redhat.com>
7876 Date:   Wed May 5 12:07:49 2010 +0200
7877
7878     gl: Get rid of cairo_gl_surface_glfinish() from public API
7879     
7880     This is now done explicitly in the boilerplate code. It was not a useful
7881     public API to begin with.
7882
7883  boilerplate/cairo-boilerplate-gl.c |   17 +++++++----------
7884  src/cairo-gl-surface.c             |    9 ---------
7885  src/cairo-gl.h                     |    3 ---
7886  3 files changed, 7 insertions(+), 22 deletions(-)
7887
7888 commit e071fa2c4f62b5ead39c6c6401f39360ea4dee1f
7889 Author: Benjamin Otte <otte@redhat.com>
7890 Date:   Wed May 5 12:03:13 2010 +0200
7891
7892     gl: Remove unused member variable
7893
7894  src/cairo-gl-private.h |    1 -
7895  1 file changed, 1 deletion(-)
7896
7897 commit 90c64f60d853f1a6ea5febd362ef3528cc9d914b
7898 Author: Benjamin Otte <otte@redhat.com>
7899 Date:   Wed May 5 12:01:59 2010 +0200
7900
7901     gl: Move device-specific code into cairo-gl-device.c
7902
7903  src/Makefile.sources   |    6 +-
7904  src/cairo-gl-device.c  |  205 ++++++++++++++++++++++++++++++++++++++++++++++++
7905  src/cairo-gl-surface.c |  162 --------------------------------------
7906  3 files changed, 210 insertions(+), 163 deletions(-)
7907
7908 commit 0ff5a18fd5623b57c7493e6b67a6b1c75af82fb3
7909 Author: Benjamin Otte <otte@redhat.com>
7910 Date:   Wed May 5 11:52:40 2010 +0200
7911
7912     gl: Make _gl_set_destination() take the context as an argument
7913     
7914     Keeping with the API introduced for Xlib, functions that require an
7915     acquired context take this context as the first argument.
7916
7917  src/cairo-gl-glyphs.c  |    2 +-
7918  src/cairo-gl-private.h |    2 +-
7919  src/cairo-gl-surface.c |   20 +++++++++-----------
7920  3 files changed, 11 insertions(+), 13 deletions(-)
7921
7922 commit e8c5b6b1c2099fc6a49d0a082f5e884d3fbd89df
7923 Author: Benjamin Otte <otte@redhat.com>
7924 Date:   Wed May 5 10:05:30 2010 +0200
7925
7926     Fix typo in docs
7927
7928  src/cairo-array.c |    2 +-
7929  1 file changed, 1 insertion(+), 1 deletion(-)
7930
7931 commit 53508e6e3047b4dac6d69d5d3ff2208178998fd4
7932 Author: Benjamin Otte <otte@redhat.com>
7933 Date:   Tue May 4 19:28:45 2010 +0200
7934
7935     gl: Acquire the context before destroying it.
7936
7937  src/cairo-gl-surface.c |    4 +++-
7938  1 file changed, 3 insertions(+), 1 deletion(-)
7939
7940 commit c46aec489722bf09cd10c52d70bb4975eb1546d9
7941 Author: Benjamin Otte <otte@redhat.com>
7942 Date:   Tue May 4 19:28:22 2010 +0200
7943
7944     gl: acquire/release context during surface_finish()
7945
7946  src/cairo-gl-surface.c |    9 ++++++++-
7947  1 file changed, 8 insertions(+), 1 deletion(-)
7948
7949 commit 88801aabb34328746a53d3d59d036dada7ced756
7950 Author: Benjamin Otte <otte@redhat.com>
7951 Date:   Tue May 4 19:23:08 2010 +0200
7952
7953     gl: Acquire context when initing/destroying gl operands
7954
7955  src/cairo-gl-glyphs.c  |   17 +++++-----
7956  src/cairo-gl-private.h |    3 +-
7957  src/cairo-gl-surface.c |   80 +++++++++++++++++++++++++-----------------------
7958  3 files changed, 54 insertions(+), 46 deletions(-)
7959
7960 commit c6d7d054ca44f3849ee1ab76de9032a4eaa210fe
7961 Author: Chris Wilson <chris@chris-wilson.co.uk>
7962 Date:   Wed May 5 10:39:49 2010 +0100
7963
7964     test: Add radial-gradient-mask
7965     
7966     Exercise using radial gradients as a mask.
7967
7968  test/Makefile.am                                 |    6 ++
7969  test/Makefile.sources                            |    2 +
7970  test/radial-gradient-mask-source.argb32.ref.png  |  Bin 0 -> 116311 bytes
7971  test/radial-gradient-mask-source.c               |  111 ++++++++++++++++++++++
7972  test/radial-gradient-mask-source.image16.ref.png |  Bin 0 -> 82800 bytes
7973  test/radial-gradient-mask-source.rgb24.ref.png   |  Bin 0 -> 129093 bytes
7974  test/radial-gradient-mask.argb32.ref.png         |  Bin 0 -> 116311 bytes
7975  test/radial-gradient-mask.c                      |  110 +++++++++++++++++++++
7976  test/radial-gradient-mask.image16.ref.png        |  Bin 0 -> 82800 bytes
7977  test/radial-gradient-mask.rgb24.ref.png          |  Bin 0 -> 129093 bytes
7978  10 files changed, 229 insertions(+)
7979
7980 commit 5f878f917980cde145d4c385b0c0b66336c0f454
7981 Author: Chris Wilson <chris@chris-wilson.co.uk>
7982 Date:   Wed May 5 10:24:14 2010 +0100
7983
7984     clip: Trivial compiler warning
7985     
7986     cairo-clip.c: In function ‘_cairo_clip_path_reapply_clip_path_translate’:
7987     cairo-clip.c:446: warning: suggest parentheses around assignment used as
7988     truth value
7989
7990  src/cairo-clip.c |    3 ++-
7991  1 file changed, 2 insertions(+), 1 deletion(-)
7992
7993 commit 840dad765febf7b807bbb75e401c159a8c5c4dfe
7994 Author: Chris Wilson <chris@chris-wilson.co.uk>
7995 Date:   Wed May 5 09:46:03 2010 +0100
7996
7997     test/mask-glyphs: Check for memfault
7998
7999  test/mask-glyphs.c |   32 +++++++++++++++++++++++---------
8000  1 file changed, 23 insertions(+), 9 deletions(-)
8001
8002 commit ad541a1ec62e18bcaf74994affbdb0503e277f9c
8003 Author: Chris Wilson <chris@chris-wilson.co.uk>
8004 Date:   Wed May 5 09:33:36 2010 +0100
8005
8006     clip: Propagate memfault from translating clip region
8007
8008  src/cairo-clip.c |    6 ++++++
8009  1 file changed, 6 insertions(+)
8010
8011 commit 4bc54643f5cdeddf2145d28c317b55ca6b5949a5
8012 Author: Chris Wilson <chris@chris-wilson.co.uk>
8013 Date:   Tue May 4 21:36:03 2010 +0100
8014
8015     image: Propagate failure from pixman_image_set_clip_region()
8016
8017  src/cairo-image-surface.c |    9 ++++++++-
8018  1 file changed, 8 insertions(+), 1 deletion(-)
8019
8020 commit 9ef33a1d8c0476f4f1eeba4f26523fdeb6f7d809
8021 Author: Chris Wilson <chris@chris-wilson.co.uk>
8022 Date:   Tue May 4 21:35:51 2010 +0100
8023
8024     test/bitmap-font: Destroy FcPattern
8025
8026  test/bitmap-font.c |    8 ++------
8027  1 file changed, 2 insertions(+), 6 deletions(-)
8028
8029 commit fba4cf1d94b3ab676e0b62ae3574bf1ee4e69de0
8030 Author: Chris Wilson <chris@chris-wilson.co.uk>
8031 Date:   Wed May 5 09:22:03 2010 +0100
8032
8033     recording: Mark an empty recording surface as clear.
8034
8035  src/cairo-recording-surface.c |    6 ++++++
8036  1 file changed, 6 insertions(+)
8037
8038 commit e5329805394c94c915e43a0040b51d5019b4a90e
8039 Author: Chris Wilson <chris@chris-wilson.co.uk>
8040 Date:   Wed May 5 09:17:51 2010 +0100
8041
8042     recording: Avoid refcycles by always copying the command array.
8043     
8044     Short-term solution to avoid the refleaks and to make the test suite
8045     happy. A more elegant solution would be to track the references and
8046     avoid the substantial memory overhead of copying the recording surfaces.
8047     
8048     Thanks to Benjamin Otte for pointing out the solution to avoiding
8049     refcycles.
8050
8051  src/cairo-recording-surface-private.h |    1 -
8052  src/cairo-recording-surface.c         |   23 ++++++++++++-----------
8053  2 files changed, 12 insertions(+), 12 deletions(-)
8054
8055 commit 6a06e0ef7b534355d0f3b4885159ffc37dbc3867
8056 Author: Chris Wilson <chris@chris-wilson.co.uk>
8057 Date:   Wed May 5 09:17:33 2010 +0100
8058
8059     test/subsurface-modify-parent: Free region.
8060     
8061     Minor refleak.
8062
8063  test/subsurface-modify-parent.c |    1 +
8064  1 file changed, 1 insertion(+)
8065
8066 commit 4a46c715564c886e7434d65625fb84b5d87c0970
8067 Author: Chris Wilson <chris@chris-wilson.co.uk>
8068 Date:   Tue May 4 18:51:30 2010 +0100
8069
8070     type3: Minor tweaks to remove a redundant check.
8071
8072  src/cairo-type3-glyph-surface.c |    8 ++------
8073  1 file changed, 2 insertions(+), 6 deletions(-)
8074
8075 commit 11531b90a2317bb1113b187d6aa9c5083f5ecaa1
8076 Author: Chris Wilson <chris@chris-wilson.co.uk>
8077 Date:   Tue May 4 18:50:58 2010 +0100
8078
8079     ps: Force finish of the type3 glyph surfaces.
8080
8081  src/cairo-ps-surface.c |    2 ++
8082  1 file changed, 2 insertions(+)
8083
8084 commit 5155ebeaa25815124124db2599336ab2ddbe7413
8085 Author: Chris Wilson <chris@chris-wilson.co.uk>
8086 Date:   Tue May 4 18:50:27 2010 +0100
8087
8088     pdf: Assert that no other error can occur for an invertible matrix.
8089
8090  src/cairo-pdf-operators.c |    3 +--
8091  1 file changed, 1 insertion(+), 2 deletions(-)
8092
8093 commit d9259bd06822c871a4c653f395cfc1f933caaeb7
8094 Author: Chris Wilson <chris@chris-wilson.co.uk>
8095 Date:   Tue May 4 18:49:55 2010 +0100
8096
8097     paginated: Mark as clear initially.
8098
8099  src/cairo-paginated-surface.c |    2 ++
8100  1 file changed, 2 insertions(+)
8101
8102 commit bc14e0e953630d47a65e701a377631e406eb080c
8103 Author: Chris Wilson <chris@chris-wilson.co.uk>
8104 Date:   Mon May 3 14:18:33 2010 +0100
8105
8106     scaled-font: Convert to cairo_list_t
8107     
8108     Convert the open-coded doubly-linked list of glyph pages for a font into
8109     the common cairo_list_t.
8110
8111  src/cairo-scaled-font-private.h |    2 +-
8112  src/cairo-scaled-font.c         |   46 +++++++++++++++++++--------------------
8113  2 files changed, 23 insertions(+), 25 deletions(-)
8114
8115 commit 627527693c38c328fdb79058f5299609c0031029
8116 Author: Chris Wilson <chris@chris-wilson.co.uk>
8117 Date:   Mon May 3 13:41:41 2010 +0100
8118
8119     ps: Remove the fill stroke command
8120     
8121     This is not supported by PostScript, so eliminate it from the prologue.
8122
8123  src/cairo-ps-surface.c |    2 --
8124  1 file changed, 2 deletions(-)
8125
8126 commit 4dd92ef2bc877eb197f096c3eb8fe74cb2e7b099
8127 Author: Chris Wilson <chris@chris-wilson.co.uk>
8128 Date:   Sun May 2 14:35:59 2010 +0100
8129
8130     test: Add subsurface-pad
8131     
8132     Round out the subsurface tests with PAD.
8133
8134  test/Makefile.am            |    1 +
8135  test/Makefile.sources       |    1 +
8136  test/subsurface-pad.c       |   76 +++++++++++++++++++++++++++++++++++++++++++
8137  test/subsurface-pad.ref.png |  Bin 0 -> 181 bytes
8138  4 files changed, 78 insertions(+)
8139
8140 commit 85e3cffde164a5af444639dfd182fde2448809ee
8141 Author: Chris Wilson <chris@chris-wilson.co.uk>
8142 Date:   Fri Apr 30 21:09:01 2010 +0100
8143
8144     test: Add subsurface-modify-{child,parent}
8145     
8146     Add tests to ensure that modifications to the subsurface via the
8147     original surface are tracked by the subsurface, i.e. that any snapshots
8148     are detached upon modification of the parent as well as modification of
8149     itself and vice versa.
8150
8151  test/Makefile.am                      |    2 +
8152  test/Makefile.sources                 |    2 +
8153  test/subsurface-modify-child.c        |   98 +++++++++++++++++++++++++++++++++
8154  test/subsurface-modify-child.ref.png  |  Bin 0 -> 197 bytes
8155  test/subsurface-modify-parent.c       |   77 ++++++++++++++++++++++++++
8156  test/subsurface-modify-parent.ref.png |  Bin 0 -> 197 bytes
8157  6 files changed, 179 insertions(+)
8158
8159 commit 19ac81f50ba353400934bf112523b4257ad9de2f
8160 Author: Chris Wilson <chris@chris-wilson.co.uk>
8161 Date:   Tue May 4 18:25:23 2010 +0100
8162
8163     scaled-font: Remove MRU cache upon detection of error.
8164
8165  src/cairo-scaled-font.c |   15 ++++++++++++++-
8166  1 file changed, 14 insertions(+), 1 deletion(-)
8167
8168 commit 6f2d4f5b2aba9344fee9375614dfd0c6236bfd7c
8169 Author: Chris Wilson <chris@chris-wilson.co.uk>
8170 Date:   Tue May 4 18:09:11 2010 +0100
8171
8172     image: Propagate failure from pixman_image_fill_boxes().
8173
8174  src/cairo-image-surface.c |   55 ++++++++++++++++++++++++---------------------
8175  1 file changed, 30 insertions(+), 25 deletions(-)
8176
8177 commit ded7be0b9ce12f8d4a84c8c9dd622d92fe347a34
8178 Author: Chris Wilson <chris@chris-wilson.co.uk>
8179 Date:   Tue May 4 17:01:35 2010 +0100
8180
8181     test/user-font-rescale: Use after free and check for memfault.
8182
8183  test/user-font-rescale.c |   16 +++++++++++-----
8184  1 file changed, 11 insertions(+), 5 deletions(-)
8185
8186 commit b0052c52153376400a30dca1d67f4aca9735cc09
8187 Author: Chris Wilson <chris@chris-wilson.co.uk>
8188 Date:   Tue May 4 17:01:17 2010 +0100
8189
8190     test/bitmap-font: Propagate memfault
8191
8192  test/bitmap-font.c |   13 ++++++++++---
8193  1 file changed, 10 insertions(+), 3 deletions(-)
8194
8195 commit 9187c7532755dda8d2677ec792162c71029fb37d
8196 Author: Chris Wilson <chris@chris-wilson.co.uk>
8197 Date:   Tue May 4 13:18:09 2010 +0100
8198
8199     test/bitmap-font: Check for memfault error
8200
8201  test/bitmap-font.c |    4 ++--
8202  1 file changed, 2 insertions(+), 2 deletions(-)
8203
8204 commit 0fced9279227614ede6964e94ede9de49a3a3388
8205 Author: Chris Wilson <chris@chris-wilson.co.uk>
8206 Date:   Tue May 4 13:17:38 2010 +0100
8207
8208     test/user-font-proxy: Check we install user data on the scaled font
8209
8210  test/user-font-proxy.c |   14 ++++++++++----
8211  1 file changed, 10 insertions(+), 4 deletions(-)
8212
8213 commit 38188961b996c97d344195749b7bec8c93f9bad7
8214 Author: Chris Wilson <chris@chris-wilson.co.uk>
8215 Date:   Tue May 4 13:17:07 2010 +0100
8216
8217     image: Check for pixman image allocation failure during glyphs
8218
8219  src/cairo-image-surface.c |    8 +++-----
8220  1 file changed, 3 insertions(+), 5 deletions(-)
8221
8222 commit 4a181ebac416ec35e412ddbe9ed1392fb8b74ab7
8223 Author: Chris Wilson <chris@chris-wilson.co.uk>
8224 Date:   Tue May 4 10:26:30 2010 +0100
8225
8226     pdf: Cleanup local reference to source on error paths.
8227
8228  src/cairo-pdf-surface.c |    2 ++
8229  1 file changed, 2 insertions(+)
8230
8231 commit ba48edcd86ee1bca06b25587e56abcd2c1b19d79
8232 Author: Chris Wilson <chris@chris-wilson.co.uk>
8233 Date:   Tue May 4 10:26:13 2010 +0100
8234
8235     ps: Always cleanup used font subsets.
8236
8237  src/cairo-ps-surface.c |   19 ++++++++-----------
8238  1 file changed, 8 insertions(+), 11 deletions(-)
8239
8240 commit 9a0958be012e097c239260fac0dec0b1e5679028
8241 Author: Chris Wilson <chris@chris-wilson.co.uk>
8242 Date:   Tue May 4 10:25:48 2010 +0100
8243
8244     test: Cleanup after failed pthread_join().
8245
8246  test/pthread-same-source.c |   17 +++++++++--------
8247  test/pthread-show-text.c   |   17 +++++++++--------
8248  test/pthread-similar.c     |   17 +++++++++--------
8249  3 files changed, 27 insertions(+), 24 deletions(-)
8250
8251 commit 08b9984da9f2119cd4ed03bbd656a349b49d1f12
8252 Author: Chris Wilson <chris@chris-wilson.co.uk>
8253 Date:   Tue May 4 08:19:41 2010 +0100
8254
8255     image: Replace assert with error return
8256     
8257     It is possible to encounter an allocation failure here since we may have
8258     tweaked the clip since the last evaluation of the clip region.
8259
8260  src/cairo-image-surface.c |    3 ++-
8261  1 file changed, 2 insertions(+), 1 deletion(-)
8262
8263 commit 2c68fcace4ad47ad09e9699e45afb514be1381f9
8264 Author: Chris Wilson <chris@chris-wilson.co.uk>
8265 Date:   Mon May 3 20:39:34 2010 +0100
8266
8267     test: Embed the list pointer into cairo_test_t
8268     
8269     Reduce the amount of output printed by leak-detectors when a test
8270     crashes.
8271
8272  test/cairo-test-runner.c |   31 +++++++++++++++----------------
8273  test/cairo-test.h        |    7 ++++---
8274  2 files changed, 19 insertions(+), 19 deletions(-)
8275
8276 commit 7002b824729885a9d579f677ecc665b620847480
8277 Author: Chris Wilson <chris@chris-wilson.co.uk>
8278 Date:   Tue May 4 13:52:09 2010 +0200
8279
8280     xlib: Don't delete gradients in unbounded fixup code
8281     
8282     The fix is ugly, but for now it works.
8283
8284  src/cairo-xlib-surface.c |    3 ++-
8285  1 file changed, 2 insertions(+), 1 deletion(-)
8286
8287 commit af26560f258d93cc78782ddd0208128756874c11
8288 Author: Chris Wilson <chris@chris-wilson.co.uk>
8289 Date:   Mon May 3 19:21:59 2010 +0100
8290
8291     test: Improve memfault behaviour.
8292     
8293     Various minor tweaks to convert asserts into error returns and to
8294     improve error checking on intermediate surfaces.
8295
8296  boilerplate/cairo-boilerplate-svg.c |    2 +-
8297  test/cairo-test.c                   |   21 ++++++++++++---
8298  test/png.c                          |   34 +++++++++++++++--------
8299  test/pthread-same-source.c          |    7 +++++
8300  test/surface-source.c               |   11 ++++++--
8301  test/toy-font-face.c                |   16 ++++++++---
8302  test/user-data.c                    |   51 ++++++++++++++++++++++++-----------
8303  test/xlib-surface-source.c          |    7 ++++-
8304  8 files changed, 112 insertions(+), 37 deletions(-)
8305
8306 commit c549203c8d69474be4362037f702e4fb59c9929e
8307 Author: Chris Wilson <chris@chris-wilson.co.uk>
8308 Date:   Mon May 3 19:21:18 2010 +0100
8309
8310     scaled-font: Check for an error return when retrieving the implementation
8311
8312  src/cairo-scaled-font.c |    8 ++++++++
8313  1 file changed, 8 insertions(+)
8314
8315 commit c93e6f014d9678b1aea34fd7a30a1fc2f51c6347
8316 Author: Chris Wilson <chris@chris-wilson.co.uk>
8317 Date:   Mon May 3 19:20:42 2010 +0100
8318
8319     paginated: propagate malloc failures more cleanly.
8320
8321  src/cairo-paginated-surface.c |   26 +++++++++++++-------------
8322  1 file changed, 13 insertions(+), 13 deletions(-)
8323
8324 commit 8e9fd9c01732c3102c27c7dee50f6e494ba7cdd8
8325 Author: Chris Wilson <chris@chris-wilson.co.uk>
8326 Date:   Mon May 3 19:20:07 2010 +0100
8327
8328     image: A few missing tests for malloc failure
8329
8330  src/cairo-image-surface.c |   12 +++++++++++-
8331  1 file changed, 11 insertions(+), 1 deletion(-)
8332
8333 commit 87781ffbd914bca29b4d744fb48678ab06a07108
8334 Author: Chris Wilson <chris@chris-wilson.co.uk>
8335 Date:   Mon May 3 19:18:49 2010 +0100
8336
8337     ft: Convert an assert into an unlikely error return.
8338     
8339     The assert depends upon good behaviour from fontconfig, which is no
8340     guaranteed under memfault, so return an error instead.
8341
8342  src/cairo-ft-font.c |    4 +---
8343  1 file changed, 1 insertion(+), 3 deletions(-)
8344
8345 commit 5672b7a18a34456862977a1cf678bf6575dcc3f4
8346 Author: Benjamin Otte <otte@redhat.com>
8347 Date:   Mon May 3 13:13:27 2010 +0200
8348
8349     fallback: get src_x/y variables right when compositing traps
8350
8351  src/cairo-image-surface.c |    4 +++-
8352  1 file changed, 3 insertions(+), 1 deletion(-)
8353
8354 commit c10a5a9fb0463f254fb607a2260b540256f888cc
8355 Author: Dave Yeo <daveryeo@telus.net>
8356 Date:   Mon May 3 10:20:51 2010 +0200
8357
8358     os2: Fix get_extents() segfaulting.
8359     
8360     bed2701e1c89095878d549cbca8f22d84f3dda3c removed one line too much.
8361
8362  src/cairo-os2-surface.c |    2 +-
8363  1 file changed, 1 insertion(+), 1 deletion(-)
8364
8365 commit 9df81fe4d3f0ccc5632d0e84e920fe1c448bd531
8366 Author: Benjamin Otte <otte@redhat.com>
8367 Date:   Sun May 2 19:59:26 2010 +0200
8368
8369     boilerplate: don't compile pdf test code when pdf is not tested
8370     
8371     Avoids gcc warnings when libpoppler version isn't good enough.
8372
8373  boilerplate/cairo-boilerplate-pdf.c |    3 +++
8374  1 file changed, 3 insertions(+)
8375
8376 commit 358f57c8765f823f8e6db7629ea6ca48fcd392b8
8377 Author: Benjamin Otte <otte@redhat.com>
8378 Date:   Fri Apr 30 23:29:24 2010 +0200
8379
8380     image: remove useless optimization
8381     
8382     The optimization is done way smarter inside
8383     _cairo_matrix_transform_bounding_box()
8384
8385  src/cairo-image-surface.c |   11 +++--------
8386  1 file changed, 3 insertions(+), 8 deletions(-)
8387
8388 commit 94aa6d24b6d5ab4528a0b0a9b1b0c6eb7218f861
8389 Author: Benjamin Otte <otte@redhat.com>
8390 Date:   Fri Apr 30 23:24:41 2010 +0200
8391
8392     fallback: Create pixman image for correct rectangle
8393     
8394     This was most prominently shown by the a1-image-sample test, but
8395     multiple tests exposed the problem with the xlib-fallback code.
8396
8397  src/cairo-image-surface.c |    8 ++++----
8398  1 file changed, 4 insertions(+), 4 deletions(-)
8399
8400 commit 41fecf8e662c9ad2fe063754db8302f349a223ef
8401 Author: Carlos Garcia Campos <carlosgc@gnome.org>
8402 Date:   Fri Apr 30 21:18:52 2010 +0200
8403
8404     [configure] Bump poppler dependency to 0.13.3
8405
8406  configure.ac |    2 +-
8407  1 file changed, 1 insertion(+), 1 deletion(-)
8408
8409 commit 3294daf423e88b55aa13841dfa7c557ee9833f92
8410 Author: Benjamin Otte <otte@redhat.com>
8411 Date:   Fri Apr 30 20:14:54 2010 +0200
8412
8413     Create cleared surface instead of a scratch surface in clone_similar()
8414     
8415     A cleared surface is needed when playing back a recording surface that
8416     has semi-transparent operations.
8417     As this only affects surface types where scratch surfaces aren't already
8418     cleared (ie it affected xlib but not image), the effect was only visible
8419     for those backends.
8420     This should not cause any performance regressions as the other backends
8421     set surface->clear = TRUE when creating the scratch surface, so the
8422     clear operation is effectively a no-op.
8423     
8424     Covered by the existing pdf-surface-source and svg-surface-source tests.
8425
8426  src/cairo-surface.c |    9 +++++----
8427  1 file changed, 5 insertions(+), 4 deletions(-)
8428
8429 commit 0aeb612d2f822e8cda1f509b6a4f2995e24053fc
8430 Author: Carlos Garcia Campos <carlosgc@gnome.org>
8431 Date:   Fri Apr 30 16:18:57 2010 +0200
8432
8433     [test] Update pdf reference image for text-rotate
8434
8435  test/text-rotate.pdf.ref.png |  Bin 16757 -> 16744 bytes
8436  1 file changed, 0 insertions(+), 0 deletions(-)
8437
8438 commit fe2844464721644b837816aa4dad4ead508f0b89
8439 Author: Carlos Garcia Campos <carlosgc@gnome.org>
8440 Date:   Fri Apr 30 16:16:23 2010 +0200
8441
8442     [test] Update pdf reference image for surface-pattern-scale-down
8443
8444  test/surface-pattern-scale-down.pdf.ref.png |  Bin 1603 -> 2189 bytes
8445  1 file changed, 0 insertions(+), 0 deletions(-)
8446
8447 commit dba6f23318005a4cdbe7566519ce896278ea184a
8448 Author: Carlos Garcia Campos <carlosgc@gnome.org>
8449 Date:   Fri Apr 30 16:11:52 2010 +0200
8450
8451     [test] Update pdf reference image for leaky-dashed-rectangle
8452
8453  test/leaky-dashed-rectangle.pdf.ref.png |  Bin 380 -> 377 bytes
8454  1 file changed, 0 insertions(+), 0 deletions(-)
8455
8456 commit 6b81187ac4870311a10c024af9f30c366be785cd
8457 Author: Carlos Garcia Campos <carlosgc@gnome.org>
8458 Date:   Fri Apr 30 16:05:21 2010 +0200
8459
8460     [test] Update pdf reference images for clip-operator
8461
8462  test/clip-operator.pdf.argb32.ref.png |  Bin 9266 -> 9437 bytes
8463  test/clip-operator.pdf.rgb24.ref.png  |  Bin 5166 -> 5391 bytes
8464  2 files changed, 0 insertions(+), 0 deletions(-)
8465
8466 commit b485ae5b90bf72cde0c30c2350e03d1369ca6dcd
8467 Author: Chris Wilson <chris@chris-wilson.co.uk>
8468 Date:   Fri Apr 30 14:14:01 2010 +0100
8469
8470     atomic: Add Andrea's copyright notice
8471     
8472     Note Andrea's copyright for his contribution of platform agnostic
8473     fallbacks and the implementation for MacOS/X.
8474
8475  src/cairo-atomic-private.h |    2 ++
8476  1 file changed, 2 insertions(+)
8477
8478 commit 4ee5119a3467ea086efccef2907b0c576d600b79
8479 Author: Chris Wilson <chris@chris-wilson.co.uk>
8480 Date:   Fri Apr 30 13:00:05 2010 +0100
8481
8482     test: Expand pthread-show-text to cover all surfaces.
8483     
8484     In a similar fashion to pthread-same-source and pthread-similar, check
8485     that the texting handling is thread-safe for all surface and font
8486     backends.
8487
8488  test/Makefile.am                       |    3 +
8489  test/pthread-show-text.c               |  118 ++++++++++++++++++++------------
8490  test/pthread-show-text.image16.ref.png |  Bin 0 -> 22167 bytes
8491  test/pthread-show-text.ps.ref.png      |  Bin 0 -> 16558 bytes
8492  test/pthread-show-text.ref.png         |  Bin 0 -> 29885 bytes
8493  5 files changed, 77 insertions(+), 44 deletions(-)
8494
8495 commit c6dc8ad7dc46d03899cd37fff40bd7f3a60339e2
8496 Author: Chris Wilson <chris@chris-wilson.co.uk>
8497 Date:   Fri Apr 30 12:38:25 2010 +0100
8498
8499     Revert "paginated: Call surface finish explicitly on recording surface"
8500     
8501     This reverts commit 5fc04bba9fa8ddda8cf7d7a97015f21a21429172.
8502     
8503     Whilst this fixes the self-referential reference leak, it however
8504     introduces use-after-finish into normal behaviour. Close, but not quite.
8505
8506  src/cairo-paginated-surface.c |    1 -
8507  1 file changed, 1 deletion(-)
8508
8509 commit b972669c9ac87d1c2ca922e12024ef5da394aa6b
8510 Author: Chris Wilson <chris@chris-wilson.co.uk>
8511 Date:   Fri Apr 30 12:37:16 2010 +0100
8512
8513     boilerplate: Fix use after free from 3ae5723
8514     
8515     If we want to access the surface during the cleanup, we must hold our
8516     own reference to it. Make it so for the forced finish of the recording
8517     surface.
8518
8519  boilerplate/cairo-boilerplate.c |   13 ++++++++++---
8520  1 file changed, 10 insertions(+), 3 deletions(-)
8521
8522 commit 905c345df1f828551af2ab0b751388428e4dfaf6
8523 Author: Chris Wilson <chris@chris-wilson.co.uk>
8524 Date:   Fri Apr 30 10:31:50 2010 +0100
8525
8526     recording: Check that we do not use a finished recording surface.
8527     
8528     User paranoia - as the replay is exposed to the user it is convenient to
8529     add the finish check in the core replay function so that we gain a
8530     paranoia check for the internal paths as well.
8531
8532  src/cairo-recording-surface.c |    5 ++++-
8533  1 file changed, 4 insertions(+), 1 deletion(-)
8534
8535 commit 5fe7c5842f3589efce765b3869c1dd55367a5aba
8536 Author: Chris Wilson <chris@chris-wilson.co.uk>
8537 Date:   Fri Apr 30 10:13:09 2010 +0100
8538
8539     pdf; Emit subsurface patterns natively.
8540     
8541     Encode subsurface patterns into the PDF stream natively (when possible),
8542     similar to the cairo-ps backend.
8543
8544  src/cairo-pdf-surface.c |  113 +++++++++++++++++++++++++++++++++++++++--------
8545  1 file changed, 94 insertions(+), 19 deletions(-)
8546
8547 commit 8ded35fd69ed0bbb07359c0278071a25af66571c
8548 Author: Chris Wilson <chris@chris-wilson.co.uk>
8549 Date:   Wed Apr 28 14:26:21 2010 +0100
8550
8551     ps: Enable native encoding of subsurface patterns.
8552     
8553     Carefully handle subsurfaces of a recording surface through the analysis
8554     and paginated surfaces so that we can generate a native pattern for the
8555     vector backends, demonstrated by the PostScript backend.
8556     
8557     Nothing remarkable, just a lot of bookkeeping to track the wrapped
8558     surface types and to apply the correct offsets when generating the
8559     subsurface pattern.
8560
8561  src/cairo-analysis-surface.c           |   13 +-
8562  src/cairo-paginated-surface.c          |    1 +
8563  src/cairo-pdf-surface.c                |    4 +-
8564  src/cairo-ps-surface.c                 |  121 ++++++++++--
8565  src/cairo-recording-surface-private.h  |    1 +
8566  src/cairo-recording-surface.c          |   12 +-
8567  src/cairo-surface-private.h            |    4 +-
8568  src/cairo-surface-subsurface-private.h |    4 +-
8569  src/cairo-surface-subsurface.c         |  101 ++++++----
8570  src/cairo-surface-wrapper-private.h    |    7 +-
8571  src/cairo-surface-wrapper.c            |  314 ++++++++++++++++++++++++++------
8572  src/cairo-surface.c                    |   13 +-
8573  test/Makefile.am                       |    1 +
8574  test/Makefile.sources                  |    1 +
8575  test/subsurface-reflect.c              |   76 ++++++++
8576  test/subsurface-reflect.ref.png        |  Bin 0 -> 210 bytes
8577  test/subsurface-repeat.c               |    8 +-
8578  test/subsurface-similar-repeat.c       |    3 +
8579  test/subsurface.c                      |    7 +-
8580  test/subsurface.image16.ref.png        |  Bin 1430 -> 1643 bytes
8581  test/subsurface.ref.png                |  Bin 1597 -> 1811 bytes
8582  21 files changed, 565 insertions(+), 126 deletions(-)
8583
8584 commit 5fc04bba9fa8ddda8cf7d7a97015f21a21429172
8585 Author: Chris Wilson <chris@chris-wilson.co.uk>
8586 Date:   Thu Apr 29 21:51:29 2010 +0100
8587
8588     paginated: Call surface finish explicitly on recording surface
8589     
8590     During show_page() when we destroy the recording surface after emitting
8591     the page, ensure that we actually call cairo_surface_finish() to dispose
8592     of any self-referential reference leaks.
8593
8594  src/cairo-paginated-surface.c |    1 +
8595  1 file changed, 1 insertion(+)
8596
8597 commit 3ae57234644c3756785c551beffe584f837b0273
8598 Author: Chris Wilson <chris@chris-wilson.co.uk>
8599 Date:   Thu Apr 29 21:50:22 2010 +0100
8600
8601     boilerplate: Ensure that the recording surfaces are finished.
8602     
8603     Be paranoid and explicitly call finish to cleanup self-referential leaks
8604     when using paginated/recording surfaces.
8605
8606  boilerplate/cairo-boilerplate-pdf.c |    5 ++++-
8607  boilerplate/cairo-boilerplate-ps.c  |    5 ++++-
8608  boilerplate/cairo-boilerplate-svg.c |    5 ++++-
8609  boilerplate/cairo-boilerplate.c     |   10 +++++-----
8610  4 files changed, 17 insertions(+), 8 deletions(-)
8611
8612 commit f08cc311af1248b39c3e757ef192515ed8506862
8613 Author: Chris Wilson <chris@chris-wilson.co.uk>
8614 Date:   Thu Apr 29 20:34:56 2010 +0100
8615
8616     boilerplate: Destroy the redundant image reference
8617     
8618     When using a script surface to record the recording surface, we replace
8619     the local reference to the image surface.
8620
8621  boilerplate/cairo-boilerplate.c |    2 ++
8622  1 file changed, 2 insertions(+)
8623
8624 commit ab2776c9a16134c50b48fd202263421ec0f466e7
8625 Author: Chris Wilson <chris@chris-wilson.co.uk>
8626 Date:   Thu Apr 29 18:50:32 2010 +0100
8627
8628     snapshot: Attach the backend generated snapshot to the target
8629     
8630     Cache the result of snapshotting using the backend vfunc in the normal
8631     manner by attaching the snapshot to the target. This should reduce
8632     resource usage in these cases.
8633
8634  src/cairo-surface-snapshot.c |   21 ++++++++++++++++++++-
8635  1 file changed, 20 insertions(+), 1 deletion(-)
8636
8637 commit 07122f37d11eabe62bc9c81ccbf71bbe8b7a1005
8638 Author: Chris Wilson <chris@chris-wilson.co.uk>
8639 Date:   Thu Apr 29 15:19:18 2010 +0100
8640
8641     surface: Convert snapshots from an array to a double-linked list.
8642     
8643     Saves the memory allocation for the array, and the overhead of
8644     maintaining the area for both insertions and more importantly deletes.
8645
8646  src/cairo-recording-surface.c      |    6 +-
8647  src/cairo-surface-private.h        |    5 +-
8648  src/cairo-surface-snapshot.c       |   10 +--
8649  src/cairo-surface.c                |  130 +++++++++++++-----------------------
8650  src/cairo-vg-surface.c             |    8 +--
8651  src/cairo-xcb-surface-core.c       |    6 +-
8652  src/cairo-xcb-surface-render.c     |   10 +--
8653  src/cairo-xcb-surface.c            |   12 ++--
8654  src/cairoint.h                     |    2 +-
8655  src/drm/cairo-drm-i915-shader.c    |   11 ++-
8656  src/drm/cairo-drm-i965-shader.c    |   11 ++-
8657  src/drm/cairo-drm-intel-surface.c  |    8 +--
8658  src/drm/cairo-drm-radeon-surface.c |    8 +--
8659  13 files changed, 77 insertions(+), 150 deletions(-)
8660
8661 commit 4cb733c28551f4a34cd4a225b8d797a55bf9b977
8662 Author: Chris Wilson <chris@chris-wilson.co.uk>
8663 Date:   Thu Apr 29 12:04:44 2010 +0100
8664
8665     image: Simplify translation of pattern matrix for composite_trapezoids()
8666
8667  src/cairo-image-surface.c |    4 +---
8668  1 file changed, 1 insertion(+), 3 deletions(-)
8669
8670 commit 3940b0e91c274de0cf2fca4b34d4025b92965c19
8671 Author: Chris Wilson <chris@chris-wilson.co.uk>
8672 Date:   Thu Apr 29 17:29:13 2010 +0100
8673
8674     subsurface: s/region/rectangle/
8675     
8676     After a renewed discussion, it was pointed out that the API in Cairo was
8677     not restrictive and by using doubles we would be consisted with the rest
8678     of the API. Thus prompting the name change to
8679     
8680       cairo_surface_create_for_rectangle()
8681     
8682     similar to cairo_rectangle().
8683     
8684     And document the public API.
8685
8686  src/cairo-surface-subsurface.c             |   39 +++++++++++++++++++++++-----
8687  src/cairo.h                                |   10 +++----
8688  test/subsurface-repeat.c                   |    4 +--
8689  test/subsurface-similar-repeat.c           |    2 +-
8690  test/subsurface.c                          |    4 +--
8691  util/cairo-script/cairo-script-operators.c |   12 ++++-----
8692  util/cairo-trace/trace.c                   |   10 +++----
8693  7 files changed, 53 insertions(+), 28 deletions(-)
8694
8695 commit 4b6fa8d5a78731aca80f3c8c6320e7edc845c5b5
8696 Author: Chris Wilson <chris@chris-wilson.co.uk>
8697 Date:   Fri Apr 30 09:47:51 2010 +0100
8698
8699     test: Remove group-unaligned.*new.png
8700     
8701     Entirely misleading, looks like PDF is behaving the same as image and
8702     this remnant was thus giving the wrong impression.
8703
8704  test/Makefile.am                 |    1 -
8705  test/group-unaligned.pdf.new.png |  Bin 427 -> 0 bytes
8706  2 files changed, 1 deletion(-)
8707
8708 commit e3f990d84131f7bd1e64e54d02bac780b1e9f85e
8709 Author: Benjamin Otte <otte@redhat.com>
8710 Date:   Thu Apr 29 22:34:35 2010 +0200
8711
8712     test: Update reference images for last checkin
8713     
8714     Both tests now pas on all backends I tested: test, image, xlib and
8715     recording
8716
8717  test/a1-traps-sample.ref.png      |  Bin 148 -> 120 bytes
8718  test/unantialiased-shapes.ref.png |  Bin 3969 -> 3968 bytes
8719  2 files changed, 0 insertions(+), 0 deletions(-)
8720
8721 commit 6d36f06751377459e35afe1ac26c59d33b16c730
8722 Author: Benjamin Otte <otte@redhat.com>
8723 Date:   Thu Apr 29 22:12:02 2010 +0200
8724
8725     image: Round down when rendering antialiased boxes
8726     
8727     Matches Pixman's output when going via pixman_rasterize_trapezoid()
8728
8729  src/cairo-fixed-private.h |    6 ++++++
8730  src/cairo-image-surface.c |    9 +++++----
8731  2 files changed, 11 insertions(+), 4 deletions(-)
8732
8733 commit 95179a5de91b5c6f99dbccc3b6c950df58d4f2a7
8734 Author: Benjamin Otte <otte@redhat.com>
8735 Date:   Thu Apr 29 20:45:23 2010 +0200
8736
8737     Remove excessive semicolons
8738     
8739     s/;;/;/ basically
8740
8741  src/cairo-image-surface.c       |    2 +-
8742  src/cairo-wideint.c             |    2 +-
8743  src/drm/cairo-drm-i965-shader.c |    2 +-
8744  3 files changed, 3 insertions(+), 3 deletions(-)
8745
8746 commit 5d07307b691afccccbb15f773d5231669ba44f5a
8747 Author: Benjamin Otte <otte@redhat.com>
8748 Date:   Thu Apr 29 18:20:59 2010 +0200
8749
8750     xlib: Don't modify variables that are needed later
8751     
8752     In the XCopyArea region code, don't modify src_x/y when they are later
8753     used in the unbounded fixup code.
8754     
8755     Exposed by composite-integer-translate-source test.
8756
8757  src/cairo-xlib-surface.c |    8 ++++----
8758  1 file changed, 4 insertions(+), 4 deletions(-)
8759
8760 commit 90160deb2a84f787dff46243471e37600b24799b
8761 Author: Benjamin Otte <otte@redhat.com>
8762 Date:   Thu Apr 29 18:20:44 2010 +0200
8763
8764     xlib: Constify some function arguments
8765
8766  src/cairo-xlib-surface.c |   12 ++++++------
8767  1 file changed, 6 insertions(+), 6 deletions(-)
8768
8769 commit 4da71d1a01c4d4cc84b5e31cc89dd7f297b23359
8770 Author: Benjamin Otte <otte@redhat.com>
8771 Date:   Thu Apr 29 18:11:54 2010 +0200
8772
8773     xlib: remove unused code
8774
8775  src/cairo-xlib-surface.c |   12 ------------
8776  1 file changed, 12 deletions(-)
8777
8778 commit 758ffadcb1d0a0478d43ca40775687a37e5920a4
8779 Author: Benjamin Otte <otte@redhat.com>
8780 Date:   Thu Apr 29 16:54:09 2010 +0200
8781
8782     fallback: Only do _fill/compsoite_rectangles on bounded source
8783     
8784     For unbounded sources, these optimizations fail to take into account the
8785     regions outside the source.
8786
8787  src/cairo-surface-fallback.c |   16 +++++++++-------
8788  1 file changed, 9 insertions(+), 7 deletions(-)
8789
8790 commit 6288ad719da898c4a75cdc6527f5a41d4c900e57
8791 Author: Benjamin Otte <otte@redhat.com>
8792 Date:   Thu Apr 29 15:37:32 2010 +0200
8793
8794     fallback: translate extents regions properly
8795     
8796     The extents clip regions that were created for unbounded operators were
8797     not translated properly. This has been changed now.
8798     
8799     This is a followup to 9ce8bef9d6e6d773dd1f4b184916ed5c96c3541d.
8800
8801  src/cairo-surface-fallback.c |   17 ++++++++++-------
8802  1 file changed, 10 insertions(+), 7 deletions(-)
8803
8804 commit b0760826f30f63637561b353e7eed1913036da2d
8805 Author: Benjamin Otte <otte@redhat.com>
8806 Date:   Thu Apr 29 12:11:48 2010 +0200
8807
8808     test: Set have_result for image matches
8809     
8810     Causes the log to contain information about the reference imagery used.
8811
8812  test/cairo-test.c |   16 +++++++++++++---
8813  1 file changed, 13 insertions(+), 3 deletions(-)
8814
8815 commit 8f85c2d77cc2ca7984f9771c0096fbad798dbde8
8816 Author: Benjamin Otte <otte@redhat.com>
8817 Date:   Thu Apr 29 12:09:31 2010 +0200
8818
8819     image: translate source pattern in composite_trapezoids()
8820     
8821     Fixes xlib fallback paths as exposed by the clip-push-group test.
8822
8823  src/cairo-image-surface.c |    8 +++++++-
8824  1 file changed, 7 insertions(+), 1 deletion(-)
8825
8826 commit aa495eac5a2db9b396eb1953eb112c733d0ababc
8827 Author: Chris Wilson <chris@chris-wilson.co.uk>
8828 Date:   Thu Apr 29 10:04:18 2010 +0100
8829
8830     atomic: Tweak for compilation x86.
8831     
8832     Missing definition of _cairo_atomic_ptr_get() used in the fallbacks.
8833
8834  src/cairo-atomic-private.h |   27 ++++++++++++++++++++-------
8835  src/cairo-atomic.c         |   16 ++++++++--------
8836  2 files changed, 28 insertions(+), 15 deletions(-)
8837
8838 commit 248af38b3efa3f96225eea43f4ba5b94baff34a6
8839 Author: Andrea Canciani <ranma42@gmail.com>
8840 Date:   Wed Apr 28 17:23:47 2010 +0200
8841
8842     atomic: Add MacOSX atomic implementation
8843     
8844     Enable atomic operation on MacOS X, using the functions provided by
8845     libkern/OSAtomic.h
8846     
8847     Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
8848
8849  build/aclocal.cairo.m4     |   10 ++++++++++
8850  src/cairo-atomic-private.h |   30 ++++++++++++++++++++++++++++++
8851  2 files changed, 40 insertions(+)
8852
8853 commit 56a367a1626b2b7ec3d9e64e74f016867f294a34
8854 Author: Andrea Canciani <ranma42@gmail.com>
8855 Date:   Wed Apr 28 19:17:10 2010 +0200
8856
8857     atomic: Correct implementation of _atomic_fetch ()
8858     
8859     _atomic_fetch() was expected to replace the content of a slot with
8860     NULL and return the old content, but it incorrectly returned the
8861     previous content even if it was unable to perform the exchange
8862     (because of conflicts with other threads accessing the pool).
8863     
8864     Fix suggested by Chris Wilson <chris@chris-wilson.co.uk>
8865
8866  src/cairo-freed-pool-private.h |    8 +++++++-
8867  1 file changed, 7 insertions(+), 1 deletion(-)
8868
8869 commit d66b1ca1cfda64088521581bc2bd494bff9f5d23
8870 Author: Andrea Canciani <ranma42@gmail.com>
8871 Date:   Wed Apr 28 16:23:15 2010 +0200
8872
8873     atomic: Separate bool and old-value compare-and-exchange
8874     
8875     Some implementations only offer one version of compare-and-exchange,
8876     thus we expose both through cairo-atomic, implementing what is missing
8877     through appropriate fallbacks.
8878     *_cmpxchg() now return a boolean (this unbreaks _cairo_atomic_uint_cmpxchg)
8879     *_cmpxchg_return_old() return the old value
8880     Code is updated everywhere to reflect this, by using *_cmpxchg()
8881     wherever the returned value was only tested to check if the exchange
8882     had really taken place.
8883     
8884     Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
8885
8886  src/cairo-atomic-private.h     |   68 ++++++++++++++++++++++++++++++++++++----
8887  src/cairo-atomic.c             |    4 +--
8888  src/cairo-freed-pool-private.h |    4 +--
8889  src/cairo-image-surface.c      |    6 ++--
8890  src/cairo.c                    |    4 +--
8891  src/drm/cairo-drm.c            |    2 +-
8892  6 files changed, 72 insertions(+), 16 deletions(-)
8893
8894 commit a0bf424b820b404947671b56f357a2cef71640fb
8895 Author: Andrea Canciani <ranma42@gmail.com>
8896 Date:   Wed Apr 28 15:29:32 2010 +0200
8897
8898     atomic: Remove unused function _cairo_atomic_int_set()
8899     
8900     _cairo_atomic_int_set() was only used in the definition of
8901     CAIRO_REFERENCE_SET_VALUE, which was never used.
8902     
8903     Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
8904
8905  src/cairo-atomic-private.h          |   10 ----------
8906  src/cairo-atomic.c                  |    8 --------
8907  src/cairo-reference-count-private.h |    1 -
8908  3 files changed, 19 deletions(-)
8909
8910 commit 9ce8bef9d6e6d773dd1f4b184916ed5c96c3541d
8911 Author: Benjamin Otte <otte@redhat.com>
8912 Date:   Wed Apr 28 18:34:20 2010 +0200
8913
8914     fallback: Propagate extents properly
8915     
8916     Otherwise unbounded operators will clear the full surface.
8917     Improves the score for the unbounded-operator test, in particular the
8918     output for the test-fallback case.
8919
8920  src/cairo-surface-fallback.c |  112 +++++++++++++++++++++++++++++-------------
8921  1 file changed, 78 insertions(+), 34 deletions(-)
8922
8923 commit 91fd97ae7c4de23c61d481c98c9352f0639d76dd
8924 Author: Benjamin Otte <otte@redhat.com>
8925 Date:   Wed Apr 28 20:21:37 2010 +0200
8926
8927     fallback: Pass the correct extents for unbounbded operations
8928
8929  src/cairo-surface-fallback.c |   20 +++++++++++++-------
8930  1 file changed, 13 insertions(+), 7 deletions(-)
8931
8932 commit 06e9caf86199e8261a07db6d4774628fa147728d
8933 Author: Benjamin Otte <otte@redhat.com>
8934 Date:   Wed Apr 28 20:05:13 2010 +0200
8935
8936     image: pixman_image_fill_rectangles() => pixman_image_fill_boxes()
8937
8938  src/cairo-image-surface.c |   32 ++++++++++++++++----------------
8939  1 file changed, 16 insertions(+), 16 deletions(-)
8940
8941 commit bc49df322770b3bd1797c0e153b97f1f296fbd1e
8942 Author: Benjamin Otte <otte@redhat.com>
8943 Date:   Wed Apr 28 19:56:36 2010 +0200
8944
8945     pixman_image_composite => pixman_image_composite32
8946     
8947     Fix up the remaining callers
8948
8949  src/cairo-gl-surface.c    |   12 ++++++------
8950  src/cairo-image-surface.c |   12 ++++++------
8951  2 files changed, 12 insertions(+), 12 deletions(-)
8952
8953 commit 393da364a7f26e696141c58d4fb6fdefb2ea245a
8954 Author: Benjamin Otte <otte@redhat.com>
8955 Date:   Wed Apr 28 18:18:15 2010 +0200
8956
8957     fallback: Sanitize code that queries surface extents
8958     
8959     The previous code was setting extents.is_bounded, but that value has a
8960     completely different meaning.
8961
8962  src/cairo-surface-fallback.c |   20 ++++++++++----------
8963  1 file changed, 10 insertions(+), 10 deletions(-)
8964
8965 commit 13914039567d5e8269fc29c51018ce172a40f2e9
8966 Author: Benjamin Otte <otte@redhat.com>
8967 Date:   Wed Apr 28 13:05:28 2010 +0200
8968
8969     test: run xlib-expose-event test unconditionally
8970
8971  test/Makefile.sources |    2 +-
8972  1 file changed, 1 insertion(+), 1 deletion(-)
8973
8974 commit 2ce1afa3222145e9c4f8c74a0034e0da9e93b70b
8975 Author: Benjamin Otte <otte@redhat.com>
8976 Date:   Wed Apr 28 12:54:54 2010 +0200
8977
8978     test-suite: add image_diff_is_failure() function
8979     
8980     This cleans the code and fixes a boolean logic error where this check
8981     was done manually.
8982
8983  test/buffer-diff.c         |    8 ++++++++
8984  test/buffer-diff.h         |    4 ++++
8985  test/cairo-test-trace.c    |    3 +--
8986  test/cairo-test.c          |    9 +++------
8987  test/fallback-resolution.c |    3 +--
8988  test/xlib-surface.c        |    4 ++--
8989  6 files changed, 19 insertions(+), 12 deletions(-)
8990
8991 commit 2a91d425088cb8a93de76f2f91f32a7f23f0aecd
8992 Author: Benjamin Otte <otte@redhat.com>
8993 Date:   Wed Apr 28 12:26:29 2010 +0200
8994
8995     fallback: Fix clip_region handling in mask creation
8996     
8997     Fixes the xlib-expose-event test.
8998
8999  src/cairo-surface-fallback.c |   16 +++++++++++++++-
9000  1 file changed, 15 insertions(+), 1 deletion(-)
9001
9002 commit bb853916f3581af13cc1abff185ef5e0218f9f1e
9003 Author: Chris Wilson <chris@chris-wilson.co.uk>
9004 Date:   Wed Apr 28 11:37:59 2010 +0100
9005
9006     image: Generate clear/white/black images when !HAS_ATOMIC_OPS
9007     
9008     Andrea reported that b74cc0f broke compilation without atomic ops.
9009
9010  src/cairo-image-surface.c |   10 ++++++++++
9011  1 file changed, 10 insertions(+)
9012
9013 commit 45d4c6e0b2fe62a3c6f1fdb7f359c9771111b470
9014 Author: Chris Wilson <chris@chris-wilson.co.uk>
9015 Date:   Wed Apr 28 10:01:06 2010 +0100
9016
9017     script: Replace the missing " " after pop
9018     
9019     I accidentally deleted the whitespace after popping the recording
9020     surface, thus causing the scripts to be broken.
9021
9022  src/cairo-script-surface.c |    2 +-
9023  1 file changed, 1 insertion(+), 1 deletion(-)
9024
9025 commit 6a99e83c50d715ba1e47aa5c7be714a423568e57
9026 Author: Chris Wilson <chris@chris-wilson.co.uk>
9027 Date:   Wed Apr 28 09:55:20 2010 +0100
9028
9029     subsurface: Mark the image as !clear after copying.
9030
9031  src/cairo-surface-subsurface.c |   22 ++++++++++++----------
9032  1 file changed, 12 insertions(+), 10 deletions(-)
9033
9034 commit ca3df75e8f876991f2dc9e85c9daa3fd96e826d2
9035 Author: Chris Wilson <chris@chris-wilson.co.uk>
9036 Date:   Wed Apr 28 09:54:56 2010 +0100
9037
9038     script: Reconstruct subsurfaces.
9039
9040  src/cairo-script-surface.c |   84 ++++++++++++++++++++++++++++++--------------
9041  1 file changed, 58 insertions(+), 26 deletions(-)
9042
9043 commit 0f0d349a400e097856e6d9863e66c0a041e65c35
9044 Author: Chris Wilson <chris@chris-wilson.co.uk>
9045 Date:   Wed Apr 28 09:54:37 2010 +0100
9046
9047     trace: Wrap cairo_surface_create_for_region()
9048
9049  util/cairo-script/cairo-script-operators.c |   33 +++++++++++++++++++++++++
9050  util/cairo-trace/trace.c                   |   36 ++++++++++++++++++++++++++++
9051  2 files changed, 69 insertions(+)
9052
9053 commit 80fc2a8e49aa6ab4646b14eed9a4cf348a9149b4
9054 Author: Chris Wilson <chris@chris-wilson.co.uk>
9055 Date:   Wed Apr 28 09:50:49 2010 +0100
9056
9057     test: Expand xlib-expose-event to cover all backends
9058     
9059     Use a similar surface to create an equivalent backing surface for
9060     any backend, thus enabling the test to run against any target.
9061     
9062     The comment about forcing fallbacks has long since been false.
9063
9064  test/xlib-expose-event.c |   76 ++++++----------------------------------------
9065  1 file changed, 9 insertions(+), 67 deletions(-)
9066
9067 commit d3c4349730be991db0c85094103c744fc2d94836
9068 Author: Chris Wilson <chris@chris-wilson.co.uk>
9069 Date:   Tue Apr 27 21:04:52 2010 +0100
9070
9071     test: Mark surfaces as finished if the data goes out of scope.
9072     
9073     The issue being that as the on-stack data is being referenced via a
9074     zero-copy snapshot outside of the functions scope as the surface is only
9075     finished and the source written long after the draw() returns. The
9076     correct procedure is that the user must call cairo_surface_finish()
9077     prior to any surface becoming inaccessible. In this case, this triggers
9078     the snapshot to preserve a copy of the data whilst it is still valid.
9079
9080  test/bilevel-image.c                   |    4 +++-
9081  test/filter-nearest-offset.c           |    1 +
9082  test/mask-ctm.c                        |    4 +++-
9083  test/mask-surface-ctm.c                |    1 +
9084  test/move-to-show-surface.c            |    2 ++
9085  test/paint-repeat.c                    |    1 +
9086  test/paint-source-alpha.c              |    1 +
9087  test/paint-with-alpha.c                |    1 +
9088  test/rgb24-ignore-alpha.c              |    1 +
9089  test/scale-down-source-surface-paint.c |    1 +
9090  test/scale-source-surface-paint.c      |    1 +
9091  test/set-source.c                      |    1 +
9092  test/smask-image-mask.c                |    4 +++-
9093  test/smask.c                           |    4 +++-
9094  test/source-surface-scale-paint.c      |    1 +
9095  test/translate-show-surface.c          |    1 +
9096  test/zero-alpha.c                      |    1 +
9097  17 files changed, 26 insertions(+), 4 deletions(-)
9098
9099 commit a5f54e48e3136076f3c8c60fc068f6a2105d9a33
9100 Author: Chris Wilson <chris@chris-wilson.co.uk>
9101 Date:   Tue Apr 27 21:05:22 2010 +0100
9102
9103     snapshot: The snapshot masquerades as the target surface type.
9104     
9105     Not wholly convinced this is a good idea, but it matches the behaviour
9106     of the other internal surface types.
9107
9108  src/cairo-surface-snapshot.c |    2 ++
9109  1 file changed, 2 insertions(+)
9110
9111 commit 4a678afdf73d6f7b2b8a532ac7024976702c8aac
9112 Author: Chris Wilson <chris@chris-wilson.co.uk>
9113 Date:   Tue Apr 27 18:57:56 2010 +0100
9114
9115     snapshot: Simply memcpy if the cloned image matches the original.
9116
9117  src/cairo-surface-snapshot.c |   16 ++++++++++------
9118  1 file changed, 10 insertions(+), 6 deletions(-)
9119
9120 commit b74cc0f6d5b71295c70d4c29e24ab252175f9a5b
9121 Author: Chris Wilson <chris@chris-wilson.co.uk>
9122 Date:   Tue Apr 27 18:57:00 2010 +0100
9123
9124     image: Convert 1x1 samples into solid colors.
9125     
9126     If the sampled extents of the operation on an image surface is just a
9127     single pixel, we can safely convert to a solid color.
9128
9129  src/cairo-image-surface.c |  161 ++++++++++++++++++++++++++++++++++++++-------
9130  1 file changed, 136 insertions(+), 25 deletions(-)
9131
9132 commit f5cf131a9d8984bd6b3403396beed2ffbc26bded
9133 Author: Chris Wilson <chris@chris-wilson.co.uk>
9134 Date:   Tue Apr 27 18:56:23 2010 +0100
9135
9136     surface: skip OVER is the source is clear.
9137     
9138     If the source has no alpha, the OVER operation becomes DST, i.e. a
9139     no-op.
9140
9141  src/cairo-surface.c |   24 ++++++++++++++++++++++++
9142  1 file changed, 24 insertions(+)
9143
9144 commit 453b1cba11f71694cfe0c3d934ac1f5aabda67fd
9145 Author: Chris Wilson <chris@chris-wilson.co.uk>
9146 Date:   Tue Apr 27 16:47:31 2010 +0100
9147
9148     test: Update image ref images, and used fonts in README
9149
9150  test/Makefile.am                            |    2 +-
9151  test/README                                 |    6 +++---
9152  test/finer-grained-fallbacks.argb32.ref.png |  Bin 0 -> 1068 bytes
9153  test/finer-grained-fallbacks.ref.png        |  Bin 1070 -> 0 bytes
9154  test/finer-grained-fallbacks.rgb24.ref.png  |  Bin 839 -> 837 bytes
9155  test/ft-text-vertical-layout-type1.ref.png  |  Bin 3644 -> 3591 bytes
9156  test/ft-text-vertical-layout-type3.ref.png  |  Bin 3608 -> 3616 bytes
9157  test/mask-glyphs.ref.png                    |  Bin 1189352 -> 1189351 bytes
9158  test/smask-text.ref.png                     |  Bin 1874 -> 1672 bytes
9159  test/smask.ref.png                          |  Bin 3423 -> 3396 bytes
9160  10 files changed, 4 insertions(+), 4 deletions(-)
9161
9162 commit 70656bba81e01eaf7b48817b2ca16fdf6d0b4bd5
9163 Author: Chris Wilson <chris@chris-wilson.co.uk>
9164 Date:   Tue Apr 27 14:19:22 2010 +0100
9165
9166     test: Add image16 refs
9167
9168  test/Makefile.am                                   |  144 ++++++++++++++++++++
9169  test/big-line.image16.ref.png                      |  Bin 0 -> 988 bytes
9170  test/bug-bo-rectangular.image16.ref.png            |  Bin 0 -> 955 bytes
9171  test/caps-joins-alpha.image16.ref.png              |  Bin 0 -> 2268 bytes
9172  test/caps-joins-curve.image16.ref.png              |  Bin 0 -> 4928 bytes
9173  test/caps-joins.image16.ref.png                    |  Bin 0 -> 2587 bytes
9174  test/caps-sub-paths.image16.ref.png                |  Bin 0 -> 171 bytes
9175  test/caps.image16.ref.png                          |  Bin 0 -> 1936 bytes
9176  test/clear-source.image16.ref.png                  |  Bin 0 -> 909 bytes
9177  test/clip-disjoint.image16.ref.png                 |  Bin 0 -> 3886 bytes
9178  test/clip-fill-no-op.image16.ref.png               |  Bin 0 -> 153 bytes
9179  test/clip-fill-rule.image16.ref.png                |  Bin 0 -> 356 bytes
9180  test/clip-fill-unbounded.image16.ref.png           |  Bin 0 -> 1204 bytes
9181  test/clip-fill.image16.ref.png                     |  Bin 0 -> 904 bytes
9182  test/clip-image.image16.ref.png                    |  Bin 0 -> 2032 bytes
9183  test/clip-operator.image16.ref.png                 |  Bin 0 -> 3131 bytes
9184  test/clip-push-group.image16.ref.png               |  Bin 0 -> 159 bytes
9185  test/clip-shape.image16.ref.png                    |  Bin 0 -> 2488 bytes
9186  test/clip-stroke-no-op.image16.ref.png             |  Bin 0 -> 153 bytes
9187  test/clip-stroke-unbounded.image16.ref.png         |  Bin 0 -> 1255 bytes
9188  test/clip-stroke.image16.ref.png                   |  Bin 0 -> 1308 bytes
9189  test/clip-text.image16.ref.png                     |  Bin 0 -> 811 bytes
9190  test/clip-twice.image16.ref.png                    |  Bin 0 -> 1069 bytes
9191  test/clipped-group.image16.ref.png                 |  Bin 0 -> 281 bytes
9192  test/clipped-surface.image16.ref.png               |  Bin 0 -> 296 bytes
9193  test/close-path-current-point.image16.ref.png      |  Bin 0 -> 1804 bytes
9194  ...omposite-integer-translate-over.image16.ref.png |  Bin 0 -> 11570 bytes
9195  ...posite-integer-translate-source.image16.ref.png |  Bin 0 -> 11570 bytes
9196  test/copy-path.image16.ref.png                     |  Bin 0 -> 556 bytes
9197  test/culled-glyphs.image16.ref.png                 |  Bin 0 -> 426 bytes
9198  test/dash-caps-joins.image16.ref.png               |  Bin 0 -> 4491 bytes
9199  test/dash-curve.image16.ref.png                    |  Bin 0 -> 32445 bytes
9200  test/dash-scale.image16.ref.png                    |  Bin 0 -> 7748 bytes
9201  test/dash-state.image16.ref.png                    |  Bin 0 -> 7910 bytes
9202  test/degenerate-arc.image16.ref.png                |  Bin 0 -> 592 bytes
9203  test/degenerate-arcs.image16.ref.png               |  Bin 0 -> 120 bytes
9204  test/degenerate-curve-to.image16.ref.png           |  Bin 0 -> 278 bytes
9205  test/degenerate-pen.image16.ref.png                |  Bin 0 -> 954 bytes
9206  test/degenerate-rel-curve-to.image16.ref.png       |  Bin 0 -> 279 bytes
9207  test/extend-pad-border.image16.ref.png             |  Bin 0 -> 446 bytes
9208  test/extend-reflect-similar.image16.ref.png        |  Bin 0 -> 99786 bytes
9209  test/extend-reflect.image16.ref.png                |  Bin 0 -> 99786 bytes
9210  test/extend-repeat-similar.image16.ref.png         |  Bin 0 -> 83738 bytes
9211  test/extend-repeat.image16.ref.png                 |  Bin 0 -> 83738 bytes
9212  test/extended-blend-alpha.image16.ref.png          |  Bin 0 -> 4626 bytes
9213  test/extended-blend.image16.ref.png                |  Bin 0 -> 4145 bytes
9214  test/fill-alpha-pattern.image16.ref.png            |  Bin 0 -> 3380 bytes
9215  test/fill-alpha.image16.ref.png                    |  Bin 0 -> 2145 bytes
9216  test/fill-and-stroke-alpha-add.image16.ref.png     |  Bin 0 -> 536 bytes
9217  test/fill-and-stroke-alpha.image16.ref.png         |  Bin 0 -> 470 bytes
9218  test/fill-and-stroke.image16.ref.png               |  Bin 0 -> 251 bytes
9219  test/fill-degenerate-sort-order.image16.ref.png    |  Bin 0 -> 1753 bytes
9220  test/fill-image.image16.ref.png                    |  Bin 0 -> 1163 bytes
9221  test/fill-rule.image16.ref.png                     |  Bin 0 -> 1625 bytes
9222  test/filter-bilinear-extents.image16.ref.png       |  Bin 0 -> 895 bytes
9223  test/filter-nearest-transformed.image16.ref.png    |  Bin 0 -> 418 bytes
9224  test/finer-grained-fallbacks.image16.ref.png       |  Bin 0 -> 862 bytes
9225  test/font-matrix-translation.image16.ref.png       |  Bin 0 -> 852 bytes
9226  test/ft-show-glyphs-positioning.image16.ref.png    |  Bin 0 -> 2772 bytes
9227  test/ft-show-glyphs-table.image16.ref.png          |  Bin 0 -> 8052 bytes
9228  test/ft-text-vertical-layout-type1.image16.ref.png |  Bin 0 -> 3072 bytes
9229  test/ft-text-vertical-layout-type3.image16.ref.png |  Bin 0 -> 3141 bytes
9230  test/glyph-cache-pressure.image16.ref.png          |  Bin 0 -> 2453 bytes
9231  test/group-clip.image16.ref.png                    |  Bin 0 -> 193 bytes
9232  test/group-unaligned.image16.ref.png               |  Bin 0 -> 395 bytes
9233  test/huge-linear.image16.ref.png                   |  Bin 0 -> 1542 bytes
9234  test/huge-radial.image16.ref.png                   |  Bin 0 -> 17893 bytes
9235  test/image-surface-source.image16.ref.png          |  Bin 0 -> 305 bytes
9236  test/joins.image16.ref.png                         |  Bin 0 -> 5858 bytes
9237  test/large-font.image16.ref.png                    |  Bin 0 -> 5713 bytes
9238  test/large-twin-antialias-mixed.image16.ref.png    |  Bin 0 -> 14398 bytes
9239  test/leaky-dashed-rectangle.image16.ref.png        |  Bin 0 -> 367 bytes
9240  test/leaky-dashed-stroke.image16.ref.png           |  Bin 0 -> 8089 bytes
9241  test/leaky-polygon.image16.ref.png                 |  Bin 0 -> 329 bytes
9242  test/line-width-scale.image16.ref.png              |  Bin 0 -> 4721 bytes
9243  test/linear-gradient-reflect.image16.ref.png       |  Bin 0 -> 190 bytes
9244  test/linear-gradient-subset.image16.ref.png        |  Bin 0 -> 791 bytes
9245  test/linear-gradient.image16.ref.png               |  Bin 0 -> 941 bytes
9246  test/linear-uniform.image16.ref.png                |  Bin 0 -> 131 bytes
9247  test/long-dashed-lines.image16.ref.png             |  Bin 0 -> 1974 bytes
9248  test/mask-alpha.image16.ref.png                    |  Bin 0 -> 560 bytes
9249  test/mask-glyphs.image16.ref.png                   |  Bin 0 -> 1053144 bytes
9250  test/mask-transformed-image.image16.ref.png        |  Bin 0 -> 2748 bytes
9251  test/mask-transformed-similar.image16.ref.png      |  Bin 0 -> 2748 bytes
9252  test/mask.image16.ref.png                          |  Bin 0 -> 5533 bytes
9253  test/operator-alpha-alpha.image16.ref.png          |  Bin 0 -> 4140 bytes
9254  test/operator-source.image16.ref.png               |  Bin 0 -> 2756 bytes
9255  test/over-around-source.image16.ref.png            |  Bin 0 -> 491 bytes
9256  test/paint-source-alpha.image16.ref.png            |  Bin 0 -> 253 bytes
9257  test/paint-with-alpha.image16.ref.png              |  Bin 0 -> 253 bytes
9258  test/path-append.image16.ref.png                   |  Bin 0 -> 5252 bytes
9259  test/path-stroke-twice.image16.ref.png             |  Bin 0 -> 210 bytes
9260  test/pdf-surface-source.image16.ref.png            |  Bin 0 -> 305 bytes
9261  test/ps-surface-source.image16.ref.png             |  Bin 0 -> 305 bytes
9262  test/pthread-same-source.image16.ref.png           |  Bin 0 -> 1007 bytes
9263  test/push-group-color.image16.ref.png              |  Bin 0 -> 2277 bytes
9264  test/push-group.image16.ref.png                    |  Bin 0 -> 2286 bytes
9265  test/radial-gradient-source.image16.ref.png        |  Bin 0 -> 132037 bytes
9266  test/radial-gradient.image16.ref.png               |  Bin 0 -> 202415 bytes
9267  .../random-intersections-curves-eo.image16.ref.png |  Bin 0 -> 181565 bytes
9268  .../random-intersections-curves-nz.image16.ref.png |  Bin 0 -> 204090 bytes
9269  test/random-intersections-eo.image16.ref.png       |  Bin 0 -> 97747 bytes
9270  test/random-intersections-nonzero.image16.ref.png  |  Bin 0 -> 107644 bytes
9271  test/recording-surface-pattern.image16.ref.png     |  Bin 0 -> 2856 bytes
9272  test/reflected-stroke.image16.ref.png              |  Bin 0 -> 4254 bytes
9273  test/rotated-clip.image16.ref.png                  |  Bin 0 -> 3336 bytes
9274  test/rounded-rectangle-fill.image16.ref.png        |  Bin 0 -> 730 bytes
9275  test/rounded-rectangle-stroke.image16.ref.png      |  Bin 0 -> 732 bytes
9276  test/scale-offset-image.image16.ref.png            |  Bin 0 -> 7793 bytes
9277  test/scale-offset-similar.image16.ref.png          |  Bin 0 -> 7793 bytes
9278  test/select-font-face.image16.ref.png              |  Bin 0 -> 1962 bytes
9279  test/show-text-current-point.image16.ref.png       |  Bin 0 -> 1932 bytes
9280  test/smask-fill.image16.ref.png                    |  Bin 0 -> 925 bytes
9281  test/smask-mask.image16.ref.png                    |  Bin 0 -> 1358 bytes
9282  test/smask-paint.image16.ref.png                   |  Bin 0 -> 1469 bytes
9283  test/smask-stroke.image16.ref.png                  |  Bin 0 -> 1330 bytes
9284  test/smask-text.image16.ref.png                    |  Bin 0 -> 1206 bytes
9285  test/smask.image16.ref.png                         |  Bin 0 -> 2213 bytes
9286  test/spline-decomposition.image16.ref.png          |  Bin 0 -> 14064 bytes
9287  test/stroke-ctm-caps.image16.ref.png               |  Bin 0 -> 908 bytes
9288  test/stroke-image.image16.ref.png                  |  Bin 0 -> 1167 bytes
9289  test/subsurface.image16.ref.png                    |  Bin 0 -> 1430 bytes
9290  test/surface-pattern-operator.image16.ref.png      |  Bin 0 -> 1977 bytes
9291  test/surface-pattern-scale-down.image16.ref.png    |  Bin 0 -> 1313 bytes
9292  test/surface-pattern-scale-up.image16.ref.png      |  Bin 0 -> 3864 bytes
9293  test/surface-pattern.image16.ref.png               |  Bin 0 -> 11870 bytes
9294  test/svg-surface-source.image16.ref.png            |  Bin 0 -> 305 bytes
9295  test/text-antialias-gray.image16.ref.png           |  Bin 0 -> 895 bytes
9296  test/text-antialias-subpixel.image16.ref.png       |  Bin 0 -> 866 bytes
9297  test/text-glyph-range.image16.ref.png              |  Bin 0 -> 1731 bytes
9298  test/text-rotate.image16.ref.png                   |  Bin 0 -> 12599 bytes
9299  test/text-transform.image16.ref.png                |  Bin 0 -> 4469 bytes
9300  test/transforms.image16.ref.png                    |  Bin 0 -> 326 bytes
9301  test/trap-clip.image16.ref.png                     |  Bin 0 -> 4344 bytes
9302  test/twin-antialias-gray.image16.ref.png           |  Bin 0 -> 3005 bytes
9303  test/twin-antialias-mixed.image16.ref.png          |  Bin 0 -> 2049 bytes
9304  test/twin-antialias-subpixel.image16.ref.png       |  Bin 0 -> 3005 bytes
9305  test/twin.image16.ref.png                          |  Bin 0 -> 3005 bytes
9306  test/unbounded-operator.image16.ref.png            |  Bin 0 -> 1276 bytes
9307  test/user-font-mask.image16.ref.png                |  Bin 0 -> 4948 bytes
9308  test/user-font-proxy.image16.ref.png               |  Bin 0 -> 14460 bytes
9309  test/user-font-rescale.image16.ref.png             |  Bin 0 -> 12590 bytes
9310  test/user-font.image16.ref.png                     |  Bin 0 -> 5814 bytes
9311  test/xcomposite-projection.image16.ref.png         |  Bin 0 -> 1000 bytes
9312  test/xlib-surface-source.image16.ref.png           |  Bin 0 -> 305 bytes
9313  145 files changed, 144 insertions(+)
9314
9315 commit ebe6f2ac6988991afde0d685bea9f207ed3360d8
9316 Author: Andrea Canciani <ranma42@gmail.com>
9317 Date:   Tue Apr 27 10:59:09 2010 +0200
9318
9319     quartz: Assert success of path creation
9320     
9321     Path creation can only fail because of the callbacks, but in quartz
9322     they all return CAIRO_STATUS_SUCCESS. Therefore we can just assert
9323     that path creation was successful and simplify calling functions
9324     (as they don't have to handle potential errors anymore).
9325
9326  src/cairo-quartz-surface.c |   35 +++++++++++++++--------------------
9327  1 file changed, 15 insertions(+), 20 deletions(-)
9328
9329 commit f67b6009278ef3dfe91ddbffb989dcfeed174352
9330 Author: Andrea Canciani <ranma42@gmail.com>
9331 Date:   Sun Apr 4 11:50:41 2010 +0200
9332
9333     quartz: Simplify path creation
9334     
9335     If paths are created before changing the ctm (when stroking) no
9336     multiplication is needed in the path construction code.
9337
9338  src/cairo-quartz-surface.c |   60 ++++++++------------------------------------
9339  1 file changed, 10 insertions(+), 50 deletions(-)
9340
9341 commit 3b2ceff0502ba409c161e497ebe015e0a0a88847
9342 Author: Andrea Canciani <ranma42@gmail.com>
9343 Date:   Wed Apr 7 18:34:25 2010 +0200
9344
9345     quartz: Stroke without ctm_inverse multiplication
9346     
9347     If the CTM is not changed before creating the path, no multiplication
9348     needs to be made between points and the inverse of the CTM.
9349
9350  src/cairo-quartz-surface.c |   10 +++++-----
9351  1 file changed, 5 insertions(+), 5 deletions(-)
9352
9353 commit 514d366cde689f8200b049834bebbd421d5d8bcb
9354 Author: Chris Wilson <chris@chris-wilson.co.uk>
9355 Date:   Tue Apr 27 11:07:09 2010 +0100
9356
9357     snapshot: propagate status on finish
9358
9359  src/cairo-surface-snapshot.c |   11 ++++++++---
9360  1 file changed, 8 insertions(+), 3 deletions(-)
9361
9362 commit a505104013a1db0c8b1092c8a1848d7f0b02e6bc
9363 Author: Chris Wilson <chris@chris-wilson.co.uk>
9364 Date:   Mon Apr 26 20:22:13 2010 +0100
9365
9366     image: Compute sample extents
9367     
9368     In order to reuse the original image as the pixman pattern, then the
9369     entire operation must be wholly contained within the extents of the
9370     image (including subsurfaces) and be reducible to an untransformed
9371     REPEAT_NONE.
9372
9373  src/cairo-image-surface.c |   72 +++++++++++++++++++++++++++++----------------
9374  src/cairo-pattern.c       |    2 +-
9375  src/cairoint.h            |    4 +++
9376  3 files changed, 52 insertions(+), 26 deletions(-)
9377
9378 commit b8a7f8621a84083735d0e2c8748f5fa2b7f4b36a
9379 Author: Andrea Canciani <ranma42@gmail.com>
9380 Date:   Tue Apr 27 10:17:23 2010 +0200
9381
9382     Update FSF address
9383     
9384     I updated the Free Software Foundation address using the following script.
9385     
9386     for i in $(git grep Temple | cut -d: -f1 )
9387     do
9388       sed -e 's/59 Temple Place[, -]* Suite 330, Boston, MA *02111-1307[, ]* USA/51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA/' -i "$i"
9389     done
9390     
9391     Fixes http://bugs.freedesktop.org/show_bug.cgi?id=21356
9392
9393  COPYING-LGPL-2.1                               |    4 ++--
9394  boilerplate/cairo-boilerplate-drm.c            |    2 +-
9395  boilerplate/cairo-boilerplate-gl.c             |    2 +-
9396  boilerplate/cairo-boilerplate-qt.cpp           |    2 +-
9397  boilerplate/cairo-boilerplate-vg.c             |    2 +-
9398  build/aclocal.pkg.m4                           |    2 +-
9399  doc/tutorial/src/include/cairo-tutorial-gtk.h  |    2 +-
9400  doc/tutorial/src/include/cairo-tutorial-pdf.h  |    2 +-
9401  doc/tutorial/src/include/cairo-tutorial-png.h  |    2 +-
9402  doc/tutorial/src/include/cairo-tutorial-xlib.h |    2 +-
9403  doc/tutorial/src/include/cairo-tutorial.h      |    2 +-
9404  src/cairo-analysis-surface-private.h           |    2 +-
9405  src/cairo-analysis-surface.c                   |    2 +-
9406  src/cairo-arc-private.h                        |    2 +-
9407  src/cairo-arc.c                                |    2 +-
9408  src/cairo-array.c                              |    2 +-
9409  src/cairo-atomic-private.h                     |    2 +-
9410  src/cairo-atomic.c                             |    2 +-
9411  src/cairo-base64-stream.c                      |    2 +-
9412  src/cairo-base85-stream.c                      |    2 +-
9413  src/cairo-bentley-ottmann-rectangular.c        |    2 +-
9414  src/cairo-bentley-ottmann-rectilinear.c        |    2 +-
9415  src/cairo-bentley-ottmann.c                    |    2 +-
9416  src/cairo-beos-surface.cpp                     |    2 +-
9417  src/cairo-beos.h                               |    2 +-
9418  src/cairo-botor-scan-converter.c               |    2 +-
9419  src/cairo-boxes-private.h                      |    2 +-
9420  src/cairo-boxes.c                              |    2 +-
9421  src/cairo-cache-private.h                      |    2 +-
9422  src/cairo-cache.c                              |    2 +-
9423  src/cairo-cff-subset.c                         |    2 +-
9424  src/cairo-clip-private.h                       |    2 +-
9425  src/cairo-clip.c                               |    2 +-
9426  src/cairo-color.c                              |    2 +-
9427  src/cairo-combsort-private.h                   |    2 +-
9428  src/cairo-compiler-private.h                   |    2 +-
9429  src/cairo-composite-rectangles-private.h       |    2 +-
9430  src/cairo-composite-rectangles.c               |    2 +-
9431  src/cairo-debug.c                              |    2 +-
9432  src/cairo-deflate-stream.c                     |    2 +-
9433  src/cairo-deprecated.h                         |    2 +-
9434  src/cairo-device-private.h                     |    2 +-
9435  src/cairo-device.c                             |    2 +-
9436  src/cairo-directfb-surface.c                   |    2 +-
9437  src/cairo-directfb.h                           |    2 +-
9438  src/cairo-drm.h                                |    2 +-
9439  src/cairo-egl-context.c                        |    2 +-
9440  src/cairo-error-private.h                      |    2 +-
9441  src/cairo-fixed-private.h                      |    2 +-
9442  src/cairo-fixed-type-private.h                 |    2 +-
9443  src/cairo-fixed.c                              |    2 +-
9444  src/cairo-font-face-twin.c                     |    2 +-
9445  src/cairo-font-face.c                          |    2 +-
9446  src/cairo-font-options.c                       |    2 +-
9447  src/cairo-freed-pool-private.h                 |    2 +-
9448  src/cairo-freed-pool.c                         |    2 +-
9449  src/cairo-ft-font.c                            |    2 +-
9450  src/cairo-ft-private.h                         |    2 +-
9451  src/cairo-ft.h                                 |    2 +-
9452  src/cairo-gl-glyphs.c                          |    2 +-
9453  src/cairo-gl-private.h                         |    2 +-
9454  src/cairo-gl-shaders.c                         |    2 +-
9455  src/cairo-gl-surface.c                         |    2 +-
9456  src/cairo-gl.h                                 |    2 +-
9457  src/cairo-glx-context.c                        |    2 +-
9458  src/cairo-gstate-private.h                     |    2 +-
9459  src/cairo-gstate.c                             |    2 +-
9460  src/cairo-hash-private.h                       |    2 +-
9461  src/cairo-hash.c                               |    2 +-
9462  src/cairo-hull.c                               |    2 +-
9463  src/cairo-image-info-private.h                 |    2 +-
9464  src/cairo-image-info.c                         |    2 +-
9465  src/cairo-image-surface.c                      |    2 +-
9466  src/cairo-list-private.h                       |    2 +-
9467  src/cairo-lzw.c                                |    2 +-
9468  src/cairo-malloc-private.h                     |    2 +-
9469  src/cairo-matrix.c                             |    2 +-
9470  src/cairo-misc.c                               |    2 +-
9471  src/cairo-mutex-impl-private.h                 |    2 +-
9472  src/cairo-mutex-list-private.h                 |    2 +-
9473  src/cairo-mutex-private.h                      |    2 +-
9474  src/cairo-mutex-type-private.h                 |    2 +-
9475  src/cairo-mutex.c                              |    2 +-
9476  src/cairo-os2-private.h                        |    2 +-
9477  src/cairo-os2-surface.c                        |    2 +-
9478  src/cairo-os2.h                                |    2 +-
9479  src/cairo-output-stream-private.h              |    2 +-
9480  src/cairo-output-stream.c                      |    2 +-
9481  src/cairo-paginated-private.h                  |    2 +-
9482  src/cairo-paginated-surface-private.h          |    2 +-
9483  src/cairo-paginated-surface.c                  |    2 +-
9484  src/cairo-path-bounds.c                        |    2 +-
9485  src/cairo-path-fill.c                          |    2 +-
9486  src/cairo-path-fixed-private.h                 |    2 +-
9487  src/cairo-path-fixed.c                         |    2 +-
9488  src/cairo-path-in-fill.c                       |    2 +-
9489  src/cairo-path-private.h                       |    2 +-
9490  src/cairo-path-stroke.c                        |    2 +-
9491  src/cairo-path.c                               |    2 +-
9492  src/cairo-pdf-operators-private.h              |    2 +-
9493  src/cairo-pdf-operators.c                      |    2 +-
9494  src/cairo-pdf-surface-private.h                |    2 +-
9495  src/cairo-pdf-surface.c                        |    2 +-
9496  src/cairo-pdf.h                                |    2 +-
9497  src/cairo-pen.c                                |    2 +-
9498  src/cairo-png.c                                |    2 +-
9499  src/cairo-polygon.c                            |    2 +-
9500  src/cairo-private.h                            |    2 +-
9501  src/cairo-ps-surface-private.h                 |    2 +-
9502  src/cairo-ps-surface.c                         |    2 +-
9503  src/cairo-ps.h                                 |    2 +-
9504  src/cairo-qt-surface.cpp                       |    2 +-
9505  src/cairo-qt.h                                 |    2 +-
9506  src/cairo-quartz-font.c                        |    2 +-
9507  src/cairo-quartz-image-surface.c               |    2 +-
9508  src/cairo-quartz-image.h                       |    2 +-
9509  src/cairo-quartz-private.h                     |    2 +-
9510  src/cairo-quartz-surface.c                     |    2 +-
9511  src/cairo-quartz.h                             |    2 +-
9512  src/cairo-recording-surface-private.h          |    2 +-
9513  src/cairo-recording-surface.c                  |    2 +-
9514  src/cairo-rectangle.c                          |    2 +-
9515  src/cairo-rectangular-scan-converter.c         |    2 +-
9516  src/cairo-reference-count-private.h            |    2 +-
9517  src/cairo-region-private.h                     |    2 +-
9518  src/cairo-region.c                             |    2 +-
9519  src/cairo-rtree-private.h                      |    2 +-
9520  src/cairo-rtree.c                              |    2 +-
9521  src/cairo-scaled-font-private.h                |    2 +-
9522  src/cairo-scaled-font-subsets-private.h        |    2 +-
9523  src/cairo-scaled-font-subsets.c                |    2 +-
9524  src/cairo-scaled-font.c                        |    2 +-
9525  src/cairo-script-surface.c                     |    2 +-
9526  src/cairo-script.h                             |    2 +-
9527  src/cairo-skia-surface.cpp                     |    2 +-
9528  src/cairo-skia.h                               |    2 +-
9529  src/cairo-slope-private.h                      |    2 +-
9530  src/cairo-slope.c                              |    2 +-
9531  src/cairo-spline.c                             |    2 +-
9532  src/cairo-stroke-style.c                       |    2 +-
9533  src/cairo-surface-clipper-private.h            |    2 +-
9534  src/cairo-surface-clipper.c                    |    2 +-
9535  src/cairo-surface-fallback-private.h           |    2 +-
9536  src/cairo-surface-fallback.c                   |    2 +-
9537  src/cairo-surface-offset-private.h             |    2 +-
9538  src/cairo-surface-offset.c                     |    2 +-
9539  src/cairo-surface-private.h                    |    2 +-
9540  src/cairo-surface-snapshot-private.h           |    2 +-
9541  src/cairo-surface-snapshot.c                   |    2 +-
9542  src/cairo-surface-subsurface-private.h         |    2 +-
9543  src/cairo-surface-subsurface.c                 |    2 +-
9544  src/cairo-surface-wrapper-private.h            |    2 +-
9545  src/cairo-surface-wrapper.c                    |    2 +-
9546  src/cairo-surface.c                            |    2 +-
9547  src/cairo-svg-surface-private.h                |    2 +-
9548  src/cairo-svg-surface.c                        |    2 +-
9549  src/cairo-svg.h                                |    2 +-
9550  src/cairo-system.c                             |    2 +-
9551  src/cairo-tee-surface-private.h                |    2 +-
9552  src/cairo-tee-surface.c                        |    2 +-
9553  src/cairo-toy-font-face.c                      |    2 +-
9554  src/cairo-traps.c                              |    2 +-
9555  src/cairo-truetype-subset-private.h            |    2 +-
9556  src/cairo-truetype-subset.c                    |    2 +-
9557  src/cairo-type1-fallback.c                     |    2 +-
9558  src/cairo-type1-private.h                      |    2 +-
9559  src/cairo-type1-subset.c                       |    2 +-
9560  src/cairo-type3-glyph-surface-private.h        |    2 +-
9561  src/cairo-type3-glyph-surface.c                |    2 +-
9562  src/cairo-types-private.h                      |    2 +-
9563  src/cairo-unicode.c                            |    2 +-
9564  src/cairo-user-font-private.h                  |    2 +-
9565  src/cairo-user-font.c                          |    2 +-
9566  src/cairo-version.c                            |    2 +-
9567  src/cairo-vg-surface.c                         |    2 +-
9568  src/cairo-vg.h                                 |    2 +-
9569  src/cairo-wideint-private.h                    |    2 +-
9570  src/cairo-wideint-type-private.h               |    2 +-
9571  src/cairo-wideint.c                            |    2 +-
9572  src/cairo-win32-font.c                         |    2 +-
9573  src/cairo-win32-printing-surface.c             |    2 +-
9574  src/cairo-win32-private.h                      |    2 +-
9575  src/cairo-win32-surface.c                      |    2 +-
9576  src/cairo-win32.h                              |    2 +-
9577  src/cairo-xcb-connection-core.c                |    2 +-
9578  src/cairo-xcb-connection-render.c              |    2 +-
9579  src/cairo-xcb-connection-shm.c                 |    2 +-
9580  src/cairo-xcb-connection.c                     |    2 +-
9581  src/cairo-xcb-private.h                        |    2 +-
9582  src/cairo-xcb-screen.c                         |    2 +-
9583  src/cairo-xcb-shm.c                            |    2 +-
9584  src/cairo-xcb-surface-cairo.c                  |    2 +-
9585  src/cairo-xcb-surface-core.c                   |    2 +-
9586  src/cairo-xcb-surface-private.h                |    2 +-
9587  src/cairo-xcb-surface-render.c                 |    2 +-
9588  src/cairo-xcb-surface.c                        |    2 +-
9589  src/cairo-xcb.h                                |    2 +-
9590  src/cairo-xlib-display.c                       |    2 +-
9591  src/cairo-xlib-private.h                       |    2 +-
9592  src/cairo-xlib-screen.c                        |    2 +-
9593  src/cairo-xlib-surface-private.h               |    2 +-
9594  src/cairo-xlib-surface.c                       |    2 +-
9595  src/cairo-xlib-visual.c                        |    2 +-
9596  src/cairo-xlib-xcb-surface.c                   |    2 +-
9597  src/cairo-xlib-xrender-private.h               |    2 +-
9598  src/cairo-xlib-xrender.h                       |    2 +-
9599  src/cairo-xlib.h                               |    2 +-
9600  src/cairo-xml-surface.c                        |    2 +-
9601  src/cairo-xml.h                                |    2 +-
9602  src/cairo.c                                    |    2 +-
9603  src/cairo.h                                    |    2 +-
9604  src/cairoint.h                                 |    2 +-
9605  src/drm/cairo-drm-bo.c                         |    2 +-
9606  src/drm/cairo-drm-gallium-surface.c            |    2 +-
9607  src/drm/cairo-drm-i915-glyphs.c                |    2 +-
9608  src/drm/cairo-drm-i915-shader.c                |    2 +-
9609  src/drm/cairo-drm-i915-spans.c                 |    2 +-
9610  src/drm/cairo-drm-i915-surface.c               |    2 +-
9611  src/drm/cairo-drm-i965-glyphs.c                |    2 +-
9612  src/drm/cairo-drm-i965-shader.c                |    2 +-
9613  src/drm/cairo-drm-i965-spans.c                 |    2 +-
9614  src/drm/cairo-drm-i965-surface.c               |    2 +-
9615  src/drm/cairo-drm-intel-ioctl-private.h        |    2 +-
9616  src/drm/cairo-drm-intel-private.h              |    2 +-
9617  src/drm/cairo-drm-intel-surface.c              |    2 +-
9618  src/drm/cairo-drm-intel.c                      |    2 +-
9619  src/drm/cairo-drm-private.h                    |    2 +-
9620  src/drm/cairo-drm-radeon-private.h             |    2 +-
9621  src/drm/cairo-drm-radeon-surface.c             |    2 +-
9622  src/drm/cairo-drm-radeon.c                     |    2 +-
9623  src/drm/cairo-drm-surface.c                    |    2 +-
9624  src/drm/cairo-drm.c                            |    2 +-
9625  src/test-fallback-surface.c                    |    2 +-
9626  src/test-fallback-surface.h                    |    2 +-
9627  src/test-fallback16-surface.c                  |    2 +-
9628  src/test-fallback16-surface.h                  |    2 +-
9629  src/test-null-surface.c                        |    2 +-
9630  src/test-null-surface.h                        |    2 +-
9631  src/test-paginated-surface.c                   |    2 +-
9632  src/test-paginated-surface.h                   |    2 +-
9633  src/test-wrapping-surface.c                    |    2 +-
9634  src/test-wrapping-surface.h                    |    2 +-
9635  test/dash-offset.c                             |    2 +-
9636  test/miter-precision.c                         |    2 +-
9637  test/operator-alpha-alpha.c                    |    2 +-
9638  test/pdiff/args.c                              |    2 +-
9639  test/pdiff/args.h                              |    2 +-
9640  test/pdiff/lpyramid.c                          |    2 +-
9641  test/pdiff/lpyramid.h                          |    2 +-
9642  test/pdiff/pdiff.c                             |    2 +-
9643  test/pdiff/pdiff.h                             |    2 +-
9644  test/pdiff/perceptualdiff.c                    |    2 +-
9645  util/backtrace-symbols.c                       |    2 +-
9646  util/cairo-script/cairo-script-file.c          |    2 +-
9647  util/cairo-script/cairo-script-hash.c          |    2 +-
9648  util/cairo-script/cairo-script-interpreter.c   |    2 +-
9649  util/cairo-script/cairo-script-interpreter.h   |    2 +-
9650  util/cairo-script/cairo-script-objects.c       |    2 +-
9651  util/cairo-script/cairo-script-operators.c     |    2 +-
9652  util/cairo-script/cairo-script-private.h       |    2 +-
9653  util/cairo-script/cairo-script-scanner.c       |    2 +-
9654  util/cairo-script/cairo-script-stack.c         |    2 +-
9655  262 files changed, 263 insertions(+), 263 deletions(-)
9656
9657 commit 9672aab6b7c3f1efc065a6e5eb69443a1ecaa723
9658 Author: Benjamin Otte <otte@redhat.com>
9659 Date:   Mon Apr 26 21:28:53 2010 +0200
9660
9661     tests: Integrate xlib-expose-event test into usual tests
9662     
9663     Previously the test was using the preamble vfunc and generating output
9664     itself. Now it uses the draw function and ignores any but the xlib
9665     backends.
9666
9667  test/xlib-expose-event.c |   63 +++++++++++-----------------------------------
9668  1 file changed, 15 insertions(+), 48 deletions(-)
9669
9670 commit 36e0a3d3a01f9962d97386ea2d3c60020e937a81
9671 Author: Chris Wilson <chris@chris-wilson.co.uk>
9672 Date:   Mon Apr 26 18:18:27 2010 +0100
9673
9674     trace: Remove unused functions
9675     
9676     trace.c:1154: warning: ‘_has_font_face_id’ defined but not used
9677     trace.c:1196: warning: ‘_get_pattern_id’ defined but not used
9678     trace.c:1870: warning: ‘_emit_font_face’ defined but not used
9679     trace.c:1882: warning: ‘_emit_scaled_font’ defined but not used
9680
9681  util/cairo-trace/trace.c |   24 ------------------------
9682  1 file changed, 24 deletions(-)
9683
9684 commit 3a2d9ffe0333090bb31ff01048ed506595f20cf9
9685 Author: Chris Wilson <chris@chris-wilson.co.uk>
9686 Date:   Mon Apr 26 18:17:49 2010 +0100
9687
9688     trace: Check return value to suppress compiler warning
9689     
9690     trace.c: In function ‘get_prog_name’:
9691     trace.c:741: warning: ignoring return value of ‘fgets’, declared with
9692     attribute warn_unused_result
9693
9694  util/cairo-trace/trace.c |    5 ++++-
9695  1 file changed, 4 insertions(+), 1 deletion(-)
9696
9697 commit 37be183412eb35abc11e602857602aee05839fc7
9698 Author: Chris Wilson <chris@chris-wilson.co.uk>
9699 Date:   Mon Apr 26 18:12:05 2010 +0100
9700
9701     trace: Trivial compiler warning fix
9702     
9703     trace.c:1665: warning: initialization from incompatible pointer type
9704
9705  util/cairo-trace/trace.c |    2 +-
9706  1 file changed, 1 insertion(+), 1 deletion(-)
9707
9708 commit 3c9e5d9792e101cfbd5a1116f06579539ed7b585
9709 Author: Chris Wilson <chris@chris-wilson.co.uk>
9710 Date:   Mon Apr 26 18:13:36 2010 +0100
9711
9712     region: Cast to remove const to suppress compiler warnings.
9713     
9714     airo-region.c: In function ‘cairo_region_intersect’:
9715     cairo-region.c:503: warning: passing argument 3 of
9716     ‘pixman_region32_intersect’ discards qualifiers from pointer target type
9717     /usr/local/include/pixman-1/pixman.h:518: note: expected ‘struct
9718     pixman_region32_t *’ but argument is of type ‘const struct pixman_region32_t *’
9719     
9720     cairo-region.c: In function ‘cairo_region_union’:
9721     cairo-region.c:566: warning: passing argument 3 of
9722     ‘pixman_region32_union’ discards qualifiers from pointer target type
9723     /usr/local/include/pixman-1/pixman.h:521: note: expected ‘struct
9724     pixman_region32_t *’ but argument is of type ‘const struct pixman_region32_t *’
9725
9726  src/cairo-region.c |    4 ++--
9727  1 file changed, 2 insertions(+), 2 deletions(-)
9728
9729 commit 8c72122df51a10a32b56cdf20e5a1037ee59a958
9730 Author: Chris Wilson <chris@chris-wilson.co.uk>
9731 Date:   Sun Apr 25 10:30:12 2010 +0100
9732
9733     clip: Skip combining with solid pixel aligned boxes.
9734
9735  src/cairo-clip.c |    6 ++++++
9736  1 file changed, 6 insertions(+)
9737
9738 commit 240ebaf81a42c24c4d4267879c5ef8102e97017e
9739 Author: Chris Wilson <chris@chris-wilson.co.uk>
9740 Date:   Sun Apr 25 09:44:18 2010 +0100
9741
9742     clip: Fix sign reverse when combining with the clip surface.
9743     
9744     Finally, found the reversed sign in the clipping code, thanks cu!
9745     
9746     Fixes: test/clip-shape
9747
9748  src/cairo-clip.c |   24 ++----------------------
9749  1 file changed, 2 insertions(+), 22 deletions(-)
9750
9751 commit 4d3632761b928c14fb1ce257af077f45658d8537
9752 Author: Chris Wilson <chris@chris-wilson.co.uk>
9753 Date:   Sun Apr 25 09:42:13 2010 +0100
9754
9755     clip: Report the surface offset when retrieving the clip mask
9756     
9757     Stop the callers from guessing the origin of the clip surface by
9758     reporting it explicitly! This enables the clip to bypass any rectangles
9759     overlaid on top of the clip surface, which is common when the backends
9760     limit the clip to the extents of the operation -- but irrelevant to the
9761     actual content of the clip mask
9762
9763  src/cairo-clip-private.h        |    2 +-
9764  src/cairo-clip.c                |   26 ++++++++++++++++++++------
9765  src/cairo-image-surface.c       |   39 +++++++++++++++++++++------------------
9766  src/cairo-surface-fallback.c    |   20 ++++++++++----------
9767  src/cairo-xcb-surface-render.c  |   31 +++++++++++++++----------------
9768  src/drm/cairo-drm-i915-shader.c |    9 ++++-----
9769  src/drm/cairo-drm-i965-shader.c |    7 ++++---
9770  7 files changed, 75 insertions(+), 59 deletions(-)
9771
9772 commit 241ce933f8fa44210015dcdc4a66b3f9d8ac56e8
9773 Author: Chris Wilson <chris@chris-wilson.co.uk>
9774 Date:   Sun Apr 25 09:37:50 2010 +0100
9775
9776     test: Add clip-shape
9777     
9778     cu found a bug when using clipping and fills with the image backend, but
9779     it turns out to be the lost sign bug afflicting everything...
9780     
9781     To trigger the bug requires evaluating the clip surface prior to using
9782     in with _cairo_clip_combine_with_surface(). Which is taken along a
9783     particular path when using a clip mask with non-pixel geometry on image,
9784     but more easily hit by the fallback code.
9785     
9786     Reported-by: <cairouser@yahoo.com>
9787
9788  test/Makefile.am                      |    4 ++
9789  test/Makefile.sources                 |    1 +
9790  test/clip-shape.c                     |   86 +++++++++++++++++++++++++++++++++
9791  test/clip-shape.ps.ref.png            |  Bin 0 -> 1797 bytes
9792  test/clip-shape.ref.png               |  Bin 0 -> 2935 bytes
9793  test/clip-shape.xlib-fallback.ref.png |  Bin 0 -> 2916 bytes
9794  test/clip-shape.xlib.ref.png          |  Bin 0 -> 2944 bytes
9795  7 files changed, 91 insertions(+)
9796
9797 commit 1687c7b7d3074de8eeea1a5c339df9a12cc38da2
9798 Author: Benjamin Otte <otte@redhat.com>
9799 Date:   Fri Apr 23 22:22:28 2010 +0200
9800
9801     xlib: Fix display closing to work properly
9802     
9803     Previously we free()'d the cairo_device's memory which was not good at
9804     all. Now the code causes cairo_device_finish() instead.
9805
9806  src/cairo-xlib-display.c |   37 +++++++++++++++++++++++--------------
9807  1 file changed, 23 insertions(+), 14 deletions(-)
9808
9809 commit 637564c562de21c17c36d192d3ab1b3fe069754b
9810 Author: Benjamin Otte <otte@redhat.com>
9811 Date:   Fri Apr 23 22:10:32 2010 +0200
9812
9813     xlib: Fix screen device handling
9814     
9815     Add a _cairo_xlib_device_create() function that could easily be exported
9816     as a replacement for _cairo_xlib_display_get(). This function returns a
9817     cairo_device_t instead of a cairo_xlib_display_t because the display
9818     isn't acquired.
9819
9820  src/cairo-xlib-display.c |   33 ++++++++++++++++++---------------
9821  src/cairo-xlib-private.h |    4 ++--
9822  src/cairo-xlib-screen.c  |   23 ++++++++++++++++-------
9823  3 files changed, 36 insertions(+), 24 deletions(-)
9824
9825 commit 49b52a8946cbd5f785f71069313e4a204358887b
9826 Author: Benjamin Otte <otte@redhat.com>
9827 Date:   Thu Apr 22 21:56:31 2010 +0200
9828
9829     gl: Make drawing to windows work again
9830     
9831     The correct MIN/MAG_FILTER wasn't set.
9832
9833  src/cairo-gl-surface.c |    2 ++
9834  1 file changed, 2 insertions(+)
9835
9836 commit 3efbc0c5c850d0cb5c5af5bcabbc7293670ea355
9837 Author: Benjamin Otte <otte@redhat.com>
9838 Date:   Tue Apr 20 21:58:59 2010 +0200
9839
9840     gl: Only unref a surface if it exists
9841     
9842     Note: This will likely work for NULL clones, but I prefer not
9843     dereferencing NULLs. That gives people a wrong understanding of the code
9844     (i.e. me).
9845
9846  src/cairo-gl-surface.c |    3 ++-
9847  1 file changed, 2 insertions(+), 1 deletion(-)
9848
9849 commit 64662be4ef3851d21658e5fdb2efb6806b45eba8
9850 Author: Benjamin Otte <otte@redhat.com>
9851 Date:   Thu Apr 22 22:05:03 2010 +0200
9852
9853     gl: Use GLfloat instead of float in gl*Array() functions
9854
9855  src/cairo-gl-surface.c |    6 +++---
9856  1 file changed, 3 insertions(+), 3 deletions(-)
9857
9858 commit e4f84f97b2f5d37bc1fb7dd510df733053ffe624
9859 Author: Benjamin Otte <otte@redhat.com>
9860 Date:   Tue Apr 20 21:33:50 2010 +0200
9861
9862     gl: Don't acquire the gl context twice
9863
9864  src/cairo-gl-surface.c |    7 -------
9865  1 file changed, 7 deletions(-)
9866
9867 commit e40a2d1f5eeea139e29c27e38495b9c0bf9e39a1
9868 Author: Benjamin Otte <otte@redhat.com>
9869 Date:   Thu Apr 22 22:03:29 2010 +0200
9870
9871     gl: Use correct type when uploading images
9872
9873  src/cairo-gl-surface.c |    2 +-
9874  1 file changed, 1 insertion(+), 1 deletion(-)
9875
9876 commit 55cf323f963bbcc11bcc290eaf71656e1ba91efd
9877 Author: Benjamin Otte <otte@redhat.com>
9878 Date:   Thu Apr 22 21:58:01 2010 +0200
9879
9880     gl: fix typo in comment
9881
9882  src/cairo-gl-surface.c |    2 +-
9883  1 file changed, 1 insertion(+), 1 deletion(-)
9884
9885 commit 887d43578c3acc7d45c8b2e3ade5da29be804eeb
9886 Author: Chris Wilson <chris@chris-wilson.co.uk>
9887 Date:   Fri Apr 23 20:14:03 2010 +0100
9888
9889     xlib: Simply release the ref, not destroy, from CloseDisplay.
9890     
9891     Do not call the destroy function directly, but rely on the reference
9892     counting to call the notifier upon the last reference. Instead, simply
9893     release the reference we were holding for the cache and CloseDisplay
9894     callback.
9895
9896  src/cairo-xlib-display.c |   22 ++++++++++++----------
9897  1 file changed, 12 insertions(+), 10 deletions(-)
9898
9899 commit c63e3490a5fc2836837e7adcb5ecad62bdfd18ab
9900 Author: Chris Wilson <chris@chris-wilson.co.uk>
9901 Date:   Thu Apr 22 20:33:06 2010 +0100
9902
9903     cairo: Handle the all-clipped state in cairo_push_group()
9904     
9905     Yet another bug reported by Jeff Muizelaar, thanks!
9906     
9907     Fixes: test/clip-empty-group
9908
9909  src/cairo.c |   81 +++++++++++++++++++++++++++++++++--------------------------
9910  1 file changed, 46 insertions(+), 35 deletions(-)
9911
9912 commit 567e485f28716d7b72cbf864a0c573148be91cd8
9913 Author: Chris Wilson <chris@chris-wilson.co.uk>
9914 Date:   Fri Apr 23 14:37:43 2010 +0100
9915
9916     test: Add clip-empty-group
9917     
9918     Exercise a bug reported by Jeff Muizelaar whereby cairo_push_group() was
9919     broken by everything being clipped out.
9920
9921  test/Makefile.am              |    1 +
9922  test/Makefile.sources         |    1 +
9923  test/clip-empty-group.c       |   65 +++++++++++++++++++++++++++++++++++++++++
9924  test/clip-empty-group.ref.png |  Bin 0 -> 103 bytes
9925  4 files changed, 67 insertions(+)
9926
9927 commit 4438cc6a49e7e902dce045706f7125a2c3e2174b
9928 Author: Chris Wilson <chris@chris-wilson.co.uk>
9929 Date:   Sat Apr 3 18:10:57 2010 +0100
9930
9931     cairo: Use explicit device flushing.
9932     
9933     Now with the concept of a cairo_device_t and the ability to flush it,
9934     we now longer require the heuristic of automatically flushing on behalf
9935     of the user at the end of every context.
9936
9937  src/cairo.c |   11 -----------
9938  1 file changed, 11 deletions(-)
9939
9940 commit 0fc140abc3c848e72b1b2b959026355fdbd6a941
9941 Author: Chris Wilson <chris@chris-wilson.co.uk>
9942 Date:   Wed Apr 21 12:01:49 2010 +0100
9943
9944     pdf: Suppress compiler warning.
9945
9946  src/cairo-pdf-operators.c |   12 ++++++------
9947  1 file changed, 6 insertions(+), 6 deletions(-)
9948
9949 commit 1923a33a7277009b2898840d671fdc8f8d1b3922
9950 Author: Chris Wilson <chris@chris-wilson.co.uk>
9951 Date:   Wed Apr 21 11:59:33 2010 +0100
9952
9953     cairoint.h: Change ASSERT_NOT_REACHED to remove compiler warning
9954
9955  src/cairoint.h |    3 +--
9956  1 file changed, 1 insertion(+), 2 deletions(-)
9957
9958 commit d366da7d8c46b08673b9e36dd130608a311ded4b
9959 Author: Chris Wilson <chris@chris-wilson.co.uk>
9960 Date:   Fri Apr 23 14:38:42 2010 +0100
9961
9962     Win32 features update
9963
9964  boilerplate/Makefile.win32.features |    8 --------
9965  src/Makefile.win32.features         |    8 --------
9966  2 files changed, 16 deletions(-)
9967
9968 commit c1e51a0264d204716f7706fbc66c2a7786b7947c
9969 Author: Chris Wilson <chris@chris-wilson.co.uk>
9970 Date:   Fri Apr 23 14:33:53 2010 +0100
9971
9972     build: Spelling correction
9973
9974  build/Makefile.win32.features-h |    1 -
9975  build/configure.ac.features     |    2 +-
9976  2 files changed, 1 insertion(+), 2 deletions(-)
9977
9978 commit e0306da1d73509e2cfd0fce81a1b4259e5e3fcef
9979 Author: Chris Wilson <chris@chris-wilson.co.uk>
9980 Date:   Wed Apr 21 22:51:53 2010 +0100
9981
9982     configure: typo in check for xcb-shm
9983
9984  configure.ac |    2 +-
9985  1 file changed, 1 insertion(+), 1 deletion(-)
9986
9987 commit b7fbda276df52de6a5ac67397a8d49657233fcfa
9988 Author: Andrea Canciani <ranma42@gmail.com>
9989 Date:   Sun Apr 18 23:16:07 2010 +0200
9990
9991     Revert "script: Another RGB16_565 warning."
9992     
9993     This reverts commit a9f506493371ac91494488e5ca38e57ceb5a10cb.
9994     
9995     The change was already applied in bdf8f50adae67498d5fe36727ed2cd34c0206509.
9996
9997  src/cairo-script-surface.c |    6 ------
9998  1 file changed, 6 deletions(-)
9999
10000 commit f74ad37e66bbdcc4d727ed6d931dde870d84c2f4
10001 Author: Benjamin Otte <otte@redhat.com>
10002 Date:   Sun Apr 18 23:20:02 2010 +0200
10003
10004     xlib: Make display a cairo_device_t
10005     
10006     The code now uses the locking of the cairo_device_t instead of its own
10007     mutexes.
10008     
10009     The code was modified so that cairo_surface_t does no longer reference
10010     the display directly. Instead, it calls _cairo_xlib_display_acquire().
10011     If a function assumes an already acquired display, it now requires the
10012     caller to provide a cairo_xlib_display_t parameter. Functions that do
10013     not require an acquired display will not require the display parameter
10014     or they will take the cairo_device_t instead.
10015
10016  src/cairo-xlib-display.c         |  234 +++++++---------
10017  src/cairo-xlib-private.h         |   66 +++--
10018  src/cairo-xlib-screen.c          |  161 +++--------
10019  src/cairo-xlib-surface-private.h |    2 -
10020  src/cairo-xlib-surface.c         |  557 ++++++++++++++++++++++----------------
10021  5 files changed, 494 insertions(+), 526 deletions(-)
10022
10023 commit 2bffa2467ed67517419e425fc34fb5b8294a9e96
10024 Author: Benjamin Otte <otte@redhat.com>
10025 Date:   Wed Jan 27 10:56:22 2010 +0100
10026
10027     Use pixman_image_composite32()
10028     
10029     Replace all occurences of pixman_image_composite()
10030
10031  src/cairo-directfb-surface.c   |   16 +-
10032  src/cairo-image-surface.c      |  352 ++++++++++++++++++++--------------------
10033  src/cairo-pattern.c            |   16 +-
10034  src/cairo-surface-snapshot.c   |   12 +-
10035  src/cairo-surface-subsurface.c |   24 +--
10036  src/cairo-xlib-surface.c       |   16 +-
10037  src/drm/cairo-drm-intel.c      |   12 +-
10038  7 files changed, 224 insertions(+), 224 deletions(-)
10039
10040 commit 567923d66a375259a6a8083aa4ef1051097a60c5
10041 Author: Benjamin Otte <otte@redhat.com>
10042 Date:   Wed Jan 27 09:39:20 2010 +0100
10043
10044     image: Make unbounded fixup code not use pixman_fill()
10045     
10046     The new pixman_image_fill_boxes() does proper fallbacks for weird pixman
10047     formats.
10048
10049  src/cairo-image-surface.c |  123 +++++++++++++++++----------------------------
10050  1 file changed, 47 insertions(+), 76 deletions(-)
10051
10052 commit b648365cfa2d808b34b924a6b105718e0673bb9b
10053 Author: Benjamin Otte <otte@redhat.com>
10054 Date:   Wed Jan 27 09:21:41 2010 +0100
10055
10056     Require pixman 0.17.5
10057     
10058     We want pixman_image_composite32() and pixman_image_fill_boxes()
10059
10060  configure.ac |    2 +-
10061  1 file changed, 1 insertion(+), 1 deletion(-)
10062
10063 commit 0a19ad7c104cd81fa2b93aaf7ef9302f50b3f369
10064 Author: Benjamin Otte <otte@redhat.com>
10065 Date:   Thu Apr 15 17:58:16 2010 +0200
10066
10067     gl: Get rid of "return value not checked" warnings
10068     
10069     Assert that those functions only return successfully.
10070
10071  src/cairo-gl-surface.c |   42 ++++++++++++++++++++++++------------------
10072  1 file changed, 24 insertions(+), 18 deletions(-)
10073
10074 commit 7745ea21e104d0a5eec1814f19bacb7334f42185
10075 Author: Benjamin Otte <otte@redhat.com>
10076 Date:   Wed Apr 14 15:59:36 2010 +0200
10077
10078     gl: acquire/release properly in _cairo_gl_draw_image()
10079     
10080     Fixes various testsuite failures, in particular ones related to masks.
10081
10082  src/cairo-gl-surface.c |   16 ++++++++++++++--
10083  1 file changed, 14 insertions(+), 2 deletions(-)
10084
10085 commit 596d3017a1b11cb9844e69330cdece7441929725
10086 Author: Benjamin Otte <otte@redhat.com>
10087 Date:   Tue Apr 13 20:53:47 2010 +0200
10088
10089     gl: acquire/release context when getting images
10090     
10091     Avoids Mesa complaining about no current context.
10092
10093  src/cairo-gl-surface.c |    7 +++++++
10094  1 file changed, 7 insertions(+)
10095
10096 commit 46ef05c3d73af2b222602954b986832e77355a12
10097 Author: Benjamin Otte <otte@redhat.com>
10098 Date:   Mon Mar 29 12:58:18 2010 +0200
10099
10100     glx: Add getters for device's Display and GLXContext
10101
10102  src/cairo-gl.h          |    6 ++++++
10103  src/cairo-glx-context.c |   30 ++++++++++++++++++++++++++++++
10104  2 files changed, 36 insertions(+)
10105
10106 commit 712919223d08f8b4c43f828322fdc285560c137f
10107 Author: Benjamin Otte <otte@redhat.com>
10108 Date:   Fri Mar 26 15:50:10 2010 +0100
10109
10110     gl: Make code safe for multithreaded access
10111     
10112     The code callss the gl device's acquire/release in
10113     cairo_device_acquire/release(). This way, external APIs can use these
10114     functions to prepare for rendering GL.
10115     
10116     Also adds code to unset the glx context if it wasn't set when acquiring
10117     the device. This allows multithreaded apps to work fine with just using
10118     cairo APIs, but might introduce penalties in single-threaded
10119     applications.
10120
10121  src/cairo-egl-context.c |    2 ++
10122  src/cairo-gl-private.h  |    5 ++++-
10123  src/cairo-gl-surface.c  |   20 +++++++++++++++++++-
10124  src/cairo-glx-context.c |   37 +++++++++++++++++++++++++++++++++++--
10125  4 files changed, 60 insertions(+), 4 deletions(-)
10126
10127 commit 8f2e82cea3405fa9a6591911c0d42ea3dd0c6180
10128 Author: Benjamin Otte <otte@redhat.com>
10129 Date:   Thu Apr 15 17:48:24 2010 +0200
10130
10131     xcb: Make code not complain about every new format
10132
10133  src/cairo-xcb-surface-render.c |   46 ++++++++++++++++------------------------
10134  1 file changed, 18 insertions(+), 28 deletions(-)
10135
10136 commit 1d753b2f4d724c5ac3e452848ca4dda5891816a6
10137 Author: Benjamin Otte <otte@redhat.com>
10138 Date:   Tue Feb 23 21:53:31 2010 +0100
10139
10140     xlib: Make code not complain about every new format
10141
10142  src/cairo-xlib-surface.c |   46 ++++++++++++++++++----------------------------
10143  1 file changed, 18 insertions(+), 28 deletions(-)
10144
10145 commit ebc9cc46fe7740c6d97e02edc66bae383413764b
10146 Author: Benjamin Otte <otte@redhat.com>
10147 Date:   Fri Mar 5 15:08:34 2010 +0100
10148
10149     gl: Use right format
10150     
10151     The internal format should always be GL_RGBA.
10152
10153  src/cairo-gl-surface.c |    2 +-
10154  1 file changed, 1 insertion(+), 1 deletion(-)
10155
10156 commit 4142f0836d6719dd136a5fc6ac1adaddd681a3f2
10157 Author: Chris Wilson <chris@chris-wilson.co.uk>
10158 Date:   Thu Apr 15 09:09:31 2010 +0100
10159
10160     gl: Handle component-alpha ADD
10161     
10162     A simple extension to the component-alpha OVER [as ca-ADD is just the
10163     second pass in ca-OVER] to support amalgamation of glyph masks. This
10164     speeds up firefox-36 by ~5% on g45.
10165     
10166     Before:
10167       firefox-36-20090611   76.185
10168     After:
10169       firefox-36-20090611   72.863
10170
10171  src/cairo-gl-surface.c |   16 +++++++++-------
10172  1 file changed, 9 insertions(+), 7 deletions(-)
10173
10174 commit a4bae1956bee0be98a5a22bd82d417192776e7f0
10175 Author: Benjamin Otte <otte@redhat.com>
10176 Date:   Wed Apr 14 22:46:34 2010 +0200
10177
10178     gl: Really don't write error status to the inert object.
10179
10180  src/cairo-gl-surface.c |    3 +++
10181  1 file changed, 3 insertions(+)
10182
10183 commit 5fed41ee2bb3097c1446c1cf2038c912d5932692
10184 Author: Benjamin Otte <otte@redhat.com>
10185 Date:   Wed Apr 14 22:43:29 2010 +0200
10186
10187     test: Add test checking that all setters properly check surface->status
10188     
10189     In particular, make sure that the setters when called on a const nil
10190     surface don't try to set surface->status.
10191
10192  test/Makefile.sources |    1 +
10193  test/error-setters.c  |  109 +++++++++++++++++++++++++++++++++++++++++++++++++
10194  2 files changed, 110 insertions(+)
10195
10196 commit 6826f020014fff566678a1ff92014211e2a21d4c
10197 Author: Chris Wilson <chris@chris-wilson.co.uk>
10198 Date:   Wed Apr 14 19:33:34 2010 +0100
10199
10200     gl: Don't write error status to the inert object.
10201     
10202     Reported-by: Benjamin Otte <otte@redhat.com>
10203
10204  src/cairo-gl-surface.c |    3 +++
10205  1 file changed, 3 insertions(+)
10206
10207 commit 3814855a649ffca695ce31d97c291496e32d2e26
10208 Author: Chris Wilson <chris@chris-wilson.co.uk>
10209 Date:   Wed Apr 14 20:22:14 2010 +0100
10210
10211     script: Flush prior to modifying the image data.
10212
10213  util/cairo-script/cairo-script-operators.c |    1 +
10214  1 file changed, 1 insertion(+)
10215
10216 commit 03f7bfc351c27ab9d0b764a21bdcf2304e8c2e81
10217 Author: Chris Wilson <chris@chris-wilson.co.uk>
10218 Date:   Wed Apr 14 20:14:39 2010 +0100
10219
10220     rtree: Remove the false assert upon collapse.
10221
10222  src/cairo-rtree.c |    2 --
10223  1 file changed, 2 deletions(-)
10224
10225 commit b0383d0cd2b40185b1676d9c88d3647cecc1d7fd
10226 Author: Chris Wilson <chris@chris-wilson.co.uk>
10227 Date:   Wed Apr 14 19:33:34 2010 +0100
10228
10229     svg: Don't write error status to the inert object.
10230     
10231     Reported-by: Benjamin Otte <otte@redhat.com>
10232
10233  src/cairo-svg-surface.c |   37 +++++++++++++++++++++----------------
10234  1 file changed, 21 insertions(+), 16 deletions(-)
10235
10236 commit 5274b63adb9ad808f94e6ea04707991ec1192694
10237 Author: Chris Wilson <chris@chris-wilson.co.uk>
10238 Date:   Wed Apr 14 19:33:34 2010 +0100
10239
10240     ps: Don't write error status to the inert object.
10241     
10242     Reported-by: Benjamin Otte <otte@redhat.com>
10243
10244  src/cairo-pdf-surface.c |    2 --
10245  src/cairo-ps-surface.c  |   74 +++++++++++++++++------------------------------
10246  2 files changed, 27 insertions(+), 49 deletions(-)
10247
10248 commit 45d23b8a791d5845025a1a4d93f99030ec9e0115
10249 Author: Chris Wilson <chris@chris-wilson.co.uk>
10250 Date:   Wed Apr 14 19:33:34 2010 +0100
10251
10252     pdf: Don't write error status to the inert object.
10253     
10254     Reported-by: Benjamin Otte <otte@redhat.com>
10255
10256  src/cairo-pdf-surface.c |   41 ++++++++++++++++++++++-------------------
10257  1 file changed, 22 insertions(+), 19 deletions(-)
10258
10259 commit 4351304b5110200b77e6851995cf533a929ba17e
10260 Author: Chris Wilson <chris@chris-wilson.co.uk>
10261 Date:   Wed Apr 14 19:29:07 2010 +0100
10262
10263     Win32 features update.
10264
10265  boilerplate/Makefile.win32.features |    8 ++++++++
10266  build/Makefile.win32.features-h     |    1 +
10267  2 files changed, 9 insertions(+)
10268
10269 commit bd17b898b1c249aa0dc443bc303bad4fea8690bc
10270 Author: Chris Wilson <chris@chris-wilson.co.uk>
10271 Date:   Wed Apr 14 19:11:15 2010 +0100
10272
10273     surface: Propagate the error status to _cairo_surface_get_device()
10274     
10275     If the surface is in error, the appropriate action is report the error
10276     using an inert error cairo_device_t.
10277     
10278     Reported-by: Benjamin Otte <otte@redhat.com>
10279
10280  src/cairo-surface.c |    3 +++
10281  1 file changed, 3 insertions(+)
10282
10283 commit 005596907fc9b62fa4bf72ec35e0d1a1a242ef93
10284 Author: Chris Wilson <chris@chris-wilson.co.uk>
10285 Date:   Wed Apr 14 19:05:09 2010 +0100
10286
10287     xlib: Don't operate on an error object inside setters.
10288     
10289     Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=599574
10290     
10291     The backend API manipulated the surface prior to checking whether it was
10292     an inert error surface - and in the event of an error surface, tried to
10293     overwrite it's error status.
10294
10295  src/Makefile.win32.features  |    8 ++++++++
10296  src/cairo-xcb-surface.c      |    3 +++
10297  src/cairo-xlib-surface.c     |    6 ++++++
10298  src/cairo-xlib-xcb-surface.c |    6 ++++++
10299  4 files changed, 23 insertions(+)
10300
10301 commit 8afd4e4c3db53159d1e5b6f13d3355cb5fb1750b
10302 Author: Chris Wilson <chris@chris-wilson.co.uk>
10303 Date:   Tue Apr 13 17:52:19 2010 +0100
10304
10305     hull: _cairo_hull_vertex_compare() return 0 for identical elements
10306     
10307     Andreas Falkenhahn reported a bizarre situation with some
10308     implementations of qsort that actually compare the same elements and
10309     require the comparator to return 0. So be it.
10310     
10311     Reported-by: Andreas Falkenhahn <andreas@airsoftsoftwair.de>
10312
10313  src/cairo-hull.c |    7 +++++++
10314  1 file changed, 7 insertions(+)
10315
10316 commit d95037db9915033ef1eee24c2fc05e8a95af5457
10317 Author: Chris Wilson <chris@chris-wilson.co.uk>
10318 Date:   Sun Apr 11 21:04:29 2010 +0100
10319
10320     cache: Tidy _cairo_cache_shrink_to_accommodate()
10321     
10322     There is no need to shrink the cache if we add an entry of size 0, so
10323     don't by moving the guards in _cairo_cache_shrink_to_accommodate() to the
10324     callers.
10325
10326  src/cairo-cache.c |   10 +++-------
10327  1 file changed, 3 insertions(+), 7 deletions(-)
10328
10329 commit e6309c6307179388c5de938bffdb44b83b694f28
10330 Author: Chris Wilson <chris@chris-wilson.co.uk>
10331 Date:   Sun Apr 11 21:03:00 2010 +0100
10332
10333     xcb: Use normal finish to decouple from surface cache.
10334     
10335     Hook into the standard finishing process for a more robust cache removal
10336     mechanism. firefox was able to trigger some double free asserts
10337     otherwise.
10338
10339  src/cairo-xcb-screen.c         |    4 ++-
10340  src/cairo-xcb-surface-render.c |   57 +++++++++++++++++++---------------------
10341  2 files changed, 30 insertions(+), 31 deletions(-)
10342
10343 commit e425c44e9c4c1796ccc3557a0368cf3b3a685a31
10344 Author: Andrea Canciani <ranma42@gmail.com>
10345 Date:   Fri Apr 9 08:32:22 2010 +0200
10346
10347     boilerplate: Compile xlib without xrender
10348     
10349     cairo_boilerplate_xlib_surface_disable_render() is not defined when
10350     compiling without XRender, but it was used nonetheless. Replace it
10351     with an empty stub when XRender is not available.
10352
10353  boilerplate/cairo-boilerplate-xlib.c |    6 ++++++
10354  1 file changed, 6 insertions(+)
10355
10356 commit 061ea78ad2838450b20d5550a7285823e0d24e1b
10357 Author: Andrea Canciani <ranma42@gmail.com>
10358 Date:   Fri Apr 9 08:28:33 2010 +0200
10359
10360     perf: Correct cairo-perf-diff syntax
10361     
10362     { cmd-list; } seems to literally be the required syntax. Blanks and
10363     ';' are both mandatory.
10364
10365  perf/cairo-perf-diff |    2 +-
10366  1 file changed, 1 insertion(+), 1 deletion(-)
10367
10368 commit 6986970ea5197685274b1fd809d72fbd771c0bab
10369 Author: Chris Wilson <chris@chris-wilson.co.uk>
10370 Date:   Sat Apr 10 17:05:38 2010 +0100
10371
10372     clip: Compile fix for previous clip.
10373     
10374     PEBKAC.
10375
10376  src/cairo-clip.c |    3 ---
10377  1 file changed, 3 deletions(-)
10378
10379 commit 0899852c974099da9f8c5e493fa89b8d022646c5
10380 Author: Chris Wilson <chris@chris-wilson.co.uk>
10381 Date:   Sat Apr 10 16:00:45 2010 +0100
10382
10383     clip: Compare the whole clip when testing for equality.
10384     
10385     Should fix test/clip-contexts
10386
10387  src/cairo-clip-private.h    |    4 ++++
10388  src/cairo-clip.c            |   40 +++++++++++++++++++++++++++++++++++++---
10389  src/cairo-surface-clipper.c |    5 +----
10390  3 files changed, 42 insertions(+), 7 deletions(-)
10391
10392 commit 557016a86a5a4487aeb6ab6392795eb709ee8bb5
10393 Author: Chris Wilson <chris@chris-wilson.co.uk>
10394 Date:   Sat Apr 10 15:59:13 2010 +0100
10395
10396     test: Add clip-contexts
10397     
10398     This should exercise a bug found by Jeff Muizelaar that
10399     cairo-surface-clipper was mistakenly thinking that clip operations on a
10400     second context was a no-op as the topmost clip path matched that of the
10401     previous context.
10402
10403  test/Makefile.am           |    1 +
10404  test/Makefile.sources      |    1 +
10405  test/clip-contexts.c       |   73 ++++++++++++++++++++++++++++++++++++++++++++
10406  test/clip-contexts.ref.png |  Bin 0 -> 98 bytes
10407  4 files changed, 75 insertions(+)
10408
10409 commit a9f506493371ac91494488e5ca38e57ceb5a10cb
10410 Author: Chris Wilson <chris@chris-wilson.co.uk>
10411 Date:   Wed Apr 7 22:44:02 2010 +0100
10412
10413     script: Another RGB16_565 warning.
10414
10415  src/cairo-script-surface.c |    6 ++++++
10416  1 file changed, 6 insertions(+)
10417
10418 commit 42b5cac7668625c9761113ff72b47af5cfd10377
10419 Author: Adrian Johnson <ajohnson@redneon.com>
10420 Date:   Wed Apr 7 19:10:15 2010 +0930
10421
10422     PDF-operators: ensure text operations flushed before emitting clip
10423
10424  src/cairo-pdf-operators.c |    6 ++++++
10425  1 file changed, 6 insertions(+)
10426
10427 commit c004800fae362ae907ef9d1f822d02c598572161
10428 Author: Chris Wilson <chris@chris-wilson.co.uk>
10429 Date:   Wed Apr 7 22:46:38 2010 +0100
10430
10431     script: Compile without FT_FONT
10432
10433  src/cairo-script-surface.c |    9 ++++++++-
10434  1 file changed, 8 insertions(+), 1 deletion(-)
10435
10436 commit bdf8f50adae67498d5fe36727ed2cd34c0206509
10437 Author: Chris Wilson <chris@chris-wilson.co.uk>
10438 Date:   Wed Apr 7 22:44:02 2010 +0100
10439
10440     script: Another RGB16_565 warning.
10441
10442  src/cairo-script-surface.c |    6 ++++++
10443  1 file changed, 6 insertions(+)
10444
10445 commit f5f64317874a3faa4f47688848a499b1e8836cf6
10446 Author: Chris Wilson <chris@chris-wilson.co.uk>
10447 Date:   Wed Apr 7 21:57:22 2010 +0100
10448
10449     perf: Switch between micro and trace benchmarks for cairo-perf-diff
10450
10451  perf/cairo-perf-diff |   10 ++++------
10452  1 file changed, 4 insertions(+), 6 deletions(-)
10453
10454 commit 70ca0040fda77b6865c20c94c1b7deaa6e63c481
10455 Author: Andrea Canciani <ranma42@gmail.com>
10456 Date:   Wed Apr 7 22:54:57 2010 +0200
10457
10458     Actually check for memory allocation failure
10459     
10460     Clang static analyzer signals "Dereference of null pointer" in case
10461     the malloc returns NULL, as the code is checking the wrong pointer.
10462
10463  src/cairo-boxes.c |    2 +-
10464  1 file changed, 1 insertion(+), 1 deletion(-)
10465
10466 commit d7f71ac5c209376bacb45199a0eaa3b1937172e9
10467 Author: Benjamin Otte <otte@redhat.com>
10468 Date:   Wed Apr 7 21:57:38 2010 +0200
10469
10470     region: Make the 2nd argument to intersect and union const
10471
10472  src/cairo-region.c |    4 ++--
10473  src/cairo.h        |    4 ++--
10474  2 files changed, 4 insertions(+), 4 deletions(-)
10475
10476 commit ded3a9639b33b1e637e99250a463bc227c9e60f4
10477 Author: Kristian Rietveld <kris@gtk.org>
10478 Date:   Tue Dec 29 08:47:09 2009 +0100
10479
10480     quartz: Define cairo_quartz_float_t and use instead of float
10481     
10482     On Mac OS 10.6 and newer cairo_quartz_float_t is defined to be a
10483     CGFloat, resolving issues with the 64-bit builds.
10484     
10485     Fixes https://bugs.freedesktop.org/show_bug.cgi?id=25814
10486
10487  src/cairo-quartz-private.h |    6 ++++++
10488  src/cairo-quartz-surface.c |   40 +++++++++++++++++++++-------------------
10489  2 files changed, 27 insertions(+), 19 deletions(-)
10490
10491 commit 7c2c3f621f9b009b97c5f269bf313be926cc51c7
10492 Author: Andrea Canciani <ranma42@gmail.com>
10493 Date:   Sat Apr 3 22:54:57 2010 +0200
10494
10495     Correct masking optimization
10496     
10497     In _cairo_surface_mask() there was an invaild optimization (it failed
10498     for surfaces without alpha content). Using _cairo_pattern_is_clear()
10499     is the correct way to evaluate if a pattern is clear.
10500     
10501     Fixes clear-source
10502
10503  src/cairo-surface.c |    8 ++++----
10504  1 file changed, 4 insertions(+), 4 deletions(-)
10505
10506 commit 24fc36c10f5c1c34e3059a8334178743052d7ad2
10507 Author: Chris Wilson <chris@chris-wilson.co.uk>
10508 Date:   Fri Apr 2 08:44:45 2010 +0100
10509
10510     script: Fix endian encoding of '<|' length.
10511     
10512     Andrea found and fixed (and updated all the traces!) an endian bug where
10513     we were encoding a 32bit length inside the compressed string stream.
10514     However, this one inside the script backed escaped his notice.
10515
10516  src/cairo-script-surface.c |    9 ++++++++-
10517  1 file changed, 8 insertions(+), 1 deletion(-)
10518
10519 commit 697094488c652ad351301696bba9a384cc70002c
10520 Author: Chris Wilson <chris@chris-wilson.co.uk>
10521 Date:   Fri Apr 2 08:40:28 2010 +0100
10522
10523     test: Add inverse text
10524     
10525     This is exercising a bug that I have introduced either in the xcb
10526     backend or in the driver in my experimental branches. So simple, yet so
10527     wrong.
10528
10529  test/Makefile.am                  |    1 +
10530  test/Makefile.sources             |    1 +
10531  test/inverse-text.c               |   67 +++++++++++++++++++++++++++++++++++++
10532  test/inverse-text.image16.ref.png |  Bin 0 -> 1863 bytes
10533  test/inverse-text.ps.ref.png      |  Bin 0 -> 776 bytes
10534  test/inverse-text.ref.png         |  Bin 0 -> 2150 bytes
10535  6 files changed, 69 insertions(+)
10536
10537 commit fe610d559c70ab67f782b122437908ac80788611
10538 Author: Chris Wilson <chris@chris-wilson.co.uk>
10539 Date:   Wed Mar 31 09:33:30 2010 +0100
10540
10541     perf/micro: Show megapixel fill rate during paint.
10542
10543  perf/micro/paint-with-alpha.c |    9 ++++++++-
10544  perf/micro/paint.c            |    8 +++++++-
10545  2 files changed, 15 insertions(+), 2 deletions(-)
10546
10547 commit 8f7078eba71dcd2aa70bf97c03ed7b4341260143
10548 Author: Chris Wilson <chris@chris-wilson.co.uk>
10549 Date:   Thu Apr 1 20:42:44 2010 +0100
10550
10551     boilerplate: Allox xlib-fallback to build without RENDER
10552     
10553     This surface doesn't use RENDER and should produce the same results
10554     when cairo-xlib is compiled without any support for RENDER.
10555
10556  boilerplate/cairo-boilerplate-xlib.c |   72 ++--------------------------------
10557  1 file changed, 4 insertions(+), 68 deletions(-)
10558
10559 commit d209b40c64bddeb0d830678bc2f84e1016fed879
10560 Author: Chris Wilson <chris@chris-wilson.co.uk>
10561 Date:   Thu Apr 1 20:36:15 2010 +0100
10562
10563     xlib: Rearrange xrender stubs to restore compilation without xrender.h
10564
10565  boilerplate/Makefile.win32.features |    8 --------
10566  build/Makefile.win32.features-h     |    1 -
10567  src/Makefile.win32.features         |    8 --------
10568  src/cairo-xlib-xrender-private.h    |   14 +++++++-------
10569  4 files changed, 7 insertions(+), 24 deletions(-)
10570
10571 commit db4dbb38340e93da616319f00e0f4327d1c1d815
10572 Author: Behdad Esfahbod <behdad@behdad.org>
10573 Date:   Thu Apr 1 01:53:22 2010 -0400
10574
10575     Improve doc syntax check to allow inline macro docs
10576
10577  src/check-doc-syntax.sh |    2 +-
10578  1 file changed, 1 insertion(+), 1 deletion(-)
10579
10580 commit 00101fa71614fb48de436d6618e26353cf44ef95
10581 Author: Chris Wilson <chris@chris-wilson.co.uk>
10582 Date:   Wed Mar 31 16:19:02 2010 +0100
10583
10584     configure: check -lrt for shm_open()
10585     
10586     OS/X includes shm_open() in libc, and fails to link if -lrt is
10587     specified. So perform the appropriate configure time magic.
10588
10589  configure.ac                  |    5 +++++
10590  util/cairo-sphinx/Makefile.am |    2 +-
10591  2 files changed, 6 insertions(+), 1 deletion(-)
10592
10593 commit a81d347c2484e60ceec1d9dc81e1b88724496eaf
10594 Author: Andrea Canciani <ranma42@gmail.com>
10595 Date:   Fri Feb 5 22:34:51 2010 +0100
10596
10597     perf: Fix timestamp computation on MacOS X
10598     
10599     The OIL routines don't work as expected on MacOS X. The operating
10600     system gives access to the timestamp counter through the function
10601     mach_absolute_time.
10602     
10603     Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
10604
10605  perf/cairo-perf-posix.c |    7 +++++++
10606  1 file changed, 7 insertions(+)
10607
10608 commit 55ce0b774869e9fa614c6f9fec7905f7205cb5ff
10609 Author: Andrea Canciani <ranma42@gmail.com>
10610 Date:   Fri Feb 5 22:30:05 2010 +0100
10611
10612     script: Fix script scanner endianness
10613     
10614     The script interpreter was reading the length of compressed data as
10615     an host-endian uint32_t, thus making cairo-script able to correctly
10616     read traces that were produced on the same endianness as the one they
10617     ran upon, but unsuitable for portabile cairo-scripts.
10618     
10619     Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
10620
10621  util/cairo-script/cairo-script-scanner.c |   30 +++++++++++++++---------------
10622  1 file changed, 15 insertions(+), 15 deletions(-)
10623
10624 commit 4f617eaf77540ba2140086bd5a19fe6d62503d62
10625 Author: Andrea Canciani <ranma42@gmail.com>
10626 Date:   Fri Feb 5 22:27:28 2010 +0100
10627
10628     trace: Fix trace endianness
10629     
10630     Trace files were using host-endian to represent the length of
10631     compressed data, making the trace format not portable.
10632     
10633     Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
10634
10635  util/cairo-trace/trace.c |   15 +++++++++++++++
10636  1 file changed, 15 insertions(+)
10637
10638 commit 35f19bc084792bbad42b86a399103ebfbf407d05
10639 Author: Andrea Canciani <ranma42@gmail.com>
10640 Date:   Wed Mar 31 12:18:01 2010 +0200
10641
10642     pattern: Fix _gradient_is_opaque() for zero stops
10643     
10644     _gradient_is_opaque() previously returned TRUE for gradient with
10645     no stops, triggering a false optimization in _cairo_gstate_mask().
10646     
10647     Fixes test/gradient-zero-stops-mask
10648     
10649     Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
10650
10651  src/cairo-pattern.c |    3 +++
10652  1 file changed, 3 insertions(+)
10653
10654 commit 01e182194224e0eb7493b2ae3c8367ed455cfd54
10655 Author: Andrea Canciani <ranma42@gmail.com>
10656 Date:   Wed Mar 31 12:14:25 2010 +0200
10657
10658     test: Add gradient-zero-stops-mask
10659     
10660     Add a test to check that gradient with no stops are not considered
10661     opaque by gstate (and thus masking with them is not optimized to
10662     paint).
10663
10664  test/Makefile.am                             |    2 +
10665  test/Makefile.sources                        |    1 +
10666  test/gradient-zero-stops-mask.argb32.ref.png |  Bin 0 -> 86 bytes
10667  test/gradient-zero-stops-mask.c              |   59 ++++++++++++++++++++++++++
10668  test/gradient-zero-stops-mask.rgb24.ref.png  |  Bin 0 -> 86 bytes
10669  5 files changed, 62 insertions(+)
10670
10671 commit ce3ad6f41edf86ed6914f4d7f364111eba42ca65
10672 Author: Chris Wilson <chris@chris-wilson.co.uk>
10673 Date:   Wed Mar 31 08:21:17 2010 +0100
10674
10675     xlib: Avoid multiple evaluations inside bswap_*() macro.
10676     
10677     Fixes:
10678       Fonts are not readable if remote display to a machine with different
10679       endian.
10680       https://bugzilla.mozilla.org/show_bug.cgi?id=526977
10681     
10682     Reported-and-tested-by: Ginn Chen <Ginn.Chen@Sun.COM>
10683
10684  src/cairo-xlib-surface.c |    3 ++-
10685  1 file changed, 2 insertions(+), 1 deletion(-)
10686
10687 commit be4ffa9df275513de3175415ee889b7323499a37
10688 Author: Chris Wilson <chris@chris-wilson.co.uk>
10689 Date:   Sun Mar 28 19:40:54 2010 +0100
10690
10691     doc: Fix some missing '%' in gtk-doc comments
10692
10693  src/cairo-surface.c     |    4 ++--
10694  src/cairo-svg-surface.c |   10 +++++-----
10695  2 files changed, 7 insertions(+), 7 deletions(-)
10696
10697 commit 7ab350378e8597e9872dbe390b8454d0a63bff28
10698 Author: Chris Wilson <chris@chris-wilson.co.uk>
10699 Date:   Sun Mar 28 19:38:24 2010 +0100
10700
10701     Silence enumeration warnings following addition of RGB16_565
10702
10703  src/cairo-debug.c                          |    3 +++
10704  src/cairo-gl-glyphs.c                      |    2 ++
10705  src/cairo-png.c                            |    1 +
10706  src/cairo-qt-surface.cpp                   |    2 ++
10707  src/cairo-scaled-font.c                    |    1 +
10708  src/cairo-script-surface.c                 |   15 ++++++++++++
10709  src/cairo-xcb-surface-render.c             |    5 ++++
10710  src/cairo-xlib-surface.c                   |    5 ++++
10711  src/cairo-xml-surface.c                    |    1 +
10712  src/drm/cairo-drm-i915-surface.c           |    3 +++
10713  src/drm/cairo-drm-i965-shader.c            |    4 ++++
10714  src/drm/cairo-drm-i965-surface.c           |    1 +
10715  src/drm/cairo-drm-intel-surface.c          |    1 +
10716  src/drm/cairo-drm-intel.c                  |   12 ++++++++--
10717  src/drm/cairo-drm-radeon-surface.c         |    1 +
10718  util/cairo-script/cairo-script-operators.c |   35 ++++++++++++++++++++++++++++
10719  util/cairo-sphinx/sphinx.c                 |    1 +
10720  util/cairo-trace/trace.c                   |   25 +++++++++++++++++---
10721  18 files changed, 113 insertions(+), 5 deletions(-)
10722
10723 commit d901692a5550c51fd3eefd307609fb800ef02a95
10724 Author: Chris Wilson <chris@chris-wilson.co.uk>
10725 Date:   Tue Mar 30 15:31:32 2010 +0100
10726
10727     scaled-glyph: Allow removal info fields.
10728     
10729     Pushed a fraction of a second too soon... Update the
10730     scaled_glyph->has_info if the backend clears any field as well.
10731
10732  src/cairo-scaled-font.c |   19 ++++++++++++++++---
10733  1 file changed, 16 insertions(+), 3 deletions(-)
10734
10735 commit 5c4b6d520bc7ce7d5193a89bbda44b91f5eb0d4d
10736 Author: Chris Wilson <chris@chris-wilson.co.uk>
10737 Date:   Tue Mar 30 15:26:42 2010 +0100
10738
10739     xcb: Cache whether we have already check a glyph for size.
10740     
10741     Avoid repeated cairo_scaled_glyph_lookup() and checking of sizes if we
10742     have already seen this glyph in this run.
10743
10744  src/cairo-xcb-surface-render.c |   10 ++++++++++
10745  1 file changed, 10 insertions(+)
10746
10747 commit 1c76e3e9ad1437662bf91ed1d21c4bda8fd50fb4
10748 Author: Chris Wilson <chris@chris-wilson.co.uk>
10749 Date:   Tue Mar 30 15:24:08 2010 +0100
10750
10751     scaled-font: Optimize cairo_scaled_font_lookup()
10752     
10753     By tracking which fields of information are already available on the
10754     scaled_glyph we can more efficiently determine if we already have the
10755     requested fields. This reduces from about 6 conditionals to one, and
10756     reduces the function overhead by ~20% -- which has a measurable
10757     improvement on glyph benchmarks.
10758
10759  src/cairo-scaled-font.c   |   73 +++++++++++++--------------------------------
10760  src/cairo-types-private.h |    1 +
10761  2 files changed, 21 insertions(+), 53 deletions(-)
10762
10763 commit d2ec151e490b227e7f3d6879bf7a893577dfefa5
10764 Author: Chris Wilson <chris@chris-wilson.co.uk>
10765 Date:   Tue Mar 30 15:23:18 2010 +0100
10766
10767     perf/micro: Exercise different sizes and antialising modes with glyphs
10768
10769  perf/micro/glyphs.c |   85 ++++++++++++++++++++++++++++++++++++++++++++++-----
10770  1 file changed, 77 insertions(+), 8 deletions(-)
10771
10772 commit 72481acf0d1e8648c5d03ce51f84c639132475a9
10773 Author: Chris Wilson <chris@chris-wilson.co.uk>
10774 Date:   Tue Mar 30 04:10:28 2010 +0100
10775
10776     perf: Compute ops per second
10777     
10778     Provide a hook for the test to be able to compute the number of ops per
10779     second. For instance, the glyphs test uses it to report the number of
10780     kiloglyph per second Cairo is able to render.
10781
10782  perf/cairo-perf-micro.c            |   47 +++++++++++++++++++++++-------------
10783  perf/cairo-perf.h                  |    9 +++++--
10784  perf/micro/box-outline.c           |    4 +--
10785  perf/micro/cairo-perf-cover.c      |    5 ++--
10786  perf/micro/composite-checker.c     |    2 +-
10787  perf/micro/dragon.c                |   10 ++++----
10788  perf/micro/fill.c                  |    6 ++---
10789  perf/micro/glyphs.c                |   35 +++++++++++++++++++++++++--
10790  perf/micro/intersections.c         |    8 +++---
10791  perf/micro/long-dashed-lines.c     |    2 +-
10792  perf/micro/long-lines.c            |    8 +++---
10793  perf/micro/mask.c                  |   18 +++++++-------
10794  perf/micro/mosaic.c                |    8 +++---
10795  perf/micro/paint-with-alpha.c      |    2 +-
10796  perf/micro/paint.c                 |    2 +-
10797  perf/micro/pattern_create_radial.c |    2 +-
10798  perf/micro/pythagoras-tree.c       |    2 +-
10799  perf/micro/rectangles.c            |    6 ++---
10800  perf/micro/rounded-rectangles.c    |    6 ++---
10801  perf/micro/spiral.c                |   28 ++++++++++-----------
10802  perf/micro/stroke.c                |    4 +--
10803  perf/micro/subimage_copy.c         |    2 +-
10804  perf/micro/tessellate.c            |    6 ++---
10805  perf/micro/text.c                  |    2 +-
10806  perf/micro/twin.c                  |    2 +-
10807  perf/micro/unaligned-clip.c        |    2 +-
10808  perf/micro/world-map.c             |    2 +-
10809  perf/micro/zrusin.c                |    4 +--
10810  28 files changed, 142 insertions(+), 92 deletions(-)
10811
10812 commit 2a98d0586c19fbb2b555f471895d73f253c4943b
10813 Author: Chris Wilson <chris@chris-wilson.co.uk>
10814 Date:   Mon Mar 15 18:23:23 2010 +0000
10815
10816     drm/i915: Avoid using another unpreserved temporary
10817     
10818     As we may load from a sampler, we can not use on of the unpreserved
10819     temporaries to store the intermediate colour result.
10820
10821  src/drm/cairo-drm-i915-shader.c |   26 +++++++++++++++-----------
10822  1 file changed, 15 insertions(+), 11 deletions(-)
10823
10824 commit 26f963557bf065fd25b9c4f6652a252735a0fb74
10825 Author: Chris Wilson <chris@chris-wilson.co.uk>
10826 Date:   Mon Mar 15 18:22:06 2010 +0000
10827
10828     drm/i915: Normalize spans opacity value
10829     
10830     On the generic path I forgot to rescale the alpha value into [0,1].
10831
10832  src/drm/cairo-drm-i915-spans.c |    7 ++++---
10833  1 file changed, 4 insertions(+), 3 deletions(-)
10834
10835 commit 97f8c20727eaeb2dfddb0d4796192cc042eb14fa
10836 Author: Chris Wilson <chris@chris-wilson.co.uk>
10837 Date:   Sat Mar 27 21:52:16 2010 +0000
10838
10839     boilerplate: Create an image16 target
10840     
10841     In order to exercise the newly restored r5g6g5 support, we need to
10842     create an appropriate surface and feed it through the test and
10843     performance suites.
10844
10845  boilerplate/cairo-boilerplate-directfb.c       |    6 ++-
10846  boilerplate/cairo-boilerplate-drm.c            |    6 ++-
10847  boilerplate/cairo-boilerplate-gl.c             |   12 +++--
10848  boilerplate/cairo-boilerplate-pdf.c            |    4 +-
10849  boilerplate/cairo-boilerplate-ps.c             |    8 +--
10850  boilerplate/cairo-boilerplate-quartz.c         |    3 ++
10851  boilerplate/cairo-boilerplate-script.c         |    2 +-
10852  boilerplate/cairo-boilerplate-skia.c           |    6 ++-
10853  boilerplate/cairo-boilerplate-svg.c            |    8 +--
10854  boilerplate/cairo-boilerplate-test-surfaces.c  |   21 ++++----
10855  boilerplate/cairo-boilerplate-vg.c             |   12 +++--
10856  boilerplate/cairo-boilerplate-win32-printing.c |    4 +-
10857  boilerplate/cairo-boilerplate-win32.c          |    6 ++-
10858  boilerplate/cairo-boilerplate-xcb.c            |   21 +++++---
10859  boilerplate/cairo-boilerplate-xlib.c           |   12 +++--
10860  boilerplate/cairo-boilerplate.c                |   39 ++++++++++++--
10861  boilerplate/cairo-boilerplate.h                |    1 +
10862  perf/cairo-perf-micro.c                        |   59 +--------------------
10863  perf/cairo-perf-trace.c                        |   67 +-----------------------
10864  19 files changed, 120 insertions(+), 177 deletions(-)
10865
10866 commit 022291be1cbddf4f6722f0bf76ebda6922780276
10867 Author: Oleg Romashin <romaxa@gmail.com>
10868 Date:   Wed Mar 24 13:12:25 2010 -0400
10869
10870     Add back support for CAIRO_FORMAT_RGB16_565
10871     
10872     Due to slow memory speed, 16bpp color depth is still very popular on mobile
10873     devices. Maemo5 is also using 16bpp color depth.
10874
10875  src/cairo-deprecated.h    |   14 --------------
10876  src/cairo-image-surface.c |   16 +++++++++++++++-
10877  src/cairo-xlib-display.c  |   28 +++++++++++++++++++++++++---
10878  src/cairo.h               |    7 ++-----
10879  src/cairoint.h            |    2 +-
10880  5 files changed, 43 insertions(+), 24 deletions(-)
10881
10882 commit 36e12b1952f9bdc52491c5a9bdf8ce155865c362
10883 Author: Chris Wilson <chris@chris-wilson.co.uk>
10884 Date:   Wed Mar 24 12:14:20 2010 +0000
10885
10886     subsurface: Ignore return from _cairo_clip_init_copy()
10887     
10888     The return is just a hint that the clip is empty, however we are about
10889     to immediately apply the surface clip and so do not care for an
10890     'optimised' path.
10891
10892  src/cairo-surface-subsurface.c |   15 ++++++++++-----
10893  1 file changed, 10 insertions(+), 5 deletions(-)
10894
10895 commit e356e5d18b923d9b0ff83e9460582710f9e515d9
10896 Author: Chris Wilson <chris@chris-wilson.co.uk>
10897 Date:   Wed Mar 24 11:38:19 2010 +0000
10898
10899     recording: Fix leak of clip from snapshots of recording surfaces.
10900
10901  src/cairo-recording-surface.c |    1 +
10902  1 file changed, 1 insertion(+)
10903
10904 commit 5b4885f693c0d800da7160770b341166e3bdea61
10905 Author: Chris Wilson <chris@chris-wilson.co.uk>
10906 Date:   Wed Mar 24 11:25:29 2010 +0000
10907
10908     clip: propagate the no-clip through the copy.
10909
10910  src/cairo-clip.c |    1 +
10911  1 file changed, 1 insertion(+)
10912
10913 commit b3e0393161904c2fea62b0198dea551a77201c19
10914 Author: Chris Wilson <chris@chris-wilson.co.uk>
10915 Date:   Wed Mar 24 11:21:36 2010 +0000
10916
10917     clip: Don't reduce all-clip to no-clip.
10918
10919  src/cairo-clip.c |    3 ++-
10920  1 file changed, 2 insertions(+), 1 deletion(-)
10921
10922 commit b12114f296e4e8db3207ab593a431fd0ca2ee67c
10923 Author: Chris Wilson <chris@chris-wilson.co.uk>
10924 Date:   Wed Mar 24 11:08:38 2010 +0000
10925
10926     snapshot: Finish the clone.
10927     
10928     Kill ref cycles from snapshots patterns by explicitly calling finish on
10929     the cloned surface.
10930
10931  src/cairo-surface-snapshot.c |    1 +
10932  1 file changed, 1 insertion(+)
10933
10934 commit db913d731e50505892697bdc919f9fe146eea6ab
10935 Author: Chris Wilson <chris@chris-wilson.co.uk>
10936 Date:   Wed Mar 24 10:16:58 2010 +0000
10937
10938     xcb: Ensure that we own the glyph cache before use.
10939     
10940     Sigh. One day, I will enable multiple glyph caches to be attached to a
10941     scaled font, but for today, simply avoid the crash.
10942
10943  src/cairo-xcb-surface-render.c |   38 +++++++++++++++++++++++++++++---------
10944  1 file changed, 29 insertions(+), 9 deletions(-)
10945
10946 commit 6da3cea3564bd8c5de37bf2244a2dd656202e4ec
10947 Author: Chris Wilson <chris@chris-wilson.co.uk>
10948 Date:   Tue Mar 23 20:53:11 2010 +0000
10949
10950     scaled-font: Destroy the old surface when replacing scaled_glyph->recording
10951
10952  src/cairo-scaled-font.c |   11 ++++++++---
10953  1 file changed, 8 insertions(+), 3 deletions(-)
10954
10955 commit 548092fe8c9af1423a10e9566cbc4315d2f28efc
10956 Author: Chris Wilson <chris@chris-wilson.co.uk>
10957 Date:   Tue Mar 23 20:08:04 2010 +0000
10958
10959     script: Free the surface/font bitmaps.
10960
10961  src/cairo-script-surface.c |   13 +++++++++++++
10962  1 file changed, 13 insertions(+)
10963
10964 commit 83d1bd9f37da93fbdc586788b6891d0eccdb7cee
10965 Author: Chris Wilson <chris@chris-wilson.co.uk>
10966 Date:   Tue Mar 23 20:04:10 2010 +0000
10967
10968     script: Manually unlink font entries upon destruction
10969     
10970     As the device is already finished, we can not lock it without raising an
10971     error, so we have to open code the destruction of the font entries.
10972     Fortunately we can make several simplifying assumptions about the
10973     required cleanup as we know the device is also being destroyed.
10974
10975  src/cairo-script-surface.c |    4 +++-
10976  1 file changed, 3 insertions(+), 1 deletion(-)
10977
10978 commit cccf6753ab68b0795351da2626f9e4ecd60c2a2e
10979 Author: Chris Wilson <chris@chris-wilson.co.uk>
10980 Date:   Tue Mar 23 19:45:35 2010 +0000
10981
10982     script: More acquire device fixes.
10983     
10984     We also need to acquire the device upon finish, similar surface creation
10985     and the pagination functions, i.e. the other times outside of the
10986     drawing ops that must modify the shared context/device.
10987
10988  src/cairo-script-surface.c |   69 ++++++++++++++++++++++++++++++++++----------
10989  1 file changed, 54 insertions(+), 15 deletions(-)
10990
10991 commit 25a77b263d170265a9acf1697793cbbfa07dd852
10992 Author: Chris Wilson <chris@chris-wilson.co.uk>
10993 Date:   Tue Mar 23 16:49:21 2010 +0000
10994
10995     boilerplate: Cleanup the list of backends upon shutdown.
10996
10997  boilerplate/cairo-boilerplate.c |   13 +++++++++++++
10998  boilerplate/cairo-boilerplate.h |    3 +++
10999  perf/cairo-perf-micro.c         |    2 ++
11000  perf/cairo-perf-trace.c         |    2 ++
11001  test/cairo-test.c               |    2 ++
11002  5 files changed, 22 insertions(+)
11003
11004 commit 1ddcd5cf31bb47e9ff18ddf94d0a4648fa70a617
11005 Author: Chris Wilson <chris@chris-wilson.co.uk>
11006 Date:   Tue Mar 23 16:43:39 2010 +0000
11007
11008     clip: Remove the redundant _cairo_clip_init_rectangle()
11009     
11010     As _cairo_clip_init_rectangle() is equivalent and more importantly more
11011     clearly written as:
11012       _cairo_clip_init(&clip);
11013       if (status = _cairo_clip_rectangle(&clip, &rect)) {
11014          _cairo_clip_fini(&fini);
11015          return status;
11016       }
11017     perform the transformation and in the process catch a few mistakes along
11018     error paths.
11019
11020  src/cairo-clip-private.h      |    4 ----
11021  src/cairo-clip.c              |   30 +++++++++++-------------------
11022  src/cairo-paginated-surface.c |   18 +++++++++---------
11023  src/cairo-recording-surface.c |   11 +++++------
11024  src/cairo-surface-wrapper.c   |   14 +++++---------
11025  5 files changed, 30 insertions(+), 47 deletions(-)
11026
11027 commit 61ad28fe7d334c63197ae3881d5edd074d63cfec
11028 Author: Chris Wilson <chris@chris-wilson.co.uk>
11029 Date:   Tue Mar 23 10:44:16 2010 +0000
11030
11031     device: Add language binding interfaces.
11032     
11033     Damien Carbonne reported that cairo_device_t lacked the language binding
11034     hooks normally associated with cairo objects. So add the missing
11035     get_reference_count, get_user_data and set_user_data.
11036
11037  src/cairo-device-private.h |    1 +
11038  src/cairo-device.c         |   78 ++++++++++++++++++++++++++++++++++++++++++++
11039  src/cairo.h                |   14 ++++++++
11040  3 files changed, 93 insertions(+)
11041
11042 commit 8a8c2f6c282c1822dc1a638c2258c8449b1d678b
11043 Author: Chris Wilson <chris@chris-wilson.co.uk>
11044 Date:   Tue Mar 23 10:34:06 2010 +0000
11045
11046     cairo: Typos in docs.
11047     
11048     A couple of typos reported by Damien Carbonne.
11049
11050  src/cairo-recording-surface.c |   10 ++++------
11051  src/cairo.h                   |    4 ++--
11052  2 files changed, 6 insertions(+), 8 deletions(-)
11053
11054 commit 4c55c87478a2595569f9c1f13657c3d309f31407
11055 Author: Chris Wilson <chris@chris-wilson.co.uk>
11056 Date:   Tue Mar 23 10:05:35 2010 +0000
11057
11058     image: Free traps after conversion from boxes.
11059
11060  src/cairo-image-surface.c |    9 ++++++---
11061  1 file changed, 6 insertions(+), 3 deletions(-)
11062
11063 commit 07f7bddc30157fed8f9dced00fef44a2307b4b01
11064 Author: Chris Wilson <chris@chris-wilson.co.uk>
11065 Date:   Tue Mar 23 10:05:35 2010 +0000
11066
11067     xcb: Free traps after conversion from boxes.
11068
11069  src/cairo-xcb-surface-render.c |    9 ++++++---
11070  1 file changed, 6 insertions(+), 3 deletions(-)
11071
11072 commit 181403fb534d0216123043bcd3ee6cff60e1e6fd
11073 Author: Chris Wilson <chris@chris-wilson.co.uk>
11074 Date:   Tue Mar 23 09:38:59 2010 +0000
11075
11076     test/clear-source: Free source after use.
11077
11078  test/clear-source.c |   38 ++++++++++++++++++++++----------------
11079  1 file changed, 22 insertions(+), 16 deletions(-)
11080
11081 commit 35432e37c264e1ace764b4a1393d9b8579eb52c0
11082 Author: Chris Wilson <chris@chris-wilson.co.uk>
11083 Date:   Tue Mar 23 09:35:51 2010 +0000
11084
11085     xcb: Destroy reference to clip surface after use.
11086
11087  src/cairo-xcb-surface-render.c |    3 +++
11088  1 file changed, 3 insertions(+)
11089
11090 commit 98e3dfbb899f0228fc9987a56af93b012989a27a
11091 Author: Chris Wilson <chris@chris-wilson.co.uk>
11092 Date:   Tue Mar 23 09:35:31 2010 +0000
11093
11094     xcb: Relinquish the xcb connection on finish.
11095
11096  src/cairo-xcb-connection.c |    7 +++++++
11097  1 file changed, 7 insertions(+)
11098
11099 commit 638cae3bdeaf0b10d1fd59a519f5d7a05c5b179c
11100 Author: Chris Wilson <chris@chris-wilson.co.uk>
11101 Date:   Tue Mar 23 08:25:13 2010 +0000
11102
11103     xcb: Fix leak of clip rectangle during show-glyphs.
11104
11105  src/cairo-xcb-surface-render.c |   15 ++++++---------
11106  1 file changed, 6 insertions(+), 9 deletions(-)
11107
11108 commit 1d4ad787747b5c92c3b062afde5b98c72ac4cc95
11109 Author: Chris Wilson <chris@chris-wilson.co.uk>
11110 Date:   Tue Mar 23 08:20:49 2010 +0000
11111
11112     test/pthread-same-source: Free source after use.
11113
11114  test/pthread-same-source.c |    6 ++++++
11115  1 file changed, 6 insertions(+)
11116
11117 commit bfc027ac6d05f489d0d26110c225d2871be0971c
11118 Author: Chris Wilson <chris@chris-wilson.co.uk>
11119 Date:   Tue Mar 23 08:16:57 2010 +0000
11120
11121     test/clip-image: Free image after use.
11122
11123  test/clip-image.c |    1 +
11124  1 file changed, 1 insertion(+)
11125
11126 commit e214f09d633093ce9b2ca0bffce10bc68a6e30b0
11127 Author: Chris Wilson <chris@chris-wilson.co.uk>
11128 Date:   Mon Mar 22 22:20:58 2010 +0000
11129
11130     xcb: Consume the implicit reference for the cached connection on finish
11131
11132  src/cairo-xcb-connection.c |    5 +++++
11133  1 file changed, 5 insertions(+)
11134
11135 commit c235543bdfd8b1495cb7ae8f2a82b6267c4d9b84
11136 Author: Chris Wilson <chris@chris-wilson.co.uk>
11137 Date:   Mon Mar 22 22:15:44 2010 +0000
11138
11139     xcb: Destroy reference to local source picture in show-glyphs.
11140
11141  src/cairo-xcb-surface-render.c |   14 +++++++++++---
11142  1 file changed, 11 insertions(+), 3 deletions(-)
11143
11144 commit c42cdd2c9d883ef359ac57b65eba4ed15441181d
11145 Author: Chris Wilson <chris@chris-wilson.co.uk>
11146 Date:   Mon Mar 22 20:14:09 2010 +0000
11147
11148     xcb: Gracefully destroy any lingering fallback during finish.
11149     
11150     A fallback should never persist beyond the flush into the finish, but
11151     yet one remains in test/clip-shapes-unaligned-rectangles. For the time
11152     been, simply clean up the rogue surface.
11153
11154  src/cairo-xcb-surface.c |   19 ++++++++++++-------
11155  1 file changed, 12 insertions(+), 7 deletions(-)
11156
11157 commit fd96aa3de2218dcc6671636f35a24738e3cae996
11158 Author: Chris Wilson <chris@chris-wilson.co.uk>
11159 Date:   Mon Mar 22 19:07:31 2010 +0000
11160
11161     gl: Hook in glyph cache finalisation.
11162
11163  src/cairo-gl-glyphs.c  |   23 ++++++++++++-----------
11164  src/cairo-gl-private.h |    7 ++++---
11165  src/cairo-gl-surface.c |    4 ++++
11166  3 files changed, 20 insertions(+), 14 deletions(-)
11167
11168 commit c7511fa7ad932675c8cebba504d3c538ead3c44c
11169 Author: Chris Wilson <chris@chris-wilson.co.uk>
11170 Date:   Mon Mar 22 17:21:38 2010 +0000
11171
11172     drm/intel: Revoke glyph caches on device finish
11173
11174  src/drm/cairo-drm-i915-glyphs.c   |    2 +-
11175  src/drm/cairo-drm-i965-glyphs.c   |    2 +-
11176  src/drm/cairo-drm-intel-private.h |    1 +
11177  src/drm/cairo-drm-intel.c         |   18 ++++++++++++------
11178  4 files changed, 15 insertions(+), 8 deletions(-)
11179
11180 commit 9ba73bdfc451d205f411e3dbc8073ae10d58b4f3
11181 Author: Chris Wilson <chris@chris-wilson.co.uk>
11182 Date:   Mon Mar 22 17:17:08 2010 +0000
11183
11184     gl: Decouple cache from scaled-font on context destruction
11185
11186  src/cairo-gl-glyphs.c           |    8 +++++++-
11187  src/cairo-gl-private.h          |    4 ++++
11188  src/cairo-gl-surface.c          |   14 +++++++++++++-
11189  src/cairo-scaled-font-private.h |    2 ++
11190  src/cairo-scaled-font.c         |    1 +
11191  5 files changed, 27 insertions(+), 2 deletions(-)
11192
11193 commit 7812d095ab7657400be470af8fdc7f20eaedd6c5
11194 Author: Chris Wilson <chris@chris-wilson.co.uk>
11195 Date:   Mon Mar 22 16:46:58 2010 +0000
11196
11197     drm/intel: Replace open-coding of _cairo_rtree_node_remove()
11198
11199  src/drm/cairo-drm-intel.c |   17 +++--------------
11200  1 file changed, 3 insertions(+), 14 deletions(-)
11201
11202 commit 48d847162558dc09388942a96ff443c253068d68
11203 Author: Chris Wilson <chris@chris-wilson.co.uk>
11204 Date:   Mon Mar 22 13:05:23 2010 +0000
11205
11206     recording: Cleanup the clip on error.
11207     
11208     Whilst recording the commands, remember to cleanup the local clip after
11209     detecting an error.
11210
11211  src/cairo-recording-surface.c |    5 +++++
11212  src/cairo-surface-snapshot.c  |    2 ++
11213  2 files changed, 7 insertions(+)
11214
11215 commit c87737c2bf983a8555b08c526050423a5eab5642
11216 Author: Chris Wilson <chris@chris-wilson.co.uk>
11217 Date:   Mon Mar 22 13:04:19 2010 +0000
11218
11219     ps: Skip surface emission if in error state.
11220     
11221     During finish, if we encountered an error during the construction of the
11222     surface, simply proceed to cleanup rather than emit the incomplete and
11223     potentially subtly broken output.
11224
11225  src/cairo-ps-surface.c |    4 ++++
11226  1 file changed, 4 insertions(+)
11227
11228 commit e961cdf568f4551bbd6bca6b7505fc9f9b0805f9
11229 Author: Chris Wilson <chris@chris-wilson.co.uk>
11230 Date:   Mon Mar 22 10:48:48 2010 +0000
11231
11232     image: Special case wholly unbounded fixups.
11233     
11234     In the event of an empty bounded rectangle, the computation of the
11235     unbounded - bounded rectangles leads to negative areas, integer overflow
11236     and death.
11237     
11238     [And similarly for the derived surfaces.]
11239
11240  src/cairo-image-surface.c        |   24 ++++++++++
11241  src/cairo-xcb-surface-render.c   |   62 ++++++++++++++-----------
11242  src/drm/cairo-drm-i915-surface.c |   62 ++++++++++++++-----------
11243  src/drm/cairo-drm-i965-surface.c |   93 ++++++++++++++++++++------------------
11244  4 files changed, 144 insertions(+), 97 deletions(-)
11245
11246 commit 844d8ea57d69c9a68fbec64f4438953850f7657f
11247 Author: Chris Wilson <chris@chris-wilson.co.uk>
11248 Date:   Mon Mar 22 10:37:18 2010 +0000
11249
11250     surface: Check pattern for error status.
11251     
11252     Ensure that the error status from patterns is propagated when used by
11253     doing so in the surface layer. Similarly check that a surface pattern
11254     has not been finished.
11255
11256  src/cairo-surface.c |   59 +++++++++++++++++++++++++++++++++++++++++++++++----
11257  1 file changed, 55 insertions(+), 4 deletions(-)
11258
11259 commit 213093f43770d078dd146d5a10b9a5803097b8a8
11260 Author: Chris Wilson <chris@chris-wilson.co.uk>
11261 Date:   Mon Mar 22 10:36:47 2010 +0000
11262
11263     ps: Free page on error path.
11264
11265  src/cairo-ps-surface.c |    1 +
11266  1 file changed, 1 insertion(+)
11267
11268 commit c8a8e57d6af7261d70103ddd46f8da409896b5e7
11269 Author: Chris Wilson <chris@chris-wilson.co.uk>
11270 Date:   Sun Mar 21 20:42:34 2010 +0000
11271
11272     script: Use a stack to push/pop recursed line numbers.
11273     
11274     Still not entirely helpful in the event of recursive parsing without a
11275     reference to the file as well as the line number in the event of an
11276     exception.
11277
11278  util/cairo-script/cairo-script-scanner.c |    8 ++++++--
11279  1 file changed, 6 insertions(+), 2 deletions(-)
11280
11281 commit 4b4de940ee6e76ec9677b5468ebf709c6d2db982
11282 Author: Chris Wilson <chris@chris-wilson.co.uk>
11283 Date:   Sun Mar 21 20:41:18 2010 +0000
11284
11285     script: Remove the version check.
11286     
11287     When compiling we can depend on whatever version of cairo we need, but
11288     we should be wary of checking for runtime compatibility when building
11289     standalone.
11290
11291  util/cairo-script/cairo-script-operators.c |    2 --
11292  1 file changed, 2 deletions(-)
11293
11294 commit a7cb314b060f6ada855ec75b283ef64bf835824a
11295 Author: Chris Wilson <chris@chris-wilson.co.uk>
11296 Date:   Sun Mar 21 20:40:54 2010 +0000
11297
11298     test/any2ppm: Check for errors after executing script.
11299
11300  test/any2ppm.c |    9 ++++++---
11301  1 file changed, 6 insertions(+), 3 deletions(-)
11302
11303 commit b73a33b89e43d63a437035a05cf91df5c3b4d186
11304 Author: Chris Wilson <chris@chris-wilson.co.uk>
11305 Date:   Sun Mar 21 20:40:19 2010 +0000
11306
11307     script: Make the test suite run again!
11308
11309  src/cairo-script-surface.c |  194 +++++++++++++++++++++++---------------------
11310  1 file changed, 103 insertions(+), 91 deletions(-)
11311
11312 commit 2a59f0af6aab5fe0ebb19195d4c018fc5221016c
11313 Author: Chris Wilson <chris@chris-wilson.co.uk>
11314 Date:   Sun Mar 21 20:38:27 2010 +0000
11315
11316     wrapper: Apply device transform inverse as appropriate.
11317     
11318     Fixes many failures of the paginated surfaces as they replayed through
11319     the recording surfaces.
11320
11321  src/cairo-surface-wrapper.c |   89 +++++++++++++++----------------------------
11322  1 file changed, 31 insertions(+), 58 deletions(-)
11323
11324 commit 5720fff827e5149b201a9366179db93ce258b120
11325 Author: Chris Wilson <chris@chris-wilson.co.uk>
11326 Date:   Sun Mar 21 20:37:38 2010 +0000
11327
11328     ps: Destroy the local surface on error.
11329     
11330     Minor leak of the intermediate surface when converting to an opaque
11331     source following an error.
11332
11333  src/cairo-ps-surface.c |    4 +++-
11334  1 file changed, 3 insertions(+), 1 deletion(-)
11335
11336 commit 35f318a59cde9c635036cc14c90878400528882d
11337 Author: Chris Wilson <chris@chris-wilson.co.uk>
11338 Date:   Sun Mar 21 20:36:26 2010 +0000
11339
11340     paginated: Use common is_clear.
11341     
11342     As equivalent processing to the page_is_blank optimisation done inside
11343     the paginated surface is applied by the gstate, remove the redundant
11344     code.
11345
11346  src/cairo-paginated-surface-private.h |    1 -
11347  src/cairo-paginated-surface.c         |   34 +--------------------------------
11348  2 files changed, 1 insertion(+), 34 deletions(-)
11349
11350 commit b101c7dab8cdbf7b9321355a8d2311b2f863f011
11351 Author: Chris Wilson <chris@chris-wilson.co.uk>
11352 Date:   Thu Mar 11 01:48:43 2010 +0000
11353
11354     gl: Add EGL interface
11355     
11356     Enable the EGL backend for GL.
11357
11358  boilerplate/Makefile.win32.features |    8 ++
11359  boilerplate/cairo-boilerplate-gl.c  |   98 ++++++++++++++++++++
11360  build/Makefile.win32.features-h     |    1 +
11361  configure.ac                        |   52 ++++++-----
11362  src/Makefile.sources                |    1 +
11363  src/Makefile.win32.features         |    8 ++
11364  src/cairo-egl-context.c             |  168 +++++++++++++++++++++++++++++++++++
11365  src/cairo-gl.h                      |   14 +++
11366  8 files changed, 327 insertions(+), 23 deletions(-)
11367
11368 commit ca6e4e1f91e0a90666551d2fa74cfc04484d4e80
11369 Author: Chris Wilson <chris@chris-wilson.co.uk>
11370 Date:   Thu Mar 11 01:48:08 2010 +0000
11371
11372     spans: Initialise rects->is_bounded for polygon compat.
11373
11374  src/cairo-spans.c |    2 ++
11375  1 file changed, 2 insertions(+)
11376
11377 commit 6754f1db1716a6570c82e207e21b09a10de120ba
11378 Author: Chris Wilson <chris@chris-wilson.co.uk>
11379 Date:   Wed Mar 10 15:13:00 2010 +0000
11380
11381     gstate: Account for undropped non-transformed glyphs.
11382     
11383     In the simplest case of pass-through glyphs we made a mistake in
11384     propagating the number of glyphs.
11385     
11386     Reported-by: Christophe de Dinechin <christophe@taodyne.com>
11387
11388  src/cairo-gstate.c |    1 +
11389  1 file changed, 1 insertion(+)
11390
11391 commit 5fb36fe5ab2a2b30da213557936122a829493906
11392 Author: Chris Wilson <chris@chris-wilson.co.uk>
11393 Date:   Mon Mar 8 15:32:15 2010 +0000
11394
11395     drm/i965: Acquire device around commit.
11396
11397  src/drm/cairo-drm-i915-surface.c |    4 +-
11398  src/drm/cairo-drm-i965-shader.c  |   13 +++--
11399  src/drm/cairo-drm-i965-surface.c |  106 ++++++++++++++++++++++++++------------
11400  3 files changed, 82 insertions(+), 41 deletions(-)
11401
11402 commit 4083f40fbd085dc2039fe62592cf1239373c7fca
11403 Author: Chris Wilson <chris@chris-wilson.co.uk>
11404 Date:   Sun Mar 7 16:59:57 2010 +0000
11405
11406     glew: don't pull in GL/glu.h
11407
11408  src/glew/GL/glew.h |   10 ----------
11409  1 file changed, 10 deletions(-)
11410
11411 commit 473e006ad6ef0959c8a7059aba0689a16a937732
11412 Author: Chris Wilson <chris@chris-wilson.co.uk>
11413 Date:   Sat Mar 6 18:12:36 2010 +0000
11414
11415     test: Add a1-mask-sample
11416     
11417     Test sampling positions with a NEAREST mask.
11418
11419  test/Makefile.am            |    1 +
11420  test/Makefile.sources       |    1 +
11421  test/a1-mask-sample.c       |   83 +++++++++++++++++++++++++++++++++++++++++++
11422  test/a1-mask-sample.ref.png |  Bin 0 -> 148 bytes
11423  4 files changed, 85 insertions(+)
11424
11425 commit f79b2ceea4722b5059563be1eb55de617fecc004
11426 Author: Chris Wilson <chris@chris-wilson.co.uk>
11427 Date:   Thu Mar 4 19:52:58 2010 +0000
11428
11429     drm/i915: Discard redundant solitary clips during fill
11430
11431  src/drm/cairo-drm-i915-surface.c |   10 ++++++++++
11432  1 file changed, 10 insertions(+)
11433
11434 commit 7cea9ae290ba24e4d2f87cef4228cce5fcb3181b
11435 Author: Chris Wilson <chris@chris-wilson.co.uk>
11436 Date:   Thu Mar 4 17:23:55 2010 +0000
11437
11438     drm/i915: Apply more micro-optimisations when targetting CONTENT_ALPHA
11439
11440  src/drm/cairo-drm-i915-shader.c |   51 ++++++++++++++++++++++++++++-----------
11441  1 file changed, 37 insertions(+), 14 deletions(-)
11442
11443 commit dce8b028cd5b249054e8197a536c29f6ba4110da
11444 Author: Chris Wilson <chris@chris-wilson.co.uk>
11445 Date:   Thu Mar 4 17:13:53 2010 +0000
11446
11447     drm/i915: Adjust clip matrix for clip origin.
11448
11449  src/drm/cairo-drm-i915-shader.c |    8 +++-----
11450  1 file changed, 3 insertions(+), 5 deletions(-)
11451
11452 commit 8e702044b3816002011488c56f1ec9c6b9682eee
11453 Author: Chris Wilson <chris@chris-wilson.co.uk>
11454 Date:   Thu Mar 4 17:13:02 2010 +0000
11455
11456     drm/i915: Handle clip/combine coords for spans.
11457
11458  src/drm/cairo-drm-i915-spans.c |   71 ++++++++++++++++++++++++----------------
11459  1 file changed, 43 insertions(+), 28 deletions(-)
11460
11461 commit e1f0c2e73fa8cda9e38ab182288201fa27a3b363
11462 Author: Chris Wilson <chris@chris-wilson.co.uk>
11463 Date:   Thu Mar 4 17:11:58 2010 +0000
11464
11465     perf: Check for and include unistd.h
11466     
11467     isatty() and access() require unistd.h, so include it!
11468
11469  perf/cairo-perf-trace.c |    8 ++++++++
11470  1 file changed, 8 insertions(+)
11471
11472 commit 271752b944ef0898b5d1be57f26de83c8e40ae3a
11473 Author: Chris Wilson <chris@chris-wilson.co.uk>
11474 Date:   Thu Mar 4 08:24:08 2010 +0000
11475
11476     gl: Pad the gradient texture.
11477     
11478     Fixes test/linear-gradient-subset
11479
11480  src/cairo-gl-surface.c |    1 +
11481  1 file changed, 1 insertion(+)
11482
11483 commit afe6f4f0519606c4bc7e9b705b0cae75692d7af2
11484 Author: Chris Wilson <chris@chris-wilson.co.uk>
11485 Date:   Wed Mar 3 23:06:43 2010 +0000
11486
11487     drm/i915: Use a preserved temporary to store the radial texcoord.
11488
11489  src/drm/cairo-drm-i915-shader.c |   12 ++++++------
11490  1 file changed, 6 insertions(+), 6 deletions(-)
11491
11492 commit 4b2e0478822cb8415be4bac21950dbf03c0f01c8
11493 Author: Chris Wilson <chris@chris-wilson.co.uk>
11494 Date:   Wed Mar 3 21:45:31 2010 +0000
11495
11496     drm/i915: Eliminate redundant radial vertex shader.
11497     
11498     It is always equivalent to a simple texture transformation, so reduce it
11499     to the texture shader.
11500
11501  src/drm/cairo-drm-i915-glyphs.c  |   13 ------------
11502  src/drm/cairo-drm-i915-private.h |    1 -
11503  src/drm/cairo-drm-i915-shader.c  |    8 +-------
11504  src/drm/cairo-drm-i915-spans.c   |   42 ++------------------------------------
11505  4 files changed, 3 insertions(+), 61 deletions(-)
11506
11507 commit 51610517982a4cf70ca8d396d0ad4c58a477c5e9
11508 Author: Chris Wilson <chris@chris-wilson.co.uk>
11509 Date:   Wed Mar 3 21:56:56 2010 +0000
11510
11511     drm/i915: Fix encoding of negated operand channels
11512     
11513     Long ago when converting the pixel shader structs into macros and
11514     reducing the code size by ~100k (the inlines were too depth for constant
11515     propagation and CSE), I broke the encoding of negated channels. So
11516     instead use a single bit to indicate a negation rather than 2s
11517     complement (with sign extension into neighbouring channels, oops). The
11518     disadvantage is that expressing the negated channel is a little more
11519     ugly.
11520
11521  src/drm/cairo-drm-i915-private.h |   22 ++++++++++++++--------
11522  src/drm/cairo-drm-i915-shader.c  |   16 ++++++++--------
11523  2 files changed, 22 insertions(+), 16 deletions(-)
11524
11525 commit 5b973c670807bda2bb355c90ea817e2a2f092f0b
11526 Author: Chris Wilson <chris@chris-wilson.co.uk>
11527 Date:   Wed Mar 3 21:25:11 2010 +0000
11528
11529     drm/i915: Fix crash with linear-step-function
11530     
11531     Avoid the potential divide by zero by falling back to pixman rendered
11532     gradient textures for such troublesome input.
11533
11534  src/drm/cairo-drm-i915-shader.c |   17 +++++++++++------
11535  1 file changed, 11 insertions(+), 6 deletions(-)
11536
11537 commit 404ead7eebafa7ca077e1d012dde0a598b64245a
11538 Author: Chris Wilson <chris@chris-wilson.co.uk>
11539 Date:   Wed Mar 3 21:01:49 2010 +0000
11540
11541     drm/i915: Ensure simple alpha is written to green on alpha-only surfaces.
11542     
11543     The intricacies of h/w make convoluted s/w.
11544
11545  src/drm/cairo-drm-i915-shader.c |   20 ++++++++++++++------
11546  1 file changed, 14 insertions(+), 6 deletions(-)
11547
11548 commit 1f2daf652480ef768f847467d9171b5e4a7f01a3
11549 Author: Chris Wilson <chris@chris-wilson.co.uk>
11550 Date:   Wed Mar 3 20:06:08 2010 +0000
11551
11552     drm/i915: Avoid double multiplication of linear alpha.
11553
11554  src/drm/cairo-drm-i915-shader.c |    8 ++------
11555  1 file changed, 2 insertions(+), 6 deletions(-)
11556
11557 commit cdaef58c19a191632473fcbbe688e6231c02b9b2
11558 Author: Chris Wilson <chris@chris-wilson.co.uk>
11559 Date:   Wed Mar 3 18:52:40 2010 +0000
11560
11561     drm/i915: Acquire device before shader commit.
11562
11563  src/drm/cairo-drm-i915-shader.c  |    2 +
11564  src/drm/cairo-drm-i915-surface.c |  111 +++++++++++++++++++++++++-------------
11565  2 files changed, 77 insertions(+), 36 deletions(-)
11566
11567 commit dd6f96dd4aeb48262d5af8a3006e6404521c151b
11568 Author: Chris Wilson <chris@chris-wilson.co.uk>
11569 Date:   Wed Mar 3 16:06:25 2010 +0000
11570
11571     drm/i965: Ignore flushing on device finish.
11572
11573  src/drm/cairo-drm-i965-surface.c |    3 +++
11574  1 file changed, 3 insertions(+)
11575
11576 commit 3692597567f62dd300e8ce8c43d43ac449616041
11577 Author: Chris Wilson <chris@chris-wilson.co.uk>
11578 Date:   Wed Mar 3 13:56:48 2010 +0000
11579
11580     drm/i965: Merge the constants into the surface stream.
11581     
11582     As we can use an offset from the surface base for the constant buffers,
11583     we need to fold the constants into the surface stream.
11584
11585  src/drm/cairo-drm-i965-private.h |   11 ++----
11586  src/drm/cairo-drm-i965-shader.c  |   26 ++++----------
11587  src/drm/cairo-drm-i965-surface.c |   70 +++-----------------------------------
11588  3 files changed, 14 insertions(+), 93 deletions(-)
11589
11590 commit cc585947574f6e17d299a5987ee69162f63d5a52
11591 Author: Chris Wilson <chris@chris-wilson.co.uk>
11592 Date:   Wed Mar 3 23:06:23 2010 +0000
11593
11594     drm/intel: Set the 1D gradient texture to be untiled.
11595
11596  src/drm/cairo-drm-intel.c |    1 +
11597  1 file changed, 1 insertion(+)
11598
11599 commit 543cf073643b259096ee2a95d91b9067395a7e09
11600 Author: Chris Wilson <chris@chris-wilson.co.uk>
11601 Date:   Wed Mar 3 21:19:41 2010 +0000
11602
11603     drm/intel: Set default extend mode for rendering gradient subsets.
11604
11605  src/drm/cairo-drm-intel.c |    1 +
11606  1 file changed, 1 insertion(+)
11607
11608 commit 521d1c1d2c51bca07db1aed3c7f62d860cece3f4
11609 Author: Chris Wilson <chris@chris-wilson.co.uk>
11610 Date:   Wed Mar 3 20:25:54 2010 +0000
11611
11612     surface: Simplify is_clear logic.
11613     
11614     As we pre-check whether the operation is a no-op on an already cleared
11615     surface, then for all but a paint with CLEAR and no clip, the result is
11616     a non-clear surface.
11617
11618  src/cairo-surface.c |   22 ++++++++--------------
11619  1 file changed, 8 insertions(+), 14 deletions(-)
11620
11621 commit 017db956644fa1da22033653490f362d1e3e47e0
11622 Author: Chris Wilson <chris@chris-wilson.co.uk>
11623 Date:   Wed Mar 3 20:06:30 2010 +0000
11624
11625     gstate: Use _cairo_pattern_clear for CLEAR.
11626
11627  src/cairo-gstate.c |  100 ++++++++++++++++++++++++++++++++--------------------
11628  1 file changed, 62 insertions(+), 38 deletions(-)
11629
11630 commit 70412bba0e9fd0ac6e7343d7aebe953355207aab
11631 Author: Chris Wilson <chris@chris-wilson.co.uk>
11632 Date:   Wed Mar 3 17:34:39 2010 +0000
11633
11634     test: Avoid derefencing a NULL xcb connection
11635
11636  test/xcb-surface-source.c |   23 ++++++++++++++---------
11637  1 file changed, 14 insertions(+), 9 deletions(-)
11638
11639 commit 5bfea8447b1b2333218295f51a9474d061192d49
11640 Author: Chris Wilson <chris@chris-wilson.co.uk>
11641 Date:   Wed Mar 3 21:32:13 2010 +0000
11642
11643     test: Add references for rounded-rectangle-{fill,stroke}
11644
11645  test/Makefile.am                      |    2 ++
11646  test/rounded-rectangle-fill.ref.png   |  Bin 0 -> 787 bytes
11647  test/rounded-rectangle-stroke.ref.png |  Bin 0 -> 871 bytes
11648  3 files changed, 2 insertions(+)
11649
11650 commit 4126d580d8b9db9217ed17aadcce20b14e77a00b
11651 Author: Chris Wilson <chris@chris-wilson.co.uk>
11652 Date:   Tue Mar 2 14:38:36 2010 +0000
11653
11654     surface-fallback: Free traps on composite_trapezoids() error
11655
11656  src/cairo-surface-fallback.c |    3 ++-
11657  1 file changed, 2 insertions(+), 1 deletion(-)
11658
11659 commit 8a59522bbdc61d5c90f1ae55111b5408865755b3
11660 Author: Chris Wilson <chris@chris-wilson.co.uk>
11661 Date:   Tue Mar 2 14:36:16 2010 +0000
11662
11663     surface-fallback: Propagate NOTHING_TO_DO
11664     
11665     NOTHING_TO_DO is converted to SUCCESS by the surface layer, so clean up
11666     the code slightly by reducing the number of checks and conversions.
11667
11668  src/cairo-surface-fallback.c |   15 +++------------
11669  1 file changed, 3 insertions(+), 12 deletions(-)
11670
11671 commit f07195860620959c27d43080a7b987e28222735a
11672 Author: Chris Wilson <chris@chris-wilson.co.uk>
11673 Date:   Tue Mar 2 13:57:02 2010 +0000
11674
11675     xlib: Handle a1 image uploads through converter
11676     
11677     Fixes test/large-source [xlib]
11678
11679  src/cairo-xlib-surface.c |    4 +++-
11680  1 file changed, 3 insertions(+), 1 deletion(-)
11681
11682 commit f979dd22d8f48e6ac7c50372c7d180c3b590dc74
11683 Author: Chris Wilson <chris@chris-wilson.co.uk>
11684 Date:   Tue Mar 2 11:20:11 2010 +0000
11685
11686     image: Don't rely on clip regions being clipped to surface extents.
11687     
11688     Fixes a crash in test/clip-fill-unbounded [xlib-fallback].
11689
11690  src/cairo-image-surface.c |   32 ++++++++++++++++++++------------
11691  1 file changed, 20 insertions(+), 12 deletions(-)
11692
11693 commit 15d9c5fcd8881b4593ec23633450a4f629b6d42b
11694 Author: Alexander Shulgin <alex.shulgin@gmail.com>
11695 Date:   Sat Feb 20 20:59:32 2010 +0200
11696
11697     Added new MIME type CAIRO_MIME_TYPE_URI and it's support in SVG backend
11698     
11699     The rationale behind this change is that when someone is trying to
11700     draw on a SVG surface using image surface patterns, the resulting SVG
11701     file can take up to ridiculous 20 megabytes for 3-4 typical
11702     photographic images in a single SVG file.  This also can take
11703     significant amount of CPU time to complete.
11704     
11705     The reason for this behaviour is that currently whenever SVG backend
11706     needs to emit an image tag for a surface pattern it takes a snapshot
11707     of the subject surface, encodes it in PNG, then Base64-encodes and
11708     emits the (huge) resulting string.  With use of
11709     cairo_surface_set_mime_data API this can be somewhat improved by
11710     associating JPEG image contents with the corresponding surfaces.
11711     Still this doesn't allow for post-processing of involved photographic
11712     images without regenerating the SVG file.
11713     
11714     As SVG specification allows URIs in the image tag's xlink:href
11715     attribute, it is possible instead of embedding encoded image data to
11716     simply link image files residing physically on the same medium as the
11717     generated SVG file: files on disk under common directory, files on a
11718     web server at common base URI, etc.
11719     
11720     To make this happen we add new (unofficial) MIME type "text/x-uri" and
11721     let users associate URIs with surfaces through
11722     cairo_surface_set_mime_data() API.  When SVG backend needs to emit
11723     surface contents and it sees "text/x-uri" attached to the surface, it
11724     emits this data instead of taking snapshot.  The URI data is emitted
11725     as is, so correctness check is left solely to the client code.
11726
11727  doc/public/cairo-sections.txt      |    1 +
11728  doc/public/tmpl/cairo-surface.sgml |    7 ++++
11729  src/cairo-surface.c                |   16 +++++++-
11730  src/cairo-svg-surface.c            |   72 ++++++++++++++++++++++++++++++++++--
11731  src/cairo.h                        |    1 +
11732  5 files changed, 92 insertions(+), 5 deletions(-)
11733
11734 commit d91bab565c54205f8dd7aa8a9de819dc4bc3551c
11735 Author: Chris Wilson <chris@chris-wilson.co.uk>
11736 Date:   Tue Mar 2 08:12:52 2010 +0000
11737
11738     test: Remove the double-clip from clip-group-shapes
11739     
11740     A push/pop is an implicit save/restore, so a clip applied inside the
11741     group is temporary, whereas a clip applied outside affects both the
11742     geometry inside *and* the application of the group when painted. So
11743     reset the clip afterwards to get the desired behaviour.
11744
11745  test/clip-group-shapes.c |    5 +++--
11746  1 file changed, 3 insertions(+), 2 deletions(-)
11747
11748 commit e8c819c5227d29dfdf503022339276eb725a3e97
11749 Author: Chris Wilson <chris@chris-wilson.co.uk>
11750 Date:   Mon Mar 1 10:25:01 2010 +0000
11751
11752     Warnings cleanup for CAIRO_FORMAT_INVALID.
11753     
11754     A few more fixes required case statements to handle the addition of
11755     CAIRO_FORMAT_INVALID.
11756
11757  src/cairo-qt-surface.cpp           |    2 ++
11758  src/drm/cairo-drm-i915-surface.c   |    2 ++
11759  src/drm/cairo-drm-i965-shader.c    |    2 ++
11760  src/drm/cairo-drm-i965-surface.c   |    1 +
11761  src/drm/cairo-drm-intel-surface.c  |    1 +
11762  src/drm/cairo-drm-intel.c          |    3 +++
11763  src/drm/cairo-drm-radeon-surface.c |    1 +
11764  7 files changed, 12 insertions(+)
11765
11766 commit 1a7ba1a8061c373cd66d15b3a1c8dfada92745ef
11767 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
11768 Date:   Mon Mar 1 01:23:17 2010 +0200
11769
11770     xcb: Update minimum required versions of libxcb.
11771     
11772     The new xcb surface uses xcb_writev() and xcb_take_socket()
11773     which were introduced in libxcb 1.1.92.  The boilerplate
11774     in turn uses the major_code and minor_code fields in
11775     xcb_generic_error_t, which were introduced in 1.4.
11776
11777  boilerplate/cairo-boilerplate-xcb.c |    6 ++++++
11778  configure.ac                        |    5 ++++-
11779  2 files changed, 10 insertions(+), 1 deletion(-)
11780
11781 commit 5b7f4bb241f3191c1589cd714f373719efded56e
11782 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
11783 Date:   Sun Feb 28 23:31:06 2010 +0200
11784
11785     api: Introduce CAIRO_FORMAT_INVALID formally in the API.
11786     
11787     We were exposing the actual value of CAIRO_FORMAT_INVALID
11788     through API functions already, so it makes sense to just
11789     go ahead and put it in the cairo_format_t enum.
11790
11791  boilerplate/cairo-boilerplate.c            |    2 +-
11792  src/cairo-debug.c                          |    1 +
11793  src/cairo-gl-glyphs.c                      |    6 ++++++
11794  src/cairo-image-surface.c                  |    6 +++++-
11795  src/cairo-png.c                            |    1 +
11796  src/cairo-scaled-font.c                    |    1 +
11797  src/cairo-script-surface.c                 |   22 ++++++++++++++--------
11798  src/cairo-win32-surface.c                  |    6 ++++++
11799  src/cairo-xcb-surface-render.c             |    3 +++
11800  src/cairo-xlib-display.c                   |    1 +
11801  src/cairo-xlib-surface.c                   |    3 +++
11802  src/cairo-xml-surface.c                    |   28 +++++++++-------------------
11803  src/cairo.h                                |   10 ++++++----
11804  src/cairoint.h                             |    4 ++--
11805  src/drm/cairo-drm-gallium-surface.c        |    1 +
11806  src/drm/cairo-drm-i915-surface.c           |    1 +
11807  src/drm/cairo-drm-intel-surface.c          |    2 +-
11808  src/drm/cairo-drm-intel.c                  |   11 ++++++++---
11809  src/drm/cairo-drm-radeon-surface.c         |    2 +-
11810  test/any2ppm.c                             |    1 +
11811  test/png.c                                 |    1 +
11812  util/cairo-script/cairo-script-operators.c |    5 +++++
11813  util/cairo-sphinx/sphinx.c                 |    9 ++++++---
11814  util/cairo-trace/trace.c                   |    4 ++++
11815  24 files changed, 88 insertions(+), 43 deletions(-)
11816
11817 commit 620cd9c2be4a6bef790e6818652470a5c53d578d
11818 Author: Chris Wilson <chris@chris-wilson.co.uk>
11819 Date:   Sun Feb 28 09:09:20 2010 +0000
11820
11821     image: Allow reduction of repeat modes for unity scaled patterns.
11822
11823  src/cairo-image-surface.c |    9 +++++----
11824  1 file changed, 5 insertions(+), 4 deletions(-)
11825
11826 commit 9ecb0f3cec491264041d0d3718595ad95164980a
11827 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
11828 Date:   Sun Feb 28 01:42:10 2010 +0200
11829
11830     image: Fix bug optimizing surface pattern extend modes.
11831     
11832     The image surface tries to convert surface pattern's extend
11833     modes to EXTEND_NONE, if it can, when converting a cairo_pattern_t
11834     to a pixman_image_t. The check was not taking into account the
11835     transformation matrix on the pattern, so it was possible to
11836     trick it into using EXTEND_NONE by downscaling the source
11837     pattern enough.  This patch changes the optimization to only
11838     take if the pattern has no transformation.
11839     
11840     Fixes surface-pattern-scale-down-extend-{pad,reflect,repeat}
11841     failures in the test suite for the image backend.
11842
11843  src/cairo-image-surface.c |    4 ++++
11844  1 file changed, 4 insertions(+)
11845
11846 commit 260d7f8ace9dea8ff6b3a70f481e433cf399a3d2
11847 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
11848 Date:   Sat Feb 27 17:41:28 2010 +0200
11849
11850     test: Test downscaling and extending a surface pattern.
11851     
11852     Franz Schmid reported a regression in 1.9.6 when downscaling
11853     and using EXTEND_REPEAT for an image surface pattern.  This
11854     patch adds such tests for every extend mode.
11855
11856  test/Makefile.sources                              |    1 +
11857  .../surface-pattern-scale-down-extend-none.ref.png |  Bin 0 -> 329 bytes
11858  test/surface-pattern-scale-down-extend-pad.ref.png |  Bin 0 -> 320 bytes
11859  ...rface-pattern-scale-down-extend-reflect.ref.png |  Bin 0 -> 328 bytes
11860  ...urface-pattern-scale-down-extend-repeat.ref.png |  Bin 0 -> 330 bytes
11861  test/surface-pattern-scale-down-extend.c           |  107 ++++++++++++++++++++
11862  6 files changed, 108 insertions(+)
11863
11864 commit ebadc2ed0810d9941a2f44586016073fea90115b
11865 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
11866 Date:   Sat Feb 27 03:24:55 2010 +0200
11867
11868     test: Add tests covering more clip fast paths in groups.
11869     
11870     The clip-group-shapes-* tests check that it doesn't
11871     matter whether the clip path is set before or after
11872     pushing a group using specific types of clip paths
11873     (aligned/unaligned rectangles and general paths.)
11874
11875  test/Makefile.sources                              |    1 +
11876  test/clip-group-shapes-aligned-rectangles.ref.png  |  Bin 0 -> 378 bytes
11877  test/clip-group-shapes-circles.ref.png             |  Bin 0 -> 1510 bytes
11878  .../clip-group-shapes-unaligned-rectangles.ref.png |  Bin 0 -> 415 bytes
11879  test/clip-group-shapes.c                           |  189 ++++++++++++++++++++
11880  5 files changed, 190 insertions(+)
11881
11882 commit e8d0b4fb39eba799e8649df6dd609f6100efb95e
11883 Author: Chris Wilson <chris@chris-wilson.co.uk>
11884 Date:   Fri Feb 26 10:28:23 2010 +0000
11885
11886     gl: Markup internal functions with cairo_private
11887
11888  src/cairo-gl-private.h |   22 +++++++++++-----------
11889  1 file changed, 11 insertions(+), 11 deletions(-)
11890
11891 commit ef807119ff8ee23c0444f1197f92b06a5caf6024
11892 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
11893 Date:   Thu Feb 25 13:58:53 2010 +0200
11894
11895     compiler: Explain the slim hidden macros.
11896     
11897     The slim_hidden_* macro definitions are rather cryptic at first
11898     sight and I keep needing to rederive how they work just find out
11899     what they're supposed to do.  This patch adds a comment explaining
11900     how they're used and work.
11901
11902  src/cairo-compiler-private.h |   30 ++++++++++++++++++++++++++++++
11903  1 file changed, 30 insertions(+)
11904
11905 commit dcf897967d54f579c737bbcc10af7fa295b586e5
11906 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
11907 Date:   Sun Feb 21 01:45:30 2010 +0200
11908
11909     test: Fix a wrongly typed return value in scaled-font-zero-matrix.
11910     
11911     The test was returning a cairo_status_t, but should be returning
11912     a cairo_test_status_t instead.  When the test failed it was
11913     being reported as having crashed, rather than merely failed,
11914     because the enum value of CAIRO_TEST_CRASHED happened to be
11915     same as the cairo_status_t value of the cairo context at
11916     the end of the failing test.
11917
11918  test/scaled-font-zero-matrix.c |    4 +++-
11919  1 file changed, 3 insertions(+), 1 deletion(-)
11920
11921 commit 8bb06915ed6628c6d8978b6c2fec474bbf08d7e9
11922 Author: Benjamin Otte <otte@redhat.com>
11923 Date:   Tue Feb 23 21:01:13 2010 +0100
11924
11925     image: split cairo_image_surface_coerce()
11926     
11927     Split into a general cairo_image_surface_coerce() that coerces to one of
11928     the 3 supported formats (ARGB32, RGB24, A8) based on content and the
11929     more general cairo_image_surface_coerce_to_format() that coerces to a
11930     specified format.
11931
11932  src/cairo-gl-glyphs.c           |    3 +--
11933  src/cairo-gl-surface.c          |    3 +--
11934  src/cairo-image-surface.c       |   14 ++++++++++++--
11935  src/cairo-png.c                 |    3 +--
11936  src/cairo-scaled-font.c         |    2 +-
11937  src/cairo-script-surface.c      |    4 +---
11938  src/cairo-svg-surface.c         |    4 ++--
11939  src/cairo-type3-glyph-surface.c |    2 +-
11940  src/cairo-xcb-surface-render.c  |   21 ++++-----------------
11941  src/cairoint.h                  |    8 ++++++--
11942  10 files changed, 30 insertions(+), 34 deletions(-)
11943
11944 commit b7c42b6aaa2dba09ed3ff9ae85eae27bec268713
11945 Author: Chris Wilson <chris@chris-wilson.co.uk>
11946 Date:   Tue Feb 23 19:27:16 2010 +0000
11947
11948     drm: Add missing private headers
11949     
11950     Reported by: Thomas Jones <thomas.jones@utoronto.ca>
11951
11952  src/Makefile.sources |    2 ++
11953  1 file changed, 2 insertions(+)
11954
11955 commit 6ab5f89571b0252496d58242ed3060a9486d68d4
11956 Author: Chris Wilson <chris@chris-wilson.co.uk>
11957 Date:   Tue Feb 23 08:54:58 2010 +0000
11958
11959     bo-rectangular: Fix incorrect skipping of colinear eo edges
11960     
11961     Fixes test/bug-bo-rectangular
11962     
11963     After skipping edges, we need to bd careful to only terminate the box on
11964     a closing edge.
11965
11966  src/cairo-bentley-ottmann-rectangular.c |   31 ++++++++++++++-----------------
11967  1 file changed, 14 insertions(+), 17 deletions(-)
11968
11969 commit 1897156d96d77ff28f585794c1eb1baffa105488
11970 Author: Benjamin Otte <otte@gnome.com>
11971 Date:   Tue Feb 23 08:41:27 2010 +0000
11972
11973     test: Add bug-bo-rectangular
11974     
11975     Exercises a bug found in the special case rectangular tessellator with
11976     colinear eo edges.
11977
11978  test/Makefile.am                |    1 +
11979  test/Makefile.sources           |    1 +
11980  test/bug-bo-rectangular.c       |   67 +++++++++++++++++++++++++++++++++++++++
11981  test/bug-bo-rectangular.ref.png |  Bin 0 -> 950 bytes
11982  4 files changed, 69 insertions(+)
11983
11984 commit 21b2457aabf7df2a9f040751cd48e396443262f1
11985 Author: Chris Wilson <chris@chris-wilson.co.uk>
11986 Date:   Mon Feb 22 15:26:37 2010 +0000
11987
11988     fallback: Initialize rects.is_bounded for span renderer.
11989
11990  src/cairo-surface-fallback.c |    3 ++-
11991  1 file changed, 2 insertions(+), 1 deletion(-)
11992
11993 commit 6dd22b767808f721de5d00fe384711ffaa269453
11994 Author: Chris Wilson <chris@chris-wilson.co.uk>
11995 Date:   Mon Feb 22 15:24:08 2010 +0000
11996
11997     gl: Initialise glyphs mask to ensure allocation in absence of stash.
11998
11999  src/cairo-gl-glyphs.c |    1 +
12000  1 file changed, 1 insertion(+)
12001
12002 commit 668ac047e6c790b0f8f58c52f169c688caa81678
12003 Author: Chris Wilson <chris@chris-wilson.co.uk>
12004 Date:   Mon Feb 22 14:57:01 2010 +0000
12005
12006     gl: Avoid attempting to create a program on GLSL-incapable h/w for spans
12007
12008  src/cairo-gl-shaders.c |   17 ++++++++++++-----
12009  src/cairo-gl-surface.c |    6 ++++++
12010  2 files changed, 18 insertions(+), 5 deletions(-)
12011
12012 commit 29df5c91d02276211962a083284feb9a424f0d97
12013 Author: Chris Wilson <chris@chris-wilson.co.uk>
12014 Date:   Mon Feb 22 14:46:18 2010 +0000
12015
12016     gl: Return unsupported for h/w that cannot handle shaders.
12017     
12018     Remove the ASSERT_NOT_REACHED and propagate the unsupported status so
12019     that we fallback to fixed-function gracefully.
12020
12021  src/cairo-gl-shaders.c |   28 +++++++++++++++-------------
12022  1 file changed, 15 insertions(+), 13 deletions(-)
12023
12024 commit 9f46bad301eff967dc0790fc271d872f8a45cedb
12025 Author: Chris Wilson <chris@chris-wilson.co.uk>
12026 Date:   Mon Feb 22 14:20:34 2010 +0000
12027
12028     bo-rectangular: Prevent invalid read during edge traversal
12029     
12030     Benjamin Otte tracked down an invalid read triggered by WebKit. The
12031     cause is that we attempt to dereference the list_head as an edge as we
12032     failed to check that during the skipping of colinear edges we advanced
12033     to the end, under the false assumption that there would always
12034     be a closing edge in a rectangle. This assumption is broken if the tail
12035     rectangles having colinear right edges.
12036
12037  src/cairo-bentley-ottmann-rectangular.c |    6 ++++++
12038  1 file changed, 6 insertions(+)
12039
12040 commit 75db4f0ece194b7aa0455509785a300784778ec4
12041 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
12042 Date:   Mon Feb 22 02:26:47 2010 +0200
12043
12044     text: Fix assert failure from compositing by SOURCE with a mask internally.
12045     
12046     Change the operator used to upgrade the format of a glyph mask from
12047     CAIRO_OPERATOR_SOURCE to CAIRO_OPERATOR_ADD.
12048     
12049     The _cairo_scaled_font_show_glyphs() function upgrades the pixel
12050     format of a glyph mask by calling _cairo_surface_composite() to copy
12051     the mask to an image surface of the upgraded destination.  The way it
12052     was doing it however was to use CAIRO_OPERATOR_SOURCE, a white source
12053     pattern and the glyph's rasterised glyph as the mask pattern.  This
12054     combination isn't supported by _cairo_surface_composite(), which
12055     asserts that no mask is present when the operator is SOURCE or CLEAR.
12056     
12057     Reported by Mikael Magnusson to #cairo on irc.freenode.net.
12058
12059  src/cairo-scaled-font.c |    2 +-
12060  1 file changed, 1 insertion(+), 1 deletion(-)
12061
12062 commit 20f8f17f0e494a57a6b413be76f9333b42d88014
12063 Author: Andrea Canciani <ranma42@gmail.com>
12064 Date:   Sat Feb 20 21:42:23 2010 +0100
12065
12066     xcb: Fix compilation without dri2
12067     
12068     XCB should be able to compile without xcb-drm. To do so it
12069     can include xcb/dri2.h only if xcb-drm is enabled.
12070
12071  src/cairo-xcb-surface.c |    2 ++
12072  1 file changed, 2 insertions(+)
12073
12074 commit fc7be0014d91c8536db8a15ae98b5e78c354c160
12075 Author: Carl Worth <cworth@cworth.org>
12076 Date:   Fri Feb 19 17:39:50 2010 -0800
12077
12078     Update version to 1.9.7.
12079     
12080     Following the 1.9.6 snapshot.
12081
12082  cairo-version.h |    2 +-
12083  1 file changed, 1 insertion(+), 1 deletion(-)
12084
12085 commit cb090136b2b0b89bde69d9575f2f592b46e144e8
12086 Author: Carl Worth <cworth@cworth.org>
12087 Date:   Fri Feb 19 17:28:29 2010 -0800
12088
12089     Update REFERENCE_IMAGES list for "make distcheck".
12090     
12091     As usual, "make distcheck" does not work until we update this list.
12092
12093  test/Makefile.am |    4 +++-
12094  1 file changed, 3 insertions(+), 1 deletion(-)
12095
12096 commit 20cf7c92b332a5fd28227f0cdaa50e3f1080c038
12097 Author: Carl Worth <cworth@cworth.org>
12098 Date:   Fri Feb 19 17:24:33 2010 -0800
12099
12100     Update version to 1.9.6
12101     
12102     For a new cairo 1.9.6 snapshot.
12103
12104  cairo-version.h |    2 +-
12105  1 file changed, 1 insertion(+), 1 deletion(-)
12106
12107 commit 1c3d417c30bd60c51512d23440896a6a7f51bf23
12108 Author: Carl Worth <cworth@cworth.org>
12109 Date:   Fri Feb 19 17:23:16 2010 -0800
12110
12111     NEWS: Add notes for the 1.9.6 snapshot.
12112     
12113     Based on a very brief reading of the git log. There's certainly
12114     a lot of interesting stuff missing here.
12115
12116  NEWS |  114 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
12117  1 file changed, 112 insertions(+), 2 deletions(-)
12118
12119 commit 9057c4b6be5f5cc6f8905e017dde534402ddedda
12120 Author: Eric Anholt <eric@anholt.net>
12121 Date:   Wed Feb 17 12:37:07 2010 -0800
12122
12123     test: Add an option to explicitly specify a test name to the runner.
12124
12125  test/cairo-test-runner.c |   14 +++++++++++---
12126  1 file changed, 11 insertions(+), 3 deletions(-)
12127
12128 commit e0a948bd2ff3504f5d8b3b3f2136cd9b86cf8ec6
12129 Author: Eric Anholt <eric@anholt.net>
12130 Date:   Wed Feb 17 11:48:41 2010 -0800
12131
12132     gl: Be sure to do linear interpolation on gradients.
12133
12134  src/cairo-gl-surface.c |    4 +++-
12135  1 file changed, 3 insertions(+), 1 deletion(-)
12136
12137 commit f1e794956f60a935bfc38ae1c2c2d51d37aadee3
12138 Author: Eric Anholt <eric@anholt.net>
12139 Date:   Wed Feb 17 11:03:52 2010 -0800
12140
12141     gl: Stop trying to handle first/last stop offset in the gradient shaders.
12142     
12143     Since moving to pixman for the gradient textures, first=0 and last=1,
12144     so there's no need to rescale to 0,1 any more.  Shaves 6 Gen4 ISA
12145     instructions, including 2 inverses, in the radial fragment shader.
12146
12147  src/cairo-gl-private.h |    4 ----
12148  src/cairo-gl-shaders.c |   12 ------------
12149  src/cairo-gl-surface.c |   51 +++---------------------------------------------
12150  3 files changed, 3 insertions(+), 64 deletions(-)
12151
12152 commit f813a0243b90ea4151f60f3d13bb6c84d21270df
12153 Author: Eric Anholt <eric@anholt.net>
12154 Date:   Wed Feb 17 10:58:16 2010 -0800
12155
12156     gl: Remove the old unused radial/linear gradients shaders.
12157     
12158     They're dynamically generated now for source/mask.
12159
12160  src/cairo-gl-private.h |    6 ---
12161  src/cairo-gl-shaders.c |  117 ------------------------------------------------
12162  2 files changed, 123 deletions(-)
12163
12164 commit 8da843e996bda7152abb217b3f461a8091dbc880
12165 Author: Eric Anholt <eric@anholt.net>
12166 Date:   Wed Feb 17 10:54:39 2010 -0800
12167
12168     gl: Reduce complexity of radial fragment shaders.
12169     
12170     This shaves 1 Mesa IR instruction, and 6 Gen4 ISA instructions.
12171
12172  src/cairo-gl-shaders.c |   10 ++--------
12173  1 file changed, 2 insertions(+), 8 deletions(-)
12174
12175 commit 89bdc2f8d55d951e15b77e6737c57b208d984b0a
12176 Author: Eric Anholt <eric@anholt.net>
12177 Date:   Thu Feb 4 23:17:59 2010 -0800
12178
12179     gl: Implement draw_image for window targets.
12180     
12181     Creates a texture and draws with it instead of doing TexSubImage.
12182     Open question is whether this wouldn't be better in general.  Fixes
12183     several failures with ARB_texture_rectangle path due to fallbacks to
12184     window drawing.
12185
12186  src/cairo-gl-surface.c |  157 ++++++++++++++++++++++++++++++++++++++----------
12187  1 file changed, 124 insertions(+), 33 deletions(-)
12188
12189 commit fcd29473ff71b74bf541199293a966df2232fd63
12190 Author: Eric Anholt <eric@anholt.net>
12191 Date:   Tue Feb 16 13:47:41 2010 -0800
12192
12193     gl: Fix glyphs texture coordinates for ARB_texture_rectangle.
12194     
12195     Fixes most of the text testcases to match the
12196     ARB_texture_non_power_of_two results.
12197
12198  src/cairo-gl-glyphs.c |   16 ++++++++++------
12199  1 file changed, 10 insertions(+), 6 deletions(-)
12200
12201 commit e845450905f373e4fcb9ae4717cfd2c3e6472423
12202 Author: Eric Anholt <eric@anholt.net>
12203 Date:   Tue Feb 16 13:18:33 2010 -0800
12204
12205     gl: Add GLSL support for ARB_texture_rectangle, and repeat/reflect fallbacks.
12206     
12207     Most testcases are now passing like the ARB_texture_non_power_of_two
12208     case.  EXT_texture_rectangle support is dropped in favor of
12209     ARB_texture_non_power_of_two.  If we have issues with drivers not
12210     having that but having EXT (which just lacks the GLSL part of the
12211     spec), we can split it out.  Right now non-GLSL support in cairo-gl is
12212     probably in bad shape anyway and will require someone that cares for
12213     it in order to get fixed up.
12214
12215  src/cairo-gl-shaders.c |   44 ++++++++++++++++++++++++++++++++++++++++++++
12216  src/cairo-gl-surface.c |   21 +++++++++++++++------
12217  2 files changed, 59 insertions(+), 6 deletions(-)
12218
12219 commit 40294377cb26fab7bcf17ee98b8e4f5bf9778ca2
12220 Author: Dave Airlie <airlied@redhat.com>
12221 Date:   Sat Jan 30 19:24:31 2010 +1000
12222
12223     gl: initial support for EXT_texture_rectangle extension
12224     
12225     The only issue is the repeat modes aren't supported for rectangular
12226     textures. In any case even with ARB_npot radeon's pre-r600 lie and
12227     fail to do repeats anyway.
12228
12229  src/cairo-gl-glyphs.c  |   25 +++++-----
12230  src/cairo-gl-private.h |    1 +
12231  src/cairo-gl-surface.c |  124 +++++++++++++++++++++++++++++-------------------
12232  3 files changed, 89 insertions(+), 61 deletions(-)
12233
12234 commit 6542a515f04d52d10fdc89ee9abc76e54282a2d8
12235 Author: Eric Anholt <eric@anholt.net>
12236 Date:   Sun Feb 7 20:26:56 2010 +0100
12237
12238     gl: Reduce the size of the gradient texture for small numbers of stops.
12239     
12240     This code is stolen straight from cairo-drm-intel.c.  This saves a
12241     bunch of time calculating interpolated points when we just do
12242     interpolation between points at sampling time anyway.  Reduces
12243     firefox-talos-svg from 47 seconds back to the 42 it was at before the
12244     pixman change.
12245     
12246     This regresses the reported result of huge-radial, but there's no
12247     visible difference.
12248
12249  src/cairo-gl-surface.c |   63 ++++++++++++++++++++++++++++++++++--------------
12250  1 file changed, 45 insertions(+), 18 deletions(-)
12251
12252 commit 3b678a88b0d026bb765fd9cdff92fe7235e19848
12253 Author: Chris Wilson <chris@chris-wilson.co.uk>
12254 Date:   Fri Feb 12 16:44:25 2010 +0000
12255
12256     drm/i915: Set a source for unbounded fixups.
12257
12258  src/drm/cairo-drm-i915-surface.c |   52 ++++++++++++++++++++++++++++++--------
12259  1 file changed, 41 insertions(+), 11 deletions(-)
12260
12261 commit 45a275ee29095b69c620ece868411885f4574be9
12262 Author: Chris Wilson <chris@chris-wilson.co.uk>
12263 Date:   Fri Feb 12 14:12:24 2010 +0000
12264
12265     drm/i915: Use correct linear mode for mask.
12266
12267  src/drm/cairo-drm-i915-shader.c |    4 ++--
12268  1 file changed, 2 insertions(+), 2 deletions(-)
12269
12270 commit 37dbf157f354234d04cd4f0c5d069ff0d535e862
12271 Author: Chris Wilson <chris@chris-wilson.co.uk>
12272 Date:   Fri Feb 12 14:08:32 2010 +0000
12273
12274     clip: Avoiding derefencing NULL clip_region
12275
12276  src/cairo-image-surface.c      |   26 ++++++++++++++------------
12277  src/cairo-xcb-surface-render.c |   26 ++++++++++++++------------
12278  2 files changed, 28 insertions(+), 24 deletions(-)
12279
12280 commit 6995e1d982a3ad84a1b74730ce557840745fcd8e
12281 Author: Chris Wilson <chris@chris-wilson.co.uk>
12282 Date:   Fri Feb 12 14:08:14 2010 +0000
12283
12284     boilerplate: Include X11.h for GL/GLX
12285
12286  boilerplate/cairo-boilerplate-gl.c |    3 +++
12287  1 file changed, 3 insertions(+)
12288
12289 commit 5390df961f6dff8e25e5aac21062026a81710d88
12290 Author: Chris Wilson <chris@chris-wilson.co.uk>
12291 Date:   Fri Feb 12 12:20:35 2010 +0000
12292
12293     clip: Restrict composite extents to clip extents
12294     
12295     Fixes test/clip-rectangle-twice.
12296
12297  src/cairo-clip-private.h         |    6 +++
12298  src/cairo-clip.c                 |   84 ++++++++++++++++++++++++++++++++++++++
12299  src/cairo-image-surface.c        |   74 ++++++++-------------------------
12300  src/cairo-surface-fallback.c     |   71 ++------------------------------
12301  src/cairo-xcb-surface-render.c   |   78 +++++++++--------------------------
12302  src/drm/cairo-drm-i915-surface.c |   47 ++-------------------
12303  src/drm/cairo-drm-i965-surface.c |   47 ++-------------------
12304  7 files changed, 137 insertions(+), 270 deletions(-)
12305
12306 commit 51047483f462a905567b42275ae061ead4df0a07
12307 Author: Chris Wilson <chris@chris-wilson.co.uk>
12308 Date:   Fri Feb 12 12:18:30 2010 +0000
12309
12310     test: Add clip-twice-rectangle
12311     
12312     Jeff Muizeelar found another bug with clipping whereby the clip was
12313     been incorrectly discarded.
12314
12315  test/Makefile.am                  |    1 +
12316  test/Makefile.sources             |    1 +
12317  test/clip-twice-rectangle.c       |   70 +++++++++++++++++++++++++++++++++++++
12318  test/clip-twice-rectangle.ref.png |  Bin 0 -> 323 bytes
12319  4 files changed, 72 insertions(+)
12320
12321 commit 22b5f78c1c1ae7d289a99a3c52354bba3b9e817f
12322 Author: Chris Wilson <chris@chris-wilson.co.uk>
12323 Date:   Thu Feb 11 10:38:51 2010 +0000
12324
12325     gl: Remove eagle support
12326     
12327     Eagle is no more, Kristian has superseded it with true EGL support. He
12328     is so happy...
12329
12330  boilerplate/Makefile.win32.features |   10 --
12331  build/Makefile.win32.features       |    1 -
12332  build/Makefile.win32.features-h     |    3 -
12333  build/configure.ac.features         |    1 -
12334  configure.ac                        |   12 ---
12335  src/Makefile.sources                |    2 -
12336  src/Makefile.win32.features         |   14 ---
12337  src/cairo-eagle-context.c           |  185 -----------------------------------
12338  src/cairo-gl.h                      |   12 ---
12339  9 files changed, 240 deletions(-)
12340
12341 commit ed4a30b38311e4ce0730ecd6026432f4a1e8ddf7
12342 Author: Benjamin Otte <otte@redhat.com>
12343 Date:   Wed Feb 10 22:10:23 2010 +0100
12344
12345     build: Add -Wdeclaration-after-statement
12346     
12347     ... and fix the compile errors from it I get on my build.
12348     
12349     It's Cairo style to put declarations before the code, so better warn
12350     about it.
12351     Besides, it eases porting to old compilers like MSVC.
12352
12353  build/configure.ac.warnings  |    2 +-
12354  src/cairo-gl-shaders.c       |    8 ++++----
12355  src/cairo-gl-surface.c       |    3 ++-
12356  src/cairo-xcb-surface-core.c |    3 ++-
12357  4 files changed, 9 insertions(+), 7 deletions(-)
12358
12359 commit 4113e455a317785b83324215a6b0156995665989
12360 Author: Chris Wilson <chris@chris-wilson.co.uk>
12361 Date:   Wed Feb 10 21:09:56 2010 +0000
12362
12363     drm/i965: fix use of uninitialized variable whilst dumping errors
12364     
12365     Cut'n'paste bug from i915 error path.
12366
12367  src/drm/cairo-drm-i965-surface.c |    6 ++----
12368  1 file changed, 2 insertions(+), 4 deletions(-)
12369
12370 commit 5d34902c0cb9712179292112fbdb0f06be327fd8
12371 Author: Chris Wilson <chris@chris-wilson.co.uk>
12372 Date:   Wed Feb 10 12:10:16 2010 +0000
12373
12374     script: Compile without mmap
12375     
12376     Should fix:
12377       Bug 26509 - Cairo fails to compile without mmap
12378       http://bugs.freedesktop.org/show_bug.cgi?id=26509
12379     
12380     As reported by Hib Eris, Cairo files to compile under a mingw32
12381     cross-compiler as we use a structure only defined if HAVE_MMAP
12382     unconditionally.
12383
12384  util/cairo-script/cairo-script-operators.c |    5 +++--
12385  1 file changed, 3 insertions(+), 2 deletions(-)
12386
12387 commit fb5af4ae407044d1c0d0144ec13f5951075426a3
12388 Author: Chris Wilson <chris@chris-wilson.co.uk>
12389 Date:   Wed Feb 10 12:00:59 2010 +0000
12390
12391     drm/intel: An interrupted SET_TILING modifies the input parameters
12392     
12393     If a signal interrupts the SET_TILING ioctl, the tiling and stride
12394     values are updated to reflect the current condition of the buffer, so we
12395     need to restore those to the desired values before repeating the ioctl.
12396
12397  src/drm/cairo-drm-intel.c |    8 ++++----
12398  1 file changed, 4 insertions(+), 4 deletions(-)
12399
12400 commit 3c66c721d1bb1db6052acf722f609dcbe56431f5
12401 Author: Chris Wilson <chris@chris-wilson.co.uk>
12402 Date:   Tue Feb 9 08:48:42 2010 +0000
12403
12404     qt: Fix compile error.
12405     
12406     Update after prototype changed for create_similar(), as pointed out by
12407     augzilla.
12408
12409  src/cairo-qt-surface.cpp |    1 -
12410  1 file changed, 1 deletion(-)
12411
12412 commit a1e5b07fa834819b8d9df9fa56758639a08262d7
12413 Author: Chris Wilson <chris@chris-wilson.co.uk>
12414 Date:   Sun Feb 7 20:26:27 2010 +0000
12415
12416     ps: Initialise page bbox to page size
12417
12418  src/cairo-ps-surface.c |    5 +++++
12419  1 file changed, 5 insertions(+)
12420
12421 commit 44b6370cb04d27e1ae3e50558a9085d318990938
12422 Author: Chris Wilson <chris@chris-wilson.co.uk>
12423 Date:   Sun Feb 7 19:36:29 2010 +0000
12424
12425     ps: Propagate NOTHING_TO_DO
12426     
12427     The upper layers should know what to do if there is nothing to be done,
12428     so pass on that knowledge.
12429
12430  src/cairo-ps-surface.c |   36 ++++--------------------------------
12431  1 file changed, 4 insertions(+), 32 deletions(-)
12432
12433 commit a4793d1331845b85a9c1810035119dfbcffa5082
12434 Author: Chris Wilson <chris@chris-wilson.co.uk>
12435 Date:   Sun Feb 7 19:27:32 2010 +0000
12436
12437     test: Add linear-gradient-subset
12438     
12439     It was observed that we never actually test the condition that the
12440     gradient is only defined for a portion of its range, i.e. the starting
12441     offset is >0 and the ending offset is <0. By definition the colour
12442     between 0 and start offset is the start color, so check that this
12443     behaviour is followed by all backends.
12444
12445  test/Makefile.am                    |    1 +
12446  test/Makefile.sources               |    1 +
12447  test/linear-gradient-subset.c       |  127 +++++++++++++++++++++++++++++++++++
12448  test/linear-gradient-subset.ref.png |  Bin 0 -> 825 bytes
12449  4 files changed, 129 insertions(+)
12450
12451 commit 0f99303cd6d68df79070200a843194a20ad1c597
12452 Author: Chris Wilson <chris@chris-wilson.co.uk>
12453 Date:   Sun Feb 7 12:40:19 2010 +0000
12454
12455     gl: Use pixman to create the gradient texture
12456     
12457     This is just for consistency as we know that pixman has to handle all
12458     the corner cases anyway...
12459
12460  src/cairo-gl-surface.c |  145 ++++++++++++++++++++++++++----------------------
12461  1 file changed, 80 insertions(+), 65 deletions(-)
12462
12463 commit b028d287e6effe30833963f4df40db3846e7f4da
12464 Author: Eric Anholt <eric@anholt.net>
12465 Date:   Fri Feb 5 07:25:04 2010 -0800
12466
12467     [gl] Make the VBO once at startup instead of recreating per glyphs/spans.
12468     
12469     This shaves 2% off of firefox-talos-gfx.
12470
12471  src/cairo-gl-glyphs.c  |   10 ++--------
12472  src/cairo-gl-private.h |    1 +
12473  src/cairo-gl-surface.c |    8 +++-----
12474  3 files changed, 6 insertions(+), 13 deletions(-)
12475
12476 commit 696a715702ed18bbe3f7d8b97654a055fa37444e
12477 Author: Eric Anholt <eric@anholt.net>
12478 Date:   Wed Feb 3 21:34:24 2010 -0800
12479
12480     [gl] Add radial gradients acceleration.
12481     
12482     This is significantly cribbed from Zach Laine's work, but reworked so
12483     that gradients can be plugged in as either source or mask operands for
12484     any of the paths.
12485
12486  src/cairo-gl-private.h |   13 +++++
12487  src/cairo-gl-shaders.c |   77 +++++++++++++++++++++++++++--
12488  src/cairo-gl-surface.c |  129 ++++++++++++++++++++++++++++++++++++++++++++++++
12489  3 files changed, 216 insertions(+), 3 deletions(-)
12490
12491 commit 297b0ab47fa63ef99e65b6834b731c260ea3e941
12492 Author: Eric Anholt <eric@anholt.net>
12493 Date:   Thu Feb 4 23:57:43 2010 -0800
12494
12495     [gl] When making a boilerplate GLX window, ensure it has alpha.
12496     
12497     cairo_gl_surface_create_for_window assumes CONTENT_COLOR_ALPHA, so
12498     make sure the fbconfig we choose is good enough.  Fixes gl-window
12499     testcase results to basically match the non-window testcases.
12500
12501  boilerplate/cairo-boilerplate-gl.c |   17 +++++++++--------
12502  1 file changed, 9 insertions(+), 8 deletions(-)
12503
12504 commit 6708bc0593a649d083ede429ae73f06691edc018
12505 Author: Eric Anholt <eric@anholt.net>
12506 Date:   Thu Feb 4 23:47:33 2010 -0800
12507
12508     [gl] When filling a gradient texture, multiply alpha after interpolating.
12509     
12510     Fixes gradient-alpha testcase.
12511
12512  src/cairo-gl-surface.c |   20 +++++++++-----------
12513  1 file changed, 9 insertions(+), 11 deletions(-)
12514
12515 commit e426cdd56973ff1114dac5e8b1130180d43631b0
12516 Author: Eric Anholt <eric@anholt.net>
12517 Date:   Wed Feb 3 16:03:52 2010 -0800
12518
12519     [gl] Implement linear gradients acceleration.
12520     
12521     This is significantly cribbed from Zach Laine's work, but reworked so
12522     that gradients can be plugged in as either source or mask operands for
12523     any of the paths.
12524     
12525     This cuts the runtime of firefox-talos-svg in half on my GM45, at the
12526     expense of gradient-alpha.  surface-pattern-operator also now fails
12527     due to small rasterization differences.
12528
12529  src/cairo-gl-glyphs.c  |    1 +
12530  src/cairo-gl-private.h |   11 ++++
12531  src/cairo-gl-shaders.c |   39 ++++++++++++--
12532  src/cairo-gl-surface.c |  139 ++++++++++++++++++++++++++++++++++++++++++++----
12533  4 files changed, 176 insertions(+), 14 deletions(-)
12534
12535 commit 05b18fc09af0e0887c652bd482d68f00bec6d4d7
12536 Author: Eric Anholt <eric@anholt.net>
12537 Date:   Thu Feb 4 00:12:58 2010 -0800
12538
12539     [gl] Fix create_gradient_texture to premultiply alpha.
12540
12541  src/cairo-gl-surface.c |    3 +++
12542  1 file changed, 3 insertions(+)
12543
12544 commit 31e706454b7f0fa510047f582250a7a2db24dd31
12545 Author: Eric Anholt <eric@anholt.net>
12546 Date:   Wed Feb 3 15:48:40 2010 -0800
12547
12548     [gl] Pull the gradient operand setup out to its own function.
12549     
12550     Hopefully this clarifies what's going on, including the fallthrough to
12551     texture setup on failure.
12552
12553  src/cairo-gl-surface.c |   77 +++++++++++++++++++++++++++---------------------
12554  1 file changed, 43 insertions(+), 34 deletions(-)
12555
12556 commit 745f263c1c2d263f7c5e78964bf7181f650301cc
12557 Author: T. Zachary Laine <whatwasthataddress@gmail.com>
12558 Date:   Wed Feb 3 15:38:02 2010 -0800
12559
12560     [gl] Add function for creating a 1D texture to use for gradient lookups.
12561     
12562     Rather than have fragment shaders try to walk a variable-length set of
12563     stops and try to compute the interpolation between the nearest stops
12564     per fragment, we make a little texture representing the gradient along
12565     a line and have the shaders compute texture coordinates along the line
12566     and sample.  This should be a good tradeoff between CPU work and GPU
12567     work.
12568     
12569     [anholt: I pulled this set of code out of Zach Laine's tree to use for
12570     gradient acceleration, and wanted to make sure attribution was
12571     appropriate.  I applied only minor tweaking]
12572
12573  src/cairo-gl-private.h |    1 +
12574  src/cairo-gl-surface.c |  117 ++++++++++++++++++++++++++++++++++++++++++++++++
12575  2 files changed, 118 insertions(+)
12576
12577 commit 88c8304e9072e5a46890a0eb32fcdbc857eb1a12
12578 Author: Eric Anholt <eric@anholt.net>
12579 Date:   Wed Feb 3 17:06:45 2010 -0800
12580
12581     [gl] Sanity check the sampler uniform binding.
12582
12583  src/cairo-gl-shaders.c |    6 ++++--
12584  1 file changed, 4 insertions(+), 2 deletions(-)
12585
12586 commit 42597170f2303475bb0507f4c6e948eead28c7bd
12587 Author: Eric Anholt <eric@anholt.net>
12588 Date:   Wed Feb 3 16:55:45 2010 -0800
12589
12590     [gl] Convert the spans code to using GLSL when available.
12591
12592  src/cairo-gl-private.h |    1 +
12593  src/cairo-gl-shaders.c |   35 +++++++++++++++++++++++++++++---
12594  src/cairo-gl-surface.c |   52 +++++++++++++++++++++++++++++-------------------
12595  3 files changed, 65 insertions(+), 23 deletions(-)
12596
12597 commit 8d16fb10ea9940c0c9f311ff08c51d572c068c17
12598 Author: Eric Anholt <eric@anholt.net>
12599 Date:   Wed Feb 3 15:31:57 2010 -0800
12600
12601     [gl] Test for required EXT_bgra and explain what it's used for.
12602
12603  src/cairo-gl-surface.c |    9 ++++++++-
12604  1 file changed, 8 insertions(+), 1 deletion(-)
12605
12606 commit b2d8c9cbf2faec570450d163da140c54e64bbdc8
12607 Author: Eric Anholt <eric@anholt.net>
12608 Date:   Wed Feb 3 15:25:47 2010 -0800
12609
12610     [gl] Use the shader source choice from operand setup instead of DIY.
12611
12612  src/cairo-gl-glyphs.c |   15 +--------------
12613  1 file changed, 1 insertion(+), 14 deletions(-)
12614
12615 commit 0fceac4d52d4b574b9c1f911b83d15dc7e01691d
12616 Author: Eric Anholt <eric@anholt.net>
12617 Date:   Wed Feb 3 12:24:41 2010 -0800
12618
12619     [gl] Move the component alpha composite to using GLSL when available.
12620
12621  src/cairo-gl-surface.c |  165 +++++++++++++++++++++++++++++++-----------------
12622  1 file changed, 108 insertions(+), 57 deletions(-)
12623
12624 commit 8357336ed7be91ad359d205b1f223486d13215f2
12625 Author: Eric Anholt <eric@anholt.net>
12626 Date:   Wed Feb 3 11:54:24 2010 -0800
12627
12628     [gl] Move normal composites to using GLSL when available.
12629
12630  src/cairo-gl-private.h |    2 ++
12631  src/cairo-gl-surface.c |   55 +++++++++++++++++++++++++++++++++++-------------
12632  2 files changed, 42 insertions(+), 15 deletions(-)
12633
12634 commit 106bc158bafa4eecfd7f79422fc19d267c20dcdb
12635 Author: Eric Anholt <eric@anholt.net>
12636 Date:   Wed Feb 3 15:15:02 2010 -0800
12637
12638     [gl] Move the glyphs shader construction to a more general location.
12639
12640  src/cairo-gl-glyphs.c  |  213 ++++++++++--------------------------------------
12641  src/cairo-gl-private.h |   48 +++++++----
12642  src/cairo-gl-shaders.c |  200 +++++++++++++++++++++++++++++++++++++++++++++
12643  3 files changed, 273 insertions(+), 188 deletions(-)
12644
12645 commit f475351f75a3ec079628a2eb2643ebc09f0e5cc8
12646 Author: Eric Anholt <eric@anholt.net>
12647 Date:   Tue Feb 2 19:23:17 2010 -0800
12648
12649     [gl] Use GLSL when available for glyph rendering.
12650     
12651     This reduces the CPU work in translating fixed function state to
12652     shaders, but currently is a slight cost on GM45 because we end up
12653     changing shaders more frequently since other parts of the pipeline are
12654     doing fixed function still.
12655
12656  src/cairo-gl-glyphs.c  |  189 +++++++++++++++++++++++++++++++++++++++++++++---
12657  src/cairo-gl-private.h |   19 +++++
12658  src/cairo-gl-shaders.c |   10 ++-
12659  src/cairo-gl-surface.c |   56 ++++++++------
12660  4 files changed, 239 insertions(+), 35 deletions(-)
12661
12662 commit 672973caa0c3877b3b9f1c5f5966449ce0d7e239
12663 Author: Eric Anholt <eric@anholt.net>
12664 Date:   Tue Feb 2 11:17:43 2010 -0800
12665
12666     [gl] Convert fill_rectangles to the new GLSL core/arb wrapper.
12667
12668  src/cairo-gl-private.h |   12 +++---
12669  src/cairo-gl-shaders.c |  106 +++++++++++-------------------------------------
12670  src/cairo-gl-surface.c |   39 +++++++++---------
12671  3 files changed, 48 insertions(+), 109 deletions(-)
12672
12673 commit 416273db34a715a6fa180f52ddfd11b82b6e8b6c
12674 Author: Eric Anholt <eric@anholt.net>
12675 Date:   Tue Feb 2 10:37:42 2010 -0800
12676
12677     [gl] Cut out the abstraction of GL_VERTEX_SHADER vs GL_VERTEX_SHADER_ARB.
12678     
12679     They're the same number, so just use the core 2.0 name.
12680
12681  src/cairo-gl-shaders.c |   38 ++------------------------------------
12682  1 file changed, 2 insertions(+), 36 deletions(-)
12683
12684 commit 48a5a6eefc923db47c35ad7da3b635d205736716
12685 Author: Eric Anholt <eric@anholt.net>
12686 Date:   Tue Feb 2 10:36:16 2010 -0800
12687
12688     [gl] Avoid macro obfuscation of the shader impl structures.
12689
12690  src/cairo-gl-shaders.c |   52 +++++++++++++++++++++++++++++-------------------
12691  1 file changed, 31 insertions(+), 21 deletions(-)
12692
12693 commit 25ccc5dcb036554430b66fb1bf5f74766daa5612
12694 Author: Zach Laine <whatwasthataddress@gmail.com>
12695 Date:   Thu Jan 14 11:49:04 2010 -0600
12696
12697     [gl] Add shader support code for GL versions < 3.0.
12698     
12699     Adds cairo_gl_shader_program_t, and functions to manipulate same.  Multiple GL
12700     entry points for shaders are provided -- one for the pre-GL 2.0 extenstions
12701     entry points, and one for GL 2.0.  This code is well tested, but currently
12702     unused in the GL backend.
12703
12704  src/cairo-gl-private.h |   49 ++++
12705  src/cairo-gl-shaders.c |  623 +++++++++++++++++++++++++++++++++++++++++++++++-
12706  2 files changed, 671 insertions(+), 1 deletion(-)
12707
12708 commit a6897ad3867611bd74f8ab7de4b1e8d8d1c12c71
12709 Author: Eric Anholt <eric@anholt.net>
12710 Date:   Tue Feb 2 11:24:36 2010 -0800
12711
12712     [gl] Check for GLSL support once at context init instead of per draw.
12713
12714  src/cairo-gl-private.h |    1 +
12715  src/cairo-gl-surface.c |   11 ++++++++++-
12716  2 files changed, 11 insertions(+), 1 deletion(-)
12717
12718 commit b1829a47bff2b03a850d4049f228d2a41e14d6bd
12719 Author: Andrea Canciani <ranma42@gmail.com>
12720 Date:   Wed Feb 3 11:19:26 2010 +0100
12721
12722     [quartz] Unbreak mask fallback path
12723     
12724     _cairo_quartz_surface_paint will never fail as it falls back to image
12725     when CoreGraphics can't handle the requested operation. This means that
12726     upon fallback the ClipImage set by the masking code gets ignored, thus
12727     the mask fallback path is broken. Using the _cg function ensures that
12728     masking is either completely done by CoreGraphics, or the fallback path
12729     passes the mask operation to image.
12730
12731  src/cairo-quartz-surface.c |    2 +-
12732  1 file changed, 1 insertion(+), 1 deletion(-)
12733
12734 commit 597dd24ddcc763281c82790b7677e54dc2db8f92
12735 Author: Chris Wilson <chris@chris-wilson.co.uk>
12736 Date:   Wed Feb 3 08:53:44 2010 +0000
12737
12738     drm/i915: Free potential leak of cloned textures.
12739
12740  src/drm/cairo-drm-i915-shader.c |    6 ++++++
12741  1 file changed, 6 insertions(+)
12742
12743 commit 913a31494ec4bd000dfa303e362d8273b6857cfe
12744 Author: Chris Wilson <chris@chris-wilson.co.uk>
12745 Date:   Tue Feb 2 17:49:09 2010 +0000
12746
12747     drm/i915: Increase batch buffer space.
12748
12749  src/drm/cairo-drm-i915-private.h |    2 +-
12750  1 file changed, 1 insertion(+), 1 deletion(-)
12751
12752 commit 1315323b20398c7c4efa68e4e1c7f6fd6c1d8d91
12753 Author: Chris Wilson <chris@chris-wilson.co.uk>
12754 Date:   Tue Feb 2 17:38:06 2010 +0000
12755
12756     drm/i915: check for batch buffer overflow.
12757     
12758     Oops, the check for sufficient batch space mysteriously disappeared
12759     during the rearrangement.
12760
12761  src/drm/cairo-drm-i915-private.h |    3 ---
12762  src/drm/cairo-drm-i915-shader.c  |   44 ++++++++++++++++++++++++++++++++++++++
12763  src/drm/cairo-drm-i915-surface.c |   35 ------------------------------
12764  3 files changed, 44 insertions(+), 38 deletions(-)
12765
12766 commit e2be50c722347734801468d7d9568a18dbbaaa17
12767 Author: Andrea Canciani <ranma42@gmail.com>
12768 Date:   Fri Jan 29 12:06:13 2010 +0100
12769
12770     [quartz] Fix UNSUPPORTED operations
12771     
12772     The fallback path shouldn't be used anymore, thus fallbacks are now
12773     handled by passing unsupported ops to the image backend.
12774     
12775     Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
12776
12777  src/cairo-quartz-surface.c |  234 +++++++++++++++++++++++++++++++++++++-------
12778  1 file changed, 198 insertions(+), 36 deletions(-)
12779
12780 commit 3e69c38fe642be467fee0cad166b83006741d55c
12781 Author: Andrea Canciani <ranma42@gmail.com>
12782 Date:   Sun Jan 24 21:59:32 2010 +0100
12783
12784     [quartz] Fix surface to CGImage conversion
12785     
12786     Snapshotting a surface doesn't produce a cairo_image_surface_t.
12787     Acquiring (and later releasing) the surface is needed to access
12788     its image data.
12789
12790  src/cairo-quartz-surface.c |   75 ++++++++++++++++++++++----------------------
12791  1 file changed, 38 insertions(+), 37 deletions(-)
12792
12793 commit 7aba47e9d87bf09a5fa7e41a3c76c775f28b08f3
12794 Author: Andrea Canciani <ranma42@gmail.com>
12795 Date:   Mon Jan 25 15:09:51 2010 +0100
12796
12797     [quartz] Silence compiler warnings
12798
12799  src/cairo-quartz-surface.c |   16 ++++++++--------
12800  1 file changed, 8 insertions(+), 8 deletions(-)
12801
12802 commit e9b07d194630f3f5e31eef3606f8e4c188a01d5f
12803 Author: Chris Wilson <chris@chris-wilson.co.uk>
12804 Date:   Tue Feb 2 16:28:30 2010 +0000
12805
12806     drm/i915: Don't tile page sized bo.
12807     
12808     Minor tweak from < to <= so that a page sized bo is also not tiled for
12809     those 32x32 pixmaps...
12810
12811  src/drm/cairo-drm-i915-surface.c |    2 +-
12812  1 file changed, 1 insertion(+), 1 deletion(-)
12813
12814 commit 70ca9dd170ce1cf8941311ec1f3dc117aef141b6
12815 Author: Chris Wilson <chris@chris-wilson.co.uk>
12816 Date:   Tue Feb 2 16:28:09 2010 +0000
12817
12818     drm/i915: Pass the correct length to dump the batchbuffer.
12819
12820  src/drm/cairo-drm-i915-surface.c |    2 +-
12821  1 file changed, 1 insertion(+), 1 deletion(-)
12822
12823 commit 3266a1a72be9c0a6b6c0014c4b64098507b6d385
12824 Author: Chris Wilson <chris@chris-wilson.co.uk>
12825 Date:   Tue Feb 2 16:27:52 2010 +0000
12826
12827     drm: Handle absence of PCI_ID
12828
12829  src/drm/cairo-drm.c |    2 +-
12830  1 file changed, 1 insertion(+), 1 deletion(-)
12831
12832 commit 1ecefc53a1d370d9fffb323952dcabeef5b872c6
12833 Author: Chris Wilson <chris@chris-wilson.co.uk>
12834 Date:   Tue Feb 2 16:26:54 2010 +0000
12835
12836     pattern: Zero-length gradients are not necessary empty
12837     
12838     Fixes: test/linear-step-function
12839     
12840     If the extend mode is unbounded, then the gradient is also unbound.
12841
12842  src/cairo-pattern.c |    6 +++---
12843  1 file changed, 3 insertions(+), 3 deletions(-)
12844
12845 commit 2a59220aa448cd7416f1851c4c62ca6ac396302d
12846 Author: Chris Wilson <chris@chris-wilson.co.uk>
12847 Date:   Tue Feb 2 16:24:30 2010 +0000
12848
12849     test: Add linear-step-function
12850     
12851     Another bug identified by Jeff Muizelaar was that the bounds for a
12852     zero-length (i.e. it started and stopped at the same point) were
12853     miscomputed. This test case exercises that bug.
12854     
12855     Note: I believe the output is wrong here when padding a zero-length
12856     gradient. On the left it should be red, and on the right it should be
12857     blue.
12858
12859  test/Makefile.am                    |    1 +
12860  test/Makefile.sources               |    1 +
12861  test/linear-step-function.c         |   60 +++++++++++++++++++++++++++++++++++
12862  test/linear-step-function.xfail.png |  Bin 0 -> 116 bytes
12863  4 files changed, 62 insertions(+)
12864
12865 commit 7b37ba8a49dca39a42b5395e0715d3d0a5a89972
12866 Author: Chris Wilson <chris@chris-wilson.co.uk>
12867 Date:   Tue Feb 2 16:17:13 2010 +0000
12868
12869     clip: Propagate all-clipped when copying
12870     
12871     Fixes test/clip-empty-save.
12872     
12873     The all-clipped flag was not being copied to the new clip, which occurs
12874     for instance when an empty clip is pushed via a gstate save.
12875
12876  src/cairo-clip.c |    7 ++-----
12877  1 file changed, 2 insertions(+), 5 deletions(-)
12878
12879 commit 7dc464bb2bd64d1469b7b03afaf2191ee6d9e28b
12880 Author: Chris Wilson <chris@chris-wilson.co.uk>
12881 Date:   Tue Feb 2 16:15:32 2010 +0000
12882
12883     test: Add clip-empty-save
12884     
12885     Jeff Muizelaar found a bug in _cairo_clip_init_copy() which was not
12886     correctly propagating the all-clipped status when an empty clip was
12887     saved in the gstate. This test case exercises that bug.
12888
12889  test/Makefile.am             |    1 +
12890  test/Makefile.sources        |    1 +
12891  test/clip-empty-save.c       |   68 ++++++++++++++++++++++++++++++++++++++++++
12892  test/clip-empty-save.ref.png |  Bin 0 -> 118 bytes
12893  4 files changed, 70 insertions(+)
12894
12895 commit ab3dc7bb31f7f8b8c4d87c1ae62bd946b260c77e
12896 Author: Chris Wilson <chris@chris-wilson.co.uk>
12897 Date:   Sun Jan 31 16:59:07 2010 +0000
12898
12899     csi-replay: compile fix
12900
12901  util/cairo-script/csi-replay.c |   32 +++++++++++++++++++++-----------
12902  1 file changed, 21 insertions(+), 11 deletions(-)
12903
12904 commit ab605214d151098ad153e8bf74ae0ca71a34c963
12905 Author: Andrea Canciani <ranma42@gmail.com>
12906 Date:   Mon Feb 1 09:27:16 2010 +0100
12907
12908     Partially revert "Improve stroking of densely dashed styles"
12909     
12910     This reverts commit 26e9f149063b9e1fdb54fc54fccbefdf04a68190 on
12911     cairo-path-stroke.
12912     The changes in cairo-path-stroke are not needed anymore since dash
12913     pattern approximation is now done in gstate before passing the dash
12914     pattern to the backend.
12915
12916  src/cairo-path-stroke.c |   24 ++++++------------------
12917  1 file changed, 6 insertions(+), 18 deletions(-)
12918
12919 commit 8ffe0fc3825f0f6bc4d06607f6819ea8c2c2040b
12920 Author: Andrea Canciani <ranma42@gmail.com>
12921 Date:   Sat Jan 30 09:29:48 2010 +0100
12922
12923     Revert "[quartz] Approximate dense dashing patterns"
12924     
12925     This reverts commit 27701ed8447d4c21b7bf9709a2fc21690b3cdc96.
12926     Approximation is now done in gstate.
12927
12928  src/cairo-quartz-surface.c |   32 +++++++++++---------------------
12929  1 file changed, 11 insertions(+), 21 deletions(-)
12930
12931 commit 2e91648bcba06832dfa92bd742c32b2f5c1ad989
12932 Author: Andrea Canciani <ranma42@gmail.com>
12933 Date:   Fri Jan 15 15:46:20 2010 +0100
12934
12935     Approximate dash patterns in gstate
12936     
12937     Since approximation is only done when the pattern is sub-tolerance,
12938     it is acceptable to apply it even for vector backends.
12939     By doing it once and for all backends, backends are guaranteed to have
12940     non-degenerate input.
12941     Acked-by: Adrian Johnson <ajohnson@redneon.com>
12942
12943  src/cairo-gstate.c |   13 ++++++++++++-
12944  1 file changed, 12 insertions(+), 1 deletion(-)
12945
12946 commit 67f666896cbfd0ac2728c7aa1325a7d0b2c8282d
12947 Author: Andrea Canciani <ranma42@gmail.com>
12948 Date:   Sun Jan 24 22:17:18 2010 +0100
12949
12950     Improve comments style consistency
12951     
12952     Each line of a multi-line comment should begin with '*'.
12953
12954  src/cairo-stroke-style.c |    4 ++--
12955  1 file changed, 2 insertions(+), 2 deletions(-)
12956
12957 commit 45c795a1820e0317b123e7782cefed6ade8996d7
12958 Author: Andrea Canciani <ranma42@gmail.com>
12959 Date:   Fri Jan 15 10:44:58 2010 +0100
12960
12961     Improve dash pattern approximation
12962     
12963     Dash pattern approximation was taking the caps style into account
12964     only for coverage computation, but not when computing the new
12965     pattern, thus the computed approximation had a higher coverage if
12966     the caps style was SQUARE or ROUND.
12967     
12968     Reviewed-by: M. Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
12969
12970  src/cairo-stroke-style.c |   56 ++++++++++++++++++++++++++++++++++++++++++++--
12971  1 file changed, 54 insertions(+), 2 deletions(-)
12972
12973 commit 8d7841048b079ce2a582ff17c90e82e0081e5f42
12974 Author: Andrea Canciani <ranma42@gmail.com>
12975 Date:   Sun Jan 17 19:00:47 2010 +0100
12976
12977     Round caps coverage extimate explanation
12978     
12979     Comment on how the round caps coverage has been computed, explaining
12980     the complete procedure. The comments doesn't contain intermediate
12981     (verbose and ugly) results, but when executed in a symbolic math
12982     program (sage, for example) computes the expected results.
12983     
12984     Reviewed-by: M. Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
12985
12986  src/cairo-stroke-style.c |   16 ++++++++++++++++
12987  1 file changed, 16 insertions(+)
12988
12989 commit 8558cd579059974758bda696c33f08399267d33e
12990 Author: Eric Anholt <eric@anholt.net>
12991 Date:   Thu Jan 28 17:39:34 2010 -0800
12992
12993     [gl] Use GL_MESA_pack_invert to flip get_image of windows around.
12994     
12995     This doesn't have any fallback for a GL that fails to implement the
12996     extension.  Fixes 120 testcases for gl-window.
12997
12998  src/cairo-gl-surface.c |    4 ++++
12999  1 file changed, 4 insertions(+)
13000
13001 commit 11a120fb8477910f5ac63dc1ebde45c276764783
13002 Author: Andrea Canciani <ranma42@gmail.com>
13003 Date:   Fri Jan 29 14:21:06 2010 +0100
13004
13005     Silence autoconf on Mac OS X
13006     
13007     Autoconf was complaining that AC_COMPILE_IFELSE and AC_RUN_IFELSE
13008     were called before AC_GNU_SOURCE. Moving AC_GNU_SOURCE right after
13009     AC_INIT solves this.
13010
13011  configure.ac |    2 +-
13012  1 file changed, 1 insertion(+), 1 deletion(-)
13013
13014 commit 05d4f9b461749f129b17cc97d6e3e6b49fe8e8d9
13015 Author: Chris Wilson <chris@chris-wilson.co.uk>
13016 Date:   Fri Jan 29 11:30:49 2010 +0000
13017
13018     xlib: Compile fix for no fontconfig
13019
13020  src/cairo-xlib-screen.c |    3 ++-
13021  1 file changed, 2 insertions(+), 1 deletion(-)
13022
13023 commit e3e74641450481e7ad393bbc6fd1a7428be53de1
13024 Author: Chris Wilson <chris@chris-wilson.co.uk>
13025 Date:   Fri Jan 29 11:22:26 2010 +0000
13026
13027     atomic: Fix up compile on PPC with libatomic-ops
13028
13029  src/cairo-atomic-private.h |    2 --
13030  src/cairo-atomic.c         |    3 ++-
13031  2 files changed, 2 insertions(+), 3 deletions(-)
13032
13033 commit e11d2d0b4d646757fcba11631b6db169e2c183b0
13034 Author: Alexander Shulgin <alex.shulgin@gmail.com>
13035 Date:   Fri Jan 29 09:17:01 2010 +0000
13036
13037     surface: Fix detach mime-data after ecda633f887a10da650b4cd3efb17c861a6f519f
13038     
13039     Hi,
13040     
13041     while browsing the git log I've noticed a small mistake in the above
13042     commit, where we reversed the order of init/fini required to reset the
13043     mime-data array.
13044
13045  src/cairo-surface.c |    2 +-
13046  1 file changed, 1 insertion(+), 1 deletion(-)
13047
13048 commit 5f0a0088af784157d8efe149ed073c8fa010e648
13049 Author: Chris Wilson <chris@chris-wilson.co.uk>
13050 Date:   Thu Jan 28 13:23:39 2010 +0000
13051
13052     drm-intel: Unmap a full glyph cache.
13053     
13054     When we swap a full glyph cache for a fresh one, be sure to unmap the
13055     old one prior to release.
13056
13057  src/drm/cairo-drm-i915-glyphs.c |    2 +-
13058  src/drm/cairo-drm-intel.c       |    3 +++
13059  2 files changed, 4 insertions(+), 1 deletion(-)
13060
13061 commit 78cd9471200c69c8b3737e859260f4552145d958
13062 Author: Chris Wilson <chris@chris-wilson.co.uk>
13063 Date:   Wed Jan 27 23:45:17 2010 +0000
13064
13065     drm: Paranoid assert that the fallback is released upon finish.
13066
13067  src/drm/cairo-drm-surface.c |    2 ++
13068  1 file changed, 2 insertions(+)
13069
13070 commit 5aa1191204e3eed6e3e97e23f37a52bbdfffcbce
13071 Author: Chris Wilson <chris@chris-wilson.co.uk>
13072 Date:   Wed Jan 27 23:42:26 2010 +0000
13073
13074     drm-intel: flush in memory modifications to texture.
13075     
13076     If the surface was written to using a fallback, and so is mapped, we
13077     need to flush those modifications by relinquishing the map. So the next
13078     time the application tries to write to the surface, those writes are
13079     correctly serialised with our reads.
13080
13081  src/drm/cairo-drm-i915-shader.c |   14 ++++++++++++++
13082  src/drm/cairo-drm-i965-shader.c |   12 ++++++++++++
13083  2 files changed, 26 insertions(+)
13084
13085 commit a38accb694452fc5dfac63535648656885cd47eb
13086 Author: Chris Wilson <chris@chris-wilson.co.uk>
13087 Date:   Wed Jan 27 23:27:46 2010 +0000
13088
13089     drm-intel: The accumulation bo may be NULL, beware.
13090     
13091     If we are not accumulating but rendering directly to the output vbo,
13092     then the tail bo may not even be allocated, let alone mapped.
13093
13094  src/drm/cairo-drm-i915-spans.c  |    2 +-
13095  src/drm/cairo-drm-i965-glyphs.c |    2 +-
13096  src/drm/cairo-drm-i965-spans.c  |    2 +-
13097  3 files changed, 3 insertions(+), 3 deletions(-)
13098
13099 commit 44734b9d3ba60fb45abb0268a916e40cd688ef6a
13100 Author: Chris Wilson <chris@chris-wilson.co.uk>
13101 Date:   Wed Jan 27 23:17:44 2010 +0000
13102
13103     drm-intel: Assert that the bo is unmapped upon release.
13104     
13105     Check through error paths to catch a few more places where the mapped bo
13106     may have been leaked, and add an assert to abort in case we do leak a
13107     mapping.
13108
13109  src/drm/cairo-drm-i915-spans.c  |    3 +++
13110  src/drm/cairo-drm-i965-glyphs.c |    4 ++++
13111  src/drm/cairo-drm-i965-spans.c  |    3 +++
13112  src/drm/cairo-drm-intel.c       |    6 +++++-
13113  4 files changed, 15 insertions(+), 1 deletion(-)
13114
13115 commit 6848c7c850aa0a710c1409d1fc2cb441d02a2b28
13116 Author: Chris Wilson <chris@chris-wilson.co.uk>
13117 Date:   Wed Jan 27 23:01:37 2010 +0000
13118
13119     drm-i915: Don't tile temporary image textures.
13120     
13121     As uploading to a tiled buffer is much slower than linear memory, don't
13122     unless we expect to reuse the texture. This is not true for sub-image
13123     clones, which are single shot affairs.
13124
13125  src/drm/cairo-drm-i915-shader.c |    2 +-
13126  1 file changed, 1 insertion(+), 1 deletion(-)
13127
13128 commit f75b7c4c110e880f4bdd578d9180f9afbb1d0034
13129 Author: Chris Wilson <chris@chris-wilson.co.uk>
13130 Date:   Wed Jan 27 19:20:57 2010 +0000
13131
13132     drm/i915: Ensure surface is initialized.
13133     
13134     Let's try that again, this time remembering to place it on the
13135     conjunction of the two branches, so *both* paths are initialized.
13136
13137  src/drm/cairo-drm-i915-shader.c |    6 +++---
13138  1 file changed, 3 insertions(+), 3 deletions(-)
13139
13140 commit 02f20458d1dd48fc4589734fc4b3e0c8bea1ce5c
13141 Author: Chris Wilson <chris@chris-wilson.co.uk>
13142 Date:   Wed Jan 27 19:02:21 2010 +0000
13143
13144     drm-i915: Ensure surface size for clone is initialized.
13145     
13146     If the surface had a snapshot, then we would have not initialized the
13147     surface size and so compute a bogus normalization matrix.
13148
13149  src/drm/cairo-drm-i915-shader.c |    7 +++----
13150  1 file changed, 3 insertions(+), 4 deletions(-)
13151
13152 commit c82ff8cbcf27dc20d2b44a988eed1b676d996e8c
13153 Author: Chris Wilson <chris@chris-wilson.co.uk>
13154 Date:   Wed Jan 27 18:48:32 2010 +0000
13155
13156     configure: Enable AC_SYS_LARGEFILE for drm
13157     
13158     drm makes use of 64bit offsets when mmaping, and so we require the
13159     64bit file interfaces. I had presumed that it would be pulled in with
13160     AC_GNU_SOURCE, but no.
13161
13162  configure.ac |    1 +
13163  1 file changed, 1 insertion(+)
13164
13165 commit 6d2d338ac04b02200e009c9e97d3ce030d07eb6f
13166 Author: Chris Wilson <chris@chris-wilson.co.uk>
13167 Date:   Mon Jan 25 22:47:10 2010 +0000
13168
13169     drm: compile fix for cairo_always_inline
13170     
13171     s/always_inline/cairo_always_inline/
13172
13173  src/drm/cairo-drm-i965-private.h  |    8 +--
13174  src/drm/cairo-drm-intel-brw-eu.h  |  132 ++++++++++++++++++-------------------
13175  src/drm/cairo-drm-intel-private.h |    2 +-
13176  src/drm/cairo-drm-private.h       |    2 +-
13177  4 files changed, 72 insertions(+), 72 deletions(-)
13178
13179 commit 58980b4ad60a60923a59370c81d59bb0457a7922
13180 Author: Benjamin Otte <otte@redhat.com>
13181 Date:   Wed Jan 27 09:56:14 2010 +0100
13182
13183     build: Remove glitz surface
13184     
13185     glitz is unmaintained and the GL surface is far superior anyway.
13186
13187  README                                    |    8 +-
13188  boilerplate/Makefile.am                   |   13 -
13189  boilerplate/Makefile.sources              |    5 -
13190  boilerplate/Makefile.win32.features       |   10 -
13191  boilerplate/cairo-boilerplate-glitz-agl.c |  191 ---
13192  boilerplate/cairo-boilerplate-glitz-glx.c |  265 ----
13193  boilerplate/cairo-boilerplate-glitz-wgl.c |  188 ---
13194  build/Makefile.win32.features             |    1 -
13195  build/Makefile.win32.features-h           |    3 -
13196  build/configure.ac.features               |    1 -
13197  configure.ac                              |   38 -
13198  doc/public/cairo-docs.xml                 |    1 -
13199  doc/public/cairo-sections.txt             |    1 -
13200  doc/public/tmpl/cairo-glitz.sgml          |   22 -
13201  src/Makefile.sources                      |    4 -
13202  src/Makefile.win32.features               |   14 -
13203  src/cairo-deprecated.h                    |    1 -
13204  src/cairo-glitz-private.h                 |   41 -
13205  src/cairo-glitz-surface.c                 | 2450 -----------------------------
13206  src/cairo-glitz.h                         |   57 -
13207  test/Makefile.am                          |    8 -
13208  test/Makefile.sources                     |    2 -
13209  test/glitz-surface-source.argb32.ref.png  |  Bin 377 -> 0 bytes
13210  test/glitz-surface-source.c               |  293 ----
13211  test/glitz-surface-source.ps2.ref.png     |  Bin 376 -> 0 bytes
13212  test/glitz-surface-source.ps3.ref.png     |  Bin 376 -> 0 bytes
13213  test/glitz-surface-source.rgb24.ref.png   |  Bin 301 -> 0 bytes
13214  util/cairo.modules                        |   10 +-
13215  28 files changed, 3 insertions(+), 3624 deletions(-)
13216
13217 commit 17ddb1598b3df374b6275d907441f34318b4257f
13218 Author: Benjamin Otte <otte@redhat.com>
13219 Date:   Mon Jan 25 20:17:12 2010 +0100
13220
13221     docs: appease make check
13222
13223  src/cairo-gl-surface.c |    4 ++--
13224  1 file changed, 2 insertions(+), 2 deletions(-)
13225
13226 commit bac513a85dc8ef2915b2e60d034cf3dbc82a8e0c
13227 Author: Benjamin Otte <otte@redhat.com>
13228 Date:   Mon Jan 25 20:05:56 2010 +0100
13229
13230     build: Fix pthread detection
13231     
13232     THe pthread.h detection code didn't pass -lpthread or -pthread to Cairo.
13233
13234  configure.ac |   10 ++++++++--
13235  1 file changed, 8 insertions(+), 2 deletions(-)
13236
13237 commit 582604f7b6b5b2ab6e681245bc7cde64d4995307
13238 Author: Benjamin Otte <otte@redhat.com>
13239 Date:   Mon Jan 25 19:22:33 2010 +0100
13240
13241     [png] Simplify coercion code
13242     
13243     Call _cairo_image_surface_coerce() unconditionally to ensure coercion to
13244     one of the standard formats happens even when it's a format we support.
13245
13246  src/cairo-png.c |   16 ++++++----------
13247  1 file changed, 6 insertions(+), 10 deletions(-)
13248
13249 commit 002e02715cac9a285fd97e1bb6b068ceebfae3d8
13250 Author: Benjamin Otte <otte@redhat.com>
13251 Date:   Mon Jan 25 19:42:54 2010 +0100
13252
13253     Remove useless pixman version checks
13254     
13255     We require pixman >= 0.15.16 in configure.ac, so checks for older
13256     versions aren't required anymore.
13257
13258  src/cairo-gl-surface.c    |    2 --
13259  src/cairo-image-surface.c |   10 ++--------
13260  2 files changed, 2 insertions(+), 10 deletions(-)
13261
13262 commit 5a690ad4acb3687c45c201b3ce92cd3e41bf3b30
13263 Author: Benjamin Otte <otte@gnome.org>
13264 Date:   Fri Jan 15 13:44:04 2010 +0100
13265
13266     Give cairo_surface_mark_dirty() the slim hidden treatment
13267     
13268     Fixes test suite failure
13269
13270  src/cairo-surface.c |    1 +
13271  src/cairoint.h      |    1 +
13272  2 files changed, 2 insertions(+)
13273
13274 commit 571ab1007571cb8d78fcb5206b43d6b964aa0df1
13275 Author: Chris Wilson <chris@chris-wilson.co.uk>
13276 Date:   Mon Jan 25 18:22:03 2010 +0000
13277
13278     xcb: Fix linking with xcb-drm
13279
13280  src/cairo-xcb-surface.c |    2 ++
13281  1 file changed, 2 insertions(+)
13282
13283 commit ecda633f887a10da650b4cd3efb17c861a6f519f
13284 Author: Chris Wilson <chris@chris-wilson.co.uk>
13285 Date:   Mon Jan 25 18:17:28 2010 +0000
13286
13287     mime-data: Detach existing alternate representations upon modification
13288     
13289     A major sore point in the current mime-data API is the choice to keep
13290     the alternate mime-data representations after the user has actually
13291     modifying the primary representation (i.e. has made it a target of a
13292     cairo_t and drawn to it). This has been rightly chastised as unexpected
13293     behaviour, and given that we already have the mechanism to detach
13294     snapshots upon modification, there is no reason not to behave as
13295     expected.
13296
13297  src/cairo-surface.c |   21 ++++++++++++++++++++-
13298  1 file changed, 20 insertions(+), 1 deletion(-)
13299
13300 commit 123bdb086ad9c5725a51791458d31309c69a3f41
13301 Author: Chris Wilson <chris@chris-wilson.co.uk>
13302 Date:   Mon Jan 25 16:45:03 2010 +0000
13303
13304     xcb: Make shm optional
13305     
13306     Trying to build xcb on a system without SHM wrapped by xcb. The right
13307     answer would be to build libxcb-shm. The quick answer is to compile out
13308     shm support.
13309
13310  boilerplate/Makefile.win32.features |   10 ++++++++++
13311  build/Makefile.win32.features       |    1 +
13312  build/Makefile.win32.features-h     |    3 +++
13313  build/configure.ac.features         |    1 +
13314  configure.ac                        |   14 +++++++++++++-
13315  src/Makefile.sources                |    8 ++++++--
13316  src/Makefile.win32.features         |   14 ++++++++++++++
13317  src/cairo-xcb-connection.c          |   22 ++++++++++++++++++----
13318  src/cairo-xcb-private.h             |   21 +++++++++++++++++++++
13319  src/cairo-xcb-surface-core.c        |    2 ++
13320  src/cairo-xcb-surface-render.c      |    2 ++
13321  src/cairo-xcb-surface.c             |   14 ++++++++++++++
13322  12 files changed, 105 insertions(+), 7 deletions(-)
13323
13324 commit e1b3330376c173633e146eb6cf578592d424e4d5
13325 Author: Chris Wilson <chris@chris-wilson.co.uk>
13326 Date:   Mon Jan 25 14:48:44 2010 +0000
13327
13328     configure: dri2 is only required for xcb-drm
13329     
13330     Move the optional dependency on dri2 to the xcb-drm integration where it
13331     is required.
13332
13333  configure.ac |    7 +++++--
13334  1 file changed, 5 insertions(+), 2 deletions(-)
13335
13336 commit 8151c72307e8cb369fbb524de56f87f805efff2b
13337 Author: Chris Wilson <chris@chris-wilson.co.uk>
13338 Date:   Mon Jan 25 12:14:39 2010 +0000
13339
13340     xcb: compile errors with lockdep
13341     
13342     After moving the mutex to the superclass, I forgot to update the
13343     references from the lockdep asserts.
13344
13345  src/cairo-xcb-connection.c |    6 +++---
13346  src/cairo-xcb-screen.c     |   16 ++++++++--------
13347  2 files changed, 11 insertions(+), 11 deletions(-)
13348
13349 commit be81d656c53c76032fd3fe11c81402d17ec56327
13350 Author: Chris Wilson <chris@chris-wilson.co.uk>
13351 Date:   Mon Jan 25 11:54:24 2010 +0000
13352
13353     clip: Create a fallback clip surface
13354     
13355     If the destination cannot support a clip surface, then we will need to
13356     use an intermediate image surface and trigger fallbacks upon use.
13357
13358  src/cairo-clip.c |    5 +++++
13359  1 file changed, 5 insertions(+)
13360
13361 commit c453d8ab704e5f41cb010241efe9bcb9ff886024
13362 Author: Chris Wilson <chris@chris-wilson.co.uk>
13363 Date:   Mon Jan 25 11:45:01 2010 +0000
13364
13365     test: Erroneous ref image for big-line xlib-fallback.
13366
13367  test/big-line.xlib-fallback.ref.png |  Bin 723 -> 0 bytes
13368  1 file changed, 0 insertions(+), 0 deletions(-)
13369
13370 commit 180aea76adbb6d5c5909652b7a8cafb7a693e982
13371 Author: Adrian Johnson <ajohnson@redneon.com>
13372 Date:   Mon Jan 25 20:48:02 2010 +1030
13373
13374     Fix printing of rotated user fonts
13375     
13376     b7550bf0 introduced a regression when user fonts are rendered to a
13377     rotated context.
13378
13379  src/cairo-type3-glyph-surface.c |    9 +++++----
13380  1 file changed, 5 insertions(+), 4 deletions(-)
13381
13382 commit abcb9d2c39178620b1847fe6ea6e144602464ecc
13383 Author: Chris Wilson <chris@chris-wilson.co.uk>
13384 Date:   Mon Jan 25 09:35:09 2010 +0000
13385
13386     image: Prevent deref of NULL clip_region
13387     
13388     Another stray from surface-fallback, spotted by Carlos:
13389     
13390     *INT_cairo_region_get_extents (region=0x0, extents=0xbfffce90) at
13391     cairo-region.c:385
13392     385         if (region->status) {
13393     (gdb) bt
13394     0  *INT_cairo_region_get_extents (region=0x0, extents=0xbfffce90) at
13395     cairo-region.c:385
13396     1  0x0013ba46 in _cairo_image_surface_composite_trapezoids
13397     (op=CAIRO_OPERATOR_OVER, pattern=0xbfffdda8, abstract_dst=0x837de10,
13398         antialias=CAIRO_ANTIALIAS_DEFAULT, src_x=486, src_y=45, dst_x=0,
13399     dst_y=0, width=15, height=25, traps=0x837f100, num_traps=30,
13400     clip_region=0x0)
13401         at cairo-image-surface.c:4102
13402     2  0x0015d846 in _cairo_surface_composite_trapezoids
13403     (op=CAIRO_OPERATOR_OVER, pattern=0xbfffdda8, dst=0x837de10,
13404     antialias=CAIRO_ANTIALIAS_DEFAULT,
13405         src_x=486, src_y=45, dst_x=0, dst_y=0, width=15, height=25,
13406     traps=0x837f100, num_traps=30, clip_region=0x0) at cairo-surface.c:2125
13407     3  0x001607ce in _cairo_surface_fallback_composite_trapezoids
13408     (op=CAIRO_OPERATOR_OVER, pattern=0xbfffdda8, dst=0x837db00,
13409         antialias=CAIRO_ANTIALIAS_DEFAULT, src_x=486, src_y=45, dst_x=486,
13410     dst_y=45, width=15, height=25, traps=0x837fd78, num_traps=30,
13411     clip_region=0x0)
13412         at cairo-surface-fallback.c:1641
13413     4  0x0015d8a4 in _cairo_surface_composite_trapezoids
13414     (op=CAIRO_OPERATOR_OVER, pattern=0xbfffdda8, dst=0x837db00,
13415     antialias=CAIRO_ANTIALIAS_DEFAULT,
13416         src_x=486, src_y=45, dst_x=486, dst_y=45, width=15, height=25,
13417     traps=0x837fd78, num_traps=30, clip_region=0x0) at cairo-surface.c:2137
13418     5  0x001623b0 in _composite_traps_draw_func (closure=0xbfffd350,
13419     op=CAIRO_OPERATOR_OVER, src=0xbfffdda8, dst=0x837db00, dst_x=0, dst_y=0,
13420         extents=0xbfffdc78, clip_region=0x0) at cairo-surface-fallback.c:546
13421     6  0x00161234 in _clip_and_composite (clip=0x0, op=<value optimized
13422     out>, src=0xbfffdda8, draw_func=0x162310 <_composite_traps_draw_func>,
13423         draw_closure=0xbfffd350, dst=0x837db00, extents=0xbfffdc78) at
13424     cairo-surface-fallback.c:463
13425     7  0x0016205b in _clip_and_composite_trapezoids (src=<value optimized
13426     out>, op=CAIRO_OPERATOR_OVER, dst=0x837db00, traps=0xbfffd7bc,
13427         antialias=CAIRO_ANTIALIAS_DEFAULT, clip=0x0, extents=0xbfffdc78) at
13428     cairo-surface-fallback.c:853
13429     8  0x001626ef in _cairo_surface_fallback_stroke (surface=0x837db00,
13430     op=CAIRO_OPERATOR_OVER, source=0xbfffdda8, path=0x1b164c,
13431     stroke_style=0x1b1524,
13432         ctm=0x1b15b0, ctm_inverse=0x1b15e0, tolerance=0.10000000000000001,
13433     antialias=CAIRO_ANTIALIAS_DEFAULT, clip=0x0) at
13434     cairo-surface-fallback.c:1173
13435     9  0x0015f2f4 in _cairo_surface_stroke (surface=0x837db00,
13436     op=CAIRO_OPERATOR_OVER, source=0xbfffdda8, path=0x1b164c,
13437     stroke_style=0x1b1524, ctm=0x1b15b0,
13438         ctm_inverse=0x1b15e0, tolerance=0.10000000000000001,
13439     antialias=CAIRO_ANTIALIAS_DEFAULT, clip=0xbfffde88) at
13440     cairo-surface.c:2041
13441     10 0x00134629 in _cairo_gstate_stroke (gstate=0x1b1514, path=0x1b164c)
13442     at cairo-gstate.c:1133
13443     11 0x0012a706 in *INT_cairo_stroke_preserve (cr=0x1b13c0) at
13444     cairo.c:2234
13445     12 0x0012a732 in *INT_cairo_stroke (cr=0x1b13c0) at cairo.c:2207
13446
13447  src/cairo-image-surface.c |   10 +++++++++-
13448  1 file changed, 9 insertions(+), 1 deletion(-)
13449
13450 commit 38ba696c483c289c2522b124ca628ef602c12126
13451 Author: Chris Wilson <chris@chris-wilson.co.uk>
13452 Date:   Mon Jan 25 09:20:11 2010 +0000
13453
13454     surface-fallback: We no longer own a reference to the clip surface
13455     
13456     _cairo_clip_get_surface() now returns a borrowed reference to the cached
13457     surface on the clip, so we must not destroy it - as Carlos pointed out
13458     when he hit the assert:
13459     
13460     12:55 < KaL> ickle: cairo-surface.c:595: cairo_surface_destroy:
13461     Assertion `((*&(&surface->ref_count)->ref_count) > 0)' failed.
13462     12:56 < KaL> ickle: trying to render any pdf file with poppler glib demo
13463     after installing cairo from git master
13464     13:00 < KaL> ickle: well, it seems it has nothing ot do with poppler,
13465     since it crashes in clearlooks src/clearlooks_draw.c:347
13466
13467  src/cairo-surface-fallback.c |    3 ---
13468  1 file changed, 3 deletions(-)
13469
13470 commit b3ba610ec05f863a0830a1f30ed130649fbadfbb
13471 Author: Chris Wilson <chris@chris-wilson.co.uk>
13472 Date:   Mon Jan 25 09:09:18 2010 +0000
13473
13474     win32: Trivially fix the compile error with printing.
13475     
13476     _cairo_pattern_is_opaque() now takes the extents over which the
13477     operation is defined so that we make exclude the clear pixels that
13478     surround EXTEND_NONE surfaces when determining opacity. In order to take
13479     full advantage of this we need to start performing an extents query on
13480     the operation and pass that down to the analysis...
13481     
13482     This patch however is just the quick compile fix to pass a NULL and
13483     restore the old behaviour.
13484     
13485     Fixes (with previous commit):
13486       Bug 26197 - Cairo doesn't build on windows
13487       http://bugs.freedesktop.org/show_bug.cgi?id=26197
13488
13489  src/cairo-win32-printing-surface.c |    2 +-
13490  1 file changed, 1 insertion(+), 1 deletion(-)
13491
13492 commit 386ca53f280652983870316593e510cfef59c559
13493 Author: Haakon Sporsheim <haakon.sporsheim@gmail.com>
13494 Date:   Sun Jan 24 16:43:42 2010 +0100
13495
13496     win32: Compile fix, rename render_row to render_rows.
13497
13498  src/cairo-win32-surface.c |    4 ++--
13499  1 file changed, 2 insertions(+), 2 deletions(-)
13500
13501 commit a9a73e5df42840148fd4db60cc0d1ba5d137b764
13502 Author: Andrea Canciani <ranma42@gmail.com>
13503 Date:   Sun Jan 24 23:26:28 2010 +0100
13504
13505     Constrain subsurface creation
13506     
13507     Force the subsurface extents to be inside the target extents and
13508     compose subsubsurfaces offsets correctly.
13509     Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
13510
13511  src/cairo-surface-subsurface.c |   36 +++++++++++++++---------------------
13512  1 file changed, 15 insertions(+), 21 deletions(-)
13513
13514 commit b7550bf0f1cafb5cc5df13da50b0cec80313038f
13515 Author: Adrian Johnson <ajohnson@redneon.com>
13516 Date:   Sun Jan 24 22:23:26 2010 +1030
13517
13518     Fix incorrect font scale and glyph position in Type 3 fonts
13519     
13520     The PDF file referenced by bug 26186 contains a Type 3 font with non
13521     identity font matrix and a "1/2" glyph created by drawing the "1" and
13522     "2" from a Type 1 font. This combination exposed a bug in the font
13523     scale and glyph position in _cairo_type3_glyph_surface_show_glyphs
13524     when printing user font glyphs.
13525
13526  src/cairo-type3-glyph-surface.c |   21 +++++----------------
13527  1 file changed, 5 insertions(+), 16 deletions(-)
13528
13529 commit ea7fda442c169a159b2e3c51894a0f5e70a13984
13530 Author: Eric Anholt <eric@anholt.net>
13531 Date:   Fri Jan 22 16:26:38 2010 -0800
13532
13533     [gl] Release the context acquired in surface_create.
13534     
13535     Fixes assertion failures in many testcases since
13536     cf9ea9f2f0ea1e1b42dc1507ed0dac4dfbf5d387
13537
13538  src/cairo-gl-surface.c |    2 ++
13539  1 file changed, 2 insertions(+)
13540
13541 commit 20990365f3885457d66b4a8bef865f027a98333f
13542 Author: Eric Anholt <eric@anholt.net>
13543 Date:   Fri Jan 22 16:13:02 2010 -0800
13544
13545     [gl] Emit rectanges a whole primitive at a time.
13546     
13547     Since the spans rework, we were emitting half a primitive at a time,
13548     and if we flushed our VBO full of quads out halfway through, we could
13549     end up dropping the primitive and then out of phase.
13550
13551  src/cairo-gl-surface.c |   25 +++++++++++--------------
13552  1 file changed, 11 insertions(+), 14 deletions(-)
13553
13554 commit c8a61a3267ffd53d4b4d61e2e2bcb70448ea4d41
13555 Author: Andrea Canciani <ranma42@gmail.com>
13556 Date:   Sat Jan 23 18:25:11 2010 +0100
13557
13558     Fix compilation on MacOS X
13559     
13560     Some functions declared in MacOS X headers use the always_inline
13561     attribute, thus defining it to be a different expression breaks the
13562     build.
13563
13564  src/cairo-botor-scan-converter.c |    8 ++++----
13565  src/cairo-compiler-private.h     |    4 ++--
13566  src/cairo-gl-private.h           |    4 ++--
13567  3 files changed, 8 insertions(+), 8 deletions(-)
13568
13569 commit 90ba1242b61e7b8e5ae2c2ca028d0058f6dabd88
13570 Author: Andrea Canciani <ranma42@gmail.com>
13571 Date:   Sat Jan 23 18:13:35 2010 +0100
13572
13573     Fix image backend compilation
13574     
13575     When HAS_ATOMIC_OPS is not defined, cairo-image-surface.c does not
13576     compile because _pixman_white_image calls _pixman_image_for_solid
13577     which gets defined only later in the code.
13578
13579  src/cairo-image-surface.c |    3 +++
13580  1 file changed, 3 insertions(+)
13581
13582 commit 2a466ba07072cb394cfc955cfb0633b0cc278044
13583 Author: Chris Wilson <chris@chris-wilson.co.uk>
13584 Date:   Fri Jan 22 22:26:52 2010 +0000
13585
13586     script: Encode octal values correctly.
13587     
13588     Oops, we were emitting the octal numerals in reverse order.
13589
13590  src/cairo-script-surface.c |   21 +++++++++++++--------
13591  1 file changed, 13 insertions(+), 8 deletions(-)
13592
13593 commit 87529198aa37f5eb5943eb80cc1aae858fdaadd0
13594 Author: Chris Wilson <chris@chris-wilson.co.uk>
13595 Date:   Fri Jan 22 22:21:44 2010 +0000
13596
13597     scaled-font: Mark an error site with _cairo_error()
13598
13599  src/cairo-scaled-font-subsets.c |    2 +-
13600  1 file changed, 1 insertion(+), 1 deletion(-)
13601
13602 commit 6544f3b25d2120b7bd04f6c956c2ea7b9c101c76
13603 Author: Chris Wilson <chris@chris-wilson.co.uk>
13604 Date:   Fri Jan 22 22:15:25 2010 +0000
13605
13606     ps: Wean off the low-level image composite interface
13607     
13608     The low-level surface composite interface will disappear in the near
13609     future and results in much more ugly code than calling the high level
13610     interface - so use it when flattening images into the page background.
13611
13612  src/cairo-ps-surface.c |   77 +++++++++++++++++-------------------------------
13613  1 file changed, 27 insertions(+), 50 deletions(-)
13614
13615 commit f57cb45fa9274351b36f96eb932a931493b5db94
13616 Author: Chris Wilson <chris@chris-wilson.co.uk>
13617 Date:   Fri Jan 22 22:18:35 2010 +0000
13618
13619     ps: Arguments to fill_extents() were reversed.
13620
13621  src/cairo-ps-surface.c |    3 ++-
13622  1 file changed, 2 insertions(+), 1 deletion(-)
13623
13624 commit 58540405d9bc6581c1d07f17bd5aee330f06d4a2
13625 Author: Chris Wilson <chris@chris-wilson.co.uk>
13626 Date:   Fri Jan 22 22:05:37 2010 +0000
13627
13628     pdf: Arguments to fill_extents() were reversed.
13629
13630  src/cairo-pdf-surface.c |    3 ++-
13631  1 file changed, 2 insertions(+), 1 deletion(-)
13632
13633 commit 34dd80632e4671f0ca245be9db4280db62bdb1f9
13634 Author: Chris Wilson <chris@chris-wilson.co.uk>
13635 Date:   Thu Jan 21 18:39:26 2010 +0000
13636
13637     glew: Silence compiler.
13638
13639  src/glew/GL/glew.h |    2 +-
13640  src/glew/glew.c    |    4 ++--
13641  2 files changed, 3 insertions(+), 3 deletions(-)
13642
13643 commit cf9ea9f2f0ea1e1b42dc1507ed0dac4dfbf5d387
13644 Author: Chris Wilson <chris@chris-wilson.co.uk>
13645 Date:   Thu Jan 21 18:39:12 2010 +0000
13646
13647     gl: Acquire the context whilst creating surfaces.
13648
13649  src/cairo-gl-private.h |    5 ++---
13650  src/cairo-gl-surface.c |   37 ++++++++++++++++++++++++-------------
13651  2 files changed, 26 insertions(+), 16 deletions(-)
13652
13653 commit a7e05bd602e7f8bee63f5d32cb95d65628e6e715
13654 Author: Chris Wilson <chris@chris-wilson.co.uk>
13655 Date:   Thu Jan 21 18:22:04 2010 +0000
13656
13657     glew: Do not assume that UNIX == GLX
13658
13659  src/glew/glew.c |    5 +++++
13660  1 file changed, 5 insertions(+)
13661
13662 commit c0008242b0f162d8c7717009ba792ed61b2924d1
13663 Author: Chris Wilson <chris@chris-wilson.co.uk>
13664 Date:   Fri Jan 22 21:35:23 2010 +0000
13665
13666     misc: Only use custom lround() under DISABLE_SOME_FLOATING_POINT
13667     
13668     On my Core2, the library version of lround() is faster than our
13669     hand-rolled non-floating point implementation. So only enable our code
13670     if we are trying to minimise the number of floating point operations --
13671     even then, it would worth investigating the library performance first.
13672     
13673     [Just a reminder that optimisation choices will change over time as our
13674     hardware and software evolves.]
13675
13676  src/cairo-misc.c       |    2 ++
13677  src/cairo-ps-surface.c |    4 ++--
13678  src/cairoint.h         |    5 +++++
13679  3 files changed, 9 insertions(+), 2 deletions(-)
13680
13681 commit 1236c41072a7966eda7db48a381fd0508e5289be
13682 Author: Chris Wilson <chris@chris-wilson.co.uk>
13683 Date:   Fri Jan 22 21:26:26 2010 +0000
13684
13685     xcb: Refresh.
13686     
13687     Still an experimental backend, it's now a little too late to stabilise
13688     for 1.10, but this should represent a major step forward in its feature
13689     set and an attempt to catch up with all the bug fixes that have been
13690     performed on xlib. Notably not tested yet (and expected to be broken)
13691     are mixed-endian connections and low bitdepth servers (the dithering
13692     support has not been copied over for instance). However, it seems robust
13693     enough for daily use...
13694     
13695     Of particular note in this update is that the xcb surface is now capable
13696     of subverting the xlib surface through the ./configure --enable-xlib-xcb
13697     option. This replaces the xlib surface with a proxy that forwards all
13698     operations to an equivalent xcb surface whilst preserving the cairo-xlib
13699     API that is required for compatibility with the existing applications,
13700     for instance GTK+ and Mozilla. Also you can experiment with enabling a
13701     DRM bypass, though you need to be extremely foolhardy to do so.
13702
13703  boilerplate/Makefile.win32.features |   20 +
13704  boilerplate/cairo-boilerplate-xcb.c |  522 +++-
13705  build/Makefile.win32.features       |    2 +
13706  build/Makefile.win32.features-h     |    6 +
13707  build/configure.ac.features         |    2 +
13708  configure.ac                        |   26 +-
13709  src/Makefile.sources                |   22 +-
13710  src/Makefile.win32.features         |   28 +
13711  src/cairo-list-private.h            |    7 +
13712  src/cairo-mutex-list-private.h      |    4 +
13713  src/cairo-pattern.c                 |   41 +-
13714  src/cairo-xcb-connection-core.c     |  482 ++++
13715  src/cairo-xcb-connection-render.c   |  969 ++++++++
13716  src/cairo-xcb-connection-shm.c      |  194 ++
13717  src/cairo-xcb-connection.c          |  867 +++++++
13718  src/cairo-xcb-private.h             |  760 ++++++
13719  src/cairo-xcb-screen.c              |  518 ++++
13720  src/cairo-xcb-shm.c                 |  576 +++++
13721  src/cairo-xcb-surface-cairo.c       |   94 +
13722  src/cairo-xcb-surface-core.c        |  613 +++++
13723  src/cairo-xcb-surface-private.h     |   37 +
13724  src/cairo-xcb-surface-render.c      | 4471 +++++++++++++++++++++++++++++++++++
13725  src/cairo-xcb-surface.c             | 3382 ++++++++------------------
13726  src/cairo-xcb-xrender.h             |   63 -
13727  src/cairo-xcb.h                     |   41 +-
13728  src/cairo-xlib-xcb-surface.c        |  515 ++++
13729  src/cairoint.h                      |   16 +
13730  test/xcb-surface-source.c           |    1 -
13731  28 files changed, 11708 insertions(+), 2571 deletions(-)
13732
13733 commit 77afe8491ed7038a8399c01f10d8f062a7239225
13734 Author: Chris Wilson <chris@chris-wilson.co.uk>
13735 Date:   Fri Jan 22 20:48:54 2010 +0000
13736
13737     drm: Add backends for i915 and i965.
13738     
13739     As proof-of-principle add the nearly working demonstrations of using DRM
13740     to render directly with the GPU bypassing both RENDER and GL for
13741     performance whilst preserving high quality rendering.
13742     
13743     The basis behind developing these chip specific backends is that this is
13744     the idealised interface that we desire for this chips, and so a target
13745     for cairo-gl as we continue to develop both it and our GL stack.
13746     
13747     Note that this backends do not yet fully pass the test suite, so only
13748     use if you are brave and willing to help develop them further.
13749
13750  boilerplate/cairo-boilerplate-drm.c       |    2 +-
13751  src/Makefile.sources                      |   17 +
13752  src/cairo-drm.h                           |   31 +-
13753  src/cairo-misc.c                          |   57 +
13754  src/cairoint.h                            |    2 +
13755  src/drm/cairo-drm-bo.c                    |   13 +-
13756  src/drm/cairo-drm-gallium-surface.c       |    3 +-
13757  src/drm/cairo-drm-i915-glyphs.c           |  534 ++++++
13758  src/drm/cairo-drm-i915-private.h          | 1169 ++++++++++++
13759  src/drm/cairo-drm-i915-shader.c           | 2674 +++++++++++++++++++++++++++
13760  src/drm/cairo-drm-i915-spans.c            |  708 +++++++
13761  src/drm/cairo-drm-i915-surface.c          | 1996 ++++++++++++++++++++
13762  src/drm/cairo-drm-i965-glyphs.c           |  500 +++++
13763  src/drm/cairo-drm-i965-private.h          |  742 ++++++++
13764  src/drm/cairo-drm-i965-shader.c           | 2852 +++++++++++++++++++++++++++++
13765  src/drm/cairo-drm-i965-spans.c            |  408 +++++
13766  src/drm/cairo-drm-i965-surface.c          | 1949 ++++++++++++++++++++
13767  src/drm/cairo-drm-intel-brw-defines.h     |  824 +++++++++
13768  src/drm/cairo-drm-intel-brw-eu-emit.c     | 1089 +++++++++++
13769  src/drm/cairo-drm-intel-brw-eu-util.c     |  121 ++
13770  src/drm/cairo-drm-intel-brw-eu.c          |  250 +++
13771  src/drm/cairo-drm-intel-brw-eu.h          | 1043 +++++++++++
13772  src/drm/cairo-drm-intel-brw-structs.h     | 1328 ++++++++++++++
13773  src/drm/cairo-drm-intel-command-private.h |  909 +++++++++
13774  src/drm/cairo-drm-intel-debug.c           | 1208 ++++++++++++
13775  src/drm/cairo-drm-intel-ioctl-private.h   |  417 +++++
13776  src/drm/cairo-drm-intel-private.h         |  427 ++++-
13777  src/drm/cairo-drm-intel-surface.c         |  421 +++--
13778  src/drm/cairo-drm-intel.c                 | 1240 +++++++++----
13779  src/drm/cairo-drm-private.h               |  101 +-
13780  src/drm/cairo-drm-radeon-private.h        |    3 -
13781  src/drm/cairo-drm-radeon-surface.c        |  281 +--
13782  src/drm/cairo-drm-radeon.c                |    5 +-
13783  src/drm/cairo-drm-surface.c               |  235 +--
13784  src/drm/cairo-drm.c                       |  232 +--
13785  35 files changed, 22675 insertions(+), 1116 deletions(-)
13786
13787 commit b9407af6a4bc792c1bcb52c90aa8a618627bb618
13788 Author: Chris Wilson <chris@chris-wilson.co.uk>
13789 Date:   Fri Jan 22 17:57:41 2010 +0000
13790
13791     image: Implement high level interface.
13792     
13793     Write a dedicated compositor for pixman so that we avoid the
13794     middle-layer syndrome of surface-fallback. The major upshot of this
13795     rewrite is that the image surface is now several times quicker for glyph
13796     compositing, which dramatically improves performance for text rendering
13797     by firefox and friends. It also uses a couple of the new scan
13798     convertors, such as the rectangular scan converter for rectilinear
13799     paths.
13800     
13801     Speedups
13802     ========
13803     image-rgba          firefox-talos-gfx-0    342050.17 (342155.88 0.02%) -> 69412.44 (69702.90 0.21%):  4.93x speedup
13804     ███▉
13805     image-rgba                        vim-0    97518.13 (97696.23 1.21%) -> 30712.63 (31238.65 0.85%):  3.18x speedup
13806     ██▏
13807     image-rgba                  evolution-0    69927.77 (110261.08 19.84%) -> 24430.05 (25368.85 1.89%):  2.86x speedup
13808     █▉
13809     image-rgba                    poppler-0    41452.61 (41547.03 2.51%) -> 21195.52 (21656.85 1.08%):  1.96x speedup
13810     █
13811     image-rgba       firefox-planet-gnome-0    217512.61 (217636.80 0.06%) -> 123341.02 (123641.94 0.12%):  1.76x speedup
13812     ▊
13813     image-rgba             swfdec-youtube-0    41302.71 (41373.60 0.11%) -> 31343.93 (31488.87 0.23%):  1.32x speedup
13814     ▍
13815     image-rgba         swfdec-giant-steps-0    20699.54 (20739.52 0.10%) -> 17360.19 (17375.51 0.04%):  1.19x speedup
13816     ▎
13817     image-rgba                       gvim-0    167837.47 (168027.68 0.51%) -> 151105.94 (151635.85 0.18%):  1.11x speedup
13818     ▏
13819     image-rgba          firefox-talos-svg-0    375273.43 (388250.94 1.60%) -> 356846.09 (370370.08 1.86%):  1.05x speedup
13820
13821  src/cairo-image-surface.c                 | 3987 ++++++++++++++++++++++++-----
13822  src/cairo-mutex-list-private.h            |    2 +
13823  src/cairo-xcb-surface.c                   |   10 +-
13824  src/cairoint.h                            |   21 +-
13825  test/clip-fill-unbounded.argb32.ref.png   |  Bin 1615 -> 1607 bytes
13826  test/clip-fill-unbounded.rgb24.ref.png    |  Bin 1312 -> 1304 bytes
13827  test/clip-stroke-unbounded.argb32.ref.png |  Bin 1703 -> 1694 bytes
13828  test/clip-stroke-unbounded.rgb24.ref.png  |  Bin 1383 -> 1372 bytes
13829  test/clip-stroke.ref.png                  |  Bin 1451 -> 1442 bytes
13830  test/clipped-group.ref.png                |  Bin 289 -> 289 bytes
13831  test/leaky-dashed-rectangle.ref.png       |  Bin 347 -> 357 bytes
13832  test/scale-offset-image.xfail.png         |  Bin 9960 -> 9961 bytes
13833  test/scale-offset-similar.xfail.png       |  Bin 9960 -> 9961 bytes
13834  test/self-intersecting.ref.png            |  Bin 213 -> 168 bytes
13835  14 files changed, 3342 insertions(+), 678 deletions(-)
13836
13837 commit ec7cc9dea16f94e1e56720be548cf5520ec4708b
13838 Author: Chris Wilson <chris@chris-wilson.co.uk>
13839 Date:   Fri Jan 22 19:27:45 2010 +0000
13840
13841     ft: Tidy computation of transformed bitmap, and mark if CA
13842     
13843     Discard a redundant clear as the image surface is guaranteed to return
13844     a cleared surface that meets pixman/xlib requirements for alignment, and
13845     more importantly add the ComponentAlpha flag on the pixman image
13846     generated as appropriate.
13847
13848  src/cairo-ft-font.c |   31 +++++++++++--------------------
13849  1 file changed, 11 insertions(+), 20 deletions(-)
13850
13851 commit b713510f213d0a83cb0575d6870416a0f13786c9
13852 Author: Chris Wilson <chris@chris-wilson.co.uk>
13853 Date:   Fri Jan 22 17:56:26 2010 +0000
13854
13855     surface-fallback: Convert to composite rectangles
13856
13857  src/cairo-surface-fallback.c |  396 ++++++++++++++----------------------------
13858  src/cairo-surface.c          |    3 +
13859  src/cairo-traps.c            |   47 ++---
13860  src/cairoint.h               |    3 +-
13861  4 files changed, 158 insertions(+), 291 deletions(-)
13862
13863 commit 498c10032ea3f8631a928cd7df96766f2c8ddca4
13864 Author: Chris Wilson <chris@chris-wilson.co.uk>
13865 Date:   Fri Jan 22 16:39:29 2010 +0000
13866
13867     clip: Implement clipping using only the high-level operators.
13868     
13869     Revamp clipping in preparation for the removal of the low-level interface
13870     and promote backend to use the higher levels. The principle here is that
13871     the higher level interface gives the backend more scope for choosing
13872     better performing primitives.
13873
13874  src/cairo-clip-private.h     |    6 +-
13875  src/cairo-clip.c             |  257 ++++++++++++++++++++----------------------
13876  src/cairo-surface-fallback.c |    2 +-
13877  3 files changed, 131 insertions(+), 134 deletions(-)
13878
13879 commit 05bb43a00770f17566c80f28faf684597d1b6afb
13880 Author: Chris Wilson <chris@chris-wilson.co.uk>
13881 Date:   Fri Jan 22 16:14:53 2010 +0000
13882
13883     types: Move cairo_scaled_glyph_t to cairo-types-private.h
13884     
13885     Another step in bringing some sanity to our headers.
13886
13887  src/cairo-types-private.h |   25 +++++++++++++++++++++++++
13888  src/cairoint.h            |   26 --------------------------
13889  2 files changed, 25 insertions(+), 26 deletions(-)
13890
13891 commit 9c98656fb1ac10a6085c5db5731b6b986af26165
13892 Author: Chris Wilson <chris@chris-wilson.co.uk>
13893 Date:   Fri Jan 22 16:11:48 2010 +0000
13894
13895     color: Add enum value for the largest stock color.
13896     
13897     Useful if we wish to keep a cache of patterns for the very common stock
13898     colors...
13899
13900  src/cairo-color.c         |   13 +++++++------
13901  src/cairo-types-private.h |    3 ++-
13902  2 files changed, 9 insertions(+), 7 deletions(-)
13903
13904 commit b7b65b5315836297f86c54121ea45e469f514312
13905 Author: Chris Wilson <chris@chris-wilson.co.uk>
13906 Date:   Fri Jan 22 16:07:25 2010 +0000
13907
13908     stroke: Convert rectilinear paths to boxes.
13909     
13910     A quick and efficient method for extracting the set of boxes that
13911     represent the path when stroked.
13912
13913  src/cairo-path-stroke.c |  170 +++++++++++++++++++++++++++++++++++++----------
13914  src/cairoint.h          |    7 ++
13915  2 files changed, 142 insertions(+), 35 deletions(-)
13916
13917 commit fe6a7f4c9e69c86588eca4925a9d65f3086f98bf
13918 Author: Chris Wilson <chris@chris-wilson.co.uk>
13919 Date:   Fri Jan 22 16:02:07 2010 +0000
13920
13921     fill: Convert rectilinear paths to boxes.
13922     
13923     A quick and efficient method for extracting the set of boxes that
13924     represent the path when filled.
13925
13926  src/cairo-path-fill.c |   76 ++++++++++++++++++++++++++++++++++++++++++++++++-
13927  src/cairoint.h        |    5 ++++
13928  2 files changed, 80 insertions(+), 1 deletion(-)
13929
13930 commit 6b77567b6ef28710c7707ab82c7fa95c810152d1
13931 Author: Chris Wilson <chris@chris-wilson.co.uk>
13932 Date:   Fri Jan 22 15:54:45 2010 +0000
13933
13934     path: Compute coarse bounds upon construction.
13935     
13936     Frequently we only need the coarse path bounds, so avoid walking over
13937     the list of points once more as we can cheaply track the extents during
13938     construction.
13939
13940  src/cairo-debug.c              |    6 ++
13941  src/cairo-gstate.c             |   21 ++++--
13942  src/cairo-path-bounds.c        |  159 +++++++++++++++++++---------------------
13943  src/cairo-path-fixed-private.h |    4 +-
13944  src/cairo-path-fixed.c         |   83 +++++++++++++++++++--
13945  src/cairo.c                    |    2 +
13946  src/cairoint.h                 |    9 +--
13947  7 files changed, 184 insertions(+), 100 deletions(-)
13948
13949 commit 6bfcf3ea55964fee1c9b73818c3bb7cdacbc4f82
13950 Author: Chris Wilson <chris@chris-wilson.co.uk>
13951 Date:   Fri Jan 22 15:37:25 2010 +0000
13952
13953     matrix: Do not need to iteratively refine conversion for unity matrices.
13954     
13955     If the scale factors on the matrix are unity, then the conversion from a
13956     cairo_matrix_t to a pixman_matrix_t is exact (within numerical
13957     restrictions).
13958
13959  src/cairo-matrix.c |    2 +-
13960  1 file changed, 1 insertion(+), 1 deletion(-)
13961
13962 commit 13c56800ca6c32a6d8251edec5d3976399b70ea4
13963 Author: Chris Wilson <chris@chris-wilson.co.uk>
13964 Date:   Fri Jan 22 16:33:34 2010 +0000
13965
13966     gstate: Reduce operators
13967     
13968     Some operators may be equivalent to simpler operations, so make the
13969     transformation in the gstate, before calling down into the surface
13970     backends.
13971
13972  src/cairo-gstate.c |   86 +++++++++++++++++++++++++++++++++++++++++++---------
13973  1 file changed, 72 insertions(+), 14 deletions(-)
13974
13975 commit 4d52be39bf36a3557f4e7c61dba764b1c6542c8f
13976 Author: Chris Wilson <chris@chris-wilson.co.uk>
13977 Date:   Fri Jan 22 16:09:11 2010 +0000
13978
13979     gstate: Skip ops with a clear mask.
13980     
13981     As pointed out by Benjamin Otte, these are expensive no-ops that we can
13982     trivially detect, just so long as we remember the semantics of extend
13983     modes.
13984
13985  src/cairo-gstate.c  |    6 ++++++
13986  src/cairo-pattern.c |   23 +++++++++++++++++++++++
13987  src/cairoint.h      |    3 +++
13988  3 files changed, 32 insertions(+)
13989
13990 commit c2ef45226d6801acb15854de55a5f5bc728ed65d
13991 Author: Chris Wilson <chris@chris-wilson.co.uk>
13992 Date:   Fri Jan 22 14:33:53 2010 +0000
13993
13994     gstate: Check for an invalid matrix before cairo_transform()
13995     
13996     Similar to the other checks that will generate an invalid matrix prior
13997     to performing the operation.
13998
13999  src/cairo-gstate.c |    3 +++
14000  1 file changed, 3 insertions(+)
14001
14002 commit 22316a0c17cd3b49ec625814f4e737b3fdc6ca63
14003 Author: Chris Wilson <chris@chris-wilson.co.uk>
14004 Date:   Fri Jan 22 14:33:16 2010 +0000
14005
14006     gstate: White space.
14007     
14008     A couple of minor coding style violations.
14009
14010  src/cairo-gstate.c |    7 +++++--
14011  1 file changed, 5 insertions(+), 2 deletions(-)
14012
14013 commit 29bedde904824098f73b978d73d36b3b5420ac32
14014 Author: Chris Wilson <chris@chris-wilson.co.uk>
14015 Date:   Fri Jan 22 16:19:31 2010 +0000
14016
14017     pattern: Add convenience patterns for stock colours
14018     
14019     By preallocating in our data segment a couple of solid patterns for the
14020     stock colours, it becomes more convenient when using those in surface
14021     operations, such as when clearing.
14022
14023  src/cairo-clip.c                   |   29 +++++++++++------------------
14024  src/cairo-gl-glyphs.c              |   10 +++-------
14025  src/cairo-gstate.c                 |    9 +++------
14026  src/cairo-pattern.c                |   24 ++++++++++++++++++++++++
14027  src/cairo-scaled-font.c            |    9 ++-------
14028  src/cairo-surface-fallback.c       |   14 +++-----------
14029  src/cairo-vg-surface.c             |    5 ++---
14030  src/cairo-win32-printing-surface.c |    8 ++------
14031  src/cairo-xcb-surface.c            |    7 +------
14032  src/cairo-xlib-surface.c           |    6 +-----
14033  src/cairoint.h                     |    3 ++-
14034  11 files changed, 54 insertions(+), 70 deletions(-)
14035
14036 commit 9eb98e1dc5af7eac896bf469e491063777e678be
14037 Author: Chris Wilson <chris@chris-wilson.co.uk>
14038 Date:   Fri Jan 22 14:14:51 2010 +0000
14039
14040     scaled-font: Use tight glyph bounds when determining overlap.
14041     
14042     An issue that we currently have is that we have a pessimistic
14043     false-positive rate when determining whether glyphs within a string
14044     overlap. By using the tight bounds, the overlap detection is arguably
14045     less accurate presuming pixel-aligned opacity masks but we make the
14046     trade-off for performance.
14047
14048  src/cairo-scaled-font.c |   55 +++++++++++++++++++++--------------------------
14049  1 file changed, 25 insertions(+), 30 deletions(-)
14050
14051 commit 005b0c4eb2a1fe2c4de31ebe2a3244bea8bd2625
14052 Author: Chris Wilson <chris@chris-wilson.co.uk>
14053 Date:   Fri Jan 22 19:47:58 2010 +0000
14054
14055     test: Add explicit device management to xlib-surface-source
14056     
14057     Mostly pedagogical example.
14058
14059  test/xlib-surface-source.c |    5 +++++
14060  1 file changed, 5 insertions(+)
14061
14062 commit ca02b51ef6d058b6fb492258177f0396a5819e26
14063 Author: Chris Wilson <chris@chris-wilson.co.uk>
14064 Date:   Fri Jan 22 21:57:58 2010 +0000
14065
14066     test: Add an xcb surface source test
14067
14068  test/Makefile.am                       |    6 ++
14069  test/Makefile.sources                  |    3 +
14070  test/xcb-surface-source.argb32.ref.png |  Bin 0 -> 377 bytes
14071  test/xcb-surface-source.c              |  145 ++++++++++++++++++++++++++++++++
14072  test/xcb-surface-source.rgb24.ref.png  |  Bin 0 -> 301 bytes
14073  5 files changed, 154 insertions(+)
14074
14075 commit f0678fb70ceec5db1b7c3f0eb1c5603039daf307
14076 Author: Chris Wilson <chris@chris-wilson.co.uk>
14077 Date:   Fri Jan 22 19:02:39 2010 +0000
14078
14079     test: Tweak aligned of text-rotate
14080     
14081     Reset the rotation for every quadrant so that the starting rectangles
14082     are pixel-aligned.
14083
14084  test/text-rotate.c       |   68 +++++++++++++++++++++++++++++++++-------------
14085  test/text-rotate.ref.png |  Bin 16738 -> 16722 bytes
14086  2 files changed, 49 insertions(+), 19 deletions(-)
14087
14088 commit 2edd2adafc471f4aa9c417d4bc76cc38466a9ed0
14089 Author: Chris Wilson <chris@chris-wilson.co.uk>
14090 Date:   Tue Jan 19 22:45:59 2010 +0000
14091
14092     test: Exercise scan converters with large rounded rectangles.
14093     
14094     Having added a specialised scan converter on the premise that it should
14095     be better at handling rounded rectangles, ensure that they are indeed
14096     rendered correctly.
14097
14098  test/Makefile.am                           |    2 +
14099  test/Makefile.sources                      |    2 +
14100  test/rounded-rectangle-fill.c              |   65 ++++++++++++++++++++++++++++
14101  test/rounded-rectangle-fill.xlib.ref.png   |  Bin 0 -> 890 bytes
14102  test/rounded-rectangle-stroke.c            |   64 +++++++++++++++++++++++++++
14103  test/rounded-rectangle-stroke.xlib.ref.png |  Bin 0 -> 860 bytes
14104  6 files changed, 133 insertions(+)
14105
14106 commit 5187501e997d6b8c0d135542d21accde9e311281
14107 Author: Chris Wilson <chris@chris-wilson.co.uk>
14108 Date:   Tue Jan 19 22:41:45 2010 +0000
14109
14110     test: Add --track-origins=yes to valgrind flags.
14111     
14112     Enable origin tracking by default for make check-valgrind. This is
14113     slower and consumes more memory than regular valgrind, but the
14114     additional information provided about the source of the uninitialised
14115     data is often invaluable.
14116
14117  test/Makefile.am |    4 +++-
14118  1 file changed, 3 insertions(+), 1 deletion(-)
14119
14120 commit 3a5d71c431dfb251308c3e4e02d2ea4acec90a91
14121 Author: Chris Wilson <chris@chris-wilson.co.uk>
14122 Date:   Tue Jan 19 19:18:54 2010 +0000
14123
14124     pattern: An EXTEND_NONE surface is not opaque if we sample outside
14125     
14126     Fixes test/clear-source as proposed by Benjamin Otte.
14127
14128  src/cairo-gstate.c       |    2 +-
14129  src/cairo-pattern.c      |   33 ++++++-
14130  src/cairo-pdf-surface.c  |  219 +++++++++++++++++++++++++++-------------------
14131  src/cairo-ps-surface.c   |  186 +++++++++++++++++++++++----------------
14132  src/cairo-xlib-surface.c |    8 +-
14133  src/cairoint.h           |    3 +-
14134  6 files changed, 284 insertions(+), 167 deletions(-)
14135
14136 commit b07de014eba1a482747ac235670011972a82d19d
14137 Author: Chris Wilson <chris@chris-wilson.co.uk>
14138 Date:   Tue Jan 19 18:44:34 2010 +0000
14139
14140     spans: Add a rectangular scan converter
14141     
14142     This is a highly specialised scan converter for the relatively common
14143     case of where the input geometry is known to be a series of rectangles.
14144     Generally not device aligned (or else we would most likely have chosen
14145     an even higher performance path that does not require a coverage mask),
14146     this optimised converter can simply compute the analytical coverage by
14147     utilising a special case Bentley-Ottmann intersection finder.
14148
14149  src/Makefile.sources                   |    1 +
14150  src/cairo-rectangular-scan-converter.c |  723 ++++++++++++++++++++++++++++++++
14151  src/cairo-spans-private.h              |   25 ++
14152  3 files changed, 749 insertions(+)
14153
14154 commit e49855497e7214c21c85b03d7ab94e9e008f821b
14155 Author: Chris Wilson <chris@chris-wilson.co.uk>
14156 Date:   Tue Jan 19 18:36:20 2010 +0000
14157
14158     spans: Add a Bentley-Ottmann variant on the Tor scan converter
14159     
14160     This variant uses the Bentley-Ottmann algorithm to only maintain the
14161     active edge list upon edge events and so can efficiently skip areas
14162     where no change occurs. This means that it can be much quicker than the
14163     Tor algorithm (which is still used to compute the coverages from the
14164     active edges) for geometries consisting of long straight lines with few
14165     intersections. However due to the computational overhead of the
14166     Bentley-Ottmann event processing, for dense curvy paths, simply updating
14167     the active edge list in sync with computing the coverages is a win. Due
14168     to advantageous adaptive step size, the scan converter can be run at a
14169     much higher subsampling with little extra overhead compared with Tor,
14170     currently it uses a 256x256 subsampling grid to avoid any impedance
14171     mismatch with path precision.
14172     
14173     Given the current status of implementations, this scan converter [botor]
14174     is likely to be advantage where detecting large regions of unchanged
14175     span data will result in improved performance, for instance the drm
14176     backends which convert the scan data into rectangles.
14177
14178  src/Makefile.sources             |    1 +
14179  src/cairo-botor-scan-converter.c | 2199 ++++++++++++++++++++++++++++++++++++++
14180  src/cairo-compiler-private.h     |   11 +
14181  src/cairo-fixed-private.h        |   22 +-
14182  src/cairo-freelist-private.h     |   16 +
14183  src/cairo-freelist.c             |   38 +-
14184  src/cairo-spans-private.h        |   23 +
14185  src/cairoint.h                   |    9 -
14186  8 files changed, 2299 insertions(+), 20 deletions(-)
14187
14188 commit 424dcf296378a107286a164aaf135a34e40c42ac
14189 Author: Chris Wilson <chris@chris-wilson.co.uk>
14190 Date:   Tue Jan 19 19:11:31 2010 +0000
14191
14192     boxes: Enable generation of boxes from rectilinear polygons.
14193     
14194     Extend the special case rectilinear tessellator to also produce boxes.
14195
14196  src/cairo-bentley-ottmann-rectilinear.c |  122 ++++++++++++++++++++++++++-----
14197  src/cairoint.h                          |    5 ++
14198  2 files changed, 108 insertions(+), 19 deletions(-)
14199
14200 commit b83f1c347dfd77139e9485745d43da946b086b74
14201 Author: Chris Wilson <chris@chris-wilson.co.uk>
14202 Date:   Tue Jan 19 19:09:10 2010 +0000
14203
14204     boxes: Enable tessellation
14205     
14206     Extend the special case rectangular tessellator to handle generation of
14207     cairo_boxes_t.
14208
14209  src/cairo-bentley-ottmann-rectangular.c |  778 ++++++++++++++++---------------
14210  src/cairoint.h                          |    5 +
14211  2 files changed, 416 insertions(+), 367 deletions(-)
14212
14213 commit 43beaa5873b9ad10620bfe7ed5f9212a3c44effd
14214 Author: Chris Wilson <chris@chris-wilson.co.uk>
14215 Date:   Tue Jan 19 18:11:26 2010 +0000
14216
14217     boxes: Efficient storage for an array of cairo_box_t.
14218     
14219     Currently we use cairo_traps_t to also pass around arrays of boxes. This
14220     is woefully inefficient in terms of storage, but also means that we
14221     repeatedly have to verify that the traps are a set of boxes. By
14222     explicitly passing around a cairo_boxes_t we avoid the semantic loss.
14223     
14224     This will be heavily used in pending commits.
14225
14226  src/Makefile.sources      |    2 +
14227  src/cairo-boxes-private.h |   80 ++++++++++++++
14228  src/cairo-boxes.c         |  269 +++++++++++++++++++++++++++++++++++++++++++++
14229  src/cairo-types-private.h |    1 +
14230  4 files changed, 352 insertions(+)
14231
14232 commit ae25f1c360b79f0b7b1bb73e9ebc47eb794d8007
14233 Author: Chris Wilson <chris@chris-wilson.co.uk>
14234 Date:   Tue Jan 19 17:11:55 2010 +0000
14235
14236     Alter definition of cairo_composite_rectangles_t
14237     
14238     This is a more useful definition that is able to individually track the
14239     rectangles that compose the composite operation. This will be used by
14240     the specialist compositors as a means to perform the common extents
14241     determination for an operation.
14242
14243  src/Makefile.sources                     |    2 +
14244  src/cairo-composite-rectangles-private.h |  105 ++++++++++++++++
14245  src/cairo-composite-rectangles.c         |  197 ++++++++++++++++++++++++++++++
14246  src/cairo-gl-surface.c                   |   19 +--
14247  src/cairo-image-surface.c                |   31 ++---
14248  src/cairo-misc.c                         |   41 +++++++
14249  src/cairo-rectangle.c                    |   21 ----
14250  src/cairo-spans.c                        |   29 +++--
14251  src/cairo-surface-fallback.c             |   13 +-
14252  src/cairo-types-private.h                |   24 +---
14253  src/cairo-win32-surface.c                |   21 ++--
14254  src/cairoint.h                           |   14 +--
14255  12 files changed, 417 insertions(+), 100 deletions(-)
14256
14257 commit 9cd9137843f8f1c3d32bedb6510259ab3638a2c5
14258 Author: Chris Wilson <chris@chris-wilson.co.uk>
14259 Date:   Tue Jan 19 17:11:11 2010 +0000
14260
14261     spans: Pass multiple rows of identical spans to the renders.
14262     
14263     It is quite common amongst our geometry to have rows of repeated span
14264     data, for example a rounded rectangle will have repeating data between
14265     the top and bottom rounded corners. By passing the repeat length to the
14266     renderers, they may be able to use that information more efficiently,
14267     and the scan converters can avoid recomputing the same span data.
14268
14269  src/cairo-gl-surface.c         |  141 +++++++++--------
14270  src/cairo-image-surface.c      |   79 ++++-----
14271  src/cairo-spans-private.h      |   24 ++-
14272  src/cairo-spans.c              |    6 +-
14273  src/cairo-tor-scan-converter.c |  343 +++++++++++++++++++++++++---------------
14274  src/cairo-win32-surface.c      |   13 +-
14275  src/cairoint.h                 |    4 +-
14276  7 files changed, 349 insertions(+), 261 deletions(-)
14277
14278 commit a04873c0770df5eaed078493df5216ca28322de7
14279 Author: Chris Wilson <chris@chris-wilson.co.uk>
14280 Date:   Mon Jan 18 23:40:00 2010 +0000
14281
14282     qt: Trivial compile fix for boilerplate.
14283
14284  boilerplate/cairo-boilerplate-qt.cpp |    2 ++
14285  1 file changed, 2 insertions(+)
14286
14287 commit 0f09349dd85b15d5de14248e2f3f17a91fbcbb5e
14288 Author: Chris Wilson <chris@chris-wilson.co.uk>
14289 Date:   Mon Jan 18 23:37:36 2010 +0000
14290
14291     gl: Exercise Window destinations with boilerplate
14292     
14293     Add a gl-window boilerplate target to exercise using GL to render to a
14294     visible Drawable -- for instance, a window has a different coordinate
14295     system to a framebuffer...
14296
14297  boilerplate/cairo-boilerplate-gl.c |   99 ++++++++++++++++++++++++++++++++++++
14298  1 file changed, 99 insertions(+)
14299
14300 commit ccea7fd7c1a2d7144e892c19615488e368529bc0
14301 Author: Chris Wilson <chris@chris-wilson.co.uk>
14302 Date:   Mon Jan 18 23:37:11 2010 +0000
14303
14304     gl: Port to cairo_device_t
14305
14306  boilerplate/cairo-boilerplate-gl.c |   28 +++--
14307  src/cairo-eagle-context.c          |   25 ++--
14308  src/cairo-gl-glyphs.c              |   46 +++++---
14309  src/cairo-gl-private.h             |   44 ++++---
14310  src/cairo-gl-surface.c             |  222 ++++++++++++++++--------------------
14311  src/cairo-gl.h                     |   22 ++--
14312  src/cairo-glx-context.c            |   25 ++--
14313  7 files changed, 211 insertions(+), 201 deletions(-)
14314
14315 commit 3acd520c9dec89e72d7ff61adb1ae30bab12e256
14316 Author: Chris Wilson <chris@chris-wilson.co.uk>
14317 Date:   Mon Jan 18 23:11:19 2010 +0000
14318
14319     xml: Port to cairo_device_t
14320
14321  src/cairo-xml-surface.c |  210 ++++++++++++++++++++++++-----------------------
14322  src/cairo-xml.h         |   13 +--
14323  util/trace-to-xml.c     |    7 +-
14324  3 files changed, 115 insertions(+), 115 deletions(-)
14325
14326 commit 49ab86772a44d7a044464d875324bd0af96af728
14327 Author: Chris Wilson <chris@chris-wilson.co.uk>
14328 Date:   Mon Jan 18 22:43:24 2010 +0000
14329
14330     script: Port cairo_script_context_t to cairo_device_t
14331     
14332     Use the unifying cairo_device_t for cairo_script_context_t and replace.
14333
14334  boilerplate/cairo-boilerplate-script.c |    6 +-
14335  boilerplate/cairo-boilerplate.c        |    6 +-
14336  src/cairo-script-surface.c             |  491 +++++++++++++++++---------------
14337  src/cairo-script.h                     |   35 +--
14338  test/cairo-test-trace.c                |    7 +-
14339  util/cairo-fdr/fdr.c                   |   10 +-
14340  util/cairo-script/csi-trace.c          |   11 +-
14341  util/cairo-sphinx/fdr.c                |    4 +-
14342  util/cairo-sphinx/sphinx.c             |   17 +-
14343  util/cairo-trace/trace.c               |    8 +-
14344  10 files changed, 312 insertions(+), 283 deletions(-)
14345
14346 commit f617d5fc982f749d0981c81c1de1be8dc3632717
14347 Author: Chris Wilson <chris@chris-wilson.co.uk>
14348 Date:   Mon Jan 18 21:53:42 2010 +0000
14349
14350     Add cairo_device_t
14351     
14352     The device is a generic method for accessing the underlying interface
14353     with the native graphics subsystem, typically the X connection or
14354     perhaps the GL context. By exposing a cairo_device_t on a surface and
14355     its various methods we enable finer control over interoperability with
14356     external interactions of the device by applications. The use case in
14357     mind is, for example, a multi-threaded gstreamer which needs to serialise
14358     its own direct access to the device along with Cairo's across many
14359     threads.
14360     
14361     Secondly, the cairo_device_t is a unifying API for the mismash of
14362     backend specific methods for controlling creation of surfaces with
14363     explicit devices and a convenient hook for debugging and introspection.
14364     
14365     The principal components of the API are the memory management of:
14366     
14367       cairo_device_reference(),
14368       cairo_device_finish() and
14369       cairo_device_destroy();
14370     
14371     along with a pair of routines for serialising interaction:
14372     
14373       cairo_device_acquire() and
14374       cairo_device_release()
14375     
14376     and a method to flush any outstanding accesses:
14377     
14378       cairo_device_flush().
14379     
14380     The device for a particular surface may be retrieved using:
14381     
14382       cairo_surface_get_device().
14383     
14384     The device returned is owned by the surface.
14385
14386  src/Makefile.sources                |    2 +
14387  src/cairo-analysis-surface.c        |    9 +-
14388  src/cairo-beos-surface.cpp          |    5 +-
14389  src/cairo-device-private.h          |   85 +++++++++++
14390  src/cairo-device.c                  |  265 +++++++++++++++++++++++++++++++++++
14391  src/cairo-directfb-surface.c        |    2 +
14392  src/cairo-gl-surface.c              |    1 +
14393  src/cairo-glitz-surface.c           |    4 +-
14394  src/cairo-image-surface.c           |    4 +-
14395  src/cairo-misc.c                    |    4 +
14396  src/cairo-os2-surface.c             |    1 +
14397  src/cairo-paginated-surface.c       |    4 +-
14398  src/cairo-pdf-surface.c             |    4 +-
14399  src/cairo-ps-surface.c              |    4 +-
14400  src/cairo-qt-surface.cpp            |    7 +-
14401  src/cairo-quartz-image-surface.c    |    1 +
14402  src/cairo-quartz-surface.c          |    6 +-
14403  src/cairo-recording-surface.c       |    9 +-
14404  src/cairo-script-surface.c          |    1 +
14405  src/cairo-skia-surface.cpp          |    1 +
14406  src/cairo-spans.c                   |    4 +
14407  src/cairo-surface-private.h         |    1 +
14408  src/cairo-surface-snapshot.c        |    1 +
14409  src/cairo-surface-subsurface.c      |    1 +
14410  src/cairo-surface.c                 |   29 ++++
14411  src/cairo-svg-surface.c             |    4 +-
14412  src/cairo-tee-surface.c             |    1 +
14413  src/cairo-type3-glyph-surface.c     |    4 +-
14414  src/cairo-types-private.h           |    1 +
14415  src/cairo-vg-surface.c              |    1 +
14416  src/cairo-win32-printing-surface.c  |    1 +
14417  src/cairo-win32-surface.c           |    8 +-
14418  src/cairo-xcb-surface.c             |    4 +-
14419  src/cairo-xlib-surface.c            |    4 +-
14420  src/cairo-xml-surface.c             |    1 +
14421  src/cairo.h                         |  117 ++++++++++++++++
14422  src/cairoint.h                      |    1 +
14423  src/drm/cairo-drm-gallium-surface.c |    2 +
14424  src/drm/cairo-drm-intel-surface.c   |    5 +-
14425  src/drm/cairo-drm-radeon-surface.c  |    5 +-
14426  src/test-fallback-surface.c         |    4 +-
14427  src/test-fallback16-surface.c       |    1 +
14428  src/test-null-surface.c             |    5 +-
14429  src/test-paginated-surface.c        |    4 +-
14430  src/test-wrapping-surface.c         |    1 +
14431  util/cairo-trace/trace.c            |    2 +
14432  46 files changed, 607 insertions(+), 24 deletions(-)
14433
14434 commit 82f8aa548d70acf51b319000d7a5c176fc73da64
14435 Author: Chris Wilson <chris@chris-wilson.co.uk>
14436 Date:   Mon Jan 18 22:02:09 2010 +0000
14437
14438     Recursive mutex.
14439     
14440     Implement a recursive mutex which will be needed for cairo_device_t.
14441     In particular only pthreads by default is a non-recursive mutex (to my
14442     knowledge) - both win32 critical sections and mutexes on Quartz are
14443     recursive.
14444
14445  src/cairo-mutex-impl-private.h |   28 ++++++++++++++++++++++++++++
14446  src/cairo-mutex-type-private.h |    9 ++++++++-
14447  2 files changed, 36 insertions(+), 1 deletion(-)
14448
14449 commit d2f251f84b326c5f8825c9a631ea729f21891580
14450 Author: Chris Wilson <chris@chris-wilson.co.uk>
14451 Date:   Mon Jan 18 22:12:23 2010 +0000
14452
14453     configure: Globally define AC_GNU_SOURCE
14454     
14455     We were using _GNU_SOURCE throughout the codebase, so simply define it
14456     once during configure. This is the easiest method to enable recursive
14457     mutexes using pthreads, as required in a pending patch.
14458
14459  boilerplate/cairo-boilerplate-pdf.c |    4 ++++
14460  boilerplate/cairo-boilerplate-ps.c  |    4 ++++
14461  configure.ac                        |    3 +++
14462  src/cairo-gstate.c                  |    2 --
14463  src/cairo-matrix.c                  |    2 --
14464  src/cairo-scaled-font.c             |    2 --
14465  6 files changed, 11 insertions(+), 6 deletions(-)
14466
14467 commit 934d0d0d6585eb7638c7db597c40dd821092c034
14468 Author: Chris Wilson <chris@chris-wilson.co.uk>
14469 Date:   Mon Jan 18 19:05:34 2010 +0000
14470
14471     Real zero-copy cow snapshotting
14472     
14473     The first iteration of COW snapshotting always made an initial copy when
14474     the snapshot was requested (and reused that copy until the surface was
14475     modified). However, in a few circumstances we can avoid even that copy
14476     so long as the surface is still alive and unmodified between the
14477     snapshotting and its use. In order to do so, we need a new proxy surface
14478     that can automatically perform the copy if the target should disappear
14479     prior to use.
14480
14481  src/Makefile.sources                 |    2 +
14482  src/cairo-paginated-surface.c        |    7 +-
14483  src/cairo-surface-snapshot-private.h |   48 ++++++++
14484  src/cairo-surface-snapshot.c         |  225 ++++++++++++++++++++++++++++++++++
14485  src/cairo-surface.c                  |  101 ++-------------
14486  src/cairo-types-private.h            |    2 +
14487  6 files changed, 291 insertions(+), 94 deletions(-)
14488
14489 commit 6b3e19aa434d159db7878b2a7fb28a026b2d1756
14490 Author: Chris Wilson <chris@chris-wilson.co.uk>
14491 Date:   Mon Jan 18 19:12:25 2010 +0000
14492
14493     Remove content matching from snapshot lookup.
14494     
14495     This was never used, so remove the complexity from the interface.
14496
14497  src/cairo-recording-surface.c      |    3 +--
14498  src/cairo-surface.c                |   23 +++++++----------------
14499  src/cairo-vg-surface.c             |    3 +--
14500  src/cairoint.h                     |    3 +--
14501  src/drm/cairo-drm-intel-surface.c  |    3 +--
14502  src/drm/cairo-drm-radeon-surface.c |    3 +--
14503  6 files changed, 12 insertions(+), 26 deletions(-)
14504
14505 commit dc8290814c0e98b38828953bac6dd0893c31c9ad
14506 Author: Chris Wilson <chris@chris-wilson.co.uk>
14507 Date:   Mon Jan 18 18:06:51 2010 +0000
14508
14509     Add subsurface.
14510     
14511     A subsurface is a region of another surface that may be used either to
14512     restrict the writable area of a context or the readable extents of a
14513     source. Whilst writing, access to the exterior of the subsurface is
14514     prevented via clipping and when used as a source reads from the exterior
14515     of the subsurface are governed via the extend mechanism of the pattern.
14516
14517  src/Makefile.sources                   |    2 +
14518  src/cairo-surface-subsurface-private.h |   48 ++++
14519  src/cairo-surface-subsurface.c         |  464 ++++++++++++++++++++++++++++++++
14520  src/cairo-types-private.h              |    4 +-
14521  src/cairo.h                            |    7 +
14522  test/Makefile.am                       |    3 +
14523  test/Makefile.sources                  |    3 +
14524  test/subsurface-repeat.c               |   72 +++++
14525  test/subsurface-repeat.ref.png         |  Bin 0 -> 197 bytes
14526  test/subsurface-similar-repeat.c       |   83 ++++++
14527  test/subsurface-similar-repeat.ref.png |  Bin 0 -> 197 bytes
14528  test/subsurface.c                      |   80 ++++++
14529  test/subsurface.ref.png                |  Bin 0 -> 1597 bytes
14530  13 files changed, 765 insertions(+), 1 deletion(-)
14531
14532 commit b8eacbfae1c155f412d84120411103cb610e383b
14533 Author: Chris Wilson <chris@chris-wilson.co.uk>
14534 Date:   Mon Jan 18 18:09:11 2010 +0000
14535
14536     Add surface-offset internal API.
14537     
14538     This is a simplified version of the wrapping surface where the target
14539     surface is just a subsurface onto which we wish to draw the current
14540     operation. In particular this is useful for the subsurface API as well
14541     as fallbacks.
14542
14543  src/Makefile.sources               |    2 +
14544  src/cairo-surface-offset-private.h |   95 ++++++++++
14545  src/cairo-surface-offset.c         |  354 ++++++++++++++++++++++++++++++++++++
14546  3 files changed, 451 insertions(+)
14547
14548 commit f2c32d01836379766bc287edf77381123767daeb
14549 Author: Chris Wilson <chris@chris-wilson.co.uk>
14550 Date:   Tue Jan 19 18:06:54 2010 +0000
14551
14552     Unify the two freed object pools
14553     
14554     Discard some duplicate code and shared a single freed object pointer
14555     pool between the pattern and clip.
14556
14557  src/Makefile.sources           |    2 +
14558  src/cairo-clip.c               |   88 +----------------------------
14559  src/cairo-freed-pool-private.h |  121 ++++++++++++++++++++++++++++++++++++++++
14560  src/cairo-freed-pool.c         |   91 ++++++++++++++++++++++++++++++
14561  src/cairo-pattern.c            |  115 ++++++--------------------------------
14562  5 files changed, 234 insertions(+), 183 deletions(-)
14563
14564 commit cfd204824fada7d2b4bcf4994c4200ae9b5a8b26
14565 Author: Chris Wilson <chris@chris-wilson.co.uk>
14566 Date:   Mon Jan 18 18:20:16 2010 +0000
14567
14568     Constify stroke style and matrices.
14569     
14570     As a simple step to ensure that we do not inadvertently modify (or at least
14571     generate compiler warns if we try) user data, mark the incoming style
14572     and matrices as constant.
14573
14574  src/cairo-analysis-surface.c         |   12 +++----
14575  src/cairo-paginated-surface.c        |    6 ++--
14576  src/cairo-path-bounds.c              |    6 ++--
14577  src/cairo-path-stroke.c              |   60 +++++++++++++++++-----------------
14578  src/cairo-pdf-operators-private.h    |   24 +++++++-------
14579  src/cairo-pdf-operators.c            |   38 ++++++++++-----------
14580  src/cairo-pdf-surface-private.h      |   11 +++----
14581  src/cairo-pdf-surface.c              |   40 +++++++++++------------
14582  src/cairo-ps-surface.c               |    6 ++--
14583  src/cairo-qt-surface.cpp             |   14 ++++----
14584  src/cairo-quartz-surface.c           |    6 ++--
14585  src/cairo-recording-surface.c        |    6 ++--
14586  src/cairo-script-surface.c           |    6 ++--
14587  src/cairo-stroke-style.c             |    2 +-
14588  src/cairo-surface-fallback-private.h |    6 ++--
14589  src/cairo-surface-fallback.c         |    6 ++--
14590  src/cairo-surface-wrapper-private.h  |   12 +++----
14591  src/cairo-surface-wrapper.c          |   12 +++----
14592  src/cairo-surface.c                  |   14 ++++----
14593  src/cairo-svg-surface.c              |   40 +++++++++++------------
14594  src/cairo-tee-surface.c              |    6 ++--
14595  src/cairo-type3-glyph-surface.c      |    6 ++--
14596  src/cairo-win32-printing-surface.c   |    6 ++--
14597  src/cairo-xml-surface.c              |    6 ++--
14598  src/cairoint.h                       |   44 ++++++++++++-------------
14599  src/drm/cairo-drm-private.h          |    6 ++--
14600  src/drm/cairo-drm-surface.c          |    6 ++--
14601  src/test-null-surface.c              |    6 ++--
14602  src/test-paginated-surface.c         |    6 ++--
14603  src/test-wrapping-surface.c          |    6 ++--
14604  30 files changed, 212 insertions(+), 213 deletions(-)
14605
14606 commit 3e17c559b04e2df208f28125746d7e0acfb4b476
14607 Author: Benjamin Otte <otte@gnome.org>
14608 Date:   Wed Dec 9 19:46:28 2009 +0100
14609
14610     [test] Add pthread-same-source test
14611     
14612     Multiple threads render using the same source surface, but with
14613     different extend and filter.
14614
14615  test/Makefile.am                 |    1 +
14616  test/Makefile.sources            |    1 +
14617  test/pthread-same-source.c       |  160 ++++++++++++++++++++++++++++++++++++++
14618  test/pthread-same-source.ref.png |  Bin 0 -> 1000 bytes
14619  4 files changed, 162 insertions(+)
14620
14621 commit 30a12f802f4ff46f13dc36e60936cd857585a9ea
14622 Author: Benjamin Otte <otte@gnome.org>
14623 Date:   Wed Nov 25 18:55:05 2009 +0100
14624
14625     [test] Add a simple multithreading test
14626
14627  test/Makefile.am             |    1 +
14628  test/Makefile.sources        |    5 +-
14629  test/pthread-similar.c       |  106 ++++++++++++++++++++++++++++++++++++++++++
14630  test/pthread-similar.ref.png |  Bin 0 -> 170 bytes
14631  4 files changed, 111 insertions(+), 1 deletion(-)
14632
14633 commit 038829eb84e53532a6e3c75225933ad85da50cfc
14634 Author: Benjamin Otte <otte@gnome.org>
14635 Date:   Sun Dec 6 17:47:50 2009 +0100
14636
14637     [test] Add new test checking is_clear is handled properly
14638     
14639     This test does various operations with a clear source surface with
14640     various content types.
14641     The idea is to make sure optimizations done when surface->is_clear ==
14642     TRUE only happen in the proper cases.
14643
14644  test/Makefile.sources     |    1 +
14645  test/clear-source.c       |  163 +++++++++++++++++++++++++++++++++++++++++++++
14646  test/clear-source.ref.png |  Bin 0 -> 881 bytes
14647  3 files changed, 164 insertions(+)
14648
14649 commit bf7fb4e0e09d05f42425cc7969c64992d4dc9ff9
14650 Author: Chris Wilson <chris@chris-wilson.co.uk>
14651 Date:   Mon Jan 18 17:18:08 2010 +0000
14652
14653     script: Handle cache allocation failure more gracefully
14654     
14655     Instead of bailing out if we cannot store the glyph cache on the font,
14656     simply do not store the glyph cache on the font...
14657
14658  util/cairo-script/cairo-script-operators.c |   74 +++++++++++++---------------
14659  1 file changed, 33 insertions(+), 41 deletions(-)
14660
14661 commit 2b312806f138da6f88d03bb3c0c3852b342eb220
14662 Author: Chris Wilson <chris@chris-wilson.co.uk>
14663 Date:   Mon Jan 18 17:14:24 2010 +0000
14664
14665     script: Free the correct pattern after failure.
14666     
14667     The error path attempted to free the resolved pattern which it had just
14668     discovered was NULL and not the locally allocated pattern...
14669
14670  util/cairo-script/cairo-script-operators.c |    2 +-
14671  1 file changed, 1 insertion(+), 1 deletion(-)
14672
14673 commit bc2d0ad114f8fc0b0579851154fe9d39c0aa0fc9
14674 Author: Chris Wilson <chris@chris-wilson.co.uk>
14675 Date:   Fri Nov 27 17:30:51 2009 +0000
14676
14677     script: Permit surface operations on the context
14678     
14679     By implicitly reference the target of the context instead, i.e.
14680     this reduces the use of:
14681     
14682       /target get (example.png) write-to-png pop
14683     
14684     as a common idiom where the context is kept on the stack and the surface
14685     forgotten.
14686
14687  util/cairo-script/cairo-script-operators.c |   14 +++++++++++---
14688  1 file changed, 11 insertions(+), 3 deletions(-)
14689
14690 commit 411c09eed7ebff7335948a7f96d2b29d82ed817a
14691 Author: Chris Wilson <chris@chris-wilson.co.uk>
14692 Date:   Sun Nov 1 08:40:41 2009 +0000
14693
14694     perf: Enable a surface cache for perf-trace
14695     
14696     Real applications that control their Drawable externally to Cairo are
14697     'disadvantaged' by cairo-perf-trace when it creates a similar surface
14698     for each new instance of the same Drawable. The difficulty in
14699     maintaining one perf surface for every application surface is that the
14700     traces do not track lifetimes for the application surfaces, so we would
14701     just accumulate stale surfaces. The surface cache takes a different
14702     approach and returns the same surface for each active Drawable, and
14703     maintains a hold-over of the MRU 16 surfaces. This achieves 60-80% hit
14704     rate with firefox, which is probably as good as can be expected.
14705     Obviously for double-buffered applications we only every draw to freshly
14706     created surfaces (and Gtk+ bypasses cairo to do the final copy -- the
14707     ideal application would just use a push-group for double buffering, in
14708     which case we would capture and replay the entire expose event).
14709     
14710     To enable use of the surface cache whilst replaying use -c:
14711     
14712       ./cairo-perf-trace -c firefox-talos-gfx
14713
14714  perf/Makefile.am                             |    3 +-
14715  perf/cairo-perf-trace.c                      |  141 +++++++++++++++++++++++++-
14716  test/any2ppm.c                               |    4 +-
14717  util/cairo-script/cairo-script-interpreter.h |    3 +-
14718  util/cairo-script/cairo-script-operators.c   |   13 ++-
14719  util/cairo-sphinx/sphinx.c                   |    3 +-
14720  6 files changed, 157 insertions(+), 10 deletions(-)
14721
14722 commit c50c8b90c0033686b465e6766fba4772c1d698c6
14723 Author: Chris Wilson <chris@chris-wilson.co.uk>
14724 Date:   Mon Jan 18 16:58:40 2010 +0000
14725
14726     Move _cairo_error() to a standalone header
14727     
14728     A pending commit will want to include some utility code from cairo and
14729     so we need to extricate the error handling from the PLT symbol hiding.
14730
14731  src/Makefile.sources                    |    1 +
14732  src/cairo-analysis-surface.c            |    1 +
14733  src/cairo-array.c                       |    1 +
14734  src/cairo-base64-stream.c               |    1 +
14735  src/cairo-base85-stream.c               |    1 +
14736  src/cairo-bentley-ottmann-rectangular.c |    1 +
14737  src/cairo-bentley-ottmann-rectilinear.c |    1 +
14738  src/cairo-bentley-ottmann.c             |    1 +
14739  src/cairo-beos-surface.cpp              |    2 ++
14740  src/cairo-cache.c                       |    1 +
14741  src/cairo-cff-subset.c                  |    1 +
14742  src/cairo-clip.c                        |    1 +
14743  src/cairo-deflate-stream.c              |    1 +
14744  src/cairo-directfb-surface.c            |    1 +
14745  src/cairo-eagle-context.c               |    1 +
14746  src/cairo-error-private.h               |   60 +++++++++++++++++++++++++++++++
14747  src/cairo-font-face-twin.c              |    1 +
14748  src/cairo-font-face.c                   |    1 +
14749  src/cairo-font-options.c                |    1 +
14750  src/cairo-freelist.c                    |    1 +
14751  src/cairo-ft-font.c                     |    1 +
14752  src/cairo-gl-glyphs.c                   |    2 ++
14753  src/cairo-gl-shaders.c                  |    1 +
14754  src/cairo-gl-surface.c                  |    1 +
14755  src/cairo-glitz-surface.c               |    2 ++
14756  src/cairo-glx-context.c                 |    2 ++
14757  src/cairo-gstate.c                      |    1 +
14758  src/cairo-hash.c                        |    1 +
14759  src/cairo-hull.c                        |    1 +
14760  src/cairo-image-surface.c               |    1 +
14761  src/cairo-lzw.c                         |    1 +
14762  src/cairo-matrix.c                      |    1 +
14763  src/cairo-misc.c                        |    1 +
14764  src/cairo-os2-surface.c                 |    1 +
14765  src/cairo-output-stream.c               |    1 +
14766  src/cairo-paginated-surface.c           |    1 +
14767  src/cairo-path-fill.c                   |    1 +
14768  src/cairo-path-fixed.c                  |    1 +
14769  src/cairo-path-stroke.c                 |    1 +
14770  src/cairo-path.c                        |    1 +
14771  src/cairo-pattern.c                     |    1 +
14772  src/cairo-pdf-operators.c               |    1 +
14773  src/cairo-pdf-surface.c                 |    1 +
14774  src/cairo-pen.c                         |    1 +
14775  src/cairo-png.c                         |    2 ++
14776  src/cairo-polygon.c                     |    1 +
14777  src/cairo-ps-surface.c                  |    1 +
14778  src/cairo-qt-surface.cpp                |    6 ++--
14779  src/cairo-quartz-font.c                 |    2 ++
14780  src/cairo-quartz-image-surface.c        |    2 ++
14781  src/cairo-quartz-surface.c              |    2 ++
14782  src/cairo-recording-surface.c           |    3 +-
14783  src/cairo-region.c                      |    1 +
14784  src/cairo-rtree.c                       |    1 +
14785  src/cairo-scaled-font-subsets.c         |    1 +
14786  src/cairo-scaled-font.c                 |    1 +
14787  src/cairo-script-surface.c              |    1 +
14788  src/cairo-stroke-style.c                |    1 +
14789  src/cairo-surface-fallback.c            |    1 +
14790  src/cairo-surface-wrapper.c             |    1 +
14791  src/cairo-surface.c                     |    1 +
14792  src/cairo-svg-surface.c                 |    1 +
14793  src/cairo-tee-surface.c                 |    1 +
14794  src/cairo-tor-scan-converter.c          |    1 +
14795  src/cairo-toy-font-face.c               |    1 +
14796  src/cairo-traps.c                       |    1 +
14797  src/cairo-truetype-subset.c             |    1 +
14798  src/cairo-type1-fallback.c              |    1 +
14799  src/cairo-type1-subset.c                |    1 +
14800  src/cairo-type3-glyph-surface.c         |    1 +
14801  src/cairo-unicode.c                     |    1 +
14802  src/cairo-user-font.c                   |    1 +
14803  src/cairo-vg-surface.c                  |    3 +-
14804  src/cairo-win32-font.c                  |    1 +
14805  src/cairo-win32-printing-surface.c      |    1 +
14806  src/cairo-win32-surface.c               |    1 +
14807  src/cairo-xcb-surface.c                 |    3 +-
14808  src/cairo-xlib-display.c                |    1 +
14809  src/cairo-xlib-screen.c                 |    1 +
14810  src/cairo-xlib-surface.c                |    1 +
14811  src/cairo-xlib-visual.c                 |    2 ++
14812  src/cairo-xml-surface.c                 |    1 +
14813  src/cairo.c                             |    1 +
14814  src/cairoint.h                          |   12 -------
14815  src/drm/cairo-drm-bo.c                  |    1 +
14816  src/drm/cairo-drm-intel-surface.c       |    1 +
14817  src/drm/cairo-drm-intel.c               |    1 +
14818  src/drm/cairo-drm-radeon-surface.c      |    1 +
14819  src/drm/cairo-drm-radeon.c              |    1 +
14820  src/drm/cairo-drm-surface.c             |    1 +
14821  src/drm/cairo-drm.c                     |    1 +
14822  src/test-fallback-surface.c             |    1 +
14823  src/test-fallback16-surface.c           |    1 +
14824  src/test-null-surface.c                 |    2 ++
14825  src/test-paginated-surface.c            |    1 +
14826  src/test-wrapping-surface.c             |    1 +
14827  96 files changed, 170 insertions(+), 17 deletions(-)
14828
14829 commit 558f9501700ba569f04f345f7c64d16b1870e37c
14830 Author: Chris Wilson <chris@chris-wilson.co.uk>
14831 Date:   Mon Jan 18 22:47:34 2010 +0000
14832
14833     surface-wrapper: Avoid copying patterns and clips unless transformed.
14834     
14835     An older variant of the fixes for moving the device transformation out
14836     of the surface layer, but languished in a side branch. The only benefit
14837     of this patch is that it avoids the copy where possible.
14838
14839  src/cairo-surface-wrapper.c |  134 ++++++++++++++++++++++++-------------------
14840  1 file changed, 75 insertions(+), 59 deletions(-)
14841
14842 commit 8f694817227366f4a4c6bbbf46e6cdddb4a065df
14843 Author: Chris Wilson <chris@chris-wilson.co.uk>
14844 Date:   Tue Jan 19 17:12:47 2010 +0000
14845
14846     gitignore: refresh
14847     
14848     Add forgotten local targets to .gitignore
14849
14850  .gitignore                   |    1 +
14851  perf/.gitignore              |    1 +
14852  util/.gitignore              |    2 ++
14853  util/cairo-script/.gitignore |    1 +
14854  4 files changed, 5 insertions(+)
14855
14856 commit 5914e995723682e0b1f685d9ff5ea5abe05ae024
14857 Author: Eric Anholt <eric@anholt.net>
14858 Date:   Fri Jan 22 09:21:36 2010 -0800
14859
14860     [gl] Cache a temporary glyph compositing mask for reuse later.
14861     
14862     Cuts firefox-talos-gfx time from 56 seconds to 43 seconds.
14863
14864  src/cairo-gl-glyphs.c  |   29 ++++++++++++++++++++++-------
14865  src/cairo-gl-private.h |    4 ++++
14866  src/cairo-gl-surface.c |    4 +++-
14867  3 files changed, 29 insertions(+), 8 deletions(-)
14868
14869 commit 1bf0f64ee7783742fa777a496567e4da48e300dd
14870 Author: Eric Anholt <eric@anholt.net>
14871 Date:   Thu Jan 21 14:08:11 2010 -0800
14872
14873     [gl] Composite component-alpha glyphs directly instead of through a mask.
14874     
14875     Cuts gnome-terminal-vim time from 58 seconds to 20.
14876
14877  src/cairo-gl-glyphs.c  |  190 +++++++++++++++++++++++++++++++-----------------
14878  src/cairo-gl-private.h |    4 +
14879  src/cairo-gl-surface.c |    2 +-
14880  3 files changed, 127 insertions(+), 69 deletions(-)
14881
14882 commit 12d521df8acc483b2daa844d4f05dc2fe2765ba6
14883 Author: Eric Anholt <eric@anholt.net>
14884 Date:   Thu Jan 21 13:19:17 2010 -0800
14885
14886     [gl] Use GL_RGBA textures even for CAIRO_CONTENT_COLOR.
14887     
14888     When the texture is GL_RGB, GL_CLAMP_TO_BORDER (EXTEND_NONE) fills the
14889     border color alpha channel with 1, when the whole reason we were using
14890     the border color was to get a color and alpha of 0.  We're forced to
14891     use GL_RGBA textures and do extra work to fill in the alpha channel of
14892     them to 1 to get cairo's desired behavior.
14893     
14894     This fixes a failure in rotate-image-surface-paint and 4 other
14895     testcases.  No performance difference in firefox-talos-gfx.
14896
14897  src/cairo-gl-surface.c |  131 +++++++++++++++++++++++++++---------------------
14898  1 file changed, 75 insertions(+), 56 deletions(-)
14899
14900 commit e316cb9db57094359c28f6b740e73674e8dcc134
14901 Author: Eric Anholt <eric@anholt.net>
14902 Date:   Wed Jan 20 13:33:56 2010 -0800
14903
14904     [gl] Add support for component-alpha glyph rendering.
14905     
14906     This is done using a mask and the two-pass trick I did for EXA.  Fixes
14907     text-antialias-subpixel.
14908
14909  src/cairo-gl-glyphs.c  |   60 ++++++--
14910  src/cairo-gl-private.h |    3 +-
14911  src/cairo-gl-surface.c |  384 ++++++++++++++++++++++++++++++++++++++++++++++--
14912  3 files changed, 424 insertions(+), 23 deletions(-)
14913
14914 commit ceeb7e7e703213a83ca43d80962519074a19364d
14915 Author: Eric Anholt <eric@anholt.net>
14916 Date:   Tue Jan 19 13:43:16 2010 -0800
14917
14918     [gl] Use the UNSUPPORTED() macro in more places for fallback debugging.
14919
14920  src/cairo-gl-surface.c |   14 +++++++-------
14921  1 file changed, 7 insertions(+), 7 deletions(-)
14922
14923 commit 5d9e2fd84b4f66e5b121d95805ce34e2f482d1b0
14924 Author: Andrea Canciani <ranma42@gmail.com>
14925 Date:   Fri Jan 15 16:28:12 2010 +0100
14926
14927     [quartz] Leftbehind change from a39075c88f9b2e12e19348ea11c9b3f739818265
14928     
14929     This commit completes the change in a39075c88f9b2e12e19348ea11c9b3f739818265.
14930     It removes unused variables and corrects the extents rect computation.
14931
14932  src/cairo-quartz-surface.c |    4 +---
14933  1 file changed, 1 insertion(+), 3 deletions(-)
14934
14935 commit 6950b233e41a0c926465728c37f9bc5512f2844b
14936 Author: Chris Wilson <chris@chris-wilson.co.uk>
14937 Date:   Fri Jan 15 14:25:16 2010 +0000
14938
14939     qt: Make flush() robust.
14940     
14941     Hanno Meyer-Thurow reported in
14942     
14943       http://bugs.freedesktop.org/show_bug.cgi?id=26063
14944       [PATCH] various fixes to cairo-qt
14945     
14946     a few issues related to _cairo_qt_surface_flush() where firefox was
14947     crashing after being built to use cairo-qt.
14948     
14949     This is an amalgam of those patches that hopefully address the issue.
14950
14951  src/cairo-qt-surface.cpp |   33 ++++++++++++++++++++++++++-------
14952  1 file changed, 26 insertions(+), 7 deletions(-)
14953
14954 commit 4e315d84723b27746a6a012ab7de429b2f2ef90b
14955 Author: Chris Wilson <chris@chris-wilson.co.uk>
14956 Date:   Fri Jan 15 12:21:52 2010 +0000
14957
14958     pattern: Premultiply color-stop when converting to solid
14959     
14960     Fixes: test/linear-uniform
14961            https://bugzilla.mozilla.org/show_bug.cgi?id=539165
14962            Bug 539165 - gradients with a single stop do not have their color
14963                         multiplied by the alpha.
14964     
14965     As reported by Jeff Muizelaar, we regressed in 2d790daa as the
14966     color-stops are not premultiplied and so could not be treated as an
14967     ordinary cairo_color_t. Instead we have to create a intermediate
14968     cairo_color_t from the original values in order for the
14969     premultiplication to be performed.
14970
14971  src/cairo-gstate.c  |   26 +++++++++++++++++++-------
14972  src/cairo-pattern.c |   32 +++++++++++++++++++++-----------
14973  2 files changed, 40 insertions(+), 18 deletions(-)
14974
14975 commit f40560a9bb5b12d2584ed297bf4114baf2aa9cc1
14976 Author: Chris Wilson <chris@chris-wilson.co.uk>
14977 Date:   Fri Jan 15 12:17:30 2010 +0000
14978
14979     test: Add linear-uniform
14980     
14981     Jeff reported a regression found by Mozilla whereby a uniform gradient
14982     was not being premultiplied on conversion to a solid pattern.
14983     
14984       https://bugzilla.mozilla.org/show_bug.cgi?id=539165
14985       [Bug 539165] gradients with a single stop do not have their color
14986                    multiplied by the alpha.
14987
14988  test/Makefile.am            |    1 +
14989  test/Makefile.sources       |    1 +
14990  test/linear-uniform.c       |   63 +++++++++++++++++++++++++++++++++++++++++++
14991  test/linear-uniform.ref.png |  Bin 0 -> 128 bytes
14992  4 files changed, 65 insertions(+)
14993
14994 commit e22c02dbaeda6941083fc89b517508dc0c4386a0
14995 Author: Chris Wilson <chris@chris-wilson.co.uk>
14996 Date:   Fri Jan 15 12:02:58 2010 +0000
14997
14998     test: Add degenerate-arcs
14999     
15000     A simple test to ensure that using degenerate-arcs such as when drawing
15001     a rounded rectangle with radii=0 construct a proper path.
15002
15003  test/Makefile.am             |    1 +
15004  test/Makefile.sources        |    1 +
15005  test/degenerate-arcs.c       |   57 ++++++++++++++++++++++++++++++++++++++++++
15006  test/degenerate-arcs.ref.png |  Bin 0 -> 120 bytes
15007  4 files changed, 59 insertions(+)
15008
15009 commit a39075c88f9b2e12e19348ea11c9b3f739818265
15010 Author: Andrea Canciani <ranma42@gmail.com>
15011 Date:   Wed Jan 6 18:53:54 2010 +0100
15012
15013     [quartz] Fix generic masking
15014     
15015     Masking with unbounded operators was broken because an incorrect
15016     transformation was applied to inverted mask used for the fixup.
15017
15018  src/cairo-quartz-surface.c |   59 ++++++++++++++++----------------------------
15019  1 file changed, 21 insertions(+), 38 deletions(-)
15020
15021 commit 27701ed8447d4c21b7bf9709a2fc21690b3cdc96
15022 Author: Andrea Canciani <ranma42@gmail.com>
15023 Date:   Tue Jan 5 19:42:23 2010 +0100
15024
15025     [quartz] Approximate dense dashing patterns
15026     
15027     Quartz doesn't try to approximate dash pattern even if they are well
15028     beyond suface sampling frequency. Approximating dash patterns when their
15029     density is too high avoids looping indefinitely in these degenerate cases.
15030
15031  src/cairo-quartz-surface.c |   32 +++++++++++++++++++++-----------
15032  1 file changed, 21 insertions(+), 11 deletions(-)
15033
15034 commit ad7ab00c10fc1adcf2ef4574fdd00b25dfcdafdd
15035 Author: Andrea Canciani <ranma42@gmail.com>
15036 Date:   Sat Jan 2 13:23:53 2010 +0100
15037
15038     [quartz] Improve A8 and A1 support
15039     
15040     Use A8 images as alpha-only masks intread of greyscale images.
15041     Add support to A1 images (they were ignored before).
15042
15043  src/cairo-quartz-surface.c |   59 ++++++++++++++++++++++++++------------------
15044  1 file changed, 35 insertions(+), 24 deletions(-)
15045
15046 commit f3b3a5c43f247f3e9019fa6c1fd2abb3b00dd9ea
15047 Author: Adrian Johnson <ajohnson@redneon.com>
15048 Date:   Fri Jan 15 07:47:30 2010 +1030
15049
15050     Fix bug in _cairo_ft_index_to_ucs4
15051     
15052     Previously it would miss the first character causing the space glyph to
15053     return 0x00A0 instead of 0x0020.
15054
15055  src/cairo-ft-font.c |    2 +-
15056  1 file changed, 1 insertion(+), 1 deletion(-)
15057
15058 commit e26e2c8cc41b4e60462eacbd87894dc82beca883
15059 Author: Eric Anholt <eric@anholt.net>
15060 Date:   Thu Jan 14 10:05:02 2010 -0800
15061
15062     [gl] Fix the color bits of CAIRO_CONTENT_ALPHA surface patterns to be 0.
15063     
15064     Fixes surface-pattern-operator and alpha-similar.
15065
15066  src/cairo-gl-private.h |    1 -
15067  src/cairo-gl-surface.c |   22 +++++++++++-----------
15068  2 files changed, 11 insertions(+), 12 deletions(-)
15069
15070 commit 520945603cdbacb90b3067f24a37b6dbd2ea6808
15071 Author: Eric Anholt <eric@anholt.net>
15072 Date:   Thu Jan 14 10:00:37 2010 -0800
15073
15074     [gl] Remove the special-casing of acquiring a pattern surface.
15075     
15076     _cairo_pattern_acquire_surface() should do fine at it, and matches
15077     what cairo-drm-i915 does.
15078
15079  src/cairo-gl-surface.c |  127 ------------------------------------------------
15080  1 file changed, 127 deletions(-)
15081
15082 commit dbf9faf8232e7bf279377b5f3fc08ed210ca4e51
15083 Author: Eric Anholt <eric@anholt.net>
15084 Date:   Wed Jan 13 10:33:32 2010 -0800
15085
15086     [gl] Use GLSL for fill_rectangles when available.
15087     
15088     Ultimately, we want all of our paths to use shaders when they are
15089     exposed -- it brings us closer to GL 3.0 compatibility and it should
15090     reduce the work that GL drivers have to do per operation to compute
15091     the required hardware state.
15092
15093  src/Makefile.sources   |    2 +-
15094  src/cairo-gl-private.h |    6 +++
15095  src/cairo-gl-shaders.c |  117 ++++++++++++++++++++++++++++++++++++++++++++
15096  src/cairo-gl-surface.c |  125 ++++++++++++++++++++++++++++++++++++++++++++++--
15097  4 files changed, 244 insertions(+), 6 deletions(-)
15098
15099 commit 57341cf5ac4d16222da27856e3a1092a473597e8
15100 Author: Eric Anholt <eric@anholt.net>
15101 Date:   Wed Jan 13 14:18:06 2010 -0800
15102
15103     [gl] Use ADD instead of SOURCE when making a mask for overlapping glyphs.
15104     
15105     The whole point of making the mask was to avoid overwriting one glyph
15106     with the data from another.  Whoops.
15107     
15108     Fixes ft-show-glyphs-positioning, text-rotate, overlapping-glyphs,
15109     clip-text.
15110
15111  src/cairo-gl-glyphs.c |    2 +-
15112  1 file changed, 1 insertion(+), 1 deletion(-)
15113
15114 commit 6e0a63102e7e2d3fa3d5c993f2b94a2d6e40bdd8
15115 Author: Eric Anholt <eric@anholt.net>
15116 Date:   Wed Jan 13 14:06:23 2010 -0800
15117
15118     [gl] Clear the current_target cache when binding a framebuffer in creation.
15119     
15120     Failing to do so meant that we might not re-bind the framebuffer to
15121     the correct one if we didn't follow up surface creation with drawing
15122     to it.
15123     
15124     Fixes many testcases.  Thanks to T. Zachary Laine for tracking down
15125     that the current_target was the source of these issues.
15126
15127  src/cairo-gl-surface.c |    1 +
15128  1 file changed, 1 insertion(+)
15129
15130 commit ad0f4bee19b214b96fb07a45d1f059b362afee0f
15131 Author: T. Zachary Laine <whatwasthataddress@gmail.com>
15132 Date:   Thu Jan 7 17:24:31 2010 -0600
15133
15134     [gl] Clear the is_clear flag on the temporary glyph mask we create.
15135     
15136     Normally is_clear is cleared by the caller of one of the 5 basic
15137     entrypoints, but in this temporary surface usage nobody else can do it
15138     for us.
15139     
15140     Fixes ft-show-glyphs-table, user-font-rescale, and select-font-face.
15141
15142  src/cairo-gl-glyphs.c |    1 +
15143  1 file changed, 1 insertion(+)
15144
15145 commit 384e50d858e9eec670f764c758fb3aa09b56caed
15146 Author: T. Zachary Laine <whatwasthataddress@gmail.com>
15147 Date:   Wed Jan 13 15:06:24 2010 -0600
15148
15149     [gl] Removed repeated lines of source
15150     
15151     The two removed lines are redundant with code a few lines above them.
15152
15153  src/cairo-gl-surface.c |    2 --
15154  1 file changed, 2 deletions(-)
15155
15156 commit 515ccb63a67c88ddb2bc5adfd018cae55bc93185
15157 Author: Eric Anholt <eric@anholt.net>
15158 Date:   Mon Jan 11 16:04:21 2010 -0800
15159
15160     [gl] Fix the glyph cache full flush to really try again.
15161     
15162     Previously, the initial error handling would dump through to software
15163     fallback instead of retrying in the following code.
15164
15165  src/cairo-gl-glyphs.c |    6 ++----
15166  1 file changed, 2 insertions(+), 4 deletions(-)
15167
15168 commit 4aae4bfa8f28a470ab18575670563ad28374e445
15169 Author: Chris Wilson <chris@chris-wilson.co.uk>
15170 Date:   Tue Jan 12 17:10:04 2010 +0000
15171
15172     test: Fix typo in path-stroke-twice reference image
15173     
15174     Sigh. I committed the reference image with the name
15175     path-stroke-twice-ref.png.
15176
15177  test/path-stroke-twice-ref.png |  Bin 206 -> 0 bytes
15178  test/path-stroke-twice.ref.png |  Bin 0 -> 206 bytes
15179  2 files changed, 0 insertions(+), 0 deletions(-)
15180
15181 commit 74ea4c908067f5579b51d3dbaea387da8f343671
15182 Author: Chris Wilson <chris@chris-wilson.co.uk>
15183 Date:   Tue Jan 12 17:00:25 2010 +0000
15184
15185     path: Do not remove anti-parallel line segments in case we are stroking
15186     
15187       Bug 26010 - cairo_line_to optimizes away path segments
15188       http://bugs.freedesktop.org/show_bug.cgi?id=26010
15189     
15190     As exercised by path-stroke-twice, we incorrectly optimise away a line
15191     segment if the path doubled back upon itself. This is very reminiscent
15192     of the optimisation bug for replacing curve-to with line-to.
15193
15194  src/cairo-path-fixed.c    |    5 ++++-
15195  src/cairo-slope-private.h |    7 +++++++
15196  2 files changed, 11 insertions(+), 1 deletion(-)
15197
15198 commit a5dd5a6069c0d7435260a954d8d98483f5fbcc1c
15199 Author: Chris Wilson <chris@chris-wilson.co.uk>
15200 Date:   Tue Jan 12 16:32:09 2010 +0000
15201
15202     test: Add path-stroke-twice
15203     
15204     Exercises a bug found by alois@astro.ch, whereby we inadvertently remove
15205     a line segment when the path doubles back upon itself.
15206     
15207       Bug 26010 - cairo_line_to optimizes away path segments
15208       http://bugs.freedesktop.org/show_bug.cgi?id=26010
15209
15210  test/Makefile.am                  |    2 ++
15211  test/Makefile.sources             |    1 +
15212  test/path-stroke-twice-ref.png    |  Bin 0 -> 206 bytes
15213  test/path-stroke-twice.c          |   54 +++++++++++++++++++++++++++++++++++++
15214  test/path-stroke-twice.ps.ref.png |  Bin 0 -> 197 bytes
15215  5 files changed, 57 insertions(+)
15216
15217 commit 4204605813d93e7e2f0d8761e90a6dd6b8089dcb
15218 Author: Chris Wilson <chris@chris-wilson.co.uk>
15219 Date:   Fri Jan 8 11:58:15 2010 +0000
15220
15221     type1: Destroy the output stream.
15222     
15223     mpsuzuki spotted that the output stream for the subset was not being
15224     destroyed on the error path - on closer inspection, it wasn't destroyed
15225     along the normal path either and may never have been correctly
15226     initialised to NULL on an earlier error.
15227     
15228     Reported-by: mpsuzuki@hiroshima-u.ac.jp
15229
15230  src/cairo-type1-subset.c |   28 +++++++++++++++-------------
15231  1 file changed, 15 insertions(+), 13 deletions(-)
15232
15233 commit 41a24d822ac094f0841ba0c92ca86448ad062def
15234 Author: Chris Wilson <chris@chris-wilson.co.uk>
15235 Date:   Thu Jan 7 11:58:01 2010 +0000
15236
15237     trace: Correctly encode octal values.
15238     
15239     How embarrassing.
15240
15241  util/cairo-trace/trace.c |   21 ++++++++++++++-------
15242  1 file changed, 14 insertions(+), 7 deletions(-)
15243
15244 commit 3ae9d04c6ddd311ffab91170fb9342e37c5530a8
15245 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
15246 Date:   Fri Jan 1 20:13:33 2010 +0200
15247
15248     [stroker] Fix off-by-one memory allocation in _tessellate_fan().
15249     
15250     The number of points in a triangle fan was miscomputed because
15251     it was computing the number of line segments rather than points
15252     in the fan.  Now we include the final point of the fan correctly
15253     in the count.
15254     
15255     This fixes https://bugs.webkit.org/show_bug.cgi?id=33071 as
15256     reported by Benjamin Otte.  A derived test case was not added
15257     to the cairo test suite since the bug is difficult to trigger in
15258     a reliable way which causes visible results (as opposed to
15259     silent heap corruption.)
15260     
15261     The easiest way of triggering the bug is to stroke a line
15262     using a large line width and round caps or joins.
15263
15264  src/cairo-path-stroke.c |    2 +-
15265  1 file changed, 1 insertion(+), 1 deletion(-)
15266
15267 commit a0ea0b63fdd38a73d6696da5cd4800d9a7289240
15268 Author: Chris Wilson <chris@chris-wilson.co.uk>
15269 Date:   Wed Dec 30 16:21:50 2009 +0000
15270
15271     arc: Just emit a line-to if radius is zero.
15272     
15273     In order to be consistent with the semantics of cairo_arc() using a
15274     radius of 0 should simply degenerate into a line-to.
15275     
15276     Reported-by: Benjamin Berg
15277
15278  src/cairo.c |    4 +++-
15279  1 file changed, 3 insertions(+), 1 deletion(-)
15280
15281 commit 21560b3ec6d015004867207c5bdd90061b8a5d80
15282 Author: Andrea Canciani <ranma42@gmail.com>
15283 Date:   Fri Dec 11 10:29:12 2009 +0100
15284
15285     [trace] Fix compilation when FreeType is disabled
15286     
15287     cairo-trace needs some headers which are missing if freetype is
15288     not enabled. Adding them explicitly fixes compilation.
15289
15290  util/cairo-trace/trace.c |    3 +++
15291  1 file changed, 3 insertions(+)
15292
15293 commit 393d2d9c9199c368916fb5412abaac163f57ff86
15294 Author: Tim Janik <timj@gtk.org>
15295 Date:   Mon Dec 28 13:34:43 2009 +0100
15296
15297     Fixed documentation typo.
15298
15299  src/cairo-image-surface.c |    2 +-
15300  1 file changed, 1 insertion(+), 1 deletion(-)
15301
15302 commit e2d75203c515f9740a8e0e9779391de0a1a54b07
15303 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
15304 Date:   Sun Nov 29 15:56:26 2009 +0200
15305
15306     [dirty] Add more missing surface dirtying notifications.
15307     
15308     Now that the image surface actually cares about
15309     cairo_surface_mark_dirty() we're hitting cases where
15310     we've forgotten to mark surfaces dirty.
15311
15312  boilerplate/cairo-boilerplate.c            |    1 +
15313  src/cairo-xlib-surface.c                   |    1 +
15314  util/cairo-script/cairo-script-operators.c |    2 ++
15315  3 files changed, 4 insertions(+)
15316
15317 commit b76565d2f4a2510aabada4cef968b9b597bbef09
15318 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
15319 Date:   Sun Nov 29 15:40:30 2009 +0200
15320
15321     [test] Don't use uninitialised data in surface-source.c
15322     
15323     The draw_pattern() function assumed the incoming surface
15324     was clear, but it's not.  Explicitly clear the surface first.
15325
15326  test/surface-source.c |    4 ++++
15327  1 file changed, 4 insertions(+)
15328
15329 commit e09b754fdd43206e1668812be4ff11d25188148c
15330 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
15331 Date:   Sun Nov 29 01:11:29 2009 +0200
15332
15333     [gstate] Change dash offset normalisation to preserve offsets in range.
15334     
15335     We have a test case get-and-set which wants to see whatever it puts
15336     into a cairo_t come back out again, but at the same time cairo-gstate
15337     wants to range reduce the dash offset it's given to a sane range.
15338     This patch changes the range reduction algorithm to always normalize
15339     to a non-negative dash offset and not touch dash offsets which are
15340     already in range.
15341
15342  src/cairo-gstate.c |    7 ++++++-
15343  1 file changed, 6 insertions(+), 1 deletion(-)
15344
15345 commit b394240941dffa263776a62cf42dc9b7e477f7a2
15346 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
15347 Date:   Sun Nov 29 02:48:23 2009 +0200
15348
15349     [test] Add missing mark_dirty() calls to test cases.
15350     
15351     A recent optimisation has added a flag to the image
15352     surface which is used to track whether the surface
15353     is clear or not.  This makes it imperative that clients
15354     call cairo_surface_mark_dirty() if they use cairo to
15355     allocate their pixel buffers and then proceed to
15356     initialize them without telling cairo about it.
15357
15358  test/a1-mask.c        |    1 +
15359  test/large-source.c   |    2 ++
15360  test/user-font-mask.c |    1 +
15361  3 files changed, 4 insertions(+)
15362
15363 commit 9ddf14cfd5c3bf0cf507cfc82b192f5c46f66f9a
15364 Author: Adrian Johnson <ajohnson@redneon.com>
15365 Date:   Sun Nov 29 10:40:18 2009 +1030
15366
15367     PDF: Don't specify colorspace in JPEG2000 image dictionary
15368     
15369     PDF uses the colorspace specified in the JPEG2000 image.
15370
15371  src/cairo-pdf-surface.c |    1 -
15372  1 file changed, 1 deletion(-)
15373
15374 commit d58560bda8361bd25f1b2207ecfab4b331601045
15375 Author: Benjamin Otte <otte@gnome.org>
15376 Date:   Fri Nov 27 21:04:55 2009 +0100
15377
15378     Satisfy make check
15379
15380  src/cairo-stroke-style.c |    2 +-
15381  1 file changed, 1 insertion(+), 1 deletion(-)
15382
15383 commit 16fffc5c05857896c03decdcebff7f1b5e582390
15384 Author: Benjamin Otte <otte@gnome.org>
15385 Date:   Fri Nov 27 18:13:45 2009 +0100
15386
15387     Apply device transform in surface wrapper
15388
15389  src/cairo-surface-wrapper.c |   56 +++++++++++++++++++++++++++++++++++--------
15390  1 file changed, 46 insertions(+), 10 deletions(-)
15391
15392 commit 02d7e123d640d62db46ef03d7faecbc7598444e1
15393 Author: Adrian Johnson <ajohnson@redneon.com>
15394 Date:   Fri Nov 27 23:11:56 2009 +1030
15395
15396     PDF: Remove extraneous \n from end of jpeg/jp2 data
15397     
15398     PDF requires a '\n' between the end of stream data and the "endstream"
15399     that is not included in the stream length. Ensure this is always added
15400     in _close_stream where it is not included in the stream length.
15401     
15402     Previously the jpeg/jp2 embedding functions were adding the '\n'. This
15403     resulted in the '\n' becoming part of the stream data.
15404
15405  src/cairo-pdf-surface.c |    5 +----
15406  1 file changed, 1 insertion(+), 4 deletions(-)
15407
15408 commit 4fc7bdaed651a5c19eb89dddd88808468e0e7eb8
15409 Author: Adrian Johnson <ajohnson@redneon.com>
15410 Date:   Thu Nov 26 21:14:20 2009 +1030
15411
15412     PS: Add some missing pdf-operators flushes
15413
15414  src/cairo-ps-surface.c |   15 +++++++++++++++
15415  1 file changed, 15 insertions(+)
15416
15417 commit 3f0c9afa9760a90065c67927c63770f9bb8abe99
15418 Author: Benjamin Otte <otte@gnome.org>
15419 Date:   Wed Nov 25 15:57:46 2009 +0100
15420
15421     [clip] Don't ignore outermost clip when it clips everything
15422     
15423     Fixes testcases clip-stroke-no-op and clip-fill-no-op added in
15424     0d8a04ef47426d87c7932f308a831e36b4ef7683
15425
15426  src/cairo-clip.c |    5 +----
15427  1 file changed, 1 insertion(+), 4 deletions(-)
15428
15429 commit 0d8a04ef47426d87c7932f308a831e36b4ef7683
15430 Author: Benjamin Otte <otte@gnome.org>
15431 Date:   Wed Nov 25 10:48:39 2009 +0000
15432
15433     test: Add cases to exercise clipping after no-ops
15434     
15435     Whilst investigating:
15436     
15437       Bug 31788: SVG <line> with y1 == y2 and both with fractional
15438                  part don't render
15439       https://bugs.webkit.org/show_bug.cgi?id=31788
15440     
15441     I found that it can be reduced to a no-op clip following a no-op stroke
15442     or fill. These conditions are exercised here and are shown to be a bug
15443     introduced in the 1.9.x development series.
15444
15445  test/Makefile.am               |    2 ++
15446  test/Makefile.sources          |    2 ++
15447  test/clip-fill-no-op.c         |   66 ++++++++++++++++++++++++++++++++++++++++
15448  test/clip-fill-no-op.ref.png   |  Bin 0 -> 152 bytes
15449  test/clip-stroke-no-op.c       |   66 ++++++++++++++++++++++++++++++++++++++++
15450  test/clip-stroke-no-op.ref.png |  Bin 0 -> 152 bytes
15451  6 files changed, 136 insertions(+)
15452
15453 commit 26e9f149063b9e1fdb54fc54fccbefdf04a68190
15454 Author: Andrea Canciani <ranma42@gmail.com>
15455 Date:   Tue Nov 10 23:09:56 2009 +0100
15456
15457     Improve stroking of densely dashed styles
15458     
15459     Add some auxiliary functions to cairo-stroke-style to compute
15460     properties of the dashed patterns (period, "on" coverage) and to
15461     generate approximations when the dash pattern is sub-tolerance.
15462     These functions are used in cairo-path-stroke to simplify dash
15463     patterns stroked by cairo.
15464     Fixes dash-infinite-loop
15465     See http://bugs.freedesktop.org/show_bug.cgi?id=24702
15466
15467  src/cairo-path-stroke.c  |   24 +++++++---
15468  src/cairo-stroke-style.c |  119 ++++++++++++++++++++++++++++++++++++++++++++++
15469  src/cairoint.h           |   20 ++++++++
15470  3 files changed, 157 insertions(+), 6 deletions(-)
15471
15472 commit 9c24288c820069e80b0feb5e99ece4c89e92c0c6
15473 Author: Andrea Canciani <ranma42@gmail.com>
15474 Date:   Wed Nov 11 00:09:08 2009 +0100
15475
15476     Revert "[test] Reorder dash-infinite-loop to not hit a runaway allocation."
15477     
15478     The infinite loop problem in _cairo_stroker_dash_start is solved by
15479     commit ee02f3484899527380df94c00f40da87f41660ea, so hitting that
15480     problem is not possible anymore and dash-infinite stroke always
15481     hit the memory intensive loops.
15482     This reverts commit 29432d3d32bc84ec4a2e1815a84e4ac2089138fe.
15483
15484  test/dash-infinite-loop.c |    2 +-
15485  1 file changed, 1 insertion(+), 1 deletion(-)
15486
15487 commit cc2d2630669b084ec43e415d2806d94af00cf56c
15488 Author: Andrea Canciani <ranma42@gmail.com>
15489 Date:   Tue Nov 10 22:58:59 2009 +0100
15490
15491     Improve stroke offset computation
15492     
15493     The stroke offset was forced to be positive because stroking code
15494     wants to be able to decrement it until it finds the first dash to be
15495     drawn. This can lead to long (almost infinite) loops if the offset is
15496     positive but huge compared to the total length of the dash pattern.
15497     Computing the offset this way guarantees that it's always the smallest
15498     non-negative equivalent offset.
15499
15500  src/cairo-gstate.c |   10 ++++------
15501  1 file changed, 4 insertions(+), 6 deletions(-)
15502
15503 commit e436a57c22f2c2a87404cac27e2d5e3c404f8bf9
15504 Author: Andrea Canciani <ranma42@gmail.com>
15505 Date:   Tue Nov 10 13:29:28 2009 +0100
15506
15507     Fix odd length dashing with negative offset
15508     
15509     When computing an equivalent offset, a wrong total dash length was
15510     used when the dash elements were odd and more than 1.
15511     Doubling the total dash length whenever they are odd is needed to
15512     correctly compute the new offset.
15513     Fixes dash-offset.
15514
15515  src/cairo-gstate.c |    4 ++--
15516  1 file changed, 2 insertions(+), 2 deletions(-)
15517
15518 commit b1a76394655793fd698a1281b00a3d049f9e70f5
15519 Author: Andrea Canciani <ranma42@gmail.com>
15520 Date:   Tue Nov 10 13:09:50 2009 +0100
15521
15522     Add dash-offset test
15523     
15524     Stroking a dash pattern of odd length with a negative offset is broken
15525     (except when the pattern is composed by a single dash).
15526
15527  test/Makefile.am         |    1 +
15528  test/Makefile.sources    |    1 +
15529  test/dash-offset.c       |   95 ++++++++++++++++++++++++++++++++++++++++++++++
15530  test/dash-offset.ref.png |  Bin 0 -> 794 bytes
15531  4 files changed, 97 insertions(+)
15532
15533 commit 7d8788b4ba5ae335a7bb77bd09e7ebd20376f632
15534 Author: Robert O'Callahan <robert at ocallahan.org>
15535 Date:   Mon Nov 9 18:58:59 2009 +0100
15536
15537     [quartz] Cleanup fallback source
15538     
15539     Remove the transformation code as it's useless and confusing.
15540     The clipbox was transformed in a wrong way if the CTM
15541     was not the base one, otherwise the transformation did nothing.
15542     As long as _cairo_quartz_setup_fallback_source is only called
15543     with the base CTM, no transformation needs to be performed on the
15544     clipbox.
15545     Patch by Robert O'Callahan, see Mozilla bug #507939.
15546
15547  src/cairo-quartz-surface.c |    9 ---------
15548  1 file changed, 9 deletions(-)
15549
15550 commit 248090e52b02f2b2dc424c6073489df32632b9d1
15551 Author: Andrea Canciani <ranma42@gmail.com>
15552 Date:   Mon Nov 9 21:38:00 2009 +0100
15553
15554     [quartz] Fix compositing operators
15555     
15556     Fallback on SATURATE (since quartz doesn't support it) and on
15557     blending operators (to be implemented using CGContextSetBlendMode,
15558     after its availability has been assessed).
15559     Workaround the different behaviour of quartz operators on alpha
15560     masks.
15561     Fixes text in clip-operator and clip-text, blend modes in
15562     extended-blend, extended-blend-alpha, saturate in operator,
15563     operator-alpha and surface-pattern-operator.
15564     Changes the output of operator-alpha-alpha, but to really fix it
15565     pure-alpha surfaces needs to be treated as alpha masks and not as
15566     greyscale images.
15567
15568  src/cairo-quartz-surface.c |  182 ++++++++++++++++++++++++++++++++++----------
15569  1 file changed, 140 insertions(+), 42 deletions(-)
15570
15571 commit d44414191a685a23fd48bb32826366dfd113e1e5
15572 Author: Andrea Canciani <ranma42@gmail.com>
15573 Date:   Mon Nov 9 14:21:40 2009 +0100
15574
15575     [quartz] Fix source-unbounded compositing of surface sources
15576     
15577     Surface sources were not respecting EXTEND_NONE when composited
15578     because the part outside of the surface rectangle was not changed.
15579     To correctly extend the source, it's sufficient to composite a
15580     transparent rectangle with a hole in the region covered by the surface.
15581     Fixes clip-unbounded and operator-source. Changes the output of
15582     surface-pattern-operator.
15583
15584  src/cairo-quartz-surface.c |   62 ++++++++++++++++++++------------------------
15585  1 file changed, 28 insertions(+), 34 deletions(-)
15586
15587 commit 7ef611a67a2a68d0a50e2191804a8ef137c78b33
15588 Author: Andrea Canciani <ranma42@gmail.com>
15589 Date:   Mon Nov 9 20:17:35 2009 +0100
15590
15591     [quartz] Fix stroking with unbounded operator
15592     
15593     Stroking was not fixed up correctly when the stroke trasform
15594     was not the identity and when the stroked path was dashed.
15595     Instead of building a mask image and clearing through it
15596     (forgetting to use the CTM and the dash setting), the code now
15597     simply fills the outside of the stroke with tranparent black.
15598     Additionally this commit moves the CTM composition so that the invocation
15599     of _cairo_quartz_setup_source is always done with the base CTM.
15600     This commit changes the result of clip-stroke-unbounded (the clip
15601     mask is now correctly aligned to the stroked path).
15602
15603  src/cairo-quartz-surface.c |   36 +++++++++++++-----------------------
15604  1 file changed, 13 insertions(+), 23 deletions(-)
15605
15606 commit 577ac4fc6d810cae7ff6d460fdea1886cd97258c
15607 Author: Andrea Canciani <ranma42@gmail.com>
15608 Date:   Mon Nov 9 14:24:13 2009 +0100
15609
15610     [quartz] Fix implied colour of alpha-only surface sources
15611     
15612     If a fill colour was set, an alpha-only surface source would
15613     have used that colour instead of black.
15614
15615  src/cairo-quartz-surface.c |    2 ++
15616  1 file changed, 2 insertions(+)
15617
15618 commit 8b25e4a7fd839ac399d14460d2596037134c9801
15619 Author: Andrea Canciani <ranma42@gmail.com>
15620 Date:   Mon Oct 19 18:38:57 2009 +0200
15621
15622     [quartz] Improve unbounded operators fixup
15623     
15624     Don't allocate a colorspace and use a 16-bytes aligned stride and
15625     an alpha-only image for the rendering of the fixup mask.
15626
15627  src/cairo-quartz-surface.c |   16 +++++++---------
15628  1 file changed, 7 insertions(+), 9 deletions(-)
15629
15630 commit ed8bdcd59863964a3eb9c49ca1a9bfd5f544350c
15631 Author: Andrea Canciani <ranma42@gmail.com>
15632 Date:   Mon Oct 19 17:33:10 2009 +0200
15633
15634     [quartz] Improve A8 image handling
15635     
15636     A8 images were cosidered grayscale, whereas they should behave like
15637     transparency mask. They are now alpha-only images and the stride is
15638     16-bytes aligned, as suggested.
15639     Fixes alpha-similar and mask-transformed-similar. Makes the patterns
15640     behave (as expected) as masks in surface-pattern-operator.
15641     Affects the output of operator-alpha-alpha, but the result is not
15642     correct because of wrong compositing.
15643
15644  src/cairo-quartz-surface.c |   21 +++++++++------------
15645  1 file changed, 9 insertions(+), 12 deletions(-)
15646
15647 commit b32695c248b08289ce431d5f2fdab5205219c203
15648 Author: Robert O'Callahan <robert at ocallahan.org>
15649 Date:   Tue Oct 20 16:07:52 2009 +0200
15650
15651     [quartz] Fix gradient pattern painting
15652     
15653     CTM was changed and not restored when painting gradients.
15654     Fixes the alignment of surface patterns in surface-pattern-operator.
15655     Patch by Robert O'Callahan, see Mozilla bug #507939.
15656
15657  src/cairo-quartz-surface.c |    2 ++
15658  1 file changed, 2 insertions(+)
15659
15660 commit 1ce096657b2d38956e3229042f87aea42b0d0d8c
15661 Author: Andrea Canciani <ranma42@gmail.com>
15662 Date:   Tue Nov 3 22:51:29 2009 +0100
15663
15664     Fix compilation on MacOS X
15665     
15666     Enable "ld_preload" (DYLD_INSERT_LIBRARIES + DYLD_FORCE_FLAT_NAMESPACE)
15667     and build cairo-trace as a library instead of a module to make it
15668     work also on MacOS X.
15669
15670  configure.ac                    |   17 ++++++++++++++++-
15671  util/cairo-trace/Makefile.am    |   22 +++++++++++-----------
15672  util/cairo-trace/cairo-trace.in |    6 +++++-
15673  util/cairo-trace/trace.c        |    2 +-
15674  4 files changed, 33 insertions(+), 14 deletions(-)
15675
15676 commit c181f9e9aeac375eed07aaab58d177e3476d5117
15677 Author: Andrea Canciani <ranma42@gmail.com>
15678 Date:   Sat Nov 7 19:29:30 2009 +0100
15679
15680     Add new operator-alpha-alpha test
15681     
15682     Compositing of alpha-only sources is not throughly tested and
15683     as a consequence the misbehaviour of some backends is not
15684     shown by the test suite.
15685     
15686     [ickle: Added XFAILs for pdf, ps, svg.]
15687
15688  src/cairo-xcb-surface.c                 |    4 -
15689  test/Makefile.am                        |    4 +
15690  test/Makefile.sources                   |    1 +
15691  test/operator-alpha-alpha.c             |  166 +++++++++++++++++++++++++++++++
15692  test/operator-alpha-alpha.pdf.xfail.png |  Bin 0 -> 3749 bytes
15693  test/operator-alpha-alpha.ps.xfail.png  |  Bin 0 -> 1338 bytes
15694  test/operator-alpha-alpha.ref.png       |  Bin 0 -> 3441 bytes
15695  test/operator-alpha-alpha.svg.xfail.png |  Bin 0 -> 838 bytes
15696  8 files changed, 171 insertions(+), 4 deletions(-)
15697
15698 commit cee3a6169bdf7f64c126c487b443dcb7a9f0586a
15699 Author: Adrian Johnson <ajohnson@redneon.com>
15700 Date:   Sun Nov 8 21:52:06 2009 +1030
15701
15702     Type1-subset: Append "cleartomark" operator for binary fonts that don't include it
15703     
15704     Type 1 fonts embedded in PDF may omit the fixed-content portion of the
15705     font that contains the "cleartomark" operator.
15706
15707  src/cairo-type1-subset.c |   22 +++++++++++++++-------
15708  1 file changed, 15 insertions(+), 7 deletions(-)
15709
15710 commit d962d6bae2681ea1f3c9533a83c8902d76e81c6a
15711 Author: Adrian Johnson <ajohnson@redneon.com>
15712 Date:   Sun Nov 8 21:46:16 2009 +1030
15713
15714     PDF: Include Type 1 fixed-content portion in the embedded font
15715     
15716     Some fonts may contain additional PostScript code after the
15717     cleartomark.
15718
15719  src/cairo-pdf-surface.c |    8 ++++----
15720  1 file changed, 4 insertions(+), 4 deletions(-)
15721
15722 commit ac59c7580894fc5fd424f7f6f8c1532d15048566
15723 Author: Adrian Johnson <ajohnson@redneon.com>
15724 Date:   Sun Nov 8 21:38:58 2009 +1030
15725
15726     Type1-subset: Check for binary eexec data
15727     
15728     Type 1 fonts embedded in PDF have the the encrypted portion in binary
15729     but the existing check for binary only works for Type 1 fonts in PFB
15730     format.
15731     
15732     Add an additional check based on the first 4 characters of eexec data.
15733     The Type 1 specification gurantees that at least one of the first 4
15734     bytes of ciphertext is not an ASCII Hex character.
15735
15736  src/cairo-type1-subset.c |    8 +++++++-
15737  1 file changed, 7 insertions(+), 1 deletion(-)
15738
15739 commit a4a59be600cbe17f43afa20422f9d05f3a5d5b52
15740 Author: Adrian Johnson <ajohnson@redneon.com>
15741 Date:   Sat Nov 7 14:36:49 2009 +1030
15742
15743     Type 1 subset: Don't add a new line when in binary mode
15744     
15745     At the end of the private dictionary a new line is appended so that
15746     the trailing zeros will not exceed 80 columns. In hex mode (used for
15747     PS embedding) extra white space is harmless as it is ignored when
15748     parsing the ascii hex encoded data. But in binary mode (used for PDF
15749     embedding) the new line must not be added as it corrupts the binary
15750     data.
15751     
15752     https://bugs.launchpad.net/ubuntu/+source/cups/+bug/419143
15753
15754  src/cairo-type1-subset.c |    3 ++-
15755  1 file changed, 2 insertions(+), 1 deletion(-)
15756
15757 commit 9775f44436ffaf54931614d1867bcb7d147acd06
15758 Author: Chris Wilson <chris@chris-wilson.co.uk>
15759 Date:   Thu Nov 5 10:13:34 2009 +0000
15760
15761     AUTHORS: Add Andrea Canciani
15762
15763  AUTHORS |    1 +
15764  1 file changed, 1 insertion(+)
15765
15766 commit d51915f873da8d40740a908c86f02e972e358be9
15767 Author: Andrea Canciani <ranma42@gmail.com>
15768 Date:   Wed Nov 4 16:15:48 2009 +0100
15769
15770     xlib: Fix double free
15771     
15772     Both _cairo_xlib_call_close_display_hooks and _cairo_xlib_screen_destroy
15773     invoke _cairo_xlib_screen_close_display, which frees all the cached
15774     GCs, but (if HAS_ATOMIC_OPS is undefined) doesn't mark them as freed,
15775     thus freeing them agin upon the second invocation.
15776
15777  src/cairo-xlib-screen.c |    1 +
15778  1 file changed, 1 insertion(+)
15779
15780 commit 7c1424a315b677ca119d11b7ced1d4c969dde568
15781 Author: Andrea Canciani <ranma42@gmail.com>
15782 Date:   Sun Oct 18 08:59:33 2009 +0200
15783
15784     quartz: Fix compilation
15785     
15786     The function _cairo_image_surface_create_for_content does not exist.
15787     The correct name of the function is instead _cairo_image_surface_create_with_content.
15788
15789  src/cairo-quartz-image-surface.c |    2 +-
15790  1 file changed, 1 insertion(+), 1 deletion(-)
15791
15792 commit 8a10c25c3f4036d17e24852e7dc970fa06fcb4af
15793 Author: Chris Wilson <chris@chris-wilson.co.uk>
15794 Date:   Thu Nov 5 10:02:54 2009 +0000
15795
15796     test: Tweak Benjamin's xcomposite-projection
15797     
15798     Include Benjamin's advice on how to make the bug more visible inline
15799     with the code.
15800
15801  test/xcomposite-projection.c |   69 +++++++++++++++++++++++++++++-------------
15802  1 file changed, 48 insertions(+), 21 deletions(-)
15803
15804 commit a9f37953c71e16f65122097462e51b035783a965
15805 Author: Benjamin Otte <otte@gnome.org>
15806 Date:   Wed Nov 4 13:59:58 2009 +0100
15807
15808     [xlib] Use correct number when checking if points are out of range
15809
15810  src/cairo-xlib-surface.c |   16 ++++++++--------
15811  1 file changed, 8 insertions(+), 8 deletions(-)
15812
15813 commit aa1f245ea313a2f1f0dda3994f5b48073b0c385d
15814 Author: Benjamin Otte <otte@gnome.org>
15815 Date:   Wed Nov 4 13:56:15 2009 +0100
15816
15817     [test] Add "target=raster" to test
15818     
15819     The test isn't useful on vector backends and fails there due to
15820     antialiasing issues.
15821
15822  test/xcomposite-projection.c |    2 +-
15823  1 file changed, 1 insertion(+), 1 deletion(-)
15824
15825 commit 52afe9c77f2f54372fefeca50321a27e8dda0f63
15826 Author: Benjamin Otte <otte@gnome.org>
15827 Date:   Wed Nov 4 11:15:57 2009 +0100
15828
15829     [xlib] Fix new Composite test
15830     
15831     When the reference point was tirggering _line_exceeds_16_16() and got
15832     adjusted, the code failed to compute the srcX and srcY arguments for the
15833     call to XRenderCompositeTrapezoids() correctly and caused the resulting
15834     source image to be misaligned.
15835
15836  src/cairo-fixed-private.h |    9 +++++++++
15837  src/cairo-xlib-surface.c  |   22 +++++++++++-----------
15838  2 files changed, 20 insertions(+), 11 deletions(-)
15839
15840 commit 84bbf179c375622d2c7b4e21b1b8ce189b5a18f2
15841 Author: Benjamin Otte <otte@gnome.org>
15842 Date:   Wed Nov 4 11:06:57 2009 +0100
15843
15844     [test] Add a test exposing bugs in XRenderComposite
15845     
15846     This test fills a slightly rotated surface slightly above the 0 line.
15847     This hits some corner cases in the XRenderComposite path.
15848     I discovered these issues while playing with video rendering onto the
15849     canvas in HTML5 (both Webkit and Mozilla have this problem).
15850     I used CAIRO_ANTIALIAS_NONE and a single-color source in the test to get
15851     rid of aliasing issues in the output images. This makes some issues
15852     slightly less visible, but still fails for all of them. If you want to
15853     get a clearer view, disable it and use romedalen.png instead - it has
15854     the same size as the red surface.
15855     
15856     (At least) 3 bugs are at work here:
15857     - if _line_exceeds_16_16() triggers for the reference point, the
15858       source surface will be misaligned.
15859     - the intel driver seems to have an off-by-one bug on my i945 when
15860       positioning the source surface, causing black seams at the top
15861       (not visible in the test unless using romedalen.png) and on the left
15862       of the image.
15863     - My Xvfb fails completely in picture up/download in the xlib-fallback
15864       path.
15865
15866  test/Makefile.sources              |    1 +
15867  test/xcomposite-projection.c       |   81 ++++++++++++++++++++++++++++++++++++
15868  test/xcomposite-projection.ref.png |  Bin 0 -> 1112 bytes
15869  3 files changed, 82 insertions(+)
15870
15871 commit 9b42b6156d9916e64e19f2ccb0b43f4d1df72e79
15872 Author: Chris Wilson <chris@chris-wilson.co.uk>
15873 Date:   Mon Nov 2 12:50:45 2009 +0000
15874
15875     build: Add -pthread to real_pthread_CFLAGS
15876
15877  build/configure.ac.system |   12 +++++++++++
15878  configure.ac              |   51 +++++++++++++++++++--------------------------
15879  2 files changed, 34 insertions(+), 29 deletions(-)
15880
15881 commit 3eecf2f60c85e0195360ff3c3a54d58ceaa4a6f1
15882 Author: Benjamin Otte <otte@gnome.org>
15883 Date:   Mon Nov 2 13:20:25 2009 +0100
15884
15885     sphinx: Add required pthread libs
15886     
15887     Try again, this time for real hopefully.
15888
15889  configure.ac                  |    2 +-
15890  util/cairo-sphinx/Makefile.am |    4 ++--
15891  2 files changed, 3 insertions(+), 3 deletions(-)
15892
15893 commit 837eb577b4707e447fafb0dfca378ecf4ea3fda5
15894 Author: Chris Wilson <chris@chris-wilson.co.uk>
15895 Date:   Mon Nov 2 11:56:29 2009 +0000
15896
15897     sphinx: Add required pthread libs
15898     
15899     Switching to pthread-stubs broke the build for sphinx on unbroken
15900     platforms [those that do not unnecessarily link against -lpthreads].
15901
15902  configure.ac                  |    7 +++++++
15903  util/cairo-sphinx/Makefile.am |    5 +++--
15904  2 files changed, 10 insertions(+), 2 deletions(-)
15905
15906 commit 942a15ba9e85fa3297ad6e65270928ad3c1c0a42
15907 Author: Benjamin Otte <otte@gnome.org>
15908 Date:   Mon Nov 2 12:51:14 2009 +0100
15909
15910     [test] Update upscale test to expose an Xlib failure
15911     
15912     By filling the background with grey, we can see that Xlib fills areas
15913     with black that it shouldn't. Xlib therefore now fails this test.
15914
15915  test/surface-pattern-scale-up.c           |    4 +++-
15916  test/surface-pattern-scale-up.pdf.ref.png |  Bin 2793 -> 3482 bytes
15917  test/surface-pattern-scale-up.ps2.ref.png |  Bin 943 -> 913 bytes
15918  test/surface-pattern-scale-up.ps3.ref.png |  Bin 943 -> 913 bytes
15919  test/surface-pattern-scale-up.ref.png     |  Bin 4061 -> 4017 bytes
15920  5 files changed, 3 insertions(+), 1 deletion(-)
15921
15922 commit 19c411a5b8b84d31516d9c85642ad55ef5d29aba
15923 Author: Chris Wilson <chris@chris-wilson.co.uk>
15924 Date:   Fri Oct 30 07:58:45 2009 +0000
15925
15926     path: Skip any secondary degenerate line-to segments.
15927     
15928     Only the very first line-to following a move-to can have any
15929     significance if degenerate whilst stroking, so skip all others.
15930     In other words,
15931     
15932       0 0 m 0 0 l stroke
15933     
15934     produces a capped degenerate path (i.e a dot),
15935     
15936       0 0 m 0 0 l 0 0 l stroke
15937     
15938     produces the same degenerate stroke, and
15939     
15940       0 0 m 0 0 l 1 0 l stroke
15941     
15942     produce a horizontal line.
15943
15944  src/cairo-path-fixed.c |   13 ++++++++++---
15945  1 file changed, 10 insertions(+), 3 deletions(-)
15946
15947 commit 23bcf91748c4bb04c16e503b913da3bfc237463f
15948 Author: Chris Wilson <chris@chris-wilson.co.uk>
15949 Date:   Fri Oct 30 07:49:56 2009 +0000
15950
15951     path: Misclassification of rectilinear after degenerate line-to
15952     
15953     Malte Nuhn reported hitting an assertion:
15954     
15955       cairo-path-stroke.c:1816: _cairo_rectilinear_stroker_line_to: Assertion `a->x == b->x || a->y == b->y' failed.
15956       http://bugs.freedesktop.org/show_bug.cgi?id=24797
15957     
15958     when stroking an apparently simple path:
15959     
15960       0 8.626485 m
15961       0 8.626485 l
15962       5.208333 2.5 l
15963       10.416667 2.5 l
15964       15.625 2.5 l
15965       20.833333 2.5 l
15966       26.041667 2.5 l
15967       31.25 2.5 l
15968       36.458333 2.5 l
15969       41.666667 2.5 l
15970       46.875 2.5 l
15971       52.083333 2.5 l
15972       57.291667 2.5 l
15973       62.5 2.5 l
15974       67.708333 2.5 l
15975       72.916667 2.5 l
15976       78.125 2.5 l
15977       83.333333 2.5 l
15978       88.541667 2.5 l
15979       93.75 2.5 l
15980       98.958333 2.5 l
15981       104.166667 2.5 l
15982       109.375 2.5 l
15983       114.583333 2.5 l
15984       119.791667 2.5 l
15985       125 2.5 l
15986       stroke
15987     
15988     which upon reduction becomes:
15989     
15990       0.000000 8.625000 m 5.207031 2.500000 l 125.000000 2.500000 l stroke
15991     
15992     The bug is that after spotting a repeated line-to we move the previous
15993     end-point without reclassifying the path, hence we miss the
15994     non-rectilinear step.
15995
15996  src/cairo-path-fixed.c |  101 +++++++++++++++++++++++++-----------------------
15997  1 file changed, 52 insertions(+), 49 deletions(-)
15998
15999 commit 600dd833983bd85bf8aea487393ce156abb622bd
16000 Author: Adrian Johnson <ajohnson@redneon.com>
16001 Date:   Mon Sep 28 19:14:46 2009 +0930
16002
16003     Provide a builtin implementation of isspace() and isdigit()
16004     
16005     The glibc versions are slow in utf8 locales.
16006
16007  src/cairo-output-stream.c |    7 +++----
16008  src/cairo-pdf-operators.c |    6 ++----
16009  src/cairo-type1-subset.c  |   16 +++++++---------
16010  src/cairoint.h            |   16 ++++++++++++++++
16011  4 files changed, 28 insertions(+), 17 deletions(-)
16012
16013 commit f571356d346565cae34f08d12c584c4bd40921d6
16014 Author: Chris Wilson <chris@chris-wilson.co.uk>
16015 Date:   Tue Oct 27 20:27:09 2009 +0000
16016
16017     xlib: Set has_component_alpha = FALSE for gradient Pictures
16018     
16019     Whilst creating the xlib surface wrapper for gradient Pictures, the
16020     corresponding attributes require ComponentAlpha disabled.
16021
16022  src/cairo-xlib-surface.c |    1 +
16023  1 file changed, 1 insertion(+)
16024
16025 commit 1a80cd2aa00b232a9a2192a85d6264e44ffcbd69
16026 Author: Chris Wilson <chris@chris-wilson.co.uk>
16027 Date:   Mon Oct 26 11:05:38 2009 +0000
16028
16029     scaled-font: Fix documentation examples with incorrect derefs
16030     
16031     Bug 24730 -- New: misleading use cases in cairo_scaled_font_text_to_glyphs's docs
16032     http://bugs.freedesktop.org/show_bug.cgi?id=24730
16033     
16034     An apparent copy'n'paste error from the code which has to deal with
16035     indirect pointers crept into the documentation for the same functions.
16036
16037  src/cairo-scaled-font.c |   20 ++++++++++----------
16038  1 file changed, 10 insertions(+), 10 deletions(-)
16039
16040 commit f648fcd2f91ea5c9ec318c2c0573ee82ac8c0ac9
16041 Author: Chris Wilson <chris@chris-wilson.co.uk>
16042 Date:   Mon Oct 26 11:02:16 2009 +0000
16043
16044     gitignore: Add forgotten cairo-perf-print
16045
16046  perf/.gitignore |    1 +
16047  1 file changed, 1 insertion(+)
16048
16049 commit 6911ba2f76d4ccdf228c029e2719461a72848824
16050 Author: Chris Wilson <chris@chris-wilson.co.uk>
16051 Date:   Mon Oct 26 11:01:01 2009 +0000
16052
16053     perf: Fix comparisons
16054     
16055     The sort order was unstable resulting in incorrect ordering dependent
16056     upon libc version.
16057
16058  perf/cairo-perf-diff-files.c |   22 +++++++++++++++-------
16059  1 file changed, 15 insertions(+), 7 deletions(-)
16060
16061 commit f955a4cba7784f97ef1dd978158e98176e03baf0
16062 Author: Chris Wilson <chris@chris-wilson.co.uk>
16063 Date:   Sun Oct 25 11:04:17 2009 +0000
16064
16065     wideint: Protect 64_32_div for non-HAVE_UINT16_T systems
16066     
16067     Peter Clifton spotted that we failed to properly wrap
16068     _cairo_int64_32_div() for systems without a native 64 bit type.
16069
16070  src/cairo-wideint-private.h |    5 +++++
16071  1 file changed, 5 insertions(+)
16072
16073 commit c701d7813b6d116c9db53f63f791928a407499c7
16074 Author: Chris Wilson <chris@chris-wilson.co.uk>
16075 Date:   Fri Oct 23 14:42:48 2009 +0100
16076
16077     [pattern] Compute zero extents for empty patterns
16078     
16079     If the pattern is for example a repeating 0x0 image, then treat it as
16080     having zero extents.
16081     
16082     This should workaround the bug presented here:
16083     
16084       https://bugs.freedesktop.org/show_bug.cgi?id=24693
16085       Attached PDF crashes evince with a Floating point exception
16086
16087  src/cairo-pattern.c |   27 ++++++++++++++++++++++++---
16088  1 file changed, 24 insertions(+), 3 deletions(-)
16089
16090 commit 43a775f60da57206b194039cd5d8b6a735284c45
16091 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
16092 Date:   Thu Oct 22 02:13:36 2009 +0300
16093
16094     [meta] Rename cairo_meta_surface_t to cairo_recording_surface_t.
16095     
16096     The new name is more descriptive than the rather opaque meta surface.
16097     Discussed with vigour on the mailing list and #cairo:
16098     
16099     http://lists.cairographics.org/archives/cairo/2009-July/017571.html
16100
16101  NEWS                                               |    7 +
16102  boilerplate/Makefile.win32.features                |   14 +-
16103  boilerplate/cairo-boilerplate-pdf.c                |    6 +-
16104  boilerplate/cairo-boilerplate-ps.c                 |    8 +-
16105  boilerplate/cairo-boilerplate-svg.c                |    8 +-
16106  boilerplate/cairo-boilerplate-test-surfaces.c      |    2 +-
16107  boilerplate/cairo-boilerplate-win32-printing.c     |    2 +-
16108  boilerplate/cairo-boilerplate.c                    |   46 +-
16109  boilerplate/cairo-boilerplate.h                    |    2 +-
16110  build/Makefile.win32.features-h                    |    2 +-
16111  configure.ac                                       |    2 +-
16112  doc/public/tmpl/cairo-surface.sgml                 |    2 +-
16113  perf/cairo-perf-micro.c                            |    4 +-
16114  perf/cairo-perf-trace.c                            |    4 +-
16115  src/Makefile.sources                               |    4 +-
16116  src/Makefile.win32.features                        |   14 +-
16117  src/cairo-analysis-surface.c                       |   48 +-
16118  src/cairo-meta-surface-private.h                   |  171 ---
16119  src/cairo-meta-surface.c                           | 1096 --------------------
16120  src/cairo-paginated-private.h                      |    6 +-
16121  src/cairo-paginated-surface-private.h              |    4 +-
16122  src/cairo-paginated-surface.c                      |   92 +-
16123  src/cairo-pattern.c                                |    2 +-
16124  src/cairo-pdf-surface.c                            |   56 +-
16125  src/cairo-ps-surface.c                             |   42 +-
16126  src/cairo-recording-surface-private.h              |  171 +++
16127  src/cairo-recording-surface.c                      | 1096 ++++++++++++++++++++
16128  src/cairo-scaled-font.c                            |   28 +-
16129  src/cairo-script-surface.c                         |   42 +-
16130  src/cairo-script.h                                 |    4 +-
16131  src/cairo-surface.c                                |   58 +-
16132  src/cairo-svg-surface.c                            |   46 +-
16133  src/cairo-tee-surface.c                            |    6 +-
16134  src/cairo-type3-glyph-surface.c                    |   14 +-
16135  src/cairo-types-private.h                          |    2 +-
16136  src/cairo-user-font.c                              |   42 +-
16137  src/cairo-vg-surface.c                             |   10 +-
16138  src/cairo-win32-printing-surface.c                 |   60 +-
16139  src/cairo-xml-surface.c                            |   32 +-
16140  src/cairo-xml.h                                    |    4 +-
16141  src/cairo.c                                        |    2 +-
16142  src/cairo.h                                        |   20 +-
16143  src/cairoint.h                                     |   12 +-
16144  test/Makefile.am                                   |   32 +-
16145  test/Makefile.sources                              |    2 +-
16146  test/cairo-test-trace.c                            |   48 +-
16147  test/cairo-test.c                                  |    6 +-
16148  test/meta-surface-pattern.c                        |  121 ---
16149  test/meta-surface-pattern.gl.argb32.ref.png        |  Bin 3130 -> 0 bytes
16150  test/meta-surface-pattern.pdf.argb32.ref.png       |  Bin 3908 -> 0 bytes
16151  test/meta-surface-pattern.pdf.rgb24.ref.png        |  Bin 3760 -> 0 bytes
16152  test/meta-surface-pattern.ps2.argb32.ref.png       |  Bin 3257 -> 0 bytes
16153  test/meta-surface-pattern.ps2.rgb24.ref.png        |  Bin 3873 -> 0 bytes
16154  test/meta-surface-pattern.ps3.argb32.ref.png       |  Bin 3257 -> 0 bytes
16155  test/meta-surface-pattern.ps3.rgb24.ref.png        |  Bin 3873 -> 0 bytes
16156  test/meta-surface-pattern.quartz.ref.png           |  Bin 4572 -> 0 bytes
16157  test/meta-surface-pattern.quartz.rgb24.ref.png     |  Bin 4063 -> 0 bytes
16158  test/meta-surface-pattern.ref.png                  |  Bin 3072 -> 0 bytes
16159  test/meta-surface-pattern.rgb24.ref.png            |  Bin 3162 -> 0 bytes
16160  test/meta-surface-pattern.svg.argb32.ref.png       |  Bin 3778 -> 0 bytes
16161  test/meta-surface-pattern.svg.rgb24.ref.png        |  Bin 3760 -> 0 bytes
16162  test/recording-surface-pattern.c                   |  121 +++
16163  test/recording-surface-pattern.gl.argb32.ref.png   |  Bin 0 -> 3130 bytes
16164  test/recording-surface-pattern.pdf.argb32.ref.png  |  Bin 0 -> 3908 bytes
16165  test/recording-surface-pattern.pdf.rgb24.ref.png   |  Bin 0 -> 3760 bytes
16166  test/recording-surface-pattern.ps2.argb32.ref.png  |  Bin 0 -> 3257 bytes
16167  test/recording-surface-pattern.ps2.rgb24.ref.png   |  Bin 0 -> 3873 bytes
16168  test/recording-surface-pattern.ps3.argb32.ref.png  |  Bin 0 -> 3257 bytes
16169  test/recording-surface-pattern.ps3.rgb24.ref.png   |  Bin 0 -> 3873 bytes
16170  test/recording-surface-pattern.quartz.ref.png      |  Bin 0 -> 4572 bytes
16171  .../recording-surface-pattern.quartz.rgb24.ref.png |  Bin 0 -> 4063 bytes
16172  test/recording-surface-pattern.ref.png             |  Bin 0 -> 3072 bytes
16173  test/recording-surface-pattern.rgb24.ref.png       |  Bin 0 -> 3162 bytes
16174  test/recording-surface-pattern.svg.argb32.ref.png  |  Bin 0 -> 3778 bytes
16175  test/recording-surface-pattern.svg.rgb24.ref.png   |  Bin 0 -> 3760 bytes
16176  test/scale-offset-similar.meta.xfail.png           |  Bin 10752 -> 0 bytes
16177  test/scale-offset-similar.recording.xfail.png      |  Bin 0 -> 10752 bytes
16178  util/cairo-fdr/fdr.c                               |    8 +-
16179  util/cairo-sphinx/sphinx.c                         |   38 +-
16180  util/cairo-trace/trace.c                           |   10 +-
16181  util/trace-to-xml.c                                |    4 +-
16182  81 files changed, 1845 insertions(+), 1838 deletions(-)
16183
16184 commit df357f26ff72571acb840715efa4930054d4fdbe
16185 Author: Chris Wilson <chris@chris-wilson.co.uk>
16186 Date:   Fri Oct 16 16:48:54 2009 +0100
16187
16188     Support component-alpha.
16189     
16190     Within our code base we carried a few hacks to utilize the component
16191     alpha capabilities of pixman, whilst not supporting the concept for our
16192     own masks. Thus we were setting it upon the pixman_image_t that we
16193     passed around through code that was blissfully unaware and indeed the
16194     component-alpha property was forgotten (e.g. upgrading glyph masks).
16195     
16196     The real issue is that without explicit support that a pattern carries
16197     subpixel masking information, that information is lost when using that
16198     pattern with composite. Again we can look at the example of compositing
16199     a sub-pixel glyph mask onto a remote xlib surface for further failure.
16200
16201  src/cairo-ft-font.c              |    5 ---
16202  src/cairo-gl-glyphs.c            |   23 +++++++++---
16203  src/cairo-gl-surface.c           |   18 ++++++----
16204  src/cairo-gstate.c               |   17 +++++----
16205  src/cairo-image-surface.c        |   55 +++++++++++++++++++++--------
16206  src/cairo-pattern.c              |   22 +++++++++---
16207  src/cairo-pdf-surface.c          |   10 ++++--
16208  src/cairo-scaled-font.c          |   14 ++++----
16209  src/cairo-svg-surface.c          |   10 ++++--
16210  src/cairo-types-private.h        |   71 ++++++++++++++++++++++++++++++++++++++
16211  src/cairo-win32-font.c           |   10 +++---
16212  src/cairo-xlib-surface-private.h |    1 +
16213  src/cairo-xlib-surface.c         |   43 ++++++++++++++++++-----
16214  src/cairoint.h                   |   69 +-----------------------------------
16215  14 files changed, 234 insertions(+), 134 deletions(-)
16216
16217 commit f0cd20e6cec445eb627c2708c2230c8bad1b64ce
16218 Author: Chris Wilson <chris@chris-wilson.co.uk>
16219 Date:   Wed Oct 21 10:36:27 2009 +0100
16220
16221     [gl] Do not clear internal surfaces.
16222     
16223     Create a scratch surface that will be initialised as required for
16224     internal use. External surfaces, i.e. those returned to the user, are
16225     cleared as normal.
16226
16227  src/cairo-gl-surface.c |   46 +++++++++++++++++++++++++++++++---------------
16228  1 file changed, 31 insertions(+), 15 deletions(-)
16229
16230 commit 7c9ebd4a852ad709e57ed48b9610db00de79de7e
16231 Author: Chris Wilson <chris@chris-wilson.co.uk>
16232 Date:   Wed Oct 21 09:04:30 2009 +0100
16233
16234     Make the surface->is_clear logic common
16235     
16236     A nasty surprise whilst profiling is that performing redundant clear
16237     operations is extremely painful. We can mitigate this somewhat by
16238     tracking the cleared state of surfaces and skipping repeated attempts to
16239     clear a surface.
16240
16241  src/cairo-gl-surface.c      |    2 ++
16242  src/cairo-image-surface.c   |   47 ++----------------------------
16243  src/cairo-surface-private.h |    6 ++--
16244  src/cairo-surface.c         |   66 ++++++++++++++++++++++++++++++++++++++-----
16245  src/cairoint.h              |    1 -
16246  5 files changed, 68 insertions(+), 54 deletions(-)
16247
16248 commit 723055722f1d9a133fe9e78bb19165f2c7be720e
16249 Author: Chris Wilson <chris@chris-wilson.co.uk>
16250 Date:   Wed Oct 21 10:40:51 2009 +0100
16251
16252     [doc] Add comments on when surfaces are cleared on construction.
16253     
16254     Or perhaps, more importantly, when the contents are left unmodified.
16255
16256  src/cairo.h |    9 +++++++++
16257  1 file changed, 9 insertions(+)
16258
16259 commit cef8194178b01eaa2d10c1ba8291a9a4c5a6d302
16260 Author: Andrea Canciani <ranma42@gmail.com>
16261 Date:   Tue Oct 20 14:37:28 2009 +0200
16262
16263     [test] Add surface-pattern-operator
16264     
16265     Test the results of compositing ALPHA and COLOR_ALPHA surfaces
16266     with different operators.
16267
16268  test/Makefile.am                                  |    4 +
16269  test/Makefile.sources                             |    1 +
16270  test/surface-pattern-operator.argb32.ref.png      |  Bin 0 -> 5217 bytes
16271  test/surface-pattern-operator.c                   |  117 +++++++++++++++++++++
16272  test/surface-pattern-operator.rgb24.ref.png       |  Bin 0 -> 1942 bytes
16273  test/surface-pattern-operator.xlib.argb32.ref.png |  Bin 0 -> 5171 bytes
16274  test/surface-pattern-operator.xlib.rgb24.ref.png  |  Bin 0 -> 1913 bytes
16275  7 files changed, 122 insertions(+)
16276
16277 commit 710303ef15b9a1bf73b2b07b7aa51ec816d0aa07
16278 Author: Chris Wilson <chris@chris-wilson.co.uk>
16279 Date:   Mon Oct 19 10:42:51 2009 +0100
16280
16281     [test] Update rotate-image-surface-paint
16282     
16283     Update this test case so the background is not the default border colour
16284     so that we spot when the backend pads out the transformed image surface.
16285
16286  test/Makefile.am                              |    5 +-
16287  test/rotate-image-surface-paint.c             |   78 ++++++++++++++-----------
16288  test/rotate-image-surface-paint.pdf.xfail.png |  Bin 217 -> 358 bytes
16289  test/rotate-image-surface-paint.ps.ref.png    |  Bin 0 -> 236 bytes
16290  test/rotate-image-surface-paint.ps2.ref.png   |  Bin 212 -> 0 bytes
16291  test/rotate-image-surface-paint.ps3.ref.png   |  Bin 212 -> 0 bytes
16292  test/rotate-image-surface-paint.ref.png       |  Bin 191 -> 220 bytes
16293  test/rotate-image-surface-paint.svg.xfail.png |  Bin 0 -> 387 bytes
16294  8 files changed, 45 insertions(+), 38 deletions(-)
16295
16296 commit ea39f0302a936711043aa6834ba0ab487736572b
16297 Author: Luo Jinghua <sunmoon1997@gmail.com>
16298 Date:   Mon Oct 19 22:21:00 2009 +0800
16299
16300     atomic: correct libatomic_ops version of _cairo_atomic_int_cmpxchg
16301     
16302     AO_compare_and_swap_full() doesn't have the same semantic as
16303     _cairo_atomic_int_cmpxchg(). The former returns a TRUE on success
16304     FALSE otherwise while the later returns the atomic value.
16305
16306  src/cairo-atomic-private.h |    2 +-
16307  1 file changed, 1 insertion(+), 1 deletion(-)
16308
16309 commit a2254e56474fcdf5f25232812cdbef30a2b5ea60
16310 Author: Benjamin Otte <otte@gnome.org>
16311 Date:   Sun Oct 18 22:12:13 2009 +0200
16312
16313     [gstate] Apply target device offsets to patterns immediately
16314     
16315     Previously target device offsets were applied in cairo-surface.c which
16316     could cause bugs when paths were taken as fallbacks, as for example
16317     pointed out by ade55037ffa596b690c6a1051394589f76eb1f48 and quick-fixed
16318     by 79190d89853958ee8252440d35a662fabf122afd. The quick-fix is now
16319     unnecessary and was removed.
16320
16321  src/cairo-gstate.c           |    4 +++
16322  src/cairo-surface-fallback.c |   41 +++++------------------------
16323  src/cairo-surface.c          |   59 ------------------------------------------
16324  3 files changed, 10 insertions(+), 94 deletions(-)
16325
16326 commit 4b720d56db72d314b3b7cedb05a53321b1d0adbe
16327 Author: Benjamin Otte <otte@gnome.org>
16328 Date:   Sun Oct 18 21:32:10 2009 +0200
16329
16330     [clip] Remove non-existing functions from header
16331
16332  src/cairo-clip-private.h |    9 ---------
16333  1 file changed, 9 deletions(-)
16334
16335 commit cacf9ccedffa0c804a56c76c8ab17bf81831b621
16336 Author: Benjamin Otte <otte@gnome.org>
16337 Date:   Sun Oct 18 21:30:22 2009 +0200
16338
16339     [path] Fix compiler warnings
16340
16341  src/cairo-path-fill.c |    7 +++----
16342  1 file changed, 3 insertions(+), 4 deletions(-)
16343
16344 commit a70705b2ede8c0dc401f28405641e70f8a6d8d92
16345 Author: Benjamin Otte <otte@gnome.org>
16346 Date:   Sun Oct 18 21:30:06 2009 +0200
16347
16348     [xlib] Fix compiler warnings
16349
16350  src/cairo-xlib-screen.c |    8 ++++----
16351  1 file changed, 4 insertions(+), 4 deletions(-)
16352
16353 commit 96117c1212be2bf39a300a212dec85466f49f31e
16354 Author: Chris Wilson <chris@chris-wilson.co.uk>
16355 Date:   Sat Oct 17 10:36:10 2009 +0100
16356
16357     [test] Add radial-gradient-source
16358     
16359     ranma42 found a bug in compositing with a radial gradient using the
16360     SOURCE operator with EXTEND_NONE, as exercised here.
16361
16362  test/Makefile.am                           |    2 +
16363  test/Makefile.sources                      |    1 +
16364  test/radial-gradient-source.argb32.ref.png |  Bin 0 -> 272428 bytes
16365  test/radial-gradient-source.c              |  115 ++++++++++++++++++++++++++++
16366  test/radial-gradient-source.rgb24.ref.png  |  Bin 0 -> 193364 bytes
16367  5 files changed, 118 insertions(+)
16368
16369 commit 54df07a3da2bfbbdbe2dde92ca298ac0d7b8d255
16370 Author: Chris Wilson <chris@chris-wilson.co.uk>
16371 Date:   Fri Oct 16 10:11:41 2009 +0100
16372
16373     [surface] Don't AND in the desired content.
16374     
16375     Gah, that was a horrible mistake. It was a flawed hack to create Pixmaps
16376     of the correct depth when cloning patterns for blitting to the xlib
16377     backend. However, it had the nasty side-effect of discarding alpha when
16378     targeting Window surfaces. The correct solution is to simply correct the
16379     Pixmap of the desired depth and render a matching pattern onto the
16380     surface - i.e. a reversal the current acquire -> clone. See the
16381     forthcoming revised xcb backend on how I should have done it originally.
16382
16383  src/cairo-directfb-surface.c         |    2 --
16384  src/cairo-gl-surface.c               |    4 +---
16385  src/cairo-glitz-surface.c            |    3 ---
16386  src/cairo-image-surface.c            |    4 ----
16387  src/cairo-pattern.c                  |   15 +++------------
16388  src/cairo-quartz-surface.c           |    1 -
16389  src/cairo-surface-fallback-private.h |    1 -
16390  src/cairo-surface-fallback.c         |    3 +--
16391  src/cairo-surface.c                  |   14 ++++----------
16392  src/cairo-xlib-surface.c             |   18 +-----------------
16393  src/cairoint.h                       |    4 ----
16394  src/test-fallback-surface.c          |    1 -
16395  src/test-fallback16-surface.c        |    2 --
16396  13 files changed, 10 insertions(+), 62 deletions(-)
16397
16398 commit 6a19a82efd3afe8fb8bd30e5362b247de8efe159
16399 Author: Chris Wilson <chris@chris-wilson.co.uk>
16400 Date:   Fri Oct 16 08:43:21 2009 +0100
16401
16402     [image] Clone the format for a similar surface with identical content
16403     
16404     Honour the incoming surface format when we are asked to create a similar
16405     surface with identical content. The goal of
16406     cairo_surface_create_similar() is to create an intermediate with similar
16407     characteristics to the original that can be used in place of the
16408     original and be quick to copy to the original. Matching the format for
16409     the same content, ensures that the blits between the two need only be a
16410     memcpy.
16411
16412  src/cairo-image-surface.c |   11 +++++++++--
16413  1 file changed, 9 insertions(+), 2 deletions(-)
16414
16415 commit ed94d7caad6b851f6f80fa4d67441ad0387a8cd4
16416 Author: Chris Wilson <chris@chris-wilson.co.uk>
16417 Date:   Fri Oct 16 08:38:24 2009 +0100
16418
16419     [fallback] Create intermediate surface with same content.
16420     
16421     The goal is to create a similar surface with an identical format to
16422     maximise performance in the subsequent blit, e.g. the xlib backend could
16423     make the similar surface with an identical depth and so use the core
16424     protocol, or the image surface could indeed make an identical copy so
16425     that pixman only has to do a fast memcpy. As there is no direct method
16426     to specify such a clone, we ask the backend for a similar surface of
16427     identical content, and trust that the semantics are clear enough for the
16428     intent to obvious.
16429
16430  src/cairo-surface-fallback.c |   12 +++++++-----
16431  1 file changed, 7 insertions(+), 5 deletions(-)
16432
16433 commit c739940137c4ffc6cc727ea30afc0e92f7ab1e80
16434 Author: Carl Worth <cworth@cworth.org>
16435 Date:   Thu Oct 15 16:24:44 2009 -0700
16436
16437     Increment version to 1.9.5
16438     
16439     Just after the 1.9.4 snapshot.
16440
16441  cairo-version.h |    2 +-
16442  1 file changed, 1 insertion(+), 1 deletion(-)
16443
16444 commit ad6334b9870c63e641b531d6e910c084b587d0f9
16445 Author: Carl Worth <cworth@cworth.org>
16446 Date:   Thu Oct 15 15:33:20 2009 -0700
16447
16448     Add mising images to REFERENCE_IMAGES list.
16449     
16450     Again, the kind of thing that only gets fixed at release time.
16451     But at least we have a nice test for this.
16452
16453  test/Makefile.am |    8 ++++++++
16454  1 file changed, 8 insertions(+)
16455
16456 commit cdad5e10768978b11088f82858a1e6e0037dc0a7
16457 Author: Carl Worth <cworth@cworth.org>
16458 Date:   Thu Oct 15 14:58:39 2009 -0700
16459
16460     Mark in-fill-empty-trapezoid as an XFAIL test.
16461     
16462     Otherwise, it was disrupting my attempts to release a snapshot, (since
16463     it doesn't respect CAIRO_TEST_TARGET=" " and not run like most of the
16464     tests do).
16465
16466  test/Makefile.am               |    5 +++++
16467  test/in-fill-empty-trapezoid.c |    4 ++--
16468  2 files changed, 7 insertions(+), 2 deletions(-)
16469
16470 commit b0f309abb33fb7e068199c941835af0217d8d1fc
16471 Author: Carl Worth <cworth@cworth.org>
16472 Date:   Thu Oct 15 14:40:22 2009 -0700
16473
16474     Update version to 1.9.4
16475     
16476     In preparation for the 1.9.4 snapshot.
16477
16478  cairo-version.h |    2 +-
16479  1 file changed, 1 insertion(+), 1 deletion(-)
16480
16481 commit 3b113275f8b081685227fc073c03f64bb1a229d3
16482 Author: Carl Worth <cworth@cworth.org>
16483 Date:   Thu Oct 15 14:17:30 2009 -0700
16484
16485     Remove stale references to non-existant reference images.
16486     
16487     This is just one of those things that we don't get right until
16488     someone tries running "make distcheck".
16489
16490  test/Makefile.am |    7 -------
16491  1 file changed, 7 deletions(-)
16492
16493 commit 37078b262a268179f8b7a3dfdc263e1a403daa7d
16494 Author: Carl Worth <cworth@cworth.org>
16495 Date:   Thu Oct 15 14:11:04 2009 -0700
16496
16497     NEWS: Update with correct data for 1.9.4 snapshot
16498
16499  NEWS |    3 +--
16500  1 file changed, 1 insertion(+), 2 deletions(-)
16501
16502 commit d5609ca04ecc5f5e3d5cef8ca0e67fa98cd653de
16503 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
16504 Date:   Thu Oct 15 17:47:33 2009 +0300
16505
16506     [build] Check compiler flags using AC_TRY_LINK instead of AC_TRY_COMPILE.
16507     
16508     Turns out we were passing suncc warning suppression flags to gcc
16509     by mistake since -e<entry point> is actually a valid option for
16510     gcc.  This caused the -erroff=E_ENUM_TYPE_MISMATCH_ARG and other
16511     -erroff options to be passed to the linker.  In the normal case
16512     of a GNU ld linker this doesn't matter since it ignores bogus
16513     entry points, but the GNU gold linker replaces a bogus entry
16514     point with NULL.  This patch makes the CAIRO_CC_TRY_FLAG()
16515     check stricter by testing that the flag doesn't interfere with
16516     linking executables.
16517
16518  build/aclocal.cairo.m4 |   19 ++++++++-----------
16519  1 file changed, 8 insertions(+), 11 deletions(-)
16520
16521 commit 79190d89853958ee8252440d35a662fabf122afd
16522 Author: Chris Wilson <chris@chris-wilson.co.uk>
16523 Date:   Thu Oct 15 14:05:37 2009 +0100
16524
16525     [surface] Avoid double application of device offset when calling fill()
16526     
16527     _cairo_surface_fallback_paint() attempts to avoid a clipped operation if
16528     we can convert the paint into a fill of the clipmask. However by calling
16529     _cairo_surface_fill() we incur a double application of device offset to
16530     the source, triggering various failures.
16531     
16532     Company spotted this and managed to extract an excellent minimal test
16533     case, test/clip-device-offset. This commit fixes that failure.
16534
16535  src/cairo-surface-fallback.c |   41 +++++++++++++++++++++++++++++++++++------
16536  1 file changed, 35 insertions(+), 6 deletions(-)
16537
16538 commit ade55037ffa596b690c6a1051394589f76eb1f48
16539 Author: Benjamin Otte <otte@gnome.org>
16540 Date:   Thu Oct 15 13:19:11 2009 +0100
16541
16542     [test] Add clip-device-offset
16543     
16544     Exercises a bug demonstrated by WebKit with clipping + device offsets.
16545
16546  test/Makefile.am                       |    2 +
16547  test/Makefile.sources                  |    1 +
16548  test/clip-device-offset.argb32.ref.png |  Bin 0 -> 175 bytes
16549  test/clip-device-offset.c              |   79 ++++++++++++++++++++++++++++++++
16550  test/clip-device-offset.rgb24.ref.png  |  Bin 0 -> 168 bytes
16551  5 files changed, 82 insertions(+)
16552
16553 commit dac73d260a9b9a848bb97436ad84081c51629511
16554 Author: Chris Wilson <chris@chris-wilson.co.uk>
16555 Date:   Thu Oct 15 12:18:47 2009 +0100
16556
16557     [build] Link against pthread-stubs
16558     
16559     Avoid pulling in the real pthread library if the application is single
16560     threaded and not using pthreads, by linking against pthread-stubs
16561     instead.
16562
16563  build/configure.ac.features    |    1 +
16564  configure.ac                   |    8 +++++++-
16565  src/cairo-mutex-impl-private.h |    2 +-
16566  test/Makefile.am               |    4 ++++
16567  test/cairo-test-trace.c        |   10 +++++-----
16568  test/cairo-test.c              |    6 +++---
16569  util/cairo-trace/Makefile.am   |    2 +-
16570  7 files changed, 22 insertions(+), 11 deletions(-)
16571
16572 commit ef9286751d8346ecb803bfb5916581ee4dfc84db
16573 Author: Chris Wilson <chris@chris-wilson.co.uk>
16574 Date:   Tue Oct 13 16:10:39 2009 +0100
16575
16576     [atomic] Fallback to libatomic-ops-dev
16577     
16578     Use libatomic-ops-dev in preference to mutex-based atomics, if we do not
16579     have the builtin atomic intrinsics available.
16580
16581  build/aclocal.cairo.m4     |   10 ++++++++++
16582  src/cairo-atomic-private.h |   41 ++++++++++++++++++++++++++++++++++++-----
16583  src/cairo-surface.c        |    4 ++--
16584  src/cairo-xlib-private.h   |    2 +-
16585  src/cairo-xlib-screen.c    |   16 +++++++++-------
16586  src/cairo.c                |   10 +++++-----
16587  6 files changed, 63 insertions(+), 20 deletions(-)
16588
16589 commit d85eda97dd9116f51e0255b29652f4b52ba4f8e9
16590 Author: Chris Wilson <chris@chris-wilson.co.uk>
16591 Date:   Tue Oct 13 14:14:55 2009 +0100
16592
16593     [pattern] Compute extents for gradients
16594     
16595     As noted in the comments we could also compute the pattern extents for
16596     gradients with CAIRO_EXTEND_NONE under certain circumstances, i.e.
16597     radial gradients and device axis aligned linear gradients.
16598
16599  src/cairo-pattern.c |  184 +++++++++++++++++++++++++++++++++++----------------
16600  1 file changed, 126 insertions(+), 58 deletions(-)
16601
16602 commit 3a83bc8617dae3cc2bfea862f252338463871648
16603 Author: Adrian Johnson <ajohnson@redneon.com>
16604 Date:   Fri Oct 2 23:28:10 2009 +0930
16605
16606     PDF: Fix regression caused by 1ae5a419
16607     
16608         Bug 24240 acroread prints error message when printing
16609
16610  src/cairo-pdf-surface.c |   12 ++++++++----
16611  1 file changed, 8 insertions(+), 4 deletions(-)
16612
16613 commit 91a4f59f135dd42a28e14be55d1f08712c0c3097
16614 Author: Adrian Johnson <ajohnson@redneon.com>
16615 Date:   Fri Oct 2 23:11:54 2009 +0930
16616
16617     PDF: Fix regression caused by 1ae5a419
16618     
16619     Bug 24240 first char missing when printing a PDF.
16620
16621  src/cairo-scaled-font-subsets.c |    2 +-
16622  1 file changed, 1 insertion(+), 1 deletion(-)
16623
16624 commit 39284159234d5318c90fa3a72178cd3d14fe0fbb
16625 Author: Chris Wilson <chris@chris-wilson.co.uk>
16626 Date:   Wed Sep 30 20:11:12 2009 +0100
16627
16628     [boilerplate/xcb] Fix pixmap depth
16629     
16630     All the error checking, finally pointed out that I was creating a pixmap
16631     with the wrong depth! Oops.
16632
16633  boilerplate/cairo-boilerplate-xcb.c |   19 ++++++++++++++++---
16634  1 file changed, 16 insertions(+), 3 deletions(-)
16635
16636 commit e9bc2180d73acc7133d715ed4380ed20fb4364c0
16637 Author: Chris Wilson <chris@chris-wilson.co.uk>
16638 Date:   Wed Sep 30 19:50:44 2009 +0100
16639
16640     [xcb] Deferred error checking.
16641     
16642     XCB avoids the dreaded abort on XError mechanism by forcing the client
16643     to perform deferred error checking. So do so. This allows us to combine
16644     the fire-and-forget rendering model with accurate error checking,
16645     without killing the client or mixing our errors with theirs.
16646     
16647     XCB for the win!
16648
16649  boilerplate/cairo-boilerplate-xcb.c |   17 +
16650  src/cairo-freelist-private.h        |    5 +
16651  src/cairo-freelist.c                |   33 ++
16652  src/cairo-xcb-surface.c             |  712 +++++++++++++++++++++++------------
16653  4 files changed, 521 insertions(+), 246 deletions(-)
16654
16655 commit 8e4e0aa7ee5b4e0963409cda825705a09aae61e1
16656 Author: Chris Wilson <chris@chris-wilson.co.uk>
16657 Date:   Wed Sep 30 17:50:09 2009 +0100
16658
16659     [boilerplate/xcb] Check for connection errors during test
16660
16661  boilerplate/cairo-boilerplate-xcb.c |   51 ++++++++++++++++-----
16662  test/cairo-test.c                   |   86 +++++++++++++++++------------------
16663  2 files changed, 83 insertions(+), 54 deletions(-)
16664
16665 commit 395555b116a497c99b9e8365a202377c344c0c45
16666 Author: Chris Wilson <chris@chris-wilson.co.uk>
16667 Date:   Wed Sep 30 00:37:36 2009 +0100
16668
16669     [xlib] Suppress warning that should never have been.
16670
16671  src/cairo-xlib-surface.c |    2 +-
16672  1 file changed, 1 insertion(+), 1 deletion(-)
16673
16674 commit 42ea356c0393288eea16eb5c591fa51009f85cb9
16675 Author: Adrian Johnson <ajohnson@redneon.com>
16676 Date:   Wed Sep 30 21:21:42 2009 +0930
16677
16678     Fix truetype subset crash
16679     
16680     Bug 24213
16681
16682  src/cairo-truetype-subset.c |    1 +
16683  1 file changed, 1 insertion(+)
16684
16685 commit 6809e1216119e16c5be236418dc560d2e9bf854d
16686 Author: Benjamin Otte <otte@gnome.org>
16687 Date:   Wed Sep 30 08:54:19 2009 +0200
16688
16689     [API] Make _cairo_meta_surface_replay() private again
16690     
16691     Replaying a meta surface can be achieved by using it as a source for a
16692     cairo_paint() so exporting a separate API is unnecesary and confusing.
16693     So after consulting Chris and Carl, we decided to remove the function
16694     again.
16695
16696  NEWS                             |    1 -
16697  src/cairo-meta-surface-private.h |    5 ++++-
16698  src/cairo-meta-surface.c         |   39 +++++++++++++++++---------------------
16699  src/cairo-paginated-surface.c    |    4 ++--
16700  src/cairo-script-surface.c       |    6 +++---
16701  src/cairo-surface.c              |    4 ++--
16702  src/cairo-svg-surface.c          |    2 +-
16703  src/cairo-type3-glyph-surface.c  |    4 ++--
16704  src/cairo-user-font.c            |    2 +-
16705  src/cairo-vg-surface.c           |    2 +-
16706  src/cairo-xml-surface.c          |    2 +-
16707  src/cairo.h                      |    4 ----
16708  test/cairo-test-trace.c          |    8 ++++++--
16709  util/cairo-trace/trace.c         |   22 ---------------------
16710  14 files changed, 40 insertions(+), 65 deletions(-)
16711
16712 commit f8c49b4187a32b60408b23b2c2abce1778a8dc95
16713 Author: Chris Wilson <chris@chris-wilson.co.uk>
16714 Date:   Tue Sep 29 03:02:40 2009 +0100
16715
16716     [xlib] XRequest bread crumbing
16717     
16718     Add bread crumbs in the form of NoOperations that can be parsed by
16719     xtrace and very useful when debugging protocol/server errors.
16720
16721  src/cairo-xlib-surface.c |   57 ++++++++++++++++++++++++++++++++++++++++++++++
16722  1 file changed, 57 insertions(+)
16723
16724 commit 1c4f61ec5068a5935eb6d5dd1d6f2c0275b70529
16725 Author: Chris Wilson <chris@chris-wilson.co.uk>
16726 Date:   Tue Sep 29 03:01:37 2009 +0100
16727
16728     [tessellator] Invalid conversion of list head to edge.
16729     
16730     When scanning for collinear right edges, we need to check that we do not
16731     go beyond the end of the array.
16732
16733  src/cairo-bentley-ottmann-rectangular.c |    2 ++
16734  1 file changed, 2 insertions(+)
16735
16736 commit f23ae97e307f00a79cbf2e01f9ca20da29ea87c3
16737 Author: Chris Wilson <chris@chris-wilson.co.uk>
16738 Date:   Thu Sep 24 16:30:57 2009 +0100
16739
16740     [perf] Support parsing reports from stdin
16741
16742  perf/cairo-perf-compare-backends.c |   22 ++++++++++++----------
16743  perf/cairo-perf-report.c           |   29 +++++++++++++++++++----------
16744  2 files changed, 31 insertions(+), 20 deletions(-)
16745
16746 commit 50163a9fafa77dd1135ca5b6b03c7ec5619687c1
16747 Author: Benjamin Otte <otte@gnome.org>
16748 Date:   Tue Sep 29 00:23:12 2009 +0200
16749
16750     [xlib] Set proper bpp when computing format from masks
16751     
16752     Fixing omission in caa9eed4646e78a62ffb49d9c4f48c0b351c7a7f
16753
16754  src/cairo-xlib-surface.c |    1 +
16755  1 file changed, 1 insertion(+)
16756
16757 commit a160c8c4009e069db53bec79abd8926231de9a7f
16758 Author: Benjamin Otte <otte@gnome.org>
16759 Date:   Mon Sep 28 23:52:14 2009 +0200
16760
16761     [xlib] Handle 24bpp formats during dithering
16762
16763  src/cairo-xlib-surface.c |   10 ++++++++++
16764  1 file changed, 10 insertions(+)
16765
16766 commit 9e89de813516c48baed67a4d18325971cd42cd4a
16767 Author: Benjamin Otte <otte@gnome.org>
16768 Date:   Mon Sep 28 23:51:14 2009 +0200
16769
16770     [image] Fix masks computation for BGRx format
16771     
16772     Patch originally by Mark Kettenis
16773
16774  src/cairo-image-surface.c |    6 +++---
16775  1 file changed, 3 insertions(+), 3 deletions(-)
16776
16777 commit 4b2c74e28531e403a9538f20a3ace7b114f9bbae
16778 Author: Adrian Johnson <ajohnson@redneon.com>
16779 Date:   Mon Sep 28 22:57:10 2009 +0930
16780
16781     PS: Use standard page size names for some common sizes
16782     
16783     Some PS viewers like gv use the label in the %PageMedia DSC comment as
16784     the displayed page size.
16785     
16786     The page names and sizes were obtained from the list at:
16787     
16788     http://www.gnu.org/software/gv/manual/html_node/Paper-Keywords-and-paper-size-in-points.html
16789
16790  src/cairo-ps-surface.c |   66 +++++++++++++++++++++++++++++++++++++++++++++---
16791  1 file changed, 62 insertions(+), 4 deletions(-)
16792
16793 commit db5e3db0a9b218bebad6921a95d5244047050348
16794 Author: Adrian Johnson <ajohnson@redneon.com>
16795 Date:   Fri Sep 25 23:07:56 2009 +0930
16796
16797     PS: Add DocumentMedia/PageMedia DSC comments
16798     
16799     Provide default DocumentMedia and PageMedia DSC comments if the user
16800     does not specify them using cairo_ps_surface_dsc_comment(). This is
16801     required so that PostScript viewers such as gv use the correct page
16802     size.
16803
16804  src/cairo-ps-surface-private.h |    1 +
16805  src/cairo-ps-surface.c         |   88 ++++++++++++++++++++++++++++++++++++++++
16806  2 files changed, 89 insertions(+)
16807
16808 commit caa9eed4646e78a62ffb49d9c4f48c0b351c7a7f
16809 Author: Benjamin Otte <otte@gnome.org>
16810 Date:   Thu Sep 24 23:42:05 2009 +0200
16811
16812     [xlib] Handle case in draw_image() where pixman format is not RGB
16813     
16814     When an image cannot be expressed as masks, its data cannot be used in
16815     an XImage. In that case, we use pixman to copy the image to the desired
16816     format.
16817
16818  src/cairo-xlib-surface.c |   50 ++++++++++++++++++++++++++++++++++++++++------
16819  1 file changed, 44 insertions(+), 6 deletions(-)
16820
16821 commit 9f5fe6711566ee34afe210f271f1c5a061efa745
16822 Author: Benjamin Otte <otte@gnome.org>
16823 Date:   Thu Sep 24 22:57:39 2009 +0200
16824
16825     [image] Return cairo_bool_t from _pixman_format_to_masks
16826     
16827     Return FALSE when the pixman format does not support ARGB masks. In
16828     particular, return FALSE for YUV formats.
16829
16830  src/cairo-image-surface.c |   21 ++++++++++-----------
16831  src/cairoint.h            |    2 +-
16832  2 files changed, 11 insertions(+), 12 deletions(-)
16833
16834 commit 120247ac55d92d9c9b24fad45c765d16e692f355
16835 Author: Adrian Johnson <ajohnson@redneon.com>
16836 Date:   Thu Sep 24 23:02:38 2009 +0930
16837
16838     Add EPS test
16839     
16840     This test demonstrates a regression in the EPS output since 1.8.8.
16841     The ps-eps.ref.eps was created with 1.8.8.
16842
16843  test/Makefile.am      |    2 ++
16844  test/Makefile.sources |    1 +
16845  test/ps-eps.c         |   85 +++++++++++++++++++++++++++++++++++++++++++++++++
16846  test/ps-eps.ref.eps   |   84 ++++++++++++++++++++++++++++++++++++++++++++++++
16847  4 files changed, 172 insertions(+)
16848
16849 commit c8a4f486712eba4ad0ccbf5ae3b18920137d5b1b
16850 Author: Chris Wilson <chris@chris-wilson.co.uk>
16851 Date:   Wed Sep 23 18:08:34 2009 +0100
16852
16853     [image] Do not trust user supplied data to be clear
16854     
16855     Gah, more important than the whitespace was the reversal of is_clear...
16856
16857  src/cairo-image-surface.c |    2 +-
16858  1 file changed, 1 insertion(+), 1 deletion(-)
16859
16860 commit 03bce099eae68643979e5742b2703b2b2e835cca
16861 Author: Chris Wilson <chris@chris-wilson.co.uk>
16862 Date:   Wed Sep 23 17:56:00 2009 +0100
16863
16864     [image] Tweak coding style
16865     
16866     Whitespace spam.
16867
16868  src/cairo-image-surface.c |    9 +++++----
16869  1 file changed, 5 insertions(+), 4 deletions(-)
16870
16871 commit ab558fa843accc440686f7b8eda197277a6a4eb2
16872 Author: Benjamin Otte <otte@gnome.org>
16873 Date:   Wed Sep 23 17:40:17 2009 +0200
16874
16875     [image] Move setting of is_clear to _create_with_pixman_format()
16876     
16877     Simplifies code and ensures other users of that function don't run into
16878     the same bug.
16879
16880  src/cairo-image-surface.c |   18 ++++++------------
16881  1 file changed, 6 insertions(+), 12 deletions(-)
16882
16883 commit 07ee9cfbf07deba228e73d26b419a4e130de24e3
16884 Author: Chris Wilson <chris@chris-wilson.co.uk>
16885 Date:   Wed Sep 23 15:33:23 2009 +0100
16886
16887     [image] Do assumption initial user data is cleared.
16888     
16889     Benjamin Otte pointed out the error of my ways that a clear on a
16890     cairo_image_surface_create_for_data() was not working. This is because I
16891     modified the image surface to skip clears when it knows the target data
16892     has been cleared. This flag must be reset when the user interacts with
16893     the surface, such as providing the initial surface data.
16894
16895  src/cairo-image-surface.c |   26 ++++++++++++++++++++++----
16896  1 file changed, 22 insertions(+), 4 deletions(-)
16897
16898 commit 9948b5180aa4312b3184d9ba46e9ad6f0d8e700c
16899 Author: Chris Wilson <chris@chris-wilson.co.uk>
16900 Date:   Tue Sep 22 18:20:03 2009 +0100
16901
16902     [test] Revamp surface-source
16903     
16904     Include a translucent region in the source that exercises the xlib bug
16905     that I'm trying to fix. Hmm.
16906
16907  test/Makefile.am                            |   18 ++++++++-----
16908  test/glitz-surface-source.argb32.ref.png    |  Bin 0 -> 377 bytes
16909  test/glitz-surface-source.ref.png           |  Bin 268 -> 0 bytes
16910  test/glitz-surface-source.rgb24.ref.png     |  Bin 0 -> 301 bytes
16911  test/image-surface-source.argb32.ref.png    |  Bin 0 -> 377 bytes
16912  test/image-surface-source.ref.png           |  Bin 332 -> 0 bytes
16913  test/image-surface-source.rgb24.ref.png     |  Bin 0 -> 301 bytes
16914  test/pdf-surface-source.argb32.ref.png      |  Bin 0 -> 377 bytes
16915  test/pdf-surface-source.ref.png             |  Bin 268 -> 0 bytes
16916  test/pdf-surface-source.rgb24.ref.png       |  Bin 0 -> 301 bytes
16917  test/ps-surface-source.argb32.ref.png       |  Bin 0 -> 377 bytes
16918  test/ps-surface-source.ref.png              |  Bin 268 -> 0 bytes
16919  test/ps-surface-source.rgb24.ref.png        |  Bin 0 -> 301 bytes
16920  test/quartz-surface-source.argb32.ref.png   |  Bin 0 -> 377 bytes
16921  test/quartz-surface-source.ref.png          |  Bin 332 -> 0 bytes
16922  test/quartz-surface-source.rgb24.ref.png    |  Bin 0 -> 301 bytes
16923  test/surface-source.c                       |   37 +++++++++++++++++++++++++--
16924  test/svg-surface-source.argb32.ref.png      |  Bin 0 -> 377 bytes
16925  test/svg-surface-source.ref.png             |  Bin 268 -> 0 bytes
16926  test/svg-surface-source.rgb24.ref.png       |  Bin 0 -> 301 bytes
16927  test/test-fallback16-surface-source.ref.png |  Bin 268 -> 0 bytes
16928  test/xlib-surface-source.argb32.ref.png     |  Bin 0 -> 377 bytes
16929  test/xlib-surface-source.ref.png            |  Bin 268 -> 0 bytes
16930  test/xlib-surface-source.rgb24.ref.png      |  Bin 0 -> 301 bytes
16931  24 files changed, 47 insertions(+), 8 deletions(-)
16932
16933 commit 941d3693fac831c4ce8c61cbac7c77b566b97611
16934 Author: Chris Wilson <chris@chris-wilson.co.uk>
16935 Date:   Tue Sep 22 14:43:45 2009 +0100
16936
16937     [test] Exercise push-group-color.
16938     
16939     Hunting for a known bug in the xlib backend where it invalidly converts
16940     an argb32 source to rgb24. However, this does not appear to be that bug,
16941     but still a useful exercise nevertheless.
16942
16943  test/Makefile.am                   |    2 +
16944  test/Makefile.sources              |    1 +
16945  test/push-group-color.c            |  141 ++++++++++++++++++++++++++++++++++++
16946  test/push-group-color.ref.png      |  Bin 0 -> 2902 bytes
16947  test/push-group-color.xlib.ref.png |  Bin 0 -> 2964 bytes
16948  5 files changed, 144 insertions(+)
16949
16950 commit 30f45ce5f7d639dd5a0b60f544b3535e3bc2105d
16951 Author: Chris Wilson <chris@chris-wilson.co.uk>
16952 Date:   Tue Sep 22 15:15:47 2009 +0100
16953
16954     [gl] Handle an absent visual.
16955     
16956     If we cannot find the correct visual for the fbconfig, return an error
16957     instead of crashing. The difference is subtle, granted.
16958
16959  src/cairo-gl-surface.c  |    8 ++++++++
16960  src/cairo-glx-context.c |    7 ++++---
16961  2 files changed, 12 insertions(+), 3 deletions(-)
16962
16963 commit e74cb7fa3eb9a9bcdeb298d969b70fd99ba50f3d
16964 Author: Adrian Johnson <ajohnson@redneon.com>
16965 Date:   Tue Sep 22 22:44:34 2009 +0930
16966
16967     win32-printing: correct the use of the CAIRO_HAS_WIN32_FONT #ifdef
16968     
16969     it was wrapping code required for non windows fonts.
16970
16971  src/cairo-win32-printing-surface.c |    2 +-
16972  1 file changed, 1 insertion(+), 1 deletion(-)
16973
16974 commit 3dd2cc8f6d84253f93affecd3022c9fe4a25d60f
16975 Author: Adrian Johnson <ajohnson@redneon.com>
16976 Date:   Tue Sep 22 22:40:53 2009 +0930
16977
16978     win32-printing: fix meta surface pattern regression caused by bed2701e
16979
16980  src/cairo-win32-printing-surface.c |    2 ++
16981  1 file changed, 2 insertions(+)
16982
16983 commit 7658635c654b694b516e5dd44a43611d94e91abd
16984 Author: Adrian Johnson <ajohnson@redneon.com>
16985 Date:   Tue Sep 22 22:36:20 2009 +0930
16986
16987     win32-printing: Allow GDI CTM with scale < 1 to be set
16988     
16989     To better support creating EMF files with the win32-printing surface,
16990     allow a GDI CTM with scale < 1 to be used.
16991     
16992     http://lists.cairographics.org/archives/cairo/2009-September/018110.html
16993
16994  src/cairo-win32-printing-surface.c |   90 ++++++++++++++++++++++++++++--------
16995  src/cairo-win32-private.h          |    2 +
16996  2 files changed, 73 insertions(+), 19 deletions(-)
16997
16998 commit 19c091670302fd23a676e680308df49a4ba06687
16999 Author: Adrian Johnson <ajohnson@redneon.com>
17000 Date:   Tue Sep 22 22:35:33 2009 +0930
17001
17002     Make win32 fonts work in EMF files created by win32-printing
17003
17004  src/cairo-win32-printing-surface.c |   37 ++++++++++++++++++++++++++++++++++++
17005  1 file changed, 37 insertions(+)
17006
17007 commit f01a54266d57763635f984982bec001a393d8aa2
17008 Author: Adrian Johnson <ajohnson@redneon.com>
17009 Date:   Tue Sep 22 22:34:56 2009 +0930
17010
17011     Fix compiler warnings in win32-surface
17012
17013  src/cairo-win32-surface.c |   12 +++++++++---
17014  1 file changed, 9 insertions(+), 3 deletions(-)
17015
17016 commit 23663e2078e34659af43bd0e62bb1fb7a94cc71e
17017 Author: Adrian Johnson <ajohnson@redneon.com>
17018 Date:   Tue Sep 22 22:34:21 2009 +0930
17019
17020     Fix compiler error on cygwin
17021
17022  src/cairo-win32-surface.c |    1 +
17023  1 file changed, 1 insertion(+)
17024
17025 commit 7ecd413fab7c55918c6f3c4c272b5e8b5aa89aa7
17026 Author: Adrian Johnson <ajohnson@redneon.com>
17027 Date:   Tue Sep 22 22:33:14 2009 +0930
17028
17029     Add WINVER defines to cairo-mutex-impl-privaye.h
17030     
17031     The WINVER defines should always be defined before including windows.h
17032
17033  src/cairo-mutex-impl-private.h |    9 +++++++++
17034  1 file changed, 9 insertions(+)
17035
17036 commit 605ec22ab5103e16052591517f86fe558133fb8e
17037 Author: Adrian Johnson <ajohnson@redneon.com>
17038 Date:   Tue Sep 22 22:17:27 2009 +0930
17039
17040     Use _WIN32 to check for win32 mutex
17041     
17042     Commit 535bcaa1 moved pthread after win32 to fix mingw build
17043     problems. However this breaks cygwin builds.
17044     
17045     On cygwin HAVE_WINDOWS_H is defined but _WIN32 is not. This was
17046     causing windows.h to be included which defines _WIN32. As a result the
17047     win32 code in cairo-misc.c was being compiled but the win32 declaration
17048     in cairint.h was not included.
17049     
17050     Fix this by using _WIN32 to enable the win32 mutex functions since
17051     _WIN32 is defined by mingw, visual C++, and winegcc, but not
17052     cygwin. On cygwin, posix functions are preferred as it is a unix
17053     emulation environment.
17054
17055  src/cairo-mutex-impl-private.h |    2 +-
17056  1 file changed, 1 insertion(+), 1 deletion(-)
17057
17058 commit e00d0627494a4b15ed3b74a704695ca8b81a350e
17059 Author: Chris Wilson <chris@chris-wilson.co.uk>
17060 Date:   Mon Sep 21 13:50:00 2009 +0100
17061
17062     [xlib] Fix recent bug in unbounded trapezoids
17063     
17064     Gah! I had believed that the dst extents and the clip were correct to
17065     enable unbounded fixup for the unbounded trapezoids. I was wrong, so I
17066     need to requery the trapezoid extents. As this information is already
17067     known, I should update the interface to pass along all relevant
17068     information.
17069
17070  src/cairo-surface.c      |   23 ++++++++++-------------
17071  src/cairo-xlib-surface.c |   32 +++++++++++++++++++-------------
17072  2 files changed, 29 insertions(+), 26 deletions(-)
17073
17074 commit 378b1e73d9f27e9b54ea01b10e588b361848d0cd
17075 Author: Chris Wilson <chris@chris-wilson.co.uk>
17076 Date:   Mon Sep 21 03:10:53 2009 +0100
17077
17078     [fallback] Special case single composite rectangle
17079     
17080     Avoid the overhead of region-from-traps extraction for the very frequent
17081     case of using a single (possibly clipped) rectangle with a pattern source.
17082
17083  src/cairo-surface-fallback.c |   42 ++++++++++++++++++++++++++++++++++++++++++
17084  1 file changed, 42 insertions(+)
17085
17086 commit 35daf95db8aa4f0c254891f180aa4996dd464a60
17087 Author: Chris Wilson <chris@chris-wilson.co.uk>
17088 Date:   Mon Sep 21 03:31:22 2009 +0100
17089
17090     [xlib] Trim a few redundant steps when uploading glyphs
17091     
17092     Cleanup the glyph coercion routines to avoid the temporary cairo_t (as
17093     we can just cairo_surface_paint() directly).
17094
17095  src/cairo-xlib-surface.c |   23 ++++++-----------------
17096  1 file changed, 6 insertions(+), 17 deletions(-)
17097
17098 commit 9b7c5d95055c4ea5da46c53263050d6ec1331c08
17099 Author: Chris Wilson <chris@chris-wilson.co.uk>
17100 Date:   Sun Sep 20 18:46:19 2009 +0100
17101
17102     [xlib] Cleanse creation of similar surfaces.
17103     
17104     Reduce two nearly identical routines to one.
17105
17106  src/cairo-xlib-surface.c |  197 +++++++++++++++++++++-------------------------
17107  1 file changed, 91 insertions(+), 106 deletions(-)
17108
17109 commit 878cef62b525e9f13ab2a8ab562ba8b6628aaa1f
17110 Author: Chris Wilson <chris@chris-wilson.co.uk>
17111 Date:   Sun Sep 20 18:45:09 2009 +0100
17112
17113     [xlib] Interim CAIRO_DEBUG variable to specify xrender level
17114     
17115     Use CAIRO_DEBUG=xrender-version=x.y to override what the server reports.
17116     Useful to test cairo's behaviour against older servers.
17117
17118  src/cairo-xlib-display.c |   23 +++++++++++++++++++----
17119  1 file changed, 19 insertions(+), 4 deletions(-)
17120
17121 commit 531e8045980c966b8e51df933721f9b86c6b1539
17122 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
17123 Date:   Fri Sep 18 12:17:46 2009 -0400
17124
17125     Add a description of how we compute the spline_error_squared.
17126
17127  src/cairo-spline.c |   17 +++++++++++------
17128  1 file changed, 11 insertions(+), 6 deletions(-)
17129
17130 commit f4336352405ee7c184d45a73cdd6c1a0526843db
17131 Author: Behdad Esfahbod <behdad@behdad.org>
17132 Date:   Wed Sep 16 15:46:14 2009 -0400
17133
17134     Set LC_ALL=C instead of LANG=C
17135
17136  doc/public/check-doc-coverage.sh |    4 +++-
17137  doc/public/check-doc-syntax.sh   |    3 ++-
17138  src/check-def.sh                 |    3 ++-
17139  src/check-doc-syntax.sh          |    3 ++-
17140  src/check-headers.sh             |    3 ++-
17141  src/check-plt.sh                 |    3 ++-
17142  src/check-preprocessor-syntax.sh |    3 ++-
17143  7 files changed, 15 insertions(+), 7 deletions(-)
17144
17145 commit 56c9b2de7a2b93b2e0c59cf98326d8c0d4d508ba
17146 Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
17147 Date:   Tue Sep 15 17:26:59 2009 +0200
17148
17149     Use __uint128_t and __int128_t if available
17150     
17151     GCC uses a peculiar name for a real 128-bit integer on x86-64.
17152     
17153     Speedups, xlib on a gm45
17154     ========================
17155     poppler        41246.56 -> 35102.82: 1.18x speedup
17156     swfdec-youtube 12623.01 -> 11936.79: 1.06x speedup
17157     
17158     Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
17159
17160  build/configure.ac.system        |    2 +-
17161  src/cairo-wideint-private.h      |    1 +
17162  src/cairo-wideint-type-private.h |    6 +++
17163  src/cairo-wideint.c              |   91 ++++++++++++++++++--------------------
17164  4 files changed, 50 insertions(+), 50 deletions(-)
17165
17166 commit ccf84a8883ebb8d2ee8f55eb53da4dfc96887de0
17167 Author: Chris Wilson <chris@chris-wilson.co.uk>
17168 Date:   Tue Sep 15 14:22:57 2009 +0100
17169
17170     [perf] Reorganise cairo-perf
17171     
17172     In preparation to creating a new hub to control performance measuring
17173     and reporting, move the current cairo-perf out of the way.
17174
17175  perf/.gitignore                    |    3 +
17176  perf/Makefile.am                   |   84 +-
17177  perf/box-outline.c                 |  102 -
17178  perf/cairo-perf-cover.c            |  339 ---
17179  perf/cairo-perf-diff               |    2 +-
17180  perf/cairo-perf-micro.c            |  596 +++++
17181  perf/cairo-perf.c                  |  596 -----
17182  perf/composite-checker.c           |  114 -
17183  perf/dragon.c                      |  249 --
17184  perf/fill.c                        |  119 -
17185  perf/glyphs.c                      |   99 -
17186  perf/intersections.c               |  157 --
17187  perf/long-dashed-lines.c           |   71 -
17188  perf/long-lines.c                  |  145 --
17189  perf/mask.c                        |  299 ---
17190  perf/micro/box-outline.c           |  102 +
17191  perf/micro/cairo-perf-cover.c      |  339 +++
17192  perf/micro/composite-checker.c     |  114 +
17193  perf/micro/dragon.c                |  249 ++
17194  perf/micro/fill.c                  |  119 +
17195  perf/micro/glyphs.c                |   99 +
17196  perf/micro/intersections.c         |  157 ++
17197  perf/micro/long-dashed-lines.c     |   71 +
17198  perf/micro/long-lines.c            |  145 ++
17199  perf/micro/mask.c                  |  299 +++
17200  perf/micro/mosaic.c                |  173 ++
17201  perf/micro/mosaic.h                | 4387 ++++++++++++++++++++++++++++++++++++
17202  perf/micro/paint-with-alpha.c      |   49 +
17203  perf/micro/paint.c                 |   48 +
17204  perf/micro/pattern_create_radial.c |  103 +
17205  perf/micro/pythagoras-tree.c       |   91 +
17206  perf/micro/rectangles.c            |  118 +
17207  perf/micro/rounded-rectangles.c    |  141 ++
17208  perf/micro/spiral.c                |  349 +++
17209  perf/micro/stroke.c                |   97 +
17210  perf/micro/subimage_copy.c         |   77 +
17211  perf/micro/tessellate.c            |  178 ++
17212  perf/micro/text.c                  |   66 +
17213  perf/micro/twin.c                  |   56 +
17214  perf/micro/unaligned-clip.c        |   70 +
17215  perf/micro/world-map.c             |  116 +
17216  perf/micro/world-map.h             |  196 ++
17217  perf/micro/zrusin-another.h        |  668 ++++++
17218  perf/micro/zrusin.c                |   95 +
17219  perf/mosaic.c                      |  173 --
17220  perf/mosaic.h                      | 4387 ------------------------------------
17221  perf/paint-with-alpha.c            |   49 -
17222  perf/paint.c                       |   48 -
17223  perf/pattern_create_radial.c       |  103 -
17224  perf/pythagoras-tree.c             |   91 -
17225  perf/rectangles.c                  |  118 -
17226  perf/rounded-rectangles.c          |  141 --
17227  perf/spiral.c                      |  349 ---
17228  perf/stroke.c                      |   97 -
17229  perf/subimage_copy.c               |   77 -
17230  perf/tessellate.c                  |  178 --
17231  perf/text.c                        |   66 -
17232  perf/twin.c                        |   56 -
17233  perf/unaligned-clip.c              |   70 -
17234  perf/world-map.c                   |  116 -
17235  perf/world-map.h                   |  196 --
17236  perf/zrusin-another.h              |  668 ------
17237  perf/zrusin.c                      |   95 -
17238  63 files changed, 9414 insertions(+), 9411 deletions(-)
17239
17240 commit 4152cd90e25ffa9d2a3683c790bd2891a58c52de
17241 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17242 Date:   Mon Sep 14 14:29:01 2009 +0300
17243
17244     [autoconf] Comment on the SIZEOF_VOID__ -> SIZEOF_VOID_P workaround.
17245     
17246     Explain where the weird SIZEOF_VOID__ comes from.
17247
17248  src/cairo-atomic-private.h |    2 ++
17249  util/cairo-trace/trace.c   |    2 ++
17250  2 files changed, 4 insertions(+)
17251
17252 commit cd94bf8bf30de9aa8dfec1a06a7ef3386944c974
17253 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17254 Date:   Mon Sep 14 03:41:42 2009 -0600
17255
17256     [trace] Look harder for the cairo-trace.so library.
17257     
17258     On OpenBSD the convention is to not use symlinks from
17259     unversioned library names to versioned library names.
17260     This breaks cairo-trace because it looks for cairo-trace.so
17261     explicitly, but on OpenBSD only cairo-trace.so.0.0 is
17262     installed.
17263     
17264     The right thing to do is probably to source the cairo-trace.la
17265     file and look for a file name there somehow.  Instead this commit
17266     just looks for a likely looking file or symlink in the install
17267     directory.
17268
17269  util/cairo-trace/cairo-trace.in |   17 ++++++++++++++++-
17270  1 file changed, 16 insertions(+), 1 deletion(-)
17271
17272 commit a343c8c42d3adc8f52afd09bdfbbcfd5299df49e
17273 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17274 Date:   Mon Sep 14 02:33:26 2009 -0600
17275
17276     [trace] Don't use pthread_key_delete.
17277     
17278     On OpenBSD libc doesn't provide pthread stubs like glibc on Linux
17279     or newer libcs from FreeBSD.  However libX11 does provide a stubs
17280     for a subset of the pthread functions (formerly in libXThrStub,
17281     now moved into libX11 proper), but pthread_key_delete() is not
17282     one of the stubbed ones.  So, on OpenBSD cairo's non-linking of
17283     libpthread accidentally works as long as the xlib-surface is enabled,
17284     which is nearly always the case.
17285     
17286     This patch makes trace.c stand at the same precipice as cairo itself
17287     by reverting to only a subset of the pthreads functions stubbed by
17288     libX11.
17289
17290  util/cairo-trace/trace.c |    1 -
17291  1 file changed, 1 deletion(-)
17292
17293 commit cf0fed2191c2b5ebce8855def1dd302ccf8e039a
17294 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17295 Date:   Sun Sep 13 17:35:29 2009 -0600
17296
17297     [build] Check for dlsym in both libdl and libc.
17298     
17299     The BSDs have dlsym() in libc rather than libdl.
17300
17301  boilerplate/cairo-boilerplate.c |    4 ++--
17302  configure.ac                    |   12 +++++++-----
17303  util/cairo-trace/Makefile.am    |    6 +++++-
17304  3 files changed, 14 insertions(+), 8 deletions(-)
17305
17306 commit 1c7ac6c47addd6825c4f49f514fe3ffb708e3813
17307 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17308 Date:   Sun Sep 13 17:56:56 2009 -0600
17309
17310     [build] Work around autoconf void* -> VOID__ name conversion bug.
17311     
17312     The autoconf shipping with OpenBSD 4.5 converts sizeof(void*)
17313     to SIZEOF_VOID__ rather than SIZEOF_VOID_P.  Work around that
17314     by defining SIZEOF_VOID_P if required.
17315
17316  src/cairo-atomic-private.h |    4 ++++
17317  util/cairo-trace/trace.c   |    4 ++++
17318  2 files changed, 8 insertions(+)
17319
17320 commit 12470fd7010ea0748c8dcc9014d1cd0f52f51a3b
17321 Author: Chris Wilson <chris@chris-wilson.co.uk>
17322 Date:   Mon Sep 14 10:36:08 2009 +0100
17323
17324     [configure] Setup GL CFLAGS before checking for GLX
17325
17326  configure.ac |    3 +++
17327  1 file changed, 3 insertions(+)
17328
17329 commit 9c2790ccc48392bfe039626ebb383070aa18fe56
17330 Author: Chris Wilson <chris@chris-wilson.co.uk>
17331 Date:   Mon Sep 14 10:08:57 2009 +0100
17332
17333     [build] Add a default message for when GLEW isn't built
17334     
17335     And it appears I touched the build system again and autoregenerated the
17336     feature headers.
17337
17338  boilerplate/Makefile.win32.features |    8 --------
17339  build/Makefile.win32.features-h     |    1 -
17340  configure.ac                        |    5 +++--
17341  src/Makefile.win32.features         |    8 --------
17342  util/cairo.modules                  |    1 +
17343  5 files changed, 4 insertions(+), 19 deletions(-)
17344
17345 commit 6d4f3c40eff7d070b1c9759038444928c6754efe
17346 Author: Chris Wilson <chris@chris-wilson.co.uk>
17347 Date:   Mon Sep 14 09:19:10 2009 +0100
17348
17349     Add a private copy of GLEW
17350     
17351     This appears to be the simplest mechanism to build libglew at the moment -
17352     should a system copy be unavailable.  Fortunately libglew is now distributed
17353     under a permissive licence.
17354     
17355     If you want to pass 'make -C src check' you have to use the system copy,
17356     or spend quite a bit of time cairo-fying libglew.
17357
17358  boilerplate/Makefile.win32.features |    8 +
17359  build/Makefile.win32.features-h     |    1 +
17360  build/configure.ac.features         |    1 +
17361  configure.ac                        |   19 +-
17362  src/Makefile.am                     |    2 +
17363  src/Makefile.sources                |    3 +
17364  src/Makefile.win32.features         |    8 +
17365  src/glew/GL/glew.h                  |12262 +++++++++++++++++++++++++++++++++++
17366  src/glew/GL/glxew.h                 | 1397 ++++
17367  src/glew/LICENSE.txt                |   73 +
17368  src/glew/glew.c                     |12180 ++++++++++++++++++++++++++++++++++
17369  util/cairo.modules                  |   10 +-
17370  12 files changed, 25955 insertions(+), 9 deletions(-)
17371
17372 commit 9ad26f74b0059645d865a20c387fa4bd460cabc8
17373 Author: Chris Wilson <chris@chris-wilson.co.uk>
17374 Date:   Sun Sep 13 23:16:57 2009 +0100
17375
17376     [configure] Fallback to detect OpenGL headers
17377     
17378     When not using mesa, we can not rely on a pkgconfig file, so just rely on
17379     the presence of the OpenGL headers instead.
17380
17381  configure.ac |   11 ++++++++---
17382  1 file changed, 8 insertions(+), 3 deletions(-)
17383
17384 commit 71c3b2888cc81e6d55782388d14bb8d806e77d07
17385 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17386 Date:   Sun Sep 13 20:24:29 2009 +0300
17387
17388     [win32] Sync Makefile.win32.features.
17389     
17390     Ooops.. wasn't sure if I should commit this or not.
17391
17392  build/Makefile.win32.features |    4 ++--
17393  1 file changed, 2 insertions(+), 2 deletions(-)
17394
17395 commit ba21f213560fa239a02ae28af4eb1d3a6b7254e5
17396 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17397 Date:   Sun Sep 13 18:21:38 2009 +0100
17398
17399     [trace] Don't trace internal cairo calls on Solaris.
17400     
17401     On various configurations of Solaris cairo-trace likes to trace
17402     internal calls to the API from within cairo and cairo-trace itself. On
17403     Linux the slim_hidden_proto stuff avoids this by name mangling and
17404     symbol alias magic, but on Solaris that doesn't work so we're left
17405     with either no hidden symbols at all or using normal ELF hidden symbol
17406     attributes, but neither of those prevent internal calls to cairo from
17407     being traced of course.
17408     
17409     This commit provides a per-thread entry/exit trace counter for use
17410     when we can't use name mangling to hide internal API calls.  As a
17411     side-effect it may hide actual client API calls from callback
17412     functions called by cairo, but such use cases ought to be rare.
17413
17414  util/cairo-trace/trace.c |  465 ++++++++++++++++++++++++++++++++--------------
17415  1 file changed, 327 insertions(+), 138 deletions(-)
17416
17417 commit f5bcb2f36e7dba9cfba5d697e1401dcd00603812
17418 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17419 Date:   Sun Sep 13 12:47:19 2009 +0100
17420
17421     [build] Enable building cairo-trace on Solaris.
17422     
17423     Solaris supports LD_PRELOAD too!
17424
17425  configure.ac |    2 +-
17426  1 file changed, 1 insertion(+), 1 deletion(-)
17427
17428 commit ce8c842a70d3f23527dcbd889b022103483341f2
17429 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17430 Date:   Sun Sep 13 12:53:07 2009 +0100
17431
17432     [trace] Make cairo-trace and its symbol-lookup automatically configured.
17433     
17434     The build shouldn't fail if we can't make our optional performance
17435     tools.
17436
17437  configure.ac |    4 ++--
17438  1 file changed, 2 insertions(+), 2 deletions(-)
17439
17440 commit 2fb59a69f4509c2116f16bd6d376f35e3e2eb709
17441 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17442 Date:   Sun Sep 13 14:27:03 2009 +0100
17443
17444     [trace] Don't rely on the constructor attribute to initialise the tracer.
17445     
17446     Use pthread_once() at cairo API entry points to initialise the library
17447     if required.  This side steps the issues with the __constructor__
17448     attribute vs _init()/_fini() on Solaris and different tracer/tracee
17449     runtimes which result in the constructors not being run in
17450     cairo-trace.so.
17451
17452  util/cairo-trace/trace.c |  176 +++++++++++++++++++++++++++++++++++++++++++++-
17453  1 file changed, 174 insertions(+), 2 deletions(-)
17454
17455 commit 18a441984b649f558c6478f24a7987941acadbe1
17456 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17457 Date:   Sun Sep 13 13:53:27 2009 +0100
17458
17459     [trace] Don't try and propagate a void result.
17460     
17461     The pattern
17462     
17463         return <function returning void>( ... );
17464     
17465     is a gccism not supported by Sun Studio.
17466
17467  util/cairo-trace/trace.c |  136 ++++++++++++++++++++++++----------------------
17468  1 file changed, 70 insertions(+), 66 deletions(-)
17469
17470 commit fee5c58c6caecdbdb387fe39bd6ed94faf7f6ae9
17471 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17472 Date:   Sun Sep 13 13:09:47 2009 +0100
17473
17474     [trace] Avoid warnings from assigning a void pointer to a function pointer.
17475     
17476     The Sun Studio compiler complains a *lot* when assigning the result
17477     of dlsym to a function pointer.  Cast the result to the proper
17478     type first.:w
17479
17480  util/cairo-trace/trace.c |    4 ++--
17481  1 file changed, 2 insertions(+), 2 deletions(-)
17482
17483 commit 19881012cb31ec2aebf556e2c25b53e8387dc689
17484 Author: Chris Wilson <chris@chris-wilson.co.uk>
17485 Date:   Sun Sep 13 16:36:12 2009 +0100
17486
17487     [image] Add pixel masks for BGRA formats
17488     
17489     pixman introduced the BGRA pixel type not too long ago, and so we need to
17490     update our pixman_format_code_t to cairo_format_masks_t translator.
17491
17492  src/cairo-image-surface.c |   10 +++++++++-
17493  1 file changed, 9 insertions(+), 1 deletion(-)
17494
17495 commit f8a8f297f298d81899803a1b2bbca007418408b5
17496 Author: Chris Wilson <chris@chris-wilson.co.uk>
17497 Date:   Sun Sep 13 10:58:59 2009 +0100
17498
17499     [trace] Stray trailing ';' in bswap macros
17500
17501  util/cairo-trace/trace.c |    4 ++--
17502  1 file changed, 2 insertions(+), 2 deletions(-)
17503
17504 commit f851009ec76ee2290ffbc3f55edbf3cc16aff488
17505 Author: Chris Wilson <chris@chris-wilson.co.uk>
17506 Date:   Sun Sep 13 10:57:42 2009 +0100
17507
17508     [trace] Compile without lookup-symbol
17509     
17510     And check compilation with --disable-symbol-lookup
17511
17512  util/cairo-trace/trace.c |    6 +++++-
17513  1 file changed, 5 insertions(+), 1 deletion(-)
17514
17515 commit 6cb3ff9c1943c58f5b6892af3f18f6aaa24494b6
17516 Author: Chris Wilson <chris@chris-wilson.co.uk>
17517 Date:   Sun Sep 13 10:52:14 2009 +0100
17518
17519     [configure] --enable-symbol-lookup
17520     
17521     There you go Joonas, I don't always ignore your suggestions! This is
17522     simple patch to allow the user to disable symbol loops in case the
17523     auto-detection fails on some obscure (perhaps OpenBSD) platform. Or in
17524     case the user really wants to trim a few bytes from a library only used
17525     during tracing!
17526
17527  boilerplate/Makefile.win32.features |    7 +++++++
17528  build/Makefile.win32.features       |    1 +
17529  build/Makefile.win32.features-h     |    3 +++
17530  build/configure.ac.features         |    1 +
17531  configure.ac                        |    6 ++++++
17532  src/Makefile.win32.features         |    7 +++++++
17533  util/cairo-trace/Makefile.am        |   14 +++++++++-----
17534  7 files changed, 34 insertions(+), 5 deletions(-)
17535
17536 commit 556d064f4eb3625022f0d99461929ff3fafc9c71
17537 Author: Chris Wilson <chris@chris-wilson.co.uk>
17538 Date:   Fri Sep 11 15:35:27 2009 +0100
17539
17540     [test] Typos in README from previous commit
17541
17542  test/README |    2 +-
17543  1 file changed, 1 insertion(+), 1 deletion(-)
17544
17545 commit 43ecde2d22c5a8c591ac83f9a82c2bf83af484fd
17546 Author: Chris Wilson <chris@chris-wilson.co.uk>
17547 Date:   Fri Sep 11 15:15:22 2009 +0100
17548
17549     [test] Add Debian packages for fonts
17550     
17551     Mention which .deb provides the required fonts.
17552
17553  test/README |    4 +++-
17554  1 file changed, 3 insertions(+), 1 deletion(-)
17555
17556 commit 33be73dfb76c26e3bb0ab59b2f570d00d9c7be62
17557 Author: Chris Wilson <chris@chris-wilson.co.uk>
17558 Date:   Fri Sep 11 14:59:58 2009 +0100
17559
17560     [xlib] Fix big-line.
17561     
17562     Project lines that exceed the 16.16 limits onto the XFixedLine, as we know
17563     that top/bottom must fit within the confines of the surface and so will be
17564     less than 16 bits.
17565     
17566     Sadly this is a run-on patch that also does:
17567     1. Make FillTiled the default for new GCs.
17568     2. Stores extend mode as opposed to repeat, and thereby cleaning up some
17569     inconsistent code.
17570     3. Remove the special casing for unbounded trapezoids, as it is redundant
17571     with the polygon clipping.
17572     4. Tidy the logic for deciding when to use the core protocol
17573     (_categorize_composite_operation)
17574
17575  src/cairo-xlib-screen.c          |    6 +-
17576  src/cairo-xlib-surface-private.h |    2 +-
17577  src/cairo-xlib-surface.c         |  402 +++++++++++++++-----------------------
17578  3 files changed, 164 insertions(+), 246 deletions(-)
17579
17580 commit 6960162c5eae30e2d48992023be35e3dbf502a03
17581 Author: Chris Wilson <chris@chris-wilson.co.uk>
17582 Date:   Fri Sep 11 14:56:17 2009 +0100
17583
17584     [xlib] Discard clip if larger than glyph extents
17585     
17586     Implement cheap calculation of glyph extents to see whether we can discard
17587     the clip region. This is effective around 50% of the time for firefox (and
17588     makes the xtrace so much neater).
17589
17590  src/cairo-scaled-font.c  |   36 ++++++++++++++++++++++++++++++++++++
17591  src/cairo-xlib-surface.c |   23 +++++++++++++++++++++++
17592  src/cairoint.h           |    6 ++++++
17593  3 files changed, 65 insertions(+)
17594
17595 commit 6e78409417117ad4de1aec65bb4753ff32e1e7a6
17596 Author: Chris Wilson <chris@chris-wilson.co.uk>
17597 Date:   Fri Sep 11 14:19:38 2009 +0100
17598
17599     [test] Update big-line and remove XFAIL
17600     
17601     Now that we use polygon clipping, output geometry should no longer exceed
17602     the 2^16 limits imposed by pixman. For the image backend, we now use spans
17603     for stroking and for the xlib backend we have to double check the range on
17604     the output trapezoids. In short, cairo should pass this test.
17605
17606  test/Makefile.am                    |    8 ++++----
17607  test/big-line.c                     |   16 ++++++++--------
17608  test/big-line.ps.argb32.ref.png     |  Bin 977 -> 0 bytes
17609  test/big-line.ps.rgb24.ref.png      |  Bin 709 -> 0 bytes
17610  test/big-line.quartz.ref.png        |  Bin 1075 -> 0 bytes
17611  test/big-line.quartz.rgb24.ref.png  |  Bin 941 -> 0 bytes
17612  test/big-line.ref.png               |  Bin 0 -> 977 bytes
17613  test/big-line.xlib-fallback.ref.png |  Bin 0 -> 723 bytes
17614  test/big-line.xlib.ref.png          |  Bin 0 -> 933 bytes
17615  9 files changed, 12 insertions(+), 12 deletions(-)
17616
17617 commit b495e7eb2ee2521a400d4b42e04242023bdb1e44
17618 Author: Chris Wilson <chris@chris-wilson.co.uk>
17619 Date:   Thu Sep 10 19:25:14 2009 +0100
17620
17621     [surface] Early return for (region IN white)
17622     
17623     Fill a region using IN and a white source is a frequent reduction of a
17624     complex clip (viz a path that covers the whole operation extents will be
17625     reduced to a single rectangle), and we can simply discard the fill (as it
17626     always has bounded semantics).
17627
17628  src/cairo-surface.c |    7 +++++++
17629  1 file changed, 7 insertions(+)
17630
17631 commit 94aeae9b2ec563201a0e65705504d1d70c33a619
17632 Author: Chris Wilson <chris@chris-wilson.co.uk>
17633 Date:   Thu Sep 10 19:11:36 2009 +0100
17634
17635     [clip] Simplify applying a box clip
17636     
17637     If the clip path is a simple box, then for many operations it is entirely
17638     representation by the alteration of extents and so we can skip a few steps
17639     during reconstruction.
17640
17641  src/cairo-clip-private.h |    3 +-
17642  src/cairo-clip.c         |   84 +++++++++++++++++++++++++---------------------
17643  2 files changed, 48 insertions(+), 39 deletions(-)
17644
17645 commit 496e79b63762c70fd022b2d9e2d6107bcce1807a
17646 Author: Chris Wilson <chris@chris-wilson.co.uk>
17647 Date:   Thu Sep 10 17:36:46 2009 +0100
17648
17649     [xlib] Fix extraction of GC during XCloseDisplay()
17650     
17651     Jeff Muizelaar reported a bug from his firefox builds that was causing a
17652     double free during XCloseDisplay, and suggested it was related to
17653     c0e01d9cd. Reviewing the cleanup, suggested that the cause may just be a
17654     pair of missing parenthesis.
17655
17656  src/cairo-xlib-screen.c |    2 +-
17657  1 file changed, 1 insertion(+), 1 deletion(-)
17658
17659 commit f34affaa1e0b52e255d882b84bf064f9a9d4a95d
17660 Author: Chris Wilson <chris@chris-wilson.co.uk>
17661 Date:   Wed Sep 9 18:03:20 2009 +0100
17662
17663     [util] And reuse the same name repository name.
17664     
17665     Completely confused by local caching of a broken cairo.modules by the
17666     jhbuild client. ARGH!
17667
17668  util/cairo.modules |    4 ++--
17669  1 file changed, 2 insertions(+), 2 deletions(-)
17670
17671 commit e1774185d6bb824a53465a037539b53fdc7af5d8
17672 Author: Chris Wilson <chris@chris-wilson.co.uk>
17673 Date:   Wed Sep 9 17:52:10 2009 +0100
17674
17675     [util] And back to a unique repo name for cairo.modules
17676     
17677     Gah, further experiments into the unknown and the unclear.
17678
17679  util/cairo.modules |    4 ++--
17680  1 file changed, 2 insertions(+), 2 deletions(-)
17681
17682 commit 2905ebc99e4cf8b8e94e16fcd3bc1566f51f4b57
17683 Author: Chris Wilson <chris@chris-wilson.co.uk>
17684 Date:   Wed Sep 9 17:24:43 2009 +0100
17685
17686     [util] And restore the repository tag.
17687     
17688     jbhuild requires a local definition.
17689
17690  util/cairo.modules |    2 ++
17691  1 file changed, 2 insertions(+)
17692
17693 commit 4d7eb79d25bcfdc47abcae1fd51c7573043909fd
17694 Author: Chris Wilson <chris@chris-wilson.co.uk>
17695 Date:   Wed Sep 9 17:12:14 2009 +0100
17696
17697     [util] Inherit the repository from xorg.modules
17698     
17699     Experiment with inheriting the repository from xorg.module, in order to
17700     avoid having two entries for the same server.
17701
17702  util/cairo.modules |    4 +---
17703  1 file changed, 1 insertion(+), 3 deletions(-)
17704
17705 commit f5ee785144a8ddb6056b21f6c28bc4a9f4870b32
17706 Author: Chris Wilson <chris@chris-wilson.co.uk>
17707 Date:   Wed Sep 9 13:59:50 2009 +0100
17708
17709     [test] Disable the antialias testing for the vector surfaces.
17710     
17711     Only the raster bckends obey the font anti-alias options.
17712
17713  test/large-twin-antialias-mixed.c |    2 +-
17714  test/twin-antialias-gray.c        |    2 +-
17715  test/twin-antialias-mixed.c       |    2 +-
17716  test/twin-antialias-none.c        |    2 +-
17717  test/twin-antialias-subpixel.c    |    2 +-
17718  5 files changed, 5 insertions(+), 5 deletions(-)
17719
17720 commit abaef9bfbe11302beb6481547632b44be9d5be8d
17721 Author: Chris Wilson <chris@chris-wilson.co.uk>
17722 Date:   Wed Sep 9 13:57:06 2009 +0100
17723
17724     [test] Compare a failure against the image output
17725     
17726     If a backend fails in exactly the same way as the image, then we can
17727     safely assume that the failure is systematic and not an error in the
17728     backend, so change the result to XFAIL.
17729
17730  test/cairo-test.c |   46 ++++++++++++++++++++++++++++++++++++++++++++++
17731  1 file changed, 46 insertions(+)
17732
17733 commit 41fbea053a8feb201a4f11aaf4dff86fea0bcb01
17734 Author: Chris Wilson <chris@chris-wilson.co.uk>
17735 Date:   Wed Sep 9 12:19:51 2009 +0100
17736
17737     [test] Typo in ft-show-glyphs-positioning
17738     
17739     Note to self: remember to sleep more often.
17740
17741  test/ft-show-glyphs-positioning.c |    2 +-
17742  1 file changed, 1 insertion(+), 1 deletion(-)
17743
17744 commit c61480a319bad55b0b4cf3f2be609bde9f2c5948
17745 Author: Chris Wilson <chris@chris-wilson.co.uk>
17746 Date:   Wed Sep 9 11:08:17 2009 +0100
17747
17748     [test] An oversized twin test case.
17749     
17750     A larger variant of the twin mixed antialiasing test.
17751
17752  test/Makefile.am                             |    2 +
17753  test/Makefile.sources                        |    1 +
17754  test/large-twin-antialias-mixed.c            |   97 ++++++++++++++++++++++++++
17755  test/large-twin-antialias-mixed.ref.png      |  Bin 0 -> 16668 bytes
17756  test/large-twin-antialias-mixed.xlib.ref.png |  Bin 0 -> 14655 bytes
17757  5 files changed, 100 insertions(+)
17758
17759 commit 610b311a970877f3954ba829cf43caecce0ab72c
17760 Author: Chris Wilson <chris@chris-wilson.co.uk>
17761 Date:   Wed Sep 9 09:48:24 2009 +0100
17762
17763     [test] Variation of twin that intermixes antialiasing
17764     
17765     Check that we are substituting the right glyph depth and changing masks
17766     appropriately.
17767
17768  test/Makefile.am                       |    2 +
17769  test/Makefile.sources                  |    1 +
17770  test/twin-antialias-mixed.c            |   97 ++++++++++++++++++++++++++++++++
17771  test/twin-antialias-mixed.ref.png      |  Bin 0 -> 2338 bytes
17772  test/twin-antialias-mixed.xlib.ref.png |  Bin 0 -> 1760 bytes
17773  5 files changed, 100 insertions(+)
17774
17775 commit c218ff8cbec2cc7aa3efc4c7f7d8690fbdec5e9a
17776 Author: Chris Wilson <chris@chris-wilson.co.uk>
17777 Date:   Wed Sep 9 09:52:18 2009 +0100
17778
17779     [test] SUBPIXEL_ANTIALIAS varation of twin
17780     
17781     Force argb32 glyphs.
17782
17783  test/Makefile.am                          |    2 +
17784  test/Makefile.sources                     |    1 +
17785  test/twin-antialias-subpixel.c            |   71 +++++++++++++++++++++++++++++
17786  test/twin-antialias-subpixel.ref.png      |  Bin 0 -> 3979 bytes
17787  test/twin-antialias-subpixel.xlib.ref.png |  Bin 0 -> 3863 bytes
17788  5 files changed, 74 insertions(+)
17789
17790 commit 456484514f4dacfe95952e8c0b73eb6a9a1a9d27
17791 Author: Chris Wilson <chris@chris-wilson.co.uk>
17792 Date:   Wed Sep 9 09:38:18 2009 +0100
17793
17794     [test] Variation of twin with ANTIALIAS_GRAY
17795     
17796     Force generation of a8 glyphs.
17797
17798  test/Makefile.am                      |    2 +
17799  test/Makefile.sources                 |    1 +
17800  test/twin-antialias-gray.c            |   71 +++++++++++++++++++++++++++++++++
17801  test/twin-antialias-gray.ref.png      |  Bin 0 -> 3979 bytes
17802  test/twin-antialias-gray.xlib.ref.png |  Bin 0 -> 3863 bytes
17803  5 files changed, 74 insertions(+)
17804
17805 commit 8555984b8e72ab5846783ed54afa1a857d70f241
17806 Author: Chris Wilson <chris@chris-wilson.co.uk>
17807 Date:   Wed Sep 9 09:29:42 2009 +0100
17808
17809     [test] Add ANTIALIAS_NONE variation of twin
17810     
17811     I'm off hunting bugs. By using twin with ANTIALIAS_NONE we can construct
17812     a1 glyph images independently of the native font system.
17813
17814  test/Makefile.am                      |    2 +
17815  test/Makefile.sources                 |    1 +
17816  test/twin-antialias-none.c            |   71 +++++++++++++++++++++++++++++++++
17817  test/twin-antialias-none.ref.png      |  Bin 0 -> 718 bytes
17818  test/twin-antialias-none.xlib.ref.png |  Bin 0 -> 745 bytes
17819  5 files changed, 74 insertions(+)
17820
17821 commit 1820cb7fd648283a5b477fbc6bd654200ed190e6
17822 Author: Chris Wilson <chris@chris-wilson.co.uk>
17823 Date:   Wed Sep 9 09:12:54 2009 +0100
17824
17825     [test] Check for errors during ft-show-glyphs-positioning
17826     
17827     Do not blindly assume that we managed to construct a valid scaled-font
17828     before attempting to dereference the FT_Face. Consider a machine with
17829     no fonts which is substituting twin...
17830
17831  test/ft-show-glyphs-positioning.c |   46 +++++++++++++++++++++++++++++++------
17832  1 file changed, 39 insertions(+), 7 deletions(-)
17833
17834 commit 7fb0d5e2091a09ef7b01574f4ecf87236ef43fec
17835 Author: Chris Wilson <chris@chris-wilson.co.uk>
17836 Date:   Wed Sep 9 01:45:16 2009 +0100
17837
17838     [twin] Initialise all properties
17839     
17840     Left a couple of uninitialised properties along the non-toy font
17841     construction path.
17842
17843  src/cairo-font-face-twin.c |    2 ++
17844  1 file changed, 2 insertions(+)
17845
17846 commit 34778a883af806f77d0c89c85cebb315b43d7ef2
17847 Author: Chris Wilson <chris@chris-wilson.co.uk>
17848 Date:   Wed Sep 9 01:16:08 2009 +0100
17849
17850     [configure] Typo in test
17851     
17852     The have_dl clause was meant to have been removed from the requirements
17853     test for cairo-script-interpreter. Instead we left the test broken.
17854
17855  configure.ac |    2 +-
17856  1 file changed, 1 insertion(+), 1 deletion(-)
17857
17858 commit 4b221bd49a0c2c980a63779d905e8eb9b9cfa690
17859 Author: Chris Wilson <chris@chris-wilson.co.uk>
17860 Date:   Tue Sep 8 19:02:04 2009 +0100
17861
17862     [spans] Correct offsets for trapezoids
17863     
17864     Pass on the destination offset from composite_trapezoids() to
17865     composite_polygon().
17866
17867  src/cairo-spans.c |    4 ++--
17868  1 file changed, 2 insertions(+), 2 deletions(-)
17869
17870 commit 9389cb78a8ea5b6579d091ab1030ab9f1b13efc2
17871 Author: Chris Wilson <chris@chris-wilson.co.uk>
17872 Date:   Tue Sep 8 17:51:33 2009 +0100
17873
17874     [build] Improve handling of missing test apparatus
17875     
17876     Improve detection, reporting and disabling of test backends when we lack
17877     the required libraries and utilities.
17878
17879  boilerplate/Makefile.win32.features |    7 +++++++
17880  boilerplate/cairo-boilerplate-pdf.c |    2 ++
17881  boilerplate/cairo-boilerplate-ps.c  |    2 ++
17882  boilerplate/cairo-boilerplate-svg.c |    2 ++
17883  build/Makefile.win32.features       |    1 +
17884  build/Makefile.win32.features-h     |    3 +++
17885  build/configure.ac.features         |    3 ++-
17886  configure.ac                        |   20 +++++++++++++-------
17887  perf/cairo-perf-compare-backends.c  |    2 +-
17888  src/Makefile.win32.features         |    7 +++++++
17889  test/Makefile.am                    |    2 ++
17890  test/any2ppm.c                      |    8 ++++++++
17891  util/Makefile.am                    |    4 ++--
17892  13 files changed, 52 insertions(+), 11 deletions(-)
17893
17894 commit 45759e5a0fb20a632f66a8dd206833b55a95f840
17895 Author: Chris Wilson <chris@chris-wilson.co.uk>
17896 Date:   Tue Sep 8 09:19:53 2009 +0100
17897
17898     [gl] Supply extents for acquire source image
17899     
17900     I have no idea how we survived for so long without supplying the source
17901     extents...
17902
17903  src/cairo-gl-surface.c |    6 +++++-
17904  1 file changed, 5 insertions(+), 1 deletion(-)
17905
17906 commit 67d40e5c7300c4082484dbda5c81808737bb2ac5
17907 Author: Chris Wilson <chris@chris-wilson.co.uk>
17908 Date:   Sun Sep 6 10:17:40 2009 +0100
17909
17910     [xlib] Protect ourselves from liars that claim to have a 64k window
17911     
17912     Found using webkit, who attempt to paint an width X page height window.
17913     Please, please clip large windows to the visible area. Thanks.
17914
17915  src/cairo-xlib-surface.c |   27 +++++++++++++++++++++++++--
17916  1 file changed, 25 insertions(+), 2 deletions(-)
17917
17918 commit 310cebf194919cf3a7c37e724e64962ae47343cc
17919 Author: Chris Wilson <chris@chris-wilson.co.uk>
17920 Date:   Sat Sep 5 15:21:50 2009 +0100
17921
17922     [configure] Add option to disable trace.
17923     
17924     Some environments may be broken beyond our capabilities to detect, or
17925     maybe the user is just insane and doesn't want to build my nice shiny
17926     cairo-trace. Whatever, give them the option to choose:
17927     
17928       $ ./configure --disable-trace
17929
17930  boilerplate/Makefile.win32.features |    7 +++++++
17931  build/Makefile.win32.features       |    1 +
17932  build/Makefile.win32.features-h     |    3 +++
17933  build/configure.ac.features         |    3 +++
17934  configure.ac                        |    8 +++++---
17935  src/Makefile.win32.features         |    7 +++++++
17936  util/Makefile.am                    |    2 +-
17937  7 files changed, 27 insertions(+), 4 deletions(-)
17938
17939 commit 9b932d7cd750b9bc61d108c80c4530352d952cfa
17940 Author: Chris Wilson <chris@chris-wilson.co.uk>
17941 Date:   Sat Sep 5 08:46:39 2009 +0100
17942
17943     [perf] Move the calibration to its own function
17944     
17945     Improve code clarity and whatnot.
17946
17947  perf/cairo-perf.c |   71 +++++++++++++++++++++++++++++++----------------------
17948  1 file changed, 41 insertions(+), 30 deletions(-)
17949
17950 commit 270b2f1be0e600621647f2e2486618c134217941
17951 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17952 Date:   Sat Sep 5 05:39:35 2009 +0300
17953
17954     [perf] Add a fast-and-sloppy mode to cairo-perf.
17955     
17956     A new -f option to cairo-perf reverts to a fast run
17957     mode for quick performance overviews. The number of
17958     milliseconds each iteration of a test is run for can
17959     be overriden using the new CAIRO_PERF_ITERATION_MS
17960     environment variable. The default remains 2000 ms/iter.
17961
17962  perf/cairo-perf.c |   59 +++++++++++++++++++++++++++++++++++------------------
17963  perf/cairo-perf.h |    3 +++
17964  2 files changed, 42 insertions(+), 20 deletions(-)
17965
17966 commit 7f91c4953ccfbb96d76ecd73715fa2e524be933e
17967 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17968 Date:   Sat Sep 5 05:07:25 2009 +0300
17969
17970     [boilerplate] Support wildcard ? in CAIRO_TEST_TARGET{,_EXCLUDE}.
17971     
17972     Useful for running tests only for a given content type.
17973
17974  boilerplate/cairo-boilerplate.c |   10 ++++++----
17975  1 file changed, 6 insertions(+), 4 deletions(-)
17976
17977 commit b3bafbc5f9201662702cc0c0d1c96411e31bb7d3
17978 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17979 Date:   Sat Sep 5 05:02:00 2009 +0300
17980
17981     [boilerplate] Support giving content in CAIRO_TEST_TARGET{,_EXCLUDE}.
17982     
17983     Sometimes it's convenient to run the regression or performance tests
17984     against a given target with a given content.  Now we accept an optional
17985     content specifier as a suffix .<content> on a target name, where
17986     <content> is rgb or rgba.
17987
17988  boilerplate/cairo-boilerplate.c |   61 ++++++++++++++++++++++++++++++++++++---
17989  1 file changed, 57 insertions(+), 4 deletions(-)
17990
17991 commit 29432d3d32bc84ec4a2e1815a84e4ac2089138fe
17992 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17993 Date:   Sat Sep 5 02:25:01 2009 +0300
17994
17995     [test] Reorder dash-infinite-loop to not hit a runaway allocation.
17996     
17997     This test is annoying enough as it is what with it wedging the
17998     test suite and all.  There's no reason why it should DOS the
17999     running box as well by sitting in a loop allocating like mad.
18000
18001  test/dash-infinite-loop.c |    2 +-
18002  1 file changed, 1 insertion(+), 1 deletion(-)
18003
18004 commit 20b0e7f95448e496b609212b9608f75e03f223f8
18005 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18006 Date:   Fri Sep 4 23:54:21 2009 +0300
18007
18008     [test] Add large-source-roi.ref.png to test/Makefile.am
18009     
18010     Oops.. forgot to add it to the build files too
18011
18012  test/Makefile.am |    1 +
18013  1 file changed, 1 insertion(+)
18014
18015 commit 402a0539489cc01094b464109ae28ae78b85a294
18016 Author: Chris Wilson <chris@chris-wilson.co.uk>
18017 Date:   Fri Sep 4 09:47:10 2009 +0100
18018
18019     [gl] compile fix.
18020     
18021     Compiled fine during testing -- only I forgot I hadn't enable the gl surface.
18022
18023  src/cairo-gl-surface.c |    3 ++-
18024  1 file changed, 2 insertions(+), 1 deletion(-)
18025
18026 commit b065303740cc18fbcabfeef34d09c7d8b617647e
18027 Author: Chris Wilson <chris@chris-wilson.co.uk>
18028 Date:   Fri Sep 4 09:35:22 2009 +0100
18029
18030     [xlib] Enable pad_reflect by default
18031     
18032     If the XServer claims to support the required Render extension then send
18033     it the operations. However for the cases where we know it does not work,
18034     i.e. the current and previous generations (<=1.6) of Xorg servers, enable
18035     the buggy_pad_reflect fallbacks.
18036
18037  src/cairo-xlib-display.c |   19 ++++++++++++-------
18038  1 file changed, 12 insertions(+), 7 deletions(-)
18039
18040 commit 634fdb4afd15e2467979609b1af7c1c198fc83d4
18041 Author: Chris Wilson <chris@chris-wilson.co.uk>
18042 Date:   Fri Sep 4 09:14:12 2009 +0100
18043
18044     [test] Add unbounded variants of clip-{fill,stroke}
18045     
18046     Add a couple of tests to exercise a bug that Joonas spotted that I had
18047     introduced with the clip-reduction scheme - namely that I had
18048     incorrectly removed the clip on unbounded operations.
18049
18050  test/Makefile.am                                   |   14 +++
18051  test/Makefile.sources                              |    2 +
18052  test/clip-fill-unbounded.argb32.ref.png            |  Bin 0 -> 1615 bytes
18053  test/clip-fill-unbounded.c                         |  105 ++++++++++++++++++++
18054  test/clip-fill-unbounded.rgb24.ref.png             |  Bin 0 -> 1312 bytes
18055  test/clip-fill-unbounded.svg12.argb32.xfail.png    |  Bin 0 -> 1601 bytes
18056  test/clip-fill-unbounded.svg12.rgb24.xfail.png     |  Bin 0 -> 1601 bytes
18057  ...clip-fill-unbounded.xlib-fallback.rgb24.ref.png |  Bin 0 -> 1429 bytes
18058  test/clip-fill-unbounded.xlib.argb32.ref.png       |  Bin 0 -> 1758 bytes
18059  test/clip-fill-unbounded.xlib.rgb24.ref.png        |  Bin 0 -> 1426 bytes
18060  test/clip-stroke-unbounded.argb32.ref.png          |  Bin 0 -> 1703 bytes
18061  test/clip-stroke-unbounded.c                       |  102 +++++++++++++++++++
18062  test/clip-stroke-unbounded.rgb24.ref.png           |  Bin 0 -> 1383 bytes
18063  test/clip-stroke-unbounded.svg12.argb32.xfail.png  |  Bin 0 -> 1697 bytes
18064  test/clip-stroke-unbounded.svg12.rgb24.xfail.png   |  Bin 0 -> 1697 bytes
18065  ...ip-stroke-unbounded.xlib-fallback.rgb24.ref.png |  Bin 0 -> 1429 bytes
18066  test/clip-stroke-unbounded.xlib.argb32.ref.png     |  Bin 0 -> 1792 bytes
18067  test/clip-stroke-unbounded.xlib.rgb24.ref.png      |  Bin 0 -> 1426 bytes
18068  18 files changed, 223 insertions(+)
18069
18070 commit de99f841886de5cc6e5bc91f9d3e82076d838dee
18071 Author: Chris Wilson <chris@chris-wilson.co.uk>
18072 Date:   Fri Sep 4 08:55:19 2009 +0100
18073
18074     [fallback] Only eliminate the clip if the operation is bounded
18075     
18076     For unbounded operations we still need to pass along the clip in order to
18077     correctly limit the extents of the operation.
18078
18079  src/cairo-surface-fallback.c |   57 +++++++++++++++++++++++++++++++-----------
18080  1 file changed, 42 insertions(+), 15 deletions(-)
18081
18082 commit 0ffca06d7feec6fdc56c47a378fcc37c1951a00a
18083 Author: Chris Wilson <chris@chris-wilson.co.uk>
18084 Date:   Fri Sep 4 08:32:31 2009 +0100
18085
18086     [perf] Use milliseconds by default in cairo-perf-diff-files
18087     
18088     Necessary when comparing performance reports from different machines (or
18089     even at different CPU states).
18090
18091  perf/cairo-perf-diff-files.c |   13 ++++++++-----
18092  1 file changed, 8 insertions(+), 5 deletions(-)
18093
18094 commit 00ca0780b8f06ec160d8f969e316c21fbbde04bc
18095 Author: Chris Wilson <chris@chris-wilson.co.uk>
18096 Date:   Thu Sep 3 23:25:53 2009 +0100
18097
18098     [win32] Remove unused clone_similar()
18099     
18100     The win32 backend handles surface sources directly and never calls
18101     _cairo_pattern_acquire_surface() which is the only other possible user of
18102     clone_similar().
18103
18104  src/cairo-win32-printing-surface.c |    2 +-
18105  src/cairo-win32-surface.c          |   57 +-----------------------------------
18106  2 files changed, 2 insertions(+), 57 deletions(-)
18107
18108 commit 535bcaa1a1dac28fbe3106c6605949171bc36cb2
18109 Author: Chris Wilson <chris@chris-wilson.co.uk>
18110 Date:   Thu Sep 3 20:10:55 2009 +0100
18111
18112     [mutex] Hook into pthread last
18113     
18114     Check for native mutex types before hooking into pthread, as this
18115     workarounds broken builds on mingw that confuse us by including the
18116     pthread header file.
18117
18118  src/cairo-mutex-impl-private.h |   47 ++++++++++++++++++++--------------------
18119  1 file changed, 24 insertions(+), 23 deletions(-)
18120
18121 commit 769f4a4f47ab4636ec5cca3e92ce2c0ff19d2f75
18122 Author: Chris Wilson <chris@chris-wilson.co.uk>
18123 Date:   Thu Sep 3 17:47:34 2009 +0100
18124
18125     [gl] Allocate small number of rectangles on the stack
18126     
18127     FillRectangle is most frequently used to fill an entire imagee with the
18128     background colour, i.e. with just a single, or few, rectangle. Avoid
18129     heap allocation for this common case by allocating enough space for 4
18130     rectangles (vertices+colors) on the stack.
18131
18132  src/cairo-gl-surface.c |   43 +++++++++++++++++++++++++++++--------------
18133  1 file changed, 29 insertions(+), 14 deletions(-)
18134
18135 commit 6ce200da9d01a85a1de576229e75732db65a8b70
18136 Author: Chris Wilson <chris@chris-wilson.co.uk>
18137 Date:   Thu Sep 3 17:38:00 2009 +0100
18138
18139     [gl] Assert that the error is impossible.
18140     
18141     As we created the image, it should not need coercing into a suitable
18142     format and so we should be able to upload it without failure.
18143
18144  src/cairo-gl-surface.c |    4 ++--
18145  1 file changed, 2 insertions(+), 2 deletions(-)
18146
18147 commit d3aeafb406da7bf69e9bf24e18a5975780a7a987
18148 Author: Chris Wilson <chris@chris-wilson.co.uk>
18149 Date:   Thu Sep 3 17:32:28 2009 +0100
18150
18151     [gl] Remove reference to depth_stencil_tex
18152     
18153     We no longer use a depth-stencil, so remove the vestigial reference.
18154
18155  src/cairo-gl-private.h |    1 -
18156  src/cairo-gl-surface.c |    2 --
18157  2 files changed, 3 deletions(-)
18158
18159 commit 316c1683ceb39eb652608adc360cb4da9c22256a
18160 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18161 Date:   Thu Sep 3 21:38:31 2009 +0300
18162
18163     [test] Fix the order of random points random-intersections-curves*.
18164     
18165     The calls to uniform_random() to get the curve points were in
18166     the function arguments, but argument order evaluation is compiler
18167     implementation dependent.
18168
18169  test/random-intersections-curves-eo.c |   17 ++++++++++-------
18170  test/random-intersections-curves-nz.c |   17 ++++++++++-------
18171  2 files changed, 20 insertions(+), 14 deletions(-)
18172
18173 commit 9e45673e197d0f43e296483cc6b5ca6df94e7f02
18174 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18175 Date:   Thu Sep 3 19:18:07 2009 +0300
18176
18177     [image] Check for out of bounds image surface sizes in constructors.
18178     
18179     The image surface code doesn't reliably work on images larger than
18180     32767 in width or height.  This patch makes the image surface
18181     constructors fail by returning a surface in the CAIRO_STATUS_INVALID_SIZE
18182     state when given negative or too large dimensions so that client code
18183     gets a prompt and correct error rather than flaky rendering on large
18184     images.
18185
18186  src/cairo-image-surface.c     |   27 +++++++++++++++++++++++++--
18187  test/large-source-roi.c       |    4 ++--
18188  test/large-source-roi.ref.png |  Bin 0 -> 112 bytes
18189  test/large-source.c           |    4 ++--
18190  4 files changed, 29 insertions(+), 6 deletions(-)
18191
18192 commit 12d0613210547b8a50dd7b21a12eb1485ee496b9
18193 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18194 Date:   Thu Sep 3 17:54:49 2009 +0300
18195
18196     [test] Allow tests to XFAIL by putting the cairo_t into an error state.
18197     
18198     The test runner was extra strict about never letting a test put
18199     the cairo_t into an error state, and never would it check for
18200     the expectedness status of the failure.  This patch moves the
18201     check for a test being an XFAIL above the check on the cairo_t's
18202     final status.
18203
18204  test/cairo-test.c |   14 +++++++-------
18205  1 file changed, 7 insertions(+), 7 deletions(-)
18206
18207 commit a76c36f2edd16d8e2b8f49e6409134aceab38a42
18208 Author: Chris Wilson <chris@chris-wilson.co.uk>
18209 Date:   Thu Sep 3 14:29:20 2009 +0100
18210
18211     [xlib] solid pictures should only be 1x1
18212     
18213     Creating an widthxheight solid picture for using with
18214     RenderCompositeTrapezoids defeats the optimization with the xserver that
18215     checks for a solid alpha pattern. The checks it performs are for
18216     CONTENT_ALPHA, Repeat, 1x1 and value == 0xff.
18217
18218  src/cairo-xlib-surface.c |    2 +-
18219  1 file changed, 1 insertion(+), 1 deletion(-)
18220
18221 commit df067be863bf714f22db0392ab29926edfa8e917
18222 Author: Chris Wilson <chris@chris-wilson.co.uk>
18223 Date:   Thu Sep 3 08:45:40 2009 +0100
18224
18225     [polygon] Compute the limit of the limits slightly more efficiently
18226     
18227     Initialize the bbox to the first limit, as frequently there will only be a
18228     single (or at least a small number) limit.
18229
18230  src/cairo-polygon.c |   24 ++++++++++++------------
18231  1 file changed, 12 insertions(+), 12 deletions(-)
18232
18233 commit a1bac73f24069990842fa8f31e776b4d2c72546e
18234 Author: Chris Wilson <chris@chris-wilson.co.uk>
18235 Date:   Thu Sep 3 09:20:46 2009 +0100
18236
18237     [boilerplate] Handle errors whilst creating GL surface
18238
18239  boilerplate/cairo-boilerplate-gl.c |   11 ++++++-----
18240  src/cairo-glx-context.c            |   16 ++++++++--------
18241  2 files changed, 14 insertions(+), 13 deletions(-)
18242
18243 commit f1d284f9976d38f636c6791f11479ae75d7bd199
18244 Author: Chris Wilson <chris@chris-wilson.co.uk>
18245 Date:   Thu Sep 3 01:00:59 2009 +0100
18246
18247     [polygon] Fix discard with non-banded disjoint clip boxes
18248     
18249     The early discard checked if the line was below the last clip-box, or if
18250     above the first. However, the clip-boxes are only sorted on by the bottom
18251     (not the strict XY-banded sort of the regions) and so this was erroneously
18252     discarding lines.
18253
18254  src/cairo-polygon.c       |   29 ++++++++++++++++++++++++-----
18255  src/cairo-types-private.h |    1 +
18256  2 files changed, 25 insertions(+), 5 deletions(-)
18257
18258 commit a6dfdeec82ec34d88276fd0bb0ddcc94405d89f3
18259 Author: Chris Wilson <chris@chris-wilson.co.uk>
18260 Date:   Thu Sep 3 00:59:21 2009 +0100
18261
18262     [test] Add clip-disjoint
18263     
18264     Soeren found another bug (thanks Soeren!) in the clipping code - as
18265     reproduced by this test case.
18266
18267  test/Makefile.am                |    2 +
18268  test/Makefile.sources           |    1 +
18269  test/clip-disjoint.c            |   90 +++++++++++++++++++++++++++++++++++++++
18270  test/clip-disjoint.ref.png      |  Bin 0 -> 5520 bytes
18271  test/clip-disjoint.xlib.ref.png |  Bin 0 -> 5395 bytes
18272  5 files changed, 93 insertions(+)
18273
18274 commit ff6bc1e132836c68d4f538799c2cd26a2d9cace4
18275 Author: Chris Wilson <chris@chris-wilson.co.uk>
18276 Date:   Wed Sep 2 21:22:33 2009 +0100
18277
18278     [script] Always create a fallback font
18279     
18280     In order to get a baseline for win32 performance testing, always create a
18281     font so that the trace can be replayed. Not ideal, but I feel this the
18282     pragmatic solution for judging the performance differentials before I can
18283     work out a better solution for loading typ42 fonts.
18284
18285  util/cairo-script/cairo-script-operators.c |   46 ++++++++++++++++------------
18286  1 file changed, 27 insertions(+), 19 deletions(-)
18287
18288 commit fcbb288e7cf2f5914c0d2b66ee6d81b694de6de6
18289 Author: Chris Wilson <chris@chris-wilson.co.uk>
18290 Date:   Wed Sep 2 21:02:18 2009 +0100
18291
18292     [script] Attempt to select a font if ! CAIRO_HAS_FT_FONT
18293     
18294     In order to enable replay of traces on machines that do not use FreeType
18295     as the native font system, we need to convert a type42 font into something
18296     similar. Currently the fallback is just to select a font with the same
18297     name - this ignores weight and slant, and many other details.
18298
18299  util/cairo-script/cairo-script-operators.c |  106 ++++++++++++++++++++++++++++
18300  1 file changed, 106 insertions(+)
18301
18302 commit 2c03dfa0b406565fca798214a842bac69b042017
18303 Author: Chris Wilson <chris@chris-wilson.co.uk>
18304 Date:   Wed Sep 2 10:09:50 2009 +0100
18305
18306     [boilerplate/test] Use numerical equality not string equality
18307     
18308     test == != -eq
18309
18310  boilerplate/make-cairo-boilerplate-constructors.sh |    2 +-
18311  test/make-cairo-test-constructors.sh               |    2 +-
18312  2 files changed, 2 insertions(+), 2 deletions(-)
18313
18314 commit f5df38ca5efcbc0cd3cc18d9fb67df49ec4859f8
18315 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18316 Date:   Wed Sep 2 04:38:52 2009 +0100
18317
18318     [build] Fix typos in prototype warnings.
18319     
18320     The -Wstrict-prototypes and -Wmissing-prototypes warnings
18321     weren't actually in use due to typos.
18322
18323  build/configure.ac.warnings |    2 +-
18324  1 file changed, 1 insertion(+), 1 deletion(-)
18325
18326 commit c086b40a93057a6fd47d23c85c5026d6fe2f524a
18327 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18328 Date:   Wed Sep 2 04:29:18 2009 +0100
18329
18330     [build] Hush the Solaris compiler about enum abuse.
18331     
18332     Sun Studio 12 doesn't like it when we mix our
18333     enum values and types.  We do that a lot on purpose
18334     so the warnings from compiles were very verbose.
18335
18336  build/aclocal.cairo.m4      |   23 +++++++++++++++++++++--
18337  build/configure.ac.warnings |    6 ++++++
18338  2 files changed, 27 insertions(+), 2 deletions(-)
18339
18340 commit f081a5ff554267eebecea4652bb483eea11d1484
18341 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18342 Date:   Wed Sep 2 04:10:39 2009 +0100
18343
18344     [build] Refine the -Wno-attribute test to check our use cases.
18345     
18346     We don't actually check that -Wno-attribute does what
18347     we think it does.  On clang it doesn't since it happily
18348     seems to recognize but ignore the attribute.
18349     
18350     This patch factors out a silent version of CAIRO_CC_TRY_FLAG
18351     which accepts an optional program argument and actually tests
18352     that the compiler doesn't produce any warning messages.  It
18353     is then used to check that -Wno-attribute doesn't complain
18354     when the __warn_unused_result__ attribute is applied to
18355     void functions or variables.
18356
18357  build/aclocal.cairo.m4      |   42 ++++++++++++++++++++++++++++++++++--------
18358  build/configure.ac.analysis |    2 +-
18359  build/configure.ac.warnings |   10 ++++++----
18360  3 files changed, 41 insertions(+), 13 deletions(-)
18361
18362 commit c87b366bfec4eeda2646b33cb8a33822a301456c
18363 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18364 Date:   Wed Sep 2 04:09:46 2009 +0100
18365
18366     [constructors] Guard against being called without any input files.
18367     
18368     The make-cairo-(test|boilerplate)-constructors scripts ought
18369     never to be called without arguments lest we are left constructorless.
18370
18371  boilerplate/make-cairo-boilerplate-constructors.sh |    7 ++++++-
18372  test/make-cairo-test-constructors.sh               |    7 ++++++-
18373  2 files changed, 12 insertions(+), 2 deletions(-)
18374
18375 commit b509b548b1e3ac5a9e3de2f9652cd1973d295fa3
18376 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18377 Date:   Fri Jul 24 09:12:10 2009 +0300
18378
18379     [trace] Check for __builtin_return_address explicitly.
18380     
18381     Some other compilers such as clang and icc support the
18382     __builtin_return_address() intrinsic as well, so we don't
18383     need to check for __GNUC__ >= 3 only.
18384
18385  build/configure.ac.system |   12 ++++++++++++
18386  util/cairo-trace/trace.c  |    2 +-
18387  2 files changed, 13 insertions(+), 1 deletion(-)
18388
18389 commit 2b0e070f6a6bee415b1036fd149f0c41bcf87abb
18390 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18391 Date:   Fri Jul 24 07:48:57 2009 +0300
18392
18393     [trace] Replace an open coded test for matrix identity.
18394     
18395     The code has a _matrix_is_identity() function we can use
18396     instead of open coding the same test.
18397
18398  util/cairo-trace/trace.c |    5 +----
18399  1 file changed, 1 insertion(+), 4 deletions(-)
18400
18401 commit 70ea9e3ce1b0037999340e484e62d3a1484da41a
18402 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18403 Date:   Fri Jul 24 07:46:20 2009 +0300
18404
18405     [trace] Don't crash on unknown enums values.
18406     
18407     If the tracer encounters an unknown enum value it
18408     ought not to crash. Theis patch replaces the idiom
18409     of looking up a name for an enumerated value directly
18410     from a table by a switch statement. As a bonus we get
18411     warnings from the compiler when the enums are updated
18412     in cairo.
18413
18414  util/cairo-trace/trace.c |  313 +++++++++++++++++++++++++---------------------
18415  1 file changed, 172 insertions(+), 141 deletions(-)
18416
18417 commit 174c2620c82a47d067ec7b5062a4f513155a0b1f
18418 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18419 Date:   Fri Jul 24 07:42:57 2009 +0300
18420
18421     [trace] Check for object stack underflow.
18422     
18423     If the tracer's object stack underflows we want to
18424     know about is as soon as possible. This patch adds
18425     checks against the stack overflowing and aborts the
18426     program with an object stack dump if it does.
18427
18428  util/cairo-trace/trace.c |   26 ++++++++++++++++++++++++--
18429  1 file changed, 24 insertions(+), 2 deletions(-)
18430
18431 commit bb480d235882d8e7d5748a3837f9b274a8b8ac86
18432 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18433 Date:   Tue Jul 21 21:18:36 2009 +0300
18434
18435     [NEWS] Thank the AuroraUX team for facilitating Solaris testing.
18436
18437  NEWS |    5 +++++
18438  1 file changed, 5 insertions(+)
18439
18440 commit c64f6f8a15306cdcf5dd02480049b0f9112fd6ac
18441 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18442 Date:   Fri Jun 26 16:54:11 2009 +0300
18443
18444     [trace] Get the tracee program name from the environment.
18445     
18446     Support non-Linux systems which don't have a /proc/self/cmdline
18447     by transferring the application name given to cairo-trace via
18448     an environment variable CAIRO_TRACE_PROG_NAME.
18449
18450  util/cairo-trace/cairo-trace.in |    3 ++-
18451  util/cairo-trace/trace.c        |   31 +++++++++++++++++++------------
18452  2 files changed, 21 insertions(+), 13 deletions(-)
18453
18454 commit 17cdffafda04514f08e0f0f11d0a85b938282c38
18455 Author: Chris Wilson <chris@chris-wilson.co.uk>
18456 Date:   Wed Sep 2 00:41:18 2009 +0100
18457
18458     [xlib] Remove stray code
18459     
18460     Grr. Should have spotted this before pushing - remove the addition of the
18461     superfluous code.
18462
18463  src/cairo-xlib-surface.c |   13 ++-----------
18464  1 file changed, 2 insertions(+), 11 deletions(-)
18465
18466 commit 59c4fe93ee30c8182ae1a29267b9c08602e2f6c5
18467 Author: Chris Wilson <chris@chris-wilson.co.uk>
18468 Date:   Wed Sep 2 00:34:37 2009 +0100
18469
18470     [xlib] Eliminate GC clipping
18471     
18472     Eradicate the use of clipping with GC. By never using clipping, we never
18473     have to worry about retrieving a dirty clip from the GC cache.
18474
18475  src/cairo-xlib-private.h         |   12 +--
18476  src/cairo-xlib-screen.c          |   50 ++++------
18477  src/cairo-xlib-surface-private.h |    2 -
18478  src/cairo-xlib-surface.c         |  197 ++++++++++++++++++--------------------
18479  4 files changed, 116 insertions(+), 145 deletions(-)
18480
18481 commit 075fc5666abe006c434bf7ec28d2d4f0226a1d3a
18482 Author: Chris Wilson <chris@chris-wilson.co.uk>
18483 Date:   Wed Sep 2 00:33:22 2009 +0100
18484
18485     [test] Add clip-image
18486     
18487     Exercise the XCopyArea() paths under clipping - whilst modifying that code
18488     I noticed that it was not being exercised by the test suite.
18489
18490  test/Makefile.am        |    1 +
18491  test/Makefile.sources   |    1 +
18492  test/clip-image.c       |   94 +++++++++++++++++++++++++++++++++++++++++++++++
18493  test/clip-image.ref.png |  Bin 0 -> 2679 bytes
18494  4 files changed, 96 insertions(+)
18495
18496 commit 7d1eb259f93d3f2f2e754b2b8b90cb88359b477d
18497 Author: Chris Wilson <chris@chris-wilson.co.uk>
18498 Date:   Tue Sep 1 23:12:43 2009 +0100
18499
18500     [xlib] Make xlib_display_t private and rename xlib_screen_info_t
18501     
18502     The issue Joonas was trying to solve was the unwanted inclusion of
18503     the inlines via cairo-freelist-private.h. Unwittingly he included
18504     cairoint.h from cairo-xlib-private.h instead, a far more heinous crime as
18505     that causes the boilerplate to try to use the hidden, private symbols.
18506     Instead we resolve this issue by making the cairo_xlib_display_t structure
18507     private to cairo-xlib-display.c and provide functions to manipulate the
18508     abstract data type. Whilst in the vicinity, we rename
18509     cairo_xlib_screen_info_t to cairo_xlib_screen_t for consistency and
18510     cleanliness.
18511
18512  src/cairo-xlib-display.c         |  126 +++++++++++++++++++++++++--
18513  src/cairo-xlib-private.h         |   88 +++++++++++--------
18514  src/cairo-xlib-screen.c          |  155 +++++++++++++++-------------------
18515  src/cairo-xlib-surface-private.h |    3 +-
18516  src/cairo-xlib-surface.c         |  173 +++++++++++++++++++++-----------------
18517  5 files changed, 339 insertions(+), 206 deletions(-)
18518
18519 commit b8ddd66cf6e0d16383580c3c3398343f577b89fd
18520 Author: Chris Wilson <chris@chris-wilson.co.uk>
18521 Date:   Tue Sep 1 21:49:01 2009 +0100
18522
18523     Revert "[freelist] Make _cairo_freepool_alloc_from_new_pool static inline."
18524     
18525     This reverts commit 5a3fa29b370816acb3a08d60e4031ed82c1e4c73 as it breaks
18526     the boilerplate when linking with gcc.
18527
18528  src/cairo-freelist-private.h |   29 ++---------------------------
18529  src/cairo-freelist.c         |   29 +++++++++++++++++++++++++++++
18530  2 files changed, 31 insertions(+), 27 deletions(-)
18531
18532 commit 5a3fa29b370816acb3a08d60e4031ed82c1e4c73
18533 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18534 Date:   Tue Sep 1 20:57:01 2009 +0100
18535
18536     [freelist] Make _cairo_freepool_alloc_from_new_pool static inline.
18537     
18538     The xlib boilerplate includes a cairo private header to be able
18539     to disable usage of the render extension.  This indirectly includes
18540     cairo-freelist-private.h which contains a bunch of static inline
18541     functions which use the private _cairo_freepool_alloc_from_new_pool
18542     function, but since that is not inline also, it causes an undefined
18543     extern which cannot be resolved.  The binutils linker doesn't care
18544     since the freelist function aren't actually used in the boilerplate
18545     but the Solaris linker does.  By making the .._alloc_from_new_pool
18546     function inline no dangling references are created and linking
18547     succeeds.
18548
18549  src/cairo-freelist-private.h |   29 +++++++++++++++++++++++++++--
18550  src/cairo-freelist.c         |   29 -----------------------------
18551  2 files changed, 27 insertions(+), 31 deletions(-)
18552
18553 commit 68c8eb955d6d16872c2fa488f0960b974611865d
18554 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18555 Date:   Mon Aug 31 23:57:20 2009 +0100
18556
18557     [wrapper] Avoid a void return gccism.
18558     
18559     Returning void using the pattern "return func_returning_void(...)"
18560     is a gccism not supported by Sun Studio 12.
18561
18562  src/cairo-surface-wrapper.c |    2 +-
18563  1 file changed, 1 insertion(+), 1 deletion(-)
18564
18565 commit 6ddab64025eacd5000fa295c86c0fddc469bdc5f
18566 Author: Chris Wilson <chris@chris-wilson.co.uk>
18567 Date:   Tue Sep 1 20:25:53 2009 +0100
18568
18569     [ps] Clip meta-surface to desired extents.
18570     
18571     Ensure that the meta surface does not extend beyond the operation by
18572     forcing a clip to the extents of the operation.
18573     
18574     Fixes test/device-offset and test/device-offset-positive
18575
18576  src/cairo-ps-surface.c |   46 +++++++++++++++++++++++++++++++++++++++++++---
18577  1 file changed, 43 insertions(+), 3 deletions(-)
18578
18579 commit 665f5829541703b29e33f80bebf579a17f47a892
18580 Author: Chris Wilson <chris@chris-wilson.co.uk>
18581 Date:   Tue Sep 1 18:24:42 2009 +0100
18582
18583     [ps/pdf] Trim patterns to operation extents
18584     
18585     If we have to rasterise a pattern for use by PS/PDF (for example, to
18586     satisfy CAIRO_EXTENT_PAD) then only generate an image large enough to
18587     cover the operation extents. We ensure tight coverage by computing the
18588     extents afresh - we could do this lazily in the future, but we can not
18589     rely on the bounds as computed by the analysis surface as for native
18590     operations they may not be tight.
18591
18592  src/cairo-pdf-surface.c |   67 +++++++++++++++++---
18593  src/cairo-ps-surface.c  |   76 ++++++++++++++--------
18594  src/cairo-surface.c     |  162 +++++++++++++++++++++++++++++++++++++++++++++++
18595  src/cairoint.h          |   49 ++++++++++++++
18596  4 files changed, 319 insertions(+), 35 deletions(-)
18597
18598 commit c4c7db96750337076b953a4938afc7b5f16815fc
18599 Author: Chris Wilson <chris@chris-wilson.co.uk>
18600 Date:   Tue Sep 1 14:59:36 2009 +0100
18601
18602     [boilerplate] Use xlib as fallback reference for xcb
18603     
18604     And exercise RGB code-paths.
18605
18606  boilerplate/cairo-boilerplate-xcb.c |   13 ++++++++++++-
18607  1 file changed, 12 insertions(+), 1 deletion(-)
18608
18609 commit e7a118d3f82f2cbefb4a1529cc90f76ed7371ecc
18610 Author: Chris Wilson <chris@chris-wilson.co.uk>
18611 Date:   Tue Sep 1 14:31:38 2009 +0100
18612
18613     [path] Standalone header-compilation
18614     
18615     Hmm, TRUE/FALSE apparently weren't defined before use. Odd.
18616
18617  src/cairo-path-fixed-private.h |    4 ++--
18618  1 file changed, 2 insertions(+), 2 deletions(-)
18619
18620 commit 4f880deeabc36842b3b4b0d7ad16383db708cd42
18621 Author: Chris Wilson <chris@chris-wilson.co.uk>
18622 Date:   Tue Sep 1 14:24:59 2009 +0100
18623
18624     Compiler warnings
18625     
18626     Add an impossible default condition to avoid a compiler warning. And tweak
18627     the code to avoid mismatching signed/unsigned comparisons.
18628
18629  src/cairo-pdf-surface.c |    1 +
18630  src/cairo-xml-surface.c |    8 ++++----
18631  2 files changed, 5 insertions(+), 4 deletions(-)
18632
18633 commit 1bcc3a3fa00445667adc47d4852237271c7eec0f
18634 Author: Chris Wilson <chris@chris-wilson.co.uk>
18635 Date:   Tue Sep 1 14:24:06 2009 +0100
18636
18637     [tee] Rename 'append' to 'add' and add symmetric 'remove'
18638
18639  src/cairo-tee-surface.c |   51 ++++++++++++++++++++++++++++++++++++++++++-----
18640  src/cairo.h             |    8 ++++++--
18641  util/cairo-fdr/fdr.c    |    2 +-
18642  util/cairo-sphinx/fdr.c |    2 +-
18643  4 files changed, 54 insertions(+), 9 deletions(-)
18644
18645 commit af82670dd3bfdb661de5a01a6856ec01bdf80040
18646 Author: Chris Wilson <chris@chris-wilson.co.uk>
18647 Date:   Tue Sep 1 13:31:52 2009 +0100
18648
18649     [pattern] Remove unused hidden symbol for cairo_pattern_status()
18650
18651  src/cairo-pattern.c |    9 ++++-----
18652  src/cairoint.h      |    1 -
18653  2 files changed, 4 insertions(+), 6 deletions(-)
18654
18655 commit aca1dff25967940c36caee26977512484f1720ac
18656 Author: Adrian Johnson <ajohnson@redneon.com>
18657 Date:   Mon Aug 31 22:28:26 2009 +0930
18658
18659     PDF: Ensure operator is selected before painting surface
18660
18661  src/cairo-pdf-surface.c |   16 ++++++++--------
18662  1 file changed, 8 insertions(+), 8 deletions(-)
18663
18664 commit a402bdbd32d3ffe4b564318e6dd83831328257b1
18665 Author: Adrian Johnson <ajohnson@redneon.com>
18666 Date:   Mon Aug 31 22:15:57 2009 +0930
18667
18668     PDF: Flush operators before writing to the PDF stream
18669
18670  src/cairo-pdf-surface.c |    4 ++++
18671  1 file changed, 4 insertions(+)
18672
18673 commit 119355b2a4d81c903720484adaeb7dea3929ca1f
18674 Author: Adrian Johnson <ajohnson@redneon.com>
18675 Date:   Mon Aug 31 22:14:15 2009 +0930
18676
18677     PDF: Reset alpha to 1.0 before painting a surface
18678     
18679     Fixes a test suite regression.
18680
18681  src/cairo-pdf-surface.c |    8 +++++++-
18682  1 file changed, 7 insertions(+), 1 deletion(-)
18683
18684 commit 20bd7d0edbb01a52bcc88bddcba4cc5237f3a673
18685 Author: Adrian Johnson <ajohnson@redneon.com>
18686 Date:   Mon Aug 31 22:03:34 2009 +0930
18687
18688     Update ref images
18689
18690  test/meta-surface-pattern.pdf.argb32.ref.png  |  Bin 3835 -> 3908 bytes
18691  test/meta-surface-pattern.pdf.rgb24.ref.png   |  Bin 3682 -> 3760 bytes
18692  test/rotate-image-surface-paint.pdf.xfail.png |  Bin 207 -> 217 bytes
18693  test/scale-offset-image.pdf.argb32.ref.png    |  Bin 0 -> 9981 bytes
18694  test/scale-offset-image.pdf.ref.png           |  Bin 10099 -> 0 bytes
18695  test/scale-offset-image.pdf.rgb24.ref.png     |  Bin 0 -> 9981 bytes
18696  test/scale-offset-similar.pdf.argb32.ref.png  |  Bin 0 -> 11027 bytes
18697  test/scale-offset-similar.pdf.ref.png         |  Bin 10890 -> 0 bytes
18698  test/scale-offset-similar.pdf.rgb24.ref.png   |  Bin 0 -> 11027 bytes
18699  test/surface-pattern-scale-down.pdf.ref.png   |  Bin 1589 -> 1603 bytes
18700  test/surface-pattern-scale-up.pdf.ref.png     |  Bin 2712 -> 2793 bytes
18701  11 files changed, 0 insertions(+), 0 deletions(-)
18702
18703 commit 135912721f5791ad8eac773fd042c751122c8760
18704 Author: Adrian Johnson <ajohnson@redneon.com>
18705 Date:   Sun Aug 30 23:58:53 2009 +0930
18706
18707     PDF: Avoid using patterns when filling a surface with EXTEND_NONE
18708     
18709     The fill equivilant of the previous optimization.
18710
18711  src/cairo-pdf-surface.c |   19 +++++++++++++++++++
18712  1 file changed, 19 insertions(+)
18713
18714 commit 6512faeb9487dcc2d577b5fb3628cf7f13a25c0a
18715 Author: Adrian Johnson <ajohnson@redneon.com>
18716 Date:   Sun Aug 30 23:38:17 2009 +0930
18717
18718     PDF: Avoid using patterns when painting surfaces with EXTEND_NONE
18719     
18720     This is an optimization the PS surface has been using to improve
18721     printing speed and prevent printers from choking on large
18722     images. Applying this optimzation to PDF prevents the same problem
18723     occuring when the PDF is converted to PS.
18724
18725  src/cairo-pdf-surface.c |   58 +++++++++++++++++++++++++++++++++++++++++++++++
18726  1 file changed, 58 insertions(+)
18727
18728 commit 26d568a9ada523793b2e5855678922894e438ef4
18729 Author: Adrian Johnson <ajohnson@redneon.com>
18730 Date:   Sun Aug 30 23:50:53 2009 +0930
18731
18732     PDF: Fix bug when when embedding surfaces
18733
18734  src/cairo-pdf-surface.c |    3 ++-
18735  1 file changed, 2 insertions(+), 1 deletion(-)
18736
18737 commit feaf38d0cdc5a79966d3a412b644705b0f38e75a
18738 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18739 Date:   Mon Aug 31 16:25:08 2009 +0300
18740
18741     [test] Use HAVE_FLOCKFILE instead of _POSIX_C_SOURCE.
18742     
18743     The _POSIX_C_SOURCE 2001.. #define requires C99 mode and
18744     clang on Solaris is strict about such things. Use configure
18745     tests for flockfile() instead.
18746
18747  test/cairo-test.c |    5 ++---
18748  1 file changed, 2 insertions(+), 3 deletions(-)
18749
18750 commit 9bb469c51cf580e3ae18b21b3847488e8c4be051
18751 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18752 Date:   Fri Jul 24 06:15:46 2009 +0300
18753
18754     [trace] Use HAVE_FLOCKFILE/FUNLOCKFILE since configure test for them.
18755     
18756     The trace source was using the flockfile() and funlockfile()
18757     functions directly.
18758
18759  util/cairo-trace/trace.c |    4 ++++
18760  1 file changed, 4 insertions(+)
18761
18762 commit b5cf24a4fb0e48a0067c4b5a706890d4c1f3f1ae
18763 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18764 Date:   Fri Jun 26 20:06:40 2009 +0300
18765
18766     [build] Remove duplicate invocation of AC_CHECK_HEADERS.
18767     
18768     The fenv.h stuff was checked twice.
18769
18770  build/configure.ac.system |    3 ---
18771  1 file changed, 3 deletions(-)
18772
18773 commit 3acccf0ea5ca1fde9cf6b91677588680a2644ee6
18774 Author: Chris Wilson <chris@chris-wilson.co.uk>
18775 Date:   Sun Aug 30 12:33:40 2009 +0100
18776
18777     [perf] Trim outliers from chart
18778     
18779     Use "mild outliers" method to remove exceptional speed-ups and slow-downs
18780     from the graph, so that the majority of information is not lost by the
18781     scaling. Add the timing labels to the bars so that the true factor is
18782     always presented.
18783
18784  perf/cairo-perf-chart.c |  211 ++++++++++++++++++++++++++++++++++++++---------
18785  1 file changed, 172 insertions(+), 39 deletions(-)
18786
18787 commit 687462be89fd0ddf6b5412f2cb7b4f7b1a80135c
18788 Author: Carlos Garcia Campos <carlosgc@gnome.org>
18789 Date:   Sun Aug 30 12:07:28 2009 +0200
18790
18791     [build] Fix a typo in configure.ac
18792
18793  configure.ac |    2 +-
18794  1 file changed, 1 insertion(+), 1 deletion(-)
18795
18796 commit a6bcb6260ec8982493ac3411436ec007b40e4501
18797 Author: Chris Wilson <chris@chris-wilson.co.uk>
18798 Date:   Sun Aug 30 10:09:51 2009 +0100
18799
18800     [bo-rectangular] Fix assertion failure with insertion sort
18801     
18802     We remember the location of the last insert as the next edge is likely to
18803     be nearby. However, we need to be careful when the pointer rests upon the
18804     HEAD and ensure that we begin the search from the appropriate end.
18805
18806  src/cairo-bentley-ottmann-rectangular.c |    4 ++++
18807  1 file changed, 4 insertions(+)
18808
18809 commit 19ebf83b6717e1f02e7be14218007858edf14ef0
18810 Merge: 40aefac a77f193
18811 Author: Chris Wilson <chris@chris-wilson.co.uk>
18812 Date:   Sat Aug 29 17:45:48 2009 +0100
18813
18814     Merge branch 'stroke-with-spans'
18815     
18816     This branch brings self-intersection removal with virtually no
18817     performance regression. (Compare with the initial implementation that
18818     incurred a 5-10x slowdown due to having to tessellate whole strokes at a
18819     time.) The importance of self-intersection removal is the improved visual
18820     quality it brings - gone are those annoying sparkles on the outside of
18821     rounded-rectangles for instance. Most of the performance overhead
18822     associated with the self-intersection removal is avoided by switching from
18823     trapezoids to spans for strokes. Obviously we are not able to do so for
18824     the xlib backend as we do not yet have a polygon image type, and so the
18825     tessellators are overhauled instead, along with more special casing for
18826     frequent operations to avoid the increased complexity along the general
18827     paths.
18828     
18829     Speedups
18830     ========
18831      xlib-rgba             swfdec-youtube-0    11371.13 (11406.01 0.28%) -> 10450.00 (10461.84 0.66%):  1.09x speedup
18832     ▏
18833     image-rgba          firefox-talos-svg-0    73696.53 (73828.28 3.42%) -> 68324.30 (70269.79 1.36%):  1.08x speedup
18834     ▏
18835     image-rgba             swfdec-youtube-0    7843.08 (7873.89 2.57%) -> 7393.96 (7399.68 0.18%):  1.06x speedup
18836     
18837      xvfb-rgba             swfdec-youtube-0    9627.25 (9634.43 0.16%) -> 9020.55 (9040.97 0.27%):  1.07x speedup
18838     ▏
18839     Slowdowns
18840     =========
18841      xvfb-rgba         gnome-terminal-vim-0    7695.12 (7697.87 0.44%) -> 8569.45 (8588.29 0.19%):  1.11x slowdown
18842     ▏
18843      xvfb-rgba         swfdec-giant-steps-0    3811.77 (3815.06 0.23%) -> 4246.67 (4569.17 3.52%):  1.11x slowdown
18844     ▏
18845     image-rgba                       gvim-0    7150.90 (7181.96 29.36%) -> 14641.04 (14651.36 0.11%):  2.05x slowdown
18846     █
18847     
18848     One method for overcoming these regressions is to reduce the complexity of
18849     the polygons being fed into the tessellator (both in the number of edges
18850     and intersections). This should be feasible by coupling into Jeff Muizelaar's
18851     stroke-to-path work, which early indications suggest will bring a
18852     significant performance improvement. On top of this, our span
18853     implementation for the image backend is not as efficient as we would hope
18854     for - and Joonas promises a much faster implementation soon.
18855
18856 commit a77f1933afebe28e0651906c96fd098cd8267a9f
18857 Author: Chris Wilson <chris@chris-wilson.co.uk>
18858 Date:   Sat Aug 29 14:23:41 2009 +0100
18859
18860     Use the more generic is_box when doing simple extent checks
18861     
18862     is_rectangle() is far stricter than is_box(), and is only required for a
18863     very limited set of operations (essentially were the rectangle must
18864     conform to the motion as described by cairo_rectangle). For the general
18865     case where we just want to know whether we have a single rectangular path
18866     that covers a certain area,  is_box() is sufficient.
18867
18868  src/cairo-pdf-surface.c    |    2 +-
18869  src/cairo-ps-surface.c     |    2 +-
18870  src/cairo-script-surface.c |    4 ++--
18871  src/cairo-svg-surface.c    |    2 +-
18872  4 files changed, 5 insertions(+), 5 deletions(-)
18873
18874 commit 0a548d08b5eae73a95fb41f41298c9c43379163e
18875 Author: Chris Wilson <chris@chris-wilson.co.uk>
18876 Date:   Sat Aug 29 16:27:27 2009 +0100
18877
18878     [clip] Correctly compute a geometric mask for a rectilinear + arbitrary
18879     
18880     Fix up the geometric clipper to handle intersecting a rectilinear path
18881     with an arbitrary path and inspecting the result to see if it becomes a
18882     a region.
18883
18884  src/cairo-clip.c |   47 ++++++++++++++++++++++++++++++++++++++---------
18885  1 file changed, 38 insertions(+), 9 deletions(-)
18886
18887 commit 8a323d7c8998f308fc222d65badb1289e3f7fb54
18888 Author: Chris Wilson <chris@chris-wilson.co.uk>
18889 Date:   Sat Aug 29 14:15:07 2009 +0100
18890
18891     [clip] Apply surface offset when combining with clip mask
18892     
18893     In order to correctly combine the clip mask with the compositing mask the
18894     clip path must be offset so that it is relative to the destination
18895     surface.
18896
18897  src/cairo-clip-private.h      |    2 +-
18898  src/cairo-clip.c              |   85 +++++++++++++++++++++--------------------
18899  src/cairo-region.c            |    8 +++-
18900  src/cairo-surface-fallback.c  |    8 +---
18901  src/cairo-traps.c             |    8 +---
18902  src/cairo.h                   |    2 +-
18903  test/clip-stroke.xlib.ref.png |  Bin 1563 -> 1490 bytes
18904  7 files changed, 56 insertions(+), 57 deletions(-)
18905
18906 commit 21225a7163bc93d34d3e395c840faaba24046bb6
18907 Author: Chris Wilson <chris@chris-wilson.co.uk>
18908 Date:   Sat Aug 29 12:08:12 2009 +0100
18909
18910     [clip] Pass in destination offset for combining with clip-mask
18911     
18912     When combining a clip-mask with a subsurface, as when used to combine with
18913     the composite mask, we need to pass the destination surface offset to the
18914     clip so that the paths can be corrected for the new surface.
18915
18916  src/cairo-clip-private.h     |    4 +++-
18917  src/cairo-clip.c             |   45 +++++++++++++++++++++---------------------
18918  src/cairo-surface-fallback.c |   14 ++++++++-----
18919  3 files changed, 34 insertions(+), 29 deletions(-)
18920
18921 commit ac6c6fe1d39effd5b6b382f0f1199af824868ef4
18922 Author: Chris Wilson <chris@chris-wilson.co.uk>
18923 Date:   Sat Aug 29 12:07:20 2009 +0100
18924
18925     [test] Add rotated clip.
18926     
18927     Exercise a bug found in not offsetting the clip mask when combining with
18928     the composite mask.
18929
18930  test/Makefile.am               |    3 ++
18931  test/Makefile.sources          |    1 +
18932  test/rotated-clip.c            |  110 ++++++++++++++++++++++++++++++++++++++++
18933  test/rotated-clip.ps.ref.png   |  Bin 0 -> 3378 bytes
18934  test/rotated-clip.ref.png      |  Bin 0 -> 3761 bytes
18935  test/rotated-clip.xlib.ref.png |  Bin 0 -> 3922 bytes
18936  6 files changed, 114 insertions(+)
18937
18938 commit c60280782dfac7de1abe3230a500c7c98735dc02
18939 Author: Chris Wilson <chris@chris-wilson.co.uk>
18940 Date:   Sat Aug 29 09:59:36 2009 +0100
18941
18942     [script] Implement invert
18943     
18944     Flesh out matrix inversion.
18945
18946  util/cairo-script/cairo-script-operators.c |   26 +++++++++++++++++++++++++-
18947  1 file changed, 25 insertions(+), 1 deletion(-)
18948
18949 commit 06ca0b1475caf709fdf32b10a891dfb3b47cc6b1
18950 Author: Damian Frank <damianf@ubuntu-vm.(none)>
18951 Date:   Fri Aug 14 11:35:55 2009 -0500
18952
18953     Fix build on systems with older Xrender headers.
18954     
18955     This patch revises xlib so that it doesn't depend on having recent
18956     Xrender headers to build.  In particular, some definitions were added
18957     to the private xrender header file, and an ifdef render version check
18958     CAIRO_SURFACE_RENDER_SUPPORTS_OPERATOR was changed to a run-time
18959     check using CAIRO_SURFACE_RENDER_HAS_PDF_OPERATORS.
18960
18961  src/cairo-xlib-display.c         |    7 +++
18962  src/cairo-xlib-surface.c         |   30 ++-----------
18963  src/cairo-xlib-xrender-private.h |   90 ++++++++++++++++++++++++++++++++++----
18964  3 files changed, 93 insertions(+), 34 deletions(-)
18965
18966 commit 17ef949b6aaa812dd566f1db016055f8e1913320
18967 Author: Damian Frank <damianf@ubuntu-vm.(none)>
18968 Date:   Fri Aug 14 11:38:52 2009 -0500
18969
18970     Rename cairo-script static func to avoid MinGW conflict
18971     
18972     cairo-script-operators.c's _dup function was colliding with one
18973     defined in io.h by MinGW (gcc 4.3.0 package).  I renamed it
18974     to _duplicate.
18975
18976  util/cairo-script/cairo-script-operators.c |    4 ++--
18977  1 file changed, 2 insertions(+), 2 deletions(-)
18978
18979 commit 3e7e0eacef650f1035cfbe15e306116ff711f99c
18980 Author: Chris Wilson <chris@chris-wilson.co.uk>
18981 Date:   Sat Aug 29 17:07:41 2009 +0100
18982
18983     Update reference images
18984     
18985     Refresh the test reference images to match the current output where
18986     acceptable.
18987
18988  test/Makefile.am                                         |   14 ++++++++++++--
18989  test/clip-fill.xlib-fallback.ref.png                     |  Bin 1039 -> 1063 bytes
18990  test/clip-operator.pdf.argb32.ref.png                    |  Bin 9340 -> 9266 bytes
18991  test/clip-operator.pdf.rgb24.ref.png                     |  Bin 5146 -> 5166 bytes
18992  test/clip-operator.ref.png                               |  Bin 8191 -> 8126 bytes
18993  test/clip-operator.rgb24.ref.png                         |  Bin 3279 -> 3244 bytes
18994  test/clip-operator.svg12.argb32.xfail.png                |  Bin 8404 -> 8378 bytes
18995  test/clip-operator.svg12.rgb24.xfail.png                 |  Bin 4523 -> 4566 bytes
18996  test/clip-operator.xlib-fallback.ref.png                 |  Bin 3226 -> 3228 bytes
18997  test/clip-push-group.svg.ref.png                         |  Bin 0 -> 175 bytes
18998  test/clip-stroke.ref.png                                 |  Bin 1528 -> 1451 bytes
18999  test/clip-stroke.xlib-fallback.ref.png                   |  Bin 1566 -> 1490 bytes
19000  test/clip-stroke.xlib.ref.png                            |  Bin 1563 -> 1563 bytes
19001  test/clip-text.svg.ref.png                               |  Bin 933 -> 946 bytes
19002  test/clipped-group.ref.png                               |  Bin 316 -> 289 bytes
19003  test/clipped-group.svg.ref.png                           |  Bin 0 -> 250 bytes
19004  test/device-offset-fractional.pdf.xfail.png              |  Bin 275 -> 270 bytes
19005  test/extended-blend-alpha.svg12.argb32.xfail.png         |  Bin 6857 -> 6658 bytes
19006  test/filter-nearest-offset.pdf.xfail.png                 |  Bin 1926 -> 2152 bytes
19007  test/filter-nearest-transformed.pdf.xfail.png            |  Bin 488 -> 532 bytes
19008  test/ft-text-vertical-layout-type1.svg.ref.png           |  Bin 3609 -> 3607 bytes
19009  test/ft-text-vertical-layout-type1.xlib.ref.png          |  Bin 3640 -> 3639 bytes
19010  test/ft-text-vertical-layout-type3.svg.ref.png           |  Bin 3626 -> 3626 bytes
19011  test/ft-text-vertical-layout-type3.xlib.ref.png          |  Bin 3605 -> 3605 bytes
19012  test/group-unaligned.svg.argb32.xfail.png                |  Bin 522 -> 520 bytes
19013  test/leaky-dashed-rectangle.pdf.ref.png                  |  Bin 347 -> 380 bytes
19014  test/mask-glyphs.svg.ref.png                             |  Bin 1211158 -> 1211144 bytes
19015  test/mask.pdf.argb32.ref.png                             |  Bin 7837 -> 7866 bytes
19016  test/mask.pdf.rgb24.ref.png                              |  Bin 7301 -> 7336 bytes
19017  test/mask.svg.argb32.xfail.png                           |  Bin 8613 -> 8641 bytes
19018  test/mask.svg.rgb24.xfail.png                            |  Bin 7189 -> 7199 bytes
19019  test/operator-source.svg12.argb32.xfail.png              |  Bin 2951 -> 2967 bytes
19020  test/operator-source.svg12.rgb24.xfail.png               |  Bin 2963 -> 2976 bytes
19021  test/overlapping-glyphs.svg.argb32.ref.png               |  Bin 0 -> 2338 bytes
19022  test/overlapping-glyphs.svg.rgb24.ref.png                |  Bin 0 -> 2338 bytes
19023  test/radial-gradient.pdf.ref.png                         |  Bin 277162 -> 280944 bytes
19024  test/radial-gradient.svg.xfail.png                       |  Bin 0 -> 264425 bytes
19025  test/random-intersections-curves-eo.ref.png              |  Bin 246996 -> 245762 bytes
19026  .../random-intersections-curves-eo.xlib-fallback.ref.png |  Bin 246243 -> 244255 bytes
19027  test/random-intersections-curves-eo.xlib.ref.png         |  Bin 246243 -> 244255 bytes
19028  test/random-intersections-curves-nz.ref.png              |  Bin 267589 -> 264545 bytes
19029  .../random-intersections-curves-nz.xlib-fallback.ref.png |  Bin 266364 -> 264288 bytes
19030  test/random-intersections-curves-nz.xlib.ref.png         |  Bin 266360 -> 264288 bytes
19031  test/scale-offset-image.pdf.ref.png                      |  Bin 0 -> 10099 bytes
19032  test/scale-offset-image.pdf.xfail.png                    |  Bin 10099 -> 0 bytes
19033  test/scale-offset-image.script.xfail.png                 |  Bin 0 -> 9963 bytes
19034  test/scale-offset-similar.pdf.ref.png                    |  Bin 0 -> 10890 bytes
19035  test/scale-offset-similar.pdf.xfail.png                  |  Bin 11024 -> 0 bytes
19036  test/scale-offset-similar.script.xfail.png               |  Bin 0 -> 9963 bytes
19037  test/self-intersecting.ref.png                           |  Bin 301 -> 213 bytes
19038  test/smask-text.script.ref.png                           |  Bin 0 -> 1663 bytes
19039  test/smask.pdf.xfail.png                                 |  Bin 4393 -> 2848 bytes
19040  test/smask.script.ref.png                                |  Bin 0 -> 3396 bytes
19041  test/text-pattern.pdf.argb32.ref.png                     |  Bin 1831 -> 1810 bytes
19042  test/text-pattern.pdf.rgb24.ref.png                      |  Bin 1598 -> 1559 bytes
19043  test/unbounded-operator.svg12.rgb24.xfail.png            |  Bin 1719 -> 1731 bytes
19044  test/user-font-proxy.svg.ref.png                         |  Bin 16817 -> 16814 bytes
19045  test/user-font.pdf.ref.png                               |  Bin 0 -> 6241 bytes
19046  58 files changed, 12 insertions(+), 2 deletions(-)
19047
19048 commit 155e10e632cb647df5c3d54a75975bc16591287d
19049 Author: Chris Wilson <chris@chris-wilson.co.uk>
19050 Date:   Sat Aug 29 08:04:33 2009 +0100
19051
19052     [script] Fix use of freed list
19053     
19054     A typo, I missed converting the user over to the freshly sorted list,
19055     leaving it iterating over original but checking the sorted for termination
19056     conditions.
19057
19058  src/cairo-script-surface.c |    2 +-
19059  1 file changed, 1 insertion(+), 1 deletion(-)
19060
19061 commit 5393aa6d6c4676f20d316f3cd0a18bb497574e50
19062 Author: Chris Wilson <chris@chris-wilson.co.uk>
19063 Date:   Sat Aug 29 08:02:52 2009 +0100
19064
19065     [path] Return the canonical box.
19066     
19067     When returning the single box that represents a path, always return it
19068     consistently wound.
19069
19070  src/cairo-path-fill.c  |   32 --------------------------------
19071  src/cairo-path-fixed.c |   28 ++++++++++++++++++++++++----
19072  2 files changed, 24 insertions(+), 36 deletions(-)
19073
19074 commit afea5eb79d2159fe9a5dc1a1a7b9445e40fbb474
19075 Author: Chris Wilson <chris@chris-wilson.co.uk>
19076 Date:   Fri Aug 28 17:10:35 2009 +0100
19077
19078     [scaled-font] Fix implementation-face refleak
19079     
19080     If we found the font via the holdover cache, or if we returned due to an
19081     error, we would leak a reference count on the implementaton face.
19082
19083  src/cairo-scaled-font.c |    9 ++++++++-
19084  1 file changed, 8 insertions(+), 1 deletion(-)
19085
19086 commit e5d44937f34d35606ad7f07415be7331cf146567
19087 Author: Chris Wilson <chris@chris-wilson.co.uk>
19088 Date:   Fri Aug 28 17:09:54 2009 +0100
19089
19090     [ft] Improve error path handling.
19091     
19092     Specifically check for an error during resolving the font and do not cache
19093     the error object.
19094
19095  src/cairo-ft-font.c |   12 ++++++------
19096  1 file changed, 6 insertions(+), 6 deletions(-)
19097
19098 commit e76856e6ee563affc0a273ed6eef865866802dec
19099 Author: Chris Wilson <chris@chris-wilson.co.uk>
19100 Date:   Fri Aug 28 15:51:33 2009 +0100
19101
19102     [scaled-font] Refleak on error path.
19103     
19104     Perform the destroy of the local font before returning along the error
19105     path.
19106
19107  src/cairo-scaled-font.c |    9 ++++-----
19108  1 file changed, 4 insertions(+), 5 deletions(-)
19109
19110 commit d7d6f75ed26bc3ea040c618442ba71c89633ac7b
19111 Author: Chris Wilson <chris@chris-wilson.co.uk>
19112 Date:   Fri Aug 28 15:50:13 2009 +0100
19113
19114     [clip] Fix refleak of previous clipping surfaces.
19115     
19116     When combining previous clip masks, we leaked a referenced due to not
19117     destroying the returned reference.
19118
19119  src/cairo-clip.c |    9 ++++++---
19120  1 file changed, 6 insertions(+), 3 deletions(-)
19121
19122 commit 52e5ce3a36ab1cd7da25056df7f12ac0b23e410d
19123 Author: Chris Wilson <chris@chris-wilson.co.uk>
19124 Date:   Thu Aug 27 17:25:08 2009 +0100
19125
19126     [test] Add clip-stroke
19127     
19128     Soeren was the first to report a clipping regression in the xlib backend
19129     with strokes, and provided a test case to exercise the bug. This is an
19130     extension of his test to provide coverage of different clipping and
19131     stroking methods.
19132
19133  test/Makefile.am                       |    3 +
19134  test/Makefile.sources                  |    1 +
19135  test/clip-stroke.c                     |  121 ++++++++++++++++++++++++++++++++
19136  test/clip-stroke.ref.png               |  Bin 0 -> 1528 bytes
19137  test/clip-stroke.xlib-fallback.ref.png |  Bin 0 -> 1566 bytes
19138  test/clip-stroke.xlib.ref.png          |  Bin 0 -> 1563 bytes
19139  6 files changed, 125 insertions(+)
19140
19141 commit 20cdb99ae8ae0cc02193468e811b1b74b3f6d3b7
19142 Author: Chris Wilson <chris@chris-wilson.co.uk>
19143 Date:   Thu Aug 27 16:21:30 2009 +0100
19144
19145     [path-fixed] Distinguish cw and ccw boxes
19146     
19147     To correctly handle retessellating trapezods constructed from alternately
19148     wound boxes, then we need to pass that information from the path to the
19149     tessellator. We do this by switching the direction of the box if the first
19150     edge is horizontal as opposed to vertical.
19151
19152  src/cairo-path-fixed.c |    4 ++--
19153  1 file changed, 2 insertions(+), 2 deletions(-)
19154
19155 commit 219d46a9ebc47f99fa8fe9c6e3f0aa440309f032
19156 Author: Chris Wilson <chris@chris-wilson.co.uk>
19157 Date:   Thu Aug 27 14:45:24 2009 +0100
19158
19159     [scaled-font] Eliminate intermediate path when tracing glyphs
19160     
19161     Currently the tracing code for glyphs constructs an temporary path in
19162     order to replay and append to the output. This temporary allocation is
19163     extremely wasteful as we can just directly append the glyph path to
19164     the output path.
19165
19166  src/cairo-scaled-font.c |   51 ++++++++++++++++++++---------------------------
19167  1 file changed, 22 insertions(+), 29 deletions(-)
19168
19169 commit 2e05922737d63289a3f124699359b8d385315cbd
19170 Author: Chris Wilson <chris@chris-wilson.co.uk>
19171 Date:   Thu Aug 27 13:58:43 2009 +0100
19172
19173     [stroke] Handle degenerate stroke extents
19174     
19175     If the stroke is degenerate, i.e. the path consists only of a single
19176     move-to and no edges, then the stroke may be visible due to end-capping
19177     (as opposed to fills which are empty). So we also need to pad out the
19178     extents around the current point for the degenerate case.
19179
19180  src/cairo-path-bounds.c |   31 +++++++++++++------------------
19181  1 file changed, 13 insertions(+), 18 deletions(-)
19182
19183 commit cfd78393f357bc69233d4d00d0fb3a2ff736f1a7
19184 Author: Chris Wilson <chris@chris-wilson.co.uk>
19185 Date:   Wed Aug 26 23:32:34 2009 +0100
19186
19187     [path] Handle the implicit close for path_fixed_is_box()
19188     
19189     _cairo_path_fixed_is_box() is only called for filled paths and so must
19190     handle the implicit close (which was already being correctly handled by
19191     _cairo_path_fixed_iter_is_box).
19192
19193  src/cairo-path-fixed.c |   33 ++++++++++++++++++---------------
19194  1 file changed, 18 insertions(+), 15 deletions(-)
19195
19196 commit f22045bb4b9e700ce223c259ad41403dc7efe81f
19197 Author: Chris Wilson <chris@chris-wilson.co.uk>
19198 Date:   Wed Aug 26 23:30:02 2009 +0100
19199
19200     [fallback] Include implicit closes in the check for rectilinear paths
19201     
19202     Fixes test/implicit-close
19203     
19204     By forgetting the implicit-close when checking for rectilinear paths, we
19205     tried to feed the triangle (and other diagclose) into the specialised
19206     rectilinear tesselators which completely mishandled that final edge.
19207
19208  src/cairo-path-fixed-private.h |   14 ++++++++++++++
19209  src/cairo-surface-fallback.c   |    6 ++++--
19210  2 files changed, 18 insertions(+), 2 deletions(-)
19211
19212 commit 92f6f275fcb5407baf908485ffd08b6787b2caf9
19213 Author: Chris Wilson <chris@chris-wilson.co.uk>
19214 Date:   Wed Aug 26 23:27:46 2009 +0100
19215
19216     [test] Implicit close
19217     
19218     This is a simple test that broke with the determination of rectilinearity
19219     during path construction. I forgot the implicit close on fill and so the
19220     ignored the final diagonal edge and failed to draw the triangle.
19221
19222  test/Makefile.am            |    1 +
19223  test/Makefile.sources       |    1 +
19224  test/implicit-close.c       |   54 +++++++++++++++++++++++++++++++++++++++++++
19225  test/implicit-close.ref.png |  Bin 0 -> 251 bytes
19226  4 files changed, 56 insertions(+)
19227
19228 commit 8078cd194e95a10cf653c970d1ddd39049a511f2
19229 Author: Chris Wilson <chris@chris-wilson.co.uk>
19230 Date:   Sun Aug 23 15:25:42 2009 +0100
19231
19232     [boilerplate] Runtime library check
19233     
19234     For the purposes of benchmarking it is useful to run cairo-perf against a
19235     different library from the one it was compiled against. In order to do so,
19236     we need to check that the runtime library contains the required entry
19237     points for our targets - which we can check by using dlsym.
19238
19239  boilerplate/Makefile.am                        |    3 +++
19240  boilerplate/cairo-boilerplate-directfb.c       |    2 ++
19241  boilerplate/cairo-boilerplate-drm.c            |    2 ++
19242  boilerplate/cairo-boilerplate-gl.c             |    2 ++
19243  boilerplate/cairo-boilerplate-glitz-agl.c      |    2 ++
19244  boilerplate/cairo-boilerplate-glitz-glx.c      |    2 ++
19245  boilerplate/cairo-boilerplate-glitz-wgl.c      |    2 ++
19246  boilerplate/cairo-boilerplate-pdf.c            |    2 ++
19247  boilerplate/cairo-boilerplate-ps.c             |    4 ++++
19248  boilerplate/cairo-boilerplate-quartz.c         |    2 ++
19249  boilerplate/cairo-boilerplate-script.c         |    1 +
19250  boilerplate/cairo-boilerplate-skia.c           |    2 ++
19251  boilerplate/cairo-boilerplate-svg.c            |    4 ++++
19252  boilerplate/cairo-boilerplate-test-surfaces.c  |    8 +++++++
19253  boilerplate/cairo-boilerplate-vg.c             |    4 ++++
19254  boilerplate/cairo-boilerplate-win32-printing.c |    2 ++
19255  boilerplate/cairo-boilerplate-win32.c          |    2 ++
19256  boilerplate/cairo-boilerplate-xcb.c            |    1 +
19257  boilerplate/cairo-boilerplate-xlib.c           |    4 ++++
19258  boilerplate/cairo-boilerplate.c                |   29 +++++++++++++++++++++---
19259  boilerplate/cairo-boilerplate.h                |    1 +
19260  configure.ac                                   |    7 ++++++
19261  22 files changed, 85 insertions(+), 3 deletions(-)
19262
19263 commit 7447915381fc64bd0c66f7110c1dd0b8a10d73f5
19264 Author: Chris Wilson <chris@chris-wilson.co.uk>
19265 Date:   Sat Aug 22 22:20:35 2009 +0100
19266
19267     [script] Conditionalise the build
19268     
19269     Allow the interpreter to be disabled if we can not satisfy its dependencies.
19270
19271  configure.ac                  |    2 ++
19272  util/Makefile.am              |   11 +++++++++--
19273  util/cairo-script/Makefile.am |    2 +-
19274  3 files changed, 12 insertions(+), 3 deletions(-)
19275
19276 commit fcda9fc2f29c2ee7d0bb45c17a2261badfdf430c
19277 Author: Chris Wilson <chris@chris-wilson.co.uk>
19278 Date:   Sat Aug 22 18:48:33 2009 +0100
19279
19280     [scaled-font] Remove assert from cairo_scled_font_create()
19281     
19282     The assert() is only correct for the normal paths, but failed on the error
19283     path. It has been run for long enough for me to be confident that the code
19284     is self-consistent, so I think I can now safely remove it.
19285
19286  src/cairo-scaled-font.c |    5 ++++-
19287  1 file changed, 4 insertions(+), 1 deletion(-)
19288
19289 commit 93cfa7376fb505e676d113e8ef431bab9b497f56
19290 Author: Chris Wilson <chris@chris-wilson.co.uk>
19291 Date:   Sat Aug 22 18:45:54 2009 +0100
19292
19293     [win32] Use the system scaled_font_done
19294     
19295     Pointless as both functions are empty, but lets be pedantically correct
19296     nevertheless.
19297
19298  src/cairo-win32-font.c |    5 ++++-
19299  1 file changed, 4 insertions(+), 1 deletion(-)
19300
19301 commit 8654a4b35c060ab06860c124a643be912060c4a1
19302 Author: Chris Wilson <chris@chris-wilson.co.uk>
19303 Date:   Sat Aug 22 18:16:20 2009 +0100
19304
19305     [win32] Initialize clip_region
19306     
19307     Eek, I attempted to destroy an uninitialised region on the first use
19308     of a clip.
19309
19310  src/cairo-win32-surface.c |    3 +++
19311  1 file changed, 3 insertions(+)
19312
19313 commit 9b33a2e1c794996cbe4cb0a5c773d50566d46bd4
19314 Author: Chris Wilson <chris@chris-wilson.co.uk>
19315 Date:   Sat Aug 22 17:40:12 2009 +0100
19316
19317     [win32] Compiler warnings
19318     
19319     Innocuous warnings about the use of mismatching explicit casts (I'm really
19320     not convinced by the merits of this particular compiler warning, but it
19321     does cleanse the code slightly.)
19322
19323  src/cairo-win32-printing-surface.c |   24 ++++++++++++------------
19324  1 file changed, 12 insertions(+), 12 deletions(-)
19325
19326 commit d1740d8782d90edb5b5e20dc5bcadb7a9eeeb4cc
19327 Author: Chris Wilson <chris@chris-wilson.co.uk>
19328 Date:   Thu Aug 20 21:11:11 2009 +0100
19329
19330     [pattern] Ensure that no repeated pattern is clipped
19331     
19332     Previously the pattern_acquire_surface routine only had to worry about
19333     handling extend modes NONE or REPEAT and so the test for ! REPEAT
19334     sufficed when what was actually intended was a test for NONE.
19335
19336  src/cairo-pattern.c |    2 +-
19337  1 file changed, 1 insertion(+), 1 deletion(-)
19338
19339 commit 958f7ab1238b8242975d3ea774c26d23e090e70c
19340 Author: Chris Wilson <chris@chris-wilson.co.uk>
19341 Date:   Wed Aug 19 12:35:00 2009 +0100
19342
19343     [script] Support running on cairo-1.8
19344     
19345     Pre 1.9 the application had to pass a resolved font to cairo -- so do so
19346     in the interpreter if the cairo version is less than 1.9
19347
19348  util/cairo-script/cairo-script-operators.c |   18 +++++++++++++++---
19349  1 file changed, 15 insertions(+), 3 deletions(-)
19350
19351 commit 87175334a574fa0f69679b1a0baeeb881eaa439b
19352 Author: Chris Wilson <chris@chris-wilson.co.uk>
19353 Date:   Fri Aug 21 15:51:12 2009 +0100
19354
19355     [gl] Use spans for trapezois.
19356     
19357     Always use spans, even for unaligned boxes. In the future (given a new
19358     interface) we may want to emit the common unaligned box code more
19359     efficient than a per-scanline computation -- but for now simply avoid the
19360     requirements to write a temporary CPU buffer.
19361
19362  src/cairo-gl-surface.c       |   22 ++++++++++++++++++----
19363  src/cairo-image-surface.c    |    4 +---
19364  src/cairo-surface-fallback.c |   10 ++--------
19365  src/cairo-surface.c          |   27 ++++++++++-----------------
19366  src/cairo-win32-surface.c    |    4 +---
19367  src/cairoint.h               |   18 ++++++++++++++----
19368  6 files changed, 46 insertions(+), 39 deletions(-)
19369
19370 commit e65dfacab5d123913a4b2f59967f27c0b0af0692
19371 Author: Chris Wilson <chris@chris-wilson.co.uk>
19372 Date:   Fri Aug 21 15:50:24 2009 +0100
19373
19374     [gl] Simplify acquire_dest_image()
19375     
19376     Remove redundant code: the intersection of surface extents and the copy to
19377     a temporary buffer.
19378
19379  src/cairo-gl-surface.c |   53 +++++++++++-------------------------------------
19380  1 file changed, 12 insertions(+), 41 deletions(-)
19381
19382 commit 5a13396373180ceae31287441ef9c838c771849d
19383 Author: Chris Wilson <chris@chris-wilson.co.uk>
19384 Date:   Fri Aug 21 15:48:38 2009 +0100
19385
19386     [gl] Use common ARRAY_LENGTH macro
19387     
19388     Forgo the local ARRAY_SIZE macro where the common one will suffice.
19389
19390  src/cairo-gl-surface.c |    4 +---
19391  1 file changed, 1 insertion(+), 3 deletions(-)
19392
19393 commit efdb53425ee71b3bce6c92ce212f5baf3e2a43d7
19394 Author: Chris Wilson <chris@chris-wilson.co.uk>
19395 Date:   Fri Aug 21 11:58:31 2009 +0100
19396
19397     [qt] Discard impossible status return from path construction
19398     
19399     As we never return an error status during the path construction, we can
19400     use the return value for the QPainterPath instead, greatly simplifying the
19401     callers.
19402
19403  src/cairo-qt-surface.cpp |  105 +++++++++++++++++++---------------------------
19404  1 file changed, 42 insertions(+), 63 deletions(-)
19405
19406 commit f2cde41cabaa0c190ef965f634cf2c73b6ba2334
19407 Author: Chris Wilson <chris@chris-wilson.co.uk>
19408 Date:   Fri Aug 21 10:29:39 2009 +0100
19409
19410     [cairoint.h] Add missing cairo_private to debug prototypes.
19411
19412  src/cairoint.h |    4 ++--
19413  1 file changed, 2 insertions(+), 2 deletions(-)
19414
19415 commit b6d96bba8a4e9efe1033dd7fc875aba9bd8d0dc8
19416 Author: Chris Wilson <chris@chris-wilson.co.uk>
19417 Date:   Thu Aug 20 20:31:49 2009 +0100
19418
19419     [win32] Trust the clipping code to trim roi to our surface
19420     
19421     The higher level code ensures that the region of interest is trimmed to
19422     our declared surface extents, so performing the intersection again is
19423     redundant. Furthermore with the change in the clipping code, the
19424     fallback region is no longer clipped, especially as the clip that is
19425     currently set upon the DC is likely to be stale and incorrect for the
19426     fallback.
19427     
19428     Hopefully this resolves the assertion failure reported by Damian Frank,
19429     http://lists.cairographics.org/archives/cairo/2009-August/018015.html
19430     
19431     CC:  Damian Frank <damian.frank@gmail.com>
19432
19433  src/cairo-win32-surface.c |   53 ++++++++-------------------------------------
19434  1 file changed, 9 insertions(+), 44 deletions(-)
19435
19436 commit d7faec024ac9f702c9bb305599ef8960a972491a
19437 Author: Vladimir Vukicevic <vladimir@pobox.com>
19438 Date:   Mon Jun 15 11:15:22 2009 +0100
19439
19440     Add skia backend
19441     
19442     Originally written by Vladimir Vukicevic to investigate using Skia for
19443     Mozilla, it provides a nice integration with a rather interesting code
19444     base. By hooking Skia underneath Cairo it allows us to directly compare
19445     code paths... which is interesting.
19446     
19447     [updated by Chris Wilson]
19448
19449  boilerplate/Makefile.sources         |    1 +
19450  boilerplate/Makefile.win32.features  |   10 +
19451  boilerplate/cairo-boilerplate-skia.c |   50 ++
19452  build/Makefile.win32.features        |    1 +
19453  build/Makefile.win32.features-h      |    3 +
19454  build/configure.ac.features          |    1 +
19455  configure.ac                         |   13 +
19456  perf/cairo-perf-trace.c              |    3 +
19457  perf/cairo-perf.c                    |    3 +
19458  src/Makefile.sources                 |    3 +
19459  src/Makefile.win32.features          |   14 +
19460  src/cairo-skia-surface.cpp           | 1174 ++++++++++++++++++++++++++++++++++
19461  src/cairo-skia.h                     |   84 +++
19462  src/cairo.h                          |    4 +-
19463  14 files changed, 1363 insertions(+), 1 deletion(-)
19464
19465 commit af6df4af51ad75a956e3b73542647206ab534bd2
19466 Author: Chris Wilson <chris@chris-wilson.co.uk>
19467 Date:   Thu Aug 20 12:54:12 2009 +0100
19468
19469     [configure] Choose a better name for the 'temporary' egl iterator
19470     
19471     The problem is that it remains referenced by egl_NONPKGCONFIG_LIBS and so
19472     must not be subsequently overwritten, so give it an egl_ prefix.
19473
19474  configure.ac |   12 ++++++++++--
19475  1 file changed, 10 insertions(+), 2 deletions(-)
19476
19477 commit 83c2f44dd954cb491d72834d0362d6d801ef7651
19478 Author: Chris Wilson <chris@chris-wilson.co.uk>
19479 Date:   Thu Aug 20 12:16:55 2009 +0100
19480
19481     [test] Update REFERENCE_IMAGES
19482
19483  test/Makefile.am |    5 ++---
19484  1 file changed, 2 insertions(+), 3 deletions(-)
19485
19486 commit f99e1841448e98be6161be57551153a6d9e28a13
19487 Author: Chris Wilson <chris@chris-wilson.co.uk>
19488 Date:   Thu Aug 20 12:11:51 2009 +0100
19489
19490     [build] Remove -Wcast-align
19491     
19492     Use -Wcast-align simply generates too much noise due to false-positive
19493     reports when casting pixels to uint32_t.
19494
19495  build/configure.ac.warnings |    5 ++++-
19496  1 file changed, 4 insertions(+), 1 deletion(-)
19497
19498 commit 5fdf5b311e06e49843e924523e9bc91ba14da3bb
19499 Author: Chris Wilson <chris@chris-wilson.co.uk>
19500 Date:   Wed Aug 19 08:35:01 2009 +0100
19501
19502     [fallback] Reduce paint + clipmask to fill
19503     
19504     Under simple, yet common, conditions using a bounded operator and painting
19505     with a single complex clip we can reduce the strength of that operation to
19506     a fill. In effect this removes the need for a temporary mask for some
19507     backends (GL, drm, xlib).
19508
19509  src/cairo-surface-fallback.c |   26 +++++++++++++++++---------
19510  1 file changed, 17 insertions(+), 9 deletions(-)
19511
19512 commit 425b0e35e2d7d44d99e22169b98fc3ca05763650
19513 Author: Chris Wilson <chris@chris-wilson.co.uk>
19514 Date:   Tue Aug 18 14:25:25 2009 +0100
19515
19516     Add xml surface
19517     
19518     A very simple surface that produces a hierarchical DAG in a simple XML
19519     format. It is intended to be used whilst debugging, for example with the
19520     automatic regression finding tools of cairo-sphinx, and with test suites
19521     that just want to verify that their code made a particular Cairo call.
19522
19523  boilerplate/Makefile.win32.features      |   10 +
19524  build/Makefile.win32.features            |    1 +
19525  build/Makefile.win32.features-h          |    3 +
19526  build/configure.ac.features              |    1 +
19527  configure.ac                             |    4 +
19528  src/Makefile.sources                     |   18 +-
19529  src/Makefile.win32.features              |   14 +
19530  src/cairo-base64-stream.c                |  143 ++++
19531  src/cairo-base85-stream.c                |    3 -
19532  src/cairo-output-stream-private.h        |    4 +
19533  src/cairo-ps-surface.c                   |    4 +
19534  src/cairo-script-surface.c               |   18 +-
19535  src/cairo-xml-surface.c                  | 1153 ++++++++++++++++++++++++++++++
19536  src/cairo-xml.h                          |   72 ++
19537  src/cairo.h                              |    4 +-
19538  util/Makefile.am                         |   11 +-
19539  util/cairo-script/cairo-script-scanner.c |  113 +++
19540  util/trace-to-xml.c                      |   77 ++
19541  util/xml-to-trace.c                      |  263 +++++++
19542  19 files changed, 1902 insertions(+), 14 deletions(-)
19543
19544 commit 6e0b3be903a6c3ad948de95f490cff92430429a6
19545 Author: Chris Wilson <chris@chris-wilson.co.uk>
19546 Date:   Tue Aug 18 10:55:54 2009 +0100
19547
19548     Add cairo-sphinx utility for regression analysis
19549     
19550     sphinx is an alternate version of the current cairo-test-trace. It's
19551     purpose is to replay a live application (which may just be a replay of a
19552     trace) against a backend and its reference. The improvement over the
19553     original cairo-test-trace is that the reference backend may be from an
19554     older version of cairo.
19555
19556  configure.ac                  |    6 +
19557  util/Makefile.am              |    6 +
19558  util/cairo-sphinx/.gitignore  |    1 +
19559  util/cairo-sphinx/Makefile.am |   40 ++
19560  util/cairo-sphinx/fdr.c       |  260 +++++++
19561  util/cairo-sphinx/sphinx.c    | 1525 +++++++++++++++++++++++++++++++++++++++++
19562  6 files changed, 1838 insertions(+)
19563
19564 commit c980affce05590f5f52273ba340463f00773c776
19565 Author: Chris Wilson <chris@chris-wilson.co.uk>
19566 Date:   Tue Aug 18 10:54:26 2009 +0100
19567
19568     [script] Apply device offset when replaying meta surface
19569     
19570     As we set the size of the surface to fit the ink extents of the meta
19571     surface, we also need to ensure that the origin  of the script lies at the
19572     origin of the ink extents.
19573
19574  src/cairo-script-surface.c |    2 ++
19575  1 file changed, 2 insertions(+)
19576
19577 commit eb33f842dc9a2555ba8f7948f49a8335db951959
19578 Author: Chris Wilson <chris@chris-wilson.co.uk>
19579 Date:   Mon Aug 17 11:38:52 2009 +0100
19580
19581     [meta] Missing status check
19582     
19583     We need to check the status on the created image before use.
19584
19585  src/cairo-meta-surface.c |    2 ++
19586  1 file changed, 2 insertions(+)
19587
19588 commit ce6a2cc5d2cb8a299759d764de2e7d2b6b655cb4
19589 Author: Chris Wilson <chris@chris-wilson.co.uk>
19590 Date:   Mon Aug 17 10:31:47 2009 +0100
19591
19592     [wrapper] Always copy clip
19593     
19594     We always need to make a local copy of the clip as the backends are free
19595     to modify it as they process the operation.
19596
19597  src/cairo-surface-wrapper.c |   60 +++++++++++++++++++++++++++++++------------
19598  1 file changed, 44 insertions(+), 16 deletions(-)
19599
19600 commit 6ff711b6305a9cf65e584d92258a6fa4e78c31ef
19601 Author: Chris Wilson <chris@chris-wilson.co.uk>
19602 Date:   Mon Aug 17 10:11:32 2009 +0100
19603
19604     [matrix] Improve bbox finding for translation matrix
19605     
19606     If the matrix is a pure translation matrix than we can skip determination
19607     of the extents and just translate the input bbox.
19608
19609  src/cairo-matrix.c |   56 +++++++++++++++++++++++++++-------------------------
19610  1 file changed, 29 insertions(+), 27 deletions(-)
19611
19612 commit cd7b27ff5c01a533c2c065c4b455ad19df2be3bb
19613 Author: Chris Wilson <chris@chris-wilson.co.uk>
19614 Date:   Sun Aug 16 21:08:22 2009 +0100
19615
19616     Add 'flight-data-recorder' utility.
19617     
19618     This is a simple variation on cairo-trace that wraps records the last 16
19619     contexts by wrapping the target surface inside a tee surface, along with a
19620     meta/recording surface. Then on receipt of a SIGUSR1, those last 16
19621     contexts are played via a script-surface into /tmp/fdr.trace.
19622     
19623     Mostly proof-of-concept, it seems to be causing a number of rendering
19624     glitches whilst testing with firefox -- otherwise, it seems to works.
19625
19626  configure.ac                    |    1 +
19627  src/cairo-scaled-font-private.h |    3 +
19628  src/cairo-scaled-font.c         |   16 +++
19629  src/cairo-script-surface.c      |   58 +++++++-
19630  src/cairo-script.h              |    4 +
19631  src/cairo.h                     |    4 +
19632  util/Makefile.am                |    3 +
19633  util/cairo-fdr/Makefile.am      |   13 ++
19634  util/cairo-fdr/fdr.c            |  304 +++++++++++++++++++++++++++++++++++++++
19635  9 files changed, 400 insertions(+), 6 deletions(-)
19636
19637 commit 658cdc7c9aac23f82f3ea5db8df10844aeb3ac75
19638 Author: Chris Wilson <chris@chris-wilson.co.uk>
19639 Date:   Sun Aug 16 18:04:54 2009 +0100
19640
19641     Introduce cairo_tee_surface_t
19642     
19643     Add a new surface type that multiplies it input onto several output
19644     surfaces. The only limitation is that it requires a master surface that is
19645     used whenever we need to query surface options, such as font options and
19646     extents.
19647
19648  boilerplate/Makefile.win32.features |    8 +
19649  build/Makefile.win32.features-h     |    1 +
19650  build/configure.ac.features         |    1 +
19651  configure.ac                        |    1 +
19652  src/Makefile.sources                |    6 +-
19653  src/Makefile.win32.features         |    8 +
19654  src/cairo-surface-wrapper-private.h |    4 +
19655  src/cairo-surface-wrapper.c         |    7 +
19656  src/cairo-surface.c                 |   11 +
19657  src/cairo-tee-surface-private.h     |   47 +++
19658  src/cairo-tee-surface.c             |  558 +++++++++++++++++++++++++++++++++++
19659  src/cairo.h                         |   13 +-
19660  12 files changed, 662 insertions(+), 3 deletions(-)
19661
19662 commit 4ae7186719b25f052b875549cc5377e16a557512
19663 Author: Chris Wilson <chris@chris-wilson.co.uk>
19664 Date:   Sun Aug 16 17:07:00 2009 +0100
19665
19666     [script] Correct emission of get_target() for a popped context
19667     
19668     If the context is no longer on the operand stack, then we need to recall
19669     the surface via a definition.
19670
19671  src/cairo-script-surface.c |   53 ++++++++++++++++++++++++++------------------
19672  1 file changed, 32 insertions(+), 21 deletions(-)
19673
19674 commit 8d1bf830c0137eac837091bda92a636c0fcb0456
19675 Author: Chris Wilson <chris@chris-wilson.co.uk>
19676 Date:   Sun Aug 16 14:20:35 2009 +0100
19677
19678     Fix errors found by clang
19679     
19680     Shadowed variables, unused writes and some dead code.
19681
19682  src/cairo-pdf-surface.c                    |    2 --
19683  src/cairo-xlib-surface.c                   |    5 ++---
19684  util/cairo-script/cairo-script-file.c      |   10 +++-------
19685  util/cairo-script/cairo-script-operators.c |   23 ++++++++++++++++-------
19686  util/cairo-trace/trace.c                   |   14 ++++++++------
19687  5 files changed, 29 insertions(+), 25 deletions(-)
19688
19689 commit d8dbce021a4493330864154e67ca6e4a1f2f50b2
19690 Author: Chris Wilson <chris@chris-wilson.co.uk>
19691 Date:   Sun Aug 16 13:26:59 2009 +0100
19692
19693     [script] recursive active (type3 glyphs)
19694     
19695     The assumption that an active surface could not recurse into another
19696     operation was invalid - due to the complexity of handling type3 glyphs.
19697
19698  src/cairo-script-surface.c |   11 +++++------
19699  1 file changed, 5 insertions(+), 6 deletions(-)
19700
19701 commit eba6b5126a55c84706e677b3fc88743f64cc28d7
19702 Author: Chris Wilson <chris@chris-wilson.co.uk>
19703 Date:   Sun Aug 16 12:47:14 2009 +0100
19704
19705     [build] Add options for warning about bad casts
19706     
19707     -Wbad-function-cast in particular. Triggers quite a few warnings where we
19708     have explicitly cast to an integer.
19709
19710  build/configure.ac.warnings                |    9 +-
19711  src/cairo-arc.c                            |    2 +-
19712  src/cairo-pdf-surface.c                    |    8 +-
19713  src/cairo-ps-surface.c                     |   20 ++--
19714  src/cairo-svg-surface.c                    |    4 +-
19715  util/cairo-script/cairo-script-objects.c   |    4 +-
19716  util/cairo-script/cairo-script-operators.c |  172 +++++++++++++++++++---------
19717  util/cairo-script/cairo-script-private.h   |    6 +-
19718  8 files changed, 143 insertions(+), 82 deletions(-)
19719
19720 commit 33ef32af4e7adce41f035ee378279c19577469b0
19721 Author: Chris Wilson <chris@chris-wilson.co.uk>
19722 Date:   Sun Aug 16 12:46:20 2009 +0100
19723
19724     [clip] Use the rectangular tessellator to extract boxes
19725
19726  src/cairo-clip.c             |   17 ++++++++++-------
19727  src/cairo-path-fill.c        |   29 ++++++++++++++++++++++-------
19728  src/cairo-surface-fallback.c |    8 ++++----
19729  3 files changed, 36 insertions(+), 18 deletions(-)
19730
19731 commit ab035ab2c7bec254fc94d6391398905b5039e777
19732 Author: Chris Wilson <chris@chris-wilson.co.uk>
19733 Date:   Fri Aug 28 10:06:04 2009 +0100
19734
19735     [tessellate] Rectangular special case
19736     
19737     Add an even simpler sweep-line tessellator for rectangular trapezoids (as
19738     produced by the rectilinear stoker and box filler).
19739     
19740     This is so simple it even outperforms pixman's region validation code for the
19741     purposes of path-to-region conversion.
19742
19743  src/Makefile.sources                    |    1 +
19744  src/cairo-bentley-ottmann-rectangular.c |  733 +++++++++++++++++++++++++++++++
19745  src/cairo-clip.c                        |   26 +-
19746  src/cairo-path-fill.c                   |   40 +-
19747  src/cairo-path-stroke.c                 |    3 +-
19748  src/cairo-surface-fallback.c            |   95 +++-
19749  src/cairo-traps.c                       |   28 +-
19750  src/cairoint.h                          |    5 +
19751  8 files changed, 883 insertions(+), 48 deletions(-)
19752
19753 commit d7b0c3b784faba756b10b66b9757e6e4c3fce38c
19754 Author: Chris Wilson <chris@chris-wilson.co.uk>
19755 Date:   Thu Aug 13 22:03:06 2009 +0100
19756
19757     [script] Track scaled-font
19758     
19759     Instead of emitting the (font-face, matrix and options) elements when
19760     setting up the desired font on the matrix, simply restore the scaled-font.
19761
19762  src/cairo-script-surface.c |   39 ++++++++++++++++++++++-----------------
19763  1 file changed, 22 insertions(+), 17 deletions(-)
19764
19765 commit 7306305cc898c9f27957c6c6717028cbdcff6a5a
19766 Author: Chris Wilson <chris@chris-wilson.co.uk>
19767 Date:   Thu Aug 13 21:59:12 2009 +0100
19768
19769     [script] Emit surface content
19770     
19771     Include the desired content with the creation info.
19772
19773  boilerplate/cairo-boilerplate-script.c |    2 +-
19774  src/cairo-script-surface.c             |   34 ++++++++++++++++++++------------
19775  src/cairo-script.h                     |    1 +
19776  util/cairo-trace/trace.c               |    5 ++++-
19777  4 files changed, 27 insertions(+), 15 deletions(-)
19778
19779 commit 052211b072788f0977dccebdcf681d4874f2487a
19780 Author: Chris Wilson <chris@chris-wilson.co.uk>
19781 Date:   Thu Aug 13 20:16:51 2009 +0100
19782
19783     [script] Garbage collect contexts on context switch
19784     
19785     Previously the contexts were permanently associated with the surface and
19786     only destroyed along with the final reference to the surface. This meant
19787     that we kept a large number of unwanted contexts in memory. Most
19788     applications only have a few contexts active at any time, so remove
19789     inactive contexts from the operand stack every time we perform an
19790     operation on a different context.
19791
19792  src/cairo-script-surface.c |  262 +++++++++++++++++++++++++++++++-------------
19793  1 file changed, 184 insertions(+), 78 deletions(-)
19794
19795 commit 8f8b91d9049433c9210e0b3aad574cf659862ae0
19796 Author: Chris Wilson <chris@chris-wilson.co.uk>
19797 Date:   Thu Aug 13 18:37:01 2009 +0100
19798
19799     [script] Wrap snapshot.
19800     
19801     Use the snapshot of our target surface if available.
19802
19803  src/cairo-script-surface.c          |   20 ++++++++++++++++----
19804  src/cairo-surface-wrapper-private.h |    3 +++
19805  src/cairo-surface-wrapper.c         |    6 ++++++
19806  3 files changed, 25 insertions(+), 4 deletions(-)
19807
19808 commit fee647c98506eedad0fea667a9442786cb0804b7
19809 Author: Chris Wilson <chris@chris-wilson.co.uk>
19810 Date:   Thu Aug 13 18:35:48 2009 +0100
19811
19812     [script] Read from a FILE stream
19813     
19814     For ease of implementing the interpreter inside a pipeline, add a method
19815     to execute a FILE *.
19816
19817  util/cairo-script/cairo-script-interpreter.c |   22 ++++++++++++++++++++++
19818  util/cairo-script/cairo-script-interpreter.h |    4 ++++
19819  2 files changed, 26 insertions(+)
19820
19821 commit a9d997fecd54cea7dcd71487a24dbae14d0073a8
19822 Author: Chris Wilson <chris@chris-wilson.co.uk>
19823 Date:   Thu Aug 13 17:21:05 2009 +0100
19824
19825     [script] Introduce cairo_script_context_t
19826     
19827     cairo_script_context_t is an encapsulation object for interfacing with the
19828     output - multiple surfaces can share the same context, meaning that they
19829     write to the same destination file/stream.
19830
19831  boilerplate/cairo-boilerplate-script.c |    5 +-
19832  boilerplate/cairo-boilerplate.c        |   26 +---
19833  src/cairo-script-surface.c             |  225 ++++++++++++++------------------
19834  src/cairo-script.h                     |   47 ++++---
19835  test/cairo-test-trace.c                |    5 +-
19836  util/cairo-script/csi-trace.c          |   13 +-
19837  util/cairo-trace/trace.c               |   20 +--
19838  7 files changed, 145 insertions(+), 196 deletions(-)
19839
19840 commit 28887ac272c8a36a41da4d6d58044164b94da6f3
19841 Author: Chris Wilson <chris@chris-wilson.co.uk>
19842 Date:   Thu Aug 13 16:38:08 2009 +0100
19843
19844     [trace] Fix emission of similar (track operands)
19845
19846  util/cairo-trace/trace.c |   13 ++++++-------
19847  1 file changed, 6 insertions(+), 7 deletions(-)
19848
19849 commit dbd9438f5d01666ea118254427c0dc66a519ec3e
19850 Author: Chris Wilson <chris@chris-wilson.co.uk>
19851 Date:   Thu Aug 13 15:57:30 2009 +0100
19852
19853     [stroke] Only mark traps as having intersection if non-empty.
19854     
19855     We were hitting an assertion attempting to eliminate intersections inside
19856     the rectilinear tessellator for empty strokes. We can avoid this
19857     assertion, by only marking the traps as having potential intersections iff
19858     it is non-empty.
19859
19860  src/cairo-path-stroke.c |    5 ++---
19861  1 file changed, 2 insertions(+), 3 deletions(-)
19862
19863 commit 60d73da9f2e148e982254c78773f0b925be184ff
19864 Author: Chris Wilson <chris@chris-wilson.co.uk>
19865 Date:   Mon Aug 24 08:04:12 2009 +0100
19866
19867     [clip] Cache intermediate clip masks.
19868     
19869     As we now superimpose a per-operation clip, this defeats the current
19870     top-level caching mechanism. Instead we need to cache the mask for
19871     each path. This still seems quite wasteful, and an avenue would be to
19872     avoid caching if the path is rectilinear and reduce the number of
19873     required composite operations. (However, first find test case...)
19874
19875  src/cairo-clip.c |  165 +++++++++++++++++++++++++++++++++---------------------
19876  src/cairoint.h   |    3 +
19877  2 files changed, 104 insertions(+), 64 deletions(-)
19878
19879 commit 50c7d637f3a97031c5f4e2bc8d41d17e5397db45
19880 Author: Chris Wilson <chris@chris-wilson.co.uk>
19881 Date:   Thu Aug 13 15:49:11 2009 +0100
19882
19883     [trace] Emit an 'index' for an undefined surface
19884     
19885     Larry Ewing hit a bug in cairo-trace whereby it tried to create a similar
19886     surface referencing an undefined object. This fix checks whether the
19887     object has yet to be defined, and if not issues an index in order to copy
19888     the appropriate operand from the stack.
19889
19890  util/cairo-trace/trace.c |   21 ++++++++++-----------
19891  1 file changed, 10 insertions(+), 11 deletions(-)
19892
19893 commit 3a483c2896c28142a90bd0e282af3862e066adfe
19894 Author: Chris Wilson <chris@chris-wilson.co.uk>
19895 Date:   Thu Aug 13 00:19:03 2009 +0100
19896
19897     [gstate] Convert simple mask() into a paint()
19898     
19899     As using mask() prevents various optimisations in the backends (for
19900     example the use of geometric clips) and for some may trigger fallbacks,
19901     perform the simplifications usually done (too late) by the pattern layer
19902     in the generic gstate layer. This allows us on the odd occasion to
19903     transform a mask() into a paint() but perhaps more importantly removes the
19904     need for identical transformations in each backend.
19905
19906  src/cairo-gstate.c |  101 +++++++++++++++++++++++++++++++++++++++++++++++-----
19907  src/cairoint.h     |    9 ++---
19908  2 files changed, 98 insertions(+), 12 deletions(-)
19909
19910 commit e2c31183e96f84e7d40a9e5e2b6b8802d47628d0
19911 Author: Chris Wilson <chris@chris-wilson.co.uk>
19912 Date:   Tue Aug 11 23:45:30 2009 +0100
19913
19914     [script] Handle zero-length strings
19915     
19916     Not sure where the zero length string is coming from, but we should
19917     nevertheless handle it.
19918
19919  util/cairo-script/cairo-script-scanner.c |    3 ++-
19920  1 file changed, 2 insertions(+), 1 deletion(-)
19921
19922 commit 4c215162d24453788b3a461aa47ccf2e638db35e
19923 Author: Chris Wilson <chris@chris-wilson.co.uk>
19924 Date:   Tue Aug 11 23:40:54 2009 +0100
19925
19926     [script] Off-by-one in allocation of string length.
19927     
19928     We need pass in the real number of bytes in the string, excluding the NUL
19929     terminator which is already accounted for.
19930
19931  util/cairo-script/cairo-script-scanner.c |    2 +-
19932  1 file changed, 1 insertion(+), 1 deletion(-)
19933
19934 commit 55eddb7ef4b6b561d6692a6f074834d5d5fb94fa
19935 Author: Chris Wilson <chris@chris-wilson.co.uk>
19936 Date:   Tue Aug 11 23:40:04 2009 +0100
19937
19938     [script] A little utility to convert a trace into a trace
19939     
19940     Replay the trace using the interpreter onto a script surface - useful for
19941     checking idempotency.
19942
19943  util/cairo-script/Makefile.am |    6 ++++++
19944  util/cairo-script/csi-trace.c |   40 ++++++++++++++++++++++++++++++++++++++++
19945  2 files changed, 46 insertions(+)
19946
19947 commit 4f129863df6392f3deaf6e76fd15adeba98e41b8
19948 Author: Chris Wilson <chris@chris-wilson.co.uk>
19949 Date:   Tue Aug 11 23:38:42 2009 +0100
19950
19951     [script] Store the current stroke matrix
19952     
19953     We can skip re-emitting stroke parameters if the values are unchanged and
19954     the scaling matrix is unaltered.
19955
19956  src/cairo-script-surface.c |   46 +++++++++++++++++++++++++++++++++++---------
19957  1 file changed, 37 insertions(+), 9 deletions(-)
19958
19959 commit 858211f3944507362b2a18d56a65e9a478ccd305
19960 Author: Chris Wilson <chris@chris-wilson.co.uk>
19961 Date:   Tue Aug 11 22:43:31 2009 +0100
19962
19963     [script] Suppress resetting stroke-style elements after matrix switch
19964     
19965     If the user is just using the default values, there is no point re-emitting
19966     them.
19967
19968  src/cairo-script-surface.c |   42 ++++++++++++++++++++++++++----------------
19969  1 file changed, 26 insertions(+), 16 deletions(-)
19970
19971 commit b6db3053dcde99e26471fdeaedcadd4a6f93b5ef
19972 Author: Chris Wilson <chris@chris-wilson.co.uk>
19973 Date:   Tue Aug 11 22:30:58 2009 +0100
19974
19975     [script] Hide the implicit CLEAR for similar surfaces
19976     
19977     Do emit the clear that is performed by the surface layer on similar
19978     surfaces.
19979
19980  src/cairo-script-surface.c |   43 +++++++++++++++++++++++++++++++++++++++++++
19981  1 file changed, 43 insertions(+)
19982
19983 commit 005b195f062d896d76a87d608ce313b169f99201
19984 Author: Chris Wilson <chris@chris-wilson.co.uk>
19985 Date:   Tue Aug 11 22:07:12 2009 +0100
19986
19987     [pattern] Ignore matrix/filter/extend when comparing solids
19988     
19989     Solid patterns do not use their matrices, filter or extend properties so
19990     ignore them for the purposes of comparing and hashing.
19991
19992  src/cairo-pattern.c |   25 ++++++++++++++++---------
19993  1 file changed, 16 insertions(+), 9 deletions(-)
19994
19995 commit bb919584c0054bb3e3c547f65c91cfe48302ac86
19996 Author: Chris Wilson <chris@chris-wilson.co.uk>
19997 Date:   Tue Aug 11 21:40:37 2009 +0100
19998
19999     [script] Use a compact representation for horizontal offsets between glyphs
20000     
20001     Kerning is quite frequent, that is to apply a horizontal but no vertical
20002     offset to a glyph. For instance by discarding the vertical coordinate
20003     where it remains the same and only encoding the horizontal offset we
20004     reduce the file size by ~12.5% when tracing poppler.
20005
20006  src/cairo-script-surface.c                 |   56 +++++++++++++++++++---------
20007  util/cairo-script/cairo-script-operators.c |   22 ++++++++---
20008  2 files changed, 55 insertions(+), 23 deletions(-)
20009
20010 commit cbee97f0e3e784b4482429790fc3f42c81908557
20011 Author: Chris Wilson <chris@chris-wilson.co.uk>
20012 Date:   Tue Aug 11 21:26:11 2009 +0100
20013
20014     [script] Preserve '{}' whilst translating
20015
20016  util/cairo-script/cairo-script-private.h |    1 +
20017  util/cairo-script/cairo-script-scanner.c |   67 ++++++++++++++++--------------
20018  2 files changed, 37 insertions(+), 31 deletions(-)
20019
20020 commit 24b23200025166e8343425f77a53bedd08790367
20021 Author: Chris Wilson <chris@chris-wilson.co.uk>
20022 Date:   Tue Aug 11 21:12:59 2009 +0100
20023
20024     [script] Fix list handling during font destruction
20025     
20026     Use cairo_list to unhook the font correctly during the fini callback.
20027
20028  src/cairo-script-surface.c |   33 +++++++++++++--------------------
20029  1 file changed, 13 insertions(+), 20 deletions(-)
20030
20031 commit 4032438625819cfa5d1928d653f404364529a2e1
20032 Author: Chris Wilson <chris@chris-wilson.co.uk>
20033 Date:   Tue Aug 11 17:02:41 2009 +0100
20034
20035     [path] Eliminate redundant line-to before a close
20036     
20037     As the close implicitly issues a line-to to the initial point, remove an
20038     identical line-to if present.
20039
20040  src/cairo-path-fixed.c |   22 ++++++++++++++++++++++
20041  1 file changed, 22 insertions(+)
20042
20043 commit 111f2be71b1e51fac551fd9214d13899a8ec7909
20044 Author: Chris Wilson <chris@chris-wilson.co.uk>
20045 Date:   Tue Aug 11 17:01:50 2009 +0100
20046
20047     [path] Discard redundant line-to
20048     
20049     Eliminate repeated line-to to the current point.
20050
20051  src/cairo-path-fixed.c |   49 +++++++++++++++++++++++++++---------------------
20052  1 file changed, 28 insertions(+), 21 deletions(-)
20053
20054 commit a2d5f59e2158651ac85dcc8a2b8f49cd2861044e
20055 Author: Chris Wilson <chris@chris-wilson.co.uk>
20056 Date:   Tue Aug 11 17:01:07 2009 +0100
20057
20058     [debug] Path printer
20059
20060  src/cairo-debug.c |   67 +++++++++++++++++++++++++++++++++++++++++++++++++++++
20061  src/cairoint.h    |    3 +++
20062  2 files changed, 70 insertions(+)
20063
20064 commit 4bf96bad9697cbe67907df69d40f46d8d7f24325
20065 Author: Chris Wilson <chris@chris-wilson.co.uk>
20066 Date:   Tue Aug 11 15:37:35 2009 +0100
20067
20068     [fill] Use trivial rectilinear_to_traps
20069     
20070     Avoid a small amount of unnecessary overhead by performing a simple
20071     conversion of the path to traps when it consists solely of simple boxes.
20072
20073  src/cairo-path-fill.c        |   74 ++++++++++++++++++++++++++++++++++++++++++
20074  src/cairo-surface-fallback.c |   14 ++++++++
20075  src/cairoint.h               |    5 +++
20076  3 files changed, 93 insertions(+)
20077
20078 commit 30e5fa0ce06b2572f09f3d47ee10b692f18ba0ae
20079 Author: Chris Wilson <chris@chris-wilson.co.uk>
20080 Date:   Tue Aug 11 15:36:11 2009 +0100
20081
20082     [polygon] Return status from path ops
20083     
20084     This tidies the common case which was to call, for example,
20085     _cairo_polygon_line_to(); _cairo_polygon_status();
20086
20087  src/cairo-path-fill.c |   26 ++++----------------------
20088  src/cairo-polygon.c   |   18 ++++++++++++------
20089  src/cairoint.h        |    6 +++---
20090  3 files changed, 19 insertions(+), 31 deletions(-)
20091
20092 commit 3fcac1ef21de9526bc1abca902db5755abe463ae
20093 Author: Chris Wilson <chris@chris-wilson.co.uk>
20094 Date:   Tue Aug 11 13:43:32 2009 +0100
20095
20096     [slope] Inline _cairo_slope_init()
20097     
20098     Move the definition to a separate header file and allow callers to inline
20099     the simple function.
20100
20101  src/Makefile.sources      |    1 +
20102  src/cairo-hull.c          |    2 ++
20103  src/cairo-path-fixed.c    |    1 +
20104  src/cairo-path-stroke.c   |    2 ++
20105  src/cairo-pen.c           |    2 ++
20106  src/cairo-polygon.c       |    2 ++
20107  src/cairo-slope-private.h |   65 +++++++++++++++++++++++++++++++++++++++++++++
20108  src/cairo-slope.c         |    9 +------
20109  src/cairo-spline.c        |    2 ++
20110  src/cairo-traps.c         |    1 +
20111  src/cairoint.h            |   17 ------------
20112  11 files changed, 79 insertions(+), 25 deletions(-)
20113
20114 commit a1e0c4b30980d624bb3e015b7dcf39b4a2ef8c56
20115 Author: Chris Wilson <chris@chris-wilson.co.uk>
20116 Date:   Tue Aug 11 13:34:29 2009 +0100
20117
20118     [clip] Combine directly onto target
20119     
20120     Where it is unlikely that we will reuse the temporary clip surface,
20121     combine the clip directly with the mask.
20122
20123  src/cairo-clip-private.h     |    3 ++
20124  src/cairo-clip.c             |  118 +++++++++++++++++++++++++++++++++++++++---
20125  src/cairo-surface-fallback.c |   26 +---------
20126  3 files changed, 115 insertions(+), 32 deletions(-)
20127
20128 commit 3f12d9ec5db1ac372742c3c03408bdaeaffdc1e4
20129 Author: Chris Wilson <chris@chris-wilson.co.uk>
20130 Date:   Fri Aug 28 10:05:52 2009 +0100
20131
20132     [clip] Use geometric clipping for unaligned clips
20133     
20134     For the simple cases where the clip is an unaligned box (or boxes), apply
20135     the clip directly to the geometry and avoid having to use an intermediate
20136     clip-mask.
20137
20138  src/cairo-bentley-ottmann.c  |  285 +++---------------------------------
20139  src/cairo-clip-private.h     |    5 +
20140  src/cairo-clip.c             |  296 ++++++++++++++++++++++++++++++++++++-
20141  src/cairo-gstate.c           |   15 +-
20142  src/cairo-path-fill.c        |    8 +-
20143  src/cairo-path-stroke.c      |   22 +--
20144  src/cairo-polygon.c          |  329 +++++++++++++++++++++++-------------------
20145  src/cairo-rectangle.c        |   23 +++
20146  src/cairo-surface-fallback.c |  267 ++++++++++++++++++----------------
20147  src/cairo-traps.c            |  210 +++++++++++++++------------
20148  src/cairo-types-private.h    |    4 +-
20149  src/cairoint.h               |   28 +++-
20150  12 files changed, 830 insertions(+), 662 deletions(-)
20151
20152 commit 2457c4bedef0447f7bff9b54dba96126010917ac
20153 Author: Chris Wilson <chris@chris-wilson.co.uk>
20154 Date:   Mon Aug 10 14:48:03 2009 +0100
20155
20156     traps-as-spans
20157     
20158     Add an interface to spans that accepts trapezoids. This allows backends
20159     that have an efficient span-line interface but lack efficient handling
20160     of boxes (partly due to the current poor compositor interface) to
20161     redirect composite_trapezoids() to composite_polygon() and the
20162     span-renderer.
20163
20164  src/cairo-spans-private.h      |   19 ++++++++++
20165  src/cairo-spans.c              |   82 ++++++++++++++++++++++++++++++++++++++++
20166  src/cairo-tor-scan-converter.c |   27 ++++++++++++-
20167  3 files changed, 127 insertions(+), 1 deletion(-)
20168
20169 commit 3023330706b1237b0fbd697d015cad9a23c250b7
20170 Author: Chris Wilson <chris@chris-wilson.co.uk>
20171 Date:   Mon Aug 10 10:57:41 2009 +0100
20172
20173     [fill] Early check for empty path/polygon
20174
20175  src/cairo-path-fill.c |    5 ++++-
20176  1 file changed, 4 insertions(+), 1 deletion(-)
20177
20178 commit 9ba37a85d2f6c033d68eb547be6c63382164519e
20179 Author: Chris Wilson <chris@chris-wilson.co.uk>
20180 Date:   Mon Aug 10 10:57:01 2009 +0100
20181
20182     [gstate] Discard trivial all-clipped regions
20183     
20184     Avoid assertion failures later that we have a valid region.
20185
20186  src/cairo-gstate.c |    8 ++++++--
20187  1 file changed, 6 insertions(+), 2 deletions(-)
20188
20189 commit 85094c4eee4e50ec724bf1bb54ecff6f7c1014bf
20190 Author: Chris Wilson <chris@chris-wilson.co.uk>
20191 Date:   Mon Aug 24 07:06:32 2009 +0100
20192
20193     [clip] Eliminate redundant clips
20194     
20195     First perform a simple geometric clip to catch the majority of cases where
20196     an unaligned clip has been set outside the operation extents that can be
20197     discarded without having to use an image surface.
20198     
20199     This causes a dramatic increase of over 13x for the poppler-bug-12266
20200     trace and little impact elsewhere for more sensible clippers.
20201
20202  src/cairo-clip-private.h     |    8 +-
20203  src/cairo-clip.c             |  187 ++++++++++++++++++++++++++++++++++--------
20204  src/cairo-gstate.c           |  106 +++++++++++++++---------
20205  src/cairo-path-fill.c        |    3 +
20206  src/cairo-surface-fallback.c |  111 ++++++++++++++++++-------
20207  5 files changed, 309 insertions(+), 106 deletions(-)
20208
20209 commit ff0ca6d02a2e8901e9cfca31326c3fdc16e77e2f
20210 Author: Chris Wilson <chris@chris-wilson.co.uk>
20211 Date:   Wed Aug 5 17:54:48 2009 +0100
20212
20213     [test] Stress the intersection handling by feeding spans/traps random curves
20214     
20215     Another stress test for the fill/stroke and intersection finders.
20216
20217  test/Makefile.am                                   |   10 +++
20218  test/Makefile.sources                              |    2 +
20219  test/random-intersections-curves-eo.c              |   81 +++++++++++++++++++
20220  test/random-intersections-curves-eo.pdf.ref.png    |  Bin 0 -> 246507 bytes
20221  test/random-intersections-curves-eo.ps.ref.png     |  Bin 0 -> 151676 bytes
20222  test/random-intersections-curves-eo.ref.png        |  Bin 0 -> 246996 bytes
20223  ...m-intersections-curves-eo.xlib-fallback.ref.png |  Bin 0 -> 246243 bytes
20224  test/random-intersections-curves-eo.xlib.ref.png   |  Bin 0 -> 246243 bytes
20225  test/random-intersections-curves-nz.c              |   82 ++++++++++++++++++++
20226  test/random-intersections-curves-nz.pdf.ref.png    |  Bin 0 -> 266977 bytes
20227  test/random-intersections-curves-nz.ps.ref.png     |  Bin 0 -> 134732 bytes
20228  test/random-intersections-curves-nz.ref.png        |  Bin 0 -> 267589 bytes
20229  ...m-intersections-curves-nz.xlib-fallback.ref.png |  Bin 0 -> 266364 bytes
20230  test/random-intersections-curves-nz.xlib.ref.png   |  Bin 0 -> 266360 bytes
20231  14 files changed, 175 insertions(+)
20232
20233 commit 6dfe050d6360409161418d853df3d7d7dfb216af
20234 Author: Chris Wilson <chris@chris-wilson.co.uk>
20235 Date:   Tue Aug 4 15:32:25 2009 +0100
20236
20237     [polygon] Amalgamate collinear edges
20238     
20239     Combine sequential collinear edges into a single edge, this benefits
20240     immensely by feeding fewer edges into either the tessellator or spans.
20241
20242  src/cairo-polygon.c       |   58 +++++++++++++++++++++++++++++++++++++++------
20243  src/cairo-types-private.h |    3 +++
20244  2 files changed, 54 insertions(+), 7 deletions(-)
20245
20246 commit dc886450ac7c04252cff77729e0653c6ea2768db
20247 Author: Chris Wilson <chris@chris-wilson.co.uk>
20248 Date:   Tue Aug 4 13:14:38 2009 +0100
20249
20250     [util] Show total edge length in show-edges
20251
20252  util/show-edges.c |   54 ++++++++++++++++++++++++++++++++++++++++++-----------
20253  1 file changed, 43 insertions(+), 11 deletions(-)
20254
20255 commit 0f8af054841c2d6dfe4bfeb3d13a7bab0cfbe2f3
20256 Author: Chris Wilson <chris@chris-wilson.co.uk>
20257 Date:   Mon Aug 3 08:27:01 2009 +0100
20258
20259     [fallback] Avoid tessellating empty polygons
20260     
20261     I added an assert inside the tessellator to ensure that empty polygon were
20262     not being propagated that far...
20263
20264  src/cairo-surface-fallback.c |   10 ++++++++--
20265  1 file changed, 8 insertions(+), 2 deletions(-)
20266
20267 commit 09377a716334df3683912747067cd396768cfab6
20268 Author: Chris Wilson <chris@chris-wilson.co.uk>
20269 Date:   Sun Aug 2 13:09:30 2009 +0100
20270
20271     [freelist] Lazy initialisation of pools
20272
20273  src/cairo-freelist-private.h |   31 +++++++++++++++--
20274  src/cairo-freelist.c         |   75 ++++++++++++++++--------------------------
20275  2 files changed, 56 insertions(+), 50 deletions(-)
20276
20277 commit 6f0340e2e5079eba597c0a3a7d39da21cf2b5e7a
20278 Author: Chris Wilson <chris@chris-wilson.co.uk>
20279 Date:   Wed Jul 29 21:47:11 2009 +0100
20280
20281     [clip] Use the rectilinear tessellator
20282     
20283     We can ensure that we always produce a clip region when possible by using
20284     the rectilinear tessellator to convert complex, device-aligned polygons to
20285     regions. Prior to using the tessellator, we relied on pixman's region code
20286     which could only handle a union of rectangles.
20287
20288  src/cairo-clip.c      |    9 ++----
20289  src/cairo-path-fill.c |   79 +++++++++++++++++++++++++++++++++++++++----------
20290  2 files changed, 66 insertions(+), 22 deletions(-)
20291
20292 commit e3820bef20fdd77ab804b9832f47dc286e4887c4
20293 Author: Chris Wilson <chris@chris-wilson.co.uk>
20294 Date:   Sun Aug 2 15:17:51 2009 +0100
20295
20296     [fill] Short-circuit extents on an empty path.
20297     
20298     If the path is empty, avoid redundant polygonisation and tessellation by
20299     simply returning the empty extents.
20300
20301  src/cairo-gstate.c |   12 ++++++++++++
20302  1 file changed, 12 insertions(+)
20303
20304 commit 4051ed328b618e28cf1df276899eefa225225c76
20305 Author: Chris Wilson <chris@chris-wilson.co.uk>
20306 Date:   Tue Aug 25 20:51:06 2009 +0100
20307
20308     [tessellator] Special case rectilinear tessellation
20309     
20310     For the frequent cases where we know in advance that we are dealing with a
20311     rectilinear path, but can not use the simple region code, implement a
20312     variant of the Bentley-Ottmann tessellator. The advantages here are that
20313     edge comparison is very simple (we only have vertical edges) and there are
20314     no intersection, though possible overlaps. The idea is the same, maintain
20315     a y-x sorted queue of start/stop events that demarcate traps and sweep
20316     through the active edges at each event, looking for completed traps.
20317     
20318     The motivation for this was noticing a performance regression in
20319     box-fill-outline with the self-intersection work:
20320     
20321       1.9.2 to HEAD^: 3.66x slowdown
20322       HEAD^ to HEAD:  5.38x speedup
20323       1.9.2 to HEAD:  1.57x speedup
20324     
20325     The cause of which was choosing to use spans instead of the region handling
20326     code, as the complex polygon was no longer being tessellated.
20327
20328  src/Makefile.sources                       |    1 +
20329  src/cairo-bentley-ottmann-rectilinear.c    |  582 ++++++++++++++++++++++++++++
20330  src/cairo-bentley-ottmann.c                |    5 +-
20331  src/cairo-combsort-private.h               |    4 +-
20332  src/cairo-path-fill.c                      |  100 +----
20333  src/cairo-path-stroke.c                    |    1 +
20334  src/cairo-surface-fallback.c               |   34 +-
20335  src/cairo-traps.c                          |    2 +
20336  src/cairoint.h                             |   18 +-
20337  test/ft-text-vertical-layout-type1.ref.png |  Bin 3647 -> 3644 bytes
20338  test/ft-text-vertical-layout-type3.ref.png |  Bin 3607 -> 3608 bytes
20339  11 files changed, 631 insertions(+), 116 deletions(-)
20340
20341 commit 82ccb4c70cbf28167c280e590017b221a406b5c3
20342 Author: Chris Wilson <chris@chris-wilson.co.uk>
20343 Date:   Wed Jul 29 18:47:29 2009 +0100
20344
20345     [clip] Use special-purpose fill_to_region()
20346     
20347     Avoid the creation of temporary traps when generating a region, by calling
20348     the to_region() directly.
20349
20350  src/cairo-clip.c |   26 +++++++++-----------------
20351  1 file changed, 9 insertions(+), 17 deletions(-)
20352
20353 commit 41adeac9880d011278f083c620a42b849471a92f
20354 Author: Chris Wilson <chris@chris-wilson.co.uk>
20355 Date:   Sat Jul 25 21:25:07 2009 +0100
20356
20357     [fallback] Avoid going through traps for trivial regions.
20358
20359  src/cairo-path-fill.c        |  129 +++++++++++++++++++++++++++++
20360  src/cairo-surface-fallback.c |  184 +++++++++++++++++++++++++++++++-----------
20361  src/cairoint.h               |    5 ++
20362  3 files changed, 272 insertions(+), 46 deletions(-)
20363
20364 commit 55bd590561880136c54da0db1f7f095a426d96a9
20365 Author: Chris Wilson <chris@chris-wilson.co.uk>
20366 Date:   Fri Jul 24 20:45:56 2009 +0100
20367
20368     [tessellator] Use a priority queue for the events
20369     
20370     The skip list was suffering from severe overhead, so though the search was
20371     quick, the extra copies during insertion and deletion were slow.
20372
20373  src/Makefile.am              |    5 +-
20374  src/Makefile.sources         |    2 -
20375  src/cairo-bentley-ottmann.c  |  341 ++++++++++++++++++++++--------------
20376  src/cairo-freelist.c         |    8 +-
20377  src/cairo-skiplist-private.h |  118 -------------
20378  src/cairo-skiplist.c         |  399 ------------------------------------------
20379  6 files changed, 212 insertions(+), 661 deletions(-)
20380
20381 commit ebfcc2ce8fb6fcaf28d1c59cf7a5b13168cbeb70
20382 Author: Chris Wilson <chris@chris-wilson.co.uk>
20383 Date:   Fri Jul 24 16:50:33 2009 +0100
20384
20385     [tessellator] Remove the skiplist for the active edges
20386     
20387     The active edge list is typically short, and the skiplist adds significant
20388     overhead that far outweigh the benefit of the O(n lg n) sort. Instead we
20389     track the position of the last insertion edge, knowing that the start
20390     events are lexicographically sorted, and begin a linear search from there.
20391
20392  src/cairo-bentley-ottmann.c |  230 ++++++++++++++-----------------------------
20393  1 file changed, 75 insertions(+), 155 deletions(-)
20394
20395 commit 36480fe531f19d9c692ee1f8cf09accd4b2c0ad8
20396 Author: Chris Wilson <chris@chris-wilson.co.uk>
20397 Date:   Sat Jul 25 07:38:04 2009 +0100
20398
20399     [traps] Increase exponential expansion factor.
20400     
20401     Grow the traps more rapidly, as the allocations are very short-lived so
20402     the over-allocation is less of an issue.
20403
20404  src/cairo-traps.c |    8 +++-----
20405  src/cairoint.h    |    8 +++-----
20406  2 files changed, 6 insertions(+), 10 deletions(-)
20407
20408 commit 9d51c03bad5f10257e248f43375062902482c0c4
20409 Author: Chris Wilson <chris@chris-wilson.co.uk>
20410 Date:   Fri Jul 24 13:51:23 2009 +0100
20411
20412     [traps] Compute extents on demand.
20413
20414  src/cairo-region-private.h   |    5 -
20415  src/cairo-region.c           |   47 ++---
20416  src/cairo-surface-fallback.c |   10 -
20417  src/cairo-traps.c            |  440 ++++++++++++------------------------------
20418  src/cairoint.h               |    9 -
20419  5 files changed, 144 insertions(+), 367 deletions(-)
20420
20421 commit f8bb3617c3a7ec598c42eff1f8562e3ccc95127f
20422 Author: Chris Wilson <chris@chris-wilson.co.uk>
20423 Date:   Wed Dec 17 09:32:16 2008 +0000
20424
20425     Eliminate self-intersecting strokes.
20426     
20427     We refactor the surface fallbacks to convert full strokes and fills to the
20428     intermediate polygon representation (as opposed to before where we
20429     returned the trapezoidal representation). This allow greater flexibility
20430     to choose how then to rasterize the polygon. Where possible we use the
20431     local spans rasteriser for its increased performance, but still have the
20432     option to use the tessellator instead (for example, with the current
20433     Render protocol which does not yet have a polygon image).
20434     
20435     In order to accommodate this, the spans interface is tweaked to accept
20436     whole polygons instead of a path and the tessellator is tweaked for speed.
20437     
20438     Performance Impact
20439     ==================
20440     
20441     ...
20442     Still measuring, expecting some severe regressions.
20443     ...
20444
20445  NEWS                                              |   18 +
20446  src/Makefile.am                                   |    2 +
20447  src/cairo-bentley-ottmann.c                       | 1833 ++++++++++++---------
20448  src/cairo-clip.c                                  |   14 +-
20449  src/cairo-fixed-private.h                         |   52 +-
20450  src/cairo-fixed-type-private.h                    |    5 +
20451  src/cairo-gstate.c                                |    4 +-
20452  src/cairo-hash.c                                  |    6 -
20453  src/cairo-matrix.c                                |   27 +-
20454  src/cairo-path-fill.c                             |  109 +-
20455  src/cairo-path-stroke.c                           | 1025 +++++++-----
20456  src/cairo-pen.c                                   |  191 ---
20457  src/cairo-polygon.c                               |  269 ++-
20458  src/cairo-skiplist-private.h                      |    4 +-
20459  src/cairo-skiplist.c                              |    8 +-
20460  src/cairo-slope.c                                 |    4 +-
20461  src/cairo-spans-private.h                         |   45 +-
20462  src/cairo-spans.c                                 |  179 +-
20463  src/cairo-surface-fallback.c                      |  208 ++-
20464  src/cairo-tor-scan-converter.c                    |  492 +++---
20465  src/cairo-toy-font-face.c                         |    3 +-
20466  src/cairo-traps.c                                 |   72 +-
20467  src/cairo-types-private.h                         |   15 +-
20468  src/cairo-wideint-private.h                       |   47 +-
20469  src/cairo-wideint.c                               |   34 -
20470  src/cairoint.h                                    |  102 +-
20471  test/Makefile.am                                  |   90 +-
20472  test/Makefile.sources                             |    3 +-
20473  test/caps-joins-alpha.ref.png                     |  Bin 2463 -> 2570 bytes
20474  test/caps-joins-alpha.xlib.ref.png                |  Bin 0 -> 2278 bytes
20475  test/caps-joins-curve.ref.png                     |  Bin 5132 -> 5725 bytes
20476  test/caps-joins-curve.xlib.ref.png                |  Bin 0 -> 5126 bytes
20477  test/clear.pdf.argb32.ref.png                     |  Bin 0 -> 790 bytes
20478  test/clear.ps.argb32.ref.png                      |  Bin 0 -> 790 bytes
20479  test/clip-operator.svg12.argb32.xfail.png         |  Bin 8406 -> 8404 bytes
20480  test/clip-operator.svg12.rgb24.xfail.png          |  Bin 4540 -> 4523 bytes
20481  test/clipped-group.pdf.ref.png                    |  Bin 310 -> 334 bytes
20482  test/clipped-trapezoids-ref.png                   |  Bin 0 -> 1055 bytes
20483  test/clipped-trapezoids.c                         |   95 ++
20484  test/clipped-trapezoids.ref.png                   |  Bin 0 -> 963 bytes
20485  test/close-path-current-point.ref.png             |  Bin 1916 -> 1893 bytes
20486  test/dash-caps-joins.ref.png                      |  Bin 4718 -> 4520 bytes
20487  test/dash-curve.ref.png                           |  Bin 39696 -> 41284 bytes
20488  test/dash-curve.xlib.ref.png                      |  Bin 0 -> 40109 bytes
20489  test/dash-scale.ref.png                           |  Bin 8058 -> 7616 bytes
20490  test/degenerate-arc.ref.png                       |  Bin 544 -> 646 bytes
20491  test/degenerate-dash.ref.png                      |  Bin 2005 -> 2086 bytes
20492  test/degenerate-dash.xlib.ref.png                 |  Bin 0 -> 1898 bytes
20493  test/degenerate-path.argb32.ref.png               |  Bin 0 -> 240 bytes
20494  test/degenerate-path.ref.png                      |  Bin 257 -> 0 bytes
20495  test/degenerate-path.rgb24.ref.png                |  Bin 224 -> 210 bytes
20496  test/degenerate-pen.ref.png                       |  Bin 1139 -> 997 bytes
20497  test/degenerate-pen.xlib.ref.png                  |  Bin 0 -> 997 bytes
20498  test/device-offset-fractional.pdf.xfail.png       |  Bin 275 -> 275 bytes
20499  test/fill-and-stroke-alpha-add.ref.png            |  Bin 591 -> 562 bytes
20500  test/fill-and-stroke-alpha-add.svg12.xfail.png    |  Bin 614 -> 631 bytes
20501  test/fill-and-stroke-alpha.ref.png                |  Bin 519 -> 515 bytes
20502  test/fill-and-stroke.argb32.ref.png               |  Bin 0 -> 313 bytes
20503  test/fill-and-stroke.ref.png                      |  Bin 279 -> 0 bytes
20504  test/fill-and-stroke.rgb24.ref.png                |  Bin 257 -> 287 bytes
20505  test/fill-and-stroke.xlib.argb32.ref.png          |  Bin 0 -> 322 bytes
20506  test/fill-and-stroke.xlib.rgb24.ref.png           |  Bin 0 -> 291 bytes
20507  test/filter-nearest-offset.pdf.xfail.png          |  Bin 1867 -> 1926 bytes
20508  test/filter-nearest-transformed.pdf.xfail.png     |  Bin 482 -> 488 bytes
20509  test/ft-text-vertical-layout-type1.ps.ref.png     |  Bin 0 -> 1634 bytes
20510  test/ft-text-vertical-layout-type1.ps2.ref.png    |  Bin 1846 -> 0 bytes
20511  test/ft-text-vertical-layout-type1.ps3.ref.png    |  Bin 1846 -> 0 bytes
20512  test/ft-text-vertical-layout-type1.ref.png        |  Bin 3643 -> 3647 bytes
20513  test/ft-text-vertical-layout-type1.svg.ref.png    |  Bin 3607 -> 3609 bytes
20514  test/ft-text-vertical-layout-type1.xlib.ref.png   |  Bin 3980 -> 3640 bytes
20515  test/ft-text-vertical-layout-type3.ps.ref.png     |  Bin 0 -> 1636 bytes
20516  test/ft-text-vertical-layout-type3.ps2.ref.png    |  Bin 1804 -> 0 bytes
20517  test/ft-text-vertical-layout-type3.ps3.ref.png    |  Bin 1804 -> 0 bytes
20518  test/ft-text-vertical-layout-type3.ref.png        |  Bin 3608 -> 3607 bytes
20519  test/ft-text-vertical-layout-type3.svg.ref.png    |  Bin 3626 -> 3626 bytes
20520  test/ft-text-vertical-layout-type3.xlib.ref.png   |  Bin 3934 -> 3605 bytes
20521  test/group-unaligned.svg.argb32.xfail.png         |  Bin 520 -> 522 bytes
20522  test/joins.ref.png                                |  Bin 5879 -> 5708 bytes
20523  test/leaky-dashed-rectangle.pdf.ref.png           |  Bin 347 -> 347 bytes
20524  test/leaky-dashed-rectangle.xlib.ref.png          |  Bin 0 -> 347 bytes
20525  test/leaky-dashed-stroke.ref.png                  |  Bin 9214 -> 9387 bytes
20526  test/leaky-dashed-stroke.xlib.ref.png             |  Bin 0 -> 9305 bytes
20527  test/line-width-scale.ref.png                     |  Bin 6445 -> 5716 bytes
20528  test/long-dashed-lines.ref.png                    |  Bin 2116 -> 2070 bytes
20529  test/mask-glyphs.svg.ref.png                      |  Bin 1211147 -> 1211158 bytes
20530  test/meta-surface-pattern.pdf.argb32.ref.png      |  Bin 3919 -> 3835 bytes
20531  test/meta-surface-pattern.pdf.rgb24.ref.png       |  Bin 3867 -> 3682 bytes
20532  test/meta-surface-pattern.svg.argb32.ref.png      |  Bin 3930 -> 3778 bytes
20533  test/meta-surface-pattern.svg.rgb24.ref.png       |  Bin 3910 -> 3760 bytes
20534  test/new-sub-path.argb32.ref.png                  |  Bin 0 -> 421 bytes
20535  test/new-sub-path.pdf.argb32.ref.png              |  Bin 0 -> 512 bytes
20536  test/new-sub-path.ref.png                         |  Bin 386 -> 0 bytes
20537  test/new-sub-path.rgb24.ref.png                   |  Bin 355 -> 381 bytes
20538  test/operator-source.svg12.argb32.xfail.png       |  Bin 2967 -> 2951 bytes
20539  test/operator-source.svg12.rgb24.xfail.png        |  Bin 2976 -> 2963 bytes
20540  test/over-around-source.pdf.argb32.ref.png        |  Bin 585 -> 576 bytes
20541  test/random-intersections-eo.c                    |   78 +
20542  test/random-intersections-eo.ps.ref.png           |  Bin 0 -> 78806 bytes
20543  test/random-intersections-eo.quartz.ref.png       |  Bin 0 -> 197778 bytes
20544  test/random-intersections-eo.ref.png              |  Bin 0 -> 136018 bytes
20545  test/random-intersections-eo.xlib.ref.png         |  Bin 0 -> 134655 bytes
20546  test/random-intersections-nonzero.c               |   79 +
20547  test/random-intersections-nonzero.ps.ref.png      |  Bin 0 -> 77299 bytes
20548  test/random-intersections-nonzero.ref.png         |  Bin 0 -> 141154 bytes
20549  test/random-intersections-nonzero.xlib.ref.png    |  Bin 0 -> 141548 bytes
20550  test/random-intersections.c                       |   78 -
20551  test/random-intersections.ps2.ref.png             |  Bin 89253 -> 0 bytes
20552  test/random-intersections.ps3.ref.png             |  Bin 89253 -> 0 bytes
20553  test/random-intersections.quartz.ref.png          |  Bin 197778 -> 0 bytes
20554  test/random-intersections.ref.png                 |  Bin 133462 -> 0 bytes
20555  test/random-intersections.xlib.ref.png            |  Bin 148722 -> 0 bytes
20556  test/reflected-stroke.ref.png                     |  Bin 5704 -> 4978 bytes
20557  test/rel-path.ref.png                             |  Bin 212 -> 198 bytes
20558  test/rel-path.rgb24.ref.png                       |  Bin 228 -> 214 bytes
20559  test/scale-offset-image.meta.xfail.png            |  Bin 8599 -> 0 bytes
20560  test/scale-offset-image.pdf.xfail.png             |  Bin 8694 -> 10099 bytes
20561  test/scale-offset-image.xfail.png                 |  Bin 8599 -> 9960 bytes
20562  test/scale-offset-image.xlib-fallback.xfail.png   |  Bin 8580 -> 8706 bytes
20563  test/scale-offset-image.xlib.xfail.png            |  Bin 9100 -> 9132 bytes
20564  test/scale-offset-similar.meta.xfail.png          |  Bin 9095 -> 10752 bytes
20565  test/scale-offset-similar.pdf.xfail.png           |  Bin 9368 -> 11024 bytes
20566  test/scale-offset-similar.xfail.png               |  Bin 8599 -> 9960 bytes
20567  test/scale-offset-similar.xlib-fallback.xfail.png |  Bin 8580 -> 8706 bytes
20568  test/scale-offset-similar.xlib.xfail.png          |  Bin 8570 -> 8696 bytes
20569  test/self-intersecting.argb32.xfail.png           |  Bin 235 -> 0 bytes
20570  test/self-intersecting.c                          |    3 +
20571  test/self-intersecting.pdf.argb32.xfail.png       |  Bin 285 -> 0 bytes
20572  test/self-intersecting.pdf.rgb24.xfail.png        |  Bin 269 -> 0 bytes
20573  test/self-intersecting.ps.argb32.xfail.png        |  Bin 186 -> 0 bytes
20574  test/self-intersecting.ps.ref.png                 |  Bin 0 -> 186 bytes
20575  test/self-intersecting.ps.rgb24.xfail.png         |  Bin 186 -> 0 bytes
20576  test/self-intersecting.ref.png                    |  Bin 242 -> 301 bytes
20577  test/self-intersecting.rgb24.ref.png              |  Bin 304 -> 0 bytes
20578  test/self-intersecting.rgb24.xfail.png            |  Bin 240 -> 0 bytes
20579  test/self-intersecting.xlib.argb32.xfail.png      |  Bin 235 -> 0 bytes
20580  test/self-intersecting.xlib.ref.png               |  Bin 0 -> 252 bytes
20581  test/self-intersecting.xlib.rgb24.xfail.png       |  Bin 240 -> 0 bytes
20582  test/smask-stroke.ref.png                         |  Bin 1845 -> 1714 bytes
20583  test/smask-stroke.xlib.ref.png                    |  Bin 0 -> 1707 bytes
20584  test/smask.ps.ref.png                             |  Bin 0 -> 3430 bytes
20585  test/smask.ps2.ref.png                            |  Bin 3669 -> 0 bytes
20586  test/smask.ps3.ref.png                            |  Bin 3669 -> 0 bytes
20587  test/smask.ref.png                                |  Bin 3417 -> 3423 bytes
20588  test/smask.svg.ref.png                            |  Bin 3458 -> 3457 bytes
20589  test/smask.xlib.ref.png                           |  Bin 3393 -> 3386 bytes
20590  test/spline-decomposition.pdf.ref.png             |  Bin 19156 -> 19540 bytes
20591  test/spline-decomposition.ps.ref.png              |  Bin 9090 -> 9028 bytes
20592  test/spline-decomposition.ref.png                 |  Bin 19107 -> 19569 bytes
20593  test/spline-decomposition.svg.ref.png             |  Bin 19156 -> 19540 bytes
20594  test/spline-decomposition.xlib.ref.png            |  Bin 0 -> 19158 bytes
20595  test/stroke-ctm-caps.ref.png                      |  Bin 1057 -> 873 bytes
20596  test/stroke-image.pdf.ref.png                     |  Bin 1554 -> 1475 bytes
20597  test/stroke-image.ps.ref.png                      |  Bin 0 -> 1641 bytes
20598  test/stroke-image.ps2.ref.png                     |  Bin 2121 -> 0 bytes
20599  test/stroke-image.ps3.ref.png                     |  Bin 2121 -> 0 bytes
20600  test/stroke-image.ref.png                         |  Bin 1866 -> 1344 bytes
20601  test/stroke-image.xlib.ref.png                    |  Bin 0 -> 1440 bytes
20602  test/surface-pattern.pdf.xfail.png                |  Bin 10528 -> 10532 bytes
20603  test/text-rotate.pdf.ref.png                      |  Bin 16639 -> 16757 bytes
20604  test/text-rotate.ref.png                          |  Bin 17775 -> 16738 bytes
20605  test/text-rotate.svg.ref.png                      |  Bin 17024 -> 17118 bytes
20606  test/text-rotate.xlib.ref.png                     |  Bin 0 -> 16646 bytes
20607  test/twin.ps.ref.png                              |  Bin 2197 -> 2142 bytes
20608  test/twin.ref.png                                 |  Bin 4038 -> 3979 bytes
20609  test/twin.xlib.ref.png                            |  Bin 0 -> 4435 bytes
20610  test/unantialiased-shapes.ref.png                 |  Bin 4459 -> 3969 bytes
20611  test/unbounded-operator.svg12.argb32.ref.png      |  Bin 0 -> 2767 bytes
20612  test/unbounded-operator.svg12.argb32.xfail.png    |  Bin 2771 -> 0 bytes
20613  test/unbounded-operator.svg12.rgb24.xfail.png     |  Bin 1731 -> 1719 bytes
20614  test/user-font-proxy.svg.ref.png                  |  Bin 16814 -> 16817 bytes
20615  test/user-font.ps.ref.png                         |  Bin 0 -> 4605 bytes
20616  test/user-font.ps2.ref.png                        |  Bin 5043 -> 0 bytes
20617  test/user-font.ps3.ref.png                        |  Bin 5043 -> 0 bytes
20618  test/user-font.ref.png                            |  Bin 6082 -> 6270 bytes
20619  test/user-font.xlib.ref.png                       |  Bin 6183 -> 5884 bytes
20620  util/.gitignore                                   |    3 +
20621  util/Makefile.am                                  |   23 +-
20622  util/show-edges.c                                 | 1189 +++++++++++++
20623  util/show-events.c                                |  845 ++++++++++
20624  util/show-traps.c                                 | 1239 ++++++++++++++
20625  180 files changed, 6303 insertions(+), 2190 deletions(-)
20626
20627 commit 7c499db8afe8a7cf8c512ec166fe7dbf11a25c02
20628 Author: Chris Wilson <chris@chris-wilson.co.uk>
20629 Date:   Tue Aug 25 20:37:55 2009 +0100
20630
20631     [test] Minor tweak of ft-text-vertical-layout
20632     
20633     Tidily destroy the font immediately after use.
20634
20635  test/ft-text-vertical-layout-type1.c |    6 ++----
20636  test/ft-text-vertical-layout-type3.c |    5 ++---
20637  2 files changed, 4 insertions(+), 7 deletions(-)
20638
20639 commit bdd3c5ba6987280b455229dd12b20c22159ce61c
20640 Author: Chris Wilson <chris@chris-wilson.co.uk>
20641 Date:   Sat Aug 22 18:59:01 2009 +0100
20642
20643     [perf] Match directory names
20644     
20645     In order to handle 'cairo-perf-trace benchmark', we need to perform the
20646     can_run? test on the directory name as opposed to the individual trace
20647     names. Make it so.
20648
20649  perf/box-outline.c           |    2 +-
20650  perf/cairo-perf-trace.c      |   37 ++++++++++++++++++++++++++++---------
20651  perf/cairo-perf.c            |   14 +++++++++++---
20652  perf/cairo-perf.h            |    3 ++-
20653  perf/composite-checker.c     |    2 +-
20654  perf/dragon.c                |    3 ++-
20655  perf/fill.c                  |    2 +-
20656  perf/glyphs.c                |    2 +-
20657  perf/intersections.c         |    2 +-
20658  perf/long-dashed-lines.c     |    2 +-
20659  perf/long-lines.c            |    2 +-
20660  perf/mask.c                  |    2 +-
20661  perf/mosaic.c                |    2 +-
20662  perf/paint-with-alpha.c      |    2 +-
20663  perf/paint.c                 |    2 +-
20664  perf/pattern_create_radial.c |    2 +-
20665  perf/pythagoras-tree.c       |    4 ++--
20666  perf/rectangles.c            |    2 +-
20667  perf/rounded-rectangles.c    |    2 +-
20668  perf/spiral.c                |    2 +-
20669  perf/stroke.c                |    2 +-
20670  perf/subimage_copy.c         |    2 +-
20671  perf/tessellate.c            |    2 +-
20672  perf/text.c                  |    2 +-
20673  perf/twin.c                  |    2 +-
20674  perf/unaligned-clip.c        |    2 +-
20675  perf/world-map.c             |    2 +-
20676  perf/zrusin.c                |    2 +-
20677  28 files changed, 68 insertions(+), 39 deletions(-)
20678
20679 commit 77c11096169bc8af6aa08241a800a51a2292a27a
20680 Author: Chris Wilson <chris@chris-wilson.co.uk>
20681 Date:   Sat Aug 22 12:23:03 2009 +0100
20682
20683     [perf] Reset global caches after every trace
20684     
20685     I'd disabled this to look at cairo-qt performance, then forgot about it.
20686     Be clean, cleanup globals -- this should fix the huge performance loss
20687     when running in series multiple backends that need separate font caches.
20688
20689  perf/cairo-perf-trace.c |    5 +++++
20690  1 file changed, 5 insertions(+)
20691
20692 commit 9c8e60f7718b29051268541d2cfec58e51d8e7b8
20693 Author: Chris Wilson <chris@chris-wilson.co.uk>
20694 Date:   Sat Aug 22 12:09:25 2009 +0100
20695
20696     [perf] Remove cpuset warning for cairo-perf-trace
20697     
20698     These traces run for much longer than the original synthetic benchmarks
20699     and seek to replicate 'real-world' applications, so the warning that the
20700     xserver and cairo-perf are not bound to any cpu is false.
20701
20702  perf/cairo-perf-trace.c |   47 -----------------------------------------------
20703  1 file changed, 47 deletions(-)
20704
20705 commit d07ed5d990634dc09d0d1b6ce45aa8ad1994b75a
20706 Author: Chris Wilson <chris@chris-wilson.co.uk>
20707 Date:   Wed Aug 19 12:36:56 2009 +0100
20708
20709     [perf] Add charting utility
20710     
20711     cairo-perf-chart takes multiple runs (currently it is limited to
20712     prefiltered data sets) and pretty-prints a chart showing performace
20713     improvements/regressions (in either ASCII or HTML) along with a
20714     cairo-perf-chart.png
20715
20716  perf/Makefile.am        |    4 +
20717  perf/cairo-perf-chart.c |  751 +++++++++++++++++++++++++++++++++++++++++++++++
20718  2 files changed, 755 insertions(+)
20719
20720 commit 015eccadcb8b22f302bdaa315b88981a38294686
20721 Author: Chris Wilson <chris@chris-wilson.co.uk>
20722 Date:   Sun Aug 16 09:57:07 2009 +0100
20723
20724     [perf] Fix unaligned-clip
20725     
20726     We failed to reset the scale after each loop, eventually generating a vast
20727     clip-mask that exceeded memory capacity.
20728
20729  perf/unaligned-clip.c |    4 +++-
20730  1 file changed, 3 insertions(+), 1 deletion(-)
20731
20732 commit 6f8fae21e6fee07a8f6561f77bcb0bfaf64f5882
20733 Author: Chris Wilson <chris@chris-wilson.co.uk>
20734 Date:   Sat Aug 15 10:16:41 2009 +0100
20735
20736     [perf] Add a box mode to spiral
20737     
20738     Add a very similar 'spiral' path (really just concentric boxes) that hit
20739     the rectangular optimisations so that we can compare how effective they
20740     are.
20741
20742  perf/spiral.c |   73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
20743  1 file changed, 73 insertions(+)
20744
20745 commit e79a9a87c311fd0499c96cecbe560839a17d244e
20746 Author: Chris Wilson <chris@chris-wilson.co.uk>
20747 Date:   Sat Aug 15 10:33:48 2009 +0100
20748
20749     [perf] Support objdir!=srcdir in cairo-perf-diff
20750     
20751     Crude support to detect when we have cairo-perf-diff-files in the local
20752     directory which is not srcdir.
20753
20754  perf/cairo-perf-diff |   26 ++++++++++++++++----------
20755  1 file changed, 16 insertions(+), 10 deletions(-)
20756
20757 commit 6bfb77a33c3614cafdcd6206de5c71321c5fc1e5
20758 Author: Chris Wilson <chris@chris-wilson.co.uk>
20759 Date:   Fri Aug 14 19:53:17 2009 +0100
20760
20761     [perf] Add spiral strokes
20762     
20763     Use cairo_stroke() to perform the equivalent of
20764     spiral-rect-(pix|non)align-evenodd-fill. A useful comparison of stroking
20765     versus filling, as we can assume the composition costs are similar.
20766
20767  perf/spiral.c |   73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
20768  1 file changed, 73 insertions(+)
20769
20770 commit 54b2935c3842e77888faef06bbf247f99bd9de8c
20771 Author: Chris Wilson <chris@chris-wilson.co.uk>
20772 Date:   Thu Aug 13 23:23:41 2009 +0100
20773
20774     [perf] Reset the path after each spiral
20775     
20776     Oops we were accumulating paths during each spiral iteration and so the
20777     tests were getting slower and slower and slower...
20778     
20779     [And fix a couple of other instances of path accumulation.]
20780
20781  perf/intersections.c |    2 ++
20782  perf/spiral.c        |    1 +
20783  perf/world-map.c     |    2 ++
20784  3 files changed, 5 insertions(+)
20785
20786 commit fddfe4973f5b49f280734ee7141ab72451cf94d2
20787 Author: Chris Wilson <chris@chris-wilson.co.uk>
20788 Date:   Thu Aug 13 15:52:06 2009 +0100
20789
20790     [perf] Add clipped modes to dragon
20791     
20792     Investigate the performance hit for unclipped/aligned/unaligned/masked
20793     modes with a reasonably complex geometry.
20794
20795  perf/dragon.c |   35 +++++++++++++++++++++++++++++++++++
20796  1 file changed, 35 insertions(+)
20797
20798 commit 8b3be26c7be0747378792e3a454e500d290c3982
20799 Author: Chris Wilson <chris@chris-wilson.co.uk>
20800 Date:   Wed Aug 12 00:02:04 2009 +0100
20801
20802     [test] Remove misleading code/comments from a1-image-sample
20803
20804  test/a1-image-sample.c |    4 ----
20805  1 file changed, 4 deletions(-)
20806
20807 commit e702df59b05246a52a645792a65dc9c12d5b3feb
20808 Author: Chris Wilson <chris@chris-wilson.co.uk>
20809 Date:   Sat Aug 22 17:53:59 2009 +0100
20810
20811     [test] Attempt to automatically detect running under gdb
20812     
20813     A common mistake is to forget to pass the foreground mode to
20814     cairo-test-suite when launching it under the debugger, resulting in the
20815     debugger not attaching to the children and missing the error you were
20816     trying to capture. Under linux, we can inspect the path to our parent's
20817     executable and if that looks like gdb, we assume it is and disable forking
20818     of traces.
20819
20820  test/cairo-test-runner.c |   32 ++++++++++++++++++++++++++++++++
20821  1 file changed, 32 insertions(+)
20822
20823 commit bf4977b645270bb88225501e73848f7814cccead
20824 Author: Chris Wilson <chris@chris-wilson.co.uk>
20825 Date:   Tue Aug 25 07:16:16 2009 +0100
20826
20827     [test] Exit on first failure '-x'
20828     
20829     Add a command line option to the test suite to cause it to exit after the
20830     first failure. The purpose of this is for integration into 'git bisect run',
20831     where the failing test is unknown and we are looking for any failure. For
20832     example, for use in a regression script to find commits in the midst of as
20833     series that need a refresh of a reference image (or fixing!).
20834
20835  test/cairo-test-runner.c |   15 +++++++++++++--
20836  1 file changed, 13 insertions(+), 2 deletions(-)
20837
20838 commit 40aefac5d714bf7536632ed38c7a8ee05049f30b
20839 Author: Benjamin Otte <otte@gnome.org>
20840 Date:   Wed Aug 26 21:22:07 2009 +0200
20841
20842     [xlib] DO_XCOPYAREA and DO_XTILE optimizations break with Window source
20843     
20844     Cairo should include the contents of subwindows when using a Window as a
20845     source but will clip to subwindows when using a Window as a destination.
20846     This can be set using the GC's subwindow_mode.
20847     
20848     XCopyArea and XFillRectangle can however only use one GC for both source
20849     and destination. Cairo's mode is set to (the default) ClipByChildren.
20850     This means that copying from a Window is broken, so we only allow the
20851     optimization when we know that the source is a Pixmap.
20852     
20853     The performance impact of this change has not been tested. It should be
20854     small, as the code will use XRender otherwise.
20855     
20856     If it turns out to be a bigger impact, the optimizations could be
20857     improved by doing a two-step copy process:
20858     1) Copy to an intermediate Pixmap with IncludeInferiors
20859     2) Copy to the destination with ClipByChildren
20860     (potentially omitting one one of the steps if source or destination are
20861     known to be Pixmaps).
20862     
20863     references:
20864     commit 0c5d28a4e5ce5e4dd72c0f416ce5e960e92b808b
20865     https://bugs.freedesktop.org/show_bug.cgi?id=12996
20866
20867  src/cairo-xlib-surface.c |    2 ++
20868  1 file changed, 2 insertions(+)
20869
20870 commit 90536ef2dd534d9385d38125445faeadd0511850
20871 Author: Behdad Esfahbod <behdad@behdad.org>
20872 Date:   Tue Aug 25 00:28:08 2009 -0400
20873
20874     [build] Remove bogus warning that we require at least one native font backend
20875     
20876     That limitation was lifted long ago after twin face was introduced.
20877
20878  build/configure.ac.features |    4 ----
20879  1 file changed, 4 deletions(-)
20880
20881 commit 20e227fc397d064af0b4b8bbf4028430695a218d
20882 Author: Behdad Esfahbod <behdad@behdad.org>
20883 Date:   Mon Aug 24 23:57:21 2009 -0400
20884
20885     [build] Fix typo
20886
20887  build/aclocal.enable.m4 |    2 +-
20888  1 file changed, 1 insertion(+), 1 deletion(-)
20889
20890 commit 87fb9a9ded0fb0355f91cad188393d26b9e47e0b
20891 Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
20892 Date:   Mon Aug 17 00:59:46 2009 -0400
20893
20894     [test] Update reference image for the extended-blend-mode test.
20895     
20896     A recent pixman change caused one-bit differences in some pixels.
20897
20898  test/extended-blend-alpha.argb32.ref.png |  Bin 9777 -> 9406 bytes
20899  1 file changed, 0 insertions(+), 0 deletions(-)
20900
20901 commit d1b8e260d43c7dee71244f26d50d8b2e49e9b6e0
20902 Author: Chris Wilson <chris@chris-wilson.co.uk>
20903 Date:   Mon Aug 10 21:29:13 2009 +0100
20904
20905     [qt] Fix compilation
20906     
20907     Enabling 'FAST CLIP' appears to trigger an infinite loop so disable.
20908     
20909     Enabling 'FAST FILL' has limited effect on performance, so disable whilst
20910     the basic QT surface is improved.
20911
20912  perf/cairo-perf-trace.c  |    2 +-
20913  src/cairo-qt-surface.cpp |   63 ++++++++++++++++++++++++++++++----------------
20914  2 files changed, 43 insertions(+), 22 deletions(-)
20915
20916 commit dff0a91742908098a1ee110fadf11d4b802b1587
20917 Author: Chris Wilson <chris@chris-wilson.co.uk>
20918 Date:   Mon Aug 10 17:57:16 2009 +0100
20919
20920     [xlib] Rewrite UNSUPPORTED() avoiding gcc-ism
20921     
20922     Behdad pointed out that fprintf() returns a value so that we could simply
20923     use the comma operator to return the correct value instead of the
20924     expression-block gcc-ism.
20925
20926  src/cairo-xlib-surface.c |    7 +++----
20927  1 file changed, 3 insertions(+), 4 deletions(-)
20928
20929 commit e63d725ad4fb92a0085224f627cbced3e3205735
20930 Author: Behdad Esfahbod <behdad@behdad.org>
20931 Date:   Sat Jun 6 01:08:22 2009 -0400
20932
20933     [utils] Remove unused code
20934
20935  util/malloc-stats.c |   30 ------------------------------
20936  1 file changed, 30 deletions(-)
20937
20938 commit d4d0fcb4a8055f1fdd24fc5b7b64bb55d55e1485
20939 Author: Andrea Canciani <ranma42@gmail.com>
20940 Date:   Mon Aug 10 17:43:31 2009 +0100
20941
20942     [quartz] Compile fix for show_glyphs
20943     
20944     Correct the prototype for _cairo_quartz_surface_show_glyphs().
20945
20946  src/cairo-quartz-surface.c |    4 ++--
20947  1 file changed, 2 insertions(+), 2 deletions(-)
20948
20949 commit 2a2a19457bb934f9585bfdb97730fab99c8e386c
20950 Author: Chris Wilson <chris@chris-wilson.co.uk>
20951 Date:   Mon Aug 10 17:42:05 2009 +0100
20952
20953     [surface] Check for a NULL snapshot
20954     
20955     The backend is permitted to return a NULL surface when snapshotting to
20956     indicate that it cannot (or choses not to) implement the method.
20957
20958  src/cairo-surface.c |   28 +++++++++++++++-------------
20959  1 file changed, 15 insertions(+), 13 deletions(-)
20960
20961 commit 2e8ce34454a4d93986f590b1d2b024d1a1eb6bde
20962 Author: Chris Wilson <chris@chris-wilson.co.uk>
20963 Date:   Mon Aug 10 16:51:07 2009 +0100
20964
20965     [quartz] Use the implementation font-face not the associated
20966     
20967     As the associated is now explicitly the font-face used to create the font
20968     by the user, whereas what we require is the current implementation
20969     (quartz) font.
20970
20971  src/cairo-quartz-font.c |    6 ++----
20972  1 file changed, 2 insertions(+), 4 deletions(-)
20973
20974 commit a4dc372bab8ebe75a9f7d17a9a2e6fc8d9d2d747
20975 Author: Chris Wilson <chris@chris-wilson.co.uk>
20976 Date:   Mon Aug 10 16:50:00 2009 +0100
20977
20978     [scaled-font] Update API documentation
20979     
20980     Now that the toy-font-face is exposed to the user, it is expected to be
20981     returned when the user queries the font face associated with a scaled font.
20982
20983  src/cairo-scaled-font.c |    3 +--
20984  1 file changed, 1 insertion(+), 2 deletions(-)
20985
20986 commit c4828666b9b4dad39c3f17fdfd7d1dd3cbb83cbc
20987 Author: Chris Wilson <chris@chris-wilson.co.uk>
20988 Date:   Mon Aug 10 16:45:41 2009 +0100
20989
20990     [script] Handle translation of compressed strings.
20991     
20992     After introducing the new syntax to mark a deflated string, we also need
20993     to add the equivalent binary tokens.
20994
20995  util/cairo-script/cairo-script-file.c    |   10 ++--
20996  util/cairo-script/cairo-script-scanner.c |   81 +++++++++++++++++++-----------
20997  2 files changed, 56 insertions(+), 35 deletions(-)
20998
20999 commit 34870491951f5a712833b5fe7ed84c935bccfc5a
21000 Author: Andrea Canciani <ranma42@gmail.com>
21001 Date:   Sun Aug 9 22:33:28 2009 +0200
21002
21003     [quartz] Fix one more compile error
21004
21005  src/cairo-quartz-surface.c |    2 +-
21006  1 file changed, 1 insertion(+), 1 deletion(-)
21007
21008 commit c2e75b9993ab1d30002877fc11b52ea7b9acd40b
21009 Author: Chris Wilson <chris@chris-wilson.co.uk>
21010 Date:   Sun Aug 9 21:12:36 2009 +0100
21011
21012     [quartz] Attempt to fix compile errors
21013     
21014     ranma42 spotted that the quartz-backend no longer compiled after bed270,
21015     so once again attempt to blindly fix those errors...
21016
21017  src/cairo-quartz-surface.c |   18 +++++++++---------
21018  1 file changed, 9 insertions(+), 9 deletions(-)
21019
21020 commit 81c4594712843abca188a33c1edfb70fa6c5a0d9
21021 Author: Chris Wilson <chris@chris-wilson.co.uk>
21022 Date:   Thu Aug 6 23:41:11 2009 +0100
21023
21024     [script] Ensure strings are nul terminated
21025     
21026     Infrequently, but, for example, handling glyph strings, we require the
21027     string to be nul terminated. (Otherwise an error occurs, which was
21028     previously compounded by a drastic leak.)
21029
21030  util/cairo-script/cairo-script-scanner.c |    3 ++-
21031  1 file changed, 2 insertions(+), 1 deletion(-)
21032
21033 commit 86d6a489527d125e739aa5a6d17893bb44977010
21034 Author: Chris Wilson <chris@chris-wilson.co.uk>
21035 Date:   Thu Aug 6 23:39:21 2009 +0100
21036
21037     [script] Check for failure to store the glyph cache
21038     
21039     If we fail to add the glyph cache (presumably because the font is in
21040     error) do not leak the allocation. As this occurs for every single glyph
21041     string, the leak can grow very quickly and mask the original bug.
21042
21043  util/cairo-script/cairo-script-operators.c |   14 ++++++++++----
21044  1 file changed, 10 insertions(+), 4 deletions(-)
21045
21046 commit af392f7e45edcbf101ca7c91fc1ee372d283e8b9
21047 Author: Chris Wilson <chris@chris-wilson.co.uk>
21048 Date:   Thu Aug 6 23:17:06 2009 +0100
21049
21050     [script] Extend csi-replay to show how to use a single surface
21051     
21052     Currently the replay creates a fresh surface for every new surface. Whilst
21053     using it to view replays (such as with --xlib) this is often not what is
21054     desired so add a mode (compile-time only for now) to use similar surfaces
21055     and blits to the front buffer instead.
21056
21057  util/cairo-script/csi-replay.c |   73 +++++++++++++++++++++++++++++++++++++++-
21058  1 file changed, 72 insertions(+), 1 deletion(-)
21059
21060 commit b7639a5f79eaecfbaf1710fc679c7be375638efd
21061 Author: Chris Wilson <chris@chris-wilson.co.uk>
21062 Date:   Thu Aug 6 10:55:18 2009 +0100
21063
21064     [trace] Close the dictionary before font
21065     
21066     font expects the dictionary to be constructed on the stack for its use, so
21067     close it. (I missed the closing '>>' when switching between dictionary
21068     constructors.)
21069
21070  util/cairo-trace/trace.c |    2 +-
21071  1 file changed, 1 insertion(+), 1 deletion(-)
21072
21073 commit 19f54d872fcfa9801abee9c57e30c6b3fc7eef40
21074 Author: Chris Wilson <chris@chris-wilson.co.uk>
21075 Date:   Thu Aug 6 10:40:32 2009 +0100
21076
21077     [gl] Move hidden cairo_gl_surface_create() proto to header
21078     
21079     Make check-plt.sh happy
21080
21081  src/cairo-gl-private.h |    2 ++
21082  src/cairo-gl-surface.c |    1 -
21083  2 files changed, 2 insertions(+), 1 deletion(-)
21084
21085 commit ee69f8aa5e0697aaeee9c00839fb7b30fe7e3184
21086 Author: Chris Wilson <chris@chris-wilson.co.uk>
21087 Date:   Thu Aug 6 10:30:52 2009 +0100
21088
21089     [trace] Whitespace
21090     
21091     A few gratuitous whitespace and increase the buffer size used whilst
21092     reading in data files.
21093
21094  util/cairo-trace/trace.c |   12 ++++--------
21095  1 file changed, 4 insertions(+), 8 deletions(-)
21096
21097 commit 6d30021d65aa4126cd5eef47b0e6057dfc17d7ac
21098 Author: Chris Wilson <chris@chris-wilson.co.uk>
21099 Date:   Thu Aug 6 10:29:49 2009 +0100
21100
21101     [trace] Only write the 4 byte length to the stream
21102     
21103     We were attempting to write out the whole length of the block when we were
21104     just trying to write out the length value.
21105
21106  util/cairo-trace/trace.c |    2 +-
21107  1 file changed, 1 insertion(+), 1 deletion(-)
21108
21109 commit a439bd99d0439c007bc74584c1eb56700c520b52
21110 Author: Chris Wilson <chris@chris-wilson.co.uk>
21111 Date:   Wed Aug 5 17:34:29 2009 +0100
21112
21113     [perf] Compare drawing random curves
21114     
21115     Extend the intersection tests with straight lines, with random curves as
21116     well.
21117
21118  perf/intersections.c |   58 +++++++++++++++++++++++++++++++++++++++++++++++++-
21119  1 file changed, 57 insertions(+), 1 deletion(-)
21120
21121 commit 1327df2cf2f2dd9f98533d824503dfb081803b05
21122 Author: Chris Wilson <chris@chris-wilson.co.uk>
21123 Date:   Tue Aug 4 20:15:13 2009 +0100
21124
21125     [pattern] Invalid access beyond end of freed-pool
21126     
21127     Oops, we were attempting to return a pointer from beyond the end of our
21128     array.
21129
21130  src/cairo-pattern.c |    4 +++-
21131  1 file changed, 3 insertions(+), 1 deletion(-)
21132
21133 commit 920f59a755ce142b068f21b9db07f76f35449f16
21134 Author: Chris Wilson <chris@chris-wilson.co.uk>
21135 Date:   Tue Aug 4 20:13:43 2009 +0100
21136
21137     [build] Configure switch to disable atomics
21138     
21139     Workaround for my arm toolchain which succeeds in linking the configure
21140     program, only to complain when linking a program (such as cairo-perf)
21141     against libcairo.so. Annoying.
21142
21143  build/configure.ac.system |   10 ++++++++--
21144  1 file changed, 8 insertions(+), 2 deletions(-)
21145
21146 commit cb30c1f367967e3395296a5d01a3eb9050635e3b
21147 Author: Chris Wilson <chris@chris-wilson.co.uk>
21148 Date:   Tue Aug 4 13:59:03 2009 +0100
21149
21150     [path] Extend identical lines.
21151     
21152     If a subsequent PATH_OP is just a continuation of the previous line, i.e.
21153     it has the same gradient, then just replace the end-point of the previous
21154     line with the new point rather than adding a new operation. Surprisingly
21155     this occurs in the wild, but the main motivation is a future optimisation
21156     to reduce the number of intersections during stroke-to-path.
21157
21158  src/cairo-path-fixed.c |   31 ++++++++++++++++++++++++++++---
21159  src/cairoint.h         |    7 +++++++
21160  2 files changed, 35 insertions(+), 3 deletions(-)
21161
21162 commit 85b688a3f6271427befca699de3a7a15162fc59e
21163 Author: Chris Wilson <chris@chris-wilson.co.uk>
21164 Date:   Mon Aug 3 22:27:22 2009 +0100
21165
21166     [matrix] Use hypot()
21167     
21168     Use hypot() instead of open-coding sqrt(x*x + y*y). In theory, the
21169     compiler could emit highly efficient code. In practice it's slower, but
21170     more likely to be more accurate -- but the difference over a bare sqrt()
21171     is likely not to be perceptible.
21172
21173  src/cairo-matrix.c |    4 ++--
21174  1 file changed, 2 insertions(+), 2 deletions(-)
21175
21176 commit 0db9e010fa70c65451d324cc9c0ade989f77fedd
21177 Author: Chris Wilson <chris@chris-wilson.co.uk>
21178 Date:   Mon Aug 3 22:23:19 2009 +0100
21179
21180     [perf] Calibrate tests to run for at least 2 seconds
21181     
21182     By ensuring that tests take longer than a couple of seconds we eliminate
21183     systematic errors in our measurements. However, we also effectively
21184     eliminate the synchronisation overhead. To compensate, we attempt to
21185     estimate the overhead by reporting the difference between a single
21186     instance and the minimum averaged instance.
21187
21188  perf/box-outline.c           |   14 +++--
21189  perf/cairo-perf-report.c     |    4 +-
21190  perf/cairo-perf.c            |   39 +++++++++---
21191  perf/cairo-perf.h            |    2 +-
21192  perf/composite-checker.c     |   22 ++++---
21193  perf/dragon.c                |  142 ++++++++++++++++++++++--------------------
21194  perf/fill.c                  |   21 +++++--
21195  perf/glyphs.c                |   32 +++++-----
21196  perf/intersections.c         |   27 ++++----
21197  perf/long-dashed-lines.c     |    9 +--
21198  perf/long-lines.c            |   68 ++++++++++----------
21199  perf/mask.c                  |   45 +++++++------
21200  perf/mosaic.c                |   38 +++++------
21201  perf/paint-with-alpha.c      |    5 +-
21202  perf/paint.c                 |    5 +-
21203  perf/pattern_create_radial.c |   24 +++----
21204  perf/pythagoras-tree.c       |   20 +++---
21205  perf/rectangles.c            |   38 ++++++-----
21206  perf/rounded-rectangles.c    |   47 +++++++++++---
21207  perf/spiral.c                |   51 ++++++++-------
21208  perf/stroke.c                |   19 ++++--
21209  perf/subimage_copy.c         |    7 ++-
21210  perf/tessellate.c            |   17 ++---
21211  perf/text.c                  |   27 ++++----
21212  perf/twin.c                  |   29 +++++----
21213  perf/unaligned-clip.c        |   37 ++++++-----
21214  perf/world-map.c             |   78 ++++++++++++-----------
21215  perf/zrusin.c                |   10 +--
21216  28 files changed, 496 insertions(+), 381 deletions(-)
21217
21218 commit 60c574ad062f3d8526056942bb7c9e71610a2773
21219 Author: Chris Wilson <chris@chris-wilson.co.uk>
21220 Date:   Wed Aug 5 15:11:00 2009 +0100
21221
21222     [surface] Protect against the user setting a fallback resolution of 0.
21223     
21224     Bug 23067 -- using clear drawing operator crashes printing
21225     http://bugs.freedesktop.org/show_bug.cgi?id=23067
21226     
21227     Here we were hitting an assert within the paginated surface after creating
21228     a zero sized fallback image, due to the paginated surface being created
21229     with an x fallback resolution of 0 dpi (by
21230     _gtk_printer_create_cairo_surface(), gtk/gtkprinter.c:924).
21231     
21232     Avoid the bug by guarding against bad input to
21233     cairo_surface_set_fallback_resolution() which also allows us to identity
21234     the invalid caller.
21235
21236  src/cairo-surface.c |    8 ++++++++
21237  1 file changed, 8 insertions(+)
21238
21239 commit a3f393cf644d75065fe524e2fbb28f55844f43bf
21240 Author: Chris Wilson <chris@chris-wilson.co.uk>
21241 Date:   Thu Aug 6 09:52:34 2009 +0100
21242
21243     [configure] Also check for libiberty.h
21244     
21245     cairo-trace also uses the libiberty.h without checking for its presence --
21246     causing a build failure if bfd was installed but not that header.
21247
21248  configure.ac |    1 +
21249  1 file changed, 1 insertion(+)
21250
21251 commit 51bd27afa147f78c8f4f3778cee725b6444e7eb0
21252 Author: Chris Wilson <chris@chris-wilson.co.uk>
21253 Date:   Thu Aug 6 09:41:15 2009 +0100
21254
21255     [boilerplate/test] Convert make-*-constructors to shell
21256     
21257     Remove the intermediate C program that was a nuisance whilst
21258     cross-compiling and replace it with a simple shell script that is just a
21259     combination of cat + sed.
21260
21261  boilerplate/Makefile.am                            |   17 +-
21262  boilerplate/make-cairo-boilerplate-constructors.c  |  163 --------------------
21263  boilerplate/make-cairo-boilerplate-constructors.sh |   24 +++
21264  build/configure.ac.tools                           |    8 -
21265  test/Makefile.am                                   |   11 +-
21266  test/make-cairo-test-constructors.c                |  162 -------------------
21267  test/make-cairo-test-constructors.sh               |   24 +++
21268  7 files changed, 56 insertions(+), 353 deletions(-)
21269
21270 commit 5dd29d7e2da8684ea46c8f1baba42e6dc64f1351
21271 Author: Chris Wilson <chris@chris-wilson.co.uk>
21272 Date:   Thu Aug 6 09:55:43 2009 +0100
21273
21274     [directfb] Conditionally use DSPF_BGR555
21275     
21276     Appears that this token is more recent than some of my headers, so check
21277     for its presence before use.
21278
21279  src/cairo-directfb-surface.c |    4 ++++
21280  1 file changed, 4 insertions(+)
21281
21282 commit 1d2abe7d1061e580e189604b25465c8025cedfb7
21283 Author: Chris Wilson <chris@chris-wilson.co.uk>
21284 Date:   Fri Jul 31 19:38:23 2009 +0100
21285
21286     [gl] Refresh clip-operator ref.
21287     
21288     A minor renderering difference, acceptable.
21289
21290  test/Makefile.am                     |    1 +
21291  test/clip-operator.gl.argb32.ref.png |  Bin 0 -> 8296 bytes
21292  2 files changed, 1 insertion(+)
21293
21294 commit 640a0be2e2ef0124424aeca32915a2f644b03d27
21295 Merge: 067de9c 5c2239b
21296 Author: Chris Wilson <chris@chris-wilson.co.uk>
21297 Date:   Fri Jul 31 18:03:35 2009 +0100
21298
21299     Merge branch 'gl-glyph-cache'
21300     
21301     Comparing the glyph-cache on an i915:
21302     
21303        gnome-terminal-20090728:  1.51x speedup
21304               firefox-20090601:  No change
21305
21306 commit 5c2239be4b11437b1ab1731ef2dfac6cfb8095b1
21307 Author: Chris Wilson <chris@chris-wilson.co.uk>
21308 Date:   Fri Jul 31 16:29:49 2009 +0100
21309
21310     [gl] Use scissors rather than allocating a temporary depth buffer.
21311
21312  src/cairo-gl-glyphs.c  |    9 ----
21313  src/cairo-gl-private.h |    9 ++++
21314  src/cairo-gl-surface.c |  114 ++++++++++--------------------------------------
21315  3 files changed, 32 insertions(+), 100 deletions(-)
21316
21317 commit 067de9cf62223ee7a36aab10e3d8a4e0dcda4741
21318 Author: Chris Wilson <chris@chris-wilson.co.uk>
21319 Date:   Fri Jul 31 17:49:39 2009 +0100
21320
21321     [test] Add clip-fill.
21322     
21323     Test filling through a complex clip.
21324
21325  test/Makefile.am                     |    4 ++
21326  test/Makefile.sources                |    1 +
21327  test/clip-fill.c                     |   78 ++++++++++++++++++++++++++++++++++
21328  test/clip-fill.ps.xfail.png          |  Bin 0 -> 522 bytes
21329  test/clip-fill.ref.png               |  Bin 0 -> 1035 bytes
21330  test/clip-fill.xlib-fallback.ref.png |  Bin 0 -> 1039 bytes
21331  test/clip-fill.xlib.ref.png          |  Bin 0 -> 1049 bytes
21332  7 files changed, 83 insertions(+)
21333
21334 commit 7db1fb6fa97e0c44e66c0ae533b94fb3f26b273d
21335 Author: Chris Wilson <chris@chris-wilson.co.uk>
21336 Date:   Fri Jul 31 16:57:14 2009 +0100
21337
21338     [test] Add clip-text
21339     
21340     Test applying a complex clip to text.
21341
21342  test/Makefile.am            |    4 ++
21343  test/Makefile.sources       |    1 +
21344  test/clip-text.c            |   88 +++++++++++++++++++++++++++++++++++++++++++
21345  test/clip-text.ps.xfail.png |  Bin 0 -> 434 bytes
21346  test/clip-text.ref.png      |  Bin 0 -> 928 bytes
21347  test/clip-text.svg.ref.png  |  Bin 0 -> 933 bytes
21348  test/clip-text.xlib.ref.png |  Bin 0 -> 900 bytes
21349  7 files changed, 93 insertions(+)
21350
21351 commit 728d3f6383bba218de03f2693f289ddad6a80d0c
21352 Author: Chris Wilson <chris@chris-wilson.co.uk>
21353 Date:   Fri Jul 31 16:24:37 2009 +0100
21354
21355     Revert "[gl] Fixup unbounded regions after spans"
21356     
21357     This reverts commit f7121ca88844fa70ecb1a35f3f6c9b653324718d.
21358
21359  src/cairo-gl-surface.c |   68 +++++-------------------------------------------
21360  1 file changed, 7 insertions(+), 61 deletions(-)
21361
21362 commit 74bdea1249bc1fcd223e9bab83d9b9e22fa98b99
21363 Author: Chris Wilson <chris@chris-wilson.co.uk>
21364 Date:   Fri Jul 31 16:20:54 2009 +0100
21365
21366     [spans] Emit empty rows.
21367     
21368     A problem that does not present itself whilst using spans to intermediate
21369     masks is that the tor-span-convertor did not emit the empty rows. When
21370     compositing directly using spans with an unbounded operator this was
21371     causing rendering artefacts, for overlapping-glyphs and the gl backend.
21372
21373  src/cairo-tor-scan-converter.c |   15 +++++++++++++++
21374  1 file changed, 15 insertions(+)
21375
21376 commit 1e4b9ab04bfe18f50b9b7c2cdb75d5828e33ef69
21377 Author: Chris Wilson <chris@chris-wilson.co.uk>
21378 Date:   Fri Jul 31 15:27:20 2009 +0100
21379
21380     [gl] Return status from _render_glyphs()
21381
21382  src/cairo-gl-glyphs.c |    6 ++++--
21383  1 file changed, 4 insertions(+), 2 deletions(-)
21384
21385 commit 097484da6fd70867ed2128e78247eab5c43217fb
21386 Author: Chris Wilson <chris@chris-wilson.co.uk>
21387 Date:   Fri Jul 31 14:48:32 2009 +0100
21388
21389     [boilerplate] Conditionally tweak the xlib surface
21390     
21391     Prior to introduction of the buggy members to the surface, we obviously
21392     cannot set them. However, the boilerplate code is meant to compile against
21393     older revisions of the library so we need to check for the existence prior
21394     to use.
21395
21396  boilerplate/cairo-boilerplate-xlib.c |   10 ++++++++--
21397  src/cairo-xlib-surface-private.h     |    3 +++
21398  2 files changed, 11 insertions(+), 2 deletions(-)
21399
21400 commit 397538a251ae19bb1a34650763eb9a80108a96de
21401 Author: Chris Wilson <chris@chris-wilson.co.uk>
21402 Date:   Fri Jul 31 12:17:28 2009 +0100
21403
21404     [boilerplate] Update fallbacks after disabling RENDER
21405     
21406     The xlib surface caches flags based on RENDER version, so after disabling
21407     render to force fallbacks, we need to ensure that the flags are reset.
21408
21409  boilerplate/cairo-boilerplate-xlib.c |    5 +++++
21410  1 file changed, 5 insertions(+)
21411
21412 commit 786d1f962a7e7ee7036ea85d4ea3aec7580e25db
21413 Author: Chris Wilson <chris@chris-wilson.co.uk>
21414 Date:   Fri Jul 31 13:17:24 2009 +0100
21415
21416     [xlib] Use server-side gradients.
21417     
21418     We can offload creation of gradients to server that support RENDER 0.10
21419     and later. This greatly reduces the amount of traffic we need to send over
21420     our display connection as the gradient patterns are much smaller than the
21421     full image. Even if the server fallbacks to using pixman, performance
21422     should be improved by the reduced transport overhead. Furthermore this is a
21423     requisite to enable hardware accelerated gradients with the xlib backend.
21424     
21425     Running cairo-perf-trace on tiny, Celeron/i915:
21426     
21427       before: firefox-20090601 211.585
21428        after: firefox-20090601 270.939
21429     
21430     and on tiger, CoreDuo/nvidia:
21431     
21432       before: firefox-20090601 70.143
21433        after: firefox-20090601 87.326
21434     
21435     where linear gradients are used extensively throughout the GTK+ theme.
21436     Not quite the result I was expecting!
21437     
21438     In particular, looking at tiny:
21439     
21440      xlib-rgba paint-with-alpha_linear-rgba_over-512   47.11 (47.16 0.05%) -> 123.42 (123.72 0.13%):  2.62x slowdown
21441     █▋
21442      xlib-rgba paint-with-alpha_linear3-rgba_over-512   47.27 (47.32 0.04%) -> 123.78 (124.04 0.13%):  2.62x slowdown
21443     █▋
21444      xlib-rgba paint-with-alpha_linear-rgb_over-512   47.19 (47.21 0.02%) -> 123.37 (123.70 0.13%):  2.61x slowdown
21445     █▋
21446      xlib-rgba paint-with-alpha_linear3-rgb_over-512   47.30 (47.31 0.04%) -> 123.52 (123.62 0.09%):  2.61x slowdown
21447     █▋
21448      xlib-rgba     paint_linear3-rgb_over-512   47.29 (47.32 0.05%) -> 118.95 (119.60 0.29%):  2.52x slowdown
21449     █▌
21450      xlib-rgba     paint_linear-rgba_over-512   47.14 (47.17 0.06%) -> 116.76 (117.06 0.16%):  2.48x slowdown
21451     █▌
21452      xlib-rgba    paint_linear3-rgba_over-512   47.32 (47.34 0.04%) -> 116.85 (116.98 0.05%):  2.47x slowdown
21453     █▌
21454      xlib-rgba      paint_linear-rgb_over-512   47.15 (47.19 0.03%) -> 114.08 (114.55 0.20%):  2.42x slowdown
21455     █▍
21456      xlib-rgba paint-with-alpha_radial-rgb_over-512  117.25 (119.43 1.21%) -> 194.36 (194.73 0.09%):  1.66x slowdown
21457     ▋
21458      xlib-rgba paint-with-alpha_radial-rgba_over-512  117.22 (117.26 0.02%) -> 193.81 (194.17 0.11%):  1.65x slowdown
21459     ▋
21460      xlib-rgba     paint_radial-rgba_over-512  117.23 (117.26 0.02%) -> 186.35 (186.41 0.03%):  1.59x slowdown
21461     ▋
21462      xlib-rgba      paint_radial-rgb_over-512  117.23 (117.27 0.02%) -> 184.14 (184.62 1.51%):  1.57x slowdown
21463     ▋
21464     
21465     Before 1.10, we may choose to disable server-side gradients for the
21466     current crop of Xorg servers, similar to the extended repeat modes.
21467     
21468     [Updated by Chris Wilson. All bugs are his.]
21469
21470  NEWS                             |   28 ++++
21471  src/cairo-xlib-display.c         |    9 +-
21472  src/cairo-xlib-private.h         |    3 +-
21473  src/cairo-xlib-surface-private.h |    5 +-
21474  src/cairo-xlib-surface.c         |  306 ++++++++++++++++++++++++++++++++++----
21475  5 files changed, 318 insertions(+), 33 deletions(-)
21476
21477 commit 53cbbad8fbbd2b9423a5eb179d0cec3fc7678791
21478 Author: Chris Wilson <chris@chris-wilson.co.uk>
21479 Date:   Fri Jul 31 11:35:45 2009 +0100
21480
21481     [xlib] Disable extended repeat modes if RENDER < 0.10
21482     
21483     The extended repeat modes were only introduced in RENDER 0.10, so disable
21484     them if the server reports an earlier version. This is in addition to
21485     disabling the repeat modes if we know (guess!) the server to have a buggy
21486     implementation.
21487
21488  src/cairo-xlib-surface.c |    4 ++++
21489  1 file changed, 4 insertions(+)
21490
21491 commit e283e53563915daa11566ba006e1bf1e12b0d2fc
21492 Author: Chris Wilson <chris@chris-wilson.co.uk>
21493 Date:   Fri Jul 31 10:50:13 2009 +0100
21494
21495     [perf] Print min_ticks in report
21496     
21497     As the change and ranking is based on the min_ticks, and as this can
21498     sometimes deviate wildly from median_ticks, include min_ticks in the
21499     output.
21500     
21501     In particular it helps to explain cases like:
21502     
21503     xlib-rgba rectangles_similar-rgba-mag_source-512    10.13 88.41% ->   5.77 0.19%:  1.50x slowdown
21504     
21505     which becomes
21506     
21507     xlib-rgba rectangles_similar-rgba-mag_source-512    3.83 (10.13 88.41%) ->   5.75 (5.77 0.19%):  1.50x slowdown
21508     
21509     (Considering the poor standard deviation on the initial measurement, this
21510     is more likely a sampling error than a true regression.)
21511
21512  perf/cairo-perf-diff-files.c |    4 +++-
21513  1 file changed, 3 insertions(+), 1 deletion(-)
21514
21515 commit ce8a8424aa4331f119b115123faf7b773b5f25d0
21516 Author: Chris Wilson <chris@chris-wilson.co.uk>
21517 Date:   Fri Jul 31 09:36:10 2009 +0100
21518
21519     [perf] Change the order of slowdowns.
21520     
21521     More the large slowdowns to the end. This has two pleasing effects:
21522     
21523       1. There is symmetry between large speedups at the top, and large
21524          slowdowns at the bottom, with long bars -> short bars -> long bars.
21525     
21526       2. After a cairo-perf-diff run the largest slowdowns are immediately
21527          visible on the console. What better way to flag performance
21528          regressions?
21529
21530  perf/cairo-perf-diff-files.c |   11 +++++++----
21531  1 file changed, 7 insertions(+), 4 deletions(-)
21532
21533 commit 877ed645f95ff048f7c5d2ce0fb92389918711a6
21534 Author: Chris Wilson <chris@chris-wilson.co.uk>
21535 Date:   Thu Jul 30 22:09:55 2009 +0100
21536
21537     [perf] Add a more complex fill, a set of rings
21538     
21539     In investigating performance regressions with the wip/tessellator, I'm
21540     keen to inspect how the tessellator scales with polygon complexity.
21541
21542  perf/fill.c |   37 +++++++++++++++++++++++++++++++++++++
21543  1 file changed, 37 insertions(+)
21544
21545 commit 3dbc4170f0e89f02455b82c6496d6322e56e0491
21546 Author: Chris Wilson <chris@chris-wilson.co.uk>
21547 Date:   Thu Jul 30 10:35:11 2009 +0100
21548
21549     [perf] Add a single shot long-lines
21550     
21551     Compare the performance of self-intersection removal by comparing the cost
21552     of individually stroking each line versus stroking them all en-mass.
21553
21554  perf/long-lines.c |   45 ++++++++++++++++++++++++++++++++++-----------
21555  1 file changed, 34 insertions(+), 11 deletions(-)
21556
21557 commit 2f033af5ab15dc56675c42434bb1c18655012b03
21558 Author: Chris Wilson <chris@chris-wilson.co.uk>
21559 Date:   Thu Jul 30 09:42:31 2009 +0100
21560
21561     [perf] Fix the asymmetry in long lines
21562     
21563     We missed the final long diagonal to the bottom-right.
21564
21565  perf/long-lines.c |    2 +-
21566  1 file changed, 1 insertion(+), 1 deletion(-)
21567
21568 commit 944206e55ba997a4a55334be3c7ebf8141016be7
21569 Author: Chris Wilson <chris@chris-wilson.co.uk>
21570 Date:   Thu Jul 30 09:36:28 2009 +0100
21571
21572     [perf] Correct typo in long-lines.c
21573     
21574     Computed may_y using height not width, fortunately the test cases have
21575     always been square.
21576
21577  perf/long-lines.c |    2 +-
21578  1 file changed, 1 insertion(+), 1 deletion(-)
21579
21580 commit 229887e980f03d90248add8af9cd0a9be6cb0f9a
21581 Author: Chris Wilson <chris@chris-wilson.co.uk>
21582 Date:   Wed Jul 29 19:48:00 2009 +0100
21583
21584     [perf] Check output
21585     
21586     Add a CAIRO_PERF_OUTPUT environment variable to cause cairo-perf to first
21587     generate an output image in order to manually check that the test is
21588     functioning correctly. This needs to be automated, so that we have
21589     absolute confidence that the performance tests are not broken - but isn't
21590     that the role of the test suite? If we were ever to publish cairo-perf
21591     results, I would want some means of verification that the test-suite had
21592     first been passed.
21593
21594  perf/cairo-perf.c |   19 +++++++++++++++++++
21595  1 file changed, 19 insertions(+)
21596
21597 commit 8c6ecfe6488dff93090d5d0a2d814466804bc7de
21598 Author: Chris Wilson <chris@chris-wilson.co.uk>
21599 Date:   Wed Jul 29 16:17:36 2009 +0100
21600
21601     [perf] Remove the warning about failing to open a directory
21602     
21603     The warning is repeated in the error message if we fail to find any
21604     traces, and now that we search a path it is likely that some elements do
21605     not exist. Thus we annoy the user with irrelevant, non-fatal warnings.
21606     
21607     Still looking for suggestions for the most appropriate home for the system
21608     wide cairo-traces dir...
21609
21610  perf/cairo-perf-trace.c |    4 +---
21611  1 file changed, 1 insertion(+), 3 deletions(-)
21612
21613 commit 8c1aed17ca5dafb00175ac413d56760a3ef012f9
21614 Author: Chris Wilson <chris@chris-wilson.co.uk>
21615 Date:   Wed Jul 29 13:24:19 2009 +0100
21616
21617     [perf] Add another stroking micro-benchmark
21618     
21619     The original stroke only contains a single subpath. Self-intersection
21620     removal particularly affects strokes with multiple curved segments, so add
21621     a path that encompasses both straight edges and rounded corners.
21622
21623  perf/stroke.c |   36 ++++++++++++++++++++++++++++++++++++
21624  1 file changed, 36 insertions(+)
21625
21626 commit 71f5649846aa8e9e2178e7caf69ab47554f86c4d
21627 Author: Chris Wilson <chris@chris-wilson.co.uk>
21628 Date:   Wed Jul 29 15:36:25 2009 +0100
21629
21630     [path] Fix iter to handle circular list of buffers
21631     
21632     When switching the path over to use the circularly linked list, 73f801,
21633     I missed updating the path iterator.
21634
21635  src/cairo-path-fixed-private.h |    1 +
21636  src/cairo-path-fixed.c         |    9 +++++++--
21637  2 files changed, 8 insertions(+), 2 deletions(-)
21638
21639 commit acfcf4a31b3370ca7bbdd522fad9ddc483df3472
21640 Author: Chris Wilson <chris@chris-wilson.co.uk>
21641 Date:   Wed Jul 29 16:10:04 2009 +0100
21642
21643     [path] Remove the broken rel-curve-to as line-to
21644     
21645     As pointed out by Andrea, and now tested by test/degenerate-rel-curve-to,
21646     this attempt at removing degenerate curve-to was broken.
21647
21648  src/cairo-path-fixed.c |    6 ------
21649  1 file changed, 6 deletions(-)
21650
21651 commit 81d3e15e6ca7b7c1a07fdfb6d03c43484ce9f502
21652 Author: Chris Wilson <chris@chris-wilson.co.uk>
21653 Date:   Wed Jul 29 16:07:17 2009 +0100
21654
21655     [test] Yet another bug in curve-to as line-to.
21656     
21657     Andrea Canciani (ranma42) found another instance of my broken 'degenerate'
21658     curve-to as line-to optimisation. All I can say is when I do something
21659     wrong, at least I'm consistent!
21660     
21661     This test case highlights the bug in the rel-curve-to path.
21662
21663  test/Makefile.am                          |    2 +
21664  test/Makefile.sources                     |    1 +
21665  test/degenerate-rel-curve-to.c            |   99 +++++++++++++++++++++++++++++
21666  test/degenerate-rel-curve-to.ps.xfail.png |  Bin 0 -> 202 bytes
21667  test/degenerate-rel-curve-to.ref.png      |  Bin 0 -> 270 bytes
21668  5 files changed, 102 insertions(+)
21669
21670 commit f7121ca88844fa70ecb1a35f3f6c9b653324718d
21671 Author: Chris Wilson <chris@chris-wilson.co.uk>
21672 Date:   Tue Jul 28 20:48:26 2009 +0100
21673
21674     [gl] Fixup unbounded regions after spans
21675
21676  src/cairo-gl-surface.c |   68 +++++++++++++++++++++++++++++++++++++++++++-----
21677  1 file changed, 61 insertions(+), 7 deletions(-)
21678
21679 commit 5631f01075a030255c5eb47a8ee600b062705d0f
21680 Author: Chris Wilson <chris@chris-wilson.co.uk>
21681 Date:   Tue Jul 28 18:56:12 2009 +0100
21682
21683     [gl] Cache texture snapshots.
21684
21685  src/cairo-gl-glyphs.c  |   32 ++++--
21686  src/cairo-gl-private.h |    2 +-
21687  src/cairo-gl-surface.c |  297 +++++++++++++++++++++++++++++-------------------
21688  3 files changed, 204 insertions(+), 127 deletions(-)
21689
21690 commit 3b0bb2cfd2ad8579e88f1c0ab46f5ccf762e0974
21691 Author: Chris Wilson <chris@chris-wilson.co.uk>
21692 Date:   Tue Jul 28 18:04:59 2009 +0100
21693
21694     [gl] Replace DrawPixels with TexSubImage
21695
21696  src/cairo-gl-surface.c |   60 ++++++++++++++++++++++--------------------------
21697  1 file changed, 27 insertions(+), 33 deletions(-)
21698
21699 commit 4b7a1a2da7a7f55db788cbfb3164f9f948bbb26b
21700 Author: Chris Wilson <chris@chris-wilson.co.uk>
21701 Date:   Tue Jul 28 17:32:30 2009 +0100
21702
21703     [gl] Disable the EXTEND_REFLECT convertor
21704     
21705     As we can handle EXTEND_REFLECT via the samplers, we do not need to
21706     convert such patterns to EXTEND_REPEAT during acquisition.
21707
21708  src/cairo-gl-surface.c |    2 +-
21709  1 file changed, 1 insertion(+), 1 deletion(-)
21710
21711 commit 780a95b024c5880353ffc256a634eb3bcc641601
21712 Author: Chris Wilson <chris@chris-wilson.co.uk>
21713 Date:   Tue Jul 28 16:49:04 2009 +0100
21714
21715     [gl] Trim glyphs to surface/clip extents.
21716
21717  src/cairo-gl-glyphs.c |   21 ++++++++++++++++++---
21718  1 file changed, 18 insertions(+), 3 deletions(-)
21719
21720 commit b1227dea29d3e357cc69c49eed0ae10d5578f24a
21721 Author: Chris Wilson <chris@chris-wilson.co.uk>
21722 Date:   Tue Jul 28 16:39:52 2009 +0100
21723
21724     [gl] Render glyphs to an intermediate mask as opposed to falling back.
21725     
21726     There are many common scenarios, mostly involving overlapping glyphs,
21727     for which to guarantee correct rendering we have to composite the glyphs
21728     via an explicit mask. That is instead of just blending the glyphs on to
21729     the destination, we have to add the glyphs to a mask, and then composite
21730     that mask+source with the destination.
21731
21732  src/cairo-gl-glyphs.c |  306 +++++++++++++++++++++++++++++++------------------
21733  1 file changed, 194 insertions(+), 112 deletions(-)
21734
21735 commit cd259489e2f41caaa7441233d87b46fbd43991ae
21736 Author: Chris Wilson <chris@chris-wilson.co.uk>
21737 Date:   Tue Jul 28 15:58:54 2009 +0100
21738
21739     [gl] Fallback for overlapping glyphs.
21740
21741  src/cairo-analysis-surface.c |    6 ++++--
21742  src/cairo-gl-glyphs.c        |   35 ++++++++++++++++++++---------------
21743  src/cairo-gl-private.h       |   13 +++++++++++++
21744  src/cairo-scaled-font.c      |   23 +++++++++++++++++++++--
21745  src/cairo-surface-fallback.c |    3 ++-
21746  src/cairo-xcb-surface.c      |    3 ++-
21747  src/cairo-xlib-surface.c     |    3 ++-
21748  src/cairoint.h               |    3 ++-
21749  8 files changed, 66 insertions(+), 23 deletions(-)
21750
21751 commit 3d8f1d3dc83b9a86f2f104f0e2afa192a34d18c8
21752 Author: Chris Wilson <chris@chris-wilson.co.uk>
21753 Date:   Tue Jul 28 15:38:45 2009 +0100
21754
21755     [gl] Only unlock the glyph cache when full.
21756
21757  src/cairo-gl-glyphs.c |   10 +++++++---
21758  1 file changed, 7 insertions(+), 3 deletions(-)
21759
21760 commit 922b1fe8e380ceba0630935460ce758ef660df75
21761 Author: Adrian Johnson <ajohnson@redneon.com>
21762 Date:   Tue Jul 28 22:34:42 2009 +0930
21763
21764     Ensure Type 3 fonts do not use the name .notdef in the PS encoding
21765
21766  src/cairo-scaled-font-subsets.c |    2 +-
21767  1 file changed, 1 insertion(+), 1 deletion(-)
21768
21769 commit a251e34dbbcb652906f7fddd2a72cbb5992b58ae
21770 Author: Chris Wilson <chris@chris-wilson.co.uk>
21771 Date:   Tue Jul 28 13:44:19 2009 +0100
21772
21773     [gl] Move check for vertex buffer support to individual operations.
21774     
21775     As we can fallback instead of using vertex buffers, do so rather than
21776     preventing any use of GL acceleration.
21777
21778  src/cairo-gl-glyphs.c  |    3 +++
21779  src/cairo-gl-surface.c |   17 +++++++++--------
21780  2 files changed, 12 insertions(+), 8 deletions(-)
21781
21782 commit 90657bacc306e65e07e9eb16561a805150aef778
21783 Author: Chris Wilson <chris@chris-wilson.co.uk>
21784 Date:   Tue Jul 28 13:30:31 2009 +0100
21785
21786     [gl] Separate out supported operator check.
21787     
21788     By performing the check on whether the operator is supported prior to
21789     acquiring the context, we do not need to handle the error part way
21790     through the context setup. This makes the code much cleaner, and save
21791     some work for the unsupported cases.
21792
21793  src/cairo-gl-glyphs.c  |    7 ++++---
21794  src/cairo-gl-private.h |    5 ++++-
21795  src/cairo-gl-surface.c |   46 ++++++++++++++++++----------------------------
21796  3 files changed, 26 insertions(+), 32 deletions(-)
21797
21798 commit 21d50e2163038c8acc0eef738acf61f851835f7d
21799 Author: Chris Wilson <chris@chris-wilson.co.uk>
21800 Date:   Tue Jul 28 13:24:43 2009 +0100
21801
21802     [gl] Unthaw font along contended path.
21803     
21804     If we bail after freezing the font, make sure we thaw that it is thawed
21805     before returning.
21806
21807  src/cairo-gl-glyphs.c |    4 ++--
21808  1 file changed, 2 insertions(+), 2 deletions(-)
21809
21810 commit 5440055fc0329c726d324984cd2fdf07badc7e0f
21811 Author: Adrian Johnson <ajohnson@redneon.com>
21812 Date:   Tue Jul 28 20:59:25 2009 +0930
21813
21814     Ensure Type 3 fonts do not add a .notdef glyph
21815
21816  src/cairo-scaled-font-subsets.c |    2 +-
21817  1 file changed, 1 insertion(+), 1 deletion(-)
21818
21819 commit 1ae5a41951b8a8cb415835559f91d1636a885216
21820 Author: Adrian Johnson <ajohnson@redneon.com>
21821 Date:   Tue Jul 28 20:54:58 2009 +0930
21822
21823     PDF: Only Type 3 fonts should include glyph 0 in /ToUnicode
21824     
21825     4c498098 made all 8-bit fonts include glyph 0 which incorrectly
21826     included Type 1 fallback fonts.
21827
21828  src/cairo-pdf-surface.c         |   20 +++++++++++++-------
21829  src/cairo-scaled-font-subsets.c |    1 +
21830  src/cairoint.h                  |    1 +
21831  3 files changed, 15 insertions(+), 7 deletions(-)
21832
21833 commit c11f369057c5ebb958bec58ef41f8ad4b43bdbee
21834 Author: Chris Wilson <chris@chris-wilson.co.uk>
21835 Date:   Tue Jul 28 13:02:10 2009 +0100
21836
21837     [perf] Avoid NULL derefs on broken result files.
21838     
21839     Instead of testing for a NULL return we checked that the pointer didn't
21840     point to NIL. Oops.
21841
21842  perf/cairo-perf-report.c |    8 ++++----
21843  1 file changed, 4 insertions(+), 4 deletions(-)
21844
21845 commit 19f44982348d247057df4481010c1e3ddc80bac2
21846 Author: Chris Wilson <chris@chris-wilson.co.uk>
21847 Date:   Tue Jul 28 12:58:07 2009 +0100
21848
21849     [test] Wrap yet another call to get_image_surface() inside a timeout.
21850     
21851     I missed this call to get_image_surface() that is now being hit having
21852     restored the reference image for dash-infinite-loop.
21853
21854  test/cairo-test.c |    3 +++
21855  1 file changed, 3 insertions(+)
21856
21857 commit e2f912dc5bbfad3a6f4b5e1dbfbe51be148b3232
21858 Author: Chris Wilson <chris@chris-wilson.co.uk>
21859 Date:   Tue Jul 28 09:32:36 2009 +0100
21860
21861     [script] Add cvi, cvr, mod
21862     
21863     Add implementations of convert-to-integer, convert-to-real and modulus
21864     supplied by Zack Weinberg <zweinberg@mozilla.com>.
21865
21866  util/cairo-script/cairo-script-operators.c |   95 +++++++++++++++++++++++++++-
21867  util/cairo-script/cairo-script-private.h   |    3 +
21868  util/cairo-script/cairo-script-scanner.c   |    6 +-
21869  3 files changed, 100 insertions(+), 4 deletions(-)
21870
21871 commit 24b5ac6377f0e4b76b73460a497b9861fc01a889
21872 Author: Chris Wilson <chris@chris-wilson.co.uk>
21873 Date:   Tue Jul 28 08:05:22 2009 +0100
21874
21875     [test] Add timeouts around finishing and converting surfaces to images.
21876     
21877     In order to catch infinite loops whilst replaying and converting vector
21878     surfaces to images (via external renderers) we need to also install
21879     alarms around the calls to finish() and get_image().
21880
21881  test/cairo-test.c |   14 ++++++++++----
21882  1 file changed, 10 insertions(+), 4 deletions(-)
21883
21884 commit dacc380dd9ea23fe060d0397104ecd4b2a6d0eae
21885 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
21886 Date:   Sat Jul 11 02:59:12 2009 +0300
21887
21888     [test] Test extremely small dash lengths.
21889     
21890     The stroker code is liable to wedge when passed
21891     dash patterns which don't advance the dash offset
21892     due to limited precision arithmetic.  This test
21893     attempts to hit all the places in the stroker where
21894     that can happen.
21895     
21896     Reported on the cairo mailing list by Hans Breuer:
21897     
21898     http://lists.cairographics.org/archives/cairo/2009-June/017506.html
21899
21900  test/Makefile.am                |    1 +
21901  test/Makefile.sources           |    1 +
21902  test/dash-infinite-loop.c       |   83 +++++++++++++++++++++++++++++++++++++++
21903  test/dash-infinite-loop.ref.png |  Bin 0 -> 642 bytes
21904  4 files changed, 85 insertions(+)
21905
21906 commit 128d6fb2daf4e57def813511cc89167217041bf4
21907 Author: Chris Wilson <chris@chris-wilson.co.uk>
21908 Date:   Tue Jul 28 08:37:54 2009 +0100
21909
21910     [path] Remove the erroneous conversion of a 'zero-length' curve-to
21911     
21912     As pointed out by Andrea, and now tested by test/degenerate-curve-to, a
21913     curve-to that begins and ends on the same point may extend further due to
21914     its control points. It can not be simply replaced with a degenerate
21915     line-to. In order to do so we will need more extensive degeneracy
21916     checking, ala _cairo_spline_init().
21917
21918  src/cairo-path-fixed.c |    3 ---
21919  1 file changed, 3 deletions(-)
21920
21921 commit 660c389d11bda29498807f41d3b761fa540ae9b9
21922 Author: Chris Wilson <chris@chris-wilson.co.uk>
21923 Date:   Tue Jul 28 08:18:17 2009 +0100
21924
21925     [test] Add degenerate-curve-to
21926     
21927     Andrea Canciani (ranma42) pointed out a second bug in the curve-to as
21928     line-to optimisation, that is a curve starting and finishing on the same
21929     point is not necessarily degenerate. This test case exercises 5 different
21930     curves that start and end on the same point.
21931
21932  test/Makefile.am                      |    2 +
21933  test/Makefile.sources                 |    1 +
21934  test/degenerate-curve-to.c            |  103 +++++++++++++++++++++++++++++++++
21935  test/degenerate-curve-to.ps.xfail.png |  Bin 0 -> 202 bytes
21936  test/degenerate-curve-to.ref.png      |  Bin 0 -> 276 bytes
21937  5 files changed, 106 insertions(+)
21938
21939 commit d31de83e01468eaf9e1a906aef536b63e77cb752
21940 Author: Carl Worth <cworth@cworth.org>
21941 Date:   Mon Jul 27 15:58:27 2009 -0700
21942
21943     Mark curve-to-as-line-to as XFAIL for PS backend.
21944     
21945     Looks like ghostscript has a similar buggy optimization like we
21946     just fixed in cairo. I'm just waiting on a new bugzilla account
21947     from bugs.ghostscript.com after which I plan to report the bug
21948     there.
21949
21950  test/curve-to-as-line-to.ps.xfail.png |  Bin 0 -> 112 bytes
21951  1 file changed, 0 insertions(+), 0 deletions(-)
21952
21953 commit 45919a4f0c94a247b1c6941dbc4a57f6c9399396
21954 Author: Carl Worth <cworth@cworth.org>
21955 Date:   Mon Jul 27 15:45:55 2009 -0700
21956
21957     Revert "[path] Convert straight curve-to to line-to"
21958     
21959     This reverts commit c72ca2f2296b5fbc5859059b98221e5ffe087dae.
21960     
21961     This commit was broken as verified by the curve-to-as-line-to test
21962     case.
21963
21964  src/cairo-path-fixed.c |   12 ------------
21965  1 file changed, 12 deletions(-)
21966
21967 commit 5bed405b278a6b934369873f55117d497f69bc3a
21968 Author: Carl Worth <cworth@cworth.org>
21969 Date:   Mon Jul 27 15:45:15 2009 -0700
21970
21971     Revert "[spline] Treat a straight spline as degenerate."
21972     
21973     This reverts commit f3d265559a2f97152ce8f307ea3ce83463083088.
21974     
21975     This commit was broken as verified by the curve-to-as-line-to test
21976     case.
21977
21978  src/cairo-spline.c |    9 ---------
21979  1 file changed, 9 deletions(-)
21980
21981 commit 01acad1659caf766c57849f85dc3536fe2167608
21982 Merge: 3cc9a60 cf15aed
21983 Author: Carl Worth <cworth@cworth.org>
21984 Date:   Mon Jul 27 15:26:19 2009 -0700
21985
21986     Merge branch 'master' of git.cairographics.org:/git/cairo
21987
21988 commit 3cc9a6050d9704976d8efe373b913e5309bde6d2
21989 Author: Carl Worth <cworth@cworth.org>
21990 Date:   Mon Jul 27 15:24:55 2009 -0700
21991
21992     Add new test: curve-to-as-line-to
21993     
21994     This test anticipates a future optimization, (already pushed
21995     upstream but not pulled yet), with a buggy implementation
21996     of replacing curve_to with line_to.
21997
21998  test/Makefile.sources            |    1 +
21999  test/curve-to-as-line-to.c       |   95 ++++++++++++++++++++++++++++++++++++++
22000  test/curve-to-as-line-to.ref.png |  Bin 0 -> 95 bytes
22001  3 files changed, 96 insertions(+)
22002
22003 commit e19b2866ed095cf66e9344efa442ae01dc7913ac
22004 Author: Chris Wilson <chris@chris-wilson.co.uk>
22005 Date:   Mon Jul 27 19:51:36 2009 +0100
22006
22007     [gl] Actually remove the glyph from the rtree on scaled_font_fini
22008     
22009     Mark the node as available when the scaled_glyph is finished, and then
22010     attempt to collapse the parent node.
22011
22012  src/cairo-gl-glyphs.c     |    5 +++--
22013  src/cairo-rtree-private.h |    3 +++
22014  src/cairo-rtree.c         |   13 +++++++++++++
22015  3 files changed, 19 insertions(+), 2 deletions(-)
22016
22017 commit e0b7979a30fff2a22fef5c170fd72c37c197ee0e
22018 Author: Chris Wilson <chris@chris-wilson.co.uk>
22019 Date:   Mon Jul 27 17:44:10 2009 +0100
22020
22021     [gl] Switch to using the common rtree implementation.
22022
22023  src/cairo-gl-glyphs.c  |  440 ++++++++----------------------------------------
22024  src/cairo-gl-private.h |   52 ++----
22025  src/cairo-gl-surface.c |    5 +
22026  3 files changed, 89 insertions(+), 408 deletions(-)
22027
22028 commit 37bf06d66efa238c4ff9c74c86a0c9d037b300e6
22029 Author: Eric Anholt <eric@anholt.net>
22030 Date:   Mon Jul 27 09:16:46 2009 -0700
22031
22032     [gl] Fix handling of clip for glyphs (clip-operator test).
22033
22034  src/cairo-gl-glyphs.c |   43 ++++++++++++++++++++++++++++++++++++++++++-
22035  1 file changed, 42 insertions(+), 1 deletion(-)
22036
22037 commit 74f33513194ec3d8e69a21aa71aa7fc854415e83
22038 Author: Eric Anholt <eric@anholt.net>
22039 Date:   Fri Jul 24 14:08:55 2009 -0700
22040
22041     [gl] Switch the glyph cache to using VBOs.
22042     
22043     This is a major performance improvement for GL even on non-TNL hardware
22044     (i915), as we get to emit one giant DrawArrays and make GL drivers love us.
22045     Now we're actually faster than not having the glyph cache.
22046     
22047     Before glyph cache (HP 945GM):
22048     [  0]       gl             firefox-20090601  238.103  238.195   0.35%    5/6
22049     After:
22050     [  0]       gl             firefox-20090601   68.181   76.735   5.46%    6/6
22051
22052  src/cairo-gl-glyphs.c |  177 +++++++++++++++++++++++++++++++++----------------
22053  1 file changed, 120 insertions(+), 57 deletions(-)
22054
22055 commit ee4138e587a67c3fc4d0e89b899109af89f16e72
22056 Author: Eric Anholt <eric@anholt.net>
22057 Date:   Thu Jul 23 21:12:59 2009 -0700
22058
22059     [gl] Start adding glyph cache support.
22060     
22061     This is pretty much cut-and-paste from ickle's cairo-drm-i915-surface, and
22062     uses fixed function and doesn't use VBOs.
22063
22064  src/Makefile.sources   |    2 +-
22065  src/cairo-gl-glyphs.c  |  829 ++++++++++++++++++++++++++++++++++++++++++++++++
22066  src/cairo-gl-private.h |  115 +++++++
22067  src/cairo-gl-surface.c |   69 ++--
22068  4 files changed, 965 insertions(+), 50 deletions(-)
22069
22070 commit cf15aed0c4e843e7297c5a1979ac0318f6df4947
22071 Author: Chris Wilson <chris@chris-wilson.co.uk>
22072 Date:   Mon Jul 27 19:18:21 2009 +0100
22073
22074     [xlib] Add a timely reminder to ensure that bugs are properly filed.
22075     
22076     In a discussion on IRC, attention was drawn to a dubious comment in
22077     _cairo_xlib_show_glyphs() - the precise details of which have passed
22078     out of the collective memory.
22079
22080  src/cairo-xlib-surface.c |    6 ++++++
22081  1 file changed, 6 insertions(+)
22082
22083 commit 2da01ed552d48808cdf3aa7798ddfb959d016f0f
22084 Author: Chris Wilson <chris@chris-wilson.co.uk>
22085 Date:   Mon Jul 27 18:20:22 2009 +0100
22086
22087     [rtree] Merge the common unpin_and_evict_unused() routine
22088     
22089     Having written the same method to prune glyphs from the rtree three times,
22090     I thought wise to add the common method to the core routines.
22091
22092  src/cairo-rtree-private.h |    1 +
22093  src/cairo-rtree.c         |   50 +++++++++++++++++++++++++++++++++++++++++++--
22094  2 files changed, 49 insertions(+), 2 deletions(-)
22095
22096 commit 9f6a0f5668601c74886378d6cdb9588621d30e6d
22097 Author: Chris Wilson <chris@chris-wilson.co.uk>
22098 Date:   Mon Jul 27 14:01:32 2009 +0100
22099
22100     [paginated] Propagate error return during finish.
22101     
22102     In bed2701, I removed the explicit finish of the paginated's target
22103     surface, since as a wrapper it did not explicitly own the surface and so
22104     should not be calling finish(). However, we do need to propagate errors
22105     from the backing surface, such as PDF, which will only be detected during
22106     the implicit finish in the final destroy. So check to see it we hold the
22107     last reference to the target (and so our destroy will trigger the implicit
22108     finish) and call the finish explicitly and check the error status
22109     afterwards.
22110
22111  src/cairo-paginated-surface.c |   10 ++++++++++
22112  1 file changed, 10 insertions(+)
22113
22114 commit 6ca3720ba66f443e70c961f7d4fdac604c831e97
22115 Author: Chris Wilson <chris@chris-wilson.co.uk>
22116 Date:   Mon Jul 27 10:06:34 2009 +0100
22117
22118     [test] Overlapping glyphs
22119     
22120     Add a test case to explicitly check handling of overlapping glyphs.
22121
22122  test/Makefile.am                             |    4 +
22123  test/Makefile.sources                        |    1 +
22124  test/overlapping-glyphs.argb32.ref.png       |  Bin 0 -> 2696 bytes
22125  test/overlapping-glyphs.c                    |  123 ++++++++++++++++++++++++++
22126  test/overlapping-glyphs.pdf.argb32.xfail.png |  Bin 0 -> 2199 bytes
22127  test/overlapping-glyphs.pdf.rgb24.xfail.png  |  Bin 0 -> 1692 bytes
22128  test/overlapping-glyphs.rgb24.ref.png        |  Bin 0 -> 1650 bytes
22129  7 files changed, 128 insertions(+)
22130
22131 commit 09a2b2ed3189fe12483cbd673c24ceddc2c20f3f
22132 Author: Chris Wilson <chris@chris-wilson.co.uk>
22133 Date:   Mon Jul 27 10:14:24 2009 +0100
22134
22135     [xlib] Fast-path the likely case of retrieving a known xrender_format
22136     
22137     If we know the CPU can read pointers atomically, then we can simply peek
22138     into the cached_xrender_formats to see if we already have a match, before
22139     taking the mutex. (Acquiring the mutex here is a minor nuisance that
22140     appears on the callgrind profiles.)
22141
22142  src/cairo-xlib-display.c |    6 ++++++
22143  1 file changed, 6 insertions(+)
22144
22145 commit efb3445ee1553c91e62f6b0fe50ab72d65f5c81c
22146 Author: Chris Wilson <chris@chris-wilson.co.uk>
22147 Date:   Mon Jul 27 10:18:25 2009 +0100
22148
22149     Add a simple rectangle tree (rtree) implementation
22150     
22151     In order to efficient store small images, we need to pack them into a
22152     large texture. The rtree handles allocation of small rectangles out of a
22153     much larger whole. As well as tracking free rectangles, it can also be
22154     used to note which parts of the texture are 'pinned' -- that is have
22155     operations currently pending and so can not be modified until that batch
22156     of operations have been flushed. When the rtree is full, i.e. there is no
22157     single free rectangle to accommodate the allocation request, it will
22158     randomly evict an unpinned block large enough to fit the request. The
22159     block may comprise just a single glyph, or a subtree of many glyphs. This
22160     may not be the best strategy, but it is an effective start.
22161
22162  src/Makefile.sources      |    2 +
22163  src/cairo-rtree-private.h |  124 ++++++++++++++++
22164  src/cairo-rtree.c         |  349 +++++++++++++++++++++++++++++++++++++++++++++
22165  3 files changed, 475 insertions(+)
22166
22167 commit c72ca2f2296b5fbc5859059b98221e5ffe087dae
22168 Author: Chris Wilson <chris@chris-wilson.co.uk>
22169 Date:   Sun Jul 26 09:07:48 2009 +0100
22170
22171     [path] Convert straight curve-to to line-to
22172     
22173     Avoid the high cost associated with curves if we can convert the curve to
22174     a straight line.
22175
22176  src/cairo-path-fixed.c |   12 ++++++++++++
22177  1 file changed, 12 insertions(+)
22178
22179 commit f3d265559a2f97152ce8f307ea3ce83463083088
22180 Author: Chris Wilson <chris@chris-wilson.co.uk>
22181 Date:   Sun Jul 26 09:03:36 2009 +0100
22182
22183     [spline] Treat a straight spline as degenerate.
22184     
22185     The fallback for degenerate splines is to treat them as a line-to, so if
22186     the spline is straight, we can just replace it with a simple line-to by
22187     treating as degenerate.
22188
22189  src/cairo-spline.c |    9 +++++++++
22190  1 file changed, 9 insertions(+)
22191
22192 commit 25858d524d158531a71a2e772551b1e497d9d423
22193 Author: Chris Wilson <chris@chris-wilson.co.uk>
22194 Date:   Sun Jul 26 08:13:28 2009 +0100
22195
22196     [script] Fix reference to font source after transferring to mmap
22197     
22198     After diverting the pointers to accommodate lazy decompressing of the
22199     source, the bytecode pointer was left pointing to the original location
22200     that had already been freed - thus passing an invalid block to FreeType
22201     and unsurprisingly then, blowing up.
22202
22203  util/cairo-script/cairo-script-operators.c |    6 ++++++
22204  1 file changed, 6 insertions(+)
22205
22206 commit ede0f7e7df4e17ddc1ffe98dcdfe0115a58e7b14
22207 Author: Chris Wilson <chris@chris-wilson.co.uk>
22208 Date:   Sat Jul 25 07:19:22 2009 +0100
22209
22210     [pdf] Eliminate redundant whole-page clip.
22211     
22212     We do not to emit a clip if it covers the whole page.
22213
22214  src/cairo-pdf-surface.c                      |   16 ++++++++++++++++
22215  test/meta-surface-pattern.pdf.argb32.ref.png |  Bin 3868 -> 3919 bytes
22216  test/meta-surface-pattern.pdf.rgb24.ref.png  |  Bin 3806 -> 3867 bytes
22217  test/scale-offset-image.pdf.xfail.png        |  Bin 8692 -> 8694 bytes
22218  test/scale-offset-similar.pdf.xfail.png      |  Bin 9369 -> 9368 bytes
22219  5 files changed, 16 insertions(+)
22220
22221 commit 4c498098c0dc66dc8c3e8cd60f79e5e5eda206b9
22222 Author: Adrian Johnson <ajohnson@redneon.com>
22223 Date:   Fri Jul 24 21:36:47 2009 +0930
22224
22225     PDF: Fix glyph 0 in toUnicode stream when using user fonts
22226     
22227     _cairo_pdf_surface_emit_to_unicode_stream() was reserving glyph 0 for
22228     the .notdef glyph (as required by TrueType/CFF/Type1 fallback
22229     fonts). However Type 3 fonts do not reserve glyph 0 for .notdef and
22230     need glyph 0 to be included in the toUnicode stream.
22231     
22232     http://lists.cairographics.org/archives/cairo/2009-July/017731.html
22233
22234  src/cairo-pdf-surface.c |   71 ++++++++++++++++++++++++++++++-----------------
22235  1 file changed, 45 insertions(+), 26 deletions(-)
22236
22237 commit e577096dff714266101ba86ac275864b854096a4
22238 Author: Chris Wilson <chris@chris-wilson.co.uk>
22239 Date:   Mon Jul 20 23:17:07 2009 +0100
22240
22241     [boilerplate] Fix compilation against old revisions (as old as 1.9.2!)
22242
22243  boilerplate/Makefile.am                       |    7 +++++-
22244  boilerplate/cairo-boilerplate-pdf.c           |    4 ++++
22245  boilerplate/cairo-boilerplate-ps.c            |    4 ++++
22246  boilerplate/cairo-boilerplate-svg.c           |    4 ++++
22247  boilerplate/cairo-boilerplate-test-surfaces.c |   31 +++++++++++++++----------
22248  boilerplate/cairo-boilerplate.c               |   10 +++++---
22249  src/cairo-types-private.h                     |    5 +++-
22250  util/cairo-script/cairo-script-operators.c    |    2 ++
22251  8 files changed, 50 insertions(+), 17 deletions(-)
22252
22253 commit 0466053099b7f27065267d49c84e9e24bff6c7a1
22254 Author: Chris Wilson <chris@chris-wilson.co.uk>
22255 Date:   Thu Jul 23 23:45:01 2009 +0100
22256
22257     [image] Discard redundant clears
22258     
22259     On slow machines the call to pixman_fill_sse2() on similar surfaces that
22260     we know are already zeroed takes a significant amount of time [12.77% of
22261     the profile for a firefox trace, cf to just 3% of the profile is spent
22262     inside memset].
22263     
22264     Rather than solve why the pixman_fill_sse2() is so slow, simply skip the
22265     redundant clears.
22266
22267  src/cairo-image-surface.c |   35 ++++++++++++++++++++++++++++++++++-
22268  src/cairoint.h            |    1 +
22269  2 files changed, 35 insertions(+), 1 deletion(-)
22270
22271 commit 8b8e03503d7a4fdacfc48e0b35c9b02d7a08c1e2
22272 Author: Chris Wilson <chris@chris-wilson.co.uk>
22273 Date:   Thu Jul 23 22:00:05 2009 +0100
22274
22275     [script] mark scan_read() inline
22276     
22277     Small function that is critical to performance whilst scanning scripts.
22278
22279  util/cairo-script/cairo-script-scanner.c |    6 +++---
22280  1 file changed, 3 insertions(+), 3 deletions(-)
22281
22282 commit f02ba09475b751fba411addb96718dbcb1de5132
22283 Author: Chris Wilson <chris@chris-wilson.co.uk>
22284 Date:   Thu Jul 23 20:23:51 2009 +0100
22285
22286     [xlib] Check workqueue before taking the display mutex
22287     
22288     Optimistically check to see if there is any outstanding work before
22289     checking under the mutex. We don't care if we occasionally do not run the
22290     queue this time due to contention, since we will most likely check again
22291     very shortly or clean up with the display.
22292
22293  src/cairo-xlib-display.c |    6 ++++++
22294  1 file changed, 6 insertions(+)
22295
22296 commit 4dc62bbedc5d8669c0508963497c568d0202f579
22297 Author: Chris Wilson <chris@chris-wilson.co.uk>
22298 Date:   Thu Jul 23 19:34:10 2009 +0100
22299
22300     [test] Extend radial gradients to check r2 < r1
22301     
22302     Include additional gradients to cover the cases where r1 > r2, as a pixman
22303     bug was exposed by:
22304        [Bug 22908] Invalid output of radial gradient
22305        http://bugs.freedesktop.org/show_bug.cgi?id=22908
22306
22307  test/radial-gradient.c           |   36 +++++++++++++++++++++++-------------
22308  test/radial-gradient.pdf.ref.png |  Bin 79612 -> 277162 bytes
22309  test/radial-gradient.ref.png     |  Bin 91159 -> 280971 bytes
22310  3 files changed, 23 insertions(+), 13 deletions(-)
22311
22312 commit e98e2690cb4ac475819394334cb5e61a8e3d5557
22313 Author: Chris Wilson <chris@chris-wilson.co.uk>
22314 Date:   Wed Jul 22 18:32:47 2009 +0100
22315
22316     [test] Fix use of uninitialized widths.
22317     
22318     user-font-rescale copied unitialized values from the widths array into
22319     the desired array. Although these corresponded to unused glyphs and so
22320     were never used during the rendering, the values may have been illegal
22321     causing FPE as they were copied.
22322
22323  test/user-font-rescale.c |   13 +++++--------
22324  1 file changed, 5 insertions(+), 8 deletions(-)
22325
22326 commit 596dec95610ef02d86ede94eca5b83221b0b533a
22327 Author: Chris Wilson <chris@chris-wilson.co.uk>
22328 Date:   Wed Jul 22 18:15:38 2009 +0100
22329
22330     [test] Trap SIGFPE
22331     
22332     Note the crash if we hit a floating-point exception.
22333
22334  test/cairo-test.c |    7 +++++++
22335  1 file changed, 7 insertions(+)
22336
22337 commit 0561539880b480273767a9559da89a25970802e2
22338 Author: Chris Wilson <chris@chris-wilson.co.uk>
22339 Date:   Wed Jul 22 18:31:37 2009 +0100
22340
22341     [scaled-font] cairo_scaled_font_glyph_extents() initialise extents
22342     
22343     Ensure that the extents are zeroed on error.
22344
22345  src/cairo-scaled-font.c |   23 ++++++++++++++++-------
22346  1 file changed, 16 insertions(+), 7 deletions(-)
22347
22348 commit 5c843b5f8eca4b6f9756644143bc1be3bc3cbc84
22349 Author: Chris Wilson <chris@chris-wilson.co.uk>
22350 Date:   Tue Jul 21 20:43:28 2009 +0100
22351
22352     [scaled-font] Skip empty glyphs
22353     
22354     Skip the composition of empty glyphs - prevents redundant calls through
22355     the stack.
22356
22357  src/cairo-scaled-font.c |   57 ++++++++++++++++++++++++++---------------------
22358  1 file changed, 31 insertions(+), 26 deletions(-)
22359
22360 commit 0c4692a1d0667f5850f59c65754a3ffbaf688afe
22361 Author: Chris Wilson <chris@chris-wilson.co.uk>
22362 Date:   Mon Jul 20 23:34:55 2009 +0100
22363
22364     [perf] Specify html file on cmdline instead of redirecting all output
22365     
22366     Redirecting all output was causing the build messages to be entangled with
22367     the Performance Change html.
22368
22369  perf/Makefile.am     |    4 ++--
22370  perf/cairo-perf-diff |    6 +++---
22371  2 files changed, 5 insertions(+), 5 deletions(-)
22372
22373 commit 1ec1d6148e85d4a9b9da825ea57adb0b8ceba1c0
22374 Author: Chris Wilson <chris@chris-wilson.co.uk>
22375 Date:   Mon Jul 20 22:42:44 2009 +0100
22376
22377     [perf] Compare performance against most recent tag.
22378
22379  perf/Makefile.am |    7 ++++++-
22380  1 file changed, 6 insertions(+), 1 deletion(-)
22381
22382 commit 9d7fd626c39c37368ea05f91a358899e5b5b898c
22383 Author: Chris Wilson <chris@chris-wilson.co.uk>
22384 Date:   Thu Jul 23 17:05:28 2009 +0100
22385
22386     [script] Decompress font sources
22387     
22388     Need to decompress patterns and embedded bytecode before passing to
22389     fontconfig/FreeType.
22390
22391  util/cairo-script/cairo-script-operators.c |  119 +++++++++++++++++++++++-----
22392  1 file changed, 99 insertions(+), 20 deletions(-)
22393
22394 commit 5d8f366581c0ca31fac76c991cb681d036af275f
22395 Author: Chris Wilson <chris@chris-wilson.co.uk>
22396 Date:   Thu Jul 23 16:36:02 2009 +0100
22397
22398     [test] clip representation is no longer surface dependent
22399     
22400     So we can test the api just once in the preamble and not per-target.
22401
22402  test/get-clip.c |  200 ++++++++++++++++++++-----------------------------------
22403  1 file changed, 74 insertions(+), 126 deletions(-)
22404
22405 commit c3f2db4f73e93a3dafe0f52a5f9ca09ca78cc906
22406 Author: Chris Wilson <chris@chris-wilson.co.uk>
22407 Date:   Thu Jun 11 15:18:55 2009 +0100
22408
22409     [drm] Add an accelerated image surface.
22410     
22411     Use the DRM interface to h/w accelerate composition on image surfaces.
22412     The purpose of the backend is simply to explore what such a hardware
22413     interface might look like and what benefits we might expect.  The
22414     use case that might justify writing such custom backends are embedded
22415     devices running a drm compositor like wayland - which would, for example,
22416     allow one to write applications that seamlessly integrated accelerated,
22417     dynamic, high quality 2D graphics using Cairo with advanced interaction
22418     (e.g. smooth animations in the UI) driven by a clutter framework...
22419     
22420     In this first step we introduce the fundamental wrapping of GEM for intel
22421     and radeon chipsets, and, for comparison, gallium. No acceleration, all
22422     we do is use buffer objects (that is use the kernel memory manager) to
22423     allocate images and simply use the fallback mechanism. This provides a
22424     suitable base to start writing chip specific drivers.
22425
22426  boilerplate/Makefile.sources        |    2 +
22427  boilerplate/Makefile.win32.features |   20 +
22428  boilerplate/cairo-boilerplate-drm.c |   91 ++++
22429  build/Makefile.win32.features       |    2 +
22430  build/Makefile.win32.features-h     |    6 +
22431  build/configure.ac.features         |    1 +
22432  configure.ac                        |   25 +
22433  perf/cairo-perf-trace.c             |    3 +
22434  perf/cairo-perf.c                   |    5 +-
22435  src/Makefile.sources                |   13 +
22436  src/Makefile.win32.features         |   28 ++
22437  src/cairo-debug.c                   |    4 +
22438  src/cairo-drm.h                     |  135 +++++
22439  src/cairo-freelist-private.h        |   59 ++-
22440  src/cairo-freelist.c                |   73 +++
22441  src/cairo-image-surface.c           |    1 +
22442  src/cairo-mutex-list-private.h      |    3 +
22443  src/cairo.h                         |    2 +
22444  src/cairoint.h                      |    8 +
22445  src/drm/cairo-drm-bo.c              |  120 +++++
22446  src/drm/cairo-drm-gallium-surface.c |  696 ++++++++++++++++++++++++++
22447  src/drm/cairo-drm-intel-private.h   |  182 +++++++
22448  src/drm/cairo-drm-intel-surface.c   |  475 ++++++++++++++++++
22449  src/drm/cairo-drm-intel.c           |  933 +++++++++++++++++++++++++++++++++++
22450  src/drm/cairo-drm-ioctl-private.h   |   12 +
22451  src/drm/cairo-drm-private.h         |  257 ++++++++++
22452  src/drm/cairo-drm-radeon-private.h  |  110 +++++
22453  src/drm/cairo-drm-radeon-surface.c  |  437 ++++++++++++++++
22454  src/drm/cairo-drm-radeon.c          |  447 +++++++++++++++++
22455  src/drm/cairo-drm-surface.c         |  517 +++++++++++++++++++
22456  src/drm/cairo-drm.c                 |  362 ++++++++++++++
22457  test/cairo-test.c                   |    2 +-
22458  test/get-clip.c                     |    1 +
22459  33 files changed, 5025 insertions(+), 7 deletions(-)
22460
22461 commit bed2701e1c89095878d549cbca8f22d84f3dda3c
22462 Author: Chris Wilson <chris@chris-wilson.co.uk>
22463 Date:   Thu Jul 23 15:32:13 2009 +0100
22464
22465     Remove clip handling from generic surface layer.
22466     
22467     Handling clip as part of the surface state, as opposed to being part of
22468     the operation state, is cumbersome and a hindrance to providing true proxy
22469     surface support. For example, the clip must be copied from the surface
22470     onto the fallback image, but this was forgotten causing undue hassle in
22471     each backend. Another example is the contortion the meta surface
22472     endures to ensure the clip is correctly recorded. By contrast passing the
22473     clip along with the operation is quite simple and enables us to write
22474     generic handlers for providing surface wrappers. (And in the future, we
22475     should be able to write more esoteric wrappers, e.g. automatic 2x FSAA,
22476     trivially.)
22477     
22478     In brief, instead of the surface automatically applying the clip before
22479     calling the backend, the backend can call into a generic helper to apply
22480     clipping. For raster surfaces, clip regions are handled automatically as
22481     part of the composite interface. For vector surfaces, a clip helper is
22482     introduced to replay and callback into an intersect_clip_path() function
22483     as necessary.
22484     
22485     Whilst this is not primarily a performance related change (the change
22486     should just move the computation of the clip from the moment it is applied
22487     by the user to the moment it is required by the backend), it is important
22488     to track any potential regression:
22489     
22490     ppc:
22491     Speedups
22492     ========
22493     image-rgba         evolution-20090607-0    1026085.22 0.18% -> 672972.07 0.77%:  1.52x speedup
22494     ▌
22495     image-rgba         evolution-20090618-0    680579.98 0.12% -> 573237.66  0.16%:  1.19x speedup
22496     ▎
22497     image-rgba      swfdec-fill-rate-4xaa-0    460296.92 0.36% -> 407464.63  0.42%:  1.13x speedup
22498     ▏
22499     image-rgba      swfdec-fill-rate-2xaa-0    128431.95 0.47% -> 115051.86  0.42%:  1.12x speedup
22500     ▏
22501     Slowdowns
22502     =========
22503     image-rgba     firefox-periodic-table-0    56837.61 0.78% -> 66055.17    3.20%:  1.09x slowdown
22504     ▏
22505
22506  NEWS                                               |    6 +
22507  boilerplate/cairo-boilerplate-glitz-glx.c          |    4 -
22508  boilerplate/cairo-boilerplate-pdf.c                |    1 -
22509  boilerplate/cairo-boilerplate-ps.c                 |    8 +-
22510  boilerplate/cairo-boilerplate-qt.cpp               |    4 +-
22511  boilerplate/cairo-boilerplate-svg.c                |    1 -
22512  boilerplate/cairo-boilerplate-test-surfaces.c      |  113 +-
22513  boilerplate/cairo-boilerplate.c                    |  100 +-
22514  boilerplate/cairo-boilerplate.h                    |    2 +
22515  perf/unaligned-clip.c                              |    3 +
22516  src/Makefile.sources                               |    7 +
22517  src/cairo-analysis-surface-private.h               |    6 +-
22518  src/cairo-analysis-surface.c                       |  539 ++++----
22519  src/cairo-beos-surface.cpp                         |  409 +++----
22520  src/cairo-clip-private.h                           |   87 +-
22521  src/cairo-clip.c                                   | 1290 ++++++++++----------
22522  src/cairo-debug.c                                  |    2 +
22523  src/cairo-directfb-surface.c                       |  491 ++++----
22524  src/cairo-ft-font.c                                |   53 +-
22525  src/cairo-gl-private.h                             |    1 +
22526  src/cairo-gl-surface.c                             |  216 +++-
22527  src/cairo-glitz-surface.c                          |  213 ++--
22528  src/cairo-gstate.c                                 |  233 ++--
22529  src/cairo-image-surface.c                          |  173 ++-
22530  src/cairo-meta-surface-private.h                   |   43 +-
22531  src/cairo-meta-surface.c                           |  550 ++++-----
22532  src/cairo-os2-surface.c                            |   14 +-
22533  src/cairo-paginated-private.h                      |    2 -
22534  src/cairo-paginated-surface-private.h              |    9 -
22535  src/cairo-paginated-surface.c                      |  234 ++--
22536  src/cairo-path-bounds.c                            |   65 +-
22537  src/cairo-path-fill.c                              |   11 +-
22538  src/cairo-path-fixed-private.h                     |   36 +-
22539  src/cairo-path-fixed.c                             |  201 ++-
22540  src/cairo-path-in-fill.c                           |   27 +-
22541  src/cairo-path-stroke.c                            |    8 +-
22542  src/cairo-pattern.c                                |  127 +-
22543  src/cairo-pdf-surface-private.h                    |    3 +
22544  src/cairo-pdf-surface.c                            |  220 ++--
22545  src/cairo-ps-surface-private.h                     |    4 +
22546  src/cairo-ps-surface.c                             |  367 +++---
22547  src/cairo-qt-surface.cpp                           |  373 +++---
22548  src/cairo-quartz-image-surface.c                   |   14 +-
22549  src/cairo-quartz-private.h                         |    2 +
22550  src/cairo-quartz-surface.c                         |  136 ++-
22551  src/cairo-region-private.h                         |   73 ++
22552  src/cairo-region.c                                 |  170 ++-
22553  src/cairo-scaled-font.c                            |  132 +-
22554  src/cairo-script-surface.c                         |  611 +++++++--
22555  src/cairo-script.h                                 |   10 +
22556  src/cairo-spans-private.h                          |   19 +-
22557  src/cairo-spans.c                                  |   20 +-
22558  src/cairo-stroke-style.c                           |    8 +-
22559  src/cairo-surface-clipper-private.h                |   72 ++
22560  src/cairo-surface-clipper.c                        |  138 +++
22561  src/cairo-surface-fallback-private.h               |   21 +-
22562  src/cairo-surface-fallback.c                       |  995 ++++++++-------
22563  src/cairo-surface-private.h                        |   19 +-
22564  src/cairo-surface-wrapper-private.h                |  156 +++
22565  src/cairo-surface-wrapper.c                        |  449 +++++++
22566  src/cairo-surface.c                                |  857 ++++---------
22567  src/cairo-svg-surface-private.h                    |    4 +-
22568  src/cairo-svg-surface.c                            |  527 ++++----
22569  src/cairo-traps.c                                  |   26 +-
22570  src/cairo-type3-glyph-surface-private.h            |    9 +-
22571  src/cairo-type3-glyph-surface.c                    |   94 +-
22572  src/cairo-types-private.h                          |    9 +-
22573  src/cairo-user-font.c                              |   30 +-
22574  src/cairo-vg-surface.c                             |  122 +-
22575  src/cairo-win32-font.c                             |   16 +-
22576  src/cairo-win32-printing-surface.c                 |  194 ++-
22577  src/cairo-win32-private.h                          |   15 +-
22578  src/cairo-win32-surface.c                          |  279 ++---
22579  src/cairo-xcb-surface.c                            |  248 ++--
22580  src/cairo-xlib-surface-private.h                   |    2 +-
22581  src/cairo-xlib-surface.c                           |  492 ++++----
22582  src/cairo.c                                        |   83 +-
22583  src/cairo.h                                        |   30 +-
22584  src/cairoint.h                                     |  325 ++---
22585  src/test-fallback-surface.c                        |    4 +-
22586  src/test-fallback16-surface.c                      |    4 +-
22587  src/test-null-surface.c                            |   35 +-
22588  src/test-paginated-surface.c                       |  100 +-
22589  src/test-paginated-surface.h                       |    6 +-
22590  src/test-wrapping-surface.c                        |  272 +++++
22591  src/test-wrapping-surface.h                        |   51 +
22592  test/Makefile.am                                   |   75 +-
22593  test/Makefile.sources                              |    2 +
22594  test/buffer-diff.c                                 |   12 +-
22595  test/cairo-test.c                                  |   18 +-
22596  test/clip-operator.pdf.argb32.ref.png              |  Bin 0 -> 9340 bytes
22597  test/clip-operator.pdf.argb32.xfail.png            |  Bin 9340 -> 0 bytes
22598  test/clip-operator.pdf.rgb24.ref.png               |  Bin 0 -> 5146 bytes
22599  test/clip-operator.pdf.rgb24.xfail.png             |  Bin 5155 -> 0 bytes
22600  test/clip-operator.svg12.argb32.xfail.png          |  Bin 8404 -> 8406 bytes
22601  test/clip-operator.svg12.rgb24.xfail.png           |  Bin 4523 -> 4540 bytes
22602  test/clip-operator.xlib-fallback.ref.png           |  Bin 0 -> 3226 bytes
22603  test/clip-operator.xlib-fallback.rgb24.ref.png     |  Bin 3254 -> 0 bytes
22604  test/clip-push-group.pdf.ref.png                   |  Bin 0 -> 164 bytes
22605  test/clip-push-group.ref.png                       |  Bin 199 -> 164 bytes
22606  test/clip-push-group.xlib.ref.png                  |  Bin 0 -> 155 bytes
22607  test/clip-unbounded.c                              |   80 ++
22608  test/clip-unbounded.ref.png                        |  Bin 0 -> 100 bytes
22609  test/clip-unbounded.rgb24.ref.png                  |  Bin 0 -> 97 bytes
22610  test/clip-unbounded.svg12.rgb24.xfail.png          |  Bin 0 -> 100 bytes
22611  test/clipped-group.pdf.argb32.ref.png              |  Bin 298 -> 0 bytes
22612  test/clipped-group.pdf.ref.png                     |  Bin 0 -> 310 bytes
22613  test/clipped-group.pdf.rgb24.ref.png               |  Bin 298 -> 0 bytes
22614  test/clipped-group.ref.png                         |  Bin 350 -> 316 bytes
22615  ...integer-translate-source.svg12.argb32.xfail.png |  Bin 0 -> 16392 bytes
22616  ...-integer-translate-source.svg12.rgb24.xfail.png |  Bin 0 -> 16392 bytes
22617  test/device-offset-fractional.pdf.argb32.ref.png   |  Bin 275 -> 0 bytes
22618  test/device-offset-fractional.pdf.ref.png          |  Bin 277 -> 0 bytes
22619  test/device-offset-fractional.pdf.rgb24.ref.png    |  Bin 275 -> 0 bytes
22620  test/device-offset-fractional.pdf.xfail.png        |  Bin 0 -> 275 bytes
22621  test/extended-blend-alpha.svg12.argb32.xfail.png   |  Bin 0 -> 6857 bytes
22622  test/extended-blend-alpha.svg12.rgb24.xfail.png    |  Bin 0 -> 5014 bytes
22623  test/extended-blend.svg12.argb32.xfail.png         |  Bin 0 -> 2273 bytes
22624  test/extended-blend.svg12.rgb24.xfail.png          |  Bin 0 -> 1856 bytes
22625  test/fill-empty.argb32.ref.png                     |  Bin 0 -> 99 bytes
22626  test/fill-empty.c                                  |   62 +
22627  test/fill-empty.rgb24.ref.png                      |  Bin 0 -> 97 bytes
22628  test/fill-empty.svg12.rgb24.xfail.png              |  Bin 0 -> 99 bytes
22629  test/filter-nearest-offset.pdf.xfail.png           |  Bin 1926 -> 1867 bytes
22630  test/filter-nearest-transformed.pdf.xfail.png      |  Bin 488 -> 482 bytes
22631  ...t-text-vertical-layout-type1.pdf.argb32.ref.png |  Bin 3632 -> 0 bytes
22632  test/ft-text-vertical-layout-type1.pdf.ref.png     |  Bin 3968 -> 3635 bytes
22633  ...ft-text-vertical-layout-type1.pdf.rgb24.ref.png |  Bin 3632 -> 0 bytes
22634  ...t-text-vertical-layout-type3.pdf.argb32.ref.png |  Bin 3642 -> 0 bytes
22635  test/ft-text-vertical-layout-type3.pdf.ref.png     |  Bin 3634 -> 3639 bytes
22636  ...ft-text-vertical-layout-type3.pdf.rgb24.ref.png |  Bin 3642 -> 0 bytes
22637  test/ft-text-vertical-layout-type3.ref.png         |  Bin 3609 -> 3608 bytes
22638  test/group-unaligned.svg.argb32.xfail.png          |  Bin 522 -> 520 bytes
22639  test/group-unaligned.xlib-fallback.ref.png         |  Bin 496 -> 474 bytes
22640  test/image-surface-source.svg12.argb32.xfail.png   |  Bin 0 -> 278 bytes
22641  test/image-surface-source.svg12.rgb24.xfail.png    |  Bin 0 -> 278 bytes
22642  test/in-fill-trapezoid.c                           |   19 +-
22643  test/mask-glyphs.svg.ref.png                       |  Bin 1211170 -> 1211147 bytes
22644  test/mask.pdf.argb32.ref.png                       |  Bin 0 -> 7837 bytes
22645  test/mask.pdf.argb32.xfail.png                     |  Bin 7944 -> 0 bytes
22646  test/mask.pdf.rgb24.ref.png                        |  Bin 0 -> 7301 bytes
22647  test/mask.pdf.rgb24.xfail.png                      |  Bin 7388 -> 0 bytes
22648  test/mask.xlib-fallback.rgb24.ref.png              |  Bin 7216 -> 0 bytes
22649  test/meta-surface-pattern.pdf.argb32.ref.png       |  Bin 4009 -> 3868 bytes
22650  test/meta-surface-pattern.pdf.rgb24.ref.png        |  Bin 3905 -> 3806 bytes
22651  test/operator-clear.xlib.argb32.ref.png            |  Bin 0 -> 1071 bytes
22652  test/operator-clear.xlib.ref.png                   |  Bin 951 -> 0 bytes
22653  test/operator-clear.xlib.rgb24.ref.png             |  Bin 0 -> 951 bytes
22654  test/operator-source.pdf.rgb24.ref.png             |  Bin 0 -> 3645 bytes
22655  test/operator-source.pdf.rgb24.xfail.png           |  Bin 3645 -> 0 bytes
22656  test/operator-source.svg12.argb32.xfail.png        |  Bin 2951 -> 2967 bytes
22657  test/operator-source.svg12.rgb24.xfail.png         |  Bin 2963 -> 2976 bytes
22658  test/operator-source.xlib-fallback.ref.png         |  Bin 0 -> 3177 bytes
22659  test/operator-source.xlib-fallback.rgb24.ref.png   |  Bin 3193 -> 0 bytes
22660  test/path-append.xlib-fallback.ref.png             |  Bin 6357 -> 6320 bytes
22661  test/pdf-surface-source.svg12.argb32.xfail.png     |  Bin 0 -> 278 bytes
22662  test/pdf-surface-source.svg12.rgb24.xfail.png      |  Bin 0 -> 278 bytes
22663  test/ps-surface-source.svg12.argb32.xfail.png      |  Bin 0 -> 278 bytes
22664  test/ps-surface-source.svg12.rgb24.xfail.png       |  Bin 0 -> 278 bytes
22665  test/push-group.xlib-fallback.rgb24.ref.png        |  Bin 2912 -> 0 bytes
22666  test/scale-offset-image.meta.xfail.png             |  Bin 0 -> 8599 bytes
22667  test/scale-offset-image.pdf.argb32.ref.png         |  Bin 8692 -> 0 bytes
22668  test/scale-offset-image.pdf.rgb24.ref.png          |  Bin 8691 -> 0 bytes
22669  test/scale-offset-image.pdf.xfail.png              |  Bin 0 -> 8692 bytes
22670  test/scale-offset-image.xlib-fallback.xfail.png    |  Bin 0 -> 8580 bytes
22671  test/scale-offset-similar.meta.xfail.png           |  Bin 0 -> 9095 bytes
22672  test/scale-offset-similar.pdf.argb32.ref.png       |  Bin 9278 -> 0 bytes
22673  test/scale-offset-similar.pdf.rgb24.ref.png        |  Bin 9278 -> 0 bytes
22674  test/scale-offset-similar.pdf.xfail.png            |  Bin 0 -> 9369 bytes
22675  test/scale-offset-similar.xlib-fallback.xfail.png  |  Bin 0 -> 8580 bytes
22676  test/self-intersecting.argb32.xfail.png            |  Bin 287 -> 235 bytes
22677  test/self-intersecting.pdf.argb32.xfail.png        |  Bin 295 -> 285 bytes
22678  test/self-intersecting.pdf.rgb24.xfail.png         |  Bin 272 -> 269 bytes
22679  test/self-intersecting.rgb24.xfail.png             |  Bin 282 -> 240 bytes
22680  test/smask-fill.xlib-fallback.ref.png              |  Bin 1156 -> 0 bytes
22681  test/smask-text.xlib.ref.png                       |  Bin 0 -> 1672 bytes
22682  test/smask.xlib.ref.png                            |  Bin 0 -> 3393 bytes
22683  test/surface-pattern-big-scale-down.ps.xfail.png   |  Bin 0 -> 238 bytes
22684  test/svg-surface-source.svg12.argb32.xfail.png     |  Bin 0 -> 278 bytes
22685  test/svg-surface-source.svg12.rgb24.xfail.png      |  Bin 0 -> 278 bytes
22686  ...allback16-surface-source.svg12.argb32.xfail.png |  Bin 0 -> 278 bytes
22687  ...fallback16-surface-source.svg12.rgb24.xfail.png |  Bin 0 -> 278 bytes
22688  test/text-pattern.pdf.argb32.ref.png               |  Bin 0 -> 1831 bytes
22689  test/text-pattern.pdf.argb32.xfail.png             |  Bin 1845 -> 0 bytes
22690  test/text-pattern.pdf.rgb24.ref.png                |  Bin 0 -> 1598 bytes
22691  test/text-pattern.pdf.rgb24.xfail.png              |  Bin 1599 -> 0 bytes
22692  test/unbounded-operator.svg12.argb32.xfail.png     |  Bin 2767 -> 2771 bytes
22693  test/unbounded-operator.svg12.rgb24.xfail.png      |  Bin 1719 -> 1731 bytes
22694  test/user-font-proxy.svg.ref.png                   |  Bin 16817 -> 16814 bytes
22695  test/xlib-surface-source.svg12.argb32.xfail.png    |  Bin 0 -> 278 bytes
22696  test/xlib-surface-source.svg12.rgb24.xfail.png     |  Bin 0 -> 278 bytes
22697  util/cairo-script/cairo-script-file.c              |   39 +-
22698  util/cairo-script/cairo-script-objects.c           |   22 +
22699  util/cairo-script/cairo-script-private.h           |    9 +-
22700  util/cairo-script/cairo-script-scanner.c           |   52 +-
22701  util/cairo-trace/trace.c                           |  119 +-
22702  196 files changed, 7741 insertions(+), 5903 deletions(-)
22703
22704 commit f5a1cdf283a6aa1f4409ccbf3c2274fb587724fe
22705 Author: Chris Wilson <chris@chris-wilson.co.uk>
22706 Date:   Thu Jul 23 14:46:16 2009 +0100
22707
22708     [gl] Simplify the common CLEAR of a surface
22709     
22710     Almost every surface is at sometime cleared, so catch the operation in
22711     paint(), and emit a simple glClear() instead.
22712
22713  src/cairo-gl-surface.c |   25 ++++++++++++++++++++++++-
22714  1 file changed, 24 insertions(+), 1 deletion(-)
22715
22716 commit eed17527f62eab826af65258b60cd4545a71a22d
22717 Author: Chris Wilson <chris@chris-wilson.co.uk>
22718 Date:   Thu Jul 23 14:30:46 2009 +0100
22719
22720     [gl] Do not use unchecked GL v1.5 features
22721     
22722     The span renderer uses ARB_vertex_buffer_object which was included into
22723     the core as part of OpenGL 1.5. We failed to check for the required version
22724     during initialisation, and to my surprise the i915 can only support OpenGL
22725     1.4 as it lacks ARB_occlusion_query. So just use the ARB extension instead
22726     which is present on i915.
22727
22728  src/cairo-gl-surface.c |   24 +++++++++++++-----------
22729  1 file changed, 13 insertions(+), 11 deletions(-)
22730
22731 commit 6c28c7a1e268fad0ad34cac0d8a9a3951d8f3c7a
22732 Author: Chris Wilson <chris@chris-wilson.co.uk>
22733 Date:   Thu Jul 23 08:45:58 2009 +0100
22734
22735     [perf] Add a simple report printer.
22736     
22737     After a run, it can be useful to reprint the results, so add
22738     cairo-perf-print to perform that task.
22739     
22740     For the future, I'd like to move the performance suite over to the
22741     git/perf style of single, multi-function binary.
22742     
22743     The sequence of operations that I typically do are:
22744     
22745     ./cairo-perf-trace -r -v -i 6 > `git describe`.`hostname`.perf
22746     ./cairo-perf-diff-files REVA REVB
22747     ./cairo-perf-print REVA
22748     ./cairo-perf-compare-backends REVA
22749     
22750     which misses the caching available with cairo-perf-diff. 'make html' is
22751     almost what I want, but still too prescriptive. However, that does need to
22752     be addressed for continuous performance monitoring.
22753     
22754     Along the perf lines, those sequence of operations become:
22755       ./cairo-perf record -i 6
22756       ./cairo-perf report
22757       ./cairo-perf report REVA REVB
22758       ./cairo-perf report --backends="image,xlib,gl" REVA REVB
22759       ./cairo-perf report --html REVA REVB
22760     
22761     Also we want to think about installing the cairo-perf binary. So we want
22762     to differentiate when run inside a git checkout.
22763
22764  perf/Makefile.am        |    8 ++++--
22765  perf/cairo-perf-print.c |   72 +++++++++++++++++++++++++++++++++++++++++++++++
22766  2 files changed, 78 insertions(+), 2 deletions(-)
22767
22768 commit 92ba74d760f20cd257b3916a51c8efef1c0e021e
22769 Author: Chris Wilson <chris@chris-wilson.co.uk>
22770 Date:   Wed Jul 22 19:04:07 2009 +0100
22771
22772     [vg] Compile fixes for EGL boilerplate
22773
22774  boilerplate/cairo-boilerplate-vg.c |   19 +++++++++----------
22775  1 file changed, 9 insertions(+), 10 deletions(-)
22776
22777 commit bfbe875ded0b0666a8048ef5fb598179a81c610a
22778 Author: Chris Wilson <chris@chris-wilson.co.uk>
22779 Date:   Wed Jul 22 07:52:30 2009 +0100
22780
22781     [gl] Enable GL backend for cairo-perf-trace
22782
22783  perf/cairo-perf-trace.c |    3 +++
22784  perf/cairo-perf.c       |    4 +++-
22785  2 files changed, 6 insertions(+), 1 deletion(-)
22786
22787 commit fed000620335a5fc2bda2ffeca5cbdd0ca5a158c
22788 Author: Chris Wilson <chris@chris-wilson.co.uk>
22789 Date:   Wed Jul 22 07:49:05 2009 +0100
22790
22791     [NEWS] Add stub for OpenGL.
22792
22793  NEWS |    8 ++++++++
22794  1 file changed, 8 insertions(+)
22795
22796 commit bff0b11634ffe52a5c8b2bbc9b6aee5bc3d2772c
22797 Author: Chris Wilson <chris@chris-wilson.co.uk>
22798 Date:   Wed Jul 22 07:45:21 2009 +0100
22799
22800     [gl] Update reference images
22801
22802  test/Makefile.am                               |   14 ++++++++++++++
22803  test/a1-image-sample.gl.xfail.png              |  Bin 0 -> 120 bytes
22804  test/alpha-similar.gl.argb32.xfail.png         |  Bin 0 -> 99 bytes
22805  test/alpha-similar.gl.rgb24.xfail.png          |  Bin 0 -> 93 bytes
22806  test/device-offset-fractional.gl.xfail.png     |  Bin 0 -> 311 bytes
22807  test/filter-nearest-offset.gl.xfail.png        |  Bin 0 -> 260 bytes
22808  test/filter-nearest-transformed.gl.xfail.png   |  Bin 0 -> 514 bytes
22809  test/finer-grained-fallbacks.gl.argb32.ref.png |  Bin 0 -> 1075 bytes
22810  test/mask-glyphs.gl.ref.png                    |  Bin 0 -> 1188669 bytes
22811  test/meta-surface-pattern.gl.argb32.ref.png    |  Bin 0 -> 3130 bytes
22812  test/scale-offset-image.gl.ref.png             |  Bin 0 -> 9197 bytes
22813  test/scale-offset-similar.gl.ref.png           |  Bin 0 -> 9197 bytes
22814  test/source-clip-scale.gl.ref.png              |  Bin 0 -> 164 bytes
22815  test/unbounded-operator.gl.argb32.xfail.png    |  Bin 0 -> 2805 bytes
22816  test/unbounded-operator.gl.rgb24.xfail.png     |  Bin 0 -> 1355 bytes
22817  15 files changed, 14 insertions(+)
22818
22819 commit 653351cd2e9fbe42333cd5ce57b7b49c6da3d122
22820 Author: Chris Wilson <chris@chris-wilson.co.uk>
22821 Date:   Wed Jul 22 07:38:24 2009 +0100
22822
22823     [gl] Copy font options from image backend.
22824     
22825     Enable hint metrics similar to the default image backend. However,
22826     consider using the display stored in the GLX context to query the screen
22827     default.
22828
22829  src/cairo-gl-surface.c |   11 ++++++++++-
22830  1 file changed, 10 insertions(+), 1 deletion(-)
22831
22832 commit a2ac67274d4ef89079c47cc415144a6ac0303f70
22833 Author: Chris Wilson <chris@chris-wilson.co.uk>
22834 Date:   Wed Jul 22 00:05:07 2009 +0100
22835
22836     [gl] Add warning about missing hook for XCloseDisplay().
22837
22838  src/cairo-glx-context.c |    2 ++
22839  1 file changed, 2 insertions(+)
22840
22841 commit f2f42ec70a626a69f4b29f55f9d1818942bb0b19
22842 Author: Chris Wilson <chris@chris-wilson.co.uk>
22843 Date:   Wed Jul 22 00:01:22 2009 +0100
22844
22845     [gl] Apply pixel sample bias for spans
22846
22847  src/cairo-gl-surface.c |   10 ++++++----
22848  1 file changed, 6 insertions(+), 4 deletions(-)
22849
22850 commit 9e420f5d0669ec12eaaf7faf4e55642c10b95fb3
22851 Author: Chris Wilson <chris@chris-wilson.co.uk>
22852 Date:   Tue Jul 21 23:45:00 2009 +0100
22853
22854     [gl] Another whitespace pass.
22855
22856  src/cairo-gl-surface.c |   69 ++++++++++++++++++++++++------------------------
22857  1 file changed, 35 insertions(+), 34 deletions(-)
22858
22859 commit 222fd8b49b25c56f38ad375059240983a8f576ce
22860 Merge: 5471603 7ee0fee
22861 Author: Chris Wilson <chris@chris-wilson.co.uk>
22862 Date:   Tue Jul 21 23:42:34 2009 +0100
22863
22864     Merge commit 'anholt/gl-span-renderer'
22865
22866 commit 5471603b527ecf43aaa72665d47929a1038aa642
22867 Author: Chris Wilson <chris@chris-wilson.co.uk>
22868 Date:   Tue Jul 21 23:38:05 2009 +0100
22869
22870     [gl] Use QUADS for drawing fill_rectangles() not TRIFAN
22871     
22872     As each rectangle is independent, we need to draw the array using QUADS.
22873
22874  src/cairo-gl-surface.c |    2 +-
22875  1 file changed, 1 insertion(+), 1 deletion(-)
22876
22877 commit c3ef0c8d2011a23d73ff919dbb947ca68e1d8c1b
22878 Author: Chris Wilson <chris@chris-wilson.co.uk>
22879 Date:   Tue Jul 21 23:31:30 2009 +0100
22880
22881     [gl] Whitespace
22882     
22883     Ensure we leave a space between a function call and its parameters.
22884
22885  src/cairo-gl-surface.c |   90 ++++++++++++++++++++++++------------------------
22886  1 file changed, 45 insertions(+), 45 deletions(-)
22887
22888 commit b71c27bf4ebd19f74f22392ddb2612d843c74a38
22889 Author: Chris Wilson <chris@chris-wilson.co.uk>
22890 Date:   Tue Jul 21 23:26:15 2009 +0100
22891
22892     [gl] Remove dead code.
22893     
22894     The loop between texture_setup() and clone_similar() should be
22895     impossible, since every compositing backend should know how to clone an
22896     image surface. cairo-gl is no longer an exception and so this code can
22897     safely be removed.
22898
22899  src/cairo-gl-surface.c |   25 +------------------------
22900  1 file changed, 1 insertion(+), 24 deletions(-)
22901
22902 commit c8cc6a205a68a7c87239424aa93a29b5b166561d
22903 Author: Chris Wilson <chris@chris-wilson.co.uk>
22904 Date:   Tue Jul 21 23:08:39 2009 +0100
22905
22906     [gl] Avoid temporary allocation of pixman trapezoids
22907     
22908     When creating the trapezoid mask, avoid having to allocate a temporary
22909     array to hold the converted pixman trapezoids by instead rasterizing each
22910     trapezoid separately into the mask.
22911
22912  src/cairo-gl-surface.c |   82 +++++++++++++++++++++---------------------------
22913  1 file changed, 36 insertions(+), 46 deletions(-)
22914
22915 commit 5deb8fa213ce86759053be391966618ee0959f50
22916 Author: Chris Wilson <chris@chris-wilson.co.uk>
22917 Date:   Tue Jun 9 16:20:32 2009 +0100
22918
22919     [gl] Construct a dummy window for the initial context
22920     
22921     In order to make the initial context current we need a Drawable that
22922     matches the context. In general, the RootWindow may not match the desired
22923     context so we need to query the context and construct an appropriate
22924     Drawable.
22925
22926  src/cairo-glx-context.c |   70 ++++++++++++++++++++++++++++++++++++++++++-----
22927  1 file changed, 63 insertions(+), 7 deletions(-)
22928
22929 commit 911482e5ae88ba26a1b3290731968f8b8a80cd70
22930 Author: Chris Wilson <chris@chris-wilson.co.uk>
22931 Date:   Fri May 22 23:44:27 2009 +0100
22932
22933     [gl] Constrain image sources to max texture size
22934
22935  src/cairo-gl-private.h |    2 ++
22936  src/cairo-gl-surface.c |   19 +++++++++++++++++++
22937  2 files changed, 21 insertions(+)
22938
22939 commit 1ae5942a3aa9f73aa71438dc40221836b0dff7e2
22940 Merge: fd9df49 6a59574
22941 Author: Chris Wilson <chris@chris-wilson.co.uk>
22942 Date:   Tue Jul 21 22:28:44 2009 +0100
22943
22944     Merge commit 'anholt/gl'
22945     
22946     Conflicts:
22947         boilerplate/Makefile.sources
22948         boilerplate/cairo-boilerplate.c
22949         build/configure.ac.features
22950         src/cairo.h
22951         util/cairo-script/Makefile.am
22952
22953 commit fd9df4978d56bbb85ecd795afce72c0310dbcf3f
22954 Author: Chris Wilson <chris@chris-wilson.co.uk>
22955 Date:   Tue Jul 21 20:51:46 2009 +0100
22956
22957     [perf] Don't override CAIRO_TRACE_DIR in cairo-perf-diff
22958
22959  perf/cairo-perf-diff |    1 -
22960  1 file changed, 1 deletion(-)
22961
22962 commit 2dd97ae59c482f09e42d719a941e189560f00b8f
22963 Author: Chris Wilson <chris@chris-wilson.co.uk>
22964 Date:   Mon Jul 20 22:19:21 2009 +0100
22965
22966     [perf] Include trace comparison in html output
22967
22968  build/Makefile.am.analysis |    2 ++
22969  perf/Makefile.am           |    2 +-
22970  perf/cairo-perf-diff       |   17 +++++++----------
22971  perf/make-html.py          |    3 +--
22972  4 files changed, 11 insertions(+), 13 deletions(-)
22973
22974 commit f30cee70f5fadd1f2af60310a148f61ed4fc7069
22975 Author: Chris Wilson <chris@chris-wilson.co.uk>
22976 Date:   Mon Jul 20 22:17:30 2009 +0100
22977
22978     [perf] Search multiple directories for traces
22979     
22980     In view of sharing traces between multiple builder, add some system wide
22981     directories to the search path. This should be refined to a single
22982     canonical location before release.
22983
22984  perf/cairo-perf-trace.c |   23 +++++++++++++++++++++--
22985  1 file changed, 21 insertions(+), 2 deletions(-)
22986
22987 commit ebac096648d638d6405152d37d7b58a0f6ad3242
22988 Author: Chris Wilson <chris@chris-wilson.co.uk>
22989 Date:   Mon Jul 20 19:54:12 2009 +0100
22990
22991     [build] And export CC_FOR_BUILD so that we can actually use it!
22992
22993  build/configure.ac.tools |    1 +
22994  1 file changed, 1 insertion(+)
22995
22996 commit ed7853d4991f17a5e6df694808d33603eecf9186
22997 Author: Chris Wilson <chris@chris-wilson.co.uk>
22998 Date:   Mon Jul 20 19:37:27 2009 +0100
22999
23000     [build] Use ${CC} as the default value for CC_FOR_BUILD
23001
23002  build/configure.ac.tools |    7 +++++++
23003  1 file changed, 7 insertions(+)
23004
23005 commit 809f77a5cb7c17582a0ed90285a3c48c0696ed3e
23006 Author: Chris Wilson <chris@chris-wilson.co.uk>
23007 Date:   Mon Jul 20 13:44:48 2009 +0100
23008
23009     [test] Summarise tests that fail during the preamble.
23010     
23011     Some tests only run and check during the preamble phase, and those
23012     failures were being ignored during the summary.
23013
23014  test/cairo-test-runner.c |  109 ++++++++++++++++++++++++++++++++++++----------
23015  1 file changed, 85 insertions(+), 24 deletions(-)
23016
23017 commit dbaa08e80b6d53f905974f3d2012f9425d9b8603
23018 Author: Chris Wilson <chris@chris-wilson.co.uk>
23019 Date:   Mon Jul 20 11:53:17 2009 +0100
23020
23021     [test] Fallback to comparing the base image references
23022     
23023     After looking at backend specific images, check against the base image
23024     reference. This is useful to fallback surfaces like xlib-fallback, which
23025     should look closer to the image backend than the xlib backend.
23026
23027  test/cairo-test.c |  231 +++++++++++++++++++++++++++++++++++++----------------
23028  1 file changed, 163 insertions(+), 68 deletions(-)
23029
23030 commit 164e0d2ea38baacd5888bffa5bebb5d64bfee01b
23031 Author: Chris Wilson <chris@chris-wilson.co.uk>
23032 Date:   Mon Jul 20 11:02:04 2009 +0100
23033
23034     [test] Misidentification of XFAIL as NEW
23035     
23036     cut'n'paste error compared the image against the known failure instead of
23037     any recorded new failure, when checking for NEW fails.
23038
23039  test/cairo-test.c |    2 +-
23040  1 file changed, 1 insertion(+), 1 deletion(-)
23041
23042 commit e2883177487ba294a0c97bafb00e2f56e5fe84d9
23043 Author: Chris Wilson <chris@chris-wilson.co.uk>
23044 Date:   Mon Jul 20 18:55:04 2009 +0100
23045
23046     Add a jhbuild moduleset.
23047
23048  util/cairo.modules |   19 +++++++++++++++++++
23049  1 file changed, 19 insertions(+)
23050
23051 commit 0c1e86d661e145981050129b163eae0fb8f4a963
23052 Author: Pierre Tardy <tardyp@gmail.com>
23053 Date:   Sat Jul 18 19:16:20 2009 +0100
23054
23055     Cross-compilation fix for boilerplate/test
23056
23057  boilerplate/Makefile.am |    2 +-
23058  test/Makefile.am        |    2 +-
23059  2 files changed, 2 insertions(+), 2 deletions(-)
23060
23061 commit aac256b2692d15fc21abcdc9c1b9e5fd35f63f66
23062 Author: Chris Wilson <chris@chris-wilson.co.uk>
23063 Date:   Sat Jul 18 16:15:47 2009 +0100
23064
23065     Compile fixes for mingw32.
23066     
23067     Trivial typos found whilst using a cross-compiler.
23068
23069  src/cairo-win32-surface.c                |    1 +
23070  util/cairo-script/cairo-script-private.h |    4 ++--
23071  2 files changed, 3 insertions(+), 2 deletions(-)
23072
23073 commit 922b01ad141305f909a4cfffc6c65a27c6d7a8a6
23074 Author: Chris Wilson <chris@chris-wilson.co.uk>
23075 Date:   Fri Jul 17 14:27:19 2009 +0100
23076
23077     [test] Add a simplified CLEAR test.
23078     
23079     Just performs a very basic masked clear. This does not exhibit the bug I was
23080     looking for, but is still useful for its simplicity.
23081
23082  test/Makefile.am                  |    4 ++
23083  test/Makefile.sources             |    1 +
23084  test/clear.argb32.ref.png         |  Bin 0 -> 695 bytes
23085  test/clear.c                      |   86 +++++++++++++++++++++++++++++++++++++
23086  test/clear.rgb24.ref.png          |  Bin 0 -> 618 bytes
23087  test/clear.svg12.argb32.xfail.png |  Bin 0 -> 170 bytes
23088  test/clear.svg12.rgb24.xfail.png  |  Bin 0 -> 170 bytes
23089  7 files changed, 91 insertions(+)
23090
23091 commit 52fa8760aeef38abbab0484a6978adaf4f100f90
23092 Author: Chris Wilson <chris@chris-wilson.co.uk>
23093 Date:   Wed Jul 15 16:37:25 2009 +0100
23094
23095     Add OpenVG backend.
23096     
23097     Based on the work by Øyvind Kolås and Pierre Tardy -- many thanks to
23098     Pierre for pushing this backend for inclusion as well as testing and
23099     reviewing my initial patch. And many more thanks to pippin for writing the
23100     backend in the first place!
23101     
23102     Hacked and chopped by myself into a suitable basis for a backend. Quite a
23103     few issues remain open, but would seem to be ready for testing on suitable
23104     hardware.
23105
23106  AUTHORS                             |    3 +-
23107  NEWS                                |    3 +
23108  boilerplate/Makefile.sources        |    1 +
23109  boilerplate/Makefile.win32.features |   30 +
23110  boilerplate/cairo-boilerplate-vg.c  |  350 +++++++
23111  build/Makefile.win32.features       |    3 +
23112  build/Makefile.win32.features-h     |    9 +
23113  build/configure.ac.features         |    3 +
23114  configure.ac                        |   43 +
23115  src/Makefile.sources                |    3 +
23116  src/Makefile.win32.features         |   42 +
23117  src/cairo-vg-surface.c              | 1938 +++++++++++++++++++++++++++++++++++
23118  src/cairo-vg.h                      |  103 ++
23119  src/cairo.h                         |    4 +-
23120  test/cairo-test.c                   |    3 +-
23121  test/get-clip.c                     |    1 +
23122  util/cairo-trace/trace.c            |   70 ++
23123  17 files changed, 2606 insertions(+), 3 deletions(-)
23124
23125 commit 34d5b862bce3e9273391eb5d2c384394cca94d2d
23126 Author: Chris Wilson <chris@chris-wilson.co.uk>
23127 Date:   Thu Jul 16 14:18:13 2009 +0100
23128
23129     [xlib] Enable Render support for the extended PDF operators
23130     
23131     With the latest 0.11 release of renderproto we now have the ability to
23132     use the extended PDF operators via Render.
23133
23134  src/cairo-image-surface.c |   10 ++++++----
23135  src/cairo-xlib-surface.c  |   48 ++++++++++++++++++++++++++++++++++++++++++---
23136  2 files changed, 51 insertions(+), 7 deletions(-)
23137
23138 commit 01eec61f4ffae4f492d667b6accb5ed3f6960d2c
23139 Author: Tobias Hunger <tobias.hunger@gmail.com>
23140 Date:   Thu Jul 16 00:16:59 2009 -0400
23141
23142     [qt] Remove use of unnecessary QBrush pointer
23143     
23144     QBrush is a implicitly shared datastructure. There is on need to layer
23145     "explicit pointer based sharing" atop of it.
23146     
23147     Mozilla Bug #498871
23148
23149  src/cairo-qt-surface.cpp |   31 +++++++++++++++----------------
23150  1 file changed, 15 insertions(+), 16 deletions(-)
23151
23152 commit 222c12cc4e48c2c9178a7390ea8edd73d7cb56bb
23153 Author: Tobias Hunger <tobias.hunger@gmail.com>
23154 Date:   Thu Jul 16 00:16:59 2009 -0400
23155
23156     [qt] Remove use of unnecessary QPen pointer
23157     
23158     QPen is a implicitly shared class, so there is no need to do explicit sharing
23159     via pointers.
23160     
23161     Mozilla Bug #498873
23162
23163  src/cairo-qt-surface.cpp |   22 ++++++++++------------
23164  1 file changed, 10 insertions(+), 12 deletions(-)
23165
23166 commit 0797b2fcaad0c17c35e67ec5d01a0556a76ee39d
23167 Author: Tobias Hunger <tobias.hunger@gmail.com>
23168 Date:   Thu Jul 16 00:16:59 2009 -0400
23169
23170     [qt] Cleanup some whitespace
23171     
23172     Mozilla bug #498843
23173
23174  src/cairo-qt-surface.cpp |  212 +++++++++++++++++++++++-----------------------
23175  1 file changed, 106 insertions(+), 106 deletions(-)
23176
23177 commit d782ba04b76ae18c562840242dc535e9db48aa13
23178 Author: Tobias Hunger <tobias.hunger@gmail.com>
23179 Date:   Thu Jul 16 00:16:58 2009 -0400
23180
23181     [qt] Add method to flush qpainter
23182     
23183     This is required for non-X11 rendering backends.
23184     
23185     Mozilla bug #498910
23186
23187  src/cairo-qt-surface.cpp |   14 +++++++++++++-
23188  1 file changed, 13 insertions(+), 1 deletion(-)
23189
23190 commit e713857b85ef45d923eae94d8e4c05c7b2049ca5
23191 Author: Tobias Hunger <tobias.hunger@gmail.com>
23192 Date:   Thu Jul 16 00:16:58 2009 -0400
23193
23194     [qt] Move _opstr() inside the #if 0 to avoid warnings
23195     
23196     Mozilla bug #498917
23197
23198  src/cairo-qt-surface.cpp |   50 +++++++++++++++++++++++-----------------------
23199  1 file changed, 25 insertions(+), 25 deletions(-)
23200
23201 commit 4f9551e5e533deb66401b601766bf4263192b6de
23202 Author: Tobias Hunger <tobias.hunger@gmail.com>
23203 Date:   Thu Jul 16 00:16:57 2009 -0400
23204
23205     [qt] Reduce padding in cairo_qt_surface_t struct
23206     
23207     Removes 4 bytes of padding (on a 32bit system) from the datastructure by
23208     reordering the members.
23209     
23210     Mozilla bug #498880
23211
23212  src/cairo-qt-surface.cpp |   27 ++++++++++++++-------------
23213  1 file changed, 14 insertions(+), 13 deletions(-)
23214
23215 commit 1caa34103925c53b180cd614f5c6b425b5a3f271
23216 Author: Chris Wilson <chris@chris-wilson.co.uk>
23217 Date:   Wed Jul 15 13:26:34 2009 +0100
23218
23219     Fix build under distcheck
23220     
23221     Need to play a little dance to get the sources included and paths correct
23222     whilst building source files with objdir != srcdir under distcheck.
23223
23224  boilerplate/Makefile.am                           |   10 +--
23225  boilerplate/make-cairo-boilerplate-constructors.c |   19 ++++--
23226  doc/public/tmpl/cairo-surface.sgml                |    2 +
23227  doc/public/tmpl/cairo.sgml                        |   15 ++++
23228  test/Makefile.am                                  |    9 ++-
23229  test/make-cairo-test-constructors.c               |   13 +++-
23230  util/cairo-script/csi-bind.c                      |   76 +++++++++++++++++++++
23231  7 files changed, 125 insertions(+), 19 deletions(-)
23232
23233 commit 818ad38a0e323892231469520a4b077f4dae31d4
23234 Author: Chris Wilson <chris@chris-wilson.co.uk>
23235 Date:   Tue Jul 14 19:07:42 2009 +0100
23236
23237     [boilerplate] Add make-...-constructors to .gitignore
23238
23239  boilerplate/.gitignore |    1 +
23240  1 file changed, 1 insertion(+)
23241
23242 commit 9a65b4a116a3ae451cbba2826467ad3375235a5c
23243 Author: Chris Wilson <chris@chris-wilson.co.uk>
23244 Date:   Tue Jul 14 19:06:53 2009 +0100
23245
23246     [perf] Add cairo-traces to .gitignore
23247
23248  perf/.gitignore |    1 +
23249  1 file changed, 1 insertion(+)
23250
23251 commit 5796a9240ea02dbdbef0d51a4ee71398fea858ad
23252 Author: Chris Wilson <chris@chris-wilson.co.uk>
23253 Date:   Tue Jul 14 19:04:56 2009 +0100
23254
23255     [test] Reconstruct REFERENCE_IMAGES
23256     
23257     Rebuild the list from scratch using the contents of my git working tree.
23258
23259  test/Makefile.am |  449 ++++++++++++++++++++++--------------------------------
23260  1 file changed, 178 insertions(+), 271 deletions(-)
23261
23262 commit 8c55ca9ebce487c5ca8b1712f8358a6361032d43
23263 Author: Chris Wilson <chris@chris-wilson.co.uk>
23264 Date:   Tue Jul 14 16:54:51 2009 +0100
23265
23266     [directfb] Silence compiler warnings.
23267     
23268     Add extended blend mode to operator switch.
23269
23270  src/cairo-directfb-surface.c |   15 +++++++++++++++
23271  1 file changed, 15 insertions(+)
23272
23273 commit 8ad3fca2109f18b5125e7087b3059eb4225eec3e
23274 Author: Chris Wilson <chris@chris-wilson.co.uk>
23275 Date:   Tue Jul 14 16:51:31 2009 +0100
23276
23277     [glitz] Extended blend mode support
23278     
23279     Ensure that we fallback given an extended operator.
23280
23281  src/cairo-glitz-surface.c |   80 +++++++++++++++++++++++++++++++++------------
23282  1 file changed, 60 insertions(+), 20 deletions(-)
23283
23284 commit 333d37a60fa80f325612ea94b19ec9892dff8cfb
23285 Author: Chris Wilson <chris@chris-wilson.co.uk>
23286 Date:   Tue Jul 14 16:41:00 2009 +0100
23287
23288     [pdf] Silence copmiler.
23289     
23290     Fill in missing case values to silence the compiler, and remind us should
23291     we every add more operators in future.
23292
23293  src/cairo-pdf-surface.c |   95 ++++++++++++++++++++++++-----------------------
23294  1 file changed, 48 insertions(+), 47 deletions(-)
23295
23296 commit 710308c64e298ae35988fb0881a33cbe92af48ab
23297 Author: Chris Wilson <chris@chris-wilson.co.uk>
23298 Date:   Tue Jul 14 16:31:41 2009 +0100
23299
23300     [script] Extended blend mode support.
23301
23302  src/cairo-script-surface.c                 |   18 +++++++++++++++++-
23303  util/cairo-script/cairo-script-operators.c |   15 +++++++++++++++
23304  util/cairo-trace/trace.c                   |   18 +++++++++++++++++-
23305  3 files changed, 49 insertions(+), 2 deletions(-)
23306
23307 commit 100f0d94eebcec05372263b2e68c27b91b52a1c8
23308 Author: Chris Wilson <chris@chris-wilson.co.uk>
23309 Date:   Tue Jul 14 16:30:36 2009 +0100
23310
23311     [cairo] Remove trailing spaces in comments.
23312     
23313     vim highlights these errors making my screen go red and upsets me.
23314     So they must die.
23315
23316  src/cairo.h |   22 +++++++++++-----------
23317  1 file changed, 11 insertions(+), 11 deletions(-)
23318
23319 commit 75736603d3b976dab8ac1ef473164c618084ee60
23320 Author: Emmanuel Pacaud <emmanuel.pacaud@free.fr>
23321 Date:   Wed Aug 29 15:11:23 2007 +0200
23322
23323     [SVG] Add extended blend modes.
23324
23325  src/cairo-svg-surface.c |    6 ++++++
23326  1 file changed, 6 insertions(+)
23327
23328 commit 47af6cf2803737ab7248d1ce4d76f038d1f3188e
23329 Author: Adrian Johnson <ajohnson@redneon.com>
23330 Date:   Tue Jul 14 15:34:13 2009 +0200
23331
23332     [pdf] Add support for the extra blend modes
23333     
23334     HSL modes support added by Benjamin Otte <otte@gnome.org>
23335
23336  src/cairo-pdf-surface-private.h |    4 +
23337  src/cairo-pdf-surface.c         |  162 ++++++++++++++++++++++++++++++++++++++-
23338  2 files changed, 164 insertions(+), 2 deletions(-)
23339
23340 commit cf186d60b0d96cde859869237fa859e28a74a037
23341 Author: Benjamin Otte <otte@gnome.org>
23342 Date:   Thu Aug 30 10:16:00 2007 +0200
23343
23344     [xlib] Add support for new operators
23345     
23346     This is of course just making sure fallbacks get used as Render does not support
23347     the new operators yet.
23348
23349  src/cairo-xlib-surface.c |   28 +++++++++++++++++++++++++++-
23350  1 file changed, 27 insertions(+), 1 deletion(-)
23351
23352 commit 0fd944d4bfbc2fff9960378eafd18a7d8fb9f296
23353 Author: Benjamin Otte <otte@gnome.org>
23354 Date:   Tue Jul 14 15:28:10 2009 +0200
23355
23356     Use new pixman extended blend operators
23357     
23358     It also adds extended-blend tests.
23359     
23360     Based on a previous patch by Emmanuel Pacaud <emmanuel.pacaud@free.fr>
23361
23362  src/cairo-image-surface.c                |   31 ++++++++
23363  src/cairo-misc.c                         |   30 ++++++++
23364  src/cairo.h                              |   53 +++++++++++++-
23365  test/Makefile.am                         |    4 +
23366  test/Makefile.sources                    |    2 +
23367  test/extended-blend-alpha.argb32.ref.png |  Bin 0 -> 9777 bytes
23368  test/extended-blend-alpha.c              |  115 +++++++++++++++++++++++++++++
23369  test/extended-blend-alpha.rgb24.ref.png  |  Bin 0 -> 5743 bytes
23370  test/extended-blend.argb32.ref.png       |  Bin 0 -> 4071 bytes
23371  test/extended-blend.c                    |  117 ++++++++++++++++++++++++++++++
23372  test/extended-blend.rgb24.ref.png        |  Bin 0 -> 3772 bytes
23373  11 files changed, 351 insertions(+), 1 deletion(-)
23374
23375 commit 16387f0a7dd3b474bcaf637d3e290029b79afec1
23376 Author: Carlos Garcia Campos <carlosgc@gnome.org>
23377 Date:   Tue Jul 14 11:16:24 2009 +0200
23378
23379     [configure] Bump pixman dependency
23380     
23381     Version 0.15.16 contains the new PDF blend mode operators.
23382
23383  configure.ac |    2 +-
23384  1 file changed, 1 insertion(+), 1 deletion(-)
23385
23386 commit 655a4dbc36d95ce4a82cbc13aa9e2002b41fa4de
23387 Author: Chris Wilson <chris@chris-wilson.co.uk>
23388 Date:   Mon Jul 13 14:31:43 2009 +0100
23389
23390     [test] Track XFAIL using expected results stored as xfail.png
23391     
23392     Instead of tagging the sources, which is insensitive to changes, track the
23393     known failure modes by recording the current fail as an xfail.png
23394     reference. (We also introduce a new.png to track a fresh error, so that
23395     they are not lost in the noise of the old XFAILs and hopefully do not
23396     cause everyone to fret).
23397     
23398     As we have removed the XFAIL tagging we find, surprise surprise, that some
23399     tests are now working -- so review all the reference images (as also some
23400     .ref.png now should be .xfail.png).
23401     
23402     Note: I've only checked image,pdf,ps,svg. The test surfaces report some
23403     failures that probably need to addressed in source. I've not correct the
23404     changes for win32 and quartz. Nor fixed up the experimental backends.
23405
23406  test/alpha-similar.c                               |    2 +-
23407  test/alpha-similar.pdf.argb32.xfail.png            |  Bin 0 -> 95 bytes
23408  test/alpha-similar.pdf.rgb24.xfail.png             |  Bin 0 -> 93 bytes
23409  test/alpha-similar.ps.argb32.xfail.png             |  Bin 0 -> 95 bytes
23410  test/alpha-similar.ps.rgb24.xfail.png              |  Bin 0 -> 93 bytes
23411  test/alpha-similar.svg.argb32.xfail.png            |  Bin 0 -> 99 bytes
23412  test/alpha-similar.svg.rgb24.xfail.png             |  Bin 0 -> 95 bytes
23413  test/big-line.c                                    |    2 +-
23414  test/big-line.ps.argb32.ref.png                    |  Bin 0 -> 977 bytes
23415  test/big-line.ps.rgb24.ref.png                     |  Bin 0 -> 709 bytes
23416  test/big-line.ps2.ref.png                          |  Bin 1148 -> 0 bytes
23417  test/big-line.ps2.rgb24.ref.png                    |  Bin 830 -> 0 bytes
23418  test/big-line.ps3.ref.png                          |  Bin 1148 -> 0 bytes
23419  test/big-line.ps3.rgb24.ref.png                    |  Bin 830 -> 0 bytes
23420  test/big-line.ref.png                              |  Bin 1486 -> 0 bytes
23421  test/big-line.rgb24.ref.png                        |  Bin 1308 -> 0 bytes
23422  test/big-trap.c                                    |    7 +-
23423  test/cairo-test-runner.c                           |  161 ++------
23424  test/cairo-test.c                                  |  405 ++++++++++++++------
23425  test/cairo-test.h                                  |   56 ++-
23426  test/caps-joins-alpha.svg11.ref.png                |  Bin 2454 -> 0 bytes
23427  test/caps-joins-alpha.svg12.ref.png                |  Bin 2454 -> 0 bytes
23428  test/clip-fill-rule.test-fallback.rgb24.ref.png    |  Bin 361 -> 0 bytes
23429  test/clip-nesting.test-fallback.rgb24.ref.png      |  Bin 936 -> 0 bytes
23430  test/clip-operator.c                               |    2 +-
23431  test/clip-operator.pdf.argb32.ref.png              |  Bin 11603 -> 0 bytes
23432  test/clip-operator.pdf.argb32.xfail.png            |  Bin 0 -> 9340 bytes
23433  test/clip-operator.pdf.rgb24.ref.png               |  Bin 6882 -> 0 bytes
23434  test/clip-operator.pdf.rgb24.xfail.png             |  Bin 0 -> 5155 bytes
23435  test/clip-operator.svg12.argb32.xfail.png          |  Bin 0 -> 8404 bytes
23436  test/clip-operator.svg12.rgb24.xfail.png           |  Bin 0 -> 4523 bytes
23437  test/clip-operator.test-fallback.argb32.ref.png    |  Bin 8252 -> 0 bytes
23438  test/clip-operator.test-fallback.rgb24.ref.png     |  Bin 3241 -> 0 bytes
23439  test/clip-twice.test-fallback.argb32.ref.png       |  Bin 1343 -> 0 bytes
23440  test/clip-twice.test-fallback.rgb24.ref.png        |  Bin 1179 -> 0 bytes
23441  test/composite-integer-translate-source.c          |    2 +-
23442  test/degenerate-arc.test-fallback.argb32.ref.png   |  Bin 547 -> 0 bytes
23443  test/degenerate-arc.test-fallback.rgb24.ref.png    |  Bin 547 -> 0 bytes
23444  test/degenerate-dash.c                             |    2 +-
23445  test/degenerate-dash.ps.xfail.png                  |  Bin 0 -> 1835 bytes
23446  test/degenerate-path.c                             |    2 +-
23447  test/degenerate-path.ps.argb32.xfail.png           |  Bin 0 -> 236 bytes
23448  test/degenerate-path.ps.rgb24.xfail.png            |  Bin 0 -> 186 bytes
23449  test/degenerate-path.ps2.argb32.ref.png            |  Bin 390 -> 0 bytes
23450  test/degenerate-path.ps2.rgb24.ref.png             |  Bin 358 -> 0 bytes
23451  test/degenerate-path.ps3.argb32.ref.png            |  Bin 390 -> 0 bytes
23452  test/degenerate-path.ps3.rgb24.ref.png             |  Bin 358 -> 0 bytes
23453  test/device-offset-scale.c                         |    2 +-
23454  test/device-offset-scale.svg.xfail.png             |  Bin 0 -> 128 bytes
23455  test/extend-pad-border.c                           |    2 +-
23456  test/extend-pad-border.ps.ref.png                  |  Bin 0 -> 649 bytes
23457  test/extend-pad-border.svg.xfail.png               |  Bin 0 -> 1063 bytes
23458  test/extend-pad-similar.svg.xfail.png              |  Bin 0 -> 270 bytes
23459  test/extend-pad.svg.xfail.png                      |  Bin 0 -> 270 bytes
23460  test/fallback-resolution.c                         |   14 +-
23461  test/fill-alpha-pattern.pdf.argb32.ref.png         |  Bin 3750 -> 0 bytes
23462  test/fill-alpha-pattern.pdf.rgb24.ref.png          |  Bin 3758 -> 0 bytes
23463  ...fill-alpha-pattern.test-fallback.argb32.ref.png |  Bin 3379 -> 0 bytes
23464  .../fill-alpha-pattern.test-fallback.rgb24.ref.png |  Bin 3379 -> 0 bytes
23465  test/fill-alpha.test-fallback.argb32.ref.png       |  Bin 2824 -> 0 bytes
23466  test/fill-alpha.test-fallback.rgb24.ref.png        |  Bin 2824 -> 0 bytes
23467  test/fill-and-stroke-alpha-add.c                   |    2 +-
23468  test/fill-and-stroke-alpha-add.svg12.xfail.png     |  Bin 0 -> 614 bytes
23469  test/fill-degenerate-sort-order.c                  |    2 +-
23470  .../fill-degenerate-sort-order.ps.argb32.xfail.png |  Bin 0 -> 1901 bytes
23471  test/fill-degenerate-sort-order.ps.rgb24.xfail.png |  Bin 0 -> 1645 bytes
23472  ...enerate-sort-order.test-fallback.argb32.ref.png |  Bin 2378 -> 0 bytes
23473  ...generate-sort-order.test-fallback.rgb24.ref.png |  Bin 2041 -> 0 bytes
23474  test/fill-image.xlib.ref.png                       |  Bin 0 -> 1460 bytes
23475  test/fill-rule.test-fallback.argb32.ref.png        |  Bin 1979 -> 0 bytes
23476  test/fill-rule.test-fallback.rgb24.ref.png         |  Bin 1703 -> 0 bytes
23477  test/filter-bilinear-extents.pdf.ref.png           |  Bin 798 -> 0 bytes
23478  test/filter-bilinear-extents.pdf.xfail.png         |  Bin 0 -> 401 bytes
23479  test/filter-nearest-offset.pdf.ref.png             |  Bin 997 -> 0 bytes
23480  test/filter-nearest-offset.pdf.xfail.png           |  Bin 0 -> 1926 bytes
23481  test/filter-nearest-offset.svg.xfail.png           |  Bin 0 -> 4419 bytes
23482  test/filter-nearest-offset.svg11.ref.png           |  Bin 4739 -> 0 bytes
23483  test/filter-nearest-offset.svg12.ref.png           |  Bin 4739 -> 0 bytes
23484  test/filter-nearest-transformed.pdf.ref.png        |  Bin 552 -> 0 bytes
23485  test/filter-nearest-transformed.pdf.xfail.png      |  Bin 0 -> 488 bytes
23486  test/filter-nearest-transformed.svg.xfail.png      |  Bin 0 -> 546 bytes
23487  test/filter-nearest-transformed.svg11.ref.png      |  Bin 559 -> 0 bytes
23488  test/filter-nearest-transformed.svg12.ref.png      |  Bin 559 -> 0 bytes
23489  test/finer-grained-fallbacks.c                     |    2 +-
23490  test/finer-grained-fallbacks.svg12.argb32.ref.png  |  Bin 0 -> 190 bytes
23491  test/finer-grained-fallbacks.svg12.rgb24.ref.png   |  Bin 0 -> 191 bytes
23492  ...-grained-fallbacks.test-fallback.argb32.ref.png |  Bin 1111 -> 0 bytes
23493  ...r-grained-fallbacks.test-fallback.rgb24.ref.png |  Bin 854 -> 0 bytes
23494  test/font-matrix-translation.svg.ref.png           |  Bin 0 -> 870 bytes
23495  test/font-matrix-translation.svg11.argb32.ref.png  |  Bin 857 -> 0 bytes
23496  test/font-matrix-translation.svg11.ref.png         |  Bin 970 -> 0 bytes
23497  test/font-matrix-translation.svg11.rgb24.ref.png   |  Bin 857 -> 0 bytes
23498  test/font-matrix-translation.svg12.argb32.ref.png  |  Bin 857 -> 0 bytes
23499  test/font-matrix-translation.svg12.ref.png         |  Bin 970 -> 0 bytes
23500  test/font-matrix-translation.svg12.rgb24.ref.png   |  Bin 857 -> 0 bytes
23501  test/ft-show-glyphs-positioning.svg.ref.png        |  Bin 0 -> 6018 bytes
23502  test/ft-show-glyphs-positioning.svg11.ref.png      |  Bin 6590 -> 0 bytes
23503  test/ft-show-glyphs-positioning.svg12.ref.png      |  Bin 6590 -> 0 bytes
23504  test/ft-show-glyphs-table.svg.ref.png              |  Bin 0 -> 10005 bytes
23505  test/ft-show-glyphs-table.svg11.argb32.ref.png     |  Bin 9953 -> 0 bytes
23506  test/ft-show-glyphs-table.svg11.rgb24.ref.png      |  Bin 9953 -> 0 bytes
23507  test/ft-show-glyphs-table.svg12.argb32.ref.png     |  Bin 9953 -> 0 bytes
23508  test/ft-show-glyphs-table.svg12.rgb24.ref.png      |  Bin 9953 -> 0 bytes
23509  test/ft-text-vertical-layout-type1.svg.ref.png     |  Bin 0 -> 3607 bytes
23510  ...text-vertical-layout-type1.svg11.argb32.ref.png |  Bin 3614 -> 0 bytes
23511  test/ft-text-vertical-layout-type1.svg11.ref.png   |  Bin 3973 -> 0 bytes
23512  ...-text-vertical-layout-type1.svg11.rgb24.ref.png |  Bin 3614 -> 0 bytes
23513  ...text-vertical-layout-type1.svg12.argb32.ref.png |  Bin 3614 -> 0 bytes
23514  test/ft-text-vertical-layout-type1.svg12.ref.png   |  Bin 3973 -> 0 bytes
23515  ...-text-vertical-layout-type1.svg12.rgb24.ref.png |  Bin 3614 -> 0 bytes
23516  ...tical-layout-type1.test-fallback.argb32.ref.png |  Bin 3639 -> 0 bytes
23517  ...rtical-layout-type1.test-fallback.rgb24.ref.png |  Bin 3639 -> 0 bytes
23518  test/ft-text-vertical-layout-type3.svg.ref.png     |  Bin 0 -> 3626 bytes
23519  ...text-vertical-layout-type3.svg11.argb32.ref.png |  Bin 3640 -> 0 bytes
23520  test/ft-text-vertical-layout-type3.svg11.ref.png   |  Bin 3957 -> 0 bytes
23521  ...-text-vertical-layout-type3.svg11.rgb24.ref.png |  Bin 3640 -> 0 bytes
23522  ...text-vertical-layout-type3.svg12.argb32.ref.png |  Bin 3640 -> 0 bytes
23523  test/ft-text-vertical-layout-type3.svg12.ref.png   |  Bin 3957 -> 0 bytes
23524  ...-text-vertical-layout-type3.svg12.rgb24.ref.png |  Bin 3640 -> 0 bytes
23525  ...tical-layout-type3.test-fallback.argb32.ref.png |  Bin 3605 -> 0 bytes
23526  ...rtical-layout-type3.test-fallback.rgb24.ref.png |  Bin 3605 -> 0 bytes
23527  test/gradient-alpha.pdf.argb32.ref.png             |  Bin 126 -> 0 bytes
23528  test/gradient-alpha.pdf.rgb24.ref.png              |  Bin 121 -> 0 bytes
23529  test/gradient-constant-alpha.pdf.argb32.ref.png    |  Bin 116 -> 0 bytes
23530  test/gradient-constant-alpha.pdf.rgb24.ref.png     |  Bin 115 -> 0 bytes
23531  test/group-unaligned.pdf.new.png                   |  Bin 0 -> 427 bytes
23532  test/group-unaligned.pdf.ref.png                   |  Bin 414 -> 0 bytes
23533  test/group-unaligned.svg.argb32.ref.png            |  Bin 524 -> 0 bytes
23534  test/group-unaligned.svg.argb32.xfail.png          |  Bin 0 -> 522 bytes
23535  test/group-unaligned.svg.rgb24.ref.png             |  Bin 434 -> 0 bytes
23536  test/group-unaligned.svg.rgb24.xfail.png           |  Bin 0 -> 425 bytes
23537  test/huge-linear.c                                 |    2 +-
23538  test/huge-linear.pdf.ref.png                       |  Bin 0 -> 1577 bytes
23539  test/huge-radial.c                                 |    2 +-
23540  test/huge-radial.pdf.argb32.ref.png                |  Bin 0 -> 177382 bytes
23541  test/huge-radial.pdf.rgb24.ref.png                 |  Bin 0 -> 225358 bytes
23542  test/large-source-roi.c                            |    2 +-
23543  test/large-source-roi.ref.png                      |  Bin 102 -> 0 bytes
23544  test/linear-gradient.pdf.ref.png                   |  Bin 1125 -> 0 bytes
23545  test/linear-gradient.svg11.argb32.ref.png          |  Bin 988 -> 0 bytes
23546  test/linear-gradient.svg11.ref.png                 |  Bin 1000 -> 0 bytes
23547  test/linear-gradient.svg11.rgb24.ref.png           |  Bin 988 -> 0 bytes
23548  test/linear-gradient.svg12.argb32.ref.png          |  Bin 988 -> 0 bytes
23549  test/linear-gradient.svg12.ref.png                 |  Bin 1000 -> 0 bytes
23550  test/linear-gradient.svg12.rgb24.ref.png           |  Bin 988 -> 0 bytes
23551  test/linear-gradient.test-fallback.argb32.ref.png  |  Bin 923 -> 0 bytes
23552  test/linear-gradient.test-fallback.rgb24.ref.png   |  Bin 923 -> 0 bytes
23553  test/long-lines.c                                  |    2 +-
23554  test/long-lines.ref.png                            |  Bin 247 -> 0 bytes
23555  test/make-html.pl                                  |   13 +-
23556  test/mask-alpha.svg.rgb24.xfail.png                |  Bin 0 -> 585 bytes
23557  test/mask-alpha.svg11.argb32.ref.png               |  Bin 642 -> 0 bytes
23558  test/mask-alpha.svg11.rgb24.ref.png                |  Bin 592 -> 0 bytes
23559  test/mask-alpha.svg12.argb32.ref.png               |  Bin 642 -> 0 bytes
23560  test/mask-alpha.svg12.rgb24.ref.png                |  Bin 592 -> 0 bytes
23561  test/mask-alpha.test-fallback.argb32.ref.png       |  Bin 627 -> 0 bytes
23562  test/mask-ctm.svg11.argb32.ref.png                 |  Bin 108 -> 0 bytes
23563  test/mask-ctm.svg12.argb32.ref.png                 |  Bin 108 -> 0 bytes
23564  test/mask-glyphs.c                                 |    2 +-
23565  test/mask-glyphs.pdf.ref.png                       |  Bin 0 -> 1187713 bytes
23566  test/mask-glyphs.svg.ref.png                       |  Bin 0 -> 1211170 bytes
23567  test/mask-surface-ctm.svg11.argb32.ref.png         |  Bin 108 -> 0 bytes
23568  test/mask-surface-ctm.svg12.argb32.ref.png         |  Bin 108 -> 0 bytes
23569  test/mask-transformed-similar.svg.ref.png          |  Bin 0 -> 3365 bytes
23570  test/mask-transformed-similar.svg11.ref.png        |  Bin 4051 -> 0 bytes
23571  test/mask-transformed-similar.svg12.ref.png        |  Bin 4051 -> 0 bytes
23572  test/mask.pdf.argb32.ref.png                       |  Bin 9946 -> 0 bytes
23573  test/mask.pdf.argb32.xfail.png                     |  Bin 0 -> 7944 bytes
23574  test/mask.pdf.rgb24.ref.png                        |  Bin 8745 -> 0 bytes
23575  test/mask.pdf.rgb24.xfail.png                      |  Bin 0 -> 7388 bytes
23576  test/mask.svg.argb32.xfail.png                     |  Bin 0 -> 8613 bytes
23577  test/mask.svg.rgb24.xfail.png                      |  Bin 0 -> 7189 bytes
23578  test/mask.svg11.argb32.ref.png                     |  Bin 8682 -> 0 bytes
23579  test/mask.svg11.rgb24.ref.png                      |  Bin 7203 -> 0 bytes
23580  test/mask.svg12.argb32.ref.png                     |  Bin 8682 -> 0 bytes
23581  test/mask.svg12.rgb24.ref.png                      |  Bin 7203 -> 0 bytes
23582  test/mask.test-fallback.argb32.ref.png             |  Bin 8457 -> 0 bytes
23583  test/mask.test-fallback.rgb24.ref.png              |  Bin 7058 -> 0 bytes
23584  test/meta-surface-pattern.pdf.argb32.ref.png       |  Bin 0 -> 4009 bytes
23585  test/meta-surface-pattern.pdf.ref.png              |  Bin 4111 -> 0 bytes
23586  test/meta-surface-pattern.pdf.rgb24.ref.png        |  Bin 0 -> 3905 bytes
23587  test/meta-surface-pattern.svg.argb32.ref.png       |  Bin 0 -> 3930 bytes
23588  test/meta-surface-pattern.svg.rgb24.ref.png        |  Bin 0 -> 3910 bytes
23589  test/meta-surface-pattern.svg11.argb32.ref.png     |  Bin 3924 -> 0 bytes
23590  test/meta-surface-pattern.svg11.rgb24.ref.png      |  Bin 3914 -> 0 bytes
23591  test/meta-surface-pattern.svg12.argb32.ref.png     |  Bin 3924 -> 0 bytes
23592  test/meta-surface-pattern.svg12.rgb24.ref.png      |  Bin 3914 -> 0 bytes
23593  test/operator-alpha.c                              |    2 +-
23594  test/operator-alpha.svg12.argb32.xfail.png         |  Bin 0 -> 274 bytes
23595  test/operator-alpha.svg12.rgb24.xfail.png          |  Bin 0 -> 248 bytes
23596  test/operator-clear.c                              |    2 +-
23597  test/operator-clear.pdf.argb32.ref.png             |  Bin 1607 -> 0 bytes
23598  test/operator-clear.pdf.rgb24.ref.png              |  Bin 1402 -> 0 bytes
23599  test/operator-clear.svg12.argb32.xfail.png         |  Bin 0 -> 405 bytes
23600  test/operator-clear.svg12.rgb24.xfail.png          |  Bin 0 -> 535 bytes
23601  test/operator-clear.xlib.ref.png                   |  Bin 0 -> 951 bytes
23602  test/operator-source.c                             |    2 +-
23603  test/operator-source.pdf.argb32.ref.png            |  Bin 5112 -> 0 bytes
23604  test/operator-source.pdf.rgb24.ref.png             |  Bin 4186 -> 0 bytes
23605  test/operator-source.pdf.rgb24.xfail.png           |  Bin 0 -> 3645 bytes
23606  test/operator-source.svg12.argb32.xfail.png        |  Bin 0 -> 2951 bytes
23607  test/operator-source.svg12.rgb24.xfail.png         |  Bin 0 -> 2963 bytes
23608  test/operator-source.test-fallback.argb32.ref.png  |  Bin 4401 -> 0 bytes
23609  test/operator-source.test-fallback.rgb24.ref.png   |  Bin 3200 -> 0 bytes
23610  test/operator.c                                    |    2 +-
23611  test/operator.svg12.argb32.xfail.png               |  Bin 0 -> 238 bytes
23612  test/operator.svg12.rgb24.xfail.png                |  Bin 0 -> 242 bytes
23613  test/over-above-source.c                           |    2 +-
23614  test/over-above-source.svg12.rgb24.xfail.png       |  Bin 0 -> 563 bytes
23615  .../over-above-source.test-fallback.argb32.ref.png |  Bin 533 -> 0 bytes
23616  test/over-above-source.test-fallback.rgb24.ref.png |  Bin 450 -> 0 bytes
23617  test/over-around-source.c                          |    2 +-
23618  test/over-around-source.svg12.argb32.xfail.png     |  Bin 0 -> 559 bytes
23619  test/over-around-source.svg12.rgb24.xfail.png      |  Bin 0 -> 559 bytes
23620  ...over-around-source.test-fallback.argb32.ref.png |  Bin 610 -> 0 bytes
23621  test/over-below-source.c                           |    2 +-
23622  test/over-below-source.svg12.argb32.xfail.png      |  Bin 0 -> 224 bytes
23623  test/over-below-source.svg12.rgb24.xfail.png       |  Bin 0 -> 224 bytes
23624  test/over-between-source.c                         |    2 +-
23625  test/over-between-source.svg12.argb32.xfail.png    |  Bin 0 -> 224 bytes
23626  test/over-between-source.svg12.rgb24.xfail.png     |  Bin 0 -> 224 bytes
23627  ...ver-between-source.test-fallback.argb32.ref.png |  Bin 578 -> 0 bytes
23628  test/paint-source-alpha.c                          |    2 +-
23629  test/paint-source-alpha.svg.ref.png                |  Bin 0 -> 693 bytes
23630  test/paint-source-alpha.svg11.ref.png              |  Bin 756 -> 0 bytes
23631  test/paint-source-alpha.svg12.ref.png              |  Bin 505 -> 0 bytes
23632  test/paint-with-alpha.svg.ref.png                  |  Bin 0 -> 483 bytes
23633  test/paint-with-alpha.svg11.ref.png                |  Bin 516 -> 0 bytes
23634  test/paint-with-alpha.svg12.ref.png                |  Bin 516 -> 0 bytes
23635  test/path-precision.c                              |    9 +-
23636  test/push-group.svg11.argb32.ref.png               |  Bin 3034 -> 0 bytes
23637  test/push-group.svg12.argb32.ref.png               |  Bin 3034 -> 0 bytes
23638  test/push-group.test-fallback.argb32.ref.png       |  Bin 3107 -> 0 bytes
23639  test/push-group.test-fallback.rgb24.ref.png        |  Bin 2942 -> 0 bytes
23640  test/radial-gradient.svg11.ref.png                 |  Bin 91039 -> 0 bytes
23641  test/radial-gradient.svg12.ref.png                 |  Bin 91039 -> 0 bytes
23642  ...ndom-intersections.test-fallback.argb32.ref.png |  Bin 132312 -> 0 bytes
23643  ...andom-intersections.test-fallback.rgb24.ref.png |  Bin 132312 -> 0 bytes
23644  test/rotate-image-surface-paint.pdf.ref.png        |  Bin 196 -> 0 bytes
23645  test/rotate-image-surface-paint.pdf.xfail.png      |  Bin 0 -> 207 bytes
23646  test/rotate-image-surface-paint.svg.ref.png        |  Bin 0 -> 209 bytes
23647  test/rotate-image-surface-paint.svg11.ref.png      |  Bin 248 -> 0 bytes
23648  test/rotate-image-surface-paint.svg12.ref.png      |  Bin 248 -> 0 bytes
23649  test/scale-offset-image.c                          |    2 +-
23650  test/scale-offset-image.pdf.argb32.ref.png         |  Bin 0 -> 8692 bytes
23651  test/scale-offset-image.pdf.rgb24.ref.png          |  Bin 0 -> 8691 bytes
23652  test/scale-offset-image.xfail.png                  |  Bin 0 -> 8599 bytes
23653  test/scale-offset-image.xlib.xfail.png             |  Bin 0 -> 9100 bytes
23654  test/scale-offset-similar.c                        |    2 +-
23655  test/scale-offset-similar.pdf.argb32.ref.png       |  Bin 0 -> 9278 bytes
23656  test/scale-offset-similar.pdf.rgb24.ref.png        |  Bin 0 -> 9278 bytes
23657  test/scale-offset-similar.xfail.png                |  Bin 0 -> 8599 bytes
23658  test/scale-offset-similar.xlib.xfail.png           |  Bin 0 -> 8570 bytes
23659  ...scale-source-surface-paint.svg.argb32.xfail.png |  Bin 0 -> 229 bytes
23660  .../scale-source-surface-paint.svg.rgb24.xfail.png |  Bin 0 -> 222 bytes
23661  ...scale-source-surface-paint.svg11.argb32.ref.png |  Bin 229 -> 0 bytes
23662  .../scale-source-surface-paint.svg11.rgb24.ref.png |  Bin 243 -> 0 bytes
23663  ...scale-source-surface-paint.svg12.argb32.ref.png |  Bin 229 -> 0 bytes
23664  .../scale-source-surface-paint.svg12.rgb24.ref.png |  Bin 243 -> 0 bytes
23665  test/self-copy-overlap.c                           |    2 +-
23666  test/self-copy-overlap.ref.png                     |  Bin 1140 -> 0 bytes
23667  test/self-copy-overlap.rgb24.ref.png               |  Bin 608 -> 0 bytes
23668  test/self-intersecting.argb32.xfail.png            |  Bin 0 -> 287 bytes
23669  test/self-intersecting.c                           |    2 +-
23670  test/self-intersecting.pdf.argb32.xfail.png        |  Bin 0 -> 295 bytes
23671  test/self-intersecting.pdf.rgb24.xfail.png         |  Bin 0 -> 272 bytes
23672  test/self-intersecting.ps.argb32.xfail.png         |  Bin 0 -> 186 bytes
23673  test/self-intersecting.ps.rgb24.xfail.png          |  Bin 0 -> 186 bytes
23674  test/self-intersecting.rgb24.xfail.png             |  Bin 0 -> 282 bytes
23675  test/self-intersecting.xlib.argb32.xfail.png       |  Bin 0 -> 235 bytes
23676  test/self-intersecting.xlib.rgb24.xfail.png        |  Bin 0 -> 240 bytes
23677  test/set-source.svg11.argb32.ref.png               |  Bin 104 -> 0 bytes
23678  test/set-source.svg12.argb32.ref.png               |  Bin 104 -> 0 bytes
23679  test/smask-fill.c                                  |    2 +-
23680  test/smask-fill.svg.ref.png                        |  Bin 0 -> 1150 bytes
23681  test/smask-fill.svg11.argb32.ref.png               |  Bin 1128 -> 0 bytes
23682  test/smask-fill.svg11.ref.png                      |  Bin 1166 -> 0 bytes
23683  test/smask-fill.svg11.rgb24.ref.png                |  Bin 1128 -> 0 bytes
23684  test/smask-fill.svg12.argb32.ref.png               |  Bin 1128 -> 0 bytes
23685  test/smask-fill.svg12.ref.png                      |  Bin 1166 -> 0 bytes
23686  test/smask-fill.svg12.rgb24.ref.png                |  Bin 1128 -> 0 bytes
23687  test/smask-fill.test-fallback.argb32.ref.png       |  Bin 1148 -> 0 bytes
23688  test/smask-fill.test-fallback.rgb24.ref.png        |  Bin 1148 -> 0 bytes
23689  test/smask-image-mask.c                            |    2 +-
23690  test/smask-mask.c                                  |    2 +-
23691  test/smask-mask.pdf.xfail.png                      |  Bin 0 -> 4401 bytes
23692  test/smask-mask.svg.ref.png                        |  Bin 0 -> 2376 bytes
23693  test/smask-mask.svg11.ref.png                      |  Bin 2529 -> 0 bytes
23694  test/smask-mask.svg12.ref.png                      |  Bin 2529 -> 0 bytes
23695  test/smask-paint.c                                 |    2 +-
23696  test/smask-paint.pdf.xfail.png                     |  Bin 0 -> 4513 bytes
23697  test/smask-paint.svg.ref.png                       |  Bin 0 -> 2453 bytes
23698  test/smask-paint.svg11.ref.png                     |  Bin 2612 -> 0 bytes
23699  test/smask-paint.svg12.ref.png                     |  Bin 2612 -> 0 bytes
23700  test/smask-stroke.c                                |    2 +-
23701  test/smask-stroke.pdf.xfail.png                    |  Bin 0 -> 392 bytes
23702  test/smask-text.c                                  |    2 +-
23703  test/smask-text.pdf.ref.png                        |  Bin 0 -> 1874 bytes
23704  test/smask-text.ref.png                            |  Bin 1777 -> 1874 bytes
23705  test/smask-text.svg.ref.png                        |  Bin 0 -> 1794 bytes
23706  test/smask-text.svg11.argb32.ref.png               |  Bin 1791 -> 0 bytes
23707  test/smask-text.svg11.ref.png                      |  Bin 1886 -> 0 bytes
23708  test/smask-text.svg11.rgb24.ref.png                |  Bin 1791 -> 0 bytes
23709  test/smask-text.svg12.argb32.ref.png               |  Bin 1791 -> 0 bytes
23710  test/smask-text.svg12.ref.png                      |  Bin 1886 -> 0 bytes
23711  test/smask-text.svg12.rgb24.ref.png                |  Bin 1791 -> 0 bytes
23712  test/smask.c                                       |    2 +-
23713  test/smask.pdf.xfail.png                           |  Bin 0 -> 4393 bytes
23714  test/smask.ref.png                                 |  Bin 3587 -> 3417 bytes
23715  test/smask.svg.ref.png                             |  Bin 0 -> 3458 bytes
23716  test/smask.svg11.ref.png                           |  Bin 3634 -> 0 bytes
23717  test/smask.svg12.ref.png                           |  Bin 3634 -> 0 bytes
23718  test/source-clip-scale.svg.ref.png                 |  Bin 0 -> 116 bytes
23719  test/source-clip-scale.svg11.ref.png               |  Bin 119 -> 0 bytes
23720  test/source-clip-scale.svg12.ref.png               |  Bin 119 -> 0 bytes
23721  test/surface-pattern-big-scale-down.c              |    2 +-
23722  test/surface-pattern-big-scale-down.ref.png        |  Bin 226 -> 191 bytes
23723  test/surface-pattern-scale-down.pdf.argb32.ref.png |  Bin 1532 -> 0 bytes
23724  test/surface-pattern-scale-down.pdf.ref.png        |  Bin 0 -> 1589 bytes
23725  test/surface-pattern-scale-down.pdf.rgb24.ref.png  |  Bin 1532 -> 0 bytes
23726  test/surface-pattern-scale-up.pdf.argb32.ref.png   |  Bin 3834 -> 0 bytes
23727  test/surface-pattern-scale-up.pdf.ref.png          |  Bin 0 -> 2712 bytes
23728  test/surface-pattern-scale-up.pdf.rgb24.ref.png    |  Bin 3834 -> 0 bytes
23729  test/surface-pattern.pdf.ref.png                   |  Bin 14800 -> 0 bytes
23730  test/surface-pattern.pdf.xfail.png                 |  Bin 0 -> 10528 bytes
23731  test/surface-pattern.ps.xfail.png                  |  Bin 0 -> 2188 bytes
23732  test/surface-pattern.ps2.ref.png                   |  Bin 2364 -> 0 bytes
23733  test/surface-pattern.ps3.ref.png                   |  Bin 2364 -> 0 bytes
23734  test/surface-pattern.svg.ref.png                   |  Bin 16069 -> 0 bytes
23735  test/surface-pattern.svg.xfail.png                 |  Bin 0 -> 16069 bytes
23736  test/text-pattern.pdf.argb32.ref.png               |  Bin 2334 -> 0 bytes
23737  test/text-pattern.pdf.argb32.xfail.png             |  Bin 0 -> 1845 bytes
23738  test/text-pattern.pdf.rgb24.ref.png                |  Bin 1915 -> 0 bytes
23739  test/text-pattern.pdf.rgb24.xfail.png              |  Bin 0 -> 1599 bytes
23740  test/text-pattern.svg.argb32.ref.png               |  Bin 0 -> 1745 bytes
23741  test/text-pattern.svg.rgb24.ref.png                |  Bin 0 -> 1453 bytes
23742  test/text-pattern.svg11.argb32.ref.png             |  Bin 1743 -> 0 bytes
23743  test/text-pattern.svg11.rgb24.ref.png              |  Bin 1563 -> 0 bytes
23744  test/text-pattern.svg12.argb32.ref.png             |  Bin 1743 -> 0 bytes
23745  test/text-pattern.svg12.rgb24.ref.png              |  Bin 1563 -> 0 bytes
23746  test/text-rotate.svg.ref.png                       |  Bin 0 -> 17024 bytes
23747  test/text-rotate.svg11.argb32.ref.png              |  Bin 16942 -> 0 bytes
23748  test/text-rotate.svg11.ref.png                     |  Bin 18301 -> 0 bytes
23749  test/text-rotate.svg11.rgb24.ref.png               |  Bin 16942 -> 0 bytes
23750  test/text-rotate.svg12.argb32.ref.png              |  Bin 16942 -> 0 bytes
23751  test/text-rotate.svg12.ref.png                     |  Bin 18301 -> 0 bytes
23752  test/text-rotate.svg12.rgb24.ref.png               |  Bin 16942 -> 0 bytes
23753  test/text-transform.svg.ref.png                    |  Bin 0 -> 5682 bytes
23754  test/text-transform.svg11.argb32.ref.png           |  Bin 5677 -> 0 bytes
23755  test/text-transform.svg11.rgb24.ref.png            |  Bin 5677 -> 0 bytes
23756  test/text-transform.svg12.argb32.ref.png           |  Bin 5677 -> 0 bytes
23757  test/text-transform.svg12.rgb24.ref.png            |  Bin 5677 -> 0 bytes
23758  test/trap-clip.pdf.argb32.ref.png                  |  Bin 6746 -> 0 bytes
23759  test/trap-clip.pdf.rgb24.ref.png                   |  Bin 6616 -> 0 bytes
23760  test/trap-clip.test-fallback.argb32.ref.png        |  Bin 5753 -> 0 bytes
23761  test/trap-clip.test-fallback.rgb24.ref.png         |  Bin 5379 -> 0 bytes
23762  test/twin.svg.ref.png                              |  Bin 3027 -> 3040 bytes
23763  test/unbounded-operator.c                          |    2 +-
23764  test/unbounded-operator.svg12.argb32.xfail.png     |  Bin 0 -> 2767 bytes
23765  test/unbounded-operator.svg12.rgb24.xfail.png      |  Bin 0 -> 1719 bytes
23766  .../unbounded-operator.test-fallback.rgb24.ref.png |  Bin 1306 -> 0 bytes
23767  test/user-font-mask.svg.ref.png                    |  Bin 0 -> 2030 bytes
23768  test/user-font-mask.svg11.ref.png                  |  Bin 2224 -> 0 bytes
23769  test/user-font-proxy.svg.ref.png                   |  Bin 0 -> 16817 bytes
23770  test/user-font-proxy.svg11.argb32.ref.png          |  Bin 16836 -> 0 bytes
23771  test/user-font-proxy.svg11.ref.png                 |  Bin 17902 -> 0 bytes
23772  test/user-font-proxy.svg11.rgb24.ref.png           |  Bin 16836 -> 0 bytes
23773  test/user-font-proxy.svg12.argb32.ref.png          |  Bin 16836 -> 0 bytes
23774  test/user-font-proxy.svg12.ref.png                 |  Bin 17902 -> 0 bytes
23775  test/user-font-proxy.svg12.rgb24.ref.png           |  Bin 16836 -> 0 bytes
23776  test/user-font-proxy.test-fallback.argb32.ref.png  |  Bin 16835 -> 0 bytes
23777  test/user-font-proxy.test-fallback.rgb24.ref.png   |  Bin 16835 -> 0 bytes
23778  test/user-font-rescale.svg.ref.png                 |  Bin 0 -> 14873 bytes
23779  test/user-font-rescale.svg11.ref.png               |  Bin 15741 -> 0 bytes
23780  test/user-font-rescale.svg12.ref.png               |  Bin 15741 -> 0 bytes
23781  test/user-font.svg.ref.png                         |  Bin 0 -> 6379 bytes
23782  test/user-font.svg11.argb32.ref.png                |  Bin 6411 -> 0 bytes
23783  test/user-font.svg11.ref.png                       |  Bin 6134 -> 0 bytes
23784  test/user-font.svg11.rgb24.ref.png                 |  Bin 6411 -> 0 bytes
23785  test/user-font.svg12.argb32.ref.png                |  Bin 6411 -> 0 bytes
23786  test/user-font.svg12.ref.png                       |  Bin 6134 -> 0 bytes
23787  test/user-font.svg12.rgb24.ref.png                 |  Bin 6411 -> 0 bytes
23788  test/user-font.test-fallback.argb32.ref.png        |  Bin 5601 -> 0 bytes
23789  test/user-font.test-fallback.rgb24.ref.png         |  Bin 5601 -> 0 bytes
23790  384 files changed, 438 insertions(+), 303 deletions(-)
23791
23792 commit a81cf14bd6de545e9108f5c24c59e55026df86de
23793 Author: Chris Wilson <chris@chris-wilson.co.uk>
23794 Date:   Mon Jul 13 10:58:44 2009 +0100
23795
23796     [test] Sanitise REFERENCE_IMAGES
23797     
23798     Add and delete files to satisfy 'make check-ref-missing'.
23799
23800  test/Makefile.am                             |    6 ------
23801  test/fill-image.test-fallback.ref.png        |  Bin 1462 -> 0 bytes
23802  test/fill-image.xlib.ref.png                 |  Bin 1462 -> 0 bytes
23803  test/group-unaligned.ref.png                 |  Bin 0 -> 434 bytes
23804  test/meta-surface-pattern.pdf.argb32.ref.png |  Bin 4011 -> 0 bytes
23805  test/meta-surface-pattern.pdf.rgb24.ref.png  |  Bin 3910 -> 0 bytes
23806  test/operator-clear.test-fallback.ref.png    |  Bin 1071 -> 0 bytes
23807  test/operator-clear.xlib.ref.png             |  Bin 1071 -> 0 bytes
23808  8 files changed, 6 deletions(-)
23809
23810 commit 7f3eda4e9f9e6cb6f3a33871ed42099c822d0ea2
23811 Author: Chris Wilson <chris@chris-wilson.co.uk>
23812 Date:   Mon Jul 13 10:43:34 2009 +0100
23813
23814     [test] Update reference images for gs 8.64
23815
23816  test/Makefile.am                               |    7 +++++--
23817  test/README                                    |    2 +-
23818  test/close-path-current-point.ps.ref.png       |  Bin 0 -> 1490 bytes
23819  test/extend-pad.ps.ref.png                     |  Bin 0 -> 314 bytes
23820  test/fill-image.ps.ref.png                     |  Bin 0 -> 1799 bytes
23821  test/test-fallback16-surface-source.ps.ref.png |  Bin 0 -> 292 bytes
23822  test/user-font-proxy.ps.ref.png                |  Bin 0 -> 7766 bytes
23823  test/user-font-proxy.ps2.ref.png               |  Bin 8171 -> 0 bytes
23824  test/user-font-proxy.ps3.ref.png               |  Bin 8171 -> 0 bytes
23825  9 files changed, 6 insertions(+), 3 deletions(-)
23826
23827 commit 0d44416b9dd8149032039cf44ea14bf4867f3c54
23828 Author: Adrian Johnson <ajohnson@redneon.com>
23829 Date:   Sun Jul 12 19:21:28 2009 +0930
23830
23831     PDF: Don't round pattern y location to an integer
23832     
23833     Using cairo_surface_get_extents() to get page height does not work
23834     when the page height is not an integer.
23835     
23836     http://lists.cairographics.org/archives/cairo/2009-July/017570.html
23837
23838  src/cairo-pdf-surface.c |   10 +---------
23839  1 file changed, 1 insertion(+), 9 deletions(-)
23840
23841 commit 9686331cb07a8f9018f28dc7d6d6e3726e289fda
23842 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
23843 Date:   Sat May 2 18:05:20 2009 +0300
23844
23845     [spans] Round rasterization grid pixel areas instead of truncating.
23846     
23847     When converting a grid pixel area into the range [0,255] the
23848     GRID_AREA_TO_ALPHA() macro would truncate extra bits off the result
23849     rather than rounding. This could cause seams between abutting
23850     collinear edges of separately rendered polygons even when the
23851     coordinates of the abutting edges were the same.
23852     
23853     Reported by Soeren Sandmann on the cairo mailing list:
23854     
23855     http://lists.cairographics.org/archives/cairo/2009-May/017043.html
23856
23857  src/cairo-tor-scan-converter.c                   |    4 ++--
23858  test/clip-operator.ref.png                       |  Bin 8210 -> 8191 bytes
23859  test/clip-operator.test-paginated.argb32.ref.png |  Bin 8247 -> 8189 bytes
23860  test/fill-degenerate-sort-order.ref.png          |  Bin 2406 -> 2399 bytes
23861  test/fill-rule.ref.png                           |  Bin 2061 -> 2065 bytes
23862  test/finer-grained-fallbacks.ref.png             |  Bin 1069 -> 1070 bytes
23863  test/linear-gradient.pdf.argb32.ref.png          |  Bin 1112 -> 0 bytes
23864  test/linear-gradient.pdf.ref.png                 |  Bin 935 -> 1125 bytes
23865  test/linear-gradient.pdf.rgb24.ref.png           |  Bin 1112 -> 0 bytes
23866  test/mask-alpha.ref.png                          |  Bin 643 -> 632 bytes
23867  test/mask.pdf.argb32.ref.png                     |  Bin 9918 -> 9946 bytes
23868  test/mask.ref.png                                |  Bin 8581 -> 8603 bytes
23869  test/operator-clear.ref.png                      |  Bin 1084 -> 1070 bytes
23870  test/operator-clear.test-fallback.ref.png        |  Bin 0 -> 1071 bytes
23871  test/operator-clear.xlib.ref.png                 |  Bin 0 -> 1071 bytes
23872  test/operator-source.ref.png                     |  Bin 4425 -> 4395 bytes
23873  test/radial-gradient.pdf.argb32.ref.png          |  Bin 79601 -> 0 bytes
23874  test/radial-gradient.pdf.ref.png                 |  Bin 79490 -> 79612 bytes
23875  test/radial-gradient.pdf.rgb24.ref.png           |  Bin 79601 -> 0 bytes
23876  test/trap-clip.pdf.argb32.ref.png                |  Bin 6745 -> 6746 bytes
23877  test/trap-clip.pdf.rgb24.ref.png                 |  Bin 6621 -> 6616 bytes
23878  test/trap-clip.ref.png                           |  Bin 5829 -> 5820 bytes
23879  test/trap-clip.test-paginated.argb32.ref.png     |  Bin 5865 -> 5898 bytes
23880  23 files changed, 2 insertions(+), 2 deletions(-)
23881
23882 commit fbd88db938bf3bb03934795da9b3d184c4f43608
23883 Author: Chris Wilson <chris@chris-wilson.co.uk>
23884 Date:   Sun Jul 5 14:43:50 2009 +0100
23885
23886     [path] Don't include current-point in hash
23887     
23888     As we don't strictly use the current-point in comparing paths, exclude it
23889     from the hash. Similarly use the path content flags as a cheap means to
23890     differentiate contents.
23891
23892  src/cairo-path-fixed.c |   17 +++++++++--------
23893  1 file changed, 9 insertions(+), 8 deletions(-)
23894
23895 commit 73f8019fd2afd0ad41c2515bef9877348355d246
23896 Author: Chris Wilson <chris@chris-wilson.co.uk>
23897 Date:   Sun Jul 5 14:37:02 2009 +0100
23898
23899     [path] Use cairo_list_t instead of open-coding its own
23900     
23901     Use the cairo_list_t and its style of iterators to improve the readability
23902     of the cairo_path_buf_t management. Note the complications that arise from
23903     the embedding of the initial buf -- however the macros do help make the
23904     unusual manipulations more identifiable.
23905
23906  src/cairo-path-fixed-private.h |   14 +--
23907  src/cairo-path-fixed.c         |  226 +++++++++++++++++++---------------------
23908  src/cairo.c                    |    2 +-
23909  3 files changed, 114 insertions(+), 128 deletions(-)
23910
23911 commit a04e3726648c62a1385b67cfc16a785a468e1d13
23912 Author: Chris Wilson <chris@chris-wilson.co.uk>
23913 Date:   Sun Jul 5 09:21:47 2009 +0100
23914
23915     [path] Add path watch debugging
23916     
23917     Simple debug macro to print the path to stderr during construction.
23918
23919  src/cairo-path-fixed-private.h |    9 +++++++++
23920  src/cairo-path-fixed.c         |   26 ++++++++++++++++++++++++++
23921  2 files changed, 35 insertions(+)
23922
23923 commit 1645352bfb69cc6d43fcbf3c77b4da5693af322a
23924 Author: Chris Wilson <chris@chris-wilson.co.uk>
23925 Date:   Sun Jul 5 09:09:42 2009 +0100
23926
23927     [path] Evaluate is_box && is_region during construction
23928     
23929     Whilst constructing the path, if the operations continue to be
23930     axis-aligned lines, allow the is_box and is_region flags to persist. These
23931     are set to false as soon as a curve-to is added, a diagonal or in the case
23932     of is_region a non-integer point.
23933
23934  src/cairo-path-fixed-private.h |    8 ++
23935  src/cairo-path-fixed.c         |  286 +++++++++++++++-------------------------
23936  src/cairo.c                    |    2 +
23937  src/cairoint.h                 |    3 -
23938  4 files changed, 115 insertions(+), 184 deletions(-)
23939
23940 commit 4bb157672ef8cb7d486d6ccdaaa3890e3f45e17a
23941 Author: Chris Wilson <chris@chris-wilson.co.uk>
23942 Date:   Sat Jul 4 23:44:09 2009 +0100
23943
23944     [test] Rename some structures within cairo-test-trace
23945     
23946     Simply rename a few structures so that their names are less confusing with
23947     the mix of process and threads used to executes traces.
23948
23949  test/cairo-test-trace.c |  224 +++++++++++++++++++++++------------------------
23950  1 file changed, 112 insertions(+), 112 deletions(-)
23951
23952 commit 53a54827f7d8ca8500f3f9674edbd7e768e8a50d
23953 Author: Chris Wilson <chris@chris-wilson.co.uk>
23954 Date:   Sun Jul 5 09:22:05 2009 +0100
23955
23956     [boilerplate] Add missing header file.
23957     
23958     Deleted so many, and forgot to add just this little one. Sigh.
23959
23960  boilerplate/cairo-boilerplate-private.h |   49 +++++++++++++++++++++++++++++++
23961  1 file changed, 49 insertions(+)
23962
23963 commit ee8c50f2d6f1dba41f829c715b7bc59b5eeda50d
23964 Author: Chris Wilson <chris@chris-wilson.co.uk>
23965 Date:   Sat Jul 4 22:00:09 2009 +0100
23966
23967     Remove the defunct test-meta surface
23968     
23969     Replace the internal test-meta surface will the freshly exported,
23970     real meta-surface.
23971
23972  boilerplate/cairo-boilerplate-test-surfaces.c |   38 ---
23973  boilerplate/cairo-boilerplate.c               |   35 +++
23974  src/Makefile.sources                          |    2 -
23975  src/test-meta-surface.c                       |  358 -------------------------
23976  src/test-meta-surface.h                       |   50 ----
23977  util/cairo-trace/trace.c                      |   49 ++--
23978  6 files changed, 69 insertions(+), 463 deletions(-)
23979
23980 commit 88cb69b10c66751f687c3745c8e9861b105de3a2
23981 Author: Chris Wilson <chris@chris-wilson.co.uk>
23982 Date:   Sat Jul 4 21:43:27 2009 +0100
23983
23984     [boilerpate] Move target definition to backends.
23985     
23986     By moving the backend target definition out of the massive amlagamated
23987     block in cairo-boilerplate.c and into each of the
23988     cairo-boilerplate-backend.c, we make it much easier to add new targets as
23989     the information need only be entered in a single file and not scattered
23990     across three. However, updating the target interface means trawling across
23991     all the files -- except given that I found it difficult maintaining the
23992     single massive array I do not see this as an increase in the maintenance
23993     burden.
23994
23995  boilerplate/.gitignore                             |    2 +
23996  boilerplate/Makefile.am                            |   12 +
23997  boilerplate/Makefile.sources                       |   27 +-
23998  boilerplate/cairo-boilerplate-beos-private.h       |   40 --
23999  boilerplate/cairo-boilerplate-beos.cpp             |   48 +-
24000  boilerplate/cairo-boilerplate-directfb-private.h   |   26 -
24001  boilerplate/cairo-boilerplate-directfb.c           |   29 +-
24002  boilerplate/cairo-boilerplate-glitz-agl.c          |   31 +-
24003  boilerplate/cairo-boilerplate-glitz-glx.c          |   31 +-
24004  boilerplate/cairo-boilerplate-glitz-private.h      |   88 ---
24005  boilerplate/cairo-boilerplate-glitz-wgl.c          |   32 +-
24006  boilerplate/cairo-boilerplate-pdf-private.h        |   60 --
24007  boilerplate/cairo-boilerplate-pdf.c                |   48 +-
24008  boilerplate/cairo-boilerplate-ps-private.h         |   71 ---
24009  boilerplate/cairo-boilerplate-ps.c                 |   73 ++-
24010  boilerplate/cairo-boilerplate-qt-private.h         |   60 --
24011  boilerplate/cairo-boilerplate-qt.cpp               |   29 +-
24012  boilerplate/cairo-boilerplate-quartz-private.h     |   44 --
24013  boilerplate/cairo-boilerplate-quartz.c             |   29 +-
24014  boilerplate/cairo-boilerplate-script-private.h     |   57 --
24015  boilerplate/cairo-boilerplate-script.c             |   28 +-
24016  boilerplate/cairo-boilerplate-svg-private.h        |   72 ---
24017  boilerplate/cairo-boilerplate-svg.c                |   70 ++-
24018  .../cairo-boilerplate-test-surfaces-private.h      |   99 ---
24019  boilerplate/cairo-boilerplate-test-surfaces.c      |  117 +++-
24020  boilerplate/cairo-boilerplate-win32-printing.c     |   43 +-
24021  boilerplate/cairo-boilerplate-win32-private.h      |   65 --
24022  boilerplate/cairo-boilerplate-win32.c              |   28 +-
24023  boilerplate/cairo-boilerplate-xcb-private.h        |   47 --
24024  boilerplate/cairo-boilerplate-xcb.c                |   28 +-
24025  boilerplate/cairo-boilerplate-xlib-private.h       |   71 ---
24026  boilerplate/cairo-boilerplate-xlib.c               |  207 ++++---
24027  boilerplate/cairo-boilerplate.c                    |  639 +++-----------------
24028  boilerplate/cairo-boilerplate.h                    |    3 +-
24029  boilerplate/make-cairo-boilerplate-constructors.c  |  156 +++++
24030  test/make-cairo-test-constructors.c                |   28 +-
24031  36 files changed, 946 insertions(+), 1592 deletions(-)
24032
24033 commit 8a10ab1c04298d6c22ae8aabec5d762141a8e98f
24034 Author: Chris Wilson <chris@chris-wilson.co.uk>
24035 Date:   Sat Jul 4 18:46:21 2009 +0100
24036
24037     [script] Tidy dict construction for glyphs
24038     
24039     Replace dict with '<< ... >>' similar to surface definitions as it is
24040     easier to read in scripts.
24041
24042  src/cairo-script-surface.c |   12 ++++++------
24043  1 file changed, 6 insertions(+), 6 deletions(-)
24044
24045 commit fef3649953a3dcc3a17d9d5858f56690a8782501
24046 Author: Chris Wilson <chris@chris-wilson.co.uk>
24047 Date:   Sat Jul 4 18:32:57 2009 +0100
24048
24049     [script] Fix the trivial errors running the test suite
24050     
24051     A few typos crept in breaking the script output and various refreshes of
24052     the expected results.
24053
24054  src/cairo-script-surface.c               |   33 +++++++++++++++++++++---------
24055  test/mime-data.script.ref.png            |  Bin 1982 -> 2041 bytes
24056  test/scale-offset-image.c                |    2 +-
24057  test/scale-offset-similar.c              |    2 +-
24058  util/cairo-script/cairo-script-scanner.c |    6 ++++--
24059  5 files changed, 29 insertions(+), 14 deletions(-)
24060
24061 commit 2395bba1e66a2623cb288e13effc206f86e5e62e
24062 Author: Chris Wilson <chris@chris-wilson.co.uk>
24063 Date:   Sat Jul 4 18:31:49 2009 +0100
24064
24065     [any2ppm] Choose a more appropriate format for the replay content
24066     
24067     Actually select a format that matches the request content when replaying
24068     the script to an image.
24069
24070  test/any2ppm.c |   15 ++++++++++++++-
24071  1 file changed, 14 insertions(+), 1 deletion(-)
24072
24073 commit 9942a89870f7754e28ff334010c4432553cf7d91
24074 Author: Chris Wilson <chris@chris-wilson.co.uk>
24075 Date:   Sat Jul 4 18:30:24 2009 +0100
24076
24077     [boilerplate] Read whole RGB lines at a time
24078     
24079     Rather than read+unpack each pixel, read in a whole RGB packed line and
24080     unpack the whole line in a single pass.
24081
24082  boilerplate/cairo-boilerplate.c |   13 +++++++------
24083  1 file changed, 7 insertions(+), 6 deletions(-)
24084
24085 commit 23648e2fdfefba4df08bc854d725758209998e1f
24086 Author: Chris Wilson <chris@chris-wilson.co.uk>
24087 Date:   Fri Jul 3 00:40:32 2009 +0100
24088
24089     [script] Prototypical binary translator
24090     
24091     Hook into the scanner to write out binary version of the tokenized
24092     objects -- note we bind executable names (i.e. check to see if is an
24093     operator and substitute the name with an operator -- this breaks
24094     overloading of operators by scripts).
24095     
24096     By converting scripts to a binary form, they are more compact and
24097     execute faster:
24098     
24099       firefox-world-map.trace 526850146 bytes
24100                   bound.trace 275187755 bytes
24101     
24102     [ # ]  backend                         test   min(s) median(s) stddev. count
24103     [  0]     null                        bound   34.481   34.741   0.68%    3/3
24104     [  1]     null            firefox-world-map   89.635   89.716   0.19%    3/3
24105     [  0]      drm                        bound   79.304   79.350   0.61%    3/3
24106     [  1]      drm            firefox-world-map  135.380  135.475   0.58%    3/3
24107     [  0]    image                        bound   95.819   96.258   2.85%    3/3
24108     [  1]    image            firefox-world-map  156.889  156.935   1.36%    3/3
24109     [  0]     xlib                        bound  539.130  550.220   1.40%    3/3
24110     [  1]     xlib            firefox-world-map  596.244  613.487   1.74%    3/3
24111     
24112     This trace has a lot of complex paths and the use of binary floating point
24113     reduces the file size by about 50%, with a commensurate reduction in scan
24114     time and significant reduction in operator lookup overhead. Note that this
24115     test is still IO/CPU bound on my i915 with its pitifully slow flash...
24116
24117  util/cairo-script/Makefile.am                |    5 +-
24118  util/cairo-script/cairo-script-file.c        |   44 +-
24119  util/cairo-script/cairo-script-interpreter.c |   85 ++-
24120  util/cairo-script/cairo-script-interpreter.h |    9 +-
24121  util/cairo-script/cairo-script-objects.c     |    8 +-
24122  util/cairo-script/cairo-script-operators.c   |    2 +-
24123  util/cairo-script/cairo-script-private.h     |   27 +-
24124  util/cairo-script/cairo-script-scanner.c     | 1059 ++++++++++++++++++--------
24125  8 files changed, 906 insertions(+), 333 deletions(-)
24126
24127 commit 07c0c8c5c0820e93403623eb5c1fa2df8ca89c60
24128 Author: Chris Wilson <chris@chris-wilson.co.uk>
24129 Date:   Sat Jul 4 14:07:16 2009 +0100
24130
24131     [surface] Refactor meta-surface clone
24132     
24133     Whilst still obnoxious, at least moving it to a separate function is more
24134     readable.
24135
24136  src/cairo-surface.c |  140 +++++++++++++++++++++++++++++----------------------
24137  1 file changed, 79 insertions(+), 61 deletions(-)
24138
24139 commit 7903c80ee81777bab6eec408c10b2b59330b10f7
24140 Author: Chris Wilson <chris@chris-wilson.co.uk>
24141 Date:   Sat Jul 4 13:50:15 2009 +0100
24142
24143     [meta] Cache replays when used as a pattern source
24144     
24145     Use the cow-snapshotting mechanism to store the meta surface replay (either
24146     to an image inside acquire_source_image() or to a similar surface during
24147     clone_similar()).
24148     
24149     Fixes Bug 17971 -- Extreme slowdown for manual convolutions in most
24150     vector backends.
24151     https://bugs.freedesktop.org/show_bug.cgi?id=17971
24152
24153  src/cairo-meta-surface.c |   18 ++++++++-
24154  src/cairo-surface.c      |   92 +++++++++++++++++++++++++++++++++++-----------
24155  src/cairoint.h           |    3 +-
24156  3 files changed, 88 insertions(+), 25 deletions(-)
24157
24158 commit f353ba46a3b8c260f96588fd6bb8d07c2a09d01a
24159 Author: Chris Wilson <chris@chris-wilson.co.uk>
24160 Date:   Sat Jul 4 13:49:35 2009 +0100
24161
24162     [meta] Copy extents on snapshotting.
24163     
24164     Need to copy across the extents as well when snapshotting.
24165
24166  src/cairo-meta-surface.c |    1 +
24167  1 file changed, 1 insertion(+)
24168
24169 commit f4019be7bdff5c67d679f4de1070c25aa99a993d
24170 Author: Chris Wilson <chris@chris-wilson.co.uk>
24171 Date:   Sat Jul 4 13:16:42 2009 +0100
24172
24173     [trace] Remove a few transient pattern def/undef
24174     
24175     It is easier on the eye to use
24176        '1 index set-source exch pop'
24177     rather than
24178        'dup /p0 exch def p0 set-source /p0 undef'
24179     (as patterns are expected to be temporary so we strive to avoid naming
24180     them).
24181
24182  util/cairo-trace/trace.c |   42 +++++++++++++++++++++++++++++++-----------
24183  1 file changed, 31 insertions(+), 11 deletions(-)
24184
24185 commit dcb7f1d034438c5c890490df93a86b40fea3036c
24186 Author: Chris Wilson <chris@chris-wilson.co.uk>
24187 Date:   Sat Jul 4 08:08:25 2009 +0100
24188
24189     [script] Add missing include <string.h>
24190     
24191     As reported by Magnus Boman <captain.magnus@gmail.com>.
24192     
24193     Fixes Bug 22610 -- Patch to add missing include in util/cairo-script/csi-replay.c
24194     http://bugs.freedesktop.org/show_bug.cgi?id=22610
24195
24196  util/cairo-script/csi-replay.c |    1 +
24197  1 file changed, 1 insertion(+)
24198
24199 commit 97bd2228a6635bbb0eac4ce95801754957dbb7ba
24200 Author: Chris Wilson <chris@chris-wilson.co.uk>
24201 Date:   Fri Jul 3 19:41:51 2009 +0100
24202
24203     [script] Insert spaces around '<<' and '>>'
24204     
24205     The dictionary constructors are just ordinary tokens so need space for
24206     delimiters.
24207
24208  src/cairo-script-surface.c |   62 +++++++++++++++-----------------------------
24209  1 file changed, 21 insertions(+), 41 deletions(-)
24210
24211 commit 6003ab77e1ebefadb97338de0e7da4a76d973b1a
24212 Author: Chris Wilson <chris@chris-wilson.co.uk>
24213 Date:   Fri Jul 3 18:26:50 2009 +0100
24214
24215     Export meta-surface
24216     
24217     The meta-surface is a vital tool to record a trace of drawing commands
24218     in-memory. As such it is used throughout cairo.
24219     
24220     The value of such a surface is immediately obvious and should be
24221     applicable for many applications. The first such case is by
24222     cairo-test-trace which wants to record the entire graph of drawing commands
24223     that affect a surface in the event of a failure.
24224
24225  NEWS                                |   27 +++++
24226  boilerplate/Makefile.win32.features |    8 ++
24227  boilerplate/cairo-boilerplate.c     |   12 +--
24228  build/Makefile.win32.features-h     |    1 +
24229  build/configure.ac.features         |    1 +
24230  configure.ac                        |    4 +
24231  perf/cairo-perf.c                   |    6 +-
24232  src/Makefile.win32.features         |    8 ++
24233  src/cairo-meta-surface-private.h    |   14 +--
24234  src/cairo-meta-surface.c            |  202 +++++++++++++++++++++++++++--------
24235  src/cairo-paginated-surface.c       |   16 +--
24236  src/cairo-pdf-surface.c             |    2 +-
24237  src/cairo-ps-surface.c              |    2 +-
24238  src/cairo-script-surface.c          |   10 +-
24239  src/cairo-surface.c                 |    2 +-
24240  src/cairo-svg-surface.c             |    8 +-
24241  src/cairo-type3-glyph-surface.c     |    8 +-
24242  src/cairo-types-private.h           |    3 +-
24243  src/cairo-user-font.c               |    7 +-
24244  src/cairo-win32-printing-surface.c  |    2 +-
24245  src/cairo.h                         |   22 +++-
24246  src/test-meta-surface.c             |   16 +--
24247  src/test-meta-surface.h             |    8 +-
24248  test/cairo-test-trace.c             |   58 ++++------
24249  test/get-clip.c                     |    5 +
24250  25 files changed, 296 insertions(+), 156 deletions(-)
24251
24252 commit 2a9903dbbfeb3fe843f0d618d15674b37a29f3a9
24253 Author: Chris Wilson <chris@chris-wilson.co.uk>
24254 Date:   Fri Jul 3 12:48:40 2009 +0100
24255
24256     [script] Trim some excess verbage
24257     
24258     Remove some redundant defining of surfaces and contexts and of setting
24259     defaults. In order to reduce the number of defines, we need to operate on
24260     the operand stack more frequently - though in practice those operations
24261     are quite rare.
24262
24263  src/Makefile.sources       |    1 +
24264  src/cairo-list-private.h   |  189 +++++++++++++++
24265  src/cairo-script-surface.c |  561 ++++++++++++++++++++++++++++++--------------
24266  3 files changed, 572 insertions(+), 179 deletions(-)
24267
24268 commit 28773fe79f883c32ee4e55e49f5dc3fced00c4f6
24269 Author: Chris Wilson <chris@chris-wilson.co.uk>
24270 Date:   Fri Jul 3 13:17:47 2009 +0100
24271
24272     [test-meta] Initialize image
24273     
24274     Oops, stupid mistake - missed off the initialization of the image to NULL
24275     from the last commit.
24276
24277  src/test-meta-surface.c |    1 +
24278  1 file changed, 1 insertion(+)
24279
24280 commit ac6c3dbbaed377273b73da6e9e03bb8380a78ec4
24281 Author: Chris Wilson <chris@chris-wilson.co.uk>
24282 Date:   Fri Jul 3 12:56:20 2009 +0100
24283
24284     [test-meta] Lazily allocate image
24285     
24286     Only allocate the image on first use, as we may never actually need to
24287     construct the image output.
24288
24289  src/test-meta-surface.c |   42 ++++++++++++++++++++++++------------------
24290  1 file changed, 24 insertions(+), 18 deletions(-)
24291
24292 commit fe73a9dd1413a851beeca7a0fc4ab7cb351ea9ea
24293 Author: Chris Wilson <chris@chris-wilson.co.uk>
24294 Date:   Fri Jul 3 11:24:42 2009 +0100
24295
24296     [test] Record trace to an in-memory meta-surface
24297     
24298     Requires hooking into test-meta-surface currently. Export meta-surface!
24299     
24300     The idea is that on detection of an error, we can reconstruct a minimal
24301     trace from the meta-surface. The first step is to simply dump the trace
24302     for the failing meta-surface. Later, we should automatically minimise
24303     this further.
24304
24305  src/test-meta-surface.c |  101 ++++++++-----
24306  src/test-meta-surface.h |    4 +
24307  test/Makefile.am        |    3 +
24308  test/cairo-test-trace.c |  371 +++++++++++++++++++++++++++++++++++++++++------
24309  4 files changed, 397 insertions(+), 82 deletions(-)
24310
24311 commit 633efe81873168506ec3594eae1f6ac38d71026c
24312 Author: Chris Wilson <chris@chris-wilson.co.uk>
24313 Date:   Thu Jul 2 09:17:43 2009 +0100
24314
24315     [surface] Allocate temporary region on stack
24316     
24317     Avoid a very short-lived temporary heap allocation of a region.
24318
24319  src/cairo-surface.c |   13 +++++--------
24320  1 file changed, 5 insertions(+), 8 deletions(-)
24321
24322 commit b2e2a2f31af33ff01d78c6c8786249a623017ffa
24323 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24324 Date:   Tue Jun 30 15:47:51 2009 +0200
24325
24326     [test] Update argb32 pdf reference image for trap-clip
24327
24328  test/trap-clip.pdf.argb32.ref.png |  Bin 6720 -> 6745 bytes
24329  1 file changed, 0 insertions(+), 0 deletions(-)
24330
24331 commit 910afc7a8e5c40f4fe682ec0b0f3836a07ea721d
24332 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24333 Date:   Tue Jun 30 15:40:24 2009 +0200
24334
24335     [test] Mark all smask tests as XFAIL for pdf
24336     
24337     Those tests use linear gradients which are not correctly handled by
24338     poppler yet. See https://bugs.freedesktop.org/show_bug.cgi?id=10942
24339
24340  test/README             |   11 +++++++++++
24341  test/smask-fill.c       |    2 +-
24342  test/smask-image-mask.c |    2 +-
24343  test/smask-mask.c       |    2 +-
24344  test/smask-paint.c      |    2 +-
24345  test/smask-stroke.c     |    2 +-
24346  test/smask-text.c       |    2 +-
24347  test/smask.c            |    2 +-
24348  8 files changed, 18 insertions(+), 7 deletions(-)
24349
24350 commit 5becfc2bd59956090daa8afd68db2f139dcb8392
24351 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24352 Date:   Tue Jun 30 14:58:40 2009 +0200
24353
24354     [test] Add pdf reference image for rotate-image-surface-paint
24355     
24356     Remove also argb32 and rgb24 pdf reference images.
24357
24358  test/Makefile.am                                   |    3 +--
24359  test/rotate-image-surface-paint.pdf.argb32.ref.png |  Bin 215 -> 0 bytes
24360  test/rotate-image-surface-paint.pdf.ref.png        |  Bin 0 -> 196 bytes
24361  test/rotate-image-surface-paint.pdf.rgb24.ref.png  |  Bin 215 -> 0 bytes
24362  4 files changed, 1 insertion(+), 2 deletions(-)
24363
24364 commit f81203cde864af1a1fea81a438e4f4effe928808
24365 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24366 Date:   Tue Jun 30 14:44:19 2009 +0200
24367
24368     [test] Add pdf reference image for mask-transformed-image
24369
24370  test/Makefile.am                        |    1 +
24371  test/mask-transformed-image.pdf.ref.png |  Bin 0 -> 3528 bytes
24372  2 files changed, 1 insertion(+)
24373
24374 commit 9d538ef337e9ca1600f842cd2164ff5e6629090a
24375 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24376 Date:   Tue Jun 30 14:42:32 2009 +0200
24377
24378     [test] Update argb32 and rgb24 pdf reference image for mask
24379
24380  test/mask.pdf.argb32.ref.png |  Bin 9903 -> 9918 bytes
24381  test/mask.pdf.rgb24.ref.png  |  Bin 8735 -> 8745 bytes
24382  2 files changed, 0 insertions(+), 0 deletions(-)
24383
24384 commit 97def877bb1c290735875061118bd795b9b83215
24385 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24386 Date:   Tue Jun 30 14:18:30 2009 +0200
24387
24388     [test] Update pdf reference image for surface-pattern
24389     
24390     Remove also argb32 and rgb24 pdf reference images.
24391
24392  test/Makefile.am                        |    2 --
24393  test/surface-pattern.pdf.argb32.ref.png |  Bin 14808 -> 0 bytes
24394  test/surface-pattern.pdf.ref.png        |  Bin 14791 -> 14800 bytes
24395  test/surface-pattern.pdf.rgb24.ref.png  |  Bin 14808 -> 0 bytes
24396  4 files changed, 2 deletions(-)
24397
24398 commit 8a6bdc63c1491dc77e8d9e192b9e44d9ff2e3c9b
24399 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24400 Date:   Tue Jun 30 13:33:07 2009 +0200
24401
24402     [test] Update argb32 and rgb24 pdf reference image for text-pattern
24403
24404  test/text-pattern.pdf.argb32.ref.png |  Bin 2151 -> 2334 bytes
24405  test/text-pattern.pdf.rgb24.ref.png  |  Bin 508 -> 1915 bytes
24406  2 files changed, 0 insertions(+), 0 deletions(-)
24407
24408 commit b46ba7aa33ba604628f1c94449019895b1d7ef82
24409 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24410 Date:   Tue Jun 30 13:25:39 2009 +0200
24411
24412     [test] Update pdf reference image for text-transform
24413
24414  test/text-transform.pdf.ref.png |  Bin 3796 -> 5586 bytes
24415  1 file changed, 0 insertions(+), 0 deletions(-)
24416
24417 commit 9bc7ab980d6e834dacaf4f48f199e8c95cfba94e
24418 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24419 Date:   Tue Jun 30 12:09:50 2009 +0200
24420
24421     [test] Update pdf reference image for filter-nearest-transformed
24422     
24423     Remove also argb32 and rgb24 pdf reference images.
24424
24425  test/Makefile.am                                   |    2 --
24426  test/filter-nearest-transformed.pdf.argb32.ref.png |  Bin 488 -> 0 bytes
24427  test/filter-nearest-transformed.pdf.ref.png        |  Bin 548 -> 552 bytes
24428  test/filter-nearest-transformed.pdf.rgb24.ref.png  |  Bin 488 -> 0 bytes
24429  4 files changed, 2 deletions(-)
24430
24431 commit 27938f7e3ff357e5fe8a05e547cf83dbad7551ef
24432 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24433 Date:   Tue Jun 30 12:04:06 2009 +0200
24434
24435     [test] Update pdf reference image for filter-nearest-offset
24436     
24437     Remove also argb32 and rgb24 pdf reference images.
24438
24439  test/Makefile.am                              |    2 --
24440  test/filter-nearest-offset.pdf.argb32.ref.png |  Bin 4295 -> 0 bytes
24441  test/filter-nearest-offset.pdf.ref.png        |  Bin 4537 -> 997 bytes
24442  test/filter-nearest-offset.pdf.rgb24.ref.png  |  Bin 4295 -> 0 bytes
24443  4 files changed, 2 deletions(-)
24444
24445 commit e6576e8912196607fdd3613c6924e26c2ce7a951
24446 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24447 Date:   Tue Jun 30 11:56:18 2009 +0200
24448
24449     [test] Update argb32 pdf reference image for clip-operator
24450
24451  test/clip-operator.pdf.argb32.ref.png |  Bin 11604 -> 11603 bytes
24452  1 file changed, 0 insertions(+), 0 deletions(-)
24453
24454 commit 13d9374ec13c62233312beb0feb9a47531aec2e3
24455 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24456 Date:   Mon Jun 29 17:36:47 2009 +0200
24457
24458     [test] Remove PDF reference images for scale-source-surface-paint
24459     
24460     It works with current poppler now
24461
24462  test/Makefile.am                                   |    2 --
24463  test/scale-source-surface-paint.pdf.argb32.ref.png |  Bin 182 -> 0 bytes
24464  test/scale-source-surface-paint.pdf.rgb24.ref.png  |  Bin 198 -> 0 bytes
24465  3 files changed, 2 deletions(-)
24466
24467 commit 3710c4184c2e87368dde5ccb25f3648b861b6059
24468 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24469 Date:   Mon Jun 29 17:32:54 2009 +0200
24470
24471     [test] Remove PDF reference images for paint-with-alpha
24472     
24473     It works with current poppler now
24474
24475  test/Makefile.am                  |    1 -
24476  test/paint-with-alpha.pdf.ref.png |  Bin 466 -> 0 bytes
24477  2 files changed, 1 deletion(-)
24478
24479 commit 8162acd81a898247f19054a136af95062e3b0e91
24480 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24481 Date:   Mon Jun 29 12:42:52 2009 +0200
24482
24483     [test] Remove PDF reference images for paint-source-alpha
24484     
24485     It works with current poppler now
24486
24487  test/Makefile.am                           |    2 --
24488  test/paint-source-alpha.pdf.argb32.ref.png |  Bin 471 -> 0 bytes
24489  test/paint-source-alpha.pdf.ref.png        |  Bin 473 -> 0 bytes
24490  3 files changed, 2 deletions(-)
24491
24492 commit 1e1f4fd0920cb2b0882137b4cc500dcbae42d2dc
24493 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24494 Date:   Tue Jun 30 11:05:50 2009 +0200
24495
24496     [test] Use poppler_page_render with a transparent surface
24497     
24498     Instead of using an opaque surface filled in white, use a transparent
24499     surface and fill it in white by using CAIRO_OPERATOR_DEST_OVER after
24500     rendering.
24501
24502  test/any2ppm.c |    9 +++++----
24503  test/pdf2png.c |    9 +++++----
24504  2 files changed, 10 insertions(+), 8 deletions(-)
24505
24506 commit 700a555d194a20c00df69b963cdc5b6153e162a4
24507 Author: Chris Wilson <chris@chris-wilson.co.uk>
24508 Date:   Wed Jul 1 19:41:42 2009 +0100
24509
24510     [surface] Expose a SURFACE_TYPE_MISMATCH nil object
24511     
24512     Gah, yet more error object bloat. Must finish cairo-object.
24513
24514  src/cairo-surface.c |    4 +++-
24515  1 file changed, 3 insertions(+), 1 deletion(-)
24516
24517 commit 8f4611a94bda407b5944520b95599441a4ff5327
24518 Author: Chris Wilson <chris@chris-wilson.co.uk>
24519 Date:   Wed Jul 1 19:39:57 2009 +0100
24520
24521     [perf] Fix use-after-free when retrieving error line number
24522     
24523     We find out the status on destroying the script and then attempt to query
24524     the defunct script for more info about the error. Wrong.
24525
24526  perf/cairo-perf-trace.c |    5 ++---
24527  1 file changed, 2 insertions(+), 3 deletions(-)
24528
24529 commit 7c160dea5456b783d9b04b5c11bbacb9a89fa031
24530 Author: Chris Wilson <chris@chris-wilson.co.uk>
24531 Date:   Wed Jul 1 10:12:50 2009 +0100
24532
24533     [perf] Unbreak cairo-perf-diff builder
24534
24535  perf/cairo-perf-diff |   19 ++++++++++---------
24536  1 file changed, 10 insertions(+), 9 deletions(-)
24537
24538 commit 3d88f99668308315db759af3dac789973caa8eae
24539 Author: Chris Wilson <chris@chris-wilson.co.uk>
24540 Date:   Wed Jul 1 09:57:56 2009 +0100
24541
24542     [perf] Enable cairo-perf-trace in cairo-perf-diff
24543     
24544     Only as a --trace option for now.
24545
24546  perf/cairo-perf-diff |   51 +++++++++++++++++++++++++++++++++++---------------
24547  1 file changed, 36 insertions(+), 15 deletions(-)
24548
24549 commit 1564d67d63618e12c58dc1d65c7e68505950e4d4
24550 Author: Chris Wilson <chris@chris-wilson.co.uk>
24551 Date:   Tue Jun 30 22:22:39 2009 +0100
24552
24553     [perf] Exclude the xlib-reference target from cairo-perf
24554
24555  perf/cairo-perf-trace.c |    3 ++-
24556  perf/cairo-perf.c       |    3 ++-
24557  2 files changed, 4 insertions(+), 2 deletions(-)
24558
24559 commit e5b4f78bff20903fef5f55a0fcd026590ea444a4
24560 Author: Chris Wilson <chris@chris-wilson.co.uk>
24561 Date:   Tue Jun 30 22:12:50 2009 +0100
24562
24563     [boilerplate] Only include null-test-surface >= cairo-1.9.3
24564
24565  boilerplate/cairo-boilerplate-test-surfaces.c |   10 +++++++++-
24566  1 file changed, 9 insertions(+), 1 deletion(-)
24567
24568 commit e0bdbb437ee699d6f75df34494a6e290dc55aa39
24569 Author: Chris Wilson <chris@chris-wilson.co.uk>
24570 Date:   Tue Jun 30 22:04:01 2009 +0100
24571
24572     [xlib] Remove redundant checks for src_picture==None
24573     
24574     Before attempting to even set the attributes on the source Picture, we
24575     ensure that it exists. So remove the redundant safe-guards to do nothing
24576     if it doesn't exist.
24577
24578  src/cairo-xlib-surface.c |   12 +-----------
24579  1 file changed, 1 insertion(+), 11 deletions(-)
24580
24581 commit b7f68d3518e25fb02c9d36d14de9dc0c905ffe8f
24582 Author: Chris Wilson <chris@chris-wilson.co.uk>
24583 Date:   Tue Jun 30 20:46:12 2009 +0100
24584
24585     [perf] Enable trace directory recursion.
24586     
24587     I have an idea to categorise traces within their own subdirectories and so
24588     for convenience added path walking to cairo-perf-trace. Principally this
24589     should allow for forests of symlinks of all types.
24590
24591  perf/cairo-perf-trace.c |  104 ++++++++++++++++++++++++++++++-----------------
24592  perf/cairo-perf.h       |    1 +
24593  2 files changed, 68 insertions(+), 37 deletions(-)
24594
24595 commit 6102dd0c1c26e289ad08d1cf0cc366e6298f5711
24596 Author: Chris Wilson <chris@chris-wilson.co.uk>
24597 Date:   Mon Jun 29 10:50:44 2009 +0100
24598
24599     [ft] Correct reference counting for implementation font face
24600     
24601     We are expected to return a new reference from get_implementation(), and
24602     failing to do so was causing use-after-frees (detected by the reference
24603     counting checks).
24604
24605  src/cairo-ft-font.c |    3 +--
24606  1 file changed, 1 insertion(+), 2 deletions(-)
24607
24608 commit 4f745fbe3329a4fd5164c7bd7fe61c0395e8d1ee
24609 Author: Chris Wilson <chris@chris-wilson.co.uk>
24610 Date:   Mon Jun 29 10:49:51 2009 +0100
24611
24612     [test] Only run fallback-resolution for enabled targets
24613     
24614     A secondary check that both activates CAIRO_TEST_TARGET and prevents a
24615     NULL-deref with the null test surface.
24616
24617  test/fallback-resolution.c |    3 +++
24618  1 file changed, 3 insertions(+)
24619
24620 commit d80f5580ef371a1d4b1746b4ad54d97274d2d6cd
24621 Author: Chris Wilson <chris@chris-wilson.co.uk>
24622 Date:   Sun Jun 28 21:11:41 2009 +0100
24623
24624     [pattern] Mark _cairo_pattern_nil as static
24625     
24626     Fixes check-def.sh failure.
24627
24628  src/cairo-pattern.c |    2 +-
24629  1 file changed, 1 insertion(+), 1 deletion(-)
24630
24631 commit 758a18b354cefca841536c7d91f8f5758456f72f
24632 Author: Chris Wilson <chris@chris-wilson.co.uk>
24633 Date:   Sun Jun 28 20:56:33 2009 +0100
24634
24635     [test] Timeout support for tests
24636     
24637     Enforce that each test must render within 60 seconds or be considered to
24638     have hit an infinite loop and be reported as a CRASH. The timeout value is
24639     adjustable via CAIRO_TEST_TIMEOUT -- a value of 0 will disable.
24640
24641  build/configure.ac.system |    3 +++
24642  test/cairo-test.c         |   18 ++++++++++++++++++
24643  test/cairo-test.h         |    2 ++
24644  3 files changed, 23 insertions(+)
24645
24646 commit f7021d8f3e59d1f7fa77135366bbbd6845dff684
24647 Author: Chris Wilson <chris@chris-wilson.co.uk>
24648 Date:   Sun Jun 28 20:41:04 2009 +0100
24649
24650     [script] Enable error handling for recursive scanners
24651     
24652     It's conceivable that a script could execute another file and so we should
24653     only setjmp on the first invocation.
24654
24655  util/cairo-script/cairo-script-private.h |    1 +
24656  util/cairo-script/cairo-script-scanner.c |   15 ++++++++++++---
24657  2 files changed, 13 insertions(+), 3 deletions(-)
24658
24659 commit 963664727b4754f92a876c36557922821706f591
24660 Author: Chris Wilson <chris@chris-wilson.co.uk>
24661 Date:   Sun Jun 28 10:49:37 2009 +0100
24662
24663     [trace] Compile fix for --enable-script
24664     
24665     Silly typo as pointed out by Hans Breuer <hans@breuer.org>.
24666
24667  util/cairo-trace/trace.c |    2 +-
24668  1 file changed, 1 insertion(+), 1 deletion(-)
24669
24670 commit 2ecafb025c8b15a86372b655e763d742a0f6ef85
24671 Author: Chris Wilson <chris@chris-wilson.co.uk>
24672 Date:   Sun Jun 28 10:09:01 2009 +0100
24673
24674     [script] Reuse glyph advance cache over multiple invocations
24675     
24676     Store the metric cache as user-data on the scaled-font so that we can
24677     retrieve it on future calls to show-glyphs and friends.
24678
24679  util/cairo-script/cairo-script-operators.c |  413 +++++++++-------------------
24680  1 file changed, 131 insertions(+), 282 deletions(-)
24681
24682 commit 663da31bbe7cf6021c8d59a4d4ddd2702cfe860f
24683 Author: Chris Wilson <chris@chris-wilson.co.uk>
24684 Date:   Sun Jun 28 01:17:13 2009 +0100
24685
24686     [boilerplate] Propagate original error from create_from_png()
24687     
24688     During cairo_boilerplate_get_image_surface_from_png() the original status
24689     returned by cairo_image_surface_create_from_png() could have been masked
24690     by inappropriate context construction when flattening or extracting.
24691     Simply check after creating the surface from the png file, and return
24692     immediately if in error.
24693
24694  boilerplate/cairo-boilerplate.c |    2 ++
24695  1 file changed, 2 insertions(+)
24696
24697 commit 2bbb69420289aa372512602db312611369e70f54
24698 Author: Chris Wilson <chris@chris-wilson.co.uk>
24699 Date:   Sun Jun 28 00:57:10 2009 +0100
24700
24701     [test] Disable fallback16 testing
24702     
24703     Only use the RGB16_565 surface as a source during testing. We presume that
24704     pixman is itself rigorously tested and the output is equivalent to the
24705     image surface. Enabling this test surface would require too large of a
24706     burden to maintain the reference images for the 16-bit backend.
24707
24708  boilerplate/cairo-boilerplate.c |    4 ++--
24709  1 file changed, 2 insertions(+), 2 deletions(-)
24710
24711 commit 34ac8673b2d51edeb0b29a4949d7d16c3d07a790
24712 Author: Chris Wilson <chris@chris-wilson.co.uk>
24713 Date:   Sun Jun 28 00:48:05 2009 +0100
24714
24715     [script] Use setjmp exception handling during scanning
24716     
24717     Save ~5% of overhead by using longjmp on error to terminate scanning
24718     instead of propagating the error, incurring lots of redundant error
24719     checks.
24720
24721  util/cairo-script/cairo-script-interpreter.c |   14 +-
24722  util/cairo-script/cairo-script-objects.c     |   46 +--
24723  util/cairo-script/cairo-script-private.h     |   51 ++--
24724  util/cairo-script/cairo-script-scanner.c     |  390 ++++++++++++--------------
24725  4 files changed, 221 insertions(+), 280 deletions(-)
24726
24727 commit 2b1ec7a4d87399824dacb9803627c9322b12d894
24728 Author: Chris Wilson <chris@chris-wilson.co.uk>
24729 Date:   Sat Jun 27 22:48:19 2009 +0100
24730
24731     [cairo] Report true error via pattern from cairo_pop_group()
24732     
24733     Report the correct error via the returned pattern->status rather than
24734     simply returning the NO_MEMORY nil object.
24735
24736  src/cairo-pattern.c |    4 ++--
24737  src/cairo.c         |   18 +++++++++++-------
24738  src/cairoint.h      |    4 +++-
24739  3 files changed, 16 insertions(+), 10 deletions(-)
24740
24741 commit 5c3be3ece27b7cf6e4b1262ea18ac51b45c62389
24742 Author: Chris Wilson <chris@chris-wilson.co.uk>
24743 Date:   Sat Jun 27 22:40:15 2009 +0100
24744
24745     [cairo] Mark cr->status guard as unlikely
24746     
24747     For correct operation, the context should never be in error, so mark the
24748     error context as being unlikely to optimize the common path.
24749
24750  src/cairo.c |  199 +++++++++++++++++++++++++++++------------------------------
24751  1 file changed, 97 insertions(+), 102 deletions(-)
24752
24753 commit f3880283331f3bda374e24fd0e1de677d8d368a9
24754 Author: Chris Wilson <chris@chris-wilson.co.uk>
24755 Date:   Sat Jun 27 20:18:18 2009 +0100
24756
24757     [gstate] Avoid temporary allocation for transformed patterns
24758     
24759     Observe that patterns are not altered during an operation and so we are
24760     safe to use the data from the original pattern without copying. (This is
24761     enforced through the declaration that the backends operate on constant
24762     patterns which are not allowed to be referenced or destroyed.)
24763
24764  src/cairo-gstate.c  |  184 ++++++++++++++++-----------------------------------
24765  src/cairo-pattern.c |   31 +++++++++
24766  src/cairoint.h      |    4 ++
24767  3 files changed, 92 insertions(+), 127 deletions(-)
24768
24769 commit 3759c7b34b662ccdc0486c68798aca0a6438ab7e
24770 Author: Chris Wilson <chris@chris-wilson.co.uk>
24771 Date:   Sat Jun 27 19:38:30 2009 +0100
24772
24773     [perf] Enable the null-backend for trace replays.
24774
24775  perf/cairo-perf-trace.c |    2 +-
24776  1 file changed, 1 insertion(+), 1 deletion(-)
24777
24778 commit 8d4c704129132effa10fb9242239952c2f4b7721
24779 Author: Chris Wilson <chris@chris-wilson.co.uk>
24780 Date:   Sat Jun 27 19:34:20 2009 +0100
24781
24782     [ft] Cache the resolved font face
24783     
24784     Keep the resolved font face alive whilst the default FcConfig remains
24785     identical i.e. resolve the pattern again if the system configuration
24786     changes (e.g. a new font is added or the rules are updated). This should
24787     retain the benefits of lazily resolving font patterns whilst improving
24788     performance by reducing the number of calls to FcFontMatch().
24789
24790  src/cairo-ft-font.c |   39 ++++++++++++++++++++++++++++++++++-----
24791  1 file changed, 34 insertions(+), 5 deletions(-)
24792
24793 commit ddadd41a6c3d6a7cdaa07373b24325f59d3436e3
24794 Author: Chris Wilson <chris@chris-wilson.co.uk>
24795 Date:   Sat Jun 27 18:07:36 2009 +0100
24796
24797     [test] Remove broken PDF reference images for push-group
24798     
24799     More XFAIL reference images that are now invalidated by changes in
24800     poppler.
24801
24802  test/Makefile.am                   |    3 ---
24803  test/push-group.pdf.argb32.ref.png |  Bin 2722 -> 0 bytes
24804  test/push-group.pdf.ref.png        |  Bin 2807 -> 0 bytes
24805  test/push-group.pdf.rgb24.ref.png  |  Bin 2740 -> 0 bytes
24806  4 files changed, 3 deletions(-)
24807
24808 commit 4d233fa4a6a16d400ba959f4c1c5d84fdd26d8fc
24809 Author: Chris Wilson <chris@chris-wilson.co.uk>
24810 Date:   Sat Jun 27 18:04:37 2009 +0100
24811
24812     [test] Remove invalid smask PDF reference images
24813     
24814     These need to be recorded using an XFAIL reference. In the meantime, as
24815     the poppler output has changed, just remove all the invalid PDF reference
24816     images.
24817
24818  test/Makefile.am                         |   19 -------------------
24819  test/smask-fill.pdf.argb32.ref.png       |  Bin 1909 -> 0 bytes
24820  test/smask-fill.pdf.ref.png              |  Bin 1075 -> 0 bytes
24821  test/smask-fill.pdf.rgb24.ref.png        |  Bin 1909 -> 0 bytes
24822  test/smask-image-mask.pdf.argb32.ref.png |  Bin 1651 -> 0 bytes
24823  test/smask-image-mask.pdf.ref.png        |  Bin 421 -> 0 bytes
24824  test/smask-image-mask.pdf.rgb24.ref.png  |  Bin 1651 -> 0 bytes
24825  test/smask-mask.pdf.argb32.ref.png       |  Bin 4398 -> 0 bytes
24826  test/smask-mask.pdf.ref.png              |  Bin 3731 -> 0 bytes
24827  test/smask-mask.pdf.rgb24.ref.png        |  Bin 4398 -> 0 bytes
24828  test/smask-paint.pdf.argb32.ref.png      |  Bin 4496 -> 0 bytes
24829  test/smask-paint.pdf.ref.png             |  Bin 3800 -> 0 bytes
24830  test/smask-paint.pdf.rgb24.ref.png       |  Bin 4496 -> 0 bytes
24831  test/smask-stroke.pdf.argb32.ref.png     |  Bin 1417 -> 0 bytes
24832  test/smask-stroke.pdf.ref.png            |  Bin 449 -> 0 bytes
24833  test/smask-stroke.pdf.rgb24.ref.png      |  Bin 1417 -> 0 bytes
24834  test/smask-text.pdf.ref.png              |  Bin 1806 -> 0 bytes
24835  test/smask.pdf.argb32.ref.png            |  Bin 4496 -> 0 bytes
24836  test/smask.pdf.ref.png                   |  Bin 3800 -> 0 bytes
24837  test/smask.pdf.rgb24.ref.png             |  Bin 4496 -> 0 bytes
24838  20 files changed, 19 deletions(-)
24839
24840 commit 86624627e4b196a78cfd9bd642299441e838e0f2
24841 Author: Chris Wilson <chris@chris-wilson.co.uk>
24842 Date:   Sat Jun 27 17:53:18 2009 +0100
24843
24844     [test] Add group-unaligned
24845     
24846     Test case for:
24847        Bug 22441 -- Unexpected shift with push_group and pop_group
24848        https://bugs.freedesktop.org/show_bug.cgi?id=22441
24849     
24850     This is a test that demonstrates the error in the pdf backend when using
24851     groups on surfaces with non-integer sizes. In order to create such a
24852     surface, we need to update the boilerplate to use doubles instead of
24853     integers when specifying the surface size.
24854
24855  boilerplate/cairo-boilerplate-beos-private.h       |   16 +++---
24856  boilerplate/cairo-boilerplate-beos.cpp             |    8 +--
24857  boilerplate/cairo-boilerplate-directfb-private.h   |    8 +--
24858  boilerplate/cairo-boilerplate-directfb.c           |    8 +--
24859  boilerplate/cairo-boilerplate-glitz-agl.c          |    8 +--
24860  boilerplate/cairo-boilerplate-glitz-glx.c          |   10 ++--
24861  boilerplate/cairo-boilerplate-glitz-private.h      |   24 ++++----
24862  boilerplate/cairo-boilerplate-glitz-wgl.c          |    8 +--
24863  boilerplate/cairo-boilerplate-pdf-private.h        |    8 +--
24864  boilerplate/cairo-boilerplate-pdf.c                |   14 ++---
24865  boilerplate/cairo-boilerplate-ps-private.h         |   16 +++---
24866  boilerplate/cairo-boilerplate-ps.c                 |   30 +++++-----
24867  boilerplate/cairo-boilerplate-qt-private.h         |   10 ++--
24868  boilerplate/cairo-boilerplate-qt.cpp               |    8 +--
24869  boilerplate/cairo-boilerplate-quartz-private.h     |    8 +--
24870  boilerplate/cairo-boilerplate-quartz.c             |    8 +--
24871  boilerplate/cairo-boilerplate-script-private.h     |    8 +--
24872  boilerplate/cairo-boilerplate-script.c             |   12 ++--
24873  boilerplate/cairo-boilerplate-svg-private.h        |   16 +++---
24874  boilerplate/cairo-boilerplate-svg.c                |   30 +++++-----
24875  .../cairo-boilerplate-test-surfaces-private.h      |   40 ++++++-------
24876  boilerplate/cairo-boilerplate-test-surfaces.c      |   40 ++++++-------
24877  boilerplate/cairo-boilerplate-win32-printing.c     |    8 +--
24878  boilerplate/cairo-boilerplate-win32-private.h      |   16 +++---
24879  boilerplate/cairo-boilerplate-win32.c              |    8 +--
24880  boilerplate/cairo-boilerplate-xcb-private.h        |    8 +--
24881  boilerplate/cairo-boilerplate-xcb.c                |    8 +--
24882  boilerplate/cairo-boilerplate-xlib-private.h       |   24 ++++----
24883  boilerplate/cairo-boilerplate-xlib.c               |   45 +++++++++------
24884  boilerplate/cairo-boilerplate.c                    |   10 ++--
24885  boilerplate/cairo-boilerplate.h                    |    8 +--
24886  test/Makefile.am                                   |    7 +++
24887  test/Makefile.sources                              |    1 +
24888  test/cairo-test.c                                  |    2 +-
24889  test/cairo-test.h                                  |    4 +-
24890  test/group-unaligned.c                             |   60 ++++++++++++++++++++
24891  test/group-unaligned.pdf.ref.png                   |  Bin 0 -> 414 bytes
24892  test/group-unaligned.ps.ref.png                    |  Bin 0 -> 332 bytes
24893  test/group-unaligned.svg.argb32.ref.png            |  Bin 0 -> 524 bytes
24894  test/group-unaligned.svg.rgb24.ref.png             |  Bin 0 -> 434 bytes
24895  test/group-unaligned.xlib-fallback.ref.png         |  Bin 0 -> 496 bytes
24896  test/group-unaligned.xlib.ref.png                  |  Bin 0 -> 466 bytes
24897  42 files changed, 312 insertions(+), 235 deletions(-)
24898
24899 commit c506ddb58612c69b80b08be3a6d14c5bcc1ac21f
24900 Author: Chris Wilson <chris@chris-wilson.co.uk>
24901 Date:   Sat Jun 27 16:54:37 2009 +0100
24902
24903     [pdf] Restore original surface size after emitting group mask
24904     
24905     A trivial fix to reset the original surface size after emitting the group.
24906     The annoying aspect is that this should have been caught by the test suite.
24907     Alas, no. A gentle reminder that simple line coverage is insufficient. :(
24908
24909  src/cairo-pdf-surface.c |    7 +++++--
24910  1 file changed, 5 insertions(+), 2 deletions(-)
24911
24912 commit f8a2665840f12ae48798b0ffca49681e276823ba
24913 Author: Chris Wilson <chris@chris-wilson.co.uk>
24914 Date:   Fri Jun 26 07:22:49 2009 +0100
24915
24916     [cairo] Trivial code tidy
24917
24918  src/cairo.c |    2 +-
24919  1 file changed, 1 insertion(+), 1 deletion(-)
24920
24921 commit c7cf5317f58b382c47ad2d1b4d8db3133b0c4d4b
24922 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
24923 Date:   Wed Jun 24 23:33:44 2009 +0100
24924
24925     [test] Fix Makefile.am for Solaris make.
24926     
24927     Sun's make doesn't like conditional assignments to variables
24928     in dependencies in the form of "target: VAR+=VAL".  This
24929     construct was used to force the test suite run in the foreground
24930     in the check-valgrind target.  It is replaced by a more
24931     explicit set of the CAIRO_TEST_MODE environment variable.
24932
24933  test/Makefile.am |    3 +--
24934  1 file changed, 1 insertion(+), 2 deletions(-)
24935
24936 commit b82e7740c102afa7b9184b2556b887cf7a0211b0
24937 Author: Chris Wilson <chris@chris-wilson.co.uk>
24938 Date:   Sun Jun 21 22:25:08 2009 +0100
24939
24940     [atomic] Silence compiler warnings by defining an intptr_t
24941     
24942     Evaulate the integer sizes during configure to find one of the exact same
24943     size as a void* to use in the conversion of the atomic ptr cmpxchg to an
24944     atomic int cmpxchg.
24945
24946  build/configure.ac.system  |    3 +++
24947  src/cairo-atomic-private.h |   19 ++++++++++++-------
24948  2 files changed, 15 insertions(+), 7 deletions(-)
24949
24950 commit a2d4fb50092c0cbb31a5df1bca9111957238139b
24951 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
24952 Date:   Sun Jun 21 14:09:10 2009 +0100
24953
24954     [test] Fix a typo in the _POSIX_SOURCE version number.
24955     
24956     I hope POSIX isn't around in 20000 AD!
24957
24958  test/cairo-test.c |    2 +-
24959  1 file changed, 1 insertion(+), 1 deletion(-)
24960
24961 commit 80990c7f729a666fc646182a36ffd311d7396a1a
24962 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
24963 Date:   Sun Jun 21 14:02:46 2009 +0100
24964
24965     [atomic] Use an integer __sync_val_compare_and_swap() for pointer CAS.
24966     
24967     Fix an implicit pointer/integer cast in _cairo_atomic_ptr_cmpxchg()
24968     when building with LLVM/clang.
24969     
24970     The Intel synchronization primitives __sync_val_compare_and_swap()
24971     are only defined by Intel for types int, long, long long and their
24972     unsigned variants.  This patch uses one of those for
24973     _cairo_atomic_ptr_cmpxchg() instead of relying on a gcc extension of
24974     __sync_val_compare_and_swap() to pointer types.
24975
24976  src/cairo-atomic-private.h |    9 ++++++++-
24977  src/cairo-atomic.c         |    6 +++++-
24978  2 files changed, 13 insertions(+), 2 deletions(-)
24979
24980 commit d0c1c9282164bffb76f7419873e93608dc6d9876
24981 Author: Chris Wilson <chris@chris-wilson.co.uk>
24982 Date:   Sun Jun 21 10:08:21 2009 +0100
24983
24984     [boilerplate] Implement a reference xlib surface
24985     
24986     Create an xlib target that uses a separate display, specified by
24987     CAIRO_REFERENCE_DISPLAY, that can be used as a reference implementation
24988     for the normal display. So this can be used by cairo-trace-test to create
24989     a reference surface that mimics exactly the true surface, but if it
24990     targets an Xvfb display will be entirely rendered in software. If
24991     CAIRO_REFERENCE_DISPLAY is not set, the reference surface degrades into an
24992     xlib-fallback surface which is a close approximation (but still has
24993     behavioural differences).
24994
24995  boilerplate/cairo-boilerplate-xlib-private.h |   11 ++++++
24996  boilerplate/cairo-boilerplate-xlib.c         |   51 ++++++++++++++++++++++++++
24997  boilerplate/cairo-boilerplate.c              |   14 ++++++-
24998  3 files changed, 74 insertions(+), 2 deletions(-)
24999
25000 commit d2244053dcca687a878b1008e3a8219f11d7bd0d
25001 Author: Chris Wilson <chris@chris-wilson.co.uk>
25002 Date:   Sun Jun 21 08:58:08 2009 +0100
25003
25004     [perf] Force rebuild if make fails
25005     
25006     The build system has a singular failure whereby if a backend disappears
25007     between on compile and the next, automake will fail to reconstruct the
25008     Makefiles - resulting in a broken build. Attempt to fix this by removing
25009     the build dir and recloning, which should work for any corrupt caches but
25010     obviously will fail again at a true build failure.
25011
25012  perf/cairo-perf-diff |   63 +++++++++++++++++++++++++++++---------------------
25013  1 file changed, 37 insertions(+), 26 deletions(-)
25014
25015 commit ef0d307d549b9cc7a98cdce2ee4bae40d0fd0bd1
25016 Author: Chris Wilson <chris@chris-wilson.co.uk>
25017 Date:   Sun Jun 21 08:43:55 2009 +0100
25018
25019     [perf] Need to version surface types
25020     
25021     As cairo-perf-diff will execute the current cairo-perf against historical
25022     revisions, any introduced api must be protect in order to compile on old
25023     versions.
25024
25025  perf/cairo-perf-trace.c |    8 ++++++++
25026  perf/cairo-perf.c       |    6 ++++++
25027  2 files changed, 14 insertions(+)
25028
25029 commit 44b72ba6d7bdcc5f4e431af178bc7c22f13e88e0
25030 Author: Chris Wilson <chris@chris-wilson.co.uk>
25031 Date:   Sat Jun 20 13:09:46 2009 +0100
25032
25033     [perf] Add a non-build mode to graph
25034     
25035     Add --show to cairo-perf-graph just to graph perf files that currently
25036     exist and not build the missing cases.
25037
25038  perf/cairo-perf-graph |    5 +++--
25039  1 file changed, 3 insertions(+), 2 deletions(-)
25040
25041 commit d4dd6fcf3a4e0d7426657592ebb3d65a2ae0bc4a
25042 Author: Chris Wilson <chris@chris-wilson.co.uk>
25043 Date:   Sat Jun 20 13:08:50 2009 +0100
25044
25045     [perf] Show speedup/slowdownn labels on graph
25046     
25047     Add labels show that it is clear which direction is faster on the graph.
25048
25049  perf/cairo-perf-graph-widget.c |  166 ++++++++++++++++++++++++++++++++++++----
25050  1 file changed, 153 insertions(+), 13 deletions(-)
25051
25052 commit b71b6ecb59bf83605bb2bb10e3f8acd7dd950242
25053 Author: Chris Wilson <chris@chris-wilson.co.uk>
25054 Date:   Fri Jun 19 21:21:02 2009 +0100
25055
25056     [test] Fix the image compare
25057     
25058     Oh, it's a bad sign when I can't even correctly compare a bunch of pixels.
25059
25060  test/cairo-test-trace.c |  101 ++++++++++++++++++++++++++++++++++++++++-------
25061  1 file changed, 86 insertions(+), 15 deletions(-)
25062
25063 commit d544828934e479071fe5246fc0bdbbad33c097e8
25064 Author: M Joonas Pihlaja <rowan@sal.math.ualberta.ca>
25065 Date:   Sat Jun 20 06:16:51 2009 -0600
25066
25067     [build] Look for libpng.pc as well when configuring.
25068     
25069     The OpenBSD png package installs only libpng.pc and not
25070     any of libpng{13,12,10}.pc.
25071
25072  configure.ac |    2 +-
25073  1 file changed, 1 insertion(+), 1 deletion(-)
25074
25075 commit 5733d8d6c35e1a77513a49267a47f6caae68e829
25076 Author: M Joonas Pihlaja <rowan@sal.math.ualberta.ca>
25077 Date:   Sat Jun 20 06:11:44 2009 -0600
25078
25079     [build] Remove a level of quoting from CAIRO_PARSE_VERSION.
25080     
25081     The m4 that comes with OpenBSD gets confused by the extra quoting
25082     applied to the version number argument when building the
25083     bodies of the cairo_version_{major,minor,micro} macros using
25084     m4_bpatsubst(). Since we're making sure that the argument is always
25085     a number, we can safely use the unquoted \2 body rather than \[\2\].
25086
25087  acinclude.m4 |    2 +-
25088  1 file changed, 1 insertion(+), 1 deletion(-)
25089
25090 commit 3bad3efaa2fa00275c1d27c95ccbf1fcdfdfef3e
25091 Author: Chris Wilson <chris@chris-wilson.co.uk>
25092 Date:   Fri Jun 19 19:09:03 2009 +0100
25093
25094     [test] Add cairo-test-trace to .gitignore
25095
25096  test/.gitignore |    1 +
25097  1 file changed, 1 insertion(+)
25098
25099 commit 62dc0ae46c26652da9a76b851bab594020020115
25100 Author: Chris Wilson <chris@chris-wilson.co.uk>
25101 Date:   Fri Jun 19 19:03:17 2009 +0100
25102
25103     [cairo] Offset the current path when pushing/popping groups.
25104     
25105     We need to translate the path in order to compensate for the device offset
25106     applied to the group surface when pushing and popping. (The path is
25107     transformed to device space on creation, and so needs recomputing for the
25108     new device.)
25109
25110  src/cairo.c |   10 ++++++++++
25111  1 file changed, 10 insertions(+)
25112
25113 commit 851c8839622619779c9169299e3efccd108d0395
25114 Author: Chris Wilson <chris@chris-wilson.co.uk>
25115 Date:   Fri Jun 19 19:00:39 2009 +0100
25116
25117     [test] Add group-clip
25118     
25119     Larry Ewing found an ancient and nasty bug whereby a path was not
25120     corrected whilst pushing and popping groups.
25121
25122  AUTHORS                 |    1 +
25123  test/Makefile.am        |    1 +
25124  test/Makefile.sources   |    1 +
25125  test/group-clip.c       |   57 +++++++++++++++++++++++++++++++++++++++++++++++
25126  test/group-clip.ref.png |  Bin 0 -> 191 bytes
25127  5 files changed, 60 insertions(+)
25128
25129 commit 0a34abace781976b92287dd07daa2b41e168c4f6
25130 Author: Chris Wilson <chris@chris-wilson.co.uk>
25131 Date:   Fri Jun 19 18:40:43 2009 +0100
25132
25133     [test] Experiment with reference targets
25134     
25135     Specify another boilerplate target to use as the reference for this
25136     target. We then use this in cairo-test-trace in preference to using the
25137     image surface. Still not perfect, though the framework is improving.
25138
25139  boilerplate/cairo-boilerplate.c |  254 ++++++++++++++++++++++-----------------
25140  boilerplate/cairo-boilerplate.h |    5 +
25141  test/Makefile.am                |    6 +-
25142  test/cairo-test-trace.c         |  229 +++++++++++++++++++++++++++++------
25143  4 files changed, 341 insertions(+), 153 deletions(-)
25144
25145 commit cec8579348fb39ca879285bebfb1ee65cbae502d
25146 Author: Chris Wilson <chris@chris-wilson.co.uk>
25147 Date:   Fri Jun 19 16:09:26 2009 +0100
25148
25149     [xlib] Remove redundant code to query a xrender_format from a visual
25150     
25151     We always query an xrender_format for a Visual upon surface creation, so
25152     checking again in create_similar() is redundant. (It also interferes with
25153     disabling XRender...)
25154
25155  src/cairo-xlib-surface.c |    9 ++-------
25156  1 file changed, 2 insertions(+), 7 deletions(-)
25157
25158 commit dd842a2bed1568000c9727fc35d4683db349e506
25159 Author: Chris Wilson <chris@chris-wilson.co.uk>
25160 Date:   Fri Jun 19 14:59:59 2009 +0100
25161
25162     [boilerplate] Missing static on pdf user data key.
25163
25164  boilerplate/cairo-boilerplate-pdf.c |    2 +-
25165  1 file changed, 1 insertion(+), 1 deletion(-)
25166
25167 commit 2da906f4764d5fe7cbb08ec238b01e2a03696899
25168 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25169 Date:   Fri Jun 19 18:44:23 2009 +0300
25170
25171     [script] Include unistd.h if we're twiddling file descriptors.
25172     
25173     Including sys/mman.h doesn't pull in unistd.h on Solaris 9 so
25174     we have to include it explicitly.
25175
25176  util/cairo-script/cairo-script-operators.c |    7 ++++++-
25177  1 file changed, 6 insertions(+), 1 deletion(-)
25178
25179 commit 1b6dbcbbebf18d6239fcc618f3389e9c0fc981f3
25180 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25181 Date:   Fri Jun 19 18:39:53 2009 +0300
25182
25183     [trace] Compile without fontconfig.
25184     
25185     Use CAIRO_HAS_FC_FONT to decide whether to export
25186     cairo_ft_font_face_create_for_pattern() or not.
25187
25188  util/cairo-trace/trace.c |    2 ++
25189  1 file changed, 2 insertions(+)
25190
25191 commit d9b5a98a78b712a2ad64408fa47ba6aa34e29f1f
25192 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25193 Date:   Fri Jun 19 18:34:34 2009 +0300
25194
25195     [build] Require fontconfig >= 2.2.95 if we're using it at all.
25196     
25197     We require at least fontconfig 2.2.95 when we're using
25198     fontconfig because we depend on the FcResultOutOfMemory
25199     error code introduced in that version.
25200
25201  configure.ac |    3 ++-
25202  1 file changed, 2 insertions(+), 1 deletion(-)
25203
25204 commit 84e587bbfad6586e41fac86c4d19005418115ac5
25205 Author: Chris Wilson <chris@chris-wilson.co.uk>
25206 Date:   Fri Jun 19 14:41:39 2009 +0100
25207
25208     [trace] Prevent a child process from writing to the same file
25209     
25210     After opening a specific file or fd for ourselves, reset the
25211     CAIRO_TRACE_FD to point to an invalid fd in order to prevent any child
25212     processes (who inherit our environment) from attempting to trace cairo
25213     calls. If we allow them to continue, then the two traces will intermix
25214     and be unreplayable.
25215
25216  util/cairo-trace/trace.c |    7 +++++++
25217  1 file changed, 7 insertions(+)
25218
25219 commit 18edea36ba6604e4cbdbda1ed56e6117b5768d94
25220 Author: Chris Wilson <chris@chris-wilson.co.uk>
25221 Date:   Fri Jun 19 14:14:32 2009 +0100
25222
25223     [perf] Report line of error during trace
25224     
25225     Query the number of new lines processed so far and report that on hitting
25226     an error.
25227
25228  perf/cairo-perf-trace.c |    8 ++++++--
25229  1 file changed, 6 insertions(+), 2 deletions(-)
25230
25231 commit 55721d380d5a75a9448f522f9ad48cd18a6c2f65
25232 Author: Chris Wilson <chris@chris-wilson.co.uk>
25233 Date:   Fri Jun 19 14:13:34 2009 +0100
25234
25235     [script] Report line number
25236     
25237     Count the number of newlines processed in the trace and provide an API for
25238     the user to query.
25239
25240  util/cairo-script/cairo-script-interpreter.c |    6 ++++++
25241  util/cairo-script/cairo-script-interpreter.h |    3 +++
25242  util/cairo-script/cairo-script-private.h     |    2 ++
25243  util/cairo-script/cairo-script-scanner.c     |   12 +++++++++---
25244  4 files changed, 20 insertions(+), 3 deletions(-)
25245
25246 commit 030ef4ca0023166fcb82f0a0b1512eb31beb3385
25247 Author: Chris Wilson <chris@chris-wilson.co.uk>
25248 Date:   Fri Jun 19 11:56:14 2009 +0100
25249
25250     [trace] Change the threshold at which pixel data is immediately copied
25251     
25252     Embed the pixels for images less than 32*32 as this catches most icons
25253     which are frequently uploaded, but is still an unlikely size for a
25254     destination image surface.
25255
25256  util/cairo-trace/trace.c |    5 ++++-
25257  1 file changed, 4 insertions(+), 1 deletion(-)
25258
25259 commit d3330d7beba0e0d2543e40a0e0e4d81ea9a78b45
25260 Author: Chris Wilson <chris@chris-wilson.co.uk>
25261 Date:   Fri Jun 19 11:15:30 2009 +0100
25262
25263     [ft] Substitute twin if there are no fonts
25264     
25265     Fixes bug 22356 -- Spurious "out of memory" error on system without fonts
25266     https://bugs.freedesktop.org/show_bug.cgi?id=22356
25267     
25268     If FcFontMatch() fails, then it means that there are no fonts available on
25269     the system (or it may have been a malloc error, we have no way of telling).
25270     Instead of report NO_MEMORY and disabling all drawing, one of the
25271     rationales for including a builtin font was so that we could continue even
25272     in the face of this error and show *something* to the user. (This being a
25273     last resort (and especially important for demos!) and hopefully easier to
25274     diagnose than no output at all.)
25275
25276  src/cairo-font-face-twin.c |   75 ++++++++++++++++++++++++++++++++++----------
25277  src/cairo-ft-font.c        |    6 +++-
25278  src/cairoint.h             |    3 ++
25279  3 files changed, 66 insertions(+), 18 deletions(-)
25280
25281 commit 6d8b353658da1ad973e3bda9e89799a7467d8182
25282 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25283 Date:   Fri Jun 19 02:37:19 2009 +0300
25284
25285     [spans] Squash a compiler warning when creating error objects.
25286     
25287     Handle the new CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED status code
25288     in the switch/case of the ..._create_in_error() functions for
25289     creating span renderers or scan converters.
25290
25291  src/cairo-spans.c |    2 ++
25292  1 file changed, 2 insertions(+)
25293
25294 commit 7651227d3dfe4ebf40e95a72106957a9ec51dd3e
25295 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25296 Date:   Fri Jun 19 02:03:39 2009 +0300
25297
25298     Revert "[test] Make the xlib-fallback use the image refs."
25299     
25300     This reverts commit 903b39c30448d62e2cbf9d075c5256a333bd5d8f.
25301     
25302     The xlib-fallback actually renders mostly via traps at the moment,
25303     so staying with xlib refs is the right thing to do.
25304
25305  boilerplate/cairo-boilerplate.c |    2 +-
25306  1 file changed, 1 insertion(+), 1 deletion(-)
25307
25308 commit 729457b174cb19f4e0750486caed9582c5708930
25309 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25310 Date:   Sat May 2 23:30:02 2009 +0300
25311
25312     [test] Add trap rendered ref images for fill-image.
25313     
25314     The fill code path for the xlib and fallback surfaces use trapezoids
25315     rather than spans, so there's lots of differences due to antialising
25316     differences at the edge of the fill.  This patch adds a ref image
25317     for the xlib and test-fallback surfaces.
25318
25319  test/fill-image.test-fallback.ref.png |  Bin 0 -> 1462 bytes
25320  test/fill-image.xlib.ref.png          |  Bin 0 -> 1462 bytes
25321  2 files changed, 0 insertions(+), 0 deletions(-)
25322
25323 commit 8e7f667abb94262b63b4fd589f5ee06cb8974aaf
25324 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25325 Date:   Sat May 2 19:09:27 2009 +0300
25326
25327     [test] Mark scale-offset tests as XFAIL for image, xlib-fallback.
25328     
25329     The scale-offset tests trigger a loss-of-precision bug when
25330     converting double matrices from cairo to pixman format.
25331     
25332     http://lists.cairographics.org/archives/cairo/2008-November/015671.html
25333
25334  test/Makefile.am            |    2 ++
25335  test/scale-offset-image.c   |    2 +-
25336  test/scale-offset-similar.c |    2 +-
25337  3 files changed, 4 insertions(+), 2 deletions(-)
25338
25339 commit c12533b1358c9e5c1c3440efca4dc44ba2de9f6d
25340 Author: Chris Wilson <chris@chris-wilson.co.uk>
25341 Date:   Thu Jun 18 17:46:14 2009 +0100
25342
25343     [pattern] Add _cairo_pattern_fini_snapshot
25344     
25345     Symmetric operation to _cairo_pattern_init_snapshot() this exists simply
25346     to break the circular reference between the meta-surface and snapshot-cow.
25347
25348  src/cairo-meta-surface.c |   24 ++++++++++++------------
25349  src/cairo-pattern.c      |   17 +++++++++++++++++
25350  src/cairoint.h           |    3 +++
25351  3 files changed, 32 insertions(+), 12 deletions(-)
25352
25353 commit 2213c447373b600c1583b2edd24775c5c031231c
25354 Author: Chris Wilson <chris@chris-wilson.co.uk>
25355 Date:   Thu Jun 18 17:14:53 2009 +0100
25356
25357     [svg] Break circular snapshot reference by explicit finish
25358     
25359     The svg backend snapshots the meta surface which because of snapshot-cow
25360     creates a circular reference back to the creator. So in order to break the
25361     circular reference when we have finished with the snapshot, we need to
25362     call cairo_surface_finish() in addition to simply destroying the surface.
25363
25364  src/cairo-svg-surface.c |    4 ++++
25365  1 file changed, 4 insertions(+)
25366
25367 commit cd9eef1aad87558d3f2d47cfcfa2f5b9b254692c
25368 Author: Chris Wilson <chris@chris-wilson.co.uk>
25369 Date:   Thu Jun 18 16:42:56 2009 +0100
25370
25371     [scaled-font] Check the MRU font before resolving the implementor
25372     
25373     This should hide most of the overhead of resolving a frequently used toy font.
25374
25375  src/cairo-scaled-font.c |   23 +++++++++++++++--------
25376  1 file changed, 15 insertions(+), 8 deletions(-)
25377
25378 commit 5ad64dfda26f97f243f13e9b766567a30fda67a9
25379 Author: Chris Wilson <chris@chris-wilson.co.uk>
25380 Date:   Thu Jun 18 16:39:02 2009 +0100
25381
25382     [test] Add the sha1sum of the required fonts
25383     
25384     (Note, I think these are currently out-of-date... But it will serve as a
25385     useful reminder to verify and update them in future.)
25386
25387  test/README |    9 +++++----
25388  1 file changed, 5 insertions(+), 4 deletions(-)
25389
25390 commit 3063f0f44c61869bc6bb07d46bf881f1558ac015
25391 Author: Chris Wilson <chris@chris-wilson.co.uk>
25392 Date:   Thu Jun 18 16:33:12 2009 +0100
25393
25394     [scaled-font-subset] Check for matching font-face implementors
25395     
25396     Catch toy and user fonts which may have different font-faces for their
25397     implementation than the original ones they were created with.
25398
25399  src/cairo-scaled-font-subsets.c |    6 ++++--
25400  1 file changed, 4 insertions(+), 2 deletions(-)
25401
25402 commit 6e78c94615e407d72d4778d5558dc218e0402cbc
25403 Author: Chris Wilson <chris@chris-wilson.co.uk>
25404 Date:   Thu Jun 18 16:30:41 2009 +0100
25405
25406     [test] Move calls to the getters from out of the innermost loops.
25407     
25408     Tidy the code slightly by removing excess and unsightly calls to
25409     cairo_test_get_context() and cairo_get_scaled_font().
25410
25411  test/show-glyphs-many.c |   19 ++++++++++++-------
25412  1 file changed, 12 insertions(+), 7 deletions(-)
25413
25414 commit 3da32e35afa57533379c3de35459f23aef7c3d04
25415 Author: Chris Wilson <chris@chris-wilson.co.uk>
25416 Date:   Thu Jun 18 15:31:27 2009 +0100
25417
25418     [analysis] Restore nops for the analysis null surface
25419     
25420     Joonas reported that adding the extra routines to the null-surface as used
25421     by the analysis surface broke user-fonts. So create a separate null
25422     backend to be exported via the test-null surface.
25423
25424  src/cairo-analysis-surface.c |   57 ++-------------
25425  src/test-null-surface.c      |  157 +++++++++++++++++++++++++++++++++++++++++-
25426  2 files changed, 161 insertions(+), 53 deletions(-)
25427
25428 commit c0e01d9cd71bd958e1b31a03cea4c08a1bdf4926
25429 Author: Chris Wilson <chris@chris-wilson.co.uk>
25430 Date:   Thu Jun 18 14:32:53 2009 +0100
25431
25432     [xlib] Improve GC caching efficacy
25433     
25434     Shrink the overall size of the per-screen GC cache, but allow multiple GCs
25435     per depth, as it quite common to need up to two temporary GCs along some
25436     drawing paths. Decrease the number of GCs we obtain in total by returning
25437     clean (i.e. a GC without a clip set) back to the screen pool after use.
25438     Compensate for the increased number of put/get by performing the query
25439     using atomic operations where available. So overall we see a dramatic
25440     reduction on the numbers of XCreateGC and XFreeGC, of even greater benefit
25441     for RENDER-less servers.
25442
25443  src/cairo-xlib-private.h |   11 +--
25444  src/cairo-xlib-screen.c  |  200 +++++++++++++++++++++++++++++++++++-----------
25445  src/cairo-xlib-surface.c |   58 +++++++++-----
25446  3 files changed, 197 insertions(+), 72 deletions(-)
25447
25448 commit 7f238f542441cc5912d14e5c6f9c49ffd0b83fad
25449 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
25450 Date:   Thu Jun 18 17:13:13 2009 -0400
25451
25452     Use the scanline rasterizer in the win32 backend.
25453     
25454     Brings http://people.mozilla.com/~jmuizelaar/world-map.html from 8fps to 13fps
25455     in Vista on a Mac Mini
25456
25457  src/cairo-win32-surface.c |  146 ++++++++++++++++++++++++++++++++++++++++++++-
25458  1 file changed, 144 insertions(+), 2 deletions(-)
25459
25460 commit d066154e62d6b4ecad15e0eef431aa2f4a56fecb
25461 Author: Jeff Muizelaar <jeff@infidigm.net>
25462 Date:   Tue Jun 16 15:55:53 2009 -0400
25463
25464     Factor out _cairo_image_surface_span_render_row()
25465     
25466     This allows other backends use the same function for rendering rows.
25467     More specifically, I intend to use this with the win32-backend.
25468
25469  src/cairo-image-surface.c |   36 +++++++++++++++++++++++-------------
25470  src/cairoint.h            |    6 ++++++
25471  2 files changed, 29 insertions(+), 13 deletions(-)
25472
25473 commit fd142d0a6e21c492624ca8bc5019d89b0d7c5457
25474 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25475 Date:   Thu Jun 18 16:14:50 2009 +0100
25476
25477     [shave] Robuster usage of the test shell built-in.
25478     
25479     Solaris 9 confuses shave, resulting in an empty variable.
25480     This patch papers over the resulting build failure from
25481     the test shell built-in being called with an empty argument
25482     which was unquoted.
25483
25484  build/shave.in |    2 +-
25485  1 file changed, 1 insertion(+), 1 deletion(-)
25486
25487 commit 9ecee571c12e4d1645d9db2929280c9b35b1aad4
25488 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25489 Date:   Thu Jun 18 16:09:31 2009 +0100
25490
25491     [test/build] Don't test Freetype font stuff without Fontconfig.
25492     
25493     Most Freetype hitting tests require Fontconfig to find
25494     them some fonts.
25495
25496  test/Makefile.am |    2 ++
25497  1 file changed, 2 insertions(+)
25498
25499 commit 742b1ad4b069653a99fc6bd4510f2b6abb6abf95
25500 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25501 Date:   Sun May 24 23:41:28 2009 +0100
25502
25503     [test] Fix checking of the fenv.h include.
25504     
25505     This adds a configure check for fenv.h and makes
25506     invalid-matrix.c check for it with HAVE_FENV_H instead
25507     of HAVE_FEDISABLEEXCEPT -- turns out Solaris doesn't
25508     have fedisableexcept(), but it does have feclearexcept().
25509     
25510     The same issue appears on OSX and was fixed in
25511     ab86662ab499e1f29c0f8c4248771e730c281e3f. This patch
25512     adds some configure magic.
25513
25514  build/configure.ac.system |    2 +-
25515  test/invalid-matrix.c     |    4 ++--
25516  2 files changed, 3 insertions(+), 3 deletions(-)
25517
25518 commit 75f1d11d93236b19d06515b8ed2baf612b0767ab
25519 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25520 Date:   Sun May 24 21:28:04 2009 +0300
25521
25522     [test] Fallback to HUGE_VAL in place of INFINITY in invalid-matrix.c.
25523     
25524     GCC 3.4.3 on OpenSolaris does not recognise INFINITY.  Use HUGE_VAL
25525     instead for every compiler instead of just MSVC.
25526
25527  test/invalid-matrix.c |    2 +-
25528  1 file changed, 1 insertion(+), 1 deletion(-)
25529
25530 commit d1994d1ac292cbc896cffd24094ddfa5f2b1e8a9
25531 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25532 Date:   Sun May 24 23:46:13 2009 +0300
25533
25534     [test/any2ppm] Daemonize without BSD's daemon().
25535     
25536     Solaris libc doesn't provide daemon() so implement
25537     any2ppm daemon's detaching without it.
25538
25539  test/Makefile.am |    2 +-
25540  test/any2ppm.c   |   62 +++++++++++++++++++++++++++++++++++++++++++++++++-----
25541  2 files changed, 58 insertions(+), 6 deletions(-)
25542
25543 commit aafff0b9528952fbbe9d04a70bf8c76ee701743f
25544 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25545 Date:   Sun May 24 23:50:03 2009 +0300
25546
25547     [boilerplate] Check for connect() in libsocket.
25548     
25549     Solaris requires -lsocket to be able to talk to
25550     the any2ppm daemon over unix domain sockets.
25551
25552  boilerplate/Makefile.am   |    2 ++
25553  build/configure.ac.system |    4 ++++
25554  2 files changed, 6 insertions(+)
25555
25556 commit c4c06931690226e12622a957bbb6d652134f78b0
25557 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25558 Date:   Sun May 24 16:14:33 2009 +0300
25559
25560     [test] Make test constructors without perl.
25561     
25562     Remove the dependency on perl when building the test suite
25563     by replacing the script which makes cairo-test-constructors.c
25564     with a C program.
25565
25566  test/.gitignore                      |    1 +
25567  test/Makefile.am                     |    9 +-
25568  test/Makefile.win32                  |    7 +-
25569  test/make-cairo-test-constructors.c  |  153 ++++++++++++++++++++++++++++++++++
25570  test/make-cairo-test-constructors.pl |   18 ----
25571  5 files changed, 165 insertions(+), 23 deletions(-)
25572
25573 commit cdd27a8d4cc3486867cff4ce81bb4e064eb74d58
25574 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25575 Date:   Sun May 24 16:19:31 2009 +0300
25576
25577     [test] Never use gcc __attribute__ magic for constructors.
25578     
25579     The configure test for __attribute__((constructor)) succeeds when
25580     compiling with Sun Studio 12 on OpenSolaris but the attribute
25581     is just ignored and has no actual effect.  This causes the test
25582     suite to not run any tests at all.  With this patch we revert to
25583     always using make-cairo-test-constructors.pl.
25584
25585  build/configure.ac.system |   10 ----------
25586  test/Makefile.am          |    7 ++-----
25587  test/cairo-test-private.h |    2 --
25588  test/cairo-test-runner.c  |    2 --
25589  test/cairo-test.h         |   14 --------------
25590  5 files changed, 2 insertions(+), 33 deletions(-)
25591
25592 commit 46eb56a99f72b364e3eabe46f9b2995ed0696bd3
25593 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25594 Date:   Thu Jun 18 16:42:53 2009 +0300
25595
25596     [cairo-surface] Handle the all clipped out case for regions.
25597     
25598     Explicitly handle a region clip which represents that the
25599     entire surface is clipped out by passing in a temporary
25600     empty region to the backend set_clip_region() method.
25601     Previously the passed in region may have been NULL even
25602     when clip->all_clipped = TRUE.
25603     
25604     Fixes a bug tickled by the clip-all test case which was
25605     brought to light by 394e139213e8f6692115c4c24818bfeb5e6d456a.
25606
25607  src/cairo-surface.c |   34 +++++++++++++++++++++++++++++++---
25608  1 file changed, 31 insertions(+), 3 deletions(-)
25609
25610 commit 002264d572841f06930869a6c87fa2c987346dd6
25611 Author: Chris Wilson <chris@chris-wilson.co.uk>
25612 Date:   Wed Jun 17 17:15:26 2009 +0100
25613
25614     [clip] Missing {} (coding style)
25615     
25616     Carl spotted that I'd slipped in a little CODING_STYLE violation.
25617
25618  src/cairo-clip.c |    3 ++-
25619  1 file changed, 2 insertions(+), 1 deletion(-)
25620
25621 commit bc87074185592eae367b6c091241957b94202fda
25622 Author: Nis Martensen <nis.martensen@web.de>
25623 Date:   Tue Jun 16 23:27:20 2009 +0200
25624
25625     [path] Fix missing implicit move-to
25626     
25627     When cairo_curve_to happens to start a new subpath (e.g., after a call
25628     to cairo_new_sub_path()), it also needs to update the last_move_point.
25629     Otherwise the new current point after a close_path() will be at an
25630     unexpected position.
25631     
25632     Therefore, call _cairo_path_fixed_move_to() explicitly.
25633
25634  AUTHORS                |    1 +
25635  src/cairo-path-fixed.c |    6 +++---
25636  2 files changed, 4 insertions(+), 3 deletions(-)
25637
25638 commit 3c5e57e694d1a8a0a48a66e0d61d8257c23a780e
25639 Author: Nis Martensen <nis.martensen@web.de>
25640 Date:   Tue Jun 16 23:38:50 2009 +0200
25641
25642     [test] Verify current point position after subpath closure
25643     
25644     Make sure cairo_close_path always takes the current point where it
25645     should be.
25646
25647  test/Makefile.am                      |    1 +
25648  test/Makefile.sources                 |    1 +
25649  test/close-path-current-point.c       |   95 +++++++++++++++++++++++++++++++++
25650  test/close-path-current-point.ref.png |  Bin 0 -> 1916 bytes
25651  4 files changed, 97 insertions(+)
25652
25653 commit 394e139213e8f6692115c4c24818bfeb5e6d456a
25654 Author: Chris Wilson <chris@chris-wilson.co.uk>
25655 Date:   Wed Jun 17 14:46:53 2009 +0100
25656
25657     [clip] During _clip() limit the extracted traps to the current clip extents
25658     
25659     By applying a tight _cairo_traps_limit() we can reduce the amount of work
25660     we need to do when tessellating the path and extracting the trapezoids.
25661
25662  src/cairo-clip.c |   39 +++++++++++++++++++++++++++++++++++----
25663  1 file changed, 35 insertions(+), 4 deletions(-)
25664
25665 commit 650b85ec7721fb1302284e3ca4b7f4b72358abed
25666 Author: Chris Wilson <chris@chris-wilson.co.uk>
25667 Date:   Wed Jun 17 14:19:19 2009 +0100
25668
25669     [clip] Avoid copying region within  _cairo_clip_intersect_region()
25670     
25671     Within _cairo_clip_intersect_region() we can simply assign the freshly
25672     extracted traps-region if we previously had no region set.
25673
25674  src/cairo-clip.c |   12 +++---------
25675  1 file changed, 3 insertions(+), 9 deletions(-)
25676
25677 commit 4bc89e224f74f24272c97dec93d70f0c4dd1963c
25678 Author: Chris Wilson <chris@chris-wilson.co.uk>
25679 Date:   Tue Jun 16 15:13:46 2009 +0100
25680
25681     [NEWS] Add release notes from 1.8.8
25682
25683  NEWS |   69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
25684  1 file changed, 68 insertions(+), 1 deletion(-)
25685
25686 commit 116c93cb7fe8ad55457c53b4652e8d3117581158
25687 Author: Chris Wilson <chris@chris-wilson.co.uk>
25688 Date:   Tue Jun 16 11:36:36 2009 +0100
25689
25690     [cairo] Remove instance of 'return free()'
25691     
25692     Gah! This is a GCC-ism, so therefore it has to go.
25693
25694  src/cairo.c |    3 ++-
25695  1 file changed, 2 insertions(+), 1 deletion(-)
25696
25697 commit 22587f57bd5d1b4440d936cd4655a7e8fcebdf36
25698 Author: Vladimir Vukicevic <vladimir@pobox.com>
25699 Date:   Sun Jun 14 20:43:05 2009 +0100
25700
25701     Import Qt backend by Mozilla
25702     
25703     Written by Vladimir Vukicevic to enable integration with Qt embedded
25704     devices, this backend allows cairo code to target QPainter, and use
25705     it as a source for other cairo backends.
25706     
25707     This imports the sources from mozilla-central:
25708     http://mxr.mozilla.org/mozilla-central/find?text=&kind=text&string=cairo-qpainter
25709     renames them from cairo-qpainter to cairo-qt, and integrates the patch
25710     by Oleg Romashin:
25711     https://bugs.freedesktop.org/attachment.cgi?id=18953
25712     
25713     And then attempts to restore 'make check' to full functionality.
25714     
25715     However:
25716      - C++ does not play well with the PLT symbol hiding, and leaks into the
25717        global namespace. 'make check' fails at check-plt.sh
25718     
25719      - Qt embeds a GUI into QApplication which it requires to construct any
25720        QPainter drawable, i.e. used by the boilerplate to create a cairo-qt
25721        surface, and this leaks fonts (cairo-ft-fonts no less) causing assertion
25722        failures that all cairo objects are accounted for upon destruction.
25723     
25724     [Updated by Chris Wilson]
25725     Acked-by: Jeff Muizelaar <jeff@infidigm.net>
25726     Acked-by: Carl Worth <cworth@cworth.org>
25727
25728  boilerplate/Makefile.sources               |    3 +
25729  boilerplate/Makefile.win32.features        |   10 +
25730  boilerplate/cairo-boilerplate-qt-private.h |   60 +
25731  boilerplate/cairo-boilerplate-qt.cpp       |   90 ++
25732  boilerplate/cairo-boilerplate.c            |   23 +
25733  boilerplate/cairo-boilerplate.h            |    3 +
25734  build/Makefile.win32.features              |    1 +
25735  build/Makefile.win32.features-h            |    3 +
25736  build/configure.ac.features                |    1 +
25737  configure.ac                               |   11 +
25738  perf/cairo-perf-trace.c                    |    1 +
25739  perf/cairo-perf.c                          |    3 +-
25740  src/Makefile.am                            |    2 +-
25741  src/Makefile.sources                       |    3 +
25742  src/Makefile.win32.features                |   14 +
25743  src/cairo-debug.c                          |   42 +
25744  src/cairo-qt-surface.cpp                   | 1876 ++++++++++++++++++++++++++++
25745  src/cairo-qt.h                             |   89 ++
25746  src/cairo-xlib-surface.c                   |    6 +
25747  src/cairo.h                                |    4 +-
25748  src/check-def.sh                           |    7 +-
25749  src/check-preprocessor-syntax.sh           |    3 +-
25750  22 files changed, 2247 insertions(+), 8 deletions(-)
25751
25752 commit 7d3881114add18d5934073d0b04755d343ea38c6
25753 Author: Chris Wilson <chris@chris-wilson.co.uk>
25754 Date:   Mon Jun 15 15:13:43 2009 +0100
25755
25756     [perf] Report errors during replays
25757
25758  perf/cairo-perf-trace.c |   11 ++++++++++-
25759  1 file changed, 10 insertions(+), 1 deletion(-)
25760
25761 commit 061e0477e9a894241806eeacbde2f3770b751f34
25762 Author: Chris Wilson <chris@chris-wilson.co.uk>
25763 Date:   Mon Jun 15 15:10:50 2009 +0100
25764
25765     [perf] Report iteration count
25766     
25767     Show number of discard results by showing the number of statistically
25768     valid samples out of total population count.
25769
25770  perf/cairo-perf-trace.c |    8 ++++----
25771  1 file changed, 4 insertions(+), 4 deletions(-)
25772
25773 commit bab8af62e772844f08a244d99f705e318af3f58c
25774 Author: Chris Wilson <chris@chris-wilson.co.uk>
25775 Date:   Mon Jun 15 15:01:34 2009 +0100
25776
25777     [region] Add PLT entry for cairo_region_create_rectangles()
25778
25779  src/cairo-region.c |    5 +++--
25780  1 file changed, 3 insertions(+), 2 deletions(-)
25781
25782 commit 6da9c410d4696ebba0fb563a858f1625bf3b1f9e
25783 Author: Chris Wilson <chris@chris-wilson.co.uk>
25784 Date:   Mon Jun 15 12:14:51 2009 +0100
25785
25786     Missing header file for cairo-test-null-surface.
25787
25788  src/test-null-surface.h |   46 ++++++++++++++++++++++++++++++++++++++++++++++
25789  1 file changed, 46 insertions(+)
25790
25791 commit e5727e20f52eb0308a8ad1c44a6eb4c7c65d7ff0
25792 Author: Chris Wilson <chris@chris-wilson.co.uk>
25793 Date:   Mon Jun 15 11:58:58 2009 +0100
25794
25795     Expose _cairo_null_surface_create() via a test surface
25796     
25797     Using a null surface is a convenient method to measure the overhead of the
25798     performance testing framework, so export it although as a test-surface so
25799     that it will only be available in development builds and not pollute
25800     distributed libraries.
25801
25802  .../cairo-boilerplate-test-surfaces-private.h      |   10 ++++
25803  boilerplate/cairo-boilerplate-test-surfaces.c      |   16 ++++++
25804  boilerplate/cairo-boilerplate.c                    |    9 ++++
25805  perf/cairo-perf-trace.c                            |    6 +--
25806  src/Makefile.sources                               |    2 +
25807  src/cairo-analysis-surface.c                       |   56 ++++++++++++++++++--
25808  src/test-null-surface.c                            |   48 +++++++++++++++++
25809  test/cairo-test.c                                  |   14 +++--
25810  util/cairo-trace/trace.c                           |   26 +++++++++
25811  9 files changed, 175 insertions(+), 12 deletions(-)
25812
25813 commit f2057061c67236a79c8bb69b84e44e151109629a
25814 Author: Chris Wilson <chris@chris-wilson.co.uk>
25815 Date:   Sun Jun 14 09:10:08 2009 +0100
25816
25817     [trace] Add sticky bit to (system-wide) trace output dir
25818     
25819     Need to allow user programs to dump their traces into the common output
25820     directory, when using /etc/ld.so.preload to capture traces for the entire
25821     desktop.
25822
25823  util/cairo-trace/Makefile.am |    3 ++-
25824  1 file changed, 2 insertions(+), 1 deletion(-)
25825
25826 commit 3fe50a77ea21bcddb701a8640b5ecad9f6f5ab01
25827 Author: Chris Wilson <chris@chris-wilson.co.uk>
25828 Date:   Sat Jun 13 22:27:17 2009 +0100
25829
25830     [configure] Rephrase warning message for disabling core features.
25831     
25832     "strictly recommended" is an odd phrase and though the stern warning is
25833     appropriate as replacing a system library with a more limited version is
25834     likely to cause mayhem, we are but mere servants and should be reserved in
25835     our parlance.
25836
25837  build/configure.ac.features |    6 +++---
25838  1 file changed, 3 insertions(+), 3 deletions(-)
25839
25840 commit 5d57aeaa23566739ba01a0fac1c3b90ce27b28cd
25841 Author: Søren Sandmann Pedersen <sandmann@redhat.com>
25842 Date:   Tue May 26 17:53:37 2009 -0400
25843
25844     Reinstate cairo_region_create_rectangles()
25845     
25846     cairo_region_union_rectangle() is linear in the number of rectangles
25847     in the region. There is no way to make it significantly faster without
25848     losing the ability to return errors synchronously, so a
25849     cairo_region_create_rectangles() is needed to avoid a large
25850     performance regression.
25851
25852  src/cairo-region.c |   44 ++++++++++++++++++++++++++++++++++++++++++++
25853  src/cairo-traps.c  |   47 ++++++++++++++++++++++++++++-------------------
25854  src/cairo.h        |    4 ++++
25855  src/cairoint.h     |    1 +
25856  4 files changed, 77 insertions(+), 19 deletions(-)
25857
25858 commit 216a2e24c7375e48677ce30f9fe8fb3d8bbdd10d
25859 Author: Chris Wilson <chris@chris-wilson.co.uk>
25860 Date:   Sat Jun 13 21:40:05 2009 +0100
25861
25862     [test] Minor tweak to cairo-test-trace
25863     
25864     Cleanse the code of a couple of redundant pointer manipulations.
25865
25866  test/cairo-test-trace.c |   16 +++++++++-------
25867  1 file changed, 9 insertions(+), 7 deletions(-)
25868
25869 commit 2ab4245c866bcefb755a33f7eaa6ef1277f82df1
25870 Author: Chris Wilson <chris@chris-wilson.co.uk>
25871 Date:   Sat Jun 13 21:33:09 2009 +0100
25872
25873     [test] Need SOURCE when copying image data
25874     
25875     As cairo-test-trace does not clear the image data before reuse, using
25876     the default OVER operator will cause differing results for each process
25877     when inadvertently alpha blending into the shared memory region. As we
25878     essentially want to just copy the source pixels, be explicit and set the
25879     SOURCE operator.
25880
25881  test/cairo-test-trace.c |    1 +
25882  1 file changed, 1 insertion(+)
25883
25884 commit e003d665fe45905606a792e4a783f65fc7e84550
25885 Author: Chris Wilson <chris@chris-wilson.co.uk>
25886 Date:   Sat Jun 13 19:18:11 2009 +0100
25887
25888     [test] Disable compilation of cairo-test-trace without shm_open()
25889     
25890     Remember to only add cairo-test-trace to the list of EXTRA_PROGRAM so long
25891     as we can actually compile it.
25892
25893  test/Makefile.am |    3 ++-
25894  1 file changed, 2 insertions(+), 1 deletion(-)
25895
25896 commit c092136fe9e5fee71dfe02f945fe5676f43b2d05
25897 Author: Chris Wilson <chris@chris-wilson.co.uk>
25898 Date:   Sat Jun 13 18:59:17 2009 +0100
25899
25900     [configure] Check for shm_open()
25901     
25902     As needed for cairo-test-trace.
25903
25904  build/configure.ac.system |    8 ++++++++
25905  test/Makefile.am          |    4 +++-
25906  2 files changed, 11 insertions(+), 1 deletion(-)
25907
25908 commit f298dd92ca0b789a3d2b591753c992e1673b2d87
25909 Author: Chris Wilson <chris@chris-wilson.co.uk>
25910 Date:   Sat Jun 13 18:49:16 2009 +0100
25911
25912     [test] Remove dlmalloc
25913     
25914     cairo-test-trace's shared memory allocation pattern is much simpler than
25915     anticipated as it allocates a bunch of images and then frees them all,
25916     and so only needs a simple linear allocator.
25917
25918  test/Makefile.am        |    1 -
25919  test/cairo-test-trace.c |   62 +-
25920  test/dlmalloc.c         | 5099 -----------------------------------------------
25921  3 files changed, 11 insertions(+), 5151 deletions(-)
25922
25923 commit 37f32f29518bdc1428c7ec137f212313e377486c
25924 Author: Chris Wilson <chris@chris-wilson.co.uk>
25925 Date:   Sat Jun 13 18:31:35 2009 +0100
25926
25927     [util] Disable default build of font-view
25928     
25929     It's only a demonstration utility after a all and we do not need to incur
25930     the cost of relinking it everytime we modify the main library.
25931
25932  util/Makefile.am |    2 +-
25933  1 file changed, 1 insertion(+), 1 deletion(-)
25934
25935 commit 0eca1b17b14057ef88ae2df500679e62ffb50118
25936 Author: Chris Wilson <chris@chris-wilson.co.uk>
25937 Date:   Sat Jun 13 17:16:20 2009 +0100
25938
25939     [surface] Give ownership of the snapshot to the snapshotter.
25940     
25941     Previously the reference to the newly created snapshot was owned by the
25942     containing pattern. The consequence of this was that when the pattern was
25943     destroyed the snapshot was cleaned up which prevent reuse of the snapshot
25944     across multiple pages. Transferring ownership upon attachment of the
25945     snapshot to the target means that the snapshot stays in existence until
25946     the target itself is destroyed or modified *and* the containing pattern
25947     is consumed. Obvious in hindsight.
25948
25949  src/cairo-surface.c |   15 ++++++++++++++-
25950  1 file changed, 14 insertions(+), 1 deletion(-)
25951
25952 commit a1b3392e60b6b4ff4b650f4d48d56568c1851245
25953 Author: Chris Wilson <chris@chris-wilson.co.uk>
25954 Date:   Sat Jun 13 16:37:43 2009 +0100
25955
25956     [surface] Mark cairo_surface_show_page() with begin-modification
25957     
25958     cairo_surface_show_page() clears the surface after presentation, so we
25959     need to discard the snapshots here.
25960
25961  src/cairo-surface.c |    2 +-
25962  1 file changed, 1 insertion(+), 1 deletion(-)
25963
25964 commit 1798bdd322e0d25147195198bf0c5e9506c61a15
25965 Author: Adrian Johnson <ajohnson@redneon.com>
25966 Date:   Sat Jun 13 22:47:41 2009 +0930
25967
25968     Fix PDF pattern embedding
25969     
25970     The PDF snapshot cow patch was reusing a previously emitted surface
25971     pattern if the surface unique id matched the current surface. This
25972     resulted in incorrect output as the new pattern may have a different
25973     pattern matrix.
25974     
25975     This patch fixes the PDF backend to always emit a new pattern but
25976     re-use previously emitted image or metasurface XObjects.
25977
25978  src/cairo-pdf-surface-private.h |   21 +-
25979  src/cairo-pdf-surface.c         |  532 ++++++++++++++++++++++++++-------------
25980  2 files changed, 372 insertions(+), 181 deletions(-)
25981
25982 commit f115c5479ead934774fea99d74d780e2bb1681c4
25983 Author: Chris Wilson <chris@chris-wilson.co.uk>
25984 Date:   Sat Jun 13 15:49:15 2009 +0100
25985
25986     [trace] Strip absolute path off name when profiling
25987     
25988     Carl spotted this last night, but I misinterpreted it as an old problem
25989     caused by the application changing its working directory before its first
25990     cairo call - thus causing cairo-trace to attempt to open a file in the new
25991     directory. Instead the problem was attempting to trace an executable with
25992     an absolute path, where we just tagged it with a .lzma extentsion and
25993     attempted to pipe the output there. Obviously this fails for the user
25994     profiling system binaries. So use basename to strip the leading path.
25995
25996  util/cairo-trace/cairo-trace.in |    5 +++--
25997  1 file changed, 3 insertions(+), 2 deletions(-)
25998
25999 commit c52eed6680dd13f6bc65dc4a26b6c8eab5a94a54
26000 Author: Chris Wilson <chris@chris-wilson.co.uk>
26001 Date:   Sat Jun 13 15:42:43 2009 +0100
26002
26003     [trace] Handle wrapping python
26004     
26005     python lazily loads libcairo.so and so it is not available via RTLD_NEXT,
26006     and we need to dlopen cairo ourselves. Similarly the linker is not able to
26007     resolve any naked function references and so we need to ensure that all of
26008     our own calls into the library are wrapped with DLCALL.
26009
26010  util/cairo-trace/trace.c |  145 ++++++++++++++++++++++++++--------------------
26011  1 file changed, 83 insertions(+), 62 deletions(-)
26012
26013 commit 606790a86083d31fa50ed5e0cf621eca56c16e33
26014 Author: Chris Wilson <chris@chris-wilson.co.uk>
26015 Date:   Sat Jun 13 14:07:22 2009 +0100
26016
26017     [script] Disable compilation of examples
26018     
26019     Now that cairo-perf-trace exists and is a far superior replay tool, use
26020     EXTRA_PROGRAM for the original replay tools.
26021
26022  util/cairo-script/Makefile.am |    2 +-
26023  1 file changed, 1 insertion(+), 1 deletion(-)
26024
26025 commit 31b7652e1fa2ab2bd9e9df7f5517b7d678faf6aa
26026 Author: Chris Wilson <chris@chris-wilson.co.uk>
26027 Date:   Sat Jun 13 12:19:51 2009 +0100
26028
26029     [test] Never, ever, blame a crashing test on external factors.
26030
26031  test/cairo-test-runner.c |    2 +-
26032  1 file changed, 1 insertion(+), 1 deletion(-)
26033
26034 commit 3dde883b779b81b95f420039c02b51b029311f78
26035 Author: Chris Wilson <chris@chris-wilson.co.uk>
26036 Date:   Sat Jun 13 10:13:20 2009 +0100
26037
26038     [test] Code review after sleep
26039     
26040     Review cairo-test-trace.c and rewrite parts to ease understanding and fix
26041     various bugs - such as failure to notice the slaves crashing and not
26042     releasing our shared memory after an interrupt.
26043
26044  test/cairo-test-trace.c |  400 ++++++++++++++++++++++++++++-------------------
26045  1 file changed, 236 insertions(+), 164 deletions(-)
26046
26047 commit 1f542965f0310aed493651b8ddc1e98a4192b977
26048 Author: Chris Wilson <chris@chris-wilson.co.uk>
26049 Date:   Sat Jun 13 08:24:22 2009 +0100
26050
26051     [perf] Mention cairo-perf-compare-backends in the README
26052
26053  perf/README |   16 ++++++++++++++++
26054  1 file changed, 16 insertions(+)
26055
26056 commit 3b6e4018c69f88135f8d937724acf90adb003bad
26057 Author: Chris Wilson <chris@chris-wilson.co.uk>
26058 Date:   Fri Jun 12 22:19:56 2009 +0100
26059
26060     [test] Add cairo-test-trace
26061     
26062     The basic premise is that we feed the trace to multiple backends in
26063     parallel and compare the output at the end of each context (based on
26064     the premise that contexts demarcate expose events, or their logical
26065     equivalents) with that of the image[1] backend. Each backend is
26066     executed in a separate process, for robustness, with the image data
26067     residing in shared memory and synchronising over a socket.
26068     
26069     [1] Should be reference implementation, currently the image backend is
26070         considered to be the reference for all other backends.
26071
26072  test/Makefile.am        |   16 +-
26073  test/cairo-test-trace.c | 1225 ++++++++++++
26074  test/dlmalloc.c         | 5099 +++++++++++++++++++++++++++++++++++++++++++++++
26075  3 files changed, 6339 insertions(+), 1 deletion(-)
26076
26077 commit a41e1275d28317c88e29b7f142cfc835673c01f5
26078 Author: Chris Wilson <chris@chris-wilson.co.uk>
26079 Date:   Fri Jun 12 12:32:51 2009 +0100
26080
26081     [boilerplate] Make array of targets const.
26082     
26083     Protect the boilerplate targets from unexpected modifications.
26084
26085  boilerplate/cairo-boilerplate.c |    8 ++++----
26086  boilerplate/cairo-boilerplate.h |    4 ++--
26087  perf/cairo-perf-trace.c         |    6 +++---
26088  perf/cairo-perf.c               |    4 ++--
26089  perf/cairo-perf.h               |    4 ++--
26090  test/cairo-test.h               |    2 +-
26091  6 files changed, 14 insertions(+), 14 deletions(-)
26092
26093 commit 6aebde6598c629d667b06e20111106832d139c4d
26094 Author: Chris Wilson <chris@chris-wilson.co.uk>
26095 Date:   Fri Jun 12 12:25:22 2009 +0100
26096
26097     [boilerplate] Export cairo_boilerplate_get_image_target()
26098     
26099     A routine to scan the compiled list of targets and return the entry
26100     corresponding to the image backend.
26101
26102  boilerplate/cairo-boilerplate.c |   17 +++++++++++++++++
26103  boilerplate/cairo-boilerplate.h |    3 +++
26104  2 files changed, 20 insertions(+)
26105
26106 commit d008167b9bcd6a24199740183bbfcabcfdccdd63
26107 Author: Carl Worth <cworth@cworth.org>
26108 Date:   Fri Jun 12 12:08:22 2009 -0700
26109
26110     Makefile: Fix two typos preventing doc-publish from working
26111     
26112     It seems that everything up to this point in release-publish
26113     worked fine, so with these fixes, hopefully the next run of
26114     make release-publish will work without any snags.
26115
26116  build/Makefile.am.releasing |    4 ++--
26117  1 file changed, 2 insertions(+), 2 deletions(-)
26118
26119 commit 98eb84cfbbf2cfdb0153c8e924099cef016a412a
26120 Author: Carl Worth <cworth@cworth.org>
26121 Date:   Fri Jun 12 12:07:59 2009 -0700
26122
26123     Increment version to 1.9.3 after the 1.9.2 snapshot.
26124
26125  cairo-version.h |    2 +-
26126  1 file changed, 1 insertion(+), 1 deletion(-)
26127
26128 commit e9b9d2a7c17ca4b2bc2991fdc4893aed850578db
26129 Author: Carl Worth <cworth@cworth.org>
26130 Date:   Thu Jun 11 15:28:59 2009 -0700
26131
26132     Update version to 1.9.2
26133     
26134     In preparation for the (long overdue) 1.9.2 snapshot today.
26135
26136  cairo-version.h |    2 +-
26137  1 file changed, 1 insertion(+), 1 deletion(-)
26138
26139 commit 8ac8c5b428d11b11ba9fb55264cd9091368f6acb
26140 Author: Carl Worth <cworth@cworth.org>
26141 Date:   Fri Jun 12 11:49:52 2009 -0700
26142
26143     NEWS: Fix date and name of 1.9.2 snapshot
26144     
26145     It's a snapshot, not a release, and the broken REFERENCE_IMAGE list
26146     derailed me from finishing yesterday.
26147
26148  NEWS |    4 ++--
26149  1 file changed, 2 insertions(+), 2 deletions(-)
26150
26151 commit 3f474555dd00b8585ae3db848cf46984d77bd16e
26152 Author: Chris Wilson <chris@chris-wilson.co.uk>
26153 Date:   Fri Jun 12 11:19:50 2009 +0100
26154
26155     [test] Add jp2.jp2 to EXTRA_DIST
26156     
26157     Required by test/mime-data and so triggering failures during distcheck as
26158     it was not packaged.
26159
26160  test/Makefile.am |    1 +
26161  1 file changed, 1 insertion(+)
26162
26163 commit 7f114b781f5c530d57530e5f76402e41cdabac6b
26164 Author: Chris Wilson <chris@chris-wilson.co.uk>
26165 Date:   Fri Jun 12 11:15:16 2009 +0100
26166
26167     [doc] Workaround read-only tree during make distcheck
26168     
26169     This looks to be an ugly necessity to work-around the nasty issue that
26170     we currently gtkdoc expect to be run inside the source tree. I'm sure
26171     Behdad will be able to resolve this much more elegantly than this quick
26172     and fragile attempt.
26173
26174  build/Makefile.am.gtk-doc   |   11 ++++++-----
26175  build/configure.ac.features |    2 +-
26176  doc/public/Makefile.am      |    5 +++--
26177  3 files changed, 10 insertions(+), 8 deletions(-)
26178
26179 commit 1498c9c333d7579231ac44a91f00f0a49360702d
26180 Author: Chris Wilson <chris@chris-wilson.co.uk>
26181 Date:   Fri Jun 12 07:38:00 2009 +0100
26182
26183     [script] Also mmap backing storage for the pattern descriptions
26184     
26185     These can be reasonably large and persist for long times due to the
26186     font holdover caches, so manually swap them out to save space on tiny
26187     swapless machines.
26188
26189  util/cairo-script/cairo-script-operators.c |   14 +++++++++++++-
26190  1 file changed, 13 insertions(+), 1 deletion(-)
26191
26192 commit 80ba06803b50cc0f76039939f25372cbbe2e8d81
26193 Author: Chris Wilson <chris@chris-wilson.co.uk>
26194 Date:   Fri Jun 12 08:03:12 2009 +0100
26195
26196     [Makefile] Update list of reference images.
26197
26198  test/Makefile.am | 1432 +++++++++++++++++++++++++++++++-----------------------
26199  1 file changed, 818 insertions(+), 614 deletions(-)
26200
26201 commit fb21a0da8730823ff092f8e298af3d5b4e8c90e4
26202 Author: Carl Worth <cworth@cworth.org>
26203 Date:   Thu Jun 11 15:28:02 2009 -0700
26204
26205     Update CLEANFILES for 'make distcheck'
26206     
26207     This is a standard part of the release ritual.
26208
26209  test/Makefile.am |    7 ++++---
26210  1 file changed, 4 insertions(+), 3 deletions(-)
26211
26212 commit a4f023ef2eb041fecba5f3fd2d5a1594975ca211
26213 Author: Carl Worth <cworth@cworth.org>
26214 Date:   Thu Jun 11 14:51:14 2009 -0700
26215
26216     NEWS: Update date for snapshot planned for today.
26217
26218  NEWS |    2 +-
26219  1 file changed, 1 insertion(+), 1 deletion(-)
26220
26221 commit 82139b42919be1acf6bade733bb2ff489e50812d
26222 Author: Carl Worth <cworth@cworth.org>
26223 Date:   Thu Jun 11 14:51:10 2009 -0700
26224
26225     NEWS: Explain bovine polaroids a bit more.
26226     
26227     It's a fun joke, but the COW snapshots feature is important enough
26228     that we should actually tell users what it is.
26229
26230  NEWS |   11 +++++++++--
26231  1 file changed, 9 insertions(+), 2 deletions(-)
26232
26233 commit 4d5f66d5b1f243e58d43dc89568be9240262fd5c
26234 Author: Carl Worth <cworth@cworth.org>
26235 Date:   Thu Jun 11 14:42:11 2009 -0700
26236
26237     NEWS: Cleanup in preparation for 1.9.2 snapshot
26238     
26239     Mostly just wrapping to a reasonable line length, and some minor
26240     wording changes.
26241
26242  NEWS |   71 ++++++++++++++++++++++++++++++++++++++++++------------------------
26243  1 file changed, 45 insertions(+), 26 deletions(-)
26244
26245 commit 19630f4b73a4fdfb9855ececd6614493e68d3b95
26246 Author: Carl Worth <cworth@cworth.org>
26247 Date:   Wed Jun 10 17:39:48 2009 -0700
26248
26249     Make the warning about the need to --enable-gtk-doc more explicit.
26250     
26251     I must have read it three times and kept thinking, "but I *did*
26252     just install gtk-doc", before I finally understood what it was
26253     trying to tell me.
26254
26255  build/Makefile.am.gtk-doc |    4 ++--
26256  1 file changed, 2 insertions(+), 2 deletions(-)
26257
26258 commit 3aaea453b0f0880d6c8825be21e67821732d1635
26259 Author: Chris Wilson <chris@chris-wilson.co.uk>
26260 Date:   Thu Jun 11 22:36:01 2009 +0100
26261
26262     [script] Store fonts inside mmaped files.
26263     
26264     As an aide to tiny swapless systems write the rarely used bytes that
26265     define type42 fonts into a deleted file and mmap them back into our
26266     address space.
26267
26268  build/configure.ac.system                  |    3 +
26269  util/cairo-script/cairo-script-operators.c |   91 +++++++++++++++++++++++-----
26270  2 files changed, 78 insertions(+), 16 deletions(-)
26271
26272 commit 6167f27adfd530bdf091a0e7a3e0141d5db66f00
26273 Author: Chris Wilson <chris@chris-wilson.co.uk>
26274 Date:   Thu Jun 11 22:33:00 2009 +0100
26275
26276     [script] Fix memleak of duplicated strings from files
26277     
26278     csi_string_new() duplicated the bytes which was not what was desired, so
26279     implement a csi_string_new_for_bytes() to take ownership and prevent the
26280     leak that was occuring, for example, every time we create a new font face.
26281
26282  util/cairo-script/cairo-script-file.c    |    5 +++--
26283  util/cairo-script/cairo-script-objects.c |   27 +++++++++++++++++++++++++++
26284  util/cairo-script/cairo-script-private.h |    6 ++++++
26285  3 files changed, 36 insertions(+), 2 deletions(-)
26286
26287 commit 13b56c42bfdb9ad36f9b1bd22f83d7ef3a074ddc
26288 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
26289 Date:   Thu Jun 11 17:32:23 2009 -0400
26290
26291     Fix compilation on OS X when compiling for 64 bit
26292     
26293     OS X doesn't support ATSUI in 64 bit so don't include the cairo ATSUI
26294     API in that case.
26295
26296  src/cairo-quartz-font.c |    3 ++-
26297  src/cairo-quartz.h      |    2 ++
26298  2 files changed, 4 insertions(+), 1 deletion(-)
26299
26300 commit 9e3019ef987f8d3ad424c13ffae5a15b08beb327
26301 Author: Chris Wilson <chris@chris-wilson.co.uk>
26302 Date:   Thu Jun 11 22:27:18 2009 +0100
26303
26304     [perf] Add libcairoperf.la to DEPENDENCIES
26305     
26306     It seems adding the explicit dependencies to encourage it to rebuild
26307     components from other parts of the source tree removed the automagic
26308     dependency of libcairoperf.la. So add it to the list. Maybe this is not
26309     the correct solution, but it works again for now.
26310
26311  perf/Makefile.am |    6 ++++--
26312  1 file changed, 4 insertions(+), 2 deletions(-)
26313
26314 commit 55cbf525479cde8251cc9199f9db89e510d6a9c1
26315 Author: Chris Wilson <chris@chris-wilson.co.uk>
26316 Date:   Thu Jun 11 15:40:27 2009 +0100
26317
26318     [perf] Fix -i getopt parsing.
26319     
26320     Gah, I presumed that the ':' separated options that required arguments
26321     from stand-alone options. I was wrong. The ':' indicates that the
26322     preceding option takes an argument. So add it back to -i.
26323
26324  perf/cairo-perf-trace.c |    2 +-
26325  1 file changed, 1 insertion(+), 1 deletion(-)
26326
26327 commit 614bfdc0846856653a742b035e70d009b0a716cc
26328 Author: Chris Wilson <chris@chris-wilson.co.uk>
26329 Date:   Thu Jun 11 15:35:05 2009 +0100
26330
26331     [xcb] Trivial compile fix.
26332     
26333     Update show_glyphs() interface.
26334
26335  src/cairo-xcb-surface.c |   11 ++++++-----
26336  1 file changed, 6 insertions(+), 5 deletions(-)
26337
26338 commit f7dbdf1fd1d7cc14491a9419c316b078247e145e
26339 Author: Chris Wilson <chris@chris-wilson.co.uk>
26340 Date:   Mon Jun 8 09:39:20 2009 +0100
26341
26342     [script] Hide pixman-ops when copying pixels
26343     
26344     Seeing unexpected time inside pixman composite is quite disturbing when
26345     trying to track down the apparent slowness in some benchmarks. Remove one
26346     source of this artefact by simply memcpy'ing pixel data when trivial.
26347
26348  util/cairo-script/cairo-script-operators.c |   70 ++++++++++++++++++++++------
26349  1 file changed, 55 insertions(+), 15 deletions(-)
26350
26351 commit ecee5663bf900ab97d2bb7ec41ade838f167e1cd
26352 Author: Chris Wilson <chris@chris-wilson.co.uk>
26353 Date:   Mon Jun 8 01:05:28 2009 +0100
26354
26355     [perf] Fixup compare-backends to work with just a single test.
26356
26357  perf/cairo-perf-compare-backends.c |   17 ++++++-----------
26358  1 file changed, 6 insertions(+), 11 deletions(-)
26359
26360 commit 42c0aee1d9ff5e0182c41ed505a2b0f56e564cbb
26361 Author: Chris Wilson <chris@chris-wilson.co.uk>
26362 Date:   Thu Jun 11 12:58:05 2009 +0100
26363
26364     [perf] Add a -x to exclude traces from a benchmark.
26365     
26366     Read names of traces to exclude from a file specified using -x on the
26367     commandline, i.e.
26368     $ ./cairo-perf-trace -x cairo-traces/tiny.exclude
26369     
26370     This is a convenient method for me to exclude certain traces for
26371     particular machines. For example tiny cannot run
26372     firefox-36-20090609.trace as that has a greater working set than the
26373     available RAM on tiny.
26374
26375  perf/cairo-perf-trace.c |  135 ++++++++++++++++++++++++++++++++++++++++++++---
26376  perf/cairo-perf.h       |    2 +
26377  2 files changed, 130 insertions(+), 7 deletions(-)
26378
26379 commit b40ce402ada8d57c5093715be530df08459d1654
26380 Author: Chris Wilson <chris@chris-wilson.co.uk>
26381 Date:   Thu Jun 11 09:16:29 2009 +0100
26382
26383     [NEWS] Add more notes
26384
26385  NEWS |   50 ++++++++++++++++++++++++++++++++++++++++++++------
26386  1 file changed, 44 insertions(+), 6 deletions(-)
26387
26388 commit 610da573e91810c53305b6bfe02eb7b714e3d08e
26389 Author: Chris Wilson <chris@chris-wilson.co.uk>
26390 Date:   Wed Jun 10 12:59:36 2009 +0100
26391
26392     [win32-font] Non-fatal error from GetGlyphOutlineW(GGO_METRICS)
26393     
26394     If GetGlyphOutlineW(GGO_METRICS) fails to retreive the metrics for the
26395     specified glyph it returns GDI_ERROR. Like ft, do not interpret this as a
26396     fatal error but just mark the glyph as empty.
26397     
26398     Fixes http://bugs.freedesktop.org/show_bug.cgi?id=20255
26399     Bug 20255 -- cairo_scaled_font_glyph_extents breaks with invalid glyph id
26400
26401  src/cairo-win32-font.c |   10 ++--------
26402  1 file changed, 2 insertions(+), 8 deletions(-)
26403
26404 commit 81b5dc42b0e754d602506a8ccd231df9afd71593
26405 Author: Chris Wilson <chris@chris-wilson.co.uk>
26406 Date:   Wed Jun 10 08:49:39 2009 +0100
26407
26408     [perf] Expand the section on cairo-perf-trace in the README
26409     
26410     Promote the information on how to use cairo-perf-trace and include it
26411     immediately after the details on cairo-perf. This should make it much
26412     clearer on how to replay the traces, and the difference between the two
26413     benchmarks.
26414
26415  perf/README |   37 ++++++++++++++++++++++++++++++++++---
26416  1 file changed, 34 insertions(+), 3 deletions(-)
26417
26418 commit ec92e633edd377747155b60aa225b266c38bc498
26419 Author: Chris Wilson <chris@chris-wilson.co.uk>
26420 Date:   Wed Jun 10 08:34:57 2009 +0100
26421
26422     [perf] Couple cairo-perf-traces into make perf
26423     
26424     Rather than complicating cairo-perf to extend it to perform both micro-
26425     and macro-benchmarks, simply run the two binaries in succession during
26426     make perf.
26427     
26428     For bonus points, consider whether we should hook cairo-perf-trace into
26429     cairo-perf-diff.
26430
26431  perf/Makefile.am |    5 +++--
26432  1 file changed, 3 insertions(+), 2 deletions(-)
26433
26434 commit 0db946cdd9fe601a060b62c5df7df3022ea5e2d6
26435 Author: Chris Wilson <chris@chris-wilson.co.uk>
26436 Date:   Tue Jun 9 16:19:36 2009 +0100
26437
26438     [perf] Add explicit dependences for the local libraries
26439     
26440     Update the build rules and add the dependences for the libraries built in
26441     other parts of cairo.
26442
26443  perf/Makefile.am |   11 +++++++++++
26444  1 file changed, 11 insertions(+)
26445
26446 commit 844c809698635cf44658fcbfb5da6976890185b9
26447 Author: Chris Wilson <chris@chris-wilson.co.uk>
26448 Date:   Tue Jun 9 12:45:53 2009 +0100
26449
26450     [boilerplate] Print out known targets on error.
26451     
26452     Improve the 'Cannot find target ...' error message for an incorrect
26453     CAIRO_TEST_TARGET by actually listing the targets that have been compiled
26454     into the test suite.
26455
26456  boilerplate/cairo-boilerplate.c |   15 ++++++++++++++-
26457  1 file changed, 14 insertions(+), 1 deletion(-)
26458
26459 commit ac563715506b911f142dd0e4460a6effee45119d
26460 Author: Chris Wilson <chris@chris-wilson.co.uk>
26461 Date:   Mon Jun 8 23:58:56 2009 +0100
26462
26463     [test] Exercise overlapping glyphs
26464     
26465     Quite an expensive test that converts an image into a distorted array of
26466     glyphs, using a perspective transformation taking the intensity of the
26467     pixel as depth. This generates a pretty picture and many overlapping
26468     glyphs.
26469
26470  test/Makefile.am         |    1 +
26471  test/Makefile.sources    |    1 +
26472  test/mask-glyphs.c       |  175 ++++++++++++++++++++++++++++++++++++++++++++++
26473  test/mask-glyphs.ref.png |  Bin 0 -> 1189352 bytes
26474  4 files changed, 177 insertions(+)
26475
26476 commit 015df191ba947e714285145c3a4ead198ba0d07e
26477 Author: Chris Wilson <chris@chris-wilson.co.uk>
26478 Date:   Mon Jun 8 17:40:16 2009 +0100
26479
26480     [trace] Prevent overflowing the operand stack when recreating objects
26481     
26482     Objects like cairo_scaled_font_t may return a reference to a previously
26483     defined scaled-font instead of creating a new token each time. This caused
26484     cairo-trace to overflow its operand stack by pushing a new instance of the
26485     old token every time. Modify the tracer such that a font token can only
26486     appear once on the stack -- for font-faces we remove the old operand and
26487     for scaled-fonts we simply pop, chosen to reflect expected usage.
26488
26489  util/cairo-trace/trace.c |   89 ++++++++++++++++++++++++++++++++--------------
26490  1 file changed, 63 insertions(+), 26 deletions(-)
26491
26492 commit 09492288b33c36093e50d39e4e7e632ab659a0e2
26493 Author: Chris Wilson <chris@chris-wilson.co.uk>
26494 Date:   Mon Jun 8 17:38:14 2009 +0100
26495
26496     [trace] Option to re-enable mark-dirty
26497     
26498     Applications such as swfdec have a strictly correct use of mark-dirty and
26499     so we need an option to re-enable mark-dirty tracing in conjunction with
26500     --profile.
26501
26502  util/cairo-trace/cairo-trace.in |    5 +++++
26503  1 file changed, 5 insertions(+)
26504
26505 commit 39bac6edddb8913d07fb25f14f088967ca846a78
26506 Author: Chris Wilson <chris@chris-wilson.co.uk>
26507 Date:   Mon Jun 8 11:52:56 2009 +0100
26508
26509     [perf] Mention cairo-perf-trace early on in the README
26510
26511  perf/README |    2 +-
26512  1 file changed, 1 insertion(+), 1 deletion(-)
26513
26514 commit 34ccaeae2d3cf1b5bdd8b97581d6e70324494356
26515 Author: Chris Wilson <chris@chris-wilson.co.uk>
26516 Date:   Mon Jun 8 00:12:28 2009 +0100
26517
26518     [perf] Continuously update the summary for traces
26519
26520  perf/cairo-perf-trace.c |    2 +-
26521  1 file changed, 1 insertion(+), 1 deletion(-)
26522
26523 commit 055e9b0eb650bec6ae8297e5a36f1cac22c43d56
26524 Author: Chris Wilson <chris@chris-wilson.co.uk>
26525 Date:   Sun Jun 7 23:35:57 2009 +0100
26526
26527     [test] Cache resolved scaled-font
26528     
26529     The intention is to stress test the solid pattern caches, so we can cheat
26530     and avoid repeatedly resolving the toy font.
26531
26532  test/solid-pattern-cache-stress.c |    6 ++++++
26533  1 file changed, 6 insertions(+)
26534
26535 commit 25c37509396a89deb644cbd6ada99137ba9d3095
26536 Author: Chris Wilson <chris@chris-wilson.co.uk>
26537 Date:   Sun Jun 7 19:23:04 2009 +0100
26538
26539     [scaled-font] Report the original-font-face
26540     
26541     When queried with cairo_scaled_font_get_font_face() return the original
26542     font-face which matches the one supplied by the user, rather than the
26543     implementation derived face.
26544     
26545     Fixes test/font-face-get-type.
26546
26547  src/cairo-scaled-font.c |    3 +++
26548  1 file changed, 3 insertions(+)
26549
26550 commit 6d693f6bd7c629372cfb6c284ca98dc04619bfe9
26551 Author: Chris Wilson <chris@chris-wilson.co.uk>
26552 Date:   Sun Jun 7 18:59:36 2009 +0100
26553
26554     [ft] Support font_face->get_implementation
26555     
26556     The lazy resolution of patterns was defeating the scaled_font cache as
26557     ft-fonts that resolved to the same unscaled font were being given different
26558     font-faces upon creation. We can keep the lazy resolution by simply asking
26559     the ft backend to create a fully resolved ft-font-face when we need to
26560     create a scaled-font. This font is then keyed by the resolved font-face
26561     and so will match all future lazily resolved identical patterns.
26562
26563  src/cairo-ft-font.c       |  117 ++++++++++++++++++++-------------------------
26564  src/cairo-scaled-font.c   |   20 +++++---
26565  src/cairo-toy-font-face.c |   41 +++++++++-------
26566  src/cairoint.h            |    9 ++--
26567  4 files changed, 96 insertions(+), 91 deletions(-)
26568
26569 commit a29426f4bffc0a3f5bb349a2ba44203394339ae8
26570 Author: Chris Wilson <chris@chris-wilson.co.uk>
26571 Date:   Sun Jun 7 17:24:40 2009 +0100
26572
26573     [ft] Assert that we create an unscaled font for the resolved pattern
26574
26575  src/cairo-ft-font.c |    2 ++
26576  1 file changed, 2 insertions(+)
26577
26578 commit 7d8a0a1cdd62112ccdae2a80bb55ec9cec99b978
26579 Author: Chris Wilson <chris@chris-wilson.co.uk>
26580 Date:   Sun Jun 7 17:01:57 2009 +0100
26581
26582     [cairo] Keep a small stash of cairo contexts
26583     
26584     A cairo context is meant to be extremely cheap to create such that it can
26585     be used in transient expose events. Thus these are allocated reasonably
26586     frequently and show up malloc profiles.
26587
26588  src/cairo.c |   51 +++++++++++++++++++++++++++++++++++++++++++++++++--
26589  1 file changed, 49 insertions(+), 2 deletions(-)
26590
26591 commit f08fe5b550d53c93b73c6295f8a85a8dcd4a1f4a
26592 Author: Chris Wilson <chris@chris-wilson.co.uk>
26593 Date:   Sun Jun 7 15:55:20 2009 +0100
26594
26595     [trace] Redirect stdout to /dev/null when compressing
26596     
26597     Otherwise we mix in stdout in with the trace and prevent replay.
26598
26599  util/cairo-trace/cairo-trace.in |    2 +-
26600  1 file changed, 1 insertion(+), 1 deletion(-)
26601
26602 commit 750c1b5b48dcd33ba4a4d5290c50f564bf45bc58
26603 Author: Chris Wilson <chris@chris-wilson.co.uk>
26604 Date:   Sat Jun 6 21:45:18 2009 +0100
26605
26606     [configure] Check for FcInit()
26607
26608  configure.ac      |    2 +-
26609  test/cairo-test.c |    2 ++
26610  2 files changed, 3 insertions(+), 1 deletion(-)
26611
26612 commit f7a562a590493904cf10b4fb9af3b42fb3f8a3a2
26613 Author: Chris Wilson <chris@chris-wilson.co.uk>
26614 Date:   Sat Jun 6 14:58:46 2009 +0100
26615
26616     [configure] Don't attempt to build GTK+ utilities on system without GTK+
26617
26618  configure.ac     |    3 ++-
26619  util/Makefile.am |    5 ++++-
26620  2 files changed, 6 insertions(+), 2 deletions(-)
26621
26622 commit 6a5957475139a7c80a6bb55fb63927e5ec8866f6
26623 Author: Eric Anholt <eric@anholt.net>
26624 Date:   Sun Jun 7 10:43:43 2009 +0000
26625
26626     [gl] consolidate the pixman format to GL format/type/internalformat code.
26627     
26628     This means that draw_image gets all the love that the pattern texture code
26629     does.  Not that I'm sure it still needs to exist.
26630
26631  src/cairo-gl-surface.c |  321 ++++++++++++++++++++++++------------------------
26632  1 file changed, 158 insertions(+), 163 deletions(-)
26633
26634 commit cb1e5674cd7a61a2d96bd4ae8895b26686571e78
26635 Author: Eric Anholt <eric@anholt.net>
26636 Date:   Sun Jun 7 10:09:28 2009 +0000
26637
26638     [gl] Add support for more 16-bit image formats.
26639     
26640     Fixes test-fallback16-surface-source
26641
26642  src/cairo-gl-surface.c |   54 ++++++++++++++++++++++++++++++++++++++++++------
26643  1 file changed, 48 insertions(+), 6 deletions(-)
26644
26645 commit 7a95b2745ae619f6ca4631f3cdb03e12203126f3
26646 Author: Chris Wilson <chris@chris-wilson.co.uk>
26647 Date:   Sat Jun 6 21:36:08 2009 +0100
26648
26649     [boilerplate] Minor typo in win32-printing
26650
26651  boilerplate/cairo-boilerplate.c |    2 +-
26652  1 file changed, 1 insertion(+), 1 deletion(-)
26653
26654 commit 16eb160c7794ad34c17c5b12ec586d956baf9831
26655 Author: Chris Wilson <chris@chris-wilson.co.uk>
26656 Date:   Sat Jun 6 20:09:15 2009 +0100
26657
26658     [script] Enable compilation without fontconfig
26659     
26660     Some insane people actually try compiling cairo with freetype and without
26661     fontconfig...
26662
26663  util/cairo-script/cairo-script-operators.c |    6 ++++++
26664  1 file changed, 6 insertions(+)
26665
26666 commit d753ba96aba4dbbcbd0da1823be8824ba233f079
26667 Author: Chris Wilson <chris@chris-wilson.co.uk>
26668 Date:   Fri Jun 5 17:59:38 2009 +0100
26669
26670     [script] Manage used entries within hash tables
26671     
26672     Apply the patch from Karl Tomlinson,
26673     https://bugs.freedesktop.org/attachment.cgi?id=19802, to repack the hash
26674     table if the number of free slots falls too low.
26675
26676  util/cairo-script/cairo-script-hash.c    |  109 ++++++++++++++++++++----------
26677  util/cairo-script/cairo-script-private.h |    1 +
26678  2 files changed, 73 insertions(+), 37 deletions(-)
26679
26680 commit 4ccfd474a36f482adcab49a8d38742121817b47e
26681 Author: Chris Wilson <chris@chris-wilson.co.uk>
26682 Date:   Sat Jun 6 13:32:21 2009 +0100
26683
26684     [perf] Switch to using clock_gettime()
26685     
26686     Try using clock_gettime() for a high resolution stable time source in
26687     preference to the potentially unstable TSC.
26688
26689  build/configure.ac.system |    9 ++++--
26690  perf/cairo-perf-posix.c   |   72 +++++++++++++++++++++++++++++++++------------
26691  2 files changed, 60 insertions(+), 21 deletions(-)
26692
26693 commit 867c88ae90e4e69a556c032fa67d94a292f5d817
26694 Author: Chris Wilson <chris@chris-wilson.co.uk>
26695 Date:   Sat Jun 6 12:59:39 2009 +0100
26696
26697     [script] Add a finish method to the interpreter
26698     
26699     When using fonts circular references are established between the holdover
26700     font caches and the interpreter which need manual intervention via
26701     cairo_script_interpreter_finish() to break.
26702
26703  perf/cairo-perf-trace.c                      |    3 +-
26704  util/cairo-script/cairo-script-interpreter.c |   51 ++++++++++++++++++++------
26705  util/cairo-script/cairo-script-interpreter.h |    3 ++
26706  util/cairo-script/cairo-script-objects.c     |   35 ++++++++++++------
26707  util/cairo-script/cairo-script-private.h     |    3 ++
26708  5 files changed, 70 insertions(+), 25 deletions(-)
26709
26710 commit 098822d7ee7f14096dd269c1bc96e39da126622c
26711 Author: Chris Wilson <chris@chris-wilson.co.uk>
26712 Date:   Sat Jun 6 10:35:19 2009 +0100
26713
26714     [script] Fix erroneous error return when rendering type3 glyphs
26715     
26716     Only return a USER_FONT_ERROR if an error occurs whilst rendering the
26717     glyph!
26718
26719  util/cairo-script/cairo-script-operators.c |    2 +-
26720  1 file changed, 1 insertion(+), 1 deletion(-)
26721
26722 commit 24e51dd2ee04884e1f6f9f527b6675ad5f883ee2
26723 Author: Chris Wilson <chris@chris-wilson.co.uk>
26724 Date:   Fri Jun 5 18:34:29 2009 +0100
26725
26726     [atomic] Hide compiler warnings
26727     
26728     Add uint variants of _cairo_atomic_int_*() to hide the compiler warnings
26729     about sign conversions.
26730
26731  src/cairo-atomic-private.h |    3 +++
26732  src/cairo-surface.c        |    6 +++---
26733  2 files changed, 6 insertions(+), 3 deletions(-)
26734
26735 commit 4ae5e2d44555a7219eb76ee187a8f588606c112f
26736 Author: Chris Wilson <chris@chris-wilson.co.uk>
26737 Date:   Fri Jun 5 18:29:40 2009 +0100
26738
26739     [atomic] Provide mutex-based ptr cmpxchg
26740     
26741     To handle those CPUs where we do not have an atomic cmpxchg.
26742
26743  src/cairo-atomic-private.h |    3 +++
26744  src/cairo-atomic.c         |   13 +++++++++++++
26745  2 files changed, 16 insertions(+)
26746
26747 commit a1d0a06b6275cac3974be84919993e187394fe43
26748 Author: Thomas Jaeger <ThJaeger@gmail.com>
26749 Date:   Thu Feb 19 12:02:41 2009 -0500
26750
26751     xlib, xcb: Hand off EXTEND_PAD/EXTEND_REFLECT to Render
26752     
26753     Most drivers and the X server used to have incorrect RepeatPad/RepeatReflect
26754     implementations, forcing cairo to fall back to client-side software rendering,
26755     which is painfully slow due to pixmaps being transfered over the wire.  These
26756     issues are mostly fixed in the drivers (with the exception of radeonhd, whose
26757     developers didn't respond) and the RepeatPad software fallback is implemented
26758     correctly as of pixman-0.15.0, so this patch will hand off composite operations
26759     with EXTEND_PAD/EXTEND_REFLECT source patterns to XRender.
26760     
26761     There is no way to detect whether the X server or the drivers use a
26762     broken Render implementation, we make a guess based on the server
26763     version:  It's probably safe to assume that 1.7 X servers will use
26764     fixed drivers and a recent enough version of pixman.
26765
26766  AUTHORS                          |    1 +
26767  src/cairo-xcb-surface.c          |   15 +++++++++++++--
26768  src/cairo-xlib-display.c         |   15 +++++++++++----
26769  src/cairo-xlib-private.h         |    1 +
26770  src/cairo-xlib-surface-private.h |    1 +
26771  src/cairo-xlib-surface.c         |   21 ++++++++++++++++++---
26772  6 files changed, 45 insertions(+), 9 deletions(-)
26773
26774 commit 60aefd0d634c531353c92b77b36424b142efeb93
26775 Author: Chris Wilson <chris@chris-wilson.co.uk>
26776 Date:   Fri Jun 5 07:30:13 2009 +0100
26777
26778     [configure] Bump pixman dependency.
26779     
26780     Reflect was only fixed in the 0.15 series, so require at least that
26781     version of pixman so we can that advantage of that and drop our
26782     workaround.
26783
26784  configure.ac |    2 +-
26785  1 file changed, 1 insertion(+), 1 deletion(-)
26786
26787 commit 9d7a7e76b8bccc2517950976bb8557cd7b955a11
26788 Author: Chris Wilson <chris@chris-wilson.co.uk>
26789 Date:   Thu Jun 4 22:19:31 2009 +0100
26790
26791     [scaled-font] Close race from 16d128
26792     
26793     Whilst waiting for the fontmap lock on destruction another thread may not
26794     only have resurrected the font but also destroyed it acquired the lock
26795     first and inserted into the holdovers before the first thread resumes. So
26796     check that the font is not already in the holdovers array before
26797     inserting.
26798
26799  src/cairo-scaled-font-private.h |    6 +++---
26800  src/cairo-scaled-font.c         |   33 +++++++++++++++++++++++----------
26801  2 files changed, 26 insertions(+), 13 deletions(-)
26802
26803 commit f4d9a4482fa1bfa37783ca139e3716c8d8649f32
26804 Author: Chris Wilson <chris@chris-wilson.co.uk>
26805 Date:   Thu Jun 4 14:13:06 2009 +0100
26806
26807     [pattern] Generalise the freed pattern pool
26808     
26809     Also cache recently freed surface and gradient patterns. With thanks to
26810     Jonathan Morton for the inspiration and initial pointer pool code for
26811     pixman.
26812
26813  src/cairo-atomic-private.h     |    1 +
26814  src/cairo-mutex-list-private.h |    1 -
26815  src/cairo-pattern.c            |  170 ++++++++++++++++++++++++++--------------
26816  3 files changed, 112 insertions(+), 60 deletions(-)
26817
26818 commit 132f44dce1884c9beed8c5e6588140ee8fa9cfbe
26819 Author: Chris Wilson <chris@chris-wilson.co.uk>
26820 Date:   Thu Jun 4 14:12:20 2009 +0100
26821
26822     valgrindify init/fini routines
26823     
26824     Annotate object init/fini routines to detect use-after-free for
26825     on-stack/embedded objects.
26826
26827  src/cairo-debug.c        |    2 --
26828  src/cairo-freelist.c     |    7 -------
26829  src/cairo-gstate.c       |    7 +++++++
26830  src/cairo-path-fixed.c   |   10 +++-------
26831  src/cairo-pattern.c      |   49 +++++++++++++++++++++++++++++++++++++++++++++-
26832  src/cairo-pen.c          |    8 ++++++--
26833  src/cairo-polygon.c      |    4 ++++
26834  src/cairo-region.c       |    5 +++++
26835  src/cairo-stroke-style.c |    6 ++++++
26836  src/cairo-traps.c        |    4 ++++
26837  src/cairo.c              |    1 +
26838  src/cairoint.h           |    4 ++++
26839  12 files changed, 88 insertions(+), 19 deletions(-)
26840
26841 commit e89828c5331579d0d4019b6339df09ba1e2aa32e
26842 Author: Chris Wilson <chris@chris-wilson.co.uk>
26843 Date:   Wed Jun 3 21:52:02 2009 +0100
26844
26845     [freelist] valgrindify freed blocks
26846     
26847     Mark freed blocks as unaccessible upon free() and then as undefined
26848     on alloc().
26849
26850  src/cairo-freelist.c |   26 ++++++++++++++++++++++----
26851  1 file changed, 22 insertions(+), 4 deletions(-)
26852
26853 commit 4e11d56f8e5f409ea2476315c9d67116b213b738
26854 Author: Chris Wilson <chris@chris-wilson.co.uk>
26855 Date:   Thu Jun 4 11:16:48 2009 +0100
26856
26857     [perf] Update trace summary after each iteration
26858     
26859     Running the macro-benchmarks takes so long, feedback is important.
26860
26861  perf/cairo-perf-trace.c |   29 ++++++++++++++++++++++++++++-
26862  perf/cairo-perf.h       |    1 +
26863  2 files changed, 29 insertions(+), 1 deletion(-)
26864
26865 commit 5c2e73e74cb9aef92fdd90a91df44b417a036ebd
26866 Author: Chris Wilson <chris@chris-wilson.co.uk>
26867 Date:   Thu Jun 4 10:03:45 2009 +0100
26868
26869     [perf] Enable traces to be interrupted
26870     
26871     Waiting for a long running benchmark can be very annoying, especially if
26872     you just want a rough-and-ready result. So hook into SIGINT and stop the
26873     current benchmark (after the end of the iteration) on the first ^C. A
26874     second ^C within the same iteration will kill the program as before.
26875
26876  perf/cairo-perf-trace.c |   20 +++++++++++++++++++-
26877  1 file changed, 19 insertions(+), 1 deletion(-)
26878
26879 commit 2eaced24475622e73fbf6e3307ab46e3fe37eaef
26880 Author: Chris Wilson <chris@chris-wilson.co.uk>
26881 Date:   Wed Jun 3 21:49:17 2009 +0100
26882
26883     [perf] Reconstruct interpreter for each run
26884     
26885     Destroy the interpreter after each run of a trace so that we collect any
26886     left-over garbage.
26887
26888  perf/cairo-perf-trace.c |   21 ++++++++++-----------
26889  1 file changed, 10 insertions(+), 11 deletions(-)
26890
26891 commit 1b92ea250fdaef9add1a68bb8565847e6d56b023
26892 Author: Chris Wilson <chris@chris-wilson.co.uk>
26893 Date:   Wed Jun 3 20:28:49 2009 +0100
26894
26895     [ft] Don't call FT_Done_Face() on a face we do not own
26896     
26897     _font_map_release_face_lock_held() was being called unconditionally during
26898     _cairo_ft_font_reset_static_data(). This presents two problems. The first
26899     is that we call FT_Done_Face() on an object not owned by cairo, and the
26900     second is that the bookkeeping is then incorrect which will trigger an
26901     assert later.
26902
26903  src/cairo-ft-font.c |    4 +++-
26904  1 file changed, 3 insertions(+), 1 deletion(-)
26905
26906 commit 8e5295979fe087fadeff0f56c036f9d002086996
26907 Author: Chris Wilson <chris@chris-wilson.co.uk>
26908 Date:   Wed Jun 3 20:17:59 2009 +0100
26909
26910     [pattern] Typo in document
26911     
26912     Remove extraneous markup from program-listing.
26913     
26914     https://bugs.freedesktop.org/show_bug.cgi?id=20441
26915
26916  src/cairo-pattern.c |    2 +-
26917  1 file changed, 1 insertion(+), 1 deletion(-)
26918
26919 commit fa5d6c7afdb9b742ad653c65e8804e84f2964599
26920 Author: Chris Wilson <chris@chris-wilson.co.uk>
26921 Date:   Wed Jun 3 19:29:19 2009 +0100
26922
26923     [trace] Add a --profile mode
26924     
26925     To save typing when creating macro-benchmarks --profile disables
26926     mark-dirty and caller-info and compresses the trace using LZMA. Not for
26927     computers short on memory!
26928
26929  perf/README                     |   11 +++++++++--
26930  util/cairo-trace/cairo-trace.in |   18 ++++++++++++++++++
26931  2 files changed, 27 insertions(+), 2 deletions(-)
26932
26933 commit 9451f0b983665d13ad777bc8fd88507fb7a317b4
26934 Author: Chris Wilson <chris@chris-wilson.co.uk>
26935 Date:   Wed Jun 3 13:26:52 2009 +0100
26936
26937     [perf] Drop ticks from trace benchmarks
26938     
26939     Don't report the tick values for the macro-benchmarks as these are so
26940     large as to be meaningless.
26941
26942  perf/cairo-perf-trace.c |   37 ++++++++++++++++++++-----------------
26943  1 file changed, 20 insertions(+), 17 deletions(-)
26944
26945 commit c988dc3719e345f6e1db6b0d656077a6b253b26d
26946 Author: Chris Wilson <chris@chris-wilson.co.uk>
26947 Date:   Wed Jun 3 10:51:23 2009 +0100
26948
26949     [cairo] Doc typo.
26950     
26951     Fix conflicting sentence as pointed out by
26952     https://bugs.freedesktop.org/show_bug.cgi?id=20183
26953
26954  src/cairo.c |    4 ----
26955  1 file changed, 4 deletions(-)
26956
26957 commit 35d0dd00c9f21cc4fd392d4627756f8d5b53a11b
26958 Author: Chris Wilson <chris@chris-wilson.co.uk>
26959 Date:   Wed Jun 3 10:49:16 2009 +0100
26960
26961     [image] Doc typo.
26962     
26963     Correct parameter reference as pointed out by
26964     https://bugs.freedesktop.org/show_bug.cgi?id=20182
26965
26966  src/cairo-image-surface.c |    2 +-
26967  1 file changed, 1 insertion(+), 1 deletion(-)
26968
26969 commit 58459ac6435a2889b90580ddf00e69107361f431
26970 Author: Chris Wilson <chris@chris-wilson.co.uk>
26971 Date:   Wed Jun 3 10:45:51 2009 +0100
26972
26973     [font-options] Doc typo
26974     
26975     Remove duplicate 'with' as pointed out by
26976     https://bugs.freedesktop.org/show_bug.cgi?id=20180
26977
26978  src/cairo-font-options.c |    2 +-
26979  1 file changed, 1 insertion(+), 1 deletion(-)
26980
26981 commit 8d39dee8e2aea2200fec460e8540838ec29cae5f
26982 Author: Chris Wilson <chris@chris-wilson.co.uk>
26983 Date:   Wed Jun 3 10:40:38 2009 +0100
26984
26985     [cairo] Update documentation for bug 20154
26986     
26987     Several typographical errors were pointed out in
26988     https://bugs.freedesktop.org/show_bug.cgi?id=20154
26989
26990  src/cairo.c |   17 ++++++++---------
26991  1 file changed, 8 insertions(+), 9 deletions(-)
26992
26993 commit 73469e693c02e6a99a32f12ac333737b47408e5e
26994 Author: Chris Wilson <chris@chris-wilson.co.uk>
26995 Date:   Wed Jun 3 09:51:52 2009 +0100
26996
26997     [cairo] Tweak error strings.
26998     
26999     Rewrite a few error strings so that they more closer match the
27000     documentation. Where they differ, I believe I have chosen the more
27001     informative combination of the two texts.
27002
27003  src/cairo-misc.c |   12 ++++++------
27004  src/cairo.h      |    4 ++--
27005  2 files changed, 8 insertions(+), 8 deletions(-)
27006
27007 commit ab86662ab499e1f29c0f8c4248771e730c281e3f
27008 Author: Andrew Lavin <aj.lavin@gmail.com>
27009 Date:   Fri May 22 16:36:40 2009 -0400
27010
27011     [test] Compile fix for invalid-matrix
27012     
27013     Fixed test compile error on OS X that caused fenv.h not to be included.
27014
27015  test/invalid-matrix.c |    2 +-
27016  1 file changed, 1 insertion(+), 1 deletion(-)
27017
27018 commit eec547648439884a464eef832067a363cf1547e2
27019 Author: Chris Wilson <chris@chris-wilson.co.uk>
27020 Date:   Wed Jun 3 08:57:15 2009 +0100
27021
27022     [perf] s/git/anongit/
27023     
27024     Third time lucky?
27025
27026  perf/cairo-perf-trace.c |    2 +-
27027  1 file changed, 1 insertion(+), 1 deletion(-)
27028
27029 commit ce7e6339428703069f798dffcf23ec3e98cb554f
27030 Author: Chris Wilson <chris@chris-wilson.co.uk>
27031 Date:   Tue Jun 2 21:54:44 2009 +0100
27032
27033     [perf] Warn if no traces were found
27034
27035  perf/cairo-perf-trace.c |   28 ++++++++++++++++++++--------
27036  1 file changed, 20 insertions(+), 8 deletions(-)
27037
27038 commit f0366f0f3263397181699bf6bf2ed3968ea66403
27039 Author: Chris Wilson <chris@chris-wilson.co.uk>
27040 Date:   Tue Jun 2 21:48:26 2009 +0100
27041
27042     [perf] Update to point to new toplevel cairo-traces repo
27043
27044  perf/cairo-perf-trace.c |   12 ++++++------
27045  1 file changed, 6 insertions(+), 6 deletions(-)
27046
27047 commit c9cd2f9ca101c25d04f52578d54be36ae646049e
27048 Author: Chris Wilson <chris@chris-wilson.co.uk>
27049 Date:   Tue Jun 2 18:47:07 2009 +0100
27050
27051     [cairo] PLT symbols for cairo_set_source_rgb
27052     
27053     Added a private use in user-font, but forgot to add a hidden symbol.
27054
27055  src/cairo.c    |    1 +
27056  src/cairoint.h |    1 +
27057  2 files changed, 2 insertions(+)
27058
27059 commit 21550a753059b4f880f03ea96148befaa34a6426
27060 Author: Chris Wilson <chris@chris-wilson.co.uk>
27061 Date:   Tue Jun 2 18:08:45 2009 +0100
27062
27063     [user-font] Set the initial colour to white
27064     
27065     An issue occured when using subpixel antialiasing with user-fonts and
27066     XRender - the glyphs were transparent, as demonstrated by the font-view
27067     example.
27068     
27069     The problem lies in that enabling subpixel antialiasing triggers use of an
27070     ARGB32 image surface for rendering the glyph, but the default colour is
27071     black (so the only information is in the alpha-channel). Given an ARGB32
27072     glyph XRender treats it as a per-channel mask, but since the R,G,B
27073     channels were uniformly zero, the glyph is rendered as transparent.
27074     
27075     Fix this by setting the initial colour to white before rendering the image
27076     surface for a user-font glyph, which generates the appropiate gray-level
27077     mask by default.
27078
27079  src/cairo-user-font.c |    1 +
27080  1 file changed, 1 insertion(+)
27081
27082 commit b5799e073e4e404aea277b7640eeee2120318823
27083 Author: Chris Wilson <chris@chris-wilson.co.uk>
27084 Date:   Tue Jun 2 18:07:31 2009 +0100
27085
27086     [xlib] Use bswap_32
27087     
27088     Byteswap the ARGB32 glyphs using bswap_32 instead of open-coding.
27089
27090  src/cairo-xlib-surface.c |   30 +++++++++++-------------------
27091  1 file changed, 11 insertions(+), 19 deletions(-)
27092
27093 commit 56e9765f82a64940b36a64688267fbe5d1c8919e
27094 Author: Chris Wilson <chris@chris-wilson.co.uk>
27095 Date:   Fri Jan 2 14:25:04 2009 +0000
27096
27097     [util] Add font-view
27098     
27099     A C variant of Behdad's python example font viewer.
27100
27101  util/Makefile.am |    5 ++
27102  util/font-view.c |  184 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
27103  2 files changed, 189 insertions(+)
27104
27105 commit d331dda48017667c15f95bf7d510bce2f38111de
27106 Author: Chris Wilson <chris@chris-wilson.co.uk>
27107 Date:   Tue Jun 2 15:41:19 2009 +0100
27108
27109     [perf] Missing ')' in output
27110
27111  perf/cairo-perf-compare-backends.c |    2 +-
27112  1 file changed, 1 insertion(+), 1 deletion(-)
27113
27114 commit c9ddaf8e7f0006f308aab0b87cf0425b2690d914
27115 Author: Adrian Johnson <ajohnson@redneon.com>
27116 Date:   Sun Sep 7 13:09:09 2008 +0930
27117
27118     PDF: Don't embed the same pattern more than once
27119     
27120     The PDF surface now keeps track of all the patterns it is embedding in
27121     a hash table keyed by the unique_id returned by the
27122     _cairo_surface_get_unique_id().
27123
27124  src/cairo-pdf-surface-private.h |   13 +++-
27125  src/cairo-pdf-surface.c         |  134 ++++++++++++++++++++++++++++++---------
27126  2 files changed, 115 insertions(+), 32 deletions(-)
27127
27128 commit f7613eeecea1218d353a183078fb77bc5cf4e72e
27129 Author: Paolo Bonzini <bonzini@gnu.org>
27130 Date:   Tue Nov 25 20:15:15 2008 +0100
27131
27132     Add more surface snapshots providers
27133     
27134     This patch adds more implementation of the snapshot method.  For
27135     surface types where acquire_source_image is already making a copy
27136     of the bits, doing another one as is the case for the fallback
27137     implementation is a waste.
27138
27139  src/cairo-glitz-surface.c  |   16 +++++++++++++++-
27140  src/cairo-quartz-surface.c |   19 ++++++++++++++++++-
27141  src/cairo-xcb-surface.c    |   17 ++++++++++++++++-
27142  src/cairo-xlib-surface.c   |   20 +++++++++++++++++++-
27143  4 files changed, 68 insertions(+), 4 deletions(-)
27144
27145 commit cffb398f5a484000be458d04ef8f8bce3f6c7e3d
27146 Author: Chris Wilson <chris@chris-wilson.co.uk>
27147 Date:   Tue May 26 21:07:07 2009 +0100
27148
27149     Add a generic cow-snapshotting framework
27150     
27151     Provide a mechanism for backends to attach and remove snapshots. This can
27152     be used by backends to provide a cache for _cairo_surface_clone_similar(),
27153     or by the meta-surfaces to only emit a single pattern for each unique
27154     snapshot.
27155     
27156     In order to prevent stale data being returned upon a snapshot operation,
27157     if the surface is modified (via the 5 high level operations, and on
27158     notification of external modification) we break the association with any
27159     current snapshot of the surface and thus preserve the current data for
27160     their use.
27161
27162  src/cairo-meta-surface.c     |    1 -
27163  src/cairo-surface-fallback.c |    2 +-
27164  src/cairo-surface-private.h  |    7 +-
27165  src/cairo-surface.c          |  272 ++++++++++++++++++++++++++++++++----------
27166  src/cairoint.h               |   12 ++
27167  test/mask.c                  |   12 +-
27168  test/trap-clip.c             |   12 +-
27169  7 files changed, 249 insertions(+), 69 deletions(-)
27170
27171 commit 7ed050fd435f17d25c7b757b02cfe200f8779fc2
27172 Author: Chris Wilson <chris@chris-wilson.co.uk>
27173 Date:   Tue Jun 2 13:08:25 2009 +0100
27174
27175     [perf] Benchmark traces
27176     
27177     Add a variant of cairo-perf that measures the time to replay traces.
27178
27179  boilerplate/cairo-boilerplate-system.c |   15 +
27180  boilerplate/cairo-boilerplate-system.h |    4 +
27181  perf/.gitignore                        |    1 +
27182  perf/Makefile.am                       |   17 +
27183  perf/README                            |   31 ++
27184  perf/cairo-perf-compare-backends.c     |   10 +-
27185  perf/cairo-perf-trace.c                |  530 ++++++++++++++++++++++++++++++++
27186  7 files changed, 605 insertions(+), 3 deletions(-)
27187
27188 commit 403f780b292762aa45056c2fb5a48bb806521173
27189 Author: Chris Wilson <chris@chris-wilson.co.uk>
27190 Date:   Tue Jun 2 09:16:16 2009 +0100
27191
27192     [perf] Add a verbose flag for summary output with raw
27193     
27194     Use 'cairo-perf -v -r' to have both the summary output along with the raw
27195     values. This gives a progress report whilst benchmarking, very reassuring
27196     with long running tests.
27197
27198  perf/cairo-perf.c |   82 +++++++++++++++++++++++++++++++++--------------------
27199  perf/cairo-perf.h |    3 ++
27200  2 files changed, 55 insertions(+), 30 deletions(-)
27201
27202 commit 70fd2bbce38fca65db6725c632ee591352dfe42c
27203 Author: Chris Wilson <chris@chris-wilson.co.uk>
27204 Date:   Tue Jun 2 09:00:21 2009 +0100
27205
27206     [perf] Exclude similar testing by default
27207     
27208     There are synchronisation issues with similar surfaces (as only the
27209     original target surface is synced) which interferes with making
27210     performance comparisons. (There still maybe some value should you be aware
27211     of the limitations...)
27212
27213  perf/cairo-perf.c |    5 +++--
27214  1 file changed, 3 insertions(+), 2 deletions(-)
27215
27216 commit bc49cb377c70c4c6926ca52e34094e99a4591f14
27217 Author: Chris Wilson <chris@chris-wilson.co.uk>
27218 Date:   Sat May 30 12:28:23 2009 +0100
27219
27220     [perf] Benchmark mixing different masks and sources
27221
27222  perf/Makefile.am  |    1 +
27223  perf/cairo-perf.c |    1 +
27224  perf/cairo-perf.h |    1 +
27225  perf/mask.c       |  290 +++++++++++++++++++++++++++++++++++++++++++++++++++++
27226  4 files changed, 293 insertions(+)
27227
27228 commit 4aca84ddb22bc178cbc9b132b9ce06af3f4b300b
27229 Author: Chris Wilson <chris@chris-wilson.co.uk>
27230 Date:   Thu May 28 18:05:26 2009 +0100
27231
27232     [perf] Add a pure glyphs performance metric
27233     
27234     Use the new API Behdad exposed in 1.8 to precompute a glyph string using
27235     Cairo and then benchmark cairo_show_glyphs(). This is then equivalent to
27236     the text benchmark but without the extra step of converting to glyphs on
27237     every call to cairo_show_text() i.e. it shows the underlying glyph
27238     rendering performance.
27239
27240  perf/Makefile.am  |    1 +
27241  perf/cairo-perf.c |    1 +
27242  perf/cairo-perf.h |    1 +
27243  perf/glyphs.c     |   97 +++++++++++++++++++++++++++++++++++++++++++++++++++++
27244  4 files changed, 100 insertions(+)
27245
27246 commit 55f4e0e4e8c7df59bfc9e6ffea8daa065276e42f
27247 Author: Chris Wilson <chris@chris-wilson.co.uk>
27248 Date:   Sat May 30 16:50:17 2009 +0100
27249
27250     [perf] Change seperators from '-' to '.'
27251     
27252     This allows the perf tests to use '-' in the name which is easier to read
27253     and differentiates with using '_' to separate source and operators.
27254
27255  perf/cairo-perf-compare-backends.c |   22 ++++++++++++----------
27256  perf/cairo-perf-cover.c            |   32 ++++++++++++++++----------------
27257  perf/cairo-perf-report.c           |   16 +++++++++++++---
27258  perf/cairo-perf.c                  |    8 ++++----
27259  perf/mosaic.c                      |    8 ++++----
27260  perf/pattern_create_radial.c       |    4 ++--
27261  perf/pythagoras-tree.c             |    2 +-
27262  perf/subimage_copy.c               |    4 ++--
27263  perf/unaligned-clip.c              |    2 +-
27264  perf/world-map.c                   |    4 ++--
27265  perf/zrusin.c                      |    4 ++--
27266  11 files changed, 59 insertions(+), 47 deletions(-)
27267
27268 commit b7c03d4e400245fc2b2d748fe808a9724e61f22f
27269 Author: Chris Wilson <chris@chris-wilson.co.uk>
27270 Date:   Wed May 27 16:31:51 2009 +0100
27271
27272     [ps] Trivial warning fix.
27273
27274  src/cairo-ps-surface.c |    1 +
27275  1 file changed, 1 insertion(+)
27276
27277 commit 99482b17a50a8ae52b7627bf624e358ed3623540
27278 Author: Chris Wilson <chris@chris-wilson.co.uk>
27279 Date:   Wed May 27 18:34:54 2009 +0100
27280
27281     [script] Improve caching of glyph advance
27282     
27283     The glyph advance cache was only enabled for glyph indices < 256,
27284     causing a large number of misses for non-ASCII text. Improve this by
27285     simply applying the modulus of the index to select the cache slot - which
27286     may cause some glyph advances to be overwritten and re-queried, but
27287     improves the hit rate.
27288
27289  util/cairo-script/cairo-script-operators.c |   39 ++++++++++------------------
27290  1 file changed, 14 insertions(+), 25 deletions(-)
27291
27292 commit 51193f1610c0f6893768e43e90a3395ec96c28fb
27293 Author: Chris Wilson <chris@chris-wilson.co.uk>
27294 Date:   Thu May 28 14:16:58 2009 +0100
27295
27296     [pattern] Pass flags to _cairo_pattern_acquire_surface()
27297     
27298     Allow the caller to choose whether or not various conversions take place.
27299     The first flag is used to disable the expansion of reflected patterns into a
27300     repeating surface.
27301
27302  src/cairo-directfb-surface.c |    1 +
27303  src/cairo-glitz-surface.c    |    1 +
27304  src/cairo-image-surface.c    |    3 +++
27305  src/cairo-pattern.c          |   13 +++++++++++--
27306  src/cairo-xcb-surface.c      |    4 ++++
27307  src/cairo-xlib-surface.c     |    5 +++++
27308  src/cairoint.h               |    6 ++++++
27309  7 files changed, 31 insertions(+), 2 deletions(-)
27310
27311 commit 4ec451a2fa4050a60a81d01473d23ff2973f47e6
27312 Author: Chris Wilson <chris@chris-wilson.co.uk>
27313 Date:   Wed May 27 17:35:54 2009 +0100
27314
27315     [scaled-font] Cache repeated glyphs during probing device_extents
27316     
27317     Maintain a local on-stack cache of recently queried glyphs to avoid
27318     relatively expensive hash table queries.
27319
27320  src/cairo-scaled-font.c |   35 +++++++++++++++++++++++------------
27321  1 file changed, 23 insertions(+), 12 deletions(-)
27322
27323 commit ec22ae5b1d7e8ec364813f3b1c73f538018ecb57
27324 Author: Chris Wilson <chris@chris-wilson.co.uk>
27325 Date:   Wed May 27 11:11:06 2009 +0100
27326
27327     [scaled-font] Compare most recently used font directly
27328     
27329     Avoid the relatively expensive _cairo_scaled_font_init_key() operation
27330     when checking against the most recently used font.
27331
27332  src/cairo-scaled-font.c |   28 +++++++++++++++++++++++-----
27333  1 file changed, 23 insertions(+), 5 deletions(-)
27334
27335 commit 16d128c15edf36a6e285fe4fbd6a828b64fd7f87
27336 Author: Chris Wilson <chris@chris-wilson.co.uk>
27337 Date:   Wed May 27 21:10:04 2009 +0100
27338
27339     [scaled-font] Lazily acquire the font_map_lock on font destruction.
27340     
27341     We can defer taking the cairo_scaled_font_map_lock until we drop the
27342     last reference to the scaled font so long as we double check the reference
27343     count after waiting for the lock and not making assumptions about
27344     unreferenced fonts during construction. This is significant as even
27345     acquiring the uncontended cairo_scaled_font_map_lock during
27346     cairo_scaled_font_destroy() was showing up as a couple of percent on text
27347     heavy profiles (e.g. gnome-terminal).
27348
27349  src/cairo-scaled-font.c |   32 +++++++++++++++++---------------
27350  1 file changed, 17 insertions(+), 15 deletions(-)
27351
27352 commit dc083ab30a5b781e205354c525ee054982364abd
27353 Author: Chris Wilson <chris@chris-wilson.co.uk>
27354 Date:   Wed May 27 14:54:34 2009 +0100
27355
27356     [cairo] Track the MRU scaled font
27357     
27358     When observing applications two patterns emerge. The first is due to
27359     Pango, which wraps each glyph run within a context save/restore. This
27360     causes the scaled font to be evicted after every run and reloaded on the
27361     next. This is caught by the MRU slot on the cairo_scaled_font_map and
27362     prevents a relatively costly traversal of the hash table and holdovers.
27363     
27364     The second pattern is by applications that directly manage the rendering
27365     of their own glyphs. The prime example of this is gnome-terminal/vte. Here
27366     the application frequently alternates between a few scaled fonts - which
27367     requires a hash table retrieval every time.
27368     
27369     By introducing a MRU slot on the gstate we are able to directly recover
27370     the scaled font around 90% of the time.
27371     
27372     Of 110,000 set-scaled-fonts:
27373       4,000 were setting the current font
27374      96,000 were setting to the previous font
27375       2,500 were recovered from the MRU on the cairo_scaled_font_map
27376       7,500 needed a hash retrieval
27377     which compares to ~106,000 hash lookups without the additional MRU slot on
27378     the gstate.
27379     
27380     This translates to an elapsed time saving of ~5% when replaying a
27381     gnome-terminal trace using the drm backend.
27382
27383  src/cairo-gstate-private.h |    1 +
27384  src/cairo-gstate.c         |   18 ++++++++++++++----
27385  src/cairo.c                |    6 ++++++
27386  3 files changed, 21 insertions(+), 4 deletions(-)
27387
27388 commit fda89c56ff484a8cd33cd780e8b9396d3538284d
27389 Author: Chris Wilson <chris@chris-wilson.co.uk>
27390 Date:   Wed May 27 15:59:16 2009 +0100
27391
27392     Markup a few more functions as const/pure
27393
27394  src/cairoint.h |   59 +++++++++++++++++++++++++++++---------------------------
27395  1 file changed, 31 insertions(+), 28 deletions(-)
27396
27397 commit f59f44c140e5f60d336423e0585d2bb8a6c0ea01
27398 Merge: 2da78fd 4232719
27399 Author: Eric Anholt <eric@anholt.net>
27400 Date:   Tue Jun 2 00:37:19 2009 -0700
27401
27402     Merge commit 'origin/master' into gl
27403     
27404     Felt like pulling the latest stuff, since I branched back in February.
27405     
27406     Conflicts:
27407         build/configure.ac.features
27408         src/cairo.h
27409         util/cairo-script/csi-replay.c
27410
27411 commit 2da78fd4666faa27d037ae3625ca83353a6e7629
27412 Author: Eric Anholt <eric@anholt.net>
27413 Date:   Mon Jun 1 14:04:21 2009 -0700
27414
27415     [gl] Drop use of packed datatypes where it's disallowed.
27416     
27417     I had naively assumed that GL image specification let you do useful things
27418     and describe the most common datatypes in graphics, since we do things that
27419     way inside of the DRI drivers.  Silly me.  GL_BGR and GL_RGB can't do
27420     GL_UNSIGNED_INT_8_8_8_8{,_REV}, so no specifying 24-depth 32-bpp data with
27421     implicit alpha.  GL_BGR can't even do r5g6b5!
27422     
27423     This fixes 20 regressions in the test suite.
27424
27425  src/cairo-gl-surface.c |   25 +++++++++++++------------
27426  1 file changed, 13 insertions(+), 12 deletions(-)
27427
27428 commit 69a150b7d8115babf2c60d7c5f7ca340162dc098
27429 Author: Eric Anholt <eric@anholt.net>
27430 Date:   Mon Jun 1 13:36:32 2009 -0700
27431
27432     [gl] Initialize has_alpha in the image surface composite fastpath.
27433     
27434     Fixes bilevel-image, set-source, and zero-alpha.
27435
27436  src/cairo-gl-surface.c |    4 ++++
27437  1 file changed, 4 insertions(+)
27438
27439 commit 7ee0fee900bf30a7ca0497ab64199c9013f81cdd
27440 Merge: 882f1d5 d3a478b
27441 Author: Eric Anholt <eric@anholt.net>
27442 Date:   Mon Jun 1 10:45:36 2009 -0700
27443
27444     Merge branch 'gl' into gl-span-renderer
27445     
27446     Conflicts:
27447         src/cairo-gl-surface.c
27448
27449 commit d3a478b6c0dca3884a68c5014185cad0a166801c
27450 Author: Eric Anholt <eric@anholt.net>
27451 Date:   Mon Jun 1 10:19:24 2009 -0700
27452
27453     [gl] Fix check-plt.sh for the GL surface.
27454
27455  src/cairo-gl-surface.c |    7 +++++++
27456  1 file changed, 7 insertions(+)
27457
27458 commit 1f7c393a6d63282a632a62264b99e67e26ecf38e
27459 Author: Eric Anholt <eric@anholt.net>
27460 Date:   Mon Jun 1 10:10:00 2009 -0700
27461
27462     [gl] Fix check-doc-syntax.sh for GL surface.
27463
27464  src/cairo-gl-surface.c |    2 +-
27465  1 file changed, 1 insertion(+), 1 deletion(-)
27466
27467 commit 19bc0f2f1d75b1514b22d0bb737bad67ff8d1ee6
27468 Author: Eric Anholt <eric@anholt.net>
27469 Date:   Mon Jun 1 10:09:16 2009 -0700
27470
27471     [gl] Fix check-def.sh for GL surface.
27472
27473  src/cairo-gl-surface.c |    2 +-
27474  src/cairo-gl.h         |    6 ------
27475  2 files changed, 1 insertion(+), 7 deletions(-)
27476
27477 commit e05097c604c607d27b341cd33426001bd2d1f690
27478 Author: Chris Wilson <chris@chris-wilson.co.uk>
27479 Date:   Wed May 27 16:45:20 2009 +0100
27480
27481     [surface] Assign a unique id to the surface.
27482     
27483     Allocate an ever-increasing, non-zero, unique identifier to each surface.
27484     True for the first 4-billion...
27485
27486  src/cairo-pattern.c         |   11 ++++++++---
27487  src/cairo-surface-private.h |    2 ++
27488  src/cairo-surface.c         |   25 +++++++++++++++++++++++++
27489  3 files changed, 35 insertions(+), 3 deletions(-)
27490
27491 commit 45835f623f5ddda6e3258361b9d6ab27860a9198
27492 Author: Chris Wilson <chris@chris-wilson.co.uk>
27493 Date:   Tue May 26 12:46:46 2009 +0100
27494
27495     [cache] Expose init/fini methods so that caches can be embedded.
27496     
27497     The structure is already exposed, so just expose the
27498     constructors/destructors in order to enable caches to be embedded and
27499     remove a superfluous malloc.
27500
27501  src/cairo-cache-private.h |   27 +++++++++---
27502  src/cairo-cache.c         |  104 +++++++++++++++------------------------------
27503  src/cairo-scaled-font.c   |   35 +++++++--------
27504  src/cairo-types-private.h |   14 ------
27505  4 files changed, 74 insertions(+), 106 deletions(-)
27506
27507 commit c3aac9cf49362b726a54a33a46bd8511a10f644f
27508 Author: Chris Wilson <chris@chris-wilson.co.uk>
27509 Date:   Tue May 26 10:37:30 2009 +0100
27510
27511     [image] Eliminate trapezoid array allocation
27512     
27513     By simply iterating over the array cairo_trapezoid_t, converting each one
27514     separately to a pixman_trapezoid_t and rasterizing each one individually
27515     we can avoid the common heap allocation. pixman performs exactly the same
27516     iteration internally so there is no efficiency loss.
27517
27518  src/cairo-image-surface.c |   92 ++++++++++++++++++++++-----------------------
27519  1 file changed, 45 insertions(+), 47 deletions(-)
27520
27521 commit 7b2bc441387abcf3967587f571dc5741d0a53938
27522 Author: Chris Wilson <chris@chris-wilson.co.uk>
27523 Date:   Tue May 26 10:41:53 2009 +0100
27524
27525     [surface-fallback] Tidy pattern handling.
27526     
27527     Make the treatment of replacing the NULL source pattern with WHITE
27528     consistent. As it is a solid pattern, we can skip _cairo_pattern_fini()
27529     and so make the code more readable, and consistent along the error paths.
27530
27531  src/cairo-surface-fallback.c |   83 +++++++++++++++++-------------------------
27532  1 file changed, 33 insertions(+), 50 deletions(-)
27533
27534 commit e83e113eae9e7cb3e09719bfc0ad68450faf3ecd
27535 Author: Chris Wilson <chris@chris-wilson.co.uk>
27536 Date:   Mon May 25 23:25:38 2009 +0100
27537
27538     [surface] Speed up cairo_surface_get_mime_data().
27539     
27540     The number of mime-types attached to a surface is usually small,
27541     typically zero. Therefore it is quicker to do a strcmp() against
27542     each key in the private mime-data array than it is to intern the
27543     string (i.e. compute a hash, search the hash table, and do a final
27544     strcmp).
27545
27546  src/cairo-array.c   |    8 --------
27547  src/cairo-surface.c |   33 ++++++++++++++++++---------------
27548  src/cairoint.h      |    6 ++++++
27549  3 files changed, 24 insertions(+), 23 deletions(-)
27550
27551 commit 247e76b923d54f639e2ca50c8da945c15b691158
27552 Author: Chris Wilson <chris@chris-wilson.co.uk>
27553 Date:   Tue May 26 08:53:45 2009 +0100
27554
27555     [script] Speed up floating-point scanner
27556     
27557     Hard-code frequent exponents to reduce number of calls to pow().
27558
27559  util/cairo-script/cairo-script-scanner.c |   45 ++++++++++++++++++++----------
27560  1 file changed, 31 insertions(+), 14 deletions(-)
27561
27562 commit c5e85835b29c7654e1c28a90b2e587afba7b6f0f
27563 Author: Chris Wilson <chris@chris-wilson.co.uk>
27564 Date:   Tue May 26 15:52:30 2009 +0100
27565
27566     [debug] Relax ASSERT_NOT_REACHED
27567     
27568     Need to actually handle random pixman image formats...
27569     For the time being, ignore them.
27570
27571  src/cairo-debug.c |    2 +-
27572  1 file changed, 1 insertion(+), 1 deletion(-)
27573
27574 commit 4232719af968ed05636fe34f2ffe2520dc02d737
27575 Author: Behdad Esfahbod <behdad@behdad.org>
27576 Date:   Sat May 30 23:03:55 2009 -0400
27577
27578     [ft] Fix vertical advance metrics of bitmap fonts (#21985)
27579
27580  src/cairo-ft-font.c |    4 ++--
27581  1 file changed, 2 insertions(+), 2 deletions(-)
27582
27583 commit 4314cae874dec2747df6be88859d7b6174eece31
27584 Author: Adrian Johnson <ajohnson@redneon.com>
27585 Date:   Wed May 27 17:56:05 2009 +0930
27586
27587     Fix typo in comment
27588
27589  src/cairo-truetype-subset.c |    2 +-
27590  1 file changed, 1 insertion(+), 1 deletion(-)
27591
27592 commit 7dbc2fe80a4fe0dcee4a293e47ab6edcefc24e18
27593 Author: Chris Wilson <chris@chris-wilson.co.uk>
27594 Date:   Mon May 25 20:36:34 2009 +0100
27595
27596     [script] Simplify _dictionary_name_equal
27597     
27598     Just a simple return TRUE since all necessary checking is performed by
27599     _csi_hash_table_lookup().
27600
27601  util/cairo-script/cairo-script-objects.c |    4 +---
27602  1 file changed, 1 insertion(+), 3 deletions(-)
27603
27604 commit 0b5e92e66be94ce7cc9c31e911f23c4cb7ec77af
27605 Author: Chris Wilson <chris@chris-wilson.co.uk>
27606 Date:   Mon May 25 19:56:57 2009 +0100
27607
27608     [script] Check hash value between comparing keys
27609
27610  util/cairo-script/cairo-script-hash.c |    7 +++++--
27611  1 file changed, 5 insertions(+), 2 deletions(-)
27612
27613 commit a364f71194aa2ea92071662f156c9b2a4d9211b4
27614 Author: Chris Wilson <chris@chris-wilson.co.uk>
27615 Date:   Mon May 25 21:25:27 2009 +0100
27616
27617     [trace] Set output location using pwd
27618     
27619     Record the current working directory and pass that along to cairo-trace so
27620     that the trace output is local to the user and not the application. This
27621     is vital if the application is called via a script that changes directory.
27622
27623  util/cairo-trace/cairo-trace.in |    2 +-
27624  1 file changed, 1 insertion(+), 1 deletion(-)
27625
27626 commit a76e09ea656faa63fbfa159e8f52c9c9ec7d35c6
27627 Author: Chris Wilson <chris@chris-wilson.co.uk>
27628 Date:   Mon May 25 21:22:43 2009 +0100
27629
27630     [trace] Missing newlines in error messages.
27631
27632  util/cairo-trace/trace.c |    4 ++--
27633  1 file changed, 2 insertions(+), 2 deletions(-)
27634
27635 commit b7f199fde25c960bf87302d5e868a7c2dffa4f5d
27636 Author: Chris Wilson <chris@chris-wilson.co.uk>
27637 Date:   Mon May 25 12:40:35 2009 +0100
27638
27639     [pattern] Trim REPEAT source size when applicable.
27640     
27641     Some backends are quite constrained with surface sizes and so trigger
27642     fallbacks when asked to clone large images. To avoid this we attempt
27643     to trim ROIs (as these are often limited to the destination image, and
27644     so can be accommodated by the hardware). This patch allows trimming
27645     REPEAT sources both horizontally and vertically independently.
27646
27647  src/cairo-pattern.c |   21 ++++++++++++++++++---
27648  1 file changed, 18 insertions(+), 3 deletions(-)
27649
27650 commit e4efc80b8e89b05afc22d74f984f4ec9012bc39b
27651 Author: Chris Wilson <chris@chris-wilson.co.uk>
27652 Date:   Mon May 25 21:15:22 2009 +0100
27653
27654     [build] Make valgrind support user-configurable
27655     
27656     As the number of places where we add valgrind client requests grows, it
27657     becomes imperative that we should be able to disable them with a simple
27658     configure time option.
27659
27660  build/configure.ac.analysis |   37 ++++++++++++++++++++++---------------
27661  1 file changed, 22 insertions(+), 15 deletions(-)
27662
27663 commit d840deb57b51236820dc8c320ecd7540973de873
27664 Author: Chris Wilson <chris@chris-wilson.co.uk>
27665 Date:   Mon May 25 22:11:22 2009 +0100
27666
27667     [in-fill] Fix typo in on-vertex test.
27668     
27669     Eeek! Comparing point->y against in_fill->x is a bad idea.
27670
27671  src/cairo-path-in-fill.c |   10 +++++-----
27672  1 file changed, 5 insertions(+), 5 deletions(-)
27673
27674 commit cfd484cd01a77b1f91e27daccfc5f240cf7c692d
27675 Author: Chris Wilson <chris@chris-wilson.co.uk>
27676 Date:   Mon May 25 22:10:20 2009 +0100
27677
27678     [test] Change test semantics to match new in-fill definition
27679     
27680     The in-fill definition has changed to include queries on the edges and
27681     vertices, so update the test case to match.
27682
27683  test/in-fill-trapezoid.c |   77 ++++++++++++++++++++++++++++++++++------------
27684  1 file changed, 57 insertions(+), 20 deletions(-)
27685
27686 commit b71b019fe50a9188ddbecd1945606da8ba3bad53
27687 Author: Chris Wilson <chris@chris-wilson.co.uk>
27688 Date:   Fri Feb 27 16:32:21 2009 +0000
27689
27690     [in-fill] Treat on-edge queries as inside.
27691     
27692     Jeff Muizelaar noted that the treatment of edges differed with firefox's
27693     canvas definition, which considers a point on any edge as inside. The
27694     current implementation has a similar definition to that of flash, for
27695     which the top and right edges are outside. Arguably, firefox has the more
27696     intuitive definition here...
27697
27698  src/cairo-path-in-fill.c |   21 ++++++++++++++++++++-
27699  1 file changed, 20 insertions(+), 1 deletion(-)
27700
27701 commit efd0f0b2922d0801e4e0e8e75ddf9b9892a2f2e6
27702 Author: Chris Wilson <chris@chris-wilson.co.uk>
27703 Date:   Wed May 20 18:49:28 2009 +0100
27704
27705     [xlib] Handle too-large images gracefully.
27706     
27707     Trigger a fallback to an image surface for massive patterns.
27708
27709  src/cairo-xlib-surface.c |    4 ++--
27710  1 file changed, 2 insertions(+), 2 deletions(-)
27711
27712 commit 3c6838532a62c294e7f18b13b0b7f8da9a1a1e1e
27713 Author: Chris Wilson <chris@chris-wilson.co.uk>
27714 Date:   Wed May 20 18:46:35 2009 +0100
27715
27716     [surface] Early return if the backend cannot clone an image
27717     
27718     If the backend cannot create a similar surface to hold the image, then
27719     report back the failure before embarking upon an infinite recursion.
27720     The UNSUPPORTED return should percolate up through the call stack and
27721     trigger a fallback.
27722
27723  src/cairo-surface.c |    6 +++++-
27724  1 file changed, 5 insertions(+), 1 deletion(-)
27725
27726 commit bf2c7356d4c955fb770863874a0ea111e9ba02a4
27727 Author: Chris Wilson <chris@chris-wilson.co.uk>
27728 Date:   Fri May 22 12:52:43 2009 +0100
27729
27730     [surface] Provide nil-surface for INVALID_SIZE
27731     
27732     So that we can faithfully report back failure if the user tries to create
27733     a surface larger than the backend can support.
27734
27735  src/cairo-surface.c |    4 +++-
27736  1 file changed, 3 insertions(+), 1 deletion(-)
27737
27738 commit 6717f0d748000416172057d0aab2471377456e27
27739 Author: Chris Wilson <chris@chris-wilson.co.uk>
27740 Date:   Wed May 20 17:35:19 2009 +0100
27741
27742     [win32] Wrap win32-font usage with CAIRO_HAS_WIN32_FONT
27743     
27744     Bug 19251: --enable-win32=yes and --enable-win32-font=no causes
27745     compilation failure
27746     [https://bugs.freedesktop.org/show_bug.cgi?id=19251]
27747     
27748     Wrap use of the win32 font backend within win32-printing-surface within
27749     CAIRO_HAS_WIN32_FONT ifdefs to prevent compilation failure if the user
27750     explicitly disables the win32 font backend.
27751
27752  src/cairo-win32-printing-surface.c |    4 ++++
27753  1 file changed, 4 insertions(+)
27754
27755 commit c7d2b0de830f4c653fbb5016c4efdc5f0e5af0eb
27756 Author: Chris Wilson <chris@chris-wilson.co.uk>
27757 Date:   Wed May 20 17:34:56 2009 +0100
27758
27759     [win32] Typo
27760     
27761     Correct function name in error string.
27762
27763  src/cairo-win32-printing-surface.c |    2 +-
27764  1 file changed, 1 insertion(+), 1 deletion(-)
27765
27766 commit 87b764908a38cbb4159ac76d8b7d1d08a24b838e
27767 Author: Chris Wilson <chris@chris-wilson.co.uk>
27768 Date:   Tue May 19 15:53:55 2009 +0100
27769
27770     [gl] Add EGL target
27771     
27772     Split the GLX context from the GL surface to enable use of an alternative
27773     EGL interface.
27774
27775  boilerplate/Makefile.win32.features |   20 ++
27776  boilerplate/cairo-boilerplate-gl.c  |    2 +-
27777  build/Makefile.win32.features       |    2 +
27778  build/Makefile.win32.features-h     |    6 +
27779  build/configure.ac.features         |    3 +
27780  configure.ac                        |   30 ++-
27781  src/Makefile.sources                |    4 +-
27782  src/Makefile.win32.features         |   28 +++
27783  src/cairo-egl-context.c             |  181 ++++++++++++++++++
27784  src/cairo-gl-private.h              |   88 +++++++++
27785  src/cairo-gl-surface.c              |  191 ++++++++-----------
27786  src/cairo-gl.h                      |   41 ++--
27787  src/cairo-glx-context.c             |  136 +++++++++++++
27788  test/.gitignore                     |    2 +
27789  test/Makefile.am                    |   10 +
27790  test/egl-flowers.c                  |  358 +++++++++++++++++++++++++++++++++++
27791  test/glx-flowers.c                  |  256 +++++++++++++++++++++++++
27792  util/cairo-script/.gitignore        |    2 +
27793  util/cairo-script/Makefile.am       |   15 ++
27794  util/cairo-script/csi-egl.c         |  263 +++++++++++++++++++++++++
27795  util/cairo-script/csi-glx.c         |  150 +++++++++++++++
27796  util/cairo-script/csi-replay.c      |   61 ++++++
27797  22 files changed, 1723 insertions(+), 126 deletions(-)
27798
27799 commit 6e87e354e42d1a758a252533407e6e1829638544
27800 Author: Adrian Johnson <ajohnson@redneon.com>
27801 Date:   Sun May 17 18:14:28 2009 +0930
27802
27803     Correct the comment for the index_to_ucs4 font backend function
27804
27805  src/cairoint.h |    3 ++-
27806  1 file changed, 2 insertions(+), 1 deletion(-)
27807
27808 commit 2a34992cccfd77c2acf30fe851311f16137ba32f
27809 Author: Adrian Johnson <ajohnson@redneon.com>
27810 Date:   Sun May 17 18:12:39 2009 +0930
27811
27812     Ensure win32 font index_to_ucs4() sets ucs4 to -1 if lookup fails
27813
27814  src/cairo-win32-font.c |    1 +
27815  1 file changed, 1 insertion(+)
27816
27817 commit 4c8e5485a10478c19e8a6cb48595473f5bb8ee8a
27818 Author: Adrian Johnson <ajohnson@redneon.com>
27819 Date:   Sun May 17 18:05:42 2009 +0930
27820
27821     Fix win32 build breakage
27822     
27823     that was caused by c25992479aca481d326f72665ebdcf0904273eac
27824
27825  src/cairo-win32-private.h |    1 +
27826  1 file changed, 1 insertion(+)
27827
27828 commit 31596cf2b298054bbd3e340ae77a3388eadc0d8b
27829 Author: Chris Wilson <chris@chris-wilson.co.uk>
27830 Date:   Fri May 15 17:40:26 2009 +0100
27831
27832     [debug] Check image contents using memcheck.
27833     
27834     As an aide to tracking down the source of uninitialised reads, run
27835     VALGRIND_CHECK_MEM_IS_DEFINED() over the contents of image surfaces at the
27836     boundary between backends, e.g. upon setting a glyph image or acquiring
27837     a source image.
27838
27839  src/cairo-debug.c       |   42 ++++++++++++++++++++++++++++++++++++++++++
27840  src/cairo-ft-font.c     |    2 ++
27841  src/cairo-pattern.c     |    2 ++
27842  src/cairo-png.c         |    2 ++
27843  src/cairo-scaled-font.c |    3 +++
27844  src/cairo-surface.c     |   32 +++++++++++++++++++++++---------
27845  src/cairoint.h          |   11 +++++++++++
27846  7 files changed, 85 insertions(+), 9 deletions(-)
27847
27848 commit 791a6fa399894e735d522781b15b7f18c3ecd4d1
27849 Author: Chris Wilson <chris@chris-wilson.co.uk>
27850 Date:   Fri May 15 16:57:49 2009 +0100
27851
27852     [memfault] Update macros to avoid namescape collision with memcheck
27853     
27854     Basing the macro names of the memfault skin lead to a namespace
27855     collision with memcheck. After updating the headers, update cairo's usage
27856     to match.
27857
27858  src/cairo-malloc-private.h |    2 +-
27859  test/cairo-test.c          |   62 ++++++++++++++++++++++----------------------
27860  2 files changed, 32 insertions(+), 32 deletions(-)
27861
27862 commit c897f36a6b09f3591d858142e3236f256f0bd6a2
27863 Author: Chris Wilson <chris@chris-wilson.co.uk>
27864 Date:   Fri May 15 20:37:52 2009 +0100
27865
27866     [test] Stress the ft from-face cache
27867     
27868     Create a set of font faces using the same FT_Face to stress test the
27869     handling of from-face fonts within the backend cache.
27870
27871  test/ft-font-create-for-ft-face.c |  109 ++++++++++++++++++++++++++++++++++---
27872  1 file changed, 102 insertions(+), 7 deletions(-)
27873
27874 commit 477df1f5504a507d0c5960aa7e21375284a6f99c
27875 Author: Chris Wilson <chris@chris-wilson.co.uk>
27876 Date:   Fri May 15 10:48:56 2009 +0100
27877
27878     [test] Clear expected floating point exceptions
27879     
27880     test/invalid-matrix deliberately feeds garbage into the API to test our
27881     error detection. This causes FPE to be raised during the course of the
27882     test - so they are deliberately disable for the duration. However, the
27883     exceptions were not being cleared and so the FPE could be triggered on
27884     the next floating point operation. This was being masked during make check,
27885     by the fact that each test is run in its own forked process and was only
27886     observed when multiple tests were run in foreground mode.
27887
27888  build/configure.ac.system |    2 +-
27889  test/invalid-matrix.c     |    4 ++++
27890  2 files changed, 5 insertions(+), 1 deletion(-)
27891
27892 commit f47a93ef30249b531e588335045d052c3dcc71bd
27893 Author: Chris Wilson <chris@chris-wilson.co.uk>
27894 Date:   Sat May 9 09:55:49 2009 +0100
27895
27896     [test] Check text->path with user-fonts (twin)
27897     
27898     Check behaviour of user-fonts, twin in particular, when using the text as
27899     a path.
27900
27901  test/twin.c           |   11 ++++++++++-
27902  test/twin.ps.ref.png  |  Bin 1114 -> 2197 bytes
27903  test/twin.ref.png     |  Bin 1492 -> 4038 bytes
27904  test/twin.svg.ref.png |  Bin 1487 -> 3027 bytes
27905  4 files changed, 10 insertions(+), 1 deletion(-)
27906
27907 commit 669e7ae5c98812360bf20b798c20024ae2e9810b
27908 Author: Chris Wilson <chris@chris-wilson.co.uk>
27909 Date:   Fri May 8 17:36:01 2009 +0100
27910
27911     [test] Relax APPROX_EQUALS condition
27912     
27913     The bounding box of the text is rounded to the nearest pixel boundaries,
27914     so therefore the test must accept a similar level of imprecision.
27915
27916  test/get-path-extents.c |    8 ++++----
27917  1 file changed, 4 insertions(+), 4 deletions(-)
27918
27919 commit fe7410c6cdc19bb366bf1e93481bf8287a14d52e
27920 Author: Chris Wilson <chris@chris-wilson.co.uk>
27921 Date:   Sat May 9 19:01:06 2009 +0100
27922
27923     [test] Add a note to "Getting the elusive zero failures"
27924     
27925     The test suite depends upon many external factors and in order to achieve
27926     a pass, your system must match that upon which the reference images were
27927     generated. Add a note to read test/README in case of failures so that the
27928     casual user is not unduly alarmed by cairo reportedly failing.
27929
27930  test/cairo-test-runner.c |   12 ++++++++++++
27931  1 file changed, 12 insertions(+)
27932
27933 commit 2f962799a77faef0e6ad62c79bd7eebc9b8c5a4b
27934 Author: Chris Wilson <chris@chris-wilson.co.uk>
27935 Date:   Fri May 15 18:49:03 2009 +0100
27936
27937     [test] Fix typos that excluded backend test sources
27938
27939  test/Makefile.am |    6 +++---
27940  1 file changed, 3 insertions(+), 3 deletions(-)
27941
27942 commit c25992479aca481d326f72665ebdcf0904273eac
27943 Author: Chris Wilson <chris@chris-wilson.co.uk>
27944 Date:   Sat May 9 10:10:14 2009 +0100
27945
27946     [xlib] Use minimal depth for similar clones.
27947     
27948     Damian Frank noted
27949     [http://lists.cairographics.org/archives/cairo/2009-May/017095.html]
27950     a performance problem with an older XServer with an
27951     unaccelerated composite - similar problems will be seen with non-XRender
27952     servers which will trigger extraneous fallbacks. The problem he found was
27953     that painting an ARGB32 image onto an RGB24 destination window (using
27954     SOURCE) was going via the RENDER protocol and not core. He was able to
27955     demonstrate that this could be worked around by declaring the pixel data as
27956     an RGB24 image. The issue is that the image is uploaded into a temporary
27957     pixmap of matching depth (i.e. 32 bit for ARGB32 and 24 bit for RGB23
27958     data), however the core protocol can only blit between Drawables of
27959     matching depth - so without the work-around the Drawables are mismatched
27960     and we either need to use RENDER or fallback.
27961     
27962     This patch adds a content mask to _cairo_surface_clone_similar() to
27963     provide the extra bit of information to the backends for when it is
27964     possible for them to drop channels from the clone. This is used by the
27965     xlib backend to only create a 24 bit source when blitting to a Window.
27966
27967  src/cairo-clip.c                     |    1 +
27968  src/cairo-directfb-surface.c         |    2 ++
27969  src/cairo-glitz-surface.c            |    3 +++
27970  src/cairo-image-surface.c            |    4 ++++
27971  src/cairo-pattern.c                  |   18 ++++++++++++---
27972  src/cairo-quartz-surface.c           |    1 +
27973  src/cairo-surface-fallback-private.h |    1 +
27974  src/cairo-surface-fallback.c         |    3 ++-
27975  src/cairo-surface.c                  |    7 +++++-
27976  src/cairo-win32-surface.c            |    3 ++-
27977  src/cairo-xcb-surface.c              |    5 ++++
27978  src/cairo-xlib-surface.c             |   42 ++++++++++++++++++++++++++--------
27979  src/cairoint.h                       |    4 ++++
27980  src/test-fallback-surface.c          |    1 +
27981  src/test-fallback16-surface.c        |    2 ++
27982  test/surface-source.c                |    1 +
27983  16 files changed, 82 insertions(+), 16 deletions(-)
27984
27985 commit 0238fe2cafea2e1ed19bb222117bd73ee6898d4d
27986 Author: Karl Tomlinson <karlt+@karlt.net>
27987 Date:   Thu May 14 11:46:29 2009 +0100
27988
27989     [ft] Resolve mutual referencing problems with zombie faces
27990     
27991     Bug 21706 -- zombie ft_font_face / ft_unscaled_font mutual
27992                  referencing problems
27993     [http://bugs.freedesktop.org/show_bug.cgi?id=21706]
27994     
27995     There can be more than one zombie font_face belonging to an unscaled_font,
27996     but only the first is destroyed.  This leaks the client's FT_Face
27997     (and associated font data) as release of the FT_Face depends on release
27998     of the font_face.
27999     
28000     (The reason why Firefox ends up with two different font_faces for one
28001     unscaled_font is that load_flags for faces with artificial oblique have
28002     FT_LOAD_NO_BITMAP set.
28003     https://bugzilla.mozilla.org/show_bug.cgi?id=486974)
28004     
28005     Also it's possible for _cairo_ft_font_face_create to pull out a zombie
28006     font_face from the unscaled_font, which would crash
28007     _cairo_ft_font_face_scaled_font_create, as that expects non-null
28008     font_face->unscaled (if !font-face->pattern).
28009
28010  AUTHORS             |    2 +-
28011  src/cairo-ft-font.c |   38 ++++++++++++++++++++++++++++++--------
28012  2 files changed, 31 insertions(+), 9 deletions(-)
28013
28014 commit d6f6ec9082c86b9fd9e2389b9627f08a91c2cdd3
28015 Author: Chris Wilson <chris@chris-wilson.co.uk>
28016 Date:   Fri May 8 16:43:43 2009 +0100
28017
28018     [ft] Restore the ability to lazily resolve patterns.
28019     
28020     I broke the ability for the ft font backend to resolve patterns whilst
28021     fixing the font creation to propagate the error status from fontconfig
28022     (be27e8). By adjusting the sequence of error checks we do not confuse
28023     the absence of a match with a fatal error and thereby restoring the
28024     lazy pattern resolution whilst ensuring error propagation.
28025
28026  src/cairo-ft-font.c |   32 +++++++++++++++++---------------
28027  1 file changed, 17 insertions(+), 15 deletions(-)
28028
28029 commit a352fd46020e18f9d9f839f0c3f3a63c1d8c0ae1
28030 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
28031 Date:   Fri May 15 15:34:05 2009 -0400
28032
28033     Only include <strings.h> for ffs() when we HAVE_FFS
28034     
28035     This fixes breakage caused by 3d3d10a31e04498ef91a288d89b3dec291bfc323
28036
28037  src/cairo-skiplist.c |    2 ++
28038  1 file changed, 2 insertions(+)
28039
28040 commit 882f1d5a60abfbf83c65fe00b31bb4c8e5c82f62
28041 Author: Eric Anholt <eric@anholt.net>
28042 Date:   Sun May 10 16:56:49 2009 -0700
28043
28044     [gl] Use spans directly as geometry instead of rasterizing to a temporary.
28045     
28046     I was hoping for a bigger win than this, but cairogears is now significantly
28047     faster than it was with just traps.  One potential problem is that adding
28048     src texture coordinates blew up vertex size from 12 bytes to 20, and we're
28049     emitting quite a few vertices.  There's plenty of hope for the future,
28050     though: With shaders we could remove the 2 new texcoords again by stuffing a
28051     position to source coordinate transformation matrix in constants.  Then
28052     with EXT_geometry_shader4 plus EXT_gpu_shader4 we should be able to get the
28053     24 bytes for 2 vertices down to 16 or less.
28054
28055  src/cairo-gl-surface.c |  316 ++++++++++++++++++++++++++----------------------
28056  1 file changed, 171 insertions(+), 145 deletions(-)
28057
28058 commit 7b4f2d5e6dd37232d4fa764b69065c7d96856dcc
28059 Author: Eric Anholt <eric@anholt.net>
28060 Date:   Sun May 10 14:50:22 2009 -0700
28061
28062     [gl] Use Enable/DisableClientState for arrays for consistency.
28063
28064  src/cairo-gl-surface.c |    8 ++++----
28065  1 file changed, 4 insertions(+), 4 deletions(-)
28066
28067 commit 705ee3da1372e8533f25e0b4bde072e4bf76872b
28068 Author: Eric Anholt <eric@anholt.net>
28069 Date:   Sat May 9 12:17:12 2009 -0700
28070
28071     [gl] Add HW spans implementation using VBOs and GL_LINES.
28072     
28073     This is a minor performance regression over software, but is the basis for
28074     not rasterizing the geometry into a temporary mask, which should be a
28075     significant win.
28076
28077  src/cairo-gl-surface.c |  145 +++++++++++++++++++++++++++++++++++++++++-------
28078  1 file changed, 124 insertions(+), 21 deletions(-)
28079
28080 commit 934af24ccce9c06fc38ab7735d643d230fb3b8ad
28081 Author: Eric Anholt <eric@anholt.net>
28082 Date:   Sat May 9 10:03:06 2009 -0700
28083
28084     [gl] Use the span renderer with an image surface temporary.
28085     
28086     This appears to be no performance difference in cairogears versus the traps
28087     fallback before, but is a step towards handing the information off to the
28088     hardware.
28089
28090  src/cairo-gl-surface.c |  210 +++++++++++++++++++++++++++++++++++++++++++++++-
28091  1 file changed, 208 insertions(+), 2 deletions(-)
28092
28093 commit 17b41fe7e3b8b493341be6384d816105aadf0cb6
28094 Author: Eric Anholt <eric@anholt.net>
28095 Date:   Sun May 10 10:17:27 2009 -0700
28096
28097     [gl] Use filtering of GL_NEAREST to hint to TexImage not to alloc for mipmaps.
28098     
28099     Gl defaults to NEAREST_MIPMAP_LINEAR on new texture objects.
28100     This should save space or bandwidth with DRI drivers, as they'll use the
28101     parameter as a hint, and then not have to either fix up later or waste
28102     space for unused mipmap levels.
28103
28104  src/cairo-gl-surface.c |    7 +++++++
28105  1 file changed, 7 insertions(+)
28106
28107 commit a438acd37c5aaedc7e7a05e6a9d8758315931b44
28108 Author: Eric Anholt <eric@anholt.net>
28109 Date:   Sat May 9 11:33:53 2009 -0700
28110
28111     [gl] Handle PIXMAN_b8g8r8a and PIXMAN_b8g8r8x8 in the image tex shortcut.
28112
28113  src/cairo-gl-surface.c |    6 ++++++
28114  1 file changed, 6 insertions(+)
28115
28116 commit 29768c2193b09d3bef54a178c8e3ba6f7e7cebd0
28117 Author: Eric Anholt <eric@anholt.net>
28118 Date:   Sat May 9 11:30:11 2009 -0700
28119
28120     [gl] Don't forget that we require ARB_texture_non_power_of_two currently.
28121
28122  src/cairo-gl-surface.c |    3 ++-
28123  1 file changed, 2 insertions(+), 1 deletion(-)
28124
28125 commit 088d2a6cc70b01f55d178d235542247180b3e5ee
28126 Author: Chris Wilson <chris@chris-wilson.co.uk>
28127 Date:   Thu May 7 11:35:17 2009 +0100
28128
28129     [doc] Update identifiers
28130
28131  doc/public/tmpl/cairo-status.sgml |    3 ++-
28132  1 file changed, 2 insertions(+), 1 deletion(-)
28133
28134 commit d8fb6a03d3034cf776687bcc1f0625a8a9f2ae07
28135 Author: Chris Wilson <chris@chris-wilson.co.uk>
28136 Date:   Thu May 7 14:57:13 2009 +0100
28137
28138     [path] Define _BSD_SOURCE to enable hypot()
28139     
28140     hypot() is only declared for BSD/SVID/XOPEN/C99 sources. Choose BSD as
28141     we've used that elsewhere.
28142
28143  src/cairo-path-stroke.c |    1 +
28144  1 file changed, 1 insertion(+)
28145
28146 commit e38f85c5de51016b8858e755e2752816c9995ab2
28147 Author: Chris Wilson <chris@chris-wilson.co.uk>
28148 Date:   Thu May 7 14:42:15 2009 +0100
28149
28150     [script] Pedantic violations
28151     
28152     Fixup a few trivial errors with -pedantic.
28153
28154  util/cairo-script/cairo-script-operators.c |    2 +-
28155  util/cairo-script/cairo-script-private.h   |    8 ++++----
28156  2 files changed, 5 insertions(+), 5 deletions(-)
28157
28158 commit 0c00556990a842e0ee0056134c6e196c2fb372b7
28159 Author: Chris Wilson <chris@chris-wilson.co.uk>
28160 Date:   Thu May 7 14:11:12 2009 +0100
28161
28162     [script] Missing include for INT32_MAX
28163     
28164     Avoid depending upon stdint.h, or rather cut'n'pasting Cairo's portable
28165     defines, by using INT_MAX and limits.h instead.
28166
28167  util/cairo-script/cairo-script-file.c      |    3 ++-
28168  util/cairo-script/cairo-script-objects.c   |    3 ++-
28169  util/cairo-script/cairo-script-operators.c |   13 +++++++------
28170  util/cairo-script/cairo-script-scanner.c   |    5 +++--
28171  util/cairo-script/cairo-script-stack.c     |    7 ++++---
28172  5 files changed, 18 insertions(+), 13 deletions(-)
28173
28174 commit 3d3d10a31e04498ef91a288d89b3dec291bfc323
28175 Author: Chris Wilson <chris@chris-wilson.co.uk>
28176 Date:   Thu May 7 14:10:47 2009 +0100
28177
28178     [skiplist] Missing include for ffs()
28179
28180  src/cairo-skiplist.c |    2 ++
28181  1 file changed, 2 insertions(+)
28182
28183 commit e5752865ab0ebefec313ab9a6f90451ef2d7af95
28184 Author: Chris Wilson <chris@chris-wilson.co.uk>
28185 Date:   Thu May 7 14:58:45 2009 +0100
28186
28187     [cairo] Protect typeof against -ansi
28188     
28189     s/typeof/__typeof__/ to allow the [gcc-specific] macro to continue to work
28190     despite -ansi.
28191
28192  src/cairoint.h |    2 +-
28193  1 file changed, 1 insertion(+), 1 deletion(-)
28194
28195 commit 5f4f2ab01ab3fa6b07ac7521dfeaf90a787a5dee
28196 Author: Chris Wilson <chris@chris-wilson.co.uk>
28197 Date:   Thu May 7 14:34:47 2009 +0100
28198
28199     [cairo] Remove stray semi-colon
28200     
28201     Pedantic finds another victim.
28202
28203  src/cairoint.h |    2 +-
28204  1 file changed, 1 insertion(+), 1 deletion(-)
28205
28206 commit d86ad461cf7a9d857bd07a6b775c84acbf35647b
28207 Author: Chris Wilson <chris@chris-wilson.co.uk>
28208 Date:   Thu May 7 14:16:05 2009 +0100
28209
28210     [cairo] Convert C99 comments to /* ... */
28211     
28212     First victim of -pedantic...
28213
28214  src/cairoint.h |    2 +-
28215  1 file changed, 1 insertion(+), 1 deletion(-)
28216
28217 commit 695f648607dd5a78cf29dcc33ed19aa223d0416a
28218 Author: Chris Wilson <chris@chris-wilson.co.uk>
28219 Date:   Thu May 7 11:16:10 2009 +0100
28220
28221     [cairo] Fix errors reported by check-doc
28222     
28223     Identity a few new instances of CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED in
28224     comments with %.
28225
28226  src/cairo.h |    8 ++++----
28227  1 file changed, 4 insertions(+), 4 deletions(-)
28228
28229 commit 849bdee199b5ebba467603a69d30bb519c10bc75
28230 Author: Chris Wilson <chris@chris-wilson.co.uk>
28231 Date:   Thu May 7 11:36:38 2009 +0100
28232
28233     [check] Quieten output during checking headers-standalone
28234     
28235     Remove the duplication of the compile line and enable shave to replace it
28236     entirely with a "CHECK $header". This should make errors more obvious.
28237
28238  build/shave.in           |    3 +++
28239  src/Makefile.am.analysis |    2 +-
28240  2 files changed, 4 insertions(+), 1 deletion(-)
28241
28242 commit 84fad4b11bc26cfd0847660e3309eb902d783713
28243 Author: Chris Wilson <chris@chris-wilson.co.uk>
28244 Date:   Thu May 7 11:31:22 2009 +0100
28245
28246     [build] Fix gtk-doc interoperation with shave
28247     
28248     Add --tag=CC to the libtool invocations.
28249
28250  build/Makefile.am.gtk-doc |    4 ++--
28251  1 file changed, 2 insertions(+), 2 deletions(-)
28252
28253 commit fd72c56af833a738ddc8f188cabe03d9f8b45475
28254 Author: Chris Wilson <chris@chris-wilson.co.uk>
28255 Date:   Thu May 7 11:27:43 2009 +0100
28256
28257     [build] Report status of gtk-doc in summary
28258
28259  build/configure.ac.features |    1 +
28260  1 file changed, 1 insertion(+)
28261
28262 commit 428fb58a4c96391f96f48026be49a4533cd12834
28263 Author: Behdad Esfahbod <behdad@behdad.org>
28264 Date:   Tue Apr 28 15:03:53 2009 -0400
28265
28266     [user-font] Add CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED
28267     
28268     This is useful for language bindings to signal that a method is not
28269     implemented.
28270
28271  src/cairo-misc.c      |    2 ++
28272  src/cairo-surface.c   |    1 +
28273  src/cairo-user-font.c |   14 +++++++++++---
28274  src/cairo.h           |   23 ++++++++++++++---------
28275  4 files changed, 28 insertions(+), 12 deletions(-)
28276
28277 commit f9573d03dde2c38674d36b783044715ab5104b0a
28278 Author: Behdad Esfahbod <behdad@behdad.org>
28279 Date:   Tue Mar 17 19:48:12 2009 -0400
28280
28281     Err, make gtk-doc happy again
28282
28283  doc/public/tmpl/cairo-status.sgml |    2 +-
28284  src/cairo.h                       |    2 --
28285  2 files changed, 1 insertion(+), 3 deletions(-)
28286
28287 commit 30735f790aa3cef822f132932f43a4738cd8cd95
28288 Author: Chris Wilson <chris@chris-wilson.co.uk>
28289 Date:   Tue May 5 18:37:25 2009 +0100
28290
28291     [xlib] Use a similar content surface for cloning images
28292     
28293     Simply request a surface with a similar content to the source image when
28294     uploading pixel data. Failing to do so prevents using a 16-bit (or
28295     otherwise non-standard pixman image format) window as a source - in fact
28296     it will trigger an infinite recursion.
28297
28298  src/cairo-xlib-surface.c |   16 +++++++++-------
28299  1 file changed, 9 insertions(+), 7 deletions(-)
28300
28301 commit 60e38d0530443aa9c78e74e47ba5574887ae220c
28302 Author: Chris Wilson <chris@chris-wilson.co.uk>
28303 Date:   Tue May 5 17:05:39 2009 +0100
28304
28305     [surface] Convert FORMAT_INVALID during snapshots
28306     
28307     Currently the surface snapshotting attempts to clone the source using a
28308     new surface of identical format. This will raise an error if the source is
28309     an unusual xserver, for example one operating at 16bpp. The solution to
28310     this is to create the surface using the content type rather than the
28311     format (as elsewhere within the code base). However, we also wish to
28312     preserve FORMAT_A1 (which is lost if we only choose the format based on
28313     _cairo_format_from_content) as the various backends may be able to
28314     trivially special case such bitmaps.
28315
28316  src/cairo-surface-fallback.c |   10 +++++++++-
28317  1 file changed, 9 insertions(+), 1 deletion(-)
28318
28319 commit 31f5a2e94d669b9d2785de944d4aee584fd1d76e
28320 Author: Chris Wilson <chris@chris-wilson.co.uk>
28321 Date:   Tue May 5 15:52:55 2009 +0100
28322
28323     [png] Coerce FORMAT_INVALID to a known image format
28324     
28325     It is possible for cairo_surface_write_to_png() to acquire a non-standard
28326     image surface when, for example, we try to dump a low bit-depth XServer.
28327     Handle this scenario by coercing the unknown image format to a standard
28328     type via pixman.
28329
28330  src/cairo-png.c |   44 ++++++++++++++++++++++++++++++--------------
28331  1 file changed, 30 insertions(+), 14 deletions(-)
28332
28333 commit c488b336449a1a7ca4d3f90785afeec9e21784c3
28334 Author: Chris Wilson <chris@chris-wilson.co.uk>
28335 Date:   Tue May 5 13:59:07 2009 +0100
28336
28337     [test] Create a new fallback surface to exercise 16-bit paths.
28338     
28339     Add a variation of test-fallback-surface that forces the use of a 16-bit
28340     pixman format code instead of the standard 32-bit types. This creates an
28341     image surface akin to the fallbacks used with low bit-depth xservers.
28342
28343  .../cairo-boilerplate-test-surfaces-private.h      |   11 +
28344  boilerplate/cairo-boilerplate-test-surfaces.c      |   16 ++
28345  boilerplate/cairo-boilerplate.c                    |   18 ++
28346  src/Makefile.sources                               |    2 +
28347  src/test-fallback16-surface.c                      |  234 ++++++++++++++++++++
28348  src/test-fallback16-surface.h                      |   52 +++++
28349  test/Makefile.am                                   |    4 +
28350  test/Makefile.sources                              |    3 +
28351  test/test-fallback16-surface-source.c              |   43 ++++
28352  test/test-fallback16-surface-source.ref.png        |  Bin 0 -> 268 bytes
28353  10 files changed, 383 insertions(+)
28354
28355 commit 1d609d672273da494fd596606b59ab1c0010ae6d
28356 Author: Chris Wilson <chris@chris-wilson.co.uk>
28357 Date:   Tue May 5 17:11:55 2009 +0100
28358
28359     [image] Treat A1 image surfaces as BILEVEL_ALPHA
28360     
28361     Categorise the transparency of FORMAT_A1 image surfaces as BILEVEL_ALPHA.
28362
28363  src/cairo-image-surface.c |    9 +++++++--
28364  1 file changed, 7 insertions(+), 2 deletions(-)
28365
28366 commit aac132a76a2af3719088678295169f1962a555e6
28367 Author: Chris Wilson <chris@chris-wilson.co.uk>
28368 Date:   Fri Apr 24 10:14:36 2009 +0100
28369
28370     [image] Make _cairo_image_analayze_transparency() more format agnostic
28371     
28372     Use the content in preference to the format to determine
28373     CAIRO_IMAGE_IS_OPAQUE/CAIRO_IMAGE_HAS_ALPHA.
28374
28375  src/cairo-image-surface.c |   17 +++++++----------
28376  1 file changed, 7 insertions(+), 10 deletions(-)
28377
28378 commit 4be6de9fc6192d59c8d61e8edafed941e868a756
28379 Author: Chris Wilson <chris@chris-wilson.co.uk>
28380 Date:   Fri Apr 24 10:03:20 2009 +0100
28381
28382     [image] Return FORMAT_INVALID for an error surface.
28383     
28384     The default error value should be CAIRO_FORMAT_INVALID [-1] not 0 (which
28385     corresponds to CAIRO_FORMAT_ARGB32).
28386
28387  src/cairo-image-surface.c |    2 +-
28388  1 file changed, 1 insertion(+), 1 deletion(-)
28389
28390 commit 6675cf558719f81afe2a4331bc6adb3cda637a26
28391 Author: Chris Wilson <chris@chris-wilson.co.uk>
28392 Date:   Fri May 1 09:31:53 2009 +0100
28393
28394     [build] Add lcov-1.7 to known list
28395
28396  build/configure.ac.analysis |    2 +-
28397  1 file changed, 1 insertion(+), 1 deletion(-)
28398
28399 commit 526fcdb7e6cc8b522508762b1a68a5585fddf823
28400 Author: Chris Wilson <chris@chris-wilson.co.uk>
28401 Date:   Mon Apr 20 10:56:06 2009 +0100
28402
28403     [build] Enable shave support
28404     
28405     shave transforms the messy output of autotools into a pretty (quiet!)
28406     Kbuild-like one.
28407     
28408     Lets see how controversial a simple change can be...
28409
28410  build/.gitignore       |    2 ++
28411  build/aclocal.dolt.m4  |    1 +
28412  build/aclocal.shave.m4 |   77 ++++++++++++++++++++++++++++++++++++++++++++++
28413  build/shave-libtool.in |   69 ++++++++++++++++++++++++++++++++++++++++++
28414  build/shave.in         |   79 ++++++++++++++++++++++++++++++++++++++++++++++++
28415  configure.ac           |    4 +++
28416  6 files changed, 232 insertions(+)
28417
28418 commit 1ae2ddc1dd4c90d50b8c57c4de677f8ab96b1fa2
28419 Author: Chris Wilson <chris@chris-wilson.co.uk>
28420 Date:   Thu Apr 16 17:19:12 2009 +0100
28421
28422     [memfault] Manually inject faults when using stack allocations
28423     
28424     Ensure that no assumptions are made that a small allocation will succeed
28425     by manually injecting faults when we may be simply allocating from an
28426     embedded memory pool.
28427     
28428     The main advantage in manual fault injection is improved code coverage -
28429     from within the test suite most allocations are handled by the embedded
28430     memory pools.
28431
28432  src/cairo-array.c           |    3 +++
28433  src/cairo-bentley-ottmann.c |    3 +++
28434  src/cairo-gstate.c          |    3 +++
28435  src/cairo-hull.c            |    3 +++
28436  src/cairo-image-surface.c   |    6 ++++++
28437  src/cairo-malloc-private.h  |    7 +++++++
28438  src/cairo-misc.c            |    3 +++
28439  src/cairo-path-stroke.c     |    2 ++
28440  src/cairo-pattern.c         |    9 +++++++++
28441  src/cairo-pen.c             |    9 +++++++++
28442  src/cairo-polygon.c         |    5 +++++
28443  src/cairo-scaled-font.c     |    3 +++
28444  src/cairo-stroke-style.c    |    3 +++
28445  src/cairo-traps.c           |    5 +++++
28446  14 files changed, 64 insertions(+)
28447
28448 commit 817589e1967ebdd5e5bda1781eb76010fd8c37dc
28449 Author: Chris Wilson <chris@chris-wilson.co.uk>
28450 Date:   Thu Apr 16 13:01:52 2009 +0100
28451
28452     [test] Call FcInit() manually.
28453     
28454     Pre-initialise fontconfig whilst memfault is disabled to avoid a lot of
28455     expensive, redundant testing of FcInit() throughout the test suite.
28456
28457  test/cairo-test.c |    6 ++++++
28458  1 file changed, 6 insertions(+)
28459
28460 commit be27e844c83c0f5cf25dee1c62768dbf70897a06
28461 Author: Chris Wilson <chris@chris-wilson.co.uk>
28462 Date:   Thu Apr 16 17:13:52 2009 +0100
28463
28464     [ft] Propagate status from font creation
28465     
28466     Return the true error status whel
28467     _cairo_ft_unscaled_font_create_internal(). This ensures that the original
28468     error is not masked and we are able to report the error during fontconfig
28469     pattern resolution.
28470
28471  src/cairo-ft-font.c |   90 +++++++++++++++++++++++++++++----------------------
28472  1 file changed, 51 insertions(+), 39 deletions(-)
28473
28474 commit d46c56f18c8a93d3d50be9333292c7c9b0ac0a78
28475 Author: Chris Wilson <chris@chris-wilson.co.uk>
28476 Date:   Thu Apr 16 13:00:59 2009 +0100
28477
28478     [ft] Check for pattern duplication failure.
28479     
28480     Check the return of FcPatternDuplicate() for failure, and propagate the
28481     error.
28482
28483  src/cairo-ft-font.c |    2 ++
28484  1 file changed, 2 insertions(+)
28485
28486 commit 50302f156dfba4dcb3639843d7eda819f2c6797c
28487 Author: Chris Wilson <chris@chris-wilson.co.uk>
28488 Date:   Thu Apr 16 12:59:36 2009 +0100
28489
28490     [ft] Check (correctly!) for pattern duplication failure.
28491     
28492     Check the return from FcPatternDuplicate() for allocation failure (and not
28493     the original pattern)!
28494
28495  src/cairo-ft-font.c |    2 +-
28496  1 file changed, 1 insertion(+), 1 deletion(-)
28497
28498 commit 8bf109bd2a9c9bf755671185733def898a4f96f2
28499 Author: Chris Wilson <chris@chris-wilson.co.uk>
28500 Date:   Thu Apr 16 17:17:06 2009 +0100
28501
28502     [pattern] Silence compiler with impossible case.
28503     
28504     Assert that the pattern is one of the four known types, and return an
28505     error so that the compiler knows that the local variable can not be used
28506     uninitialised.
28507
28508  src/cairo-pattern.c |    3 +++
28509  1 file changed, 3 insertions(+)
28510
28511 commit 5a76c233bffda65140c6ada9b5f2ed7d3bcc999e
28512 Author: Chris Wilson <chris@chris-wilson.co.uk>
28513 Date:   Tue Apr 14 11:02:40 2009 +0100
28514
28515     [type3] Propagate error from font creation.
28516     
28517     Perform an error check after creating a scaled-font to prevent operations
28518     on a nil-object.
28519
28520  src/cairo-type3-glyph-surface.c |    2 ++
28521  1 file changed, 2 insertions(+)
28522
28523 commit d46bd67c8b3f63d6286845e814f8f1e040f89737
28524 Author: Chris Wilson <chris@chris-wilson.co.uk>
28525 Date:   Fri Apr 10 14:55:24 2009 +0100
28526
28527     [type3] Add status checks.
28528     
28529     Propagate error from the stream when creating the surface and add status
28530     guards before writing to the potential nil object.
28531
28532  src/cairo-type3-glyph-surface.c |   26 +++++++++++++++++++++++---
28533  1 file changed, 23 insertions(+), 3 deletions(-)
28534
28535 commit a6ffb69a54f15659dac7c6b2e1c98bd7893ccdf1
28536 Author: Chris Wilson <chris@chris-wilson.co.uk>
28537 Date:   Fri Apr 3 17:28:05 2009 +0100
28538
28539     [type3] Check error status before emit_image().
28540     
28541     Be careful not to pass an error object down to emit_image() hook,
28542     propagate the error instead. This relieves the burden of the error check
28543     from the callee -- which was causing an assertion failure in the ps
28544     backend.
28545
28546  src/cairo-type3-glyph-surface.c |    8 ++++++--
28547  1 file changed, 6 insertions(+), 2 deletions(-)
28548
28549 commit 21d1138da9bcf9c006e0cf3f3d1d50e1c7cec1de
28550 Author: Chris Wilson <chris@chris-wilson.co.uk>
28551 Date:   Fri Apr 10 14:53:55 2009 +0100
28552
28553     [scaled-font-subsets] Check for malloc failure.
28554     
28555     Check that the utf8 string is successfully allocated before writing to it,
28556     otherwise propagate the error status back to the callers.
28557
28558  src/cairo-scaled-font-subsets.c |   63 ++++++++++++++++++++++-----------------
28559  1 file changed, 35 insertions(+), 28 deletions(-)
28560
28561 commit 0f0e2d738437176e72317b37ef66fbc56c60ba93
28562 Author: Chris Wilson <chris@chris-wilson.co.uk>
28563 Date:   Fri Apr 10 14:52:48 2009 +0100
28564
28565     [pdf] Propagate failure from type3 glyph surface creation.
28566     
28567     Add an early check that we successfully created the glyph surface.
28568
28569  src/cairo-pdf-surface.c |   11 +++++++++++
28570  1 file changed, 11 insertions(+)
28571
28572 commit 1496c5cf51a2304dfd4e9d359a0645ff44fadd3e
28573 Author: Chris Wilson <chris@chris-wilson.co.uk>
28574 Date:   Fri Apr 10 14:50:26 2009 +0100
28575
28576     [analysis] Use _cairo_region_init()
28577     
28578     Avoid secondary allocations of the thin region wrappers during surface
28579     creation by embedding them into the parent structure. This has the
28580     satisfactory side-effect of not requiring status checks which current code
28581     lacks.
28582
28583  src/cairo-analysis-surface.c |   26 +++++++++++++-------------
28584  1 file changed, 13 insertions(+), 13 deletions(-)
28585
28586 commit ad83765a1441cb369c3e7f3de77c243297406c7a
28587 Author: Chris Wilson <chris@chris-wilson.co.uk>
28588 Date:   Fri Apr 3 09:23:58 2009 +0100
28589
28590     [xlib] Allocate bounded region on stack.
28591     
28592     Eliminate the extremely short-lived and oft unnecessary heap allocation
28593     of the region by first checking to see whether the clip exceeds the
28594     surface bounds and only then intersect the clip with a local
28595     stack-allocated region.
28596
28597  src/cairo-region.c       |   23 ++++++++++++++++++
28598  src/cairo-xlib-surface.c |   58 ++++++++++++++++++++++++++++++----------------
28599  src/cairoint.h           |   10 ++++++++
28600  3 files changed, 71 insertions(+), 20 deletions(-)
28601
28602 commit 75b06b8bdb5efaf030e063c1f66583d8fde347dc
28603 Author: Chris Wilson <chris@chris-wilson.co.uk>
28604 Date:   Wed Apr 1 11:43:16 2009 +0100
28605
28606     [pattern] Do not modify outparam on error path.
28607     
28608     The pdf backend was crashing as a failed pattern copy stored an invalid
28609     pointer with the resource group.
28610
28611  src/cairo-pattern.c |   21 +++++++++++----------
28612  1 file changed, 11 insertions(+), 10 deletions(-)
28613
28614 commit 82cccb26723697492504f395fed33afba28d84ba
28615 Author: Chris Wilson <chris@chris-wilson.co.uk>
28616 Date:   Tue Apr 14 11:01:39 2009 +0100
28617
28618     [test] Handle memfaults during surface-finish-twice
28619     
28620     Check and report memory allocation failures.
28621
28622  test/surface-finish-twice.c |   17 +++++++++++------
28623  1 file changed, 11 insertions(+), 6 deletions(-)
28624
28625 commit f12d52bfcae0792729b33a1fd1b2d23bd3fc7cf3
28626 Author: Chris Wilson <chris@chris-wilson.co.uk>
28627 Date:   Sat Apr 4 19:02:15 2009 +0100
28628
28629     [test] Use xmalloc() to evade memfault.
28630     
28631     Do not use the simple malloc() as memfault will inject allocation failures
28632     (unlike xmalloc() for which faults are excluded) - as this is unnecessary
28633     inside the test harness and thus does not exercise any cairo code paths.
28634
28635  test/show-glyphs-many.c |    2 +-
28636  1 file changed, 1 insertion(+), 1 deletion(-)
28637
28638 commit ca501d99bbec432252cbb134d863801d4a792a44
28639 Author: Chris Wilson <chris@chris-wilson.co.uk>
28640 Date:   Wed Apr 1 11:41:59 2009 +0100
28641
28642     [test] Disable signal handling under valgrind
28643     
28644     Capturing and handling the signals prevents valgrind from providing
28645     backtraces for fatal signals -- which is often more useful.
28646
28647  test/cairo-test.c |    2 +-
28648  1 file changed, 1 insertion(+), 1 deletion(-)
28649
28650 commit f8539726368141f8b42c7817cfd59b4abfce33f3
28651 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
28652 Date:   Tue Apr 7 14:50:25 2009 -0400
28653
28654     [win32] Fix building with libpng and zlib
28655     
28656     Include zlib and libpng dependencies using something like '$(cairo_dir)/../zlib/zdll.lib'
28657     instead of just 'zdll.lib'. Also, do similarly for the headers.
28658
28659  build/Makefile.win32.common |    8 +++++---
28660  1 file changed, 5 insertions(+), 3 deletions(-)
28661
28662 commit 1798fc6607a89811929d1f21cc71c751438f5699
28663 Author: Adrian Johnson <ajohnson@redneon.com>
28664 Date:   Sun Apr 5 11:17:02 2009 +0930
28665
28666     Fix the TrueType subsetting fix in 9b496af5c
28667     
28668     Oops.
28669
28670  src/cairo-truetype-subset.c |    2 +-
28671  1 file changed, 1 insertion(+), 1 deletion(-)
28672
28673 commit fe97e815e81f4429889fd52bb525c260f9967356
28674 Author: Adrian Johnson <ajohnson@redneon.com>
28675 Date:   Sun Apr 5 01:04:12 2009 +1030
28676
28677     Fix TrueType subsetting bug
28678     
28679     Fix incorrect counting of arguments in composite glyphs
28680
28681  src/cairo-truetype-subset-private.h |    2 +-
28682  src/cairo-truetype-subset.c         |   12 +++++++-----
28683  2 files changed, 8 insertions(+), 6 deletions(-)
28684
28685 commit 9b496af5c214283c297a52c90a04743f9da9f6a3
28686 Author: Adrian Johnson <ajohnson@redneon.com>
28687 Date:   Sun Apr 5 00:44:02 2009 +1030
28688
28689     Fix buffer size check in TrueType subsetting
28690     
28691     Andrew Cowie reported a problem with the Charis SIL font being
28692     embedded as a fallback font.
28693     
28694     The buffer size check for composite glyphs was incorrect causing the
28695     subsetting to fail for some fonts.
28696
28697  src/cairo-truetype-subset.c |    2 +-
28698  1 file changed, 1 insertion(+), 1 deletion(-)
28699
28700 commit ba2ec8e1d9144c4a27917e59cb15039552eb008c
28701 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
28702 Date:   Wed Apr 1 13:29:12 2009 -0400
28703
28704     Remove trailing comma in cairo_region_overlap_t enum.
28705
28706  src/cairo.h |    2 +-
28707  1 file changed, 1 insertion(+), 1 deletion(-)
28708
28709 commit 2d6336624c33e9c674c192b68eb501373a96dc87
28710 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
28711 Date:   Wed Apr 1 11:32:58 2009 -0400
28712
28713     [test-win32] Fix static linking of the test suite.
28714     
28715     Previously, the test suite needed to be dynamically linked to work.
28716
28717  boilerplate/Makefile.win32 |    2 +-
28718  test/Makefile.win32        |    9 ++++++---
28719  test/pdiff/Makefile.win32  |    2 +-
28720  3 files changed, 8 insertions(+), 5 deletions(-)
28721
28722 commit 0f21893b0510a188439c2d8cd448bcfcf17ef8c6
28723 Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
28724 Date:   Wed Apr 1 08:54:30 2009 -0400
28725
28726     [region] pixman_region32_contains_point() does not allow NULL for box
28727
28728  src/cairo-region.c |    4 +++-
28729  1 file changed, 3 insertions(+), 1 deletion(-)
28730
28731 commit e46c1d7fa34b4ba89fc3e0fe6f3042a6fa8c0398
28732 Author: Chris Wilson <chris@chris-wilson.co.uk>
28733 Date:   Tue Mar 31 10:39:46 2009 +0100
28734
28735     [scaled-font-subset] Cleanup after failure to convert to utf16.
28736     
28737     Avoid leaking the local hashtable and strings after failing to convert the
28738     string to utf16.
28739
28740  src/cairo-scaled-font-subsets.c |    2 +-
28741  1 file changed, 1 insertion(+), 1 deletion(-)
28742
28743 commit 180b964aac4e058e6783778d33772f08e13b3669
28744 Author: Chris Wilson <chris@chris-wilson.co.uk>
28745 Date:   Tue Mar 31 10:37:44 2009 +0100
28746
28747     [scaled-font-subset] Propagate error from scaled-font to collection.
28748     
28749     Don't attempt to collect the sub_font if it is in error.
28750
28751  src/cairo-scaled-font-subsets.c |    4 ++++
28752  1 file changed, 4 insertions(+)
28753
28754 commit 8362c6f726979abc43ad9f7303bd45fcb03f83b3
28755 Author: Chris Wilson <chris@chris-wilson.co.uk>
28756 Date:   Tue Mar 31 10:36:08 2009 +0100
28757
28758     [type1] Fixup error path during write_charstrings()
28759     
28760     On the common error path we attempted to unlock a mutex that was not
28761     always held, so reorder the error paths appropriately.
28762
28763  src/cairo-type1-fallback.c |    6 +++---
28764  1 file changed, 3 insertions(+), 3 deletions(-)
28765
28766 commit 88956cd42e9cc03cb8b4ec730062993eaaf3938d
28767 Author: Chris Wilson <chris@chris-wilson.co.uk>
28768 Date:   Tue Mar 31 10:35:24 2009 +0100
28769
28770     [ps] Check for error during stroking.
28771     
28772     Add a missing error status check that caused errors during stroke to be
28773     masked.
28774
28775  src/cairo-ps-surface.c |    3 +++
28776  1 file changed, 3 insertions(+)
28777
28778 commit 043352aa8d1e3aeacf3b877f45e1bc451a676e15
28779 Author: Chris Wilson <chris@chris-wilson.co.uk>
28780 Date:   Tue Mar 31 10:34:41 2009 +0100
28781
28782     [pdf] Prevent leak of pad_image on error path.
28783     
28784     Ensure that the local pad_image is destroyed after an error.
28785
28786  src/cairo-pdf-surface.c |    4 ++--
28787  1 file changed, 2 insertions(+), 2 deletions(-)
28788
28789 commit b0689f56118dd8ccda6f29901d41cf8f80983aa0
28790 Author: Chris Wilson <chris@chris-wilson.co.uk>
28791 Date:   Tue Mar 31 10:27:15 2009 +0100
28792
28793     Check for errors during get_mime_data()
28794     
28795     cairo_surface_get_mime_data() may raise an error on the surface, so we
28796     need to check lest it goes unnoticed and we generate a corrupt file.
28797
28798  src/cairo-pdf-surface.c |    2 ++
28799  src/cairo-ps-surface.c  |    2 ++
28800  src/cairo-svg-surface.c |    2 ++
28801  3 files changed, 6 insertions(+)
28802
28803 commit 9f63cbb870892253f363ddb7aac908263672c8dc
28804 Author: Chris Wilson <chris@chris-wilson.co.uk>
28805 Date:   Mon Mar 30 19:09:13 2009 +0100
28806
28807     [pdf] Free compressed stream after error.
28808     
28809     Ensure that the compressed stream is destroyed after encountering an
28810     error.
28811
28812  src/cairo-pdf-surface.c |   13 ++++++++-----
28813  1 file changed, 8 insertions(+), 5 deletions(-)
28814
28815 commit ba1a0fa601a817ff489bc5373af57977e41eb99f
28816 Author: Chris Wilson <chris@chris-wilson.co.uk>
28817 Date:   Mon Mar 30 19:08:41 2009 +0100
28818
28819     [truetype] Free local names on failure.
28820     
28821     Ensure that all local allocations are freed on the error path.
28822
28823  src/cairo-truetype-subset.c |   13 +++++++++----
28824  1 file changed, 9 insertions(+), 4 deletions(-)
28825
28826 commit edce97a750acf4368bd7249ec6b9a195f8584cdf
28827 Author: Chris Wilson <chris@chris-wilson.co.uk>
28828 Date:   Mon Mar 30 16:50:51 2009 +0100
28829
28830     [pdf] Remove false assertion.
28831     
28832     The stream itself may be in an error state, so an error could be raised.
28833
28834  src/cairo-pdf-surface.c |    8 +++++---
28835  1 file changed, 5 insertions(+), 3 deletions(-)
28836
28837 commit b580a4a8d6c056ba8b47be32ea8c5b9a1d90d01e
28838 Author: Chris Wilson <chris@chris-wilson.co.uk>
28839 Date:   Mon Mar 30 16:50:10 2009 +0100
28840
28841     [test] Improve fault injection coverage
28842     
28843     In order to exercise the meta-surfaces, we need to inject faults into
28844     cairo_surface_finish().
28845
28846  boilerplate/cairo-boilerplate.c |   16 +++++++++++++---
28847  test/cairo-test.c               |   35 +++++++++++++++++++++++++++++++++++
28848  2 files changed, 48 insertions(+), 3 deletions(-)
28849
28850 commit 80d5b53b474c94219c51ae16dcc19098a2d86165
28851 Author: Søren Sandmann Pedersen <sandmann@redhat.com>
28852 Date:   Tue Mar 31 05:47:44 2009 -0400
28853
28854     [region] Change name of cairo_region_empty() to cairo_region_is_empty()
28855
28856  src/cairo-clip.c             |    2 +-
28857  src/cairo-region.c           |    6 +++---
28858  src/cairo-surface-fallback.c |    2 +-
28859  src/cairo.h                  |    2 +-
28860  src/cairoint.h               |    2 +-
28861  5 files changed, 7 insertions(+), 7 deletions(-)
28862
28863 commit 77ee65fd03d06064be023f022d565c5038fe26df
28864 Author: Jonathan Kew <jfkthame@gmail.com>
28865 Date:   Mon Mar 30 14:45:48 2009 -0400
28866
28867     [win32] Fix horizontal glyph positioning bug
28868     
28869     The _cairo_win32_scaled_font_backend version of show_glyphs collects
28870     glyph runs to hand to ExtTextOutW until the y-offset changes, then flushes the
28871     glyphs buffered so far. As each glyph is buffered, it also calculates and
28872     buffers the dx value for the preceding glyph.
28873     
28874     However, when it sees a change in dy and decides to flush, it should *not*
28875     append an entry to the dx buffer, as this would be the "dx" of the previous
28876     glyph, and instead the new start_x value will be used for the new glyph run
28877     that's being collected. This bug means that after any vertically-offset glyph,
28878     the remaining glyphs in the run will get incorrect dx values (horizontal
28879     escapement).
28880     
28881     Mozilla bug #475092
28882
28883  src/cairo-win32-font.c |   10 +++++-----
28884  1 file changed, 5 insertions(+), 5 deletions(-)
28885
28886 commit aee71e2063b1d6d23cd8dcef7789c9cf106af32a
28887 Author: Chris Wilson <chris@chris-wilson.co.uk>
28888 Date:   Mon Mar 30 13:41:00 2009 +0100
28889
28890     [test] Memfault checks.
28891     
28892     Don't assume an error means the test failed, check for injected allocation
28893     errors.
28894
28895  test/create-from-png.c |  164 +++++++++++++++++++++++++++++++++---------------
28896  1 file changed, 113 insertions(+), 51 deletions(-)
28897
28898 commit ea6197c2f5f04d5e8e8035a330c5199b37beb702
28899 Author: Chris Wilson <chris@chris-wilson.co.uk>
28900 Date:   Mon Mar 30 10:54:26 2009 +0100
28901
28902     [surface] Propagate region allocation failure.
28903     
28904     Propagate the error status from failing to allocate the region.
28905
28906  src/cairo-surface.c |   21 ++++++++++-----------
28907  1 file changed, 10 insertions(+), 11 deletions(-)
28908
28909 commit c35d226f7d3654b312e18068b8ccb47a51002a39
28910 Author: Chris Wilson <chris@chris-wilson.co.uk>
28911 Date:   Mon Mar 30 10:46:37 2009 +0100
28912
28913     [traps] Propagate allocation failure.
28914     
28915     Report failure to allocation region.
28916
28917  src/cairo-traps.c |   23 ++++++++++-------------
28918  1 file changed, 10 insertions(+), 13 deletions(-)
28919
28920 commit e238d10b30e18084bf07eb1643fdf48ef35467ab
28921 Author: Chris Wilson <chris@chris-wilson.co.uk>
28922 Date:   Mon Mar 30 10:22:18 2009 +0100
28923
28924     [region] Use const cairo_rectangle_int_t consistently.
28925     
28926     Add the const declaration to a couple of functions.
28927
28928  src/cairo-region.c |    4 ++--
28929  src/cairo.h        |    4 ++--
28930  2 files changed, 4 insertions(+), 4 deletions(-)
28931
28932 commit de1612bdd767ca37e01938f8e41d9699531a49d9
28933 Author: Chris Wilson <chris@chris-wilson.co.uk>
28934 Date:   Mon Mar 30 10:17:49 2009 +0100
28935
28936     [region] Use _cairo_status_is_error
28937     
28938     Replace the open-coded version with the more readable macro.
28939
28940  src/cairo-region.c |    2 +-
28941  1 file changed, 1 insertion(+), 1 deletion(-)
28942
28943 commit f027405429d0133b2840c4b82bc553355fa5f3d2
28944 Author: Chris Wilson <chris@chris-wilson.co.uk>
28945 Date:   Mon Mar 30 10:12:41 2009 +0100
28946
28947     [region] Add leading underscore to private _cairo_region_set_error()
28948     
28949     Differentiate the private _cairo_region_set_error() function by using a
28950     leading underscore.
28951
28952  src/cairo-region.c |   24 ++++++++++++------------
28953  1 file changed, 12 insertions(+), 12 deletions(-)
28954
28955 commit ed7188a471f73abcc4ca3e2a92685088134391c7
28956 Author: Chris Wilson <chris@chris-wilson.co.uk>
28957 Date:   Mon Mar 30 10:07:48 2009 +0100
28958
28959     [region] Add slim_hidden_def.
28960     
28961     Fixes for check-plt.sh (and a few adjacent whitespace).
28962
28963  src/cairo-region.c |  244 ++++++++++++++++++++++++++++------------------------
28964  1 file changed, 133 insertions(+), 111 deletions(-)
28965
28966 commit f31c6548f818e1d4e257d94d623705284bcc4274
28967 Author: Chris Wilson <chris@chris-wilson.co.uk>
28968 Date:   Sat Mar 28 19:26:03 2009 +0000
28969
28970     Silence compiler warnings for CAIRO_STATUS_LAST_STATUS
28971     
28972     Add ASSERT_NOT_REACHED (or similar) cases to the error handling switches
28973     to silence the compiler.
28974
28975  src/cairo-misc.c    |    5 +++--
28976  src/cairo-spans.c   |    2 ++
28977  src/cairo-surface.c |    1 +
28978  3 files changed, 6 insertions(+), 2 deletions(-)
28979
28980 commit 979337dd4da40abb2ea49968a2c01709d9046aab
28981 Author: Eric Anholt <eric@anholt.net>
28982 Date:   Sat Mar 28 21:53:04 2009 -0700
28983
28984     [gl] Wire blend factors using dst alpha to constants for CAIRO_CONTENT_COLOR.
28985     
28986     This fixes the operator and operator-alpha tests to rgb24 destinations.
28987     While we request an RGB texture, the returned texture has alpha bits, so when
28988     we blend against it as a renderbuffer, we get the junk alpha values.  Whether
28989     or not this is a driver bug, we'll have this problem when we get visuals
28990     with alpha bits for windows despite not requestiong alpha, so we have to
28991     handle it in cairo.
28992
28993  src/cairo-gl-surface.c |   22 ++++++++++++++++++----
28994  1 file changed, 18 insertions(+), 4 deletions(-)
28995
28996 commit 809f7dc4c83009f0a67bc8af0608b480bf7fb00e
28997 Author: Eric Anholt <eric@anholt.net>
28998 Date:   Sat Mar 28 21:30:13 2009 -0700
28999
29000     [gl] Make sure test visuals for CAIRO_CONTENT_COLOR_ALPHA have alpha bits.
29001     
29002     Since we're just making FBOs, the visual chosen probably shouldn't matter,
29003     and it doesn't on Intel.  But it does seem like the right thing to do.
29004
29005  boilerplate/cairo-boilerplate-gl.c |   25 ++++++++++++++++++-------
29006  1 file changed, 18 insertions(+), 7 deletions(-)
29007
29008 commit 93c437d4b9261bc1ce3daf9cbd02d9cc4d2584cc
29009 Author: Eric Anholt <eric@anholt.net>
29010 Date:   Sat Mar 28 20:59:01 2009 -0700
29011
29012     [gl] Use GLEW to detect required extension presence.
29013
29014  configure.ac           |    9 +++++++++
29015  src/cairo-gl-surface.c |   13 +++++++++++++
29016  2 files changed, 22 insertions(+)
29017
29018 commit 62d84847c3b857b8fd5aeea3f4b5c0f2f4c91625
29019 Author: Søren Sandmann Pedersen <sandmann@redhat.com>
29020 Date:   Sat Mar 28 03:58:51 2009 -0400
29021
29022     [region] Add documentation for all the new region methods.
29023
29024  src/cairo-region.c |  260 +++++++++++++++++++++++++++++++++++++++++++++-------
29025  src/cairo.h        |    6 +-
29026  2 files changed, 232 insertions(+), 34 deletions(-)
29027
29028 commit 980e9f0dbd4f21c0ccf4cc33b0b0f2f370667290
29029 Author: Søren Sandmann Pedersen <sandmann@redhat.com>
29030 Date:   Sat Mar 28 03:04:28 2009 -0400
29031
29032     [region] Fix status propagation for regions
29033     
29034     When an operation fails, store the status code in the destination
29035     region rather than leaving it unchanged.
29036
29037  src/cairo-region.c |   66 +++++++++++++++++++++++++++++++++++++++++-----------
29038  1 file changed, 52 insertions(+), 14 deletions(-)
29039
29040 commit 64e490a464472cfe06d779503601d41972ed4518
29041 Author: Søren Sandmann Pedersen <sandmann@redhat.com>
29042 Date:   Sat Mar 28 01:10:24 2009 -0400
29043
29044     [region] Use signed ints for width and height in cairo_rectangle_int_t
29045
29046  src/cairo.h |    2 +-
29047  1 file changed, 1 insertion(+), 1 deletion(-)
29048
29049 commit 26999e5aa8b5d353596e31d4b3823cafe007125c
29050 Author: Søren Sandmann <sandmann@redhat.com>
29051 Date:   Fri Mar 27 08:48:42 2009 -0400
29052
29053     [region] Add cairo_region_intersect_rectangle() and _subtract_rectangle()
29054     
29055     Intersecting with and subtracting rectangles is quite common, and we
29056     already have cairo_union_rectangle().
29057
29058  src/cairo-clip.c    |   27 ++++-----------------------
29059  src/cairo-region.c  |   45 ++++++++++++++++++++++++++++++++++++++++++++-
29060  src/cairo-surface.c |    9 +--------
29061  src/cairo.h         |   11 ++++++++++-
29062  src/cairoint.h      |    2 ++
29063  5 files changed, 61 insertions(+), 33 deletions(-)
29064
29065 commit 4b3245481cfbf96388c140421a071fd1f79ad601
29066 Author: Søren Sandmann Pedersen <sandmann@redhat.com>
29067 Date:   Sat Feb 21 08:13:25 2009 -0500
29068
29069     [region] Expand rect to rectangle in a couple of names
29070     
29071     Specifically,
29072     
29073         cairo_region_union_rect  ->  cairo_region_union_rectangle
29074         cairo_region_create_rect ->  cairo_region_create_rectangle
29075     
29076     Also delete cairo_region_clear() which is not that useful.
29077
29078  src/cairo-analysis-surface.c |    4 ++--
29079  src/cairo-clip.c             |    4 ++--
29080  src/cairo-region.c           |   16 +++-------------
29081  src/cairo-surface-fallback.c |    2 +-
29082  src/cairo-surface.c          |    4 ++--
29083  src/cairo-traps.c            |    2 +-
29084  src/cairo-xlib-surface.c     |    2 +-
29085  src/cairo.h                  |    7 ++-----
29086  src/cairoint.h               |    5 ++---
29087  9 files changed, 16 insertions(+), 30 deletions(-)
29088
29089 commit bf6d9bc1758ac1971485b6565d29934d6b06bef2
29090 Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
29091 Date:   Wed Feb 18 08:01:19 2009 -0500
29092
29093     [region] Delete cairo_region_create_rectangles()
29094     
29095     It was only used in _cairo_traps_extract_region() which could be
29096     simplified significantly by calling cairo_region_union_rect()
29097     repeatedly instead.
29098
29099  src/cairo-region.c |   44 --------------------------------------
29100  src/cairo-traps.c  |   60 ++++++++++++++++++++--------------------------------
29101  src/cairo.h        |    4 ----
29102  src/cairoint.h     |    1 -
29103  4 files changed, 23 insertions(+), 86 deletions(-)
29104
29105 commit e6d82afcab01cc91b88185abc8d1bfb9df5c2c19
29106 Author: Søren Sandmann <sandmann@redhat.com>
29107 Date:   Wed Feb 18 00:20:46 2009 -0500
29108
29109     [region] Add slim_hidden_proto for region functions
29110
29111  src/cairoint.h |   18 ++++++++++++++++++
29112  1 file changed, 18 insertions(+)
29113
29114 commit e29103c08189cab9de34f577951219a69bd7c8e2
29115 Author: Søren Sandmann <sandmann@redhat.com>
29116 Date:   Wed Feb 18 00:11:35 2009 -0500
29117
29118     [region] Move region function prototypes to cairo.h along with helper types.
29119     
29120     Move struct _cairo_region to cairoint.h and delete
29121     cairo-region-private.h. Delete cairo_private from the function
29122     definitions that had it.
29123
29124  src/Makefile.sources         |    1 -
29125  src/cairo-analysis-surface.c |    1 -
29126  src/cairo-clip-private.h     |    1 -
29127  src/cairo-region-private.h   |  128 ------------------------------------------
29128  src/cairo-region.c           |    6 +-
29129  src/cairo-types-private.h    |    6 --
29130  src/cairo.h                  |   75 +++++++++++++++++++++++++
29131  src/cairoint.h               |    6 +-
29132  8 files changed, 83 insertions(+), 141 deletions(-)
29133
29134 commit 1cca5a1348d071a3c8e2ba9d3ba0d9670b9564f4
29135 Author: Søren Sandmann <sandmann@redhat.com>
29136 Date:   Tue Feb 17 23:52:18 2009 -0500
29137
29138     [region] Remove underscores from _cairo_region_*
29139
29140  src/cairo-analysis-surface.c  |   18 ++++++------
29141  src/cairo-clip.c              |   50 ++++++++++++++++-----------------
29142  src/cairo-directfb-surface.c  |    4 +--
29143  src/cairo-paginated-surface.c |    4 +--
29144  src/cairo-region-private.h    |   36 ++++++++++++------------
29145  src/cairo-region.c            |   61 ++++++++++++++++++++---------------------
29146  src/cairo-surface-fallback.c  |   20 +++++++-------
29147  src/cairo-surface.c           |   14 +++++-----
29148  src/cairo-traps.c             |   10 +++----
29149  src/cairo-win32-surface.c     |    8 +++---
29150  src/cairo-xcb-surface.c       |    4 +--
29151  src/cairo-xlib-surface.c      |   14 +++++-----
29152  12 files changed, 120 insertions(+), 123 deletions(-)
29153
29154 commit fcdca966941f4f7cc908bd46df1ec9a6b0f757c1
29155 Author: Søren Sandmann <sandmann@redhat.com>
29156 Date:   Tue Feb 17 22:52:50 2009 -0500
29157
29158     [region] Always define cairo_rectangle_int_t with ints
29159     
29160     Use ints in cairo_rectangle_int_t, no matter the fixed type.
29161
29162  src/cairo-types-private.h |   38 +++++++++-----------------------------
29163  1 file changed, 9 insertions(+), 29 deletions(-)
29164
29165 commit cfa7a384b730289233bef556fe1919f781eac684
29166 Author: Søren Sandmann <sandmann@redhat.com>
29167 Date:   Tue Feb 17 23:40:02 2009 -0500
29168
29169     [region] Add _cairo_region_contains_point()
29170
29171  src/cairo-region-private.h |    5 ++++-
29172  src/cairo-region.c         |   15 +++++++++++++--
29173  src/cairo.h                |    1 +
29174  3 files changed, 18 insertions(+), 3 deletions(-)
29175
29176 commit 15564d1949778124e553d792f85cae2b031aad45
29177 Author: Søren Sandmann Pedersen <sandmann@redhat.com>
29178 Date:   Tue Feb 17 05:58:34 2009 -0500
29179
29180     [region] Add _cairo_region_union
29181
29182  src/cairo-region-private.h |    4 ++++
29183  src/cairo-region.c         |   16 ++++++++++++++++
29184  2 files changed, 20 insertions(+)
29185
29186 commit df883aa937d2f3ecf52048b60caff48b1c9edac9
29187 Author: Søren Sandmann Pedersen <sandmann@redhat.com>
29188 Date:   Tue Feb 17 06:06:40 2009 -0500
29189
29190     [region] Add a cairo_region_overlap_t type
29191
29192  src/cairo-analysis-surface.c |    4 ++--
29193  src/cairo-region-private.h   |    8 +++++++-
29194  src/cairo-region.c           |   33 ++++++++++++++++++++++++---------
29195  3 files changed, 33 insertions(+), 12 deletions(-)
29196
29197 commit ebd0e685ae2d76c3af96d748a33a7194c70749f3
29198 Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
29199 Date:   Mon Feb 16 05:41:31 2009 -0500
29200
29201     [region] Consistently use rectangles in the API of regions
29202     
29203     Usually, rectangles are more useful than boxes, so regions should only
29204     expose rectangles in their public API.
29205     
29206     Specifically,
29207       _cairo_region_num_boxes becomes _cairo_region_num_rectangles
29208       _cairo_region_get_box becomes _cairo_region_get_rectangle
29209     
29210     Remove the cairo_box_int_t type
29211
29212  src/cairo-clip.c              |   22 +++++++------------
29213  src/cairo-directfb-surface.c  |   26 +++++++++++-----------
29214  src/cairo-paginated-surface.c |   34 ++++++++++++++---------------
29215  src/cairo-region-private.h    |   14 ++++++------
29216  src/cairo-region.c            |   28 ++++++++++++------------
29217  src/cairo-surface-fallback.c  |    2 +-
29218  src/cairo-surface.c           |   25 +++++++--------------
29219  src/cairo-traps.c             |   31 +++++++++++++-------------
29220  src/cairo-types-private.h     |    6 ------
29221  src/cairo-win32-surface.c     |   48 ++++++++++++++++++++---------------------
29222  src/cairo-xcb-surface.c       |   24 ++++++++++-----------
29223  src/cairo-xlib-surface.c      |   29 ++++++++++++-------------
29224  12 files changed, 134 insertions(+), 155 deletions(-)
29225
29226 commit c29aeee2d3569cd43e88adc05662bb6306987b8b
29227 Author: Søren Sandmann <sandmann@redhat.com>
29228 Date:   Thu Dec 11 18:37:40 2008 -0500
29229
29230     [region] Change sense of _cairo_region_not_empty() to _cairo_region_empty()
29231     
29232     Having "not" in the name causes double negatives.
29233
29234  src/cairo-clip.c             |    2 +-
29235  src/cairo-region-private.h   |    2 +-
29236  src/cairo-region.c           |    6 +++---
29237  src/cairo-surface-fallback.c |    2 +-
29238  4 files changed, 6 insertions(+), 6 deletions(-)
29239
29240 commit c88321d0a2b9d200b2044674d02fa0683feca74c
29241 Author: Søren Sandmann <sandmann@redhat.com>
29242 Date:   Thu Dec 11 16:20:23 2008 -0500
29243
29244     [region] Miscellaneous bug fixes.
29245     
29246     - Initialize region->status in _cairo_region_create_boxes()
29247     - Make _cairo_region_copy() actually return a region.
29248     - Fix a bug where a NULL region could be dereferenced
29249     
29250     Also add an assertion that the result of cairo_region_copy() is never
29251     NULL.
29252
29253  src/cairo-clip.c          |    2 ++
29254  src/cairo-image-surface.c |    2 +-
29255  src/cairo-region.c        |    4 +++-
29256  3 files changed, 6 insertions(+), 2 deletions(-)
29257
29258 commit 93b285dc2c9c9ec486e0096933c3611f73374fcb
29259 Author: Søren Sandmann <sandmann@redhat.com>
29260 Date:   Thu Dec 11 15:50:15 2008 -0500
29261
29262     [region] Get rid of clip->has_region
29263
29264  src/cairo-clip-private.h |    1 -
29265  src/cairo-clip.c         |   36 +++++++++++++++---------------------
29266  src/cairo-surface.c      |    2 +-
29267  3 files changed, 16 insertions(+), 23 deletions(-)
29268
29269 commit e3e1b35eb9eb3cf90d882a7452580f9efe00b89a
29270 Author: Søren Sandmann <sandmann@redhat.com>
29271 Date:   Thu Dec 11 15:29:23 2008 -0500
29272
29273     [region] Make cairo_region_t a malloced object.
29274
29275  src/cairo-analysis-surface.c |   26 +++----
29276  src/cairo-clip-private.h     |    2 +-
29277  src/cairo-clip.c             |   99 ++++++++++++-------------
29278  src/cairo-region-private.h   |   42 ++++++-----
29279  src/cairo-region.c           |  168 +++++++++++++++++++++++++++++++++---------
29280  src/cairo-surface-fallback.c |   65 ++++++++--------
29281  src/cairo-surface.c          |   29 ++++----
29282  src/cairo-traps.c            |   14 ++--
29283  src/cairo-xlib-surface.c     |   16 ++--
29284  src/cairoint.h               |    2 +-
29285  10 files changed, 280 insertions(+), 183 deletions(-)
29286
29287 commit c2c637cf1d89fc8fdcced4467d602a55ef0b14e0
29288 Author: Søren Sandmann Pedersen <sandmann@redhat.com>
29289 Date:   Sat Mar 28 04:26:10 2009 -0400
29290
29291     Simplify _cairo_clip_intersect_region()
29292     
29293     The intermediate intersection region is not necessary because if the
29294     operation fails, clip->region will end up as a pixman error region.
29295
29296  src/cairo-clip.c |   19 +++++--------------
29297  1 file changed, 5 insertions(+), 14 deletions(-)
29298
29299 commit fe10cd6467f2ec58532dc7c713bb6d08dab08442
29300 Author: Bertram Felgenhauer <int-e@gmx.de>
29301 Date:   Fri Mar 27 07:10:21 2009 +0100
29302
29303     [spline] fix wrong sign in _cairo_spline_bound.
29304
29305  src/cairo-spline.c |    2 +-
29306  1 file changed, 1 insertion(+), 1 deletion(-)
29307
29308 commit 53107de63a954105f8820e5b96e2a1956cb7af8c
29309 Author: Bertram Felgenhauer <int-e@gmx.de>
29310 Date:   Thu Mar 26 04:56:27 2009 +0100
29311
29312     [in_fill] Correctly track current point in curve_to.
29313     
29314     When discarding a bezier path segment, we still need to update the
29315     current point.
29316
29317  src/cairo-path-in-fill.c |    8 ++++++--
29318  1 file changed, 6 insertions(+), 2 deletions(-)
29319
29320 commit 578b06a978d51dc3d1d844ee7eea9ddd8329cc8d
29321 Author: Chris Wilson <chris@chris-wilson.co.uk>
29322 Date:   Mon Mar 23 10:56:43 2009 +0000
29323
29324     [perf] Use CAIRO_LDFLAGS
29325     
29326     Use CAIRO_LDFLAGS in order to pull in additional link options, such as
29327     --coverage.
29328
29329  perf/Makefile.am |    2 ++
29330  1 file changed, 2 insertions(+)
29331
29332 commit ac30ced6135c5cf0fb34a67fe8f863030c1fbeb9
29333 Author: Chris Wilson <chris@chris-wilson.co.uk>
29334 Date:   Sun Mar 22 19:02:27 2009 +0000
29335
29336     [test] Check for surface create failure.
29337     
29338     If the image surface creation fails, the data pointer will be NULL leading
29339     to a segfault -- so check!
29340
29341  test/user-font-mask.c |    7 ++++++-
29342  1 file changed, 6 insertions(+), 1 deletion(-)
29343
29344 commit b5a4a2c4b1b1bab25e2ff0842e3c27205ec73d51
29345 Author: Chris Wilson <chris@chris-wilson.co.uk>
29346 Date:   Sun Mar 22 19:00:04 2009 +0000
29347
29348     [test] Early test for memfault.
29349     
29350     Check the error status within after each iteration in
29351     solid-pattern-cache-stress.
29352
29353  test/solid-pattern-cache-stress.c |   41 +++++++++++++++++++++++++++----------
29354  1 file changed, 30 insertions(+), 11 deletions(-)
29355
29356 commit 1a7b94f934f8c9a25e60d9466651b0b7fb919656
29357 Author: Chris Wilson <chris@chris-wilson.co.uk>
29358 Date:   Fri Mar 20 11:06:29 2009 +0000
29359
29360     [test] Check for errors during get-path-extents.
29361     
29362     Need to check that an error was not raised on the context before checking
29363     whether the extents match expectations.
29364
29365  test/get-path-extents.c |    9 +++++++++
29366  1 file changed, 9 insertions(+)
29367
29368 commit 3b545330887209c68128fca0d1bb40bf4927c2a6
29369 Author: Vladimir Vukicevic <vladimir@pobox.com>
29370 Date:   Sat Mar 21 11:56:18 2009 -0700
29371
29372     [win32] Use _hypot instead of hypot
29373     
29374     The hypot symbol is deprecated on Win32, and nonexistent on Windows CE
29375
29376  src/cairo-compiler-private.h |    1 +
29377  1 file changed, 1 insertion(+)
29378
29379 commit 895fce1632069ddfb8c581d2b23b1b3552e35104
29380 Author: Stefan Klug <Klug.Stefan@gmx.de>
29381 Date:   Fri Mar 20 17:20:22 2009 -0400
29382
29383     [wince] Use the official _WIN32_WCE define instead of WINCE
29384
29385  src/cairo-misc.c |    4 ++--
29386  src/cairoint.h   |    2 +-
29387  2 files changed, 3 insertions(+), 3 deletions(-)
29388
29389 commit 86a935de42318c4be92a657ce8e8c452693d4414
29390 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
29391 Date:   Fri Mar 20 17:14:08 2009 -0400
29392
29393     [msvc] Fix definition of CAIRO_ENSURE_UNIQUE for non-x86
29394     
29395     The current definition of CAIRO_ENSURE_UNIQUE uses x86 assembly so make sure we
29396     only compile it when targeting x86.
29397
29398  src/cairo-compiler-private.h |    2 +-
29399  1 file changed, 1 insertion(+), 1 deletion(-)
29400
29401 commit c932a809d6484503d7ee267d934bbc87c8d44092
29402 Author: Chris Wilson <chris@chris-wilson.co.uk>
29403 Date:   Tue Mar 17 12:01:13 2009 +0000
29404
29405     [test] Propagate allocation failure.
29406     
29407     Check for memfaults during rel-path test.
29408
29409  test/rel-path.c |   19 ++++++++++++++++---
29410  1 file changed, 16 insertions(+), 3 deletions(-)
29411
29412 commit 7db55b37d4aef188e04771b45076f6735507c209
29413 Author: Chris Wilson <chris@chris-wilson.co.uk>
29414 Date:   Tue Mar 17 11:58:16 2009 +0000
29415
29416     [test] Destroy pattern on error paths.
29417     
29418     Destroy the pattern after encountering an error in pattern-getters test.
29419
29420  test/pattern-getters.c |   29 +++++++++++++++++++++++++----
29421  1 file changed, 25 insertions(+), 4 deletions(-)
29422
29423 commit dc176d88ac03ae71fc32abb27329a35650801d99
29424 Author: Chris Wilson <chris@chris-wilson.co.uk>
29425 Date:   Tue Mar 17 10:42:37 2009 +0000
29426
29427     [test] Trivial leak on error in show-glyphs-many.
29428     
29429     Free the allocated glyph array after failure.
29430
29431  test/show-glyphs-many.c |   11 ++++++-----
29432  1 file changed, 6 insertions(+), 5 deletions(-)
29433
29434 commit a4b44ca89eb9975e6af2913e50ec3c3eb566cfdd
29435 Author: Chris Wilson <chris@chris-wilson.co.uk>
29436 Date:   Tue Mar 17 14:56:42 2009 +0000
29437
29438     [pattern] Report the true error status from getters.
29439     
29440     As the getters actually return an error status, use it to report any
29441     pre-existing error status on the pattern.
29442
29443  src/cairo-pattern.c |   18 ++++++++++++++++++
29444  1 file changed, 18 insertions(+)
29445
29446 commit 496bbcf58233ceecfffc52ae5b1a3a1f07516c67
29447 Author: Behdad Esfahbod <behdad@behdad.org>
29448 Date:   Tue Mar 17 19:46:25 2009 -0400
29449
29450     Make CAIRO_STATUS_LAST_STATUS public
29451
29452  doc/public/tmpl/cairo-status.sgml |    1 +
29453  src/cairo.h                       |   12 ++++++++++--
29454  src/cairoint.h                    |    6 ------
29455  3 files changed, 11 insertions(+), 8 deletions(-)
29456
29457 commit 922c108365b940dbabf23358189bbaa8602446c9
29458 Author: Behdad Esfahbod <behdad@behdad.org>
29459 Date:   Tue Mar 17 19:22:31 2009 -0400
29460
29461     [twin] Reorganize matching code to better reflect the code in Pango
29462     
29463     Makes it easier to update later.
29464
29465  src/cairo-font-face-twin.c |  179 +++++++++++++++++++++++++++++++++-----------
29466  src/cairoint.h             |    4 +
29467  2 files changed, 138 insertions(+), 45 deletions(-)
29468
29469 commit 2b4044a36f8b156ca0e58b72614659324a9b022e
29470 Author: Behdad Esfahbod <behdad@behdad.org>
29471 Date:   Tue Mar 17 18:52:16 2009 -0400
29472
29473     [twin] Update parsed weights and stretches from Pango
29474
29475  src/cairo-font-face-twin.c |   64 +++++++++++++++++++++++++++-----------------
29476  1 file changed, 39 insertions(+), 25 deletions(-)
29477
29478 commit 3ec94f9b5917b8f71304c982bd153e5a810f3b12
29479 Author: Behdad Esfahbod <behdad@behdad.org>
29480 Date:   Tue Mar 17 00:53:30 2009 -0400
29481
29482     Support compiling without fontconfig
29483     
29484     Adds a new, fake, fontconfig font backend.  Fontconfig can be disabled
29485     using --disable-fc, in which case the toy text API wont find fonts and
29486     the internal font will always be used.
29487     
29488     Also defines the feature macro CAIRO_HAS_FC_FONT.  The two fontconfig-specific
29489     functions in cairo-ft.h depend on that macro now.
29490
29491  boilerplate/Makefile.win32.features |   10 ++++++++
29492  build/Makefile.win32.features       |    1 +
29493  build/Makefile.win32.features-h     |    3 +++
29494  build/configure.ac.features         |    1 +
29495  configure.ac                        |   26 +++++++++++++--------
29496  doc/public/cairo-sections.txt       |    1 +
29497  doc/public/tmpl/cairo-ft.sgml       |    9 ++++++++
29498  doc/public/tmpl/cairo-status.sgml   |    2 +-
29499  src/Makefile.win32.features         |   14 ++++++++++++
29500  src/cairo-ft-font.c                 |   43 +++++++++++++++++++++++++++++------
29501  src/cairo-ft.h                      |   23 ++++++++++++-------
29502  src/cairo-os2-surface.c             |    6 +++--
29503  src/cairo-path-fixed.c              |    2 +-
29504  src/cairo-scaled-font.c             |    4 ++--
29505  src/cairo-xlib-display.c            |    2 --
29506  src/cairo-xlib-screen.c             |   23 ++++++++-----------
29507  16 files changed, 125 insertions(+), 45 deletions(-)
29508
29509 commit 0e7bcb5e3793771d50f7d391d7b1e538ef220a80
29510 Author: Chris Wilson <chris@chris-wilson.co.uk>
29511 Date:   Mon Mar 16 21:32:44 2009 +0000
29512
29513     [scaled-font] Improve comments.
29514     
29515     Grr. I thought I had merged this in with the previous commit...
29516
29517  src/cairo-scaled-font.c |    6 +++---
29518  1 file changed, 3 insertions(+), 3 deletions(-)
29519
29520 commit 9c80392ac415e7f07c71261d280ac4376d3c8471
29521 Author: Chris Wilson <chris@chris-wilson.co.uk>
29522 Date:   Mon Mar 16 19:31:38 2009 +0000
29523
29524     [scaled-font] Lean and mean global glyph cache.
29525     
29526     Jeff Muizelaar pointed out that the severe overallocation implicit in the
29527     current version of the glyph cache is obnoxious and prevents him from
29528     accepting the trunk into Mozilla. Jeff captured a trace of scaled font
29529     and glyph usage during a tp run and presented his analysis in
29530     http://lists.cairographics.org/archives/cairo/2009-March/016706.html
29531     
29532     Using that data, the design was changed to allocate pages of glyphs from a
29533     capped global pool but with per-font hash tables. This should allow the
29534     glyph cache to have tight memory bounds with fair allocation according to
29535     usage. Note that both the old design and the 1.8 glyph cache had
29536     essentially unbounded memory constraints, since each scaled font could
29537     cache up to 256 glyphs (1.8) or had a reserved page (old), with no limit
29538     on the number of active fonts. Currently the eviction policy is a simple
29539     random strategy, this gives a 'fair' allotment of the cache, but a LRU
29540     variant might perform better.
29541     
29542     On a sample run of firefox-3.0.7 perusing BBC news in 32 languages:
29543     1.8:  cache allocation 8190x, ~1.2 MiB; elapsed 88.2s
29544     old:  cache allocation 771x, ~13.8 MiB; elapsed 81.7s
29545     lean: cache allocation 433x,  ~1.8 MiB; elapsed 82.4s
29546
29547  src/cairo-cache-private.h       |    5 +-
29548  src/cairo-cache.c               |   39 ++--
29549  src/cairo-ft-font.c             |    4 +-
29550  src/cairo-hash-private.h        |    6 +-
29551  src/cairo-hash.c                |   55 ------
29552  src/cairo-scaled-font-private.h |    6 +-
29553  src/cairo-scaled-font.c         |  396 ++++++++++++++++++++-------------------
29554  src/cairo-types-private.h       |    3 +
29555  src/cairoint.h                  |    7 +-
29556  9 files changed, 232 insertions(+), 289 deletions(-)
29557
29558 commit 121d4bb656755b7ca89065bf87e3e4e47c49c89d
29559 Author: Chris Wilson <chris@chris-wilson.co.uk>
29560 Date:   Mon Mar 16 19:42:47 2009 +0000
29561
29562     [scaled-font] Initialise original_font_face
29563     
29564     Eek, attempting to use+free an uninitialised pointer!
29565
29566  src/cairo-scaled-font.c |    1 +
29567  1 file changed, 1 insertion(+)
29568
29569 commit 2df498ba452b188f2f40413c91fec5e5ed9cf967
29570 Author: Eric Anholt <eric@anholt.net>
29571 Date:   Thu Mar 5 23:26:44 2009 -0800
29572
29573     [gl] Use triangle fan instead of GL_QUADS for the single quad we draw.
29574     
29575     This saves the driver from converting the quad into tris on its own.  We'd
29576     rather be able to specify a rect as 2-3 points and use the rectangular
29577     rendering feature that most of our hardware has, if it was possible, but
29578     it isn't exposed in GL.
29579
29580  src/cairo-gl-surface.c |    2 +-
29581  1 file changed, 1 insertion(+), 1 deletion(-)
29582
29583 commit 9099c7e7307a39bc630919faa65bba089fd15104
29584 Author: Chris Wilson <chris@chris-wilson.co.uk>
29585 Date:   Wed Mar 4 09:26:17 2009 +0000
29586
29587     [trace] Disable mark dirty tracing.
29588     
29589     Applications like firefox have a very conservative approach and mark
29590     surfaces dirty before every render. As we record the image data every
29591     time, firefox traces can grow very large with redundant data - so allow
29592     the user to disable mark dirty tracing.
29593
29594  util/cairo-trace/cairo-trace.in |   19 +++++++++++++++----
29595  util/cairo-trace/trace.c        |   27 ++++++++++++++++++++-------
29596  2 files changed, 35 insertions(+), 11 deletions(-)
29597
29598 commit addeb32c751ac080fe634ea6f83076d018944e4a
29599 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
29600 Date:   Tue Mar 3 12:20:47 2009 -0500
29601
29602     [pdf] Intialize 'interpolate'
29603     
29604     Intialize 'interpolate' to prevent a gcc warning. Do this instead of adding a
29605     'default' case to the switch statement so that we still get warnings if new
29606     filter types are added.
29607
29608  src/cairo-pdf-surface.c |    2 +-
29609  1 file changed, 1 insertion(+), 1 deletion(-)
29610
29611 commit a8158d443e6a4bafae28a46b883cbdcfd5789eec
29612 Author: Chris Wilson <chris@chris-wilson.co.uk>
29613 Date:   Tue Mar 3 11:21:35 2009 +0000
29614
29615     [truetype] Move the sizeof asserts to compile time.
29616     
29617     Eliminate the need for a runtime test on the sizeof the private structures
29618     by performing the check at compile time. This was provoked by Ginn Chenn
29619     noting that the test was including a private header.
29620
29621  src/cairo-truetype-subset.c |   15 +++++++++++
29622  test/Makefile.sources       |    1 -
29623  test/truetype-tables.c      |   63 -------------------------------------------
29624  3 files changed, 15 insertions(+), 64 deletions(-)
29625
29626 commit e4b1f871e9cbb04590df5dc6f6f7854642fa0340
29627 Author: Ginn Chen <Ginn.Chen@Sun.COM>
29628 Date:   Tue Mar 3 10:27:11 2009 +0000
29629
29630     [configure] Detect mkdir variant with non-gcc compilers.
29631     
29632     It doesn't work for non GCC compiler right now, as "-Werror -Wall" is
29633     an error to non GCC compiler.
29634     
29635     I swapped the sequence of build/configure.ac.system and build/
29636     configure.ac.warnings, then WARN_CFLAGS can be used.
29637
29638  build/configure.ac.system |    2 +-
29639  configure.ac              |    2 +-
29640  2 files changed, 2 insertions(+), 2 deletions(-)
29641
29642 commit f178f55e47013a92a47a24ac04b1041963b03976
29643 Author: Chris Wilson <chris@chris-wilson.co.uk>
29644 Date:   Tue Mar 3 10:25:05 2009 +0000
29645
29646     [test/any2ppm] Update the cairo-script-interpreter callback.
29647     
29648     Reflect the current prototype which now specifies the content to use when
29649     creating the surface.
29650
29651  test/any2ppm.c |    1 +
29652  1 file changed, 1 insertion(+)
29653
29654 commit 694f2eea9feecfdc437e6964d1e758fab7315af9
29655 Author: Chris Wilson <chris@chris-wilson.co.uk>
29656 Date:   Tue Mar 3 10:24:25 2009 +0000
29657
29658     [test/any2ppm] Add feature checks for daemon()
29659     
29660     Add the feature checks for the presence of the daemon() function call.
29661
29662  test/any2ppm.c |    6 +++++-
29663  1 file changed, 5 insertions(+), 1 deletion(-)
29664
29665 commit 9304984f4e20beec7b4de6a4141e2fd489130006
29666 Author: Chris Wilson <chris@chris-wilson.co.uk>
29667 Date:   Sun Mar 1 10:10:24 2009 +0000
29668
29669     [path] Fix regression introduced with 005436
29670     
29671     The order of the multiplication of the CTM and device_transform was
29672     reversed.
29673
29674  src/cairo-path.c |    4 ++--
29675  1 file changed, 2 insertions(+), 2 deletions(-)
29676
29677 commit b30de64a8ca3de7632696f45bdb580217bd9f8a1
29678 Author: Chris Wilson <chris@chris-wilson.co.uk>
29679 Date:   Sun Mar 1 10:05:16 2009 +0000
29680
29681     [test] Add regression test for 005436
29682     
29683     Jeff Muizelaar found a regression in commit 005436 and submitted this
29684     little test to exercise it. The essence of the bug appears to be wrt to
29685     the product of the CTM and device transform matrices.
29686
29687  test/Makefile.sources                  |    1 +
29688  test/path-append.c                     |   81 ++++++++++++++++++++++++++++++++
29689  test/path-append.ps.ref.png            |  Bin 0 -> 4516 bytes
29690  test/path-append.ref.png               |  Bin 0 -> 6165 bytes
29691  test/path-append.test-fallback.ref.png |  Bin 0 -> 6461 bytes
29692  test/path-append.xlib-fallback.ref.png |  Bin 0 -> 6357 bytes
29693  test/path-append.xlib.ref.png          |  Bin 0 -> 6461 bytes
29694  7 files changed, 82 insertions(+)
29695
29696 commit e20f1a0c76f2185760ca3a7466e25de6beedeaac
29697 Author: Chris Wilson <chris@chris-wilson.co.uk>
29698 Date:   Fri Feb 27 16:30:05 2009 +0000
29699
29700     [in-fill] Close the path, cf fill()
29701     
29702     In order for in-fill treat the path equivalently to a fill, we need to
29703     close the path after interpretation.
29704
29705  src/cairo-path-in-fill.c |    2 ++
29706  1 file changed, 2 insertions(+)
29707
29708 commit 102ddd37bb329d41241f434ede0f9cba8424e71e
29709 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
29710 Date:   Thu Feb 26 16:04:49 2009 -0500
29711
29712     [win32] Include $(OPT) flags when linking cairo.dll
29713     
29714     This will pass in -Zi which causes the /DEBUG flag to be passed to the
29715     linker keeping the debug information from being discarded during link.
29716
29717  src/Makefile.win32 |    2 +-
29718  1 file changed, 1 insertion(+), 1 deletion(-)
29719
29720 commit eb2a73ba6d290497cabb0f917c0375eea919178e
29721 Author: Chris Wilson <chris@chris-wilson.co.uk>
29722 Date:   Tue Feb 24 20:27:36 2009 +0000
29723
29724     [ps] Check the status of _cairo_type3_glyph_surface_create()
29725     
29726     Doing so serves two purposes. The first is to do an early error check and
29727     the second is to clearly initialise the status variable.
29728
29729  src/cairo-ps-surface.c |    3 +++
29730  1 file changed, 3 insertions(+)
29731
29732 commit 6eb0a9d97ff7eaaee69ca10e4081cb950a543ce3
29733 Author: Chris Wilson <chris@chris-wilson.co.uk>
29734 Date:   Sun Feb 15 21:27:29 2009 +0000
29735
29736     [scaled-font] Hold reference to original font face
29737     
29738     As noted by Carl during his LCA talk, caching of toy fonts was broken
29739     because we create the scaled font using the implementation font face and
29740     lose the reference to the containing font face that is cached by the toy
29741     font face create routines. So the toy fonts were not being preserved for
29742     the duration of the holdover scaled fonts and we recreated a new font
29743     face, new scaled font and new glyph caches every time we needed a font.
29744
29745  src/cairo-ft-font.c             |    2 +-
29746  src/cairo-scaled-font-private.h |    2 ++
29747  src/cairo-scaled-font.c         |   17 +++++++++++++----
29748  src/cairo-toy-font-face.c       |    1 +
29749  4 files changed, 17 insertions(+), 5 deletions(-)
29750
29751 commit fe7d5323f5bc734e76179b74d68fcba9b924ba94
29752 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
29753 Date:   Thu Feb 19 16:00:17 2009 -0500
29754
29755     Relanding: Add CAIRO_ENSURE_UNIQUE macro and use it in _cairo_error()
29756     
29757     When using MSVC, _cairo_error() can be folded into other identical functions.
29758     If that happens, _cairo_error isn't really useful anymore. Using the
29759     CAIRO_ENSURE_UNIQUE macro makes sure this doesn't happen.
29760     
29761     Use __asm to serve as a line delimiter. This allows us to use the
29762     __asm{} block in a macro.
29763
29764  src/cairo-compiler-private.h |   24 ++++++++++++++++++++++++
29765  src/cairo.c                  |    1 +
29766  2 files changed, 25 insertions(+)
29767
29768 commit 78de0e045ec0c10708052ed48df228e786839ddb
29769 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
29770 Date:   Thu Feb 19 15:45:11 2009 -0500
29771
29772     Revert "Add CAIRO_ENSURE_UNIQUE macro and use it in _cairo_error()"
29773     
29774     This reverts commit 126824f5e6279f56dab0c040394b6c326b848cf7.
29775     
29776     It turns out MSVC doesn't handle line continuation characters in __asm{}
29777     blocks very well, so revert for now until I come up with something that
29778     works.
29779
29780  src/cairo-compiler-private.h |   24 ------------------------
29781  src/cairo.c                  |    1 -
29782  2 files changed, 25 deletions(-)
29783
29784 commit 126824f5e6279f56dab0c040394b6c326b848cf7
29785 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
29786 Date:   Thu Feb 19 13:31:55 2009 -0500
29787
29788     Add CAIRO_ENSURE_UNIQUE macro and use it in _cairo_error()
29789     
29790     When using MSVC, _cairo_error() can be folded into other identical functions. If
29791     that happens, _cairo_error isn't really useful anymore. Using the
29792     CAIRO_ENSURE_UNIQUE macro makes sure this doesn't happen.
29793
29794  src/cairo-compiler-private.h |   24 ++++++++++++++++++++++++
29795  src/cairo.c                  |    1 +
29796  2 files changed, 25 insertions(+)
29797
29798 commit d4227fc9126ffbb3a967aea1bc9795e7e64ee8e1
29799 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
29800 Date:   Thu Feb 19 11:45:14 2009 -0500
29801
29802     [test] Fix assert on default font family in toy-font-face
29803     
29804     toy-font-face was checking that cairo_toy_font_face_get_family returned ""
29805     which is CAIRO_FONT_FAMILY_DEFAULT when the freetype font backend is the
29806     default. However, when other font backends are the default the returned family
29807     is different. Therefore, instead of checking for "", we check for the appropriate
29808     string depending on the backend.
29809
29810  test/toy-font-face.c |   19 +++++++++++++++----
29811  1 file changed, 15 insertions(+), 4 deletions(-)
29812
29813 commit 06fa7a8386b267fdbd7635b952adc75a58f62584
29814 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
29815 Date:   Wed Feb 18 18:43:29 2009 -0500
29816
29817     Fix a const warning in _cairo_user_data_array_foreach()
29818     
29819     _cairo_user_data_array_foreach() was taking a function
29820     with a void *key parameter instead of a const void *key
29821     to match cairo_user_data_slot_t.
29822
29823  src/cairo-array.c   |    2 +-
29824  src/cairo-surface.c |    2 +-
29825  src/cairoint.h      |    2 +-
29826  3 files changed, 3 insertions(+), 3 deletions(-)
29827
29828 commit f7b3c9df5885a1cd7981ee12b91962bdbfff47af
29829 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
29830 Date:   Mon Feb 16 22:28:32 2009 -0500
29831
29832     Add test/Makefile.sources
29833     
29834     This lets test/Makefile.am and test/Makefile.win32 share a common list of sources.
29835     It also makes test/Makefile.win32 useful again.
29836
29837  test/Makefile.am      |  251 ++++---------------------------------------------
29838  test/Makefile.sources |  251 +++++++++++++++++++++++++++++++++++++++++++++++++
29839  test/Makefile.win32   |  125 +++++-------------------
29840  3 files changed, 293 insertions(+), 334 deletions(-)
29841
29842 commit e380beae5382df547a1b538de94e90c0e2339141
29843 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
29844 Date:   Mon Feb 16 14:01:43 2009 +0200
29845
29846     [sdl] Remove new backend.
29847     
29848     The SDL backend makes invalid assumptions about SDL_Surface locking
29849     semantics and doesn't deal correctly with the unpremultiplied pixel
29850     format supported by SDL.  Removed as per discussion on the mailing list.
29851     
29852     http://lists.cairographics.org/archives/cairo/2009-February/016595.html
29853
29854  boilerplate/Makefile.sources                |    3 -
29855  boilerplate/Makefile.win32.features         |   10 -
29856  boilerplate/cairo-boilerplate-sdl-private.h |   56 ----
29857  boilerplate/cairo-boilerplate-sdl.c         |   69 -----
29858  boilerplate/cairo-boilerplate.c             |   15 -
29859  build/Makefile.win32.features               |    1 -
29860  build/Makefile.win32.features-h             |    3 -
29861  build/configure.ac.features                 |    1 -
29862  configure.ac                                |    8 -
29863  doc/public/tmpl/cairo-surface.sgml          |    1 -
29864  perf/Makefile.am                            |    4 -
29865  perf/cairo-perf.c                           |    4 -
29866  src/Makefile.sources                        |    3 -
29867  src/Makefile.win32.features                 |   14 -
29868  src/cairo-sdl-surface.c                     |  418 ---------------------------
29869  src/cairo-sdl.h                             |   54 ----
29870  src/cairo.h                                 |    2 -
29871  test/Makefile.am                            |    4 -
29872  test/cairo-test-runner.c                    |    4 -
29873  test/get-clip.c                             |    1 -
29874  20 files changed, 675 deletions(-)
29875
29876 commit 79a72e63585d7fce7898f2c8bd997c6d88f8895f
29877 Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
29878 Date:   Mon Feb 16 05:44:15 2009 -0500
29879
29880     Delete _cairo_region_boxes_fini()
29881
29882  src/cairo-region.c |    6 ------
29883  1 file changed, 6 deletions(-)
29884
29885 commit f6daa664c1b2c894ba3baf2e7a72566bda1fd636
29886 Author: Søren Sandmann <sandmann@daimi.au.dk>
29887 Date:   Sun Feb 15 18:55:17 2009 -0500
29888
29889     Delete _cairo_region_get_boxes() in favor of _cairo_region_get_box()
29890     
29891     The _cairo_region_get_boxes() interface was difficult to use and often
29892     caused unnecessary memory allocation. With _cairo_region_get_box() it
29893     is possible to access the boxes of a region without allocating a big
29894     temporary array.
29895
29896  src/cairo-clip.c              |   21 ++++++++----------
29897  src/cairo-directfb-surface.c  |   21 ++++++++----------
29898  src/cairo-paginated-surface.c |   19 +++++++---------
29899  src/cairo-region-private.h    |   10 +++------
29900  src/cairo-region.c            |   39 +++++++++------------------------
29901  src/cairo-sdl-surface.c       |   21 ++++++++----------
29902  src/cairo-surface.c           |   44 +++++++++++++++----------------------
29903  src/cairo-win32-surface.c     |   48 ++++++++++++++++++++---------------------
29904  src/cairo-xcb-surface.c       |   26 ++++++++++------------
29905  src/cairo-xlib-surface.c      |   31 +++++++++++---------------
29906  10 files changed, 112 insertions(+), 168 deletions(-)
29907
29908 commit 54228cb5fe0c41b10f0ec4a206b5fac28823cde6
29909 Author: Eric Anholt <eric@anholt.net>
29910 Date:   Sun Feb 15 14:29:55 2009 -0800
29911
29912     [gl] Use textures and not fbo-based surfaces for image surface patterns.
29913     
29914     This cuts the BO allocation overhead for traps in more than half, and reduces
29915     the load on the accelerator.
29916
29917  src/cairo-gl-surface.c |  191 ++++++++++++++++++++++++++++++++++++++++++++----
29918  1 file changed, 176 insertions(+), 15 deletions(-)
29919
29920 commit fcb13d262c5a09e56dc25c76103ef4ba623929ff
29921 Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
29922 Date:   Sun Feb 15 15:59:10 2009 -0500
29923
29924     Simplify region handling in xlib surface
29925
29926  src/cairo-xlib-surface.c |   11 +++--------
29927  1 file changed, 3 insertions(+), 8 deletions(-)
29928
29929 commit b43e7aee98a8d69677f7e6d2584fe01f550f896b
29930 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
29931 Date:   Fri Feb 13 12:15:23 2009 -0500
29932
29933     [wince] We don't need cairo_win32_tmpfile on Windows CE
29934     
29935     _cairo_win32_tmpfile() uses _open_osfhandle() which is not available
29936     on Windows CE. However, Windows CE doesn't have the permisions problems
29937     that necessitated _cairo_win32_tmpfile() in the first place so we can just
29938     use tmpfile() on Windows CE.
29939
29940  src/cairo-misc.c |    5 ++++-
29941  src/cairoint.h   |    2 +-
29942  2 files changed, 5 insertions(+), 2 deletions(-)
29943
29944 commit fa66291c8862ed592fca469ceab0ac9b1d270835
29945 Author: Chris Wilson <chris@chris-wilson.co.uk>
29946 Date:   Wed Jan 28 14:22:58 2009 +0000
29947
29948     [perf] Test non-antialiased fill.
29949     
29950     Just because the i915 can special case such fills using a single-pass
29951     tessellation in the stencil buffer.
29952
29953  perf/fill.c |   21 +++++++++++++++++++++
29954  1 file changed, 21 insertions(+)
29955
29956 commit aab9ed3432f0ea7b8b24990de4aa134bb599a3e5
29957 Author: Chris Wilson <chris@chris-wilson.co.uk>
29958 Date:   Fri Jan 30 10:22:47 2009 +0000
29959
29960     [perf] Env variable to ignore similar targets whilst benchmarking.
29961     
29962     Use CAIRO_TEST_IGNORE_SIMILAR to skip similar targets.
29963
29964  perf/cairo-perf.c |    3 +++
29965  1 file changed, 3 insertions(+)
29966
29967 commit 655f6987334b991763a5ab7746dbfd73c6b05f3e
29968 Author: Chris Wilson <chris@chris-wilson.co.uk>
29969 Date:   Fri Feb 6 20:11:17 2009 +0000
29970
29971     [perf] Split can_run? into a separate precondition.
29972     
29973     Allow tests to skip unnecessary setup when pruning the list of perf cases.
29974
29975  perf/box-outline.c           |    3 +++
29976  perf/cairo-perf.c            |   24 ++++++++++++++++--------
29977  perf/cairo-perf.h            |    4 ++++
29978  perf/composite-checker.c     |    3 +++
29979  perf/dragon.c                |    3 +++
29980  perf/fill.c                  |    3 +++
29981  perf/intersections.c         |    3 +++
29982  perf/long-dashed-lines.c     |    3 +++
29983  perf/long-lines.c            |    3 +++
29984  perf/mosaic.c                |    3 +++
29985  perf/paint-with-alpha.c      |    3 +++
29986  perf/paint.c                 |    3 +++
29987  perf/pattern_create_radial.c |    3 +++
29988  perf/pythagoras-tree.c       |    3 +++
29989  perf/rectangles.c            |    3 +++
29990  perf/rounded-rectangles.c    |    3 +++
29991  perf/spiral.c                |    3 +++
29992  perf/stroke.c                |    3 +++
29993  perf/subimage_copy.c         |    3 +++
29994  perf/tessellate.c            |    3 +++
29995  perf/text.c                  |    3 +++
29996  perf/twin.c                  |    3 +++
29997  perf/unaligned-clip.c        |    3 +++
29998  perf/world-map.c             |    3 +++
29999  perf/zrusin.c                |    3 +++
30000  25 files changed, 89 insertions(+), 8 deletions(-)
30001
30002 commit 798581a1b5a8a56ce9d16c5b21eab82851061732
30003 Author: Chris Wilson <chris@chris-wilson.co.uk>
30004 Date:   Fri Jan 30 22:12:49 2009 +0000
30005
30006     [perf] Extend range of testing.
30007     
30008     Primarily to test longer glyph runs, but also test large upper bounds for
30009     strokes and fills.
30010
30011  perf/cairo-perf.c |   10 +++++-----
30012  1 file changed, 5 insertions(+), 5 deletions(-)
30013
30014 commit 1522fac5c71708fc9e98e03da9f51926c1e3769c
30015 Author: Chris Wilson <chris@chris-wilson.co.uk>
30016 Date:   Tue Feb 3 17:18:53 2009 +0000
30017
30018     [perf] Fix infinite loop in text
30019     
30020     The row would wrap-around with the character index, causing an infinite
30021     loop when trying to fill a window of size 512x512 and above.
30022
30023  perf/text.c |    7 +++----
30024  1 file changed, 3 insertions(+), 4 deletions(-)
30025
30026 commit 187e3473512e40fa1d046783e797ec3a198b09b2
30027 Author: Chris Wilson <chris@chris-wilson.co.uk>
30028 Date:   Fri Feb 13 13:09:32 2009 +0000
30029
30030     [test] Free ref_name in fallback-resolution.
30031     
30032     Trivial leak of a few thousand bytes.
30033
30034  test/fallback-resolution.c |    2 ++
30035  1 file changed, 2 insertions(+)
30036
30037 commit 005436758c5679f76cc462841678fb93d6c7e0ac
30038 Author: Chris Wilson <chris@chris-wilson.co.uk>
30039 Date:   Tue Feb 3 10:20:26 2009 +0000
30040
30041     [path] Inline path ops during append_to_context()
30042     
30043     By inlining the operations, and most significantly, precomputing the
30044     combined user-to-backend matrix, we can achieve a speed up of over 50%,
30045     which is a noticeable performance boost in swfdec - where append-to-path
30046     accounts for over 35% [inclusive] of the time for a h/w accelerated
30047     backend.
30048
30049  src/cairo-path.c |   76 +++++++++++++++++++++++++++++++++++++++++-------------
30050  1 file changed, 58 insertions(+), 18 deletions(-)
30051
30052 commit d295942b9d4da3be3318cd5fe2d3b0b1fe005d11
30053 Author: Chris Wilson <chris@chris-wilson.co.uk>
30054 Date:   Sat Jan 31 00:56:45 2009 +0000
30055
30056     Inline _cairo_restrict_value()
30057     
30058     This is one instance where the function call overhead dominated the
30059     function call in both time and size.
30060
30061  src/cairo-misc.c    |    9 ---------
30062  src/cairo-pattern.c |   32 ++++++++++++++++----------------
30063  src/cairo.c         |   14 ++++++++------
30064  src/cairoint.h      |   13 +++++++++++--
30065  4 files changed, 35 insertions(+), 33 deletions(-)
30066
30067 commit cc8a09567ca034e7d95e2ef8a3ec833b12c9f87a
30068 Author: Chris Wilson <chris@chris-wilson.co.uk>
30069 Date:   Fri Feb 13 13:23:50 2009 +0000
30070
30071     [surface] Move the meta-data copy-on-snapshot to the generic layer.
30072     
30073     As pointed out by Paolo Bonzini, copying the meta data for a snapshot is
30074     common for all backends and so should be handled by the generic layer.
30075
30076  src/cairo-surface-fallback.c |   11 -----------
30077  src/cairo-surface.c          |   30 +++++++++++++++++++++++++++---
30078  2 files changed, 27 insertions(+), 14 deletions(-)
30079
30080 commit adaf70a93f4449e85997bcde531b76c9044758ea
30081 Author: Chris Wilson <chris@chris-wilson.co.uk>
30082 Date:   Fri Feb 13 12:56:46 2009 +0000
30083
30084     [surface] Separate the mime-data from the user-data.
30085     
30086     Move the mime-data into its own array so that it cannot be confused with
30087     user-data and we do not need to hard-code the copy list during
30088     snapshotting. The copy-on-snapshotting code becomes far simpler and will
30089     accommodate all future mime-types.
30090     
30091     Keeping mime-data separate from user-data is important due to the
30092     principle of least surprise - the API is different and so it would be
30093     surprising if you queried for user-data and were returned an opaque
30094     mime-data pointer, and vice versa. (Note this should have been prevented
30095     by using interned strings, but conceptually it is cleaner to make the
30096     separation.) Also it aides in trimming the user data arrays which are
30097     linearly searched.
30098     
30099     Based on the original patch by Adrian Johnson:
30100     http://cgit.freedesktop.org/~ajohnson/cairo/commit/?h=metadata&id=37e607cc777523ad12a2d214708d79ecbca5b380
30101
30102  src/cairo-array.c            |   36 ++++++++++++++++++++++++++++++++++++
30103  src/cairo-surface-fallback.c |   27 +++++++--------------------
30104  src/cairo-surface-private.h  |    1 +
30105  src/cairo-surface.c          |   42 +++++++++++++++++++++---------------------
30106  src/cairoint.h               |   14 ++++++++++++--
30107  5 files changed, 77 insertions(+), 43 deletions(-)
30108
30109 commit 2280de9d0282a599309ec12dc576bae54857f873
30110 Merge: 17ce858 de7270c
30111 Author: Chris Wilson <chris@chris-wilson.co.uk>
30112 Date:   Fri Feb 13 10:08:21 2009 +0000
30113
30114     Merge branch '1.8'
30115
30116 commit de7270cb1e9510cb230e80045c812fa68fcfa585
30117 Author: Chris Wilson <chris@chris-wilson.co.uk>
30118 Date:   Fri Feb 13 10:03:22 2009 +0000
30119
30120     [cairo] Describe the restrictions upon cairo_set_tolerance()
30121     
30122     Truc Troung reported that the behaviour of
30123     cairo_set_tolerance()/cairo_get_tolerance() was inconsistent with the
30124     documentation, i.e. we failed to mention that the tolerance would be
30125     restricted to the smalled fixed-point value.
30126     
30127     Add a sentence to the documentation that describes the restriction without
30128     mentioning what that is... Hopefully that is sufficient detail to
30129     accommodate the reporter, without exposing internal implementation details.
30130     
30131     Fixes https://bugs.freedesktop.org/show_bug.cgi?id=20095
30132     Bug 20095 - The cairo_set_tolerance() function behavior is inconsistency
30133     with the spec
30134
30135  src/cairo.c |    5 ++++-
30136  1 file changed, 4 insertions(+), 1 deletion(-)
30137
30138 commit 17ce8584e7142d13bd7a777c9570e5548a06a90c
30139 Author: Chris Wilson <chris@chris-wilson.co.uk>
30140 Date:   Thu Feb 12 18:26:57 2009 +0000
30141
30142     [NEWS] Add API changes.
30143     
30144     Scan the public headers for obvious additions.
30145
30146  NEWS |   20 +++++++++++++++++++-
30147  1 file changed, 19 insertions(+), 1 deletion(-)
30148
30149 commit 2df611a3810eb64c8ed22dfae5f3d3157eef7e6a
30150 Author: Chris Wilson <chris@chris-wilson.co.uk>
30151 Date:   Tue Feb 10 10:28:28 2009 +0000
30152
30153     [script] Expose a normal xlib window for replay
30154     
30155     Provide a visible surface for replaying scripts against.
30156
30157  util/cairo-script/csi-replay.c |  122 ++++++++++++++++++++++------------------
30158  1 file changed, 66 insertions(+), 56 deletions(-)
30159
30160 commit 8e1f103540392b17c51b4fb4b3c3480430cbc212
30161 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
30162 Date:   Thu Feb 12 12:02:17 2009 -0500
30163
30164     Divert pclose to _pclose for MSVC
30165     
30166     Commit bf62798b1284533e28b78717dac8070ca6d29e54 added a diversion for
30167     popen but not for pclose. This is needed for linking the boilerplate
30168     with the test suite.
30169
30170  src/cairo-compiler-private.h |    1 +
30171  1 file changed, 1 insertion(+)
30172
30173 commit 4c6e7a16032fb223f4224d4355c2ea046cd8fc4b
30174 Author: Eric Anholt <eric@anholt.net>
30175 Date:   Wed Feb 11 05:09:23 2009 -0800
30176
30177     [gl] Add support for constant color directly, not through a texture.
30178
30179  src/cairo-gl-surface.c |  337 +++++++++++++++++++++++++++++++++++-------------
30180  1 file changed, 248 insertions(+), 89 deletions(-)
30181
30182 commit 31fb7382d22c9293c093b60716ee4e393fa0d5cf
30183 Author: Eric Anholt <eric@anholt.net>
30184 Date:   Wed Feb 11 05:09:51 2009 -0800
30185
30186     [gl] Fix some memory leaks on boilerplate-based runs.
30187
30188  boilerplate/cairo-boilerplate-gl.c |    4 ++++
30189  1 file changed, 4 insertions(+)
30190
30191 commit df96fc1f92b68ef3e76750d0891377980e039b09
30192 Author: Eric Anholt <eric@anholt.net>
30193 Date:   Mon Feb 9 15:42:09 2009 -0800
30194
30195     [gl] Avoid re-binding the same draw buffer.
30196     
30197     The driver could be smarter and avoid a lot of the cost, but this is easy
30198     and avoids needing much driver smarts.
30199
30200  src/cairo-gl-surface.c |   30 ++++++++++++++++++++----------
30201  1 file changed, 20 insertions(+), 10 deletions(-)
30202
30203 commit fb6937565be558e7ff8ba3dd815a427721783cba
30204 Author: Eric Anholt <eric@anholt.net>
30205 Date:   Mon Feb 9 15:30:21 2009 -0800
30206
30207     [gl] Add interface for creating surfaces from window backbuffers.
30208
30209  src/cairo-gl-surface.c |   85 +++++++++++++++++++++++++++++++++++++++++++++---
30210  src/cairo-gl.h         |    9 +++--
30211  2 files changed, 85 insertions(+), 9 deletions(-)
30212
30213 commit 6cc3d8dcc0fe418c56a519180163bd49fbdb9730
30214 Author: Eric Anholt <eric@anholt.net>
30215 Date:   Mon Feb 9 12:30:20 2009 -0800
30216
30217     [gl] Fix unantialiased-shapes tests.
30218
30219  src/cairo-gl-surface.c |   13 ++++++++++---
30220  1 file changed, 10 insertions(+), 3 deletions(-)
30221
30222 commit 23a8c58dc13bd9ff44f235bee8e4e7240831728a
30223 Author: Eric Anholt <eric@anholt.net>
30224 Date:   Thu Feb 5 11:00:59 2009 -0800
30225
30226     [gl] Fix infinite recursion on compositing A1 images.
30227     
30228     We could do this fast, but let's do it correct first.
30229
30230  src/cairo-gl-surface.c |   28 ++++++++++++++++++++++++++++
30231  1 file changed, 28 insertions(+)
30232
30233 commit b6dde667fa1c72c6da1970244c4f28c48a38f493
30234 Author: Eric Anholt <eric@anholt.net>
30235 Date:   Mon Feb 2 23:22:49 2009 -0800
30236
30237     [gl] Add support for composite and composite_trapezoids.
30238     
30239     This is a simple implementation that uses GL_ARB_texture_env_combine after
30240     converting everything to GL surfaces (FBOs).
30241
30242  src/cairo-gl-surface.c |  375 +++++++++++++++++++++++++++++++++++++++++++++++-
30243  1 file changed, 373 insertions(+), 2 deletions(-)
30244
30245 commit 38a1061bbcf3e69acc05c35f2084d462b43f5477
30246 Merge: b3e2433 e7d4bc3
30247 Author: Chris Wilson <chris@chris-wilson.co.uk>
30248 Date:   Thu Feb 12 10:46:29 2009 +0000
30249
30250     Merge branch '1.8'
30251
30252 commit e7d4bc3d864b1b42bb1cae031036ddf6a4445d3c
30253 Author: Chris Wilson <chris@chris-wilson.co.uk>
30254 Date:   Thu Feb 12 10:42:24 2009 +0000
30255
30256     [png] Correct documentation to avoid reference to NULL
30257     
30258     As pointed out by Truc Truong,
30259     cairo_image_surface_create_from_png_stream() cannot return NULL and so the
30260     documentation was incorrect.
30261     
30262     Fixes http://bugs.freedesktop.org/show_bug.cgi?id=20075
30263     Bug 20075 There is a misprint in the spec for
30264     cairo_image_surface_create_from_png_stream() function
30265
30266  src/cairo-png.c |   17 +++++++++++++++--
30267  1 file changed, 15 insertions(+), 2 deletions(-)
30268
30269 commit b3e2433f1e78e8799a9f57bfb6da108016687fc9
30270 Author: Søren Sandmann <sandmann@redhat.com>
30271 Date:   Wed Feb 11 17:55:15 2009 -0500
30272
30273     Correct the reference image for the rotate-image-surface-paint test
30274
30275  test/rotate-image-surface-paint.ref.png |  Bin 190 -> 191 bytes
30276  1 file changed, 0 insertions(+), 0 deletions(-)
30277
30278 commit 41cbd935f9dba276db716e2c71ac21dc60505be9
30279 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
30280 Date:   Wed Feb 11 15:24:20 2009 -0500
30281
30282     [test] Add cairo_test_NaN and use it in place of strtod
30283     
30284     strtod("NaN") returns 0.0 with the MSVC runtime so we
30285     need to generate NaN some other way.
30286
30287  test/cairo-test.h        |   15 +++++++++++++++
30288  test/invalid-matrix.c    |    2 +-
30289  test/user-font-rescale.c |    2 +-
30290  3 files changed, 17 insertions(+), 2 deletions(-)
30291
30292 commit 70297f257d4dc0accb5183b806d43a033887acb7
30293 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
30294 Date:   Tue Feb 10 17:58:28 2009 -0500
30295
30296     [test] Add crtdbg.h include
30297     
30298     crtdbg.h is required for _CrtSetReportMode() and _CrtSetReportFile().
30299
30300  test/cairo-test-runner.c |    4 ++++
30301  1 file changed, 4 insertions(+)
30302
30303 commit b9f0c4b25223830ce73f7e3adef85a0e97a31c0e
30304 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
30305 Date:   Tue Feb 10 17:57:00 2009 -0500
30306
30307     Use _cairo_round() instead of round()
30308     
30309     MSVC doesn't have round() and the code probably wants
30310     to round in the same direction regardless of whether
30311     the values are negative or positive.
30312
30313  src/cairo-font-face-twin.c |    6 ++----
30314  1 file changed, 2 insertions(+), 4 deletions(-)
30315
30316 commit dffdbd85157395bceb27d30d6426aa47173f6a18
30317 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
30318 Date:   Tue Feb 10 17:53:39 2009 -0500
30319
30320     Add _cairo_round()
30321     
30322     _cairo_round() has the same behaviour as _cairo_lround() except
30323     it returns a double instead of an integer.
30324
30325  src/cairoint.h |    9 +++++++++
30326  1 file changed, 9 insertions(+)
30327
30328 commit 41e46c7754fff3a99927979925300a7588b9962f
30329 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
30330 Date:   Tue Feb 10 11:44:20 2009 -0500
30331
30332     [test] Don't embed preprocessor directives inside macros
30333     
30334     MSVC can't handle this. GCC will warn with -pedantic, but I'm not
30335     sure we want to enable that.
30336
30337  test/user-font-mask.c  |   11 ++++++-----
30338  test/user-font-proxy.c |   10 +++++-----
30339  test/user-font.c       |   10 +++++-----
30340  3 files changed, 16 insertions(+), 15 deletions(-)
30341
30342 commit fe40d3bdb0d0cb93169b935e44d14b15e014fa6d
30343 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
30344 Date:   Mon Feb 9 23:43:04 2009 -0500
30345
30346     [test] Allocate glyph array with malloc
30347     
30348     Keeping it on the stack causes a stack overflow of Window's
30349     default 1mb stack.
30350
30351  test/show-glyphs-many.c |    4 +++-
30352  1 file changed, 3 insertions(+), 1 deletion(-)
30353
30354 commit 50f8c2e4f3407ef237afd94c7317b1e185ccc9dc
30355 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
30356 Date:   Mon Feb 9 23:39:38 2009 -0500
30357
30358     [test] define isnan() on MSVC
30359     
30360     Needed for user-font-rescale.c
30361
30362  test/cairo-test.h |    4 ++++
30363  1 file changed, 4 insertions(+)
30364
30365 commit dd9fc47418b86610d7896fcf585037c96beaa66f
30366 Author: Jeff Muizelaar <jeff@infidigm.net>
30367 Date:   Mon Feb 9 16:31:08 2009 -0500
30368
30369     Remove zero size data array for compilation with MSVC
30370     
30371     MSVC doesn't support zero sized arrays very well. For example, zero
30372     sized arrays in arrays.
30373
30374  src/cairo-tor-scan-converter.c |    5 ++---
30375  1 file changed, 2 insertions(+), 3 deletions(-)
30376
30377 commit a6c8f18a391407044b33340cf13c49368a2e810e
30378 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
30379 Date:   Mon Feb 9 15:59:01 2009 -0500
30380
30381     [test] Avoid C99 designated initializers
30382     
30383     MSVC doesn't support these so we shouldn't use them.
30384
30385  test/path-precision.c |   20 ++++++++++----------
30386  1 file changed, 10 insertions(+), 10 deletions(-)
30387
30388 commit 3d2fcec948b93f75ba49b898633a84f60d419779
30389 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
30390 Date:   Mon Feb 9 15:12:41 2009 -0500
30391
30392     [test] Define INFINITY on MSVC
30393     
30394     1./0. produces a compiler error on MSVC so we'll use HUGEVAL instead.
30395
30396  test/cairo-test.h     |    3 ---
30397  test/invalid-matrix.c |    4 ++--
30398  2 files changed, 2 insertions(+), 5 deletions(-)
30399
30400 commit 6fb4c6200c840d438e1c9cdd2c9e7b0f140863d8
30401 Author: Eric Anholt <eric@anholt.net>
30402 Date:   Thu Feb 5 10:29:01 2009 -0800
30403
30404     [gl] Clamp surface size to a minimum of (1,1) in create_similar.
30405     
30406     Fixes clip-zero test.
30407
30408  src/cairo-gl-surface.c |    5 +++++
30409  1 file changed, 5 insertions(+)
30410
30411 commit a8a40810275ff0a59f5767034372523d34fbbd1b
30412 Author: Eric Anholt <eric@anholt.net>
30413 Date:   Thu Feb 5 09:43:38 2009 -0800
30414
30415     [gl] clear surfaces to transparent on creation
30416
30417  src/cairo-gl-surface.c |    7 +++++++
30418  1 file changed, 7 insertions(+)
30419
30420 commit e7eb6dab12b9d622b80e4202d753324f7161b269
30421 Author: Eric Anholt <eric@anholt.net>
30422 Date:   Thu Jan 29 22:31:56 2009 -0800
30423
30424     [gl] Hook up fill_rectangles.
30425     
30426     First actual "acceleration" for cairogears.  Actually slows things down since
30427     we're now pingponging between cpu and gpu.
30428
30429  src/cairo-gl-surface.c |  119 +++++++++++++++++++++++++++++++++++++++++++++++-
30430  1 file changed, 118 insertions(+), 1 deletion(-)
30431
30432 commit 2ad5c3fc8fdb5941bdedcda3c972b3bae426fb32
30433 Author: Eric Anholt <eric@anholt.net>
30434 Date:   Wed Feb 4 13:10:47 2009 -0800
30435
30436     [gl] Add a shortcut from image to gl in clone_similar.
30437
30438  src/cairo-gl-surface.c |   27 +++++++++++++++++++++++++++
30439  1 file changed, 27 insertions(+)
30440
30441 commit d9d56bb2ed552dd40415af53105a98b9d6ba39ab
30442 Author: Eric Anholt <eric@anholt.net>
30443 Date:   Wed Feb 4 13:06:31 2009 -0800
30444
30445     [gl] Make create_similar actually create similar instead of image.
30446
30447  src/cairo-gl-surface.c |    4 +++-
30448  1 file changed, 3 insertions(+), 1 deletion(-)
30449
30450 commit 90b30219b945d6cce941a1b702c9b789a60d8b27
30451 Author: Eric Anholt <eric@anholt.net>
30452 Date:   Thu Jan 29 22:27:39 2009 -0800
30453
30454     [gl] Replace all-software implementation with all-GL-read/drawpixels.
30455
30456  src/cairo-gl-surface.c |  315 +++++++++++++++++++++++++++++++++++++++++++-----
30457  1 file changed, 282 insertions(+), 33 deletions(-)
30458
30459 commit c22ca79863a54b4293e607c8e4d515868c216842
30460 Author: Behdad Esfahbod <behdad@behdad.org>
30461 Date:   Fri Feb 6 12:56:48 2009 -0500
30462
30463     Don't distribute cairo-features.h (#19992)
30464     
30465     Second time I fix this bug.  Mabe we should add a test for it!
30466
30467  src/Makefile.am |    7 +++----
30468  1 file changed, 3 insertions(+), 4 deletions(-)
30469
30470 commit a55655a82de8dee0f171efb2f7dfb1da341ecdd6
30471 Author: Behdad Esfahbod <behdad@behdad.org>
30472 Date:   Fri Feb 6 12:47:38 2009 -0500
30473
30474     [test] Fix "make dist"
30475
30476  doc/public/tmpl/cairo-status.sgml |    1 +
30477  test/Makefile.am                  |    1 -
30478  2 files changed, 1 insertion(+), 1 deletion(-)
30479
30480 commit af5ca7249f7628a8b0758f51934e3c1f6d9f4f36
30481 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
30482 Date:   Thu Feb 5 16:46:50 2009 -0500
30483
30484     [test] Fix the definition of INFINITY
30485     
30486     In my defence, even with INFINITY as 0, I was seeing new asserts on win32.
30487     Caught by Jeremy Lea.
30488
30489  test/invalid-matrix.c |    2 +-
30490  1 file changed, 1 insertion(+), 1 deletion(-)
30491
30492 commit 235de8d7a492ccd132fb83f78d33b408bd76aec1
30493 Author: Eric Anholt <eric@anholt.net>
30494 Date:   Thu Jan 29 09:19:01 2009 -0800
30495
30496     [gl] Add basics for GL surface backend using test-fallback as base.
30497
30498  boilerplate/Makefile.sources               |    3 +
30499  boilerplate/Makefile.win32.features        |   10 +
30500  boilerplate/cairo-boilerplate-gl-private.h |   59 ++++++
30501  boilerplate/cairo-boilerplate-gl.c         |  124 ++++++++++++
30502  boilerplate/cairo-boilerplate.c            |   25 +++
30503  build/Makefile.win32.features              |    1 +
30504  build/Makefile.win32.features-h            |    3 +
30505  build/configure.ac.features                |    1 +
30506  configure.ac                               |    7 +
30507  perf/cairo-perf.c                          |    1 +
30508  src/Makefile.sources                       |    4 +
30509  src/Makefile.win32.features                |   14 ++
30510  src/cairo-gl-surface.c                     |  287 ++++++++++++++++++++++++++++
30511  src/cairo-gl.h                             |   89 +++++++++
30512  src/cairo-mutex-list-private.h             |    4 +
30513  src/cairo.h                                |    4 +-
30514  16 files changed, 635 insertions(+), 1 deletion(-)
30515
30516 commit 83ec4b16b7b9a27439fee2d84c50e30a1ec2d68c
30517 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
30518 Date:   Wed Feb 4 14:04:05 2009 -0500
30519
30520     Elaborate the meaning of arithmetic rounding as done by _cairo_lround()
30521
30522  src/cairo-misc.c |    2 +-
30523  1 file changed, 1 insertion(+), 1 deletion(-)
30524
30525 commit 2676b3bdd6fbeef62d34c100718f76fe5bbe647d
30526 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
30527 Date:   Tue Feb 3 14:18:44 2009 -0500
30528
30529     [test] Define INFINITY if it hasn't been defined.
30530     
30531     This lets us use more of invalid-matrix on win32
30532
30533  test/cairo-test.h     |    3 +++
30534  test/invalid-matrix.c |   22 ++--------------------
30535  2 files changed, 5 insertions(+), 20 deletions(-)
30536
30537 commit 6b0c2c8ba61b6fdaad4c77e1a7c02c13c70e03c4
30538 Author: Chris Wilson <chris@chris-wilson.co.uk>
30539 Date:   Sat Jan 31 11:58:19 2009 +0000
30540
30541     [directfb] Don't access the scaled_font->glyphs cache directly
30542     
30543     Not only does it no longer exist, but doing so bypassed the locking
30544     mechanisms and sanity checks!
30545     
30546     Spotted by Lance Hepler.
30547
30548  src/cairo-directfb-surface.c |   20 ++++++++++----------
30549  1 file changed, 10 insertions(+), 10 deletions(-)
30550
30551 commit d63c1ab3ffcb64220a05c80e674324f524f29dc2
30552 Author: Behdad Esfahbod <behdad@behdad.org>
30553 Date:   Sat Jan 31 22:10:57 2009 -0500
30554
30555     [util/malloc-stats] Do a single backtrace_symbols() call
30556     
30557     I was hoping that this may speed things up, but it didn't.  :(
30558
30559  util/malloc-stats.c |   58 ++++++++++++++++++++++++++++++++++++++++++++-------
30560  1 file changed, 50 insertions(+), 8 deletions(-)
30561
30562 commit 64d1c7587041f765b393e1802a10cce02b807ad1
30563 Author: Behdad Esfahbod <behdad@behdad.org>
30564 Date:   Sat Jan 31 21:34:21 2009 -0500
30565
30566     [util] Fix memset bug in malloc-stats
30567
30568  util/malloc-stats.c |    9 ++++-----
30569  1 file changed, 4 insertions(+), 5 deletions(-)
30570
30571 commit b02aeb367dc4bada5412798fa93ce74f3d861273
30572 Author: Behdad Esfahbod <behdad@behdad.org>
30573 Date:   Sat Jan 31 21:33:42 2009 -0500
30574
30575     [util] Don't link backtrace-symbols into malloc-stats
30576     
30577     On my rawhide machine, seems like the glibc backgrace-symbols is now as
30578     good as our private backtrace-symbols.
30579
30580  util/Makefile.am |    2 +-
30581  1 file changed, 1 insertion(+), 1 deletion(-)
30582
30583 commit 7375f4c76bb169cc24d5d714520c337172d3cf69
30584 Author: Chris Wilson <chris@chris-wilson.co.uk>
30585 Date:   Fri Jan 30 21:54:56 2009 +0000
30586
30587     Trivial warning fixes.
30588     
30589     Cleanup a few compiler warnings about unused variables and mismatching
30590     pointer types.
30591
30592  src/cairo-bentley-ottmann.c |    1 -
30593  src/cairo-ps-surface.c      |    4 ++--
30594  2 files changed, 2 insertions(+), 3 deletions(-)
30595
30596 commit f10eaadf89fa94172a81c05a59febab3f7e32396
30597 Author: Chris Wilson <chris@chris-wilson.co.uk>
30598 Date:   Fri Jan 30 21:50:24 2009 +0000
30599
30600     Revert "[png] Complete the idempotent read_png() -> write_png()"
30601     
30602     This reverts commit 564d64a1323c5cbcde2dd9365ac790fe8aa1c5a6.
30603     
30604     In hindsight, and with further discussion with Jeff Muizelaar, this
30605     behaviour of using the stored contents from the mime-data is completely
30606     the opposite of the users' expectations. When the user calls
30607     cairo_surface_write_to_png(), usually in the course of debugging their
30608     rendering code, they expect the precise contents of the surface to be
30609     saved.
30610
30611  src/cairo-png.c |   14 --------------
30612  1 file changed, 14 deletions(-)
30613
30614 commit dd11d905a54a123ddf619e5f0194fb1800ba643d
30615 Author: Chris Wilson <chris@chris-wilson.co.uk>
30616 Date:   Fri Jan 30 10:09:29 2009 +0000
30617
30618     [util] Use a hash-table for malloc-stats.
30619     
30620     At Behdad's request, convert the array of allocators into a simple hash
30621     table (large static number of buckets + chaining) in order to speed up
30622     malloc profiling.
30623
30624  util/malloc-stats.c |  150 +++++++++++++++++++++++++++++++++++----------------
30625  1 file changed, 103 insertions(+), 47 deletions(-)
30626
30627 commit 322fb00066cc4655122fcf7d738a0cbbe46fcdd1
30628 Author: Chris Wilson <chris@chris-wilson.co.uk>
30629 Date:   Thu Jan 29 22:05:06 2009 +0000
30630
30631     [test] Compile again without memfault.
30632     
30633     Hide the valgrind macro when not using memfault.
30634
30635  test/cairo-test.c |   26 ++++++++++++++++----------
30636  1 file changed, 16 insertions(+), 10 deletions(-)
30637
30638 commit 5e6d25e204b681c5d5fba90abfe4d7401f23460f
30639 Author: Chris Wilson <chris@chris-wilson.co.uk>
30640 Date:   Wed Dec 17 20:47:09 2008 +0000
30641
30642     [skiplist] Provide an initial stack allocated pool.
30643     
30644     Since we only need to allocate elts for intersection events and edges, the
30645     number of elts in flight at any one time is actually quite small and can
30646     usually be accommodated from an embedded pool.
30647
30648  src/cairo-bentley-ottmann.c  |   33 ++++++++++-----------------------
30649  src/cairo-skiplist-private.h |    9 +++++----
30650  src/cairo-skiplist.c         |   13 ++++++-------
30651  3 files changed, 21 insertions(+), 34 deletions(-)
30652
30653 commit dd4276c6618aa250637e4499bc7cb0a35b24448c
30654 Author: Chris Wilson <chris@chris-wilson.co.uk>
30655 Date:   Sun Nov 30 13:49:24 2008 +0000
30656
30657     [stroker] Rectilinear dashing.
30658     
30659     Extend the rectilinear stroker to handle dashes, so that for pixel-aligned
30660     dashed strokes we completely avoid tessellation overhead.
30661
30662  src/cairo-matrix.c                      |    3 +-
30663  src/cairo-path-stroke.c                 |  492 +++++++++++++++++++++++++------
30664  src/cairo-pen.c                         |   11 +-
30665  src/cairo-stroke-style.c                |   18 +-
30666  src/cairoint.h                          |   11 +-
30667  test/Makefile.am                        |    4 +-
30668  test/leaky-dashed-rectangle.pdf.ref.png |  Bin 0 -> 347 bytes
30669  test/leaky-dashed-rectangle.ps.ref.png  |  Bin 0 -> 444 bytes
30670  test/leaky-dashed-rectangle.ps2.ref.png |  Bin 444 -> 0 bytes
30671  test/leaky-dashed-rectangle.ps3.ref.png |  Bin 444 -> 0 bytes
30672  test/leaky-dashed-rectangle.ref.png     |  Bin 366 -> 347 bytes
30673  11 files changed, 437 insertions(+), 102 deletions(-)
30674
30675 commit 7f95288c03a400bf770165d427ef623d924b3b47
30676 Author: Chris Wilson <chris@chris-wilson.co.uk>
30677 Date:   Thu Jan 29 09:47:01 2009 +0000
30678
30679     [ft] Improve error status propagation.
30680     
30681     Propagate the error status from deep within the bowels, in order to reduce
30682     the number of duplicate _cairo_error() and generally clean up the return
30683     values.
30684
30685  src/cairo-ft-font.c |   65 +++++++++++++++++++++++++--------------------------
30686  1 file changed, 32 insertions(+), 33 deletions(-)
30687
30688 commit 53bd2ae2ce27f9b954f34bc9921d798c9a074125
30689 Author: Chris Wilson <chris@chris-wilson.co.uk>
30690 Date:   Mon Jan 26 21:36:27 2009 +0000
30691
30692     [ft] Distinguish fatal backend errors whilst constructing scaled fonts.
30693     
30694     We now have the ability to distinguish an error case where the backend is
30695     left in an inconsistent state from a transitory error. For the former we
30696     need to report the error condition via the return value, which will be
30697     propagated to the font-face. For the latter we just construct an in-error
30698     scaled font nil-object which is passed back to the user.
30699
30700  src/cairo-ft-font.c |   38 ++++++++++++++++++++++++++------------
30701  1 file changed, 26 insertions(+), 12 deletions(-)
30702
30703 commit f17aeedab31753974cce027f92571107425b1bcd
30704 Author: Chris Wilson <chris@chris-wilson.co.uk>
30705 Date:   Mon Jan 26 21:11:41 2009 +0000
30706
30707     [scaled-font] Differentiate fatal error when creating fonts
30708     
30709     We only want to set the error state on the backend when it implies that
30710     the font-face is in an inconsistent state. For example, this may be due to
30711     a locking error in the backend or that we have detected a corrupt font.
30712     
30713     In contrast, if we merely fail to allocated the scaled font then we just
30714     wish to return that error to the user, without making the font-face itself
30715     inert.
30716
30717  src/cairo-scaled-font.c |    8 +++++++-
30718  1 file changed, 7 insertions(+), 1 deletion(-)
30719
30720 commit 58cab06c4c2c49bbecb11efaae6b41d30c06eff0
30721 Author: Chris Wilson <chris@chris-wilson.co.uk>
30722 Date:   Mon Jan 26 20:52:29 2009 +0000
30723
30724     [scaled-font] Guard against invalid matrices when creating the scaled font.
30725     
30726     Check the user input for validity before passing the values on to the
30727     backend. Currently the error is detected by the backend and the error is
30728     propagated onto the font-face.
30729
30730  src/cairo-scaled-font.c |   22 ++++++++++++++++++++--
30731  1 file changed, 20 insertions(+), 2 deletions(-)
30732
30733 commit 97c88f2af04b6bc5161fa2b567b5e922d7fd326a
30734 Author: Chris Wilson <chris@chris-wilson.co.uk>
30735 Date:   Mon Jan 26 20:51:02 2009 +0000
30736
30737     [surface] Fix memleak of along set_mime_data() error path
30738     
30739     Free the mime_data holder if we fail to attach it to the surface.
30740
30741  src/cairo-surface.c |    8 ++++++--
30742  1 file changed, 6 insertions(+), 2 deletions(-)
30743
30744 commit d20e5fc2d95c61ab04e085bf3a99d2cb958421a5
30745 Author: Chris Wilson <chris@chris-wilson.co.uk>
30746 Date:   Mon Jan 26 15:08:58 2009 +0000
30747
30748     [ps] Free images after emitting patterns.
30749     
30750     Ensure that the temporary images are freed after we finish with the
30751     pattern.
30752     
30753     Note that we are using 3 members of the surface for temporary storage
30754     whilst emitting patterns, this should be reviewed.
30755
30756  src/cairo-ps-surface-private.h |    3 +++
30757  src/cairo-ps-surface.c         |   18 ++++++++++++++++--
30758  2 files changed, 19 insertions(+), 2 deletions(-)
30759
30760 commit e6102dbe028ca93db936b2f4cd6368e2ba0a2209
30761 Author: Chris Wilson <chris@chris-wilson.co.uk>
30762 Date:   Mon Jan 26 14:00:13 2009 +0000
30763
30764     [png] Avoid a double free of the memory stream after error.
30765     
30766     _cairo_memory_stream_destroy() finalizes the stream even if the stream was
30767     in error and that error is reported back to the caller - so ensure we
30768     don't try to free the stream again.
30769
30770  src/cairo-png.c |    2 +-
30771  1 file changed, 1 insertion(+), 1 deletion(-)
30772
30773 commit 0f3e366f8bbbaa80b518eb1b0297a6122901ce66
30774 Author: Chris Wilson <chris@chris-wilson.co.uk>
30775 Date:   Mon Jan 26 10:54:45 2009 +0000
30776
30777     [font-face] Close a race when resurrecting fonts.
30778     
30779     Paul Messmer provided a thorough analysis of a race between destroying the
30780     final reference on a font and a concurrent recreation of the font -
30781     demonstrating how it is possible for the create() to return the font that
30782     was in the process of being freed.
30783     
30784     To stop the race, we need to recheck the reference count upon taking the
30785     mutex guarding the hash table.
30786
30787  src/cairo-ft-font.c       |    6 ++++++
30788  src/cairo-toy-font-face.c |    6 ++++++
30789  2 files changed, 12 insertions(+)
30790
30791 commit 312b5680a5754c8e7ee1332206b81449cf9bf8a3
30792 Author: Chris Wilson <chris@chris-wilson.co.uk>
30793 Date:   Fri Jan 23 21:13:15 2009 +0000
30794
30795     [cff-subset] Free ps_name.
30796     
30797     Ensure ps_name is freed along error paths and by the normal destructor.
30798
30799  src/cairo-cff-subset.c |    4 +++-
30800  1 file changed, 3 insertions(+), 1 deletion(-)
30801
30802 commit 5176507fcb61ae1ec1143aa0b6b098bc92575c48
30803 Author: Chris Wilson <chris@chris-wilson.co.uk>
30804 Date:   Fri Jan 23 13:37:54 2009 +0000
30805
30806     [truetype] Free font name.
30807     
30808     Remember to free the font name on destruction.
30809
30810  src/cairo-truetype-subset.c |    2 ++
30811  1 file changed, 2 insertions(+)
30812
30813 commit ab0ac1b8a84b0d259602f0029a3b5552466f35a6
30814 Author: Chris Wilson <chris@chris-wilson.co.uk>
30815 Date:   Thu Jan 29 09:45:11 2009 +0000
30816
30817     [truetype] Initialise font_name
30818     
30819     Ensure the font_name is initialized to NULL.
30820
30821  src/cairo-cff-subset.c      |    2 ++
30822  src/cairo-truetype-subset.c |    1 +
30823  2 files changed, 3 insertions(+)
30824
30825 commit 8388af137841679b7c510980daf3cec1427b6e6b
30826 Author: Chris Wilson <chris@chris-wilson.co.uk>
30827 Date:   Thu Jan 29 09:50:38 2009 +0000
30828
30829     [test] Trivial fixes for error paths.
30830     
30831     Kill a few leaks along error paths in the test code.
30832
30833  test/create-from-png-stream.c |   36 ++++++++++++++++++++++++++++--------
30834  test/mime-data.c              |    4 ++++
30835  2 files changed, 32 insertions(+), 8 deletions(-)
30836
30837 commit 3752f690b467432ab5b1058d450cb79d719a794a
30838 Author: Chris Wilson <chris@chris-wilson.co.uk>
30839 Date:   Thu Jan 29 09:49:41 2009 +0000
30840
30841     [test] Suppress suppressed memfault report
30842     
30843     Check to see if there are any *unsuppressed* memfaults before declaring
30844     unreported faults.
30845
30846  test/cairo-test.c |   11 +++++++++--
30847  1 file changed, 9 insertions(+), 2 deletions(-)
30848
30849 commit 8dc4c0da9b13b16c593e874d59c13a89a77a2481
30850 Author: Chris Wilson <chris@chris-wilson.co.uk>
30851 Date:   Fri Jan 23 13:17:24 2009 +0000
30852
30853     [toy-font] Fix unwind behaviour following error during construction.
30854     
30855     We failed to cleanup the font face correctly after an allocation failure
30856     during _cairo_toy_font_face_init() leading to memleaks and live entries
30857     being left in the font-face hash tables.
30858
30859  src/cairo-toy-font-face.c |   43 +++++++++++++++++++++----------------------
30860  1 file changed, 21 insertions(+), 22 deletions(-)
30861
30862 commit 1d52fbc8f4f70e9e2419a6ed66cd907552d1d13b
30863 Author: Chris Wilson <chris@chris-wilson.co.uk>
30864 Date:   Fri Jan 23 12:51:52 2009 +0000
30865
30866     [tessellator] Memleak on error path.
30867     
30868     Add a missing _cairo_skip_list_fini() after failure to allocate the
30869     events.
30870
30871  src/cairo-bentley-ottmann.c |    4 +++-
30872  1 file changed, 3 insertions(+), 1 deletion(-)
30873
30874 commit 6b5d2bf1a742b34a58d65f188fe15ffbf2f83118
30875 Author: Chris Wilson <chris@chris-wilson.co.uk>
30876 Date:   Fri Jan 23 10:42:42 2009 +0000
30877
30878     [trace] Comment out the redundant wrapping of FT_Open_Face()
30879     
30880     Remove the left-over debugging spew, but leave a comment to hopefully
30881     clarify the situation with wrapping FT_Open_Face().
30882
30883  util/cairo-trace/trace.c |    9 +++++++++
30884  1 file changed, 9 insertions(+)
30885
30886 commit faa004033cde21cd81890c7f82abae8eb766bb4b
30887 Author: Carl Worth <cworth@cworth.org>
30888 Date:   Thu Jan 22 11:52:54 2009 +1100
30889
30890     cairo-trace: Print name of trace file.
30891     
30892     It's just a lot easier to use cairo-trace if it tells you
30893     what file it just created.
30894
30895  util/cairo-trace/trace.c |    3 +++
30896  1 file changed, 3 insertions(+)
30897
30898 commit d108b2777fcd6ef4fa45aeeef457dc58522e325b
30899 Author: Daniel Holbert <dholbert@mozilla.com>
30900 Date:   Fri Jan 23 10:18:48 2009 +0000
30901
30902     Spelling corrections: s/it's/its/
30903     
30904     As a fun itch to scratch, I've been fixing incorrect uses of the
30905     contraction "it's" in comments within the mozilla source tree (tracked
30906     in https://bugzilla.mozilla.org/show_bug.cgi?id=458167 ), and I ran
30907     across 6 instances of this typo in mozilla's snapshot of cairo.
30908     
30909     Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
30910
30911  src/cairo-ft-font.c            |    2 +-
30912  src/cairo-matrix.c             |    2 +-
30913  src/cairo-mutex-impl-private.h |    2 +-
30914  src/cairo-pdf-operators.c      |    2 +-
30915  src/cairo-surface-fallback.c   |    2 +-
30916  5 files changed, 5 insertions(+), 5 deletions(-)
30917
30918 commit 6394ec3048f31b867d9588853fa400c6c630c6f1
30919 Author: Paolo Bonzini <bonzini@gnu.org>
30920 Date:   Mon Dec 15 09:32:43 2008 +0100
30921
30922     [surface] add CAIRO_STATUS_INVALID_SIZE
30923     
30924     Adds an error code replacing CAIRO_STATUS_NO_MEMORY in one case where it
30925     is not really appropriate.  CAIRO_STATUS_INVALID_SIZE is used by several
30926     backends that do not support image sizes beyond 2^15 pixels on each side.
30927     
30928     Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
30929
30930  src/cairo-misc.c                 |    4 +++-
30931  src/cairo-os2-surface.c          |    9 +++++----
30932  src/cairo-quartz-image-surface.c |    5 +++--
30933  src/cairo-quartz-surface.c       |    4 ++--
30934  src/cairo-spans.c                |    2 ++
30935  src/cairo-surface.c              |    1 +
30936  src/cairo-xlib-surface.c         |    7 +++----
30937  src/cairo.h                      |    6 ++++--
30938  src/cairoint.h                   |    2 +-
30939  9 files changed, 24 insertions(+), 16 deletions(-)
30940
30941 commit 46acfd2e85dd6f7a73e1172d363d509c769376f2
30942 Author: Paolo Bonzini <bonzini@gnu.org>
30943 Date:   Tue Dec 23 08:31:30 2008 +0100
30944
30945     [glitz] use image fallback if the cairo_content_t is unsupported
30946     
30947     The agreement on the mailing list was that returning NULL is the right
30948     thing to do, and indeed the callers of _cairo_glitz_surface_create_similar
30949     are prepared to receive NULL and return CAIRO_STATUS_INT_UNSUPPORTED in
30950     that case.
30951     
30952     Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
30953
30954  src/cairo-glitz-surface.c |    2 +-
30955  1 file changed, 1 insertion(+), 1 deletion(-)
30956
30957 commit 01d20b79daf0abe0f69ccec4ecd5122c5bfe9a4e
30958 Author: Chris Wilson <chris@chris-wilson.co.uk>
30959 Date:   Fri Jan 23 10:09:37 2009 +0000
30960
30961     [scaled-font] Fix up syntax in doc comments
30962     
30963     The old NULL vs %NULL conflict.
30964
30965  src/cairo-scaled-font-subsets-private.h |    9 +++++----
30966  1 file changed, 5 insertions(+), 4 deletions(-)
30967
30968 commit aaec63d48386ec825cd4d6e67b6adf7c5fd3b167
30969 Author: Chris Wilson <chris@chris-wilson.co.uk>
30970 Date:   Fri Nov 21 15:04:47 2008 +0000
30971
30972     [scaled-font] Global glyph cache
30973     
30974     Currently glyphs are cached independently in each font i.e. each font
30975     maintains a cache of up to 256 glyphs, and there can be as many scaled fonts
30976     in use as the application needs and references (we maintain a holdover
30977     cache of 512 scaled fonts as well).
30978     
30979     Alternatively, as in this patch, we can maintain a global pool of glyphs
30980     split between all open fonts. This allows a heavily used individual font
30981     to cache more glyphs than we could allow if we used per-font glyph caches,
30982     but at the same time maintains fairness across all fonts (by using random
30983     replacement) and provides a cap on the maximum number of global glyphs.
30984     
30985     The glyphs are allocated in pages, which are cached in the global pool.
30986     Using pages means we can exploit spatial locality within the font
30987     (nearby indices are typically used in clusters) to reduce frequency of small
30988     allocations and allow the scaled font to reserve a single MRU page of
30989     glyphs. This caching dramatically reduces the cairo overhead during the
30990     cairo-perf benchmarks, and drastically reduces the number of allocations
30991     made by the application (for example browsing multi-lingual site with
30992     firefox).
30993
30994  boilerplate/cairo-boilerplate.c |    5 +-
30995  src/cairo-cache-private.h       |    8 +
30996  src/cairo-cache.c               |   36 +++--
30997  src/cairo-hash-private.h        |    4 +
30998  src/cairo-hash.c                |  117 ++++++++++-----
30999  src/cairo-mutex-list-private.h  |    1 +
31000  src/cairo-scaled-font-private.h |    6 +-
31001  src/cairo-scaled-font.c         |  306 ++++++++++++++++++++++++++++-----------
31002  src/cairoint.h                  |    9 +-
31003  9 files changed, 351 insertions(+), 141 deletions(-)
31004
31005 commit 54f6a49ebb18cf396823d0d70b95e4e264142171
31006 Author: Chris Wilson <chris@chris-wilson.co.uk>
31007 Date:   Mon Jan 19 15:36:29 2009 +0000
31008
31009     [bounds] Skip spline evaluation based on bounding bbox of control points.
31010     
31011     The bounding polygon of the control points, defines the extents of the
31012     spline. Therefore if the control points are entirely contained within the
31013     current path extents, so is the spline and we do not need to evaluate its
31014     tight bounds.
31015
31016  src/cairo-path-bounds.c |   21 +++++++++++++++++++--
31017  1 file changed, 19 insertions(+), 2 deletions(-)
31018
31019 commit e217c4da7bc5c4817e0d829ff61dd2bd5b3145a6
31020 Author: Chris Wilson <chris@chris-wilson.co.uk>
31021 Date:   Mon Jan 19 15:28:05 2009 +0000
31022
31023     [in-stroke] Check point against extents before computing path.
31024     
31025     We can avoid tessellating the path entirely by first checking whether the
31026     query point is inside the path extents.
31027
31028  src/cairo-gstate.c |   15 +++++++++++++++
31029  1 file changed, 15 insertions(+)
31030
31031 commit 48f9a0e6da0dd24ea9c809876ef3c745dcfd0d52
31032 Author: Chris Wilson <chris@chris-wilson.co.uk>
31033 Date:   Thu Jan 15 00:26:03 2009 +0000
31034
31035     [spline] Correct the definition of a cubic Bezier curve.
31036     
31037     Add the missing coefficients for p1 and p2 so the derivation of the
31038     derivative and the solution for its inflection points stands correct.
31039
31040  src/cairo-spline.c |    8 ++++----
31041  1 file changed, 4 insertions(+), 4 deletions(-)
31042
31043 commit ee7ac5681fa6a74b68beeae667d96d1421050fc9
31044 Author: Chris Wilson <chris@chris-wilson.co.uk>
31045 Date:   Wed Jan 21 12:04:06 2009 +0000
31046
31047     [path] A degenerate curve_to becomes a line_to.
31048     
31049     Be consistent.
31050
31051  src/cairo-path-fixed.c |    2 +-
31052  1 file changed, 1 insertion(+), 1 deletion(-)
31053
31054 commit 778ced4879b09f7482bd41c398bf2d984754ed0b
31055 Author: Chris Wilson <chris@chris-wilson.co.uk>
31056 Date:   Wed Jan 14 18:55:32 2009 +0000
31057
31058     [path] Rename _cairo_path_fixed_approximate_extents()
31059     
31060     Rename approximate_extents() to approximate_clip_extents() so that it is
31061     consistent with the fill and stroke variants and clearer under what
31062     circumstances you may wish to use it.
31063
31064  src/cairo-analysis-surface.c |    2 +-
31065  src/cairo-clip.c             |    4 ++--
31066  src/cairo-path-bounds.c      |    4 ++--
31067  src/cairo-surface-fallback.c |    2 +-
31068  src/cairoint.h               |    4 ++--
31069  5 files changed, 8 insertions(+), 8 deletions(-)
31070
31071 commit 75f7c420b624049c1f6c51795679f8029cd2231d
31072 Author: Chris Wilson <chris@chris-wilson.co.uk>
31073 Date:   Wed Jan 21 13:09:41 2009 +0000
31074
31075     [perf] Remove a redundant clear during source init.
31076     
31077     After a short wild goose chase to see why
31078     cairo_image_surface_fill_rectangles() was appearing in the profile,
31079     tweak init_and_set_source_surface() to remove the redundant clear and
31080     to propagate any errors in the auxiliary context.
31081
31082  perf/cairo-perf-cover.c |    7 ++-----
31083  1 file changed, 2 insertions(+), 5 deletions(-)
31084
31085 commit 706f6de68da65911f434d2065dcb143649fa793e
31086 Author: Chris Wilson <chris@chris-wilson.co.uk>
31087 Date:   Sun Jan 18 16:47:59 2009 +0000
31088
31089     [perf] Add another variation on the many-rectangles case
31090     
31091     This variation aims to show the difference between calling fill once
31092     per-rectangle, or once for all rectangles.
31093
31094  perf/rectangles.c |   20 ++++++++++++++++++++
31095  1 file changed, 20 insertions(+)
31096
31097 commit ff5d37a8ad063e84e88f453a403715bc85f8a3ec
31098 Author: Chris Wilson <chris@chris-wilson.co.uk>
31099 Date:   Thu Jan 29 10:09:11 2009 +0000
31100
31101     [mutex] Civilise the comment.
31102     
31103     Note bene that Behdad does not like people shouting.
31104
31105  src/cairo-mutex-impl-private.h |    2 +-
31106  1 file changed, 1 insertion(+), 1 deletion(-)
31107
31108 commit f4ff6128d7fb6e4b5ba361a597fc6c0c88d5ec00
31109 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
31110 Date:   Wed Jan 28 17:16:32 2009 -0500
31111
31112     Avoid "empty body in an if-statement" warning
31113     
31114     Use '(void)expr;' instead of 'if (expr) ;' to avoid getting the warning.
31115     'if (expr) {}' is an option, however '(void)expr;' seems like a more common
31116     idiom and getting warnings for __attribute__((warn_unsed_result)) functions is
31117     probably prefered.
31118
31119  src/cairo-mutex-impl-private.h |    5 +++--
31120  1 file changed, 3 insertions(+), 2 deletions(-)
31121
31122 commit 41feeedcc14bf8caef3c039de49f4f28143712c7
31123 Author: Adrian Johnson <ajohnson@redneon.com>
31124 Date:   Wed Dec 3 23:58:22 2008 +1030
31125
31126     Use PS font name in PS TrueType fonts
31127
31128  src/cairo-ps-surface.c |    9 +++++----
31129  1 file changed, 5 insertions(+), 4 deletions(-)
31130
31131 commit b7a9e1d4ac3972bc3d215070124b6a9eda68d3e3
31132 Author: Adrian Johnson <ajohnson@redneon.com>
31133 Date:   Wed Dec 3 23:58:05 2008 +1030
31134
31135     Embed full font name in PDF TrueType and CFF fonts
31136     
31137     if the full font name was available in the font.
31138
31139  src/cairo-pdf-surface.c |   32 ++++++++++++++++++++++++--------
31140  1 file changed, 24 insertions(+), 8 deletions(-)
31141
31142 commit 6f2db9a4b07cde2c4932ea481228abc248e90145
31143 Author: Adrian Johnson <ajohnson@redneon.com>
31144 Date:   Wed Dec 3 23:57:38 2008 +1030
31145
31146     Use PS font name in CFF and TrueType PDF font subsets
31147     
31148     James Cloos found that the font name in embedded fonts should be the
31149     PostScript font name (nameID=6 in the name table).
31150     
31151     http://lists.cairographics.org/archives/cairo/2008-December/015919.html
31152
31153  src/cairo-cff-subset.c                  |   70 ++++++++++++++--------
31154  src/cairo-pdf-surface.c                 |   16 ++---
31155  src/cairo-scaled-font-subsets-private.h |   19 ++++--
31156  src/cairo-truetype-subset.c             |   97 ++++++++++++++++++++++---------
31157  4 files changed, 136 insertions(+), 66 deletions(-)
31158
31159 commit 2ed08f7801a2af27e35afcf57f00f4bf5d48384a
31160 Author: Adrian Johnson <ajohnson@redneon.com>
31161 Date:   Wed Dec 3 23:56:01 2008 +1030
31162
31163     Factor out duplicate code in truetype and cff subsetting
31164     
31165     The code for reading the font name from the name table has been moved
31166     to a new function: _cairo_truetype_read_font_name().
31167
31168  src/cairo-cff-subset.c                  |   60 ++-----------
31169  src/cairo-scaled-font-subsets-private.h |   18 ++++
31170  src/cairo-truetype-subset.c             |  149 ++++++++++++++++++-------------
31171  3 files changed, 114 insertions(+), 113 deletions(-)
31172
31173 commit 1deb1e451022b9dd5aa6ecb0b580b006047b630e
31174 Author: Adrian Johnson <ajohnson@redneon.com>
31175 Date:   Tue Nov 25 23:11:01 2008 +1030
31176
31177     PDF: Include subset tag in font name
31178     
31179     PDF requires font names of subsetted fonts to be preprended with
31180     "XXXXXX+" where XXXXXX is a sequence of 6 uppercase letters unique the
31181     font and the set of glyphs in the subset.
31182
31183  src/cairo-pdf-surface.c |  112 +++++++++++++++++++++++++++++++++++++++++++----
31184  1 file changed, 104 insertions(+), 8 deletions(-)
31185
31186 commit c4e54629bb444ed3e850ca8deec175936b90c4e4
31187 Author: Carl Worth <cworth@cworth.org>
31188 Date:   Thu Jan 22 12:26:55 2009 +1100
31189
31190     Add details to test/COPYING about license of bundled fonts.
31191     
31192     Just the public-doamin 6x13.pcf file for now, but Adrian will
31193     be bundling more soon.
31194
31195  test/COPYING |    8 ++++++++
31196  1 file changed, 8 insertions(+)
31197
31198 commit 6801f28f6dfeb21eec44052e75156e9d2b82422e
31199 Author: Chris Wilson <chris@chris-wilson.co.uk>
31200 Date:   Wed Jan 14 13:59:28 2009 +0000
31201
31202     [perf] Add a utility to compare backends.
31203     
31204     A minor variation on cairo-perf-diff-files that compares tests with the
31205     same name for multiple backends.
31206
31207  perf/.gitignore                    |    1 +
31208  perf/Makefile.am                   |    8 +-
31209  perf/cairo-perf-compare-backends.c |  393 ++++++++++++++++++++++++++++++++++++
31210  perf/cairo-perf-diff-files.c       |    2 +-
31211  perf/cairo-perf-graph-files.c      |    2 +-
31212  perf/cairo-perf-report.c           |   43 +++-
31213  perf/cairo-perf.h                  |    9 +-
31214  7 files changed, 448 insertions(+), 10 deletions(-)
31215
31216 commit 4c79cd480db1cf10b6018bce3ea966587efc6081
31217 Author: Chris Wilson <chris@chris-wilson.co.uk>
31218 Date:   Tue Jan 13 12:52:52 2009 +0000
31219
31220     [perf] Tweak dragon to hit fill_rectangles().
31221     
31222     Add a second dragon path that is pixel-aligned and uses a solid pattern,
31223     so that it can be drawn using fill-rectangles.
31224
31225  perf/dragon.c |   42 +++++++++++++++++++++++++++++++++++++++++-
31226  1 file changed, 41 insertions(+), 1 deletion(-)
31227
31228 commit de9e6b5a3f4e4752e0f99e3ae20ac263a5aae4bb
31229 Author: Chris Wilson <chris@chris-wilson.co.uk>
31230 Date:   Mon Jan 12 01:00:30 2009 +0000
31231
31232     [perf] Cover linear gradient with 3 stops.
31233     
31234     The i915 is able to special case gradients with just 2 color stops to
31235     avoid creating temporary gradient textures, so add a 3 stop linear
31236     gradient to compare the speed difference.
31237
31238  perf/cairo-perf-cover.c |   36 ++++++++++++++++++++++++++++++++++++
31239  1 file changed, 36 insertions(+)
31240
31241 commit 7cbc55f21624159dfa58a9a50ec004af9368ab3d
31242 Author: Chris Wilson <chris@chris-wilson.co.uk>
31243 Date:   Sat Jan 10 00:12:06 2009 +0000
31244
31245     [perf] Add scaled similar surface sources.
31246     
31247     Cover the similar source with min/mag scale factors as well, so we can
31248     compare the performance impact with scaled image sources. This is useful
31249     to distinguish between transport overhead and transform cost.
31250
31251  perf/cairo-perf-cover.c |   44 ++++++++++++++++++++++++++++++++++++++++----
31252  1 file changed, 40 insertions(+), 4 deletions(-)
31253
31254 commit afce1cfe987eeec6516aed1eb8fd97c2d3b9b07b
31255 Author: Chris Wilson <chris@chris-wilson.co.uk>
31256 Date:   Fri Jan 9 14:22:36 2009 +0000
31257
31258     [scaled-font] Avoid repeated lookup of the same unicode during text->glyphs
31259     
31260     Performing the unicode to index is quite expensive, the
31261     FcFreeTypeCharIndex() taking over 12% in the cairo-perf text benchmarks.
31262     By adding a simple cache of translated unicode indices, we save around 25%
31263     of the lookups during benchmarks, with a relative reduction in runtime.
31264
31265  src/cairo-scaled-font.c |   63 ++++++++++++++++++++++++++++++-----------------
31266  1 file changed, 41 insertions(+), 22 deletions(-)
31267
31268 commit 49eca78a4265432e285af58435219e8b804b38bb
31269 Author: Chris Wilson <chris@chris-wilson.co.uk>
31270 Date:   Mon Jan 12 12:42:46 2009 +0000
31271
31272     [test] Add a huge-radial test case.
31273     
31274     Also test the handling of radial gradients with large radii.
31275
31276  test/Makefile.am                     |   11 +++---
31277  test/huge-linear.c                   |   67 +++++++++++++++++++++++++++++++++
31278  test/huge-linear.ps3.ref.png         |  Bin 0 -> 1786 bytes
31279  test/huge-linear.ref.png             |  Bin 0 -> 1619 bytes
31280  test/huge-pattern.c                  |   65 --------------------------------
31281  test/huge-pattern.pdf.argb32.ref.png |  Bin 2430 -> 0 bytes
31282  test/huge-pattern.pdf.ref.png        |  Bin 2716 -> 0 bytes
31283  test/huge-pattern.pdf.rgb24.ref.png  |  Bin 2817 -> 0 bytes
31284  test/huge-pattern.ps3.ref.png        |  Bin 1786 -> 0 bytes
31285  test/huge-pattern.ref.png            |  Bin 1619 -> 0 bytes
31286  test/huge-radial.c                   |   69 ++++++++++++++++++++++++++++++++++
31287  test/huge-radial.ps3.ref.png         |  Bin 0 -> 18449 bytes
31288  test/huge-radial.ref.png             |  Bin 0 -> 41702 bytes
31289  13 files changed, 142 insertions(+), 70 deletions(-)
31290
31291 commit 7709d1d9d43a42dd8f9293f18141c57c76ca0970
31292 Author: Chris Wilson <chris@chris-wilson.co.uk>
31293 Date:   Wed Jan 7 21:12:21 2009 +0000
31294
31295     [test] Add fill-image.
31296     
31297     A filled equivalent of stroke-image, that checks that the pattern
31298     matrices are applied correctly during fills - useful with the
31299     segregation between fills and strokes introduced by spans.
31300
31301  test/Makefile.am        |    2 ++
31302  test/fill-image.c       |   83 +++++++++++++++++++++++++++++++++++++++++++++++
31303  test/fill-image.ref.png |  Bin 0 -> 1317 bytes
31304  3 files changed, 85 insertions(+)
31305
31306 commit 5605e4bfcd0b6e3e34eed3785bc8ae51b24a7385
31307 Author: Chris Wilson <chris@chris-wilson.co.uk>
31308 Date:   Sun Jan 4 11:26:45 2009 +0000
31309
31310     [test] Propagate failure from painting large-source-roi
31311     
31312     Use cairo_get_target() to propagate any failure when creating the
31313     large-source.
31314
31315  test/large-source-roi.c |   28 ++++++++++++++++++++--------
31316  1 file changed, 20 insertions(+), 8 deletions(-)
31317
31318 commit 59a14f622389ae3f34f93c78b709df2ad6d1d624
31319 Author: Behdad Esfahbod <behdad@behdad.org>
31320 Date:   Sat Jan 10 13:09:06 2009 -0500
31321
31322     Comment win32 maintainer-clean files again
31323
31324  Makefile.am |    8 ++++----
31325  1 file changed, 4 insertions(+), 4 deletions(-)
31326
31327 commit cc5119173918623ce13363f4b25cd06076fc3fbc
31328 Author: Søren Sandmann Pedersen <sandmann@redhat.com>
31329 Date:   Sat Jan 10 12:13:40 2009 -0500
31330
31331     Uncomment win32 maintainer-clean files to make Makefile.am syntactically correct
31332
31333  Makefile.am |    4 ++--
31334  1 file changed, 2 insertions(+), 2 deletions(-)
31335
31336 commit 06deaa98b67f9e674a6933a8f54dae6a45faf6ff
31337 Author: Behdad Esfahbod <behdad@behdad.org>
31338 Date:   Fri Jan 9 15:55:24 2009 -0500
31339
31340     [build] Include all generated win32 build files in the repo
31341     
31342     So a git clone can be built on win32.  The files only change after adding
31343     new backends.
31344
31345  Makefile.am                         |    4 +-
31346  boilerplate/.gitignore              |    2 +-
31347  boilerplate/Makefile.am             |    2 +-
31348  boilerplate/Makefile.win32.features |  233 ++++++++++++++++++++++++++
31349  build/.gitignore                    |    4 +-
31350  build/Makefile.win32.features       |   22 +++
31351  build/Makefile.win32.features-h     |   70 ++++++++
31352  src/.gitignore                      |    3 +-
31353  src/Makefile.am                     |    2 +-
31354  src/Makefile.win32.features         |  311 +++++++++++++++++++++++++++++++++++
31355  10 files changed, 644 insertions(+), 9 deletions(-)
31356
31357 commit a5c1cdf2b030959309e1645bd115f058f1367296
31358 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
31359 Date:   Thu Nov 13 12:11:12 2008 +0200
31360
31361     [clip] Fix uninitialised status return in _cairo_clip_intersect_mask() for empty extents.
31362     
31363     This fixes the clip-all test case crashing for me.
31364
31365  src/cairo-clip.c |    2 +-
31366  1 file changed, 1 insertion(+), 1 deletion(-)
31367
31368 commit 8157bc8a2dc0d555606d19ad52ae7a603471edd6
31369 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
31370 Date:   Sun Jan 4 04:14:28 2009 +0200
31371
31372     [test] Stress test using large source images.
31373     
31374     This test attempts to trigger failures in those backend clone_similar
31375     methods that have size restrictions on the resulting image.  It also
31376     triggers errors in scaling down large image surfaces as the image
31377     backend also fails this test.
31378
31379  test/Makefile.am              |    2 ++
31380  test/large-source-roi.c       |   64 +++++++++++++++++++++++++++++++++++++++++
31381  test/large-source-roi.ref.png |  Bin 0 -> 102 bytes
31382  3 files changed, 66 insertions(+)
31383
31384 commit 388ae177e4100698289819429fa1f8e6958d1c60
31385 Author: Chris Wilson <chris@chris-wilson.co.uk>
31386 Date:   Sat Jan 3 22:51:28 2009 +0000
31387
31388     [boilerplate] Remove CAIRO_BOILERPLATE_LOG()
31389     
31390     The variadic macro is only used within boilerplate/ so replace it with a
31391     simple, and portable, call to fprintf.
31392
31393  boilerplate/cairo-boilerplate-beos.cpp    |   19 +++----------------
31394  boilerplate/cairo-boilerplate-glitz-agl.c |   10 +++++-----
31395  boilerplate/cairo-boilerplate-glitz-glx.c |    6 +++---
31396  boilerplate/cairo-boilerplate-glitz-wgl.c |   10 +++++-----
31397  boilerplate/cairo-boilerplate-system.c    |   16 ++++++++--------
31398  boilerplate/cairo-boilerplate-xcb.c       |    4 ++--
31399  boilerplate/cairo-boilerplate.h           |    4 ----
31400  test/cairo-test.h                         |    1 -
31401  8 files changed, 26 insertions(+), 44 deletions(-)
31402
31403 commit 5f816ccd25d1cd303fc1e9e44e80c1207b2a424a
31404 Author: Chris Wilson <chris@chris-wilson.co.uk>
31405 Date:   Sat Jan 3 22:30:55 2009 +0000
31406
31407     [boilerplate] Redefine DEBUG() for portability concerns
31408     
31409     Behdad warned that using an empty variadic macro was non-portable.
31410
31411  boilerplate/cairo-boilerplate-xlib.c |   18 +++++++++---------
31412  boilerplate/cairo-boilerplate.h      |    2 +-
31413  2 files changed, 10 insertions(+), 10 deletions(-)
31414
31415 commit acb2717372f3862ddbde8cfdc814132808b71f86
31416 Author: Chris Wilson <chris@chris-wilson.co.uk>
31417 Date:   Sat Jan 3 21:50:55 2009 +0000
31418
31419     [quartz] Define RTLD_DEFAULT
31420     
31421     RTLD_DEFAULT is a gnu-ism (at least according to the manpage on my linux
31422     system) so declare _GNU_SOURCE before including dlfcn.h and failing that
31423     provide our own definition.
31424
31425  src/cairo-quartz-surface.c |    5 +++++
31426  1 file changed, 5 insertions(+)
31427
31428 commit ff1f5de5511ba0b7842b53223c26986e4bcdc38a
31429 Author: Chris Wilson <chris@chris-wilson.co.uk>
31430 Date:   Sat Jan 3 11:44:58 2009 +0000
31431
31432     [boilerplate] Suppress xlib warnings on stderr
31433     
31434     If we cannot test the xlib backend simply because there is no Display,
31435     just report UNTESTED and do not clutter the output with superfluous
31436     warnings [see the output from the buildbots for an example]. However,
31437     keep the warnings around so that a developer can re-enable them
31438     and so simply move them to a new "lower priority" macro.
31439
31440  boilerplate/cairo-boilerplate-xlib.c |   18 +++++++++---------
31441  boilerplate/cairo-boilerplate.h      |    4 ++++
31442  2 files changed, 13 insertions(+), 9 deletions(-)
31443
31444 commit 75538962c8af11b1ec669caca6259b7769b5cc1d
31445 Author: Chris Wilson <chris@chris-wilson.co.uk>
31446 Date:   Fri Jan 2 17:45:26 2009 +0000
31447
31448     [boilerplate] Check the return of pclose()
31449     
31450     pclose() returns the child exit status, so we can use that to detect
31451     errors in the convertor process.
31452
31453  boilerplate/cairo-boilerplate.c |   11 +++++++++--
31454  1 file changed, 9 insertions(+), 2 deletions(-)
31455
31456 commit 333158ec85cf3c610cc8965fc3f99d72b534cc2e
31457 Author: Chris Wilson <chris@chris-wilson.co.uk>
31458 Date:   Fri Jan 2 15:36:39 2009 +0000
31459
31460     [configure] Replace awk comparator with an aclocal version
31461     
31462     As reported in https://bugs.freedesktop.org/show_bug.cgi?id=19283, the
31463     fallback freetype version compare is broken inside the configure script as
31464     the $1-$3 arguments are interpreted as the script is constructed. To avoid
31465     making that awk comparison any more complicated, we import a version compare
31466     from the autoconf archives - such that we have a reusable macro for the
31467     furture.
31468
31469  build/aclocal.compare.m4 |  162 ++++++++++++++++++++++++++++++++++++++++++++++
31470  configure.ac             |   18 ++----
31471  2 files changed, 168 insertions(+), 12 deletions(-)
31472
31473 commit dc33ae24619f4602c23716e9e407f8dd4f1b4a1d
31474 Author: Chris Wilson <chris@chris-wilson.co.uk>
31475 Date:   Fri Jan 2 14:29:53 2009 +0000
31476
31477     [boilerplate] Use pclose() after popen
31478     
31479     Joonas pointed out that we should be using pclose() on a stream returned
31480     by popen().
31481
31482  boilerplate/cairo-boilerplate.c |    2 +-
31483  1 file changed, 1 insertion(+), 1 deletion(-)
31484
31485 commit f230ce7658910c7f4f8feb722b77a2141824f963
31486 Author: Chris Wilson <chris@chris-wilson.co.uk>
31487 Date:   Fri Jan 2 14:03:35 2009 +0000
31488
31489     [path] Fix typo in bounds for empty path.
31490     
31491     We set the width to be zero, twice, and the height not even once!
31492
31493  src/cairo-path-bounds.c |    6 +++---
31494  1 file changed, 3 insertions(+), 3 deletions(-)
31495
31496 commit 163c326c82a45c1f3ee84bbfaee2cc2e6dc1fafc
31497 Author: Chris Wilson <chris@chris-wilson.co.uk>
31498 Date:   Fri Jan 2 13:46:16 2009 +0000
31499
31500     [test] Free test name
31501     
31502     Adding the missing free for the converted test name.
31503
31504  test/cairo-test.c |    3 +++
31505  1 file changed, 3 insertions(+)
31506
31507 commit dd65be740c475daf75c602fc79ff25977674d9cf
31508 Author: Chris Wilson <chris@chris-wilson.co.uk>
31509 Date:   Fri Jan 2 13:42:53 2009 +0000
31510
31511     [test/pdf-mime-data] Free data on error paths.
31512     
31513     Cleanup the allocated buffers on error.
31514
31515  test/pdf-mime-data.c |    4 ++++
31516  1 file changed, 4 insertions(+)
31517
31518 commit 65f9760d661a0eb2edf9e53fb1b74666ce0ba3b9
31519 Author: Chris Wilson <chris@chris-wilson.co.uk>
31520 Date:   Fri Jan 2 13:43:33 2009 +0000
31521
31522     [toy-font-face] Return defaults for error objects.
31523     
31524     Similar to the behaviour of the other objects, we return the default
31525     conditions if the object is in any error (and not just a nil object).
31526
31527  src/cairo-toy-font-face.c |   28 ++++++++++++++++++++++++----
31528  1 file changed, 24 insertions(+), 4 deletions(-)
31529
31530 commit d478d5ed5ce7c19a02e11435bcf69e867c6705d9
31531 Author: Behdad Esfahbod <behdad@behdad.org>
31532 Date:   Fri Jan 2 06:48:54 2009 -0500
31533
31534     [doc] Give a small hint about Twin font
31535     
31536     Though, the details are not documented yet.  I'm not sure how much of it
31537     I do want to document.
31538
31539  src/cairo-toy-font-face.c |    2 +-
31540  src/cairo.c               |    7 +++++++
31541  2 files changed, 8 insertions(+), 1 deletion(-)
31542
31543 commit a023104400f7f08775e9e52c304f5df2bc96382d
31544 Author: Chris Wilson <chris@chris-wilson.co.uk>
31545 Date:   Fri Jan 2 10:32:39 2009 +0000
31546
31547     [trace] Adopt _cairo_dtostr
31548     
31549     In order to have locale-independent output of decimal values, we need to
31550     manually transform such numbers into strings. As this is a solved problem
31551     for cairo, we adopt _cairo_output_stream_printf() and in particular the
31552     _cairo_dtostr() routine for our own printf processing.
31553
31554  util/cairo-trace/trace.c |  920 +++++++++++++++++++++++++++-------------------
31555  1 file changed, 546 insertions(+), 374 deletions(-)
31556
31557 commit c601f308430f4d33929109fb9170b9322edca3c6
31558 Author: Chris Wilson <chris@chris-wilson.co.uk>
31559 Date:   Thu Jan 1 16:55:08 2009 +0000
31560
31561     [cairo] Early return if we attempt to set the same colour.
31562     
31563     Profiling a silly video renderer that called set-source; rectangle; fill;
31564     for each pixel, we can shave 5% off the cairo overhead by introducing an
31565     early return if we attempt to reset the current colour.
31566
31567  src/cairo.c |   30 ++++++++++++++++++++++++++++++
31568  1 file changed, 30 insertions(+)
31569
31570 commit fb3522f33a565576002595bf03e07f6c8b16a471
31571 Author: Chris Wilson <chris@chris-wilson.co.uk>
31572 Date:   Sat Dec 20 19:19:54 2008 +0000
31573
31574     [os2] Fix memory leak of surface on error path
31575     
31576     Of we fail to create the mutex, free the surface before returning the
31577     failure.
31578     
31579     Reported: http://bugs.freedesktop.org/show_bug.cgi?id=19208.
31580
31581  src/cairo-os2-surface.c |    1 +
31582  1 file changed, 1 insertion(+)
31583
31584 commit 8d23c3a6c2ab0ae168afb695e2b8c5f121ed2be3
31585 Author: Chris Wilson <chris@chris-wilson.co.uk>
31586 Date:   Sat Dec 20 19:17:28 2008 +0000
31587
31588     [quartz] Delay allocation of string until after guard.
31589     
31590     Fixes a memory leak should we bail due to the version of Quartz being
31591     insufficient.
31592     
31593     Reported: http://bugs.freedesktop.org/show_bug.cgi?id=19209.
31594
31595  src/cairo-quartz-font.c |    6 ++++--
31596  1 file changed, 4 insertions(+), 2 deletions(-)
31597
31598 commit 9c9ed8f0b5ce8bc3036dcb0bf841ffaa24797cfa
31599 Author: Chris Wilson <chris@chris-wilson.co.uk>
31600 Date:   Fri Dec 19 13:04:31 2008 +0000
31601
31602     [scaled-font] Post-process hash value.
31603     
31604     Mix the bits within the hash value to reduce clustering.
31605
31606  src/cairo-scaled-font.c |   15 +++++++++++++++
31607  1 file changed, 15 insertions(+)
31608
31609 commit 555dd6b97ec432787d83242727164d25b459cf54
31610 Author: Chris Wilson <chris@chris-wilson.co.uk>
31611 Date:   Fri Dec 19 13:02:00 2008 +0000
31612
31613     [scaled-font] Switch to a constant loop for hashing.
31614     
31615     As we only use the FNV hash for hashing matrices, expose the constant size
31616     to the compiler so that it can perform its magic.
31617
31618  src/cairo-scaled-font.c |   18 ++++++++----------
31619  1 file changed, 8 insertions(+), 10 deletions(-)
31620
31621 commit f5274f5847519208865159fa9bb254d76ba8ddac
31622 Author: Chris Wilson <chris@chris-wilson.co.uk>
31623 Date:   Fri Dec 19 16:31:28 2008 +0000
31624
31625     Iterate over hash table using foreach() in destructors.
31626     
31627     Don't use the remarkably inefficient _cairo_hash_table_random_entry() to
31628     remove all entries from the hash table!
31629
31630  src/cairo-cff-subset.c |   21 +++++++++++----------
31631  src/cairo-ft-font.c    |   47 ++++++++++++++++++++++-------------------------
31632  2 files changed, 33 insertions(+), 35 deletions(-)
31633
31634 commit 1c4ea84b24f3f7e480f9c50b5bd77ac703c36ef0
31635 Author: Chris Wilson <chris@chris-wilson.co.uk>
31636 Date:   Thu Dec 18 20:32:44 2008 +0000
31637
31638     [cairo] Early return if we attempt to set the same scaled_font
31639     
31640     If the application calls cairo_set_scaled_font() with the current
31641     scaled font, we can return early as it is a no-op.
31642
31643  src/cairo.c |    3 +++
31644  1 file changed, 3 insertions(+)
31645
31646 commit b661f3d27ba77cdf470a86f6320b1bb31d92a9f0
31647 Author: Chris Wilson <chris@chris-wilson.co.uk>
31648 Date:   Thu Dec 18 18:34:16 2008 +0000
31649
31650     [cairo] Embed a second gstate.
31651     
31652     Experiment with embedding a second gstate into the initial context to
31653     reduce allocations.
31654
31655  src/cairo-private.h |    2 +-
31656  src/cairo.c         |   12 ++++++------
31657  2 files changed, 7 insertions(+), 7 deletions(-)
31658
31659 commit 8abd21bd3afc143501f66fdcdc0c6c4139df490b
31660 Author: Chris Wilson <chris@chris-wilson.co.uk>
31661 Date:   Tue Dec 23 15:09:15 2008 +0000
31662
31663     [script] Call the context creation hook
31664     
31665     Hook in the creation hook so applications can record or even modify the
31666     contexts used in replay.
31667
31668  util/cairo-script/cairo-script-operators.c |    7 ++++++-
31669  1 file changed, 6 insertions(+), 1 deletion(-)
31670
31671 commit 2c9323d3942cbf93b100f711000f48a3eb869271
31672 Author: Chris Wilson <chris@chris-wilson.co.uk>
31673 Date:   Fri Dec 19 14:11:37 2008 +0000
31674
31675     [script] more targets
31676
31677  util/cairo-script/csi-replay.c |  101 ++++++++++++++++++++++++++++++++++------
31678  1 file changed, 88 insertions(+), 13 deletions(-)
31679
31680 commit fd96cea4fefeeee8bcccde663faa559151e2606e
31681 Author: Chris Wilson <chris@chris-wilson.co.uk>
31682 Date:   Fri Dec 19 12:54:53 2008 +0000
31683
31684     [script] Improve array construction.
31685     
31686     Limit the memory allocation to the initial array size and perform a direct
31687     copy from the operand stack to the array.
31688
31689  util/cairo-script/cairo-script-objects.c   |   27 ++++++++++++-----
31690  util/cairo-script/cairo-script-operators.c |   45 +++++++++++-----------------
31691  util/cairo-script/cairo-script-private.h   |    1 +
31692  util/cairo-script/cairo-script-scanner.c   |    2 +-
31693  util/cairo-script/cairo-script-stack.c     |    2 +-
31694  5 files changed, 41 insertions(+), 36 deletions(-)
31695
31696 commit ecb8dce27c769158fe4a92432a90b24a96f8afa9
31697 Author: Chris Wilson <chris@chris-wilson.co.uk>
31698 Date:   Thu Dec 18 18:32:44 2008 +0000
31699
31700     [script] Recreate surface content.
31701     
31702     Use the content recorded in the trace, defaulting to COLOR_ALPHA, to
31703     determine the replayed surface type.
31704
31705  util/cairo-script/cairo-script-interpreter.h |    1 +
31706  util/cairo-script/cairo-script-operators.c   |    8 ++-
31707  util/cairo-script/csi-exec.c                 |    1 +
31708  util/cairo-script/csi-replay.c               |   80 +++++++++++++++++++-------
31709  util/cairo-trace/trace.c                     |    8 ++-
31710  5 files changed, 74 insertions(+), 24 deletions(-)
31711
31712 commit d21529b9ef31228182d2f61bb4f7beb6319b10c4
31713 Author: Chris Wilson <chris@chris-wilson.co.uk>
31714 Date:   Sat Dec 20 15:38:13 2008 +0000
31715
31716     [trace] Correct escaped characters in string literal.
31717     
31718     Laziness caused the control character to be used instead of its
31719     replacement in the escaped string!
31720
31721  util/cairo-trace/trace.c |   13 ++++++++++++-
31722  1 file changed, 12 insertions(+), 1 deletion(-)
31723
31724 commit ca39c4bf7f90646b70b2bbe9e7318fcfae99e35e
31725 Author: Chris Wilson <chris@chris-wilson.co.uk>
31726 Date:   Sat Dec 20 15:35:40 2008 +0000
31727
31728     [trace] Correct a couple of typos.
31729     
31730     A couple of minor typos in the escaped characters strings.
31731
31732  util/cairo-trace/trace.c |    4 ++--
31733  1 file changed, 2 insertions(+), 2 deletions(-)
31734
31735 commit 1f2fec7388092c8fea87651f9094ca2e0be2104b
31736 Author: Chris Wilson <chris@chris-wilson.co.uk>
31737 Date:   Fri Dec 19 18:04:03 2008 +0000
31738
31739     [trace] Fix OBO in emit_glyphs()
31740     
31741     The largest index that will fit within 8 bits is 255 not 256!
31742
31743  util/cairo-trace/trace.c |    2 +-
31744  1 file changed, 1 insertion(+), 1 deletion(-)
31745
31746 commit 7ebe9e68371e4e77139d9abeb7feb390203b1c8e
31747 Author: Chris Wilson <chris@chris-wilson.co.uk>
31748 Date:   Thu Dec 18 21:59:16 2008 +0000
31749
31750     [trace] Minor tidy.
31751     
31752     Improve scoping of variables.
31753
31754  util/cairo-trace/trace.c |    8 ++++----
31755  1 file changed, 4 insertions(+), 4 deletions(-)
31756
31757 commit 931556005a1946c5e730afc7977551a2bc5be42c
31758 Author: Chris Wilson <chris@chris-wilson.co.uk>
31759 Date:   Thu Dec 18 21:57:19 2008 +0000
31760
31761     [trace] Remove the forced switching to C locale
31762     
31763     This interferes with the application being traced. It is not clear from
31764     printf(3) whether "%.f" is locale dependent or not - but until we have a
31765     failure do not break applications unnecessarily!
31766
31767  util/cairo-trace/cairo-trace.in |    4 ----
31768  1 file changed, 4 deletions(-)
31769
31770 commit d0f41b92bf9a9ee313dde6f451b26fffb65a0906
31771 Author: Chris Wilson <chris@chris-wilson.co.uk>
31772 Date:   Thu Dec 18 17:26:43 2008 +0000
31773
31774     [trace] Do not force the output filename.
31775     
31776     Handle the case of tracing an application that spawns it own graphical
31777     children but using the autonaming facility within cairo-trace. Currently
31778     the traced process tree would all attempt to write to the same file,
31779     creating a broken trace. This means sacrificing the display of the output
31780     name, but allows use for a wider range of applications.
31781
31782  util/cairo-trace/cairo-trace.in |   25 ++++++-------------------
31783  1 file changed, 6 insertions(+), 19 deletions(-)
31784
31785 commit 19e8c5c7f4a561f2454380c8f4098a832d716d28
31786 Author: Chris Wilson <chris@chris-wilson.co.uk>
31787 Date:   Sat Dec 20 19:27:33 2008 +0000
31788
31789     [test] Fix mismatched free.
31790     
31791     A couple of strings allocated using glib functions but freed with system
31792     malloc.
31793     
31794     Reported: http://bugs.freedesktop.org/show_bug.cgi?id=19210.
31795
31796  test/pdf2png.c |    4 ++--
31797  1 file changed, 2 insertions(+), 2 deletions(-)
31798
31799 commit 6662eede2af2da50bff1902e694204c69e84f036
31800 Author: Chris Wilson <chris@chris-wilson.co.uk>
31801 Date:   Sat Dec 20 19:14:23 2008 +0000
31802
31803     [perf] Fix errors reported by cppcheck
31804     
31805     Trivial mistakes, identified in bugs
31806     http://bugs.freedesktop.org/show_bug.cgi?id=19206 and
31807     http://bugs.freedesktop.org/show_bug.cgi?id=19207.
31808
31809  perf/cairo-perf-graph-files.c |    2 +-
31810  perf/cairo-perf-report.c      |    7 ++++---
31811  2 files changed, 5 insertions(+), 4 deletions(-)
31812
31813 commit 8419c4f124c6ffa75b44901dccab33df8bb6287a
31814 Author: Chris Wilson <chris@chris-wilson.co.uk>
31815 Date:   Sat Dec 20 15:34:41 2008 +0000
31816
31817     [perf] Correct another reference to '<cairo>'
31818     
31819     I think that's the last use of the old internal name for twin!
31820
31821  perf/twin.c |    2 +-
31822  1 file changed, 1 insertion(+), 1 deletion(-)
31823
31824 commit 14d94d9354170003ec15847873a273c1752cf9f2
31825 Author: Behdad Esfahbod <behdad@behdad.org>
31826 Date:   Fri Jan 2 02:56:38 2009 -0500
31827
31828     Fix various README typos
31829
31830  HACKING     |    2 +-
31831  src/README  |    4 ++--
31832  util/README |    6 ++++++
31833  3 files changed, 9 insertions(+), 3 deletions(-)
31834
31835 commit 28a72648ba7abe02ebd4df7234424e333b85dc9c
31836 Author: Behdad Esfahbod <behdad@behdad.org>
31837 Date:   Tue Dec 30 13:48:47 2008 -0500
31838
31839     [gstate] Change the glyph dropping safety margin from 2em to 10em
31840     
31841     The small margin caused bugs with math fonts.  See:
31842     https://bugzilla.mozilla.org/show_bug.cgi?id=460023
31843
31844  src/cairo-gstate.c |   10 +++++-----
31845  1 file changed, 5 insertions(+), 5 deletions(-)
31846
31847 commit fa63c43532de4a38d59d2746c34c815d18121062
31848 Author: Chris Wilson <chris@chris-wilson.co.uk>
31849 Date:   Mon Dec 29 16:11:29 2008 +0000
31850
31851     [spline] Be pedantic and propagate errors.
31852     
31853     We know that the current users will always return SUCCESS, but propagate
31854     the status return for future users.
31855
31856  src/cairo-path-bounds.c   |    6 ++----
31857  src/cairo-spline.c        |   15 +++++++++++----
31858  src/cairo-types-private.h |    2 +-
31859  src/cairoint.h            |    2 +-
31860  4 files changed, 15 insertions(+), 10 deletions(-)
31861
31862 commit 7df082dd8aaa9d31479a8bb1f6f1dfe07f52019a
31863 Author: Chris Wilson <chris@chris-wilson.co.uk>
31864 Date:   Mon Dec 29 16:06:36 2008 +0000
31865
31866     [test] Update twin reference images
31867     
31868     Subsequent to recent tweaks, update the reference images for twin.
31869
31870  test/Makefile.am               |    6 ++----
31871  test/twin.c                    |    2 +-
31872  test/twin.pdf.ref.png          |  Bin 1669 -> 0 bytes
31873  test/twin.ps.ref.png           |  Bin 0 -> 1114 bytes
31874  test/twin.ps2.ref.png          |  Bin 1095 -> 0 bytes
31875  test/twin.ps3.ref.png          |  Bin 1095 -> 0 bytes
31876  test/twin.ref.png              |  Bin 1712 -> 1492 bytes
31877  test/twin.svg.ref.png          |  Bin 0 -> 1487 bytes
31878  test/twin.svg11.argb32.ref.png |  Bin 1797 -> 0 bytes
31879  test/twin.svg11.ref.png        |  Bin 1662 -> 0 bytes
31880  test/twin.svg11.rgb24.ref.png  |  Bin 1797 -> 0 bytes
31881  test/twin.svg12.argb32.ref.png |  Bin 1797 -> 0 bytes
31882  test/twin.svg12.ref.png        |  Bin 1662 -> 0 bytes
31883  test/twin.svg12.rgb24.ref.png  |  Bin 1797 -> 0 bytes
31884  14 files changed, 3 insertions(+), 5 deletions(-)
31885
31886 commit e10af38799eb77f1a7b5f75e76c733353c7b8622
31887 Author: Chris Wilson <chris@chris-wilson.co.uk>
31888 Date:   Mon Dec 29 12:54:13 2008 +0000
31889
31890     make "make check" happy again
31891     
31892     Add the missing scoping that caused check-plt to complain.
31893
31894  src/cairo-font-face-twin.c |    6 ++++--
31895  src/cairo-scaled-font.c    |    2 ++
31896  src/cairo.c                |    4 ++++
31897  src/cairoint.h             |    8 +++++++-
31898  4 files changed, 17 insertions(+), 3 deletions(-)
31899
31900 commit 010085622674bd02098742f401409da8e7c1b1dc
31901 Author: Chris Wilson <chris@chris-wilson.co.uk>
31902 Date:   Mon Dec 29 12:45:13 2008 +0000
31903
31904     [path] Remove tolerance from path bounders
31905     
31906     With Behdad's analytical analysis of the spline bbox, tolerance is now
31907     redundant for the path extents and the approximate bounds, so remove it
31908     from the functions parameters.
31909
31910  src/cairo-analysis-surface.c |    3 +--
31911  src/cairo-gstate.c           |    3 +--
31912  src/cairo-path-bounds.c      |   18 ++++++------------
31913  src/cairo-surface-fallback.c |    1 -
31914  src/cairoint.h               |    5 +----
31915  5 files changed, 9 insertions(+), 21 deletions(-)
31916
31917 commit 84b81388bef4a2f300580081415fe09947edb96e
31918 Author: Chris Wilson <chris@chris-wilson.co.uk>
31919 Date:   Mon Dec 29 12:16:53 2008 +0000
31920
31921     [test] Draw spline bbox
31922     
31923     Add the stroked extents to the spline-decomposition test.
31924
31925  test/Makefile.am                        |    6 +--
31926  test/spline-decomposition.c             |   63 +++++++++++++++++++++++++++++++
31927  test/spline-decomposition.pdf.ref.png   |  Bin 20404 -> 19156 bytes
31928  test/spline-decomposition.ps.ref.png    |  Bin 0 -> 9090 bytes
31929  test/spline-decomposition.ps2.ref.png   |  Bin 8957 -> 0 bytes
31930  test/spline-decomposition.ps3.ref.png   |  Bin 8957 -> 0 bytes
31931  test/spline-decomposition.ref.png       |  Bin 20402 -> 19107 bytes
31932  test/spline-decomposition.svg.ref.png   |  Bin 0 -> 19156 bytes
31933  test/spline-decomposition.svg11.ref.png |  Bin 20404 -> 0 bytes
31934  test/spline-decomposition.svg12.ref.png |  Bin 20404 -> 0 bytes
31935  10 files changed, 65 insertions(+), 4 deletions(-)
31936
31937 commit efb17160904eda8fdb21fa1fd10a09081cf5cb3e
31938 Author: Behdad Esfahbod <behdad@behdad.org>
31939 Date:   Sun Dec 28 16:06:27 2008 -0500
31940
31941     [_cairo_spline_bound] Protect against b == 0
31942
31943  src/cairo-spline.c |    8 +++++---
31944  1 file changed, 5 insertions(+), 3 deletions(-)
31945
31946 commit 0b59e29004bb19eb9bd458bbe6a48a7c367f72d0
31947 Author: Behdad Esfahbod <behdad@behdad.org>
31948 Date:   Sun Dec 28 02:49:39 2008 -0500
31949
31950     [_cairo_spline_bound] Simplify condition
31951
31952  src/cairo-spline.c |   14 +++++++++-----
31953  1 file changed, 9 insertions(+), 5 deletions(-)
31954
31955 commit 3bf1b7d574620b1ab3c1fa50977a23d36ab04a40
31956 Author: Behdad Esfahbod <behdad@behdad.org>
31957 Date:   Sun Dec 28 02:41:39 2008 -0500
31958
31959     [_cairo_spline_bound] Fix the check for feasible solutions
31960     
31961     Also make it more strict.  The only times we call sqrt now is
31962     when a solution in (0,1) exists.
31963
31964  src/cairo-spline.c |    9 ++++++---
31965  1 file changed, 6 insertions(+), 3 deletions(-)
31966
31967 commit 7f840d156c1212eeb0fddad4b4a6844a9c070bd5
31968 Author: Behdad Esfahbod <behdad@behdad.org>
31969 Date:   Sun Dec 28 02:02:30 2008 -0500
31970
31971     [spline] Save a couple more muls
31972
31973  src/cairo-spline.c |   26 +++++++++++++-------------
31974  1 file changed, 13 insertions(+), 13 deletions(-)
31975
31976 commit 3292f9906b3637564c37863dde5d214b0fee2885
31977 Author: Behdad Esfahbod <behdad@behdad.org>
31978 Date:   Sun Dec 28 01:59:12 2008 -0500
31979
31980     [spline] Do some checks to avoid calling sqrt() if no feasible solution exists
31981
31982  src/cairo-spline.c |   27 ++++++++++++++++++++-------
31983  1 file changed, 20 insertions(+), 7 deletions(-)
31984
31985 commit efe4d2ce99e65f9841951d3ff3e0536973bfb12c
31986 Author: Behdad Esfahbod <behdad@behdad.org>
31987 Date:   Sun Dec 28 01:22:40 2008 -0500
31988
31989     [spline] Simplify code
31990
31991  src/cairo-spline.c |   19 +++++++++----------
31992  1 file changed, 9 insertions(+), 10 deletions(-)
31993
31994 commit 8672178bf6c7f3a38e11e224f1d484b1f0c7fd7b
31995 Author: Behdad Esfahbod <behdad@behdad.org>
31996 Date:   Sun Dec 28 01:20:37 2008 -0500
31997
31998     [spline] Remove duplicated code by using a macro
31999
32000  src/cairo-spline.c |   50 +++++++++++++++++++++-----------------------------
32001  1 file changed, 21 insertions(+), 29 deletions(-)
32002
32003 commit ef0f6c3ca311c41c9062e1298b020eae1212984e
32004 Author: Behdad Esfahbod <behdad@behdad.org>
32005 Date:   Sat Dec 27 23:13:45 2008 -0500
32006
32007     [spline] Add an analytical bounder for splines
32008     
32009     The way this works is very simple:  Once for X, and once for Y, it
32010     takes the derivative of the bezier equation, equals it to zero and
32011     solves to find the extreme points, and if the extreme points are
32012     interesting, adds them to the bounder.
32013     
32014     Not the fastest algorithm out there, but my estimate is that if
32015     _de_casteljau() ends up breaking a stroke in at least 10 pieces,
32016     then the new bounder is faster.  Would be good to see some real
32017     perf data.
32018
32019  src/cairo-path-bounds.c |   18 ++-----
32020  src/cairo-spline.c      |  131 +++++++++++++++++++++++++++++++++++++++++++++++
32021  src/cairoint.h          |    6 +++
32022  3 files changed, 141 insertions(+), 14 deletions(-)
32023
32024 commit f2f62c7c4402a28a65c8171238d163af6b2fb95a
32025 Author: Behdad Esfahbod <behdad@behdad.org>
32026 Date:   Fri Dec 26 20:28:54 2008 -0500
32027
32028     [twin] Micro-optimize
32029
32030  src/cairo-font-face-twin.c |    2 +-
32031  1 file changed, 1 insertion(+), 1 deletion(-)
32032
32033 commit 50bc2bc0170be2a9c84ae3064525b18190e22b48
32034 Author: Chris Wilson <chris@chris-wilson.co.uk>
32035 Date:   Sat Dec 27 11:46:24 2008 +0000
32036
32037     [path] Simply track the current point for bounds.
32038     
32039     The idea is to track always update the current point, but not add it
32040     during a move-to.
32041
32042  src/cairo-path-bounds.c |   25 +++++++++++--------------
32043  1 file changed, 11 insertions(+), 14 deletions(-)
32044
32045 commit 078ebb01ba0b99ab4973ba479fe438f0674aa102
32046 Author: Chris Wilson <chris@chris-wilson.co.uk>
32047 Date:   Sat Dec 27 11:29:15 2008 +0000
32048
32049     [path] Initialise spline from current point
32050     
32051     Joonas spotted that the breakage with the curve bounds was the result of
32052     initialising the spline using the original move to point and not the
32053     current point.
32054     
32055     Fixes: Bug 19256 Gnome Foot in gnome-games rendered incorrectly
32056     (https://bugs.freedesktop.org/show_bug.cgi?id=19256)
32057
32058  src/cairo-path-bounds.c |    4 +++-
32059  1 file changed, 3 insertions(+), 1 deletion(-)
32060
32061 commit 4320ea68875cc015dfecdf5ed40195e276efca07
32062 Author: Chris Wilson <chris@chris-wilson.co.uk>
32063 Date:   Fri Dec 26 00:01:01 2008 +0000
32064
32065     [trace] Fix up positional arguments
32066     
32067     James Cloos pointed out that the correct form to use is "$@" when
32068     executing the command line.
32069
32070  util/cairo-trace/cairo-trace.in |    6 +++---
32071  1 file changed, 3 insertions(+), 3 deletions(-)
32072
32073 commit e76a676c8f3d6dc9199cf0bc0856af0c659f4a16
32074 Author: Chris Wilson <chris@chris-wilson.co.uk>
32075 Date:   Thu Dec 25 09:51:51 2008 +0000
32076
32077     [twin] Trivial spelling correction.
32078     
32079     This ain't no decadent descendent of the Hershey font...
32080
32081  src/cairo-font-face-twin.c |    2 +-
32082  1 file changed, 1 insertion(+), 1 deletion(-)
32083
32084 commit 9332c0a8eaf266e99555df9ad7769f8b5804cbfd
32085 Author: Behdad Esfahbod <behdad@behdad.org>
32086 Date:   Fri Dec 26 16:38:04 2008 -0500
32087
32088     [util] Add waterfall
32089
32090  util/Makefile.am |    3 +-
32091  util/waterfall   |   97 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
32092  2 files changed, 99 insertions(+), 1 deletion(-)
32093
32094 commit ab1febbf22a641feb2fda4b21156b2bd45df039b
32095 Author: Behdad Esfahbod <behdad@behdad.org>
32096 Date:   Fri Dec 26 16:35:33 2008 -0500
32097
32098     [twin] Resnap margin under monospace
32099
32100  src/cairo-font-face-twin.c |   14 +++++++++++++-
32101  1 file changed, 13 insertions(+), 1 deletion(-)
32102
32103 commit 3c91d9f5a2a290653a56242eed6acae4f16e99e3
32104 Author: Behdad Esfahbod <behdad@behdad.org>
32105 Date:   Fri Dec 26 16:30:01 2008 -0500
32106
32107     [twin] Adjust margins
32108
32109  src/cairo-font-face-twin.c |  114 +++++++++++++++++++++++++++-----------------
32110  1 file changed, 70 insertions(+), 44 deletions(-)
32111
32112 commit 0b5c60bae1fb0924bbd43daab38932052e10b3be
32113 Author: Behdad Esfahbod <behdad@behdad.org>
32114 Date:   Fri Dec 26 15:48:46 2008 -0500
32115
32116     [twin] Clean up hinting
32117
32118  src/cairo-font-face-twin.c |   89 +++++++++++++++++++++-----------------------
32119  1 file changed, 42 insertions(+), 47 deletions(-)
32120
32121 commit 6e7a2c4ce32ddfb0e58a74fcba8c4e46e46d32a4
32122 Author: Behdad Esfahbod <behdad@behdad.org>
32123 Date:   Fri Dec 26 15:34:50 2008 -0500
32124
32125     [twin] Fix monospace for narrow glyphs
32126
32127  src/cairo-font-face-twin.c |   23 ++++++++++++++---------
32128  1 file changed, 14 insertions(+), 9 deletions(-)
32129
32130 commit e8e6ae1294f11addcbc8a95db471bb48a50b0b1a
32131 Author: Behdad Esfahbod <behdad@behdad.org>
32132 Date:   Fri Dec 26 15:15:15 2008 -0500
32133
32134     [twin] Cache pen and other properties on the scaled font
32135
32136  src/cairo-font-face-twin.c |  170 ++++++++++++++++++++++++++------------------
32137  1 file changed, 101 insertions(+), 69 deletions(-)
32138
32139 commit e133cc14469e8ebb8311bf8db206147f6b07786d
32140 Author: Behdad Esfahbod <behdad@behdad.org>
32141 Date:   Fri Dec 26 14:56:32 2008 -0500
32142
32143     [twin] Don't stretch pen
32144
32145  src/cairo-font-face-twin.c |   11 +++++------
32146  1 file changed, 5 insertions(+), 6 deletions(-)
32147
32148 commit dec4d791f4cc626d1fa52d68518f787210240812
32149 Author: Behdad Esfahbod <behdad@behdad.org>
32150 Date:   Fri Dec 26 14:24:08 2008 -0500
32151
32152     [twin] Minor shuffling
32153
32154  src/cairo-font-face-twin.c |  142 +++++++++++++++++++++++++-------------------
32155  1 file changed, 81 insertions(+), 61 deletions(-)
32156
32157 commit c3de08ee2fcfb0e092f0299e249b0f5fe56b87bf
32158 Author: Behdad Esfahbod <behdad@behdad.org>
32159 Date:   Fri Dec 26 14:11:52 2008 -0500
32160
32161     [twin] Further reduce weight
32162
32163  src/cairo-font-face-twin.c |    2 +-
32164  1 file changed, 1 insertion(+), 1 deletion(-)
32165
32166 commit 5c201ef5cfdfdd4e19db7e0995b85fbb3f2e6090
32167 Author: Behdad Esfahbod <behdad@behdad.org>
32168 Date:   Fri Dec 26 00:05:19 2008 -0500
32169
32170     [scaled-font] Make cairo_debug_reset_static_data() work again
32171     
32172     I broke it in a5983929f8f07f384f78e0b604e22037cf5ed716
32173
32174  src/cairo-debug.c       |    2 ++
32175  src/cairo-scaled-font.c |    4 +---
32176  src/cairoint.h          |    3 +++
32177  3 files changed, 6 insertions(+), 3 deletions(-)
32178
32179 commit 730ed68ec1ac10dcb9c7c69759f72fcaa3ea82e5
32180 Author: Behdad Esfahbod <behdad@behdad.org>
32181 Date:   Thu Dec 25 23:29:02 2008 -0500
32182
32183     [pattern] Fix comment typo
32184
32185  src/cairo-pattern.c |    2 +-
32186  1 file changed, 1 insertion(+), 1 deletion(-)
32187
32188 commit a5f4a97aa4122d8c4b8f31053d421a52c356e270
32189 Author: Behdad Esfahbod <behdad@behdad.org>
32190 Date:   Thu Dec 25 02:48:26 2008 -0500
32191
32192     [twin] Don't hint pen if hint-style is SLIGHT
32193
32194  src/cairo-font-face-twin.c |    4 ++--
32195  1 file changed, 2 insertions(+), 2 deletions(-)
32196
32197 commit 0c7eaf6e0a2c2f0db634f8120fcbc03f7e8fd751
32198 Author: Behdad Esfahbod <behdad@behdad.org>
32199 Date:   Thu Dec 25 02:44:19 2008 -0500
32200
32201     [twin] Improve glyph hints
32202
32203  src/cairo-font-face-twin-data.c |  202 ++++++++++++++++++++++-----------------
32204  1 file changed, 116 insertions(+), 86 deletions(-)
32205
32206 commit e6205ea5a38c9de4c08b313a1beb70d4a38b0676
32207 Author: Behdad Esfahbod <behdad@behdad.org>
32208 Date:   Thu Dec 25 02:10:16 2008 -0500
32209
32210     [twin] Improve hinting
32211
32212  src/cairo-font-face-twin.c |   90 ++++++++++++++++++--------------------------
32213  1 file changed, 36 insertions(+), 54 deletions(-)
32214
32215 commit da8658b67510daaefd542b80e6a997bbdfd82d44
32216 Author: Behdad Esfahbod <behdad@behdad.org>
32217 Date:   Thu Dec 25 01:35:36 2008 -0500
32218
32219     [twin] Hint dots
32220
32221  src/cairo-font-face-twin-data.c |   24 ++++++++++++------------
32222  1 file changed, 12 insertions(+), 12 deletions(-)
32223
32224 commit f4c81e18f85c6a68d682301abfd75e7c208c1e1a
32225 Author: Behdad Esfahbod <behdad@behdad.org>
32226 Date:   Thu Dec 25 01:29:41 2008 -0500
32227
32228     [twin] Disable pen hinting if hinting is off
32229
32230  src/cairo-font-face-twin.c |   27 +++++++++++++++++++--------
32231  1 file changed, 19 insertions(+), 8 deletions(-)
32232
32233 commit af91fc1974ce2dfbaab187e22769cdfb9e6279d9
32234 Author: Behdad Esfahbod <behdad@behdad.org>
32235 Date:   Thu Dec 25 01:24:46 2008 -0500
32236
32237     [twin] Optimize hinting
32238
32239  src/cairo-font-face-twin.c |    7 +------
32240  1 file changed, 1 insertion(+), 6 deletions(-)
32241
32242 commit 439959d1af1f6c4ce174a3fee524eacfc18a00bd
32243 Author: Behdad Esfahbod <behdad@behdad.org>
32244 Date:   Thu Dec 25 01:06:47 2008 -0500
32245
32246     [twin] Implement hinting
32247
32248  src/cairo-font-face-twin.c |  148 ++++++++++++++++++++++++++++++++++++++------
32249  1 file changed, 129 insertions(+), 19 deletions(-)
32250
32251 commit 9f9f5317dca6a9988a0a62aaa60393570157af63
32252 Author: Behdad Esfahbod <behdad@behdad.org>
32253 Date:   Wed Dec 24 22:29:59 2008 -0500
32254
32255     [util] Fix pangram
32256
32257  util/cairo-view |    2 +-
32258  1 file changed, 1 insertion(+), 1 deletion(-)
32259
32260 commit 8296bc74c8687a2f52e06174e9dc70d32d1181c8
32261 Author: Behdad Esfahbod <behdad@behdad.org>
32262 Date:   Wed Dec 24 18:00:04 2008 -0500
32263
32264     [twin] Reduce the weight just a bit, such that bold doesn't look as bad
32265
32266  src/cairo-font-face-twin.c |    2 +-
32267  1 file changed, 1 insertion(+), 1 deletion(-)
32268
32269 commit b2f89625453e2a15da175ea5b4ca5af6c2201d96
32270 Author: Behdad Esfahbod <behdad@behdad.org>
32271 Date:   Wed Dec 24 17:29:21 2008 -0500
32272
32273     [twin] Adjust baseline
32274
32275  src/cairo-font-face-twin.c |   11 ++++-------
32276  1 file changed, 4 insertions(+), 7 deletions(-)
32277
32278 commit f980d017d2360634f391eb1129317446bfe42cc9
32279 Author: Behdad Esfahbod <behdad@behdad.org>
32280 Date:   Wed Dec 24 17:00:43 2008 -0500
32281
32282     [twin] Remove serif setting
32283     
32284     I don't think I'm going to implement serif-drawing soon, so, remove the
32285     infrastructure.  Can always be added back later.
32286
32287  src/cairo-font-face-twin.c |   21 ++-------------------
32288  1 file changed, 2 insertions(+), 19 deletions(-)
32289
32290 commit 1116febb40cb5e5f7eafe97999d1143347819b3f
32291 Author: Behdad Esfahbod <behdad@behdad.org>
32292 Date:   Wed Dec 24 16:32:25 2008 -0500
32293
32294     [twin] Implement small-caps
32295
32296  src/cairo-font-face-twin.c |   27 ++++++++++++++++-----------
32297  1 file changed, 16 insertions(+), 11 deletions(-)
32298
32299 commit 6767673961401c7ab7b92eb8dfbb345efb560741
32300 Author: Behdad Esfahbod <behdad@behdad.org>
32301 Date:   Wed Dec 24 16:13:12 2008 -0500
32302
32303     [twin] Implement stretch
32304
32305  src/cairo-font-face-twin.c |   27 +++++++++++++++++++++------
32306  1 file changed, 21 insertions(+), 6 deletions(-)
32307
32308 commit 0656e947f11356877014df93bd083123c7313dc3
32309 Author: Behdad Esfahbod <behdad@behdad.org>
32310 Date:   Wed Dec 24 15:43:17 2008 -0500
32311
32312     [twin] Implement slant
32313
32314  src/cairo-font-face-twin.c |   11 +++++++++--
32315  1 file changed, 9 insertions(+), 2 deletions(-)
32316
32317 commit 9d493fcd16fb770f21fa732b08834f3a435fe1f2
32318 Author: Behdad Esfahbod <behdad@behdad.org>
32319 Date:   Wed Dec 24 15:36:57 2008 -0500
32320
32321     [twin] Disable the serif mode
32322
32323  src/cairo-font-face-twin.c |    8 ++++----
32324  1 file changed, 4 insertions(+), 4 deletions(-)
32325
32326 commit 6c1d21bf8947f5b11702626ddfd9bac18073188d
32327 Author: Behdad Esfahbod <behdad@behdad.org>
32328 Date:   Wed Dec 24 03:47:21 2008 -0500
32329
32330     [twin] Implement monospace
32331
32332  src/cairo-font-face-twin.c |   30 +++++++++++++++++++++++-------
32333  1 file changed, 23 insertions(+), 7 deletions(-)
32334
32335 commit 5def8c587b2b897bfebc6d77a6a3e13355cae2f2
32336 Author: Behdad Esfahbod <behdad@behdad.org>
32337 Date:   Wed Dec 24 03:45:06 2008 -0500
32338
32339     [twin] Fix dots
32340
32341  src/cairo-font-face-twin-data.c |   54 ++++++++++++++++++++++++---------------
32342  1 file changed, 33 insertions(+), 21 deletions(-)
32343
32344 commit a303bbaea332df20b81f068366d701d66913c043
32345 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
32346 Date:   Tue Dec 23 16:12:56 2008 -0500
32347
32348     [font-face-get-type] Fix test to cleanup the surface and context properly
32349     
32350     Destroy the context and the surface even when the test fails.
32351     
32352     I ran into this because cairo_debug_reset_static_data() is called between the
32353     tests on the quartz backend (it doesn't fork) and isn't on other backends? This
32354     is perhaps a mistake...
32355
32356  test/font-face-get-type.c |   10 +++++++---
32357  1 file changed, 7 insertions(+), 3 deletions(-)
32358
32359 commit 52cc31a7fa6570e538762631359a92e7b717710e
32360 Author: Behdad Esfahbod <behdad@behdad.org>
32361 Date:   Tue Dec 23 13:48:52 2008 -0500
32362
32363     [util] Add cairo-view
32364
32365  util/Makefile.am |    3 +-
32366  util/cairo-view  |  113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
32367  2 files changed, 115 insertions(+), 1 deletion(-)
32368
32369 commit 418c7ef133840c10eb0be7e75c7dd11533fbe897
32370 Author: Behdad Esfahbod <behdad@behdad.org>
32371 Date:   Tue Dec 23 02:39:17 2008 -0500
32372
32373     [twin] Adjust font extents
32374
32375  src/cairo-font-face-twin.c |    8 ++++----
32376  1 file changed, 4 insertions(+), 4 deletions(-)
32377
32378 commit 96e41c28e980f313c51a0eed81681e7e48752797
32379 Author: Behdad Esfahbod <behdad@behdad.org>
32380 Date:   Sat Dec 20 23:30:59 2008 -0500
32381
32382     [twin] Minor cleanup
32383
32384  src/cairo-font-face-twin.c |   11 +++++++----
32385  1 file changed, 7 insertions(+), 4 deletions(-)
32386
32387 commit 556f6ce364d81f9309162d21deb86a3d5b8b9a6e
32388 Author: Behdad Esfahbod <behdad@behdad.org>
32389 Date:   Sat Dec 20 23:16:53 2008 -0500
32390
32391     [twin] close_path the Q
32392
32393  src/cairo-font-face-twin-data.c |    2 +-
32394  1 file changed, 1 insertion(+), 1 deletion(-)
32395
32396 commit 6929ed800d19f359af7436636e8adc6203083a10
32397 Author: Behdad Esfahbod <behdad@behdad.org>
32398 Date:   Sat Dec 20 20:25:01 2008 -0500
32399
32400     [twin] Fix serif option parsing.  Also make serif and weight do something
32401
32402  src/cairo-font-face-twin.c |   20 ++++++++++++++++----
32403  1 file changed, 16 insertions(+), 4 deletions(-)
32404
32405 commit d423339fcef3c41225196c4371fb2c133ca61144
32406 Author: Behdad Esfahbod <behdad@behdad.org>
32407 Date:   Sat Dec 20 19:39:58 2008 -0500
32408
32409     [twin] Add face properties
32410     
32411     Just parse them now.  We don't use them yet.
32412
32413  src/cairo-font-face-twin.c |  191 ++++++++++++++++++++++++++++++++++++++++++--
32414  src/cairo-user-font.c      |    4 +-
32415  src/cairoint.h             |    6 +-
32416  3 files changed, 189 insertions(+), 12 deletions(-)
32417
32418 commit 93672d842f2b2c840bb9e73901faa4ce5df9c792
32419 Author: Chris Wilson <chris@chris-wilson.co.uk>
32420 Date:   Tue Dec 23 15:00:47 2008 +0000
32421
32422     [test] Fix reference handling in user-font-rescale
32423     
32424     user-font-rescale stored the current font on the context in order to
32425     create a rescaling proxy font. As we failed to take a reference to the
32426     font, it caught us by surprise when the font disappeared as we modified
32427     the context before creating our proxy. Ho hum.
32428
32429  test/user-font-rescale.c |    4 +++-
32430  1 file changed, 3 insertions(+), 1 deletion(-)
32431
32432 commit 5ad65dc4be5964265946de59a951f2304d64159e
32433 Author: Adrian Johnson <ajohnson@redneon.com>
32434 Date:   Tue Dec 23 14:56:48 2008 +1030
32435
32436     Document PDF restrict_to_version API
32437
32438  doc/public/cairo-sections.txt  |    4 ++++
32439  doc/public/tmpl/cairo-pdf.sgml |   35 +++++++++++++++++++++++++++++++++++
32440  src/cairo-pdf.h                |    2 ++
32441  3 files changed, 41 insertions(+)
32442
32443 commit 1869e0240bcc93c93e8abd1c8f930cf08ca8ee24
32444 Author: Adrian Johnson <ajohnson@redneon.com>
32445 Date:   Tue Dec 23 14:37:30 2008 +1030
32446
32447     Document cairo_surface_(set|get)_mime_data() and mime types
32448
32449  doc/public/cairo-sections.txt      |    5 ++++
32450  doc/public/tmpl/cairo-surface.sgml |   50 ++++++++++++++++++++++++++++++++++--
32451  2 files changed, 53 insertions(+), 2 deletions(-)
32452
32453 commit 1f894033f077731485e1228f7e071e75c37a9947
32454 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
32455 Date:   Tue Dec 23 03:14:38 2008 +0200
32456
32457     [spans] Close open subpaths when filling with a scan converter.
32458     
32459     As reported by Christian Persch, open subpaths weren't being
32460     closed when rendering to an image surface:
32461     
32462     http://bugs.freedesktop.org/show_bug.cgi?id=19240
32463
32464  src/cairo-spans.c |   53 +++++++++++++++++++++++++++++++----------------------
32465  1 file changed, 31 insertions(+), 22 deletions(-)
32466
32467 commit 0aa34c6435eaa260292cf10d270ebbf3314c7924
32468 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
32469 Date:   Tue Dec 23 02:18:14 2008 +0200
32470
32471     [svg] Fix build when building only the svg vector surface.
32472     
32473     The SVG vector surface pulls in font subsetting and that in turns
32474     uses the PDF operators in cairo-type3-glyph-surface.c.
32475
32476  src/cairoint.h |    2 +-
32477  1 file changed, 1 insertion(+), 1 deletion(-)
32478
32479 commit 38ec6e302cdd703447f169d95121d434c7495501
32480 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
32481 Date:   Tue Dec 23 02:05:32 2008 +0200
32482
32483     [test] Fix any2ppm build when building without the full complement of surfaces.
32484     
32485     It was complaining about g_init_type () being used without the proper includes
32486     which would have been pulled in by the svg or poppler includes.
32487
32488  test/any2ppm.c |    2 ++
32489  1 file changed, 2 insertions(+)
32490
32491 commit 6ce97907edfa8a7b09abfc090a9c03d235de2ada
32492 Author: Adrian Johnson <ajohnson@redneon.com>
32493 Date:   Mon Dec 22 11:09:27 2008 +1030
32494
32495     win32-font: truncate instead of fail if toy font name too long
32496     
32497     http://lists.cairographics.org/archives/cairo/2008-December/016109.html
32498
32499  src/cairo-win32-font.c |    9 ++++-----
32500  1 file changed, 4 insertions(+), 5 deletions(-)
32501
32502 commit d99583bae680fea852e957afdf674e2031aa7928
32503 Author: Adrian Johnson <ajohnson@redneon.com>
32504 Date:   Sun Dec 21 17:03:17 2008 +1030
32505
32506     Fix win32 font breakage
32507     
32508     as a result of the toy font face changes in f7ab65e9b0c0f08be8d294e90131baa2decf1f1d
32509
32510  src/cairo-win32-font.c |    6 ++----
32511  1 file changed, 2 insertions(+), 4 deletions(-)
32512
32513 commit a5983929f8f07f384f78e0b604e22037cf5ed716
32514 Author: Behdad Esfahbod <behdad@behdad.org>
32515 Date:   Sat Dec 20 01:18:12 2008 -0500
32516
32517     [toy-font-face] Move toy font face code in a file of its own
32518
32519  src/Makefile.sources           |    1 +
32520  src/cairo-debug.c              |    2 +-
32521  src/cairo-font-face.c          |  449 ------------------------------------
32522  src/cairo-mutex-list-private.h |    2 +-
32523  src/cairo-os2-surface.c        |    9 +-
32524  src/cairo-scaled-font.c        |    4 +-
32525  src/cairo-toy-font-face.c      |  489 ++++++++++++++++++++++++++++++++++++++++
32526  src/cairoint.h                 |    5 +-
32527  8 files changed, 497 insertions(+), 464 deletions(-)
32528
32529 commit 8bf49b27aeea8179b5862a424fb3ef1934be6e0e
32530 Author: Behdad Esfahbod <behdad@behdad.org>
32531 Date:   Fri Dec 19 20:46:36 2008 -0500
32532
32533     [font-face] Use cairo_font_face_t instead of toy, for nil objects
32534     
32535     And with a NULL backend.  We are not supposed to read the nil objects
32536     afterall.
32537     
32538     If this causes crashes, the crash site should be fixed.
32539
32540  src/cairo-font-face.c |   55 +++++++++----------------------------------------
32541  src/cairoint.h        |    2 +-
32542  2 files changed, 11 insertions(+), 46 deletions(-)
32543
32544 commit e3675f8ac0acb285b2d669c0a44322623dac5fe9
32545 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
32546 Date:   Fri Dec 19 08:50:26 2008 -0500
32547
32548     Fix definition of _cairo_quartz_font_face_backend
32549     
32550     Removes the NULL so that _cairo_quartz_font_face_scaled_font_create
32551     is in the correct location.
32552
32553  src/cairo-quartz-font.c |    1 -
32554  1 file changed, 1 deletion(-)
32555
32556 commit fa7d96e1236cdfa0016f96e5c7b6bd209c405cba
32557 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
32558 Date:   Fri Dec 19 08:47:07 2008 -0500
32559
32560     Fix compilation of quartz surface.
32561     
32562     Declares _cairo_quartz_scaled_font_backend ahead of time and makes it static.
32563     Also, removes the 'static' from the _cairo_quartz_font_backend definition.
32564
32565  src/cairo-quartz-font.c |    6 ++++--
32566  1 file changed, 4 insertions(+), 2 deletions(-)
32567
32568 commit f8886ad1b30ec9c29ec5ac3e9cd5519dbc9e7b65
32569 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
32570 Date:   Thu Dec 18 20:50:20 2008 -0500
32571
32572     [scaled-font-zero-matrix] Destrory scaled font and font options
32573     
32574     Oops.
32575
32576  test/scaled-font-zero-matrix.c |    2 ++
32577  1 file changed, 2 insertions(+)
32578
32579 commit 4567692326daf592ab432670c6d33b49f940dd35
32580 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
32581 Date:   Thu Dec 18 18:03:40 2008 -0500
32582
32583     Add test creating a scaled font with a zero ctm matrix
32584
32585  test/Makefile.am               |    1 +
32586  test/scaled-font-zero-matrix.c |   59 ++++++++++++++++++++++++++++++++++++++++
32587  2 files changed, 60 insertions(+)
32588
32589 commit 18054ef00c69f62804e08734fd2c3286373b451f
32590 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
32591 Date:   Thu Dec 18 18:01:52 2008 -0500
32592
32593     [test] Quartz doesn't like being forked
32594     
32595     When the cairo-test-suite forks CoreFoundation complains with:
32596     "The process has forked and you cannot use this CoreFoundation functionality safely. You MUST exec().
32597     When forked so avoid doing it in the test suite for now. In the future we should investigate
32598     the possibility of a work around.
32599
32600  test/cairo-test-runner.c |   12 ++++++++----
32601  1 file changed, 8 insertions(+), 4 deletions(-)
32602
32603 commit b4e0d489bb0317fdd935ad2d29830e48b5ce4f6c
32604 Merge: 813cbf1 f60da9a
32605 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
32606 Date:   Thu Dec 18 17:25:17 2008 -0500
32607
32608     Merge branch '1.8'
32609     
32610     Conflicts:
32611         NEWS
32612         build/Makefile.am.changelog
32613         cairo-version.h
32614         src/cairo-gstate.c
32615
32616 commit f60da9a379890a3a4cd74cdad48e73c22cb74160
32617 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
32618 Date:   Thu Dec 18 17:07:25 2008 -0500
32619
32620     Fix _compute_transform to check for nearly degenerate matrices
32621     
32622     If a matrix was something like [0 .000001 0, .000001 0 0] the old code would
32623     assume that xx and yy were greater than 0 and turn the nearly degenerate matrix
32624     into an actual degenerate one. This caused things to blow up later on. Now we
32625     check that our nearly rectangular matrices are not nearly degenerate, and let
32626     the nearly degenerate ones fall through to the non-rectangular path.
32627     
32628     Note: I'm not sure why NEARLY_ZERO(d) is fabs(d) < 1/65536 instead of some
32629     other value.  Hopefully, it's a useful definition.
32630     
32631     This problem was found by a test case attached to:
32632     https://bugzilla.mozilla.org/show_bug.cgi?id=467423
32633
32634  src/cairo-win32-font.c |    6 ++++--
32635  1 file changed, 4 insertions(+), 2 deletions(-)
32636
32637 commit 813cbf13ddbd3d4b708b3b362dd6c108966f44d5
32638 Author: Chris Wilson <chris@chris-wilson.co.uk>
32639 Date:   Thu Dec 18 14:52:03 2008 +0000
32640
32641     [path] Separate the approx. bounds into 3 distinct functions
32642     
32643     Based on feedback from Jeff Muizelaar, there is a case for a very quick
32644     and dirty extents approximation based solely on the curve control points
32645     (for example when computing the clip intersect rectangle of a path) and
32646     by moving the stroke extension into a core function we can clean up the
32647     interface for all users, and centralise the logic of approximating the
32648     stroke extents.
32649
32650  src/cairo-analysis-surface.c |   32 ++++++-------
32651  src/cairo-clip.c             |   14 +++---
32652  src/cairo-path-bounds.c      |  101 +++++++++++++++++++++++++++++++++++++++---
32653  src/cairo-rectangle.c        |   10 -----
32654  src/cairo-surface-fallback.c |   10 ++---
32655  src/cairoint.h               |   19 +++++---
32656  6 files changed, 134 insertions(+), 52 deletions(-)
32657
32658 commit dea40e61babe608315b6d365094cf518814b134e
32659 Author: Chris Wilson <chris@chris-wilson.co.uk>
32660 Date:   Thu Dec 18 11:50:00 2008 +0000
32661
32662     [path] Return the fixed-point bounds of the path
32663     
32664     When analysing the stroke extents, we need the original fixed-point
32665     extents so that we do not incur an OBO when we round-to-integer a second
32666     time. We also need a more accurate estimate than simply using the control
32667     points of the curve, so pass in tolerance and decompose until someone
32668     discovers a cheaper algorithm to determine the precise aligned bounding
32669     box of a bezier curve.
32670
32671  src/cairo-analysis-surface.c |   30 +++++++------
32672  src/cairo-clip.c             |   25 ++++++-----
32673  src/cairo-path-bounds.c      |   95 +++++++++++++++++++++---------------------
32674  src/cairo-rectangle.c        |   10 +++++
32675  src/cairo-surface-fallback.c |    9 ++--
32676  src/cairoint.h               |    9 +++-
32677  6 files changed, 98 insertions(+), 80 deletions(-)
32678
32679 commit 3a53e0261b1b5af21bf37e2a211eefd501bd5358
32680 Author: Chris Wilson <chris@chris-wilson.co.uk>
32681 Date:   Thu Dec 18 11:10:17 2008 +0000
32682
32683     [test] Update twin reference images.
32684     
32685     Closing the 'o' in twin has removed a slight artefact - update the reference
32686     images to match.
32687
32688  test/twin.pdf.ref.png |  Bin 1673 -> 1669 bytes
32689  test/twin.ref.png     |  Bin 1718 -> 1712 bytes
32690  2 files changed, 0 insertions(+), 0 deletions(-)
32691
32692 commit c2478de26cc1781b8f8604191a9f75ad29eac746
32693 Author: Chris Wilson <chris@chris-wilson.co.uk>
32694 Date:   Thu Dec 18 10:50:45 2008 +0000
32695
32696     [twin] Switch internal users to the new name.
32697     
32698     s/<cairo>/@cairo:/
32699
32700  doc/tutorial/src/twin.c |    2 +-
32701  test/twin.c             |    2 +-
32702  2 files changed, 2 insertions(+), 2 deletions(-)
32703
32704 commit 3424b5f8c8cb1f2ef16b9e8429e64f720106f4d8
32705 Author: Chris Wilson <chris@chris-wilson.co.uk>
32706 Date:   Thu Dec 18 10:47:44 2008 +0000
32707
32708     [scaled-font] Make check-doc happy
32709     
32710     Replace a structure marker '#' with a macro marker '%'.
32711
32712  src/cairo-scaled-font.c |    4 ++--
32713  1 file changed, 2 insertions(+), 2 deletions(-)
32714
32715 commit 449bf0bb7bff38da1c5d0286cb4f22c858bcc3a9
32716 Author: Chris Wilson <chris@chris-wilson.co.uk>
32717 Date:   Thu Dec 18 10:45:22 2008 +0000
32718
32719     [script] Silence incorrect compiler warnings
32720     
32721     Bah, the compiler failed to do its IPA correctly and wrongly complained
32722     about potential use of uninitialised out-params guarded by the return
32723     value. Silence them!
32724
32725  util/cairo-script/cairo-script-operators.c |   38 ++++++++++++++--------------
32726  1 file changed, 19 insertions(+), 19 deletions(-)
32727
32728 commit ce0b136a441382b25d0932cd66a906a30a693365
32729 Author: Chris Wilson <chris@chris-wilson.co.uk>
32730 Date:   Wed Dec 17 20:34:45 2008 +0000
32731
32732     Query the backend to see if we can repaint the solid pattern.
32733     
32734     If we are dithering on the Xlib backend we can not simply repaint the
32735     surface used for a solid pattern and must recreate it from scratch.
32736     However, for ordinary XRender usage we do not want to have to pay that
32737     price - so query the backend to see if we can reuse the surface.
32738
32739  src/cairo-analysis-surface.c  |    2 ++
32740  src/cairo-meta-surface.c      |    1 +
32741  src/cairo-paginated-surface.c |    1 +
32742  src/cairo-pdf-surface.c       |    1 +
32743  src/cairo-script-surface.c    |    1 +
32744  src/cairo-surface.c           |   41 ++++++++++++++++++++++++-----------------
32745  src/cairo-xlib-surface.c      |   12 +++++++++++-
32746  src/cairoint.h                |    5 +++++
32747  src/test-meta-surface.c       |    1 +
32748  src/test-paginated-surface.c  |    1 +
32749  10 files changed, 48 insertions(+), 18 deletions(-)
32750
32751 commit 0df43251d4b4641d16c0a2e2c49d18dd2a9c832e
32752 Author: Chris Wilson <chris@chris-wilson.co.uk>
32753 Date:   Wed Dec 17 23:45:39 2008 +0000
32754
32755     [replay] Take advantage of unresolved fonts
32756     
32757     As Behdad has changed the underlying ft-font to accept unresolved patterns,
32758     take advantage of that to simplify the replay code.
32759
32760  util/cairo-script/cairo-script-operators.c |   16 ++--------------
32761  1 file changed, 2 insertions(+), 14 deletions(-)
32762
32763 commit 97a00bdd4eefade8d0808b5572bcdbba26c9c8f3
32764 Author: Chris Wilson <chris@chris-wilson.co.uk>
32765 Date:   Wed Dec 17 17:32:07 2008 +0000
32766
32767     [cairoint.h] Wrap macro in parenthesis
32768     
32769     Ensure that the stride calculation macro is not influenced by surrounding
32770     precedence issues by enclosing it in a pair of parenthesis.
32771
32772  src/cairoint.h |    2 +-
32773  1 file changed, 1 insertion(+), 1 deletion(-)
32774
32775 commit aa65e756d496f4c3a8b43d2100e17dc39c2c26b7
32776 Author: Chris Wilson <chris@chris-wilson.co.uk>
32777 Date:   Fri Dec 5 11:21:11 2008 +0000
32778
32779     [script] Avoid creating 0x0 windows
32780     
32781     XCreateWindow dies if asked to create a 0x0 window, so don't and use a 1x1
32782     pixel window for a zero-sized surface.
32783
32784  util/cairo-script/csi-replay.c |    6 ++++--
32785  1 file changed, 4 insertions(+), 2 deletions(-)
32786
32787 commit 6458903c95c2bba3f1b9ceaaafb6979d180ab039
32788 Author: Chris Wilson <chris@chris-wilson.co.uk>
32789 Date:   Wed Dec 17 10:07:32 2008 +0000
32790
32791     [image] Eliminate the short-lived context used for coercing.
32792     
32793     When coercing from one image format to another we performed a paint
32794     operation using a temporary context - this is overkill as we can just call
32795     _cairo_surface_paint() directly.
32796
32797  src/cairo-image-surface.c       |   42 ++++++++++++++++++++++-----------------
32798  src/cairo-scaled-font.c         |   40 +++++++++++++++++++------------------
32799  src/cairo-svg-surface.c         |   18 ++++++++---------
32800  src/cairo-type3-glyph-surface.c |   20 ++++---------------
32801  src/cairoint.h                  |    4 ++--
32802  5 files changed, 59 insertions(+), 65 deletions(-)
32803
32804 commit 9b46d13b6cd58c711010df89a41b216c5cc8c881
32805 Author: Chris Wilson <chris@chris-wilson.co.uk>
32806 Date:   Wed Dec 17 23:52:32 2008 +0000
32807
32808     [trace] Runtime version check.
32809     
32810     Check that the application is using cairo >= 1.9 before attempting to
32811     query the mime-data.
32812
32813  util/cairo-trace/trace.c |   47 ++++++++++++++++++++++++----------------------
32814  1 file changed, 25 insertions(+), 22 deletions(-)
32815
32816 commit 2d790daa957471670f4ae0d3b22da89e4ee7111f
32817 Author: Chris Wilson <chris@chris-wilson.co.uk>
32818 Date:   Thu Dec 18 00:47:08 2008 +0000
32819
32820     [pattern] Use a solid pattern for a uniform gradient.
32821     
32822     If each color stop in a gradient is identical, replace the gradient
32823     surface with a simple solid surface. As seen in the wild.
32824
32825  src/cairo-pattern.c |   54 +++++++++++++++++++++++++++++++++++++--------------
32826  1 file changed, 39 insertions(+), 15 deletions(-)
32827
32828 commit 25a4677200ea6689be0dca9d533842dc7da54837
32829 Author: Chris Wilson <chris@chris-wilson.co.uk>
32830 Date:   Wed Dec 17 09:29:35 2008 +0000
32831
32832     [analysis] Use approximate extents.
32833     
32834     Use the approximate path based extents to avoid tessellation.
32835
32836  src/cairo-analysis-surface.c |   54 +++++++++++++-----------------------------
32837  1 file changed, 17 insertions(+), 37 deletions(-)
32838
32839 commit 18bca91411e9ba6e1e58dbc945a0567d2661568f
32840 Author: Behdad Esfahbod <behdad@behdad.org>
32841 Date:   Thu Dec 18 02:12:14 2008 -0500
32842
32843     [twin] close_path the 'o'
32844
32845  src/cairo-font-face-twin-data.c |    2 +-
32846  1 file changed, 1 insertion(+), 1 deletion(-)
32847
32848 commit 5ee6aad471d460f960a5e7a5a8e35aca0f0af60e
32849 Author: Behdad Esfahbod <behdad@behdad.org>
32850 Date:   Wed Dec 17 18:05:51 2008 -0500
32851
32852     [toy] Use twin font if font backend returns UNSUPPORTED
32853
32854  src/cairo-font-face.c |   19 ++++++++-----------
32855  1 file changed, 8 insertions(+), 11 deletions(-)
32856
32857 commit eb069094ea4471b3e63881fe0f8b958ad8924c7d
32858 Author: Behdad Esfahbod <behdad@behdad.org>
32859 Date:   Wed Dec 17 17:30:34 2008 -0500
32860
32861     Treat any toy family starting with "@cairo:" as request for twin
32862
32863  src/cairo-font-face.c |    3 ++-
32864  src/cairoint.h        |    2 +-
32865  2 files changed, 3 insertions(+), 2 deletions(-)
32866
32867 commit 32c66109059398e88f50335bef75fa8c0e51c4c8
32868 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
32869 Date:   Wed Dec 17 17:43:37 2008 -0500
32870
32871     Call _cairo_error when propagating error status from the font_face.
32872
32873  src/cairo-gstate.c |    2 +-
32874  1 file changed, 1 insertion(+), 1 deletion(-)
32875
32876 commit 1d72e53c3e99f93aa59967c76f1b1b4c035b9130
32877 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
32878 Date:   Wed Dec 17 17:42:18 2008 -0500
32879
32880     Add a missing _cairo_error() to a bunch of status returns.
32881
32882  src/cairo-misc.c        |    4 ++--
32883  src/cairo-scaled-font.c |   14 +++++++-------
32884  src/cairo.c             |    2 +-
32885  3 files changed, 10 insertions(+), 10 deletions(-)
32886
32887 commit af3a892c3ef6a7c1d28d523944bbb67e59edc1de
32888 Author: Behdad Esfahbod <behdad@behdad.org>
32889 Date:   Wed Dec 17 16:45:28 2008 -0500
32890
32891     [ft] Remove stale comment
32892
32893  src/cairo-ft-font.c |    4 ----
32894  1 file changed, 4 deletions(-)
32895
32896 commit 0137b9bd320783264d865a397392b0ee14fd69b3
32897 Author: Karl Tomlinson <karlt+@karlt.net>
32898 Date:   Wed Dec 17 16:40:12 2008 -0500
32899
32900     [ft] Don't call FT_Done_Face() on faces we did not create
32901
32902  src/cairo-ft-font.c |    2 +-
32903  1 file changed, 1 insertion(+), 1 deletion(-)
32904
32905 commit e4d7c87b5e449a743a68dd256faaa3242f191a44
32906 Author: Karl Tomlinson <karlt+@karlt.net>
32907 Date:   Wed Dec 17 16:40:12 2008 -0500
32908
32909     [ft] Don't call FT_Done_Face() on faces we did not create
32910
32911  src/cairo-ft-font.c |    2 +-
32912  1 file changed, 1 insertion(+), 1 deletion(-)
32913
32914 commit 6778a5f67ae2e35e809cf4464530e2bb05870378
32915 Author: Behdad Esfahbod <behdad@behdad.org>
32916 Date:   Wed Dec 17 16:19:45 2008 -0500
32917
32918     [.gitignore] Update
32919
32920  build/.gitignore |    2 ++
32921  src/.gitignore   |    1 +
32922  2 files changed, 3 insertions(+)
32923
32924 commit 26f471999973c538e45db0ae9f0227fbe5dedf24
32925 Author: Behdad Esfahbod <behdad@behdad.org>
32926 Date:   Wed Dec 17 16:08:32 2008 -0500
32927
32928     [scaled-font] Improve docs
32929
32930  src/cairo-scaled-font.c |    8 +++++++-
32931  1 file changed, 7 insertions(+), 1 deletion(-)
32932
32933 commit f7ab65e9b0c0f08be8d294e90131baa2decf1f1d
32934 Author: Behdad Esfahbod <behdad@behdad.org>
32935 Date:   Wed Dec 17 06:25:50 2008 -0500
32936
32937     Clean up toy font face handling
32938     
32939     This commit moves the toy-to-real mapping from the scaled font creation
32940     time to font face creation.  A toy font face will keep an internal ref
32941     to an implementation face.  Then cairo_scaled_font_create() will simply
32942     substitute the implementation face before creating anything.
32943     
32944     This also modifies the cairo-ft toy creation in that we now create a
32945     non-resolved pattern and store it in a cairo-ft font-face.  We then
32946     do the resolving and unscaled font creation at scaled-font creation
32947     time.  This also means that cairo_ft_font_face_create_for_pattern()
32948     now accepts non-resolved patterns too, and does the right thing about
32949     them.  As much as that can be called right.
32950     
32951     Some testing of toy font creation performance is in order, as is testing
32952     win32 and quartz font backends.
32953
32954  src/cairo-font-face.c   |  143 +++++++++---------
32955  src/cairo-ft-font.c     |  371 ++++++++++++++++++++++++++++-------------------
32956  src/cairo-quartz-font.c |  208 ++++++++++----------------
32957  src/cairo-scaled-font.c |   19 ++-
32958  src/cairo-user-font.c   |   62 +-------
32959  src/cairo-win32-font.c  |   20 +--
32960  src/cairoint.h          |   40 +++--
32961  7 files changed, 412 insertions(+), 451 deletions(-)
32962
32963 commit 43edb4dd7b8d0614a6c2be15dfa72f980dd55f1d
32964 Author: Chris Wilson <chris@chris-wilson.co.uk>
32965 Date:   Fri Dec 12 18:10:58 2008 +0000
32966
32967     Fix compilation with gcov
32968     
32969     We need to add --coverage to LDFLAGS, so create CAIRO_LDFLAGS and use that
32970     to populate AM_LDFLAGS.
32971
32972  boilerplate/Makefile.am     |    1 +
32973  build/configure.ac.analysis |    6 +++++-
32974  build/configure.ac.features |    1 +
32975  src/Makefile.am             |    3 ++-
32976  test/Makefile.am            |   17 +++++++++--------
32977  5 files changed, 18 insertions(+), 10 deletions(-)
32978
32979 commit bcea3151d66495f03d67ce71274203d0515caf4c
32980 Author: Chris Wilson <chris@chris-wilson.co.uk>
32981 Date:   Fri Dec 12 14:08:11 2008 +0000
32982
32983     [test] Add missing joins.ref.png
32984     
32985     Missed this file when adding the reference images for joins.
32986
32987  test/joins.ref.png |  Bin 0 -> 5879 bytes
32988  1 file changed, 0 insertions(+), 0 deletions(-)
32989
32990 commit 8cec548854d86dac8f0c99e99461421c8ad653b1
32991 Author: Chris Wilson <chris@chris-wilson.co.uk>
32992 Date:   Sun Dec 14 14:06:07 2008 +0000
32993
32994     [NEWS] Add notes for 1.8.6
32995     
32996     Add the historical blurb for 1.8.6.
32997
32998  NEWS |   49 +++++++++++++++++++++++++++++++++++++++++++++++++
32999  1 file changed, 49 insertions(+)
33000
33001 commit 0a1d194ad85398c8711268fd9ba679f8609206a1
33002 Author: Chris Wilson <chris@chris-wilson.co.uk>
33003 Date:   Sun Dec 14 14:53:27 2008 +0000
33004
33005     [perf] Fix for git-1.6
33006     
33007     git-1.6 moved all the subcommands out of the PATH so update our usage.
33008
33009  perf/cairo-perf-graph |    2 +-
33010  1 file changed, 1 insertion(+), 1 deletion(-)
33011
33012 commit 1c2eba92c16207a48f9c8f52065fbf9a65d16fcd
33013 Author: Chris Wilson <chris@chris-wilson.co.uk>
33014 Date:   Sun Dec 14 13:05:01 2008 +0000
33015
33016     [RELEASING] Update Makefile for git-1.6
33017     
33018     Git moved all the subcommands out of the PATH, so we need to update our
33019     usage.
33020
33021  build/Makefile.am.changelog |    4 ++--
33022  build/Makefile.am.releasing |    4 ++--
33023  2 files changed, 4 insertions(+), 4 deletions(-)
33024
33025 commit 2fa6b6353740b7941e90e50bf6b0eb5f06aa11b5
33026 Author: Chris Wilson <chris@chris-wilson.co.uk>
33027 Date:   Sun Dec 14 11:40:12 2008 +0000
33028
33029     [RELEASING] Correct a few minor typos.
33030     
33031     As I was reading through the instructions, take the opportunity to fix a
33032     few spelling mistakes.
33033
33034  RELEASING |   10 +++++-----
33035  1 file changed, 5 insertions(+), 5 deletions(-)
33036
33037 commit 1950abd14c28d58913c085d3829eb99a078cf2d1
33038 Author: Chris Wilson <chris@chris-wilson.co.uk>
33039 Date:   Sun Dec 14 11:26:56 2008 +0000
33040
33041     [doc] Fix erroneous doc comment.
33042     
33043     A normal comment was marked as a gtk-doc entry and thus causing gtk-doc to
33044     complain.
33045
33046  src/cairo-path-fixed.c |    2 +-
33047  1 file changed, 1 insertion(+), 1 deletion(-)
33048
33049 commit 9485cd947f982ecd1e4f8d948786af3265d6eb74
33050 Author: Chris Wilson <chris@chris-wilson.co.uk>
33051 Date:   Sun Dec 14 16:35:14 2008 +0000
33052
33053     Increment version to 1.8.7 after the 1.8.6 release.
33054
33055  cairo-version.h |    2 +-
33056  1 file changed, 1 insertion(+), 1 deletion(-)
33057
33058 commit e2a2eddcfb8fc73f3decdb91c00e8e6d5282e09c
33059 Author: Chris Wilson <chris@chris-wilson.co.uk>
33060 Date:   Sun Dec 14 14:07:11 2008 +0000
33061
33062     Increment version to 1.8.6
33063     
33064     In preparation for the next stable release.
33065
33066  cairo-version.h |    2 +-
33067  1 file changed, 1 insertion(+), 1 deletion(-)
33068
33069 commit ef7c42a7d390064b2a5b08e14d5f65b8ea4628e3
33070 Author: Chris Wilson <chris@chris-wilson.co.uk>
33071 Date:   Sun Dec 14 14:06:07 2008 +0000
33072
33073     [NEWS] Add notes for 1.8.6
33074     
33075     Add the historical blurb for 1.8.6.
33076
33077  NEWS |   50 ++++++++++++++++++++++++++++++++++++++++++++++++++
33078  1 file changed, 50 insertions(+)
33079
33080 commit ce91e6ac360e1dbe57a4e729b68d84499603e9ae
33081 Author: Chris Wilson <chris@chris-wilson.co.uk>
33082 Date:   Sun Dec 14 14:53:27 2008 +0000
33083
33084     [perf] Fix for git-1.6
33085     
33086     git-1.6 moved all the subcommands out of the PATH so update our usage.
33087
33088  perf/cairo-perf-graph |    2 +-
33089  1 file changed, 1 insertion(+), 1 deletion(-)
33090
33091 commit f8372509aff662e9cbabeb99560b01019395c15e
33092 Author: Chris Wilson <chris@chris-wilson.co.uk>
33093 Date:   Sun Dec 14 13:05:01 2008 +0000
33094
33095     [RELEASING] Update Makefile for git-1.6
33096     
33097     Git moved all the subcommands out of the PATH, so we need to update our
33098     usage.
33099
33100  build/Makefile.am.changelog |    4 ++--
33101  build/Makefile.am.releasing |    4 ++--
33102  2 files changed, 4 insertions(+), 4 deletions(-)
33103
33104 commit 9faa9a214994fe27a0cb27a298881f23c2050bbe
33105 Author: Chris Wilson <chris@chris-wilson.co.uk>
33106 Date:   Sun Dec 14 11:40:12 2008 +0000
33107
33108     [RELEASING] Correct a few minor typos.
33109     
33110     As I was reading through the instructions, take the opportunity to fix a
33111     few spelling mistakes.
33112
33113  RELEASING |   10 +++++-----
33114  1 file changed, 5 insertions(+), 5 deletions(-)
33115
33116 commit b1be4196513263bdbf58944ea6ac87708a399c5f
33117 Author: Chris Wilson <chris@chris-wilson.co.uk>
33118 Date:   Sun Dec 14 11:26:56 2008 +0000
33119
33120     [doc] Fix erroneous doc comment.
33121     
33122     A normal comment was marked as a gtk-doc entry and thus causing gtk-doc to
33123     complain.
33124
33125  src/cairo-path-fixed.c |    2 +-
33126  1 file changed, 1 insertion(+), 1 deletion(-)
33127
33128 commit 79bd32a6ccb1a882ddd2b1585ab155f568bf5ec7
33129 Author: Chris Wilson <chris@chris-wilson.co.uk>
33130 Date:   Sat Dec 6 13:32:37 2008 +0200
33131
33132     [perf-diff] Fix cairo-perf-diff for git 1.6
33133     
33134     Since git 1.6 the plumbing commands aren't installed in the user's
33135     path by default.  This patch fixes cairo-perf-diff to find the
33136     git-sh-setup command from git's lib dir.
33137     (cherry picked from commit 0c0f4862c52d68776024f125b003ade455044b27)
33138
33139  perf/cairo-perf-diff |    2 +-
33140  1 file changed, 1 insertion(+), 1 deletion(-)
33141
33142 commit 97b5240beeb9206f4dbda6ffce33b51aa16eec2f
33143 Author: Julien Danjou <julien@danjou.info>
33144 Date:   Tue Nov 18 10:01:49 2008 +0100
33145
33146     [xcb] check for render extension presence
33147     
33148     Otherwise this may leads to an invalid memory access to r.
33149     
33150     Fixes: Bug 18588 - XCB backend fails with missing render.
33151     https://bugs.freedesktop.org/show_bug.cgi?id=18588
33152     
33153     Signed-off-by: Julien Danjou <julien@danjou.info>
33154     Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
33155     (cherry picked from commit 834f1d7b7097dcc3a32f6c65d21e87fd272d924a)
33156
33157  AUTHORS                 |    1 +
33158  src/cairo-xcb-surface.c |    8 ++++++--
33159  2 files changed, 7 insertions(+), 2 deletions(-)
33160
33161 commit 6fed98c0d3b0708ad5171654179a482fa7d88805
33162 Author: Chris Wilson <chris@chris-wilson.co.uk>
33163 Date:   Fri Dec 5 21:14:45 2008 +0000
33164
33165     [gstate] Remove culled glyphs from clusters.
33166     
33167     Sascha Steinbiss reported a bug where the PDF backend was reading beyond
33168     the end of the glyph array:
33169     http://lists.cairographics.org/archives/cairo/2008-December/015976.html.
33170     
33171     It transpires that in the early glyph culling in the gstate we were
33172     not updating the clusters to skip culled glyphs.
33173
33174  src/cairo-gstate.c |  223 +++++++++++++++++++++++++++++++++++++++++-----------
33175  1 file changed, 176 insertions(+), 47 deletions(-)
33176
33177 commit 2b7c6f361a3cfe309ff0bcb606b808acbf36aa0f
33178 Author: Chris Wilson <chris@chris-wilson.co.uk>
33179 Date:   Wed Nov 26 12:33:12 2008 +0000
33180
33181     [skiplist] Allocate elements in chunks.
33182     
33183     Use a pool allocator to preallocate a chunk from which to allocate the
33184     skiplist elements (if we failed to reallocate from the freelists).
33185
33186  src/cairo-bentley-ottmann.c  |   33 +++++++++++-----
33187  src/cairo-skiplist-private.h |    3 +-
33188  src/cairo-skiplist.c         |   85 +++++++++++++++++++++++++++++++++---------
33189  3 files changed, 94 insertions(+), 27 deletions(-)
33190
33191 commit 903b39c30448d62e2cbf9d075c5256a333bd5d8f
33192 Author: Chris Wilson <chris@chris-wilson.co.uk>
33193 Date:   Thu Dec 4 15:22:01 2008 +0000
33194
33195     [test] Make the xlib-fallback use the image refs.
33196     
33197     The xlib-fallback is closer to the image than the xlib backend, so prefer
33198     not to use the xlib.ref.png.
33199
33200  boilerplate/cairo-boilerplate.c |    2 +-
33201  1 file changed, 1 insertion(+), 1 deletion(-)
33202
33203 commit 792057539bf814cc00447a0a53978e0af3efe270
33204 Author: Chris Wilson <chris@chris-wilson.co.uk>
33205 Date:   Wed Dec 3 10:52:59 2008 +0000
33206
33207     [test] Only delete output images beneath output.
33208     
33209     We were using an overly-liberal find that also deleted copied output for
33210     use in CAIRO_REF_DIR if that directory was below test/. So only delete
33211     files below output/ (which should only be used by cairo-test).
33212
33213  test/Makefile.am |    7 +++----
33214  1 file changed, 3 insertions(+), 4 deletions(-)
33215
33216 commit 913cbad25e08a07c05b8c2e6ddd3c343ca2462b2
33217 Author: Chris Wilson <chris@chris-wilson.co.uk>
33218 Date:   Tue Dec 2 13:06:50 2008 +0000
33219
33220     [test] Add a simple joins test case
33221     
33222     Exercise joins between short (<LINE_WIDTH) lines - used in debugging
33223     stroke-to-path.
33224
33225  test/Makefile.am      |    3 ++
33226  test/joins.c          |  109 +++++++++++++++++++++++++++++++++++++++++++++++++
33227  test/joins.ps.ref.png |  Bin 0 -> 5496 bytes
33228  3 files changed, 112 insertions(+)
33229
33230 commit 9f4f41de7d20ee46ee8ca06716cbc18e55cfcf86
33231 Author: Chris Wilson <chris@chris-wilson.co.uk>
33232 Date:   Tue Dec 2 13:05:30 2008 +0000
33233
33234     [tutorial] Correct twin font name
33235     
33236     We changed the name for the builtin font  from "cairo" to "<cairo>" to
33237     reduce possible naming conflicts - update the tutorial to match.
33238
33239  doc/tutorial/src/twin.c |    2 +-
33240  1 file changed, 1 insertion(+), 1 deletion(-)
33241
33242 commit 4ff884fe4df64234a7da4635d78ffafabe00f18c
33243 Author: Chris Wilson <chris@chris-wilson.co.uk>
33244 Date:   Sun Nov 30 19:18:15 2008 +0000
33245
33246     [test] Check idempotency of append_path() -> copy_path()
33247     
33248     The API should preserve the precision across the public interface so that
33249     the user is able to retrieve the co-ordinates that he used to construct
33250     the path. However since we transform the path to a 24.8 fixed-point
33251     internal represent we currently incur a precision-loss - the affects of
33252     which can be seen in the miter-precision test case for example. It is
33253     planned to move to keeping the path as doubles until the backend
33254     explicitly requests the fixed-point coodinates (and some backends, e.g.
33255     pdf, might only ever use the doubles). Then, barring rounding errors
33256     during path transformations, we should be able to return the exact path
33257     the user set (under an identity CTM, of course ;-).
33258
33259  test/Makefile.am      |    1 +
33260  test/path-precision.c |  108 +++++++++++++++++++++++++++++++++++++++++++++++++
33261  2 files changed, 109 insertions(+)
33262
33263 commit fe4af195a7880336894a5fbae86740ef55c14cbf
33264 Author: Chris Wilson <chris@chris-wilson.co.uk>
33265 Date:   Sun Nov 30 13:48:11 2008 +0000
33266
33267     [test] Add a rectilinear-dash test case.
33268     
33269     Exercise dashing on pixel-aligned boundaries to test extending the
33270     rectilinear stroker to handle dashes.
33271
33272  test/Makefile.am              |    2 +
33273  test/rectilinear-dash.c       |  176 +++++++++++++++++++++++++++++++++++++++++
33274  test/rectilinear-dash.ref.png |  Bin 0 -> 291 bytes
33275  3 files changed, 178 insertions(+)
33276
33277 commit 1d68ee73f8d406671d25a1ab6c3cfb096a7a6ce7
33278 Author: Chris Wilson <chris@chris-wilson.co.uk>
33279 Date:   Sun Nov 23 08:59:56 2008 +0000
33280
33281     [pattern] Compute the combined color content.
33282     
33283     When multiplying two colors together, the combined content is simply the
33284     or of the their contents.
33285
33286  src/cairo-pattern.c |    3 ++-
33287  1 file changed, 2 insertions(+), 1 deletion(-)
33288
33289 commit 30cef3116ed960a94323477154896a03c4fb30bb
33290 Author: Chris Wilson <chris@chris-wilson.co.uk>
33291 Date:   Thu Dec 11 01:45:31 2008 +0000
33292
33293     [spans] Add a sentinel cell to the cell_list.
33294     
33295     By terminating the list with a cell for INT_MAX, we remove a few
33296     conditionals from the hot-paths.
33297
33298  src/cairo-tor-scan-converter.c |   25 +++++++++++++++----------
33299  1 file changed, 15 insertions(+), 10 deletions(-)
33300
33301 commit 3b2bb95249afdc3a705d0ce5205019e7d9d31020
33302 Author: Chris Wilson <chris@chris-wilson.co.uk>
33303 Date:   Thu Dec 11 01:22:37 2008 +0000
33304
33305     [spans] Embed 64 edge buckets into polygon
33306     
33307     Frequently we only need a few y-buckets, so embed 64 into the parent
33308     structure.
33309
33310  src/cairo-tor-scan-converter.c |   40 ++++++++++++----------------------------
33311  1 file changed, 12 insertions(+), 28 deletions(-)
33312
33313 commit 70235df72e3f33482527090d7039d8cab7ef6ff9
33314 Author: Chris Wilson <chris@chris-wilson.co.uk>
33315 Date:   Thu Dec 11 00:32:13 2008 +0000
33316
33317     [spans] Pool capacity is in bytes not elements.
33318     
33319     Set the polygon capacity to a shade under 8k, not 200 bytes, reducing the
33320     number of malloc calls made by the scan convertor by a factor of 40!
33321
33322  src/cairo-tor-scan-converter.c |    2 +-
33323  1 file changed, 1 insertion(+), 1 deletion(-)
33324
33325 commit 6f284587a4ef829a1666fe730e590b59e4eedd5e
33326 Author: Chris Wilson <chris@chris-wilson.co.uk>
33327 Date:   Wed Dec 10 13:50:23 2008 +0000
33328
33329     [script] Add examples
33330     
33331     Add some simple examples to demonstrate CairoScript, courtesy of M Joonas
33332     Philaja.
33333
33334  configure.ac                                       |    1 +
33335  util/cairo-script/Makefile.am                      |    2 +
33336  util/cairo-script/examples/Makefile.am             |   10 +
33337  util/cairo-script/examples/dragon.cs               |   48 +
33338  util/cairo-script/examples/hilbert.cs              |   51 +
33339  util/cairo-script/examples/infinichess.cs          |   29 +
33340  util/cairo-script/examples/interference.cs         |   46 +
33341  util/cairo-script/examples/pythagoras-tree.cs      |   53 +
33342  util/cairo-script/examples/sierpinski.cs           |   37 +
33343  .../examples/wedgeAnnulus_crop_ybRings.cs          |   30 +
33344  util/cairo-script/examples/world-map.cs            |  209 +++
33345  util/cairo-script/examples/zrusin.cs               | 1333 ++++++++++++++++++++
33346  12 files changed, 1849 insertions(+)
33347
33348 commit 463dc2891312e3658875d6964a91e7e875de4b38
33349 Author: Chris Wilson <chris@chris-wilson.co.uk>
33350 Date:   Wed Dec 10 21:09:14 2008 +0000
33351
33352     [script] Allocate the interned strings from a permanent pool
33353     
33354     Reduce memory fragmentation by allocating the permanent strings from a
33355     single pool.
33356
33357  util/cairo-script/cairo-script-interpreter.c |   52 ++++++++++++++++++++------
33358  util/cairo-script/cairo-script-private.h     |    4 ++
33359  2 files changed, 45 insertions(+), 11 deletions(-)
33360
33361 commit adc9c90d79cf4bf5e3789ceadab6a49da746274a
33362 Author: Chris Wilson <chris@chris-wilson.co.uk>
33363 Date:   Wed Dec 10 21:00:11 2008 +0000
33364
33365     [script] Freed object cache.
33366     
33367     Cache the last freed object to reduce malloc pressure.
33368
33369  util/cairo-script/cairo-script-hash.c        |    3 -
33370  util/cairo-script/cairo-script-interpreter.c |   16 ++--
33371  util/cairo-script/cairo-script-objects.c     |  118 +++++++++++++++++---------
33372  util/cairo-script/cairo-script-private.h     |    5 +-
33373  4 files changed, 91 insertions(+), 51 deletions(-)
33374
33375 commit 1042909796295234d8aadf674824d306d7bcc9b5
33376 Author: Chris Wilson <chris@chris-wilson.co.uk>
33377 Date:   Wed Dec 10 17:56:19 2008 +0000
33378
33379     [script] Replay multiple files.
33380     
33381     Iterate over the argument vector and replay each file on the command line.
33382
33383  util/cairo-script/csi-replay.c |    4 +++-
33384  1 file changed, 3 insertions(+), 1 deletion(-)
33385
33386 commit c5c04528b51b9025f48fb0f3b1c4a8dc98acb214
33387 Author: Chris Wilson <chris@chris-wilson.co.uk>
33388 Date:   Wed Dec 10 17:30:21 2008 +0000
33389
33390     [script] Slab allocator
33391     
33392     Allocate small objects from a pool and maintain a per-size free-list.
33393
33394  util/cairo-script/cairo-script-interpreter.c |   65 +++++++++++++++++++++++++-
33395  util/cairo-script/cairo-script-private.h     |   22 +++++++++
33396  2 files changed, 85 insertions(+), 2 deletions(-)
33397
33398 commit 83f0e6cf6245c0b3fd7a9b572e5dcea9b633a644
33399 Author: Chris Wilson <chris@chris-wilson.co.uk>
33400 Date:   Wed Dec 10 16:46:05 2008 +0000
33401
33402     [script] Inline the stack push
33403     
33404     Frequently to push an object onto the stack all we need is to simply
33405     perform the struct copy - so inline it and only call the out-of-line
33406     function if we need to enlarge the stack.
33407
33408  util/cairo-script/cairo-script-interpreter.c |   20 ++++++------
33409  util/cairo-script/cairo-script-operators.c   |   43 ++++++--------------------
33410  util/cairo-script/cairo-script-private.h     |   14 ++++++++-
33411  util/cairo-script/cairo-script-stack.c       |   13 ++++----
33412  4 files changed, 39 insertions(+), 51 deletions(-)
33413
33414 commit 565b3d6ad64fe9d35ebddb4f6b46e492740ee59f
33415 Author: Chris Wilson <chris@chris-wilson.co.uk>
33416 Date:   Wed Dec 10 15:16:02 2008 +0000
33417
33418     [script] Switch to hyphens.
33419     
33420     Using hyphen in the operators is easier to read than underscores.
33421
33422  src/cairo-script-surface.c                 |   60 ++++-----
33423  util/cairo-script/cairo-script-operators.c |  189 ++++++++++++++++++----------
33424  util/cairo-trace/trace.c                   |  114 ++++++++---------
33425  3 files changed, 211 insertions(+), 152 deletions(-)
33426
33427 commit 3abfd836a021a2950b7eea97f3b30011d58efcc8
33428 Author: Chris Wilson <chris@chris-wilson.co.uk>
33429 Date:   Wed Dec 10 14:34:41 2008 +0000
33430
33431     [script] Null constructor
33432     
33433     Expose 'null', principally for comparison purposes.
33434
33435  util/cairo-script/cairo-script-operators.c |    8 +++++++-
33436  util/cairo-script/cairo-script-private.h   |    7 +++++++
33437  2 files changed, 14 insertions(+), 1 deletion(-)
33438
33439 commit 7540ac7f23db47ee3f58a557ce91aaf1c0bc72d5
33440 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
33441 Date:   Tue Dec 9 07:52:21 2008 +0200
33442
33443     [script] Reverse direction of bitshift.
33444     
33445     Positive shift counts should shift left according to PostScript.
33446
33447  util/cairo-script/cairo-script-operators.c |    4 ++--
33448  1 file changed, 2 insertions(+), 2 deletions(-)
33449
33450 commit 4be479cc63a783da18652528f33bd08427a74fe7
33451 Author: Chris Wilson <chris@chris-wilson.co.uk>
33452 Date:   Wed Dec 10 13:20:06 2008 +0000
33453
33454     [script] Add simple to integer converter
33455     
33456     Simple operator to coerce the type of the object on top of the stack to
33457     integer.
33458
33459  util/cairo-script/cairo-script-operators.c |   23 +++++++++++++++++++++++
33460  1 file changed, 23 insertions(+)
33461
33462 commit 6711b591b9efd8f116f2683f17d52e9a9ddfbaba
33463 Author: Chris Wilson <chris@chris-wilson.co.uk>
33464 Date:   Wed Dec 10 12:34:30 2008 +0000
33465
33466     [script] Simple replay.
33467     
33468     Basic script executer.
33469
33470  util/cairo-script/.gitignore  |    1 +
33471  util/cairo-script/Makefile.am |    5 ++++-
33472  util/cairo-script/csi-exec.c  |   29 +++++++++++++++++++++++++++++
33473  3 files changed, 34 insertions(+), 1 deletion(-)
33474
33475 commit 177a68ef3ecd1717b81c93c53f8c7ae27838e2e5
33476 Author: Chris Wilson <chris@chris-wilson.co.uk>
33477 Date:   Wed Dec 10 13:21:19 2008 +0000
33478
33479     [script] Add a few mathematical constants
33480     
33481     Just pi and the sqrt(2) for the moment, more to come on demand.
33482
33483  util/cairo-script/cairo-script-interpreter.c |   26 ++++++++++++++++++++++++++
33484  util/cairo-script/cairo-script-operators.c   |   17 +++++++++++++++++
33485  util/cairo-script/cairo-script-private.h     |    8 ++++++++
33486  3 files changed, 51 insertions(+)
33487
33488 commit 5dfaa22a578ff6561e8d15a8c08546c840476313
33489 Author: Chris Wilson <chris@chris-wilson.co.uk>
33490 Date:   Wed Dec 10 12:26:09 2008 +0000
33491
33492     [script] Add repeat operator.
33493     
33494     Simple operator to repeat procedure n times.
33495
33496  util/cairo-script/cairo-script-operators.c |   37 +++++++++++++++++++++++++++-
33497  1 file changed, 36 insertions(+), 1 deletion(-)
33498
33499 commit 738cb327450821db2d3689e514376c0d9bc55e87
33500 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
33501 Date:   Tue Dec 9 05:59:19 2008 +0200
33502
33503     [script] Fix \t escapes in string literals.
33504     
33505     Typo \r -> \t.
33506
33507  util/cairo-script/cairo-script-scanner.c |    2 +-
33508  1 file changed, 1 insertion(+), 1 deletion(-)
33509
33510 commit 265ebd372a4fd510bc29c749a46393ee7caace41
33511 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
33512 Date:   Mon Dec 8 10:14:33 2008 +0200
33513
33514     [script] Flesh out the relational comparison operators to be more PostScript-like.
33515     
33516     The relational comparison operators can now compare strings vs names
33517     by content as well as performing automatic type promotions on the
33518     numeric types.  For other types relational comparisons succeeed
33519     only if the values compare equal according to the eq operator, and
33520     put the interpreter into a type-error state otherwise.
33521
33522  util/cairo-script/cairo-script-objects.c   |  103 ++++++++++++++++++++
33523  util/cairo-script/cairo-script-operators.c |  144 +++++-----------------------
33524  util/cairo-script/cairo-script-private.h   |    5 +
33525  3 files changed, 132 insertions(+), 120 deletions(-)
33526
33527 commit 05afec7a8ac590d0d53a254895796f36a8b0eaf3
33528 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
33529 Date:   Mon Dec 8 10:06:53 2008 +0200
33530
33531     [script] Implement the ne operator.
33532
33533  util/cairo-script/cairo-script-operators.c |   19 ++++++++++++++++++-
33534  1 file changed, 18 insertions(+), 1 deletion(-)
33535
33536 commit 1aeb96dc287b516955db1909995e45fe26d4f87a
33537 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
33538 Date:   Mon Dec 8 10:03:57 2008 +0200
33539
33540     [script] Implement PostScript-like semantics for the eq operator.
33541     
33542     The eq operator would only work for some types and put the
33543     interpreter in an error state if passed objects it didn't
33544     know how to compare.  It would also not compare strings
33545     by value nor allow strings to be compared to names.
33546     This patch makes any two objects comparable.
33547
33548  util/cairo-script/cairo-script-objects.c   |   92 ++++++++++++++++++++++++++++
33549  util/cairo-script/cairo-script-operators.c |   64 +------------------
33550  util/cairo-script/cairo-script-private.h   |    4 ++
33551  3 files changed, 97 insertions(+), 63 deletions(-)
33552
33553 commit 620028fd19b091f525964b689ebd3a70e1636da2
33554 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
33555 Date:   Mon Dec 8 09:23:37 2008 +0200
33556
33557     [script] Don't segfault when hashing empty strings.
33558     
33559     Check for the empty string.
33560
33561  util/cairo-script/cairo-script-interpreter.c |   11 +++++++----
33562  1 file changed, 7 insertions(+), 4 deletions(-)
33563
33564 commit 4ba77f776509caad030edf818a076ea9b071ad23
33565 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
33566 Date:   Mon Dec 8 07:16:14 2008 +0200
33567
33568     [script] Fix dictionary construction to access the right stack slots.
33569     
33570     It bound values to themselves and ignored keys.
33571
33572  util/cairo-script/cairo-script-operators.c |    4 ++--
33573  1 file changed, 2 insertions(+), 2 deletions(-)
33574
33575 commit af53297a97eec505ac2a90768badda72056c6e3b
33576 Author: Chris Wilson <chris@chris-wilson.co.uk>
33577 Date:   Thu Dec 11 00:35:20 2008 +0000
33578
33579     [cairo] Use a stack buffer for text path.
33580     
33581     First try to allocate glyphs from the stack, similar to cairo_show_text().
33582
33583  src/cairo.c |    9 +++++++--
33584  1 file changed, 7 insertions(+), 2 deletions(-)
33585
33586 commit 09589e20e14476df609581027d14628f52091e71
33587 Author: Chris Wilson <chris@chris-wilson.co.uk>
33588 Date:   Wed Dec 10 23:45:44 2008 +0000
33589
33590     [clip] Intersect to region extents.
33591     
33592     When querying the intersection of a rectangle with the clip region, the
33593     result only depends upon the region extents so we do not need to perform
33594     an expensive region-region intersection computation.
33595
33596  src/cairo-clip.c             |   18 +++++-------------
33597  src/cairo-surface-fallback.c |    1 -
33598  2 files changed, 5 insertions(+), 14 deletions(-)
33599
33600 commit c5acb125e9509570c407a069f7e89acfbadda57b
33601 Author: Chris Wilson <chris@chris-wilson.co.uk>
33602 Date:   Wed Dec 10 23:06:22 2008 +0000
33603
33604     [surface] Avoid a short-lived context during fallback_clone_similar()
33605     
33606     We can paint to the surface directly without need of a temporary context,
33607     so do so.
33608
33609  src/cairo-surface-fallback.c |   41 +++++++++++++++++++----------------------
33610  1 file changed, 19 insertions(+), 22 deletions(-)
33611
33612 commit 888f62feaa73be326d41a485c0bcf81a3e466ee1
33613 Author: Chris Wilson <chris@chris-wilson.co.uk>
33614 Date:   Wed Dec 10 17:42:16 2008 +0000
33615
33616     [test] Propagate error from path
33617     
33618     If the path is in error, just append it to the context so that the error
33619     is propagated correctly.
33620
33621  test/copy-path.c |    5 +++++
33622  1 file changed, 5 insertions(+)
33623
33624 commit f13f63e3d85d28a17a3cb60b7d1a7b552f2b6872
33625 Author: Chris Wilson <chris@chris-wilson.co.uk>
33626 Date:   Wed Dec 10 08:54:03 2008 +0000
33627
33628     [test/clip-nesting] Propagate status from sub-context.
33629     
33630     Use cairo_path_append() to propagate an error status from a child context
33631     to it parent so that it is properly reported under memfault.
33632
33633  test/clip-nesting.c |   16 ++++++++++++++++
33634  1 file changed, 16 insertions(+)
33635
33636 commit e6e33b036f9de5087a72cf1de9c0a4ce97c75812
33637 Author: Chris Wilson <chris@chris-wilson.co.uk>
33638 Date:   Wed Dec 10 08:50:57 2008 +0000
33639
33640     [test/solid-pattern-cache-stress] Propagate status from sub-contexts.
33641     
33642     Use a cairo_append_path() to set an arbitrary error status on the parent
33643     context, in order to propagate errors from a child.
33644
33645  test/solid-pattern-cache-stress.c |   32 +++++++++++++++++++++++++-------
33646  1 file changed, 25 insertions(+), 7 deletions(-)
33647
33648 commit bcb2724920aa1bca1a9a82b5017d3180f5f9523e
33649 Author: Chris Wilson <chris@chris-wilson.co.uk>
33650 Date:   Tue Dec 9 20:44:25 2008 +0000
33651
33652     [path] Mark points as const during _cairo_path_fixed_interpret()
33653     
33654     Use const to document the read-only nature of the arguments passed to the
33655     callbacks.
33656
33657  src/cairo-path-bounds.c            |   33 +++--------
33658  src/cairo-path-fill.c              |   33 +++--------
33659  src/cairo-path-fixed.c             |   86 +++++++++++++---------------
33660  src/cairo-path-in-fill.c           |   12 ++--
33661  src/cairo-path-stroke.c            |  108 ++++++++++++------------------------
33662  src/cairo-path.c                   |   26 +++++----
33663  src/cairo-pdf-operators.c          |   12 ++--
33664  src/cairo-pen.c                    |    4 +-
33665  src/cairo-quartz-surface.c         |   11 +++-
33666  src/cairo-rectangle.c              |    6 +-
33667  src/cairo-scaled-font.c            |   12 ++--
33668  src/cairo-script-surface.c         |   12 ++--
33669  src/cairo-spans.c                  |   18 +++---
33670  src/cairo-svg-surface.c            |   15 ++---
33671  src/cairo-type1-fallback.c         |   16 +++---
33672  src/cairo-types-private.h          |    3 +-
33673  src/cairo-win32-printing-surface.c |   12 ++--
33674  src/cairoint.h                     |   12 ++--
33675  18 files changed, 186 insertions(+), 245 deletions(-)
33676
33677 commit 68b29cafa597128e7cae86608e04ecae6070dad9
33678 Author: Chris Wilson <chris@chris-wilson.co.uk>
33679 Date:   Tue Dec 9 20:15:34 2008 +0000
33680
33681     [spline] Propagate errors during add point.
33682     
33683     Yikes! The callback could fail so we need to propagate the error status.
33684
33685  src/cairo-path-fill.c     |   11 +++--------
33686  src/cairo-path-fixed.c    |    7 ++-----
33687  src/cairo-path-in-fill.c  |    7 ++-----
33688  src/cairo-path-stroke.c   |   14 ++++++--------
33689  src/cairo-pen.c           |   23 ++++++++++++-----------
33690  src/cairo-spline.c        |   40 ++++++++++++++++++++--------------------
33691  src/cairo-types-private.h |    6 +++++-
33692  src/cairoint.h            |    9 ++-------
33693  8 files changed, 52 insertions(+), 65 deletions(-)
33694
33695 commit 2f3905dec38a710234aba30e1983b80ea3066a50
33696 Author: Chris Wilson <chris@chris-wilson.co.uk>
33697 Date:   Tue Dec 9 19:21:35 2008 +0000
33698
33699     [image] Set status on error path.
33700     
33701     We failed to set the status after cairo_image_surface_create() returned an
33702     error.
33703
33704  src/cairo-image-surface.c |    4 ++--
33705  1 file changed, 2 insertions(+), 2 deletions(-)
33706
33707 commit dfc49a67e62bea359b33413e9b882e92952431de
33708 Author: Chris Wilson <chris@chris-wilson.co.uk>
33709 Date:   Tue Dec 9 14:44:51 2008 +0000
33710
33711     [test] Trim the number of fallback resolutions tested.
33712     
33713     Simplify the test matrix to only include testing the fallback-resolution
33714     of a uniform scale in one or both axes.
33715
33716  test/Makefile.am                              |   20 ---
33717  test/fallback-resolution.c                    |  222 ++++++++++++++-----------
33718  test/fallback-resolution.ppi150x150.ref.png   |  Bin 8043 -> 8058 bytes
33719  test/fallback-resolution.ppi150x300.ref.png   |  Bin 6848 -> 0 bytes
33720  test/fallback-resolution.ppi150x37.5.ref.png  |  Bin 13176 -> 0 bytes
33721  test/fallback-resolution.ppi150x600.ref.png   |  Bin 6338 -> 0 bytes
33722  test/fallback-resolution.ppi150x72.ref.png    |  Bin 8370 -> 8303 bytes
33723  test/fallback-resolution.ppi150x75.ref.png    |  Bin 10445 -> 0 bytes
33724  test/fallback-resolution.ppi300x150.ref.png   |  Bin 6851 -> 0 bytes
33725  test/fallback-resolution.ppi300x300.ref.png   |  Bin 5637 -> 5639 bytes
33726  test/fallback-resolution.ppi300x37.5.ref.png  |  Bin 12870 -> 0 bytes
33727  test/fallback-resolution.ppi300x600.ref.png   |  Bin 4848 -> 0 bytes
33728  test/fallback-resolution.ppi300x72.ref.png    |  Bin 7053 -> 7014 bytes
33729  test/fallback-resolution.ppi300x75.ref.png    |  Bin 9617 -> 0 bytes
33730  test/fallback-resolution.ppi37.5x150.ref.png  |  Bin 12728 -> 0 bytes
33731  test/fallback-resolution.ppi37.5x300.ref.png  |  Bin 11981 -> 0 bytes
33732  test/fallback-resolution.ppi37.5x37.5.ref.png |  Bin 14098 -> 14092 bytes
33733  test/fallback-resolution.ppi37.5x600.ref.png  |  Bin 11654 -> 0 bytes
33734  test/fallback-resolution.ppi37.5x72.ref.png   |  Bin 12990 -> 12906 bytes
33735  test/fallback-resolution.ppi37.5x75.ref.png   |  Bin 13787 -> 0 bytes
33736  test/fallback-resolution.ppi600x150.ref.png   |  Bin 6096 -> 0 bytes
33737  test/fallback-resolution.ppi600x300.ref.png   |  Bin 4812 -> 0 bytes
33738  test/fallback-resolution.ppi600x37.5.ref.png  |  Bin 12401 -> 0 bytes
33739  test/fallback-resolution.ppi600x600.ref.png   |  Bin 4104 -> 4090 bytes
33740  test/fallback-resolution.ppi600x72.ref.png    |  Bin 6398 -> 6326 bytes
33741  test/fallback-resolution.ppi600x75.ref.png    |  Bin 8974 -> 0 bytes
33742  test/fallback-resolution.ppi72x150.ref.png    |  Bin 8069 -> 8061 bytes
33743  test/fallback-resolution.ppi72x300.ref.png    |  Bin 6803 -> 6911 bytes
33744  test/fallback-resolution.ppi72x37.5.ref.png   |  Bin 13147 -> 13167 bytes
33745  test/fallback-resolution.ppi72x600.ref.png    |  Bin 6245 -> 6214 bytes
33746  test/fallback-resolution.ppi72x72.ref.png     |  Bin 8409 -> 8416 bytes
33747  test/fallback-resolution.ppi72x75.ref.png     |  Bin 10628 -> 10620 bytes
33748  test/fallback-resolution.ppi75x150.ref.png    |  Bin 9940 -> 0 bytes
33749  test/fallback-resolution.ppi75x300.ref.png    |  Bin 9003 -> 0 bytes
33750  test/fallback-resolution.ppi75x37.5.ref.png   |  Bin 14020 -> 0 bytes
33751  test/fallback-resolution.ppi75x600.ref.png    |  Bin 8455 -> 0 bytes
33752  test/fallback-resolution.ppi75x72.ref.png     |  Bin 10202 -> 10119 bytes
33753  test/fallback-resolution.ppi75x75.ref.png     |  Bin 12101 -> 12127 bytes
33754  38 files changed, 121 insertions(+), 121 deletions(-)
33755
33756 commit 0ebbcd671c362d98a60214872fa48aee1e42dde1
33757 Author: Chris Wilson <chris@chris-wilson.co.uk>
33758 Date:   Tue Dec 9 14:30:58 2008 +0000
33759
33760     [test] Fix memleak from fallback-resolution.
33761     
33762     The test-name was being recreated for every pass, but was never freed.
33763
33764  test/fallback-resolution.c |    2 ++
33765  1 file changed, 2 insertions(+)
33766
33767 commit a9697e5fb04d045fe7aaf0cee80c41eb9d09e1c1
33768 Author: Chris Wilson <chris@chris-wilson.co.uk>
33769 Date:   Fri Dec 12 11:08:13 2008 +0000
33770
33771     [test] Exercise glyph culling.
33772     
33773     Sascha Steinbiss reported an issue with glyph culling,
33774     http://lists.cairographics.org/archives/cairo/2008-December/015976.html,
33775     whereby we failed to update the text clusters upon culling the glyphs in
33776     the gstate and proceeded to read beyond the end of the glyph array in the
33777     PDF backend. This test case setups a similar condition as reported, by
33778     trying to write a wide string into a small box.
33779
33780  test/Makefile.am              |    3 ++
33781  test/culled-glyphs.c          |   62 +++++++++++++++++++++++++++++++++++++++++
33782  test/culled-glyphs.ps.ref.png |  Bin 0 -> 372 bytes
33783  test/culled-glyphs.ref.png    |  Bin 0 -> 434 bytes
33784  4 files changed, 65 insertions(+)
33785
33786 commit 095a1fd7860bd1f6d4116766ade0ec9a382bb957
33787 Author: Chris Wilson <chris@chris-wilson.co.uk>
33788 Date:   Fri Dec 5 21:14:45 2008 +0000
33789
33790     [gstate] Remove culled glyphs from clusters.
33791     
33792     Sascha Steinbiss reported a bug where the PDF backend was reading beyond
33793     the end of the glyph array:
33794     http://lists.cairographics.org/archives/cairo/2008-December/015976.html.
33795     
33796     It transpires that in the early glyph culling in the gstate we were
33797     not updating the clusters to skip culled glyphs.
33798
33799  src/cairo-gstate.c |  223 +++++++++++++++++++++++++++++++++++++++++-----------
33800  src/cairo.c        |    9 ++-
33801  2 files changed, 183 insertions(+), 49 deletions(-)
33802
33803 commit 834f1d7b7097dcc3a32f6c65d21e87fd272d924a
33804 Author: Julien Danjou <julien@danjou.info>
33805 Date:   Tue Nov 18 10:01:49 2008 +0100
33806
33807     [xcb] check for render extension presence
33808     
33809     Otherwise this may leads to an invalid memory access to r.
33810     
33811     Fixes: Bug 18588 - XCB backend fails with missing render.
33812     https://bugs.freedesktop.org/show_bug.cgi?id=18588
33813     
33814     Signed-off-by: Julien Danjou <julien@danjou.info>
33815     Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
33816
33817  AUTHORS                 |    1 +
33818  src/cairo-xcb-surface.c |    8 ++++++--
33819  2 files changed, 7 insertions(+), 2 deletions(-)
33820
33821 commit e184bf0d3592c8703b1193d37553cdcdee313139
33822 Author: Chris Wilson <chris@chris-wilson.co.uk>
33823 Date:   Fri Dec 12 10:12:43 2008 +0000
33824
33825     Fix compilation with --enable-png=no
33826     
33827     Adrian Johnson spotted that the build was broken if the PNG functions were
33828     disabled. Fix.
33829
33830  src/cairoint.h                             |    1 -
33831  util/cairo-script/cairo-script-operators.c |    8 ++++++++
33832  util/cairo-trace/trace.c                   |    4 ++++
33833  3 files changed, 12 insertions(+), 1 deletion(-)
33834
33835 commit 391c6026402dee09bb34816637114cea990cd93a
33836 Merge: 2f1b581 d93bf10
33837 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
33838 Date:   Thu Dec 11 14:41:01 2008 -0500
33839
33840     Merge branch '1.8'
33841
33842 commit 2f1b581f54713c899f3b03af1e0ac8c38c36c385
33843 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
33844 Date:   Thu Dec 11 10:34:37 2008 -0500
33845
33846     [quartz] Create a copy instead of increasing the reference
33847     
33848     The pattern could be stack allocated so we can't take a reference to it.
33849     
33850     Some testing of quartz shows that it doesn't deal with malloc failure particularily
33851     well. In the best case CGFunctionCreate returns NULL, in the worst case it just crashes.
33852     Quartz does seem to be able to handle a NULL CGFunctionRef, so returning NULL if
33853     we fail to copy the pattern avoids complicating the code to deal with
33854     propagating the failure and shouldn't cause any additional crashes.
33855     
33856     Based on a patch by Paolo Bonzini.
33857
33858  src/cairo-quartz-surface.c |   16 ++++++++++++++--
33859  1 file changed, 14 insertions(+), 2 deletions(-)
33860
33861 commit f7b3f1b7d70a271575d3bb233b7ee51a21861c05
33862 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
33863 Date:   Wed Dec 10 17:54:59 2008 -0500
33864
33865     [quartz] Propagate const patterns through the casts
33866     
33867     As part of this avoid using cairo_pattern_get_matrix() because it requires a
33868     'cairo_pattern_t *' instead of 'const cairo_pattern *'
33869     
33870     Also, make a copy of the pattern before pasing it in to cairo_set_source()
33871
33872  src/cairo-quartz-surface.c |   39 +++++++++++++++++++++++----------------
33873  1 file changed, 23 insertions(+), 16 deletions(-)
33874
33875 commit d93bf10edc7e432349524221a3d1b0f0b2ec8090
33876 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
33877 Date:   Wed Dec 10 17:02:55 2008 -0500
33878
33879     [quartz] Create a copy of the pattern so that the reference counts are balanced
33880     
33881     The pattern could be stack allocated so we can't take a reference to it;
33882     instead make a copy.
33883     
33884     Based on a patch by Paolo Bonzini.
33885
33886  src/cairo-quartz-surface.c |   16 ++++++++++++++--
33887  1 file changed, 14 insertions(+), 2 deletions(-)
33888
33889 commit db4c427e8460b0e326691bd6d3784178a713eb33
33890 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
33891 Date:   Tue Dec 9 12:03:11 2008 -0500
33892
33893     [quartz] Change some pattern casts to access to the base class
33894     
33895     Avoiding casts gives us some more type safety.
33896
33897  src/cairo-quartz-surface.c |   12 ++++++------
33898  1 file changed, 6 insertions(+), 6 deletions(-)
33899
33900 commit 5f60e2e00455f2894c7ce3805a029c806f21514a
33901 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
33902 Date:   Tue Dec 9 11:41:10 2008 -0500
33903
33904     Reorganize the (set|get)_antialias prototypes
33905     
33906     Move _cairo_gstate_set_antialias() and _cairo_gstate_get_antialias() into the
33907     gstate section of cairoint.h
33908
33909  src/cairoint.h |   14 +++++++-------
33910  1 file changed, 7 insertions(+), 7 deletions(-)
33911
33912 commit 673640a3b3931995897b01d49c5dd8d82b50dac2
33913 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
33914 Date:   Thu Dec 4 17:53:06 2008 -0500
33915
33916     [win32] Use MOD instead of the '%' operator
33917     
33918     Repeat should be handled using MOD instead of '%' so that negative numbers
33919     are handled as expected. E.g. -1 mod 600 = 599, not 495 as the '%' operator
33920     gives. This was causing https://bugzilla.mozilla.org/show_bug.cgi?id=466258
33921     
33922     Patch from Robert O'Callahan
33923
33924  src/cairo-win32-surface.c |    7 +++++--
33925  1 file changed, 5 insertions(+), 2 deletions(-)
33926
33927 commit 5e06085b483dcaaa7b1b29b13cd2813c7e51e02a
33928 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
33929 Date:   Fri Aug 1 23:28:15 2008 +0300
33930
33931     [cairo-spans] Render clip mask surfaces with spans if we can.
33932     
33933     Generating surface masks for clipping can also benefit from span
33934     rendering sometimes.
33935
33936  src/cairo-clip.c                                   |  140 ++++++++++++++++++++
33937  test/clip-fill-rule.pdf.argb32.ref.png             |  Bin 0 -> 509 bytes
33938  test/clip-fill-rule.rgb24.ref.png                  |  Bin 380 -> 390 bytes
33939  test/clip-fill-rule.test-paginated.rgb24.ref.png   |  Bin 0 -> 361 bytes
33940  test/clip-fill-rule.xlib.rgb24.ref.png             |  Bin 0 -> 380 bytes
33941  test/clip-nesting.pdf.argb32.ref.png               |  Bin 0 -> 850 bytes
33942  test/clip-nesting.rgb24.ref.png                    |  Bin 955 -> 963 bytes
33943  test/clip-nesting.test-fallback.rgb24.ref.png      |  Bin 0 -> 936 bytes
33944  test/clip-nesting.test-paginated.rgb24.ref.png     |  Bin 0 -> 936 bytes
33945  test/clip-nesting.xlib.rgb24.ref.png               |  Bin 0 -> 955 bytes
33946  test/clip-operator.pdf.argb32.ref.png              |  Bin 11600 -> 11604 bytes
33947  test/clip-operator.ps3.argb32.ref.png              |  Bin 7574 -> 7576 bytes
33948  test/clip-operator.ref.png                         |  Bin 8247 -> 8210 bytes
33949  test/clip-operator.test-paginated.argb32.ref.png   |  Bin 0 -> 8247 bytes
33950  test/clip-twice.pdf.argb32.ref.png                 |  Bin 1458 -> 1498 bytes
33951  test/clip-twice.ref.png                            |  Bin 1362 -> 1342 bytes
33952  test/clip-twice.rgb24.ref.png                      |  Bin 1198 -> 1203 bytes
33953  test/clip-twice.test-fallback.argb32.ref.png       |  Bin 0 -> 1343 bytes
33954  test/clip-twice.test-fallback.rgb24.ref.png        |  Bin 0 -> 1179 bytes
33955  test/clip-twice.test-paginated.argb32.ref.png      |  Bin 0 -> 1361 bytes
33956  test/clip-twice.test-paginated.rgb24.ref.png       |  Bin 0 -> 1199 bytes
33957  test/clip-twice.xlib.ref.png                       |  Bin 0 -> 1362 bytes
33958  test/clip-twice.xlib.rgb24.ref.png                 |  Bin 0 -> 1198 bytes
33959  test/device-offset-fractional.pdf.argb32.ref.png   |  Bin 0 -> 275 bytes
33960  test/device-offset-fractional.pdf.rgb24.ref.png    |  Bin 0 -> 275 bytes
33961  test/filter-nearest-offset.pdf.argb32.ref.png      |  Bin 0 -> 4295 bytes
33962  test/filter-nearest-offset.pdf.rgb24.ref.png       |  Bin 0 -> 4295 bytes
33963  test/filter-nearest-transformed.pdf.argb32.ref.png |  Bin 0 -> 488 bytes
33964  test/filter-nearest-transformed.pdf.rgb24.ref.png  |  Bin 0 -> 488 bytes
33965  test/linear-gradient.pdf.argb32.ref.png            |  Bin 1118 -> 1112 bytes
33966  test/linear-gradient.pdf.rgb24.ref.png             |  Bin 1118 -> 1112 bytes
33967  test/mask.pdf.argb32.ref.png                       |  Bin 9956 -> 9903 bytes
33968  test/mask.ref.png                                  |  Bin 8571 -> 8581 bytes
33969  test/mask.svg11.argb32.ref.png                     |  Bin 8625 -> 8682 bytes
33970  test/mask.svg12.argb32.ref.png                     |  Bin 8625 -> 8682 bytes
33971  test/meta-surface-pattern.pdf.argb32.ref.png       |  Bin 4017 -> 4011 bytes
33972  test/meta-surface-pattern.svg11.argb32.ref.png     |  Bin 3928 -> 3924 bytes
33973  test/meta-surface-pattern.svg12.argb32.ref.png     |  Bin 3928 -> 3924 bytes
33974  test/rotate-image-surface-paint.pdf.argb32.ref.png |  Bin 209 -> 215 bytes
33975  test/rotate-image-surface-paint.pdf.rgb24.ref.png  |  Bin 207 -> 215 bytes
33976  test/surface-pattern-scale-down.pdf.argb32.ref.png |  Bin 2386 -> 1532 bytes
33977  test/surface-pattern-scale-down.pdf.rgb24.ref.png  |  Bin 2386 -> 1532 bytes
33978  test/surface-pattern-scale-up.pdf.argb32.ref.png   |  Bin 4247 -> 3834 bytes
33979  test/surface-pattern-scale-up.pdf.rgb24.ref.png    |  Bin 4247 -> 3834 bytes
33980  test/surface-pattern.pdf.argb32.ref.png            |  Bin 0 -> 14808 bytes
33981  test/surface-pattern.pdf.rgb24.ref.png             |  Bin 0 -> 14808 bytes
33982  test/trap-clip.pdf.rgb24.ref.png                   |  Bin 6642 -> 6621 bytes
33983  test/trap-clip.ref.png                             |  Bin 5865 -> 5829 bytes
33984  test/trap-clip.test-paginated.argb32.ref.png       |  Bin 0 -> 5865 bytes
33985  49 files changed, 140 insertions(+)
33986
33987 commit 18634c37026a2d6147443cb6d991576f62b07e6d
33988 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
33989 Date:   Thu Jul 24 20:47:14 2008 +0300
33990
33991     [cairo-spans] Hook up filling paths with spans to cairo-surface-fallback.c.
33992     
33993     This speeds up the mask generation step in cairo_fill() for the image
33994     surface by up to 10x in especially favourable cases.
33995     
33996     image-rgba                              twin-800 7757.80 0.20% -> 749.41 0.29%: 10.36x speedup
33997     image-rgba spiral-diag-pixalign-nonzero-fill-512   15.16 0.44% ->   3.45 8.80%:  5.54x speedup
33998     
33999     More typical simple non-rectilinear geometries are sped up by 30-50%.
34000     This patch does not affect any stroking operations or any fill
34001     operations of pixel aligned rectilinear geometries; those are still
34002     rendered using trapezoids.
34003
34004  src/cairo-surface-fallback.c                       |   86 +++++++++++++++++++-
34005  test/clip-fill-rule.test-fallback.rgb24.ref.png    |  Bin 0 -> 361 bytes
34006  test/clip-operator.pdf.argb32.ref.png              |  Bin 12125 -> 11600 bytes
34007  test/clip-operator.pdf.rgb24.ref.png               |  Bin 7367 -> 6882 bytes
34008  test/clip-operator.ps2.rgb24.ref.png               |  Bin 3624 -> 3736 bytes
34009  test/clip-operator.ps3.argb32.ref.png              |  Bin 0 -> 7574 bytes
34010  test/clip-operator.ps3.rgb24.ref.png               |  Bin 3624 -> 3736 bytes
34011  test/clip-operator.ref.png                         |  Bin 8271 -> 8247 bytes
34012  test/clip-operator.rgb24.ref.png                   |  Bin 3258 -> 3279 bytes
34013  test/clip-operator.test-fallback.argb32.ref.png    |  Bin 0 -> 8252 bytes
34014  test/clip-operator.test-fallback.rgb24.ref.png     |  Bin 0 -> 3241 bytes
34015  test/clip-operator.xlib-fallback.rgb24.ref.png     |  Bin 0 -> 3254 bytes
34016  test/clip-operator.xlib.ref.png                    |  Bin 0 -> 8271 bytes
34017  test/clip-operator.xlib.rgb24.ref.png              |  Bin 0 -> 3258 bytes
34018  test/clip-twice.pdf.argb32.ref.png                 |  Bin 0 -> 1458 bytes
34019  test/clipped-group.pdf.argb32.ref.png              |  Bin 0 -> 298 bytes
34020  test/clipped-group.pdf.rgb24.ref.png               |  Bin 0 -> 298 bytes
34021  test/degenerate-arc.ref.png                        |  Bin 616 -> 544 bytes
34022  test/degenerate-arc.test-fallback.argb32.ref.png   |  Bin 0 -> 547 bytes
34023  test/degenerate-arc.test-fallback.rgb24.ref.png    |  Bin 0 -> 547 bytes
34024  test/degenerate-arc.xlib.ref.png                   |  Bin 0 -> 616 bytes
34025  test/fill-alpha-pattern.pdf.argb32.ref.png         |  Bin 3887 -> 3750 bytes
34026  test/fill-alpha-pattern.pdf.rgb24.ref.png          |  Bin 3840 -> 3758 bytes
34027  test/fill-alpha-pattern.ps3.argb32.ref.png         |  Bin 0 -> 4070 bytes
34028  test/fill-alpha-pattern.ps3.rgb24.ref.png          |  Bin 0 -> 4473 bytes
34029  test/fill-alpha-pattern.ref.png                    |  Bin 3653 -> 3374 bytes
34030  ...fill-alpha-pattern.test-fallback.argb32.ref.png |  Bin 0 -> 3379 bytes
34031  .../fill-alpha-pattern.test-fallback.rgb24.ref.png |  Bin 0 -> 3379 bytes
34032  test/fill-alpha-pattern.xlib.ref.png               |  Bin 0 -> 3653 bytes
34033  test/fill-alpha.ref.png                            |  Bin 2989 -> 2728 bytes
34034  test/fill-alpha.test-fallback.argb32.ref.png       |  Bin 0 -> 2824 bytes
34035  test/fill-alpha.test-fallback.rgb24.ref.png        |  Bin 0 -> 2824 bytes
34036  test/fill-alpha.xlib.ref.png                       |  Bin 0 -> 2989 bytes
34037  test/fill-degenerate-sort-order.ref.png            |  Bin 2397 -> 2406 bytes
34038  test/fill-degenerate-sort-order.rgb24.ref.png      |  Bin 2060 -> 2052 bytes
34039  ...enerate-sort-order.test-fallback.argb32.ref.png |  Bin 0 -> 2378 bytes
34040  ...generate-sort-order.test-fallback.rgb24.ref.png |  Bin 0 -> 2041 bytes
34041  test/fill-degenerate-sort-order.xlib.ref.png       |  Bin 0 -> 2397 bytes
34042  test/fill-degenerate-sort-order.xlib.rgb24.ref.png |  Bin 0 -> 2060 bytes
34043  test/fill-missed-stop.pdf.argb32.ref.png           |  Bin 0 -> 452 bytes
34044  test/fill-rule.ref.png                             |  Bin 1979 -> 2061 bytes
34045  test/fill-rule.rgb24.ref.png                       |  Bin 1722 -> 1780 bytes
34046  test/fill-rule.test-fallback.argb32.ref.png        |  Bin 0 -> 1979 bytes
34047  test/fill-rule.test-fallback.rgb24.ref.png         |  Bin 0 -> 1703 bytes
34048  test/fill-rule.xlib.ref.png                        |  Bin 0 -> 1979 bytes
34049  test/fill-rule.xlib.rgb24.ref.png                  |  Bin 0 -> 1722 bytes
34050  test/finer-grained-fallbacks.ps2.argb32.ref.png    |  Bin 0 -> 1173 bytes
34051  test/finer-grained-fallbacks.ps2.rgb24.ref.png     |  Bin 1096 -> 1154 bytes
34052  test/finer-grained-fallbacks.ps3.argb32.ref.png    |  Bin 0 -> 1173 bytes
34053  test/finer-grained-fallbacks.ps3.rgb24.ref.png     |  Bin 1096 -> 1154 bytes
34054  test/finer-grained-fallbacks.ref.png               |  Bin 1111 -> 1069 bytes
34055  test/finer-grained-fallbacks.rgb24.ref.png         |  Bin 1114 -> 839 bytes
34056  ...-grained-fallbacks.test-fallback.argb32.ref.png |  Bin 0 -> 1111 bytes
34057  ...r-grained-fallbacks.test-fallback.rgb24.ref.png |  Bin 0 -> 854 bytes
34058  test/finer-grained-fallbacks.xlib.ref.png          |  Bin 0 -> 1111 bytes
34059  test/finer-grained-fallbacks.xlib.rgb24.ref.png    |  Bin 0 -> 1114 bytes
34060  test/font-matrix-translation.svg11.argb32.ref.png  |  Bin 0 -> 857 bytes
34061  test/font-matrix-translation.svg11.rgb24.ref.png   |  Bin 0 -> 857 bytes
34062  test/font-matrix-translation.svg12.argb32.ref.png  |  Bin 0 -> 857 bytes
34063  test/font-matrix-translation.svg12.rgb24.ref.png   |  Bin 0 -> 857 bytes
34064  test/ft-show-glyphs-table.svg11.argb32.ref.png     |  Bin 0 -> 9953 bytes
34065  test/ft-show-glyphs-table.svg11.rgb24.ref.png      |  Bin 0 -> 9953 bytes
34066  test/ft-show-glyphs-table.svg12.argb32.ref.png     |  Bin 0 -> 9953 bytes
34067  test/ft-show-glyphs-table.svg12.rgb24.ref.png      |  Bin 0 -> 9953 bytes
34068  ...t-text-vertical-layout-type1.pdf.argb32.ref.png |  Bin 0 -> 3632 bytes
34069  ...ft-text-vertical-layout-type1.pdf.rgb24.ref.png |  Bin 0 -> 3632 bytes
34070  test/ft-text-vertical-layout-type1.ref.png         |  Bin 3980 -> 3643 bytes
34071  ...text-vertical-layout-type1.svg11.argb32.ref.png |  Bin 0 -> 3614 bytes
34072  ...-text-vertical-layout-type1.svg11.rgb24.ref.png |  Bin 0 -> 3614 bytes
34073  ...text-vertical-layout-type1.svg12.argb32.ref.png |  Bin 0 -> 3614 bytes
34074  ...-text-vertical-layout-type1.svg12.rgb24.ref.png |  Bin 0 -> 3614 bytes
34075  ...tical-layout-type1.test-fallback.argb32.ref.png |  Bin 0 -> 3639 bytes
34076  ...rtical-layout-type1.test-fallback.rgb24.ref.png |  Bin 0 -> 3639 bytes
34077  test/ft-text-vertical-layout-type1.xlib.ref.png    |  Bin 0 -> 3980 bytes
34078  ...t-text-vertical-layout-type3.pdf.argb32.ref.png |  Bin 0 -> 3642 bytes
34079  ...ft-text-vertical-layout-type3.pdf.rgb24.ref.png |  Bin 0 -> 3642 bytes
34080  test/ft-text-vertical-layout-type3.ref.png         |  Bin 3934 -> 3609 bytes
34081  ...text-vertical-layout-type3.svg11.argb32.ref.png |  Bin 0 -> 3640 bytes
34082  ...-text-vertical-layout-type3.svg11.rgb24.ref.png |  Bin 0 -> 3640 bytes
34083  ...text-vertical-layout-type3.svg12.argb32.ref.png |  Bin 0 -> 3640 bytes
34084  ...-text-vertical-layout-type3.svg12.rgb24.ref.png |  Bin 0 -> 3640 bytes
34085  ...tical-layout-type3.test-fallback.argb32.ref.png |  Bin 0 -> 3605 bytes
34086  ...rtical-layout-type3.test-fallback.rgb24.ref.png |  Bin 0 -> 3605 bytes
34087  test/ft-text-vertical-layout-type3.xlib.ref.png    |  Bin 0 -> 3934 bytes
34088  test/huge-pattern.pdf.argb32.ref.png               |  Bin 0 -> 2430 bytes
34089  test/linear-gradient.pdf.argb32.ref.png            |  Bin 0 -> 1118 bytes
34090  test/linear-gradient.pdf.rgb24.ref.png             |  Bin 0 -> 1118 bytes
34091  test/linear-gradient.ref.png                       |  Bin 1021 -> 983 bytes
34092  test/linear-gradient.svg11.argb32.ref.png          |  Bin 0 -> 988 bytes
34093  test/linear-gradient.svg11.rgb24.ref.png           |  Bin 0 -> 988 bytes
34094  test/linear-gradient.svg12.argb32.ref.png          |  Bin 0 -> 988 bytes
34095  test/linear-gradient.svg12.rgb24.ref.png           |  Bin 0 -> 988 bytes
34096  test/linear-gradient.test-fallback.argb32.ref.png  |  Bin 0 -> 923 bytes
34097  test/linear-gradient.test-fallback.rgb24.ref.png   |  Bin 0 -> 923 bytes
34098  test/linear-gradient.xlib.ref.png                  |  Bin 0 -> 1021 bytes
34099  test/mask-alpha.ref.png                            |  Bin 640 -> 643 bytes
34100  test/mask-alpha.svg11.argb32.ref.png               |  Bin 615 -> 642 bytes
34101  test/mask-alpha.svg11.rgb24.ref.png                |  Bin 0 -> 592 bytes
34102  test/mask-alpha.svg12.argb32.ref.png               |  Bin 615 -> 642 bytes
34103  test/mask-alpha.svg12.rgb24.ref.png                |  Bin 0 -> 592 bytes
34104  test/mask-alpha.test-fallback.argb32.ref.png       |  Bin 0 -> 627 bytes
34105  test/mask-alpha.xlib.ref.png                       |  Bin 0 -> 640 bytes
34106  test/mask-alpha.xlib.rgb24.ref.png                 |  Bin 0 -> 599 bytes
34107  test/mask.pdf.argb32.ref.png                       |  Bin 8881 -> 9956 bytes
34108  test/mask.pdf.rgb24.ref.png                        |  Bin 8267 -> 8735 bytes
34109  test/mask.ref.png                                  |  Bin 8476 -> 8571 bytes
34110  test/mask.rgb24.ref.png                            |  Bin 7041 -> 7216 bytes
34111  test/mask.svg11.argb32.ref.png                     |  Bin 8527 -> 8625 bytes
34112  test/mask.svg11.rgb24.ref.png                      |  Bin 7935 -> 7203 bytes
34113  test/mask.svg12.argb32.ref.png                     |  Bin 8527 -> 8625 bytes
34114  test/mask.svg12.rgb24.ref.png                      |  Bin 7935 -> 7203 bytes
34115  test/mask.test-fallback.argb32.ref.png             |  Bin 0 -> 8457 bytes
34116  test/mask.test-fallback.rgb24.ref.png              |  Bin 0 -> 7058 bytes
34117  test/mask.xlib-fallback.rgb24.ref.png              |  Bin 0 -> 7216 bytes
34118  test/mask.xlib.ref.png                             |  Bin 0 -> 8476 bytes
34119  test/mask.xlib.rgb24.ref.png                       |  Bin 0 -> 7041 bytes
34120  test/meta-surface-pattern.pdf.argb32.ref.png       |  Bin 0 -> 4017 bytes
34121  test/meta-surface-pattern.pdf.rgb24.ref.png        |  Bin 4009 -> 3910 bytes
34122  test/meta-surface-pattern.svg11.argb32.ref.png     |  Bin 3924 -> 3928 bytes
34123  test/meta-surface-pattern.svg11.rgb24.ref.png      |  Bin 4593 -> 3914 bytes
34124  test/meta-surface-pattern.svg12.argb32.ref.png     |  Bin 3924 -> 3928 bytes
34125  test/meta-surface-pattern.svg12.rgb24.ref.png      |  Bin 4593 -> 3914 bytes
34126  test/operator-clear.pdf.argb32.ref.png             |  Bin 1614 -> 1607 bytes
34127  test/operator-clear.ps2.argb32.ref.png             |  Bin 0 -> 1156 bytes
34128  test/operator-clear.ps3.argb32.ref.png             |  Bin 0 -> 1156 bytes
34129  test/operator-source.pdf.argb32.ref.png            |  Bin 5149 -> 5112 bytes
34130  test/operator-source.pdf.rgb24.ref.png             |  Bin 4354 -> 4186 bytes
34131  test/operator-source.ref.png                       |  Bin 4420 -> 4425 bytes
34132  test/operator-source.rgb24.ref.png                 |  Bin 3201 -> 3231 bytes
34133  test/operator-source.test-fallback.argb32.ref.png  |  Bin 0 -> 4401 bytes
34134  test/operator-source.test-fallback.rgb24.ref.png   |  Bin 0 -> 3200 bytes
34135  test/operator-source.xlib-fallback.rgb24.ref.png   |  Bin 0 -> 3193 bytes
34136  test/operator-source.xlib.ref.png                  |  Bin 0 -> 4420 bytes
34137  test/operator-source.xlib.rgb24.ref.png            |  Bin 0 -> 3201 bytes
34138  test/over-above-source.ps2.argb32.ref.png          |  Bin 636 -> 558 bytes
34139  test/over-above-source.ps3.argb32.ref.png          |  Bin 636 -> 558 bytes
34140  test/over-above-source.ref.png                     |  Bin 538 -> 560 bytes
34141  test/over-above-source.rgb24.ref.png               |  Bin 461 -> 466 bytes
34142  .../over-above-source.test-fallback.argb32.ref.png |  Bin 0 -> 533 bytes
34143  test/over-above-source.test-fallback.rgb24.ref.png |  Bin 0 -> 450 bytes
34144  test/over-above-source.xlib.ref.png                |  Bin 0 -> 538 bytes
34145  test/over-above-source.xlib.rgb24.ref.png          |  Bin 0 -> 461 bytes
34146  test/over-around-source.pdf.argb32.ref.png         |  Bin 0 -> 585 bytes
34147  test/over-around-source.ps2.argb32.ref.png         |  Bin 632 -> 522 bytes
34148  test/over-around-source.ps3.argb32.ref.png         |  Bin 632 -> 522 bytes
34149  test/over-around-source.ref.png                    |  Bin 614 -> 645 bytes
34150  ...over-around-source.test-fallback.argb32.ref.png |  Bin 0 -> 610 bytes
34151  test/over-around-source.xlib.ref.png               |  Bin 0 -> 614 bytes
34152  test/over-around-source.xlib.rgb24.ref.png         |  Bin 0 -> 503 bytes
34153  test/over-below-source.pdf.argb32.ref.png          |  Bin 0 -> 464 bytes
34154  test/over-between-source.ps2.argb32.ref.png        |  Bin 678 -> 551 bytes
34155  test/over-between-source.ps3.argb32.ref.png        |  Bin 678 -> 551 bytes
34156  test/over-between-source.ref.png                   |  Bin 575 -> 612 bytes
34157  ...ver-between-source.test-fallback.argb32.ref.png |  Bin 0 -> 578 bytes
34158  test/over-between-source.xlib.ref.png              |  Bin 0 -> 575 bytes
34159  test/over-between-source.xlib.rgb24.ref.png        |  Bin 0 -> 473 bytes
34160  test/push-group.pdf.argb32.ref.png                 |  Bin 0 -> 2722 bytes
34161  test/push-group.pdf.rgb24.ref.png                  |  Bin 2714 -> 2740 bytes
34162  test/push-group.ref.png                            |  Bin 3126 -> 3060 bytes
34163  test/push-group.rgb24.ref.png                      |  Bin 2961 -> 2912 bytes
34164  test/push-group.svg11.argb32.ref.png               |  Bin 2935 -> 3034 bytes
34165  test/push-group.svg12.argb32.ref.png               |  Bin 2935 -> 3034 bytes
34166  test/push-group.test-fallback.argb32.ref.png       |  Bin 0 -> 3107 bytes
34167  test/push-group.test-fallback.rgb24.ref.png        |  Bin 0 -> 2942 bytes
34168  test/push-group.xlib-fallback.rgb24.ref.png        |  Bin 0 -> 2912 bytes
34169  test/push-group.xlib.ref.png                       |  Bin 0 -> 3126 bytes
34170  test/push-group.xlib.rgb24.ref.png                 |  Bin 0 -> 2961 bytes
34171  test/radial-gradient.pdf.argb32.ref.png            |  Bin 0 -> 79601 bytes
34172  test/radial-gradient.pdf.rgb24.ref.png             |  Bin 0 -> 79601 bytes
34173  test/random-intersections.ref.png                  |  Bin 148722 -> 133462 bytes
34174  ...ndom-intersections.test-fallback.argb32.ref.png |  Bin 0 -> 132312 bytes
34175  ...andom-intersections.test-fallback.rgb24.ref.png |  Bin 0 -> 132312 bytes
34176  test/random-intersections.xlib.ref.png             |  Bin 0 -> 148722 bytes
34177  test/smask-fill.pdf.argb32.ref.png                 |  Bin 0 -> 1909 bytes
34178  test/smask-fill.pdf.rgb24.ref.png                  |  Bin 0 -> 1909 bytes
34179  test/smask-fill.ref.png                            |  Bin 1223 -> 1156 bytes
34180  test/smask-fill.svg11.argb32.ref.png               |  Bin 0 -> 1128 bytes
34181  test/smask-fill.svg11.rgb24.ref.png                |  Bin 0 -> 1128 bytes
34182  test/smask-fill.svg12.argb32.ref.png               |  Bin 0 -> 1128 bytes
34183  test/smask-fill.svg12.rgb24.ref.png                |  Bin 0 -> 1128 bytes
34184  test/smask-fill.test-fallback.argb32.ref.png       |  Bin 0 -> 1148 bytes
34185  test/smask-fill.test-fallback.rgb24.ref.png        |  Bin 0 -> 1148 bytes
34186  test/smask-fill.xlib-fallback.ref.png              |  Bin 0 -> 1156 bytes
34187  test/smask-fill.xlib.ref.png                       |  Bin 0 -> 1223 bytes
34188  test/smask-image-mask.pdf.argb32.ref.png           |  Bin 0 -> 1651 bytes
34189  test/smask-image-mask.pdf.rgb24.ref.png            |  Bin 0 -> 1651 bytes
34190  test/smask-mask.pdf.argb32.ref.png                 |  Bin 0 -> 4398 bytes
34191  test/smask-mask.pdf.rgb24.ref.png                  |  Bin 0 -> 4398 bytes
34192  test/smask-paint.pdf.argb32.ref.png                |  Bin 0 -> 4496 bytes
34193  test/smask-paint.pdf.rgb24.ref.png                 |  Bin 0 -> 4496 bytes
34194  test/smask-stroke.pdf.argb32.ref.png               |  Bin 0 -> 1417 bytes
34195  test/smask-stroke.pdf.rgb24.ref.png                |  Bin 0 -> 1417 bytes
34196  test/smask-text.svg11.argb32.ref.png               |  Bin 0 -> 1791 bytes
34197  test/smask-text.svg11.rgb24.ref.png                |  Bin 0 -> 1791 bytes
34198  test/smask-text.svg12.argb32.ref.png               |  Bin 0 -> 1791 bytes
34199  test/smask-text.svg12.rgb24.ref.png                |  Bin 0 -> 1791 bytes
34200  test/smask.pdf.argb32.ref.png                      |  Bin 0 -> 4496 bytes
34201  test/smask.pdf.rgb24.ref.png                       |  Bin 0 -> 4496 bytes
34202  test/text-pattern.pdf.argb32.ref.png               |  Bin 1823 -> 2151 bytes
34203  test/text-pattern.svg11.argb32.ref.png             |  Bin 1733 -> 1743 bytes
34204  test/text-pattern.svg12.argb32.ref.png             |  Bin 1733 -> 1743 bytes
34205  test/text-rotate.svg11.argb32.ref.png              |  Bin 0 -> 16942 bytes
34206  test/text-rotate.svg11.rgb24.ref.png               |  Bin 0 -> 16942 bytes
34207  test/text-rotate.svg12.argb32.ref.png              |  Bin 0 -> 16942 bytes
34208  test/text-rotate.svg12.rgb24.ref.png               |  Bin 0 -> 16942 bytes
34209  test/text-transform.svg11.argb32.ref.png           |  Bin 0 -> 5677 bytes
34210  test/text-transform.svg11.rgb24.ref.png            |  Bin 0 -> 5677 bytes
34211  test/text-transform.svg12.argb32.ref.png           |  Bin 0 -> 5677 bytes
34212  test/text-transform.svg12.rgb24.ref.png            |  Bin 0 -> 5677 bytes
34213  test/trap-clip.pdf.argb32.ref.png                  |  Bin 5809 -> 6720 bytes
34214  test/trap-clip.pdf.rgb24.ref.png                   |  Bin 5768 -> 6642 bytes
34215  test/trap-clip.ps2.argb32.ref.png                  |  Bin 5690 -> 4849 bytes
34216  test/trap-clip.ref.png                             |  Bin 5772 -> 5865 bytes
34217  test/trap-clip.rgb24.ref.png                       |  Bin 5365 -> 5457 bytes
34218  test/trap-clip.test-fallback.argb32.ref.png        |  Bin 0 -> 5753 bytes
34219  test/trap-clip.test-fallback.rgb24.ref.png         |  Bin 0 -> 5379 bytes
34220  test/trap-clip.xlib.ref.png                        |  Bin 0 -> 5772 bytes
34221  test/trap-clip.xlib.rgb24.ref.png                  |  Bin 0 -> 5365 bytes
34222  test/twin.svg11.argb32.ref.png                     |  Bin 0 -> 1797 bytes
34223  test/twin.svg11.rgb24.ref.png                      |  Bin 0 -> 1797 bytes
34224  test/twin.svg12.argb32.ref.png                     |  Bin 0 -> 1797 bytes
34225  test/twin.svg12.rgb24.ref.png                      |  Bin 0 -> 1797 bytes
34226  test/unbounded-operator.pdf.argb32.ref.png         |  Bin 0 -> 2713 bytes
34227  test/unbounded-operator.ps2.argb32.ref.png         |  Bin 0 -> 2713 bytes
34228  test/unbounded-operator.ps3.argb32.ref.png         |  Bin 0 -> 2713 bytes
34229  test/unbounded-operator.rgb24.ref.png              |  Bin 1315 -> 1341 bytes
34230  .../unbounded-operator.test-fallback.rgb24.ref.png |  Bin 0 -> 1306 bytes
34231  test/unbounded-operator.xlib.rgb24.ref.png         |  Bin 0 -> 1315 bytes
34232  test/user-font-proxy.pdf.argb32.ref.png            |  Bin 0 -> 16937 bytes
34233  test/user-font-proxy.pdf.rgb24.ref.png             |  Bin 0 -> 16937 bytes
34234  test/user-font-proxy.ref.png                       |  Bin 18121 -> 16937 bytes
34235  test/user-font-proxy.svg11.argb32.ref.png          |  Bin 0 -> 16836 bytes
34236  test/user-font-proxy.svg11.rgb24.ref.png           |  Bin 0 -> 16836 bytes
34237  test/user-font-proxy.svg12.argb32.ref.png          |  Bin 0 -> 16836 bytes
34238  test/user-font-proxy.svg12.rgb24.ref.png           |  Bin 0 -> 16836 bytes
34239  test/user-font-proxy.test-fallback.argb32.ref.png  |  Bin 0 -> 16835 bytes
34240  test/user-font-proxy.test-fallback.rgb24.ref.png   |  Bin 0 -> 16835 bytes
34241  test/user-font-proxy.xlib.ref.png                  |  Bin 0 -> 18121 bytes
34242  test/user-font.ref.png                             |  Bin 6183 -> 6082 bytes
34243  test/user-font.svg11.argb32.ref.png                |  Bin 0 -> 6411 bytes
34244  test/user-font.svg11.rgb24.ref.png                 |  Bin 0 -> 6411 bytes
34245  test/user-font.svg12.argb32.ref.png                |  Bin 0 -> 6411 bytes
34246  test/user-font.svg12.rgb24.ref.png                 |  Bin 0 -> 6411 bytes
34247  test/user-font.test-fallback.argb32.ref.png        |  Bin 0 -> 5601 bytes
34248  test/user-font.test-fallback.rgb24.ref.png         |  Bin 0 -> 5601 bytes
34249  test/user-font.xlib.ref.png                        |  Bin 0 -> 6183 bytes
34250  246 files changed, 85 insertions(+), 1 deletion(-)
34251
34252 commit 85b81a3e59401e2fc68209634f7622694e7d30e1
34253 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
34254 Date:   Fri Jul 11 13:10:20 2008 +0300
34255
34256     [cairo-spans] Implement a span renderer for cairo_image_surface_t.
34257     
34258     This implementation first produces an A8 alpha mask and then
34259     pixman_image_composites the result to the destination with the source.
34260     Clipping is handled by pixman when it is region clipping or by
34261     cairo-surface-fallback when it is something more complex.
34262
34263  src/cairo-image-surface.c |  273 ++++++++++++++++++++++++++++++++++++++-------
34264  1 file changed, 233 insertions(+), 40 deletions(-)
34265
34266 commit 7994fc06ad66e31fcbc16f6e8cd9ad226022ec8c
34267 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
34268 Date:   Thu Aug 28 22:16:07 2008 +0300
34269
34270     [cairo-spans] New cairo_tor_scan_converter_t.
34271     
34272     Imports a new polygon scan converter implementation from the
34273     repository at
34274     
34275     http://cgit.freedesktop.org/~joonas/glitter-paths/
34276     
34277     Glitter paths is a stand alone polygon rasteriser derived from David
34278     Turner's reimplementation of Tor Anderssons's 15x17 supersampling
34279     rasteriser from the Apparition graphics library.  The main new feature
34280     in this implementation is cheaply choosing per-scan line between doing
34281     fully analytical coverage computation for an entire row at a time
34282     vs. using a supersampling approach.
34283
34284  src/Makefile.sources           |    1 +
34285  src/cairo-spans-private.h      |   10 +
34286  src/cairo-spans.c              |   18 +-
34287  src/cairo-tor-scan-converter.c | 2003 ++++++++++++++++++++++++++++++++++++++++
34288  4 files changed, 2027 insertions(+), 5 deletions(-)
34289
34290 commit 2078e5b20fdff76ada6e13b29b2775b7dcd35439
34291 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
34292 Date:   Thu Jul 31 01:58:08 2008 +0300
34293
34294     [cairo-spans] New _cairo_path_fixed_fill_using_spans().
34295     
34296     Adds a helper function for backends to use for filling a path using
34297     spans.
34298
34299  src/cairo-spans-private.h |   10 ++++
34300  src/cairo-spans.c         |  145 +++++++++++++++++++++++++++++++++++++++++++++
34301  2 files changed, 155 insertions(+)
34302
34303 commit 4a9b274eebe674bbc5c66dc3e33256723cdf9829
34304 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
34305 Date:   Fri Jul 11 00:59:47 2008 +0300
34306
34307     [cairo-spans] Add a check/create_span_renderer backend methods.
34308     
34309     A surface will have the chance to use span rendering at cairo_fill()
34310     time by creating a renderer for a specific combination of
34311     pattern/dst/op before the path is scan converted.  The protocol is to
34312     first call check_span_renderer() to see if the surface wants to render
34313     with spans and then later call create_span_renderer() to create the
34314     renderer for real once the extents of the path are known.
34315     
34316     No backends have an implementation yet.
34317
34318  src/cairo-analysis-surface.c       |    4 +++
34319  src/cairo-beos-surface.cpp         |    2 ++
34320  src/cairo-directfb-surface.c       |    2 ++
34321  src/cairo-glitz-surface.c          |    2 ++
34322  src/cairo-image-surface.c          |    2 ++
34323  src/cairo-meta-surface.c           |    2 ++
34324  src/cairo-os2-surface.c            |    2 ++
34325  src/cairo-paginated-surface.c      |    2 ++
34326  src/cairo-pdf-surface.c            |    2 ++
34327  src/cairo-ps-surface.c             |    2 ++
34328  src/cairo-quartz-image-surface.c   |    2 ++
34329  src/cairo-quartz-surface.c         |    2 ++
34330  src/cairo-script-surface.c         |    2 ++
34331  src/cairo-sdl-surface.c            |    2 ++
34332  src/cairo-surface.c                |   53 ++++++++++++++++++++++++++++++++++++
34333  src/cairo-svg-surface.c            |    2 ++
34334  src/cairo-type3-glyph-surface.c    |    2 ++
34335  src/cairo-win32-printing-surface.c |    2 ++
34336  src/cairo-win32-surface.c          |    2 ++
34337  src/cairo-xcb-surface.c            |    2 ++
34338  src/cairo-xlib-surface.c           |    2 ++
34339  src/cairoint.h                     |   30 ++++++++++++++++++++
34340  src/test-fallback-surface.c        |    2 ++
34341  src/test-meta-surface.c            |    2 ++
34342  src/test-paginated-surface.c       |    2 ++
34343  25 files changed, 131 insertions(+)
34344
34345 commit 948c3526dcdbc440395fff4ce9bf4b7553930d92
34346 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
34347 Date:   Fri Oct 24 17:37:30 2008 +0300
34348
34349     [cairo-spans] New abstract types for scan converting polygons.
34350     
34351     A cairo_span_renderer_t implementation can be provided by a surface if
34352     it wants to render paths as horizontal spans of the alpha component of
34353     a mask.  Its job is to composite a source pattern to the destination
34354     surface when given spans of alpha coverage for a row while taking care
34355     of backend specific clipping.
34356     
34357     A cairo_scan_converter_t takes edges of a flattened path and generates
34358     spans for a span renderer to render.
34359
34360  src/Makefile.sources      |    2 +
34361  src/cairo-spans-private.h |  124 +++++++++++++++++++++++
34362  src/cairo-spans.c         |  242 +++++++++++++++++++++++++++++++++++++++++++++
34363  src/cairoint.h            |    1 +
34364  4 files changed, 369 insertions(+)
34365
34366 commit 4b227143b3daab75148cd54c9e7580d509864e0d
34367 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
34368 Date:   Thu Jul 31 01:54:53 2008 +0300
34369
34370     [cairo-spans] Introduce a type to track which pixels combine in a compositing op.
34371     
34372     A cairo_composite_rectangles_t contains the coordinates of rectangular
34373     windows into each of the source pattern, mask, clip and destination
34374     surface containing the pixels that will combine in a compositing
34375     operation.  The idea is to have a uniform way to represent all the
34376     translations involved rather than overloading parameters like src_x/y,
34377     dst_x/y, etc., sometimes with different incompatible meanings across
34378     functions.
34379
34380  src/cairo-rectangle.c     |   21 +++++++++++++++++++++
34381  src/cairo-types-private.h |   24 ++++++++++++++++++++++++
34382  src/cairoint.h            |    7 +++++++
34383  3 files changed, 52 insertions(+)
34384
34385 commit a370d077bc697588b6dac2556afa0b95ff83a77d
34386 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
34387 Date:   Fri Jul 25 16:35:14 2008 +0300
34388
34389     [path-fixed] New _cairo_path_fixed_is_region().
34390     
34391     We want to hit the current fast paths for rendering axis aligned
34392     rectilinear paths rather than spans, and for that we need to be able
34393     to identify regional paths.
34394
34395  src/cairo-path-fixed.c |   96 ++++++++++++++++++++++++++++++++++++++++++++++++
34396  src/cairoint.h         |    3 ++
34397  2 files changed, 99 insertions(+)
34398
34399 commit 6acb8223930081f70b422ef93a49ea645c2cc12d
34400 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
34401 Date:   Fri Sep 12 19:32:12 2008 +0300
34402
34403     [path-fixed] Avoid extra indirection when iterating already flat paths.
34404     
34405     Perform a plain iteration rather than a flattening one if the path
34406     knows it doesn't have any curves.
34407
34408  src/cairo-path-fixed.c |    9 +++++++++
34409  1 file changed, 9 insertions(+)
34410
34411 commit 0c0f4862c52d68776024f125b003ade455044b27
34412 Author: Chris Wilson <chris@chris-wilson.co.uk>
34413 Date:   Sat Dec 6 13:32:37 2008 +0200
34414
34415     [perf-diff] Fix cairo-perf-diff for git 1.6
34416     
34417     Since git 1.6 the plumbing commands aren't installed in the user's
34418     path by default.  This patch fixes cairo-perf-diff to find the
34419     git-sh-setup command from git's lib dir.
34420
34421  perf/cairo-perf-diff |    2 +-
34422  1 file changed, 1 insertion(+), 1 deletion(-)
34423
34424 commit afba0c312958852586b846ec615cff1bd3e5cde7
34425 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
34426 Date:   Fri Sep 12 17:41:45 2008 +0300
34427
34428     [perf] Add perf tests to hit rectilinear code paths.
34429     
34430     These tests look at the differences in code paths
34431     hit by filling paths that are rectilinear (or not) and
34432     pixel aligned (or not) with the even-odd and non-zero
34433     fill rules.  The paths are not simple, so they don't
34434     hit the special case quad/triangle tessellator.
34435
34436  perf/Makefile.am  |    3 +-
34437  perf/cairo-perf.c |    1 +
34438  perf/cairo-perf.h |    1 +
34439  perf/spiral.c     |  200 +++++++++++++++++++++++++++++++++++++++++++++++++++++
34440  4 files changed, 204 insertions(+), 1 deletion(-)
34441
34442 commit 8ec58113df417e1ec1d331ab65267c34e6d32096
34443 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
34444 Date:   Fri Sep 12 17:32:40 2008 +0300
34445
34446     [perf] Explicitly test rendering a path with lots of intersections.
34447     
34448     We don't have one just for this purpose.  The only other
34449     path with many intersections that gets actually rendered is zrusin-another,
34450     but that might be sped up in the future (say by identifying
34451     collinearities up front or something like that.)
34452
34453  perf/Makefile.am     |    3 +-
34454  perf/cairo-perf.c    |    1 +
34455  perf/cairo-perf.h    |    1 +
34456  perf/intersections.c |   97 ++++++++++++++++++++++++++++++++++++++++++++++++++
34457  4 files changed, 101 insertions(+), 1 deletion(-)
34458
34459 commit 08b486c9aa1d6ad01f1b17a16dcb4d695e8cbf7d
34460 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
34461 Date:   Thu Dec 4 17:53:06 2008 -0500
34462
34463     [win32] Use MOD instead of the '%' operator
34464     
34465     Repeat should be handled using MOD instead of '%' so that negative numbers
34466     are handled as expected. E.g. -1 mod 600 = 599, not 495 as the '%' operator
34467     gives. This was causing https://bugzilla.mozilla.org/show_bug.cgi?id=466258
34468     
34469     Patch from Robert O'Callahan
34470
34471  src/cairo-win32-surface.c |    7 +++++--
34472  1 file changed, 5 insertions(+), 2 deletions(-)
34473
34474 commit 540de34453d16092acd2978b513831a02f01f59f
34475 Author: Chris Wilson <chris@chris-wilson.co.uk>
34476 Date:   Sun Oct 26 12:53:29 2008 +0000
34477
34478     [matrix] Optimise invert for simple scaling|translation matrices.
34479     
34480     Peter Hercek reported, and provided a very useful test case for, a bug
34481     that caused his applications to crash with Cairo detecting an
34482     non-invertible pattern matrix and thus asserting the impossible happened.
34483     Bisecting revealed that the bug first appeared with 3c18d95 and
34484     disappeared with 0d0c6a1. Since neither of these explain the crash,
34485     further investigation revealed a compiler bug (gcc 4.3.3 20081130,
34486     earlier versions have different bugs!) that caused the matrix inversion
34487     to be invalid iff _cairo_matrix_scalar_multiply() was inlined (i.e. -O0,
34488     or an explicit noinline atttribute on that function prevented the bug, as
34489     did -msse.) So we apply this workaround to hide the bug in the stable
34490     series...
34491     
34492     The matrix is quite often just a simple scale and translate (or even
34493     identity!). For this class of matrix, we can skip the full adjoint
34494     rearrangement and determinant calculation and just compute the inverse
34495     directly.
34496     (cherry picked from commit 0d0c6a199c5b631299c72dce80d66ac0f4936a64)
34497
34498  src/cairo-matrix.c |   26 +++++++++++++++++++++++++-
34499  1 file changed, 25 insertions(+), 1 deletion(-)
34500
34501 commit aff32019a70600fec5040a5a73c4f0b688826064
34502 Author: Behdad Esfahbod <behdad@behdad.org>
34503 Date:   Sun Nov 30 23:28:59 2008 -0500
34504
34505     [Makefile.am] Use top_srcdir instead of srcdir
34506     
34507     Doesn't make much difference here, but makes our intention clear.
34508
34509  build/Makefile.am.changelog |    2 +-
34510  1 file changed, 1 insertion(+), 1 deletion(-)
34511
34512 commit 51a75ad932af4a3c3da96ef98de79328afa200c3
34513 Author: Luo Jinghua <sunmoon1997@gmail.com>
34514 Date:   Sun Nov 30 20:42:49 2008 +0800
34515
34516     glitz: Replace specified color with an opaque one if dst surface don't have an alpha channel.
34517     
34518     Otherwise if underlying glitz drawable has an alpha channel, glitz_set_rectangles
34519     will set its alpha channel to specified value instead of opaque one and effects following
34520     composite operations since glitz draws to attached drawable then copies its content to
34521     the dst surface. With this commit, three test cases such as operator, operator-alpha and
34522     unbounded-operator passes now.
34523
34524  src/cairo-glitz-surface.c |   18 ++++++++++++------
34525  1 file changed, 12 insertions(+), 6 deletions(-)
34526
34527 commit 7247017cf5e6b497a5836d9081ee153d27c6b15e
34528 Author: Chris Wilson <chris@chris-wilson.co.uk>
34529 Date:   Sat Nov 29 11:47:25 2008 +0000
34530
34531     Fix up a couple of likely(malloc==NULL)
34532     
34533     Adrian Johnson spotted that I marked a few malloc failures as likely,
34534     whoops.
34535
34536  src/cairo-cff-subset.c |    4 ++--
34537  src/cairo-clip.c       |    2 +-
34538  2 files changed, 3 insertions(+), 3 deletions(-)
34539
34540 commit 1659db2c1f4cc72e51fb43d119822ec7aaa77ac0
34541 Author: Chris Wilson <chris@chris-wilson.co.uk>
34542 Date:   Sat Nov 29 10:37:58 2008 +0000
34543
34544     [test] Fix surface leak from device-offset-positive.
34545     
34546     A forgotten cairo_surface_destroy() caused the similar surface to be
34547     leaked during the test.
34548
34549  test/device-offset-positive.c |    1 +
34550  1 file changed, 1 insertion(+)
34551
34552 commit 0d757a793d7fe2860c6a522124a123864fc97f0a
34553 Author: Chris Wilson <chris@chris-wilson.co.uk>
34554 Date:   Sat Nov 29 10:36:34 2008 +0000
34555
34556     [png] Fix leak of original png data on error path.
34557     
34558     The error path was missing a _cairo_output_stream_destroy() to cleanup a
34559     copy of the incoming PNG data.
34560
34561  src/cairo-png.c |   15 +++++++++++----
34562  1 file changed, 11 insertions(+), 4 deletions(-)
34563
34564 commit e6963a5bfebda69a1ef0a986cede84bcd955b6d4
34565 Author: Chris Wilson <chris@chris-wilson.co.uk>
34566 Date:   Tue Nov 18 17:26:55 2008 +0000
34567
34568     Mark allocation failures as unlikely.
34569     
34570     Use the gcc likelihood annotation to indicate that allocation failures are
34571     extremely unlikely.
34572
34573  src/cairo-analysis-surface.c    |    4 +--
34574  src/cairo-array.c               |    4 +--
34575  src/cairo-base85-stream.c       |    2 +-
34576  src/cairo-bentley-ottmann.c     |   13 ++++----
34577  src/cairo-cache.c               |    6 ++--
34578  src/cairo-cff-subset.c          |   66 +++++++++++++++++++--------------------
34579  src/cairo-clip.c                |    8 ++---
34580  src/cairo-deflate-stream.c      |    2 +-
34581  src/cairo-directfb-surface.c    |    2 +-
34582  src/cairo-font-face.c           |    6 ++--
34583  src/cairo-ft-font.c             |   25 ++++++++-------
34584  src/cairo-gstate.c              |   17 +++++-----
34585  src/cairo-hash.c                |    6 ++--
34586  src/cairo-hull.c                |    2 +-
34587  src/cairo-image-surface.c       |   12 +++----
34588  src/cairo-lzw.c                 |    4 +--
34589  src/cairo-meta-surface.c        |   24 +++++++-------
34590  src/cairo-misc.c                |   24 +++++++++-----
34591  src/cairo-output-stream.c       |   14 ++++-----
34592  src/cairo-paginated-surface.c   |    2 +-
34593  src/cairo-path-fixed.c          |    4 +--
34594  src/cairo-path-stroke.c         |    4 +--
34595  src/cairo-path.c                |    8 ++---
34596  src/cairo-pattern.c             |   36 ++++++++++-----------
34597  src/cairo-pdf-operators.c       |    6 ++--
34598  src/cairo-pdf-surface.c         |   34 ++++++++++----------
34599  src/cairo-pen.c                 |    8 ++---
34600  src/cairo-png.c                 |   14 ++++-----
34601  src/cairo-polygon.c             |    2 +-
34602  src/cairo-ps-surface.c          |   16 +++++-----
34603  src/cairo-region.c              |    2 +-
34604  src/cairo-scaled-font-subsets.c |   28 ++++++++---------
34605  src/cairo-scaled-font.c         |   29 +++++++++--------
34606  src/cairo-script-surface.c      |   14 ++++-----
34607  src/cairo-sdl-surface.c         |    2 +-
34608  src/cairo-skiplist.c            |    2 +-
34609  src/cairo-stroke-style.c        |    2 +-
34610  src/cairo-surface-fallback.c    |    2 +-
34611  src/cairo-surface.c             |    4 +--
34612  src/cairo-svg-surface.c         |   16 +++++-----
34613  src/cairo-traps.c               |    4 +--
34614  src/cairo-truetype-subset.c     |   30 +++++++++---------
34615  src/cairo-type1-fallback.c      |   15 +++++----
34616  src/cairo-type1-subset.c        |   22 ++++++-------
34617  src/cairo-type3-glyph-surface.c |    2 +-
34618  src/cairo-user-font.c           |    2 +-
34619  src/cairo-xlib-display.c        |    4 +--
34620  src/cairo-xlib-screen.c         |    2 +-
34621  src/cairo-xlib-surface.c        |   25 +++++++--------
34622  src/cairo-xlib-visual.c         |    2 +-
34623  src/cairo.c                     |    4 +--
34624  src/test-fallback-surface.c     |    2 +-
34625  src/test-meta-surface.c         |    2 +-
34626  src/test-paginated-surface.c    |    2 +-
34627  54 files changed, 300 insertions(+), 294 deletions(-)
34628
34629 commit d1801c23fae3777c7c59e084894a3410f7a1f932
34630 Author: Chris Wilson <chris@chris-wilson.co.uk>
34631 Date:   Tue Nov 18 15:38:37 2008 +0000
34632
34633     Mark if(status) as being unlikely.
34634     
34635     The error paths should be hit very rarely during normal operation, so mark
34636     them as being unlikely so gcc may emit better code.
34637
34638  src/cairo-analysis-surface.c    |   24 +--
34639  src/cairo-array.c               |    6 +-
34640  src/cairo-cache.c               |    4 +-
34641  src/cairo-cff-subset.c          |  208 ++++++++++++------------
34642  src/cairo-clip.c                |   23 ++-
34643  src/cairo-font-face.c           |   14 +-
34644  src/cairo-ft-font.c             |   44 +++---
34645  src/cairo-gstate.c              |   66 ++++----
34646  src/cairo-image-surface.c       |   16 +-
34647  src/cairo-lzw.c                 |    4 +-
34648  src/cairo-meta-surface.c        |   42 ++---
34649  src/cairo-misc.c                |    6 +-
34650  src/cairo-output-stream.c       |    2 +-
34651  src/cairo-paginated-surface.c   |   38 ++---
34652  src/cairo-path-fill.c           |    6 +-
34653  src/cairo-path-fixed.c          |   14 +-
34654  src/cairo-path-stroke.c         |   56 +++----
34655  src/cairo-path.c                |    6 +-
34656  src/cairo-pattern.c             |   34 ++--
34657  src/cairo-pdf-operators.c       |   60 +++----
34658  src/cairo-pdf-surface.c         |  334 +++++++++++++++++++--------------------
34659  src/cairo-pen.c                 |    6 +-
34660  src/cairo-png.c                 |   14 +-
34661  src/cairo-ps-surface.c          |  122 +++++++-------
34662  src/cairo-scaled-font-subsets.c |   30 ++--
34663  src/cairo-scaled-font.c         |   72 ++++-----
34664  src/cairo-script-surface.c      |  160 +++++++++----------
34665  src/cairo-sdl-surface.c         |    4 +-
34666  src/cairo-surface-fallback.c    |   82 +++++-----
34667  src/cairo-surface.c             |   60 +++----
34668  src/cairo-svg-surface.c         |   84 +++++-----
34669  src/cairo-traps.c               |   12 +-
34670  src/cairo-truetype-subset.c     |   98 ++++++------
34671  src/cairo-type1-fallback.c      |   44 +++---
34672  src/cairo-type1-subset.c        |   46 +++---
34673  src/cairo-type3-glyph-surface.c |   10 +-
34674  src/cairo-user-font.c           |   18 +--
34675  src/cairo-xlib-screen.c         |    4 +-
34676  src/cairo-xlib-surface.c        |   92 +++++------
34677  src/cairo.c                     |  138 ++++++++--------
34678  40 files changed, 1053 insertions(+), 1050 deletions(-)
34679
34680 commit f0804d4856496a46d0b2270d5815856bf63b4cf8
34681 Author: Chris Wilson <chris@chris-wilson.co.uk>
34682 Date:   Fri Nov 28 23:58:55 2008 +0000
34683
34684     [test] Exercise caps and joins under reflection.
34685     
34686     The nature of the joins depends critically upon whether the joint is
34687     clockwise or counter-clockwise, so extend the basic caps-joins test to
34688     exercise both conditions i.e. repeat the test under a reflection.
34689
34690  test/Makefile.am                 |    6 ++-
34691  test/caps-joins-curve.c          |  111 ++++++++++++++++++++++++++++++++++++++
34692  test/caps-joins-curve.ps.ref.png |  Bin 0 -> 3728 bytes
34693  test/caps-joins-curve.ref.png    |  Bin 0 -> 5132 bytes
34694  test/caps-joins.c                |   40 +++++++++-----
34695  test/caps-joins.ps.ref.png       |  Bin 0 -> 2282 bytes
34696  test/caps-joins.ps2.ref.png      |  Bin 1459 -> 0 bytes
34697  test/caps-joins.ps3.ref.png      |  Bin 1459 -> 0 bytes
34698  test/caps-joins.ref.png          |  Bin 1488 -> 2380 bytes
34699  test/dash-curve.ref.png          |  Bin 39642 -> 39696 bytes
34700  10 files changed, 143 insertions(+), 14 deletions(-)
34701
34702 commit f39dd86e292e9af3438acb041a3a7330fb4a3b22
34703 Author: Chris Wilson <chris@chris-wilson.co.uk>
34704 Date:   Thu Nov 27 00:23:11 2008 +0000
34705
34706     [test] Add simple cap test.
34707     
34708     Add a test case that only exercises capping, useful for developing
34709     new strokers.
34710
34711  test/Makefile.am     |    3 ++
34712  test/caps.c          |   87 ++++++++++++++++++++++++++++++++++++++++++++++++++
34713  test/caps.ps.ref.png |  Bin 0 -> 1466 bytes
34714  test/caps.ref.png    |  Bin 0 -> 1601 bytes
34715  4 files changed, 90 insertions(+)
34716
34717 commit f2982e103c27cad1edf648dadcfffe1a15763efd
34718 Author: Chris Wilson <chris@chris-wilson.co.uk>
34719 Date:   Tue Nov 25 17:23:33 2008 +0000
34720
34721     [fill] Allow rectangles to be implicitly closed.
34722     
34723     Also scan for appendages of simple rectangles.
34724
34725  src/cairo-path-fill.c          |    2 +-
34726  src/cairo-path-fixed-private.h |    4 ++--
34727  src/cairo-path-fixed.c         |   14 +++++++++-----
34728  3 files changed, 12 insertions(+), 8 deletions(-)
34729
34730 commit d2bcf1d76defda861e1a7f2271046851083ad694
34731 Author: Chris Wilson <chris@chris-wilson.co.uk>
34732 Date:   Fri Nov 28 17:12:03 2008 +0000
34733
34734     [path] Carefully check for no more points.
34735     
34736     As the empty path points to an embedded buf, we cannot rely on the buf
34737     pointer being NULL to mark end-of-path.
34738
34739  src/cairo-path-fixed-private.h |   10 +++++-----
34740  src/cairo-path-fixed.c         |   15 ++++++++++++---
34741  2 files changed, 17 insertions(+), 8 deletions(-)
34742
34743 commit 424aba9be558e89b4d42554ca6a5042574e3df75
34744 Author: Chris Wilson <chris@chris-wilson.co.uk>
34745 Date:   Wed Nov 26 20:38:24 2008 +0000
34746
34747     [check] Search for the word NOTE
34748     
34749     Add word boundary markers around the regexp so that we only match for the
34750     word NOTE and not on substrings like GL_NOTEQUAL.
34751
34752  src/check-doc-syntax.sh |    2 +-
34753  1 file changed, 1 insertion(+), 1 deletion(-)
34754
34755 commit 36147140ce56d8d3492b971a9b6ceff97e212e01
34756 Author: Chris Wilson <chris@chris-wilson.co.uk>
34757 Date:   Fri Nov 28 18:54:02 2008 +0000
34758
34759     [perf] Fix build
34760     
34761     If automake detects the use of cairo_perf_LDADD in an unused conditional
34762     that overrides the default - so we need to manually set cairo_perf_LDADD.
34763
34764  perf/Makefile.am |    3 ++-
34765  1 file changed, 2 insertions(+), 1 deletion(-)
34766
34767 commit ed6bd4766cb47e97b1a6ecb81eff5bf4673d549b
34768 Author: Luo Jinghua <sunmoon1997@gmail.com>
34769 Date:   Fri Nov 28 07:54:41 2008 +0800
34770
34771     image: Use unsigned long to compute color masks.
34772     
34773     Use unsigned long in the first place to prevent compiler from
34774     expanding signed bit to all upper bits. e.g, a alpha mask 0xff0000
34775     will expand to 0xffffffffff00000 on 64 bit platform which is not
34776     what we expected.
34777
34778  src/cairo-image-surface.c |    2 +-
34779  1 file changed, 1 insertion(+), 1 deletion(-)
34780
34781 commit 41cb91d417e7c0dc1cc767ea0fb38a1f8b3f4e43
34782 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
34783 Date:   Wed Nov 26 23:49:12 2008 +0200
34784
34785     [script] Use the in-tree libcairo for csi-replay.
34786     
34787     csi-replay was missing the in-tree libcairo.la so the build was
34788     failing while looking for new symbols from the system libcairo.
34789
34790  util/cairo-script/Makefile.am |    2 +-
34791  1 file changed, 1 insertion(+), 1 deletion(-)
34792
34793 commit f5634818f1e5cc0adaa326662c099a75f4e615eb
34794 Author: Chris Wilson <chris@chris-wilson.co.uk>
34795 Date:   Thu Nov 13 14:56:38 2008 +0000
34796
34797     [os2] Move include cairo.h before os2.h
34798     
34799     The defines need to come first, but we specify that cairo.h is the first
34800     header file to be included by files.
34801
34802  src/cairo-os2.h |    4 ++--
34803  1 file changed, 2 insertions(+), 2 deletions(-)
34804
34805 commit 2f0f9a1a593db43dd04507c5989cd0af4b1486de
34806 Author: Behdad Esfahbod <behdad@behdad.org>
34807 Date:   Thu Nov 13 10:50:41 2008 +0100
34808
34809     [os2] Fix includes
34810     
34811     Patch from Dave Yeo to make cairo-os2.h include os2.h directly so the
34812     header is standalone.
34813
34814  src/cairo-os2-private.h |   11 -----------
34815  src/cairo-os2-surface.c |    5 -----
34816  src/cairo-os2.h         |    8 ++++++++
34817  3 files changed, 8 insertions(+), 16 deletions(-)
34818
34819 commit 5591cb58fd94483ec3dc7c169ae8cf0a6b7841bd
34820 Author: Chris Wilson <chris@chris-wilson.co.uk>
34821 Date:   Wed Nov 26 17:43:22 2008 +0000
34822
34823     [script] Only use zlib if available.
34824     
34825     Conditionally link against zlib - replaying a script will fail if the
34826     trace uses a compressed format.
34827
34828  configure.ac                               |    5 ++++-
34829  util/cairo-script/Makefile.am              |    2 +-
34830  util/cairo-script/cairo-script-file.c      |    5 ++++-
34831  util/cairo-script/cairo-script-operators.c |    2 ++
34832  4 files changed, 11 insertions(+), 3 deletions(-)
34833
34834 commit 9432c0c9b89ed6b3d369b377cf884918cd6180db
34835 Author: Chris Wilson <chris@chris-wilson.co.uk>
34836 Date:   Wed Nov 26 17:33:35 2008 +0000
34837
34838     [script] Link the interpreter against the built library.
34839     
34840     Ensure we correctly link against the version of cairo just built.
34841
34842  util/cairo-script/Makefile.am |    4 ++--
34843  1 file changed, 2 insertions(+), 2 deletions(-)
34844
34845 commit 815e5b962ef8477c344da0f0b52c1f85c9854777
34846 Author: Chris Wilson <chris@chris-wilson.co.uk>
34847 Date:   Wed Nov 26 17:30:29 2008 +0000
34848
34849     [script] Add a fallback image surface for replay
34850     
34851     If we do not have a native windowing surface compiled into the library,
34852     just replay the script to an image surface.
34853
34854  util/cairo-script/csi-replay.c |    8 ++++++++
34855  1 file changed, 8 insertions(+)
34856
34857 commit 5e376523628d5e2078e395ea7263a04bacd37c47
34858 Author: Chris Wilson <chris@chris-wilson.co.uk>
34859 Date:   Wed Nov 26 17:26:57 2008 +0000
34860
34861     [skiplist] Check for ffs()
34862     
34863     Wine at least does not provide ffs(), so check at configure time and
34864     open-code a replacement.
34865
34866  build/configure.ac.system |    2 +-
34867  src/cairo-skiplist.c      |   11 +++++++++++
34868  2 files changed, 12 insertions(+), 1 deletion(-)
34869
34870 commit 60282b866aab359840b4bcaa6aaccaca2eccd3d2
34871 Author: Chris Wilson <chris@chris-wilson.co.uk>
34872 Date:   Wed Nov 26 16:58:29 2008 +0000
34873
34874     [glitz] Fix clone_similar().
34875     
34876     Clone similar open-coded various image surface functions and failed to
34877     clone a sub-region resulting in failures for mask-transformed-* and
34878     large-source.
34879
34880  src/cairo-glitz-surface.c |  458 ++++++++++++++-------------------------------
34881  1 file changed, 137 insertions(+), 321 deletions(-)
34882
34883 commit 47275c7ece06c0d02f2d7c9aa81d87a7144392b0
34884 Author: Paolo Bonzini <bonzini@gnu.org>
34885 Date:   Wed Nov 26 15:56:48 2008 +0100
34886
34887     [test] Fix glitz-surface-source test
34888     
34889     The recent changes to separate glitz/agl broke the compilation of the
34890     glitz-surface-source test.
34891
34892  test/glitz-surface-source.c           |   96 ++++++++++++++++++++++++++++++++-
34893  test/glitz-surface-source.ps2.ref.png |  Bin 0 -> 376 bytes
34894  test/glitz-surface-source.ps3.ref.png |  Bin 0 -> 376 bytes
34895  3 files changed, 94 insertions(+), 2 deletions(-)
34896
34897 commit a84ea7829065b7e1d33d6fed6bcf0c7c8abd383a
34898 Author: Paolo Bonzini <bonzini@gnu.org>
34899 Date:   Wed Nov 26 15:49:00 2008 +0100
34900
34901     [test] Add quartz-surface-source test
34902     
34903     Add a simple test to exercise using a Quartz surface as a source.
34904
34905  test/Makefile.am                       |    6 ++++-
34906  test/quartz-surface-source.c           |   42 ++++++++++++++++++++++++++++++++
34907  test/quartz-surface-source.ps2.ref.png |  Bin 0 -> 376 bytes
34908  test/quartz-surface-source.ps3.ref.png |  Bin 0 -> 376 bytes
34909  test/quartz-surface-source.ref.png     |  Bin 0 -> 332 bytes
34910  5 files changed, 47 insertions(+), 1 deletion(-)
34911
34912 commit 993941cfd701eb222b81cdddeabf6f7ff2daa150
34913 Author: Paolo Bonzini <bonzini@gnu.org>
34914 Date:   Wed Nov 26 13:32:11 2008 +0000
34915
34916     [perf] Fix SDL compilation for MacOS X
34917     
34918     The attached patch makes the SDL tests compile under Mac OS X.  The
34919     problem is:
34920     
34921     1) that <SDL_main.h> should be included in files that define the main
34922     function for SDL Mac OS X programs (this is not true with the upcoming
34923     SDL 1.3 release).
34924     
34925     2) that -lSDLmain, because it is statically linked, needs the Cocoa
34926     framework in the LDADD of the main program.  Again, 1.3 will not require
34927     this.
34928
34929  perf/Makefile.am         |    4 ++++
34930  perf/cairo-perf.c        |    4 ++++
34931  test/Makefile.am         |    4 ++++
34932  test/cairo-test-runner.c |    4 ++++
34933  4 files changed, 16 insertions(+)
34934
34935 commit 8a5b55ca6c69671a138f65ab15bcf93163f24a37
34936 Author: Chris Wilson <chris@chris-wilson.co.uk>
34937 Date:   Wed Nov 26 13:26:40 2008 +0000
34938
34939     [matrix] Impose a maximum number of refinement iterations
34940     
34941     Ensure we do not loop forever trying to minimise the error between the
34942     pixman and cairo matrices - for instance when the FPU is not running at
34943     full precision.
34944
34945  src/cairo-matrix.c |    4 +++-
34946  1 file changed, 3 insertions(+), 1 deletion(-)
34947
34948 commit 4218699642c621eb3098a5251ef88d8c7d8a96d2
34949 Author: Chris Wilson <chris@chris-wilson.co.uk>
34950 Date:   Wed Nov 26 11:54:29 2008 +0000
34951
34952     [skiplist] Use ffs()
34953     
34954     Use ffs() [find-first-set-bit] instead of open-coding, which is about 25%
34955     faster on my test machine.
34956
34957  src/cairo-skiplist.c |   11 +----------
34958  1 file changed, 1 insertion(+), 10 deletions(-)
34959
34960 commit 039437c9cfaeed7a2cc1977623ab8bda9854b58a
34961 Author: Chris Wilson <chris@chris-wilson.co.uk>
34962 Date:   Wed Nov 26 10:31:09 2008 +0000
34963
34964     [png] Use FILE* instead of void*.
34965     
34966     Adrian Johnson reported that cygwin complained about the use of the void *
34967     within feof() as it was using a macro and attempted a to deference the
34968     void*...
34969
34970  src/cairo-png.c |    6 ++++--
34971  1 file changed, 4 insertions(+), 2 deletions(-)
34972
34973 commit 8fa3cd95641e9138406d651b0734ee84f1da60d2
34974 Author: Adrian Johnson <ajohnson@redneon.com>
34975 Date:   Wed Nov 26 06:40:47 2008 +1030
34976
34977     Change uint to uint32_t
34978
34979  src/cairo-image-info.c |    2 +-
34980  1 file changed, 1 insertion(+), 1 deletion(-)
34981
34982 commit e828f7330633cd839f094bf8409de0bcff17c95c
34983 Author: Luo Jinghua <sunmoon1997@gmail.com>
34984 Date:   Wed Nov 26 00:09:11 2008 +0800
34985
34986     glitz: Apply fixup to unbounded operators to clear area outside of mask
34987
34988  src/cairo-glitz-surface.c |   79 +++++++++++++++++++++++++++++++++++++--------
34989  1 file changed, 66 insertions(+), 13 deletions(-)
34990
34991 commit 449e7518bee5d0238138176b3b71d137c6fc01e7
34992 Author: Luo Jinghua <sunmoon1997@gmail.com>
34993 Date:   Tue Nov 25 22:55:24 2008 +0800
34994
34995     glitz: set correct parameters for linear and radial pattern.
34996     
34997     Glitz expects 16.16 fixed point, but we use 24.8 fixed point by default.
34998
34999  src/cairo-glitz-surface.c |   20 ++++++++++----------
35000  1 file changed, 10 insertions(+), 10 deletions(-)
35001
35002 commit 3bde440e00ba19e968b854c1505dc4d1ace83504
35003 Author: Luo Jinghua <sunmoon1997@gmail.com>
35004 Date:   Tue Nov 25 22:36:53 2008 +0800
35005
35006     glitz: fixup another stupid bug in fill_rectangles.
35007     
35008     Wny I doesn't notice them before. Without fixes it fills n_rect times of
35009     the first one in the rectangle list.
35010
35011  src/cairo-glitz-surface.c |    8 +++++---
35012  1 file changed, 5 insertions(+), 3 deletions(-)
35013
35014 commit 4ac38f7c2bde67cab37805cab8a2effb2a8617e4
35015 Author: Chris Wilson <chris@chris-wilson.co.uk>
35016 Date:   Tue Nov 25 11:52:01 2008 +0000
35017
35018     [fill] Emit rectangles for GdkRegion
35019     
35020     Scan the path for a series of consistently wound rectangles.
35021
35022  src/cairo-path-fill.c          |   85 +++++++++++++++++++++------
35023  src/cairo-path-fixed-private.h |   17 ++++++
35024  src/cairo-path-fixed.c         |  124 +++++++++++++++++++++++++++++++++++++---
35025  3 files changed, 201 insertions(+), 25 deletions(-)
35026
35027 commit 23df74e5ffd6be876f3c19ee9d71683f5a0ed6f4
35028 Author: Chris Wilson <chris@chris-wilson.co.uk>
35029 Date:   Tue Nov 25 11:45:30 2008 +0000
35030
35031     [xlib] Cosmetic tweak.
35032     
35033     Tightly scope the local rects.
35034
35035  src/cairo-xlib-surface.c |    5 +++--
35036  1 file changed, 3 insertions(+), 2 deletions(-)
35037
35038 commit 06fabd6cbd0ad187f5f9f155d6b7962f76ec5dda
35039 Author: Chris Wilson <chris@chris-wilson.co.uk>
35040 Date:   Tue Nov 25 12:05:26 2008 +0000
35041
35042     [path] Fix up extents.
35043     
35044     Forgot to round the box to the integer rectangle and missed why only
35045     testing on image. Very naughty.
35046
35047  src/cairo-analysis-surface.c |    2 +-
35048  src/cairo-path-bounds.c      |   20 +++++++++++---------
35049  2 files changed, 12 insertions(+), 10 deletions(-)
35050
35051 commit 1f44fb97f3973aa90c4f27bcf9341149370c825d
35052 Author: Luo Jinghua <sunmoon1997@gmail.com>
35053 Date:   Tue Nov 25 20:45:03 2008 +0800
35054
35055     cairo-script: add $(top_builddir)/src to CPPPATH.
35056     
35057     $(top_builddir)/src is needed to find cairo-features.h while
35058     building out of tree.
35059
35060  util/cairo-script/Makefile.am |    2 +-
35061  1 file changed, 1 insertion(+), 1 deletion(-)
35062
35063 commit 487c708b3b6727eb2f8d3714edeae356a7cbbd40
35064 Author: Paolo Bonzini <bonzini@gnu.org>
35065 Date:   Tue Nov 25 20:40:37 2008 +0800
35066
35067     [boilerplate] fix compilation for glitz-agl
35068     
35069     As suggested on the list, this splits the cairo-boilerplate-glitz.c
35070     file in three separate files, one for each backend.  Furthermore,
35071     it fixes a few problems in compilation of the AGL backend test harness.
35072
35073  boilerplate/Makefile.sources                  |    6 +-
35074  boilerplate/cairo-boilerplate-glitz-agl.c     |  166 ++++++++
35075  boilerplate/cairo-boilerplate-glitz-glx.c     |  244 ++++++++++++
35076  boilerplate/cairo-boilerplate-glitz-private.h |    6 +
35077  boilerplate/cairo-boilerplate-glitz-wgl.c     |  164 ++++++++
35078  boilerplate/cairo-boilerplate-glitz.c         |  517 -------------------------
35079  6 files changed, 585 insertions(+), 518 deletions(-)
35080
35081 commit ca80b8c652dde4449216da9d11691202eef97bbd
35082 Author: Chris Wilson <chris@chris-wilson.co.uk>
35083 Date:   Tue Nov 25 10:25:24 2008 +0000
35084
35085     [pdf] Add a default case to silence the compiler.
35086     
35087     The foolish compiler was emitting a warning about a potential
35088     uninitialized variable even though the switch was fully populated.
35089
35090  src/cairo-pdf-surface.c |    1 +
35091  1 file changed, 1 insertion(+)
35092
35093 commit b8991a1c69ae5d8fb630296a3c689aa8d1546671
35094 Author: Chris Wilson <chris@chris-wilson.co.uk>
35095 Date:   Tue Nov 25 10:11:59 2008 +0000
35096
35097     [in-fill] Add the implicit close-path during move-to.
35098     
35099     When interpreting a fixed-path for a fill operation, any move-to
35100     implicitly closes the current path.
35101
35102  src/cairo-gstate.c       |   12 ++++++------
35103  src/cairo-path-in-fill.c |   23 +++++++++++++----------
35104  src/cairo.c              |   11 ++++-------
35105  src/cairoint.h           |    4 ++--
35106  4 files changed, 25 insertions(+), 25 deletions(-)
35107
35108 commit 59de6fb89e80ee6aeeb2984b545ceb9bb9f0f7bb
35109 Author: Chris Wilson <chris@chris-wilson.co.uk>
35110 Date:   Tue Nov 25 10:04:50 2008 +0000
35111
35112     [path] Compute approximate extents.
35113     
35114     When computing the bounds of the clip path, we care more for a fast result
35115     than absolute precision as the extents are only used as a guide to trim
35116     the future operations. So computing the extents of the path suffices.
35117
35118  src/cairo-analysis-surface.c |   16 ++---------
35119  src/cairo-clip.c             |   25 ++---------------
35120  src/cairo-gstate.c           |   13 +++------
35121  src/cairo-path-bounds.c      |   63 ++++++++++++++++++++++++++++++++++++++----
35122  src/cairo-surface.c          |    8 ++++--
35123  src/cairo.c                  |   10 ++-----
35124  src/cairoint.h               |    8 ++++--
35125  7 files changed, 82 insertions(+), 61 deletions(-)
35126
35127 commit b6bf047494fc308fff00d818b2920d8ba4aa7aed
35128 Author: Chris Wilson <chris@chris-wilson.co.uk>
35129 Date:   Fri Nov 21 15:27:31 2008 +0000
35130
35131     [clip] Check for error surface
35132     
35133     The update to use a NULL backend with an error surface broke creating a
35134     context from an error surface.
35135
35136  src/cairo-clip.c |    2 +-
35137  src/cairo.c      |    2 +-
35138  2 files changed, 2 insertions(+), 2 deletions(-)
35139
35140 commit 721cad9b24c2ad049320950d231ed84046c5b8ab
35141 Author: Adrian Johnson <ajohnson@redneon.com>
35142 Date:   Mon Nov 24 22:41:03 2008 +1030
35143
35144     Fix typo
35145
35146  src/cairo-misc.c |    2 +-
35147  1 file changed, 1 insertion(+), 1 deletion(-)
35148
35149 commit 70e4c532722bbcad1eca50438e6ab2cdd0ea9b53
35150 Author: Adrian Johnson <ajohnson@redneon.com>
35151 Date:   Mon Nov 24 22:38:30 2008 +1030
35152
35153     Document location of image format specifications
35154
35155  src/cairo-image-info.c |   15 +++++++++++++++
35156  1 file changed, 15 insertions(+)
35157
35158 commit 4ca644af274bda4603e7d02dbeca8641bbb3ff79
35159 Author: Adrian Johnson <ajohnson@redneon.com>
35160 Date:   Mon Nov 24 00:29:54 2008 +1030
35161
35162     Win32-print: Add PNG embedding support
35163
35164  src/cairo-win32-printing-surface.c |  106 +++++++++++++++++++++++++++---------
35165  src/cairo-win32-private.h          |    3 +
35166  2 files changed, 82 insertions(+), 27 deletions(-)
35167
35168 commit f59a3e03fc91dc4a1769b07bda77a364cc570bc8
35169 Author: Adrian Johnson <ajohnson@redneon.com>
35170 Date:   Sun Nov 23 22:27:49 2008 +1030
35171
35172     Add PNG get info function
35173
35174  src/cairo-image-info-private.h |    5 +++++
35175  src/cairo-image-info.c         |   46 ++++++++++++++++++++++++++++++++++------
35176  2 files changed, 45 insertions(+), 6 deletions(-)
35177
35178 commit 1892907e24d9f9f31942c6962aaa6d2ff9553ce7
35179 Author: Adrian Johnson <ajohnson@redneon.com>
35180 Date:   Sun Nov 23 21:36:40 2008 +1030
35181
35182     PDF: Disable PDF 1.5 features when version 1.4 is selected
35183     
35184     JPEG 2000 image embedding and ActualText marked content are
35185     PDF 1.5 features.
35186
35187  src/cairo-pdf-operators-private.h |    5 +++++
35188  src/cairo-pdf-operators.c         |    8 ++++++++
35189  src/cairo-pdf-surface.c           |    7 +++++++
35190  3 files changed, 20 insertions(+)
35191
35192 commit c4a57385fa2e69020f43519bea21b98182bf5fd7
35193 Author: Adrian Johnson <ajohnson@redneon.com>
35194 Date:   Sun Nov 23 21:12:08 2008 +1030
35195
35196     PDF: Add cairo_pdf_surface_restrict_to_version API
35197     
35198     Now that we are using PDF 1.5 features, add an api to select between
35199     version 1.4 or 1.5.
35200
35201  src/cairo-pdf-surface-private.h |    2 +
35202  src/cairo-pdf-surface.c         |  116 +++++++++++++++++++++++++++++++++++++--
35203  src/cairo-pdf.h                 |   24 ++++++++
35204  3 files changed, 136 insertions(+), 6 deletions(-)
35205
35206 commit d85e836911d661275c29f2348a047e5d911f9004
35207 Author: Adrian Johnson <ajohnson@redneon.com>
35208 Date:   Sun Nov 23 21:03:22 2008 +1030
35209
35210     PDF: Add newline to end of binary streams
35211     
35212     PDF requires white space before the "endstream"
35213
35214  src/cairo-pdf-surface.c |    2 ++
35215  1 file changed, 2 insertions(+)
35216
35217 commit b87d81ef0bb52570385a3c9e331651cbeb87b2bb
35218 Author: Adrian Johnson <ajohnson@redneon.com>
35219 Date:   Sun Nov 23 19:29:26 2008 +1030
35220
35221     Add image/jp2 to mime-data test
35222
35223  test/jp2.jp2               |  Bin 0 -> 2999 bytes
35224  test/mime-data.c           |    7 ++++++-
35225  test/mime-data.pdf.ref.png |  Bin 4466 -> 6482 bytes
35226  test/mime-data.ps.ref.png  |  Bin 4466 -> 4554 bytes
35227  test/mime-data.ref.png     |  Bin 155 -> 185 bytes
35228  test/mime-data.svg.ref.png |  Bin 6153 -> 6264 bytes
35229  6 files changed, 6 insertions(+), 1 deletion(-)
35230
35231 commit 7fdb712cbaadc95c02f607a9f6c995f8beb01342
35232 Author: Adrian Johnson <ajohnson@redneon.com>
35233 Date:   Sun Nov 23 18:56:12 2008 +1030
35234
35235     PDF: Add JPEG2000 image embedding
35236     
35237     Requires increasing the PDF version to 1.5.
35238
35239  src/cairo-pdf-surface.c |   52 ++++++++++++++++++++++++++++++++++++++++++++++-
35240  1 file changed, 51 insertions(+), 1 deletion(-)
35241
35242 commit 0746efbf0718095920d9258942d32a7023d22131
35243 Author: Adrian Johnson <ajohnson@redneon.com>
35244 Date:   Sun Nov 23 18:47:13 2008 +1030
35245
35246     Add JPEG2000 mimetype and image info function
35247
35248  src/cairo-image-info-private.h |    4 ++
35249  src/cairo-image-info.c         |  100 ++++++++++++++++++++++++++++++++++++++++
35250  src/cairo-surface-fallback.c   |    1 +
35251  src/cairo.h                    |    1 +
35252  4 files changed, 106 insertions(+)
35253
35254 commit 5de1e4de938d03406ce3364c6c1baa958f210410
35255 Author: Adrian Johnson <ajohnson@redneon.com>
35256 Date:   Sun Nov 23 18:33:58 2008 +1030
35257
35258     Move cairo-jpeg-info.c to cairo-image-info.c
35259     
35260     Other image formats will be added to the same file.
35261
35262  src/Makefile.sources               |    4 +-
35263  src/cairo-image-info-private.h     |   54 ++++++++++++++
35264  src/cairo-image-info.c             |  141 ++++++++++++++++++++++++++++++++++++
35265  src/cairo-jpeg-info-private.h      |   54 --------------
35266  src/cairo-jpeg-info.c              |  141 ------------------------------------
35267  src/cairo-pdf-surface.c            |    6 +-
35268  src/cairo-ps-surface.c             |    6 +-
35269  src/cairo-svg-surface.c            |    6 +-
35270  src/cairo-win32-printing-surface.c |    6 +-
35271  9 files changed, 209 insertions(+), 209 deletions(-)
35272
35273 commit 63180edf6f7cc81beda626190ca1055efa330fda
35274 Author: Luo Jinghua <sunmoon1997@gmail.com>
35275 Date:   Sun Nov 23 11:42:26 2008 +0800
35276
35277     glitz: set clone_offset_{x, y} on success in clone_similar.
35278     
35279     With this fix, glitz backend passes 135 test cases and fails 66 test cases.
35280
35281  src/cairo-glitz-surface.c |    2 ++
35282  1 file changed, 2 insertions(+)
35283
35284 commit 36c1b3e5919f119a054e425ca03f7ce810d3e7ec
35285 Author: Luo Jinghua <sunmoon1997@gmail.com>
35286 Date:   Sun Nov 23 10:27:49 2008 +0800
35287
35288     glitz: fixup a stupid bug in get_image.
35289     
35290     _pixman_format_from_masks returns a boolean instead of cairo status code.
35291     Without this fix, get_image bails out over and over again even operations
35292     was completed successfully. :-(
35293
35294  src/cairo-glitz-surface.c |   14 +++++++++-----
35295  1 file changed, 9 insertions(+), 5 deletions(-)
35296
35297 commit c8b70aacc6b5523e2f73bebf4f61e876de1c3b3f
35298 Author: Nicolas Bruguier <gandalfn@club-internet.fr>
35299 Date:   Sat Nov 22 18:16:17 2008 +0800
35300
35301     glitz: bring glitz backend to more or less working state.
35302     
35303     Thanks Nicolas Bruguier for writing the original patch and
35304     thanks Paolo Bonzini for pointing out. This patch converts 24.8
35305     fixed point values into 16.16 ones before passing them down to glitz.
35306     And I fixed a use-after-free issue in _cairo_glitz_surface_set_clip_region.
35307     glitz_surface_set_clip_region takes the pointer and doesn't copy the
35308     clip boxes, the original code frees the clip boxes immediately after
35309     setting clip region. Keeping the box around with the life time of clip
35310     region fixes the bug.
35311
35312  src/cairo-glitz-surface.c |  329 ++++++++++++++++++++++-----------------------
35313  1 file changed, 163 insertions(+), 166 deletions(-)
35314
35315 commit 77e60df32fa59328bd32095c77f8c360805b5db7
35316 Author: Maarten Maathuis <madman2003@gmail.com>
35317 Date:   Sat Nov 8 15:29:40 2008 +0100
35318
35319     cairo-xcb: avoid leaking memory
35320
35321  src/cairo-xcb-surface.c |    3 +++
35322  1 file changed, 3 insertions(+)
35323
35324 commit 361962b7fb4385f164673991670b6fce0839d32a
35325 Author: Chris Wilson <chris@chris-wilson.co.uk>
35326 Date:   Fri Oct 31 08:42:30 2008 +0000
35327
35328     [directfb] Compile fix with debug enabled.
35329     
35330     Fix a trivial compile failure reported here:
35331       Bug 18322 - bug in _cairo_directfb_surface_release_source_image function
35332       (http://bugs.freedesktop.org/show_bug.cgi?id=18322)
35333
35334  src/cairo-directfb-surface.c |    1 +
35335  1 file changed, 1 insertion(+)
35336
35337 commit f15b1f26becf28457e9ccf8903257a0dec25d547
35338 Author: Chris Wilson <chris@chris-wilson.co.uk>
35339 Date:   Thu Nov 20 23:19:19 2008 +0000
35340
35341     [region] Use the caller supplied array for extracting boxes.
35342     
35343     Allow the user to pass in a pre-allocated array and use it if the number
35344     of boxes permits. This eliminates the frequent allocations during clipping
35345     by toolkits.
35346
35347  src/cairo-directfb-surface.c     |    6 ++++--
35348  src/cairo-glitz-surface.c        |    1 +
35349  src/cairo-paginated-surface.c    |    3 +++
35350  src/cairo-region.c               |   11 ++++++-----
35351  src/cairo-sdl-surface.c          |    1 +
35352  src/cairo-surface.c              |   15 ++++++++-------
35353  src/cairo-win32-surface.c        |    3 ++-
35354  src/cairo-xcb-surface.c          |    1 +
35355  src/cairo-xlib-surface-private.h |    2 +-
35356  src/cairo-xlib-surface.c         |   13 ++++++++-----
35357  10 files changed, 35 insertions(+), 21 deletions(-)
35358
35359 commit 9d2c55c661885c06eed44e810004c2ebe07038d3
35360 Author: Chris Wilson <chris@chris-wilson.co.uk>
35361 Date:   Thu Nov 20 21:53:34 2008 +0000
35362
35363     [traps] Embed sufficient traps to accommodate a stroke rectangle
35364     
35365     Small numbers of traps are frequently generated from either a path of a
35366     single line, or that of a rectangle. Therefore should embed sufficient
35367     storage with cairo_traps_t to accommodate the stroke of a single rectangle
35368     (e.g. a pango unknown glyph hexbox) to avoid frequent allocations.
35369
35370  src/cairoint.h |    3 ++-
35371  1 file changed, 2 insertions(+), 1 deletion(-)
35372
35373 commit a11442154d958d5c9694eb944a715a6c689fda85
35374 Author: Chris Wilson <chris@chris-wilson.co.uk>
35375 Date:   Thu Nov 20 18:00:40 2008 +0000
35376
35377     [cairo] Allocate glyphs on the stack for show_text().
35378     
35379     First try to use a stack buffer for the glyphs and clusters if the user
35380     calls cairo_show_text() - for example, as pango does to draw the unknown hex
35381     box.
35382
35383  src/cairo.c |   18 ++++++++++++++----
35384  1 file changed, 14 insertions(+), 4 deletions(-)
35385
35386 commit 9556266ffcb1c34187730af90bb847950d6db66e
35387 Author: Chris Wilson <chris@chris-wilson.co.uk>
35388 Date:   Thu Nov 20 09:40:25 2008 +0000
35389
35390     [surface] Make the error surfaces have a NULL backend.
35391     
35392     By using a NULL backend for the error surfaces, instead of a pointer to
35393     the image surface backend end, we save a few lookup/redirections during
35394     dynamic linking.
35395
35396  src/cairo-surface.c |   22 ++++++----------------
35397  1 file changed, 6 insertions(+), 16 deletions(-)
35398
35399 commit cfd2c73826f5bf20624fbdf5b16fd08fbe18a914
35400 Author: Chris Wilson <chris@chris-wilson.co.uk>
35401 Date:   Thu Nov 20 09:36:02 2008 +0000
35402
35403     [image] Trim image surface size by a few bytes
35404     
35405     Convert an infrequently accessed series of cairo_bool_t and short enums
35406     to a common bitfield.
35407
35408  src/cairo-image-surface.c |   11 ++++++-----
35409  src/cairoint.h            |    7 ++++---
35410  2 files changed, 10 insertions(+), 8 deletions(-)
35411
35412 commit 1f48b36933b5ff082edf3e221563c15c3bf16b75
35413 Author: Chris Wilson <chris@chris-wilson.co.uk>
35414 Date:   Thu Nov 20 12:41:18 2008 +0000
35415
35416     [script] Build fix for ! HAS_FT_FONT
35417     
35418     Correct the macro definition used when compiling without FreeType.
35419
35420  util/cairo-script/cairo-script-operators.c |    5 ++---
35421  1 file changed, 2 insertions(+), 3 deletions(-)
35422
35423 commit 0d5e533b6cc43c4ebc030140933247cf160d47cd
35424 Author: Chris Wilson <chris@chris-wilson.co.uk>
35425 Date:   Wed Nov 19 17:03:13 2008 +0000
35426
35427     [trace] Correctly push font-face onto the operand stack.
35428     
35429     We tried to push a reference to an undefined font-face, now we just copy
35430     from the operand stack.
35431
35432  util/cairo-trace/trace.c |   61 +++++++++++++++++++++++++++-------------------
35433  1 file changed, 36 insertions(+), 25 deletions(-)
35434
35435 commit b426346b482e2687081433213ae107cb7b2ebe58
35436 Author: Chris Wilson <chris@chris-wilson.co.uk>
35437 Date:   Wed Nov 19 16:04:57 2008 +0000
35438
35439     [trace] Construct matrices directly
35440     
35441     Avoid building a temporary array by constructing the matrix directly.
35442
35443  util/cairo-trace/trace.c |   10 +++++-----
35444  1 file changed, 5 insertions(+), 5 deletions(-)
35445
35446 commit 727ff2bd7260f26c9390079258c43e6890ef2284
35447 Author: Chris Wilson <chris@chris-wilson.co.uk>
35448 Date:   Wed Nov 19 14:25:20 2008 +0000
35449
35450     [xlib] Explicitly track whether the GC has clip_rects.
35451     
35452     Simplify the logic and remove some pessimism from the code by explicitly
35453     tracking when we set clip rectangles on the GC.
35454
35455  src/cairo-xlib-surface-private.h |    1 +
35456  src/cairo-xlib-surface.c         |    6 +++---
35457  2 files changed, 4 insertions(+), 3 deletions(-)
35458
35459 commit 63a86a470fb88ee876414164e7e26789c1065b82
35460 Author: Chris Wilson <chris@chris-wilson.co.uk>
35461 Date:   Wed Nov 19 14:04:01 2008 +0000
35462
35463     [surface] Replay meta surfaces to a similar surface.
35464     
35465     When cloning a meta-surface, first attempt to replay it to a similar
35466     surface rather than a full-sized image buffer.
35467
35468  src/cairo-surface.c |   30 ++++++++++++++++++++++++++++--
35469  1 file changed, 28 insertions(+), 2 deletions(-)
35470
35471 commit 7657bda0172f823fba61db4f66e0166c7619fbd2
35472 Author: Chris Wilson <chris@chris-wilson.co.uk>
35473 Date:   Tue Dec 18 11:23:33 2007 +0000
35474
35475     [perf/pythagoras_tree] Another fractal.
35476     
35477     Test lots of rectangles and recursion path construction.
35478
35479  perf/Makefile.am       |    3 +-
35480  perf/cairo-perf.c      |    1 +
35481  perf/cairo-perf.h      |    1 +
35482  perf/pythagoras-tree.c |   86 ++++++++++++++++++++++++++++++++++++++++++++++++
35483  4 files changed, 90 insertions(+), 1 deletion(-)
35484
35485 commit abd0a2627d198eddb628bbc1f2974435a74655a2
35486 Author: Chris Wilson <chris@chris-wilson.co.uk>
35487 Date:   Tue Dec 18 10:49:23 2007 +0000
35488
35489     [perf/dragon] Add a dragon curve perf case.
35490     
35491     Inspired by http://labs.trolltech.com/blogs/2007/08/31/rasterizing-dragons/
35492     and http://en.wikipedia.org/wiki/Dragon_curve, add a performance test case
35493     to measure drawing this space-filling fractal curve.
35494
35495  perf/Makefile.am  |    3 +-
35496  perf/cairo-perf.c |    1 +
35497  perf/cairo-perf.h |    1 +
35498  perf/dragon.c     |  166 +++++++++++++++++++++++++++++++++++++++++++++++++++++
35499  4 files changed, 170 insertions(+), 1 deletion(-)
35500
35501 commit 81ef772aa0bf512ec5ad8752da160117498bdb30
35502 Author: Chris Wilson <chris@chris-wilson.co.uk>
35503 Date:   Wed Nov 19 11:00:35 2008 +0000
35504
35505     [xlib] Mark GC as dirty if we have an outstanding clip.
35506     
35507     Ginn Chen reported a regression with Firefox where "the whole area of web
35508     page is transparent until it redraws", and bisected it to the change to
35509     lazily clear the clip.
35510     
35511     The bug would appears to be when we have an inconsistent GC clip - i.e.
35512     the clip on the surface has been cleared, but we have not yet used and
35513     thus cleared the GC, so that we did not mark the GC as having a clip set
35514     when we freed it.
35515
35516  src/cairo-xlib-surface.c |    4 +++-
35517  1 file changed, 3 insertions(+), 1 deletion(-)
35518
35519 commit c41b99268dd2424d09ab12ca560d5db30b6b6faf
35520 Author: Chris Wilson <chris@chris-wilson.co.uk>
35521 Date:   Wed Nov 19 11:49:04 2008 +0000
35522
35523     Conditionally include byteswap.h
35524     
35525     Fixup compilation by copying the checks from cairo-wideint-private.h to
35526     conditionally include byteswap.h and provide fallback implementations.
35527
35528  util/cairo-script/cairo-script-interpreter.c |    1 -
35529  util/cairo-script/cairo-script-operators.c   |    1 -
35530  util/cairo-script/cairo-script-private.h     |   17 +++++++++++++++++
35531  util/cairo-script/cairo-script-scanner.c     |    1 -
35532  util/cairo-trace/trace.c                     |   17 ++++++++++++++++-
35533  5 files changed, 33 insertions(+), 4 deletions(-)
35534
35535 commit 8345fedbe4d4d003c1f26a78ac7c512c04d04173
35536 Author: Chris Wilson <chris@chris-wilson.co.uk>
35537 Date:   Wed Nov 19 11:44:42 2008 +0000
35538
35539     [spline] Fix compile.
35540     
35541     Do not return the result of a void function. gcc chose to not warn about
35542     this when removing the return parameter...
35543
35544  src/cairo-spline.c |    6 ++++--
35545  1 file changed, 4 insertions(+), 2 deletions(-)
35546
35547 commit b6c371a47f33ec10d4d6130cc15677761df2bdfd
35548 Author: Chris Wilson <chris@chris-wilson.co.uk>
35549 Date:   Wed Nov 19 08:44:24 2008 +0000
35550
35551     [pattern] Cosmetic.
35552     
35553     surface is equal to pattern->surface at this point.
35554
35555  src/cairo-pattern.c |    2 +-
35556  1 file changed, 1 insertion(+), 1 deletion(-)
35557
35558 commit 7894abbe6d43b10ab2a92d99bdd6a08878e9022c
35559 Author: Chris Wilson <chris@chris-wilson.co.uk>
35560 Date:   Wed Nov 19 08:37:26 2008 +0000
35561
35562     [test] Support foreground only execution.
35563     
35564     Add an option to prevent forking - which makes it difficult to
35565     valgrind/gdb individual tests.
35566
35567  test/Makefile.am         |    1 +
35568  test/cairo-test-runner.c |  120 +++++++++++++++++++++++++---------------------
35569  2 files changed, 67 insertions(+), 54 deletions(-)
35570
35571 commit 645df0c6d2a3d9999bb18ddb8bb9995b3d597554
35572 Author: Chris Wilson <chris@chris-wilson.co.uk>
35573 Date:   Tue Nov 18 16:37:59 2008 +0000
35574
35575     [scaled-font] Clean-up compiler warning.
35576     
35577     gcc warns that the status may be used uninitialized, so fix it.
35578
35579  src/cairo-scaled-font-subsets.c |   20 ++++++++++----------
35580  1 file changed, 10 insertions(+), 10 deletions(-)
35581
35582 commit 2fdee490745a6c3a75691907aadf8ae38c57234c
35583 Author: Chris Wilson <chris@chris-wilson.co.uk>
35584 Date:   Mon Nov 17 12:22:39 2008 +0000
35585
35586     [compiler] likelihood macros
35587     
35588     Behdad prefers these to be upper-case to be consistent with G_UNLIKELY and
35589     friends. However, as I intend to use these for nearly all instances of
35590     if(status), I suggest that we keep to the short and not so loud:
35591         if (unlikely (status))
35592            return status;
35593
35594  src/cairo-compiler-private.h |    8 ++++----
35595  src/cairo-hash.c             |    2 +-
35596  2 files changed, 5 insertions(+), 5 deletions(-)
35597
35598 commit 97edc680c189205ac2f4e150009f1f1cbe55ba1a
35599 Author: Chris Wilson <chris@chris-wilson.co.uk>
35600 Date:   Tue Nov 18 10:49:27 2008 +0000
35601
35602     [twin] Reduce tolerance.
35603     
35604     As the glyphs are rendered to cache, ensure that they are rendered at the
35605     highest quality settings.
35606
35607  src/cairo-font-face-twin.c |    1 +
35608  src/cairo.c                |    1 +
35609  src/cairoint.h             |    1 +
35610  test/Makefile.am           |    1 +
35611  test/twin.pdf.ref.png      |  Bin 0 -> 1673 bytes
35612  test/twin.ref.png          |  Bin 1673 -> 1718 bytes
35613  6 files changed, 4 insertions(+)
35614
35615 commit e50538863a2c063eba61b36cc08eff6eeb712956
35616 Author: Chris Wilson <chris@chris-wilson.co.uk>
35617 Date:   Tue Nov 18 10:45:19 2008 +0000
35618
35619     [twin] Tweak line width.
35620     
35621     Slightly increase line width to eliminate internal holes in the characters
35622     where the strokes were not quite overlapping.
35623
35624  src/cairo-font-face-twin.c |    2 +-
35625  test/twin.c                |    2 +-
35626  test/twin.ps2.ref.png      |  Bin 1167 -> 1095 bytes
35627  test/twin.ps3.ref.png      |  Bin 1167 -> 1095 bytes
35628  test/twin.ref.png          |  Bin 1836 -> 1673 bytes
35629  test/twin.svg11.ref.png    |  Bin 1773 -> 1662 bytes
35630  test/twin.svg12.ref.png    |  Bin 1773 -> 1662 bytes
35631  7 files changed, 2 insertions(+), 2 deletions(-)
35632
35633 commit 91c17d33324b51a3876bc6ce778c684111139303
35634 Author: Chris Wilson <chris@chris-wilson.co.uk>
35635 Date:   Tue Nov 18 00:32:54 2008 +0000
35636
35637     [trace] Simple unbounded cache for symbol lookups.
35638     
35639     Reparsing the dwarf info for every lookup is very slow, so cache the
35640     symbol lookups. This initial implementation is unbounded in the simple
35641     belief that the actual number of unique lookups during a program's
35642     lifetime should be fairly small. (Extending to a bounded MRU list is left
35643     as an exercise for the reader.)
35644
35645  util/cairo-trace/lookup-symbol.c |   70 ++++++++++++++++++++++++++++++++------
35646  util/cairo-trace/trace.c         |    9 ++---
35647  2 files changed, 65 insertions(+), 14 deletions(-)
35648
35649 commit 2839a0e800d6cc12b28da44f30a9e278ceac65aa
35650 Author: Chris Wilson <chris@chris-wilson.co.uk>
35651 Date:   Sun Nov 16 20:04:55 2008 +0000
35652
35653     [script] Add a simple replay.
35654     
35655     A very simple replay program for trace replay.
35656
35657  util/cairo-script/.gitignore   |    1 +
35658  util/cairo-script/Makefile.am  |    7 +++-
35659  util/cairo-script/csi-replay.c |   85 ++++++++++++++++++++++++++++++++++++++++
35660  3 files changed, 92 insertions(+), 1 deletion(-)
35661
35662 commit b091c5bfcad170fd563699a1c8b11e7d25d159a2
35663 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
35664 Date:   Tue Nov 18 00:20:38 2008 +0200
35665
35666     BIBLIOGRAPHY: Cite Hars & Petruska's Pseudorandom Recursions paper.
35667
35668  BIBLIOGRAPHY |   15 +++++++++++++++
35669  1 file changed, 15 insertions(+)
35670
35671 commit 3a82f943988413e0d3fada9932bb385f4cbdb3c7
35672 Author: Chris Wilson <chris@chris-wilson.co.uk>
35673 Date:   Sun Nov 16 18:21:52 2008 +0000
35674
35675     [test] Add util/cairo-script to include path.
35676     
35677     any2ppm needs the include path for cairo-script-interpreter so that it can
35678     be built without an existing install.
35679
35680  test/Makefile.am |    3 ++-
35681  test/any2ppm.c   |    3 ---
35682  2 files changed, 2 insertions(+), 4 deletions(-)
35683
35684 commit 997fa6a7729b72b25d9275929bf190e71eed1b9d
35685 Author: Chris Wilson <chris@chris-wilson.co.uk>
35686 Date:   Sun Nov 16 17:43:40 2008 +0000
35687
35688     [configure] Remove old line for CairoScript testing.
35689     
35690     CairoScript testing should now be unconditional so remove the surplus
35691     message.
35692
35693  build/configure.ac.features |    1 -
35694  1 file changed, 1 deletion(-)
35695
35696 commit a2eff7c7deb9b41c387472bb91b9a7b9c8f319f0
35697 Author: Chris Wilson <chris@chris-wilson.co.uk>
35698 Date:   Sun Nov 16 16:19:25 2008 +0000
35699
35700     [test] Add build rule for libcairo-script-interpreter.la
35701     
35702     Add a rule to build the cairo-script-interpreter on behalf of any2ppm.
35703
35704  test/Makefile.am |    3 +++
35705  1 file changed, 3 insertions(+)
35706
35707 commit bf309aab6072ee1004073e71bccdf3c8040a8ad6
35708 Author: Chris Wilson <chris@chris-wilson.co.uk>
35709 Date:   Sat Nov 15 11:36:41 2008 +0000
35710
35711     [configure] Delete CAN_TEST_SCRIPT
35712     
35713     A CairoScript interpreter is built under utils and so is always available.
35714
35715  configure.ac   |    3 ---
35716  test/any2ppm.c |    8 --------
35717  2 files changed, 11 deletions(-)
35718
35719 commit d7873eecc598a558a2a862add8e9b056c4a23a4a
35720 Author: Chris Wilson <chris@chris-wilson.co.uk>
35721 Date:   Fri Nov 14 17:18:47 2008 +0000
35722
35723     [spline] Eliminate intermediate allocations during spline decomposition.
35724     
35725     The spline decomposition code allocates and stores points in a temporary
35726     buffer which is immediately consumed by the caller. If the caller supplies
35727     a callback that handles each point computed along the spline, then we can
35728     use the point immediately and avoid the allocation.
35729
35730  src/cairo-bentley-ottmann.c |   12 +-
35731  src/cairo-path-fill.c       |   23 ++--
35732  src/cairo-path-fixed.c      |   27 ++---
35733  src/cairo-path-in-fill.c    |   21 ++--
35734  src/cairo-path-stroke.c     |  101 +++++++++--------
35735  src/cairo-pen.c             |  254 ++++++++++++++++++++++++++++---------------
35736  src/cairo-polygon.c         |   23 ++--
35737  src/cairo-spline.c          |  121 ++++-----------------
35738  src/cairo-types-private.h   |   13 +--
35739  src/cairoint.h              |   65 +++++++----
35740  10 files changed, 331 insertions(+), 329 deletions(-)
35741
35742 commit 3bf8379408ce9b1e08d130bcd1076766e36f1bef
35743 Author: Chris Wilson <chris@chris-wilson.co.uk>
35744 Date:   Fri Nov 14 09:50:29 2008 +0000
35745
35746     [type1] Propagate fatal NO_MEMORY erro from FreeType.
35747     
35748     If FreeType fails to load the glyph, check for a fatal error before
35749     falling back (and effectively masking the fatal condition).
35750
35751  src/cairo-type1-subset.c |   14 ++++++++++++--
35752  1 file changed, 12 insertions(+), 2 deletions(-)
35753
35754 commit db9ed77d8aa4f4b4c8410e52e5bbd16ffa94ee24
35755 Author: Chris Wilson <chris@chris-wilson.co.uk>
35756 Date:   Thu Nov 13 20:36:14 2008 +0000
35757
35758     [cairo] FLush surface on cairo_destroy()
35759     
35760     When discussing the implications of snapshot cow, one of the questions
35761     that we raised was what happens on cairo_destroy()? The lifetime of the
35762     context implicitly marks the extents of the drawing operations, typically
35763     the expose event (or perhaps one phase of it). Therefore at the end of the
35764     sequence we implicitly wish to flush the graphics events to the surface.
35765
35766  src/cairo.c |   11 +++++++++++
35767  1 file changed, 11 insertions(+)
35768
35769 commit 032be9849dfc32ec8802a4f086619755a3a397f5
35770 Author: Chris Wilson <chris@chris-wilson.co.uk>
35771 Date:   Thu Nov 13 16:36:01 2008 +0000
35772
35773     [skiplist] Inline testing.
35774     
35775     Add a loop to create a skip list to allow manual checking.
35776
35777  src/Makefile.am      |    5 ++++-
35778  src/cairo-skiplist.c |   36 ++++++++++++++++++++++++++++++++++++
35779  2 files changed, 40 insertions(+), 1 deletion(-)
35780
35781 commit e44c1f26e48cfb2f74834b6a8ef8532b0bd28982
35782 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
35783 Date:   Sat Oct 18 01:15:44 2008 +0300
35784
35785     Use a smaller and faster random number generator.
35786     
35787     The previous LFSR generator used a large table to be speedy.  The
35788     replacement generator is the single stage generator (1) from section
35789     5.4 of [HP2007], requires no tables or extra state.  I've run the
35790     generator through Rob Brown's extended Dieharder test suite and it
35791     passes all but one self-proclaimed buggy test (-d2) and the 2D sphere
35792     minimum distance test (-d12).
35793     
35794     [HP2007] Hars L. and Petruska G., ``Pseudorandom Recursions: Small and Fast Pseurodandom Number Generators for Embedded Applications'',
35795     Hindawi Publishing Corporation
35796     EURASIP Journal on Embedded Systems
35797     Volume 2007, Article ID 98417, 13 pages
35798     doi:10.1155/2007/98417
35799     http://www.hindawi.com/getarticle.aspx?doi=10.1155/2007/98417&e=cta
35800
35801  src/cairo-skiplist.c |  200 +++-----------------------------------------------
35802  1 file changed, 11 insertions(+), 189 deletions(-)
35803
35804 commit a4c5371b5e6d0df71efc75fee6f6a8fe8c6d3488
35805 Author: Chris Wilson <chris@chris-wilson.co.uk>
35806 Date:   Thu Nov 13 14:56:38 2008 +0000
35807
35808     [os2] Move include cairo.h before os2.h
35809     
35810     The defines need to come first, but we specify that cairo.h is the first
35811     header file to be included by files.
35812
35813  src/cairo-os2.h |    4 ++--
35814  1 file changed, 2 insertions(+), 2 deletions(-)
35815
35816 commit 456252a1c2b00685bee18c01bf27738d6125b4f8
35817 Merge: 3b11997 ab61544
35818 Author: Carl Worth <cworth@cworth.org>
35819 Date:   Fri Nov 14 15:27:34 2008 +0100
35820
35821     Merge branch '1.8'
35822     
35823     Conflicts:
35824     
35825         NEWS
35826         cairo-version.h
35827
35828 commit ab61544b30406a49abc1f559d81129edce6d41ec
35829 Author: Carl Worth <cworth@cworth.org>
35830 Date:   Fri Nov 14 13:17:01 2008 +0100
35831
35832     Increment version to 1.8.5 after the 1.8.4 release.
35833
35834  cairo-version.h |    2 +-
35835  1 file changed, 1 insertion(+), 1 deletion(-)
35836
35837 commit 66e8f142e381501d114888c2d1fc1e7f6d6a9857
35838 Author: Carl Worth <cworth@cworth.org>
35839 Date:   Fri Nov 14 11:08:40 2008 +0100
35840
35841     Increment version to 1.8.4
35842
35843  cairo-version.h |    2 +-
35844  1 file changed, 1 insertion(+), 1 deletion(-)
35845
35846 commit b9c1344ad82d38bb86fa85fbb565b2de64aa0e35
35847 Author: Carl Worth <cworth@cworth.org>
35848 Date:   Fri Nov 14 11:07:10 2008 +0100
35849
35850     NEWS: Add notes for cairo 1.8.4
35851     
35852     Just a few bug fixes here.
35853
35854  NEWS |   52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
35855  1 file changed, 52 insertions(+)
35856
35857 commit 3b11997a23baa9e38e87b584ee29f4888a5d92f7
35858 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
35859 Date:   Thu Nov 13 18:01:47 2008 +0200
35860
35861     [cairo-script] Remove outdated #error to allow compilation to succeed.
35862     
35863     The interpreter doesn't depend on the script surface anymore.
35864
35865  util/cairo-script/cairo-script-interpreter.h |    6 ------
35866  1 file changed, 6 deletions(-)
35867
35868 commit d654d528de16769932131da80f4b925151d50103
35869 Author: Carl Worth <cworth@cworth.org>
35870 Date:   Thu Nov 13 16:45:15 2008 +0100
35871
35872     Blacklist "X.Org" < 7.0 with the buggy_repeat workaround.
35873     
35874     This is in response to a report that a 6.9 server crashes with
35875     cairo's extend-reflect test:
35876     
35877     https://bugs.freedesktop.org/show_bug.cgi?id=15628#c2
35878
35879  src/cairo-xlib-display.c |   11 +++++++++--
35880  1 file changed, 9 insertions(+), 2 deletions(-)
35881
35882 commit 35a1ba0ddc45f9cc785c6f8a37b6bb49c953e047
35883 Author: Carl Worth <cworth@cworth.org>
35884 Date:   Thu Nov 13 16:36:20 2008 +0100
35885
35886     Document the buggy_repeat workaround more carefully.
35887     
35888     It's a confusing condition, so let's be explicit about where
35889     the various numbers come from.
35890
35891  src/cairo-xlib-display.c |   54 ++++++++++++++++++++++++++++++++--------------
35892  1 file changed, 38 insertions(+), 16 deletions(-)
35893
35894 commit cdfffc7420e005b2a7d1979feef8bd304183126c
35895 Author: Chris Wilson <chris@chris-wilson.co.uk>
35896 Date:   Thu Nov 13 11:07:45 2008 +0000
35897
35898     Add CairoScript interpreter
35899     
35900     Add a CairoScript interpreter library and use it to replay the test output
35901     for the CairoScript backend. The library is also used by the currently
35902     standalone Sphinx debugger [git://anongit.freedesktop.org/~ickle/sphinx].
35903     The syntax/operator semantics are not yet finalized, but are expected to
35904     mature before the next stable release.
35905
35906  configure.ac                                 |   20 +-
35907  test/Makefile.am                             |    4 +-
35908  test/any2ppm.c                               |   41 +-
35909  util/Makefile.am                             |    2 +-
35910  util/cairo-script/COPYING                    |   17 +
35911  util/cairo-script/Makefile.am                |   21 +
35912  util/cairo-script/cairo-script-file.c        | 1018 +++++
35913  util/cairo-script/cairo-script-hash.c        |  448 ++
35914  util/cairo-script/cairo-script-interpreter.c |  473 +++
35915  util/cairo-script/cairo-script-interpreter.h |  104 +
35916  util/cairo-script/cairo-script-objects.c     |  666 +++
35917  util/cairo-script/cairo-script-operators.c   | 5791 ++++++++++++++++++++++++++
35918  util/cairo-script/cairo-script-private.h     |  853 ++++
35919  util/cairo-script/cairo-script-scanner.c     | 1180 ++++++
35920  util/cairo-script/cairo-script-stack.c       |  196 +
35921  15 files changed, 10801 insertions(+), 33 deletions(-)
35922
35923 commit a856371bef496da0e84226f4fd2fc3cb72e955ac
35924 Author: Chris Wilson <chris@chris-wilson.co.uk>
35925 Date:   Tue Nov 4 10:45:34 2008 +0000
35926
35927     Add CairoScript backend.
35928     
35929     A new meta-surface backend for serialising drawing operations to a
35930     CairoScript file. The principal use (as currently envisaged) is to provide
35931     a round-trip testing mechanism for CairoScript - i.e. we can generate
35932     script files for every test in the suite and check that we can replay them
35933     with perfect fidelity. (Obviously this does not provide complete coverage
35934     of CairoScript's syntax, but should give reasonable coverage over the
35935     operators.)
35936
35937  boilerplate/Makefile.sources                   |    3 +
35938  boilerplate/cairo-boilerplate-script-private.h |   57 +
35939  boilerplate/cairo-boilerplate-script.c         |  125 ++
35940  boilerplate/cairo-boilerplate.c                |   16 +
35941  build/configure.ac.features                    |    2 +
35942  configure.ac                                   |   16 +
35943  doc/public/tmpl/cairo-surface.sgml             |    1 +
35944  src/Makefile.sources                           |    3 +
35945  src/cairo-base85-stream.c                      |    1 +
35946  src/cairo-cache-private.h                      |    2 +-
35947  src/cairo-cache.c                              |   41 +-
35948  src/cairo-deflate-stream.c                     |    1 +
35949  src/cairo-ft-font.c                            |   12 +
35950  src/cairo-ft-private.h                         |    3 +
35951  src/cairo-gstate.c                             |    3 +-
35952  src/cairo-output-stream-private.h              |   19 +-
35953  src/cairo-output-stream.c                      |   43 +-
35954  src/cairo-path-fixed-private.h                 |   11 +
35955  src/cairo-path-fixed.c                         |  164 ++
35956  src/cairo-pattern.c                            |  255 +++
35957  src/cairo-pdf-operators.c                      |    1 +
35958  src/cairo-ps-surface.c                         |    2 +
35959  src/cairo-scaled-font-private.h                |    9 +-
35960  src/cairo-scaled-font.c                        |    5 +
35961  src/cairo-script-surface.c                     | 2598 ++++++++++++++++++++++++
35962  src/cairo-script.h                             |   74 +
35963  src/cairo-types-private.h                      |    1 +
35964  src/cairo.h                                    |    4 +-
35965  src/cairoint.h                                 |   18 +
35966  test/Makefile.am                               |    4 +-
35967  test/any2ppm.c                                 |   87 +-
35968  test/mime-data.script.ref.png                  |  Bin 0 -> 1982 bytes
35969  32 files changed, 3540 insertions(+), 41 deletions(-)
35970
35971 commit 47a56e08501ec9375f75c15e35a68c77b313ada4
35972 Author: Chris Wilson <chris@chris-wilson.co.uk>
35973 Date:   Wed Sep 10 16:51:52 2008 +0100
35974
35975     [type1] Bind the RD procedure
35976     
35977     As the RD procedure may be called several hundred times for a full font,
35978     it is worth binding.
35979
35980  src/cairo-type1-fallback.c |    2 +-
35981  1 file changed, 1 insertion(+), 1 deletion(-)
35982
35983 commit 0769d39d0093ec3bff5b72ecbfcef1bae2f03be2
35984 Author: Chris Wilson <chris@chris-wilson.co.uk>
35985 Date:   Thu Nov 13 11:13:22 2008 +0000
35986
35987     Add predicate likelihood macros.
35988     
35989     Define the couple of standard macros that we can use to guide gcc
35990     optimisations of which code path will be most likely taken.
35991
35992  src/cairo-compiler-private.h |   17 +++++++++++++++++
35993  1 file changed, 17 insertions(+)
35994
35995 commit b06c50cc54140a662adacde6336a3e7777f26ac3
35996 Author: Chris Wilson <chris@chris-wilson.co.uk>
35997 Date:   Thu Nov 13 11:21:26 2008 +0000
35998
35999     [cairoint.h] Remove unused PLT entries.
36000     
36001     Trim the slim_hidden_proto/def to match the currently used functions.
36002
36003  src/cairo-pattern.c |    1 -
36004  src/cairo.c         |    3 ---
36005  src/cairoint.h      |   16 ++++++----------
36006  3 files changed, 6 insertions(+), 14 deletions(-)
36007
36008 commit 20fc2a2f92e27082a8806b9acb4b904dc84da672
36009 Author: Chris Wilson <chris@chris-wilson.co.uk>
36010 Date:   Tue Nov 11 11:35:14 2008 +0000
36011
36012     [in-fill] Fixup boundary insideness testing
36013     
36014     Benjamin Otte noticed that the top-left vertex was now included within the
36015     fill extents. Having updated the test case to check the insideness
36016     conditions as defined by flash, fix the edge handling to match.
36017
36018  src/cairo-path-in-fill.c |    2 +-
36019  1 file changed, 1 insertion(+), 1 deletion(-)
36020
36021 commit 9afad537301529a5a4b4ddf8b7e4425002ea39c7
36022 Author: Chris Wilson <chris@chris-wilson.co.uk>
36023 Date:   Tue Nov 11 10:22:17 2008 +0000
36024
36025     [test] Expand in-fill-trapezoid
36026     
36027     Test vertices and edges of a rectangle to probe 'corner-cases', using the
36028     insideness conditions from flash.
36029
36030  test/in-fill-trapezoid.c |   34 ++++++++++++++++++++++++++++++++++
36031  1 file changed, 34 insertions(+)
36032
36033 commit cebc84f367a81eedebf7ab0b6b082691923c3ef7
36034 Author: Chris Wilson <chris@chris-wilson.co.uk>
36035 Date:   Sat Nov 8 00:06:38 2008 +0000
36036
36037     [hash] Separate out unique patterns of iterating over the table.
36038     
36039     Avoid unnecessary conditionals for the hotpaths by separating out the
36040     iteration over the elements into their distinct modes.
36041
36042  src/cairo-font-face.c   |    2 +-
36043  src/cairo-hash.c        |  185 ++++++++++++++++++++++-------------------------
36044  src/cairo-scaled-font.c |   11 ++-
36045  3 files changed, 93 insertions(+), 105 deletions(-)
36046
36047 commit 5f0aa274459fa182d1f82d393224c46ce2b12785
36048 Author: Chris Wilson <chris@chris-wilson.co.uk>
36049 Date:   Thu Nov 13 10:45:15 2008 +0000
36050
36051     [trace] Add caller line info.
36052     
36053     Use lookup_symbol() on the return address to identify the caller and emit
36054     useful debug info to the trace.
36055
36056  util/cairo-trace/cairo-trace.in  |   27 +++++++-
36057  util/cairo-trace/lookup-symbol.c |   72 +++++++++-----------
36058  util/cairo-trace/trace.c         |  134 ++++++++++++++++++++++++++++++++++----
36059  3 files changed, 178 insertions(+), 55 deletions(-)
36060
36061 commit 4cd6b0c0b9862f398877cb23c294399b480ac8d0
36062 Author: Chris Wilson <chris@chris-wilson.co.uk>
36063 Date:   Wed Nov 12 00:37:40 2008 +0000
36064
36065     [trace] Check for an undefined pattern and use index instead.
36066
36067  util/cairo-trace/trace.c |   20 ++++++++++++++++++--
36068  1 file changed, 18 insertions(+), 2 deletions(-)
36069
36070 commit 76f249a49399744d6d936e36ca4d68ab4a1f3d3b
36071 Author: Chris Wilson <chris@chris-wilson.co.uk>
36072 Date:   Tue Nov 11 09:12:50 2008 +0000
36073
36074     [trace] Detect and report broken traces.
36075     
36076     We cannot trace the cairo-script-interpreter as that uses Cairo's private
36077     symbols.
36078
36079  util/cairo-trace/trace.c |   15 ++++++++++++++-
36080  1 file changed, 14 insertions(+), 1 deletion(-)
36081
36082 commit 01e2021b2b7b66e7cdb9c4b0326fd5793759848b
36083 Author: Chris Wilson <chris@chris-wilson.co.uk>
36084 Date:   Mon Nov 10 16:15:28 2008 +0000
36085
36086     [trace] Trace mark-dirty
36087     
36088     Capture the image data on mark dirty and record in the trace.
36089
36090  util/cairo-trace/cairo-trace.in |    2 +-
36091  util/cairo-trace/trace.c        |  121 +++++++++++++++++++++++++++++++++------
36092  2 files changed, 106 insertions(+), 17 deletions(-)
36093
36094 commit 8f3d0b55f50168f061a01eecfcb4ebecbff0e1c6
36095 Author: Chris Wilson <chris@chris-wilson.co.uk>
36096 Date:   Tue Nov 11 09:25:24 2008 +0000
36097
36098     [trace] Add unstable warning.
36099     
36100     Add warning that CairoScript is unfinished and I may radically alter the
36101     format/syntax/language before release.
36102
36103  util/cairo-trace/trace.c |    1 +
36104  1 file changed, 1 insertion(+)
36105
36106 commit 7ad2635ebe84ba7c050a7f00c5389cdc31ab1172
36107 Author: Chris Wilson <chris@chris-wilson.co.uk>
36108 Date:   Tue Nov 11 09:46:38 2008 +0000
36109
36110     [trace] Disable stdout by default.
36111     
36112     Don't hog the terminal when we save to a trace file anyway.
36113
36114  util/cairo-trace/cairo-trace.in |   48 +++++++++++++++++++++++----------------
36115  1 file changed, 29 insertions(+), 19 deletions(-)
36116
36117 commit efa9e1088cbf1b5331cc0bab3348520f3b91ae4b
36118 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
36119 Date:   Thu Nov 13 12:11:12 2008 +0200
36120
36121     [clip] Fix uninitialised status return in _cairo_clip_intersect_mask() for empty extents.
36122     
36123     This fixes the clip-all test case crashing for me.
36124
36125  src/cairo-clip.c |    2 +-
36126  1 file changed, 1 insertion(+), 1 deletion(-)
36127
36128 commit 279a7cef349cf5aa87cdeacb9424413f51117fe8
36129 Author: Behdad Esfahbod <behdad@behdad.org>
36130 Date:   Thu Nov 13 10:50:41 2008 +0100
36131
36132     [os2] Fix includes
36133     
36134     Patch from Dave Yeo to make cairo-os2.h include os2.h directly so the
36135     header is standalone.
36136
36137  src/cairo-os2-private.h |   11 -----------
36138  src/cairo-os2-surface.c |    5 -----
36139  src/cairo-os2.h         |    8 ++++++++
36140  3 files changed, 8 insertions(+), 16 deletions(-)
36141
36142 commit 0a682034a04fa7fc1407e7bc093ae01f4b385ad7
36143 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
36144 Date:   Tue Nov 11 13:26:09 2008 -0500
36145
36146     Make the clipping implementation comment clearer
36147     
36148     When reviewing the spans changes, I reread this comment and it wasn't as clear
36149     as it could be.
36150
36151  src/cairo-clip.c |    7 ++++---
36152  1 file changed, 4 insertions(+), 3 deletions(-)
36153
36154 commit 4fdd856569a67636aaf29bc1a76eed44418db484
36155 Author: Peter Weilbacher <mozilla@weilbacher.org>
36156 Date:   Tue Nov 11 15:37:09 2008 +0100
36157
36158     README: adapt pixman version requirement to match configure.ac
36159
36160  README |    2 +-
36161  1 file changed, 1 insertion(+), 1 deletion(-)
36162
36163 commit 9c0042840c70c14e3e608ac3849edf5f1ef99816
36164 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
36165 Date:   Tue Nov 11 08:41:31 2008 -0500
36166
36167     [quartz] Add the proper propagation of extents
36168     
36169     This fixes the problems introduced by d682d275b90f7326df76d2764c513c8b6d5b551b
36170
36171  src/cairo-quartz-surface.c |   24 +++++++++++++-----------
36172  1 file changed, 13 insertions(+), 11 deletions(-)
36173
36174 commit 57551a91168a68399add9e5c324fba03961b7747
36175 Author: Jeff Muizelaar <jeff@infidigm.net>
36176 Date:   Tue Nov 11 08:31:23 2008 -0500
36177
36178     [quartz] Fix fallout caused by const cairo_pattern_t *
36179     
36180     794460186459981cd43ca38f3eba07e3f6bf8908 broke the quartz backend.
36181     Fix it by adding const to the appropriate parameters in the function
36182     declarations and copying the pattern when needed.
36183
36184  src/cairo-quartz-surface.c |   41 ++++++++++++++++++++++++-----------------
36185  1 file changed, 24 insertions(+), 17 deletions(-)
36186
36187 commit 164069b339843837e04e2522a615f03a83b362c0
36188 Author: Maarten Maathuis <madman2003@gmail.com>
36189 Date:   Sat Nov 8 15:29:40 2008 +0100
36190
36191     cairo-xcb: avoid leaking memory
36192
36193  src/cairo-xcb-surface.c |    3 +++
36194  1 file changed, 3 insertions(+)
36195
36196 commit 5badcf6e370b9808374a1fa547383b236a9dcd21
36197 Author: Chris Wilson <chris@chris-wilson.co.uk>
36198 Date:   Sat Nov 8 11:17:34 2008 +0000
36199
36200     [trace] Use a string literal for the type.
36201     
36202     In order that the string is interned and so is only allocated the once.
36203
36204  util/cairo-trace/trace.c |   28 ++++++++++++++--------------
36205  1 file changed, 14 insertions(+), 14 deletions(-)
36206
36207 commit 1d0faefbc8700833e9bde8a9c825b02b0f3cf910
36208 Author: Chris Wilson <chris@chris-wilson.co.uk>
36209 Date:   Fri Nov 7 22:48:21 2008 +0000
36210
36211     [trace] Record the XID as a number
36212     
36213     Don't waste string constants (which get interned) for a simple number!
36214
36215  util/cairo-trace/trace.c |    6 +++---
36216  1 file changed, 3 insertions(+), 3 deletions(-)
36217
36218 commit 899a159b133e22f71e2a176785c91e78838c3fee
36219 Author: Chris Wilson <chris@chris-wilson.co.uk>
36220 Date:   Sat Nov 8 11:16:03 2008 +0000
36221
36222     [trace] Remove stray /source
36223     
36224     An accidental /source was pushing pushed onto the operand stack and never
36225     used.
36226
36227  util/cairo-trace/trace.c |    1 -
36228  1 file changed, 1 deletion(-)
36229
36230 commit f1cae5c52a5ee71b7933fca702bb525d98936838
36231 Author: Chris Wilson <chris@chris-wilson.co.uk>
36232 Date:   Fri Nov 7 20:52:08 2008 +0000
36233
36234     [ps] Trivial compile warning clenaup.
36235     
36236     Add a missing const to silence the compiler.
36237
36238  src/cairo-ps-surface.c |    2 +-
36239  1 file changed, 1 insertion(+), 1 deletion(-)
36240
36241 commit 2b32c8b9e572c96ce8ba5c7d43b568f18f6da295
36242 Author: Chris Wilson <chris@chris-wilson.co.uk>
36243 Date:   Fri Nov 7 20:30:33 2008 +0000
36244
36245     [hash] Return lookup entry.
36246     
36247     Use the return value to return the result from _cairo_hash_table_lookup()
36248     (as opposed to filling an output parameter on the stack) as this (a)
36249     results in cleaner code (no strict-alias breaking pointer casts), (b)
36250     produces a smaller binary and (c) is measurably faster.
36251
36252  src/cairo-cache-private.h       |    5 ++---
36253  src/cairo-cache.c               |    8 +++----
36254  src/cairo-cff-subset.c          |   24 +++++++++-----------
36255  src/cairo-font-face.c           |    9 ++++----
36256  src/cairo-ft-font.c             |    6 ++---
36257  src/cairo-hash-private.h        |    7 +++---
36258  src/cairo-hash.c                |   24 +++++++-------------
36259  src/cairo-misc.c                |    7 +++---
36260  src/cairo-scaled-font-subsets.c |   47 +++++++++++++++++++--------------------
36261  src/cairo-scaled-font.c         |   18 +++++++--------
36262  10 files changed, 67 insertions(+), 88 deletions(-)
36263
36264 commit d15fb9344bf86dd52cda0b43d3dfc49397fd84ec
36265 Author: Karl Tomlinson <karlt+@karlt.net>
36266 Date:   Fri Nov 7 20:06:35 2008 +0000
36267
36268     [hash] Set is_unique when finding an available for inserts
36269     
36270     As we obey the rule in Cairo that we only insert if we know that there is
36271     no existing entry in the hash table, we can therefore perform a much quicker
36272     search knowing that the key is unique.
36273
36274  src/cairo-hash.c |   16 +++++++---------
36275  1 file changed, 7 insertions(+), 9 deletions(-)
36276
36277 commit cd2e18ddc65959a736fc7b7f6bbd3e76af0495a9
36278 Author: Chris Wilson <chris@chris-wilson.co.uk>
36279 Date:   Fri Nov 7 18:35:39 2008 +0000
36280
36281     [test] Fix-up rgb byte packing
36282     
36283     Another embarrassing, but thankfully, trivial bug.
36284
36285  boilerplate/cairo-boilerplate.c |    2 ++
36286  test/any2ppm.c                  |   14 +++++++++-----
36287  2 files changed, 11 insertions(+), 5 deletions(-)
36288
36289 commit 2554d1759835a174b89107808d81d044c3e2e098
36290 Author: Chris Wilson <chris@chris-wilson.co.uk>
36291 Date:   Fri Nov 7 13:26:46 2008 +0000
36292
36293     [surface] Pass a separate closure for the mime-type destroy notifier.
36294     
36295     A limitation of the current API was that the destroy notifier was called
36296     on the mime-data block. This prevents the user from passing in a pointer
36297     to a managed block, for example a mime-data block belonging to a
36298     ref-counted object. We can overcome this by allowing the user to specify
36299     the closure to be used with the destroy notifier.
36300
36301  src/cairo-png.c           |    3 ++-
36302  src/cairo-surface.c       |    9 ++++++---
36303  src/cairo-types-private.h |    1 +
36304  src/cairo.h               |   11 ++++++-----
36305  test/mime-data.c          |    3 ++-
36306  test/pdf-mime-data.c      |    4 +++-
36307  util/cairo-trace/trace.c  |    6 ++++--
36308  7 files changed, 24 insertions(+), 13 deletions(-)
36309
36310 commit ff0bd64e9436026f11e85eafcd74e9a0131c8b9f
36311 Author: Chris Wilson <chris@chris-wilson.co.uk>
36312 Date:   Thu Nov 6 01:22:39 2008 +0000
36313
36314     [NEWS] Add a few notes.
36315     
36316     Help Carl with a speedy snapshot by writing a few notes about what has been
36317     added so far to 1.9.
36318
36319  NEWS |   42 ++++++++++++++++++++++++++++++++++++++++++
36320  1 file changed, 42 insertions(+)
36321
36322 commit 13627b46209f9239d10a155f2de7e53c0585e4c2
36323 Author: Chris Wilson <chris@chris-wilson.co.uk>
36324 Date:   Thu Nov 6 01:04:52 2008 +0000
36325
36326     [in-fill] Fix transposed arguments.
36327     
36328     Silly typo that escaped the test suite.
36329
36330  src/cairo-path-in-fill.c |    2 +-
36331  1 file changed, 1 insertion(+), 1 deletion(-)
36332
36333 commit 9dee7af41f4f5a4c1285e9d7951148e78659c064
36334 Author: Chris Wilson <chris@chris-wilson.co.uk>
36335 Date:   Thu Nov 6 01:02:23 2008 +0000
36336
36337     [test] Add off-centre tests to in-fill-trapezoid.
36338     
36339     Reading through the previous commit spotted that the arguments to
36340     edge_compare_for_y_against_x were transposed, but the test-suite had
36341     failed to catch detect it. This is due that in order to actually
36342     solve the equation we need to have a diagonal edge passing near an
36343     off-centre point of interest, which was not among the test cases. So add
36344     some off-centre tests to fully exercise the code.
36345
36346  test/in-fill-trapezoid.c |   66 ++++++++++++++++++++++++++++++++++++++++++++++
36347  1 file changed, 66 insertions(+)
36348
36349 commit f5965cb7d6559e051c2581fe446d0b9f40427eb2
36350 Author: Chris Wilson <chris@chris-wilson.co.uk>
36351 Date:   Wed Nov 5 23:48:52 2008 +0000
36352
36353     [in-fill] Avoid tessellation by counting number of edge crossing to -∞
36354     
36355     Benjamin Otte reports that in one particular benchmark cairo_in_fill() is
36356     a hotspot in the profile. Currently we tessellate the entire path and then
36357     search for a containing trapezoid. This is very expensive compared to the
36358     simple method of counting the number of edge crossing between the point of
36359     interest and x=-∞. For example, this speeds tessellate-256 up by almost 3
36360     orders of magnitude.
36361
36362  src/Makefile.sources     |    1 +
36363  src/cairo-gstate.c       |   30 +-----
36364  src/cairo-path-in-fill.c |  264 ++++++++++++++++++++++++++++++++++++++++++++++
36365  src/cairoint.h           |    9 ++
36366  4 files changed, 279 insertions(+), 25 deletions(-)
36367
36368 commit 0ac98461597420d3dfe52e405c6b3322d32f4854
36369 Author: Chris Wilson <chris@chris-wilson.co.uk>
36370 Date:   Thu Nov 6 00:04:11 2008 +0000
36371
36372     [test] Add WINDING variants to in-fill test
36373     
36374     Check cairo_in_fill() with some WINDING tests as well as the current
36375     EVEN_ODD.
36376
36377  test/in-fill-trapezoid.c |   56 ++++++++++++++++++++++++++++++++++++++++++++++
36378  1 file changed, 56 insertions(+)
36379
36380 commit 476d5daa9bfc5e9014d1b6572853d1d78ce6a6d9
36381 Author: Chris Wilson <chris@chris-wilson.co.uk>
36382 Date:   Wed Nov 5 19:29:04 2008 +0000
36383
36384     [trace] Only build if we have zlib.
36385     
36386     Use the configure check for libz and do not attempt to build the trace
36387     unless we have zlib.
36388
36389  configure.ac |    4 +++-
36390  1 file changed, 3 insertions(+), 1 deletion(-)
36391
36392 commit 34564aa84a4642dceba75efdeef438be6c6896c8
36393 Author: Chris Wilson <chris@chris-wilson.co.uk>
36394 Date:   Wed Nov 5 19:27:49 2008 +0000
36395
36396     [test/pdf2png] Remove dependency on GdkPixbuf
36397     
36398     It's appears to be dropped from the current poppler trunk, so just use our
36399     own venerable cairo_surface_write_ton_png().
36400
36401  configure.ac   |    2 +-
36402  test/pdf2png.c |   32 +++++++++++++++++++-------------
36403  2 files changed, 20 insertions(+), 14 deletions(-)
36404
36405 commit 564d64a1323c5cbcde2dd9365ac790fe8aa1c5a6
36406 Author: Chris Wilson <chris@chris-wilson.co.uk>
36407 Date:   Wed Nov 5 18:47:34 2008 +0000
36408
36409     [png] Complete the idempotent read_png() -> write_png()
36410     
36411     Write out the original PNG mime-data if attached to the surface during
36412     cairo_surface_write_to_png(). Similar to how the compressed alternate
36413     representations are handled by the other backends.
36414     
36415     Note: by automatically attaching and using the mime-data in preference to
36416     the image data, we break the read_from_png(); draw(); write_to_png()
36417     cycle.
36418
36419  src/cairo-png.c |   14 ++++++++++++++
36420  1 file changed, 14 insertions(+)
36421
36422 commit ec559822cfe6df0006ca2db2aa3a11699326865c
36423 Author: Chris Wilson <chris@chris-wilson.co.uk>
36424 Date:   Wed Nov 5 18:11:36 2008 +0000
36425
36426     [trace] Use the mime-type image representation
36427     
36428     When emitting image data, first check to see if we have a pre-compressed
36429     alternate representation.
36430
36431  util/cairo-trace/trace.c |  303 ++++++++++++++++++++++++++++++++--------------
36432  1 file changed, 214 insertions(+), 89 deletions(-)
36433
36434 commit d63267e4e7e148836dcfc4c8e2a8396ddaab70d8
36435 Author: Chris Wilson <chris@chris-wilson.co.uk>
36436 Date:   Wed Nov 5 17:18:51 2008 +0000
36437
36438     [test] Update mime-data to check image/png
36439     
36440     Add a "image/png" mime-type test.
36441
36442  test/Makefile.am           |    1 +
36443  test/mime-data.c           |   67 +++++++++++++++++++++++++++++---------------
36444  test/mime-data.pdf.ref.png |  Bin 4345 -> 4466 bytes
36445  test/mime-data.ps.ref.png  |  Bin 4345 -> 4466 bytes
36446  test/mime-data.ref.png     |  Bin 127 -> 155 bytes
36447  test/mime-data.svg.ref.png |  Bin 0 -> 6153 bytes
36448  test/png.png               |  Bin 0 -> 2096 bytes
36449  7 files changed, 45 insertions(+), 23 deletions(-)
36450
36451 commit e4ec5c762f6d01cc5af28dc0a256e268a04101aa
36452 Author: Chris Wilson <chris@chris-wilson.co.uk>
36453 Date:   Wed Nov 5 16:44:49 2008 +0000
36454
36455     [svg] Embed original PNG data.
36456     
36457     Embed the attached PNG representation of a surface in preference to
36458     re-encoding the surface.
36459
36460  src/cairo-svg-surface.c |   38 ++++++++++++++++++++++++++++++++++++++
36461  1 file changed, 38 insertions(+)
36462
36463 commit e40d62a0fe96b8b937017a3bc2f18766c411ec41
36464 Author: Chris Wilson <chris@chris-wilson.co.uk>
36465 Date:   Wed Nov 5 16:38:34 2008 +0000
36466
36467     [png] Attach the png representation to cairo_surface_create_from_png().
36468     
36469     Attach the original png data as an alternate representation for image
36470     surfaces created by cairo_surface_create_from_png().
36471
36472  src/cairo-output-stream-private.h |    5 ++
36473  src/cairo-output-stream.c         |   28 +++++++-
36474  src/cairo-png.c                   |  127 +++++++++++++++++++++++--------------
36475  src/cairo-surface-fallback.c      |   20 +++---
36476  src/cairo.h                       |    1 +
36477  5 files changed, 122 insertions(+), 59 deletions(-)
36478
36479 commit 89616dee8f11c6a7de3fa476b13661420648786f
36480 Author: Chris Wilson <chris@chris-wilson.co.uk>
36481 Date:   Wed Nov 5 16:41:13 2008 +0000
36482
36483     [surface] Don't allocate a structure for mime_data == NULL.
36484     
36485     If the user attempts to clear the attached mime data representation, just
36486     clear the user data slot and do not allocate an empty structure.
36487
36488  src/cairo-surface.c |   17 ++++++++++-------
36489  1 file changed, 10 insertions(+), 7 deletions(-)
36490
36491 commit a1ab11df01962bea5752f5a5b53926a26a6f34ae
36492 Author: Behdad Esfahbod <behdad@behdad.org>
36493 Date:   Wed Nov 5 11:50:20 2008 -0500
36494
36495     Define RepeatNone, etc if the available Render version doesn't (#18385)
36496
36497  src/cairo-xlib-xrender-private.h |   18 ++++++++++++++++++
36498  1 file changed, 18 insertions(+)
36499
36500 commit 43cfaec39cc742ddfbf566b36391d620400e10be
36501 Author: Behdad Esfahbod <behdad@behdad.org>
36502 Date:   Wed Nov 5 11:50:20 2008 -0500
36503
36504     Define RepeatNone, etc if the available Render version doesn't (#18385)
36505
36506  src/cairo-xlib-xrender-private.h |   18 ++++++++++++++++++
36507  1 file changed, 18 insertions(+)
36508
36509 commit 199c0e71139fe9baf83e74ea69c01629ace5f9a2
36510 Author: Chris Wilson <chris@chris-wilson.co.uk>
36511 Date:   Wed Nov 5 15:12:19 2008 +0000
36512
36513     [svg] Embed jpeg data.
36514     
36515     Support jpeg embedding for svg output.
36516
36517  src/cairo-svg-surface.c |   50 +++++++++++++++++++++++++++++++++++++++++++----
36518  test/Makefile.am        |    1 +
36519  2 files changed, 47 insertions(+), 4 deletions(-)
36520
36521 commit 2261590875b4be7aa258c51e766f68974750e9e7
36522 Author: Chris Wilson <chris@chris-wilson.co.uk>
36523 Date:   Wed Nov 5 15:11:32 2008 +0000
36524
36525     [trace] Trim a few bytes from glyph arrays
36526     
36527     Remove some redundant whitespace from the glyph arrays to improve
36528     readability and shrink the output file size.
36529
36530  util/cairo-trace/trace.c |   65 +++++++++++++++++++++++++++-------------------
36531  1 file changed, 38 insertions(+), 27 deletions(-)
36532
36533 commit 248dd97075b50cd91619022098ed5dd35a66b5df
36534 Author: Adrian Johnson <ajohnson@redneon.com>
36535 Date:   Thu Nov 6 00:17:53 2008 +1030
36536
36537     win32-printing: Implement JPEG support
36538
36539  src/cairo-win32-printing-surface.c |   91 ++++++++++++++++++++++++++++++++----
36540  src/cairo-win32-private.h          |    3 ++
36541  2 files changed, 85 insertions(+), 9 deletions(-)
36542
36543 commit 29621bd3995c5269fd6f73ab501383433bd29768
36544 Author: Chris Wilson <chris@chris-wilson.co.uk>
36545 Date:   Wed Nov 5 12:16:47 2008 +0000
36546
36547     [matrix] Remove stray offset from previous commit.
36548     
36549     I moved the pixel centre to xc,yc but forgot to remove it during
36550     compensation - as caught by the test suite.
36551     
36552     Refresh a couple of reference images that depend upon exact pixel-centre
36553     rounding conditions.
36554
36555  src/cairo-matrix.c                      |    8 ++++----
36556  test/rotate-image-surface-paint.ref.png |  Bin 232 -> 190 bytes
36557  test/surface-pattern.pdf.ref.png        |  Bin 14776 -> 14791 bytes
36558  test/surface-pattern.ref.png            |  Bin 11044 -> 11100 bytes
36559  test/surface-pattern.svg.ref.png        |  Bin 16151 -> 16069 bytes
36560  5 files changed, 4 insertions(+), 4 deletions(-)
36561
36562 commit e811173311ebe76d47eebcf5c6c5c798f9d3ea72
36563 Author: Chris Wilson <chris@chris-wilson.co.uk>
36564 Date:   Wed Nov 5 10:59:15 2008 +0000
36565
36566     [matrix] Compensate pixman_matrix in device space.
36567     
36568     We wish to reduce the visible error when converting to a pixman matrix, so
36569     perform the compensation in device space instead of pattern space.
36570
36571  src/cairo-image-surface.c |    4 ++--
36572  src/cairo-matrix.c        |   53 +++++++++++++++++++++++++++------------------
36573  2 files changed, 34 insertions(+), 23 deletions(-)
36574
36575 commit c95eebc92316ad50840fab1cec6c14b6c3e50fa5
36576 Author: Chris Wilson <chris@chris-wilson.co.uk>
36577 Date:   Wed Nov 5 09:56:02 2008 +0000
36578
36579     [pattern] Split the translation between the matrix and [xy]_offset
36580     
36581     pixman limits the src] co-ordinates (and thus [xy]_offset] to 16bits,
36582     so we need to be careful how much of the translation vector to push into
36583     [xy]_offset. Since the range is the same for both, split the integer
36584     component between the matrix and the offset.
36585     
36586     test/scale-offset* now at least shows the source image, even if it is
36587     misplaced.
36588
36589  src/cairo-pattern.c                  |    7 +++++--
36590  test/scale-offset-image.ps.ref.png   |  Bin 7445 -> 7289 bytes
36591  test/scale-offset-image.ref.png      |  Bin 10005 -> 9953 bytes
36592  test/scale-offset-similar.ps.ref.png |  Bin 7819 -> 7860 bytes
36593  test/scale-offset-similar.ref.png    |  Bin 10005 -> 9953 bytes
36594  5 files changed, 5 insertions(+), 2 deletions(-)
36595
36596 commit d1b8186fd75922e73e62ef8f2ebb011e334ebe36
36597 Author: Chris Wilson <chris@chris-wilson.co.uk>
36598 Date:   Wed Nov 5 01:16:25 2008 +0000
36599
36600     [trace] Correct emission of set_font_face and set_source
36601     
36602     set_font_face was not consuming it's operand but blithely placing an
36603     undefined font_face onto the operand stack, whereas set_source was
36604     performing invalid exchanges on the stack.
36605
36606  util/cairo-trace/trace.c |   36 +++++++++++++++++++++++++++---------
36607  1 file changed, 27 insertions(+), 9 deletions(-)
36608
36609 commit 4a4b10271a614ee9bf982994b8f9ec6b6102ee10
36610 Author: Chris Wilson <chris@chris-wilson.co.uk>
36611 Date:   Wed Nov 5 00:02:09 2008 +0000
36612
36613     [trace] Capture foreign drawables.
36614     
36615     If we attempt to use a surface as a source before we write to it, record
36616     the surface contents.
36617
36618  util/cairo-trace/trace.c |  102 ++++++++++++++++++++++++++++++++++++++++++----
36619  1 file changed, 93 insertions(+), 9 deletions(-)
36620
36621 commit 432fe1ec2792153ec2559ef52aece3fcdc9c5df4
36622 Author: Chris Wilson <chris@chris-wilson.co.uk>
36623 Date:   Tue Nov 4 15:30:23 2008 +0000
36624
36625     [trace] Mark filter mode as immediate.
36626     
36627     Be consistent and use "//" for the filter mode to indicate a constant.
36628
36629  util/cairo-trace/trace.c |    2 +-
36630  1 file changed, 1 insertion(+), 1 deletion(-)
36631
36632 commit 68309481aa9295026e3e7e6407c793f899b5e600
36633 Author: Chris Wilson <chris@chris-wilson.co.uk>
36634 Date:   Wed Nov 5 08:03:01 2008 +0000
36635
36636     [test] Mark targets with is_meta?
36637     
36638     Allow tests to skip targets based on whether they are a meta surface or
36639     not.
36640
36641  boilerplate/cairo-boilerplate.c |   40 +++++++++++++++++++++++----------------
36642  boilerplate/cairo-boilerplate.h |    1 +
36643  test/cairo-test.c               |   13 ++++++++++++-
36644  3 files changed, 37 insertions(+), 17 deletions(-)
36645
36646 commit 8855f9583e84ae2e6d981e21133f590bff2065ab
36647 Author: Chris Wilson <chris@chris-wilson.co.uk>
36648 Date:   Tue Nov 4 20:04:02 2008 +0000
36649
36650     [test] Add scale-offset-(similar|image)
36651     
36652     Add a test case for the scaling bug reported by Michel Iwaniec:
36653     http://lists.cairographics.org/archives/cairo/2008-November/015660.html
36654
36655  test/Makefile.am                     |    6 ++
36656  test/scale-offset-image.c            |  142 +++++++++++++++++++++++++++++++++
36657  test/scale-offset-image.ps.ref.png   |  Bin 0 -> 7445 bytes
36658  test/scale-offset-image.ref.png      |  Bin 0 -> 10005 bytes
36659  test/scale-offset-similar.c          |  143 ++++++++++++++++++++++++++++++++++
36660  test/scale-offset-similar.ps.ref.png |  Bin 0 -> 7819 bytes
36661  test/scale-offset-similar.ref.png    |  Bin 0 -> 10005 bytes
36662  7 files changed, 291 insertions(+)
36663
36664 commit aad980900314bd032468f41a3216769c66e62097
36665 Author: Chris Wilson <chris@chris-wilson.co.uk>
36666 Date:   Tue Nov 4 19:11:55 2008 +0000
36667
36668     [test] Only depend on any2ppm if we build it.
36669     
36670     Do not add a dependency to any2ppm if it has been deconfigured.
36671
36672  test/Makefile.am |    5 ++++-
36673  1 file changed, 4 insertions(+), 1 deletion(-)
36674
36675 commit 59bdeba9abd7bef15c6855d707c4cf92b623cb00
36676 Author: Chris Wilson <chris@chris-wilson.co.uk>
36677 Date:   Tue Nov 4 18:42:05 2008 +0000
36678
36679     [matrix] Minimise pixman conversion error.
36680     
36681     Minimise the error of the pixman matrix about the centre of the displayed
36682     area rather than the origin.
36683
36684  src/cairo-image-surface.c          |   25 +++++++++++++++++--------
36685  src/cairo-matrix.c                 |   24 ++++++++++++++----------
36686  src/cairo-pattern.c                |    3 ++-
36687  src/cairo-xlib-surface.c           |   33 +++++++++++++++++++++++----------
36688  src/cairoint.h                     |    4 +++-
36689  test/Makefile.am                   |    3 +--
36690  test/surface-pattern.pdf.ref.png   |  Bin 15996 -> 14776 bytes
36691  test/surface-pattern.ref.png       |  Bin 11439 -> 11044 bytes
36692  test/surface-pattern.svg.ref.png   |  Bin 0 -> 16151 bytes
36693  test/surface-pattern.svg11.ref.png |  Bin 17663 -> 0 bytes
36694  test/surface-pattern.svg12.ref.png |  Bin 17663 -> 0 bytes
36695  11 files changed, 60 insertions(+), 32 deletions(-)
36696
36697 commit 068d465bb3541cc0ffc3cb9daa0848365c0a6a24
36698 Author: Chris Wilson <chris@chris-wilson.co.uk>
36699 Date:   Tue Nov 4 14:57:21 2008 +0000
36700
36701     [trace] Fix emission of cairo_scaled_font_create()
36702     
36703     In the case where the font face was no longer on the operand stack, the
36704     font face would not have been passed to cairo_scaled_font_create().
36705
36706  util/cairo-trace/trace.c |   27 +++++++++++++--------------
36707  1 file changed, 13 insertions(+), 14 deletions(-)
36708
36709 commit a3d56c60e85176526d6cce139441b6921acc9218
36710 Author: Chris Wilson <chris@chris-wilson.co.uk>
36711 Date:   Tue Nov 4 14:06:02 2008 +0000
36712
36713     [trace] Use a common directory by default.
36714     
36715     If called directly (e.g. via /etc/ld.so.preload) put the output trace into
36716     a central directory, and not the pwd.
36717
36718  util/cairo-trace/Makefile.am |   10 ++++++++--
36719  util/cairo-trace/trace.c     |    8 ++++++--
36720  2 files changed, 14 insertions(+), 4 deletions(-)
36721
36722 commit 3f7a21c5c93d8648ded097757852df44fc9fcaeb
36723 Author: Chris Wilson <chris@chris-wilson.co.uk>
36724 Date:   Tue Nov 4 13:46:10 2008 +0000
36725
36726     [test] Add jpeg.jpg to EXTRA_DIST
36727     
36728     Forgot to add the new file to the distribution with the previous commit.
36729
36730  test/Makefile.am |    1 +
36731  1 file changed, 1 insertion(+)
36732
36733 commit 9900a2adf3e43e752bd421f00e81873b41db4c30
36734 Author: Chris Wilson <chris@chris-wilson.co.uk>
36735 Date:   Tue Nov 4 13:41:02 2008 +0000
36736
36737     [test] Update mime-data jpeg reference data.
36738     
36739     <adrianj> ickle_: If we are going to use a different image for jpeg in
36740     mime-data maybe we could create a jpg that contains the text "jpeg". That
36741     way when support for the other image formats is added the mime-data test
36742     could have one image for each type with each image and it is easy to see
36743     that each image is the correct one.
36744
36745  test/jpeg.jpg              |  Bin 0 -> 2316 bytes
36746  test/mime-data.c           |    6 +++---
36747  test/mime-data.pdf.ref.png |  Bin 96 -> 4345 bytes
36748  test/mime-data.ps.ref.png  |  Bin 368 -> 4345 bytes
36749  test/mime-data.ref.png     |  Bin 263 -> 127 bytes
36750  5 files changed, 3 insertions(+), 3 deletions(-)
36751
36752 commit c13a09ddb411287224c15728b14f23fef472f7d0
36753 Author: Chris Wilson <chris@chris-wilson.co.uk>
36754 Date:   Tue Nov 4 13:00:36 2008 +0000
36755
36756     [test] Use a different jpeg image for mime-data
36757     
36758     Detect when we successfully encode the JPEG data from the mime-type by
36759     using a completely image.
36760
36761  test/Makefile.am           |    3 +++
36762  test/mime-data.c           |    6 +++++-
36763  test/mime-data.pdf.ref.png |  Bin 0 -> 96 bytes
36764  test/mime-data.ps.ref.png  |  Bin 0 -> 368 bytes
36765  test/scarab.jpg            |  Bin 0 -> 9650 bytes
36766  5 files changed, 8 insertions(+), 1 deletion(-)
36767
36768 commit 8407470409ad9cb93263a1c2da7dd7446d3f897e
36769 Author: Chris Wilson <chris@chris-wilson.co.uk>
36770 Date:   Tue Nov 4 12:45:47 2008 +0000
36771
36772     [test] Adapt pdf-mime-data for non-srcdir build.
36773     
36774     Need to look for reference/input images from srcdir as well.
36775
36776  test/Makefile.am     |    2 +-
36777  test/pdf-mime-data.c |   44 ++++++++++++++++++++++++++++++++------------
36778  2 files changed, 33 insertions(+), 13 deletions(-)
36779
36780 commit 8007618837c0292b6ebc6a4f954c5049d4e99d8a
36781 Author: Chris Wilson <chris@chris-wilson.co.uk>
36782 Date:   Tue Nov 4 12:31:10 2008 +0000
36783
36784     [test] Fix compilation of imagediff.
36785     
36786     imagediff broke once again.
36787
36788  test/Makefile.am |    3 ++-
36789  test/imagediff.c |   17 +++++++++++++++++
36790  2 files changed, 19 insertions(+), 1 deletion(-)
36791
36792 commit 282d7744275f623ce550638df953ef279d2209f0
36793 Author: Chris Wilson <chris@chris-wilson.co.uk>
36794 Date:   Tue Nov 4 12:53:15 2008 +0000
36795
36796     [mime-type] Request the mime-data for the source surface, not ourselves!
36797     
36798     Fixup a typo I introduced that caused us to request the jpeg data for the
36799     destination surface and not the source.
36800
36801  src/cairo-pdf-surface.c |    2 +-
36802  src/cairo-ps-surface.c  |    5 ++---
36803  2 files changed, 3 insertions(+), 4 deletions(-)
36804
36805 commit aa616abc9ab02e333cf0cad4f524b15c710bf449
36806 Author: Chris Wilson <chris@chris-wilson.co.uk>
36807 Date:   Tue Nov 4 11:18:22 2008 +0000
36808
36809     [png] Use RGB for opaque images.
36810     
36811     If the ARGB32 is opaque, discard the alpha channel - so we should generate
36812     byte identical output to the reference images.
36813
36814  src/cairo-png.c |   11 +++++++----
36815  1 file changed, 7 insertions(+), 4 deletions(-)
36816
36817 commit 30976635d7072c06d00e39b106e41be7b08c6c49
36818 Author: Adrian Johnson <ajohnson@redneon.com>
36819 Date:   Tue Nov 4 22:52:45 2008 +1030
36820
36821     PS: Implement JPEG embedding
36822
36823  src/cairo-ps-surface.c |  104 ++++++++++++++++++++++++++++++++++++++++++++++--
36824  1 file changed, 101 insertions(+), 3 deletions(-)
36825
36826 commit 73bc278c7a4630cd9299c974771ffd6e9245d0ac
36827 Author: Adrian Johnson <ajohnson@redneon.com>
36828 Date:   Tue Nov 4 22:25:26 2008 +1030
36829
36830     Add pdf mime data test
36831     
36832     To test that images in PDF files correctly embedded the mime data.
36833
36834  test/Makefile.am     |    2 +
36835  test/pdf-mime-data.c |  151 ++++++++++++++++++++++++++++++++++++++++++++++++++
36836  2 files changed, 153 insertions(+)
36837
36838 commit 3f18d38fbdc661d34e0fd951e0fd3aa1aa2cbcc9
36839 Author: Chris Wilson <chris@chris-wilson.co.uk>
36840 Date:   Tue Nov 4 10:31:48 2008 +0000
36841
36842     [win32] Compile fix for extend-pad extents.
36843     
36844     Update the show_glyphs() prototype to include the extents argument.
36845
36846  src/cairo-win32-printing-surface.c |    3 ++-
36847  src/cairo-win32-private.h          |    3 ++-
36848  2 files changed, 4 insertions(+), 2 deletions(-)
36849
36850 commit 5ba95b7e1287ade0b8a1acf2f5cb73fa1f44c451
36851 Author: Chris Wilson <chris@chris-wilson.co.uk>
36852 Date:   Tue Nov 4 09:22:28 2008 +0000
36853
36854     [trace] Convert [1 0 0 1 0 0] to identity
36855     
36856     Simplify the trace/replay by replacing the identity array with the
36857     identity operator.
36858
36859  util/cairo-trace/trace.c |   34 +++++++++++++++++++++++++---------
36860  1 file changed, 25 insertions(+), 9 deletions(-)
36861
36862 commit 3664b32195b101ebab9a5f9087095306f8969c80
36863 Author: Chris Wilson <chris@chris-wilson.co.uk>
36864 Date:   Tue Nov 4 10:38:41 2008 +0000
36865
36866     [trace] Remove more @..@ from Makefile.am
36867     
36868     Use $(..) for make variable substitution as opposed to incorrectly using
36869     @..@ for substitution by configure.
36870
36871  util/cairo-trace/Makefile.am |   12 ++++++------
36872  1 file changed, 6 insertions(+), 6 deletions(-)
36873
36874 commit 1d8ad69abb88f6e0283b6ce2aadc5d801b8e3722
36875 Author: Behdad Esfahbod <behdad@behdad.org>
36876 Date:   Tue Nov 4 01:51:06 2008 -0500
36877
36878     [aclocal.dolt.m4] Fix build with bash versions <= 3.0 (bug #18363)
36879
36880  build/aclocal.dolt.m4 |    2 +-
36881  1 file changed, 1 insertion(+), 1 deletion(-)
36882
36883 commit 310026ab42c2078e2749c886c74c5b38cab41671
36884 Author: Behdad Esfahbod <behdad@behdad.org>
36885 Date:   Tue Nov 4 01:51:06 2008 -0500
36886
36887     [aclocal.dolt.m4] Fix build with bash versions <= 3.0 (bug #18363)
36888
36889  build/aclocal.dolt.m4 |    2 +-
36890  1 file changed, 1 insertion(+), 1 deletion(-)
36891
36892 commit 90217550120f129004bc555b59ced28b4b25a4d4
36893 Author: Chris Wilson <chris@chris-wilson.co.uk>
36894 Date:   Mon Nov 3 23:45:12 2008 +0000
36895
36896     [mime-data] Copy a reference to the mime-data on snapshotting.
36897     
36898     Instead of doing a full-copy of the mime data (which can be 10K-100K,
36899     or even larger) just copy a reference to the original mime to the
36900     snapshot surface (as suggested by Behdad).
36901
36902  src/cairo-surface-fallback.c |   29 +++-------------
36903  src/cairo-surface.c          |   77 +++++++++++++++++++++++++++++-------------
36904  src/cairo-types-private.h    |    2 ++
36905  src/cairoint.h               |    5 +++
36906  4 files changed, 66 insertions(+), 47 deletions(-)
36907
36908 commit 4f032ca35a7086b76775e4b53c6b99ba4e1eb3cb
36909 Author: Chris Wilson <chris@chris-wilson.co.uk>
36910 Date:   Mon Nov 3 23:23:09 2008 +0000
36911
36912     [trace] Install cairo-trace.so into $(libdir)/cairo
36913     
36914     Install the auxiliary library into the cairo subdirectory within the
36915     lib path, so that it doesn't clutter $(libdir) and sets a precedent for
36916     future auxiliary libraries.
36917
36918  util/cairo-trace/Makefile.am    |    7 ++++---
36919  util/cairo-trace/cairo-trace.in |   13 ++++++++++---
36920  2 files changed, 14 insertions(+), 6 deletions(-)
36921
36922 commit c80a1c68c19f876c9f55b7c6d62b18ae110b11d0
36923 Author: Chris Wilson <chris@chris-wilson.co.uk>
36924 Date:   Mon Nov 3 23:16:09 2008 +0000
36925
36926     [configure] Make trace consistent.
36927     
36928     Remove the debianism from the comments for HAVE_BFD and comply with
36929     Behdad's guidelines on using  $(...) within Makefile.am.
36930
36931  configure.ac                 |    5 ++---
36932  util/cairo-trace/Makefile.am |    6 +++---
36933  2 files changed, 5 insertions(+), 6 deletions(-)
36934
36935 commit 43e2370b024f66d995c514fd53414d3d8588a481
36936 Author: Chris Wilson <chris@chris-wilson.co.uk>
36937 Date:   Mon Nov 3 14:20:35 2008 +0000
36938
36939     [test] Update extend-pad.
36940     
36941     extend-pad was not a clear demonstration of the EXTEND_PAD mode, so revamp
36942     it to show the filter extending a 4 pixel surface to cover the entire
36943     output. However, this hides a discrepancy with the vector surfaces that we
36944     cannot prevent the external renders from applying an interpolation to the
36945     border pixels, so we copy the original test to extend-pad-border to check
36946     the desired behaviour on boundary pixels.
36947
36948  test/Makefile.am                |    4 ++
36949  test/extend-pad-border.c        |   95 +++++++++++++++++++++++++++++++++++++++
36950  test/extend-pad-border.ref.png  |  Bin 0 -> 616 bytes
36951  test/extend-pad-similar.c       |   82 +++++++++++++++++++++++++++++++++
36952  test/extend-pad-similar.ref.png |  Bin 0 -> 315 bytes
36953  test/extend-pad.c               |   50 ++++++++-------------
36954  test/extend-pad.ref.png         |  Bin 616 -> 315 bytes
36955  7 files changed, 200 insertions(+), 31 deletions(-)
36956
36957 commit b3462c5616ae24fd391ad0872d2fbb98c6cd0c92
36958 Author: Chris Wilson <chris@chris-wilson.co.uk>
36959 Date:   Mon Nov 3 13:10:42 2008 +0000
36960
36961     [test] Convert a few residual '-out.*'
36962     
36963     Catch a few -out.* hiding in boilerplate.
36964
36965  boilerplate/cairo-boilerplate-pdf.c            |    2 +-
36966  boilerplate/cairo-boilerplate-ps.c             |    2 +-
36967  boilerplate/cairo-boilerplate-svg.c            |    2 +-
36968  boilerplate/cairo-boilerplate-win32-printing.c |    2 +-
36969  test/Makefile.am                               |    6 +++---
36970  5 files changed, 7 insertions(+), 7 deletions(-)
36971
36972 commit 34586860ef08e6aab988ba227997dfe376f9d319
36973 Author: Chris Wilson <chris@chris-wilson.co.uk>
36974 Date:   Mon Nov 3 12:11:14 2008 +0000
36975
36976     [trace] Big-endian compile fixes.
36977     
36978     A few typos.
36979
36980  util/cairo-trace/trace.c |    8 ++++----
36981  1 file changed, 4 insertions(+), 4 deletions(-)
36982
36983 commit ca83df55a63eab1821dbc009f65b3b09d61f5b62
36984 Author: Chris Wilson <chris@chris-wilson.co.uk>
36985 Date:   Mon Nov 3 11:46:31 2008 +0000
36986
36987     [trace] Wrap test surfaces.
36988     
36989     Wrap the test surfaces to avoid crashes whilst tracing the test suite.
36990
36991  util/cairo-trace/trace.c |  116 ++++++++++++++++++++++++++++++++++++++++++----
36992  1 file changed, 108 insertions(+), 8 deletions(-)
36993
36994 commit 2c08f3f83b1acd168cd74b300272970658179a0f
36995 Author: Chris Wilson <chris@chris-wilson.co.uk>
36996 Date:   Mon Nov 3 11:30:38 2008 +0000
36997
36998     [trace] Autodetect -lbfd during configure
36999     
37000     Stop being lazy and detect libbfd during configure.
37001
37002  configure.ac                     |   10 ++++++++++
37003  util/cairo-trace/Makefile.am     |    2 +-
37004  util/cairo-trace/lookup-symbol.c |    6 +++---
37005  3 files changed, 14 insertions(+), 4 deletions(-)
37006
37007 commit 8fc3d0ffebea5622332327cdef9222486cc85581
37008 Author: Chris Wilson <chris@chris-wilson.co.uk>
37009 Date:   Mon Nov 3 11:01:22 2008 +0000
37010
37011     [mime-data] Allow embedding of arbitrary mime-types.
37012     
37013     Use the surface user-data array allow to store an arbitrary set of
37014     alternate image representations keyed by an interned string (which
37015     ensures that it has a unique key in the user-visible namespace).
37016     
37017     Update the API to mirror that of cairo_surface_set_user_data() [i.e.
37018     return a status indicator] and switch internal users of the mime-data to
37019     the public functions.
37020
37021  src/cairo-debug.c              |    2 +
37022  src/cairo-jpeg-info-private.h  |    6 +--
37023  src/cairo-jpeg-info.c          |   19 ++++---
37024  src/cairo-misc.c               |   98 +++++++++++++++++++++++++++++++++++
37025  src/cairo-mutex-list-private.h |    1 +
37026  src/cairo-pdf-surface.c        |   16 +++---
37027  src/cairo-surface-fallback.c   |   37 ++++++++++----
37028  src/cairo-surface-private.h    |    4 --
37029  src/cairo-surface.c            |   91 +++++++++++++++++++++++++-------
37030  src/cairo-types-private.h      |    7 +++
37031  src/cairo.h                    |    4 +-
37032  src/cairoint.h                 |    8 +++
37033  test/Makefile.am               |    3 ++
37034  test/mime-data.c               |  111 ++++++++++++++++++++++++++++++++++++++++
37035  test/mime-data.ref.png         |  Bin 0 -> 263 bytes
37036  test/romedalen.jpg             |  Bin 0 -> 11400 bytes
37037  util/cairo-trace/trace.c       |    2 +-
37038  17 files changed, 351 insertions(+), 58 deletions(-)
37039
37040 commit afef83a1fae028b45cefd6b4698e7b32ad4d6fc7
37041 Author: Chris Wilson <chris@chris-wilson.co.uk>
37042 Date:   Mon Nov 3 09:40:35 2008 +0000
37043
37044     Compile tidy.
37045     
37046     Fix a few minor compiler warnings.
37047
37048  src/cairo-pdf-surface.c |    2 +-
37049  src/cairo-ps-surface.c  |    2 +-
37050  src/cairo-surface.c     |    6 +++---
37051  3 files changed, 5 insertions(+), 5 deletions(-)
37052
37053 commit f77723fc88c12ebf6f5bff5a1797649d134ecc5d
37054 Author: Chris Wilson <chris@chris-wilson.co.uk>
37055 Date:   Sun Nov 2 19:59:53 2008 +0000
37056
37057     [pdf] Missing status check.
37058     
37059     Check that stream was successfully opened before attempting to write to
37060     it.
37061
37062  src/cairo-pdf-surface.c |    4 +++-
37063  1 file changed, 3 insertions(+), 1 deletion(-)
37064
37065 commit 04e3bb932eeac4f403b512087b96a164d082d52c
37066 Author: Chris Wilson <chris@chris-wilson.co.uk>
37067 Date:   Sun Nov 2 21:51:37 2008 +0000
37068
37069     [trace] Emit set_mime_data().
37070     
37071     Wrap the new cairo_surface_set_mime_data() function.
37072
37073  util/cairo-trace/trace.c |   30 ++++++++++++++++++++++++++++--
37074  1 file changed, 28 insertions(+), 2 deletions(-)
37075
37076 commit 350fa7b98e5045a4fa05f64a1ad7d8167036be34
37077 Author: Chris Wilson <chris@chris-wilson.co.uk>
37078 Date:   Sat Nov 1 13:12:43 2008 +0000
37079
37080     [trace] Fix boundary terminations
37081     
37082     Don't increment the terminator!
37083
37084  util/cairo-trace/trace.c |    2 +-
37085  1 file changed, 1 insertion(+), 1 deletion(-)
37086
37087 commit f3cbc5cf4580da83b7edacfd381afee3d571c659
37088 Author: Chris Wilson <chris@chris-wilson.co.uk>
37089 Date:   Fri Oct 31 23:47:16 2008 +0000
37090
37091     [trace] Use utf8 len in show_text_glyphs().
37092     
37093     Honour the parameter specifying the length of the utf8 string when
37094     emitting show_text_glyphs.
37095
37096  util/cairo-trace/trace.c |   36 ++++++++++++++++++++----------------
37097  1 file changed, 20 insertions(+), 16 deletions(-)
37098
37099 commit 6434cddb899d750b815d71f8f51ae3e4568dd3c0
37100 Author: Adrian Johnson <ajohnson@redneon.com>
37101 Date:   Sun Nov 2 11:42:33 2008 +1030
37102
37103     type1-subset: return unsupported on FT errors
37104     
37105     and let type1-fallback handle it. This fixes the bug reported by
37106     Peter Weilbacher in
37107     http://lists.cairographics.org/archives/cairo/2008-October/015569.html
37108
37109  src/cairo-type1-subset.c |   12 ++++--------
37110  1 file changed, 4 insertions(+), 8 deletions(-)
37111
37112 commit 1685bbee1bf1ebc015ada94f77756d8d10c7818d
37113 Author: Adrian Johnson <ajohnson@redneon.com>
37114 Date:   Sun Nov 2 19:50:59 2008 +1030
37115
37116     test/README: fix typo
37117
37118  test/README |    2 +-
37119  1 file changed, 1 insertion(+), 1 deletion(-)
37120
37121 commit 540ac11113015f0fd6856d016cb38fec5282b6ce
37122 Author: Adrian Johnson <ajohnson@redneon.com>
37123 Date:   Sun Nov 2 11:42:33 2008 +1030
37124
37125     type1-subset: return unsupported on FT errors
37126     
37127     and let type1-fallback handle it. This fixes the bug reported by
37128     Peter Weilbacher in
37129     http://lists.cairographics.org/archives/cairo/2008-October/015569.html
37130
37131  src/cairo-type1-subset.c |   12 ++++--------
37132  1 file changed, 4 insertions(+), 8 deletions(-)
37133
37134 commit 3707178fa48e23b85c5640f3cee72e19f49c700b
37135 Author: Adrian Johnson <ajohnson@redneon.com>
37136 Date:   Mon Sep 8 10:26:58 2008 +0930
37137
37138     PDF: Implement JPEG image embedding
37139
37140  src/Makefile.sources          |    2 +
37141  src/cairo-jpeg-info-private.h |   54 ++++++++++++++++
37142  src/cairo-jpeg-info.c         |  142 +++++++++++++++++++++++++++++++++++++++++
37143  src/cairo-pdf-surface.c       |   55 ++++++++++++++++
37144  4 files changed, 253 insertions(+)
37145
37146 commit 3c684347f49a581bfba35202ec61a5f6334acd4a
37147 Author: Adrian Johnson <ajohnson@redneon.com>
37148 Date:   Sun Sep 7 20:46:20 2008 +0930
37149
37150     Add cairo_surface_set_mime_data()
37151     
37152     Currently only handles jpeg data.
37153
37154  src/cairo-surface-fallback.c |   15 ++++++++++
37155  src/cairo-surface-private.h  |    4 +++
37156  src/cairo-surface.c          |   67 ++++++++++++++++++++++++++++++++++++++++++
37157  src/cairo.h                  |   15 ++++++++++
37158  4 files changed, 101 insertions(+)
37159
37160 commit a39a4f52ac4a057f579e881a9a929029bcc514d1
37161 Author: Adrian Johnson <ajohnson@redneon.com>
37162 Date:   Wed Oct 1 21:02:26 2008 +0930
37163
37164     PS: meta-surface patterns with EXTEND_PAD are unsupported
37165     
37166     We have to use fallback images for this.
37167
37168  src/cairo-ps-surface.c |    8 ++++++--
37169  1 file changed, 6 insertions(+), 2 deletions(-)
37170
37171 commit 19ee13ca2b5b1e08a7fc965516be514d2fe40232
37172 Author: Adrian Johnson <ajohnson@redneon.com>
37173 Date:   Wed Oct 1 21:01:17 2008 +0930
37174
37175     PS: Implement EXTEND_PAD for image patterns
37176     
37177     Images with EXTEND_PAD are painted into a new image the size of the
37178     operation extents. The new image is then embedded in the PS file with
37179     the pattern matrix adjusted to ensure the image origin is in the
37180     correct location.
37181
37182  src/cairo-ps-surface-private.h |    1 +
37183  src/cairo-ps-surface.c         |   99 +++++++++++++++++++++++++++++++++-------
37184  2 files changed, 83 insertions(+), 17 deletions(-)
37185
37186 commit e639b536711c07bc09355205f476ab3f73012268
37187 Author: Adrian Johnson <ajohnson@redneon.com>
37188 Date:   Wed Oct 1 21:00:30 2008 +0930
37189
37190     PDF: meta-surface patterns with EXTEND_PAD are unsupported
37191     
37192     We have to use fallback images for this.
37193
37194  src/cairo-pdf-surface.c |    8 ++++++--
37195  1 file changed, 6 insertions(+), 2 deletions(-)
37196
37197 commit 6c92edd9a3b0c79857cfa8dee482efa56f40c714
37198 Author: Adrian Johnson <ajohnson@redneon.com>
37199 Date:   Wed Oct 1 20:56:49 2008 +0930
37200
37201     PDF: Implement EXTEND_PAD for image patterns
37202     
37203     Images with EXTEND_PAD are painted into a new image the size of the
37204     operation extents. The new image is then embedded in the PDF file with
37205     the pattern matrix adjusted to ensure the image origin is in the
37206     correct location.
37207
37208  src/cairo-pdf-surface.c |   70 +++++++++++++++++++++++++++++++++++++++++------
37209  1 file changed, 62 insertions(+), 8 deletions(-)
37210
37211 commit d146cb4056ab54cf85454a6fe9d36282ca7a3f2e
37212 Author: Adrian Johnson <ajohnson@redneon.com>
37213 Date:   Wed Oct 1 20:56:01 2008 +0930
37214
37215     PDF: Store the operation extents in each pattern
37216     
37217     The extents will be used by EXTEND_PAD patterns as well as any other
37218     pattern that can benefit from knowing the extents of the operation it
37219     will be used with.
37220
37221  src/cairo-pdf-surface-private.h |    1 +
37222  src/cairo-pdf-surface.c         |   30 ++++++++++++++++++++++++------
37223  2 files changed, 25 insertions(+), 6 deletions(-)
37224
37225 commit fb7cfdd94d4e436e066d884f6dc294efd896b344
37226 Author: Adrian Johnson <ajohnson@redneon.com>
37227 Date:   Wed Oct 1 20:52:08 2008 +0930
37228
37229     Make meta-surface store and replay extents of each operation
37230     
37231     To be able to provide the extents of each operation to the backend
37232     during the render phase the meta-surface needs to store the extents
37233     computed by the analysis surface during the analysis phase.
37234     
37235     The extents argument is either a pointer to the extents of the operation
37236     stored in the meta-surface or NULL. During analysis the analysis surface
37237     writes the extents to the meta-surface. During the render phase the extents
37238     is made available to paginated surface backends.
37239
37240  src/cairo-analysis-surface.c     |   12 ++++++++++++
37241  src/cairo-meta-surface-private.h |    1 +
37242  src/cairo-meta-surface.c         |   33 +++++++++++++++++++++++++++------
37243  3 files changed, 40 insertions(+), 6 deletions(-)
37244
37245 commit d682d275b90f7326df76d2764c513c8b6d5b551b
37246 Author: Adrian Johnson <ajohnson@redneon.com>
37247 Date:   Wed Oct 1 20:50:53 2008 +0930
37248
37249     Add an extents argument to the high level surface backend functions
37250     
37251     Add a "cairo_rectangle_int_t *extents" argument to to the following
37252     backend functions:
37253       paint
37254       mask,
37255       stroke
37256       fill
37257       show_glyphs
37258       show_text_glyphs
37259     
37260     This will be used to pass the extents of each operation computed by
37261     the analysis surface to the backend. This is required for implementing
37262     EXTEND_PAD.
37263
37264  src/cairo-analysis-surface.c       |   49 ++++++++++++++++++++++--------------
37265  src/cairo-directfb-surface.c       |    3 ++-
37266  src/cairo-gstate.c                 |   12 ++++-----
37267  src/cairo-meta-surface.c           |   27 ++++++++++++--------
37268  src/cairo-paginated-surface.c      |   27 ++++++++++++--------
37269  src/cairo-pdf-surface.c            |   18 ++++++++-----
37270  src/cairo-ps-surface.c             |   12 ++++++---
37271  src/cairo-quartz-surface.c         |   15 +++++++----
37272  src/cairo-surface.c                |   45 +++++++++++++++++++--------------
37273  src/cairo-svg-surface.c            |   24 +++++++++++-------
37274  src/cairo-type3-glyph-surface.c    |   17 ++++++++-----
37275  src/cairo-win32-printing-surface.c |   12 ++++++---
37276  src/cairo-win32-surface.c          |    3 ++-
37277  src/cairo-xlib-surface.c           |    8 +++---
37278  src/cairoint.h                     |   39 ++++++++++++++++++----------
37279  src/test-meta-surface.c            |   25 ++++++++++--------
37280  src/test-paginated-surface.c       |   25 ++++++++++--------
37281  17 files changed, 223 insertions(+), 138 deletions(-)
37282
37283 commit ed2081d97401741db10b0244eaba7ff31ae63346
37284 Author: Adrian Johnson <ajohnson@redneon.com>
37285 Date:   Sun Nov 2 15:05:07 2008 +1030
37286
37287     Specify a background color for XFAIL text
37288     
37289     To improve readability on terminals with a white background.
37290
37291  test/cairo-test.c |    2 +-
37292  1 file changed, 1 insertion(+), 1 deletion(-)
37293
37294 commit 81c3009c077ddab40df052bffaa646526e2b8dfc
37295 Author: Behdad Esfahbod <behdad@behdad.org>
37296 Date:   Fri Oct 31 16:45:58 2008 -0400
37297
37298     [boilerplate/Makefile.win32] Only build source files, not headers
37299
37300  boilerplate/Makefile.win32 |    6 +++++-
37301  1 file changed, 5 insertions(+), 1 deletion(-)
37302
37303 commit d5f88c28021907ad761a1bf1c311bfd206db617e
37304 Author: Behdad Esfahbod <behdad@behdad.org>
37305 Date:   Fri Oct 31 13:43:37 2008 -0400
37306
37307     [.gitignore] Add
37308
37309  util/cairo-trace/.gitignore |    1 +
37310  1 file changed, 1 insertion(+)
37311
37312 commit 49bd253fd36dc93219a5414c6e7a6daeaa9c63b9
37313 Author: Chris Wilson <chris@chris-wilson.co.uk>
37314 Date:   Fri Oct 31 16:40:49 2008 +0000
37315
37316     [tessellator] Refine the math comments.
37317     
37318     First of a simple substitution for -?-, as they are very confusing in
37319     context with other minus signs floating around.
37320     
37321     Carl has promised to go over these docs with me at the HackFest in order
37322     to improve them (and verify them).
37323
37324  src/cairo-bentley-ottmann.c |   30 +++++++++++++++---------------
37325  1 file changed, 15 insertions(+), 15 deletions(-)
37326
37327 commit ab8a0bfd82f8f474714d7aae4ceff4e7848c9b4b
37328 Author: Chris Wilson <chris@chris-wilson.co.uk>
37329 Date:   Fri Oct 31 16:09:13 2008 +0000
37330
37331     Add a COPYING file to each aux. source directory
37332     
37333     Include a COPYING inside perf/, test/, util/ to clarify the licensing
37334     conditions beneath the respective directories. This is because cairo
37335     itself (libcairo.so) is LGPL-2.1/MPL-1.1 but that only relates to src/.
37336     The auxiliary source files are under a mix of free licenses and we wish to
37337     be clear just what license applies to each file.
37338     
37339     In particular, cairo-trace needs to include the GPL terms and conditions.
37340
37341  COPYING                        |   17 +-
37342  perf/COPYING                   |    5 +
37343  perf/Makefile.am               |    2 +-
37344  test/COPYING                   |    5 +
37345  test/Makefile.am               |    2 +-
37346  util/COPYING                   |    4 +
37347  util/Makefile.am               |    1 +
37348  util/cairo-trace/COPYING       |    5 +
37349  util/cairo-trace/COPYING-GPL-3 |  674 ++++++++++++++++++++++++++++++++++++++++
37350  util/cairo-trace/Makefile.am   |    5 +-
37351  10 files changed, 709 insertions(+), 11 deletions(-)
37352
37353 commit c554f18d78fff71aff2d79309b19155de407363d
37354 Author: Chris Wilson <chris@chris-wilson.co.uk>
37355 Date:   Fri Oct 31 15:37:58 2008 +0000
37356
37357     [util] Add cairo-trace.
37358     
37359     This tool can be used to trace all the cairo function calls made by an
37360     applications.  This is useful for either extracting a test case triggering
37361     a bug from an application, or simply to get a general idea of how an
37362     application is using cairo.
37363     
37364     After make install, cairo-trace program arguments, will print out all the
37365     cairo calls to the terminal and also capture theme in ./program.$pid.trace
37366     
37367     The format of the output is CairoScript, watch this space for more
37368     cairo-script tools!
37369
37370  build/configure.ac.system        |    2 +
37371  configure.ac                     |   17 +
37372  util/Makefile.am                 |    6 +
37373  util/README                      |    8 -
37374  util/cairo-trace/Makefile.am     |   21 +
37375  util/cairo-trace/cairo-trace.in  |   58 +
37376  util/cairo-trace/lookup-symbol.c |  290 ++++
37377  util/cairo-trace/lookup-symbol.h |   24 +
37378  util/cairo-trace/trace.c         | 3345 ++++++++++++++++++++++++++++++++++++++
37379  9 files changed, 3763 insertions(+), 8 deletions(-)
37380
37381 commit 992f74d884c9ea83f7b51c6959dd93718027b99a
37382 Author: Chris Wilson <chris@chris-wilson.co.uk>
37383 Date:   Fri Oct 31 13:50:55 2008 +0000
37384
37385     [test] Use '.' as the field separator in the names
37386     
37387     We frequently use '-' within the test name or format name and so we
37388     encounter confusion as '-' is also used as the field separator. At times
37389     this has caused a new test to break an old test because the new test would
37390     match one of the old test's target specific reference images. So switch
37391     everything over to use '.' between fields (test name, target, format,
37392     subtest, etc.).
37393
37394  test/.gitignore                                    |    8 +-
37395  test/Makefile.am                                   | 1402 ++++++++++----------
37396  test/a1-image-sample-ref.png                       |  Bin 148 -> 0 bytes
37397  test/a1-image-sample.ref.png                       |  Bin 0 -> 148 bytes
37398  test/a1-mask-ref.png                               |  Bin 131 -> 0 bytes
37399  test/a1-mask.ref.png                               |  Bin 0 -> 131 bytes
37400  test/a1-traps-sample-ref.png                       |  Bin 148 -> 0 bytes
37401  test/a1-traps-sample.ref.png                       |  Bin 0 -> 148 bytes
37402  test/a8-mask-ref.png                               |  Bin 128 -> 0 bytes
37403  test/a8-mask.ref.png                               |  Bin 0 -> 128 bytes
37404  test/alpha-similar-ref.png                         |  Bin 99 -> 0 bytes
37405  test/alpha-similar-rgb24-ref.png                   |  Bin 99 -> 0 bytes
37406  test/alpha-similar.ref.png                         |  Bin 0 -> 99 bytes
37407  test/alpha-similar.rgb24.ref.png                   |  Bin 0 -> 99 bytes
37408  test/big-line-ps2-ref.png                          |  Bin 1148 -> 0 bytes
37409  test/big-line-ps2-rgb24-ref.png                    |  Bin 830 -> 0 bytes
37410  test/big-line-ps3-ref.png                          |  Bin 1148 -> 0 bytes
37411  test/big-line-ps3-rgb24-ref.png                    |  Bin 830 -> 0 bytes
37412  test/big-line-quartz-ref.png                       |  Bin 1075 -> 0 bytes
37413  test/big-line-quartz-rgb24-ref.png                 |  Bin 941 -> 0 bytes
37414  test/big-line-ref.png                              |  Bin 1486 -> 0 bytes
37415  test/big-line-rgb24-ref.png                        |  Bin 1308 -> 0 bytes
37416  test/big-line.ps2.ref.png                          |  Bin 0 -> 1148 bytes
37417  test/big-line.ps2.rgb24.ref.png                    |  Bin 0 -> 830 bytes
37418  test/big-line.ps3.ref.png                          |  Bin 0 -> 1148 bytes
37419  test/big-line.ps3.rgb24.ref.png                    |  Bin 0 -> 830 bytes
37420  test/big-line.quartz.ref.png                       |  Bin 0 -> 1075 bytes
37421  test/big-line.quartz.rgb24.ref.png                 |  Bin 0 -> 941 bytes
37422  test/big-line.ref.png                              |  Bin 0 -> 1486 bytes
37423  test/big-line.rgb24.ref.png                        |  Bin 0 -> 1308 bytes
37424  test/bilevel-image-ref.png                         |  Bin 131 -> 0 bytes
37425  test/bilevel-image.ref.png                         |  Bin 0 -> 131 bytes
37426  test/bitmap-font-ref.png                           |  Bin 950 -> 0 bytes
37427  test/bitmap-font-rgb24-ref.png                     |  Bin 890 -> 0 bytes
37428  test/bitmap-font.ref.png                           |  Bin 0 -> 950 bytes
37429  test/bitmap-font.rgb24.ref.png                     |  Bin 0 -> 890 bytes
37430  test/cairo-test.c                                  |   68 +-
37431  test/cairo-test.h                                  |    1 +
37432  test/caps-joins-alpha-quartz-ref.png               |  Bin 2466 -> 0 bytes
37433  test/caps-joins-alpha-ref.png                      |  Bin 2463 -> 0 bytes
37434  test/caps-joins-alpha-svg11-ref.png                |  Bin 2454 -> 0 bytes
37435  test/caps-joins-alpha-svg12-ref.png                |  Bin 2454 -> 0 bytes
37436  test/caps-joins-alpha.quartz.ref.png               |  Bin 0 -> 2466 bytes
37437  test/caps-joins-alpha.ref.png                      |  Bin 0 -> 2463 bytes
37438  test/caps-joins-alpha.svg11.ref.png                |  Bin 0 -> 2454 bytes
37439  test/caps-joins-alpha.svg12.ref.png                |  Bin 0 -> 2454 bytes
37440  test/caps-joins-ps2-ref.png                        |  Bin 1459 -> 0 bytes
37441  test/caps-joins-ps3-ref.png                        |  Bin 1459 -> 0 bytes
37442  test/caps-joins-ref.png                            |  Bin 1488 -> 0 bytes
37443  test/caps-joins.ps2.ref.png                        |  Bin 0 -> 1459 bytes
37444  test/caps-joins.ps3.ref.png                        |  Bin 0 -> 1459 bytes
37445  test/caps-joins.ref.png                            |  Bin 0 -> 1488 bytes
37446  test/caps-sub-paths-ref.png                        |  Bin 197 -> 0 bytes
37447  test/caps-sub-paths.ref.png                        |  Bin 0 -> 197 bytes
37448  test/clip-all-ref.png                              |  Bin 118 -> 0 bytes
37449  test/clip-all.ref.png                              |  Bin 0 -> 118 bytes
37450  test/clip-empty-ref.png                            |  Bin 118 -> 0 bytes
37451  test/clip-empty.ref.png                            |  Bin 0 -> 118 bytes
37452  test/clip-fill-rule-pixel-aligned-ref.png          |  Bin 195 -> 0 bytes
37453  test/clip-fill-rule-pixel-aligned-rgb24-ref.png    |  Bin 184 -> 0 bytes
37454  test/clip-fill-rule-pixel-aligned.ref.png          |  Bin 0 -> 195 bytes
37455  test/clip-fill-rule-pixel-aligned.rgb24.ref.png    |  Bin 0 -> 184 bytes
37456  test/clip-fill-rule-ps2-argb32-ref.png             |  Bin 310 -> 0 bytes
37457  test/clip-fill-rule-ps2-rgb24-ref.png              |  Bin 302 -> 0 bytes
37458  test/clip-fill-rule-ps3-argb32-ref.png             |  Bin 310 -> 0 bytes
37459  test/clip-fill-rule-ps3-rgb24-ref.png              |  Bin 302 -> 0 bytes
37460  test/clip-fill-rule-ref.png                        |  Bin 431 -> 0 bytes
37461  test/clip-fill-rule-rgb24-ref.png                  |  Bin 380 -> 0 bytes
37462  test/clip-fill-rule.ps2.argb32.ref.png             |  Bin 0 -> 310 bytes
37463  test/clip-fill-rule.ps2.rgb24.ref.png              |  Bin 0 -> 302 bytes
37464  test/clip-fill-rule.ps3.argb32.ref.png             |  Bin 0 -> 310 bytes
37465  test/clip-fill-rule.ps3.rgb24.ref.png              |  Bin 0 -> 302 bytes
37466  test/clip-fill-rule.ref.png                        |  Bin 0 -> 431 bytes
37467  test/clip-fill-rule.rgb24.ref.png                  |  Bin 0 -> 380 bytes
37468  test/clip-nesting-ps2-argb32-ref.png               |  Bin 651 -> 0 bytes
37469  test/clip-nesting-ps2-rgb24-ref.png                |  Bin 636 -> 0 bytes
37470  test/clip-nesting-ps3-argb32-ref.png               |  Bin 651 -> 0 bytes
37471  test/clip-nesting-ps3-rgb24-ref.png                |  Bin 636 -> 0 bytes
37472  test/clip-nesting-quartz-ref.png                   |  Bin 1067 -> 0 bytes
37473  test/clip-nesting-quartz-rgb24-ref.png             |  Bin 956 -> 0 bytes
37474  test/clip-nesting-ref.png                          |  Bin 1050 -> 0 bytes
37475  test/clip-nesting-rgb24-ref.png                    |  Bin 955 -> 0 bytes
37476  test/clip-nesting.ps2.argb32.ref.png               |  Bin 0 -> 651 bytes
37477  test/clip-nesting.ps2.rgb24.ref.png                |  Bin 0 -> 636 bytes
37478  test/clip-nesting.ps3.argb32.ref.png               |  Bin 0 -> 651 bytes
37479  test/clip-nesting.ps3.rgb24.ref.png                |  Bin 0 -> 636 bytes
37480  test/clip-nesting.quartz.ref.png                   |  Bin 0 -> 1067 bytes
37481  test/clip-nesting.quartz.rgb24.ref.png             |  Bin 0 -> 956 bytes
37482  test/clip-nesting.ref.png                          |  Bin 0 -> 1050 bytes
37483  test/clip-nesting.rgb24.ref.png                    |  Bin 0 -> 955 bytes
37484  test/clip-operator-pdf-argb32-ref.png              |  Bin 12125 -> 0 bytes
37485  test/clip-operator-pdf-rgb24-ref.png               |  Bin 7367 -> 0 bytes
37486  test/clip-operator-ps2-rgb24-ref.png               |  Bin 3624 -> 0 bytes
37487  test/clip-operator-ps3-ref.png                     |  Bin 8188 -> 0 bytes
37488  test/clip-operator-ps3-rgb24-ref.png               |  Bin 3624 -> 0 bytes
37489  test/clip-operator-quartz-ref.png                  |  Bin 9539 -> 0 bytes
37490  test/clip-operator-quartz-rgb24-ref.png            |  Bin 4412 -> 0 bytes
37491  test/clip-operator-ref.png                         |  Bin 8271 -> 0 bytes
37492  test/clip-operator-rgb24-ref.png                   |  Bin 3258 -> 0 bytes
37493  test/clip-operator.pdf.argb32.ref.png              |  Bin 0 -> 12125 bytes
37494  test/clip-operator.pdf.rgb24.ref.png               |  Bin 0 -> 7367 bytes
37495  test/clip-operator.ps2.rgb24.ref.png               |  Bin 0 -> 3624 bytes
37496  test/clip-operator.ps3.ref.png                     |  Bin 0 -> 8188 bytes
37497  test/clip-operator.ps3.rgb24.ref.png               |  Bin 0 -> 3624 bytes
37498  test/clip-operator.quartz.ref.png                  |  Bin 0 -> 9539 bytes
37499  test/clip-operator.quartz.rgb24.ref.png            |  Bin 0 -> 4412 bytes
37500  test/clip-operator.ref.png                         |  Bin 0 -> 8271 bytes
37501  test/clip-operator.rgb24.ref.png                   |  Bin 0 -> 3258 bytes
37502  test/clip-push-group-ps2-argb32-ref.png            |  Bin 179 -> 0 bytes
37503  test/clip-push-group-ps2-rgb24-ref.png             |  Bin 179 -> 0 bytes
37504  test/clip-push-group-ps3-argb32-ref.png            |  Bin 179 -> 0 bytes
37505  test/clip-push-group-ps3-rgb24-ref.png             |  Bin 179 -> 0 bytes
37506  test/clip-push-group-quartz-ref.png                |  Bin 203 -> 0 bytes
37507  test/clip-push-group-ref.png                       |  Bin 199 -> 0 bytes
37508  test/clip-push-group.ps2.argb32.ref.png            |  Bin 0 -> 179 bytes
37509  test/clip-push-group.ps2.rgb24.ref.png             |  Bin 0 -> 179 bytes
37510  test/clip-push-group.ps3.argb32.ref.png            |  Bin 0 -> 179 bytes
37511  test/clip-push-group.ps3.rgb24.ref.png             |  Bin 0 -> 179 bytes
37512  test/clip-push-group.quartz.ref.png                |  Bin 0 -> 203 bytes
37513  test/clip-push-group.ref.png                       |  Bin 0 -> 199 bytes
37514  test/clip-twice-ps2-argb32-ref.png                 |  Bin 575 -> 0 bytes
37515  test/clip-twice-ps2-rgb24-ref.png                  |  Bin 541 -> 0 bytes
37516  test/clip-twice-ps3-argb32-ref.png                 |  Bin 575 -> 0 bytes
37517  test/clip-twice-ps3-rgb24-ref.png                  |  Bin 541 -> 0 bytes
37518  test/clip-twice-quartz-ref.png                     |  Bin 1171 -> 0 bytes
37519  test/clip-twice-quartz-rgb24-ref.png               |  Bin 1111 -> 0 bytes
37520  test/clip-twice-ref.png                            |  Bin 1362 -> 0 bytes
37521  test/clip-twice-rgb24-ref.png                      |  Bin 1198 -> 0 bytes
37522  test/clip-twice.ps2.argb32.ref.png                 |  Bin 0 -> 575 bytes
37523  test/clip-twice.ps2.rgb24.ref.png                  |  Bin 0 -> 541 bytes
37524  test/clip-twice.ps3.argb32.ref.png                 |  Bin 0 -> 575 bytes
37525  test/clip-twice.ps3.rgb24.ref.png                  |  Bin 0 -> 541 bytes
37526  test/clip-twice.quartz.ref.png                     |  Bin 0 -> 1171 bytes
37527  test/clip-twice.quartz.rgb24.ref.png               |  Bin 0 -> 1111 bytes
37528  test/clip-twice.ref.png                            |  Bin 0 -> 1362 bytes
37529  test/clip-twice.rgb24.ref.png                      |  Bin 0 -> 1198 bytes
37530  test/clipped-group-ps2-ref.png                     |  Bin 343 -> 0 bytes
37531  test/clipped-group-ps3-ref.png                     |  Bin 343 -> 0 bytes
37532  test/clipped-group-ref.png                         |  Bin 350 -> 0 bytes
37533  test/clipped-group.ps2.ref.png                     |  Bin 0 -> 343 bytes
37534  test/clipped-group.ps3.ref.png                     |  Bin 0 -> 343 bytes
37535  test/clipped-group.ref.png                         |  Bin 0 -> 350 bytes
37536  test/clipped-surface-ref.png                       |  Bin 401 -> 0 bytes
37537  test/clipped-surface.ref.png                       |  Bin 0 -> 401 bytes
37538  test/close-path-ps2-ref.png                        |  Bin 309 -> 0 bytes
37539  test/close-path-ps3-ref.png                        |  Bin 309 -> 0 bytes
37540  test/close-path-ref.png                            |  Bin 312 -> 0 bytes
37541  test/close-path.ps2.ref.png                        |  Bin 0 -> 309 bytes
37542  test/close-path.ps3.ref.png                        |  Bin 0 -> 309 bytes
37543  test/close-path.ref.png                            |  Bin 0 -> 312 bytes
37544  test/composite-integer-translate-over-ps2-ref.png  |  Bin 15783 -> 0 bytes
37545  test/composite-integer-translate-over-ps3-ref.png  |  Bin 15783 -> 0 bytes
37546  test/composite-integer-translate-over-ref.png      |  Bin 16385 -> 0 bytes
37547  ...osite-integer-translate-over-repeat-ps2-ref.png |  Bin 448 -> 0 bytes
37548  ...osite-integer-translate-over-repeat-ps3-ref.png |  Bin 448 -> 0 bytes
37549  ...composite-integer-translate-over-repeat-ref.png |  Bin 401 -> 0 bytes
37550  ...osite-integer-translate-over-repeat.ps2.ref.png |  Bin 0 -> 448 bytes
37551  ...osite-integer-translate-over-repeat.ps3.ref.png |  Bin 0 -> 448 bytes
37552  ...composite-integer-translate-over-repeat.ref.png |  Bin 0 -> 401 bytes
37553  test/composite-integer-translate-over.ps2.ref.png  |  Bin 0 -> 15783 bytes
37554  test/composite-integer-translate-over.ps3.ref.png  |  Bin 0 -> 15783 bytes
37555  test/composite-integer-translate-over.ref.png      |  Bin 0 -> 16385 bytes
37556  .../composite-integer-translate-source-ps2-ref.png |  Bin 15783 -> 0 bytes
37557  .../composite-integer-translate-source-ps3-ref.png |  Bin 15783 -> 0 bytes
37558  test/composite-integer-translate-source-ref.png    |  Bin 16385 -> 0 bytes
37559  .../composite-integer-translate-source.ps2.ref.png |  Bin 0 -> 15783 bytes
37560  .../composite-integer-translate-source.ps3.ref.png |  Bin 0 -> 15783 bytes
37561  test/composite-integer-translate-source.ref.png    |  Bin 0 -> 16385 bytes
37562  test/copy-path-ps2-ref.png                         |  Bin 474 -> 0 bytes
37563  test/copy-path-ps3-ref.png                         |  Bin 474 -> 0 bytes
37564  test/copy-path-ref.png                             |  Bin 579 -> 0 bytes
37565  test/copy-path.ps2.ref.png                         |  Bin 0 -> 474 bytes
37566  test/copy-path.ps3.ref.png                         |  Bin 0 -> 474 bytes
37567  test/copy-path.ref.png                             |  Bin 0 -> 579 bytes
37568  test/create-for-stream.c                           |    2 +-
37569  test/create-from-png-alpha-ref.png                 |  Bin 150 -> 0 bytes
37570  test/create-from-png-gray-alpha-ref.png            |  Bin 142 -> 0 bytes
37571  test/create-from-png-gray-ref.png                  |  Bin 124 -> 0 bytes
37572  test/create-from-png-indexed-alpha-ref.png         |  Bin 172 -> 0 bytes
37573  test/create-from-png-indexed-ref.png               |  Bin 159 -> 0 bytes
37574  test/create-from-png-ref.png                       |  Bin 131 -> 0 bytes
37575  test/create-from-png-stream-ref.png                |  Bin 100 -> 0 bytes
37576  test/create-from-png-stream.c                      |    2 +-
37577  test/create-from-png-stream.ref.png                |  Bin 0 -> 100 bytes
37578  test/create-from-png.alpha.ref.png                 |  Bin 0 -> 150 bytes
37579  test/create-from-png.c                             |   16 +-
37580  test/create-from-png.gray-alpha.ref.png            |  Bin 0 -> 142 bytes
37581  test/create-from-png.gray.ref.png                  |  Bin 0 -> 124 bytes
37582  test/create-from-png.indexed-alpha.ref.png         |  Bin 0 -> 172 bytes
37583  test/create-from-png.indexed.ref.png               |  Bin 0 -> 159 bytes
37584  test/create-from-png.ref.png                       |  Bin 0 -> 131 bytes
37585  test/dash-caps-joins-ps2-argb32-ref.png            |  Bin 3870 -> 0 bytes
37586  test/dash-caps-joins-ps2-rgb24-ref.png             |  Bin 3870 -> 0 bytes
37587  test/dash-caps-joins-ps3-argb32-ref.png            |  Bin 3870 -> 0 bytes
37588  test/dash-caps-joins-ps3-rgb24-ref.png             |  Bin 3870 -> 0 bytes
37589  test/dash-caps-joins-quartz-ref.png                |  Bin 4727 -> 0 bytes
37590  test/dash-caps-joins-ref.png                       |  Bin 4718 -> 0 bytes
37591  test/dash-caps-joins.ps2.argb32.ref.png            |  Bin 0 -> 3870 bytes
37592  test/dash-caps-joins.ps2.rgb24.ref.png             |  Bin 0 -> 3870 bytes
37593  test/dash-caps-joins.ps3.argb32.ref.png            |  Bin 0 -> 3870 bytes
37594  test/dash-caps-joins.ps3.rgb24.ref.png             |  Bin 0 -> 3870 bytes
37595  test/dash-caps-joins.quartz.ref.png                |  Bin 0 -> 4727 bytes
37596  test/dash-caps-joins.ref.png                       |  Bin 0 -> 4718 bytes
37597  test/dash-curve-ps2-ref.png                        |  Bin 27293 -> 0 bytes
37598  test/dash-curve-ps3-ref.png                        |  Bin 27293 -> 0 bytes
37599  test/dash-curve-quartz-ref.png                     |  Bin 47965 -> 0 bytes
37600  test/dash-curve-ref.png                            |  Bin 39642 -> 0 bytes
37601  test/dash-curve.ps2.ref.png                        |  Bin 0 -> 27293 bytes
37602  test/dash-curve.ps3.ref.png                        |  Bin 0 -> 27293 bytes
37603  test/dash-curve.quartz.ref.png                     |  Bin 0 -> 47965 bytes
37604  test/dash-curve.ref.png                            |  Bin 0 -> 39642 bytes
37605  test/dash-no-dash-ref.png                          |  Bin 152 -> 0 bytes
37606  test/dash-no-dash.ref.png                          |  Bin 0 -> 152 bytes
37607  test/dash-offset-negative-ref.png                  |  Bin 171 -> 0 bytes
37608  test/dash-offset-negative.ref.png                  |  Bin 0 -> 171 bytes
37609  test/dash-scale-ps2-argb32-ref.png                 |  Bin 6318 -> 0 bytes
37610  test/dash-scale-ps2-rgb24-ref.png                  |  Bin 6316 -> 0 bytes
37611  test/dash-scale-ps3-argb32-ref.png                 |  Bin 6318 -> 0 bytes
37612  test/dash-scale-ps3-rgb24-ref.png                  |  Bin 6316 -> 0 bytes
37613  test/dash-scale-quartz-ref.png                     |  Bin 8079 -> 0 bytes
37614  test/dash-scale-ref.png                            |  Bin 8058 -> 0 bytes
37615  test/dash-scale.ps2.argb32.ref.png                 |  Bin 0 -> 6318 bytes
37616  test/dash-scale.ps2.rgb24.ref.png                  |  Bin 0 -> 6316 bytes
37617  test/dash-scale.ps3.argb32.ref.png                 |  Bin 0 -> 6318 bytes
37618  test/dash-scale.ps3.rgb24.ref.png                  |  Bin 0 -> 6316 bytes
37619  test/dash-scale.quartz.ref.png                     |  Bin 0 -> 8079 bytes
37620  test/dash-scale.ref.png                            |  Bin 0 -> 8058 bytes
37621  test/dash-state-ps2-ref.png                        |  Bin 10219 -> 0 bytes
37622  test/dash-state-ps3-ref.png                        |  Bin 10219 -> 0 bytes
37623  test/dash-state-quartz-ref.png                     |  Bin 8698 -> 0 bytes
37624  test/dash-state-ref.png                            |  Bin 9389 -> 0 bytes
37625  test/dash-state.ps2.ref.png                        |  Bin 0 -> 10219 bytes
37626  test/dash-state.ps3.ref.png                        |  Bin 0 -> 10219 bytes
37627  test/dash-state.quartz.ref.png                     |  Bin 0 -> 8698 bytes
37628  test/dash-state.ref.png                            |  Bin 0 -> 9389 bytes
37629  test/dash-zero-length-ps2-ref.png                  |  Bin 319 -> 0 bytes
37630  test/dash-zero-length-ps2-rgb24-ref.png            |  Bin 304 -> 0 bytes
37631  test/dash-zero-length-ps3-ref.png                  |  Bin 319 -> 0 bytes
37632  test/dash-zero-length-ps3-rgb24-ref.png            |  Bin 304 -> 0 bytes
37633  test/dash-zero-length-ref.png                      |  Bin 238 -> 0 bytes
37634  test/dash-zero-length-rgb24-ref.png                |  Bin 218 -> 0 bytes
37635  test/dash-zero-length.ps2.ref.png                  |  Bin 0 -> 319 bytes
37636  test/dash-zero-length.ps2.rgb24.ref.png            |  Bin 0 -> 304 bytes
37637  test/dash-zero-length.ps3.ref.png                  |  Bin 0 -> 319 bytes
37638  test/dash-zero-length.ps3.rgb24.ref.png            |  Bin 0 -> 304 bytes
37639  test/dash-zero-length.ref.png                      |  Bin 0 -> 238 bytes
37640  test/dash-zero-length.rgb24.ref.png                |  Bin 0 -> 218 bytes
37641  test/degenerate-arc-ps2-ref.png                    |  Bin 585 -> 0 bytes
37642  test/degenerate-arc-ps3-ref.png                    |  Bin 585 -> 0 bytes
37643  test/degenerate-arc-ref.png                        |  Bin 616 -> 0 bytes
37644  test/degenerate-arc.ps2.ref.png                    |  Bin 0 -> 585 bytes
37645  test/degenerate-arc.ps3.ref.png                    |  Bin 0 -> 585 bytes
37646  test/degenerate-arc.ref.png                        |  Bin 0 -> 616 bytes
37647  test/degenerate-dash-ref.png                       |  Bin 2005 -> 0 bytes
37648  test/degenerate-dash.ref.png                       |  Bin 0 -> 2005 bytes
37649  test/degenerate-path-ps2-argb32-ref.png            |  Bin 390 -> 0 bytes
37650  test/degenerate-path-ps2-rgb24-ref.png             |  Bin 358 -> 0 bytes
37651  test/degenerate-path-ps3-argb32-ref.png            |  Bin 390 -> 0 bytes
37652  test/degenerate-path-ps3-rgb24-ref.png             |  Bin 358 -> 0 bytes
37653  test/degenerate-path-quartz-ref.png                |  Bin 232 -> 0 bytes
37654  test/degenerate-path-quartz-rgb24-ref.png          |  Bin 198 -> 0 bytes
37655  test/degenerate-path-ref.png                       |  Bin 257 -> 0 bytes
37656  test/degenerate-path-rgb24-ref.png                 |  Bin 224 -> 0 bytes
37657  test/degenerate-path.ps2.argb32.ref.png            |  Bin 0 -> 390 bytes
37658  test/degenerate-path.ps2.rgb24.ref.png             |  Bin 0 -> 358 bytes
37659  test/degenerate-path.ps3.argb32.ref.png            |  Bin 0 -> 390 bytes
37660  test/degenerate-path.ps3.rgb24.ref.png             |  Bin 0 -> 358 bytes
37661  test/degenerate-path.quartz.ref.png                |  Bin 0 -> 232 bytes
37662  test/degenerate-path.quartz.rgb24.ref.png          |  Bin 0 -> 198 bytes
37663  test/degenerate-path.ref.png                       |  Bin 0 -> 257 bytes
37664  test/degenerate-path.rgb24.ref.png                 |  Bin 0 -> 224 bytes
37665  test/degenerate-pen-ps2-ref.png                    |  Bin 865 -> 0 bytes
37666  test/degenerate-pen-ps3-ref.png                    |  Bin 865 -> 0 bytes
37667  test/degenerate-pen-quartz-ref.png                 |  Bin 1144 -> 0 bytes
37668  test/degenerate-pen-ref.png                        |  Bin 1139 -> 0 bytes
37669  test/degenerate-pen.ps2.ref.png                    |  Bin 0 -> 865 bytes
37670  test/degenerate-pen.ps3.ref.png                    |  Bin 0 -> 865 bytes
37671  test/degenerate-pen.quartz.ref.png                 |  Bin 0 -> 1144 bytes
37672  test/degenerate-pen.ref.png                        |  Bin 0 -> 1139 bytes
37673  test/device-offset-fractional-pdf-ref.png          |  Bin 277 -> 0 bytes
37674  test/device-offset-fractional-ps2-ref.png          |  Bin 200 -> 0 bytes
37675  test/device-offset-fractional-ps3-ref.png          |  Bin 200 -> 0 bytes
37676  test/device-offset-fractional-ref.png              |  Bin 269 -> 0 bytes
37677  test/device-offset-fractional.pdf.ref.png          |  Bin 0 -> 277 bytes
37678  test/device-offset-fractional.ps2.ref.png          |  Bin 0 -> 200 bytes
37679  test/device-offset-fractional.ps3.ref.png          |  Bin 0 -> 200 bytes
37680  test/device-offset-fractional.ref.png              |  Bin 0 -> 269 bytes
37681  test/device-offset-positive-ref.png                |  Bin 139 -> 0 bytes
37682  test/device-offset-positive-rgb24-ref.png          |  Bin 130 -> 0 bytes
37683  test/device-offset-positive.ref.png                |  Bin 0 -> 139 bytes
37684  test/device-offset-positive.rgb24.ref.png          |  Bin 0 -> 130 bytes
37685  test/device-offset-ref.png                         |  Bin 137 -> 0 bytes
37686  test/device-offset-rgb24-ref.png                   |  Bin 130 -> 0 bytes
37687  test/device-offset-scale-ref.png                   |  Bin 145 -> 0 bytes
37688  test/device-offset-scale.ref.png                   |  Bin 0 -> 145 bytes
37689  test/device-offset.ref.png                         |  Bin 0 -> 137 bytes
37690  test/device-offset.rgb24.ref.png                   |  Bin 0 -> 130 bytes
37691  test/extend-pad-ref.png                            |  Bin 616 -> 0 bytes
37692  test/extend-pad.ref.png                            |  Bin 0 -> 616 bytes
37693  test/extend-reflect-ps2-ref.png                    |  Bin 146990 -> 0 bytes
37694  test/extend-reflect-ps3-ref.png                    |  Bin 146990 -> 0 bytes
37695  test/extend-reflect-ref.png                        |  Bin 153571 -> 0 bytes
37696  test/extend-reflect-similar-ps2-ref.png            |  Bin 146990 -> 0 bytes
37697  test/extend-reflect-similar-ps3-ref.png            |  Bin 146990 -> 0 bytes
37698  test/extend-reflect-similar-ref.png                |  Bin 153571 -> 0 bytes
37699  test/extend-reflect-similar.ps2.ref.png            |  Bin 0 -> 146990 bytes
37700  test/extend-reflect-similar.ps3.ref.png            |  Bin 0 -> 146990 bytes
37701  test/extend-reflect-similar.ref.png                |  Bin 0 -> 153571 bytes
37702  test/extend-reflect.ps2.ref.png                    |  Bin 0 -> 146990 bytes
37703  test/extend-reflect.ps3.ref.png                    |  Bin 0 -> 146990 bytes
37704  test/extend-reflect.ref.png                        |  Bin 0 -> 153571 bytes
37705  test/extend-repeat-ps2-ref.png                     |  Bin 119246 -> 0 bytes
37706  test/extend-repeat-ps3-ref.png                     |  Bin 119246 -> 0 bytes
37707  test/extend-repeat-ref.png                         |  Bin 108622 -> 0 bytes
37708  test/extend-repeat-similar-ps2-ref.png             |  Bin 119246 -> 0 bytes
37709  test/extend-repeat-similar-ps3-ref.png             |  Bin 119246 -> 0 bytes
37710  test/extend-repeat-similar-ref.png                 |  Bin 108622 -> 0 bytes
37711  test/extend-repeat-similar.ps2.ref.png             |  Bin 0 -> 119246 bytes
37712  test/extend-repeat-similar.ps3.ref.png             |  Bin 0 -> 119246 bytes
37713  test/extend-repeat-similar.ref.png                 |  Bin 0 -> 108622 bytes
37714  test/extend-repeat.ps2.ref.png                     |  Bin 0 -> 119246 bytes
37715  test/extend-repeat.ps3.ref.png                     |  Bin 0 -> 119246 bytes
37716  test/extend-repeat.ref.png                         |  Bin 0 -> 108622 bytes
37717  test/fallback-resolution-ppi150x150-ref.png        |  Bin 8043 -> 0 bytes
37718  test/fallback-resolution-ppi150x300-ref.png        |  Bin 6848 -> 0 bytes
37719  test/fallback-resolution-ppi150x37.5-ref.png       |  Bin 13176 -> 0 bytes
37720  test/fallback-resolution-ppi150x600-ref.png        |  Bin 6338 -> 0 bytes
37721  test/fallback-resolution-ppi150x72-ref.png         |  Bin 8370 -> 0 bytes
37722  test/fallback-resolution-ppi150x75-ref.png         |  Bin 10445 -> 0 bytes
37723  test/fallback-resolution-ppi300x150-ref.png        |  Bin 6851 -> 0 bytes
37724  test/fallback-resolution-ppi300x300-ref.png        |  Bin 5637 -> 0 bytes
37725  test/fallback-resolution-ppi300x37.5-ref.png       |  Bin 12870 -> 0 bytes
37726  test/fallback-resolution-ppi300x600-ref.png        |  Bin 4848 -> 0 bytes
37727  test/fallback-resolution-ppi300x72-ref.png         |  Bin 7053 -> 0 bytes
37728  test/fallback-resolution-ppi300x75-ref.png         |  Bin 9617 -> 0 bytes
37729  test/fallback-resolution-ppi37.5x150-ref.png       |  Bin 12728 -> 0 bytes
37730  test/fallback-resolution-ppi37.5x300-ref.png       |  Bin 11981 -> 0 bytes
37731  test/fallback-resolution-ppi37.5x37.5-ref.png      |  Bin 14098 -> 0 bytes
37732  test/fallback-resolution-ppi37.5x600-ref.png       |  Bin 11654 -> 0 bytes
37733  test/fallback-resolution-ppi37.5x72-ref.png        |  Bin 12990 -> 0 bytes
37734  test/fallback-resolution-ppi37.5x75-ref.png        |  Bin 13787 -> 0 bytes
37735  test/fallback-resolution-ppi600x150-ref.png        |  Bin 6096 -> 0 bytes
37736  test/fallback-resolution-ppi600x300-ref.png        |  Bin 4812 -> 0 bytes
37737  test/fallback-resolution-ppi600x37.5-ref.png       |  Bin 12401 -> 0 bytes
37738  test/fallback-resolution-ppi600x600-ref.png        |  Bin 4104 -> 0 bytes
37739  test/fallback-resolution-ppi600x72-ref.png         |  Bin 6398 -> 0 bytes
37740  test/fallback-resolution-ppi600x75-ref.png         |  Bin 8974 -> 0 bytes
37741  test/fallback-resolution-ppi72x150-ref.png         |  Bin 8069 -> 0 bytes
37742  test/fallback-resolution-ppi72x300-ref.png         |  Bin 6803 -> 0 bytes
37743  test/fallback-resolution-ppi72x37.5-ref.png        |  Bin 13147 -> 0 bytes
37744  test/fallback-resolution-ppi72x600-ref.png         |  Bin 6245 -> 0 bytes
37745  test/fallback-resolution-ppi72x72-ref.png          |  Bin 8409 -> 0 bytes
37746  test/fallback-resolution-ppi72x75-ref.png          |  Bin 10628 -> 0 bytes
37747  test/fallback-resolution-ppi75x150-ref.png         |  Bin 9940 -> 0 bytes
37748  test/fallback-resolution-ppi75x300-ref.png         |  Bin 9003 -> 0 bytes
37749  test/fallback-resolution-ppi75x37.5-ref.png        |  Bin 14020 -> 0 bytes
37750  test/fallback-resolution-ppi75x600-ref.png         |  Bin 8455 -> 0 bytes
37751  test/fallback-resolution-ppi75x72-ref.png          |  Bin 10202 -> 0 bytes
37752  test/fallback-resolution-ppi75x75-ref.png          |  Bin 12101 -> 0 bytes
37753  test/fallback-resolution.c                         |   11 +-
37754  test/fallback-resolution.ppi150x150.ref.png        |  Bin 0 -> 8043 bytes
37755  test/fallback-resolution.ppi150x300.ref.png        |  Bin 0 -> 6848 bytes
37756  test/fallback-resolution.ppi150x37.5.ref.png       |  Bin 0 -> 13176 bytes
37757  test/fallback-resolution.ppi150x600.ref.png        |  Bin 0 -> 6338 bytes
37758  test/fallback-resolution.ppi150x72.ref.png         |  Bin 0 -> 8370 bytes
37759  test/fallback-resolution.ppi150x75.ref.png         |  Bin 0 -> 10445 bytes
37760  test/fallback-resolution.ppi300x150.ref.png        |  Bin 0 -> 6851 bytes
37761  test/fallback-resolution.ppi300x300.ref.png        |  Bin 0 -> 5637 bytes
37762  test/fallback-resolution.ppi300x37.5.ref.png       |  Bin 0 -> 12870 bytes
37763  test/fallback-resolution.ppi300x600.ref.png        |  Bin 0 -> 4848 bytes
37764  test/fallback-resolution.ppi300x72.ref.png         |  Bin 0 -> 7053 bytes
37765  test/fallback-resolution.ppi300x75.ref.png         |  Bin 0 -> 9617 bytes
37766  test/fallback-resolution.ppi37.5x150.ref.png       |  Bin 0 -> 12728 bytes
37767  test/fallback-resolution.ppi37.5x300.ref.png       |  Bin 0 -> 11981 bytes
37768  test/fallback-resolution.ppi37.5x37.5.ref.png      |  Bin 0 -> 14098 bytes
37769  test/fallback-resolution.ppi37.5x600.ref.png       |  Bin 0 -> 11654 bytes
37770  test/fallback-resolution.ppi37.5x72.ref.png        |  Bin 0 -> 12990 bytes
37771  test/fallback-resolution.ppi37.5x75.ref.png        |  Bin 0 -> 13787 bytes
37772  test/fallback-resolution.ppi600x150.ref.png        |  Bin 0 -> 6096 bytes
37773  test/fallback-resolution.ppi600x300.ref.png        |  Bin 0 -> 4812 bytes
37774  test/fallback-resolution.ppi600x37.5.ref.png       |  Bin 0 -> 12401 bytes
37775  test/fallback-resolution.ppi600x600.ref.png        |  Bin 0 -> 4104 bytes
37776  test/fallback-resolution.ppi600x72.ref.png         |  Bin 0 -> 6398 bytes
37777  test/fallback-resolution.ppi600x75.ref.png         |  Bin 0 -> 8974 bytes
37778  test/fallback-resolution.ppi72x150.ref.png         |  Bin 0 -> 8069 bytes
37779  test/fallback-resolution.ppi72x300.ref.png         |  Bin 0 -> 6803 bytes
37780  test/fallback-resolution.ppi72x37.5.ref.png        |  Bin 0 -> 13147 bytes
37781  test/fallback-resolution.ppi72x600.ref.png         |  Bin 0 -> 6245 bytes
37782  test/fallback-resolution.ppi72x72.ref.png          |  Bin 0 -> 8409 bytes
37783  test/fallback-resolution.ppi72x75.ref.png          |  Bin 0 -> 10628 bytes
37784  test/fallback-resolution.ppi75x150.ref.png         |  Bin 0 -> 9940 bytes
37785  test/fallback-resolution.ppi75x300.ref.png         |  Bin 0 -> 9003 bytes
37786  test/fallback-resolution.ppi75x37.5.ref.png        |  Bin 0 -> 14020 bytes
37787  test/fallback-resolution.ppi75x600.ref.png         |  Bin 0 -> 8455 bytes
37788  test/fallback-resolution.ppi75x72.ref.png          |  Bin 0 -> 10202 bytes
37789  test/fallback-resolution.ppi75x75.ref.png          |  Bin 0 -> 12101 bytes
37790  test/fill-alpha-pattern-pdf-argb32-ref.png         |  Bin 3887 -> 0 bytes
37791  test/fill-alpha-pattern-pdf-rgb24-ref.png          |  Bin 3840 -> 0 bytes
37792  test/fill-alpha-pattern-ps3-ref.png                |  Bin 4380 -> 0 bytes
37793  test/fill-alpha-pattern-ref.png                    |  Bin 3653 -> 0 bytes
37794  test/fill-alpha-pattern.pdf.argb32.ref.png         |  Bin 0 -> 3887 bytes
37795  test/fill-alpha-pattern.pdf.rgb24.ref.png          |  Bin 0 -> 3840 bytes
37796  test/fill-alpha-pattern.ps3.ref.png                |  Bin 0 -> 4380 bytes
37797  test/fill-alpha-pattern.ref.png                    |  Bin 0 -> 3653 bytes
37798  test/fill-alpha-ref.png                            |  Bin 2989 -> 0 bytes
37799  test/fill-alpha.ref.png                            |  Bin 0 -> 2989 bytes
37800  test/fill-and-stroke-alpha-add-quartz-ref.png      |  Bin 603 -> 0 bytes
37801  test/fill-and-stroke-alpha-add-ref.png             |  Bin 591 -> 0 bytes
37802  test/fill-and-stroke-alpha-add.quartz.ref.png      |  Bin 0 -> 603 bytes
37803  test/fill-and-stroke-alpha-add.ref.png             |  Bin 0 -> 591 bytes
37804  test/fill-and-stroke-alpha-quartz-ref.png          |  Bin 550 -> 0 bytes
37805  test/fill-and-stroke-alpha-ref.png                 |  Bin 519 -> 0 bytes
37806  test/fill-and-stroke-alpha.quartz.ref.png          |  Bin 0 -> 550 bytes
37807  test/fill-and-stroke-alpha.ref.png                 |  Bin 0 -> 519 bytes
37808  test/fill-and-stroke-ps2-argb32-ref.png            |  Bin 310 -> 0 bytes
37809  test/fill-and-stroke-ps2-rgb24-ref.png             |  Bin 319 -> 0 bytes
37810  test/fill-and-stroke-ps3-argb32-ref.png            |  Bin 310 -> 0 bytes
37811  test/fill-and-stroke-ps3-rgb24-ref.png             |  Bin 319 -> 0 bytes
37812  test/fill-and-stroke-quartz-ref.png                |  Bin 286 -> 0 bytes
37813  test/fill-and-stroke-quartz-rgb24-ref.png          |  Bin 264 -> 0 bytes
37814  test/fill-and-stroke-ref.png                       |  Bin 279 -> 0 bytes
37815  test/fill-and-stroke-rgb24-ref.png                 |  Bin 257 -> 0 bytes
37816  test/fill-and-stroke.ps2.argb32.ref.png            |  Bin 0 -> 310 bytes
37817  test/fill-and-stroke.ps2.rgb24.ref.png             |  Bin 0 -> 319 bytes
37818  test/fill-and-stroke.ps3.argb32.ref.png            |  Bin 0 -> 310 bytes
37819  test/fill-and-stroke.ps3.rgb24.ref.png             |  Bin 0 -> 319 bytes
37820  test/fill-and-stroke.quartz.ref.png                |  Bin 0 -> 286 bytes
37821  test/fill-and-stroke.quartz.rgb24.ref.png          |  Bin 0 -> 264 bytes
37822  test/fill-and-stroke.ref.png                       |  Bin 0 -> 279 bytes
37823  test/fill-and-stroke.rgb24.ref.png                 |  Bin 0 -> 257 bytes
37824  test/fill-degenerate-sort-order-quartz-ref.png     |  Bin 2470 -> 0 bytes
37825  ...fill-degenerate-sort-order-quartz-rgb24-ref.png |  Bin 2098 -> 0 bytes
37826  test/fill-degenerate-sort-order-ref.png            |  Bin 2397 -> 0 bytes
37827  test/fill-degenerate-sort-order-rgb24-ref.png      |  Bin 2060 -> 0 bytes
37828  test/fill-degenerate-sort-order.quartz.ref.png     |  Bin 0 -> 2470 bytes
37829  ...fill-degenerate-sort-order.quartz.rgb24.ref.png |  Bin 0 -> 2098 bytes
37830  test/fill-degenerate-sort-order.ref.png            |  Bin 0 -> 2397 bytes
37831  test/fill-degenerate-sort-order.rgb24.ref.png      |  Bin 0 -> 2060 bytes
37832  test/fill-missed-stop-ps2-argb32-ref.png           |  Bin 564 -> 0 bytes
37833  test/fill-missed-stop-ps2-rgb24-ref.png            |  Bin 531 -> 0 bytes
37834  test/fill-missed-stop-ps3-argb32-ref.png           |  Bin 564 -> 0 bytes
37835  test/fill-missed-stop-ps3-rgb24-ref.png            |  Bin 531 -> 0 bytes
37836  test/fill-missed-stop-ref.png                      |  Bin 466 -> 0 bytes
37837  test/fill-missed-stop-rgb24-ref.png                |  Bin 394 -> 0 bytes
37838  test/fill-missed-stop.ps2.argb32.ref.png           |  Bin 0 -> 564 bytes
37839  test/fill-missed-stop.ps2.rgb24.ref.png            |  Bin 0 -> 531 bytes
37840  test/fill-missed-stop.ps3.argb32.ref.png           |  Bin 0 -> 564 bytes
37841  test/fill-missed-stop.ps3.rgb24.ref.png            |  Bin 0 -> 531 bytes
37842  test/fill-missed-stop.ref.png                      |  Bin 0 -> 466 bytes
37843  test/fill-missed-stop.rgb24.ref.png                |  Bin 0 -> 394 bytes
37844  test/fill-rule-ps2-argb32-ref.png                  |  Bin 2253 -> 0 bytes
37845  test/fill-rule-ps2-rgb24-ref.png                   |  Bin 2031 -> 0 bytes
37846  test/fill-rule-ps3-argb32-ref.png                  |  Bin 2253 -> 0 bytes
37847  test/fill-rule-ps3-rgb24-ref.png                   |  Bin 2031 -> 0 bytes
37848  test/fill-rule-quartz-ref.png                      |  Bin 2079 -> 0 bytes
37849  test/fill-rule-quartz-rgb24-ref.png                |  Bin 1790 -> 0 bytes
37850  test/fill-rule-ref.png                             |  Bin 1979 -> 0 bytes
37851  test/fill-rule-rgb24-ref.png                       |  Bin 1722 -> 0 bytes
37852  test/fill-rule.ps2.argb32.ref.png                  |  Bin 0 -> 2253 bytes
37853  test/fill-rule.ps2.rgb24.ref.png                   |  Bin 0 -> 2031 bytes
37854  test/fill-rule.ps3.argb32.ref.png                  |  Bin 0 -> 2253 bytes
37855  test/fill-rule.ps3.rgb24.ref.png                   |  Bin 0 -> 2031 bytes
37856  test/fill-rule.quartz.ref.png                      |  Bin 0 -> 2079 bytes
37857  test/fill-rule.quartz.rgb24.ref.png                |  Bin 0 -> 1790 bytes
37858  test/fill-rule.ref.png                             |  Bin 0 -> 1979 bytes
37859  test/fill-rule.rgb24.ref.png                       |  Bin 0 -> 1722 bytes
37860  test/filter-bilinear-extents-pdf-ref.png           |  Bin 798 -> 0 bytes
37861  test/filter-bilinear-extents-ps2-ref.png           |  Bin 556 -> 0 bytes
37862  test/filter-bilinear-extents-ps3-ref.png           |  Bin 556 -> 0 bytes
37863  test/filter-bilinear-extents-ref.png               |  Bin 1340 -> 0 bytes
37864  test/filter-bilinear-extents.pdf.ref.png           |  Bin 0 -> 798 bytes
37865  test/filter-bilinear-extents.ps2.ref.png           |  Bin 0 -> 556 bytes
37866  test/filter-bilinear-extents.ps3.ref.png           |  Bin 0 -> 556 bytes
37867  test/filter-bilinear-extents.ref.png               |  Bin 0 -> 1340 bytes
37868  test/filter-nearest-offset-pdf-ref.png             |  Bin 4537 -> 0 bytes
37869  test/filter-nearest-offset-ps2-ref.png             |  Bin 255 -> 0 bytes
37870  test/filter-nearest-offset-ps3-ref.png             |  Bin 255 -> 0 bytes
37871  test/filter-nearest-offset-ref.png                 |  Bin 248 -> 0 bytes
37872  test/filter-nearest-offset-svg11-ref.png           |  Bin 4739 -> 0 bytes
37873  test/filter-nearest-offset-svg12-ref.png           |  Bin 4739 -> 0 bytes
37874  test/filter-nearest-offset.pdf.ref.png             |  Bin 0 -> 4537 bytes
37875  test/filter-nearest-offset.ps2.ref.png             |  Bin 0 -> 255 bytes
37876  test/filter-nearest-offset.ps3.ref.png             |  Bin 0 -> 255 bytes
37877  test/filter-nearest-offset.ref.png                 |  Bin 0 -> 248 bytes
37878  test/filter-nearest-offset.svg11.ref.png           |  Bin 0 -> 4739 bytes
37879  test/filter-nearest-offset.svg12.ref.png           |  Bin 0 -> 4739 bytes
37880  test/filter-nearest-transformed-pdf-ref.png        |  Bin 548 -> 0 bytes
37881  test/filter-nearest-transformed-ref.png            |  Bin 570 -> 0 bytes
37882  test/filter-nearest-transformed-svg11-ref.png      |  Bin 559 -> 0 bytes
37883  test/filter-nearest-transformed-svg12-ref.png      |  Bin 559 -> 0 bytes
37884  test/filter-nearest-transformed.pdf.ref.png        |  Bin 0 -> 548 bytes
37885  test/filter-nearest-transformed.ref.png            |  Bin 0 -> 570 bytes
37886  test/filter-nearest-transformed.svg11.ref.png      |  Bin 0 -> 559 bytes
37887  test/filter-nearest-transformed.svg12.ref.png      |  Bin 0 -> 559 bytes
37888  test/finer-grained-fallbacks-ps2-ref.png           |  Bin 1356 -> 0 bytes
37889  test/finer-grained-fallbacks-ps2-rgb24-ref.png     |  Bin 1096 -> 0 bytes
37890  test/finer-grained-fallbacks-ps3-ref.png           |  Bin 1356 -> 0 bytes
37891  test/finer-grained-fallbacks-ps3-rgb24-ref.png     |  Bin 1096 -> 0 bytes
37892  test/finer-grained-fallbacks-ref.png               |  Bin 1111 -> 0 bytes
37893  test/finer-grained-fallbacks-rgb24-ref.png         |  Bin 1114 -> 0 bytes
37894  test/finer-grained-fallbacks.ps2.ref.png           |  Bin 0 -> 1356 bytes
37895  test/finer-grained-fallbacks.ps2.rgb24.ref.png     |  Bin 0 -> 1096 bytes
37896  test/finer-grained-fallbacks.ps3.ref.png           |  Bin 0 -> 1356 bytes
37897  test/finer-grained-fallbacks.ps3.rgb24.ref.png     |  Bin 0 -> 1096 bytes
37898  test/finer-grained-fallbacks.ref.png               |  Bin 0 -> 1111 bytes
37899  test/finer-grained-fallbacks.rgb24.ref.png         |  Bin 0 -> 1114 bytes
37900  test/font-matrix-translation-ps2-argb32-ref.png    |  Bin 748 -> 0 bytes
37901  test/font-matrix-translation-ps2-rgb24-ref.png     |  Bin 748 -> 0 bytes
37902  test/font-matrix-translation-ps3-argb32-ref.png    |  Bin 748 -> 0 bytes
37903  test/font-matrix-translation-ps3-rgb24-ref.png     |  Bin 748 -> 0 bytes
37904  test/font-matrix-translation-quartz-ref.png        |  Bin 1090 -> 0 bytes
37905  test/font-matrix-translation-ref.png               |  Bin 1006 -> 0 bytes
37906  test/font-matrix-translation-svg11-ref.png         |  Bin 970 -> 0 bytes
37907  test/font-matrix-translation-svg12-ref.png         |  Bin 970 -> 0 bytes
37908  test/font-matrix-translation.ps2.argb32.ref.png    |  Bin 0 -> 748 bytes
37909  test/font-matrix-translation.ps2.rgb24.ref.png     |  Bin 0 -> 748 bytes
37910  test/font-matrix-translation.ps3.argb32.ref.png    |  Bin 0 -> 748 bytes
37911  test/font-matrix-translation.ps3.rgb24.ref.png     |  Bin 0 -> 748 bytes
37912  test/font-matrix-translation.quartz.ref.png        |  Bin 0 -> 1090 bytes
37913  test/font-matrix-translation.ref.png               |  Bin 0 -> 1006 bytes
37914  test/font-matrix-translation.svg11.ref.png         |  Bin 0 -> 970 bytes
37915  test/font-matrix-translation.svg12.ref.png         |  Bin 0 -> 970 bytes
37916  test/ft-show-glyphs-positioning-pdf-ref.png        |  Bin 3133 -> 0 bytes
37917  test/ft-show-glyphs-positioning-ps2-ref.png        |  Bin 2269 -> 0 bytes
37918  test/ft-show-glyphs-positioning-ps3-ref.png        |  Bin 2269 -> 0 bytes
37919  test/ft-show-glyphs-positioning-ref.png            |  Bin 3444 -> 0 bytes
37920  test/ft-show-glyphs-positioning-svg11-ref.png      |  Bin 6590 -> 0 bytes
37921  test/ft-show-glyphs-positioning-svg12-ref.png      |  Bin 6590 -> 0 bytes
37922  test/ft-show-glyphs-positioning.pdf.ref.png        |  Bin 0 -> 3133 bytes
37923  test/ft-show-glyphs-positioning.ps2.ref.png        |  Bin 0 -> 2269 bytes
37924  test/ft-show-glyphs-positioning.ps3.ref.png        |  Bin 0 -> 2269 bytes
37925  test/ft-show-glyphs-positioning.ref.png            |  Bin 0 -> 3444 bytes
37926  test/ft-show-glyphs-positioning.svg11.ref.png      |  Bin 0 -> 6590 bytes
37927  test/ft-show-glyphs-positioning.svg12.ref.png      |  Bin 0 -> 6590 bytes
37928  test/ft-show-glyphs-table-ps2-ref.png              |  Bin 5687 -> 0 bytes
37929  test/ft-show-glyphs-table-ps3-ref.png              |  Bin 5687 -> 0 bytes
37930  test/ft-show-glyphs-table-ref.png                  |  Bin 11439 -> 0 bytes
37931  test/ft-show-glyphs-table.ps2.ref.png              |  Bin 0 -> 5687 bytes
37932  test/ft-show-glyphs-table.ps3.ref.png              |  Bin 0 -> 5687 bytes
37933  test/ft-show-glyphs-table.ref.png                  |  Bin 0 -> 11439 bytes
37934  test/ft-text-antialias-none-ps2-argb32-ref.png     |  Bin 335 -> 0 bytes
37935  test/ft-text-antialias-none-ps3-argb32-ref.png     |  Bin 335 -> 0 bytes
37936  test/ft-text-antialias-none-ref.png                |  Bin 336 -> 0 bytes
37937  test/ft-text-antialias-none.ps2.argb32.ref.png     |  Bin 0 -> 335 bytes
37938  test/ft-text-antialias-none.ps3.argb32.ref.png     |  Bin 0 -> 335 bytes
37939  test/ft-text-antialias-none.ref.png                |  Bin 0 -> 336 bytes
37940  test/ft-text-vertical-layout-type1-pdf-ref.png     |  Bin 3968 -> 0 bytes
37941  test/ft-text-vertical-layout-type1-ps2-ref.png     |  Bin 1846 -> 0 bytes
37942  test/ft-text-vertical-layout-type1-ps3-ref.png     |  Bin 1846 -> 0 bytes
37943  test/ft-text-vertical-layout-type1-ref.png         |  Bin 3980 -> 0 bytes
37944  test/ft-text-vertical-layout-type1-svg11-ref.png   |  Bin 3973 -> 0 bytes
37945  test/ft-text-vertical-layout-type1-svg12-ref.png   |  Bin 3973 -> 0 bytes
37946  test/ft-text-vertical-layout-type1.pdf.ref.png     |  Bin 0 -> 3968 bytes
37947  test/ft-text-vertical-layout-type1.ps2.ref.png     |  Bin 0 -> 1846 bytes
37948  test/ft-text-vertical-layout-type1.ps3.ref.png     |  Bin 0 -> 1846 bytes
37949  test/ft-text-vertical-layout-type1.ref.png         |  Bin 0 -> 3980 bytes
37950  test/ft-text-vertical-layout-type1.svg11.ref.png   |  Bin 0 -> 3973 bytes
37951  test/ft-text-vertical-layout-type1.svg12.ref.png   |  Bin 0 -> 3973 bytes
37952  test/ft-text-vertical-layout-type3-pdf-ref.png     |  Bin 3634 -> 0 bytes
37953  test/ft-text-vertical-layout-type3-ps2-ref.png     |  Bin 1804 -> 0 bytes
37954  test/ft-text-vertical-layout-type3-ps3-ref.png     |  Bin 1804 -> 0 bytes
37955  test/ft-text-vertical-layout-type3-ref.png         |  Bin 3934 -> 0 bytes
37956  test/ft-text-vertical-layout-type3-svg11-ref.png   |  Bin 3957 -> 0 bytes
37957  test/ft-text-vertical-layout-type3-svg12-ref.png   |  Bin 3957 -> 0 bytes
37958  test/ft-text-vertical-layout-type3.pdf.ref.png     |  Bin 0 -> 3634 bytes
37959  test/ft-text-vertical-layout-type3.ps2.ref.png     |  Bin 0 -> 1804 bytes
37960  test/ft-text-vertical-layout-type3.ps3.ref.png     |  Bin 0 -> 1804 bytes
37961  test/ft-text-vertical-layout-type3.ref.png         |  Bin 0 -> 3934 bytes
37962  test/ft-text-vertical-layout-type3.svg11.ref.png   |  Bin 0 -> 3957 bytes
37963  test/ft-text-vertical-layout-type3.svg12.ref.png   |  Bin 0 -> 3957 bytes
37964  test/get-group-target-ref.png                      |  Bin 134 -> 0 bytes
37965  test/get-group-target.ref.png                      |  Bin 0 -> 134 bytes
37966  test/glitz-surface-source-ref.png                  |  Bin 268 -> 0 bytes
37967  test/glitz-surface-source.ref.png                  |  Bin 0 -> 268 bytes
37968  test/glyph-cache-pressure-ps2-ref.png              |  Bin 1454 -> 0 bytes
37969  test/glyph-cache-pressure-ps3-ref.png              |  Bin 1454 -> 0 bytes
37970  test/glyph-cache-pressure-quartz-ref.png           |  Bin 3654 -> 0 bytes
37971  test/glyph-cache-pressure-ref.png                  |  Bin 3223 -> 0 bytes
37972  test/glyph-cache-pressure.ps2.ref.png              |  Bin 0 -> 1454 bytes
37973  test/glyph-cache-pressure.ps3.ref.png              |  Bin 0 -> 1454 bytes
37974  test/glyph-cache-pressure.quartz.ref.png           |  Bin 0 -> 3654 bytes
37975  test/glyph-cache-pressure.ref.png                  |  Bin 0 -> 3223 bytes
37976  test/gradient-alpha-pdf-argb32-ref.png             |  Bin 126 -> 0 bytes
37977  test/gradient-alpha-pdf-rgb24-ref.png              |  Bin 121 -> 0 bytes
37978  test/gradient-alpha-ps2-argb32-ref.png             |  Bin 134 -> 0 bytes
37979  test/gradient-alpha-ps2-rgb24-ref.png              |  Bin 130 -> 0 bytes
37980  test/gradient-alpha-ps3-argb32-ref.png             |  Bin 134 -> 0 bytes
37981  test/gradient-alpha-ps3-rgb24-ref.png              |  Bin 130 -> 0 bytes
37982  test/gradient-alpha-ref.png                        |  Bin 147 -> 0 bytes
37983  test/gradient-alpha-rgb24-ref.png                  |  Bin 142 -> 0 bytes
37984  test/gradient-alpha.pdf.argb32.ref.png             |  Bin 0 -> 126 bytes
37985  test/gradient-alpha.pdf.rgb24.ref.png              |  Bin 0 -> 121 bytes
37986  test/gradient-alpha.ps2.argb32.ref.png             |  Bin 0 -> 134 bytes
37987  test/gradient-alpha.ps2.rgb24.ref.png              |  Bin 0 -> 130 bytes
37988  test/gradient-alpha.ps3.argb32.ref.png             |  Bin 0 -> 134 bytes
37989  test/gradient-alpha.ps3.rgb24.ref.png              |  Bin 0 -> 130 bytes
37990  test/gradient-alpha.ref.png                        |  Bin 0 -> 147 bytes
37991  test/gradient-alpha.rgb24.ref.png                  |  Bin 0 -> 142 bytes
37992  test/gradient-constant-alpha-pdf-argb32-ref.png    |  Bin 116 -> 0 bytes
37993  test/gradient-constant-alpha-pdf-rgb24-ref.png     |  Bin 115 -> 0 bytes
37994  test/gradient-constant-alpha-ps3-ref.png           |  Bin 124 -> 0 bytes
37995  test/gradient-constant-alpha-ps3-rgb24-ref.png     |  Bin 124 -> 0 bytes
37996  test/gradient-constant-alpha-ref.png               |  Bin 117 -> 0 bytes
37997  test/gradient-constant-alpha-rgb24-ref.png         |  Bin 116 -> 0 bytes
37998  test/gradient-constant-alpha.pdf.argb32.ref.png    |  Bin 0 -> 116 bytes
37999  test/gradient-constant-alpha.pdf.rgb24.ref.png     |  Bin 0 -> 115 bytes
38000  test/gradient-constant-alpha.ps3.ref.png           |  Bin 0 -> 124 bytes
38001  test/gradient-constant-alpha.ps3.rgb24.ref.png     |  Bin 0 -> 124 bytes
38002  test/gradient-constant-alpha.ref.png               |  Bin 0 -> 117 bytes
38003  test/gradient-constant-alpha.rgb24.ref.png         |  Bin 0 -> 116 bytes
38004  test/gradient-zero-stops-ref.png                   |  Bin 105 -> 0 bytes
38005  test/gradient-zero-stops-rgb24-ref.png             |  Bin 105 -> 0 bytes
38006  test/gradient-zero-stops.ref.png                   |  Bin 0 -> 105 bytes
38007  test/gradient-zero-stops.rgb24.ref.png             |  Bin 0 -> 105 bytes
38008  test/group-paint-ref.png                           |  Bin 118 -> 0 bytes
38009  test/group-paint.ref.png                           |  Bin 0 -> 118 bytes
38010  test/huge-pattern-pdf-ref.png                      |  Bin 2716 -> 0 bytes
38011  test/huge-pattern-pdf-rgb24-ref.png                |  Bin 2817 -> 0 bytes
38012  test/huge-pattern-ps3-ref.png                      |  Bin 1786 -> 0 bytes
38013  test/huge-pattern-ref.png                          |  Bin 1619 -> 0 bytes
38014  test/huge-pattern.pdf.ref.png                      |  Bin 0 -> 2716 bytes
38015  test/huge-pattern.pdf.rgb24.ref.png                |  Bin 0 -> 2817 bytes
38016  test/huge-pattern.ps3.ref.png                      |  Bin 0 -> 1786 bytes
38017  test/huge-pattern.ref.png                          |  Bin 0 -> 1619 bytes
38018  test/image-surface-source-ps2-ref.png              |  Bin 376 -> 0 bytes
38019  test/image-surface-source-ps3-ref.png              |  Bin 376 -> 0 bytes
38020  test/image-surface-source-ref.png                  |  Bin 332 -> 0 bytes
38021  test/image-surface-source.ps2.ref.png              |  Bin 0 -> 376 bytes
38022  test/image-surface-source.ps3.ref.png              |  Bin 0 -> 376 bytes
38023  test/image-surface-source.ref.png                  |  Bin 0 -> 332 bytes
38024  test/infinite-join-ps2-ref.png                     |  Bin 218 -> 0 bytes
38025  test/infinite-join-ps3-ref.png                     |  Bin 218 -> 0 bytes
38026  test/infinite-join-ref.png                         |  Bin 194 -> 0 bytes
38027  test/infinite-join.ps2.ref.png                     |  Bin 0 -> 218 bytes
38028  test/infinite-join.ps3.ref.png                     |  Bin 0 -> 218 bytes
38029  test/infinite-join.ref.png                         |  Bin 0 -> 194 bytes
38030  test/large-clip-ref.png                            |  Bin 350 -> 0 bytes
38031  test/large-clip.ref.png                            |  Bin 0 -> 350 bytes
38032  test/large-font-ref.png                            |  Bin 6936 -> 0 bytes
38033  test/large-font.ref.png                            |  Bin 0 -> 6936 bytes
38034  test/large-source-ref.png                          |  Bin 137 -> 0 bytes
38035  test/large-source.ref.png                          |  Bin 0 -> 137 bytes
38036  test/leaky-dash-ps2-argb32-ref.png                 |  Bin 286 -> 0 bytes
38037  test/leaky-dash-ps2-rgb24-ref.png                  |  Bin 284 -> 0 bytes
38038  test/leaky-dash-ps3-argb32-ref.png                 |  Bin 286 -> 0 bytes
38039  test/leaky-dash-ps3-rgb24-ref.png                  |  Bin 284 -> 0 bytes
38040  test/leaky-dash-quartz-ref.png                     |  Bin 241 -> 0 bytes
38041  test/leaky-dash-ref.png                            |  Bin 243 -> 0 bytes
38042  test/leaky-dash.ps2.argb32.ref.png                 |  Bin 0 -> 286 bytes
38043  test/leaky-dash.ps2.rgb24.ref.png                  |  Bin 0 -> 284 bytes
38044  test/leaky-dash.ps3.argb32.ref.png                 |  Bin 0 -> 286 bytes
38045  test/leaky-dash.ps3.rgb24.ref.png                  |  Bin 0 -> 284 bytes
38046  test/leaky-dash.quartz.ref.png                     |  Bin 0 -> 241 bytes
38047  test/leaky-dash.ref.png                            |  Bin 0 -> 243 bytes
38048  test/leaky-dashed-rectangle-ps2-ref.png            |  Bin 444 -> 0 bytes
38049  test/leaky-dashed-rectangle-ps3-ref.png            |  Bin 444 -> 0 bytes
38050  test/leaky-dashed-rectangle-ref.png                |  Bin 366 -> 0 bytes
38051  test/leaky-dashed-rectangle.ps2.ref.png            |  Bin 0 -> 444 bytes
38052  test/leaky-dashed-rectangle.ps3.ref.png            |  Bin 0 -> 444 bytes
38053  test/leaky-dashed-rectangle.ref.png                |  Bin 0 -> 366 bytes
38054  test/leaky-dashed-stroke-ps2-ref.png               |  Bin 5511 -> 0 bytes
38055  test/leaky-dashed-stroke-ps3-ref.png               |  Bin 5511 -> 0 bytes
38056  test/leaky-dashed-stroke-ref.png                   |  Bin 9214 -> 0 bytes
38057  test/leaky-dashed-stroke.ps2.ref.png               |  Bin 0 -> 5511 bytes
38058  test/leaky-dashed-stroke.ps3.ref.png               |  Bin 0 -> 5511 bytes
38059  test/leaky-dashed-stroke.ref.png                   |  Bin 0 -> 9214 bytes
38060  test/leaky-polygon-ps2-ref.png                     |  Bin 354 -> 0 bytes
38061  test/leaky-polygon-ps3-ref.png                     |  Bin 354 -> 0 bytes
38062  test/leaky-polygon-ref.png                         |  Bin 368 -> 0 bytes
38063  test/leaky-polygon.ps2.ref.png                     |  Bin 0 -> 354 bytes
38064  test/leaky-polygon.ps3.ref.png                     |  Bin 0 -> 354 bytes
38065  test/leaky-polygon.ref.png                         |  Bin 0 -> 368 bytes
38066  test/line-width-ref.png                            |  Bin 201 -> 0 bytes
38067  test/line-width-scale-ps2-ref.png                  |  Bin 3911 -> 0 bytes
38068  test/line-width-scale-ps3-ref.png                  |  Bin 3911 -> 0 bytes
38069  test/line-width-scale-quartz-ref.png               |  Bin 6434 -> 0 bytes
38070  test/line-width-scale-ref.png                      |  Bin 6445 -> 0 bytes
38071  test/line-width-scale.ps2.ref.png                  |  Bin 0 -> 3911 bytes
38072  test/line-width-scale.ps3.ref.png                  |  Bin 0 -> 3911 bytes
38073  test/line-width-scale.quartz.ref.png               |  Bin 0 -> 6434 bytes
38074  test/line-width-scale.ref.png                      |  Bin 0 -> 6445 bytes
38075  test/line-width.ref.png                            |  Bin 0 -> 201 bytes
38076  test/linear-gradient-pdf-ref.png                   |  Bin 935 -> 0 bytes
38077  test/linear-gradient-ps3-ref.png                   |  Bin 779 -> 0 bytes
38078  test/linear-gradient-quartz-ref.png                |  Bin 1164 -> 0 bytes
38079  test/linear-gradient-ref.png                       |  Bin 1021 -> 0 bytes
38080  test/linear-gradient-reflect-pdf-argb32-ref.png    |  Bin 248 -> 0 bytes
38081  test/linear-gradient-reflect-pdf-rgb24-ref.png     |  Bin 248 -> 0 bytes
38082  test/linear-gradient-reflect-ps3-ref.png           |  Bin 314 -> 0 bytes
38083  test/linear-gradient-reflect-quartz-ref.png        |  Bin 878 -> 0 bytes
38084  test/linear-gradient-reflect-ref.png               |  Bin 216 -> 0 bytes
38085  test/linear-gradient-reflect.pdf.argb32.ref.png    |  Bin 0 -> 248 bytes
38086  test/linear-gradient-reflect.pdf.rgb24.ref.png     |  Bin 0 -> 248 bytes
38087  test/linear-gradient-reflect.ps3.ref.png           |  Bin 0 -> 314 bytes
38088  test/linear-gradient-reflect.quartz.ref.png        |  Bin 0 -> 878 bytes
38089  test/linear-gradient-reflect.ref.png               |  Bin 0 -> 216 bytes
38090  test/linear-gradient-svg11-ref.png                 |  Bin 1000 -> 0 bytes
38091  test/linear-gradient-svg12-ref.png                 |  Bin 1000 -> 0 bytes
38092  test/linear-gradient.pdf.ref.png                   |  Bin 0 -> 935 bytes
38093  test/linear-gradient.ps3.ref.png                   |  Bin 0 -> 779 bytes
38094  test/linear-gradient.quartz.ref.png                |  Bin 0 -> 1164 bytes
38095  test/linear-gradient.ref.png                       |  Bin 0 -> 1021 bytes
38096  test/linear-gradient.svg11.ref.png                 |  Bin 0 -> 1000 bytes
38097  test/linear-gradient.svg12.ref.png                 |  Bin 0 -> 1000 bytes
38098  test/long-dashed-lines-ps2-ref.png                 |  Bin 1516 -> 0 bytes
38099  test/long-dashed-lines-ps3-ref.png                 |  Bin 1516 -> 0 bytes
38100  test/long-dashed-lines-quartz-ref.png              |  Bin 2313 -> 0 bytes
38101  test/long-dashed-lines-ref.png                     |  Bin 2116 -> 0 bytes
38102  test/long-dashed-lines.ps2.ref.png                 |  Bin 0 -> 1516 bytes
38103  test/long-dashed-lines.ps3.ref.png                 |  Bin 0 -> 1516 bytes
38104  test/long-dashed-lines.quartz.ref.png              |  Bin 0 -> 2313 bytes
38105  test/long-dashed-lines.ref.png                     |  Bin 0 -> 2116 bytes
38106  test/long-lines-ref.png                            |  Bin 247 -> 0 bytes
38107  test/long-lines.ref.png                            |  Bin 0 -> 247 bytes
38108  test/mask-alpha-quartz-argb32-ref.png              |  Bin 641 -> 0 bytes
38109  test/mask-alpha-ref.png                            |  Bin 640 -> 0 bytes
38110  test/mask-alpha-rgb24-ref.png                      |  Bin 599 -> 0 bytes
38111  test/mask-alpha-svg11-argb32-ref.png               |  Bin 615 -> 0 bytes
38112  test/mask-alpha-svg12-argb32-ref.png               |  Bin 615 -> 0 bytes
38113  test/mask-alpha.quartz.argb32.ref.png              |  Bin 0 -> 641 bytes
38114  test/mask-alpha.ref.png                            |  Bin 0 -> 640 bytes
38115  test/mask-alpha.rgb24.ref.png                      |  Bin 0 -> 599 bytes
38116  test/mask-alpha.svg11.argb32.ref.png               |  Bin 0 -> 615 bytes
38117  test/mask-alpha.svg12.argb32.ref.png               |  Bin 0 -> 615 bytes
38118  test/mask-ctm-ref.png                              |  Bin 129 -> 0 bytes
38119  test/mask-ctm-rgb24-ref.png                        |  Bin 124 -> 0 bytes
38120  test/mask-ctm-svg11-argb32-ref.png                 |  Bin 108 -> 0 bytes
38121  test/mask-ctm-svg12-argb32-ref.png                 |  Bin 108 -> 0 bytes
38122  test/mask-ctm.ref.png                              |  Bin 0 -> 129 bytes
38123  test/mask-ctm.rgb24.ref.png                        |  Bin 0 -> 124 bytes
38124  test/mask-ctm.svg11.argb32.ref.png                 |  Bin 0 -> 108 bytes
38125  test/mask-ctm.svg12.argb32.ref.png                 |  Bin 0 -> 108 bytes
38126  test/mask-pdf-argb32-ref.png                       |  Bin 8881 -> 0 bytes
38127  test/mask-pdf-rgb24-ref.png                        |  Bin 8267 -> 0 bytes
38128  test/mask-quartz-ref.png                           |  Bin 10682 -> 0 bytes
38129  test/mask-quartz-rgb24-ref.png                     |  Bin 8418 -> 0 bytes
38130  test/mask-ref.png                                  |  Bin 8476 -> 0 bytes
38131  test/mask-rgb24-ref.png                            |  Bin 7041 -> 0 bytes
38132  test/mask-surface-ctm-ref.png                      |  Bin 129 -> 0 bytes
38133  test/mask-surface-ctm-rgb24-ref.png                |  Bin 124 -> 0 bytes
38134  test/mask-surface-ctm-svg11-argb32-ref.png         |  Bin 108 -> 0 bytes
38135  test/mask-surface-ctm-svg12-argb32-ref.png         |  Bin 108 -> 0 bytes
38136  test/mask-surface-ctm.ref.png                      |  Bin 0 -> 129 bytes
38137  test/mask-surface-ctm.rgb24.ref.png                |  Bin 0 -> 124 bytes
38138  test/mask-surface-ctm.svg11.argb32.ref.png         |  Bin 0 -> 108 bytes
38139  test/mask-surface-ctm.svg12.argb32.ref.png         |  Bin 0 -> 108 bytes
38140  test/mask-svg11-argb32-ref.png                     |  Bin 8527 -> 0 bytes
38141  test/mask-svg11-rgb24-ref.png                      |  Bin 7935 -> 0 bytes
38142  test/mask-svg12-argb32-ref.png                     |  Bin 8527 -> 0 bytes
38143  test/mask-svg12-rgb24-ref.png                      |  Bin 7935 -> 0 bytes
38144  test/mask-transformed-image-ref.png                |  Bin 4516 -> 0 bytes
38145  test/mask-transformed-image.ref.png                |  Bin 0 -> 4516 bytes
38146  test/mask-transformed-similar-pdf-ref.png          |  Bin 4213 -> 0 bytes
38147  test/mask-transformed-similar-ref.png              |  Bin 4516 -> 0 bytes
38148  test/mask-transformed-similar-svg11-ref.png        |  Bin 4051 -> 0 bytes
38149  test/mask-transformed-similar-svg12-ref.png        |  Bin 4051 -> 0 bytes
38150  test/mask-transformed-similar.pdf.ref.png          |  Bin 0 -> 4213 bytes
38151  test/mask-transformed-similar.ref.png              |  Bin 0 -> 4516 bytes
38152  test/mask-transformed-similar.svg11.ref.png        |  Bin 0 -> 4051 bytes
38153  test/mask-transformed-similar.svg12.ref.png        |  Bin 0 -> 4051 bytes
38154  test/mask.pdf.argb32.ref.png                       |  Bin 0 -> 8881 bytes
38155  test/mask.pdf.rgb24.ref.png                        |  Bin 0 -> 8267 bytes
38156  test/mask.quartz.ref.png                           |  Bin 0 -> 10682 bytes
38157  test/mask.quartz.rgb24.ref.png                     |  Bin 0 -> 8418 bytes
38158  test/mask.ref.png                                  |  Bin 0 -> 8476 bytes
38159  test/mask.rgb24.ref.png                            |  Bin 0 -> 7041 bytes
38160  test/mask.svg11.argb32.ref.png                     |  Bin 0 -> 8527 bytes
38161  test/mask.svg11.rgb24.ref.png                      |  Bin 0 -> 7935 bytes
38162  test/mask.svg12.argb32.ref.png                     |  Bin 0 -> 8527 bytes
38163  test/mask.svg12.rgb24.ref.png                      |  Bin 0 -> 7935 bytes
38164  test/meta-surface-pattern-pdf-ref.png              |  Bin 4111 -> 0 bytes
38165  test/meta-surface-pattern-pdf-rgb24-ref.png        |  Bin 4009 -> 0 bytes
38166  test/meta-surface-pattern-ps2-argb32-ref.png       |  Bin 3257 -> 0 bytes
38167  test/meta-surface-pattern-ps2-rgb24-ref.png        |  Bin 3873 -> 0 bytes
38168  test/meta-surface-pattern-ps3-argb32-ref.png       |  Bin 3257 -> 0 bytes
38169  test/meta-surface-pattern-ps3-rgb24-ref.png        |  Bin 3873 -> 0 bytes
38170  test/meta-surface-pattern-quartz-ref.png           |  Bin 4572 -> 0 bytes
38171  test/meta-surface-pattern-quartz-rgb24-ref.png     |  Bin 4063 -> 0 bytes
38172  test/meta-surface-pattern-ref.png                  |  Bin 3072 -> 0 bytes
38173  test/meta-surface-pattern-rgb24-ref.png            |  Bin 3162 -> 0 bytes
38174  test/meta-surface-pattern-svg11-argb32-ref.png     |  Bin 3924 -> 0 bytes
38175  test/meta-surface-pattern-svg11-rgb24-ref.png      |  Bin 4593 -> 0 bytes
38176  test/meta-surface-pattern-svg12-argb32-ref.png     |  Bin 3924 -> 0 bytes
38177  test/meta-surface-pattern-svg12-rgb24-ref.png      |  Bin 4593 -> 0 bytes
38178  test/meta-surface-pattern.pdf.ref.png              |  Bin 0 -> 4111 bytes
38179  test/meta-surface-pattern.pdf.rgb24.ref.png        |  Bin 0 -> 4009 bytes
38180  test/meta-surface-pattern.ps2.argb32.ref.png       |  Bin 0 -> 3257 bytes
38181  test/meta-surface-pattern.ps2.rgb24.ref.png        |  Bin 0 -> 3873 bytes
38182  test/meta-surface-pattern.ps3.argb32.ref.png       |  Bin 0 -> 3257 bytes
38183  test/meta-surface-pattern.ps3.rgb24.ref.png        |  Bin 0 -> 3873 bytes
38184  test/meta-surface-pattern.quartz.ref.png           |  Bin 0 -> 4572 bytes
38185  test/meta-surface-pattern.quartz.rgb24.ref.png     |  Bin 0 -> 4063 bytes
38186  test/meta-surface-pattern.ref.png                  |  Bin 0 -> 3072 bytes
38187  test/meta-surface-pattern.rgb24.ref.png            |  Bin 0 -> 3162 bytes
38188  test/meta-surface-pattern.svg11.argb32.ref.png     |  Bin 0 -> 3924 bytes
38189  test/meta-surface-pattern.svg11.rgb24.ref.png      |  Bin 0 -> 4593 bytes
38190  test/meta-surface-pattern.svg12.argb32.ref.png     |  Bin 0 -> 3924 bytes
38191  test/meta-surface-pattern.svg12.rgb24.ref.png      |  Bin 0 -> 4593 bytes
38192  test/miter-precision-ps2-ref.png                   |  Bin 865 -> 0 bytes
38193  test/miter-precision-ps3-ref.png                   |  Bin 865 -> 0 bytes
38194  test/miter-precision-ref.png                       |  Bin 931 -> 0 bytes
38195  test/miter-precision.ps2.ref.png                   |  Bin 0 -> 865 bytes
38196  test/miter-precision.ps3.ref.png                   |  Bin 0 -> 865 bytes
38197  test/miter-precision.ref.png                       |  Bin 0 -> 931 bytes
38198  test/move-to-show-surface-ref.png                  |  Bin 100 -> 0 bytes
38199  test/move-to-show-surface.ref.png                  |  Bin 0 -> 100 bytes
38200  test/multi-page.c                                  |    4 +-
38201  test/new-sub-path-ps2-argb32-ref.png               |  Bin 556 -> 0 bytes
38202  test/new-sub-path-ps2-rgb24-ref.png                |  Bin 423 -> 0 bytes
38203  test/new-sub-path-ps3-argb32-ref.png               |  Bin 556 -> 0 bytes
38204  test/new-sub-path-ps3-rgb24-ref.png                |  Bin 423 -> 0 bytes
38205  test/new-sub-path-quartz-ref.png                   |  Bin 383 -> 0 bytes
38206  test/new-sub-path-quartz-rgb24-ref.png             |  Bin 357 -> 0 bytes
38207  test/new-sub-path-ref.png                          |  Bin 386 -> 0 bytes
38208  test/new-sub-path-rgb24-ref.png                    |  Bin 355 -> 0 bytes
38209  test/new-sub-path.ps2.argb32.ref.png               |  Bin 0 -> 556 bytes
38210  test/new-sub-path.ps2.rgb24.ref.png                |  Bin 0 -> 423 bytes
38211  test/new-sub-path.ps3.argb32.ref.png               |  Bin 0 -> 556 bytes
38212  test/new-sub-path.ps3.rgb24.ref.png                |  Bin 0 -> 423 bytes
38213  test/new-sub-path.quartz.ref.png                   |  Bin 0 -> 383 bytes
38214  test/new-sub-path.quartz.rgb24.ref.png             |  Bin 0 -> 357 bytes
38215  test/new-sub-path.ref.png                          |  Bin 0 -> 386 bytes
38216  test/new-sub-path.rgb24.ref.png                    |  Bin 0 -> 355 bytes
38217  test/nil-surface-ref.png                           |  Bin 107 -> 0 bytes
38218  test/nil-surface-rgb24-ref.png                     |  Bin 106 -> 0 bytes
38219  test/nil-surface.ref.png                           |  Bin 0 -> 107 bytes
38220  test/nil-surface.rgb24.ref.png                     |  Bin 0 -> 106 bytes
38221  test/operator-alpha-ref.png                        |  Bin 280 -> 0 bytes
38222  test/operator-alpha-rgb24-ref.png                  |  Bin 229 -> 0 bytes
38223  test/operator-alpha.ref.png                        |  Bin 0 -> 280 bytes
38224  test/operator-alpha.rgb24.ref.png                  |  Bin 0 -> 229 bytes
38225  test/operator-clear-pdf-argb32-ref.png             |  Bin 1614 -> 0 bytes
38226  test/operator-clear-pdf-rgb24-ref.png              |  Bin 1402 -> 0 bytes
38227  test/operator-clear-quartz-ref.png                 |  Bin 1459 -> 0 bytes
38228  test/operator-clear-quartz-rgb24-ref.png           |  Bin 1293 -> 0 bytes
38229  test/operator-clear-ref.png                        |  Bin 1084 -> 0 bytes
38230  test/operator-clear-rgb24-ref.png                  |  Bin 965 -> 0 bytes
38231  test/operator-clear.pdf.argb32.ref.png             |  Bin 0 -> 1614 bytes
38232  test/operator-clear.pdf.rgb24.ref.png              |  Bin 0 -> 1402 bytes
38233  test/operator-clear.quartz.ref.png                 |  Bin 0 -> 1459 bytes
38234  test/operator-clear.quartz.rgb24.ref.png           |  Bin 0 -> 1293 bytes
38235  test/operator-clear.ref.png                        |  Bin 0 -> 1084 bytes
38236  test/operator-clear.rgb24.ref.png                  |  Bin 0 -> 965 bytes
38237  test/operator-ref.png                              |  Bin 238 -> 0 bytes
38238  test/operator-rgb24-ref.png                        |  Bin 217 -> 0 bytes
38239  test/operator-source-pdf-argb32-ref.png            |  Bin 5149 -> 0 bytes
38240  test/operator-source-pdf-rgb24-ref.png             |  Bin 4354 -> 0 bytes
38241  test/operator-source-quartz-ref.png                |  Bin 4637 -> 0 bytes
38242  test/operator-source-quartz-rgb24-ref.png          |  Bin 3533 -> 0 bytes
38243  test/operator-source-ref.png                       |  Bin 4420 -> 0 bytes
38244  test/operator-source-rgb24-ref.png                 |  Bin 3201 -> 0 bytes
38245  test/operator-source.pdf.argb32.ref.png            |  Bin 0 -> 5149 bytes
38246  test/operator-source.pdf.rgb24.ref.png             |  Bin 0 -> 4354 bytes
38247  test/operator-source.quartz.ref.png                |  Bin 0 -> 4637 bytes
38248  test/operator-source.quartz.rgb24.ref.png          |  Bin 0 -> 3533 bytes
38249  test/operator-source.ref.png                       |  Bin 0 -> 4420 bytes
38250  test/operator-source.rgb24.ref.png                 |  Bin 0 -> 3201 bytes
38251  test/operator.ref.png                              |  Bin 0 -> 238 bytes
38252  test/operator.rgb24.ref.png                        |  Bin 0 -> 217 bytes
38253  test/over-above-source-ps2-argb32-ref.png          |  Bin 636 -> 0 bytes
38254  test/over-above-source-ps3-argb32-ref.png          |  Bin 636 -> 0 bytes
38255  test/over-above-source-quartz-ref.png              |  Bin 530 -> 0 bytes
38256  test/over-above-source-quartz-rgb24-ref.png        |  Bin 456 -> 0 bytes
38257  test/over-above-source-ref.png                     |  Bin 538 -> 0 bytes
38258  test/over-above-source-rgb24-ref.png               |  Bin 461 -> 0 bytes
38259  test/over-above-source.ps2.argb32.ref.png          |  Bin 0 -> 636 bytes
38260  test/over-above-source.ps3.argb32.ref.png          |  Bin 0 -> 636 bytes
38261  test/over-above-source.quartz.ref.png              |  Bin 0 -> 530 bytes
38262  test/over-above-source.quartz.rgb24.ref.png        |  Bin 0 -> 456 bytes
38263  test/over-above-source.ref.png                     |  Bin 0 -> 538 bytes
38264  test/over-above-source.rgb24.ref.png               |  Bin 0 -> 461 bytes
38265  test/over-around-source-ps2-argb32-ref.png         |  Bin 632 -> 0 bytes
38266  test/over-around-source-ps2-rgb24-ref.png          |  Bin 538 -> 0 bytes
38267  test/over-around-source-ps3-argb32-ref.png         |  Bin 632 -> 0 bytes
38268  test/over-around-source-ps3-rgb24-ref.png          |  Bin 538 -> 0 bytes
38269  test/over-around-source-quartz-ref.png             |  Bin 612 -> 0 bytes
38270  test/over-around-source-quartz-rgb24-ref.png       |  Bin 491 -> 0 bytes
38271  test/over-around-source-ref.png                    |  Bin 614 -> 0 bytes
38272  test/over-around-source-rgb24-ref.png              |  Bin 503 -> 0 bytes
38273  test/over-around-source.ps2.argb32.ref.png         |  Bin 0 -> 632 bytes
38274  test/over-around-source.ps2.rgb24.ref.png          |  Bin 0 -> 538 bytes
38275  test/over-around-source.ps3.argb32.ref.png         |  Bin 0 -> 632 bytes
38276  test/over-around-source.ps3.rgb24.ref.png          |  Bin 0 -> 538 bytes
38277  test/over-around-source.quartz.ref.png             |  Bin 0 -> 612 bytes
38278  test/over-around-source.quartz.rgb24.ref.png       |  Bin 0 -> 491 bytes
38279  test/over-around-source.ref.png                    |  Bin 0 -> 614 bytes
38280  test/over-around-source.rgb24.ref.png              |  Bin 0 -> 503 bytes
38281  test/over-below-source-ps2-argb32-ref.png          |  Bin 503 -> 0 bytes
38282  test/over-below-source-ps3-argb32-ref.png          |  Bin 503 -> 0 bytes
38283  test/over-below-source-ref.png                     |  Bin 434 -> 0 bytes
38284  test/over-below-source-rgb24-ref.png               |  Bin 392 -> 0 bytes
38285  test/over-below-source.ps2.argb32.ref.png          |  Bin 0 -> 503 bytes
38286  test/over-below-source.ps3.argb32.ref.png          |  Bin 0 -> 503 bytes
38287  test/over-below-source.ref.png                     |  Bin 0 -> 434 bytes
38288  test/over-below-source.rgb24.ref.png               |  Bin 0 -> 392 bytes
38289  test/over-between-source-ps2-argb32-ref.png        |  Bin 678 -> 0 bytes
38290  test/over-between-source-ps3-argb32-ref.png        |  Bin 678 -> 0 bytes
38291  test/over-between-source-quartz-ref.png            |  Bin 570 -> 0 bytes
38292  test/over-between-source-quartz-rgb24-ref.png      |  Bin 467 -> 0 bytes
38293  test/over-between-source-ref.png                   |  Bin 575 -> 0 bytes
38294  test/over-between-source-rgb24-ref.png             |  Bin 473 -> 0 bytes
38295  test/over-between-source.ps2.argb32.ref.png        |  Bin 0 -> 678 bytes
38296  test/over-between-source.ps3.argb32.ref.png        |  Bin 0 -> 678 bytes
38297  test/over-between-source.quartz.ref.png            |  Bin 0 -> 570 bytes
38298  test/over-between-source.quartz.rgb24.ref.png      |  Bin 0 -> 467 bytes
38299  test/over-between-source.ref.png                   |  Bin 0 -> 575 bytes
38300  test/over-between-source.rgb24.ref.png             |  Bin 0 -> 473 bytes
38301  test/paint-ref.png                                 |  Bin 116 -> 0 bytes
38302  test/paint-repeat-ref.png                          |  Bin 145 -> 0 bytes
38303  test/paint-repeat.ref.png                          |  Bin 0 -> 145 bytes
38304  test/paint-source-alpha-pdf-argb32-ref.png         |  Bin 471 -> 0 bytes
38305  test/paint-source-alpha-pdf-ref.png                |  Bin 473 -> 0 bytes
38306  test/paint-source-alpha-ref.png                    |  Bin 256 -> 0 bytes
38307  test/paint-source-alpha-svg11-ref.png              |  Bin 756 -> 0 bytes
38308  test/paint-source-alpha-svg12-ref.png              |  Bin 505 -> 0 bytes
38309  test/paint-source-alpha.pdf.argb32.ref.png         |  Bin 0 -> 471 bytes
38310  test/paint-source-alpha.pdf.ref.png                |  Bin 0 -> 473 bytes
38311  test/paint-source-alpha.ref.png                    |  Bin 0 -> 256 bytes
38312  test/paint-source-alpha.svg11.ref.png              |  Bin 0 -> 756 bytes
38313  test/paint-source-alpha.svg12.ref.png              |  Bin 0 -> 505 bytes
38314  test/paint-with-alpha-pdf-ref.png                  |  Bin 466 -> 0 bytes
38315  test/paint-with-alpha-ref.png                      |  Bin 256 -> 0 bytes
38316  test/paint-with-alpha-svg11-ref.png                |  Bin 516 -> 0 bytes
38317  test/paint-with-alpha-svg12-ref.png                |  Bin 516 -> 0 bytes
38318  test/paint-with-alpha.pdf.ref.png                  |  Bin 0 -> 466 bytes
38319  test/paint-with-alpha.ref.png                      |  Bin 0 -> 256 bytes
38320  test/paint-with-alpha.svg11.ref.png                |  Bin 0 -> 516 bytes
38321  test/paint-with-alpha.svg12.ref.png                |  Bin 0 -> 516 bytes
38322  test/paint.ref.png                                 |  Bin 0 -> 116 bytes
38323  test/pass-through-ref.png                          |  Bin 221 -> 0 bytes
38324  test/pass-through-rgb24-ref.png                    |  Bin 179 -> 0 bytes
38325  test/pass-through.ref.png                          |  Bin 0 -> 221 bytes
38326  test/pass-through.rgb24.ref.png                    |  Bin 0 -> 179 bytes
38327  test/pattern-getters-ref.png                       |  Bin 107 -> 0 bytes
38328  test/pattern-getters.ref.png                       |  Bin 0 -> 107 bytes
38329  test/pdf-features.c                                |    2 +-
38330  test/pdf-surface-source-ref.png                    |  Bin 268 -> 0 bytes
38331  test/pdf-surface-source.c                          |    2 +-
38332  test/pdf-surface-source.ref.png                    |  Bin 0 -> 268 bytes
38333  test/pixman-rotate-ref.png                         |  Bin 260 -> 0 bytes
38334  test/pixman-rotate-rgb24-ref.png                   |  Bin 244 -> 0 bytes
38335  test/pixman-rotate.ref.png                         |  Bin 0 -> 260 bytes
38336  test/pixman-rotate.rgb24.ref.png                   |  Bin 0 -> 244 bytes
38337  test/png.c                                         |    2 +-
38338  test/ps-features.c                                 |    2 +-
38339  test/ps-surface-source-ref.png                     |  Bin 268 -> 0 bytes
38340  test/ps-surface-source.c                           |    2 +-
38341  test/ps-surface-source.ref.png                     |  Bin 0 -> 268 bytes
38342  test/push-group-pdf-ref.png                        |  Bin 2807 -> 0 bytes
38343  test/push-group-pdf-rgb24-ref.png                  |  Bin 2714 -> 0 bytes
38344  test/push-group-ref.png                            |  Bin 3126 -> 0 bytes
38345  test/push-group-rgb24-ref.png                      |  Bin 2961 -> 0 bytes
38346  test/push-group-svg11-argb32-ref.png               |  Bin 2935 -> 0 bytes
38347  test/push-group-svg12-argb32-ref.png               |  Bin 2935 -> 0 bytes
38348  test/push-group.pdf.ref.png                        |  Bin 0 -> 2807 bytes
38349  test/push-group.pdf.rgb24.ref.png                  |  Bin 0 -> 2714 bytes
38350  test/push-group.ref.png                            |  Bin 0 -> 3126 bytes
38351  test/push-group.rgb24.ref.png                      |  Bin 0 -> 2961 bytes
38352  test/push-group.svg11.argb32.ref.png               |  Bin 0 -> 2935 bytes
38353  test/push-group.svg12.argb32.ref.png               |  Bin 0 -> 2935 bytes
38354  test/radial-gradient-pdf-ref.png                   |  Bin 79490 -> 0 bytes
38355  test/radial-gradient-quartz-ref.png                |  Bin 92334 -> 0 bytes
38356  test/radial-gradient-ref.png                       |  Bin 91159 -> 0 bytes
38357  test/radial-gradient-svg11-ref.png                 |  Bin 91039 -> 0 bytes
38358  test/radial-gradient-svg12-ref.png                 |  Bin 91039 -> 0 bytes
38359  test/radial-gradient.pdf.ref.png                   |  Bin 0 -> 79490 bytes
38360  test/radial-gradient.quartz.ref.png                |  Bin 0 -> 92334 bytes
38361  test/radial-gradient.ref.png                       |  Bin 0 -> 91159 bytes
38362  test/radial-gradient.svg11.ref.png                 |  Bin 0 -> 91039 bytes
38363  test/radial-gradient.svg12.ref.png                 |  Bin 0 -> 91039 bytes
38364  test/random-intersections-ps2-ref.png              |  Bin 89253 -> 0 bytes
38365  test/random-intersections-ps3-ref.png              |  Bin 89253 -> 0 bytes
38366  test/random-intersections-quartz-ref.png           |  Bin 197778 -> 0 bytes
38367  test/random-intersections-ref.png                  |  Bin 148722 -> 0 bytes
38368  test/random-intersections.ps2.ref.png              |  Bin 0 -> 89253 bytes
38369  test/random-intersections.ps3.ref.png              |  Bin 0 -> 89253 bytes
38370  test/random-intersections.quartz.ref.png           |  Bin 0 -> 197778 bytes
38371  test/random-intersections.ref.png                  |  Bin 0 -> 148722 bytes
38372  test/rectangle-rounding-error-ref.png              |  Bin 231 -> 0 bytes
38373  test/rectangle-rounding-error.ref.png              |  Bin 0 -> 231 bytes
38374  test/rectilinear-fill-ref.png                      |  Bin 162 -> 0 bytes
38375  test/rectilinear-fill.ref.png                      |  Bin 0 -> 162 bytes
38376  test/rectilinear-miter-limit-ps2-ref.png           |  Bin 221 -> 0 bytes
38377  test/rectilinear-miter-limit-ps3-ref.png           |  Bin 221 -> 0 bytes
38378  test/rectilinear-miter-limit-ref.png               |  Bin 177 -> 0 bytes
38379  test/rectilinear-miter-limit.ps2.ref.png           |  Bin 0 -> 221 bytes
38380  test/rectilinear-miter-limit.ps3.ref.png           |  Bin 0 -> 221 bytes
38381  test/rectilinear-miter-limit.ref.png               |  Bin 0 -> 177 bytes
38382  test/rectilinear-stroke-ref.png                    |  Bin 213 -> 0 bytes
38383  test/rectilinear-stroke.ref.png                    |  Bin 0 -> 213 bytes
38384  test/reflected-stroke-ps2-ref.png                  |  Bin 3898 -> 0 bytes
38385  test/reflected-stroke-ps3-ref.png                  |  Bin 3898 -> 0 bytes
38386  test/reflected-stroke-quartz-ref.png               |  Bin 5293 -> 0 bytes
38387  test/reflected-stroke-ref.png                      |  Bin 5704 -> 0 bytes
38388  test/reflected-stroke.ps2.ref.png                  |  Bin 0 -> 3898 bytes
38389  test/reflected-stroke.ps3.ref.png                  |  Bin 0 -> 3898 bytes
38390  test/reflected-stroke.quartz.ref.png               |  Bin 0 -> 5293 bytes
38391  test/reflected-stroke.ref.png                      |  Bin 0 -> 5704 bytes
38392  test/rel-path-ps2-rgb24-ref.png                    |  Bin 243 -> 0 bytes
38393  test/rel-path-ps3-rgb24-ref.png                    |  Bin 243 -> 0 bytes
38394  test/rel-path-quartz-ref.png                       |  Bin 212 -> 0 bytes
38395  test/rel-path-quartz-rgb24-ref.png                 |  Bin 228 -> 0 bytes
38396  test/rel-path-ref.png                              |  Bin 212 -> 0 bytes
38397  test/rel-path-rgb24-ref.png                        |  Bin 228 -> 0 bytes
38398  test/rel-path.ps2.rgb24.ref.png                    |  Bin 0 -> 243 bytes
38399  test/rel-path.ps3.rgb24.ref.png                    |  Bin 0 -> 243 bytes
38400  test/rel-path.quartz.ref.png                       |  Bin 0 -> 212 bytes
38401  test/rel-path.quartz.rgb24.ref.png                 |  Bin 0 -> 228 bytes
38402  test/rel-path.ref.png                              |  Bin 0 -> 212 bytes
38403  test/rel-path.rgb24.ref.png                        |  Bin 0 -> 228 bytes
38404  test/rgb24-ignore-alpha-ref.png                    |  Bin 116 -> 0 bytes
38405  test/rgb24-ignore-alpha.ref.png                    |  Bin 0 -> 116 bytes
38406  test/rotate-image-surface-paint-pdf-argb32-ref.png |  Bin 209 -> 0 bytes
38407  test/rotate-image-surface-paint-pdf-rgb24-ref.png  |  Bin 207 -> 0 bytes
38408  test/rotate-image-surface-paint-ps2-ref.png        |  Bin 212 -> 0 bytes
38409  test/rotate-image-surface-paint-ps3-ref.png        |  Bin 212 -> 0 bytes
38410  test/rotate-image-surface-paint-quartz-ref.png     |  Bin 257 -> 0 bytes
38411  test/rotate-image-surface-paint-ref.png            |  Bin 232 -> 0 bytes
38412  test/rotate-image-surface-paint-svg11-ref.png      |  Bin 248 -> 0 bytes
38413  test/rotate-image-surface-paint-svg12-ref.png      |  Bin 248 -> 0 bytes
38414  test/rotate-image-surface-paint.pdf.argb32.ref.png |  Bin 0 -> 209 bytes
38415  test/rotate-image-surface-paint.pdf.rgb24.ref.png  |  Bin 0 -> 207 bytes
38416  test/rotate-image-surface-paint.ps2.ref.png        |  Bin 0 -> 212 bytes
38417  test/rotate-image-surface-paint.ps3.ref.png        |  Bin 0 -> 212 bytes
38418  test/rotate-image-surface-paint.quartz.ref.png     |  Bin 0 -> 257 bytes
38419  test/rotate-image-surface-paint.ref.png            |  Bin 0 -> 232 bytes
38420  test/rotate-image-surface-paint.svg11.ref.png      |  Bin 0 -> 248 bytes
38421  test/rotate-image-surface-paint.svg12.ref.png      |  Bin 0 -> 248 bytes
38422  test/scale-down-source-surface-paint-ref.png       |  Bin 133 -> 0 bytes
38423  test/scale-down-source-surface-paint.ref.png       |  Bin 0 -> 133 bytes
38424  test/scale-source-surface-paint-pdf-argb32-ref.png |  Bin 182 -> 0 bytes
38425  test/scale-source-surface-paint-pdf-rgb24-ref.png  |  Bin 198 -> 0 bytes
38426  test/scale-source-surface-paint-ref.png            |  Bin 147 -> 0 bytes
38427  test/scale-source-surface-paint-rgb24-ref.png      |  Bin 136 -> 0 bytes
38428  ...scale-source-surface-paint-svg11-argb32-ref.png |  Bin 229 -> 0 bytes
38429  .../scale-source-surface-paint-svg11-rgb24-ref.png |  Bin 243 -> 0 bytes
38430  ...scale-source-surface-paint-svg12-argb32-ref.png |  Bin 229 -> 0 bytes
38431  .../scale-source-surface-paint-svg12-rgb24-ref.png |  Bin 243 -> 0 bytes
38432  test/scale-source-surface-paint.pdf.argb32.ref.png |  Bin 0 -> 182 bytes
38433  test/scale-source-surface-paint.pdf.rgb24.ref.png  |  Bin 0 -> 198 bytes
38434  test/scale-source-surface-paint.ref.png            |  Bin 0 -> 147 bytes
38435  test/scale-source-surface-paint.rgb24.ref.png      |  Bin 0 -> 136 bytes
38436  ...scale-source-surface-paint.svg11.argb32.ref.png |  Bin 0 -> 229 bytes
38437  .../scale-source-surface-paint.svg11.rgb24.ref.png |  Bin 0 -> 243 bytes
38438  ...scale-source-surface-paint.svg12.argb32.ref.png |  Bin 0 -> 229 bytes
38439  .../scale-source-surface-paint.svg12.rgb24.ref.png |  Bin 0 -> 243 bytes
38440  test/select-font-face-ps2-ref.png                  |  Bin 959 -> 0 bytes
38441  test/select-font-face-ps3-ref.png                  |  Bin 959 -> 0 bytes
38442  test/select-font-face-quartz-ref.png               |  Bin 2970 -> 0 bytes
38443  test/select-font-face-ref.png                      |  Bin 2473 -> 0 bytes
38444  test/select-font-face.ps2.ref.png                  |  Bin 0 -> 959 bytes
38445  test/select-font-face.ps3.ref.png                  |  Bin 0 -> 959 bytes
38446  test/select-font-face.quartz.ref.png               |  Bin 0 -> 2970 bytes
38447  test/select-font-face.ref.png                      |  Bin 0 -> 2473 bytes
38448  test/self-copy-overlap-ref.png                     |  Bin 1140 -> 0 bytes
38449  test/self-copy-overlap-rgb24-ref.png               |  Bin 608 -> 0 bytes
38450  test/self-copy-overlap.ref.png                     |  Bin 0 -> 1140 bytes
38451  test/self-copy-overlap.rgb24.ref.png               |  Bin 0 -> 608 bytes
38452  test/self-copy-ps2-ref.png                         |  Bin 335 -> 0 bytes
38453  test/self-copy-ps3-ref.png                         |  Bin 335 -> 0 bytes
38454  test/self-copy-ref.png                             |  Bin 291 -> 0 bytes
38455  test/self-copy.ps2.ref.png                         |  Bin 0 -> 335 bytes
38456  test/self-copy.ps3.ref.png                         |  Bin 0 -> 335 bytes
38457  test/self-copy.ref.png                             |  Bin 0 -> 291 bytes
38458  test/self-intersecting-ref.png                     |  Bin 242 -> 0 bytes
38459  test/self-intersecting-rgb24-ref.png               |  Bin 304 -> 0 bytes
38460  test/self-intersecting.ref.png                     |  Bin 0 -> 242 bytes
38461  test/self-intersecting.rgb24.ref.png               |  Bin 0 -> 304 bytes
38462  test/set-source-ref.png                            |  Bin 120 -> 0 bytes
38463  test/set-source-rgb24-ref.png                      |  Bin 120 -> 0 bytes
38464  test/set-source-svg11-argb32-ref.png               |  Bin 104 -> 0 bytes
38465  test/set-source-svg12-argb32-ref.png               |  Bin 104 -> 0 bytes
38466  test/set-source.ref.png                            |  Bin 0 -> 120 bytes
38467  test/set-source.rgb24.ref.png                      |  Bin 0 -> 120 bytes
38468  test/set-source.svg11.argb32.ref.png               |  Bin 0 -> 104 bytes
38469  test/set-source.svg12.argb32.ref.png               |  Bin 0 -> 104 bytes
38470  test/show-glyphs-many-ref.png                      |  Bin 118 -> 0 bytes
38471  test/show-glyphs-many.ref.png                      |  Bin 0 -> 118 bytes
38472  test/show-text-current-point-ps2-ref.png           |  Bin 1356 -> 0 bytes
38473  test/show-text-current-point-ps3-ref.png           |  Bin 1356 -> 0 bytes
38474  test/show-text-current-point-quartz-ref.png        |  Bin 3093 -> 0 bytes
38475  test/show-text-current-point-ref.png               |  Bin 2411 -> 0 bytes
38476  test/show-text-current-point.ps2.ref.png           |  Bin 0 -> 1356 bytes
38477  test/show-text-current-point.ps3.ref.png           |  Bin 0 -> 1356 bytes
38478  test/show-text-current-point.quartz.ref.png        |  Bin 0 -> 3093 bytes
38479  test/show-text-current-point.ref.png               |  Bin 0 -> 2411 bytes
38480  test/skew-extreme-ps2-ref.png                      |  Bin 1048 -> 0 bytes
38481  test/skew-extreme-ps3-ref.png                      |  Bin 1048 -> 0 bytes
38482  test/skew-extreme-ref.png                          |  Bin 1012 -> 0 bytes
38483  test/skew-extreme.ps2.ref.png                      |  Bin 0 -> 1048 bytes
38484  test/skew-extreme.ps3.ref.png                      |  Bin 0 -> 1048 bytes
38485  test/skew-extreme.ref.png                          |  Bin 0 -> 1012 bytes
38486  test/smask-fill-pdf-ref.png                        |  Bin 1075 -> 0 bytes
38487  test/smask-fill-ref.png                            |  Bin 1223 -> 0 bytes
38488  test/smask-fill-svg11-ref.png                      |  Bin 1166 -> 0 bytes
38489  test/smask-fill-svg12-ref.png                      |  Bin 1166 -> 0 bytes
38490  test/smask-fill.pdf.ref.png                        |  Bin 0 -> 1075 bytes
38491  test/smask-fill.ref.png                            |  Bin 0 -> 1223 bytes
38492  test/smask-fill.svg11.ref.png                      |  Bin 0 -> 1166 bytes
38493  test/smask-fill.svg12.ref.png                      |  Bin 0 -> 1166 bytes
38494  test/smask-image-mask-pdf-ref.png                  |  Bin 421 -> 0 bytes
38495  test/smask-image-mask-ref.png                      |  Bin 643 -> 0 bytes
38496  test/smask-image-mask.pdf.ref.png                  |  Bin 0 -> 421 bytes
38497  test/smask-image-mask.ref.png                      |  Bin 0 -> 643 bytes
38498  test/smask-mask-pdf-ref.png                        |  Bin 3731 -> 0 bytes
38499  test/smask-mask-ref.png                            |  Bin 2523 -> 0 bytes
38500  test/smask-mask-svg11-ref.png                      |  Bin 2529 -> 0 bytes
38501  test/smask-mask-svg12-ref.png                      |  Bin 2529 -> 0 bytes
38502  test/smask-mask.pdf.ref.png                        |  Bin 0 -> 3731 bytes
38503  test/smask-mask.ref.png                            |  Bin 0 -> 2523 bytes
38504  test/smask-mask.svg11.ref.png                      |  Bin 0 -> 2529 bytes
38505  test/smask-mask.svg12.ref.png                      |  Bin 0 -> 2529 bytes
38506  test/smask-paint-pdf-ref.png                       |  Bin 3800 -> 0 bytes
38507  test/smask-paint-ref.png                           |  Bin 2639 -> 0 bytes
38508  test/smask-paint-svg11-ref.png                     |  Bin 2612 -> 0 bytes
38509  test/smask-paint-svg12-ref.png                     |  Bin 2612 -> 0 bytes
38510  test/smask-paint.pdf.ref.png                       |  Bin 0 -> 3800 bytes
38511  test/smask-paint.ref.png                           |  Bin 0 -> 2639 bytes
38512  test/smask-paint.svg11.ref.png                     |  Bin 0 -> 2612 bytes
38513  test/smask-paint.svg12.ref.png                     |  Bin 0 -> 2612 bytes
38514  test/smask-pdf-ref.png                             |  Bin 3800 -> 0 bytes
38515  test/smask-ps2-ref.png                             |  Bin 3669 -> 0 bytes
38516  test/smask-ps3-ref.png                             |  Bin 3669 -> 0 bytes
38517  test/smask-ref.png                                 |  Bin 3587 -> 0 bytes
38518  test/smask-stroke-pdf-ref.png                      |  Bin 449 -> 0 bytes
38519  test/smask-stroke-ref.png                          |  Bin 1845 -> 0 bytes
38520  test/smask-stroke.pdf.ref.png                      |  Bin 0 -> 449 bytes
38521  test/smask-stroke.ref.png                          |  Bin 0 -> 1845 bytes
38522  test/smask-svg11-ref.png                           |  Bin 3634 -> 0 bytes
38523  test/smask-svg12-ref.png                           |  Bin 3634 -> 0 bytes
38524  test/smask-text-pdf-ref.png                        |  Bin 1806 -> 0 bytes
38525  test/smask-text-ps2-ref.png                        |  Bin 2023 -> 0 bytes
38526  test/smask-text-ps3-ref.png                        |  Bin 2023 -> 0 bytes
38527  test/smask-text-ref.png                            |  Bin 1777 -> 0 bytes
38528  test/smask-text-svg11-ref.png                      |  Bin 1886 -> 0 bytes
38529  test/smask-text-svg12-ref.png                      |  Bin 1886 -> 0 bytes
38530  test/smask-text.pdf.ref.png                        |  Bin 0 -> 1806 bytes
38531  test/smask-text.ps2.ref.png                        |  Bin 0 -> 2023 bytes
38532  test/smask-text.ps3.ref.png                        |  Bin 0 -> 2023 bytes
38533  test/smask-text.ref.png                            |  Bin 0 -> 1777 bytes
38534  test/smask-text.svg11.ref.png                      |  Bin 0 -> 1886 bytes
38535  test/smask-text.svg12.ref.png                      |  Bin 0 -> 1886 bytes
38536  test/smask.pdf.ref.png                             |  Bin 0 -> 3800 bytes
38537  test/smask.ps2.ref.png                             |  Bin 0 -> 3669 bytes
38538  test/smask.ps3.ref.png                             |  Bin 0 -> 3669 bytes
38539  test/smask.ref.png                                 |  Bin 0 -> 3587 bytes
38540  test/smask.svg11.ref.png                           |  Bin 0 -> 3634 bytes
38541  test/smask.svg12.ref.png                           |  Bin 0 -> 3634 bytes
38542  test/solid-pattern-cache-stress-ref.png            |  Bin 107 -> 0 bytes
38543  test/solid-pattern-cache-stress.ref.png            |  Bin 0 -> 107 bytes
38544  test/source-clip-ref.png                           |  Bin 133 -> 0 bytes
38545  test/source-clip-scale-pdf-ref.png                 |  Bin 113 -> 0 bytes
38546  test/source-clip-scale-ps2-argb32-ref.png          |  Bin 183 -> 0 bytes
38547  test/source-clip-scale-ps2-rgb24-ref.png           |  Bin 183 -> 0 bytes
38548  test/source-clip-scale-ps3-argb32-ref.png          |  Bin 183 -> 0 bytes
38549  test/source-clip-scale-ps3-rgb24-ref.png           |  Bin 183 -> 0 bytes
38550  test/source-clip-scale-quartz-ref.png              |  Bin 148 -> 0 bytes
38551  test/source-clip-scale-ref.png                     |  Bin 161 -> 0 bytes
38552  test/source-clip-scale-svg11-ref.png               |  Bin 119 -> 0 bytes
38553  test/source-clip-scale-svg12-ref.png               |  Bin 119 -> 0 bytes
38554  test/source-clip-scale.pdf.ref.png                 |  Bin 0 -> 113 bytes
38555  test/source-clip-scale.ps2.argb32.ref.png          |  Bin 0 -> 183 bytes
38556  test/source-clip-scale.ps2.rgb24.ref.png           |  Bin 0 -> 183 bytes
38557  test/source-clip-scale.ps3.argb32.ref.png          |  Bin 0 -> 183 bytes
38558  test/source-clip-scale.ps3.rgb24.ref.png           |  Bin 0 -> 183 bytes
38559  test/source-clip-scale.quartz.ref.png              |  Bin 0 -> 148 bytes
38560  test/source-clip-scale.ref.png                     |  Bin 0 -> 161 bytes
38561  test/source-clip-scale.svg11.ref.png               |  Bin 0 -> 119 bytes
38562  test/source-clip-scale.svg12.ref.png               |  Bin 0 -> 119 bytes
38563  test/source-clip.ref.png                           |  Bin 0 -> 133 bytes
38564  test/source-surface-scale-paint-ref.png            |  Bin 139 -> 0 bytes
38565  test/source-surface-scale-paint-rgb24-ref.png      |  Bin 133 -> 0 bytes
38566  test/source-surface-scale-paint.ref.png            |  Bin 0 -> 139 bytes
38567  test/source-surface-scale-paint.rgb24.ref.png      |  Bin 0 -> 133 bytes
38568  test/spline-decomposition-pdf-ref.png              |  Bin 20404 -> 0 bytes
38569  test/spline-decomposition-ps2-ref.png              |  Bin 8957 -> 0 bytes
38570  test/spline-decomposition-ps3-ref.png              |  Bin 8957 -> 0 bytes
38571  test/spline-decomposition-ref.png                  |  Bin 20402 -> 0 bytes
38572  test/spline-decomposition-svg11-ref.png            |  Bin 20404 -> 0 bytes
38573  test/spline-decomposition-svg12-ref.png            |  Bin 20404 -> 0 bytes
38574  test/spline-decomposition.pdf.ref.png              |  Bin 0 -> 20404 bytes
38575  test/spline-decomposition.ps2.ref.png              |  Bin 0 -> 8957 bytes
38576  test/spline-decomposition.ps3.ref.png              |  Bin 0 -> 8957 bytes
38577  test/spline-decomposition.ref.png                  |  Bin 0 -> 20402 bytes
38578  test/spline-decomposition.svg11.ref.png            |  Bin 0 -> 20404 bytes
38579  test/spline-decomposition.svg12.ref.png            |  Bin 0 -> 20404 bytes
38580  test/stroke-ctm-caps-ps2-ref.png                   |  Bin 1079 -> 0 bytes
38581  test/stroke-ctm-caps-ps3-ref.png                   |  Bin 1079 -> 0 bytes
38582  test/stroke-ctm-caps-quartz-ref.png                |  Bin 1109 -> 0 bytes
38583  test/stroke-ctm-caps-ref.png                       |  Bin 1057 -> 0 bytes
38584  test/stroke-ctm-caps.ps2.ref.png                   |  Bin 0 -> 1079 bytes
38585  test/stroke-ctm-caps.ps3.ref.png                   |  Bin 0 -> 1079 bytes
38586  test/stroke-ctm-caps.quartz.ref.png                |  Bin 0 -> 1109 bytes
38587  test/stroke-ctm-caps.ref.png                       |  Bin 0 -> 1057 bytes
38588  test/stroke-image-pdf-ref.png                      |  Bin 1554 -> 0 bytes
38589  test/stroke-image-ps2-ref.png                      |  Bin 2121 -> 0 bytes
38590  test/stroke-image-ps3-ref.png                      |  Bin 2121 -> 0 bytes
38591  test/stroke-image-quartz-ref.png                   |  Bin 1802 -> 0 bytes
38592  test/stroke-image-ref.png                          |  Bin 1866 -> 0 bytes
38593  test/stroke-image.pdf.ref.png                      |  Bin 0 -> 1554 bytes
38594  test/stroke-image.ps2.ref.png                      |  Bin 0 -> 2121 bytes
38595  test/stroke-image.ps3.ref.png                      |  Bin 0 -> 2121 bytes
38596  test/stroke-image.quartz.ref.png                   |  Bin 0 -> 1802 bytes
38597  test/stroke-image.ref.png                          |  Bin 0 -> 1866 bytes
38598  test/surface-pattern-big-scale-down-ref.png        |  Bin 226 -> 0 bytes
38599  test/surface-pattern-big-scale-down.ref.png        |  Bin 0 -> 226 bytes
38600  test/surface-pattern-pdf-ref.png                   |  Bin 15996 -> 0 bytes
38601  test/surface-pattern-ps2-ref.png                   |  Bin 2364 -> 0 bytes
38602  test/surface-pattern-ps3-ref.png                   |  Bin 2364 -> 0 bytes
38603  test/surface-pattern-ref.png                       |  Bin 11439 -> 0 bytes
38604  test/surface-pattern-scale-down-pdf-argb32-ref.png |  Bin 2386 -> 0 bytes
38605  test/surface-pattern-scale-down-pdf-rgb24-ref.png  |  Bin 2386 -> 0 bytes
38606  test/surface-pattern-scale-down-ps2-ref.png        |  Bin 1324 -> 0 bytes
38607  test/surface-pattern-scale-down-ps3-ref.png        |  Bin 1324 -> 0 bytes
38608  test/surface-pattern-scale-down-quartz-ref.png     |  Bin 3188 -> 0 bytes
38609  test/surface-pattern-scale-down-ref.png            |  Bin 1784 -> 0 bytes
38610  test/surface-pattern-scale-down.pdf.argb32.ref.png |  Bin 0 -> 2386 bytes
38611  test/surface-pattern-scale-down.pdf.rgb24.ref.png  |  Bin 0 -> 2386 bytes
38612  test/surface-pattern-scale-down.ps2.ref.png        |  Bin 0 -> 1324 bytes
38613  test/surface-pattern-scale-down.ps3.ref.png        |  Bin 0 -> 1324 bytes
38614  test/surface-pattern-scale-down.quartz.ref.png     |  Bin 0 -> 3188 bytes
38615  test/surface-pattern-scale-down.ref.png            |  Bin 0 -> 1784 bytes
38616  test/surface-pattern-scale-up-pdf-argb32-ref.png   |  Bin 4247 -> 0 bytes
38617  test/surface-pattern-scale-up-pdf-rgb24-ref.png    |  Bin 4247 -> 0 bytes
38618  test/surface-pattern-scale-up-ps2-ref.png          |  Bin 943 -> 0 bytes
38619  test/surface-pattern-scale-up-ps3-ref.png          |  Bin 943 -> 0 bytes
38620  test/surface-pattern-scale-up-ref.png              |  Bin 4061 -> 0 bytes
38621  test/surface-pattern-scale-up.pdf.argb32.ref.png   |  Bin 0 -> 4247 bytes
38622  test/surface-pattern-scale-up.pdf.rgb24.ref.png    |  Bin 0 -> 4247 bytes
38623  test/surface-pattern-scale-up.ps2.ref.png          |  Bin 0 -> 943 bytes
38624  test/surface-pattern-scale-up.ps3.ref.png          |  Bin 0 -> 943 bytes
38625  test/surface-pattern-scale-up.ref.png              |  Bin 0 -> 4061 bytes
38626  test/surface-pattern-svg11-ref.png                 |  Bin 17663 -> 0 bytes
38627  test/surface-pattern-svg12-ref.png                 |  Bin 17663 -> 0 bytes
38628  test/surface-pattern.pdf.ref.png                   |  Bin 0 -> 15996 bytes
38629  test/surface-pattern.ps2.ref.png                   |  Bin 0 -> 2364 bytes
38630  test/surface-pattern.ps3.ref.png                   |  Bin 0 -> 2364 bytes
38631  test/surface-pattern.ref.png                       |  Bin 0 -> 11439 bytes
38632  test/surface-pattern.svg11.ref.png                 |  Bin 0 -> 17663 bytes
38633  test/surface-pattern.svg12.ref.png                 |  Bin 0 -> 17663 bytes
38634  test/svg-clip.c                                    |    2 +-
38635  test/svg-surface-source-ref.png                    |  Bin 268 -> 0 bytes
38636  test/svg-surface-source.c                          |    2 +-
38637  test/svg-surface-source.ref.png                    |  Bin 0 -> 268 bytes
38638  test/svg-surface.c                                 |    2 +-
38639  test/text-antialias-gray-quartz-ref.png            |  Bin 1041 -> 0 bytes
38640  test/text-antialias-gray-ref.png                   |  Bin 1084 -> 0 bytes
38641  test/text-antialias-gray.quartz.ref.png            |  Bin 0 -> 1041 bytes
38642  test/text-antialias-gray.ref.png                   |  Bin 0 -> 1084 bytes
38643  test/text-antialias-none-quartz-ref.png            |  Bin 300 -> 0 bytes
38644  test/text-antialias-none-ref.png                   |  Bin 298 -> 0 bytes
38645  test/text-antialias-none.quartz.ref.png            |  Bin 0 -> 300 bytes
38646  test/text-antialias-none.ref.png                   |  Bin 0 -> 298 bytes
38647  test/text-antialias-subpixel-quartz-ref.png        |  Bin 1065 -> 0 bytes
38648  test/text-antialias-subpixel-ref.png               |  Bin 1102 -> 0 bytes
38649  test/text-antialias-subpixel.quartz.ref.png        |  Bin 0 -> 1065 bytes
38650  test/text-antialias-subpixel.ref.png               |  Bin 0 -> 1102 bytes
38651  test/text-glyph-range-ps2-ref.png                  |  Bin 1389 -> 0 bytes
38652  test/text-glyph-range-ps3-ref.png                  |  Bin 1389 -> 0 bytes
38653  test/text-glyph-range-ref.png                      |  Bin 2211 -> 0 bytes
38654  test/text-glyph-range.ps2.ref.png                  |  Bin 0 -> 1389 bytes
38655  test/text-glyph-range.ps3.ref.png                  |  Bin 0 -> 1389 bytes
38656  test/text-glyph-range.ref.png                      |  Bin 0 -> 2211 bytes
38657  test/text-pattern-pdf-argb32-ref.png               |  Bin 1823 -> 0 bytes
38658  test/text-pattern-pdf-rgb24-ref.png                |  Bin 508 -> 0 bytes
38659  test/text-pattern-ps3-argb32-ref.png               |  Bin 966 -> 0 bytes
38660  test/text-pattern-ps3-rgb24-ref.png                |  Bin 924 -> 0 bytes
38661  test/text-pattern-quartz-ref.png                   |  Bin 2158 -> 0 bytes
38662  test/text-pattern-quartz-rgb24-ref.png             |  Bin 1874 -> 0 bytes
38663  test/text-pattern-ref.png                          |  Bin 1717 -> 0 bytes
38664  test/text-pattern-rgb24-ref.png                    |  Bin 1414 -> 0 bytes
38665  test/text-pattern-svg11-argb32-ref.png             |  Bin 1733 -> 0 bytes
38666  test/text-pattern-svg11-rgb24-ref.png              |  Bin 1563 -> 0 bytes
38667  test/text-pattern-svg12-argb32-ref.png             |  Bin 1733 -> 0 bytes
38668  test/text-pattern-svg12-rgb24-ref.png              |  Bin 1563 -> 0 bytes
38669  test/text-pattern.pdf.argb32.ref.png               |  Bin 0 -> 1823 bytes
38670  test/text-pattern.pdf.rgb24.ref.png                |  Bin 0 -> 508 bytes
38671  test/text-pattern.ps3.argb32.ref.png               |  Bin 0 -> 966 bytes
38672  test/text-pattern.ps3.rgb24.ref.png                |  Bin 0 -> 924 bytes
38673  test/text-pattern.quartz.ref.png                   |  Bin 0 -> 2158 bytes
38674  test/text-pattern.quartz.rgb24.ref.png             |  Bin 0 -> 1874 bytes
38675  test/text-pattern.ref.png                          |  Bin 0 -> 1717 bytes
38676  test/text-pattern.rgb24.ref.png                    |  Bin 0 -> 1414 bytes
38677  test/text-pattern.svg11.argb32.ref.png             |  Bin 0 -> 1733 bytes
38678  test/text-pattern.svg11.rgb24.ref.png              |  Bin 0 -> 1563 bytes
38679  test/text-pattern.svg12.argb32.ref.png             |  Bin 0 -> 1733 bytes
38680  test/text-pattern.svg12.rgb24.ref.png              |  Bin 0 -> 1563 bytes
38681  test/text-rotate-pdf-ref.png                       |  Bin 16639 -> 0 bytes
38682  test/text-rotate-ps2-ref.png                       |  Bin 6851 -> 0 bytes
38683  test/text-rotate-ps3-ref.png                       |  Bin 6851 -> 0 bytes
38684  test/text-rotate-quartz-ref.png                    |  Bin 17820 -> 0 bytes
38685  test/text-rotate-ref.png                           |  Bin 17775 -> 0 bytes
38686  test/text-rotate-svg11-ref.png                     |  Bin 18301 -> 0 bytes
38687  test/text-rotate-svg12-ref.png                     |  Bin 18301 -> 0 bytes
38688  test/text-rotate.pdf.ref.png                       |  Bin 0 -> 16639 bytes
38689  test/text-rotate.ps2.ref.png                       |  Bin 0 -> 6851 bytes
38690  test/text-rotate.ps3.ref.png                       |  Bin 0 -> 6851 bytes
38691  test/text-rotate.quartz.ref.png                    |  Bin 0 -> 17820 bytes
38692  test/text-rotate.ref.png                           |  Bin 0 -> 17775 bytes
38693  test/text-rotate.svg11.ref.png                     |  Bin 0 -> 18301 bytes
38694  test/text-rotate.svg12.ref.png                     |  Bin 0 -> 18301 bytes
38695  test/text-transform-pdf-ref.png                    |  Bin 3796 -> 0 bytes
38696  test/text-transform-ps2-ref.png                    |  Bin 4154 -> 0 bytes
38697  test/text-transform-ps3-ref.png                    |  Bin 4154 -> 0 bytes
38698  test/text-transform-ref.png                        |  Bin 6200 -> 0 bytes
38699  test/text-transform.pdf.ref.png                    |  Bin 0 -> 3796 bytes
38700  test/text-transform.ps2.ref.png                    |  Bin 0 -> 4154 bytes
38701  test/text-transform.ps3.ref.png                    |  Bin 0 -> 4154 bytes
38702  test/text-transform.ref.png                        |  Bin 0 -> 6200 bytes
38703  test/transforms-ps2-ref.png                        |  Bin 418 -> 0 bytes
38704  test/transforms-ps3-ref.png                        |  Bin 418 -> 0 bytes
38705  test/transforms-ref.png                            |  Bin 361 -> 0 bytes
38706  test/transforms.ps2.ref.png                        |  Bin 0 -> 418 bytes
38707  test/transforms.ps3.ref.png                        |  Bin 0 -> 418 bytes
38708  test/transforms.ref.png                            |  Bin 0 -> 361 bytes
38709  test/translate-show-surface-ref.png                |  Bin 100 -> 0 bytes
38710  test/translate-show-surface.ref.png                |  Bin 0 -> 100 bytes
38711  test/trap-clip-pdf-argb32-ref.png                  |  Bin 5809 -> 0 bytes
38712  test/trap-clip-pdf-rgb24-ref.png                   |  Bin 5768 -> 0 bytes
38713  test/trap-clip-ps2-argb32-ref.png                  |  Bin 5690 -> 0 bytes
38714  test/trap-clip-ps2-rgb24-ref.png                   |  Bin 5617 -> 0 bytes
38715  test/trap-clip-ps3-argb32-ref.png                  |  Bin 5591 -> 0 bytes
38716  test/trap-clip-ps3-rgb24-ref.png                   |  Bin 5512 -> 0 bytes
38717  test/trap-clip-quartz-ref.png                      |  Bin 6041 -> 0 bytes
38718  test/trap-clip-quartz-rgb24-ref.png                |  Bin 5385 -> 0 bytes
38719  test/trap-clip-ref.png                             |  Bin 5772 -> 0 bytes
38720  test/trap-clip-rgb24-ref.png                       |  Bin 5365 -> 0 bytes
38721  test/trap-clip.pdf.argb32.ref.png                  |  Bin 0 -> 5809 bytes
38722  test/trap-clip.pdf.rgb24.ref.png                   |  Bin 0 -> 5768 bytes
38723  test/trap-clip.ps2.argb32.ref.png                  |  Bin 0 -> 5690 bytes
38724  test/trap-clip.ps2.rgb24.ref.png                   |  Bin 0 -> 5617 bytes
38725  test/trap-clip.ps3.argb32.ref.png                  |  Bin 0 -> 5591 bytes
38726  test/trap-clip.ps3.rgb24.ref.png                   |  Bin 0 -> 5512 bytes
38727  test/trap-clip.quartz.ref.png                      |  Bin 0 -> 6041 bytes
38728  test/trap-clip.quartz.rgb24.ref.png                |  Bin 0 -> 5385 bytes
38729  test/trap-clip.ref.png                             |  Bin 0 -> 5772 bytes
38730  test/trap-clip.rgb24.ref.png                       |  Bin 0 -> 5365 bytes
38731  test/twin-ps2-ref.png                              |  Bin 1167 -> 0 bytes
38732  test/twin-ps3-ref.png                              |  Bin 1167 -> 0 bytes
38733  test/twin-ref.png                                  |  Bin 1836 -> 0 bytes
38734  test/twin-svg11-ref.png                            |  Bin 1773 -> 0 bytes
38735  test/twin-svg12-ref.png                            |  Bin 1773 -> 0 bytes
38736  test/twin.ps2.ref.png                              |  Bin 0 -> 1167 bytes
38737  test/twin.ps3.ref.png                              |  Bin 0 -> 1167 bytes
38738  test/twin.ref.png                                  |  Bin 0 -> 1836 bytes
38739  test/twin.svg11.ref.png                            |  Bin 0 -> 1773 bytes
38740  test/twin.svg12.ref.png                            |  Bin 0 -> 1773 bytes
38741  test/unantialiased-shapes-quartz-ref.png           |  Bin 4394 -> 0 bytes
38742  test/unantialiased-shapes-ref.png                  |  Bin 4459 -> 0 bytes
38743  test/unantialiased-shapes.quartz.ref.png           |  Bin 0 -> 4394 bytes
38744  test/unantialiased-shapes.ref.png                  |  Bin 0 -> 4459 bytes
38745  test/unbounded-operator-quartz-ref.png             |  Bin 4066 -> 0 bytes
38746  test/unbounded-operator-quartz-rgb24-ref.png       |  Bin 1918 -> 0 bytes
38747  test/unbounded-operator-ref.png                    |  Bin 2777 -> 0 bytes
38748  test/unbounded-operator-rgb24-ref.png              |  Bin 1315 -> 0 bytes
38749  test/unbounded-operator.quartz.ref.png             |  Bin 0 -> 4066 bytes
38750  test/unbounded-operator.quartz.rgb24.ref.png       |  Bin 0 -> 1918 bytes
38751  test/unbounded-operator.ref.png                    |  Bin 0 -> 2777 bytes
38752  test/unbounded-operator.rgb24.ref.png              |  Bin 0 -> 1315 bytes
38753  test/user-font-mask-pdf-ref.png                    |  Bin 1927 -> 0 bytes
38754  test/user-font-mask-ps2-ref.png                    |  Bin 1927 -> 0 bytes
38755  test/user-font-mask-ps3-ref.png                    |  Bin 1927 -> 0 bytes
38756  test/user-font-mask-ref.png                        |  Bin 6011 -> 0 bytes
38757  test/user-font-mask-svg11-ref.png                  |  Bin 2224 -> 0 bytes
38758  test/user-font-mask.pdf.ref.png                    |  Bin 0 -> 1927 bytes
38759  test/user-font-mask.ps2.ref.png                    |  Bin 0 -> 1927 bytes
38760  test/user-font-mask.ps3.ref.png                    |  Bin 0 -> 1927 bytes
38761  test/user-font-mask.ref.png                        |  Bin 0 -> 6011 bytes
38762  test/user-font-mask.svg11.ref.png                  |  Bin 0 -> 2224 bytes
38763  test/user-font-proxy-pdf-ref.png                   |  Bin 18111 -> 0 bytes
38764  test/user-font-proxy-ps2-ref.png                   |  Bin 8171 -> 0 bytes
38765  test/user-font-proxy-ps3-ref.png                   |  Bin 8171 -> 0 bytes
38766  test/user-font-proxy-ref.png                       |  Bin 18121 -> 0 bytes
38767  test/user-font-proxy-svg11-ref.png                 |  Bin 17902 -> 0 bytes
38768  test/user-font-proxy-svg12-ref.png                 |  Bin 17902 -> 0 bytes
38769  test/user-font-proxy.pdf.ref.png                   |  Bin 0 -> 18111 bytes
38770  test/user-font-proxy.ps2.ref.png                   |  Bin 0 -> 8171 bytes
38771  test/user-font-proxy.ps3.ref.png                   |  Bin 0 -> 8171 bytes
38772  test/user-font-proxy.ref.png                       |  Bin 0 -> 18121 bytes
38773  test/user-font-proxy.svg11.ref.png                 |  Bin 0 -> 17902 bytes
38774  test/user-font-proxy.svg12.ref.png                 |  Bin 0 -> 17902 bytes
38775  test/user-font-ps2-ref.png                         |  Bin 5043 -> 0 bytes
38776  test/user-font-ps3-ref.png                         |  Bin 5043 -> 0 bytes
38777  test/user-font-ref.png                             |  Bin 6183 -> 0 bytes
38778  test/user-font-rescale-ps2-ref.png                 |  Bin 8041 -> 0 bytes
38779  test/user-font-rescale-ps3-ref.png                 |  Bin 8041 -> 0 bytes
38780  test/user-font-rescale-ref.png                     |  Bin 15937 -> 0 bytes
38781  test/user-font-rescale-svg11-ref.png               |  Bin 15741 -> 0 bytes
38782  test/user-font-rescale-svg12-ref.png               |  Bin 15741 -> 0 bytes
38783  test/user-font-rescale.ps2.ref.png                 |  Bin 0 -> 8041 bytes
38784  test/user-font-rescale.ps3.ref.png                 |  Bin 0 -> 8041 bytes
38785  test/user-font-rescale.ref.png                     |  Bin 0 -> 15937 bytes
38786  test/user-font-rescale.svg11.ref.png               |  Bin 0 -> 15741 bytes
38787  test/user-font-rescale.svg12.ref.png               |  Bin 0 -> 15741 bytes
38788  test/user-font-svg11-ref.png                       |  Bin 6134 -> 0 bytes
38789  test/user-font-svg12-ref.png                       |  Bin 6134 -> 0 bytes
38790  test/user-font.ps2.ref.png                         |  Bin 0 -> 5043 bytes
38791  test/user-font.ps3.ref.png                         |  Bin 0 -> 5043 bytes
38792  test/user-font.ref.png                             |  Bin 0 -> 6183 bytes
38793  test/user-font.svg11.ref.png                       |  Bin 0 -> 6134 bytes
38794  test/user-font.svg12.ref.png                       |  Bin 0 -> 6134 bytes
38795  test/xlib-expose-event-ref.png                     |  Bin 40736 -> 0 bytes
38796  test/xlib-expose-event.c                           |    4 +-
38797  test/xlib-expose-event.ref.png                     |  Bin 0 -> 40736 bytes
38798  test/xlib-surface-source-ps2-ref.png               |  Bin 376 -> 0 bytes
38799  test/xlib-surface-source-ps3-ref.png               |  Bin 376 -> 0 bytes
38800  test/xlib-surface-source-ref.png                   |  Bin 268 -> 0 bytes
38801  test/xlib-surface-source.ps2.ref.png               |  Bin 0 -> 376 bytes
38802  test/xlib-surface-source.ps3.ref.png               |  Bin 0 -> 376 bytes
38803  test/xlib-surface-source.ref.png                   |  Bin 0 -> 268 bytes
38804  test/zero-alpha-ref.png                            |  Bin 115 -> 0 bytes
38805  test/zero-alpha.ref.png                            |  Bin 0 -> 115 bytes
38806  1412 files changed, 782 insertions(+), 752 deletions(-)
38807
38808 commit e90073f7ddc6f461a935bc360c409b04f1fe9f74
38809 Author: Chris Wilson <chris@chris-wilson.co.uk>
38810 Date:   Wed Sep 3 16:38:03 2008 +0100
38811
38812     [test] Build test suite into single binary.
38813     
38814     Avoid calling libtool to link every single test case, by building just one
38815     binary from all the sources.
38816     
38817     This binary is then given the task of choosing tests to run (based on user
38818     selection and individual test requirement), forking each test into its own
38819     process and accumulating the results.
38820
38821  Makefile.am                                       |    1 +
38822  boilerplate/cairo-boilerplate.c                   |  658 +++++++++------
38823  boilerplate/cairo-boilerplate.h                   |    1 +
38824  build/configure.ac.noversion                      |   12 +
38825  build/configure.ac.system                         |   57 ++
38826  build/configure.ac.version                        |    8 -
38827  configure.ac                                      |   16 +
38828  doc/public/tmpl/cairo-surface.sgml                |    1 +
38829  test/.gitignore                                   |  237 +-----
38830  test/Makefile.am                                  |  572 +++++++------
38831  test/README                                       |   28 +-
38832  test/a1-image-sample.c                            |   20 +-
38833  test/a1-mask.c                                    |   38 +-
38834  test/a1-traps-sample.c                            |   20 +-
38835  test/a8-mask.c                                    |   37 +-
38836  test/alpha-similar.c                              |   23 +-
38837  test/big-line.c                                   |   22 +-
38838  test/big-trap.c                                   |   22 +-
38839  test/bilevel-image.c                              |   20 +-
38840  test/bitmap-font.c                                |   22 +-
38841  test/cairo-test-private.h                         |   74 ++
38842  test/cairo-test-runner.c                          |  907 +++++++++++++++++++++
38843  test/cairo-test.c                                 |  594 ++++++++------
38844  test/cairo-test.h                                 |   99 ++-
38845  test/caps-joins-alpha.c                           |   26 +-
38846  test/caps-joins.c                                 |   27 +-
38847  test/caps-sub-paths.c                             |   21 +-
38848  test/clip-all.c                                   |   21 +-
38849  test/clip-empty.c                                 |   20 +-
38850  test/clip-fill-rule-pixel-aligned.c               |   22 +-
38851  test/clip-fill-rule.c                             |   20 +-
38852  test/clip-nesting.c                               |   20 +-
38853  test/clip-operator.c                              |   21 +-
38854  test/clip-push-group.c                            |   20 +-
38855  test/clip-twice.c                                 |   20 +-
38856  test/clip-zero.c                                  |   20 +-
38857  test/clipped-group.c                              |   20 +-
38858  test/clipped-surface.c                            |   19 +-
38859  test/close-path.c                                 |   18 +-
38860  test/composite-integer-translate-over-repeat.c    |   20 +-
38861  test/composite-integer-translate-over.c           |   22 +-
38862  test/composite-integer-translate-source.c         |   22 +-
38863  test/copy-path.c                                  |   33 +-
38864  test/create-for-stream.c                          |   53 +-
38865  test/create-from-png-stream.c                     |   20 +-
38866  test/create-from-png.c                            |   82 +-
38867  test/dash-caps-joins.c                            |   26 +-
38868  test/dash-curve.c                                 |   20 +-
38869  test/dash-no-dash.c                               |   20 +-
38870  test/dash-offset-negative.c                       |   20 +-
38871  test/dash-scale.c                                 |   26 +-
38872  test/dash-state.c                                 |   22 +-
38873  test/dash-zero-length.c                           |   20 +-
38874  test/degenerate-arc.c                             |   20 +-
38875  test/degenerate-dash.c                            |   20 +-
38876  test/degenerate-path.c                            |   21 +-
38877  test/degenerate-pen.c                             |   20 +-
38878  test/device-offset-fractional.c                   |   20 +-
38879  test/device-offset-positive.c                     |   20 +-
38880  test/device-offset-scale.c                        |   21 +-
38881  test/device-offset.c                              |   20 +-
38882  test/extend-pad.c                                 |   20 +-
38883  test/extend-reflect-similar.c                     |   22 +-
38884  test/extend-reflect.c                             |   22 +-
38885  test/extend-repeat-similar.c                      |   22 +-
38886  test/extend-repeat.c                              |   22 +-
38887  test/fallback-resolution.c                        |   28 +-
38888  test/fill-alpha-pattern.c                         |   20 +-
38889  test/fill-alpha.c                                 |   20 +-
38890  test/fill-and-stroke-alpha-add.c                  |   20 +-
38891  test/fill-and-stroke-alpha.c                      |   20 +-
38892  test/fill-and-stroke.c                            |   20 +-
38893  test/fill-degenerate-sort-order.c                 |   20 +-
38894  test/fill-missed-stop.c                           |   19 +-
38895  test/fill-rule.c                                  |   20 +-
38896  test/filter-bilinear-extents.c                    |   22 +-
38897  test/filter-nearest-offset.c                      |   21 +-
38898  test/filter-nearest-transformed.c                 |   19 +-
38899  test/finer-grained-fallbacks.c                    |   20 +-
38900  test/font-face-get-type.c                         |   28 +-
38901  test/font-matrix-translation.c                    |   20 +-
38902  test/font-options.c                               |   17 +-
38903  test/ft-font-create-for-ft-face.c                 |   21 +-
38904  test/ft-show-glyphs-positioning.c                 |   20 +-
38905  test/ft-show-glyphs-table.c                       |   21 +-
38906  test/ft-text-antialias-none.c                     |   20 +-
38907  test/ft-text-vertical-layout-type1.c              |   23 +-
38908  test/ft-text-vertical-layout-type3.c              |   20 +-
38909  test/get-and-set.c                                |   20 +-
38910  test/get-clip.c                                   |   21 +-
38911  test/get-group-target.c                           |   20 +-
38912  test/get-path-extents.c                           |   20 +-
38913  test/get-xrender-format.c                         |   35 +-
38914  test/glyph-cache-pressure.c                       |   20 +-
38915  test/gradient-alpha.c                             |   20 +-
38916  test/gradient-constant-alpha.c                    |   20 +-
38917  test/gradient-zero-stops.c                        |   22 +-
38918  test/group-paint.c                                |   20 +-
38919  test/huge-pattern.c                               |   21 +-
38920  test/image-surface-source.c                       |    8 +-
38921  test/in-fill-empty-trapezoid.c                    |   24 +-
38922  test/in-fill-trapezoid.c                          |   20 +-
38923  test/infinite-join.c                              |   22 +-
38924  test/invalid-matrix.c                             |   20 +-
38925  test/large-clip.c                                 |   22 +-
38926  test/large-font.c                                 |   22 +-
38927  test/large-source.c                               |   20 +-
38928  test/leaky-dash.c                                 |   22 +-
38929  test/leaky-dashed-rectangle.c                     |   20 +-
38930  test/leaky-dashed-stroke.c                        |   20 +-
38931  test/leaky-polygon.c                              |   20 +-
38932  test/line-width-scale.c                           |   20 +-
38933  test/line-width-zero.c                            |   20 +-
38934  test/line-width.c                                 |   20 +-
38935  test/linear-gradient-reflect.c                    |   21 +-
38936  test/linear-gradient.c                            |   20 +-
38937  test/long-dashed-lines.c                          |   20 +-
38938  test/long-lines.c                                 |   24 +-
38939  test/make-cairo-test-constructors.pl              |   18 +
38940  test/mask-alpha.c                                 |   20 +-
38941  test/mask-ctm.c                                   |   21 +-
38942  test/mask-surface-ctm.c                           |   20 +-
38943  test/mask-transformed-image.c                     |   19 +-
38944  test/mask-transformed-similar.c                   |   19 +-
38945  test/mask.c                                       |   23 +-
38946  test/meta-surface-pattern.c                       |   20 +-
38947  test/miter-precision.c                            |   22 +-
38948  test/move-to-show-surface.c                       |   20 +-
38949  test/multi-page.c                                 |   30 +-
38950  test/new-sub-path.c                               |   22 +-
38951  test/nil-surface.c                                |   20 +-
38952  test/operator-alpha.c                             |   21 +-
38953  test/operator-clear.c                             |   20 +-
38954  test/operator-source.c                            |   20 +-
38955  test/operator.c                                   |   21 +-
38956  test/over-above-source.c                          |   20 +-
38957  test/over-around-source.c                         |   20 +-
38958  test/over-below-source.c                          |   20 +-
38959  test/over-between-source.c                        |   20 +-
38960  test/paint-repeat.c                               |   20 +-
38961  test/paint-source-alpha.c                         |   20 +-
38962  test/paint-with-alpha.c                           |   20 +-
38963  test/paint.c                                      |   20 +-
38964  test/pattern-get-type.c                           |   21 +-
38965  test/pattern-getters.c                            |   20 +-
38966  test/pdf-features.c                               |   31 +-
38967  test/pdf-surface-source.c                         |   10 +-
38968  test/pixman-rotate.c                              |   20 +-
38969  test/png.c                                        |   56 +-
38970  test/ps-features.c                                |   29 +-
38971  test/ps-surface-source.c                          |   10 +-
38972  test/pthread-show-text.c                          |   41 +-
38973  test/push-group.c                                 |   20 +-
38974  test/radial-gradient.c                            |   22 +-
38975  test/random-intersections.c                       |   21 +-
38976  test/rectangle-rounding-error.c                   |   22 +-
38977  test/rectilinear-fill.c                           |   20 +-
38978  test/rectilinear-miter-limit.c                    |   20 +-
38979  test/rectilinear-stroke.c                         |   21 +-
38980  test/reflected-stroke.c                           |   21 +-
38981  test/rel-path.c                                   |   20 +-
38982  test/rgb24-ignore-alpha.c                         |   20 +-
38983  test/rotate-image-surface-paint.c                 |   22 +-
38984  test/scale-down-source-surface-paint.c            |   20 +-
38985  test/scale-source-surface-paint.c                 |   20 +-
38986  test/select-font-face.c                           |   28 +-
38987  test/select-font-no-show-text.c                   |   20 +-
38988  test/self-copy-overlap.c                          |   22 +-
38989  test/self-copy.c                                  |   20 +-
38990  test/self-intersecting.c                          |   22 +-
38991  test/set-source.c                                 |   20 +-
38992  test/show-glyphs-many.c                           |   20 +-
38993  test/show-text-current-point.c                    |   22 +-
38994  test/skew-extreme.c                               |   20 +-
38995  test/smask-fill.c                                 |   20 +-
38996  test/smask-image-mask.c                           |   20 +-
38997  test/smask-mask.c                                 |   20 +-
38998  test/smask-paint.c                                |   20 +-
38999  test/smask-stroke.c                               |   20 +-
39000  test/smask-text.c                                 |   20 +-
39001  test/smask.c                                      |   20 +-
39002  test/solid-pattern-cache-stress.c                 |   20 +-
39003  test/source-clip-scale.c                          |   20 +-
39004  test/source-clip.c                                |   20 +-
39005  test/source-surface-scale-paint.c                 |   20 +-
39006  test/spline-decomposition.c                       |   20 +-
39007  test/stroke-ctm-caps.c                            |   20 +-
39008  test/stroke-image.c                               |   20 +-
39009  test/surface-finish-twice.c                       |   20 +-
39010  test/surface-pattern-big-scale-down.c             |   20 +-
39011  test/surface-pattern-scale-down-pdf-rgb24-ref.png |  Bin 0 -> 2386 bytes
39012  test/surface-pattern-scale-down.c                 |   21 +-
39013  test/surface-pattern-scale-up.c                   |   21 +-
39014  test/surface-pattern.c                            |   24 +-
39015  test/surface-source.c                             |   15 +-
39016  test/svg-clip.c                                   |   26 +-
39017  test/svg-surface-source.c                         |   11 +-
39018  test/svg-surface.c                                |   26 +-
39019  test/text-antialias-gray.c                        |   20 +-
39020  test/text-antialias-none.c                        |   20 +-
39021  test/text-antialias-subpixel.c                    |   20 +-
39022  test/text-cache-crash.c                           |   40 +-
39023  test/text-glyph-range-ps2-ref.png                 |  Bin 0 -> 1389 bytes
39024  test/text-glyph-range-ps3-ref.png                 |  Bin 0 -> 1389 bytes
39025  test/text-glyph-range-ref.png                     |  Bin 1810 -> 2211 bytes
39026  test/text-glyph-range-rgb24-ref.png               |  Bin 1645 -> 0 bytes
39027  test/text-glyph-range.c                           |   62 +-
39028  test/text-pattern.c                               |   54 +-
39029  test/text-rotate.c                                |   22 +-
39030  test/text-transform.c                             |   22 +-
39031  test/text-zero-len.c                              |   20 +-
39032  test/toy-font-face.c                              |   16 +-
39033  test/transforms.c                                 |   20 +-
39034  test/translate-show-surface.c                     |   20 +-
39035  test/trap-clip.c                                  |   22 +-
39036  test/truetype-tables.c                            |   18 +-
39037  test/twin.c                                       |   20 +-
39038  test/unantialiased-shapes.c                       |   20 +-
39039  test/unbounded-operator.c                         |   20 +-
39040  test/user-data.c                                  |   17 +-
39041  test/user-font-mask.c                             |   28 +-
39042  test/user-font-proxy.c                            |   28 +-
39043  test/user-font-rescale.c                          |   20 +-
39044  test/user-font.c                                  |   28 +-
39045  test/xlib-expose-event.c                          |   28 +-
39046  test/xlib-surface-source.c                        |    8 +-
39047  test/xlib-surface.c                               |   36 +-
39048  test/zero-alpha.c                                 |   20 +-
39049  228 files changed, 3770 insertions(+), 4123 deletions(-)
39050
39051 commit 8457972d40088cda165f31fdd7bd9b4c19c6e095
39052 Author: Chris Wilson <chris@chris-wilson.co.uk>
39053 Date:   Fri Oct 31 02:16:54 2008 +0000
39054
39055     [type3] Whitespace.
39056     
39057     Tightly scope the output stream.
39058
39059  src/cairo-type3-glyph-surface.c |    3 ++-
39060  1 file changed, 2 insertions(+), 1 deletion(-)
39061
39062 commit 08f4d49a9464bc19bc2ca7f2356a6eb8d62f5daf
39063 Author: Chris Wilson <chris@chris-wilson.co.uk>
39064 Date:   Fri Oct 31 02:03:41 2008 +0000
39065
39066     [xlib] Intialise clip_dirty.
39067     
39068     Eeek, forgot to set the clip_dirty to 0 on construction.
39069
39070  src/cairo-xlib-surface.c |    1 +
39071  1 file changed, 1 insertion(+)
39072
39073 commit b722d5b2b988d43931648d8377a9433d75f7d95f
39074 Merge: 05fce5b 710f7d3
39075 Author: Chris Wilson <chris@chris-wilson.co.uk>
39076 Date:   Fri Oct 31 02:24:25 2008 +0000
39077
39078     Merge branch '1.8'
39079
39080 commit 710f7d30d348517602293f123525aef7677d69cf
39081 Author: Chris Wilson <chris@chris-wilson.co.uk>
39082 Date:   Fri Oct 31 02:14:53 2008 +0000
39083
39084     [scaled-font] Fix typo that prevented meta_surface lookup.
39085     
39086     test/text-glyph-range was crashing since we requested the meta_surface but
39087     the glyph wrongly believed it already had the meta_surface but was
39088     checking for a path instead.
39089
39090  src/cairo-scaled-font.c |    2 +-
39091  1 file changed, 1 insertion(+), 1 deletion(-)
39092
39093 commit 05fce5bced9718ffa803f5a87df00f96809d1f53
39094 Author: Adrian Johnson <ajohnson@redneon.com>
39095 Date:   Sat Apr 5 13:32:51 2008 +1030
39096
39097     PS/PDF: Set image Interpolation flag
39098     
39099     If the filter mode is anything other than DEFAILT, FAST or NEAREST set the
39100     Interpolate flag in the image dictionary so that a smoothing filter is
39101     applied when rasterising the vector file.
39102     
39103     As we have no control over the implementation of the Interpolate filter
39104     (the PS/PDF specifications leave it undefined) we need to capture the
39105     output of poppler/GS and update our reference images. (For a couple of
39106     tests, the filtering is irrelevant so for those we set the filter to
39107     NEAREST.)
39108     
39109     Note that GhostScript's Interpolate filter does not work on rotated images
39110     (and a variety of other transformations) so several of the PS reference
39111     images have use nearest-neighbour sampling instead of a bilinear filter.
39112
39113  src/cairo-pdf-surface.c                            |   28 ++++++++--
39114  src/cairo-ps-surface.c                             |   28 ++++++++--
39115  test/Makefile.am                                   |   54 ++++++++++++++------
39116  test/bilevel-image.c                               |    1 +
39117  test/composite-integer-translate-over-ps2-ref.png  |  Bin 0 -> 15783 bytes
39118  test/composite-integer-translate-over-ps3-ref.png  |  Bin 0 -> 15783 bytes
39119  ...osite-integer-translate-over-repeat-ps2-ref.png |  Bin 0 -> 448 bytes
39120  ...osite-integer-translate-over-repeat-ps3-ref.png |  Bin 0 -> 448 bytes
39121  .../composite-integer-translate-source-ps2-ref.png |  Bin 0 -> 15783 bytes
39122  .../composite-integer-translate-source-ps3-ref.png |  Bin 0 -> 15783 bytes
39123  test/create-from-png-stream.c                      |    1 +
39124  test/create-from-png.c                             |    1 +
39125  test/device-offset-fractional-ps2-ref.png          |  Bin 201 -> 200 bytes
39126  test/device-offset-fractional-ps3-ref.png          |  Bin 201 -> 200 bytes
39127  test/extend-reflect-ps2-ref.png                    |  Bin 153322 -> 146990 bytes
39128  test/extend-reflect-ps3-ref.png                    |  Bin 153322 -> 146990 bytes
39129  test/extend-reflect-similar-ps2-ref.png            |  Bin 153322 -> 146990 bytes
39130  test/extend-reflect-similar-ps3-ref.png            |  Bin 153322 -> 146990 bytes
39131  test/extend-repeat-ps2-ref.png                     |  Bin 0 -> 119246 bytes
39132  test/extend-repeat-ps3-ref.png                     |  Bin 0 -> 119246 bytes
39133  test/extend-repeat-similar-ps2-ref.png             |  Bin 0 -> 119246 bytes
39134  test/extend-repeat-similar-ps3-ref.png             |  Bin 0 -> 119246 bytes
39135  test/filter-bilinear-extents-ps2-ref.png           |  Bin 173 -> 556 bytes
39136  test/filter-bilinear-extents-ps3-ref.png           |  Bin 173 -> 556 bytes
39137  test/image-surface-source-ps2-ref.png              |  Bin 0 -> 376 bytes
39138  test/image-surface-source-ps3-ref.png              |  Bin 0 -> 376 bytes
39139  test/image-surface-source-ref.png                  |  Bin 268 -> 332 bytes
39140  test/stroke-image-ps2-ref.png                      |  Bin 1786 -> 2121 bytes
39141  test/stroke-image-ps3-ref.png                      |  Bin 1786 -> 2121 bytes
39142  test/surface-pattern-pdf-argb32-ref.png            |  Bin 14880 -> 0 bytes
39143  test/surface-pattern-pdf-ref.png                   |  Bin 0 -> 15996 bytes
39144  test/surface-pattern-ps2-argb32-ref.png            |  Bin 2520 -> 0 bytes
39145  test/surface-pattern-ps2-ref.png                   |  Bin 0 -> 2364 bytes
39146  test/surface-pattern-ps3-argb32-ref.png            |  Bin 2520 -> 0 bytes
39147  test/surface-pattern-ps3-ref.png                   |  Bin 0 -> 2364 bytes
39148  test/surface-pattern-scale-down-pdf-argb32-ref.png |  Bin 1565 -> 2386 bytes
39149  test/surface-pattern-scale-down-ps2-argb32-ref.png |  Bin 1400 -> 0 bytes
39150  test/surface-pattern-scale-down-ps2-ref.png        |  Bin 0 -> 1324 bytes
39151  test/surface-pattern-scale-down-ps3-argb32-ref.png |  Bin 1400 -> 0 bytes
39152  test/surface-pattern-scale-down-ps3-ref.png        |  Bin 0 -> 1324 bytes
39153  test/surface-pattern-scale-down.c                  |    3 +-
39154  test/surface-pattern-scale-up-pdf-argb32-ref.png   |  Bin 3886 -> 4247 bytes
39155  test/surface-pattern-scale-up-pdf-rgb24-ref.png    |  Bin 0 -> 4247 bytes
39156  test/surface-pattern-scale-up-ps2-argb32-ref.png   |  Bin 1011 -> 0 bytes
39157  test/surface-pattern-scale-up-ps2-ref.png          |  Bin 0 -> 943 bytes
39158  test/surface-pattern-scale-up-ps3-argb32-ref.png   |  Bin 1011 -> 0 bytes
39159  test/surface-pattern-scale-up-ps3-ref.png          |  Bin 0 -> 943 bytes
39160  test/surface-pattern-scale-up-ref.png              |  Bin 3825 -> 4061 bytes
39161  test/surface-pattern-scale-up.c                    |    6 ++-
39162  test/surface-pattern.c                             |    6 ++-
39163  test/xlib-surface-source-ps2-ref.png               |  Bin 0 -> 376 bytes
39164  test/xlib-surface-source-ps3-ref.png               |  Bin 0 -> 376 bytes
39165  52 files changed, 98 insertions(+), 30 deletions(-)
39166
39167 commit 2c53bdb82a955c672c8fee2b1b4c991af2654ae0
39168 Author: Chris Wilson <chris@chris-wilson.co.uk>
39169 Date:   Mon Sep 29 21:12:53 2008 +0100
39170
39171     [paginated] Emit fallback images using FILTER_NEAREST.
39172     
39173     Fallback images should (in theory) be emitted at native resolution, so
39174     disable filtering to avoid introducing potential artifacts into cairo's
39175     ideal output.
39176
39177  src/cairo-paginated-surface.c |   13 ++++++++-----
39178  1 file changed, 8 insertions(+), 5 deletions(-)
39179
39180 commit f03d3f9f7f923730cdc4c5f21364f752f705086a
39181 Author: Chris Wilson <chris@chris-wilson.co.uk>
39182 Date:   Thu Oct 30 19:24:29 2008 +0000
39183
39184     [boilerplate] Remove #if VERSION>1.9.0
39185     
39186     Remove the obsolete #if statement.
39187
39188  boilerplate/cairo-boilerplate.c |    2 --
39189  1 file changed, 2 deletions(-)
39190
39191 commit ef98eb26f7484019b023cd4c93dce44f23e3a594
39192 Author: Chris Wilson <chris@chris-wilson.co.uk>
39193 Date:   Thu Oct 30 19:23:17 2008 +0000
39194
39195     [test] Reenable device offset testing.
39196     
39197     Restore device offset testing that was temporarily disable in the run up
39198     to the 1.8 release.
39199
39200  test/cairo-test.c |    2 +-
39201  1 file changed, 1 insertion(+), 1 deletion(-)
39202
39203 commit 4f2f46ef1bd793a712df045178b3d00d027e3ba6
39204 Author: Chris Wilson <chris@chris-wilson.co.uk>
39205 Date:   Thu Oct 30 19:14:07 2008 +0000
39206
39207     Restore the ability to choose the internal font.
39208     
39209     Behdad wants to include the feature with 1.10, so we enable it as early as
39210     possible in 1.9 dev cycle to generate as much feedback as possible.
39211     
39212     The first change is to use "<cairo>" as being a name unlikely to clash
39213     with any real font names.
39214     
39215     This reverts commits:
39216       a824d284be23793a5c48b9ae833dcb7b2d5fff80,
39217       292233685534aed712dfd45e8ccf498b792ce496,
39218       e0046aaf417a61da008dc6374871fa3687ba94ab,
39219       f534bd549e1e2283735d1eabb60c015a5949a735.
39220
39221  perf/Makefile.am        |    1 +
39222  perf/cairo-perf.c       |    1 +
39223  perf/cairo-perf.h       |    1 +
39224  perf/twin.c             |   50 +++++++++++++++++++++++++++++++++++++++
39225  src/cairo-font-face.c   |    6 +++--
39226  src/cairoint.h          |    1 +
39227  test/.gitignore         |    1 +
39228  test/Makefile.am        |    6 +++++
39229  test/twin-ps2-ref.png   |  Bin 0 -> 1167 bytes
39230  test/twin-ps3-ref.png   |  Bin 0 -> 1167 bytes
39231  test/twin-ref.png       |  Bin 0 -> 1836 bytes
39232  test/twin-svg11-ref.png |  Bin 0 -> 1773 bytes
39233  test/twin-svg12-ref.png |  Bin 0 -> 1773 bytes
39234  test/twin.c             |   60 +++++++++++++++++++++++++++++++++++++++++++++++
39235  14 files changed, 125 insertions(+), 2 deletions(-)
39236
39237 commit 52c3fc58b52c77282998f9ad75657a6bec5956f8
39238 Author: Chris Wilson <chris@chris-wilson.co.uk>
39239 Date:   Wed Oct 8 13:04:37 2008 +0100
39240
39241     [tessellator] Simplify dequeuing by using a sentinel value.
39242     
39243     Instead of maintaining an index and comparing it to the count, just mark
39244     the last startstop event with NULL and stop dequeuing events upon seeing
39245     that sentinel value. (Removes an unreadable line, and cachegrind hints
39246     that it may be a tiny bit faster.)
39247
39248  src/cairo-bentley-ottmann.c |   32 ++++++++++++++++----------------
39249  1 file changed, 16 insertions(+), 16 deletions(-)
39250
39251 commit ef9e0a5d1d74ac92a1fcde5a657c866a8e6509e6
39252 Author: Chris Wilson <chris@chris-wilson.co.uk>
39253 Date:   Tue Oct 7 22:09:37 2008 +0100
39254
39255     [tessellator] Use a combsort for sorting the event queue.
39256     
39257     In my experiments using cairo-perf, the inlined combsort is ~20% quicker
39258     than the library qsort.
39259
39260  src/Makefile.sources         |    1 +
39261  src/cairo-bentley-ottmann.c  |   39 ++++++++++++-----------
39262  src/cairo-combsort-private.h |   71 ++++++++++++++++++++++++++++++++++++++++++
39263  3 files changed, 92 insertions(+), 19 deletions(-)
39264
39265 commit b1461308416fa83d1de0016a9d4804b68a1f1d8f
39266 Author: Behdad Esfahbod <behdad@behdad.org>
39267 Date:   Thu Oct 30 14:18:18 2008 -0400
39268
39269     [Makefile.am.releasing] Symlink /manual and /cairo-manual.tar.gz only for releases
39270     
39271     And not for snapshots.  Also symlink /cairo-manual-X.Y.Z.tar.gz for all
39272     versions.
39273
39274  build/Makefile.am.releasing |   13 +++++++++++--
39275  1 file changed, 11 insertions(+), 2 deletions(-)
39276
39277 commit e3a7f522a6b96729b2a0122f8c430c24dc17fc5a
39278 Author: Chris Wilson <chris@chris-wilson.co.uk>
39279 Date:   Tue Oct 7 23:33:32 2008 +0100
39280
39281     [tessellator] Perform cheap checks before computing intersect.
39282     
39283     First check if we can reject the intersection without having to perform
39284     the full divides, based on analysing:
39285       t * (ady*bdx - bdy*adx) = bdy * (ax - bx) - bdx * (ay - by)
39286       s * (ady*bdx - bdy*adx) = ady * (ax - bx) - adx * (ay - by)
39287     and excluding the result if by inspection we know that
39288     (s, t) <= 0 || (s, t) => 1.
39289     
39290     Doing so virtually eliminates all division and speeds up the strokes (when
39291     performing self-intersection elimination using the tessellator) perf cases
39292     by about 5%.
39293
39294  src/cairo-bentley-ottmann.c |   51 ++++++++++++++++++++++++++++++++++++++++++-
39295  1 file changed, 50 insertions(+), 1 deletion(-)
39296
39297 commit 553fde4bb3e913de7e26bf416166d69bae4d02e1
39298 Author: Chris Wilson <chris@chris-wilson.co.uk>
39299 Date:   Sat Oct 4 13:15:08 2008 +0100
39300
39301     [tessellator] Simplify special cases of edges to compare.
39302     
39303     Use our prior knowledge of the inputs and trivial conditions to simplify
39304     the edge equations and in many common conditions, such as vertical edges
39305     and common points, reduce the operations down to a just returning the
39306     non-degenerate 32 bit value.  This adds an overhead of a few conditionals,
39307     but on the fast paths we actually generate fewer branches and many fewer
39308     arithmetic operations such that it improves performance of the fill
39309     performance tests by around 10%.
39310
39311  src/cairo-bentley-ottmann.c |  132 ++++++++++++++++++++++++++++++++++---------
39312  1 file changed, 106 insertions(+), 26 deletions(-)
39313
39314 commit cc109df2a70e953d71e3e6fc4e6e54cce4ba0d47
39315 Author: Chris Wilson <chris@chris-wilson.co.uk>
39316 Date:   Thu Oct 30 15:50:20 2008 +0000
39317
39318     [test] Update .gitignore
39319     
39320     Add a couple of new programs to gitignore.
39321
39322  test/.gitignore |    2 ++
39323  1 file changed, 2 insertions(+)
39324
39325 commit 7d546bba213c3b89404bb3c58a5665343abfcd51
39326 Author: Chris Wilson <chris@chris-wilson.co.uk>
39327 Date:   Wed Oct 29 15:46:10 2008 +0000
39328
39329     [xlib] Eliminate shadowed variable.
39330     
39331     Cleanup a minor -Wshadow warning.
39332
39333  src/cairo-xlib-surface.c |    3 ++-
39334  1 file changed, 2 insertions(+), 1 deletion(-)
39335
39336 commit e3388b8180e38f79e0d5b66cc640c3d5c37db2a8
39337 Author: Chris Wilson <chris@chris-wilson.co.uk>
39338 Date:   Wed Oct 29 15:45:09 2008 +0000
39339
39340     [cff-subset] Eliminate shadowed variable.
39341     
39342     Cleanup a minor -Wshadow warning.
39343
39344  src/cairo-cff-subset.c |    8 ++++----
39345  1 file changed, 4 insertions(+), 4 deletions(-)
39346
39347 commit 3e18114aff21acfa73a7d13a419719375ae9b5a6
39348 Author: Chris Wilson <chris@chris-wilson.co.uk>
39349 Date:   Wed Oct 29 15:43:23 2008 +0000
39350
39351     [user-font] Eliminate shadowed variable
39352     
39353     Cleanup a minor -Wshadow warning.
39354
39355  src/cairo-user-font.c |    1 -
39356  1 file changed, 1 deletion(-)
39357
39358 commit d073537e82b57738068a7e1cf1d36ce452876804
39359 Author: Chris Wilson <chris@chris-wilson.co.uk>
39360 Date:   Wed Oct 29 15:41:44 2008 +0000
39361
39362     [scaled-font] Eliminate shadowed variable.
39363     
39364     Cleanup a minor -Wshadow warning.
39365
39366  src/cairo-scaled-font.c |    1 -
39367  1 file changed, 1 deletion(-)
39368
39369 commit 6429e3f39468ef4f865681b3b5988d35906deeb0
39370 Author: Chris Wilson <chris@chris-wilson.co.uk>
39371 Date:   Tue Oct 28 17:38:09 2008 +0000
39372
39373     [xlib] Only set Picture clip as necessary.
39374     
39375     Only set ClipRectangles on a new Picture, avoiding redundant calls to
39376     clear the non-existent ClipMask otherwise.
39377
39378  src/cairo-xlib-surface.c |    5 +++--
39379  1 file changed, 3 insertions(+), 2 deletions(-)
39380
39381 commit cd45258c5bf6a06f7bd3f2bfaf928e423a9b70e1
39382 Author: Chris Wilson <chris@chris-wilson.co.uk>
39383 Date:   Tue Oct 28 16:54:10 2008 +0000
39384
39385     [xlib] Only clear the GC clip mask as necessary.
39386     
39387     Avoid redundant calls to XSetClipMask() for clean GCs.
39388
39389  src/cairo-xlib-private.h |   10 ++++++++--
39390  src/cairo-xlib-screen.c  |    8 ++++++--
39391  src/cairo-xlib-surface.c |    7 ++++---
39392  3 files changed, 18 insertions(+), 7 deletions(-)
39393
39394 commit d384f864992fbf7513446a70158135a08e704678
39395 Author: Chris Wilson <chris@chris-wilson.co.uk>
39396 Date:   Tue Oct 28 16:33:51 2008 +0000
39397
39398     [xlib] Propagate real status from get_screen_info().
39399     
39400     Return the real error from _cairo_xlib_screen_info_get() in order to avoid
39401     having to create a fake NO_MEMORY error.
39402
39403  src/cairo-xlib-private.h |    6 +++--
39404  src/cairo-xlib-screen.c  |   66 ++++++++++++++++++++++++++--------------------
39405  src/cairo-xlib-surface.c |    6 ++---
39406  3 files changed, 44 insertions(+), 34 deletions(-)
39407
39408 commit e25b106e9c33e220fb104afb0929e766647b6de9
39409 Author: Chris Wilson <chris@chris-wilson.co.uk>
39410 Date:   Tue Oct 28 16:27:58 2008 +0000
39411
39412     [xlib] Propagate real status from get_display()
39413     
39414     Avoid throwing away the error and inventing a new NO_MEMORY error for
39415     _cairo_xlib_display_get().
39416
39417  src/cairo-xlib-display.c |   13 ++++++++-----
39418  src/cairo-xlib-private.h |    4 ++--
39419  src/cairo-xlib-surface.c |   14 ++++++++------
39420  3 files changed, 18 insertions(+), 13 deletions(-)
39421
39422 commit 2555f83b11ee23829cfdeaae703420ca3e572fa1
39423 Author: Chris Wilson <chris@chris-wilson.co.uk>
39424 Date:   Tue Oct 28 16:22:49 2008 +0000
39425
39426     [xlib] Avoid repeated calls to XRenderQueryVersion
39427     
39428     Use the value determined during display initialisation in order to avoid
39429     redundant XRenderQueryFormats requests.
39430
39431  src/cairo-xlib-display.c |    6 ++++--
39432  src/cairo-xlib-private.h |    2 ++
39433  src/cairo-xlib-surface.c |    7 ++-----
39434  3 files changed, 8 insertions(+), 7 deletions(-)
39435
39436 commit 0d0c6a199c5b631299c72dce80d66ac0f4936a64
39437 Author: Chris Wilson <chris@chris-wilson.co.uk>
39438 Date:   Sun Oct 26 12:53:29 2008 +0000
39439
39440     [matrix] Optimise invert for simple scaling|translation matrices.
39441     
39442     The matrix is quite often just a simple scale and translate (or even
39443     identity!). For this class of matrix, we can skip the full adjoint
39444     rearrangement and determinant calculation and just compute the inverse
39445     directly.
39446
39447  src/cairo-matrix.c |   26 +++++++++++++++++++++++++-
39448  1 file changed, 25 insertions(+), 1 deletion(-)
39449
39450 commit 74876b00cd969d5cfc209fa903dfad50bda59361
39451 Author: Chris Wilson <chris@chris-wilson.co.uk>
39452 Date:   Sat Oct 25 11:33:52 2008 +0100
39453
39454     [xlib] Exploit compaction of XRenderFillRectangle()
39455     
39456     libXrender amalgamates sequences of XRenderFillRectangle() into a single
39457     XRenderFillRectangles request (when permissible). Since it is common for a
39458     cairo application to draw rectangles individually in order to exploit fast
39459     paths within cairo [rectilinear fills], it is a reasonably common pattern.
39460
39461  src/cairo-xlib-surface.c |   50 +++++++++++++++++++++++++++++-----------------
39462  1 file changed, 32 insertions(+), 18 deletions(-)
39463
39464 commit 64726ccfb99ba964420f3a840fd707998927e902
39465 Author: Chris Wilson <chris@chris-wilson.co.uk>
39466 Date:   Fri Oct 24 17:06:04 2008 +0100
39467
39468     [traps] Whitespace.
39469     
39470     Fixup whitespace in line with CODING_STYLE and rest of file.
39471
39472  src/cairo-region.c |    6 +++---
39473  src/cairo-traps.c  |   33 ++++++++++++++++++++-------------
39474  2 files changed, 23 insertions(+), 16 deletions(-)
39475
39476 commit d5543005e7b7cc08f97578f301182ef4807a05fe
39477 Author: Chris Wilson <chris@chris-wilson.co.uk>
39478 Date:   Fri Oct 24 09:00:45 2008 +0100
39479
39480     [surface] Only copy font options if the target surface has them.
39481     
39482     No need to copy font options if the similar surface is from the same
39483     backend and no special options have been applied by the user. Doing so
39484     breaks lazy initialisation of backend specific options.
39485
39486  src/cairo-surface.c |   18 +++++++++++-------
39487  1 file changed, 11 insertions(+), 7 deletions(-)
39488
39489 commit a0023758104b700751ba8d7a66d75db139eea6cb
39490 Author: Chris Wilson <chris@chris-wilson.co.uk>
39491 Date:   Fri Oct 24 08:39:29 2008 +0100
39492
39493     [xlib] Defer querying of font options until first use
39494     
39495     Constructing the font options cause the initialisation of Xlc and invoke
39496     several round-trips to the X server, significantly delaying the creation
39497     of the first surface. By deferring that operation until the first use of
39498     fonts then we avoid that overhead for very simple applications (like the
39499     test suite) and should improve start-up latency for larger application.
39500
39501  src/cairo-xlib-private.h |    4 ++++
39502  src/cairo-xlib-screen.c  |   28 +++++++++++++++++++++++++---
39503  src/cairo-xlib-surface.c |    2 +-
39504  3 files changed, 30 insertions(+), 4 deletions(-)
39505
39506 commit 6706590d4e7ad19dae0b8e3efe6f573d5688e19a
39507 Author: Chris Wilson <chris@chris-wilson.co.uk>
39508 Date:   Mon Sep 29 16:22:48 2008 +0100
39509
39510     [pattern] Reduce likelihood of range overflow with large downscaling.
39511     
39512     Exploit the auxiliary offset vector in the attributes to reduce
39513     likelihood of range overflow in the translation components when converting
39514     the pattern matrix to fixed-point pixman_matrix_t.
39515     
39516     An example of this is bug 9148
39517       Bug 9148 - invalid rendering when painting large scaled-down surfaces
39518       (https://bugs.freedesktop.org/show_bug.cgi?id=9148)
39519     but the issue is perhaps even more likely with high resolution fallback
39520     images.
39521
39522  src/cairo-pattern.c |   19 +++++++++++++++++++
39523  1 file changed, 19 insertions(+)
39524
39525 commit c0af8c70635d641fc5770afc0cd6e9285122fd72
39526 Author: Chris Wilson <chris@chris-wilson.co.uk>
39527 Date:   Mon Oct 20 16:49:23 2008 +0100
39528
39529     [pattern] Tweak REFLECT HACK
39530     
39531     In order to workaound a directfb bug, tweak the reflect->repeat pattern so
39532     that it covers the destination rectangle. Although the number of paint()
39533     increases, the number of read/written pixels remain the same so that
39534     performance should not deteriorate, but instead be improved by using a
39535     cloned source. The early return of the REFLECT surface is discarded so
39536     that the latter optimisations for surface sources can be applied. One side
39537     effect of this is that acquire_source_image() is removed due to its lax
39538     reference counting which thereby exposes the ROI optimisations for image
39539     destinations as well.
39540
39541  src/cairo-pattern.c |  279 +++++++++++++++++++++++++--------------------------
39542  src/cairoint.h      |    1 -
39543  2 files changed, 136 insertions(+), 144 deletions(-)
39544
39545 commit 234623b3d5884b02a0619de8ddd57bbed36ef4fd
39546 Author: Chris Wilson <chris@chris-wilson.co.uk>
39547 Date:   Thu Oct 23 14:55:26 2008 +0100
39548
39549     [pattern] Support unbounded surfaces.
39550     
39551     An unbounded surface should just report an infinite pattern extent and not
39552     return UNSUPPORTED from _cairo_pattern_get_extents().
39553
39554  src/cairo-pattern.c |    3 +++
39555  1 file changed, 3 insertions(+)
39556
39557 commit 2836be6f7565684e86b3cc8a3d2db4ba690b3718
39558 Author: Chris Wilson <chris@chris-wilson.co.uk>
39559 Date:   Thu Oct 23 14:42:47 2008 +0100
39560
39561     Cleanup 'status && status != UNSUPPORTED'
39562     
39563     Replace instances of 'status && status != UNSUPPORTED' with the more
39564     readable _cairo_status_is_error().
39565
39566  src/cairo-analysis-surface.c    |   14 +++++++-------
39567  src/cairo-clip.c                |    4 ++--
39568  src/cairo-pdf-surface.c         |    8 ++++----
39569  src/cairo-ps-surface.c          |    4 ++--
39570  src/cairo-scaled-font-subsets.c |    4 ++--
39571  5 files changed, 17 insertions(+), 17 deletions(-)
39572
39573 commit 13ba43eb8ffc3bb6c8881d91824102a8df86d928
39574 Author: Chris Wilson <chris@chris-wilson.co.uk>
39575 Date:   Thu Oct 23 12:28:25 2008 +0100
39576
39577     [matrix] Optimize finding the bounding box under an orthogonal matrix.
39578     
39579     We frequently need to find the bounds of a pattern under an identity
39580     matrix, or a simple scale+translation. For these cases we do not need to
39581     transform each corner and search for the bounds as the matrix is x/y
39582     separable and so allows us to inspect the results for the extreme x/y
39583     points independently.
39584
39585  src/cairo-matrix.c |   42 +++++++++++++++++++++++++++++++++++++++++-
39586  1 file changed, 41 insertions(+), 1 deletion(-)
39587
39588 commit 6ed957fc242d7890117f4dea121c03ec2523470c
39589 Author: Chris Wilson <chris@chris-wilson.co.uk>
39590 Date:   Wed Oct 22 22:02:05 2008 +0100
39591
39592     [gstate] Use _cairo_pattern_black for the default source.
39593     
39594     Avoid allocating a default source pattern by using the static black pattern
39595     object. The one complication is that we need to ensure that the static
39596     pattern does leak to the application, so we replace it with an allocated
39597     solid pattern within _cairo_gstate_get_source().
39598
39599  src/cairo-gstate.c  |    9 +++++++--
39600  src/cairo-pattern.c |   12 +++++++-----
39601  src/cairo.c         |    6 +++---
39602  src/cairoint.h      |    2 +-
39603  4 files changed, 18 insertions(+), 11 deletions(-)
39604
39605 commit 794460186459981cd43ca38f3eba07e3f6bf8908
39606 Author: Chris Wilson <chris@chris-wilson.co.uk>
39607 Date:   Wed Oct 22 19:24:44 2008 +0100
39608
39609     [pattern] Avoid needless copying of patterns.
39610     
39611     Only copy the pattern if we need to modify it, e.g. preserve a copy in a
39612     snapshot or a soft-mask, or to modify the matrix. Otherwise we can
39613     continue to use the original pattern and mark it as const in order to
39614     generate compiler warnings if we do attempt to write to it.
39615
39616  src/cairo-analysis-surface.c         |   37 +++----
39617  src/cairo-directfb-surface.c         |   33 +++----
39618  src/cairo-glitz-surface.c            |   42 ++++----
39619  src/cairo-gstate.c                   |  117 ++++++++++++++--------
39620  src/cairo-image-surface.c            |    6 +-
39621  src/cairo-meta-surface.c             |   12 +--
39622  src/cairo-paginated-surface.c        |   12 +--
39623  src/cairo-pattern.c                  |   70 +++++--------
39624  src/cairo-pdf-surface.c              |   88 +++++++++++------
39625  src/cairo-ps-surface.c               |   39 ++++----
39626  src/cairo-quartz-surface.c           |   10 +-
39627  src/cairo-scaled-font.c              |    2 +-
39628  src/cairo-sdl-surface.c              |   22 ++---
39629  src/cairo-surface-fallback-private.h |   45 ++++-----
39630  src/cairo-surface-fallback.c         |   65 ++++++------
39631  src/cairo-surface.c                  |  181 +++++++++++++++++++++-------------
39632  src/cairo-svg-surface.c              |   50 +++++-----
39633  src/cairo-type3-glyph-surface.c      |   18 ++--
39634  src/cairo-win32-font.c               |   26 ++---
39635  src/cairo-win32-printing-surface.c   |   51 +++++-----
39636  src/cairo-win32-private.h            |    2 +-
39637  src/cairo-win32-surface.c            |    6 +-
39638  src/cairo-xcb-surface.c              |   42 ++++----
39639  src/cairo-xlib-surface.c             |   14 +--
39640  src/cairoint.h                       |   74 +++++++-------
39641  src/test-meta-surface.c              |   28 +++---
39642  src/test-paginated-surface.c         |   40 ++++----
39643  27 files changed, 605 insertions(+), 527 deletions(-)
39644
39645 commit 9d2189afbd2aa1413f620a4d35016ef3be3fc0e9
39646 Author: Chris Wilson <chris@chris-wilson.co.uk>
39647 Date:   Wed Oct 22 18:29:02 2008 +0100
39648
39649     [pattern] Do not recompute the inverse if setting an identical matrix.
39650     
39651     More micro-optimisation.
39652
39653  src/cairo-pattern.c |    3 +++
39654  1 file changed, 3 insertions(+)
39655
39656 commit 2c277ddbea42222130b8b1c2a2b4934503b40188
39657 Author: Chris Wilson <chris@chris-wilson.co.uk>
39658 Date:   Wed Oct 22 18:17:49 2008 +0100
39659
39660     [matrix] Avoid error correction overhead for translation matrices.
39661     
39662     We can only correct rounding errors between cairo and pixman matrices for
39663     scaled matrices - so skip the inversion and point transformation overhead
39664     for simple translation matrices.
39665
39666  src/cairo-matrix.c |   11 ++++++++---
39667  1 file changed, 8 insertions(+), 3 deletions(-)
39668
39669 commit 57a1d932f3e9d79f3259a536ec2f45f020d46de5
39670 Author: Chris Wilson <chris@chris-wilson.co.uk>
39671 Date:   Wed Oct 22 18:12:10 2008 +0100
39672
39673     [array] Rearrange user_data_fini() to optimize common case.
39674     
39675     Micro-optimisation to avoid the _cairo_array_index() for the common case
39676     of 0 elements.
39677
39678  src/cairo-array.c |   16 ++++++++++------
39679  1 file changed, 10 insertions(+), 6 deletions(-)
39680
39681 commit 2852127c72fa6cfe246e6ece0433be6c3f2a93ab
39682 Author: Chris Wilson <chris@chris-wilson.co.uk>
39683 Date:   Wed Oct 22 18:04:30 2008 +0100
39684
39685     [cairoint] Add a few cairo_pure.
39686     
39687     Start marking up the prototypes with function attributes - first the
39688     obvious pure functions.
39689
39690  src/cairoint.h |   12 ++++++------
39691  1 file changed, 6 insertions(+), 6 deletions(-)
39692
39693 commit cf072c7203dfce989ee60e56352f548329d3d616
39694 Author: Chris Wilson <chris@chris-wilson.co.uk>
39695 Date:   Thu Oct 30 14:35:49 2008 +0000
39696
39697     [sdl] Add new backend.
39698     
39699     Add a new backend to allow easy interoperability with the Simple
39700     DirectMedia Layer.
39701
39702  boilerplate/Makefile.sources                |    3 +
39703  boilerplate/cairo-boilerplate-sdl-private.h |   56 ++++
39704  boilerplate/cairo-boilerplate-sdl.c         |   69 +++++
39705  boilerplate/cairo-boilerplate.c             |   13 +
39706  build/configure.ac.features                 |    1 +
39707  configure.ac                                |    8 +
39708  src/Makefile.sources                        |    3 +
39709  src/cairo-sdl-surface.c                     |  418 +++++++++++++++++++++++++++
39710  src/cairo-sdl.h                             |   54 ++++
39711  src/cairo.h                                 |    4 +-
39712  10 files changed, 628 insertions(+), 1 deletion(-)
39713
39714 commit 31ada1ea15d14c0a843728b105340c270e4e4613
39715 Merge: 30f2df1 ab15d76
39716 Author: Chris Wilson <chris@chris-wilson.co.uk>
39717 Date:   Thu Oct 30 16:56:07 2008 +0000
39718
39719     Merge branch '1.8'
39720
39721 commit ab15d7627506a837fea7101661425bb923ef5b4f
39722 Author: Chris Wilson <chris@chris-wilson.co.uk>
39723 Date:   Thu Oct 30 16:54:23 2008 +0000
39724
39725     [test] Remove XFAIL from user-font-mask
39726     
39727     user-font-mask should PASS modulo the scaling anomalies in the external
39728     renderers, so remove it from the XFAIL list.
39729
39730  test/Makefile.am                  |   15 ++++++---------
39731  test/user-font-mask-pdf-ref.png   |  Bin 0 -> 1927 bytes
39732  test/user-font-mask-ps2-ref.png   |  Bin 0 -> 1927 bytes
39733  test/user-font-mask-ps3-ref.png   |  Bin 0 -> 1927 bytes
39734  test/user-font-mask-svg11-ref.png |  Bin 0 -> 2224 bytes
39735  5 files changed, 6 insertions(+), 9 deletions(-)
39736
39737 commit 540f555840ba4076e3ab86669daf9bee5695afa2
39738 Author: Chris Wilson <chris@chris-wilson.co.uk>
39739 Date:   Thu Oct 23 14:38:44 2008 +0100
39740
39741     [analysis] Only limit to mask extends if bounded by mask.
39742     
39743     The extents of cairo_mask() is only limited to the mask if the operation
39744     is bounded by the mask.
39745
39746  src/cairo-analysis-surface.c            |    8 ++++++--
39747  test/clip-operator-pdf-argb32-ref.png   |  Bin 11145 -> 12125 bytes
39748  test/clip-operator-pdf-rgb24-ref.png    |  Bin 6530 -> 7367 bytes
39749  test/operator-clear-pdf-argb32-ref.png  |  Bin 1438 -> 1614 bytes
39750  test/operator-clear-pdf-rgb24-ref.png   |  Bin 1170 -> 1402 bytes
39751  test/operator-source-pdf-argb32-ref.png |  Bin 4694 -> 5149 bytes
39752  test/operator-source-pdf-rgb24-ref.png  |  Bin 3848 -> 4354 bytes
39753  7 files changed, 6 insertions(+), 2 deletions(-)
39754
39755 commit 4b2998893930e4bab19646e6f0a0c8d2a47f12a2
39756 Author: Chris Wilson <chris@chris-wilson.co.uk>
39757 Date:   Thu Oct 23 14:34:30 2008 +0100
39758
39759     Review users of cairo_rectangle_int_t for incorrect unsigned promotion.
39760     
39761     Adrian Johnson discovered cases where we mistakenly compared the result
39762     of unsigned arithmetic where we need signed quantities. Look for similar
39763     cases in the users of cairo_rectangle_int_t.
39764
39765  src/cairo-analysis-surface.c |   48 ++++++++++++++++++++++--------------
39766  src/cairo-clip.c             |   43 ++++++++++++++++----------------
39767  src/cairo-gstate.c           |    4 +--
39768  src/cairo-pattern.c          |   13 ++++++----
39769  src/cairo-rectangle.c        |    6 ++++-
39770  src/cairo-region-private.h   |    3 ++-
39771  src/cairo-region.c           |    3 ++-
39772  src/cairo-surface-fallback.c |   31 ++++++++++++++---------
39773  src/cairo-surface.c          |   27 +++++++++++---------
39774  src/cairo-win32-surface.c    |    4 +--
39775  src/cairo-xcb-surface.c      |   56 ++++++++++++++----------------------------
39776  src/cairo-xlib-surface.c     |   52 +++++++++++++--------------------------
39777  src/cairoint.h               |    2 +-
39778  13 files changed, 144 insertions(+), 148 deletions(-)
39779
39780 commit 0e4156121f05b14f800289ea34c5382de1f20869
39781 Author: Chris Wilson <chris@chris-wilson.co.uk>
39782 Date:   Thu Oct 23 13:37:41 2008 +0100
39783
39784     [rectangle] Fix unsigned promotion whilst computing intersect.
39785     
39786     _cairo_rectangle_intersect() incorrectly allows unsigned promotion during
39787     its arithmetic.
39788
39789  src/cairo-rectangle.c |   31 +++++++++++++++++--------------
39790  src/cairoint.h        |    3 ++-
39791  2 files changed, 19 insertions(+), 15 deletions(-)
39792
39793 commit 2464b8a0a9f7db7421c257eb4e3ac0d98af34761
39794 Author: Chris Wilson <chris@chris-wilson.co.uk>
39795 Date:   Thu Oct 23 13:36:19 2008 +0100
39796
39797     [pattern] Allow the projected surface extents to be negative.
39798     
39799     In order to handle projection of analysis surface with user-fonts we need
39800     to accommodate patterns extending into negative coordinate space.
39801
39802  src/cairo-pattern.c |    8 ++++----
39803  1 file changed, 4 insertions(+), 4 deletions(-)
39804
39805 commit d5d29075bdbb7f412fa6dc182573da18fd81af54
39806 Author: Chris Wilson <chris@chris-wilson.co.uk>
39807 Date:   Thu Oct 23 15:24:13 2008 +0100
39808
39809     [gstate] Allocate temporary variable for backend_to_user transform.
39810     
39811     _cairo_gstate_backend_to_user_rectangle() requires that its input
39812     arguments are non-NULL and describe the input rectangle to be transformed.
39813     However, we were passing through output parameters from the public API
39814     which were allowed to be NULL. So we need to allocate temporary variables
39815     in which to compute the output rectangle, but only copy them as required.
39816
39817  src/cairo-gstate.c |   69 +++++++++++++++++++++++++++++++++++++---------------
39818  1 file changed, 50 insertions(+), 19 deletions(-)
39819
39820 commit 30f2df1dec419a10408b53ecd26cebfcf607bf27
39821 Author: Carl Worth <cworth@cworth.org>
39822 Date:   Thu Oct 30 08:40:35 2008 -0700
39823
39824     Fix typo in bug URL.
39825     
39826     Thanks to AndrewR in IRC for pointing out the typo.
39827
39828  NEWS |    2 +-
39829  1 file changed, 1 insertion(+), 1 deletion(-)
39830
39831 commit b598dcd1b1726184506de6a9d253f6091a000922
39832 Author: Carl Worth <cworth@cworth.org>
39833 Date:   Thu Oct 30 08:29:51 2008 -0700
39834
39835     Fix release-publish to also update the current manual.
39836     
39837     That is, the vesion that appears as:
39838     
39839         http://cairographics.org/manual
39840     and:
39841         http://cairographics.org/cairo-manual.tar.gz
39842     
39843     It was silly that we previously required a manual step to
39844     upload the documentation (which we regularly forgot to do)
39845     and that it uploaded with a date in the name rather than a
39846     version. So we just drop the old doc-publish Makefile target
39847     now as it's just not useful anymore.
39848
39849  RELEASING                   |    3 ++-
39850  build/Makefile.am.releasing |   18 ++++--------------
39851  2 files changed, 6 insertions(+), 15 deletions(-)
39852
39853 commit 91183a503e3b7bed11e0149783d3974e26daf623
39854 Author: Carl Worth <cworth@cworth.org>
39855 Date:   Thu Oct 30 08:26:55 2008 -0700
39856
39857     RELEASING: Mention that a versioned manual is uploaded.
39858
39859  RELEASING |    2 ++
39860  1 file changed, 2 insertions(+)
39861
39862 commit 5037fa238e820419824773fa2ea475c949e23a8c
39863 Author: Carl Worth <cworth@cworth.org>
39864 Date:   Thu Oct 30 08:23:06 2008 -0700
39865
39866     Increment version to 1.9.1
39867     
39868     We're finalyl opening the 1.9 development series in order to land
39869     lots of exciting new features that people have been working on.
39870
39871  cairo-version.h |    4 ++--
39872  1 file changed, 2 insertions(+), 2 deletions(-)
39873
39874 commit d53537e8b5e3a8345983d8a0529cb230fa2886d1
39875 Author: Carl Worth <cworth@cworth.org>
39876 Date:   Thu Oct 30 08:20:59 2008 -0700
39877
39878     Increment version to 1.8.3 after the 1.8.2 release.
39879     
39880     Thanks to Chris Wilson (who else?) for the last-minute bug fix.
39881
39882  cairo-version.h |    2 +-
39883  1 file changed, 1 insertion(+), 1 deletion(-)
39884
39885 commit f7c958d97221375fdcbb6c58c3b58c07676b7589
39886 Author: Carl Worth <cworth@cworth.org>
39887 Date:   Wed Oct 29 21:02:04 2008 -0700
39888
39889     Increment cairo version to 1.8.2.
39890     
39891     Hurrah! We're finally there.
39892
39893  cairo-version.h |    2 +-
39894  1 file changed, 1 insertion(+), 1 deletion(-)
39895
39896 commit 42711a5586cba5db5451ce2400ee5fe655700391
39897 Author: Chris Wilson <chris@chris-wilson.co.uk>
39898 Date:   Thu Oct 30 09:54:47 2008 +0000
39899
39900     [xlib] Fix _draw_image_surface() with opaque images.
39901     
39902     If the image was opaque with no alpha channel, we filled the output alpha
39903     with 0. Typically, the destination surface for dithering is an RGB window,
39904     so this bug went unnoticed. However, test/xlib-expose-event is an example
39905     where we generate an intermediate alpha-only pixmap for use as a stencil
39906     and this was failing as the mask was left completely transparent. The
39907     simple solution is to ensure that for opaque images, the output alpha is
39908     set to the maximum permissible value.
39909
39910  src/cairo-xlib-surface.c |    9 ++++++++-
39911  1 file changed, 8 insertions(+), 1 deletion(-)
39912
39913 commit c3940d342ac506055c2ce6b7e9b27f92d8a63999
39914 Author: Chris Wilson <chris@chris-wilson.co.uk>
39915 Date:   Thu Oct 30 09:59:48 2008 +0000
39916
39917     [xlib] whitespace
39918     
39919     Tweak the whitespace to lose some unnecessary line wrapping, casts and
39920     blanks.
39921
39922  src/cairo-xlib-surface.c |   10 +++++-----
39923  1 file changed, 5 insertions(+), 5 deletions(-)
39924
39925 commit e51648b601de274559800c63575c7f7e0288f596
39926 Author: Behdad Esfahbod <behdad@behdad.org>
39927 Date:   Thu Oct 30 04:43:45 2008 -0400
39928
39929     [test/xlib-expose-event] Save the output image to disk
39930
39931  test/xlib-expose-event.c |    1 +
39932  1 file changed, 1 insertion(+)
39933
39934 commit f534bd549e1e2283735d1eabb60c015a5949a735
39935 Author: Carl Worth <cworth@cworth.org>
39936 Date:   Wed Oct 29 21:28:56 2008 -0700
39937
39938     Remove test/twin-ref.png.
39939     
39940     I missed this in a previous commit, (I think I had used a
39941     pattern of twin-*-ref.png which of course didn't match
39942     this file).
39943
39944  test/twin-ref.png |  Bin 1836 -> 0 bytes
39945  1 file changed, 0 insertions(+), 0 deletions(-)
39946
39947 commit cf97966c07bc64ff4b169d1d8239407883a26747
39948 Author: Carl Worth <cworth@cworth.org>
39949 Date:   Wed Oct 29 21:01:01 2008 -0700
39950
39951     NEWS: Finish the entry for the 1.8.2 release.
39952     
39953     Add some summarizing paragraphs and organize bug-fixes and optimizations
39954     into separate sections.
39955
39956  NEWS |   89 ++++++++++++++++++++++++++++++++++++++++++++----------------------
39957  1 file changed, 60 insertions(+), 29 deletions(-)
39958
39959 commit b6741cffef6e86d59fa4809d32de14b9c5e8afbf
39960 Author: Chris Wilson <chris@chris-wilson.co.uk>
39961 Date:   Thu Oct 30 01:15:45 2008 +0000
39962
39963     [NEWS] Spot another couple of typos.
39964     
39965     Proof-reading is difficult, even with the squiggly lines.
39966
39967  NEWS |    8 ++++----
39968  1 file changed, 4 insertions(+), 4 deletions(-)
39969
39970 commit d20cc827791e177eb73a9003c6704b7a5bc49f71
39971 Author: Chris Wilson <chris@chris-wilson.co.uk>
39972 Date:   Thu Oct 30 01:06:08 2008 +0000
39973
39974     [NEWS] Correct a couple of typos.
39975     
39976     Whilst Carl's not looking, fix a couple of typos -- in particular the one
39977     calling me a bug! ;-)
39978
39979  NEWS |   10 +++++-----
39980  1 file changed, 5 insertions(+), 5 deletions(-)
39981
39982 commit 0ceda81dfdfc4adcec28c71be7822caa0627d818
39983 Author: Carl Worth <cworth@cworth.org>
39984 Date:   Wed Oct 29 17:38:36 2008 -0700
39985
39986     NEWS: Add long list of bugs fixed for 1.8.2.
39987     
39988     (Still need to add a paragraph or two summarizing the release.)
39989
39990  NEWS |  110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
39991  1 file changed, 110 insertions(+)
39992
39993 commit e0046aaf417a61da008dc6374871fa3687ba94ab
39994 Author: Carl Worth <cworth@cworth.org>
39995 Date:   Wed Oct 29 16:25:00 2008 -0700
39996
39997     Remove twin perf case.
39998     
39999     This performance test relied on the recently-removed ability
40000     to select the internal twin-based font family with a name of
40001     "cairo".
40002     
40003     Presumably, we'll want to bring this performance case back when
40004     some other means of requesting that font face is added.
40005
40006  perf/Makefile.am  |    1 -
40007  perf/cairo-perf.c |    1 -
40008  perf/cairo-perf.h |    1 -
40009  perf/twin.c       |   50 --------------------------------------------------
40010  4 files changed, 53 deletions(-)
40011
40012 commit 292233685534aed712dfd45e8ccf498b792ce496
40013 Author: Carl Worth <cworth@cworth.org>
40014 Date:   Wed Oct 29 16:25:00 2008 -0700
40015
40016     Remove twin test case.
40017     
40018     This test relied on the recently-removed ability to select
40019     the internal twin-based font family with a name of "cairo".
40020     
40021     Presumably, we'll want to bring this test case back when
40022     some other means of requesting that font face is added.
40023
40024  test/.gitignore         |    1 -
40025  test/Makefile.am        |    6 -----
40026  test/twin-ps2-ref.png   |  Bin 1167 -> 0 bytes
40027  test/twin-ps3-ref.png   |  Bin 1167 -> 0 bytes
40028  test/twin-svg11-ref.png |  Bin 1773 -> 0 bytes
40029  test/twin-svg12-ref.png |  Bin 1773 -> 0 bytes
40030  test/twin.c             |   60 -----------------------------------------------
40031  7 files changed, 67 deletions(-)
40032
40033 commit a824d284be23793a5c48b9ae833dcb7b2d5fff80
40034 Author: Carl Worth <cworth@cworth.org>
40035 Date:   Wed Oct 29 16:21:42 2008 -0700
40036
40037     Remove the ability to select the internal font face with a name of "cairo".
40038     
40039     It's not fair to steal this name from the namespace of family names.
40040     There are definitely cairo.ttf files that exist out there, and people
40041     may already be using these, (or may use them in the future), with
40042     cairo_select_font_face and a family name of "cairo".
40043     
40044     In place of this, we'll want to come up with some other new, and
40045     documented API for selecting the internal font face.
40046
40047  src/cairo-font-face.c |    6 ++----
40048  src/cairoint.h        |    1 -
40049  2 files changed, 2 insertions(+), 5 deletions(-)
40050
40051 commit f039da8d9172a6fb60082901c8dc56c7159ecd24
40052 Author: Carl Worth <cworth@cworth.org>
40053 Date:   Wed Oct 29 16:17:24 2008 -0700
40054
40055     Add doltcompile and doltlibtool to .gitignore.
40056     
40057     These generated files were recently added to our build system.
40058     We definitely don't want to see them in git-status output.
40059
40060  .gitignore |    2 ++
40061  1 file changed, 2 insertions(+)
40062
40063 commit 81439b3bc8656b34c13b3cc7b5b6a9f03a3c8c54
40064 Author: Carl Worth <cworth@cworth.org>
40065 Date:   Wed Oct 29 16:15:12 2008 -0700
40066
40067     Add missing files to CLEANFILES and DISTCLEANFILES.
40068     
40069     Without these files in these lists, "make distcheck" is unhappy.
40070
40071  Makefile.am      |    4 +++-
40072  test/Makefile.am |    9 +++++++++
40073  2 files changed, 12 insertions(+), 1 deletion(-)
40074
40075 commit dd0416f5d47a946498219616f53abdad81d4fc38
40076 Author: Carl Worth <cworth@cworth.org>
40077 Date:   Tue Oct 28 18:01:09 2008 -0700
40078
40079     Add recently added reference images to REFERENCE_IMAGES list.
40080     
40081     This is just part of the make-distcheck routine for me. I know
40082     Behdad added a test to check for missing images in the list, but
40083     it doesn't seem to be getting run automatically as part of
40084     'make test' nor 'make distcheck', (or if it it, then I'm not
40085     noticing its output).
40086
40087  test/Makefile.am |    4 ++++
40088  1 file changed, 4 insertions(+)
40089
40090 commit 9cd9644c1d993f86c6eb7bee692fe642d6d280b1
40091 Author: Chris Wilson <chris@chris-wilson.co.uk>
40092 Date:   Wed Oct 29 21:56:36 2008 +0000
40093
40094     [test] Add a pass-through test.
40095     
40096     Check that colour values are correctly passed through all the backends.
40097     Simple test of the most fundamental functionality.
40098
40099  test/.gitignore                 |    1 +
40100  test/Makefile.am                |    3 ++
40101  test/pass-through-ref.png       |  Bin 0 -> 221 bytes
40102  test/pass-through-rgb24-ref.png |  Bin 0 -> 179 bytes
40103  test/pass-through.c             |   99 +++++++++++++++++++++++++++++++++++++++
40104  5 files changed, 103 insertions(+)
40105
40106 commit cec689eab628b59ee1d69e241c5d336760304ea0
40107 Author: Carl Worth <cworth@cworth.org>
40108 Date:   Tue Oct 28 17:18:34 2008 -0700
40109
40110     RELEASING: Suggest running 'make distcheck' against Xvfb.
40111     
40112     This avoids hitting driver-specific bugs in the X server, and is
40113     better than doing 'DISPLAY= make distcheck' which simply disables
40114     all xlib testing completely.
40115
40116  RELEASING |    5 +++++
40117  1 file changed, 5 insertions(+)
40118
40119 commit 0ca6ba18e398db7ed8f8bca5faa93d48aa3a4878
40120 Author: Carl Worth <cworth@cworth.org>
40121 Date:   Tue Oct 28 17:15:42 2008 -0700
40122
40123     Add note to test/README on running with Xvfb.
40124     
40125     This X server has been tested to run through the test suite with
40126     no unexpected failures, and it avoids hitting any X-driver-specific
40127     bugs.
40128
40129  test/README |   17 +++++++++++++++++
40130  1 file changed, 17 insertions(+)
40131
40132 commit eed67717649c343e42ce102a4d78a245dba48925
40133 Author: Carl Worth <cworth@cworth.org>
40134 Date:   Tue Oct 28 17:12:15 2008 -0700
40135
40136     Disable the svg12 target in boilerplate.
40137     
40138     This target was added to the boilerplate during 1.8.1. It currently
40139     shows many failures in the test suite. These failures likely fall
40140     into three different classes:
40141     
40142         * Tests needing new svg12-specific reference images
40143     
40144         * Tests exercising bugs in librsvg
40145     
40146         * Tests exercising existing cairo bugs
40147     
40148     We haven't gone through the effort to separate these, but even for
40149     the tests that are exercising actual cairo bugs, these are likely
40150     bugs that existed in the cairo 1.8.0 release and not regressions.
40151     
40152     Because of that, in this commit I'm conditionally disabling the
40153     testing of the svg12 target. As soon as we increment the cairo
40154     version to 1.9.0 or higher, this target will get re-enabled
40155     automatically and we can begin the work to separate the tests as
40156     described above and also fix the bugs.
40157
40158  boilerplate/cairo-boilerplate.c |    5 +++++
40159  1 file changed, 5 insertions(+)
40160
40161 commit a94928ddfa066f6e6824775b9d0b6008f3fcbf26
40162 Author: Carl Worth <cworth@cworth.org>
40163 Date:   Tue Oct 28 15:55:38 2008 -0700
40164
40165     Add svg-specific reference images for the twin test.
40166     
40167     A bit annoying that I have to add the same image as both -svg11
40168     and -svg12 but that's all the support we have in the current
40169     test suite. I suppose I could avoid doing that by figuring out
40170     why this test case cannot successfully roundtrip through librsvg
40171     and back through cairo.
40172
40173  test/twin-svg11-ref.png |  Bin 0 -> 1773 bytes
40174  test/twin-svg12-ref.png |  Bin 0 -> 1773 bytes
40175  2 files changed, 0 insertions(+), 0 deletions(-)
40176
40177 commit 53554ea8892893098b29a27a23c069f0ee584a06
40178 Author: Carl Worth <cworth@cworth.org>
40179 Date:   Tue Oct 28 15:50:44 2008 -0700
40180
40181     Add ps2-specific reference images for trap-clip test.
40182     
40183     These are quite similar to the existing ps3-specific reference images.
40184     I definitely don't see any reason why this output should be considered
40185     a failure.
40186
40187  test/trap-clip-ps2-argb32-ref.png |  Bin 0 -> 5690 bytes
40188  test/trap-clip-ps2-rgb24-ref.png  |  Bin 0 -> 5617 bytes
40189  2 files changed, 0 insertions(+), 0 deletions(-)
40190
40191 commit 10fd16a05d8549753179ab5cca855539fb7dec94
40192 Author: Carl Worth <cworth@cworth.org>
40193 Date:   Tue Oct 28 15:41:40 2008 -0700
40194
40195     Mark user-font-mask as XFAIL.
40196     
40197     This test is expected to fail due to a couple of known bugs. Chris
40198     has fixes for both bugs, but is holding off on them until after 1.8.2
40199     to prevent introducing any possible new bugs with his fixes.
40200
40201  test/Makefile.am |   10 +++++++++-
40202  1 file changed, 9 insertions(+), 1 deletion(-)
40203
40204 commit 655546243f57ae2a5c1813bd45994b18061f1c74
40205 Author: Carl Worth <cworth@cworth.org>
40206 Date:   Tue Oct 28 15:35:35 2008 -0700
40207
40208     Rename user-font-image test to user-font-mask.
40209     
40210     Otherwise the reference image (user-font-image-ref.png) gets
40211     interpreted as an image-specific reference image for the
40212     user-font test case resulting in a bogus failure.
40213
40214  test/Makefile.am             |    4 +-
40215  test/user-font-image-ref.png |  Bin 6011 -> 0 bytes
40216  test/user-font-image.c       |  254 ------------------------------------------
40217  test/user-font-mask-ref.png  |  Bin 0 -> 6011 bytes
40218  test/user-font-mask.c        |  254 ++++++++++++++++++++++++++++++++++++++++++
40219  5 files changed, 256 insertions(+), 256 deletions(-)
40220
40221 commit 42d2d1b6d3b187b5dbdb630783d7c9bf90c66fb2
40222 Author: Carl Worth <cworth@cworth.org>
40223 Date:   Tue Oct 28 12:48:03 2008 -0700
40224
40225     Correct NEWS to say 'release' instead of 'snapshot' for 1.8.0
40226     
40227     A copy-and-paste bug strikes again.
40228
40229  NEWS |    4 ++--
40230  1 file changed, 2 insertions(+), 2 deletions(-)
40231
40232 commit 1327ec232cfca675647fb03876487c92fb638354
40233 Author: Chris Wilson <chris@chris-wilson.co.uk>
40234 Date:   Tue Oct 28 10:00:38 2008 +0000
40235
40236     [image] Remove invalid assert.
40237     
40238     The assert can fail for an error surface.
40239     
40240     TODO: Decide what values should be returned from getters for error
40241     surfaces.
40242
40243  src/cairo-image-surface.c |    2 --
40244  1 file changed, 2 deletions(-)
40245
40246 commit 9481d999df8d399543bdbb45b85bd24b1725bece
40247 Author: Chris Wilson <chris@chris-wilson.co.uk>
40248 Date:   Tue Oct 28 09:59:01 2008 +0000
40249
40250     [image] Check create_for_data() to ensure a valid minimum stride.
40251     
40252     Double check that the user is not being silly by passing in a stride that
40253     is too small for the width. evince/poppler is one such example...
40254
40255  src/cairo-image-surface.c |   12 ++++++++++++
40256  1 file changed, 12 insertions(+)
40257
40258 commit 88f628b3972819c0f6ce8e5f06d0f7e6abb9d661
40259 Author: Chris Wilson <chris@chris-wilson.co.uk>
40260 Date:   Tue Oct 28 09:11:23 2008 +0000
40261
40262     [perf] Fix rectangular case of unaligned-clip.
40263     
40264     Janoos spotted that the unaligned clip actually degenerated to an empty
40265     clip due to a typo when constructing the second rectangle. Simply use a
40266     cairo_rectangle() instead.
40267
40268  perf/unaligned-clip.c |    9 +++------
40269  1 file changed, 3 insertions(+), 6 deletions(-)
40270
40271 commit 1522805f39c505ff05231e67de5a6e6686081d46
40272 Author: Behdad Esfahbod <behdad@behdad.org>
40273 Date:   Mon Oct 27 20:57:56 2008 -0400
40274
40275     [Makefile.am.releasing] Fix typo
40276
40277  build/Makefile.am.releasing |    2 +-
40278  1 file changed, 1 insertion(+), 1 deletion(-)
40279
40280 commit 3386794d96d2b1616af9db5b7df1fc5c7a5796a7
40281 Author: Carl Worth <cworth@cworth.org>
40282 Date:   Mon Oct 27 14:09:19 2008 -0700
40283
40284     Add creation of a versioned manual to the release-publish target.
40285     
40286     This arranges so that a versioned manual will be available of the form:
40287     
40288         http://cairographics.org/manual-X.Y.Z
40289     
40290     for all future releases and snapshots. We're going through the process
40291     of manually doing all former releases, such as:
40292     
40293         http://cairographics.org/manual-1.2.0/
40294     
40295     which the LSB folks wanted to reference.
40296
40297  build/Makefile.am.releasing |   27 ++++++++++++++++++---------
40298  1 file changed, 18 insertions(+), 9 deletions(-)
40299
40300 commit a1a7ec6a056fa36389a48c0f53884ae7e92ebc1a
40301 Author: Adrian Johnson <ajohnson@redneon.com>
40302 Date:   Mon Oct 27 23:13:05 2008 +1030
40303
40304     Change ps to ps3 in test/README
40305     
40306     The ps target no longer exists.
40307
40308  test/README |    2 +-
40309  1 file changed, 1 insertion(+), 1 deletion(-)
40310
40311 commit 670d942fe3dafbed5ceca234e760f29f793233cb
40312 Author: Adrian Johnson <ajohnson@redneon.com>
40313 Date:   Mon Oct 27 23:04:16 2008 +1030
40314
40315     Change user-font-image test to use a pattern
40316     
40317     This can be used to expose a bug in _cairo_rectangle_intersect() by
40318     changing:
40319     
40320       fixed_scale = 1024 to 1 in cairo-user-font.c
40321     
40322     and
40323     
40324     cairo_matrix_translate (&matrix, 0, -8) to (&matrix, 0, -9) in
40325     user-font-image.c
40326     
40327     This will cause cairo_text_extents (cr, text, &extents) in
40328     user-font-image.c to return a height of 8388683.
40329
40330  test/user-font-image-ref.png |  Bin 5502 -> 6011 bytes
40331  test/user-font-image.c       |   13 +++++++++++--
40332  2 files changed, 11 insertions(+), 2 deletions(-)
40333
40334 commit cdacf55e1b16a6982c681fab212405fc4af4f1db
40335 Author: Adrian Johnson <ajohnson@redneon.com>
40336 Date:   Mon Oct 27 22:07:04 2008 +1030
40337
40338     Add user-font-image test
40339     
40340     Draws bitmap glyphs using cairo_mask(). This test exposes a bug in the
40341     calculation of the glyph extents.
40342
40343  test/Makefile.am             |    2 +
40344  test/user-font-image-ref.png |  Bin 0 -> 5502 bytes
40345  test/user-font-image.c       |  245 ++++++++++++++++++++++++++++++++++++++++++
40346  3 files changed, 247 insertions(+)
40347
40348 commit 22e2dac819de3c082424ebf3ce8f64c9c4797e8a
40349 Author: Chris Wilson <chris@chris-wilson.co.uk>
40350 Date:   Sun Oct 26 10:21:37 2008 +0000
40351
40352     [stroke] Ensure we record the first face for a dashed path.
40353     
40354     If the first face was outside the bounds then we skipped it, and so a
40355     close would incorrectly connect to the first visible face.
40356
40357  src/cairo-path-stroke.c |    1 +
40358  1 file changed, 1 insertion(+)
40359
40360 commit 64fb3290f00bafc4a10e6432226f669a51fa0bc6
40361 Author: Chris Wilson <chris@chris-wilson.co.uk>
40362 Date:   Sun Oct 26 09:54:03 2008 +0000
40363
40364     [stroke] _cairo_stroker_line_to_dashed() whitespace
40365     
40366     A couple of comment spelling mistakes and rearrange whitespace to more
40367     closely match CODING_STYLE.
40368
40369  src/cairo-path-stroke.c |   57 ++++++++++++++++++++++++++++++++---------------
40370  1 file changed, 39 insertions(+), 18 deletions(-)
40371
40372 commit 88935947d11762c91e282fb129c493afc6f2f1a6
40373 Author: Chris Wilson <chris@chris-wilson.co.uk>
40374 Date:   Sun Oct 26 08:19:31 2008 +0000
40375
40376     [test] Add leaky-dashed-stroke
40377     
40378     A test case for a leak whilst closing a dashed stroke extracted from the
40379     report by Jeff Muizelaar who found the artifact whilst looking at
40380       firefox http://people.mozilla.com/~jmuizelaar/BerlinDistricts-check.svg
40381
40382  test/.gitignore                      |    1 +
40383  test/Makefile.am                     |    4 +
40384  test/leaky-dashed-stroke-ps2-ref.png |  Bin 0 -> 5511 bytes
40385  test/leaky-dashed-stroke-ps3-ref.png |  Bin 0 -> 5511 bytes
40386  test/leaky-dashed-stroke-ref.png     |  Bin 0 -> 9214 bytes
40387  test/leaky-dashed-stroke.c           |  174 ++++++++++++++++++++++++++++++++++
40388  6 files changed, 179 insertions(+)
40389
40390 commit 195fd27cc64c7aaf18a6d48ccd9d94548331fd4d
40391 Author: Chris Wilson <chris@chris-wilson.co.uk>
40392 Date:   Wed Oct 22 22:04:53 2008 +0100
40393
40394     [build] Use AC_LINK_IFELSE for testing linker flags.
40395     
40396     Richard Hult reported that -Wl,--allow-shlib-undefined was incorrectly
40397     being identified as supported by gcc under Mac OS/X:
40398     
40399     configure:25103: checking whether gcc supports -Wl,--allow-shlib-undefined
40400     configure:25117: gcc -c -Werror -Wl,--allow-shlib-undefined  conftest.c
40401     >&5
40402     i686-apple-darwin9-gcc-4.0.1: --allow-shlib-undefined: linker input file
40403     unused because linking not done
40404     
40405     So instead of just checking whether the compiler accepts the flag, check
40406     that we can actually link a dummy file.
40407
40408  build/aclocal.cairo.m4      |   20 ++++++++++++++++++++
40409  build/configure.ac.warnings |    2 +-
40410  2 files changed, 21 insertions(+), 1 deletion(-)
40411
40412 commit d692284ab8f90d7402621f1a07aaddcf11d87ef5
40413 Author: Behdad Esfahbod <behdad@behdad.org>
40414 Date:   Thu Oct 23 01:45:35 2008 -0400
40415
40416     [test/user-font] Exercise glyph 0
40417     
40418     Previously there was a bug in cairo and/or poppler causing glyph 0 of
40419     user fonts to not show up.  This is fixed now, so we exercise glyph 0.
40420
40421  test/user-font.c |    7 +++----
40422  1 file changed, 3 insertions(+), 4 deletions(-)
40423
40424 commit e6219f7116311d999054dc31df081aa66a0cd2d3
40425 Author: Chris Wilson <chris@chris-wilson.co.uk>
40426 Date:   Wed Oct 22 17:53:05 2008 +0100
40427
40428     [win32] Correct error paths in text_to_glyphs().
40429     
40430     Carl spotted that 1db894 introduced an error into text_to_glyphs() such
40431     that following an allocation error the code would attempt to thaw an
40432     unfrozen glyph cache, leading to an attempt to unlock an unlocked mutex -
40433     which causes a deadlock under win32.
40434
40435  src/cairo-win32-font.c |    7 ++++---
40436  1 file changed, 4 insertions(+), 3 deletions(-)
40437
40438 commit 09651a1c1a4856607423e9b06c1f7c397ba4f304
40439 Author: Chris Wilson <chris@chris-wilson.co.uk>
40440 Date:   Wed Oct 8 22:39:48 2008 +0100
40441
40442     Twin perf case
40443
40444  perf/Makefile.am  |    3 ++-
40445  perf/cairo-perf.c |    1 +
40446  perf/cairo-perf.h |    1 +
40447  perf/twin.c       |   50 ++++++++++++++++++++++++++++++++++++++++++++++++++
40448  4 files changed, 54 insertions(+), 1 deletion(-)
40449
40450 commit 954ebacb71071c53c4e4092b469417f01478bc2d
40451 Author: Chris Wilson <chris@chris-wilson.co.uk>
40452 Date:   Wed Oct 22 15:43:56 2008 +0100
40453
40454     Map toy font face to implementation.
40455     
40456     Quartz fonts and user fonts use an indirect font face when creating a
40457     scaled font for the toy font face. This means that they insert a scaled
40458     font into the font map that has a different font face to the one that is
40459     initially searched upon. The result is that when we try to create an
40460     identical scaled font, we fail to find the existing scaled font and
40461     attempt to insert a duplicate into the hash table - which triggers an
40462     assert.
40463     
40464     In order to avoid creating duplicate fonts, we add a new method to the
40465     font backends that allows cairo_scaled_font_create() to peek at the
40466     font_face that will be used to actually implement the scaled font
40467     constructor - thus we are able to use the correct font_face as part of the
40468     hash key.
40469
40470  src/cairo-font-face.c   |   34 +++++++++++++++++++++++++++++
40471  src/cairo-ft-font.c     |    2 ++
40472  src/cairo-quartz-font.c |   55 +++++++++++++++++++++++++++++++++++++----------
40473  src/cairo-scaled-font.c |   11 +++++++++-
40474  src/cairo-user-font.c   |   37 +++++++++++++++++++++++--------
40475  src/cairo-win32-font.c  |    2 ++
40476  src/cairoint.h          |    8 +++++++
40477  7 files changed, 128 insertions(+), 21 deletions(-)
40478
40479 commit 5e4a1cb0b830f069d99c9512563c82ad628587e3
40480 Author: Adrian Johnson <ajohnson@redneon.com>
40481 Date:   Wed Oct 22 21:36:42 2008 +1030
40482
40483     Don't add a notdef glyph to Type 3 font subsets
40484     
40485     This allows user-fonts to use glyph 0 when embedding in PS/PDF.
40486     According to ISO32000 Type 3 fonts do not require a notdef glyph.
40487
40488  src/cairo-pdf-surface.c                 |   19 ++++------
40489  src/cairo-ps-surface.c                  |   21 ++++-------
40490  src/cairo-scaled-font-subsets.c         |   59 ++++++++++++++++++-------------
40491  src/cairo-type3-glyph-surface-private.h |    6 ----
40492  src/cairo-type3-glyph-surface.c         |   16 ---------
40493  5 files changed, 48 insertions(+), 73 deletions(-)
40494
40495 commit 170686d4b0ed913a1a175f3f354ec5796814b416
40496 Author: Chris Wilson <chris@chris-wilson.co.uk>
40497 Date:   Wed Oct 22 01:01:06 2008 +0100
40498
40499     [cairoint] Remove the duplicate prototype.
40500     
40501     In the previous commit I added comments and a duplicate prototype. Remove
40502     the duplicate - but keep the comments.
40503
40504  src/cairoint.h |    3 ---
40505  1 file changed, 3 deletions(-)
40506
40507 commit 1db8949f2baf1e620e1d5ef73a66de211420bd0a
40508 Author: Chris Wilson <chris@chris-wilson.co.uk>
40509 Date:   Tue Oct 21 22:48:17 2008 +0100
40510
40511     Ensure that the scaled font is frozen for the lifetime of the scaled glyph.
40512     
40513     After discussing the scaled font locking with Behdad, it transpired that it
40514     is not sufficient for a font to be locked for the lifetime of a scaled glyph,
40515     but that the scaled font's glyph cache must be frozen for the glyph'
40516     lifetime.  If the cache is not frozen, then there is a possibility that the
40517     glyph may be evicted before the reference goes out of scope i.e. the glyph
40518     becomes invalid whilst we are trying to use it.
40519     
40520     Since the freezing of the cache is the stronger barrier, we remove the
40521     locking/unlocking of the mutex from the backends and instead move the
40522     mutex acquisition into the freeze/thaw routines. Then update the rule on
40523     acquiring glyphs to enforce that the cache is frozen and review the usage
40524     of freeze/thaw by all the backends to ensure that the cache is frozen for
40525     the lifetime of the glyph.
40526
40527  src/cairo-directfb-surface.c    |    4 +-
40528  src/cairo-glitz-surface.c       |    2 +-
40529  src/cairo-gstate.c              |    4 -
40530  src/cairo-meta-surface.c        |    2 -
40531  src/cairo-mutex-impl-private.h  |    3 +-
40532  src/cairo-mutex-type-private.h  |    3 +
40533  src/cairo-paginated-surface.c   |    2 -
40534  src/cairo-pdf-surface.c         |    2 -
40535  src/cairo-scaled-font-subsets.c |   30 +++---
40536  src/cairo-scaled-font.c         |   81 ++++++++++-----
40537  src/cairo-surface-fallback.c    |    1 +
40538  src/cairo-surface.c             |    4 -
40539  src/cairo-svg-surface.c         |    4 +-
40540  src/cairo-type1-fallback.c      |    9 +-
40541  src/cairo-type3-glyph-surface.c |   18 ++--
40542  src/cairo-user-font.c           |    1 -
40543  src/cairo-win32-font.c          |   12 ++-
40544  src/cairo-xcb-surface.c         |  216 +++++++++++++++++++++++----------------
40545  src/cairo-xlib-surface.c        |   57 ++++++-----
40546  src/cairoint.h                  |    4 +
40547  src/test-meta-surface.c         |   25 +----
40548  src/test-paginated-surface.c    |   25 +----
40549  22 files changed, 280 insertions(+), 229 deletions(-)
40550
40551 commit b2cbbceb4ca57816a498c2c1e676b19182c34e12
40552 Author: Chris Wilson <chris@chris-wilson.co.uk>
40553 Date:   Tue Oct 21 19:44:42 2008 +0100
40554
40555     [test/meta-surface-pattern] Propagate errors.
40556     
40557     Use cairo_get_target() to propagate any errors from the secondary context.
40558
40559  test/meta-surface-pattern.c |    5 ++---
40560  1 file changed, 2 insertions(+), 3 deletions(-)
40561
40562 commit 9d4262ebe07bacacd6e743dea616b37ac51eac01
40563 Author: Behdad Esfahbod <behdad@behdad.org>
40564 Date:   Tue Oct 21 17:44:47 2008 -0400
40565
40566     [build] Use dolt
40567     
40568     Dolt is a hack to speed up libtool-based build systems:
40569     
40570         http://dolt.freedesktop.org/
40571     
40572     It's completely transparent to the user.  Brings make time
40573     of cairo from 70s down to 20s.  Yay!
40574
40575  build/aclocal.dolt.m4 |  177 +++++++++++++++++++++++++++++++++++++++++++++++++
40576  configure.ac          |    1 +
40577  2 files changed, 178 insertions(+)
40578
40579 commit 5a822046cc66d8405618370c1071433016969020
40580 Author: Chris Wilson <chris@chris-wilson.co.uk>
40581 Date:   Tue Oct 21 11:22:48 2008 +0100
40582
40583     [test/xlib-expose-event] Propagate errors.
40584     
40585     Use cairo_get_target() to propagate errors from secondary contexts.
40586
40587  test/xlib-expose-event.c |   10 +++++++---
40588  1 file changed, 7 insertions(+), 3 deletions(-)
40589
40590 commit 21223cc12ca00c52c0b39dc60db410f29e4e76c9
40591 Author: Chris Wilson <chris@chris-wilson.co.uk>
40592 Date:   Tue Oct 21 11:29:12 2008 +0100
40593
40594     [test/unbounded-operator] Propagate errors.
40595     
40596     Use cairo_get_target() to propagate errors from secondary contexts.
40597
40598  test/unbounded-operator.c |    6 ++----
40599  1 file changed, 2 insertions(+), 4 deletions(-)
40600
40601 commit 4c8de6d99d337338d6fd57134247515f9815b5e5
40602 Author: Chris Wilson <chris@chris-wilson.co.uk>
40603 Date:   Tue Oct 21 11:21:37 2008 +0100
40604
40605     [test/surface-pattern-scale-up] Propagate errors.
40606     
40607     Use cairo_get_target() to propagate errors from the secondary context.
40608
40609  test/surface-pattern-scale-up.c |    7 ++++---
40610  1 file changed, 4 insertions(+), 3 deletions(-)
40611
40612 commit e8de7d1c3605fa6d89640fb4e0631c07e5366348
40613 Author: Chris Wilson <chris@chris-wilson.co.uk>
40614 Date:   Tue Oct 21 11:20:54 2008 +0100
40615
40616     [test/surface-pattern-scale-down] Propagate errors.
40617     
40618     Use cairo_get_target() to propagate errors from the secondary context.
40619
40620  test/surface-pattern-scale-down.c |    7 ++++---
40621  1 file changed, 4 insertions(+), 3 deletions(-)
40622
40623 commit b5551cfce2969358746dadae90cbe1add012e29c
40624 Author: Chris Wilson <chris@chris-wilson.co.uk>
40625 Date:   Tue Oct 21 11:19:40 2008 +0100
40626
40627     [test/rotate-image-surface-paint] Proapgate errors.
40628     
40629     Use cairo_get_target() to propagate errors from the secondary context.
40630
40631  test/rotate-image-surface-paint.c |    7 ++++---
40632  1 file changed, 4 insertions(+), 3 deletions(-)
40633
40634 commit 6d41ffbbed2ad3bab2b1a58e1e5d9e1570a37926
40635 Author: Chris Wilson <chris@chris-wilson.co.uk>
40636 Date:   Tue Oct 21 11:18:37 2008 +0100
40637
40638     [test/pixman-rotate] Propagate errors
40639     
40640     Use cairo_get_target() to propagate errors from the secondary context.
40641
40642  test/pixman-rotate.c |   33 ++++++++++++++++-----------------
40643  1 file changed, 16 insertions(+), 17 deletions(-)
40644
40645 commit 64949b81735ee4e43772224d10031f7edfbc8068
40646 Author: Chris Wilson <chris@chris-wilson.co.uk>
40647 Date:   Tue Oct 21 11:17:13 2008 +0100
40648
40649     [test/operator-source] Propagate errors.
40650     
40651     Use cairo_get_target() to propagate errors from the secondary context.
40652
40653  test/operator-source.c |   12 ++++--------
40654  1 file changed, 4 insertions(+), 8 deletions(-)
40655
40656 commit 971f030b7dca7ce24e54d0465900e6984020345e
40657 Author: Chris Wilson <chris@chris-wilson.co.uk>
40658 Date:   Tue Oct 21 11:27:17 2008 +0100
40659
40660     [test/operator-clear] Propagate errors.
40661     
40662     Use cairo_get_target() to propagate errors from secondary contexts.
40663
40664  test/operator-clear.c |    6 ++----
40665  1 file changed, 2 insertions(+), 4 deletions(-)
40666
40667 commit 9b919b0e91b6c64acbcbfc05c72610188327be67
40668 Author: Chris Wilson <chris@chris-wilson.co.uk>
40669 Date:   Tue Oct 21 11:14:51 2008 +0100
40670
40671     [test/extend-pad] Propagate errors.
40672     
40673     Use cairo_get_target() to propagate errors from the secondary context.
40674
40675  test/extend-pad.c |    7 ++++---
40676  1 file changed, 4 insertions(+), 3 deletions(-)
40677
40678 commit 69415b4fc6387acda7498847f8181c802c8b0982
40679 Author: Chris Wilson <chris@chris-wilson.co.uk>
40680 Date:   Tue Oct 21 11:25:38 2008 +0100
40681
40682     [test/device-offset-scale] Propagate errors
40683     
40684     Use cairo_get_target() to propagate errors from the secondary contexts.
40685
40686  test/device-offset-scale.c |   14 +++++++-------
40687  1 file changed, 7 insertions(+), 7 deletions(-)
40688
40689 commit 9ab296123ef49259a67e8dc43708023da2759283
40690 Author: Chris Wilson <chris@chris-wilson.co.uk>
40691 Date:   Tue Oct 21 11:14:01 2008 +0100
40692
40693     [test/device-offset-positive] Propagate errors.
40694     
40695     Use cairo_get_target() to propagate errors from the secondary context.
40696
40697  test/device-offset-positive.c |   12 +++++-------
40698  1 file changed, 5 insertions(+), 7 deletions(-)
40699
40700 commit 594fa0836f2526e0a7f44fc7184f7f09de7dd41f
40701 Author: Chris Wilson <chris@chris-wilson.co.uk>
40702 Date:   Tue Oct 21 11:12:11 2008 +0100
40703
40704     [test/device-offset] Propagate error.
40705     
40706     Use cairo_get_target() to propagate errors from the secondary context.
40707
40708  test/device-offset.c |    6 +++---
40709  1 file changed, 3 insertions(+), 3 deletions(-)
40710
40711 commit 29da47be60b0373ff93769f9f373a20b15a01e0f
40712 Author: Chris Wilson <chris@chris-wilson.co.uk>
40713 Date:   Tue Oct 21 10:42:41 2008 +0100
40714
40715     [ps] Check for an empty font subset.
40716     
40717     Return early before trying to emit an empty subset into the document -
40718     avoids a potential use of an uninitialised status variable.
40719
40720  src/cairo-ps-surface.c |    3 +++
40721  1 file changed, 3 insertions(+)
40722
40723 commit fd1f3c27e093b1f51f0c1a381cc02cbf8f9889d7
40724 Author: Chris Wilson <chris@chris-wilson.co.uk>
40725 Date:   Tue Oct 21 09:17:56 2008 +0100
40726
40727     [configure] Check for atomic xchg.
40728     
40729     Bug 18140 identifies a case where we have an atomic increment, but not an
40730     atomic exchange. We need both to implement atomic reference counting, so
40731     add a second check to detect whether __sync_val_compare_and_swap
40732     generates a non-atomic instruction.
40733     
40734     Fixes http://bugs.freedesktop.org/show_bug.cgi?id=18140.
40735
40736  build/aclocal.cairo.m4 |    5 ++++-
40737  1 file changed, 4 insertions(+), 1 deletion(-)
40738
40739 commit 71e4f7e3a10e6c9794360473d0114b27b42bcead
40740 Author: Chris Wilson <chris@chris-wilson.co.uk>
40741 Date:   Mon Oct 20 23:54:57 2008 +0100
40742
40743     Add API documentation for NULL filenames and write_funcs.
40744     
40745     Mention in the API docs that you can pass a NULL filename to
40746     cairo_(pdf|ps|svg)_surface_create in order to construct a queryable
40747     surface without generating any temporary files. Similarly when passing a
40748     NULL write_func to cairo_pdf_surface_create_for_stream et al.
40749
40750  src/cairo-pdf-surface.c |   10 ++++++++--
40751  src/cairo-ps-surface.c  |   10 ++++++++--
40752  src/cairo-svg-surface.c |   10 ++++++++--
40753  3 files changed, 24 insertions(+), 6 deletions(-)
40754
40755 commit 6cb2b29434ffd5e718868d90e31cb050904b3ea7
40756 Author: Chris Wilson <chris@chris-wilson.co.uk>
40757 Date:   Mon Oct 20 23:22:16 2008 +0100
40758
40759     [mutex] s/HOLDS_MUTEX/MUTEX_IS_LOCKED/
40760     
40761     Behdad prefers the latter to keep a clean namespace.
40762
40763  src/cairo-mutex-impl-private.h |    2 +-
40764  src/cairo-mutex-type-private.h |    4 ++--
40765  src/cairo-scaled-font.c        |   18 +++++++++---------
40766  3 files changed, 12 insertions(+), 12 deletions(-)
40767
40768 commit ae9d17c015867002895c8aa4e1c6dd1ef370dd20
40769 Author: Chris Wilson <chris@chris-wilson.co.uk>
40770 Date:   Mon Oct 20 22:31:17 2008 +0100
40771
40772     [directfb] Unbounded operators are unsupported.
40773     
40774     Currently the emulation of Porter-Duff operators does not correctly
40775     handle the unbounded operators.
40776
40777  src/cairo-directfb-surface.c |   10 ++++++++++
40778  1 file changed, 10 insertions(+)
40779
40780 commit 1f35f31c4ee50dcc2f7c8616b9bbb5c45b4ed707
40781 Author: Chris Wilson <chris@chris-wilson.co.uk>
40782 Date:   Mon Oct 20 22:14:41 2008 +0100
40783
40784     [directfb] Fallback for SATURATE
40785     
40786     We're unable to satisfactorily emulate SATURATE using the src/dst blend
40787     modes, so fallback. (Might just be a bug in libdirectfb...)
40788
40789  src/cairo-directfb-surface.c |    3 +++
40790  1 file changed, 3 insertions(+)
40791
40792 commit c7951c4a368baaeeadca4e2a18d3ad45225380a0
40793 Author: Chris Wilson <chris@chris-wilson.co.uk>
40794 Date:   Mon Oct 20 22:04:58 2008 +0100
40795
40796     [directfb] Perfom text fallback if emulating clip regions.
40797     
40798     Fallback if we have a clip that is not a simple region.
40799
40800  src/cairo-directfb-surface.c |   14 ++++++++++++--
40801  1 file changed, 12 insertions(+), 2 deletions(-)
40802
40803 commit 98933fd4b8579b68623a8212015769b058db43f5
40804 Author: Chris Wilson <chris@chris-wilson.co.uk>
40805 Date:   Mon Oct 20 20:59:14 2008 +0100
40806
40807     [directfb] When blitting check if we need the un-premultiplied color.
40808     
40809     When blitting whether we need to use the premultiplied color is dependent
40810     upon the destination surface capabilities.
40811
40812  src/cairo-color.c            |    3 ++
40813  src/cairo-directfb-surface.c |   75 ++++++++++++++++++++++++++++--------------
40814  2 files changed, 54 insertions(+), 24 deletions(-)
40815
40816 commit 4af8aa5f4d31141a6a4ba914cc860aff5d342d5b
40817 Author: Chris Wilson <chris@chris-wilson.co.uk>
40818 Date:   Mon Oct 20 20:15:12 2008 +0100
40819
40820     [directfb] Apply clip to release_dest_image()
40821     
40822     We need to respect the current clip when copying the fallback image back to
40823     the target surface.
40824
40825  src/cairo-directfb-surface.c |   23 ++++++++++++++---------
40826  1 file changed, 14 insertions(+), 9 deletions(-)
40827
40828 commit 0ba5085ba06fd1c0ff1ebc88111d4573675a2e17
40829 Author: Chris Wilson <chris@chris-wilson.co.uk>
40830 Date:   Mon Oct 20 19:41:20 2008 +0100
40831
40832     [directfb] Fix OBO in clip.
40833     
40834     DirectFB seems to use inclusive upper bounds.
40835
40836  src/cairo-directfb-surface.c |    4 ++--
40837  1 file changed, 2 insertions(+), 2 deletions(-)
40838
40839 commit 2743e84171fd2a548ac37b1fdd3611d319acded0
40840 Author: Chris Wilson <chris@chris-wilson.co.uk>
40841 Date:   Mon Oct 20 19:32:21 2008 +0100
40842
40843     [directfb] Force NEAREST.
40844     
40845     The current version of DirectFB does not support any filters, so set
40846     NEAREST on the source patterns so that we can fully optimize the pattern
40847     inside core.
40848
40849  src/cairo-directfb-surface.c |    5 +++++
40850  1 file changed, 5 insertions(+)
40851
40852 commit f1669d31c0064b8ffbc7db2527fed85488fb305c
40853 Author: Chris Wilson <chris@chris-wilson.co.uk>
40854 Date:   Mon Oct 20 19:03:33 2008 +0100
40855
40856     [directfb] Track the empty clip rectangle.
40857     
40858     A region with no extents means everything should be clipped out, so we
40859     need an extra flag to disambiguate when we have 0 clip rectangles.
40860
40861  src/cairo-directfb-surface.c |    6 +++++-
40862  1 file changed, 5 insertions(+), 1 deletion(-)
40863
40864 commit ebe3048f9b74ff949795a807a7076ec756150ede
40865 Author: Chris Wilson <chris@chris-wilson.co.uk>
40866 Date:   Mon Oct 20 18:59:03 2008 +0100
40867
40868     [directfb] Cap the maximum surface size to use for the font cache.
40869     
40870     Fallback if we need to create a cache larger than the maximum usable
40871     surface.
40872
40873  src/cairo-directfb-surface.c |   10 +++++++---
40874  1 file changed, 7 insertions(+), 3 deletions(-)
40875
40876 commit 6f35c2d13e4cb736634bf446d3b8ee38cc6a6b9b
40877 Author: Chris Wilson <chris@chris-wilson.co.uk>
40878 Date:   Mon Oct 20 18:39:45 2008 +0100
40879
40880     [directfb] Only use the pure BLIT for integer translations.
40881     
40882     If we have non-integer translation on a source pattern then we need to use
40883     STRECTHBLIT (the core takes care to optimize NEAREST patterns to integer
40884     translations so that this will only be used when interpolation is
40885     required).
40886
40887  src/cairo-directfb-surface.c |   30 +++++++++++++++++++++++-------
40888  1 file changed, 23 insertions(+), 7 deletions(-)
40889
40890 commit 55bb7087b0236fe27980efda829f7b72e047b316
40891 Author: Chris Wilson <chris@chris-wilson.co.uk>
40892 Date:   Mon Oct 20 16:47:41 2008 +0100
40893
40894     [directfb] Tweak _categorize_operation().
40895     
40896     Explicitly list the extend modes that are supported/unsupported and
40897     immediately check for an unsupported operation.
40898
40899  src/cairo-directfb-surface.c |   37 +++++++++++++++++++++++++------------
40900  1 file changed, 25 insertions(+), 12 deletions(-)
40901
40902 commit edb65213ec975e517165bc3b623f676a12917d0c
40903 Author: Chris Wilson <chris@chris-wilson.co.uk>
40904 Date:   Mon Oct 20 16:46:08 2008 +0100
40905
40906     [directfb] Support ROI cloning.
40907     
40908     Only clone the ROI in order to efficiently handle large sources.
40909
40910  src/cairo-directfb-surface.c |   11 ++++-------
40911  1 file changed, 4 insertions(+), 7 deletions(-)
40912
40913 commit 4006e49ac1e96a983346f97be97bfd850f247ab0
40914 Author: Chris Wilson <chris@chris-wilson.co.uk>
40915 Date:   Mon Oct 20 16:45:06 2008 +0100
40916
40917     [directfb] Rename backend structure.
40918     
40919     Use _cairo_directfb_surface_backend for consistency with other backends.
40920
40921  src/cairo-directfb-surface.c |   37 ++++++++++++++++++++++++-------------
40922  1 file changed, 24 insertions(+), 13 deletions(-)
40923
40924 commit 7e31ddbb08a6a7cf1db06c950c3768e54a5f4cfa
40925 Author: Chris Wilson <chris@chris-wilson.co.uk>
40926 Date:   Mon Oct 20 13:04:20 2008 +0100
40927
40928     [directfb] Whitespace.
40929     
40930     Trim lots of trailing whitespace and fix up according to CODING_STYLE.
40931
40932  src/cairo-directfb-surface.c | 1478 +++++++++++++++++++++---------------------
40933  1 file changed, 733 insertions(+), 745 deletions(-)
40934
40935 commit d49563280b80dd85275057b6442d2f4ece8d724c
40936 Author: Chris Wilson <chris@chris-wilson.co.uk>
40937 Date:   Mon Oct 20 12:49:52 2008 +0100
40938
40939     [directfb] Simplify return from _directfb_get_operator().
40940     
40941     Used only as a predicate, so simply return a boolean.
40942
40943  src/cairo-directfb-surface.c |  138 +++++++++++++++++++++---------------------
40944  1 file changed, 68 insertions(+), 70 deletions(-)
40945
40946 commit b17d0ded8cd42d84e97ca2c1fbd4aefedd570b8e
40947 Author: Chris Wilson <chris@chris-wilson.co.uk>
40948 Date:   Mon Oct 20 12:48:02 2008 +0100
40949
40950     [directfb] Use the solid pattern cache.
40951     
40952     The dfb backend recreated a solid color surface for every colour,
40953     completely bypassing the solid pattern cache.
40954
40955  src/cairo-directfb-surface.c |   72 +++++++++++-------------------------------
40956  1 file changed, 18 insertions(+), 54 deletions(-)
40957
40958 commit 786bea48df0dc6d76b2ad00409804a803fe2f4b6
40959 Author: Chris Wilson <chris@chris-wilson.co.uk>
40960 Date:   Mon Oct 20 12:19:50 2008 +0100
40961
40962     [boilerplate/directfb] Create ARGB surfaces on demand.
40963     
40964     Create an RGB or ARGB surface depending upon the content type of the test
40965     target, with the result that the directfb rgb24 target no longer
40966     unconditionally fails.
40967
40968  boilerplate/cairo-boilerplate-directfb.c |   23 +++++++++++++----------
40969  1 file changed, 13 insertions(+), 10 deletions(-)
40970
40971 commit 4ba9ccc6ab5926d59696f86193f42df2195d7cda
40972 Author: Chris Wilson <chris@chris-wilson.co.uk>
40973 Date:   Mon Oct 20 23:07:38 2008 +0100
40974
40975     [configure.ac.analysis] s/safe/_save/
40976     
40977     Rename the temporary variable in line with the convention used by the rest
40978     of the build system.
40979
40980  build/configure.ac.analysis |    8 ++++----
40981  1 file changed, 4 insertions(+), 4 deletions(-)
40982
40983 commit 3a45b07af9743a26305c2576f838b4f3ef83bbb8
40984 Author: Chris Wilson <chris@chris-wilson.co.uk>
40985 Date:   Mon Oct 20 10:37:46 2008 +0100
40986
40987     [perf] Free images for composite-checker
40988     
40989     Fix memleak of the image surfaces.
40990
40991  perf/composite-checker.c |    3 ++-
40992  1 file changed, 2 insertions(+), 1 deletion(-)
40993
40994 commit 86356a9578dc248a755aceb7a04aef67a6c529b3
40995 Author: Chris Wilson <chris@chris-wilson.co.uk>
40996 Date:   Mon Oct 20 17:12:21 2008 +0100
40997
40998     [test] Add degenerate-dash to XFAIL.
40999     
41000     PS (ghostscript) interprets the degenerate end-caps quite differently, and
41001     perhaps slightly more rationally... Add this to XFAIL, until we have a
41002     definitive specification on how we should behave.
41003
41004  test/Makefile.am |    4 ++++
41005  1 file changed, 4 insertions(+)
41006
41007 commit 83d2552e4cafc9f86a8055abdf6caa685ed4922b
41008 Author: Behdad Esfahbod <behdad@behdad.org>
41009 Date:   Mon Oct 20 17:59:09 2008 -0400
41010
41011     Remove CAIRO_BEGIN_DECLS uses that ickle introduced while merging
41012
41013  src/cairo-mutex-impl-private.h |    2 --
41014  src/cairo-mutex-type-private.h |    2 --
41015  2 files changed, 4 deletions(-)
41016
41017 commit eab37f76b0f26a7b007dd51debf4d4901310c8b0
41018 Author: Chris Wilson <chris@chris-wilson.co.uk>
41019 Date:   Sun Oct 19 22:12:18 2008 +0100
41020
41021     [directfb] Return an error surface on create() failure.
41022     
41023     Do not return NULL but an NO_MEMORY error surface if we fail to allocate
41024     the surface during creation.
41025
41026  src/cairo-directfb-surface.c |   21 ++++++++++-----------
41027  1 file changed, 10 insertions(+), 11 deletions(-)
41028
41029 commit 6a02f53dd191605986b15e4757b16f599fe8de5f
41030 Author: Chris Wilson <chris@chris-wilson.co.uk>
41031 Date:   Sun Oct 19 14:21:15 2008 +0100
41032
41033     [directfb] Simplifiy ADD_TRI
41034     
41035     Simplify the ADD_TRI macro to make the code more readable.
41036
41037  src/cairo-directfb-surface.c |   30 +++++++++++++-----------------
41038  1 file changed, 13 insertions(+), 17 deletions(-)
41039
41040 commit aba457fe64f12598043b11ae076f0a93fe05eba7
41041 Author: Chris Wilson <chris@chris-wilson.co.uk>
41042 Date:   Sun Oct 19 14:03:24 2008 +0100
41043
41044     [directfb] Add missing error status
41045     
41046     We jumped to the ERROR path without setting an error status - assume
41047     NO_MEMORY.
41048
41049  src/cairo-directfb-surface.c |    1 +
41050  1 file changed, 1 insertion(+)
41051
41052 commit 610451e4a7b079d30a73384a76f0aaab250c2970
41053 Author: Chris Wilson <chris@chris-wilson.co.uk>
41054 Date:   Sun Oct 19 12:45:45 2008 +0100
41055
41056     [directfb] Correct fixed-to-double conversion.
41057     
41058     The trapezoid calculations had not been updated after the 16.16->24.8
41059     switch. Use _cairo_fixed_to_double() rather than open-coding.
41060
41061  src/cairo-directfb-surface.c |  110 +++++++++++++++++++++---------------------
41062  1 file changed, 54 insertions(+), 56 deletions(-)
41063
41064 commit 8e0950ced8837a35b9dc0254860250f9fa1a9613
41065 Author: Chris Wilson <chris@chris-wilson.co.uk>
41066 Date:   Sun Oct 19 12:11:13 2008 +0100
41067
41068     [boilerplate/directfb] Gracefully handle failure to create surface.
41069     
41070     Simply return NULL indicating failure to create the target surface rather
41071     than aborting the test (allowing other targets to be tested).
41072
41073  boilerplate/cairo-boilerplate-directfb.c |  230 +++++++++++++++++-------------
41074  1 file changed, 130 insertions(+), 100 deletions(-)
41075
41076 commit 801df1b87a585ebf71e6d3d74b815f3470b81ae9
41077 Author: Chris Wilson <chris@chris-wilson.co.uk>
41078 Date:   Sun Oct 19 11:55:20 2008 +0100
41079
41080     [directfb] Fix error propagation from surface_create()
41081     
41082     Do not mask fatal errors, but correctly propagate the error status.
41083
41084  src/cairo-directfb-surface.c |  208 +++++++++++++++++++++++-------------------
41085  1 file changed, 114 insertions(+), 94 deletions(-)
41086
41087 commit 476d17fa788fcf173e58b963540c6557f846ceed
41088 Author: Chris Wilson <chris@chris-wilson.co.uk>
41089 Date:   Sun Oct 19 11:35:27 2008 +0100
41090
41091     [directfb] Compile fix.
41092     
41093     Fixup compilation after 901f0b.
41094
41095  src/cairo-directfb-surface.c |    4 ++--
41096  1 file changed, 2 insertions(+), 2 deletions(-)
41097
41098 commit d72969289db62b38ca024a41c0d8e0df480e7f8c
41099 Author: Chris Wilson <chris@chris-wilson.co.uk>
41100 Date:   Sun Oct 19 09:47:33 2008 +0100
41101
41102     [image] Remove unused variable.
41103     
41104     Cleanup the compiler warning for the unused status after code shuffling.
41105
41106  src/cairo-image-surface.c |    1 -
41107  1 file changed, 1 deletion(-)
41108
41109 commit f2ff7944264c23cbec856be3e85f240a93184f80
41110 Author: Chris Wilson <chris@chris-wilson.co.uk>
41111 Date:   Thu Oct 16 11:56:19 2008 +0100
41112
41113     [perf] A crude tool to visualise performance changes across a series.
41114     
41115     Generate a cairo-perf-diff graph for a series of commits in order to be
41116     able to identify significant commits. Still very crude, but minimally
41117     functional.
41118
41119  configure.ac                   |    3 +
41120  perf/.gitignore                |    1 +
41121  perf/Makefile.am               |   26 +-
41122  perf/Makefile.win32            |    6 +-
41123  perf/cairo-perf-diff           |   12 +-
41124  perf/cairo-perf-diff-files.c   |  458 -------------------------------
41125  perf/cairo-perf-graph          |  205 ++++++++++++++
41126  perf/cairo-perf-graph-files.c  |  593 ++++++++++++++++++++++++++++++++++++++++
41127  perf/cairo-perf-graph-widget.c |  450 ++++++++++++++++++++++++++++++
41128  perf/cairo-perf-graph.h        |   63 +++++
41129  perf/cairo-perf-report.c       |  456 ++++++++++++++++++++++++++++++
41130  perf/cairo-perf.c              |    1 +
41131  perf/cairo-perf.h              |   61 ++++-
41132  perf/cairo-stats.h             |    8 -
41133  14 files changed, 1865 insertions(+), 478 deletions(-)
41134
41135 commit 41c8eefc6d432ab213f6f405c3d6346adb7f7931
41136 Author: Chris Wilson <chris@chris-wilson.co.uk>
41137 Date:   Wed Oct 15 22:24:32 2008 +0100
41138
41139     [output-stream] Protect against NULL write_func.
41140     
41141     Allow the user to specify a NULL write_func for the output stream so that
41142     a dummy surface can be created, for example, for querying target font
41143     options or font extents.
41144     
41145     Currently we do not perform any sanity checks at the user entry point and
41146     will generate a mysterious SEGV during cairo_surface_finish() - which may
41147     not immediately be obvious that it is due to a NULL write_func.
41148
41149  src/cairo-output-stream.c |    3 +++
41150  1 file changed, 3 insertions(+)
41151
41152 commit 84e4a825fffe3d78e95dec3406a86da6a23144c2
41153 Author: Chris Wilson <chris@chris-wilson.co.uk>
41154 Date:   Wed Oct 15 22:15:17 2008 +0100
41155
41156     [output-stream] Accept a NULL filename
41157     
41158     Principally to support creating a dummy vector surface (i.e.
41159     cairo_ps_surface_create (NULL, 1, 1)) that can be used to determine font
41160     extents (or target font options) before opening an output file, but also
41161     because we currently fail to do any sanity checking at the entry point.
41162
41163  src/cairo-output-stream.c |    3 +++
41164  1 file changed, 3 insertions(+)
41165
41166 commit 52ea38f97b1b90e395c667619770482b10e5672e
41167 Author: Chris Wilson <chris@chris-wilson.co.uk>
41168 Date:   Sat Oct 18 00:44:29 2008 +0100
41169
41170     [meta] Acquire scaled_font mutex for glyph_path().
41171     
41172     The caller of _cairo_scaled_font_glyph_path() is expected to be holding
41173     the scaled_font->mutex.
41174
41175  src/cairo-meta-surface.c |    2 ++
41176  1 file changed, 2 insertions(+)
41177
41178 commit 299ea0580a646dc55fd0156f1904fe4b45ec5725
41179 Author: Chris Wilson <chris@chris-wilson.co.uk>
41180 Date:   Sat Oct 18 00:37:38 2008 +0100
41181
41182     [user-font] Review locks under error conditions.
41183     
41184     Simplify the error handling by only relinquishing the global
41185     scaled_font_map mutex if we successfully insert the placeholder font. The
41186     result is that on the error path, there are no changes to global state and
41187     thus we can entirely skip the user-font initialisation and
41188     re-registration.
41189
41190  src/cairo-scaled-font.c |   44 ++++++++++++++++++++++----------------------
41191  src/cairo-user-font.c   |   39 +++++++++++++++++++++++----------------
41192  src/cairoint.h          |    2 +-
41193  3 files changed, 46 insertions(+), 39 deletions(-)
41194
41195 commit c76a8481f372fab8981231b257fdcc69466263d2
41196 Author: Chris Wilson <chris@chris-wilson.co.uk>
41197 Date:   Sat Oct 18 00:36:34 2008 +0100
41198
41199     [analysis] Check for error surfaces.
41200     
41201     If the target surface is an error surface, ensure that we return the
41202     appropriate error surface. Likewise, avoid writing to error surfaces.
41203
41204  src/cairo-analysis-surface.c |   16 +++++++++++++---
41205  1 file changed, 13 insertions(+), 3 deletions(-)
41206
41207 commit 5b28b0b903cb2fdb8a5614659d528bf12488389e
41208 Author: Chris Wilson <chris@chris-wilson.co.uk>
41209 Date:   Sat Oct 18 00:35:48 2008 +0100
41210
41211     [ps] Destroy type3 surface on error.
41212     
41213     After an error, ensure that the local type3 surface is destroyed.
41214
41215  src/cairo-ps-surface.c |    4 +++-
41216  1 file changed, 3 insertions(+), 1 deletion(-)
41217
41218 commit 6b17c6da47c42dd04ed2acad723c25b6da41b51c
41219 Author: Chris Wilson <chris@chris-wilson.co.uk>
41220 Date:   Sat Oct 18 00:34:17 2008 +0100
41221
41222     [type3] Acquire scaled_font mutex whilst looking up glyphs.
41223     
41224     When looking up the glyph in the shared scaled_font glyph cache, the
41225     caller is required to have taken the scaled_font->mutex.
41226
41227  src/cairo-type3-glyph-surface.c |   50 +++++++++++++++++++++++----------------
41228  1 file changed, 30 insertions(+), 20 deletions(-)
41229
41230 commit f56cf93181e73b4ba74f25ce14f7ed6c7cf36e83
41231 Author: Chris Wilson <chris@chris-wilson.co.uk>
41232 Date:   Fri Oct 17 22:13:53 2008 +0100
41233
41234     [user-font] Check for error objects.
41235     
41236     Check that the user has not passed in an inert error object before any
41237     attempts to write to it and return the default values.
41238
41239  src/cairo-user-font.c |   71 ++++++++++++++++++++++++++++++++++++++++---------
41240  1 file changed, 59 insertions(+), 12 deletions(-)
41241
41242 commit 1f9f9d936b296dbe796b1436c7da7fa3462f7d59
41243 Author: Chris Wilson <chris@chris-wilson.co.uk>
41244 Date:   Fri Oct 17 15:39:56 2008 +0100
41245
41246     [pdf] Acquire scaled_font mutex for show_text_glyphs().
41247     
41248     We need to be holding the scaled font mutex over a call to draw text
41249     glyphs from within an smask group.
41250
41251  src/cairo-pdf-surface.c |    2 ++
41252  1 file changed, 2 insertions(+)
41253
41254 commit 12fb8c9b7c808ab20bee466aa28ee368559fd902
41255 Author: Chris Wilson <chris@chris-wilson.co.uk>
41256 Date:   Fri Oct 17 15:33:07 2008 +0100
41257
41258     [type1] Acquire scaled_font mutex.
41259     
41260     In order to perform glyph lookups we need to be holding the mutex for the
41261     scaled_font.
41262
41263  src/cairo-type1-fallback.c |    2 ++
41264  1 file changed, 2 insertions(+)
41265
41266 commit ca5f868a73b35eda737ae6596efff91f82eeea75
41267 Author: Chris Wilson <chris@chris-wilson.co.uk>
41268 Date:   Fri Oct 17 15:26:20 2008 +0100
41269
41270     [scaled-font] Zero font extents for an error surface.
41271     
41272     Do not attempt to read from the error object, but just return zero
41273     extents.
41274
41275  src/cairo-scaled-font.c |   13 ++++++++++++-
41276  1 file changed, 12 insertions(+), 1 deletion(-)
41277
41278 commit 1ddf0b2a5c1f3d20b9a91acf7aae021f6b738485
41279 Author: Chris Wilson <chris@chris-wilson.co.uk>
41280 Date:   Fri Oct 17 10:35:38 2008 +0100
41281
41282     [surface] Reorder asserts to make no assumptions about error objects.
41283     
41284     If the surface is in error, then we cannot assume anything about the
41285     validity of its contents other than the error status (and reference
41286     count). This is for the cases were the surface is replaced by a nil
41287     surface, and in future where the error surface may be replaced by a tiny
41288     error object.
41289
41290  src/cairo-surface.c |   94 +++++++++++++++++++++++++--------------------------
41291  1 file changed, 47 insertions(+), 47 deletions(-)
41292
41293 commit 644e78ca4e6f72499fcf763acd53fa7235b0226d
41294 Author: Chris Wilson <chris@chris-wilson.co.uk>
41295 Date:   Thu Oct 16 20:34:13 2008 +0100
41296
41297     [svg] Lock the scaled_font whilst emitting glyphs.
41298     
41299     We need to hold the scaled_font mutex whilst looking upon glyphs so lock
41300     the font whilst iterating over the font subset.
41301
41302  src/cairo-svg-surface.c |    2 ++
41303  1 file changed, 2 insertions(+)
41304
41305 commit 4587e9e4f5c46656108b05f7a4841f78df14de26
41306 Author: Chris Wilson <chris@chris-wilson.co.uk>
41307 Date:   Thu Oct 16 19:11:09 2008 +0100
41308
41309     [scaled-font-subsets] Add locking to unscaled font.
41310     
41311     During map_glyph() we are passed a locked scaled_font for which we are
41312     asked to add a glyph from that font into the active subsets for the
41313     surface. This means that we eventually call scaled_glyph_lookup() to load
41314     the glyph. But first, we attempt to find an existing an existing sub_font
41315     for glyph, creating a new sub_font as necessary (possibly using an
41316     entirely different unhinted scaled font). So before accessing the glyph
41317     cache we need to make sure that we are holding the appropriate mutexes.
41318
41319  src/cairo-scaled-font-subsets.c |   23 +++++++++++++++++------
41320  1 file changed, 17 insertions(+), 6 deletions(-)
41321
41322 commit d3a6651237a276c410885578c41fb505f83372ed
41323 Author: Chris Wilson <chris@chris-wilson.co.uk>
41324 Date:   Thu Oct 16 14:37:42 2008 +0100
41325
41326     [xlib] Set return code after failing to allocate glyph surface.
41327     
41328     Although we checked for an allocation error, we missed propagating the
41329     status to the return error code.
41330
41331  src/cairo-xlib-surface.c |    8 +++++---
41332  1 file changed, 5 insertions(+), 3 deletions(-)
41333
41334 commit bfc3a72cff1a3f9641dae7c9f121598a14eb9a5a
41335 Author: Chris Wilson <chris@chris-wilson.co.uk>
41336 Date:   Thu Oct 16 14:06:03 2008 +0100
41337
41338     [gstate] Propagate error from clip.
41339     
41340     During clip transformation we query the clip extents which can trigger a
41341     fatal error. Check and propagate.
41342
41343  src/cairo-gstate.c |   33 +++++++++++++++++++++++----------
41344  1 file changed, 23 insertions(+), 10 deletions(-)
41345
41346 commit 7975cf3f2c0bc28b8b3c916d5ba725abb38b300d
41347 Author: Chris Wilson <chris@chris-wilson.co.uk>
41348 Date:   Thu Oct 16 13:21:28 2008 +0100
41349
41350     [paginated] Free local reference to target on error path.
41351     
41352     On the error path we must destroy the local reference to the target
41353     surface.
41354
41355  src/cairo-paginated-surface.c |    1 +
41356  1 file changed, 1 insertion(+)
41357
41358 commit 4662204a2a02d50e674f121d82bbb4fe1b8f1436
41359 Author: Chris Wilson <chris@chris-wilson.co.uk>
41360 Date:   Thu Oct 16 12:44:45 2008 +0100
41361
41362     [test-paginated] Fix double free of surface along error path.
41363     
41364     The ownership of the surface is transferred to the paginated surface, so
41365     we do not need to destroy it ourselves along the error path.
41366
41367  src/test-paginated-surface.c |   16 +++++++++-------
41368  1 file changed, 9 insertions(+), 7 deletions(-)
41369
41370 commit bf3202fcfd281be3fa62c2d6719377a8f2a0dec4
41371 Author: Chris Wilson <chris@chris-wilson.co.uk>
41372 Date:   Thu Oct 16 12:33:22 2008 +0100
41373
41374     [xlib] Fix double free of Pixmap along error path.
41375     
41376     If the paint fails then we attempt to free the Pixmap ourselves and via
41377     the cairo_surface_destroy (as it also believes that it owns the Pixmap).
41378
41379  src/cairo-xlib-surface.c |   16 ++++++++++------
41380  1 file changed, 10 insertions(+), 6 deletions(-)
41381
41382 commit 901f0b540c764e131dd9745def329308af61b3d5
41383 Author: Chris Wilson <chris@chris-wilson.co.uk>
41384 Date:   Thu Oct 16 12:19:09 2008 +0100
41385
41386     Review backend->create_similar()
41387     
41388     Avoid masking fatal errors by enforcing any error to be returned via an
41389     error surface, so that the NULL return only means UNSUPPORTED. A few
41390     backends called their create_similar() directly, without correctly checking
41391     for a potential NULL (for example, the directfb backend was a timebomb,
41392     since it used NULL to indicate out-of-memory).
41393
41394  src/cairo-directfb-surface.c |   18 ++++++++++--------
41395  src/cairo-glitz-surface.c    |   17 +++++++++++------
41396  src/cairo-quartz-surface.c   |    4 ++--
41397  src/cairo-surface.c          |    8 ++------
41398  src/cairo-win32-surface.c    |   16 ++++++++++++----
41399  src/cairo-xcb-surface.c      |    2 ++
41400  6 files changed, 39 insertions(+), 26 deletions(-)
41401
41402 commit 9529699028a5c7a3b0f81f945d25f26285247a11
41403 Author: Chris Wilson <chris@chris-wilson.co.uk>
41404 Date:   Sun Oct 19 09:35:07 2008 +0100
41405
41406     [test/user-font-rescale] Check and propagate errors.
41407     
41408     We need to check the error status on set_user_data() to be sure that the
41409     data has been set and error otherwise.
41410
41411  test/user-font-rescale.c |   63 +++++++++++++++++++++++++++++-----------------
41412  1 file changed, 40 insertions(+), 23 deletions(-)
41413
41414 commit 683de2fea2d8cdeea9759cbf3ab7492d634e7af2
41415 Author: Chris Wilson <chris@chris-wilson.co.uk>
41416 Date:   Sat Oct 18 00:01:39 2008 +0100
41417
41418     [test/user-font[-proxy]] Check for error from set_user_data().
41419     
41420     Check in case we fail to attach our user_data.
41421
41422  test/user-font-proxy.c |   69 +++++++++++++++++++++++++++---------------------
41423  test/user-font.c       |   24 +++++++++++++----
41424  2 files changed, 58 insertions(+), 35 deletions(-)
41425
41426 commit 198392990082e01443bbda5c0cbe6dc8bf090baf
41427 Author: Chris Wilson <chris@chris-wilson.co.uk>
41428 Date:   Fri Oct 17 22:14:49 2008 +0100
41429
41430     [test/bitmap] Leak on error path.
41431     
41432     Free the FcPattern on error.
41433
41434  test/bitmap-font.c |    8 ++++++++
41435  1 file changed, 8 insertions(+)
41436
41437 commit 0409be426cb7f67974346a93213dd4675b59776c
41438 Author: Chris Wilson <chris@chris-wilson.co.uk>
41439 Date:   Thu Oct 16 14:26:15 2008 +0100
41440
41441     [test/font-matrix-translation] Check for OOM
41442     
41443     First check that querying the extents did not trigger NO_MEMORY.
41444
41445  test/font-matrix-translation.c |    5 +++++
41446  1 file changed, 5 insertions(+)
41447
41448 commit 21360bf6748b30cf58d54561e40a1aa711d8d7af
41449 Author: Chris Wilson <chris@chris-wilson.co.uk>
41450 Date:   Fri Oct 17 20:44:51 2008 +0100
41451
41452     [test/source-surface-big-scaled-down] Propagate error.
41453     
41454     Propagate error to source.
41455
41456  test/surface-pattern-big-scale-down.c |   43 +++++++++++++++++++--------------
41457  1 file changed, 25 insertions(+), 18 deletions(-)
41458
41459 commit 794160c35baf39593942ba71b45e4e75d2a87103
41460 Author: Chris Wilson <chris@chris-wilson.co.uk>
41461 Date:   Fri Oct 17 20:37:43 2008 +0100
41462
41463     [test/surface-pattern] Propagate error.
41464     
41465     Use cairo_get_target() to propagate error from secondary context.
41466
41467  test/surface-pattern.c |    7 ++++---
41468  1 file changed, 4 insertions(+), 3 deletions(-)
41469
41470 commit 0f48cce8d90cf95afcf86d71a932ab4e504b909b
41471 Author: Chris Wilson <chris@chris-wilson.co.uk>
41472 Date:   Fri Oct 17 20:31:57 2008 +0100
41473
41474     [test/source-clip-scale] Propagate error.
41475     
41476     Use cairo_get_target() to propagate error from secondary context.
41477
41478  test/source-clip-scale.c |    8 ++++----
41479  1 file changed, 4 insertions(+), 4 deletions(-)
41480
41481 commit 6cdbd132ceba159bb7e3ac5612aa79293b21e95a
41482 Author: Chris Wilson <chris@chris-wilson.co.uk>
41483 Date:   Fri Oct 17 20:22:49 2008 +0100
41484
41485     [test/source-clip] Propagate error.
41486     
41487     Use cairo_get_target() to propagate error from the secondary context.
41488
41489  test/source-clip.c |    4 ++--
41490  1 file changed, 2 insertions(+), 2 deletions(-)
41491
41492 commit f86f233b3e49c3f401b2fa02987b2193485e8be5
41493 Author: Chris Wilson <chris@chris-wilson.co.uk>
41494 Date:   Fri Oct 17 20:14:06 2008 +0100
41495
41496     [test/smask] Propagate error.
41497     
41498     Use cairo_get_target() to propagate errors from the secondary context.
41499
41500  test/smask.c |    6 +++---
41501  1 file changed, 3 insertions(+), 3 deletions(-)
41502
41503 commit 4490a6c363a8745ba89bfa890519a570d098086e
41504 Author: Chris Wilson <chris@chris-wilson.co.uk>
41505 Date:   Fri Oct 17 19:15:17 2008 +0100
41506
41507     [test/stroke-image] Propagate error
41508     
41509     Use cairo_get_target() to propagate errors from the secondary context.
41510
41511  test/stroke-image.c |   19 +++++++++++--------
41512  1 file changed, 11 insertions(+), 8 deletions(-)
41513
41514 commit 6e6d7e52a3c16787633e5059ae36f2fb0d03148a
41515 Author: Chris Wilson <chris@chris-wilson.co.uk>
41516 Date:   Fri Oct 17 19:02:31 2008 +0100
41517
41518     [test/mask] Propagate error from secondary context.
41519     
41520     Reset the source every time so that the error is propagate from the
41521     secondary context using cairo_get_target().
41522
41523  test/mask.c |    6 +-----
41524  1 file changed, 1 insertion(+), 5 deletions(-)
41525
41526 commit a56d4530d6149e2c4fc884a5cfeede2d6ff6d3b6
41527 Author: Chris Wilson <chris@chris-wilson.co.uk>
41528 Date:   Fri Oct 17 15:54:21 2008 +0100
41529
41530     [test/smask-text] Propagate error.
41531     
41532     Use cairo_get_target() to propagate error from the secondary context.
41533
41534  test/smask-text.c |   12 ++++++------
41535  1 file changed, 6 insertions(+), 6 deletions(-)
41536
41537 commit b1e884cd89ab2b83d3b8e072414e4e3f63e3a023
41538 Author: Chris Wilson <chris@chris-wilson.co.uk>
41539 Date:   Fri Oct 17 15:52:55 2008 +0100
41540
41541     [test/smask-stroke] Propagate error.
41542     
41543     Use cairo_get_target() to propagate the error from the secondary context.
41544
41545  test/smask-stroke.c |   13 ++++++-------
41546  1 file changed, 6 insertions(+), 7 deletions(-)
41547
41548 commit 546fbc2c0cf87abd627477056bf19063c5aa001a
41549 Author: Chris Wilson <chris@chris-wilson.co.uk>
41550 Date:   Fri Oct 17 15:50:25 2008 +0100
41551
41552     [test/smask-paint] Propagate error.
41553     
41554     Use cairo_get_target() to propagate errors from the secondary context.
41555
41556  test/smask-paint.c |    6 +++---
41557  1 file changed, 3 insertions(+), 3 deletions(-)
41558
41559 commit 8bd69132827fa539d9dfb65bd00e00c079827360
41560 Author: Chris Wilson <chris@chris-wilson.co.uk>
41561 Date:   Fri Oct 17 15:49:02 2008 +0100
41562
41563     [test/smask-mask] Propagate error.
41564     
41565     Use cairo_get_target() to propagate errors from the secondary contexts.
41566
41567  test/smask-mask.c |   46 ++++++++++++++++++++++------------------------
41568  1 file changed, 22 insertions(+), 24 deletions(-)
41569
41570 commit 9c0fe6c61e92044e8599f49e75d38edcdd6be960
41571 Author: Chris Wilson <chris@chris-wilson.co.uk>
41572 Date:   Fri Oct 17 15:45:07 2008 +0100
41573
41574     [test/smask-image-mask] Propagate error.
41575     
41576     Use cairo_get_target() to propagate any error status from the secondary
41577     context.
41578
41579  test/smask-image-mask.c |   12 ++++++------
41580  1 file changed, 6 insertions(+), 6 deletions(-)
41581
41582 commit 373d6c76b65e826f81873b51461bdf3c30024c06
41583 Author: Chris Wilson <chris@chris-wilson.co.uk>
41584 Date:   Fri Oct 17 15:43:26 2008 +0100
41585
41586     [test/smask-fill] Propagate error status.
41587     
41588     Use cairo_get_target() to propagate the error from the secondary context.
41589
41590  test/smask-fill.c |   13 ++++++-------
41591  1 file changed, 6 insertions(+), 7 deletions(-)
41592
41593 commit bb05beaab626d2fca6d219bfd8148dde71073b39
41594 Author: Chris Wilson <chris@chris-wilson.co.uk>
41595 Date:   Fri Oct 17 15:27:11 2008 +0100
41596
41597     [test/show-glyphs-many] Check for NO_MEMORY
41598     
41599     As we do a manual status check, we need to perform a full check.
41600
41601  test/show-glyphs-many.c |   11 ++++++-----
41602  1 file changed, 6 insertions(+), 5 deletions(-)
41603
41604 commit c0a4ef76e17dfd43d248c13b7f0665da9b847316
41605 Author: Chris Wilson <chris@chris-wilson.co.uk>
41606 Date:   Fri Oct 17 14:57:42 2008 +0100
41607
41608     [test/composite-integer-translate-over-repeat] Propagate error.
41609     
41610     Use cairo_get_target() to propagate any errors from the secondary context.
41611
41612  test/composite-integer-translate-over-repeat.c |    7 ++++---
41613  1 file changed, 4 insertions(+), 3 deletions(-)
41614
41615 commit 4a9e0f0e5ba17a322bbf0f38b2fb418211571d48
41616 Author: Chris Wilson <chris@chris-wilson.co.uk>
41617 Date:   Thu Oct 16 16:50:32 2008 +0100
41618
41619     [test/mask] Propagate error from secondary context.
41620     
41621     Use cairo_get_target() to infect the primary context with any errors
41622     raised whilst drawing the mask.
41623
41624  test/mask.c |    6 ++----
41625  1 file changed, 2 insertions(+), 4 deletions(-)
41626
41627 commit eaec1caa94ac871eb881ac354c4442ddd2a308ea
41628 Author: Chris Wilson <chris@chris-wilson.co.uk>
41629 Date:   Thu Oct 16 16:20:28 2008 +0100
41630
41631     [test/ft-text-*] Check for errors from fontconfig.
41632     
41633     If a match cannot be found, or if any other error occured, then fontconfig
41634     will return NULL. Check and propagate.
41635
41636  test/ft-text-antialias-none.c        |   31 ++++++++++++++++++++++++++-----
41637  test/ft-text-vertical-layout-type1.c |   31 ++++++++++++++++++++++++++-----
41638  test/ft-text-vertical-layout-type3.c |   31 ++++++++++++++++++++++++++-----
41639  3 files changed, 78 insertions(+), 15 deletions(-)
41640
41641 commit 336eddfdbb31865e3669ceb775089c63ce1db27f
41642 Author: Chris Wilson <chris@chris-wilson.co.uk>
41643 Date:   Thu Oct 16 17:19:12 2008 +0100
41644
41645     [test/get-clip] Check the status on the secondary context.
41646     
41647     As we solely use a secondary context, we must manually report NO_MEMORY
41648     errors whilst running under memfault.
41649
41650  test/cairo-test.c |   14 +++++++-
41651  test/cairo-test.h |    4 +++
41652  test/get-clip.c   |   98 +++++++++++++++++++++++++++--------------------------
41653  3 files changed, 67 insertions(+), 49 deletions(-)
41654
41655 commit d48f9340514c258cfece1b72d2f7e3f7b2d3c7b1
41656 Author: Chris Wilson <chris@chris-wilson.co.uk>
41657 Date:   Thu Oct 16 14:05:14 2008 +0100
41658
41659     [test/clip-operator] Propagate error from secondary context.
41660     
41661     Use the cairo_get_target() to propagate any errors from the secondary
41662     context.
41663
41664  test/clip-operator.c |    6 ++----
41665  1 file changed, 2 insertions(+), 4 deletions(-)
41666
41667 commit d11014386f739f43ec5f290714d7c51cc638f172
41668 Author: Chris Wilson <chris@chris-wilson.co.uk>
41669 Date:   Fri Oct 5 13:37:07 2007 +0100
41670
41671     Add support for lockdep.
41672     
41673     lockdep is a valgrind skin which performs pthread locking correctness
41674     validation. In particular it allows one to write assert(HOLDS_LOCK(mutex))
41675     which both documents the preconditions for a function and enforces them
41676     when the program is run under lockdep.
41677     
41678     As an aide to lockdep (as it works by intercepting the pthread functions),
41679     all the mutexes should be initialised and destroyed using
41680     pthread_mutex_init() and pthread_mutex_destroy() rather than using static
41681     initializers and no-ops.
41682
41683  src/cairo-mutex-impl-private.h |   14 ++++++++++++++
41684  src/cairo-mutex-type-private.h |    6 +++++-
41685  src/cairo-scaled-font.c        |   13 +++++++++++++
41686  3 files changed, 32 insertions(+), 1 deletion(-)
41687
41688 commit bccfdf7d93c2a92a342127fc212770f4053cb2cf
41689 Author: Chris Wilson <chris@chris-wilson.co.uk>
41690 Date:   Thu Oct 16 13:47:27 2008 +0100
41691
41692     [test] Add support for memfault.
41693     
41694     Add the core support to cairo-test for running the test-suite under a
41695     malloc fault injector. This commit contains the adjustments to
41696     cairo_test_run() to repeat the test if it detects a failure due to fault
41697     injection and complains if it detects unreported faults or memory leaks.
41698
41699  build/configure.ac.analysis |   17 +++
41700  test/cairo-test.c           |  271 ++++++++++++++++++++++++++++++++++---------
41701  test/cairo-test.h           |   10 +-
41702  3 files changed, 239 insertions(+), 59 deletions(-)
41703
41704 commit 974fabfe059f9744116d20fd9f8b59f1b8c34b70
41705 Author: Chris Wilson <chris@chris-wilson.co.uk>
41706 Date:   Fri Oct 17 18:52:51 2008 +0100
41707
41708     [ft] Add more comments about FT_Face lifetime issues.
41709     
41710     Currently we only have an example of how to call FT_Done after the last
41711     reference to the FT cairo_font_face_t has been dropped, but do not
41712     actually explain why this needs to be done. So add a couple of sentences
41713     to clarify the likely lifetime of the FT_Face once exposed to cairo.
41714
41715  src/cairo-ft-font.c |   10 +++++++---
41716  1 file changed, 7 insertions(+), 3 deletions(-)
41717
41718 commit 5fcfc7ebc9a2d1d947898d269be7ba91d27c5261
41719 Author: Chris Wilson <chris@chris-wilson.co.uk>
41720 Date:   Thu Oct 16 17:13:45 2008 +0100
41721
41722     [test/README] Document all fonts used.
41723     
41724     Do a little leg-work to answer a query in a bug report and document the
41725     results.
41726
41727  test/README |    9 +++++++--
41728  1 file changed, 7 insertions(+), 2 deletions(-)
41729
41730 commit c1164a574d3e2cc4746384875d5c2781114c0ea4
41731 Author: Chris Wilson <chris@chris-wilson.co.uk>
41732 Date:   Thu Oct 16 08:49:13 2008 +0100
41733
41734     [type1] Add comment to warn about read() as macro.
41735     
41736     In case we are ever tempted to simplify the function pointer, warn that it
41737     may alias with a macro.
41738
41739  src/cairo-type1-subset.c |    5 +++++
41740  1 file changed, 5 insertions(+)
41741
41742 commit ff9ee74b37a88cba2e996bf0cdae1af6b6c6fe30
41743 Author: Adrian Johnson <ajohnson@redneon.com>
41744 Date:   Thu Oct 16 17:29:33 2008 +1030
41745
41746     Revert unintended changes to test/fallback-resolution.c in the previous commit
41747
41748  test/fallback-resolution.c |    2 +-
41749  1 file changed, 1 insertion(+), 1 deletion(-)
41750
41751 commit 5911c6966de832fa350a6e9a4d587b7c3b3b4825
41752 Author: Adrian Johnson <ajohnson@redneon.com>
41753 Date:   Thu Oct 16 17:22:48 2008 +1030
41754
41755     Use correct inverse ctm for stroke in meta surface replay
41756     
41757     This fixes #9189 Dashed strokes too long in fallback images
41758
41759  src/cairo-meta-surface.c   |    2 +-
41760  test/fallback-resolution.c |    2 +-
41761  2 files changed, 2 insertions(+), 2 deletions(-)
41762
41763 commit 6afcd821182137e8c3f128f9600e97cff79978b8
41764 Author: Chris Wilson <chris@chris-wilson.co.uk>
41765 Date:   Wed Oct 15 22:41:26 2008 +0100
41766
41767     [test] Add a spline test.
41768     
41769     Test the decomposition of 5 different types of spline curve. Useful test
41770     for future experiments in improving the decomposition algorithm.
41771     
41772     Note: the vector targets all need separate reference images due to their
41773     lack of support for cairo_set_tolerance(). Also GS strokes the Bezier
41774     curve differently using offset curves and opposed to transcribing the
41775     outline of a pen.
41776
41777  test/.gitignore                         |    1 +
41778  test/Makefile.am                        |    7 +
41779  test/spline-decomposition-pdf-ref.png   |  Bin 0 -> 20404 bytes
41780  test/spline-decomposition-ps2-ref.png   |  Bin 0 -> 8957 bytes
41781  test/spline-decomposition-ps3-ref.png   |  Bin 0 -> 8957 bytes
41782  test/spline-decomposition-ref.png       |  Bin 0 -> 20402 bytes
41783  test/spline-decomposition-svg11-ref.png |  Bin 0 -> 20404 bytes
41784  test/spline-decomposition-svg12-ref.png |  Bin 0 -> 20404 bytes
41785  test/spline-decomposition.c             |  416 +++++++++++++++++++++++++++++++
41786  9 files changed, 424 insertions(+)
41787
41788 commit 91b0dc92c8ede189d942188f92068f189907e239
41789 Author: Chris Wilson <chris@chris-wilson.co.uk>
41790 Date:   Wed Oct 15 22:27:53 2008 +0100
41791
41792     [build] Add -fno-common.
41793     
41794     Generate a warning if two files define a global variable with the same
41795     name, instead of silently merging them to reference the same location.
41796
41797  build/configure.ac.warnings |    2 +-
41798  1 file changed, 1 insertion(+), 1 deletion(-)
41799
41800 commit b94b600b34793cecd9a66d37dd34a6619738e2c2
41801 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
41802 Date:   Wed Oct 15 13:41:03 2008 -0400
41803
41804     [quartz] Completely remove CAIRO_HAS_QUARTZ_IMAGE_SURFACE check
41805     
41806     Instead of fixing the check in d36b02dc662e623bee58a69c32b149a242cbf52b, just
41807     remove it. Conditionally compilation will keep cairo-quartz-image-surface.c
41808     from being compiled in when it is not configured to be. Suggested by Behdad.
41809
41810  src/cairo-quartz-image-surface.c |    4 ----
41811  1 file changed, 4 deletions(-)
41812
41813 commit d36b02dc662e623bee58a69c32b149a242cbf52b
41814 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
41815 Date:   Wed Oct 15 12:45:11 2008 -0400
41816
41817     [quartz] Rebalance 'CAIRO_HAS_QUARTZ_IMAGE_SURFACE' #ifdef
41818     
41819     Fixes compilation by re-adding '#ifdef CAIRO_HAS_QUARTZ_IMAGE_SURFACE' which
41820     was, I assume, unintentionally removed by
41821     2cf4b3161c19b9b0349bd2aa94855fd0822968be.
41822
41823  src/cairo-quartz-image-surface.c |    2 ++
41824  1 file changed, 2 insertions(+)
41825
41826 commit 83162360a44c4d4701f0ade2e2ee813f79186439
41827 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
41828 Date:   Wed Oct 15 10:34:12 2008 -0400
41829
41830     Fix quratz_image typo in Makefile.sources.
41831
41832  src/Makefile.sources |    4 ++--
41833  1 file changed, 2 insertions(+), 2 deletions(-)
41834
41835 commit 877e77fa3e85c09c29e64ca5ae7329346db029cc
41836 Author: Chris Wilson <chris@chris-wilson.co.uk>
41837 Date:   Wed Oct 15 12:20:00 2008 +0100
41838
41839     [glitz] Disable caching of solid surfaces.
41840     
41841     glitz currently has no mechanism to release resources upon connection
41842     closure (ala XCloseDisplay) and so will attempt invalid accesses when
41843     evicting old surfaces from the solid pattern cache.
41844
41845  src/cairo-glitz-surface.c |    7 +++++++
41846  1 file changed, 7 insertions(+)
41847
41848 commit fc04a1e0dbc3cefa51c7602e0a23dba886813fe5
41849 Author: Chris Wilson <chris@chris-wilson.co.uk>
41850 Date:   Wed Oct 15 12:13:40 2008 +0100
41851
41852     [boilerplate] Fixup compilation for gliitz.
41853     
41854     Convert a few old references to cairo_boilerplate_surface_set_user_data.
41855
41856  boilerplate/cairo-boilerplate-glitz.c |   12 ++++++------
41857  1 file changed, 6 insertions(+), 6 deletions(-)
41858
41859 commit e17f02add019d9acf461a1ad1245ba5be00cf336
41860 Author: Chris Wilson <chris@chris-wilson.co.uk>
41861 Date:   Wed Oct 15 10:52:33 2008 +0100
41862
41863     [type1] Protect against read macro
41864     
41865     POSIX allows for any of its functions to be implemented as a macro,
41866     inflicting damage upon innocent function pointers that happen to share
41867     the same name.
41868     
41869     face->stream->read() is one such example.
41870     
41871     As it's outside of our control (being a FT_Face) we cannot simply rename
41872     the data member, so we need to explicitly dereference it as a function
41873     pointer in order to disambiguate it for the compiler.
41874
41875  src/cairo-type1-subset.c |    8 ++++----
41876  1 file changed, 4 insertions(+), 4 deletions(-)
41877
41878 commit bc872a5f5fb9b6318dc78d132da46a6b201f75c7
41879 Author: Chris Wilson <chris@chris-wilson.co.uk>
41880 Date:   Wed Oct 15 10:21:05 2008 +0100
41881
41882     [xlib] Handle 4,20,24,28 depth XImages
41883     
41884     Bug 9102 cairo doesn't support 24 bits per pixel mode on X11
41885     (https://bugs.freedesktop.org/show_bug.cgi?id=9102)
41886     is a reminder that that we need to support many obscure XImage formats.
41887     With Carl's and Behdad's work to support psuedocolor we have a mechanism
41888     in place to handle any format that is not natively handled by pixman. The
41889     only piece we were missing was extending the swapper to handle all-known
41890     formats and putting in defensive checks that pixels were correctly aligned
41891     in accordance with pixman's requirements.
41892
41893  src/cairo-image-surface.c |   13 ++++-----
41894  src/cairo-xlib-surface.c  |   70 ++++++++++++++++++++++++++++++++++++++-------
41895  src/cairoint.h            |    2 +-
41896  3 files changed, 66 insertions(+), 19 deletions(-)
41897
41898 commit 1728fa352011c570ce1bcc3bd14897e789c85252
41899 Author: Chris Wilson <chris@chris-wilson.co.uk>
41900 Date:   Wed Oct 15 09:23:01 2008 +0100
41901
41902     [svg] Add notes about why we shouldn't add DOCTYPE.
41903     
41904     Emmanuel Pacaud did some research into adding DOCTYPE after we had a
41905     complaint that our SVG output failed to be validated by batik. The
41906     conclusion he came to was that the validation of SVG was incomplete and
41907     misleading, i.e. our output might generate false negatives leading to more
41908     confusion.
41909
41910  src/cairo-svg-surface.c |   22 ++++++++++++++++++++++
41911  1 file changed, 22 insertions(+)
41912
41913 commit e9f5ee6efe7725c1e0e32fa9e85cca61ecb93440
41914 Author: Chris Wilson <chris@chris-wilson.co.uk>
41915 Date:   Tue Oct 14 14:42:48 2008 +0100
41916
41917     [doc] Fix a few gtk-doc errors.
41918     
41919     gtk-doc insists on a non-empty long description, even for trivial
41920     functions that are fully described by their input arguments and return
41921     value. Grrr.
41922
41923  src/cairo-gstate.c      |    4 ++++
41924  src/cairo-os2-surface.c |    2 ++
41925  src/cairo-scaled-font.c |   14 +++++++-------
41926  src/cairo-surface.c     |    4 +++-
41927  src/cairo-unicode.c     |    6 ++++--
41928  5 files changed, 20 insertions(+), 10 deletions(-)
41929
41930 commit 595414bb787d570ac95fc91c58c370558e9d5a54
41931 Author: Chris Wilson <chris@chris-wilson.co.uk>
41932 Date:   Tue Oct 14 14:24:49 2008 +0100
41933
41934     [test/fallback-resolution] Extend to cover separate ppi x/y.
41935     
41936     Adrian Johnson proposed a hack that fixed the current test by simply
41937     scaling the dashed stroke by device_transform.xx. Obviously this exposes a
41938     deficiency in the test case. So add an outer loop to iterate over several
41939     common ppi for both x and y and in doing so reveal more ugly artifacts in
41940     the current fallback code.
41941
41942  test/Makefile.am                              |   42 +++++-
41943  test/fallback-resolution-ppi150-ref.png       |  Bin 8043 -> 0 bytes
41944  test/fallback-resolution-ppi150x150-ref.png   |  Bin 0 -> 8043 bytes
41945  test/fallback-resolution-ppi150x300-ref.png   |  Bin 0 -> 6848 bytes
41946  test/fallback-resolution-ppi150x37.5-ref.png  |  Bin 0 -> 13176 bytes
41947  test/fallback-resolution-ppi150x600-ref.png   |  Bin 0 -> 6338 bytes
41948  test/fallback-resolution-ppi150x72-ref.png    |  Bin 0 -> 8370 bytes
41949  test/fallback-resolution-ppi150x75-ref.png    |  Bin 0 -> 10445 bytes
41950  test/fallback-resolution-ppi300-ref.png       |  Bin 5637 -> 0 bytes
41951  test/fallback-resolution-ppi300x150-ref.png   |  Bin 0 -> 6851 bytes
41952  test/fallback-resolution-ppi300x300-ref.png   |  Bin 0 -> 5637 bytes
41953  test/fallback-resolution-ppi300x37.5-ref.png  |  Bin 0 -> 12870 bytes
41954  test/fallback-resolution-ppi300x600-ref.png   |  Bin 0 -> 4848 bytes
41955  test/fallback-resolution-ppi300x72-ref.png    |  Bin 0 -> 7053 bytes
41956  test/fallback-resolution-ppi300x75-ref.png    |  Bin 0 -> 9617 bytes
41957  test/fallback-resolution-ppi37.5-ref.png      |  Bin 14098 -> 0 bytes
41958  test/fallback-resolution-ppi37.5x150-ref.png  |  Bin 0 -> 12728 bytes
41959  test/fallback-resolution-ppi37.5x300-ref.png  |  Bin 0 -> 11981 bytes
41960  test/fallback-resolution-ppi37.5x37.5-ref.png |  Bin 0 -> 14098 bytes
41961  test/fallback-resolution-ppi37.5x600-ref.png  |  Bin 0 -> 11654 bytes
41962  test/fallback-resolution-ppi37.5x72-ref.png   |  Bin 0 -> 12990 bytes
41963  test/fallback-resolution-ppi37.5x75-ref.png   |  Bin 0 -> 13787 bytes
41964  test/fallback-resolution-ppi600-ref.png       |  Bin 4104 -> 0 bytes
41965  test/fallback-resolution-ppi600x150-ref.png   |  Bin 0 -> 6096 bytes
41966  test/fallback-resolution-ppi600x300-ref.png   |  Bin 0 -> 4812 bytes
41967  test/fallback-resolution-ppi600x37.5-ref.png  |  Bin 0 -> 12401 bytes
41968  test/fallback-resolution-ppi600x600-ref.png   |  Bin 0 -> 4104 bytes
41969  test/fallback-resolution-ppi600x72-ref.png    |  Bin 0 -> 6398 bytes
41970  test/fallback-resolution-ppi600x75-ref.png    |  Bin 0 -> 8974 bytes
41971  test/fallback-resolution-ppi72-ref.png        |  Bin 8409 -> 0 bytes
41972  test/fallback-resolution-ppi72x150-ref.png    |  Bin 0 -> 8069 bytes
41973  test/fallback-resolution-ppi72x300-ref.png    |  Bin 0 -> 6803 bytes
41974  test/fallback-resolution-ppi72x37.5-ref.png   |  Bin 0 -> 13147 bytes
41975  test/fallback-resolution-ppi72x600-ref.png    |  Bin 0 -> 6245 bytes
41976  test/fallback-resolution-ppi72x72-ref.png     |  Bin 0 -> 8409 bytes
41977  test/fallback-resolution-ppi72x75-ref.png     |  Bin 0 -> 10628 bytes
41978  test/fallback-resolution-ppi75-ref.png        |  Bin 12101 -> 0 bytes
41979  test/fallback-resolution-ppi75x150-ref.png    |  Bin 0 -> 9940 bytes
41980  test/fallback-resolution-ppi75x300-ref.png    |  Bin 0 -> 9003 bytes
41981  test/fallback-resolution-ppi75x37.5-ref.png   |  Bin 0 -> 14020 bytes
41982  test/fallback-resolution-ppi75x600-ref.png    |  Bin 0 -> 8455 bytes
41983  test/fallback-resolution-ppi75x72-ref.png     |  Bin 0 -> 10202 bytes
41984  test/fallback-resolution-ppi75x75-ref.png     |  Bin 0 -> 12101 bytes
41985  test/fallback-resolution.c                    |  199 +++++++++++++------------
41986  44 files changed, 139 insertions(+), 102 deletions(-)
41987
41988 commit 0d3e152d2fe28b22a27dd6b9f82e2047aea3be94
41989 Author: Chris Wilson <chris@chris-wilson.co.uk>
41990 Date:   Tue Oct 14 13:44:47 2008 +0100
41991
41992     [check-doc-syntax.sh] Allow quoting.
41993     
41994     func_regexp was incorrectly complaining that cairo_pure was a function without
41995     parenthesis. The simplest solution appeared to be allow quoting of
41996     'cairo_pure'.
41997
41998  src/cairo-compiler-private.h |   22 +++++++++++-----------
41999  src/check-doc-syntax.sh      |    6 +++---
42000  2 files changed, 14 insertions(+), 14 deletions(-)
42001
42002 commit 02a7ca80f9f9b62deff6c8ba4dc58fee0cebcaa6
42003 Author: Chris Wilson <chris@chris-wilson.co.uk>
42004 Date:   Tue Oct 14 11:08:43 2008 +0100
42005
42006     [pattern] Correctly optimize away fractional translations.
42007     
42008     As is so often the case, reading the commit log gives you fresh insight in
42009     the problem - often called confessional debugging...
42010     
42011     We can simplify the problem by ignoring attr->[xy]_offset, for the time
42012     being, and focus on computing the correct matrix. This is comparatively
42013     simple as all we need to do is perform the appropriate rounding on the
42014     translation vector.
42015
42016  src/cairo-pattern.c |   18 ++++++++++--------
42017  1 file changed, 10 insertions(+), 8 deletions(-)
42018
42019 commit 9886cb3353eb02ce5b99d555a35b13b8347f8e87
42020 Author: Chris Wilson <chris@chris-wilson.co.uk>
42021 Date:   Tue Oct 14 10:23:41 2008 +0100
42022
42023     [pattern] Only perform non-integer optimization for identity matrices.
42024     
42025     A complication I realised after pushing 3eb4bc3 was handling larger
42026     sampled areas.  Extending the test case revealed that the optimization
42027     was broken for anything but the identity transform (after removing the
42028     translation).  Correctness first, leaving the "pixel-exact" solution for
42029     interested reader...
42030
42031  src/cairo-pattern.c                           |   16 ++++++----------
42032  test/filter-nearest-transformed-pdf-ref.png   |  Bin 373 -> 548 bytes
42033  test/filter-nearest-transformed-ref.png       |  Bin 151 -> 570 bytes
42034  test/filter-nearest-transformed-svg11-ref.png |  Bin 217 -> 559 bytes
42035  test/filter-nearest-transformed-svg12-ref.png |  Bin 217 -> 559 bytes
42036  test/filter-nearest-transformed.c             |   24 ++++++++++++++++++++++++
42037  6 files changed, 30 insertions(+), 10 deletions(-)
42038
42039 commit 8dc3deecb8e0ca2f84d996096230f27ab4c24c18
42040 Author: Chris Wilson <chris@chris-wilson.co.uk>
42041 Date:   Tue Oct 14 08:17:23 2008 +0100
42042
42043     Add documentation for function attributes 'pure' and 'const'.
42044     
42045     Carl suggested that cairo_pure and cairo_const are pretty opaque, even to
42046     the developer who added them, so it is extremely important that they have
42047     a good description so that they are used correctly and perhaps ported to
42048     other compilers.
42049
42050  src/cairo-compiler-private.h |   20 ++++++++++++++++++++
42051  1 file changed, 20 insertions(+)
42052
42053 commit 6aa1143d5a8ec45fc793102a64e956d7d1c7ad01
42054 Author: Chris Wilson <chris@chris-wilson.co.uk>
42055 Date:   Mon Oct 13 23:49:17 2008 +0100
42056
42057     Update documentation to remove references to cairo_has_show_text_glyphs().
42058     
42059     With the addition of cairo_show_text_glyphs() came a couple of functions
42060     to query whether the target supported the extended attributes. However,
42061     at Carl's request cairo_has_show_text_glyphs() was removed - but the
42062     documentation was not updated to reflect that.
42063
42064  NEWS                |    2 +-
42065  src/cairo-surface.c |    3 ---
42066  src/cairo.c         |    6 +++---
42067  3 files changed, 4 insertions(+), 7 deletions(-)
42068
42069 commit b2053945df35d4d7eea9fe3200e9c018705309d1
42070 Author: Chris Wilson <chris@chris-wilson.co.uk>
42071 Date:   Mon Oct 13 23:39:47 2008 +0100
42072
42073     [scaled-font] Correct documentation for cairo_scaled_font_create().
42074     
42075     Fix the documentation not to suggest that NULL is a legal value for
42076     font_options (as we temporarily made it during the 1.[57] dev cycle).
42077
42078  src/cairo-scaled-font.c |    3 +--
42079  1 file changed, 1 insertion(+), 2 deletions(-)
42080
42081 commit 3eb4bc37577e905d93a1935e7a9cd33ae8dbda15
42082 Author: Chris Wilson <chris@chris-wilson.co.uk>
42083 Date:   Mon Oct 13 23:26:04 2008 +0100
42084
42085     [pattern] Optimize away fractional translation for NEAREST patterns.
42086     
42087     As identified in bug 15479,
42088       Unpredictable performance of cairo-xlib with non-integer translations of a
42089       source surface pattern
42090       (https://bugs.freedesktop.org/show_bug.cgi?id=15479),
42091     source surfaces with a fractional translation hit slow paths for some
42092     drivers, causing seemingly random performance variations. As a work-around
42093     Owen Taylor proposed that cairo could convert non-integer translations on
42094     NEAREST sources patterns to their integer equivalents.
42095     
42096     The messy detail involved here is replicating the rounding mode used by
42097     pixman for the sample offset, but otherwise the conversion is fairly
42098     trivial.
42099
42100  src/cairo-pattern.c                           |   35 +++++++++
42101  test/.gitignore                               |    1 +
42102  test/Makefile.am                              |    5 ++
42103  test/filter-nearest-transformed-pdf-ref.png   |  Bin 0 -> 373 bytes
42104  test/filter-nearest-transformed-ref.png       |  Bin 0 -> 151 bytes
42105  test/filter-nearest-transformed-svg11-ref.png |  Bin 0 -> 217 bytes
42106  test/filter-nearest-transformed-svg12-ref.png |  Bin 0 -> 217 bytes
42107  test/filter-nearest-transformed.c             |  103 +++++++++++++++++++++++++
42108  8 files changed, 144 insertions(+)
42109
42110 commit ceab32e2c3d51c0dd29b105a5a390cdd8aa58f8f
42111 Author: Chris Wilson <chris@chris-wilson.co.uk>
42112 Date:   Sun Oct 12 12:11:12 2008 +0100
42113
42114     [win32] win32 also uses font subsets.
42115     
42116     Include win32 in the list of font subset users, fixes build when
42117     cross-compiling.
42118
42119  src/cairoint.h |    5 ++++-
42120  1 file changed, 4 insertions(+), 1 deletion(-)
42121
42122 commit 1d3453eee50e4343995c5d3f225d18289fbcebec
42123 Author: Chris Wilson <chris@chris-wilson.co.uk>
42124 Date:   Sun Oct 12 11:21:14 2008 +0100
42125
42126     [pattern] Rescale the linear pattern matrix to avoid overflow.
42127     
42128     As proof-of-principle, compute a scale factor to avoid overflow when
42129     converting a linear pattern to pixman_fixed_t. Fixes test/huge-pattern,
42130     but the principle should be extended to handle more cases of overflow.
42131
42132  src/cairo-pattern.c                 |   48 ++++++++++++++++++++++++++++++-----
42133  test/Makefile.am                    |    5 ++--
42134  test/huge-pattern-pdf-ref.png       |  Bin 0 -> 2716 bytes
42135  test/huge-pattern-pdf-rgb24-ref.png |  Bin 0 -> 2817 bytes
42136  test/huge-pattern-ps3-ref.png       |  Bin 0 -> 1786 bytes
42137  5 files changed, 45 insertions(+), 8 deletions(-)
42138
42139 commit ab1d106cba7aa4abe5f7253c089aadd15e0bb06d
42140 Author: Chris Wilson <chris@chris-wilson.co.uk>
42141 Date:   Sat Oct 11 19:52:28 2008 +0100
42142
42143     [xlib] Use the cached xrender formats.
42144     
42145     Use the cached formats for consistency and simplify several double pointer
42146     dereferences.
42147
42148  src/cairo-xlib-surface.c |   64 +++++++++++++++++++++++++++++-----------------
42149  1 file changed, 40 insertions(+), 24 deletions(-)
42150
42151 commit 6736faba3ebe4eae4c1d2aeeb3153eb6f12a32de
42152 Author: Chris Wilson <chris@chris-wilson.co.uk>
42153 Date:   Sat Oct 11 18:10:16 2008 +0100
42154
42155     [test/any2ppm] Do not attempt to compile PS without spectre
42156     
42157     Since CAN_TEST_PS_SURFACE does not currently require spectre, we were
42158     attempting to compile in spectre support for any2ppm even on systems
42159     without libspectre installed. Fix that by adding a separate flag for
42160     CAIRO_HAS_SPECTRE.
42161
42162  configure.ac     |    5 ++++-
42163  test/Makefile.am |    2 +-
42164  test/any2ppm.c   |   28 ++++++++++++++++++++--------
42165  3 files changed, 25 insertions(+), 10 deletions(-)
42166
42167 commit b35871116243724b59738fce00b512818c83ea17
42168 Author: Benjamin Otte <otte@gnome.org>
42169 Date:   Sat Oct 11 00:18:11 2008 +0100
42170
42171     [test] Add huge pattern.
42172     
42173     Add a test case to exercise range overflow during gradient construction.
42174
42175  test/.gitignore           |    1 +
42176  test/Makefile.am          |    4 +++
42177  test/huge-pattern-ref.png |  Bin 0 -> 1619 bytes
42178  test/huge-pattern.c       |   74 +++++++++++++++++++++++++++++++++++++++++++++
42179  4 files changed, 79 insertions(+)
42180
42181 commit 77070270813d2ca40d422e5301f75222d19e1d8f
42182 Author: Chris Wilson <chris@chris-wilson.co.uk>
42183 Date:   Fri Oct 10 22:24:01 2008 +0100
42184
42185     [test] Use _POSIX_C_SOURCE for flockfile.
42186     
42187     From bug 18010 (https://bugs.freedesktop.org/show_bug.cgi?id=18010),
42188     in order to make flockfile() available we need to set _POSIX_C_SOURCE and
42189     according to the man page, the appropriate feature check is
42190     _POSIX_THREAD_SAFE_FUNCTIONS.
42191
42192  test/cairo-test.c |    5 +++--
42193  1 file changed, 3 insertions(+), 2 deletions(-)
42194
42195 commit 34ff7e4ac42acfb2ab9921da21933113518bd8a0
42196 Author: Adrian Johnson <ajohnson@redneon.com>
42197 Date:   Sat Oct 11 23:44:37 2008 +1030
42198
42199     Check that reads in truetype_reverse_cmap are within valid data
42200     
42201     Bulia Byak reported a bug where cairo was crashing with a particular
42202     font. The font had an incorrect entry in the cmap table that caused
42203     cairo to read from outside of the buffer allocated for the cmap.
42204
42205  src/cairo-truetype-subset.c |   12 +++++++++++-
42206  1 file changed, 11 insertions(+), 1 deletion(-)
42207
42208 commit a16ef6ead2b02120ca482aa3d2667e51b0c67e78
42209 Author: Chris Wilson <chris@chris-wilson.co.uk>
42210 Date:   Fri Oct 10 18:03:49 2008 +0100
42211
42212     [INSTALL] Mention pkg-config requirement
42213     
42214     Mention that building the configure script requires at least version 0.16
42215     of pkg-config.
42216     
42217     See the old bug:
42218       Bug 4702 PKG_PROG_PKG_CONFIG: command not found
42219       (https://bugs.freedesktop.org/show_bug.cgi?id=4702)
42220
42221  INSTALL |    1 +
42222  1 file changed, 1 insertion(+)
42223
42224 commit eba9d87d541d89804f70e56874538a249de08502
42225 Author: Chris Wilson <chris@chris-wilson.co.uk>
42226 Date:   Fri Oct 10 16:51:07 2008 +0100
42227
42228     [image] Warn about a potential NULL return after finish().
42229     
42230     Improve the wording as suggested by
42231       https://bugs.freedesktop.org/show_bug.cgi?id=12659
42232     to warn about the possibility of returning NULL even if the passed in
42233     surface was an image surface.
42234
42235  src/cairo-image-surface.c |    3 ++-
42236  1 file changed, 2 insertions(+), 1 deletion(-)
42237
42238 commit ac3e4b4bea574c94de77ec15878d116b619ee3f4
42239 Author: Chris Wilson <chris@chris-wilson.co.uk>
42240 Date:   Fri Oct 10 14:00:32 2008 +0100
42241
42242     [xlib] Disable XRender support if the surface has no xrender_format
42243     
42244     Bug 11734:
42245       XRender crashes due to NULL pointer from Cairo on SGI O2
42246       (https://bugs.freedesktop.org/show_bug.cgi?id=1173)
42247     is an example of a case where we try to perform an XRender operation on a
42248     surface with a format that was not supported by the XRender extension. By
42249     marking the extension version as -1 on those surfaces, the current checks
42250     for SURFACE_RENDER_HAS_* always correctly return false and prevent us try
42251     to create a Picture with a NULL xrender_format.
42252
42253  src/cairo-xlib-surface.c |   37 ++++++++++++++++++++++++-------------
42254  1 file changed, 24 insertions(+), 13 deletions(-)
42255
42256 commit 8ac8e8c523abaa5db24c5303c671ff3487bf0801
42257 Author: Carlos Garcia Campos <carlosgc@gnome.org>
42258 Date:   Sun Sep 21 14:29:30 2008 +0200
42259
42260     [test] Add ps2png check program using libspectre
42261     
42262     Add a simple program to compliment pdf2png and svg2png.
42263
42264  configure.ac     |    1 +
42265  test/Makefile.am |    8 ++++
42266  test/ps2png.c    |  113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
42267  3 files changed, 122 insertions(+)
42268
42269 commit 3e6afb353da1fee624b519f5a96b3303c7eb91ae
42270 Author: Carlos Garcia Campos <carlosgc@gnome.org>
42271 Date:   Thu Oct 9 12:11:51 2008 +0100
42272
42273     [test/any2ppm] Enable PS conversion using libspectre.
42274     
42275     Complete the vector trilogy using libspectre to provide a similar
42276     interface (to poppler and librsvg) around GhostScript.
42277
42278  AUTHORS          |    1 +
42279  configure.ac     |   20 ++++++++++++---
42280  test/Makefile.am |    4 +--
42281  test/any2ppm.c   |   73 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
42282  4 files changed, 90 insertions(+), 8 deletions(-)
42283
42284 commit ddd1615a1777181c6e8db1dbafacb68535ed163a
42285 Author: Chris Wilson <chris@chris-wilson.co.uk>
42286 Date:   Wed Oct 8 23:13:03 2008 +0100
42287
42288     [pattern] Remove incorrect assert.
42289     
42290     It's possible to reach that point without setting the filter to NEAREST,
42291     for example if using FAST or GAUSSIAN.
42292
42293  src/cairo-pattern.c |    1 -
42294  1 file changed, 1 deletion(-)
42295
42296 commit c647c0bbca8694a14f5f5807b8349f0b0bb4987d
42297 Author: Benjamin Otte <otte@gnome.org>
42298 Date:   Thu Oct 9 13:21:27 2008 +0200
42299
42300     [TEST] make imagediff work again
42301     
42302     It seems to have bitrotten
42303
42304  test/imagediff.c |    9 +++++----
42305  1 file changed, 5 insertions(+), 4 deletions(-)
42306
42307 commit f644d78dc138a7ba920a108dfb058e9f0fdb5302
42308 Author: Björn Lindqvist <bjourne@gmail.com>
42309 Date:   Wed Oct 8 20:08:25 2008 +0100
42310
42311     [perf] Add composite performance test.
42312     
42313     Add a new test case to Cairo for checking the performance of Cairo's
42314     equivalent to GDK's gdk_pixbuf_composite_color() operation. That is an
42315     operation that happens to be extremely useful when viewing or editing
42316     transparent images so I think it is important that it is as fast as
42317     possible.
42318
42319  AUTHORS                  |    1 +
42320  perf/Makefile.am         |    1 +
42321  perf/cairo-perf.c        |    1 +
42322  perf/cairo-perf.h        |    1 +
42323  perf/composite-checker.c |  108 ++++++++++++++++++++++++++++++++++++++++++++++
42324  5 files changed, 112 insertions(+)
42325
42326 commit 96b083d3f0e47f919cb6d0f06735427eaea21565
42327 Author: Chris Wilson <chris@chris-wilson.co.uk>
42328 Date:   Wed Oct 8 18:53:46 2008 +0100
42329
42330     [test] Exercise degenerate dashes.
42331     
42332     Add a test case to capture the current behaviour when a segment ends on
42333     an off/on dash transition.
42334     
42335     Originally filed as bug:
42336       Miter artifacts for dashed strokes
42337       https://bugs.freedesktop.org/show_bug.cgi?id=17973
42338
42339  test/.gitignore              |    1 +
42340  test/Makefile.am             |    2 +
42341  test/degenerate-dash-ref.png |  Bin 0 -> 2005 bytes
42342  test/degenerate-dash.c       |   97 ++++++++++++++++++++++++++++++++++++++++++
42343  4 files changed, 100 insertions(+)
42344
42345 commit 6487a147a2129f588aae900b048b2a801ef95ec0
42346 Author: Chris Wilson <chris@chris-wilson.co.uk>
42347 Date:   Wed Oct 8 15:26:03 2008 +0100
42348
42349     [cairo.h] Be defensive when checking for _MSC_VER
42350     
42351     Since cairo.h is a public header file, we need to be careful so that it
42352     can be compiled by random compilers and even users specifying "-Werror
42353     -Wundef" (mentioning no names, Company). So replace the bare (and legal)
42354       #if _MSC_VER
42355     with
42356       #if defined (_MSC_VER)
42357     just in case.
42358
42359  src/cairo.h |    2 +-
42360  1 file changed, 1 insertion(+), 1 deletion(-)
42361
42362 commit 59141e56a723f741c87e2eaa37bf96e243ac5728
42363 Author: Chris Wilson <chris@chris-wilson.co.uk>
42364 Date:   Wed Oct 8 13:50:28 2008 +0100
42365
42366     [win32] Restore fine-grained fallback support for printing.
42367     
42368     Missed updating win32 when implementing the new paginated API to query
42369     support for the fine-grained fallbacks.
42370     
42371     (Thanks to Adrian for spotting this oversight.)
42372
42373  src/cairo-win32-printing-surface.c |    8 ++++++++
42374  1 file changed, 8 insertions(+)
42375
42376 commit 565c02a37e2d140a20867081eea9bb5de9999b1c
42377 Author: Chris Wilson <chris@chris-wilson.co.uk>
42378 Date:   Wed Oct 8 11:06:42 2008 +0100
42379
42380     [svg] Use finer-grained fallbacks for SVG 1.2
42381     
42382     The use of fine-grained fallbacks requires the native support of the
42383     SOURCE operator applied to an image on the target surface. SVG 1.2
42384     introduces the "comp-op:src" mode fulfilling this criteria - so we can
42385     enable fine-grained fallbacks for 1.2+.
42386     
42387     Update test/fine-grained-fallbacks to exercise this pathway in SVG 1.2 -
42388     as SVG natively supported all the current operations within that test.
42389     This reveals yet another librsvg bug in handling SVG 1.2.
42390
42391  src/cairo-paginated-private.h                   |    9 ++-
42392  src/cairo-paginated-surface.c                   |   47 +++++---------
42393  src/cairo-pdf-surface.c                         |   14 +++-
42394  src/cairo-ps-surface.c                          |    8 +++
42395  src/cairo-svg-surface.c                         |   34 +++++++---
42396  test/Makefile.am                                |    4 +-
42397  test/finer-grained-fallbacks-ps2-argb32-ref.png |  Bin 1047 -> 0 bytes
42398  test/finer-grained-fallbacks-ps2-ref.png        |  Bin 0 -> 1356 bytes
42399  test/finer-grained-fallbacks-ps2-rgb24-ref.png  |  Bin 819 -> 1096 bytes
42400  test/finer-grained-fallbacks-ps3-argb32-ref.png |  Bin 1047 -> 0 bytes
42401  test/finer-grained-fallbacks-ps3-ref.png        |  Bin 0 -> 1356 bytes
42402  test/finer-grained-fallbacks-ps3-rgb24-ref.png  |  Bin 819 -> 1096 bytes
42403  test/finer-grained-fallbacks-ref.png            |  Bin 796 -> 1111 bytes
42404  test/finer-grained-fallbacks-rgb24-ref.png      |  Bin 590 -> 1114 bytes
42405  test/finer-grained-fallbacks.c                  |   79 ++++++++++++++++++++++-
42406  15 files changed, 147 insertions(+), 48 deletions(-)
42407
42408 commit 0c777a3e0de0d48289432a3d66be68f8779b08a0
42409 Author: Vladimir Vukicevic <vladimir@pobox.com>
42410 Date:   Tue Oct 7 15:20:33 2008 -0700
42411
42412     [win32] Use wide-char versions of some API functions, for compat with Windows Mobile
42413
42414  src/cairo-win32-surface.c |    6 +++---
42415  1 file changed, 3 insertions(+), 3 deletions(-)
42416
42417 commit cf572b58e1197dac0ff1795b27b142c3e044cf45
42418 Author: Chris Wilson <chris@chris-wilson.co.uk>
42419 Date:   Tue Oct 7 09:55:03 2008 +0100
42420
42421     [tessellator] Compile fixes for !HAVE_INT64_T
42422     
42423     Fixup a couple of instances of implicit down-casting to 32bits from a
42424     64bit wide integer and add a new is_zero() predicate.
42425
42426  src/cairo-bentley-ottmann.c |   14 +++++++-------
42427  src/cairo-wideint-private.h |   10 +++++++++-
42428  2 files changed, 16 insertions(+), 8 deletions(-)
42429
42430 commit 6b8c0559620ab23c4df1f381d2e95ffc307d2e2f
42431 Author: Chris Wilson <chris@chris-wilson.co.uk>
42432 Date:   Tue Oct 7 09:43:45 2008 +0100
42433
42434     [tessellator] Avoid implicit promotion to 64bit integer.
42435     
42436     Avoid passing a 32bit integer as a cairo_int64_t in case we do not have a
42437     64bit native integral type. As a side-effect this means we can also use a
42438     narrower multiply.
42439
42440  src/cairo-bentley-ottmann.c |   20 ++++++++++----------
42441  1 file changed, 10 insertions(+), 10 deletions(-)
42442
42443 commit eaa4bd13926728e9da97a23df8a465ef2296049a
42444 Author: Chris Wilson <chris@chris-wilson.co.uk>
42445 Date:   Tue Oct 7 21:09:16 2008 +0100
42446
42447     [pattern] After cloning adjust [xy]_offset if possible.
42448     
42449     For the simple case where the pattern matrix only contains an integer
42450     translation then care is taken to convert that to a identity source matrix
42451     with the translation applied to the [xy]_offsets. 5b97ee6525 broke this
42452     guarantee by applying the clone offsets to the source matrix. So when the
42453     source matrix is identity we can simply adjust the [xy]_offsets and
42454     preserve the identity matrix. (This idea can be extended further by
42455     removing any integer translation from the source matrix and storing it in
42456     the [xy]_offsets as a means to extend the limited precision in
42457     pixman_matrix_t - encountered when downscaling large images offset onto
42458     the target surface.)
42459
42460  src/cairo-pattern.c |   16 +++++++++++++---
42461  1 file changed, 13 insertions(+), 3 deletions(-)
42462
42463 commit 552cc09e6be2b704dc32f986c84640d50316c25c
42464 Author: Chris Wilson <chris@chris-wilson.co.uk>
42465 Date:   Tue Oct 7 21:05:57 2008 +0100
42466
42467     [xlib] Check integer translation for XCopyArea.
42468     
42469     A precondition for using the core XCopyArea protocol is that the source
42470     attributes contain only integer translations. However, we failed to apply
42471     any integer translations from the source matrix to the XCopyArea offsets.
42472     This worked prior to 5b97ee6525 as
42473     _cairo_pattern_acquire_surface_for_surface() was careful to only generate
42474     an identity matrix if the pattern matrix only contained an integer
42475     translation (and thus we would use XCopyArea in the xlib backend).
42476
42477  src/cairo-xlib-surface.c |   10 ++++++++--
42478  1 file changed, 8 insertions(+), 2 deletions(-)
42479
42480 commit 308485a3fc70bc4455a01990443c1f954b8a66f8
42481 Author: Chris Wilson <chris@chris-wilson.co.uk>
42482 Date:   Tue Oct 7 20:19:10 2008 +0100
42483
42484     [test] Add a test for a reported regression by Michael Natterer.
42485     
42486     mitch reported on irc that expose events in the gimp were suffering from
42487     artifacts which he tracked down to a bug with clipping and source
42488     surfaces. This is the cairo test case for that regression.
42489
42490  test/.gitignore              |    1 +
42491  test/Makefile.am             |    2 ++
42492  test/clipped-surface-ref.png |  Bin 0 -> 401 bytes
42493  test/clipped-surface.c       |   70 ++++++++++++++++++++++++++++++++++++++++++
42494  4 files changed, 73 insertions(+)
42495
42496 commit 28a3b546b91290f3377777adedcf7ab71e599188
42497 Author: Vladimir Vukicevic <vladimir@pobox.com>
42498 Date:   Tue Oct 7 10:25:46 2008 -0700
42499
42500     [win32] create_similar should fall back to DIBs if DDB creation fail
42501
42502  src/cairo-win32-surface.c |   43 +++++++++++++++++--------------------------
42503  1 file changed, 17 insertions(+), 26 deletions(-)
42504
42505 commit 4ae37a97b3e415591caa611533f44db5a29cfb72
42506 Author: Vladimir Vukicevic <vladimir@pobox.com>
42507 Date:   Tue Oct 7 10:18:41 2008 -0700
42508
42509     [quartz] initialize do_reflect field correctly for pattern draws
42510
42511  src/cairo-quartz-surface.c |    3 +--
42512  1 file changed, 1 insertion(+), 2 deletions(-)
42513
42514 commit 8cf399b944294645833088ee2ac1313093948b66
42515 Author: Chris Wilson <chris@chris-wilson.co.uk>
42516 Date:   Mon Oct 6 18:59:15 2008 +0100
42517
42518     [test] Add a test to exercise the internal twin font
42519     
42520     Although Behdad promises that the rendering is subject to improvement,
42521     introduce a test to check consistency across platforms and update as
42522     required.
42523
42524  test/.gitignore       |    1 +
42525  test/Makefile.am      |    4 ++++
42526  test/twin-ps2-ref.png |  Bin 0 -> 1167 bytes
42527  test/twin-ps3-ref.png |  Bin 0 -> 1167 bytes
42528  test/twin-ref.png     |  Bin 0 -> 1836 bytes
42529  test/twin.c           |   60 +++++++++++++++++++++++++++++++++++++++++++++++++
42530  6 files changed, 65 insertions(+)
42531
42532 commit 1f813ff04022a36a91bf9d1b0f7f2ae1c63b399f
42533 Author: Chris Wilson <chris@chris-wilson.co.uk>
42534 Date:   Mon Oct 6 17:55:37 2008 +0100
42535
42536     [array] Silence gtk-doc complaints.
42537     
42538     gtk-doc fails make check for array as it insists that even the simplest
42539     functions must have a long description and cannot be entirely described by
42540     their arguments and return value.
42541
42542  src/cairo-array.c |   26 ++++++++++++++++++++------
42543  1 file changed, 20 insertions(+), 6 deletions(-)
42544
42545 commit 7cb9ccb4cb2106bb59e181ee284f8dcc5504eb7a
42546 Author: Chris Wilson <chris@chris-wilson.co.uk>
42547 Date:   Mon Oct 6 17:44:03 2008 +0100
42548
42549     Fixup a couple of trivials doc warnings.
42550     
42551     Correct the 'Returns' statement to match what gtk-doc expects.
42552
42553  src/cairo-cache.c   |    3 +--
42554  src/cairo-pattern.c |    5 ++---
42555  2 files changed, 3 insertions(+), 5 deletions(-)
42556
42557 commit d6f0351b6cbb0d542a069eb5d0a7377eb85a6e4e
42558 Author: Chris Wilson <chris@chris-wilson.co.uk>
42559 Date:   Mon Oct 6 17:17:04 2008 +0100
42560
42561     [skiplist] Avoid repeated calls to compare on the same element when inserting.
42562     
42563     During insertion we must traverse the skiplist in order to find the
42564     insertion point for the new element. As we descend each level, the next
42565     element in the chain for this level is sometimes the same as the one we
42566     just compared against (and know that the new element is greater than).
42567     Hence we can skip the search on that level and descend to the next. During
42568     world_map this reduces the number of calls into _sweep_line_elt_compare()
42569     by ~2.5% (and when performing trapezoidation on strokes gives a similar
42570     speed up of about 2% - not bad for the addition of a single line.)
42571
42572  src/cairo-skiplist.c |   16 ++++++++++------
42573  1 file changed, 10 insertions(+), 6 deletions(-)
42574
42575 commit 1440399625ae0579d0748475fc924cfe74339a21
42576 Author: Chris Wilson <chris@chris-wilson.co.uk>
42577 Date:   Mon Oct 6 16:15:29 2008 +0100
42578
42579     [hull] Replace open-coding of 64bit arithmetic.
42580     
42581     Use primitives from cairo-wideint-private.h - in this case it helps to
42582     make the code more readable as well as reduce dependence on native 64bit
42583     integers.
42584
42585  src/cairo-hull.c |   31 +++++++++++++++++++------------
42586  1 file changed, 19 insertions(+), 12 deletions(-)
42587
42588 commit c6a6bf580fa7036e4c28137f8c038beb5c347244
42589 Author: Chris Wilson <chris@chris-wilson.co.uk>
42590 Date:   Mon Oct 6 16:13:21 2008 +0100
42591
42592     [slope] Replace open-coding 64bit integer arithmetic.
42593     
42594     Prefer to use the operations form cairo-wideint-private.h in order to
42595     improve readability and reduce our assumptions on the availability of
42596     64bit integers.
42597
42598  src/cairo-slope.c |   14 ++++++--------
42599  1 file changed, 6 insertions(+), 8 deletions(-)
42600
42601 commit 5e3fcb7934f568bb7e304a1c434a9370b693df17
42602 Author: Chris Wilson <chris@chris-wilson.co.uk>
42603 Date:   Mon Oct 6 17:02:54 2008 +0100
42604
42605     [wideint] Declare the wideint arithmetic functions as const.
42606     
42607     'const' is a stricter form of 'pure' in that functions declared with that
42608     attribute do not access any values other than their arguments (in
42609     contrast to 'pure' which is allowed to read from global memory).
42610
42611  src/cairo-compiler-private.h |    2 ++
42612  src/cairo-wideint-private.h  |    2 +-
42613  2 files changed, 3 insertions(+), 1 deletion(-)
42614
42615 commit 9430bf57ebc86c79e28128e54aeb5a194c9cad03
42616 Author: Carl Worth <cworth@cworth.org>
42617 Date:   Mon Oct 6 14:00:37 2008 -0700
42618
42619     Fix scrambled version number in generated documentation.
42620     
42621     In the cairo 1.8.0 release the documentation would get generated with
42622     the second and third version components transposed, (so it would say
42623     1.0.8). Fix the obviously mistaken transposition.
42624
42625  doc/public/Makefile.am |    2 +-
42626  1 file changed, 1 insertion(+), 1 deletion(-)
42627
42628 commit 5beae8f530fe7056fa965cb5ca7b345a667e8122
42629 Author: Behdad Esfahbod <behdad@behdad.org>
42630 Date:   Mon Oct 6 12:43:42 2008 -0400
42631
42632     [Makefile.am.releasing] Make 'make snapshot' print a banner when done
42633     
42634     Copied from "make distcheck" implementation.  Prints something like:
42635     
42636     =============================================================
42637     cairo-1.8.1-20081006-38de89 archives ready for distribution:
42638     cairo-1.8.1-20081006-38de89.tar.gz
42639     =============================================================
42640
42641  build/Makefile.am.releasing |    9 ++++++++-
42642  1 file changed, 8 insertions(+), 1 deletion(-)
42643
42644 commit 38de895d3863bd2e6fe921ad6cc6eeff15102701
42645 Author: Behdad Esfahbod <behdad@behdad.org>
42646 Date:   Mon Oct 6 12:11:18 2008 -0400
42647
42648     [RELEASING] Fix sample distcheck output to reflect current versioning
42649
42650  RELEASING |    8 ++++----
42651  1 file changed, 4 insertions(+), 4 deletions(-)
42652
42653 commit f8018cf193823356270c8e7f21f3108fbe44679c
42654 Author: Behdad Esfahbod <behdad@behdad.org>
42655 Date:   Mon Oct 6 11:45:08 2008 -0400
42656
42657     [boilerplate] Fix "make dist"
42658     
42659     The cairo-boilerplate-ps/pdf/svg.h files where removed in commit
42660     9841d9d58ea286f798626d325d50a85bf3f02c8f but the Makefile.sources
42661     listing was not updated.
42662
42663  boilerplate/Makefile.sources |    3 ---
42664  1 file changed, 3 deletions(-)
42665
42666 commit 6578ac148ecdd236b0860923e5dee87291c9966c
42667 Author: Behdad Esfahbod <behdad@behdad.org>
42668 Date:   Mon Oct 6 11:39:47 2008 -0400
42669
42670     [twin-font] Make the stroke lighter
42671     
42672     I'm still to fine-tune the font and add hinting and bold/oblique support.
42673     In the mean time though, a lighter stroke produces much nicer glyphs.
42674
42675  src/cairo-font-face-twin.c |    2 +-
42676  1 file changed, 1 insertion(+), 1 deletion(-)
42677
42678 commit 2fb7753903daf5c207b22034682a250161af22ad
42679 Author: Behdad Esfahbod <behdad@behdad.org>
42680 Date:   Mon Oct 6 11:39:00 2008 -0400
42681
42682     [Makefile.am.releasing] Exclude uid/gid from tarball
42683     
42684     By setting GNU tar options --owner=0 --group=0
42685
42686  build/Makefile.am.releasing |    6 ++++--
42687  1 file changed, 4 insertions(+), 2 deletions(-)
42688
42689 commit 589564c3b02d5b0505806924bd051323717791a3
42690 Author: Behdad Esfahbod <behdad@behdad.org>
42691 Date:   Sat Oct 4 01:36:07 2008 -0400
42692
42693     [user-font] Fix comment re backend interface
42694
42695  src/cairo-user-font.c |    2 +-
42696  1 file changed, 1 insertion(+), 1 deletion(-)
42697
42698 commit c98c1cb5325bbc05c88ea350ff99d6eaf56fd339
42699 Author: Chris Wilson <chris@chris-wilson.co.uk>
42700 Date:   Sun Oct 5 10:39:10 2008 +0100
42701
42702     [wideint] Mark functions as pure
42703     
42704     Take advantage of the gcc function attribute 'pure', which tells gcc that
42705     the function result only depends upon its arguments and it has zero side
42706     effects (e.g. it does not clobber memory). This gives gcc greater
42707     opportunity to rearrange and optimize the wideint arithmetic.
42708
42709  src/cairo-compiler-private.h |    6 ++++++
42710  src/cairo-wideint-private.h  |    2 +-
42711  2 files changed, 7 insertions(+), 1 deletion(-)
42712
42713 commit 76dd4603d01068b1b377312ced6b44fe5419794f
42714 Author: Chris Wilson <chris@chris-wilson.co.uk>
42715 Date:   Sun Oct 5 10:15:49 2008 +0100
42716
42717     [tessellator] Replace open-coding _cairo_int64_cmp().
42718     
42719     We often use the construct:
42720       if (_cairo_int64_lt (A, B)
42721          return -1;
42722       if (_cairo_int64_gt (A, B)
42723          return 1;
42724       return 0;
42725     to compare two large integers (int64, or int128) which does twice the
42726     required work on CPUs without large integer support. So replace it with a
42727     single wideint function _cairo_int64_cmp() and therefore allow
42728     opportunities to both shrink the code size and write a more efficient
42729     comparison. (The primarily motivation is to simply replace each block with
42730     a single more expressive line.)
42731
42732  src/cairo-bentley-ottmann.c |   19 +++--------------
42733  src/cairo-wideint-private.h |   10 ++++++++-
42734  src/cairo-wideint.c         |   48 +++++++++++++++++++++++++++++++++++++++++++
42735  3 files changed, 60 insertions(+), 17 deletions(-)
42736
42737 commit 6eead4a5f746e182eabfcda9959cd9cc53d95a89
42738 Author: Chris Wilson <chris@chris-wilson.co.uk>
42739 Date:   Sat Oct 4 12:39:21 2008 +0100
42740
42741     [stroke] Simplify dash-off logic.
42742     
42743     Remove a redundant level of if-else branching (and remove a duplicate
42744     code) block by testing dash_on first.
42745
42746  src/cairo-path-stroke.c |   65 ++++++++++++++++++++---------------------------
42747  1 file changed, 28 insertions(+), 37 deletions(-)
42748
42749 commit 4aa0991a11f03a47735dcfafe43d9505b939554e
42750 Author: Chris Wilson <chris@chris-wilson.co.uk>
42751 Date:   Sat Oct 4 20:22:18 2008 +0100
42752
42753     [test] Mark fallback-resolution as XFAIL.
42754     
42755     There appears to be no simple solution here, as it seems to be a
42756     fundamental flaw in the design of the meta-surface wrt to replaying into
42757     a fallback image. (I may be wrong, but if Carl found no easy solution then
42758     I feel no shame for my own failure ;-)
42759
42760  test/Makefile.am |   13 +++++++++++++
42761  1 file changed, 13 insertions(+)
42762
42763 commit ae87382a84770f8656c369d258f705b8ac20049c
42764 Author: Chris Wilson <chris@chris-wilson.co.uk>
42765 Date:   Sat Oct 4 10:54:25 2008 +0100
42766
42767     [tessellator] Special case edge comparisons when on either end-point.
42768     
42769     If the sweep-line is currently on an end-point of a line,
42770     then we know its precise x value and can use a cheaper comparator.
42771     Considering that we often need to compare events at end-points (for
42772     instance on a start event), this happens frequently enough to warrant
42773     special casing.
42774
42775  src/cairo-bentley-ottmann.c |  100 +++++++++++++++++++++++++++++++++++++++++--
42776  1 file changed, 96 insertions(+), 4 deletions(-)
42777
42778 commit ab23c2995356821537b9a0facdff87c339a05d2a
42779 Author: Chris Wilson <chris@chris-wilson.co.uk>
42780 Date:   Wed Oct 1 12:18:16 2008 +0100
42781
42782     [tessellator] Direct comparison of result in edges_compare_x_for_y.
42783     
42784     We need to compare the x-coordinate of a line at a for a particular y,
42785     without loss of precision.
42786     
42787     The x-coordinate along an edge for a given y is:
42788       X = A_x + (Y - A_y) * A_dx / A_dy
42789     
42790     So the inequality we wish to test is:
42791       A_x + (Y - A_y) * A_dx / A_dy -?- B_x + (Y - B_y) * B_dx / B_dy,
42792     where -?- is our inequality operator.
42793     
42794     By construction we know that A_dy and B_dy (and (Y - A_y), (Y - B_y)) are
42795     all positive, so we can rearrange it thus without causing a sign
42796     change:
42797       A_dy * B_dy * (A_x - B_x) -?- (Y - B_y) * B_dx * A_dy
42798                                     - (Y - A_y) * A_dx * B_dy
42799     
42800     Given the assumption that all the deltas fit within 32 bits, we can compute
42801     this comparison directly using 128 bit arithmetic.
42802
42803  src/cairo-bentley-ottmann.c |   97 ++++++++++++++++++++++++-------------------
42804  src/cairo-wideint-private.h |    1 +
42805  2 files changed, 56 insertions(+), 42 deletions(-)
42806
42807 commit 7db03ac68cd556c903c07a2e2f8b75ec51263d12
42808 Author: Chris Wilson <chris@chris-wilson.co.uk>
42809 Date:   Wed Oct 1 12:34:36 2008 +0100
42810
42811     [tessellator] Use abort() instead of exit().
42812     
42813     More friendly when debugging, as the debug will (by default) catch the
42814     SIGTRAP and break at the offending test.
42815
42816  src/cairo-bentley-ottmann.c |    6 +++---
42817  1 file changed, 3 insertions(+), 3 deletions(-)
42818
42819 commit 59e569576d00e9c1cb66a77cf447c3cc3fb038e7
42820 Author: Chris Wilson <chris@chris-wilson.co.uk>
42821 Date:   Sun Sep 28 19:04:39 2008 +0100
42822
42823     [traps] Discard trivially empty trapezoid.
42824     
42825     The convex_quad tessellator (and possibly even the more general polygon
42826     tessellator) will generate empty trapezoids when given a
42827     rectangle which can be trivially discarded before inserting into traps.
42828
42829  src/cairo-traps.c |   11 +++++++++--
42830  1 file changed, 9 insertions(+), 2 deletions(-)
42831
42832 commit 7a2329e9c8afbfecb88c6c50bd63aa03ea7f9f81
42833 Author: Chris Wilson <chris@chris-wilson.co.uk>
42834 Date:   Wed Oct 1 09:49:45 2008 +0100
42835
42836     [traps] Reset extents on clearing.
42837     
42838     When clearing the array of current trapezoids, reset the extents to
42839     infinite so that they are properly recomputed.
42840
42841  src/cairo-traps.c |    2 ++
42842  1 file changed, 2 insertions(+)
42843
42844 commit 8ec24a443d45b012df9b1a14b00a0b5b1c43e2ea
42845 Author: Chris Wilson <chris@chris-wilson.co.uk>
42846 Date:   Tue Sep 30 23:19:01 2008 +0100
42847
42848     [xlib] Share the common conditions for starting a new xGlyphElt using a macro.
42849     
42850     Move the predicate for starting a new glyph elt into a macro so that it
42851     can be shared between _cairo_xlib_surface_emit_glyphs() and
42852     _emit_glyph_chunks() without code duplication.
42853
42854  src/cairo-xlib-surface.c |   39 ++++++++++++++++++++++-----------------
42855  1 file changed, 22 insertions(+), 17 deletions(-)
42856
42857 commit a593338b2c2cdaff808947436f8fb9a52d74c695
42858 Author: Chris Wilson <chris@chris-wilson.co.uk>
42859 Date:   Wed Oct 1 16:24:33 2008 +0100
42860
42861     [xcb] Return false from _cairo_xcb_surface_is_similar().
42862     
42863     _cairo_xcb_surface_is_similar() is currently only used by the pattern
42864     cache to determine whether to keep the surface in the solid color cache.
42865     This is fundamentally broken without hooking into Display closure as it
42866     keeps a reference to an expired picture. So in order to prevent spurious
42867     application crashes, disable the caching for xcb.
42868
42869  src/cairo-xcb-surface.c |    6 ++++++
42870  1 file changed, 6 insertions(+)
42871
42872 commit 65f1575f6b2392d59410f40281a52654053bd2a8
42873 Author: Chris Wilson <chris@chris-wilson.co.uk>
42874 Date:   Wed Oct 1 16:16:45 2008 +0100
42875
42876     [xcb] Compile fix.
42877     
42878     Must compile xcb more often. Especially after copying code over from xlib.
42879
42880  src/cairo-xcb-surface.c |   41 ++++++++++++++++++++++++-----------------
42881  1 file changed, 24 insertions(+), 17 deletions(-)
42882
42883 commit e76432f7544d5b3b9157f09e18acc167d9ee90a3
42884 Author: Behdad Esfahbod <behdad@behdad.org>
42885 Date:   Sat Oct 4 00:35:43 2008 -0400
42886
42887     [win32] Use -MDd and -LDd instead of -MD and -LD for debug build
42888     
42889     As reported by Damian Frank:
42890     
42891     "I ran into a hitch with the Makefile.win32 infrastructure.  It uses -MD and
42892     -LD when linking regardless of the config, but it should be using -MDd and
42893     -LDd for the debug config.  I believe both the Makefile.win32.common and
42894     src/Makefile.win32 files include erroneous declarations.  This produces
42895     warnings at link time about a mismatch when linking against properly created
42896     debug libs (for instance, I had a zlib built as "LIB ASM Debug" that linked
42897     properly against the debug runtime).
42898     
42899     This problem applies to pixman too; can you pass this along to the
42900     maintainer?"
42901     
42902     Would be delighted to if someone commits a fix to pixman reading this
42903     commit message.
42904
42905  build/Makefile.win32.common |    8 ++++++--
42906  src/Makefile.win32          |    2 +-
42907  2 files changed, 7 insertions(+), 3 deletions(-)
42908
42909 commit 8ea9cb187a198c64bfb79af8001d95eab29715b4
42910 Author: Carl Worth <cworth@cworth.org>
42911 Date:   Wed Oct 1 14:12:18 2008 -0700
42912
42913     Use symbolic constants for Render repeat modes.
42914     
42915     Names like RepeatNone and RepeatNormal are much easier to
42916     read and understand than bare 0 and 1.
42917
42918  src/cairo-xlib-surface.c |    4 ++--
42919  1 file changed, 2 insertions(+), 2 deletions(-)
42920
42921 commit 2c58a2c3851afac0386fcf0bf8504a937231185c
42922 Author: Behdad Esfahbod <behdad@behdad.org>
42923 Date:   Tue Sep 30 17:55:01 2008 -0400
42924
42925     [xlib] Start a new glyph element every 128 glyphs
42926     
42927     Xrender has limits at 252 glyphs.  We play safe and fast and limit
42928     elements to 128 glyphs.  That's plenty, no measurable performance
42929     hit expected.
42930
42931  src/cairo-xlib-surface.c |   26 ++++++++++++++++++++++----
42932  1 file changed, 22 insertions(+), 4 deletions(-)
42933
42934 commit fd7e09c7e66876b8492424e1c7d1260c12cc17f3
42935 Author: Behdad Esfahbod <behdad@behdad.org>
42936 Date:   Tue Sep 30 17:46:06 2008 -0400
42937
42938     [xlib] Allow room for glyph element padding
42939     
42940     Xrender pads glyph elements to 4byte boundaries.  We didn't consider
42941     that in our request size calculations.  We do now.
42942
42943  src/cairo-xlib-surface.c |    9 +++++++--
42944  1 file changed, 7 insertions(+), 2 deletions(-)
42945
42946 commit c01fb77abbaf28c03aa6a21ebb997638dbdf950b
42947 Author: Behdad Esfahbod <behdad@behdad.org>
42948 Date:   Tue Sep 30 17:41:51 2008 -0400
42949
42950     [xlib] s/_cairo_xlib_surface_emit_glyphs_chunk/_emit_glyphs_chunk/
42951     
42952     For readability's sake.
42953
42954  src/cairo-xlib-surface.c |   34 +++++++++++++++++-----------------
42955  1 file changed, 17 insertions(+), 17 deletions(-)
42956
42957 commit c2ba25df1aec1cebfc4ce85e06a4187950675820
42958 Author: Behdad Esfahbod <behdad@behdad.org>
42959 Date:   Tue Sep 30 17:40:56 2008 -0400
42960
42961     [xlib] Add comment about glyph chunk invariant
42962
42963  src/cairo-xlib-surface.c |    4 ++++
42964  1 file changed, 4 insertions(+)
42965
42966 commit e983458e1fba15153815430c83619da53929139d
42967 Author: Behdad Esfahbod <behdad@behdad.org>
42968 Date:   Tue Sep 30 17:26:46 2008 -0400
42969
42970     Revert "[xlib] Correct calculation of XRenderComposite* request size."
42971     
42972     This reverts commit 0eb0c26474a19477554bfd580aa5f8ae77c29779.
42973     The change was too drastic and overlooked some subleties of the old
42974     code, but the main reason for the revert is that it introduced an
42975     ugly duplicated glyph flush block.  I'm working on a more incremental
42976     fix.
42977
42978  src/cairo-xlib-surface.c |  123 +++++++++++++++++-----------------------------
42979  1 file changed, 45 insertions(+), 78 deletions(-)
42980
42981 commit 32a158528884562f4b22a81da3fa352ee1061835
42982 Author: Behdad Esfahbod <behdad@behdad.org>
42983 Date:   Tue Sep 30 15:20:36 2008 -0400
42984
42985     [configure.ac] Require autoconf >= 2.59 and automake >= 1.9.6
42986     
42987     These are the versions available on RHEL5 (two years old now), and
42988     we know cairo works with them.  There's evidence that our build system
42989     does not work with older automake, and we've been requiring autoconf 2.58
42990     but no one ever tested 2.58 with the new build system.  It's very likely
42991     that 2.58 doesn't work and needs some macro backporting.  In any case,
42992     no one reported that they have 2.58 when I asked on the list.
42993
42994  configure.ac |    4 ++--
42995  1 file changed, 2 insertions(+), 2 deletions(-)
42996
42997 commit 0eb0c26474a19477554bfd580aa5f8ae77c29779
42998 Author: Chris Wilson <chris@chris-wilson.co.uk>
42999 Date:   Tue Sep 30 13:33:25 2008 +0100
43000
43001     [xlib] Correct calculation of XRenderComposite* request size.
43002     
43003     show-glyphs-many is triggering an assertion failure within xlib. The cause
43004     appears to be that we are submitting an overlong request.
43005     
43006     Reviewing the code and comparing with libXrender/src/Glyph.c I found two
43007     points to address.
43008     
43009     1. When encountering the first 2-byte, or 4-byte glyph and thus triggering
43010     the recalculation of the current request_size, we did not check that there
43011     was enough room for the expanded request. In case there is not, we need to
43012     emit the current request (before expansion) and reset.
43013     
43014     2. Subtleties in how XRenderCompositeText* constructs the binary protocol
43015     buffer require that xGlyphElts are aligned to 32-bit boundaries and that
43016     it inserts an additional xGlyphElt every 252 glyphs when width==1 or
43017     every 254 glyphs for width==2 || width==4.  Thus we need to explicitly
43018     compute how many bytes would be required to add this glyph in accordance
43019     with the above.
43020     
43021     Considering the complexity (and apparent fragility since we require tight
43022     coupling to XRender) of the code, I'm sure there are more bugs to be
43023     found.
43024
43025  src/cairo-xlib-surface.c |  123 +++++++++++++++++++++++++++++-----------------
43026  1 file changed, 78 insertions(+), 45 deletions(-)
43027
43028 commit 02a56a4c84cd07a2c33134974680bad7f17f733d
43029 Author: Chris Wilson <chris@chris-wilson.co.uk>
43030 Date:   Tue Sep 30 15:08:54 2008 +0100
43031
43032     [test/show-glyphs-many] Exercise xlib boundary conditions.
43033     
43034     Within _cairo_xlib_surface_emit_glyphs() there are a number of
43035     complications to do with packing as many glyphs as possible into a
43036     single XRenderCompositeGlyph*() call. Essentially these consist of
43037     choosing the right function and packing for the current glyphs, describing
43038     runs of glyphs and ensuring that we do not exceed the maximum request size
43039     within a single call. So we add to the test case we an attempt to show 64k
43040     2-byte glyphs and an attempt to mix 64k 1-byte and 2-byte glyphs, with the
43041     change-over point chosen to overflow the maximum request size, should
43042     _cairo_xlib_surface_emit_glyphs() naively resize the current request.
43043
43044  test/show-glyphs-many.c |   83 ++++++++++++++++++++++++++++++++++++-----------
43045  1 file changed, 64 insertions(+), 19 deletions(-)
43046
43047 commit 2a347a92b0a27a42840f9538cb98f792be12b277
43048 Author: Chris Wilson <chris@chris-wilson.co.uk>
43049 Date:   Tue Sep 30 13:29:35 2008 +0100
43050
43051     [test/show-glyphs-many] Re-enable test to trigger crash in xlib.
43052     
43053     Moral of this story is bugs cluster. If we made a mistake, especially in a
43054     complicated bit of code that is interfacing with another library, then we
43055     are likely to make a similar mistake in future. Disabling this test hid a
43056     regression between 1.4 and 1.6.
43057
43058  test/Makefile.am        |   15 +--------------
43059  test/show-glyphs-many.c |    9 +++++++++
43060  2 files changed, 10 insertions(+), 14 deletions(-)
43061
43062 commit fade54e71a48919cc3e8311e202960c66eab74bf
43063 Author: Torsten Schönfeld <kaffeetisch@gmx.de>
43064 Date:   Tue Sep 30 11:47:53 2008 +0100
43065
43066     [doc] Add links to solid pattern constructors.
43067     
43068     Add links for the solid pattern constructors to the language bindings
43069     guidelines in line with the other pattern types.
43070
43071  doc/public/language-bindings.xml |    2 +-
43072  1 file changed, 1 insertion(+), 1 deletion(-)
43073
43074 commit d9f50d7841fa0216df157ba632483c8b27c50119
43075 Author: Chris Wilson <chris@chris-wilson.co.uk>
43076 Date:   Tue Sep 30 11:03:29 2008 +0100
43077
43078     [test/filter-nearest-offset] Remove XFAIL status
43079     
43080     I swear that when I said that it was a rounding error, I was looking at an
43081     image where the squares were overlapping the lines and had a listing of
43082     all the coordinates used. However, the current output on all the machines
43083     I have to hand is correct so I believe the underlying bug to be fixed.
43084     
43085     Update the reference images for the external renderers because (a) GS
43086     exhibits the same bug cairo had and (b) librvsg/PDF do not use NEAREST
43087     when applying surface patterns, so the squares are blurred as a result.
43088
43089  test/Makefile.am                         |    8 +++++---
43090  test/filter-nearest-offset-pdf-ref.png   |  Bin 0 -> 4537 bytes
43091  test/filter-nearest-offset-ps2-ref.png   |  Bin 0 -> 255 bytes
43092  test/filter-nearest-offset-ps3-ref.png   |  Bin 0 -> 255 bytes
43093  test/filter-nearest-offset-svg11-ref.png |  Bin 0 -> 4739 bytes
43094  test/filter-nearest-offset-svg12-ref.png |  Bin 0 -> 4739 bytes
43095  test/filter-nearest-offset.c             |    3 +--
43096  7 files changed, 6 insertions(+), 5 deletions(-)
43097
43098 commit 7d5e6a18d5e72366e19cb806cbdad5ed180b53da
43099 Author: Chris Wilson <chris@chris-wilson.co.uk>
43100 Date:   Tue Sep 30 10:04:12 2008 +0100
43101
43102     [test/filter-nearest-offset] Paint a grey background
43103     
43104     Avoid requiring (an absent!) rgb24 ref image by using an opaque grey
43105     background. Confirm the reference image is identical to the old one
43106     (modulo the background change) using GIMP.
43107
43108  test/filter-nearest-offset-ref.png |  Bin 254 -> 248 bytes
43109  test/filter-nearest-offset.c       |    6 ++++++
43110  2 files changed, 6 insertions(+)
43111
43112 commit 35be08715595aa0bda48ce0b3cb11711eee55c64
43113 Author: Chris Wilson <chris@chris-wilson.co.uk>
43114 Date:   Tue Sep 30 10:54:45 2008 +0100
43115
43116     [Makefile.am] Only rerun headers-standalone if a header file has changed
43117     
43118     Use a stamp to mark the time that the headers were last checked and only
43119     rerun the test if any have been modified since.
43120
43121  src/.gitignore           |    1 +
43122  src/Makefile.am.analysis |    4 +++-
43123  2 files changed, 4 insertions(+), 1 deletion(-)
43124
43125 commit 6da8d8ea62399d94281a2a262a630ef113062d0c
43126 Author: Chris Wilson <chris@chris-wilson.co.uk>
43127 Date:   Mon Sep 29 17:56:34 2008 +0100
43128
43129     [pattern] Fix up OBO introduced to cloned area
43130     
43131     In the midst of porting 5eec3e378afd6ff9991cea8e42b8478eb3e79773 I failed
43132     to include the pad in the floor() and ceil() which introduces two
43133     potential off-by-one errors into each dimension of the region of interest
43134     of the source surface.
43135
43136  src/cairo-pattern.c |    8 ++++----
43137  1 file changed, 4 insertions(+), 4 deletions(-)
43138
43139 commit e3f9e40df74b0334c2b544790fd3485ba527bd55
43140 Author: Behdad Esfahbod <behdad@behdad.org>
43141 Date:   Mon Sep 29 11:49:04 2008 -0400
43142
43143     Fix residues of the Makefile.*.config Makefile.*.features renaming
43144     
43145     They just don't seem to want to die...
43146
43147  boilerplate/Makefile.win32 |    2 +-
43148  src/Makefile.sources       |    2 +-
43149  2 files changed, 2 insertions(+), 2 deletions(-)
43150
43151 commit d703f964aa7d1d4c8ec0b8a5dee437c222ce8629
43152 Author: Chris Wilson <chris@chris-wilson.co.uk>
43153 Date:   Mon Sep 29 16:37:35 2008 +0100
43154
43155     Clean up compile warnings.
43156     
43157     A couple of unchecked status returns (which should always be
43158     CAIRO_STATUS_SUCCESS) and an unused variable.
43159
43160  src/cairo-surface.c     |    8 ++++++--
43161  src/cairo-svg-surface.c |    1 -
43162  2 files changed, 6 insertions(+), 3 deletions(-)
43163
43164 commit 1310df44edcf0b9fee648c8f8688d4a1177cde68
43165 Author: Behdad Esfahbod <behdad@behdad.org>
43166 Date:   Mon Sep 29 11:34:19 2008 -0400
43167
43168     [text_to_glyphs] Further enhance the docs
43169     
43170     The most complex public cairo API deserves more doc love...
43171
43172  src/cairo-scaled-font.c |    8 +++++---
43173  src/cairo-user-font.c   |    5 +++++
43174  src/cairo.h             |    2 +-
43175  3 files changed, 11 insertions(+), 4 deletions(-)
43176
43177 commit 41c66a9dfa9f4e7b9839db9dc362f5fa48797561
43178 Author: Chris Wilson <chris@chris-wilson.co.uk>
43179 Date:   Mon Sep 29 15:28:28 2008 +0100
43180
43181     [test/xlib-surface-source] Fix ill-timed XCloseDisplay
43182     
43183     Sigh - finding a crasher in xlib seemed too good to be true. And it was.
43184     The bug is due to the coupling of the XCloseDisplay with the user_data on
43185     the source surface.
43186     
43187     This was an externally trigger XCloseDisplay whilst the user had live
43188     surfaces, so I consider this a gross application bug and therefore does
43189     not require graceful handling within cairo-xlib. However, I'm willing to
43190     listen to reason...
43191
43192  test/surface-source.c |    4 +++-
43193  1 file changed, 3 insertions(+), 1 deletion(-)
43194
43195 commit 63ee963c63a73cf6d9272e15a7d8f7b63f12e77b
43196 Author: Chris Wilson <chris@chris-wilson.co.uk>
43197 Date:   Mon Sep 29 15:09:23 2008 +0100
43198
43199     [user-font] Rewrite text_to_glyphs allocation instructions.
43200     
43201     Resolve the seemingly conflicting two paragraphs that instruct the writer
43202     of a user-font on when to allocate the glyphs array during text_to_glyphs,
43203     so that it is consistent with itself and the code. In particular, I could
43204     find no indication in the code that num_glyphs is preset to -1 (it should
43205     be a user parameter reflecting the number of entries in the supplied glyph
43206     buffer) and the callback must allocate the array using
43207     cairo_glyph_allocate().
43208
43209  src/cairo.h |   33 ++++++++++++++-------------------
43210  1 file changed, 14 insertions(+), 19 deletions(-)
43211
43212 commit c23dbc4c616aed05dfe71901ce7ac0cadcbfb13d
43213 Author: Chris Wilson <chris@chris-wilson.co.uk>
43214 Date:   Mon Sep 29 13:54:12 2008 +0100
43215
43216     [test/surface-source] Modify to trigger a crash.
43217     
43218     Whilst investigating:
43219       Bug 7360 painting huge surfaces fails
43220       https://bugs.freedesktop.org/show_bug.cgi?id=7360
43221     I found a particular combination of operations that cause a crash within
43222     xlib, so I'm committing the test for posterity.
43223
43224  test/surface-source.c |   50 +++++++++++++++++++++++++++++++++++++------------
43225  1 file changed, 38 insertions(+), 12 deletions(-)
43226
43227 commit 3b33d49d37a5751e7848516c468b323e19c34bea
43228 Author: Chris Wilson <chris@chris-wilson.co.uk>
43229 Date:   Mon Sep 29 08:14:24 2008 +0100
43230
43231     [test/filter-bilinear-extents] Remove XFAIL.
43232     
43233     With the reintroduction of Carl Worth's and Owen Taylor's work to expand
43234     pattern extents as necessary to include extra samples due to the filter
43235     radius, we expect filter-bilinear-extents to PASS. This patch series is
43236     important as it factors out our assumptions about filter radius into a
43237     single function and cleans up the code in its wake.
43238     
43239     However, since the external PS/PDF renderers do not necessarily use the same
43240     filter as cairo (and currently they only use NEAREST due to lack of
43241     /Interpolate emission in those backends) we can expect differences in test
43242     output. So add the respective reference images to capture current
43243     expectations and to highlight future changes.
43244     
43245     Fixes bugs:
43246       Bug 15349 - bad clipping with EXTEND_NONE
43247       [https://bugs.freedesktop.org/show_bug.cgi?id=15349],
43248       Bug 15367 -Improve filtering handling in cairo-pattern.c
43249       [https://bugs.freedesktop.org/show_bug.cgi?id=15367]
43250
43251  test/Makefile.am                         |   35 +++++++++++++++++++++++++++++-
43252  test/filter-bilinear-extents-pdf-ref.png |  Bin 0 -> 798 bytes
43253  test/filter-bilinear-extents-ps2-ref.png |  Bin 0 -> 173 bytes
43254  test/filter-bilinear-extents-ps3-ref.png |  Bin 0 -> 173 bytes
43255  4 files changed, 34 insertions(+), 1 deletion(-)
43256
43257 commit 5eec3e378afd6ff9991cea8e42b8478eb3e79773
43258 Author: Owen W. Taylor <otaylor@fishsoup.net>
43259 Date:   Mon Sep 29 00:53:59 2008 +0100
43260
43261     [pattern] Improve handling of filter radius and optimize when possible.
43262     
43263     Factor out common filter analysis code from _cairo_pattern_get_extents()
43264     so that we can share it with _cairo_pattern_acquire_surface_for_surface()
43265     as well. During the analysis of the filter determine whether the pattern
43266     matrix maps source pixels exactly onto destination pixels and if so convert
43267     the filter to NEAREST - generalising the existing conversion to NEAREST.
43268     
43269     (Patch ported to master by Chris Wilson, all bugs are his.)
43270
43271  src/cairo-matrix.c  |   29 +++++++++++++
43272  src/cairo-pattern.c |  113 +++++++++++++++++++++++++++++++++++----------------
43273  src/cairoint.h      |    3 ++
43274  3 files changed, 110 insertions(+), 35 deletions(-)
43275
43276 commit 7d7057cf8896a3558fadc35d160d3bc667972800
43277 Author: Carl Worth <cworth@cworth.org>
43278 Date:   Fri Apr 4 19:00:28 2008 -0700
43279
43280     _cairo_pattern_get_extents: Fix to allow for expansion based on filter
43281     
43282     This fixes the filter-bilinear-extents test case and the
43283     related bug entry:
43284     
43285         bad clipping with EXTEND_NONE
43286         http://bugs.freedesktop.org/show_bug.cgi?id=15349
43287     
43288     Though there are still differences in the PDF and PostScript
43289     backends, (primarily because we can't capture cairo's filter
43290     modes in those file formats).
43291
43292  src/cairo-pattern.c                                |   22 ++++++++++++++++++++
43293  test/paint-source-alpha-svg11-ref.png              |  Bin 505 -> 756 bytes
43294  ...scale-source-surface-paint-svg11-argb32-ref.png |  Bin 182 -> 229 bytes
43295  .../scale-source-surface-paint-svg11-rgb24-ref.png |  Bin 192 -> 243 bytes
43296  ...scale-source-surface-paint-svg12-argb32-ref.png |  Bin 182 -> 229 bytes
43297  .../scale-source-surface-paint-svg12-rgb24-ref.png |  Bin 192 -> 243 bytes
43298  6 files changed, 22 insertions(+)
43299
43300 commit 6ef4bd4ecfa30f00ad0fe6e5e5f1d1a0a5dfe8e3
43301 Author: Owen W. Taylor <otaylor@fishsoup.net>
43302 Date:   Sun Sep 28 23:30:22 2008 +0100
43303
43304     [pattern] Fix acquiring outside of source bounds
43305     
43306     Restrict the area we acquire from the source image to the bounds of
43307     the source image, even when we have an identity matrix. This handles
43308     circumstances where the pattern extents may be enlarged due to
43309     filtering, for example when applying a bilinear filter.
43310     
43311     This patch replaces the open-coded rectangle intersection which has
43312     already proven itself to be a source of bugs.
43313     
43314     (Patch ported to master by Chris Wilson, all bugs are his.)
43315
43316  src/cairo-pattern.c |   63 ++++++++++++++++++++++++++-------------------------
43317  1 file changed, 32 insertions(+), 31 deletions(-)
43318
43319 commit 6d0f2c4421e34a078469a81646a52dfa47b4dcf1
43320 Author: Owen W. Taylor <otaylor@fishsoup.net>
43321 Date:   Mon Sep 29 00:02:18 2008 +0100
43322
43323     [pattern] Remove the hack to support cloning surface patterns.
43324     
43325     Remove instances (abuses) of calling _cairo_pattern_acquire_surface() on
43326     a known-surface-pattern with a hack to say "give me the entire surface".
43327     If you know you just want the entire surface as an image surface, that
43328     can be done more simply.
43329     
43330     (Split from original patch on
43331     https://bugs.freedesktop.org/attachment.cgi?id=15703, by Chris Wilson -
43332     as usual all bugs are his.)
43333
43334  src/cairo-pattern.c                |    5 +----
43335  src/cairo-svg-surface.c            |   16 ++------------
43336  src/cairo-win32-printing-surface.c |   41 +++++++++++++++++-------------------
43337  3 files changed, 22 insertions(+), 40 deletions(-)
43338
43339 commit 117f643e49615295eb37af24efffd8327429cbf9
43340 Author: Chris Wilson <chris@chris-wilson.co.uk>
43341 Date:   Sun Sep 28 22:42:30 2008 +0100
43342
43343     [test/filter-bilinear-extents] Extend testing.
43344     
43345     First, explicitly set the filter mode to BILINEAR in case the default should
43346     ever change. And then draw a second pattern with extents that in theory
43347     are larger than the source surface in order to test handling of acquiring
43348     out-of-bounds extents.
43349
43350  test/filter-bilinear-extents.c |   45 +++++++++++++++++++++++++++-------------
43351  1 file changed, 31 insertions(+), 14 deletions(-)
43352
43353 commit 3ff86a4510b718a3154b56b052be786f9495a3b0
43354 Author: Chris Wilson <chris@chris-wilson.co.uk>
43355 Date:   Mon Sep 29 08:38:31 2008 +0100
43356
43357     [test] Disable caching of SVG fail/pass surfaces.
43358     
43359     As we use cairo to convert SVG files back to an image, that process is
43360     dependent upon changes within our library and so we cannot skip the
43361     conversion if the SVG file happens to match a previous run. Fortunately,
43362     librsvg is quick enough that this is not a major issue.
43363
43364  boilerplate/cairo-boilerplate.c |    8 ++++----
43365  1 file changed, 4 insertions(+), 4 deletions(-)
43366
43367 commit 24b22f0d2161f7a4ce75ceb2a86a77737027ee56
43368 Author: Chris Wilson <chris@chris-wilson.co.uk>
43369 Date:   Mon Sep 29 07:52:09 2008 +0100
43370
43371     [glitz] Compile fix for typo.
43372     
43373     I wonder whether merely fixing a compile error in glitz will do anything
43374     towards its utility... Anyway fix the missing comma as reported by
43375     Shunichi Fuji and correct the asserts.
43376
43377  src/cairo-glitz-surface.c |    6 +++---
43378  1 file changed, 3 insertions(+), 3 deletions(-)
43379
43380 commit 4f449107afba8ca96cd16e8dec283db124105dc8
43381 Author: Chris Wilson <chris@chris-wilson.co.uk>
43382 Date:   Sun Sep 28 21:05:36 2008 +0100
43383
43384     [test/fallback-resolution] Exercise a couple of outstanding bugs.
43385     
43386     Use dashes to exercise bugs:
43387       https://bugs.freedesktop.org/show_bug.cgi?id=9189
43388       https://bugs.freedesktop.org/show_bug.cgi?id=17223
43389     Note bug 17223 indicates that this is still relevant for win32 printing
43390     where fallbacks are used if the dash offset is non-zero.
43391     
43392     And use a pattern to exercise the (fixed) regression:
43393       https://bugs.launchpad.net/inkscape/+bug/234546
43394
43395  test/fallback-resolution-ppi150-ref.png  |  Bin 2397 -> 8043 bytes
43396  test/fallback-resolution-ppi300-ref.png  |  Bin 1591 -> 5637 bytes
43397  test/fallback-resolution-ppi37.5-ref.png |  Bin 4681 -> 14098 bytes
43398  test/fallback-resolution-ppi600-ref.png  |  Bin 1121 -> 4104 bytes
43399  test/fallback-resolution-ppi72-ref.png   |  Bin 2497 -> 8409 bytes
43400  test/fallback-resolution-ppi75-ref.png   |  Bin 3575 -> 12101 bytes
43401  test/fallback-resolution.c               |   40 ++++++++++++++++++++++++++++--
43402  7 files changed, 38 insertions(+), 2 deletions(-)
43403
43404 commit 0a7d781ab020171e70bd1dc66ff1556106e5be3f
43405 Author: Chris Wilson <chris@chris-wilson.co.uk>
43406 Date:   Sun Sep 28 18:57:15 2008 +0100
43407
43408     [perf] Add rounded rectangle perf case.
43409     
43410     Add the performance test case to compare the speed of filling a rounded
43411     rectangle (one with camphered corners) as opposed to an ordinary
43412     rectangle. Since the majority of the pixels are identical, ideally the two
43413     cases would take similar times (modulo the additional overhead in the more
43414     complex path).
43415
43416  perf/Makefile.am          |    1 +
43417  perf/cairo-perf.c         |    1 +
43418  perf/cairo-perf.h         |    1 +
43419  perf/rectangles.c         |   22 ++++++++-
43420  perf/rounded-rectangles.c |  111 +++++++++++++++++++++++++++++++++++++++++++++
43421  5 files changed, 135 insertions(+), 1 deletion(-)
43422
43423 commit d52b55cb1b2a4e9b5fd8dd12592a227f8f6a93fc
43424 Author: Karl Tomlinson <karlt+@karlt.net>
43425 Date:   Sun Sep 28 17:51:23 2008 +0100
43426
43427     [xlib] _surfaces_compatible() can return true for different picture formats
43428     
43429     _surfaces_compatible in cairo-xlib-surface returns true for surfaces with
43430     different xrender_format when each has the same depth and no (NULL)
43431     visual.
43432     
43433     Common picture formats will not have the same depth, but
43434     it is possible to create a surface with a non-standard xrender_format
43435     having the same depth as another xrender_format with
43436     cairo_xlib_surface_create_with_xrender_format.
43437     
43438     Both cairo_xlib_surface_create_with_xrender_format and
43439     _cairo_xlib_surface_create_similar_with_format create surfaces with no
43440     visual.
43441     
43442     The same issue exists in the xcb backend.
43443     
43444     Fixes bug https://bugs.freedesktop.org/show_bug.cgi?id=16564.
43445
43446  AUTHORS                  |    1 +
43447  src/cairo-xcb-surface.c  |    4 +++-
43448  src/cairo-xlib-surface.c |    4 +++-
43449  3 files changed, 7 insertions(+), 2 deletions(-)
43450
43451 commit b6b54e2f2736bfa9f76b7b6fc0da5d35a71fe846
43452 Author: Chris Wilson <chris@chris-wilson.co.uk>
43453 Date:   Sun Sep 28 17:13:11 2008 +0100
43454
43455     [svg] Compile fix for last commit.
43456     
43457     Sorry - badly merged patch (missed a chunk).
43458
43459  src/cairo-svg-surface.c |    5 +++--
43460  1 file changed, 3 insertions(+), 2 deletions(-)
43461
43462 commit cff3bcba68233101c5518801b64e37d2f0e70ae8
43463 Author: Chris Wilson <chris@chris-wilson.co.uk>
43464 Date:   Sun Sep 28 17:06:32 2008 +0100
43465
43466     [svg] Check that the mask is supported.
43467     
43468     During the analyze phase we also need to check whether we can emit the mask
43469     without requiring fallbacks.
43470
43471  src/cairo-svg-surface.c |   17 +++++++++++++++--
43472  1 file changed, 15 insertions(+), 2 deletions(-)
43473
43474 commit 8ad3031359d74bdff4b1e3ef8d0af047821f1795
43475 Author: Chris Wilson <chris@chris-wilson.co.uk>
43476 Date:   Sun Sep 28 17:04:15 2008 +0100
43477
43478     [svg] Enable the assertion that paint() is supported.
43479     
43480     The XXX comment before the disabled assert is misleading as the final
43481     fallback image paint operation should never trigger UNSUPPORTED.
43482
43483  src/cairo-svg-surface.c |   13 ++++---------
43484  1 file changed, 4 insertions(+), 9 deletions(-)
43485
43486 commit 95e637f9ac9e4256f7ba73e8f048f8e559631c82
43487 Author: Chris Wilson <chris@chris-wilson.co.uk>
43488 Date:   Sun Sep 28 16:54:59 2008 +0100
43489
43490     [paginated] Set paginated mode before every replay.
43491     
43492     Previously we were replaying full page fallbacks without updating the
43493     mode - this was upsetting SVG.
43494
43495  src/cairo-paginated-surface.c |   23 ++++++++++++++---------
43496  1 file changed, 14 insertions(+), 9 deletions(-)
43497
43498 commit 36b98589911ab57762317ec95cbff41681c1e0b6
43499 Author: Chris Wilson <chris@chris-wilson.co.uk>
43500 Date:   Sun Sep 28 16:24:40 2008 +0100
43501
43502     [svg] Kill _cairo_svg_surface_force_fallbacks.
43503     
43504     It is not used, but refuses to die!
43505
43506  src/cairo-svg-surface.c |    5 ++---
43507  1 file changed, 2 insertions(+), 3 deletions(-)
43508
43509 commit 57851464f920d52444d19d25e78293fa0f40c5f9
43510 Author: Benjamin Otte <otte@gnome.org>
43511 Date:   Sun Sep 28 17:02:23 2008 +0200
43512
43513     [SVG] make backend handle new operators gracefully
43514     
43515     Previously, the SVG backend would rash when new operators were added to
43516     cairo.h, now it returns UNSUPPORTED.
43517     Also unsupported operators can now be set as NULL, so image fallbacks can
43518     be used properly.
43519     Should use fallbacks instead of color-dodge for CAIRO_OPERATOR_STURATE?
43520
43521  src/cairo-svg-surface.c |   45 +++++++++++++++++++++++++++++++--------------
43522  1 file changed, 31 insertions(+), 14 deletions(-)
43523
43524 commit fda80cc852a109fe60e3277a1847bc5c24f35d8e
43525 Author: Benjamin Otte <otte@gnome.org>
43526 Date:   Sun Sep 28 14:57:49 2008 +0200
43527
43528     [SVG] use _cairo_operator_bounded_by_source()
43529     
43530     previously, the code was duplicating its functionality
43531
43532  src/cairo-svg-surface.c |   27 ++++++++++++---------------
43533  1 file changed, 12 insertions(+), 15 deletions(-)
43534
43535 commit 3c18d95b293eddaa25232bc06398c78bc8043cb4
43536 Author: Chris Wilson <chris@chris-wilson.co.uk>
43537 Date:   Sun Sep 28 15:57:37 2008 +0100
43538
43539     Compute device_transform_inverse.
43540     
43541     Because we can independently set either the device scale or the device
43542     offset, we need to be careful and recompute the inverse rather than simply
43543     assuming that the original contents of the device transform is identity.
43544     
43545     Fixes regression https://bugs.launchpad.net/inkscape/+bug/234546.
43546
43547  src/cairo-surface.c |   10 ++++------
43548  1 file changed, 4 insertions(+), 6 deletions(-)
43549
43550 commit 9841d9d58ea286f798626d325d50a85bf3f02c8f
43551 Author: Chris Wilson <chris@chris-wilson.co.uk>
43552 Date:   Sun Sep 28 13:34:50 2008 +0100
43553
43554     Automate error checking for fallback-resolution.
43555     
43556     For this we extend the boilerplate get_image() routines to extract a
43557     single page out of a paginated document and then proceed to manually
43558     check each page of the fallback-resolution test.
43559     
43560     (Well that's the theory, in practice SVG doesn't support multiple pages
43561     and so we just generate a new surface for each resolution. But the
43562     infrastructure is in place so that we can automate other tests,
43563     e.g. test/multi-pages.)
43564
43565  boilerplate/cairo-boilerplate-pdf-private.h        |    5 +
43566  boilerplate/cairo-boilerplate-pdf.c                |   29 +-
43567  boilerplate/cairo-boilerplate-pdf.h                |   33 --
43568  boilerplate/cairo-boilerplate-ps-private.h         |    9 +-
43569  boilerplate/cairo-boilerplate-ps.c                 |   33 +-
43570  boilerplate/cairo-boilerplate-ps.h                 |   33 --
43571  boilerplate/cairo-boilerplate-svg-private.h        |    5 +
43572  boilerplate/cairo-boilerplate-svg.c                |   36 +-
43573  boilerplate/cairo-boilerplate-svg.h                |   33 --
43574  .../cairo-boilerplate-test-surfaces-private.h      |    1 +
43575  boilerplate/cairo-boilerplate-test-surfaces.c      |    7 +-
43576  boilerplate/cairo-boilerplate-win32-printing.c     |    5 +
43577  boilerplate/cairo-boilerplate-win32-private.h      |    1 +
43578  boilerplate/cairo-boilerplate.c                    |   74 ++--
43579  boilerplate/cairo-boilerplate.h                    |    7 +
43580  src/cairo-svg-surface.c                            |    6 +-
43581  test/Makefile.am                                   |    6 +
43582  test/cairo-test.c                                  |   36 +-
43583  test/cairo-test.h                                  |   12 +
43584  test/fallback-resolution-ppi150-ref.png            |  Bin 0 -> 2397 bytes
43585  test/fallback-resolution-ppi300-ref.png            |  Bin 0 -> 1591 bytes
43586  test/fallback-resolution-ppi37.5-ref.png           |  Bin 0 -> 4681 bytes
43587  test/fallback-resolution-ppi600-ref.png            |  Bin 0 -> 1121 bytes
43588  test/fallback-resolution-ppi72-ref.png             |  Bin 0 -> 2497 bytes
43589  test/fallback-resolution-ppi75-ref.png             |  Bin 0 -> 3575 bytes
43590  test/fallback-resolution.c                         |  413 +++++++++++++++-----
43591  26 files changed, 486 insertions(+), 298 deletions(-)
43592
43593 commit cca1fc6358e9d0213dd2b41a5bfd1629eec6511e
43594 Author: Chris Wilson <chris@chris-wilson.co.uk>
43595 Date:   Sat Sep 27 21:53:21 2008 +0100
43596
43597     [test] Fix target specific tests for recent SVG/PS version split.
43598     
43599     A few tests explicitly checked whether the "ps" or "svg" target was
43600     enabled and this broke because of the name change. So fixup, to run
43601     the generic test if either PS or SVG target is enabled as appropriate.
43602
43603  test/create-for-stream.c   |    8 ++++++--
43604  test/fallback-resolution.c |    8 ++++++--
43605  test/multi-page.c          |    4 +++-
43606  test/ps-features.c         |    4 +++-
43607  test/svg-clip.c            |    4 +++-
43608  test/svg-surface.c         |    4 +++-
43609  6 files changed, 24 insertions(+), 8 deletions(-)
43610
43611 commit 39e4a0bcd04191eecfc593653a4ba32a28fcac6a
43612 Author: Chris Wilson <chris@chris-wilson.co.uk>
43613 Date:   Sat Sep 27 19:33:51 2008 +0100
43614
43615     [test] Update list of REFERENCE_IMAGES
43616     
43617     A few typos, deletions and additions from the inclusion of versioned
43618     SVG/PS testing.
43619
43620  test/Makefile.am |   50 +++++++++++++++++++++++++++++++-------------------
43621  1 file changed, 31 insertions(+), 19 deletions(-)
43622
43623 commit 260362e5728e2591bb50f565ef04ba951d95de79
43624 Author: Chris Wilson <chris@chris-wilson.co.uk>
43625 Date:   Sat Sep 27 19:16:34 2008 +0100
43626
43627     [cairo-test] Fix cairo_test_file_is_older().
43628     
43629     It did not even compile, so no longer it wasn't deleting cached results
43630     if you updated the reference images.
43631
43632  test/cairo-test.c |   11 +++++++----
43633  1 file changed, 7 insertions(+), 4 deletions(-)
43634
43635 commit ffbb67303c1a4d986096ba046bb3256314b9f1b1
43636 Author: Chris Wilson <chris@chris-wilson.co.uk>
43637 Date:   Sat Sep 27 18:54:45 2008 +0100
43638
43639     [test/gradient-constant-alpha] Remove ps2 reference images.
43640     
43641     PostScript level 2 has no support for gradients and so should uses image
43642     fallbacks and hence do not require the GS specific reference images.
43643
43644  test/Makefile.am                               |    2 --
43645  test/gradient-constant-alpha-ps2-ref.png       |  Bin 124 -> 0 bytes
43646  test/gradient-constant-alpha-ps2-rgb24-ref.png |  Bin 124 -> 0 bytes
43647  3 files changed, 2 deletions(-)
43648
43649 commit 4fa9f8c0608c137d9aa277039cb286c8294e6a2f
43650 Author: Chris Wilson <chris@chris-wilson.co.uk>
43651 Date:   Sat Sep 27 17:42:06 2008 +0100
43652
43653     [test/large-source] Remove stale comment.
43654     
43655     Delete a reference to an old limitation of pixman.
43656
43657  test/large-source.c |    3 ---
43658  1 file changed, 3 deletions(-)
43659
43660 commit 35f1e2fa4f15c562e5cc41578b413c6874e131bc
43661 Author: Chris Wilson <chris@chris-wilson.co.uk>
43662 Date:   Sat Sep 27 17:37:32 2008 +0100
43663
43664     [test/operator*] Remove XFAIL descriptions.
43665     
43666     The tests should now pass, so remove the line claiming that they fail
43667     for unknown reasons.
43668
43669  test/operator-alpha.c |    3 +--
43670  test/operator.c       |    3 +--
43671  2 files changed, 2 insertions(+), 4 deletions(-)
43672
43673 commit 871f683367b1a1647b607f9221e1fc2eddc6e5dd
43674 Author: Chris Wilson <chris@chris-wilson.co.uk>
43675 Date:   Sat Sep 27 17:24:57 2008 +0100
43676
43677     clone_similar(): s/device_offset/clone_offset/
43678     
43679     A little bit of sleep and reflection suggested that the use of
43680     device_offset_[xy] was confusing and clone_offset_[xy] more consistent
43681     with the function naming.
43682
43683  src/cairo-directfb-surface.c         |   12 ++++++------
43684  src/cairo-glitz-surface.c            |   18 +++++++++---------
43685  src/cairo-image-surface.c            |    6 +++---
43686  src/cairo-pattern.c                  |    6 +++---
43687  src/cairo-quartz-surface.c           |   16 ++++++++--------
43688  src/cairo-surface-fallback-private.h |    4 ++--
43689  src/cairo-surface-fallback.c         |    8 ++++----
43690  src/cairo-surface.c                  |   16 ++++++++--------
43691  src/cairo-win32-private.h            |    4 ++--
43692  src/cairo-win32-surface.c            |    8 ++++----
43693  src/cairo-xcb-surface.c              |   12 ++++++------
43694  src/cairo-xlib-surface.c             |   12 ++++++------
43695  src/cairoint.h                       |   10 +++++-----
43696  src/test-fallback-surface.c          |    8 ++++----
43697  14 files changed, 70 insertions(+), 70 deletions(-)
43698
43699 commit 95c3c069326a77a28eb49053c0ace9f1977e0378
43700 Author: Chris Wilson <chris@chris-wilson.co.uk>
43701 Date:   Sat Sep 27 17:13:32 2008 +0100
43702
43703     [surface] Only return early for no traps if the operator is bounded by a mask.
43704     
43705     If the operator is unbounded, then its area of effect extends beyond
43706     the definition of the mask by the trapezoids and so we must always perform
43707     the image composition.
43708     
43709     Fixes test/operator*.
43710
43711  src/cairo-surface-fallback.c |    4 +---
43712  test/Makefile.am             |    2 --
43713  2 files changed, 1 insertion(+), 5 deletions(-)
43714
43715 commit 922a5801164c2b2340a7b4a950820b07e72adadc
43716 Merge: 0c43170 1e45da4
43717 Author: Emmanuel Pacaud <emmanuel.pacaud@free.fr>
43718 Date:   Sat Sep 27 11:55:50 2008 +0200
43719
43720     Merge branch 'master' of git+ssh://emmanuel@git.cairographics.org/git/cairo
43721
43722 commit 0c4317085ecfc112214cdfe2abd66d9df8038282
43723 Author: Emmanuel Pacaud <emmanuel.pacaud@free.fr>
43724 Date:   Sat Sep 27 11:47:32 2008 +0200
43725
43726     [svg] Fix comp-op for paint, mask and show_glyphs operations.
43727     
43728     In paint and show_glyphs, the compositing operator was not emitted at all.
43729     In mask, the operator was also emitted for the mask itself, which is
43730     wrong.
43731     
43732     SVG clear and source differ from cairo as it also affects the
43733     destination if the source pixel are completely transparent. We need to emit
43734     an additional clip-to-self property.
43735     
43736     Librsvg does not support clip-to-self, so it renders the SVG
43737     test outputs incorrectly.
43738     
43739     This patch also remove a lot of useless spaces in the style property
43740     strings (I know, this should go in another commit).
43741
43742  src/cairo-svg-surface.c |  196 +++++++++++++++++++++++++++--------------------
43743  1 file changed, 113 insertions(+), 83 deletions(-)
43744
43745 commit 1e45da48b555b707225c1521068011cabbcc976f
43746 Author: Adrian Johnson <ajohnson@redneon.com>
43747 Date:   Sat Sep 27 14:38:22 2008 +0930
43748
43749     Update ref images in Makefile.am
43750
43751  test/Makefile.am |    3 ++-
43752  1 file changed, 2 insertions(+), 1 deletion(-)
43753
43754 commit c0535e8e3394f0b78867785e65cf89dbb31875d5
43755 Author: Adrian Johnson <ajohnson@redneon.com>
43756 Date:   Sat Sep 27 14:31:50 2008 +0930
43757
43758     Remove miter-precision from XFAIL
43759     
43760     The miter-precision PS output prints correctly on my LaserJet 4050. So
43761     file a Ghostscript bug, supply PS ref images and remove from XFAIL.
43762
43763  test/Makefile.am                 |    1 -
43764  test/README                      |    5 +++++
43765  test/miter-precision-ps2-ref.png |  Bin 0 -> 865 bytes
43766  test/miter-precision-ps3-ref.png |  Bin 0 -> 865 bytes
43767  test/miter-precision.c           |    2 +-
43768  5 files changed, 6 insertions(+), 2 deletions(-)
43769
43770 commit 5b97ee65259cafb335c1a2c53f1a55dfcb175e20
43771 Author: Chris Wilson <chris@chris-wilson.co.uk>
43772 Date:   Sat Sep 27 00:18:07 2008 +0100
43773
43774     Allow cloning sub-regions of similar surfaces.
43775     
43776     Previously the rule for clone_similar() was that the returned surface
43777     had exactly the same size as the original, but only the contents within
43778     the region of interest needed to be copied. This caused failures for very
43779     large images in the xlib-backend (see test/large-source).
43780     
43781     The obvious solution to allow cloning only the region of interest seemed
43782     to be to simply set the device offset on the cloned surface. However, this
43783     fails as a) nothing respects the device offset on the surface at that
43784     layer in the compositing stack and b) possibly returning references to the
43785     original source surface provides further confusion by mixing in another
43786     source of device offset.
43787     
43788     The second method was to add extra out parameters so that the
43789     device offset could be returned separately and, for example, mixed into
43790     the pattern matrix. Not as elegant, a couple of extra warts to the
43791     interface, but it works - one less XFAIL...
43792
43793  src/cairo-clip.c                     |    6 ++++++
43794  src/cairo-directfb-surface.c         |   14 +++++++++-----
43795  src/cairo-glitz-surface.c            |   10 ++++++++++
43796  src/cairo-image-surface.c            |    3 +++
43797  src/cairo-pattern.c                  |   15 +++++++++++++--
43798  src/cairo-quartz-surface.c           |   10 +++++++++-
43799  src/cairo-surface-fallback-private.h |    2 ++
43800  src/cairo-surface-fallback.c         |    8 ++++++--
43801  src/cairo-surface.c                  |   24 ++++++++++++++++++------
43802  src/cairo-win32-private.h            |    2 ++
43803  src/cairo-win32-surface.c            |    8 ++++++--
43804  src/cairo-xcb-surface.c              |   18 ++++++++++++++----
43805  src/cairo-xlib-surface.c             |   21 +++++++++++++++------
43806  src/cairoint.h                       |   11 +++++++++--
43807  src/test-fallback-surface.c          |    4 ++++
43808  test/Makefile.am                     |    1 -
43809  16 files changed, 126 insertions(+), 31 deletions(-)
43810
43811 commit 7f3a48f90b409653a2d4fb802779ecb7508e4d6e
43812 Author: Behdad Esfahbod <behdad@behdad.org>
43813 Date:   Fri Sep 26 13:27:42 2008 -0400
43814
43815     [cairo.h] Don't define cairo_public to __declspec(dllimport) for static build
43816     
43817     That define should target win32 DLL builds only.  We can't tell though,
43818     so we require user to define CAIRO_WIN32_STATIC_BUILD to signal that.
43819
43820  src/cairo-system.c |    2 +-
43821  src/cairo.h        |    2 +-
43822  2 files changed, 2 insertions(+), 2 deletions(-)
43823
43824 commit b6e910f4b636e947cefb310125979ce742e87730
43825 Author: Behdad Esfahbod <behdad@behdad.org>
43826 Date:   Fri Sep 26 12:36:33 2008 -0400
43827
43828     [README.win32] Update wording from Tor Lillqvist
43829
43830  README.win32 |   19 ++++++++++++-------
43831  1 file changed, 12 insertions(+), 7 deletions(-)
43832
43833 commit fc12267405e98497c9f086d49fa6501d8f671a68
43834 Author: Chris Wilson <chris@chris-wilson.co.uk>
43835 Date:   Fri Sep 26 17:10:52 2008 +0100
43836
43837     [scaled-font] Spelling fix.
43838     
43839     Arbitrary spelling fix.
43840
43841  src/cairo-scaled-font.c |    2 +-
43842  1 file changed, 1 insertion(+), 1 deletion(-)
43843
43844 commit e0f214710760a0e0332207cb3009e3119867bd13
43845 Author: Chris Wilson <chris@chris-wilson.co.uk>
43846 Date:   Fri Sep 26 16:49:57 2008 +0100
43847
43848     [boilerplate] Add a PS 2 target.
43849     
43850     Ensure that we can generate PS2 output when required by creating a PS
43851     level 2 target and using GhostScript for conformance testing.
43852
43853  boilerplate/cairo-boilerplate-ps-private.h         |   29 +-
43854  boilerplate/cairo-boilerplate-ps.c                 |   55 +++-
43855  boilerplate/cairo-boilerplate.c                    |   23 +-
43856  test/Makefile.am                                   |  286 +++++++++++++-------
43857  test/big-line-ps-ref.png                           |  Bin 1148 -> 0 bytes
43858  test/big-line-ps-rgb24-ref.png                     |  Bin 830 -> 0 bytes
43859  test/big-line-ps2-ref.png                          |  Bin 0 -> 1148 bytes
43860  test/big-line-ps2-rgb24-ref.png                    |  Bin 0 -> 830 bytes
43861  test/big-line-ps3-ref.png                          |  Bin 0 -> 1148 bytes
43862  test/big-line-ps3-rgb24-ref.png                    |  Bin 0 -> 830 bytes
43863  test/caps-joins-ps-ref.png                         |  Bin 1459 -> 0 bytes
43864  test/caps-joins-ps2-ref.png                        |  Bin 0 -> 1459 bytes
43865  test/caps-joins-ps3-ref.png                        |  Bin 0 -> 1459 bytes
43866  test/clip-fill-rule-ps-argb32-ref.png              |  Bin 310 -> 0 bytes
43867  test/clip-fill-rule-ps-rgb24-ref.png               |  Bin 302 -> 0 bytes
43868  test/clip-fill-rule-ps2-argb32-ref.png             |  Bin 0 -> 310 bytes
43869  test/clip-fill-rule-ps2-rgb24-ref.png              |  Bin 0 -> 302 bytes
43870  test/clip-fill-rule-ps3-argb32-ref.png             |  Bin 0 -> 310 bytes
43871  test/clip-fill-rule-ps3-rgb24-ref.png              |  Bin 0 -> 302 bytes
43872  test/clip-nesting-ps-argb32-ref.png                |  Bin 651 -> 0 bytes
43873  test/clip-nesting-ps-rgb24-ref.png                 |  Bin 636 -> 0 bytes
43874  test/clip-nesting-ps2-argb32-ref.png               |  Bin 0 -> 651 bytes
43875  test/clip-nesting-ps2-rgb24-ref.png                |  Bin 0 -> 636 bytes
43876  test/clip-nesting-ps3-argb32-ref.png               |  Bin 0 -> 651 bytes
43877  test/clip-nesting-ps3-rgb24-ref.png                |  Bin 0 -> 636 bytes
43878  test/clip-operator-ps-rgb24-ref.png                |  Bin 3624 -> 0 bytes
43879  test/clip-operator-ps2-rgb24-ref.png               |  Bin 0 -> 3624 bytes
43880  test/clip-operator-ps3-ref.png                     |  Bin 0 -> 8188 bytes
43881  test/clip-operator-ps3-rgb24-ref.png               |  Bin 0 -> 3624 bytes
43882  test/clip-push-group-ps-argb32-ref.png             |  Bin 179 -> 0 bytes
43883  test/clip-push-group-ps-rgb24-ref.png              |  Bin 179 -> 0 bytes
43884  test/clip-push-group-ps2-argb32-ref.png            |  Bin 0 -> 179 bytes
43885  test/clip-push-group-ps2-rgb24-ref.png             |  Bin 0 -> 179 bytes
43886  test/clip-push-group-ps3-argb32-ref.png            |  Bin 0 -> 179 bytes
43887  test/clip-push-group-ps3-rgb24-ref.png             |  Bin 0 -> 179 bytes
43888  test/clip-twice-ps-argb32-ref.png                  |  Bin 575 -> 0 bytes
43889  test/clip-twice-ps-rgb24-ref.png                   |  Bin 541 -> 0 bytes
43890  test/clip-twice-ps2-argb32-ref.png                 |  Bin 0 -> 575 bytes
43891  test/clip-twice-ps2-rgb24-ref.png                  |  Bin 0 -> 541 bytes
43892  test/clip-twice-ps3-argb32-ref.png                 |  Bin 0 -> 575 bytes
43893  test/clip-twice-ps3-rgb24-ref.png                  |  Bin 0 -> 541 bytes
43894  test/clipped-group-ps-ref.png                      |  Bin 343 -> 0 bytes
43895  test/clipped-group-ps2-ref.png                     |  Bin 0 -> 343 bytes
43896  test/clipped-group-ps3-ref.png                     |  Bin 0 -> 343 bytes
43897  test/close-path-ps-ref.png                         |  Bin 309 -> 0 bytes
43898  test/close-path-ps2-ref.png                        |  Bin 0 -> 309 bytes
43899  test/close-path-ps3-ref.png                        |  Bin 0 -> 309 bytes
43900  test/copy-path-ps-ref.png                          |  Bin 474 -> 0 bytes
43901  test/copy-path-ps2-ref.png                         |  Bin 0 -> 474 bytes
43902  test/copy-path-ps3-ref.png                         |  Bin 0 -> 474 bytes
43903  test/dash-caps-joins-ps-argb32-ref.png             |  Bin 3870 -> 0 bytes
43904  test/dash-caps-joins-ps-rgb24-ref.png              |  Bin 3870 -> 0 bytes
43905  test/dash-caps-joins-ps2-argb32-ref.png            |  Bin 0 -> 3870 bytes
43906  test/dash-caps-joins-ps2-rgb24-ref.png             |  Bin 0 -> 3870 bytes
43907  test/dash-caps-joins-ps3-argb32-ref.png            |  Bin 0 -> 3870 bytes
43908  test/dash-caps-joins-ps3-rgb24-ref.png             |  Bin 0 -> 3870 bytes
43909  test/dash-curve-ps-ref.png                         |  Bin 27293 -> 0 bytes
43910  test/dash-curve-ps2-ref.png                        |  Bin 0 -> 27293 bytes
43911  test/dash-curve-ps3-ref.png                        |  Bin 0 -> 27293 bytes
43912  test/dash-scale-ps-argb32-ref.png                  |  Bin 6318 -> 0 bytes
43913  test/dash-scale-ps-rgb24-ref.png                   |  Bin 6316 -> 0 bytes
43914  test/dash-scale-ps2-argb32-ref.png                 |  Bin 0 -> 6318 bytes
43915  test/dash-scale-ps2-rgb24-ref.png                  |  Bin 0 -> 6316 bytes
43916  test/dash-scale-ps3-argb32-ref.png                 |  Bin 0 -> 6318 bytes
43917  test/dash-scale-ps3-rgb24-ref.png                  |  Bin 0 -> 6316 bytes
43918  test/dash-state-ps-ref.png                         |  Bin 10219 -> 0 bytes
43919  test/dash-state-ps2-ref.png                        |  Bin 0 -> 10219 bytes
43920  test/dash-state-ps3-ref.png                        |  Bin 0 -> 10219 bytes
43921  test/dash-zero-length-ps-ref.png                   |  Bin 319 -> 0 bytes
43922  test/dash-zero-length-ps-rgb24-ref.png             |  Bin 304 -> 0 bytes
43923  test/dash-zero-length-ps2-ref.png                  |  Bin 0 -> 319 bytes
43924  test/dash-zero-length-ps2-rgb24-ref.png            |  Bin 0 -> 304 bytes
43925  test/dash-zero-length-ps3-ref.png                  |  Bin 0 -> 319 bytes
43926  test/dash-zero-length-ps3-rgb24-ref.png            |  Bin 0 -> 304 bytes
43927  test/degenerate-arc-ps-ref.png                     |  Bin 585 -> 0 bytes
43928  test/degenerate-arc-ps2-ref.png                    |  Bin 0 -> 585 bytes
43929  test/degenerate-arc-ps3-ref.png                    |  Bin 0 -> 585 bytes
43930  test/degenerate-path-ps-argb32-ref.png             |  Bin 390 -> 0 bytes
43931  test/degenerate-path-ps-rgb24-ref.png              |  Bin 358 -> 0 bytes
43932  test/degenerate-path-ps2-argb32-ref.png            |  Bin 0 -> 390 bytes
43933  test/degenerate-path-ps2-rgb24-ref.png             |  Bin 0 -> 358 bytes
43934  test/degenerate-path-ps3-argb32-ref.png            |  Bin 0 -> 390 bytes
43935  test/degenerate-path-ps3-rgb24-ref.png             |  Bin 0 -> 358 bytes
43936  test/degenerate-pen-ps-ref.png                     |  Bin 865 -> 0 bytes
43937  test/degenerate-pen-ps2-ref.png                    |  Bin 0 -> 865 bytes
43938  test/degenerate-pen-ps3-ref.png                    |  Bin 0 -> 865 bytes
43939  test/device-offset-fractional-ps-ref.png           |  Bin 201 -> 0 bytes
43940  test/device-offset-fractional-ps2-ref.png          |  Bin 0 -> 201 bytes
43941  test/device-offset-fractional-ps3-ref.png          |  Bin 0 -> 201 bytes
43942  test/extend-reflect-ps-ref.png                     |  Bin 153322 -> 0 bytes
43943  test/extend-reflect-ps2-ref.png                    |  Bin 0 -> 153322 bytes
43944  test/extend-reflect-ps3-ref.png                    |  Bin 0 -> 153322 bytes
43945  test/extend-reflect-similar-ps-ref.png             |  Bin 153322 -> 0 bytes
43946  test/extend-reflect-similar-ps2-ref.png            |  Bin 0 -> 153322 bytes
43947  test/extend-reflect-similar-ps3-ref.png            |  Bin 0 -> 153322 bytes
43948  test/fill-alpha-pattern-ps-ref.png                 |  Bin 4380 -> 0 bytes
43949  test/fill-alpha-pattern-ps3-ref.png                |  Bin 0 -> 4380 bytes
43950  test/fill-and-stroke-ps-argb32-ref.png             |  Bin 310 -> 0 bytes
43951  test/fill-and-stroke-ps-rgb24-ref.png              |  Bin 319 -> 0 bytes
43952  test/fill-and-stroke-ps2-argb32-ref.png            |  Bin 0 -> 310 bytes
43953  test/fill-and-stroke-ps2-rgb24-ref.png             |  Bin 0 -> 319 bytes
43954  test/fill-and-stroke-ps3-argb32-ref.png            |  Bin 0 -> 310 bytes
43955  test/fill-and-stroke-ps3-rgb24-ref.png             |  Bin 0 -> 319 bytes
43956  test/fill-missed-stop-ps-argb32-ref.png            |  Bin 564 -> 0 bytes
43957  test/fill-missed-stop-ps-rgb24-ref.png             |  Bin 531 -> 0 bytes
43958  test/fill-missed-stop-ps2-argb32-ref.png           |  Bin 0 -> 564 bytes
43959  test/fill-missed-stop-ps2-rgb24-ref.png            |  Bin 0 -> 531 bytes
43960  test/fill-missed-stop-ps3-argb32-ref.png           |  Bin 0 -> 564 bytes
43961  test/fill-missed-stop-ps3-rgb24-ref.png            |  Bin 0 -> 531 bytes
43962  test/fill-rule-ps-argb32-ref.png                   |  Bin 2253 -> 0 bytes
43963  test/fill-rule-ps-rgb24-ref.png                    |  Bin 2031 -> 0 bytes
43964  test/fill-rule-ps2-argb32-ref.png                  |  Bin 0 -> 2253 bytes
43965  test/fill-rule-ps2-rgb24-ref.png                   |  Bin 0 -> 2031 bytes
43966  test/fill-rule-ps3-argb32-ref.png                  |  Bin 0 -> 2253 bytes
43967  test/fill-rule-ps3-rgb24-ref.png                   |  Bin 0 -> 2031 bytes
43968  test/finer-grained-fallbacks-ps-argb32-ref.png     |  Bin 1047 -> 0 bytes
43969  test/finer-grained-fallbacks-ps-rgb24-ref.png      |  Bin 819 -> 0 bytes
43970  test/finer-grained-fallbacks-ps2-argb32-ref.png    |  Bin 0 -> 1047 bytes
43971  test/finer-grained-fallbacks-ps2-rgb24-ref.png     |  Bin 0 -> 819 bytes
43972  test/finer-grained-fallbacks-ps3-argb32-ref.png    |  Bin 0 -> 1047 bytes
43973  test/finer-grained-fallbacks-ps3-rgb24-ref.png     |  Bin 0 -> 819 bytes
43974  test/font-matrix-translation-ps-argb32-ref.png     |  Bin 748 -> 0 bytes
43975  test/font-matrix-translation-ps-rgb24-ref.png      |  Bin 748 -> 0 bytes
43976  test/font-matrix-translation-ps2-argb32-ref.png    |  Bin 0 -> 748 bytes
43977  test/font-matrix-translation-ps2-rgb24-ref.png     |  Bin 0 -> 748 bytes
43978  test/font-matrix-translation-ps3-argb32-ref.png    |  Bin 0 -> 748 bytes
43979  test/font-matrix-translation-ps3-rgb24-ref.png     |  Bin 0 -> 748 bytes
43980  test/ft-show-glyphs-positioning-ps-ref.png         |  Bin 2269 -> 0 bytes
43981  test/ft-show-glyphs-positioning-ps2-ref.png        |  Bin 0 -> 2269 bytes
43982  test/ft-show-glyphs-positioning-ps3-ref.png        |  Bin 0 -> 2269 bytes
43983  test/ft-show-glyphs-table-ps-ref.png               |  Bin 5687 -> 0 bytes
43984  test/ft-show-glyphs-table-ps2-ref.png              |  Bin 0 -> 5687 bytes
43985  test/ft-show-glyphs-table-ps3-ref.png              |  Bin 0 -> 5687 bytes
43986  test/ft-text-antialias-none-ps-argb32-ref.png      |  Bin 335 -> 0 bytes
43987  test/ft-text-antialias-none-ps2-argb32-ref.png     |  Bin 0 -> 335 bytes
43988  test/ft-text-antialias-none-ps3-argb32-ref.png     |  Bin 0 -> 335 bytes
43989  test/ft-text-vertical-layout-type1-ps-ref.png      |  Bin 1846 -> 0 bytes
43990  test/ft-text-vertical-layout-type1-ps2-ref.png     |  Bin 0 -> 1846 bytes
43991  test/ft-text-vertical-layout-type1-ps3-ref.png     |  Bin 0 -> 1846 bytes
43992  test/ft-text-vertical-layout-type3-ps-ref.png      |  Bin 1804 -> 0 bytes
43993  test/ft-text-vertical-layout-type3-ps2-ref.png     |  Bin 0 -> 1804 bytes
43994  test/ft-text-vertical-layout-type3-ps3-ref.png     |  Bin 0 -> 1804 bytes
43995  test/glyph-cache-pressure-ps-ref.png               |  Bin 1454 -> 0 bytes
43996  test/glyph-cache-pressure-ps2-ref.png              |  Bin 0 -> 1454 bytes
43997  test/glyph-cache-pressure-ps3-ref.png              |  Bin 0 -> 1454 bytes
43998  test/gradient-alpha-ps-argb32-ref.png              |  Bin 134 -> 0 bytes
43999  test/gradient-alpha-ps-rgb24-ref.png               |  Bin 130 -> 0 bytes
44000  test/gradient-alpha-ps2-argb32-ref.png             |  Bin 0 -> 134 bytes
44001  test/gradient-alpha-ps2-rgb24-ref.png              |  Bin 0 -> 130 bytes
44002  test/gradient-alpha-ps3-argb32-ref.png             |  Bin 0 -> 134 bytes
44003  test/gradient-alpha-ps3-rgb24-ref.png              |  Bin 0 -> 130 bytes
44004  test/gradient-constant-alpha-ps-ref.png            |  Bin 124 -> 0 bytes
44005  test/gradient-constant-alpha-ps-rgb24-ref.png      |  Bin 124 -> 0 bytes
44006  test/gradient-constant-alpha-ps2-ref.png           |  Bin 0 -> 124 bytes
44007  test/gradient-constant-alpha-ps2-rgb24-ref.png     |  Bin 0 -> 124 bytes
44008  test/gradient-constant-alpha-ps3-ref.png           |  Bin 0 -> 124 bytes
44009  test/gradient-constant-alpha-ps3-rgb24-ref.png     |  Bin 0 -> 124 bytes
44010  test/infinite-join-ps-ref.png                      |  Bin 218 -> 0 bytes
44011  test/infinite-join-ps2-ref.png                     |  Bin 0 -> 218 bytes
44012  test/infinite-join-ps3-ref.png                     |  Bin 0 -> 218 bytes
44013  test/leaky-dash-ps-argb32-ref.png                  |  Bin 286 -> 0 bytes
44014  test/leaky-dash-ps-rgb24-ref.png                   |  Bin 284 -> 0 bytes
44015  test/leaky-dash-ps2-argb32-ref.png                 |  Bin 0 -> 286 bytes
44016  test/leaky-dash-ps2-rgb24-ref.png                  |  Bin 0 -> 284 bytes
44017  test/leaky-dash-ps3-argb32-ref.png                 |  Bin 0 -> 286 bytes
44018  test/leaky-dash-ps3-rgb24-ref.png                  |  Bin 0 -> 284 bytes
44019  test/leaky-dashed-rectangle-ps-ref.png             |  Bin 444 -> 0 bytes
44020  test/leaky-dashed-rectangle-ps2-ref.png            |  Bin 0 -> 444 bytes
44021  test/leaky-dashed-rectangle-ps3-ref.png            |  Bin 0 -> 444 bytes
44022  test/leaky-polygon-ps-ref.png                      |  Bin 354 -> 0 bytes
44023  test/leaky-polygon-ps2-ref.png                     |  Bin 0 -> 354 bytes
44024  test/leaky-polygon-ps3-ref.png                     |  Bin 0 -> 354 bytes
44025  test/line-width-scale-ps-ref.png                   |  Bin 3911 -> 0 bytes
44026  test/line-width-scale-ps2-ref.png                  |  Bin 0 -> 3911 bytes
44027  test/line-width-scale-ps3-ref.png                  |  Bin 0 -> 3911 bytes
44028  test/linear-gradient-ps-ref.png                    |  Bin 779 -> 0 bytes
44029  test/linear-gradient-ps3-ref.png                   |  Bin 0 -> 779 bytes
44030  test/linear-gradient-reflect-ps-ref.png            |  Bin 314 -> 0 bytes
44031  test/linear-gradient-reflect-ps3-ref.png           |  Bin 0 -> 314 bytes
44032  test/long-dashed-lines-ps-ref.png                  |  Bin 1516 -> 0 bytes
44033  test/long-dashed-lines-ps2-ref.png                 |  Bin 0 -> 1516 bytes
44034  test/long-dashed-lines-ps3-ref.png                 |  Bin 0 -> 1516 bytes
44035  test/meta-surface-pattern-ps-argb32-ref.png        |  Bin 3257 -> 0 bytes
44036  test/meta-surface-pattern-ps-rgb24-ref.png         |  Bin 3873 -> 0 bytes
44037  test/meta-surface-pattern-ps2-argb32-ref.png       |  Bin 0 -> 3257 bytes
44038  test/meta-surface-pattern-ps2-rgb24-ref.png        |  Bin 0 -> 3873 bytes
44039  test/meta-surface-pattern-ps3-argb32-ref.png       |  Bin 0 -> 3257 bytes
44040  test/meta-surface-pattern-ps3-rgb24-ref.png        |  Bin 0 -> 3873 bytes
44041  test/new-sub-path-ps-argb32-ref.png                |  Bin 556 -> 0 bytes
44042  test/new-sub-path-ps-rgb24-ref.png                 |  Bin 423 -> 0 bytes
44043  test/new-sub-path-ps2-argb32-ref.png               |  Bin 0 -> 556 bytes
44044  test/new-sub-path-ps2-rgb24-ref.png                |  Bin 0 -> 423 bytes
44045  test/new-sub-path-ps3-argb32-ref.png               |  Bin 0 -> 556 bytes
44046  test/new-sub-path-ps3-rgb24-ref.png                |  Bin 0 -> 423 bytes
44047  test/over-above-source-ps-argb32-ref.png           |  Bin 636 -> 0 bytes
44048  test/over-above-source-ps2-argb32-ref.png          |  Bin 0 -> 636 bytes
44049  test/over-above-source-ps3-argb32-ref.png          |  Bin 0 -> 636 bytes
44050  test/over-around-source-ps-argb32-ref.png          |  Bin 632 -> 0 bytes
44051  test/over-around-source-ps-rgb24-ref.png           |  Bin 538 -> 0 bytes
44052  test/over-around-source-ps2-argb32-ref.png         |  Bin 0 -> 632 bytes
44053  test/over-around-source-ps2-rgb24-ref.png          |  Bin 0 -> 538 bytes
44054  test/over-around-source-ps3-argb32-ref.png         |  Bin 0 -> 632 bytes
44055  test/over-around-source-ps3-rgb24-ref.png          |  Bin 0 -> 538 bytes
44056  test/over-below-source-ps-argb32-ref.png           |  Bin 503 -> 0 bytes
44057  test/over-below-source-ps2-argb32-ref.png          |  Bin 0 -> 503 bytes
44058  test/over-below-source-ps3-argb32-ref.png          |  Bin 0 -> 503 bytes
44059  test/over-between-source-ps-argb32-ref.png         |  Bin 678 -> 0 bytes
44060  test/over-between-source-ps2-argb32-ref.png        |  Bin 0 -> 678 bytes
44061  test/over-between-source-ps3-argb32-ref.png        |  Bin 0 -> 678 bytes
44062  test/random-intersections-ps-ref.png               |  Bin 89253 -> 0 bytes
44063  test/random-intersections-ps2-ref.png              |  Bin 0 -> 89253 bytes
44064  test/random-intersections-ps3-ref.png              |  Bin 0 -> 89253 bytes
44065  test/rectilinear-miter-limit-ps-ref.png            |  Bin 221 -> 0 bytes
44066  test/rectilinear-miter-limit-ps2-ref.png           |  Bin 0 -> 221 bytes
44067  test/rectilinear-miter-limit-ps3-ref.png           |  Bin 0 -> 221 bytes
44068  test/reflected-stroke-ps-ref.png                   |  Bin 3898 -> 0 bytes
44069  test/reflected-stroke-ps2-ref.png                  |  Bin 0 -> 3898 bytes
44070  test/reflected-stroke-ps3-ref.png                  |  Bin 0 -> 3898 bytes
44071  test/rel-path-ps-rgb24-ref.png                     |  Bin 243 -> 0 bytes
44072  test/rel-path-ps2-rgb24-ref.png                    |  Bin 0 -> 243 bytes
44073  test/rel-path-ps3-rgb24-ref.png                    |  Bin 0 -> 243 bytes
44074  test/rotate-image-surface-paint-ps-ref.png         |  Bin 212 -> 0 bytes
44075  test/rotate-image-surface-paint-ps2-ref.png        |  Bin 0 -> 212 bytes
44076  test/rotate-image-surface-paint-ps3-ref.png        |  Bin 0 -> 212 bytes
44077  test/select-font-face-ps-ref.png                   |  Bin 959 -> 0 bytes
44078  test/select-font-face-ps2-ref.png                  |  Bin 0 -> 959 bytes
44079  test/select-font-face-ps3-ref.png                  |  Bin 0 -> 959 bytes
44080  test/self-copy-ps-ref.png                          |  Bin 335 -> 0 bytes
44081  test/self-copy-ps2-ref.png                         |  Bin 0 -> 335 bytes
44082  test/self-copy-ps3-ref.png                         |  Bin 0 -> 335 bytes
44083  test/show-text-current-point-ps-ref.png            |  Bin 1356 -> 0 bytes
44084  test/show-text-current-point-ps2-ref.png           |  Bin 0 -> 1356 bytes
44085  test/show-text-current-point-ps3-ref.png           |  Bin 0 -> 1356 bytes
44086  test/skew-extreme-ps-ref.png                       |  Bin 1048 -> 0 bytes
44087  test/skew-extreme-ps2-ref.png                      |  Bin 0 -> 1048 bytes
44088  test/skew-extreme-ps3-ref.png                      |  Bin 0 -> 1048 bytes
44089  test/smask-ps-ref.png                              |  Bin 3669 -> 0 bytes
44090  test/smask-ps2-ref.png                             |  Bin 0 -> 3669 bytes
44091  test/smask-ps3-ref.png                             |  Bin 0 -> 3669 bytes
44092  test/smask-text-ps-ref.png                         |  Bin 2023 -> 0 bytes
44093  test/smask-text-ps2-ref.png                        |  Bin 0 -> 2023 bytes
44094  test/smask-text-ps3-ref.png                        |  Bin 0 -> 2023 bytes
44095  test/source-clip-scale-ps-argb32-ref.png           |  Bin 183 -> 0 bytes
44096  test/source-clip-scale-ps-rgb24-ref.png            |  Bin 183 -> 0 bytes
44097  test/source-clip-scale-ps2-argb32-ref.png          |  Bin 0 -> 183 bytes
44098  test/source-clip-scale-ps2-rgb24-ref.png           |  Bin 0 -> 183 bytes
44099  test/source-clip-scale-ps3-argb32-ref.png          |  Bin 0 -> 183 bytes
44100  test/source-clip-scale-ps3-rgb24-ref.png           |  Bin 0 -> 183 bytes
44101  test/stroke-ctm-caps-ps-ref.png                    |  Bin 1079 -> 0 bytes
44102  test/stroke-ctm-caps-ps2-ref.png                   |  Bin 0 -> 1079 bytes
44103  test/stroke-ctm-caps-ps3-ref.png                   |  Bin 0 -> 1079 bytes
44104  test/stroke-image-ps-ref.png                       |  Bin 1786 -> 0 bytes
44105  test/stroke-image-ps2-ref.png                      |  Bin 0 -> 1786 bytes
44106  test/stroke-image-ps3-ref.png                      |  Bin 0 -> 1786 bytes
44107  test/surface-pattern-ps-argb32-ref.png             |  Bin 2520 -> 0 bytes
44108  test/surface-pattern-ps2-argb32-ref.png            |  Bin 0 -> 2520 bytes
44109  test/surface-pattern-ps3-argb32-ref.png            |  Bin 0 -> 2520 bytes
44110  test/surface-pattern-scale-down-ps-argb32-ref.png  |  Bin 1400 -> 0 bytes
44111  test/surface-pattern-scale-down-ps2-argb32-ref.png |  Bin 0 -> 1400 bytes
44112  test/surface-pattern-scale-down-ps3-argb32-ref.png |  Bin 0 -> 1400 bytes
44113  test/surface-pattern-scale-up-ps-argb32-ref.png    |  Bin 1011 -> 0 bytes
44114  test/surface-pattern-scale-up-ps2-argb32-ref.png   |  Bin 0 -> 1011 bytes
44115  test/surface-pattern-scale-up-ps3-argb32-ref.png   |  Bin 0 -> 1011 bytes
44116  test/text-pattern-ps-argb32-ref.png                |  Bin 966 -> 0 bytes
44117  test/text-pattern-ps-rgb24-ref.png                 |  Bin 924 -> 0 bytes
44118  test/text-pattern-ps3-argb32-ref.png               |  Bin 0 -> 966 bytes
44119  test/text-pattern-ps3-rgb24-ref.png                |  Bin 0 -> 924 bytes
44120  test/text-rotate-ps-ref.png                        |  Bin 6851 -> 0 bytes
44121  test/text-rotate-ps2-ref.png                       |  Bin 0 -> 6851 bytes
44122  test/text-rotate-ps3-ref.png                       |  Bin 0 -> 6851 bytes
44123  test/text-transform-ps-ref.png                     |  Bin 4154 -> 0 bytes
44124  test/text-transform-ps2-ref.png                    |  Bin 0 -> 4154 bytes
44125  test/text-transform-ps3-ref.png                    |  Bin 0 -> 4154 bytes
44126  test/transforms-ps-ref.png                         |  Bin 418 -> 0 bytes
44127  test/transforms-ps2-ref.png                        |  Bin 0 -> 418 bytes
44128  test/transforms-ps3-ref.png                        |  Bin 0 -> 418 bytes
44129  test/trap-clip-ps-argb32-ref.png                   |  Bin 5591 -> 0 bytes
44130  test/trap-clip-ps-rgb24-ref.png                    |  Bin 5512 -> 0 bytes
44131  test/trap-clip-ps3-argb32-ref.png                  |  Bin 0 -> 5591 bytes
44132  test/trap-clip-ps3-rgb24-ref.png                   |  Bin 0 -> 5512 bytes
44133  test/user-font-proxy-ps-ref.png                    |  Bin 8171 -> 0 bytes
44134  test/user-font-proxy-ps2-ref.png                   |  Bin 0 -> 8171 bytes
44135  test/user-font-proxy-ps3-ref.png                   |  Bin 0 -> 8171 bytes
44136  test/user-font-ps-ref.png                          |  Bin 5043 -> 0 bytes
44137  test/user-font-ps2-ref.png                         |  Bin 0 -> 5043 bytes
44138  test/user-font-ps3-ref.png                         |  Bin 0 -> 5043 bytes
44139  test/user-font-rescale-ps-ref.png                  |  Bin 8041 -> 0 bytes
44140  test/user-font-rescale-ps2-ref.png                 |  Bin 0 -> 8041 bytes
44141  test/user-font-rescale-ps3-ref.png                 |  Bin 0 -> 8041 bytes
44142  289 files changed, 277 insertions(+), 116 deletions(-)
44143
44144 commit 0c030d3b768718eac5d429d0c819934f32896b25
44145 Author: Chris Wilson <chris@chris-wilson.co.uk>
44146 Date:   Fri Sep 26 15:26:40 2008 +0100
44147
44148     [boilerplate] Add svg-1.2 target.
44149     
44150     SVG 1.2 is sufficiently different from 1.1 that it has separate code
44151     paths within cairo-svg-surface and so justifies its own boilerplate
44152     target.
44153
44154  boilerplate/cairo-boilerplate-svg-private.h        |   30 ++++++---
44155  boilerplate/cairo-boilerplate-svg.c                |   48 ++++++++++++--
44156  boilerplate/cairo-boilerplate.c                    |   24 +++++--
44157  test/Makefile.am                                   |   66 +++++++++++++-------
44158  test/caps-joins-alpha-svg-ref.png                  |  Bin 2454 -> 0 bytes
44159  test/caps-joins-alpha-svg11-ref.png                |  Bin 0 -> 2454 bytes
44160  test/caps-joins-alpha-svg12-ref.png                |  Bin 0 -> 2454 bytes
44161  test/font-matrix-translation-svg-ref.png           |  Bin 970 -> 0 bytes
44162  test/font-matrix-translation-svg11-ref.png         |  Bin 0 -> 970 bytes
44163  test/font-matrix-translation-svg12-ref.png         |  Bin 0 -> 970 bytes
44164  test/ft-show-glyphs-positioning-svg-ref.png        |  Bin 6590 -> 0 bytes
44165  test/ft-show-glyphs-positioning-svg11-ref.png      |  Bin 0 -> 6590 bytes
44166  test/ft-show-glyphs-positioning-svg12-ref.png      |  Bin 0 -> 6590 bytes
44167  test/ft-text-vertical-layout-type1-svg-ref.png     |  Bin 3973 -> 0 bytes
44168  test/ft-text-vertical-layout-type1-svg11-ref.png   |  Bin 0 -> 3973 bytes
44169  test/ft-text-vertical-layout-type1-svg12-ref.png   |  Bin 0 -> 3973 bytes
44170  test/ft-text-vertical-layout-type3-svg-ref.png     |  Bin 3957 -> 0 bytes
44171  test/ft-text-vertical-layout-type3-svg11-ref.png   |  Bin 0 -> 3957 bytes
44172  test/ft-text-vertical-layout-type3-svg12-ref.png   |  Bin 0 -> 3957 bytes
44173  test/linear-gradient-svg-ref.png                   |  Bin 1000 -> 0 bytes
44174  test/linear-gradient-svg11-ref.png                 |  Bin 0 -> 1000 bytes
44175  test/linear-gradient-svg12-ref.png                 |  Bin 0 -> 1000 bytes
44176  test/mask-alpha-svg-argb32-ref.png                 |  Bin 615 -> 0 bytes
44177  test/mask-alpha-svg11-argb32-ref.png               |  Bin 0 -> 615 bytes
44178  test/mask-alpha-svg12-argb32-ref.png               |  Bin 0 -> 615 bytes
44179  test/mask-ctm-svg-argb32-ref.png                   |  Bin 108 -> 0 bytes
44180  test/mask-ctm-svg11-argb32-ref.png                 |  Bin 0 -> 108 bytes
44181  test/mask-ctm-svg12-argb32-ref.png                 |  Bin 0 -> 108 bytes
44182  test/mask-surface-ctm-svg-argb32-ref.png           |  Bin 108 -> 0 bytes
44183  test/mask-surface-ctm-svg11-argb32-ref.png         |  Bin 0 -> 108 bytes
44184  test/mask-surface-ctm-svg12-argb32-ref.png         |  Bin 0 -> 108 bytes
44185  test/mask-svg-argb32-ref.png                       |  Bin 8527 -> 0 bytes
44186  test/mask-svg-rgb24-ref.png                        |  Bin 7935 -> 0 bytes
44187  test/mask-svg11-argb32-ref.png                     |  Bin 0 -> 8527 bytes
44188  test/mask-svg11-rgb24-ref.png                      |  Bin 0 -> 7935 bytes
44189  test/mask-svg12-argb32-ref.png                     |  Bin 0 -> 8527 bytes
44190  test/mask-svg12-rgb24-ref.png                      |  Bin 0 -> 7935 bytes
44191  test/mask-transformed-similar-svg-ref.png          |  Bin 4051 -> 0 bytes
44192  test/mask-transformed-similar-svg11-ref.png        |  Bin 0 -> 4051 bytes
44193  test/mask-transformed-similar-svg12-ref.png        |  Bin 0 -> 4051 bytes
44194  test/meta-surface-pattern-svg-argb32-ref.png       |  Bin 3924 -> 0 bytes
44195  test/meta-surface-pattern-svg-rgb24-ref.png        |  Bin 4593 -> 0 bytes
44196  test/meta-surface-pattern-svg11-argb32-ref.png     |  Bin 0 -> 3924 bytes
44197  test/meta-surface-pattern-svg11-rgb24-ref.png      |  Bin 0 -> 4593 bytes
44198  test/meta-surface-pattern-svg12-argb32-ref.png     |  Bin 0 -> 3924 bytes
44199  test/meta-surface-pattern-svg12-rgb24-ref.png      |  Bin 0 -> 4593 bytes
44200  test/paint-source-alpha-svg-ref.png                |  Bin 505 -> 0 bytes
44201  test/paint-source-alpha-svg11-ref.png              |  Bin 0 -> 505 bytes
44202  test/paint-source-alpha-svg12-ref.png              |  Bin 0 -> 505 bytes
44203  test/paint-with-alpha-svg-ref.png                  |  Bin 516 -> 0 bytes
44204  test/paint-with-alpha-svg11-ref.png                |  Bin 0 -> 516 bytes
44205  test/paint-with-alpha-svg12-ref.png                |  Bin 0 -> 516 bytes
44206  test/push-group-svg-argb32-ref.png                 |  Bin 2935 -> 0 bytes
44207  test/push-group-svg11-argb32-ref.png               |  Bin 0 -> 2935 bytes
44208  test/push-group-svg12-argb32-ref.png               |  Bin 0 -> 2935 bytes
44209  test/radial-gradient-svg-ref.png                   |  Bin 91039 -> 0 bytes
44210  test/radial-gradient-svg11-ref.png                 |  Bin 0 -> 91039 bytes
44211  test/radial-gradient-svg12-ref.png                 |  Bin 0 -> 91039 bytes
44212  test/rotate-image-surface-paint-svg-ref.png        |  Bin 248 -> 0 bytes
44213  test/rotate-image-surface-paint-svg11-ref.png      |  Bin 0 -> 248 bytes
44214  test/rotate-image-surface-paint-svg12-ref.png      |  Bin 0 -> 248 bytes
44215  test/scale-source-surface-paint-svg-argb32-ref.png |  Bin 182 -> 0 bytes
44216  test/scale-source-surface-paint-svg-rgb24-ref.png  |  Bin 192 -> 0 bytes
44217  ...scale-source-surface-paint-svg11-argb32-ref.png |  Bin 0 -> 182 bytes
44218  .../scale-source-surface-paint-svg11-rgb24-ref.png |  Bin 0 -> 192 bytes
44219  ...scale-source-surface-paint-svg12-argb32-ref.png |  Bin 0 -> 182 bytes
44220  .../scale-source-surface-paint-svg12-rgb24-ref.png |  Bin 0 -> 192 bytes
44221  test/set-source-svg-argb32-ref.png                 |  Bin 104 -> 0 bytes
44222  test/set-source-svg11-argb32-ref.png               |  Bin 0 -> 104 bytes
44223  test/set-source-svg12-argb32-ref.png               |  Bin 0 -> 104 bytes
44224  test/smask-fill-svg-ref.png                        |  Bin 1166 -> 0 bytes
44225  test/smask-fill-svg11-ref.png                      |  Bin 0 -> 1166 bytes
44226  test/smask-fill-svg12-ref.png                      |  Bin 0 -> 1166 bytes
44227  test/smask-mask-svg-ref.png                        |  Bin 2529 -> 0 bytes
44228  test/smask-mask-svg11-ref.png                      |  Bin 0 -> 2529 bytes
44229  test/smask-mask-svg12-ref.png                      |  Bin 0 -> 2529 bytes
44230  test/smask-paint-svg-ref.png                       |  Bin 2612 -> 0 bytes
44231  test/smask-paint-svg11-ref.png                     |  Bin 0 -> 2612 bytes
44232  test/smask-paint-svg12-ref.png                     |  Bin 0 -> 2612 bytes
44233  test/smask-svg-ref.png                             |  Bin 3634 -> 0 bytes
44234  test/smask-svg11-ref.png                           |  Bin 0 -> 3634 bytes
44235  test/smask-svg12-ref.png                           |  Bin 0 -> 3634 bytes
44236  test/smask-text-svg-ref.png                        |  Bin 1886 -> 0 bytes
44237  test/smask-text-svg11-ref.png                      |  Bin 0 -> 1886 bytes
44238  test/smask-text-svg12-ref.png                      |  Bin 0 -> 1886 bytes
44239  test/source-clip-scale-svg-ref.png                 |  Bin 119 -> 0 bytes
44240  test/source-clip-scale-svg11-ref.png               |  Bin 0 -> 119 bytes
44241  test/source-clip-scale-svg12-ref.png               |  Bin 0 -> 119 bytes
44242  test/surface-pattern-svg-ref.png                   |  Bin 17663 -> 0 bytes
44243  test/surface-pattern-svg11-ref.png                 |  Bin 0 -> 17663 bytes
44244  test/surface-pattern-svg12-ref.png                 |  Bin 0 -> 17663 bytes
44245  test/text-pattern-svg-argb32-ref.png               |  Bin 1733 -> 0 bytes
44246  test/text-pattern-svg-rgb24-ref.png                |  Bin 1563 -> 0 bytes
44247  test/text-pattern-svg11-argb32-ref.png             |  Bin 0 -> 1733 bytes
44248  test/text-pattern-svg11-rgb24-ref.png              |  Bin 0 -> 1563 bytes
44249  test/text-pattern-svg12-argb32-ref.png             |  Bin 0 -> 1733 bytes
44250  test/text-pattern-svg12-rgb24-ref.png              |  Bin 0 -> 1563 bytes
44251  test/text-rotate-svg-ref.png                       |  Bin 18301 -> 0 bytes
44252  test/text-rotate-svg11-ref.png                     |  Bin 0 -> 18301 bytes
44253  test/text-rotate-svg12-ref.png                     |  Bin 0 -> 18301 bytes
44254  test/user-font-proxy-svg-ref.png                   |  Bin 17902 -> 0 bytes
44255  test/user-font-proxy-svg11-ref.png                 |  Bin 0 -> 17902 bytes
44256  test/user-font-proxy-svg12-ref.png                 |  Bin 0 -> 17902 bytes
44257  test/user-font-rescale-svg-ref.png                 |  Bin 15741 -> 0 bytes
44258  test/user-font-rescale-svg11-ref.png               |  Bin 0 -> 15741 bytes
44259  test/user-font-rescale-svg12-ref.png               |  Bin 0 -> 15741 bytes
44260  test/user-font-svg-ref.png                         |  Bin 6134 -> 0 bytes
44261  test/user-font-svg11-ref.png                       |  Bin 0 -> 6134 bytes
44262  test/user-font-svg12-ref.png                       |  Bin 0 -> 6134 bytes
44263  109 files changed, 128 insertions(+), 40 deletions(-)
44264
44265 commit 86e57671dd21078215505202ef8aa2141d10fb9c
44266 Author: Behdad Esfahbod <behdad@behdad.org>
44267 Date:   Fri Sep 26 11:08:22 2008 -0400
44268
44269     [check-*.sh] Redirect error reports to stderr
44270
44271  doc/public/check-doc-coverage.sh |    6 +++---
44272  src/check-def.sh                 |    2 +-
44273  src/check-doc-syntax.sh          |    8 ++++----
44274  src/check-headers.sh             |    2 +-
44275  src/check-plt.sh                 |    2 +-
44276  src/check-preprocessor-syntax.sh |   10 +++++-----
44277  6 files changed, 15 insertions(+), 15 deletions(-)
44278
44279 commit 096f9def0f599e527d97bb979f7cafbc87dcddc6
44280 Author: Behdad Esfahbod <behdad@behdad.org>
44281 Date:   Fri Sep 26 10:55:44 2008 -0400
44282
44283     Add slim markers to make check-plt.sh happy
44284
44285  src/cairo-font-face.c |    4 ++++
44286  src/cairo-user-font.c |    4 ++++
44287  src/cairo.c           |    5 +++++
44288  src/cairoint.h        |   13 +++++++++++++
44289  4 files changed, 26 insertions(+)
44290
44291 commit 1de059b33bd2e6121e35ccf1c4a35ba7755c44d8
44292 Author: Behdad Esfahbod <behdad@behdad.org>
44293 Date:   Fri Sep 26 09:49:50 2008 -0400
44294
44295     [RELEASING] Add ftp-release@lists.freedesktop.org
44296     
44297     That list is monitored by various distros to pick up new releases.
44298     We should CC release announcements there.
44299
44300  RELEASING |   12 ++++++------
44301  1 file changed, 6 insertions(+), 6 deletions(-)
44302
44303 commit 9662be8ee77e219908b64b82e828d577dcf120f0
44304 Author: Behdad Esfahbod <behdad@behdad.org>
44305 Date:   Fri Sep 26 00:22:00 2008 -0400
44306
44307     [twin-font] Adjust ascent/descent
44308     
44309     The font data uses a 64 int high font space with baseline at 50.
44310
44311  src/cairo-font-face-twin.c |    6 +++---
44312  1 file changed, 3 insertions(+), 3 deletions(-)
44313
44314 commit 3883a371f2ba78b17a1302ba8c5df1a79f3e4075
44315 Author: Behdad Esfahbod <behdad@behdad.org>
44316 Date:   Fri Sep 26 00:20:21 2008 -0400
44317
44318     [scaled-font] Use full ctm matrix when comparing scaled-font keys
44319     
44320     We use the full matrix in hash computation, but only compare the
44321     non-translation items in equality check.  This is no bug though,
44322     as we set the ctm translation components of a scaled font to zero
44323     explicitly.  But the change makes the hash and equal functions
44324     consistent, which is good.
44325
44326  src/cairo-scaled-font.c |    2 +-
44327  1 file changed, 1 insertion(+), 1 deletion(-)
44328
44329 commit 48099af9fed7497a230992e41d559a19c5dbdc60
44330 Author: Chris Wilson <chris@chris-wilson.co.uk>
44331 Date:   Thu Sep 25 13:24:58 2008 +0100
44332
44333     [boilerplate] Retry conversion in process if first attempt fails.
44334     
44335     One possibility for a read failure whilst converting the image is if the
44336     external utility crashed. This information is important for the test suite
44337     as knowing input that causes the converter to crash is just as vital as
44338     identifying a crash within the library.
44339
44340  boilerplate/cairo-boilerplate-pdf.c |   11 +----------
44341  boilerplate/cairo-boilerplate-svg.c |   11 +----------
44342  boilerplate/cairo-boilerplate.c     |   35 +++++++++++++++++++++++++++++++++--
44343  boilerplate/cairo-boilerplate.h     |   11 +++++++++--
44344  4 files changed, 44 insertions(+), 24 deletions(-)
44345
44346 commit f2c484d73ce61012a2d9925f15b55e7c51e34b85
44347 Author: Chris Wilson <chris@chris-wilson.co.uk>
44348 Date:   Thu Sep 25 00:16:45 2008 +0100
44349
44350     [test/any2ppm] Handle short reads/writes.
44351     
44352     No excuse other than simple laziness - it manifested itself with random
44353     "error whilst reading" failures.
44354
44355  boilerplate/cairo-boilerplate.c |   24 ++++++++++++++++---
44356  test/any2ppm.c                  |   50 +++++++++++++++++++++++++++++++++------
44357  2 files changed, 64 insertions(+), 10 deletions(-)
44358
44359 commit 681424cbaf94556bf1804547b42ad642c0a066ab
44360 Author: Chris Wilson <chris@chris-wilson.co.uk>
44361 Date:   Thu Sep 25 10:40:32 2008 +0100
44362
44363     [analysis] Merge two analysis status codes.
44364     
44365     Since there is an implicit precedence in the ranking of the analysis
44366     return codes, provide a function to centralize the logic within the
44367     analysis surface and isolate the backends from the complexity.
44368
44369  src/cairo-analysis-surface-private.h |    3 ++
44370  src/cairo-analysis-surface.c         |   50 ++++++++++++++++++++++++++--------
44371  src/cairo-pdf-surface.c              |   31 ++++++---------------
44372  3 files changed, 50 insertions(+), 34 deletions(-)
44373
44374 commit 06f0cc81d227a571e011e83cc192050a34d6ea13
44375 Author: Chris Wilson <chris@chris-wilson.co.uk>
44376 Date:   Thu Sep 25 10:29:27 2008 +0100
44377
44378     Add a macro to determine whether a status is a fatal error.
44379     
44380     In a few places we need to check whether we have a fatal error or an
44381     internal return code, so provide a utility macro to centralise the check.
44382
44383  src/cairo.c    |    3 +--
44384  src/cairoint.h |    3 +++
44385  2 files changed, 4 insertions(+), 2 deletions(-)
44386
44387 commit ba18d57339dbedbbdb7f3ca35b06ce6b5dbcd972
44388 Author: Chris Wilson <chris@chris-wilson.co.uk>
44389 Date:   Thu Sep 25 09:39:41 2008 +0100
44390
44391     [pdf] Propagate status
44392     
44393     Check and return a few forgotten error codes from static functions.
44394
44395  src/cairo-pdf-operators.c |   14 +++++++++++---
44396  src/cairo-pdf-surface.c   |    6 +++++-
44397  2 files changed, 16 insertions(+), 4 deletions(-)
44398
44399 commit 907f550a1b13b0a388f9ff22663911d4aabbe2d8
44400 Author: Adrian Johnson <ajohnson@redneon.com>
44401 Date:   Fri Sep 26 20:26:55 2008 +0930
44402
44403     Fix bitmap-font XFAIL
44404     
44405     Images in PDF are scaled to a unit square. In PS we set the
44406     ImageMatrix to do the same. When the image is painted we scale the
44407     graphics state to paint the image at the right size. In the case of
44408     Type 3 fonts consisting of bitmap images we want to paint the images
44409     at their original size so we scale the graphics state by the image
44410     width and height.
44411     
44412     The bug was that we were scaling by the width/height in the glyph
44413     metrics. For non rotated fonts this worked. However for rotated fonts
44414     the width/height of the glyph images may be larger than the
44415     width/height in the glyph metrics. This resulted in a Type 3 font
44416     where the glyph images were scaled slightly smaller than they should
44417     have been.
44418
44419  src/cairo-type3-glyph-surface.c     |   10 +++-------
44420  test/Makefile.am                    |    1 -
44421  test/bitmap-font-pdf-argb32-ref.png |  Bin 1064 -> 0 bytes
44422  3 files changed, 3 insertions(+), 8 deletions(-)
44423
44424 commit f8542dc9dd4dd0685f68381f21fa72dbddd8d682
44425 Author: Behdad Esfahbod <behdad@behdad.org>
44426 Date:   Thu Sep 25 19:08:24 2008 -0400
44427
44428     [twin-font] Clean up font data by joining lines and closing paths
44429     
44430     Two changes here:
44431     
44432       * Replace move_to;line_to;move_to;line_to sequences with
44433         move_to;line_to;line_to when feasible.
44434     
44435       * Close paths for round glyphs.
44436     
44437     Both improve the stroke rendering of the joint.
44438     
44439     The first change also saves 3 bytes per joint (33 such joints).
44440     Which we have just left unused for now.  To reclaim them one need
44441     to update the charset table.  Something for a lazy Sunday afternoon
44442     scripting task.
44443     
44444     In the saving department, we can save further by:
44445     
44446       - Getting rid of the left/ascent/descent values as we compute
44447         glyph bounding box automatically.  Then we can liberally use
44448         the right value to adjust glyph advance width.  Saves three
44449         bytes per glyph (there's 96 glyphs in the font).
44450     
44451       - First operation is always a move_to.  So we can remove the 'm'
44452         for that.  Ugly though.
44453     
44454     And the charset has zeros for the first 32 entries.  Can get rid of
44455     that too at the expense of handling it in the code...
44456     
44457     In total, combining the above we can save some 500 bytes.  The font
44458     currently takes about 3.7kb.
44459
44460  src/cairo-font-face-twin-data.c |  154 +++++++++++++++++++--------------------
44461  src/cairo-font-face-twin.c      |   18 ++++-
44462  2 files changed, 91 insertions(+), 81 deletions(-)
44463
44464 commit d5a998387bcee6569d33375d592190f480f12712
44465 Author: Behdad Esfahbod <behdad@behdad.org>
44466 Date:   Thu Sep 25 04:27:11 2008 -0400
44467
44468     Add an internal font face
44469     
44470     The font data and rendering is adapted from Keith Packard's Twin
44471     window system.  The hinting stuff is not ported yet, but hey, it renders!
44472     
44473     The implementation uses user fonts, and the user font backend is modified
44474     to use this font face (which we call "twin" font face internally) when
44475     a toy font is needed.
44476     
44477     The font face layer is then modified to use this font if:
44478     
44479       - The toy font face "cairo" is asked for, or
44480     
44481       - No native font backend is available, or
44482     
44483       - The preferred native font backend fails to return a font with
44484         STATUS_UNSUPPORTED.  No font backend does this right now but
44485         the idea is to change FreeType to return it if no fonts found
44486         on the system.
44487     
44488     We also allow building with no font backends now!
44489     
44490     The new doc/tutorial/src/twin.c file tests the twin face at various
44491     sizes.
44492
44493  build/configure.ac.features     |   26 +-
44494  doc/tutorial/src/twin.c         |   39 ++
44495  src/Makefile.sources            |    2 +
44496  src/cairo-font-face-twin-data.c | 1030 +++++++++++++++++++++++++++++++++++++++
44497  src/cairo-font-face-twin.c      |  199 ++++++++
44498  src/cairo-font-face.c           |   33 +-
44499  src/cairo-user-font.c           |   53 +-
44500  src/cairoint.h                  |   18 +-
44501  8 files changed, 1371 insertions(+), 29 deletions(-)
44502
44503 commit dd7e2461ce748403e121a5de5e4e4c8890e39236
44504 Author: Carl Worth <cworth@cworth.org>
44505 Date:   Thu Sep 25 16:06:19 2008 -0700
44506
44507     Increment cairo version to 1.8.1 after the 1.8.0 release.
44508
44509  cairo-version.h |    2 +-
44510  1 file changed, 1 insertion(+), 1 deletion(-)