1 commit cb0bc64c16b3a38cbf0c622830c18ac9ea6e2ffe
2 Author: Chris Wilson <chris@chris-wilson.co.uk>
3 Date: Mon Sep 6 17:15:51 2010 +0100
5 version: 1.10.0 *release*
7 /me faints with excitement.
9 cairo-version.h | 4 ++--
10 1 file changed, 2 insertions(+), 2 deletions(-)
12 commit 87fad104645c481ab027afbc9fa45c54cacbc9a7
13 Author: Chris Wilson <chris@chris-wilson.co.uk>
14 Date: Mon Sep 6 17:14:41 2010 +0100
16 NEWS: Sum up 2 years of development for 1.10.0 in 60 lines
18 NEWS | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
19 1 file changed, 61 insertions(+)
21 commit 04623ef9df7274d411a3b7f03129bf43e53e7086
22 Author: Chris Wilson <chris@chris-wilson.co.uk>
23 Date: Mon Sep 6 13:15:55 2010 +0100
25 test: Add subsurface-outside-target refs to REFERENCE_IMAGES
27 test/Makefile.am | 2 ++
28 1 file changed, 2 insertions(+)
30 commit d5b2c2a12ebea33f4d108d4deec2e9111c8c7e12
31 Author: Chris Wilson <chris@chris-wilson.co.uk>
32 Date: Mon Sep 6 13:10:08 2010 +0100
34 test: Rename clip-fill-*-unbounded.image16 ref to match REFERENCE_IMAGES
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(-)
42 commit cab9682f9dc4c99dcd51ddb66abd756e2ac7a63c
43 Author: Chris Wilson <chris@chris-wilson.co.uk>
44 Date: Mon Sep 6 12:24:47 2010 +0100
46 check: Ignore the documentation errors.
48 Currently it is complaining about having documentation for
49 unconfigured sections, ignore it for now.
51 doc/public/check-doc-coverage.sh | 6 +++++-
52 1 file changed, 5 insertions(+), 1 deletion(-)
54 commit 8127f1f5d52bb716dbd70efe096894f2a542f4a9
55 Author: Chris Wilson <chris@chris-wilson.co.uk>
56 Date: Mon Sep 6 12:24:14 2010 +0100
58 Bump pixman requirements to 0.18.4 for assorted fixes.
62 2 files changed, 2 insertions(+), 2 deletions(-)
64 commit 21a2f90cdef3d592c1d1614852fe3929ed2aa765
65 Author: Chris Wilson <chris@chris-wilson.co.uk>
66 Date: Thu Sep 2 13:19:26 2010 +0100
68 check: Make the actual error stand out
70 doc/public/check-doc-coverage.sh | 6 +++---
71 1 file changed, 3 insertions(+), 3 deletions(-)
73 commit 8258532794d0579f6c1b825b8cfb9c8f7ced4369
74 Author: Chris Wilson <chris@chris-wilson.co.uk>
75 Date: Thu Sep 2 13:15:07 2010 +0100
77 Reduce the cairo_device_type_t to only hold the used entries.
79 This should help clarify the documentation by not mentioning non-existent
80 devices and prevent any assumed coupling between surface-type values and
83 src/cairo.h | 49 +++++-------------------------
84 util/cairo-gobject/cairo-gobject-enums.c | 24 +++------------
85 2 files changed, 12 insertions(+), 61 deletions(-)
87 commit e3afbc1875d618c6d7e893971372be8f9889fc8b
88 Author: Chris Wilson <chris@chris-wilson.co.uk>
89 Date: Thu Sep 2 13:07:53 2010 +0100
91 check: Fix for link-time-optimisation
93 src/check-def.sh | 2 +-
94 1 file changed, 1 insertion(+), 1 deletion(-)
96 commit a9e055ff481303428cd9684dca826bc3f5d868c5
97 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
98 Date: Thu Sep 2 14:51:30 2010 +0100
100 freelist: Separate freelist inlines from the datatype in headers.
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
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.
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(-)
123 commit f5632d641c44a143386ca3b413e90ed3b1a85f89
124 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
125 Date: Thu Sep 2 13:55:55 2010 +0300
127 build: Remove stray backslash.
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.
133 src/Makefile.sources | 2 +-
134 1 file changed, 1 insertion(+), 1 deletion(-)
136 commit 3a8b8fcc2a8a48cef49211c45723862f9fa8db23
137 Author: Benjamin Otte <otte@redhat.com>
138 Date: Wed Sep 1 21:14:40 2010 +0200
140 gobject: Fix header defines
142 util/cairo-gobject/cairo-gobject.h | 64 ++++++++++++++++++------------------
143 1 file changed, 32 insertions(+), 32 deletions(-)
145 commit 54a651564cdd2510d0a66f6720c4a45733ff3285
146 Author: Benjamin Otte <otte@redhat.com>
147 Date: Wed Sep 1 18:47:16 2010 +0200
149 build: Work around caching not reevaluating uncached variables
151 This is a somewhat crude hack to ensure that GOBJECT_CFLAGS/LIBS are
154 configure.ac | 4 ++++
155 1 file changed, 4 insertions(+)
157 commit 28ba78a9716f3c105cdfb5f7519f2435dd9cb271
158 Author: Benjamin Otte <otte@redhat.com>
159 Date: Wed Sep 1 18:46:46 2010 +0200
161 gobject: Fix pkgconfig file variable
163 I confused % and $. I blame it on spec files.
166 1 file changed, 1 insertion(+), 1 deletion(-)
168 commit 61a1835e40d0b6d786951143779077d16ed2486e
169 Author: Benjamin Otte <otte@redhat.com>
170 Date: Wed Sep 1 03:17:12 2010 +0200
172 subsurface: Fix acquire_source_surface for out-of-bounds surfaces
174 See subsurface-outside-target test.
176 src/cairo-surface-subsurface.c | 41 ++++++++++++++++++++++------------------
177 1 file changed, 23 insertions(+), 18 deletions(-)
179 commit f54c51e75c7abe872127d559e029bf4383439bca
180 Author: Benjamin Otte <otte@redhat.com>
181 Date: Wed Sep 1 02:10:51 2010 +0200
183 test: Add subsurface-outside-target
185 This test defines the behavior of subsurfaces when they are created to
186 be bigger than their target.
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(+)
194 commit 6eab5ee10c111cf87dcf62e3f639f44cfd1e5cf6
195 Author: Maarten Bosmans <mkbosmans@gmail.com>
196 Date: Sat Aug 28 13:39:21 2010 +0200
198 build: prefer libpng14 over older versions
200 Also move libpng to the front of the list, so that the default
201 version of the system is first checked.
204 1 file changed, 1 insertion(+), 1 deletion(-)
206 commit 9f98ec6eb915204d59820cf57d32f347f9933517
207 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
208 Date: Sun Aug 29 00:05:51 2010 +0300
210 device: Refer the user to per-backend docs about devices.
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.
217 src/cairo-device.c | 6 ++++++
218 1 file changed, 6 insertions(+)
220 commit b0f65054b810d432238ff4986bee3f63e1fc46df
221 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
222 Date: Sun Aug 29 00:03:07 2010 +0300
224 subsurface: Add a note to the docs about usage restrictions.
226 Make our assumptions about constructed subsurfaces explicit
227 while we work out the correct semantics for the edge cases.
229 src/cairo-surface-subsurface.c | 7 +++++++
230 1 file changed, 7 insertions(+)
232 commit 92fe2d370d120f4d9bc95e92209d1c1cec7e900b
233 Author: Benjamin Otte <otte@redhat.com>
234 Date: Sat Aug 28 17:12:45 2010 +0200
236 surface-offset: Use right variable in mask
238 Use source/mask instead of their copies. The copies only get initialized
239 if we actually need to translate things.
241 src/cairo-surface-offset.c | 2 +-
242 1 file changed, 1 insertion(+), 1 deletion(-)
244 commit df4b23ff74f3d22fb306f59cdba4dce6b0857cd2
245 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
246 Date: Fri Aug 27 20:26:06 2010 +0300
248 subsurface: Fix crash when acquiring a source image.
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.
255 src/cairo-surface-subsurface.c | 2 +-
256 1 file changed, 1 insertion(+), 1 deletion(-)
258 commit 2d146867dc4d4e17da2fd1e4776f62aaa999d90f
259 Author: Andrea Canciani <ranma42@gmail.com>
260 Date: Thu Aug 26 14:50:34 2010 +0200
262 subsurface: Correct cloning condition
264 72644c6df2c2da1d77ca10a755dbb44bbd960c0d was using the wrong (inverted)
265 condition to check if the subsurface extents are contained in the
268 src/cairo-surface-subsurface.c | 10 +++++-----
269 1 file changed, 5 insertions(+), 5 deletions(-)
271 commit 72644c6df2c2da1d77ca10a755dbb44bbd960c0d
272 Author: Andrea Canciani <ranma42@gmail.com>
273 Date: Thu Aug 26 14:24:17 2010 +0200
275 subsurface: Avoid invalid accesses
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.
282 src/cairo-surface-subsurface.c | 12 +++++++++++-
283 1 file changed, 11 insertions(+), 1 deletion(-)
285 commit df4465bdd11e25a1ed942bc0fc8e7dc5d43f951f
286 Author: Andrea Canciani <ranma42@gmail.com>
287 Date: Thu Aug 26 14:23:04 2010 +0200
289 subsurface: Silence compiler warnings
291 Commit d1c35f5e65d53f6b8b9060455335424ca0f44bd0 introduced two
292 unused variable warnings.
294 src/cairo-surface-subsurface.c | 2 --
295 1 file changed, 2 deletions(-)
297 commit d1c35f5e65d53f6b8b9060455335424ca0f44bd0
298 Author: Benjamin Otte <otte@redhat.com>
299 Date: Thu Aug 26 13:55:02 2010 +0200
301 subsurface: Don't clip size to target size
303 This clipping would modify the origin of the subsurface and then the
304 creator has no easy way to figure this out.
306 src/cairo-surface-subsurface.c | 3 ---
307 1 file changed, 3 deletions(-)
309 commit 174fb5f16f93887e2f319edd5b46efae3e7e93ad
310 Author: Benjamin Otte <otte@redhat.com>
311 Date: Thu Aug 26 13:21:04 2010 +0200
313 subsurface: Don't apply device transform twice for source/mask
315 src/cairo-surface-offset.c | 12 ------------
316 1 file changed, 12 deletions(-)
318 commit e79acf47a57b60c83d1f9491aac354161986b29b
319 Author: Benjamin Otte <otte@redhat.com>
320 Date: Thu Aug 26 12:54:25 2010 +0200
322 subsurface: Make CAIRO_SURFACE_TYPE_SUBSURFACE public
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(-)
338 commit 40459dacb52587cc784faf2635e54797d3989408
339 Author: Benjamin Otte <otte@redhat.com>
340 Date: Thu Aug 26 11:45:28 2010 +0200
342 subsurface: Don't crash when the device transform isn't integer
344 Apply the transform before rounding to integer coordinates, so we can
345 handle doubles easily.
347 src/cairo-surface-subsurface.c | 10 ++++------
348 1 file changed, 4 insertions(+), 6 deletions(-)
350 commit e19b213e84ab8b8ead5e0c700e5b906590e22aa1
351 Author: Benjamin Otte <otte@redhat.com>
352 Date: Thu Aug 26 11:18:29 2010 +0200
354 subsurface: Make subsurfaces their own type
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.
360 FIXME: We still need public API to access a subsurface's target though.
362 src/cairo-surface-subsurface.c | 1 -
363 1 file changed, 1 deletion(-)
365 commit e65bf64c4a6e2c7ff673449b8459b3150e438e21
366 Author: Benjamin Otte <otte@redhat.com>
367 Date: Thu Aug 26 11:17:06 2010 +0200
369 subsurface: Properly account for device offsets in the target
371 src/cairo-surface-subsurface.c | 10 +++++-----
372 1 file changed, 5 insertions(+), 5 deletions(-)
374 commit 8e9c4ea5890a4df3f463e592dc3aa429bb423608
375 Author: Chris Wilson <chris@chris-wilson.co.uk>
376 Date: Wed Aug 11 12:18:53 2010 +0100
378 Mark the context as invalid on the final cairo_destroy()
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).
389 1 file changed, 3 insertions(+)
391 commit cd52378ae60ab2075d7e9ec7335e990b2f46059e
392 Author: Andrea Canciani <ranma42@gmail.com>
393 Date: Tue Aug 10 19:38:59 2010 +0200
395 test: Update linear-gradient-large ref image
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).
401 test/linear-gradient-large.ref.png | Bin 3753 -> 4079 bytes
402 1 file changed, 0 insertions(+), 0 deletions(-)
404 commit a7762e3d6570a6981d8fb74ecc6ae30391c39b89
405 Author: Krzysztof Kosiński <tweenk.pl@gmail.com>
406 Date: Tue Aug 10 17:55:03 2010 +0200
408 tests: Add linear-gradient-large test
410 Shows large rounding errors in Pixman when computing gradients. Added as
411 a test to Cairo to catch similar issues in other backends.
413 https://bugs.freedesktop.org/show_bug.cgi?id=29470
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(-)
421 commit 56ea51fdcc273531b5e86b921aad19237a1c9415
422 Author: Andrea Canciani <ranma42@gmail.com>
423 Date: Mon Aug 9 20:23:50 2010 +0200
425 Replace insertion sort with mergesort in the scan converter
427 Insertion sort can take up to O(n^2), mergesort is guaranteed to run
429 An example showing bad performance for insertion sort is:
430 https://bugs.freedesktop.org/show_bug.cgi?id=28067
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.
436 src/cairo-tor-scan-converter.c | 138 ++++++++++++++++++++++++++++++----------
437 1 file changed, 103 insertions(+), 35 deletions(-)
439 commit a150371a5d10e03d6c0d781c6fac950a9ac6be18
440 Author: Nicolaus L Hepler <nlhepler@gmail.com>
441 Date: Tue Aug 10 09:34:39 2010 +0200
443 ft-font: Make alpha mapping consistent
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).
449 src/cairo-ft-font.c | 7 -------
450 1 file changed, 7 deletions(-)
452 commit 73470862cbc5895147d5c58ca2647f539e8fe67c
453 Author: David Schleef <ds@schleef.org>
454 Date: Tue Aug 10 02:37:38 2010 +0200
456 perf: Fix README to say cairo-perf-micro
458 perf/README | 12 ++++++------
459 1 file changed, 6 insertions(+), 6 deletions(-)
461 commit df8f96423429915ef1648310fce8b5aed0917c0a
462 Author: Benjamin Otte <otte@redhat.com>
463 Date: Tue Aug 10 01:24:30 2010 +0200
465 build: Fudge the build system some more so it handles extra libs
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.
471 build/configure.ac.features | 3 +++
473 src/cairo-features-uninstalled.pc.in | 2 +-
474 src/cairo-features.pc.in | 2 +-
475 4 files changed, 6 insertions(+), 3 deletions(-)
477 commit 01325ad767acf6213135a0bad895de233324f745
478 Author: Benjamin Otte <otte@redhat.com>
479 Date: Tue Aug 10 00:11:25 2010 +0200
481 gobject: Include the extra library in the pkgconfig file
484 1 file changed, 1 insertion(+)
486 commit 8fb91dc3f6b691f91c322cec4b1d0ee4dbebd69c
487 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
488 Date: Tue Aug 10 00:53:53 2010 +0300
490 script: Fix script backend build.
492 The flight data recorders were missing an include
493 of cairo-tee.h ever since cairo-tee.h became an optional
496 util/cairo-fdr/fdr.c | 1 +
497 util/cairo-sphinx/fdr.c | 1 +
498 2 files changed, 2 insertions(+)
500 commit 766832364904dbf5b8a67ebc1600d2ec45d2734f
501 Author: Andrea Canciani <ranma42@gmail.com>
502 Date: Mon Aug 9 18:47:13 2010 +0200
504 perf: Improve calibration
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)
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.
519 perf/cairo-perf-micro.c | 17 ++++++++---------
520 1 file changed, 8 insertions(+), 9 deletions(-)
522 commit 046b642db0782ab5e2a5c82988b21e05afe8e716
523 Author: Rich Walsh <DragText@E-vertise.Com>
524 Date: Sat Aug 7 16:30:59 2010 +0300
526 os2: Restore surface type checking in the get_extents method.
528 src/cairo-os2-surface.c | 10 +++++++++-
529 1 file changed, 9 insertions(+), 1 deletion(-)
531 commit 78bdd87b7545f8e85632ac301a69da145727fcec
532 Author: Rich Walsh <DragText@E-vertise.Com>
533 Date: Sat Aug 7 16:22:26 2010 +0300
535 os2: Fix clipping to bounds when blitting pixels.
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.
544 Thread "OS/2 surface fixes" on cairo-l:
545 http://lists.cairographics.org/archives/cairo/2010-July/020343.html
547 src/cairo-os2-surface.c | 62 +++++++++++++++++++++--------------------------
548 1 file changed, 27 insertions(+), 35 deletions(-)
550 commit d0284687b32161212d6bc52309e2d5bb516dc3e8
551 Author: Rich Walsh <DragText@E-vertise.Com>
552 Date: Sat Aug 7 03:53:24 2010 +0300
554 os2: Tweak an inline declaration.
556 C99 and cairo prefers "static inline <return type>" rather
557 than "static <return type> inline".
559 Thread "OS/2 surface fixes" on cairo-l:
560 http://lists.cairographics.org/archives/cairo/2010-July/020343.html
562 src/cairo-os2-surface.c | 2 +-
563 1 file changed, 1 insertion(+), 1 deletion(-)
565 commit cb30340064a2ff24dc408e185c5a309a14f6c78c
566 Author: Rich Walsh <DragText@E-vertise.Com>
567 Date: Sat Aug 7 03:33:10 2010 +0300
569 os2: Consolidate error paths of cairo_os2_surface_create().
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
576 Thread "OS/2 surface fixes" on cairo-l:
577 http://lists.cairographics.org/archives/cairo/2010-July/020343.html
579 src/cairo-os2-surface.c | 120 +++++++++++++++++++++++------------------------
580 1 file changed, 60 insertions(+), 60 deletions(-)
582 commit 66e3d650fe90754c811195c75579ac7a3512b7be
583 Author: Rich Walsh <DragText@E-vertise.Com>
584 Date: Sat Aug 7 03:12:12 2010 +0300
586 os2: Document ownership of OS/2 objects passed to surfaces.
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.
593 Thread "OS/2 surface fixes" on cairo-l:
594 http://lists.cairographics.org/archives/cairo/2010-July/020343.html
596 src/cairo-os2-surface.c | 23 ++++++++++++-----------
597 1 file changed, 12 insertions(+), 11 deletions(-)
599 commit 01525271544d5b88f87027e470fa85038d59bf8d
600 Author: Rich Walsh <DragText@E-vertise.Com>
601 Date: Sat Aug 7 03:08:21 2010 +0300
603 os2: Don't fake an Anchor Block when one isn't needed.
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.
609 Thread "OS/2 surface fixes" on cairo-l:
610 http://lists.cairographics.org/archives/cairo/2010-July/020343.html
612 src/cairo-os2-surface.c | 16 +++-------------
613 1 file changed, 3 insertions(+), 13 deletions(-)
615 commit 883d9725e0f844e7d5cc4c50c75a812b5435702b
616 Author: Rich Walsh <DragText@E-vertise.Com>
617 Date: Sat Aug 7 03:01:56 2010 +0300
619 os2: Fix buffer allocator behaviour on arithmetic overflow.
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.
628 Thread "OS/2 surface fixes" on cairo-l:
629 http://lists.cairographics.org/archives/cairo/2010-July/020343.html
631 src/cairo-os2-surface.c | 54 ++++++++++++++++++++---------------------------
632 1 file changed, 23 insertions(+), 31 deletions(-)
634 commit b54037828c5b338b2f1dcbe48201225b258c1e1e
635 Author: Rich Walsh <DragText@E-vertise.Com>
636 Date: Sat Aug 7 02:40:20 2010 +0300
638 os2: Fix blitting 24 bpp pixel data.
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
646 This patch fixes the format conversion code to include
647 the required padding between rows.
649 Thread "OS/2 surface fixes" on cairo-l:
650 http://lists.cairographics.org/archives/cairo/2010-July/020343.html
652 src/cairo-os2-private.h | 1 +
653 src/cairo-os2-surface.c | 116 +++++++++++++++++++++++++++--------------------
654 2 files changed, 68 insertions(+), 49 deletions(-)
656 commit 5aadecb3ac03d379c2c8113566fa8062843df42e
657 Author: Rich Walsh <DragText@E-vertise.Com>
658 Date: Sat Aug 7 02:30:01 2010 +0300
660 os2: New API to create surfaces without a persistent HPS.
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.
667 Thread "OS/2 surface fixes" on cairo-l:
668 http://lists.cairographics.org/archives/cairo/2010-July/020343.html
671 https://bugzilla.mozilla.org/show_bug.cgi?id=557159
673 src/cairo-os2-surface.c | 142 ++++++++++++++++++++++++++++++++++++++++++++++-
674 src/cairo-os2.h | 14 +++++
675 2 files changed, 153 insertions(+), 3 deletions(-)
677 commit 9669faa936fe38da3615d7831e423befa5ecdfad
678 Author: Benjamin Otte <otte@redhat.com>
679 Date: Sun Aug 8 17:23:05 2010 +0200
681 gl: Handle errors from _cairo_gl_gradient_render()
683 Thanks Andrea for finding this.
685 src/cairo-gl-gradient.c | 9 ++++++++-
686 1 file changed, 8 insertions(+), 1 deletion(-)
688 commit e31b56e020df806aa6180cd2efa0a34e55e5adaf
689 Author: Benjamin Otte <otte@redhat.com>
690 Date: Sun Aug 8 14:45:24 2010 +0200
692 configure: Fix gobject handling
694 1) Explicitly depend on glib, too.
695 2) Don't link gobject into libcairo proper (thanks Joonas for noticing).
697 configure.ac | 4 ++--
698 1 file changed, 2 insertions(+), 2 deletions(-)
700 commit ae2b7b13cd5fdeaee44496056bb99f497346e262
701 Author: Andrea Canciani <ranma42@gmail.com>
702 Date: Wed Aug 4 14:22:23 2010 +0200
704 pattern: Simplify degenerate linear pattern to solid colors
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.
713 Fixes degenerate-linear-gradient
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(-)
719 commit d54a5a9fc90857448954d6cbe725d4665efa3d45
720 Author: Andrea Canciani <ranma42@gmail.com>
721 Date: Wed Aug 4 14:16:34 2010 +0200
723 pattern: Add gradient degeneracy testing functions
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.
728 src/cairo-pattern.c | 21 +++++++++++++++++----
729 1 file changed, 17 insertions(+), 4 deletions(-)
731 commit 63434bc43819e2c7d4db568e82f5a9a7dfb0418d
732 Author: Andrea Canciani <ranma42@gmail.com>
733 Date: Wed Aug 4 14:22:01 2010 +0200
735 gstate: Correct comment
737 src/cairo-gstate.c | 2 +-
738 1 file changed, 1 insertion(+), 1 deletion(-)
740 commit 28cd511fb974f886ae65e588413afcfc220a1a7c
741 Author: Andrea Canciani <ranma42@gmail.com>
742 Date: Sat Aug 7 22:55:46 2010 +0200
744 Correct color stops comparison function
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.
750 src/cairo-color.c | 25 ++++---------------------
751 1 file changed, 4 insertions(+), 21 deletions(-)
753 commit f71a618bd2604c8f0beaf4816a38a54f6f271bd9
754 Author: Andrea Canciani <ranma42@gmail.com>
755 Date: Sat Aug 7 21:32:09 2010 +0200
757 Fix configuration if gobject is absent
759 Autodetect gobject and only use it if present.
760 Its absence is not to be considered a failure since it's not required.
762 build/Makefile.win32.features | 2 +-
764 2 files changed, 2 insertions(+), 2 deletions(-)
766 commit 661f4859cdbc0394ed0a9db34ced0f4e2bbe78ff
767 Author: Benjamin Otte <otte@redhat.com>
768 Date: Sat Aug 7 20:05:42 2010 +0200
770 Add cairo-gobject library
772 This library is supposed to contain GType declarations for Cairo types.
773 It is also meant to support gobject-introspection binding creation.
775 boilerplate/Makefile.win32.features | 12 +
776 build/Makefile.win32.features | 1 +
777 build/Makefile.win32.features-h | 3 +
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(+)
787 commit fc4e8f036326da1839ec5320eba60823e7efc2db
788 Author: Søren Sandmann Pedersen <ssp@redhat.com>
789 Date: Sat Aug 7 12:10:49 2010 -0400
791 Update documentation to reflect that rgb565 is no longer deprecated.
793 src/cairo.h | 6 +++---
794 1 file changed, 3 insertions(+), 3 deletions(-)
796 commit de606af5d673df193fc07fbd047ba2cec82d2f1c
797 Author: Andrea Canciani <ranma42@gmail.com>
798 Date: Tue Jul 27 18:04:36 2010 +0200
800 quartz: improve backend detection
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.
806 src/cairo-quartz-surface.c | 24 +++++++++++++++---------
807 1 file changed, 15 insertions(+), 9 deletions(-)
809 commit 056ce165c4377e9cf93fd7a06b6b0d5d4d98cb8c
810 Author: Andrea Canciani <ranma42@gmail.com>
811 Date: Tue Jul 27 18:50:55 2010 +0200
813 quartz: fix solid masking fallback
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.
820 src/cairo-quartz-surface.c | 2 +-
821 1 file changed, 1 insertion(+), 1 deletion(-)
823 commit bdeade14ea86fb5f3ff17accd71711d2c40b1b33
824 Author: Andrea Canciani <ranma42@gmail.com>
825 Date: Wed Jul 28 19:33:53 2010 +0200
827 quartz: fix stroking with unbounded operators
829 Self-intersecting strokes were drawn incorrectly when an unbounded
830 operator was used, since the fixup operation also cleared the
833 Fixes clip-stroke-unbounded.
835 src/cairo-quartz-surface.c | 14 ++++++++------
836 1 file changed, 8 insertions(+), 6 deletions(-)
838 commit 8f38d2aa29bc0d69690cbf542c4a2b497b7a0c0a
839 Author: Andrea Canciani <ranma42@gmail.com>
840 Date: Thu Jul 29 10:45:59 2010 +0200
842 test: improve clip-*-unbounded tests
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.
847 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
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(-)
899 commit 142df6f9638e10d0712e092d902f7670965a88f9
900 Author: Benjamin Otte <otte@redhat.com>
901 Date: Fri Jul 30 22:04:44 2010 +0200
903 configure: Disable xml backend by default
905 We don't want to enable it by default when nobody uses it.
907 boilerplate/Makefile.win32.features | 2 +-
908 build/Makefile.win32.features | 2 +-
910 src/Makefile.win32.features | 2 +-
911 4 files changed, 4 insertions(+), 4 deletions(-)
913 commit 9f33f8453b4949cfdc63169d3acd7238f89379c2
914 Author: Benjamin Otte <otte@redhat.com>
915 Date: Fri Jul 30 21:48:14 2010 +0200
917 configure: Disable tee backend by default
919 We don't want to enable it by default when nobody uses it.
921 boilerplate/Makefile.win32.features | 4 +++-
922 build/Makefile.win32.features | 1 +
923 build/Makefile.win32.features-h | 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(-)
930 commit 9f4d677e2a6dd0bfbbbe20de39f92177bfdfc0e8
931 Author: Benjamin Otte <otte@redhat.com>
932 Date: Fri Jul 30 22:15:55 2010 +0200
934 tee: Move definitions into separate header
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(-)
943 commit 14639e6b8525ada2cb93abb1d70dde827b7bf9e0
944 Author: Kristian Høgsberg <krh@bitplanet.net>
945 Date: Thu Jun 17 18:29:48 2010 -0400
947 egl: Use EGL_KHR_surfaceless_opengl extension when available
949 This lets us avoid creating a throwaway pbuffer just to make the
952 src/cairo-egl-context.c | 58 +++++++++++++++++++++++++++++++----------------
953 1 file changed, 38 insertions(+), 20 deletions(-)
955 commit b6fd673d37e1c8962d15c0e0e59322a2002fc399
956 Author: Chris Wilson <chris@chris-wilson.co.uk>
957 Date: Mon Jul 26 13:15:38 2010 +0100
959 version: 1.9.15 post-snapshot bump
961 cairo-version.h | 2 +-
962 1 file changed, 1 insertion(+), 1 deletion(-)
964 commit ed8c6f42540f03a62fd64ad83b7c397528092232
965 Author: Chris Wilson <chris@chris-wilson.co.uk>
966 Date: Mon Jul 26 12:53:44 2010 +0100
968 version: 1.9.14 snapshot
970 cairo-version.h | 2 +-
971 1 file changed, 1 insertion(+), 1 deletion(-)
973 commit 81094cf4622302ebaa9b3f328f5d2a56a1c07a64
974 Author: Chris Wilson <chris@chris-wilson.co.uk>
975 Date: Mon Jul 26 12:52:56 2010 +0100
979 NEWS | 27 +++++++++++++++++++++++++++
980 1 file changed, 27 insertions(+)
982 commit c1fcbd0322f86327ddd89c2eef2facbc74045629
983 Author: Andrea Canciani <ranma42@gmail.com>
984 Date: Mon Jul 26 11:21:48 2010 +0200
986 quartz: fix REFLECT radial gradients
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.
993 Fixes radial-gradient.
995 src/cairo-quartz-surface.c | 4 ++--
996 1 file changed, 2 insertions(+), 2 deletions(-)
998 commit 3898e46d1de19848efeddb442dcf7f7663530256
999 Author: Chris Wilson <chris@chris-wilson.co.uk>
1000 Date: Fri Jul 23 09:41:48 2010 +0100
1002 image: Compensate mask origins for glyph clipping
1004 Fixes the regression in bitmap-font and large-font pointed out by Andrea
1005 Canciani since ef067933.
1007 src/cairo-image-surface.c | 2 +-
1008 1 file changed, 1 insertion(+), 1 deletion(-)
1010 commit 53fcfc781eeee949abc03cf90048a2228f7e0a63
1011 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
1012 Date: Wed Jul 21 22:39:40 2010 +0300
1014 build: Typos in comments.
1016 Fix inline "dnl" strings left over from a string
1017 substitution "--" -> "dnl".
1019 build/configure.ac.pthread | 8 ++++----
1020 1 file changed, 4 insertions(+), 4 deletions(-)
1022 commit fd1e731c9d0af307ebde4d888866c95bd6ebe66d
1023 Author: Hib Eris <hib@hiberis.nl>
1024 Date: Wed Jul 21 22:34:05 2010 +0300
1026 build: Fix pthread detection code when there isn't one.
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.
1032 build/configure.ac.pthread | 2 +-
1033 1 file changed, 1 insertion(+), 1 deletion(-)
1035 commit 108b1c7825116ed3f93aa57384bbd3290cdc9181
1036 Author: Karl Tomlinson <karlt+@karlt.net>
1037 Date: Sat Jul 17 13:08:53 2010 +1200
1039 clip: consider gstate target extents in _cairo_gstate_copy_clip_rectangle_list
1041 Fixes https://bugs.freedesktop.org/show_bug.cgi?id=29125
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).
1047 Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
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(-)
1054 commit b79ea8a6cab8bd28aebecf6e1e8229d5ac017264
1055 Author: Karl Tomlinson <karlt+@karlt.net>
1056 Date: Sat Jul 17 11:46:25 2010 +1200
1058 clip: consider all_clipped in _cairo_clip_get_extents
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
1065 Fixes https://bugs.freedesktop.org/show_bug.cgi?id=29124
1066 Tested-by test/get-clip
1068 Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
1070 src/cairo-clip.c | 5 +++++
1071 test/get-clip.c | 5 ++++-
1072 2 files changed, 9 insertions(+), 1 deletion(-)
1074 commit 6a5115901381fe9c81a8a311e267c2a00e2a1d04
1075 Author: Karl Tomlinson <karlt+@karlt.net>
1076 Date: Sat Jul 17 10:47:42 2010 +1200
1078 test: return CAIRO_TEST_FAILURE from get-clip preamble on failure
1080 https://bugs.freedesktop.org/show_bug.cgi?id=29120
1082 test/get-clip.c | 5 +++++
1083 1 file changed, 5 insertions(+)
1085 commit f2fa15680ec3ac95cb68d4957557f06561a7dc55
1086 Author: Karl Tomlinson <karlt+@karlt.net>
1087 Date: Sat Jul 17 10:39:50 2010 +1200
1089 clip: return empty clip from _cairo_clip_copy_rectangle_list when all_clipped
1091 Fixes https://bugs.freedesktop.org/show_bug.cgi?id=29122
1092 Tested by test/get-clip
1094 Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
1096 src/cairo-clip.c | 5 ++++-
1097 1 file changed, 4 insertions(+), 1 deletion(-)
1099 commit 33ac2035876aeb9215ca0bdaaeea5265fcee61f8
1100 Author: Karl Tomlinson <karlt+@karlt.net>
1101 Date: Sat Jul 17 10:13:22 2010 +1200
1103 test: use the surface size expected in get-clip phase "No clip set"
1105 https://bugs.freedesktop.org/show_bug.cgi?id=29121
1107 test/get-clip.c | 8 +++++---
1108 1 file changed, 5 insertions(+), 3 deletions(-)
1110 commit bac5c28a18af5d43c96f0b64d1c7235da3f02779
1111 Author: Chris Wilson <chris@chris-wilson.co.uk>
1112 Date: Sat Jul 17 10:09:14 2010 +0100
1114 boilerplate: Offset the xlib window
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...
1121 boilerplate/cairo-boilerplate-xlib.c | 4 ++--
1122 1 file changed, 2 insertions(+), 2 deletions(-)
1124 commit 51b0c21f02a8f0f5d7f44da05e49d7f8f3bf8bc7
1125 Author: Benjamin Otte <otte@redhat.com>
1126 Date: Fri Jul 16 19:49:53 2010 +0200
1128 build: Add explicit dependcy to cxx lib
1130 Otherwise the build will fail because it doesn't add the dependency
1133 https://bugs.freedesktop.org/show_bug.cgi?id=29114
1135 boilerplate/Makefile.am | 3 +++
1136 src/Makefile.am | 2 +-
1137 2 files changed, 4 insertions(+), 1 deletion(-)
1139 commit 6b92d5a0f9fce28f99b07177454da00f984fdb43
1140 Author: Oleg Romashin <romaxa@gmail.com>
1141 Date: Fri Jul 16 09:47:23 2010 +0100
1143 qt: Use native glyph rendering.
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.
1149 Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
1150 [2 files changed, 35 insertions(+), 140 deletions(-) \o/]
1152 src/cairo-qt-surface.cpp | 169 ++++++++++------------------------------------
1153 src/cairo-xlib-surface.c | 6 --
1154 2 files changed, 35 insertions(+), 140 deletions(-)
1156 commit f53f072a223c3fbdeba315f5cba755cba498e121
1157 Author: Chris Wilson <chris@chris-wilson.co.uk>
1158 Date: Mon Jul 12 18:53:29 2010 +0100
1160 clip: Do the NULL check before the dereference.
1162 Breakage introduced in the commit earlier today.
1164 src/cairo-clip.c | 3 ++-
1165 1 file changed, 2 insertions(+), 1 deletion(-)
1167 commit ef0679333da881bd83b0bb4db546ea9c68f81f89
1168 Author: Chris Wilson <chris@chris-wilson.co.uk>
1169 Date: Mon Jul 12 16:07:27 2010 +0100
1171 image: Manually clip against bounds when rendering directly
1173 This is path is slightly peculiar in that it explicitly avoid the
1174 intermediate mask and the geometry is not pre-clipped.
1176 This in conjunction with the previous commit fixes:
1178 Clip doesn't work for text
1179 https://bugs.freedesktop.org/show_bug.cgi?id=29008
1181 which is captured in test/partial-clip-text.
1183 src/cairo-image-surface.c | 23 +++++++++++++++++++----
1184 1 file changed, 19 insertions(+), 4 deletions(-)
1186 commit 679e5a600bd7dae6cbde83070fb1f7355f8025a7
1187 Author: Chris Wilson <chris@chris-wilson.co.uk>
1188 Date: Mon Jul 12 16:06:32 2010 +0100
1190 Differentiate between reducing clip to composite extents and a rectangle
1192 This is required for handling glyphs when rendering directly to the
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(-)
1207 commit 8546a877889bfafc056c867bc9aea25e9fdcdef0
1208 Author: Chris Wilson <chris@chris-wilson.co.uk>
1209 Date: Mon Jul 12 16:27:29 2010 +0100
1211 test: Add partial-clip-text
1213 This exercises a bug found by Igor Nikitin:
1215 https://bugs.freedesktop.org/show_bug.cgi?id=29008
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(+)
1225 commit 53ee897449dca497d6a3d6dc90b87fea8027cc44
1226 Author: Chris Wilson <chris@chris-wilson.co.uk>
1227 Date: Mon Jul 12 12:37:31 2010 +0100
1229 version: Post-snapshot bump to 1.9.13
1231 cairo-version.h | 2 +-
1232 1 file changed, 1 insertion(+), 1 deletion(-)
1234 commit aa4cd8287f47b4538e765e1b48dcbac19813a8a2
1235 Author: Chris Wilson <chris@chris-wilson.co.uk>
1236 Date: Mon Jul 12 12:12:12 2010 +0100
1238 version: 1.9.12 snapshot
1240 cairo-version.h | 2 +-
1241 1 file changed, 1 insertion(+), 1 deletion(-)
1243 commit 53b129dd8aecf4e2bd8b7d2cd27b91370c6705e9
1244 Author: Chris Wilson <chris@chris-wilson.co.uk>
1245 Date: Mon Jul 12 12:11:42 2010 +0100
1249 NEWS | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1250 1 file changed, 56 insertions(+)
1252 commit 01380f3a56b28a388d2876780f33516ecd16ee16
1253 Author: Chris Wilson <chris@chris-wilson.co.uk>
1254 Date: Mon Jul 12 11:49:53 2010 +0100
1256 test: Missing REFERENCE_IMAGES
1258 test/Makefile.am | 3 +++
1259 1 file changed, 3 insertions(+)
1261 commit 459b8ae660eb49a87ffb9da31f305718a2b4f11f
1262 Author: Chris Wilson <chris@chris-wilson.co.uk>
1263 Date: Mon Jul 12 11:05:57 2010 +0100
1265 Make distcheck happy.
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(-)
1274 commit d56b1718025f8b2354b5b1eb99af41df70a6c590
1275 Author: Andrea Canciani <ranma42@gmail.com>
1276 Date: Mon Jul 12 10:36:24 2010 +0200
1278 test: Add halo quartz reference images
1280 When quartz-font is enabled, halo and halo-transform fonts have a
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(-)
1287 commit 9107895789fc721ee6ea2ccb2ce3ab99fb978caa
1288 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
1289 Date: Mon Jul 12 11:03:15 2010 +0300
1291 test: Add comments explaining the bug in bug-seams.
1293 Where two rasterization methods meet, havoc occurs.
1295 test/bug-seams.c | 22 ++++++++++++++++++++++
1296 1 file changed, 22 insertions(+)
1298 commit 0152db263b9b12547fadb5d080913fcbb696d34e
1299 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
1300 Date: Mon Jul 12 10:36:00 2010 +0300
1302 build: Sync up autogenerated win32 build files.
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(+)
1310 commit 06ffb7df716652baba96960cd59e1a59f4bd1ac1
1311 Author: Eric Anholt <eric@anholt.net>
1312 Date: Sat Jul 10 14:19:50 2010 -0700
1314 gl: Only use a mat3 for the transformation for gradients coordinates.
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).
1321 No significant performance difference.
1323 src/cairo-gl-shaders.c | 28 +++++++++++++---------------
1324 1 file changed, 13 insertions(+), 15 deletions(-)
1326 commit 1e7485f8e5b6fd9b26f06838d8e7a35e073c394b
1327 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
1328 Date: Mon Jul 12 00:23:11 2010 +0300
1330 trace: Avoid stdbool.h C99ism.
1332 There is no <stdbool.h> on old Solaris without invoking
1333 c99 mode explicitly.
1335 util/cairo-trace/trace.c | 184 +++++++++++++++++++++++-----------------------
1336 1 file changed, 94 insertions(+), 90 deletions(-)
1338 commit 97529a3713d899468fb3ca7a1c3f75a09bd1b215
1339 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
1340 Date: Sun Jul 11 23:54:21 2010 +0300
1342 build: Avoid shifting shell parameters that aren't there.
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
1351 1 file changed, 2 insertions(+), 1 deletion(-)
1353 commit dd6026b613aa5414a128727995f2a4f79284072a
1354 Author: Benjamin Otte <otte@redhat.com>
1355 Date: Sun Jul 11 20:44:40 2010 +0200
1357 doc: Make the necessity of flush/mark_dirty more obvious
1359 src/cairo-surface.c | 32 ++++++++++++++++++++++++++++++++
1360 1 file changed, 32 insertions(+)
1362 commit 8a1944f45b9c9056088246d4f2e72d60a59fd5c4
1363 Author: Benjamin Otte <otte@redhat.com>
1364 Date: Sun Jul 11 19:11:15 2010 +0200
1366 check: Allow unprefix type names in the title
1368 Some documentation sections use the type name as the title, and we don't
1369 want to use that title as a link.
1371 src/check-doc-syntax.sh | 4 +---
1372 1 file changed, 1 insertion(+), 3 deletions(-)
1374 commit f0466ecf7db859a80b779b7fb4381e3c9409c39b
1375 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
1376 Date: Sun Jul 11 21:57:40 2010 +0300
1378 build: Fix typo in pthread test program.
1380 Missing a semicolon after pthread_cleanup_push. Incredibly
1381 only openbsd 4.5 minded.
1383 build/configure.ac.pthread | 2 +-
1384 1 file changed, 1 insertion(+), 1 deletion(-)
1386 commit 3f1d7de8e1620ad385930477b63454107dd8ffd3
1387 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
1388 Date: Sun Jul 11 17:29:07 2010 +0300
1390 build: Fix regression provoked by newer autoconf and dodgy configuring.
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.
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.
1404 build/configure.ac.noversion | 13 ++++++++++++-
1405 build/configure.ac.pthread | 2 ++
1406 2 files changed, 14 insertions(+), 1 deletion(-)
1408 commit fca8977219b857e2e61dd86ac39ae9f40086f306
1409 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
1410 Date: Sun Jun 27 03:03:17 2010 +0300
1412 build: Rework pthread detection.
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.
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(-)
1433 commit 47c35e5e86a3c99fc39afe2e13a7c92d5247ee1e
1434 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
1435 Date: Sun Jun 27 01:14:03 2010 +0300
1437 build: Purge CAIRO_CC_TRY_LINK_FLAG.
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
1443 build/aclocal.cairo.m4 | 21 ---------------------
1444 build/configure.ac.warnings | 2 +-
1445 2 files changed, 1 insertion(+), 22 deletions(-)
1447 commit d2f5592e0e0d316cfc40ec676ee6e7f4e2a699fb
1448 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
1449 Date: Sun Jun 27 01:11:13 2010 +0300
1451 build: Factor out a more pliable CAIRO_CC_TRY_LINK_WITH_ENV_SILENT.
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
1458 build/aclocal.cairo.m4 | 31 +++++++++++++++++++++++++------
1459 1 file changed, 25 insertions(+), 6 deletions(-)
1461 commit 120b78ada7eed6424f07a688854657d0c3ad68f8
1462 Author: Benjamin Otte <otte@redhat.com>
1463 Date: Sun Jul 11 18:48:38 2010 +0200
1465 build: Split boilerplate lib generation into two so's
1467 Same thing as what was previously done for libcairo.so: Build an
1468 intermediate lib for the (potential) C++ stuff.
1470 boilerplate/Makefile.am | 31 ++++++++++++++++++++++++-------
1471 boilerplate/Makefile.sources | 7 ++-----
1472 2 files changed, 26 insertions(+), 12 deletions(-)
1474 commit d6362a0d76753cb6f85f0dbd567a3ec7b7b08696
1475 Author: Benjamin Otte <otte@redhat.com>
1476 Date: Sun Jul 11 16:01:44 2010 +0200
1478 qt: Define cairo-qt's API as C symbols
1480 That way, the C linker doesn't mess up when linking libcairo.so.
1482 src/cairo-qt.h | 12 ++++--------
1483 1 file changed, 4 insertions(+), 8 deletions(-)
1485 commit 5d4a4775c8b091b947b52cc8f7e1e48a5eaea007
1486 Author: Benjamin Otte <otte@redhat.com>
1487 Date: Sun Jul 11 15:41:56 2010 +0200
1489 build: Fix typo that makes C++ libs not build
1491 src/Makefile.am | 2 +-
1492 1 file changed, 1 insertion(+), 1 deletion(-)
1494 commit 9b9952ab4f64a476bbadfd3e6cf1e66c1137ccd7
1495 Author: Chris Wilson <chris@chris-wilson.co.uk>
1496 Date: Sat Jul 10 11:13:07 2010 +0100
1498 Convert mime data length to use unsigned long
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.
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(-)
1521 commit eb85ab998b606144daf025285968a5d6031b9aa6
1522 Author: Chris Wilson <chris@chris-wilson.co.uk>
1523 Date: Sat Jul 10 10:43:40 2010 +0100
1525 subsurface: Don't assume we ever own the target.
1527 Andrea pointed out that snapshots can be shared, and so the subsurface
1528 should not be calling finish even on a snapshot.
1530 src/cairo-surface-subsurface-private.h | 1 -
1531 src/cairo-surface-subsurface.c | 17 ++++++++---------
1532 2 files changed, 8 insertions(+), 10 deletions(-)
1534 commit 59c83117d77f58e9cb64aaa6b572fab62fb31c6b
1535 Author: Benjamin Otte <otte@redhat.com>
1536 Date: Fri Jul 9 18:55:11 2010 +0200
1538 build: Commit new versions of autogenerate Windows build files
1540 The recent commits to the build system changed a bunch of stuff in
1541 there, so update the files.
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(-)
1548 commit bf117e4ea7c89dadcb5a358bb47c0f213cc67461
1549 Author: Benjamin Otte <otte@redhat.com>
1550 Date: Fri Jul 9 18:43:38 2010 +0200
1552 build: fix glew include
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
1558 configure.ac | 8 ++++----
1559 src/Makefile.sources | 11 +++++++----
1560 2 files changed, 11 insertions(+), 8 deletions(-)
1562 commit 0bd704bd1e92b274209aeda6de88c7e75ffa81be
1563 Author: Benjamin Otte <otte@redhat.com>
1564 Date: Fri Jul 9 17:15:02 2010 +0200
1566 build: Remove wrong flags from libcairo_cxx.la
1568 They're useful for the final so, but not for an intermediate noinst lib.
1570 src/Makefile.am | 2 +-
1571 1 file changed, 1 insertion(+), 1 deletion(-)
1573 commit faceffd5beb4297299175945660522d8f1f5f2cb
1574 Author: Benjamin Otte <otte@redhat.com>
1575 Date: Fri Jul 9 16:58:18 2010 +0200
1577 build: copy/paste failure: Don't build libcxx.la
1579 src/Makefile.am | 2 +-
1580 1 file changed, 1 insertion(+), 1 deletion(-)
1582 commit dbb386d3c0aa9e7534d333cf3dbcfc2aaeac05d3
1583 Author: Benjamin Otte <otte@redhat.com>
1584 Date: Fri Jul 9 12:49:10 2010 +0200
1586 gl: Use unsigned int instead of GLuint
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.
1591 src/cairo-gl-surface.c | 2 +-
1592 src/cairo-gl.h | 3 ++-
1593 2 files changed, 3 insertions(+), 2 deletions(-)
1595 commit f7fc8569a797356d5e93ad67aae4eca31e6835cd
1596 Author: Benjamin Otte <otte@redhat.com>
1597 Date: Fri Jul 9 12:29:35 2010 +0200
1599 build: Fix C++ issues with automake
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
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++.
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.
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
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(-)
1631 commit df6d49f6eaf334d5a2de8bdd90919278071ab868
1632 Author: Benjamin Otte <otte@redhat.com>
1633 Date: Fri Jul 9 10:29:30 2010 +0200
1635 build: Get rid of $(foo_files) Makefile.am variables
1637 They're unused, and less variables make the build system easier to
1640 build/configure.ac.features | 1 -
1641 src/Makefile.am | 1 -
1642 2 files changed, 2 deletions(-)
1644 commit ce530b2802683fe6c5289367ef03018f4081a2da
1645 Author: Benjamin Otte <otte@redhat.com>
1646 Date: Fri Jul 9 04:24:51 2010 +0200
1648 doc: Add "@Since: 1.10" tags to device docs
1650 src/cairo-device.c | 14 ++++++++++++++
1652 2 files changed, 16 insertions(+)
1654 commit c1fed693020c96126cdc697ddd22567398369b04
1655 Author: Benjamin Otte <otte@redhat.com>
1656 Date: Fri Jul 9 04:20:42 2010 +0200
1658 gl: Remove double ** from some comments
1660 gtk-doc doesn't like that unless it's a real gtk-doc comment.
1663 src/cairo-gl-composite.c | 4 ++--
1664 1 file changed, 2 insertions(+), 2 deletions(-)
1666 commit 5c73b371ae31f230210987941eec2db49d2e02be
1667 Author: Benjamin Otte <otte@redhat.com>
1668 Date: Fri Jul 9 04:20:06 2010 +0200
1670 doc: Document remaining cairo-device functions
1672 src/cairo-device.c | 32 ++++++++++++++++++++++++++++++++
1673 1 file changed, 32 insertions(+)
1675 commit 9877c1932a44f7e5300d6fcd99c19748aa5a4828
1676 Author: Benjamin Otte <otte@redhat.com>
1677 Date: Fri Jul 9 03:52:45 2010 +0200
1679 doc: Add more documentation for devices
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.
1686 I guess I'll have to fix them later.
1688 src/cairo-device.c | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1689 1 file changed, 86 insertions(+)
1691 commit 739d6e35fa5632b80b888d6475f2fdb6be6054a6
1692 Author: Benjamin Otte <otte@redhat.com>
1693 Date: Fri Jul 9 03:04:27 2010 +0200
1695 doc: Clarify that cairo_surface_get_device() can return NULL
1697 src/cairo-surface.c | 3 ++-
1698 1 file changed, 2 insertions(+), 1 deletion(-)
1700 commit 65d0590b041835fb466f4a7073910ef1383d9e77
1701 Author: Benjamin Otte <otte@redhat.com>
1702 Date: Fri Jul 9 02:23:13 2010 +0200
1704 doc: Copy docs for standard device APIs
1706 Copied from the surface equivalents
1708 src/cairo-device.c | 42 ++++++++++++++++++++++++++++++++++++++++++
1709 1 file changed, 42 insertions(+)
1711 commit 8a08b6fa5288f376688730c66ae9219d01180f42
1712 Author: Benjamin Otte <otte@redhat.com>
1713 Date: Fri Jul 9 02:21:00 2010 +0200
1715 doc: Remove the <TITLE> declarations
1717 This information was duplicated. It exists as the "@Title" of the
1718 SECTION inline documentation already.
1720 doc/public/cairo-sections.txt | 28 ----------------------------
1721 1 file changed, 28 deletions(-)
1723 commit 5e76bc6deb9fd4dc7a0f9181d3941ba55ce89c56
1724 Author: Benjamin Otte <otte@redhat.com>
1725 Date: Fri Jul 9 01:10:24 2010 +0200
1727 doc: Add missing region documentation
1729 src/cairo-region.c | 25 +++++++++++++++++++++++++
1730 src/cairo.h | 13 +++++++++++++
1731 2 files changed, 38 insertions(+)
1733 commit 57da730d286f643c8f68b445907f7cdd1f53e5de
1734 Author: Benjamin Otte <otte@redhat.com>
1735 Date: Thu Jul 8 23:44:35 2010 +0200
1737 doc: Fix a syntax issue in quartz-font gtkdoc
1739 A missing empty line caused the long description to be part of
1742 src/cairo-quartz-font.c | 1 +
1743 1 file changed, 1 insertion(+)
1745 commit fb03eba44f1ae7dd76dd3db82bfb55b06b0932ae
1746 Author: Andrea Canciani <ranma42@gmail.com>
1747 Date: Thu Jul 8 20:06:08 2010 +0200
1749 test: Add quartz functions to api-special-cases test
1751 test/api-special-cases.c | 19 +++++++++++++++++++
1752 1 file changed, 19 insertions(+)
1754 commit 59aab0bdc24838252850034cee36ed756f3c3e2a
1755 Author: Andrea Canciani <ranma42@gmail.com>
1756 Date: Thu Jul 8 20:05:13 2010 +0200
1760 test/api-special-cases.c | 2 +-
1761 1 file changed, 1 insertion(+), 1 deletion(-)
1763 commit b870cc030d8e0eb6309695e5a101c802f688cf40
1764 Author: Benjamin Otte <otte@redhat.com>
1765 Date: Thu Jul 8 13:05:18 2010 +0200
1767 doc: Move tmpl/ docs to inline docs
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
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(-)
1833 commit 65a1e351330106ee0af9f6f0df06b82954341ee6
1834 Author: Benjamin Otte <otte@redhat.com>
1835 Date: Thu Jul 8 03:28:05 2010 +0200
1837 doc: Remove CAIRO_FORMAT_RGB16_565 from hidden symbols list
1839 It's part of the cairo_format_t documentation now.
1841 doc/public/cairo-sections.txt | 1 -
1842 1 file changed, 1 deletion(-)
1844 commit e7594aebce6007bfa2027ba2655875db6c036e73
1845 Author: Benjamin Otte <otte@redhat.com>
1846 Date: Thu Jul 8 03:21:45 2010 +0200
1848 doc: Fix some consistency issues that confuse gtk-doc
1850 src/cairo-region.c | 16 +++++++++++++---
1851 src/cairo.h | 16 ++++++++++++++--
1852 2 files changed, 27 insertions(+), 5 deletions(-)
1854 commit da2663a0aa1e3f0a6b2f6ae2e9952ac27dec3f5d
1855 Author: Benjamin Otte <otte@redhat.com>
1856 Date: Thu Jul 8 03:14:42 2010 +0200
1858 doc: Add list of new symbol in Cairo 1.10
1860 doc/public/cairo-docs.xml | 3 +++
1861 1 file changed, 3 insertions(+)
1863 commit a106aa86a3267b4886f7eabdc4b07bb394e11531
1864 Author: Benjamin Otte <otte@redhat.com>
1865 Date: Thu Jul 8 03:13:20 2010 +0200
1867 doc: add --name-space option to gtkdoc-mkdb
1869 This sorts function names in new symbols lists way better.
1871 doc/public/Makefile.am | 2 +-
1872 1 file changed, 1 insertion(+), 1 deletion(-)
1874 commit 71d17e4b1f1cb83bc605d72d8419d4bfb824c828
1875 Author: Benjamin Otte <otte@redhat.com>
1876 Date: Thu Jul 8 02:42:39 2010 +0200
1878 drm: Fix Makefile for drm_xr
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.
1884 src/Makefile.sources | 10 ++++------
1885 1 file changed, 4 insertions(+), 6 deletions(-)
1887 commit 4b3e488cebeeace02eae1164ed12caa93d7c5847
1888 Author: Benjamin Otte <otte@redhat.com>
1889 Date: Thu Jul 8 02:42:06 2010 +0200
1891 skia: Add cairo-skia.h as a public header
1893 src/Makefile.sources | 2 +-
1894 1 file changed, 1 insertion(+), 1 deletion(-)
1896 commit 2a546286da5fe7203846d99a4a3d732c73e62db5
1897 Author: Benjamin Otte <otte@redhat.com>
1898 Date: Thu Jul 8 02:20:17 2010 +0200
1900 doc: Add a section about regions
1902 doc/public/cairo-docs.xml | 1 +
1903 doc/public/cairo-sections.txt | 30 ++++++++++++++++++++++++++++++
1904 2 files changed, 31 insertions(+)
1906 commit ab1f6d1af7c0e47077013edd58e93fa9fc6f2b5c
1907 Author: Benjamin Otte <otte@redhat.com>
1908 Date: Thu Jul 8 01:41:27 2010 +0200
1910 doc: Add missing surface APIs
1912 doc/public/cairo-sections.txt | 2 ++
1913 1 file changed, 2 insertions(+)
1915 commit 90bf273a38856d178e90721168b8b076f79fbf38
1916 Author: Benjamin Otte <otte@redhat.com>
1917 Date: Thu Jul 8 01:39:37 2010 +0200
1919 doc: Add a section for cairo_device_t
1921 doc/public/cairo-docs.xml | 1 +
1922 doc/public/cairo-sections.txt | 18 ++++++++++++++++++
1923 2 files changed, 19 insertions(+)
1925 commit 60e4f28d091df8ac6b898448eb52fae9ca920d5d
1926 Author: Benjamin Otte <otte@redhat.com>
1927 Date: Thu Jul 8 01:39:07 2010 +0200
1929 doc: Add cairo_in_clip() to cairo_t section
1931 doc/public/cairo-sections.txt | 1 +
1932 1 file changed, 1 insertion(+)
1934 commit 6843186b729b20acddccd36184d2c5a7b5525d2e
1935 Author: Benjamin Otte <otte@redhat.com>
1936 Date: Thu Jul 8 01:38:43 2010 +0200
1938 doc: Add cairo_rectangle_int_t to the general types list
1940 doc/public/cairo-sections.txt | 1 +
1941 1 file changed, 1 insertion(+)
1943 commit c54dff82d3055529b7663dcff7a970cae919a9e0
1944 Author: Benjamin Otte <otte@redhat.com>
1945 Date: Thu Jul 8 01:33:42 2010 +0200
1947 glew: The headers are private, not public
1949 src/Makefile.sources | 2 +-
1950 1 file changed, 1 insertion(+), 1 deletion(-)
1952 commit 4252e3b8f915fc23611f1a667bf7bc1bb6a21dfd
1953 Author: Benjamin Otte <otte@redhat.com>
1954 Date: Thu Jul 8 01:32:25 2010 +0200
1956 doc: Add drm and glew to the ignored directories
1958 This reduces the number of unused symbols to a reasonable size. ;)
1960 doc/public/Makefile.am | 2 ++
1961 1 file changed, 2 insertions(+)
1963 commit 729d00341c26d46d82359014df97472a469e49a4
1964 Author: Benjamin Otte <otte@redhat.com>
1965 Date: Thu Jul 8 13:57:43 2010 +0200
1967 gl: Fix compile error after rebase failure
1969 src/cairo-gl-surface.c | 2 +-
1970 1 file changed, 1 insertion(+), 1 deletion(-)
1972 commit 292423c73376a7f9b84c9e3e578c242f486e921b
1973 Author: Colin Walters <walters@verbum.org>
1974 Date: Wed Jul 7 15:46:33 2010 -0400
1976 Support NOCONFIGURE environment variable
1978 This is taken from gnome-common; it can be convenient for builders
1979 to separate the autogen from the configure stage.
1982 1 file changed, 3 insertions(+), 1 deletion(-)
1984 commit 9e6c151af810886e94372ac8e4878915059c6c14
1985 Author: Kristian Høgsberg <krh@bitplanet.net>
1986 Date: Thu Jun 17 18:19:39 2010 -0400
1988 gl: Add new cairo-gl surface constructor to create surface for texture
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(-)
1995 commit 4c91bb9a221bc8e3d65a96365bbd1157b3f4e612
1996 Author: Benjamin Otte <otte@redhat.com>
1997 Date: Tue Jul 6 17:27:18 2010 +0200
1999 region: Add cairo_region_xor() and cairo_region_xor_rectangle()
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.
2004 src/cairo-region.c | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++
2005 src/cairo.h | 6 ++++
2006 src/cairoint.h | 2 ++
2007 3 files changed, 88 insertions(+)
2009 commit 82de6336d88be43de759b94634e87b9e4a8391b1
2010 Author: Benjamin Otte <otte@redhat.com>
2011 Date: Tue Jul 6 00:48:36 2010 +0200
2013 test: Add note about how to fix failures to api-special-cases
2015 test/api-special-cases.c | 6 ++++++
2016 1 file changed, 6 insertions(+)
2018 commit 75f269b14e1e4cdadd8c08566a07b2460ae3364b
2019 Author: Benjamin Otte <otte@redhat.com>
2020 Date: Tue Jul 6 00:41:12 2010 +0200
2022 test: Add documentation to the api-special-cases test
2024 Hopefully people add other backend APIs to the testsuite.
2026 test/api-special-cases.c | 27 +++++++++++++++++++++++++++
2027 1 file changed, 27 insertions(+)
2029 commit 398870e64a18f32f1854cb19f64c34e2b1987140
2030 Author: Benjamin Otte <otte@redhat.com>
2031 Date: Tue Jul 6 00:21:38 2010 +0200
2033 xlib: Setters should set finished surfaces into an error status
2035 Caught by api-special-cases test
2037 src/cairo-xlib-surface.c | 18 ++++++++++++++----
2038 1 file changed, 14 insertions(+), 4 deletions(-)
2040 commit 6e562d1448eb70b7269f8f2f280719aa2aeb3ce7
2041 Author: Benjamin Otte <otte@redhat.com>
2042 Date: Tue Jul 6 00:20:57 2010 +0200
2044 xcb: Setters should set finished surfaces into an error status
2046 Caught by api-special-cases test
2048 src/cairo-xcb-surface.c | 10 ++++++++--
2049 1 file changed, 8 insertions(+), 2 deletions(-)
2051 commit fa070704966f10e7264778a3ffb401054a68e8f7
2052 Author: Benjamin Otte <otte@redhat.com>
2053 Date: Tue Jul 6 00:20:36 2010 +0200
2055 test: Add xcb and xlib functions to api-special-cases test
2057 test/api-special-cases.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++
2058 1 file changed, 91 insertions(+)
2060 commit c4068fe9414bad663f77c030ac96fa4b4cba87ba
2061 Author: Benjamin Otte <otte@redhat.com>
2062 Date: Mon Jul 5 23:14:33 2010 +0200
2064 test: Add ps, pdf and svg to the api-special-cases test
2066 test/api-special-cases.c | 103 ++++++++++++++++++++++++++++++++++++++++++++++
2067 1 file changed, 103 insertions(+)
2069 commit 3e008e8ab0a1c5254bd1d8a58c9e9a89846fe7ac
2070 Author: Benjamin Otte <otte@redhat.com>
2071 Date: Mon Jul 5 23:14:19 2010 +0200
2073 svg: Set error when extracting from finished surface
2075 Caught by api-special-cases test
2077 src/cairo-svg-surface.c | 10 ++++++++++
2078 1 file changed, 10 insertions(+)
2080 commit 2e66cbaee2efc4a8eb2117f945d68e2816349cfe
2081 Author: Benjamin Otte <otte@redhat.com>
2082 Date: Mon Jul 5 23:10:12 2010 +0200
2084 ps: Allow specifying if errors on extract_surface should be set
2086 Getters should not set errors on passed in input. So we don't.
2088 Caught by api-special-cases test
2090 src/cairo-ps-surface.c | 39 ++++++++++++++++++++++-----------------
2091 1 file changed, 22 insertions(+), 17 deletions(-)
2093 commit f5dfc3ce6eab3bf836f2d7f7cf72d2834c42d72f
2094 Author: Benjamin Otte <otte@redhat.com>
2095 Date: Mon Jul 5 23:08:08 2010 +0200
2097 ps: Set error when extracting from finished surface
2099 Caught by api-special-cases test
2101 src/cairo-ps-surface.c | 10 ++++++++++
2102 1 file changed, 10 insertions(+)
2104 commit 106357f6e28467f6db02e8d69c4aea459aca781c
2105 Author: Benjamin Otte <otte@redhat.com>
2106 Date: Mon Jul 5 23:07:24 2010 +0200
2108 pdf: Set error when extracting from finished surface
2110 Caught by api-special-cases test
2112 src/cairo-pdf-surface.c | 10 ++++++++++
2113 1 file changed, 10 insertions(+)
2115 commit 702aa19fdae8bd511c4374f580dde6503afd3341
2116 Author: Benjamin Otte <otte@redhat.com>
2117 Date: Mon Jul 5 22:50:44 2010 +0200
2119 gl: Fail properly when called with finished functions
2121 Caught by api-special-cases test
2123 src/cairo-gl-surface.c | 12 +++++++++++-
2124 1 file changed, 11 insertions(+), 1 deletion(-)
2126 commit b87be76bdfcbd329c79a9f11b24d22010ad15dde
2127 Author: Benjamin Otte <otte@redhat.com>
2128 Date: Mon Jul 5 22:50:18 2010 +0200
2130 test: Add gl functions to the tests
2132 test/api-special-cases.c | 39 ++++++++++++++++++++++++++++++++++++++-
2133 1 file changed, 38 insertions(+), 1 deletion(-)
2135 commit 448653e7b9938100c3f2e30e026fbc4d9de7d0d5
2136 Author: Benjamin Otte <otte@redhat.com>
2137 Date: Mon Jul 5 22:41:43 2010 +0200
2139 Call _cairo_error() when setting the FINISHED error on surfaces
2141 src/cairo-surface-subsurface.c | 2 +-
2142 src/cairo-surface.c | 12 ++++++------
2143 2 files changed, 7 insertions(+), 7 deletions(-)
2145 commit 19da8e138d317c1770d8bbd21a49c657d954f126
2146 Author: Benjamin Otte <otte@redhat.com>
2147 Date: Mon Jul 5 22:40:54 2010 +0200
2149 tee: Add proper error handling
2151 Caught by api-special-cases
2153 src/cairo-tee-surface.c | 15 +++++++++++++++
2154 1 file changed, 15 insertions(+)
2156 commit a9f30fc1f0c3e50715468b09707477973bf5268b
2157 Author: Benjamin Otte <otte@redhat.com>
2158 Date: Mon Jul 5 22:30:55 2010 +0200
2160 test: Add recording and tee surface functions to api-special-cases
2162 test/api-special-cases.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
2163 1 file changed, 44 insertions(+)
2165 commit 41abc0ca37855751ed06051a30c0d866977ed2bd
2166 Author: Benjamin Otte <otte@redhat.com>
2167 Date: Mon Jul 5 22:19:05 2010 +0200
2169 test: add PNG functions
2171 test/api-special-cases.c | 36 ++++++++++++++++++++++++++++++++++++
2172 1 file changed, 36 insertions(+)
2174 commit 897eaa3e97f865ad2c28442c26efaf4ba391cf03
2175 Author: Benjamin Otte <otte@redhat.com>
2176 Date: Mon Jul 5 22:11:23 2010 +0200
2178 test: Add a non-error surface check
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.
2184 test/api-special-cases.c | 36 ++++++++++++++++++++++++++++++++++++
2185 1 file changed, 36 insertions(+)
2187 commit 986ddf565215dc01065eade46921abe8a4b7912e
2188 Author: Benjamin Otte <otte@redhat.com>
2189 Date: Mon Jul 5 22:03:42 2010 +0200
2191 test: add image surface functions to api-special-cases test
2193 test/api-special-cases.c | 90 +++++++++++++++++++++++++++++++++-------------
2194 1 file changed, 66 insertions(+), 24 deletions(-)
2196 commit 72878d70ea75be03f47fa9d53f8305e76162054e
2197 Author: Benjamin Otte <otte@redhat.com>
2198 Date: Mon Jul 5 20:47:19 2010 +0200
2200 test: Add a new test variant to api-special-cases test
2202 This variant tests a (hopefully) inert error surface.
2204 test/api-special-cases.c | 35 +++++++++++++++++++++++++++++++++++
2205 1 file changed, 35 insertions(+)
2207 commit 9de25a0297c141a0776835920168afaa3ca77a87
2208 Author: Benjamin Otte <otte@redhat.com>
2209 Date: Mon Jul 5 18:33:40 2010 +0200
2211 configure: remove dolt
2213 libtool should be fast by now
2216 build/aclocal.dolt.m4 | 178 -------------------------------------------------
2218 3 files changed, 2 insertions(+), 182 deletions(-)
2220 commit 6744b78de17930285569da2158a334763e2bd333
2221 Author: Benjamin Otte <otte@redhat.com>
2222 Date: Mon Jul 5 18:25:31 2010 +0200
2224 subsurface: Fail if created from a finished surface
2226 Caught by api-special-cases test
2228 src/cairo-surface-subsurface.c | 2 ++
2229 1 file changed, 2 insertions(+)
2231 commit 8fd1ecea12f15c2bda710065909a14415ba92bd8
2232 Author: Benjamin Otte <otte@redhat.com>
2233 Date: Mon Jul 5 18:25:16 2010 +0200
2235 surface: Fail if set_mime_data() is called on a finished surface
2237 Caught by api-special-cases test
2239 src/cairo-surface.c | 2 ++
2240 1 file changed, 2 insertions(+)
2242 commit e388ff1ae732970d6166780817ec121cf58ccd0e
2243 Author: Benjamin Otte <otte@redhat.com>
2244 Date: Mon Jul 5 18:24:23 2010 +0200
2246 surface: Fail early if create_similar() is called on a finished surface
2248 Caught by api-special-cases test
2250 src/cairo-surface.c | 2 ++
2251 1 file changed, 2 insertions(+)
2253 commit c1689ef6f27f99c36e1a5f4de658363ca0aad25a
2254 Author: Benjamin Otte <otte@redhat.com>
2255 Date: Mon Jul 5 18:23:37 2010 +0200
2257 surface: don't call begin_modification on finished surfaces
2259 Fixes https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/600622
2261 Caught by api-special-cases test
2263 src/cairo-surface.c | 4 ++--
2264 1 file changed, 2 insertions(+), 2 deletions(-)
2266 commit cf0245c1201d4884ff19e881e9c118784fa14884
2267 Author: Benjamin Otte <otte@redhat.com>
2268 Date: Mon Jul 5 18:17:09 2010 +0200
2270 tests: Add a testcase that checks APIs work consistently
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
2277 Please update this test when new APIs get added.
2279 Motivated by https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/600622
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(+)
2286 commit eb63284fc3ae9377003ca312be58ae8f5dbbfdbd
2287 Author: Benjamin Otte <otte@redhat.com>
2288 Date: Mon Jul 5 00:37:10 2010 +0200
2290 configure: Use automake silent rules
2292 This replaces shave usage.
2293 If silent rules are not available, don't use them.
2296 1 file changed, 1 insertion(+)
2298 commit 68bbb6b4a0a3b9bc923ccf130b1ca4221a5e54bd
2299 Author: Benjamin Otte <otte@redhat.com>
2300 Date: Mon Jul 5 00:35:39 2010 +0200
2302 configure: remove shave
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(-)
2311 commit 9ce87c67ff64083ec48edfefe83a1df3756c364c
2312 Author: Benjamin Otte <otte@redhat.com>
2313 Date: Sat Jul 3 02:54:55 2010 +0200
2315 perf: print comment describing backend
2317 Use the descibe string to output information about the backend we're
2320 perf/cairo-perf-trace.c | 31 ++++++++++++++++++++++++++++++-
2321 1 file changed, 30 insertions(+), 1 deletion(-)
2323 commit fcfe7c67248ea171dc40c0dbd861e489a2df5941
2324 Author: Benjamin Otte <otte@redhat.com>
2325 Date: Sat Jul 3 02:54:28 2010 +0200
2327 boilerplate: Add describe string
2329 Print the pixman version we're using
2331 boilerplate/cairo-boilerplate.c | 21 ++++++++++++++++++---
2332 1 file changed, 18 insertions(+), 3 deletions(-)
2334 commit 0a7135148a634ea6692a4edd83193870a5d526b3
2335 Author: Benjamin Otte <otte@redhat.com>
2336 Date: Sat Jul 3 02:54:08 2010 +0200
2338 gl: Add describe string
2340 boilerplate/cairo-boilerplate-glx.c | 29 +++++++++++++++++++++++++----
2341 1 file changed, 25 insertions(+), 4 deletions(-)
2343 commit a1c4b001a548611b7d77e9280fdb5a82da275830
2344 Author: Benjamin Otte <otte@redhat.com>
2345 Date: Wed Jun 30 18:27:54 2010 +0200
2347 boilerplate: Add a describe vfunc
2349 This function is supposed to describe the backend in use. The describe
2350 function is optional - and therefore initialized as NULL everywhere.
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.
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(-)
2380 commit 4c039b1cdfac5b5d6aa0c38f0779213fd14ec7de
2381 Author: Chris Wilson <chris@chris-wilson.co.uk>
2382 Date: Fri Jul 2 17:01:12 2010 +0100
2384 user-font: Check the status before destroying the context
2386 src/cairo-user-font.c | 4 ++--
2387 1 file changed, 2 insertions(+), 2 deletions(-)
2389 commit 1f84f5682c6ff246b3d28c75c8731504f31c1ee1
2390 Author: Chris Wilson <chris@chris-wilson.co.uk>
2391 Date: Fri Jul 2 13:19:17 2010 +0100
2393 xlib: Apply translation to image surface upload.
2397 Bug 28888 - cairo_paint with rgb images does not work correctly
2398 https://bugs.freedesktop.org/show_bug.cgi?id=28888
2400 src/cairo-xlib-surface.c | 13 ++++++++-----
2401 1 file changed, 8 insertions(+), 5 deletions(-)
2403 commit d2d6c96c24501d888422ea42d3c90d3c8f3647a0
2404 Author: Andrea Canciani <ranma42@gmail.com>
2405 Date: Tue Jun 29 09:58:54 2010 +0200
2407 user-font: correct handling of size 0 text
2409 Text with size 0 has a singular scale matrix, thus requires special
2410 handling to avoid invalidating the context where it is used.
2412 Fixes pthread-show-text and text-zero-len (they failed with assertion
2413 when ran using the user font backend).
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(-)
2421 commit 6db247e13c6fa61879029b335c6fa649d810c11b
2422 Author: Andrea Canciani <ranma42@gmail.com>
2423 Date: Tue Jun 29 09:28:04 2010 +0200
2425 user-font: ignore translation in scale matrix
2427 Currently the translation component of the scaled_font scale matrix
2428 is applied by gstate and only linear components should be applied in
2431 Fixes font-matrix-translation (when using user-font as font backend).
2433 src/cairo-user-font.c | 6 +++++-
2434 1 file changed, 5 insertions(+), 1 deletion(-)
2436 commit 549431e98ed0be17b80f24f0e0c167c7ad632f4f
2437 Author: Andrea Canciani <ranma42@gmail.com>
2438 Date: Mon Jun 28 22:40:28 2010 +0200
2442 src/cairo-ft-font.c | 2 +-
2443 1 file changed, 1 insertion(+), 1 deletion(-)
2445 commit 97a88c5adb08a3181bad1f63a7bbdfe5784b4207
2446 Author: Chris Wilson <chris@chris-wilson.co.uk>
2447 Date: Mon Jun 28 17:10:59 2010 +0100
2449 xlib: Compile without fontconfig
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.
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(-)
2461 commit 7d6910014310344e5d16c97ffd1f1c9fbc01b143
2462 Author: Andrea Canciani <ranma42@gmail.com>
2463 Date: Mon Jun 28 17:12:41 2010 +0200
2465 quartz: remove unused declarations
2467 src/cairo-quartz-surface.c | 17 -----------------
2468 1 file changed, 17 deletions(-)
2470 commit bd4c14b94eeb386b30439929e8e54a5d9b5d5fca
2471 Author: Andrea Canciani <ranma42@gmail.com>
2472 Date: Thu Jun 24 23:20:41 2010 +0200
2474 quartz: remove unused os version info
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.
2479 src/cairo-quartz-surface.c | 7 -------
2480 1 file changed, 7 deletions(-)
2482 commit aa7e9c43b6381930455a68258dcc3e14dce2b0e4
2483 Author: Andrea Canciani <ranma42@gmail.com>
2484 Date: Thu Jun 24 14:18:02 2010 +0200
2486 quartz-font: correct and explain matrix computations
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.
2492 src/cairo-quartz-font.c | 13 ++++++-------
2493 1 file changed, 6 insertions(+), 7 deletions(-)
2495 commit b26f72fef99e9869a62cbb8e44a82837f87cf2c6
2496 Author: Andrea Canciani <ranma42@gmail.com>
2497 Date: Thu Jun 24 22:34:36 2010 +0200
2499 quartz: check return status
2501 If the font backend is unable to tell the extents of the operation,
2502 consider it unbound.
2504 src/cairo-quartz-surface.c | 8 ++++----
2505 1 file changed, 4 insertions(+), 4 deletions(-)
2507 commit 9c0d761bfcdd28d52c83d74f46dd3c709ae0fa69
2508 Author: Andrea Canciani <ranma42@gmail.com>
2509 Date: Thu Jun 24 15:26:03 2010 +0200
2511 quartz: improve text transform handling
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
2517 src/cairo-quartz-surface.c | 46 ++++++++++++--------------------------------
2518 1 file changed, 12 insertions(+), 34 deletions(-)
2520 commit 9068b5768b8560fbf095f1c0eecb5c805232f794
2521 Author: Andrea Canciani <ranma42@gmail.com>
2522 Date: Thu Jun 24 15:15:37 2010 +0200
2524 quartz-font: silence compiler warnings
2526 Remove an unused function, explicitly ignore or check return values,
2527 don't define unused variables.
2529 src/cairo-quartz-font.c | 84 +++++++++++++++++------------------------------
2530 1 file changed, 30 insertions(+), 54 deletions(-)
2532 commit ca161a585a7ce09cfcd468ea7591c5959077a907
2533 Author: Chris Wilson <chris@chris-wilson.co.uk>
2534 Date: Sat Jun 26 14:50:57 2010 +0100
2540 cairo-version.h | 2 +-
2541 1 file changed, 1 insertion(+), 1 deletion(-)
2543 commit 0f1ff0daab7259ec16076f788760da4f35cb0cdc
2544 Author: Chris Wilson <chris@chris-wilson.co.uk>
2545 Date: Sat Jun 26 14:20:25 2010 +0100
2547 test: Missing ref image.
2549 test/Makefile.am | 1 +
2550 1 file changed, 1 insertion(+)
2552 commit 45d1f461ce2d2e3af16a5a90ffd8980bffc5eaa8
2553 Author: Chris Wilson <chris@chris-wilson.co.uk>
2554 Date: Sat Jun 26 14:17:23 2010 +0100
2558 cairo-version.h | 2 +-
2559 1 file changed, 1 insertion(+), 1 deletion(-)
2561 commit 7a68a7bfd550b5e4b6635495e7de49fe306fbad4
2562 Author: Chris Wilson <chris@chris-wilson.co.uk>
2563 Date: Sat Jun 26 14:16:27 2010 +0100
2565 NEWS for 1.9.10 snapshot
2567 NEWS | 28 ++++++++++++++++++++++++++++
2568 1 file changed, 28 insertions(+)
2570 commit 8df41361196c7ba1b8d272507cc3d523cdcf5632
2571 Author: Chris Wilson <chris@chris-wilson.co.uk>
2572 Date: Sat Jun 26 09:52:11 2010 +0100
2574 Regenerate default win32 headers.
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(-)
2581 commit 1373675ef7602363aeca0d9ec12be79719ea066d
2582 Author: Benjamin Otte <otte@redhat.com>
2583 Date: Fri Jun 25 14:10:12 2010 +0200
2585 pop-group: Translate existing path properly
2587 This fixes the reverse case of the push_group case fixed a few commits
2590 src/cairo.c | 8 +++++---
2591 1 file changed, 5 insertions(+), 3 deletions(-)
2593 commit 59076776674e3ae47099f20e1d86064fbd856008
2594 Author: Benjamin Otte <otte@redhat.com>
2595 Date: Fri Jun 25 14:08:49 2010 +0200
2597 test: improve push-group-path-offset to also catch the pop_group() case
2599 cairo_pop_group() also trasnforms the path wrong, so we use cairo_fill()
2600 to copy data instead of cairo_paint().
2602 (Also, unbust the testcase.)
2604 test/push-group-path-offset.c | 45 +++++++++++++++--------------------------
2605 1 file changed, 16 insertions(+), 29 deletions(-)
2607 commit 2e8571d95ca36f8ad9e20796990cdc0b3f763082
2608 Author: Benjamin Otte <otte@redhat.com>
2609 Date: Fri Jun 25 13:41:22 2010 +0200
2611 push-group: Fix path translation when pushing a group with device offsets
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.
2617 src/cairo.c | 5 +++--
2618 1 file changed, 3 insertions(+), 2 deletions(-)
2620 commit a9b8d1a94ea624ea8b12a125bdf70c6f248e7ca7
2621 Author: Benjamin Otte <otte@redhat.com>
2622 Date: Fri Jun 25 13:38:40 2010 +0200
2624 test: Add a new test for a bug with device-offset tests
2626 All the credit for this one goes to make distcheck
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(+)
2633 commit 1099a3515b6a69e2ff360d8e6b1df71e3ea5c213
2634 Author: Chris Wilson <chris@chris-wilson.co.uk>
2635 Date: Thu Jun 24 17:22:34 2010 +0100
2637 drm/intel: Fix common off-by-one by rewriting the [XY]MAX macro.
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.
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(-)
2648 commit fb6a00571c818c738d66bc04dc75e79491878f78
2649 Author: Chris Wilson <chris@chris-wilson.co.uk>
2650 Date: Mon Jun 14 10:19:37 2010 +0100
2652 drm: _cairo_color_get_content() compilation fixes
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(-)
2659 commit 42956b46436b9704be7619e1b61ab222923376d0
2660 Author: Zoxc <zoxc32@gmail.com>
2661 Date: Sun Jun 20 21:07:57 2010 +0000
2663 build: Added cairo deflate stream as a requirement for the script surface.
2665 src/Makefile.sources | 3 +++
2666 1 file changed, 3 insertions(+)
2668 commit b036a09972a19e63a85a4661a457525e2abe4026
2669 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
2670 Date: Thu Jun 24 14:59:18 2010 +0300
2672 whitespace: Fixup formal arguments and tabs in boilerplate/ and perf/.
2674 Ran a script to align the formal parameters of functions and
2675 collapse spaces to tabs in code.
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(-)
2721 commit 616e35d1fae703dc118ce503d25d4f57cfd16dfd
2722 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
2723 Date: Thu Jun 24 09:44:07 2010 +0300
2725 boilerplate: Remove the xlib-window target from Renderless builds.
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.
2732 boilerplate/cairo-boilerplate-xlib.c | 4 ++--
2733 1 file changed, 2 insertions(+), 2 deletions(-)
2735 commit aed744008dbaab49f28f9c54ad0850074ece5d66
2736 Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
2737 Date: Thu Jun 24 05:38:14 2010 -0400
2739 test: Fix typo in copyright statement
2741 test/bug-seams.c | 2 +-
2742 1 file changed, 1 insertion(+), 1 deletion(-)
2744 commit 5c7e1dd690af21943435676bfac320cfe863cf55
2745 Author: Soeren Sandmann <sandmann@daimi.au.dk>
2746 Date: Thu Jun 24 10:11:48 2010 +0100
2748 test: Add an example of seams.
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
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(+)
2762 commit 413ec4b708a511eb2f3866165a35d3a8d97bd326
2763 Author: Benjamin Otte <otte@redhat.com>
2764 Date: Tue Jun 22 23:19:32 2010 +0200
2766 gl: Return a surface from _cairo_surface_create_in_error()
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
2773 src/cairo-gl-surface.c | 3 ++-
2774 1 file changed, 2 insertions(+), 1 deletion(-)
2776 commit a4e292507cf7c2f960d040edd57b56a976c73da6
2777 Author: Benjamin Otte <otte@redhat.com>
2778 Date: Tue Jun 22 22:01:25 2010 +0200
2780 gl: Propagate surface creation error instead of crashing
2782 src/cairo-gl-glyphs.c | 22 ++++++++++++++++------
2783 1 file changed, 16 insertions(+), 6 deletions(-)
2785 commit faa4e6761c8f74a1acaa7ccc5bc8bb23b2f5cdb1
2786 Author: Benjamin Otte <otte@redhat.com>
2787 Date: Mon Jun 21 14:01:34 2010 +0200
2789 egl: Copy glx code to detect the proper surface in acquire
2791 src/cairo-egl-context.c | 9 +++++++++
2792 1 file changed, 9 insertions(+)
2794 commit 76a721f7e94fb040f106b200c09c1a7b9ae83d36
2795 Author: Benjamin Otte <otte@redhat.com>
2796 Date: Mon Jun 21 13:30:06 2010 +0200
2798 egl: Remove unused prev_foo usage
2800 src/cairo-egl-context.c | 7 -------
2801 1 file changed, 7 deletions(-)
2803 commit b8051ee985ed46c69f5fba1216ead1ebacecfd44
2804 Author: Chris Wilson <chris@chris-wilson.co.uk>
2805 Date: Sat Jun 19 18:09:27 2010 +0100
2807 script: Pass the buffer length back to freetype.
2809 After querying the required size, inform the backend of the allocated
2812 src/cairo-script-surface.c | 2 +-
2813 1 file changed, 1 insertion(+), 1 deletion(-)
2815 commit 8ac9a9df24eefc5f1125db87eb8eda2e94f54070
2816 Author: Chris Wilson <chris@chris-wilson.co.uk>
2817 Date: Sat Jun 19 13:23:50 2010 +0100
2819 xcb: Return the status upon flushing the device.
2821 The vfunc was updated to expect the status return, so supply it.
2823 src/cairo-xcb-connection.c | 5 +++--
2824 1 file changed, 3 insertions(+), 2 deletions(-)
2826 commit 9fffc0e120df8947c34d9e423c69ab66b763d875
2827 Author: Chris Wilson <chris@chris-wilson.co.uk>
2828 Date: Sat Jun 19 11:15:13 2010 +0100
2830 xlib: Precise and Imprecise were reversed.
2832 The intention was to switch to imprecise mode by default, using the
2833 exact rendering mode only upon request.
2835 src/cairo-xlib-surface.c | 8 ++++----
2836 1 file changed, 4 insertions(+), 4 deletions(-)
2838 commit b322b2e61984c2e9e00fb44343ebe5e423246445
2839 Author: Chris Wilson <chris@chris-wilson.co.uk>
2840 Date: Sat Jun 19 10:26:05 2010 +0100
2842 xlib: Perform image uploads inplace.
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.
2849 src/cairo-xlib-surface.c | 112 ++++++++++++++++++++++++++++++++++++++++++++++
2850 1 file changed, 112 insertions(+)
2852 commit c3eb95bf6670bbc06ef908481da95f3504c7dc4d
2853 Author: Benjamin Otte <otte@redhat.com>
2854 Date: Fri Jun 18 19:26:07 2010 +0200
2856 egl: Fail properly if no configs are available instead of crashing
2858 boilerplate/cairo-boilerplate-egl.c | 4 ++++
2859 1 file changed, 4 insertions(+)
2861 commit 3908d80f57bc0abef47721a5b8b9afd5041118e3
2862 Author: Benjamin Otte <otte@redhat.com>
2863 Date: Fri Jun 18 16:11:20 2010 +0200
2865 glx: Remove useless optimization trying to avoid glXMakeCurrent()
2867 The optimization is not performance-relevant. And having less code is
2870 src/cairo-glx-context.c | 19 ++-----------------
2871 1 file changed, 2 insertions(+), 17 deletions(-)
2873 commit 64f90322f73c37ac5667292949bb45b0279239d9
2874 Author: Benjamin Otte <otte@redhat.com>
2875 Date: Fri Jun 18 12:40:48 2010 +0200
2877 gl: Refactor status handling in _cairo_gl_context_release()
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.
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.
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(-)
2895 commit fc3d521c121da237974e486f1b7735009764b441
2896 Author: Benjamin Otte <otte@redhat.com>
2897 Date: Fri Jun 18 12:23:37 2010 +0200
2899 gl: Inline the check_error() function
2901 src/cairo-gl-private.h | 23 +++++++----------------
2902 1 file changed, 7 insertions(+), 16 deletions(-)
2904 commit 9d7fa289132650261e546b39af2371c262f46d3c
2905 Author: Benjamin Otte <otte@redhat.com>
2906 Date: Fri Jun 18 12:18:05 2010 +0200
2908 gl: Don't assert if there used to be a GL error
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.
2914 Instead just clear all previous errors so we don't accidentally set
2915 surfaces into error states to unrelated errors.
2917 src/cairo-gl-private.h | 3 ++-
2918 1 file changed, 2 insertions(+), 1 deletion(-)
2920 commit 0f9a8cd18f14b1f23aaefe14db3b5ad07c84cff7
2921 Author: Benjamin Otte <otte@redhat.com>
2922 Date: Fri Jun 18 12:17:36 2010 +0200
2924 gl: Add a custom glGetError() function
2926 This function clears all errors and returns the first one that happened.
2928 src/cairo-gl-private.h | 19 ++++++++++++++++---
2929 1 file changed, 16 insertions(+), 3 deletions(-)
2931 commit 8048d3aa0a11ab1c054887682b8b2a899a87da0e
2932 Author: Benjamin Otte <otte@redhat.com>
2933 Date: Fri Jun 18 10:50:21 2010 +0200
2935 gl: Remove custom fprintf fudging on GL errors
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
2941 src/cairo-gl-private.h | 7 +------
2942 src/cairo-gl-surface.c | 20 --------------------
2943 2 files changed, 1 insertion(+), 26 deletions(-)
2945 commit f4da5048bf87df0651ec83ca3f1ad6a5af7eb16d
2946 Author: Benjamin Otte <otte@redhat.com>
2947 Date: Fri Jun 18 10:44:15 2010 +0200
2949 gl: cairo_warn about return value from cairo_gl_context_release()
2951 src/cairo-gl-private.h | 2 +-
2952 1 file changed, 1 insertion(+), 1 deletion(-)
2954 commit d9179f480a43c7171806e2c33804aaae70a2cfa6
2955 Author: Benjamin Otte <otte@redhat.com>
2956 Date: Fri Jun 18 00:43:09 2010 +0200
2958 boilerplate: Reinstate glFinish() for wgl
2960 It was accidentally disabled.
2962 boilerplate/cairo-boilerplate-wgl.c | 2 +-
2963 1 file changed, 1 insertion(+), 1 deletion(-)
2965 commit 67e84d61230a2012c18d8bff60e8835aaa57be07
2966 Author: Kristian Høgsberg <krh@bitplanet.net>
2967 Date: Thu Jun 17 17:38:00 2010 -0400
2969 egl: Implement acquire and release for EGL backend
2971 src/cairo-egl-context.c | 46 +++++++++++++++++++++++++++++++++++++---------
2972 1 file changed, 37 insertions(+), 9 deletions(-)
2974 commit 7ab9ce1b9130dcd63b2b2b2516b77ef1ae531144
2975 Author: Chris Wilson <chris@chris-wilson.co.uk>
2976 Date: Thu Jun 17 15:47:04 2010 +0100
2978 image: Make a local copy of the trap coordinates as the boxes alias.
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.
2986 src/cairo-image-surface.c | 15 +++++++++++----
2987 1 file changed, 11 insertions(+), 4 deletions(-)
2989 commit f2645fa361003636d1da6ca38c3b61fef1b1ce4d
2990 Author: Chris Wilson <chris@chris-wilson.co.uk>
2991 Date: Thu Jun 17 15:38:53 2010 +0100
2995 Capture a bug report from "cairouser" where a1 rasterisation is now
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(+)
3006 commit 800e977c2ea1e097c4b7332b18a5fc03089603c1
3007 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
3008 Date: Thu Jun 17 14:27:13 2010 +0300
3010 perf: Allow comparing perf reports with only one difference.
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.
3016 perf/cairo-perf-diff-files.c | 2 +-
3017 1 file changed, 1 insertion(+), 1 deletion(-)
3019 commit 29b8cfd2b6cf590fcfe64e5ba5b4479c2748ac06
3020 Author: Chris Wilson <chris@chris-wilson.co.uk>
3021 Date: Thu Jun 17 10:11:31 2010 +0100
3023 test/halo: Remove copied code.
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?
3028 From 16364768d79570e7201a87f0a985c65acaff5560.
3030 Mysteries will never cease.
3032 test/halo.c | 36 ------------------------------------
3033 1 file changed, 36 deletions(-)
3035 commit a9a22649e2ffa1cd3720c8555dc3c6aff2040e3d
3036 Author: Zoxc <zoxc32@gmail.com>
3037 Date: Wed Jun 16 21:33:30 2010 +0200
3039 wgl: Only reset GL context on the dummy window.
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
3045 src/cairo-wgl-context.c | 6 ++----
3046 1 file changed, 2 insertions(+), 4 deletions(-)
3048 commit ca35e09ece5107c3ebc9f111d4a3d96d69aa3d03
3049 Author: Zoxc <zoxc32@gmail.com>
3050 Date: Mon Jun 14 20:34:52 2010 +0200
3052 gl: Added wgl boilerplate and moved the glx and egl boilerplates into their own files.
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(-)
3064 commit 2af3262895d74492a0f856f049d1524a527257bb
3065 Author: Zoxc <zoxc32@gmail.com>
3066 Date: Mon Jun 14 20:33:17 2010 +0200
3068 wgl: Renamed hwnd field to wnd.
3070 src/cairo-wgl-context.c | 12 ++++++------
3071 1 file changed, 6 insertions(+), 6 deletions(-)
3073 commit 7a023a62f7517ad0d54f4d59c99909fadcc05e82
3074 Author: Nicolaus L Helper <nlhepler@gmail.com>
3075 Date: Thu Jun 17 08:56:30 2010 +0100
3077 ft,fc,xlib: LCD filtering patch.
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.
3084 Bug 10301 - LCD filtering patch
3085 https://bugs.freedesktop.org/show_bug.cgi?id=10301
3087 Tested-by: Brandon Wright <bearoso@gmail.com>
3088 Forward-ported-by: Robert Hooker <sarvatt@gmail.cm>
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
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(-)
3102 commit 36b4b0631cc220d01c411b596a4eef839338cd7c
3103 Author: Chris Wilson <chris@chris-wilson.co.uk>
3104 Date: Thu Jun 17 08:50:31 2010 +0100
3106 image: Use consistent rounding modes for a1 rasterisation.
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.
3115 http://lists.cairographics.org/archives/cairo/2010-June/020115.html
3117 src/cairo-image-surface.c | 58 +++++++++++++++++++++++++++------------------
3118 1 file changed, 35 insertions(+), 23 deletions(-)
3120 commit 3306bcb1d91265d60c460aa64d3ee4a4acb430a1
3121 Author: Chris Wilson <chris@chris-wilson.co.uk>
3122 Date: Thu Jun 17 08:47:48 2010 +0100
3124 fixed: Refactor code to use more inlines and less duplication of logic.
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.
3129 src/cairo-fixed-private.h | 18 +++++++++++++++---
3130 1 file changed, 15 insertions(+), 3 deletions(-)
3132 commit c0dee7964c4394b7963041f246855fd3b01f4ebb
3133 Author: Chris Wilson <chris@chris-wilson.co.uk>
3134 Date: Wed Jun 16 18:49:58 2010 +0100
3136 test: Add a1-rasterisation
3138 Check the rounding criteria when rasterising.
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(+)
3147 commit 16364768d79570e7201a87f0a985c65acaff5560
3148 Author: Chris Wilson <chris@chris-wilson.co.uk>
3149 Date: Wed Jun 16 15:09:22 2010 +0100
3151 test/halo: Transformation seems key to the bug...
3153 test/halo.c | 36 ++++++++++++++++++++++++++++++++++++
3154 1 file changed, 36 insertions(+)
3156 commit cb28e0bfeb47a72f14ee42f161ebf6b5eb61e76b
3157 Author: Andrea Canciani <ranma42@gmail.com>
3158 Date: Thu Jun 17 08:42:39 2010 +0200
3160 test: correct options in getopt call
3162 'k' was missing and 't' was present but unhandled. Options have been
3163 reordered according to the "USAGE" ordering.
3165 test/cairo-test-runner.c | 2 +-
3166 1 file changed, 1 insertion(+), 1 deletion(-)
3168 commit 3cd07559328b60e3da85debb805cb4a3fc4abc22
3169 Author: Andrea Canciani <ranma42@gmail.com>
3170 Date: Wed Jun 16 22:54:08 2010 +0200
3172 correct rounding computation
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.
3180 http://lists.cairographics.org/archives/cairo/2010-June/020115.html
3182 src/cairo-fixed-private.h | 2 +-
3183 1 file changed, 1 insertion(+), 1 deletion(-)
3185 commit 8689d75caaa9c6ee42976873d21684fa9f48834f
3186 Author: Chris Wilson <chris@chris-wilson.co.uk>
3187 Date: Wed Jun 16 15:09:22 2010 +0100
3189 test/halo: Transformation seems key to the bug...
3191 Only it is actually transformation of the result that is required in
3192 order to magnify the effect to a detectable level.
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(-)
3206 commit 71936a1f414807a51c68de111362c2d5499bdfa7
3207 Author: Chris Wilson <chris@chris-wilson.co.uk>
3208 Date: Tue Jun 15 21:36:15 2010 +0100
3210 test/aliasing: Add a few more colour combinations.
3212 In particular, compare red against its inverse, cyan. Etc.
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(-)
3220 commit e2220a1f3a7b483e615f5bb993a014d20b0f788a
3221 Author: Chris Wilson <chris@chris-wilson.co.uk>
3222 Date: Tue Jun 15 11:45:54 2010 +0100
3224 configure: Try an alternate name for system glew.
3226 configure.ac | 10 ++++++----
3227 1 file changed, 6 insertions(+), 4 deletions(-)
3229 commit 25ec0c1e9b5af2ba68200b79b252de5c1b371d0a
3230 Author: Chris Wilson <chris@chris-wilson.co.uk>
3231 Date: Tue Jun 15 10:59:01 2010 +0100
3233 build: Enable system GLEW on non-UNIX platforms
3235 configure.ac | 12 +++++++++---
3236 1 file changed, 9 insertions(+), 3 deletions(-)
3238 commit 52624446636bb5941ca2180afa2c0be275414cec
3239 Author: Chris Wilson <chris@chris-wilson.co.uk>
3240 Date: Tue Jun 15 10:40:36 2010 +0100
3244 src/glew/glew.c | 4 ++++
3245 1 file changed, 4 insertions(+)
3247 commit 56d06b088b9c355ca76a38191717a8e03aa5f59a
3248 Author: Chris Wilson <chris@chris-wilson.co.uk>
3249 Date: Mon Jun 14 22:58:38 2010 +0100
3251 test: Add an aliasing test case.
3253 Just a simple test in drawing neighbouring edges and looking for the
3254 effects of aliasing.
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(+)
3264 commit 4b39f02bf7e8b4921518db4a2d8564514cb323a9
3265 Author: Chris Wilson <chris@chris-wilson.co.uk>
3266 Date: Mon Jun 14 20:38:26 2010 +0100
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.
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(+)
3283 commit 072a200ec502bf5ac3e62702e6f14ed18171b1e0
3284 Author: Chris Wilson <chris@chris-wilson.co.uk>
3285 Date: Mon Jun 14 16:05:14 2010 +0100
3287 build: Add wgl to Makefile.sources and regenerate features.
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(-)
3296 commit 4a0bd91ff77c8afddde6d09495bc9ca7242f953d
3297 Author: Dmitri Vorobiev <dmitri.vorobiev@movial.com>
3298 Date: Mon Jun 14 16:40:39 2010 +0300
3300 scaled-font: fine-tune caching
3302 This patch implements the ideas outlined by Behdad Esfahbod in the following
3303 mailing list message:
3305 http://lists.cairographics.org/archives/cairo/2010-June/020065.html
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.
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.
3317 Below is a table presenting benchmark results for different values of LUT
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 ===============================================================================
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
3348 The benchmark itself can be found from this mailing list message:
3350 http://lists.cairographics.org/archives/cairo/2010-June/020064.html
3352 src/cairo-scaled-font.c | 61 ++++++++++++++++++++++++++++++++++-------------
3353 1 file changed, 45 insertions(+), 16 deletions(-)
3355 commit 505a0456d2498112155db7e7f275a14dc98f643e
3356 Author: Zoxc <zoxc32@gmail.com>
3357 Date: Mon Jun 14 01:20:54 2010 +0200
3359 gl: Added WGL context and surface.
3361 build/configure.ac.features | 1 +
3363 src/cairo-gl.h | 16 +++
3364 src/cairo-wgl-context.c | 253 +++++++++++++++++++++++++++++++++++++++++++
3365 4 files changed, 279 insertions(+)
3367 commit fd6c38b9e006feefa20ce4f54d3108dad51c828d
3368 Author: Zoxc <zoxc32@gmail.com>
3369 Date: Mon Jun 14 01:04:10 2010 +0200
3371 win32: Fixed compile errors in Windows backend.
3373 src/cairo-win32-printing-surface.c | 9 ++++-----
3374 src/cairo-win32-surface.c | 4 ++--
3375 2 files changed, 6 insertions(+), 7 deletions(-)
3377 commit 5f10139cd92383c657e328ffad41874c4f668551
3378 Author: Chris Wilson <chris@chris-wilson.co.uk>
3379 Date: Sun Jun 13 12:33:10 2010 +0100
3381 NEWS: A couple more tweaks
3383 I only spotted these in the release announcement.
3386 1 file changed, 3 insertions(+), 3 deletions(-)
3388 commit 4932aaa3173799c8f3ac30e4c9a594c20c83a121
3389 Author: Chris Wilson <chris@chris-wilson.co.uk>
3390 Date: Sun Jun 13 12:02:53 2010 +0100
3396 cairo-version.h | 2 +-
3397 1 file changed, 1 insertion(+), 1 deletion(-)
3399 commit 3a20b10cd0d94406fbd5fe3bb3d4820a95364537
3400 Author: Chris Wilson <chris@chris-wilson.co.uk>
3401 Date: Sun Jun 13 10:27:03 2010 +0100
3407 cairo-version.h | 2 +-
3408 1 file changed, 1 insertion(+), 1 deletion(-)
3410 commit b612a230865a1a62f9cdcb051de9b57b509646b2
3411 Author: Andrea Canciani <ranma42@gmail.com>
3412 Date: Sun Jun 13 12:29:24 2010 +0200
3414 test: update quartz ref images in makefile
3416 test/Makefile.am | 143 +++++++++++++++++++++++++++++++++++++++++-------------
3417 1 file changed, 109 insertions(+), 34 deletions(-)
3419 commit 0693af2328606a4c7e4c888d2a1cd346e6bef405
3420 Author: Chris Wilson <chris@chris-wilson.co.uk>
3421 Date: Sun Jun 13 10:22:37 2010 +0100
3423 test: Move all output below test/output/
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.
3429 test/cairo-test.c | 53 +++++++++++++++++++++++++-------------------
3430 test/fallback-resolution.c | 30 +++++++++++++++++++++----
3431 2 files changed, 56 insertions(+), 27 deletions(-)
3433 commit ffc3a39c95e918fa2fcd14c1b1063b9a9acceebf
3434 Author: Chris Wilson <chris@chris-wilson.co.uk>
3435 Date: Sat Jun 12 20:04:36 2010 +0100
3439 NEWS | 46 +++++++++++++++++++++++-----------------------
3440 1 file changed, 23 insertions(+), 23 deletions(-)
3442 commit b6e16b8d2950cdadf2e2b14b0e7502d4a9ebdc09
3443 Author: Andrea Canciani <ranma42@gmail.com>
3444 Date: Sat Jun 12 10:33:35 2010 +0200
3446 test: quartz ref image refresh
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(-)
3625 commit 0d5a15f23812575c80db44ca23075293cc0dbfad
3626 Author: Chris Wilson <chris@chris-wilson.co.uk>
3627 Date: Sat Jun 12 20:00:24 2010 +0100
3629 check: Disable running cairo-perf-micro
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!
3635 perf/Makefile.am | 15 ++++-----------
3636 1 file changed, 4 insertions(+), 11 deletions(-)
3638 commit e9fb39daee9ef3f80e4aedbda68027b36ce94fe3
3639 Author: Chris Wilson <chris@chris-wilson.co.uk>
3640 Date: Sat Jun 12 19:40:42 2010 +0100
3644 NEWS | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
3645 1 file changed, 75 insertions(+), 6 deletions(-)
3647 commit 62899e5e23a798bb3e9b60c9e793555e973b7823
3648 Author: Chris Wilson <chris@chris-wilson.co.uk>
3649 Date: Sat Jun 12 18:51:31 2010 +0100
3651 NEWS: Boring stub for 1.9.10.
3653 NEWS | 19 +++++++++++++++++++
3654 1 file changed, 19 insertions(+)
3656 commit fc372b1d9dea1ed4cb4229eaaad62a2d8e112a03
3657 Author: Chris Wilson <chris@chris-wilson.co.uk>
3658 Date: Sat Jun 12 16:50:30 2010 +0100
3660 test: Missing ref images
3662 test/Makefile.am | 8 ++++----
3663 test/coverage-triangles.xlib.xfail.png | Bin 0 -> 15859 bytes
3664 2 files changed, 4 insertions(+), 4 deletions(-)
3666 commit 8737bc8b17ff0c437bb57df018bb7c540a394a7c
3667 Author: Chris Wilson <chris@chris-wilson.co.uk>
3668 Date: Sat Jun 12 16:49:46 2010 +0100
3670 gl: start returning the failure status aftern an invalid GL op.
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(-)
3679 commit 5b2f90bf532184e46829de4b2e2f9d0b10c1ff81
3680 Author: Chris Wilson <chris@chris-wilson.co.uk>
3681 Date: Sat Jun 12 16:49:11 2010 +0100
3683 test: Forgotten ref image.
3685 test/clipped-group.xlib-fallback.ref.png | Bin 0 -> 344 bytes
3686 1 file changed, 0 insertions(+), 0 deletions(-)
3688 commit cdd6f11716e3fbe579d68161caec220c7852fdff
3689 Author: Chris Wilson <chris@chris-wilson.co.uk>
3690 Date: Sat Jun 12 15:44:29 2010 +0100
3692 test: Record the expected failure mode for partial-coverage-intersecting-quads
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.
3697 test/Makefile.am | 1 +
3698 test/partial-coverage-intersecting-quads.xfail.png | Bin 0 -> 262 bytes
3699 2 files changed, 1 insertion(+)
3701 commit 3d72b4aa70d106b5da093e6405c7e3890fa343cf
3702 Author: Chris Wilson <chris@chris-wilson.co.uk>
3703 Date: Sat Jun 12 15:32:31 2010 +0100
3705 test/coverage: The comment was still wrong.
3707 Writing comments is hard. I give in.
3709 test/coverage.c | 2 +-
3710 1 file changed, 1 insertion(+), 1 deletion(-)
3712 commit e6d1b3a8ce0b516aed7715b57d9ca5ab4fad6c2f
3713 Author: Andrea Canciani <ranma42@gmail.com>
3714 Date: Sat Jun 12 16:22:54 2010 +0200
3716 test: update font family name
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
3722 test/README | 10 +++++-----
3723 test/cairo-test.h | 2 +-
3724 2 files changed, 6 insertions(+), 6 deletions(-)
3726 commit 3cb882d01b53cb3cec9be62d678dd4ef7ea2c1fd
3727 Author: Andrea Canciani <ranma42@gmail.com>
3728 Date: Sat Jun 12 16:20:37 2010 +0200
3730 test: make test font family a define
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
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 +-
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(-)
3773 commit b1e4df928fb59ee295830d5c0fa26330714f88f2
3774 Author: Chris Wilson <chris@chris-wilson.co.uk>
3775 Date: Sat Jun 12 15:28:28 2010 +0100
3777 test/coverage: Refine comments
3779 Joonas didn't like me putting incorrect labels in my comments. Said they
3780 were misleading and worse than useless. Harsh.
3782 test/coverage.c | 20 +++++++++++++-------
3783 1 file changed, 13 insertions(+), 7 deletions(-)
3785 commit 968374b6335199cbf02c8c4733537388da2a45f5
3786 Author: Chris Wilson <chris@chris-wilson.co.uk>
3787 Date: Sat Jun 12 15:14:17 2010 +0100
3789 test/coverage: Add a comment describing the column_triangle geometry()
3791 test/coverage.c | 20 ++++++++++++++++++++
3792 1 file changed, 20 insertions(+)
3794 commit 299263f8c912d3468d51ed22bcb6ab96275709f0
3795 Author: Chris Wilson <chris@chris-wilson.co.uk>
3796 Date: Sat Jun 12 13:48:12 2010 +0100
3798 test: Disable tests that are too slow to run by default.
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
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(-)
3811 commit 53139261c7ba1a4cc0b869cb48c136b0362a3b0c
3812 Author: Chris Wilson <chris@chris-wilson.co.uk>
3813 Date: Sat Jun 12 13:40:17 2010 +0100
3815 test: Use exact matching on test names by default.
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.
3821 test/cairo-test-runner.c | 45 ++++++++++++++++++++++-----------------------
3822 1 file changed, 22 insertions(+), 23 deletions(-)
3824 commit 97288b0859bae6cea1e3bff84b632e00f1d10917
3825 Author: Chris Wilson <chris@chris-wilson.co.uk>
3826 Date: Sat Jun 12 13:34:27 2010 +0100
3828 test: More minute geometry exercised by partial-coverage.
3830 Moving beyond the capabilities of cairo...
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(+)
3838 commit 4e3ef57bc892b0b046c486390adc7164a1de64de
3839 Author: Chris Wilson <chris@chris-wilson.co.uk>
3840 Date: Sat Jun 12 13:18:42 2010 +0100
3842 test: More coverage coverage.
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.
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(-)
3860 commit 9b7cc7641b691a3b9e3d5edd51053c9a095d9c5a
3861 Author: Chris Wilson <chris@chris-wilson.co.uk>
3862 Date: Sat Jun 12 10:41:09 2010 +0100
3864 cairo: Create error objects for cairo_t
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.
3874 Fixes crash in test/a8-mask introduced by 1a544361e845.
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(-)
3882 commit 9b6617a3b3b31d52e6646400b16ec56c754bfebd
3883 Author: Chris Wilson <chris@chris-wilson.co.uk>
3884 Date: Fri Jun 11 21:58:34 2010 +0100
3886 image: Apply component alpha to composite masks.
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.
3891 Fixes test/text-antialias-subpixel on xlib-fallback -- i.e. we will
3892 finally render subpixel antialiased text on ancient XServers.
3894 src/cairo-image-surface.c | 40 ++++++++++++++++++++++++----------------
3895 1 file changed, 24 insertions(+), 16 deletions(-)
3897 commit 7440fc07f77b112b00957f5459129dba23a5683f
3898 Author: Chris Wilson <chris@chris-wilson.co.uk>
3899 Date: Fri Jun 11 21:29:02 2010 +0100
3901 test: xlib ref image refresh
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(-)
3940 commit a049889c64131b170b66ed8906309f6adee80fa5
3941 Author: Chris Wilson <chris@chris-wilson.co.uk>
3942 Date: Fri Jun 11 21:26:26 2010 +0100
3944 pattern: Remove incorrect optimisations from _cairo_pattern_aquire_surface()
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.
3950 Fixes test/radial-gradient-extend [xlib-fallback]
3952 src/cairo-pattern.c | 110 ++++++++-------------------------------------------
3953 1 file changed, 17 insertions(+), 93 deletions(-)
3955 commit 00bc1d1578dc2640db64315270b00073697fb9fa
3956 Author: Chris Wilson <chris@chris-wilson.co.uk>
3957 Date: Fri Jun 11 20:31:29 2010 +0100
3959 pattern: Remove extraordinary _cairo_pattern_fini_snapshot().
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
3967 Fixes test/smask-image-mask and similar.
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(-)
3974 commit 1098e203dc21529f138bfabfa7558f61b8427ea0
3975 Author: Chris Wilson <chris@chris-wilson.co.uk>
3976 Date: Fri Jun 11 18:07:28 2010 +0100
3978 test: pdf ref image refresh
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(+)
3997 commit 1c91d019c54afde0edb022312491b086588ce6c4
3998 Author: Chris Wilson <chris@chris-wilson.co.uk>
3999 Date: Fri Jun 11 17:47:08 2010 +0100
4001 test: ps ref image refresh.
4003 Update to gs-8.71 and some additional reference images for the new tests.
4005 test/Makefile.am | 116 +++++++++++---------
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(-)
4162 commit 1a544361e845e4881990624a597f9dc2b82d1c73
4163 Author: Chris Wilson <chris@chris-wilson.co.uk>
4164 Date: Fri Jun 11 16:04:41 2010 +0100
4166 gstate: Update cached matrix state after device transform changes on the target
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.
4176 Fixes test/clip-device-offset.
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(-)
4188 commit f74b11415a1f7682dd50c222baa8815ef93681dc
4189 Author: Chris Wilson <chris@chris-wilson.co.uk>
4190 Date: Fri Jun 11 14:06:15 2010 +0100
4192 test: Use a group to render PDF correctly using poppler.
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.
4201 test/any2ppm.c | 9 ++++++---
4202 test/pdf2png.c | 9 ++++++---
4203 2 files changed, 12 insertions(+), 6 deletions(-)
4205 commit 7f227ec8d3f981dbbf2ca1914bf7fd29d9cdfd05
4206 Author: Chris Wilson <chris@chris-wilson.co.uk>
4207 Date: Fri Jun 11 12:54:15 2010 +0100
4209 Revert "test/pdf2png: Don't use DEST_OVER as poppler starts using subpixel text."
4211 This reverts commit 506b2ebe714d61a64972b607a42a55e48d1c722a.
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.
4217 test/any2ppm.c | 9 +++++----
4218 test/pdf2png.c | 10 +++++-----
4219 2 files changed, 10 insertions(+), 9 deletions(-)
4221 commit c761e0c5bb55e8869521ad5b4a2447ea9abcb4d1
4222 Author: Chris Wilson <chris@chris-wilson.co.uk>
4223 Date: Fri Jun 11 12:40:36 2010 +0100
4225 test: Restrict the coverage tests to raster targets.
4227 Typo inside the requirements failed to prevent the tests running on the
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(-)
4235 commit b49c944fe4abb9f3c70fac02a71061bf8d07259a
4236 Author: Chris Wilson <chris@chris-wilson.co.uk>
4237 Date: Fri Jun 11 12:38:17 2010 +0100
4239 test: Add a convenience script to disable the screensaver when testing
4241 If the screensaver activates, it can cause failures when attempting to
4242 render into an xlib window, so inhibit if we know how.
4244 test/Makefile.am | 2 +-
4245 test/run-cairo-test-suite.sh | 18 ++++++++++++++++++
4246 2 files changed, 19 insertions(+), 1 deletion(-)
4248 commit 4e4724d48c63d0cd4ec507ce72dcc55fb6e5f584
4249 Author: Chris Wilson <chris@chris-wilson.co.uk>
4250 Date: Fri Jun 11 12:19:56 2010 +0100
4252 gl: make check insists "cairoint.h" is first.
4254 src/cairo-gl-gradient.c | 5 ++---
4255 1 file changed, 2 insertions(+), 3 deletions(-)
4257 commit 4edbcf1b1d046c9c626a0c0ad10d3c71f17984f2
4258 Author: Chris Wilson <chris@chris-wilson.co.uk>
4259 Date: Fri Jun 11 12:17:19 2010 +0100
4261 color: Mark _cairo_color_get_content() as private.
4263 src/cairoint.h | 2 +-
4264 1 file changed, 1 insertion(+), 1 deletion(-)
4266 commit 506b2ebe714d61a64972b607a42a55e48d1c722a
4267 Author: Chris Wilson <chris@chris-wilson.co.uk>
4268 Date: Fri Jun 11 12:04:39 2010 +0100
4270 test/pdf2png: Don't use DEST_OVER as poppler starts using subpixel text.
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
4277 test/any2ppm.c | 9 ++++-----
4278 test/pdf2png.c | 10 +++++-----
4279 2 files changed, 9 insertions(+), 10 deletions(-)
4281 commit edb73b6dcf1adce40d6c10c492e3f78556e22b85
4282 Author: Chris Wilson <chris@chris-wilson.co.uk>
4283 Date: Fri Jun 11 11:16:42 2010 +0100
4285 xlib: Adjust trapezoid precision based on antialias.
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.
4294 src/cairo-xlib-surface-private.h | 1 +
4295 src/cairo-xlib-surface.c | 31 +++++++++++++++++++++++++++++++
4296 2 files changed, 32 insertions(+)
4298 commit 290749bdb5c634c030db81722214661c34344403
4299 Author: Chris Wilson <chris@chris-wilson.co.uk>
4300 Date: Fri Jun 11 10:59:17 2010 +0100
4302 polygon: Reorder conditionals based on likelihood.
4304 The vast majority of edges will be unclipped, so process those first.
4306 src/cairo-polygon.c | 30 +++++++++++++++---------------
4307 1 file changed, 15 insertions(+), 15 deletions(-)
4309 commit 55037bfb2454a671332d961e061c712ab5471580
4310 Author: Karl Tomlinson <karlt+@karlt.net>
4311 Date: Fri Jun 11 10:35:43 2010 +0100
4313 xlib: Find matching Visual for XRenderFormat
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.
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
4325 Mozilla Bug 567065 - Try to create offscreen Xlib surface from existing
4327 https://bugzilla.mozilla.org/show_bug.cgi?id=567065
4329 Mozilla Bug 445250 - cairo_draw_with_xlib should provide a non-NULL visual
4331 https://bugzilla.mozilla.org/show_bug.cgi?id=445250
4333 Reported-by: Oleg Romashin <romaxa@gmail.com>
4335 src/cairo-xlib-surface.c | 74 ++++++++++++++++++++++++++++++++++++++++------
4336 1 file changed, 65 insertions(+), 9 deletions(-)
4338 commit cf426bce8ebd3aff5d50c6a54bbd731132b3d312
4339 Author: Chris Wilson <chris@chris-wilson.co.uk>
4340 Date: Fri Jun 11 10:05:09 2010 +0100
4342 test: Add a simple coverage test.
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.
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(+)
4356 commit bd3d9ef3d1dbc5364e79e6afb47d9e124cb61ca4
4357 Author: Chris Wilson <chris@chris-wilson.co.uk>
4358 Date: Fri Jun 11 09:12:16 2010 +0100
4360 test: Distinguish tests that throw an error from a normal fail.
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.
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(-)
4372 commit eeafeebd2ec8ad8a9e7053aaaa0f845b58563b3b
4373 Author: Chris Wilson <chris@chris-wilson.co.uk>
4374 Date: Fri Jun 11 09:06:20 2010 +0100
4376 path: Exponentially grow buffer based on populated points and ops.
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
4384 src/cairo-path-fixed-private.h | 3 ++-
4385 src/cairo-path-fixed.c | 39 +++++++++++++++++++--------------------
4386 2 files changed, 21 insertions(+), 21 deletions(-)
4388 commit b0056a86b4f6c92fa7eb89baf8483a46979c8cf1
4389 Author: Chris Wilson <chris@chris-wilson.co.uk>
4390 Date: Thu Jun 10 18:27:22 2010 +0100
4392 test: Exercise partial coverage some more.
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.
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(-)
4406 commit 836f6166597eaa687b10e5f26fe71e099c434aa1
4407 Author: Andrea Canciani <ranma42@gmail.com>
4408 Date: Wed Jun 9 19:09:22 2010 +0200
4410 gl: support single stop gradients
4412 src/cairo-gl-gradient-private.h | 2 +-
4413 src/cairo-gl-gradient.c | 3 +--
4414 2 files changed, 2 insertions(+), 3 deletions(-)
4416 commit d17e2c5e23eac302b7463a08205088147da1172a
4417 Author: Andrea Canciani <ranma42@gmail.com>
4418 Date: Thu Jun 10 10:52:16 2010 +0200
4420 ps: support single stop gradients
4422 src/cairo-ps-surface.c | 9 ++++-----
4423 1 file changed, 4 insertions(+), 5 deletions(-)
4425 commit eb7fc351156bd66921ac3b3ffbd1fba6ba743ffb
4426 Author: Andrea Canciani <ranma42@gmail.com>
4427 Date: Thu Jun 10 10:51:50 2010 +0200
4429 pdf: support single stop gradients
4431 src/cairo-pdf-surface.c | 6 +++---
4432 1 file changed, 3 insertions(+), 3 deletions(-)
4434 commit e2660a0eac5f6081bf052db16b8bd85c814d19d8
4435 Author: Andrea Canciani <ranma42@gmail.com>
4436 Date: Wed Jun 9 16:59:29 2010 +0200
4438 pattern: improve single stop gradients handling
4440 None-extended single stop gradients are now explicitly made clear.
4442 src/cairo-pattern.c | 9 ++++++++-
4443 1 file changed, 8 insertions(+), 1 deletion(-)
4445 commit 7a024bc206aae790c7357be83474126037335ab1
4446 Author: Andrea Canciani <ranma42@gmail.com>
4447 Date: Wed Jun 9 17:59:47 2010 +0200
4449 test: exercise ps crash with single stop gradients
4451 PS crashes only when using the source operator, as it will otherwise
4452 fallback to rasterization of the gradients.
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(-)
4464 commit a0f8cfe64660c0043db15f9b9cbf1298bf1838d1
4465 Author: Andrea Canciani <ranma42@gmail.com>
4466 Date: Tue Jun 8 17:04:00 2010 +0200
4468 pattern: improve degenerate gradients handling
4470 Degenerate radial gradients are now considered clear.
4472 src/cairo-pattern.c | 35 +++++++++++++++++++++++++----------
4473 1 file changed, 25 insertions(+), 10 deletions(-)
4475 commit bccd89b4177b5f5bd05def9bee5f0927a9f25e4a
4476 Author: Andrea Canciani <ranma42@gmail.com>
4477 Date: Tue Jun 8 15:45:09 2010 +0200
4479 gstate: correct optimizations
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.
4485 Fixes linear-gradient-extend, radial-gradient-extend.
4487 src/cairo-gstate.c | 85 +++++++++++-----------------------------------------
4488 1 file changed, 17 insertions(+), 68 deletions(-)
4490 commit 06c6207ad4205f211be70e324c6d32ea7d28dca8
4491 Author: Andrea Canciani <ranma42@gmail.com>
4492 Date: Tue Jun 1 19:40:14 2010 +0200
4494 pattern: add gradient_is_solid function
4496 It contains in a single place the logic needed to check if a gradient
4497 pattern is solid (within a specified region).
4499 src/cairo-pattern.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++
4500 src/cairoint.h | 5 +++++
4501 2 files changed, 58 insertions(+)
4503 commit 561625ee3bd2732457eaaf28937edf557ee7661d
4504 Author: Andrea Canciani <ranma42@gmail.com>
4505 Date: Tue Jun 1 19:39:02 2010 +0200
4507 pattern: improve clear/opaque check functions
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.
4512 src/cairo-pattern.c | 112 +++++++++++++++++++++++++++++++++++++++++++++++----
4513 src/cairoint.h | 4 ++
4514 2 files changed, 108 insertions(+), 8 deletions(-)
4516 commit baaf312e047a9bea6f54e63cd6534c2ed7448523
4517 Author: Andrea Canciani <ranma42@gmail.com>
4518 Date: Mon Apr 19 09:53:00 2010 +0200
4520 pattern: remove content field from solid patterns
4522 The content field in solid patterns had ill-defined semantic (or no
4523 semantic at all), thus it can be removed.
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(-)
4537 commit 7461947eb1a5f002a5931303843a5a2deca0e383
4538 Author: Andrea Canciani <ranma42@gmail.com>
4539 Date: Mon Apr 19 09:51:26 2010 +0200
4541 surface: remove content argument from is_similar
4543 The content argument was basically unuses.
4545 Xlib change extracted from ickle's wip/compositor branch.
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(-)
4555 commit ef5f9b5c61750207947587173d21b46e2d299f33
4556 Author: Chris Wilson <chris@chris-wilson.co.uk>
4557 Date: Thu Jun 10 14:13:53 2010 +0100
4559 test: Update partial coverage.
4561 Gah, no wonder the output looked wrong for the triangles, they only
4562 covered half the pixel. So separate triangles into two cases.
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(-)
4570 commit 8d67186cb291cb877e52b987e2ac18c2a1175a57
4571 Author: Chris Wilson <chris@chris-wilson.co.uk>
4572 Date: Thu Jun 10 11:36:58 2010 +0100
4574 gstate: Track whether the combination of ctm * device is identity.
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.
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(-)
4586 commit 1349728d1ef63ed562a3fd0ee3c0a89aaba77616
4587 Author: Chris Wilson <chris@chris-wilson.co.uk>
4588 Date: Thu Jun 10 11:26:12 2010 +0100
4590 test: Add partial coverage.
4592 Another experiment in measuring consistency of rasterisation stratagems
4593 across the backends.
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(+)
4603 commit 486118361ad0c2e68fa9f6b44ddb10e84d237eca
4604 Author: Chris Wilson <chris@chris-wilson.co.uk>
4605 Date: Thu Jun 10 11:28:26 2010 +0100
4607 test: Fix half-coverage colouration.
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
4614 And incorporate the notes made by Joonas.
4616 test/half-coverage.c | 28 +++++++++++++++++++++++++++-
4617 1 file changed, 27 insertions(+), 1 deletion(-)
4619 commit 5cb764850f7c405085739647bac2809045e7cdf3
4620 Author: Dmitri Vorobiev <dmitri.vorobiev@movial.com>
4621 Date: Wed Jun 9 19:20:27 2010 +0300
4623 scaled-font: optimize cairo_scaled_font_text_to_glyphs()
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.
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.
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.
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
4652 After (note that cairo_scaled_font_text_to_glyphs_internal_single() was inlined):
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
4676 [ickle: slightly amended for stylistic consistency.]
4678 src/cairo-scaled-font.c | 168 ++++++++++++++++++++++++++++++++---------------
4679 1 file changed, 114 insertions(+), 54 deletions(-)
4681 commit c43399fa68696aa62599fb71752850dd46c15c82
4682 Author: Andrea Canciani <ranma42@gmail.com>
4683 Date: Wed Jun 9 17:53:09 2010 +0200
4685 gl: fix compilation on MacOS X
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
4691 src/glew/GL/glew.h | 3 ++-
4692 1 file changed, 2 insertions(+), 1 deletion(-)
4694 commit 6eb5f859f1d38783dc43541e7e87b0c5f91691d8
4695 Author: Chris Wilson <chris@chris-wilson.co.uk>
4696 Date: Wed Jun 9 10:40:32 2010 +0100
4698 bo: And disable DEBUG_TRAPS again.
4700 Meh. I'm going back to bed. Thanks Joonas for catching this.
4702 src/cairo-bentley-ottmann.c | 2 +-
4703 1 file changed, 1 insertion(+), 1 deletion(-)
4705 commit 85af0ec37456b4eb47c39326b24370a9ccc43092
4706 Author: Chris Wilson <chris@chris-wilson.co.uk>
4707 Date: Wed Jun 9 10:33:29 2010 +0100
4709 test: Add half-coverage to exercise the rasteriser with subpixel geometry.
4711 test/Makefile.sources | 1 +
4712 test/half-coverage.c | 129 +++++++++++++++++++++++++++++++++++++++++++++++++
4713 2 files changed, 130 insertions(+)
4715 commit 56c081bdc6d29df932e6993109586ff275d8de12
4716 Author: Chris Wilson <chris@chris-wilson.co.uk>
4717 Date: Wed Jun 9 10:33:01 2010 +0100
4719 bo: Fix debugging for changes in internal traps api.
4721 src/cairo-bentley-ottmann.c | 10 +++++++---
4722 1 file changed, 7 insertions(+), 3 deletions(-)
4724 commit a946d39555136adc4eff3b68a62ba37f6d9a6299
4725 Author: Benjamin Otte <otte@redhat.com>
4726 Date: Tue Jun 8 21:09:51 2010 +0200
4728 gl: Add support for clip regions to the span renderer
4730 Clip surface support is still missing, but i suppose that'd need a tiny
4733 src/cairo-gl-surface.c | 16 +++++++++++++---
4734 1 file changed, 13 insertions(+), 3 deletions(-)
4736 commit f61b3f25aff454800a9d6013012d41633139d896
4737 Author: Benjamin Otte <otte@redhat.com>
4738 Date: Tue Jun 8 12:03:36 2010 +0200
4740 gl: Add an assertion that we always have a texture
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
4746 src/cairo-gl-composite.c | 1 +
4747 1 file changed, 1 insertion(+)
4749 commit c6c9a24a1df1826cab78bd8ef1c5a1074bafa0d7
4750 Author: Benjamin Otte <otte@redhat.com>
4751 Date: Tue Jun 8 04:11:33 2010 +0200
4753 gl: Use CAIRO_COLOR_BLACK
4755 ... instead of creating black on our own - and wrong, too.
4757 src/cairo-gl-surface.c | 8 +-------
4758 1 file changed, 1 insertion(+), 7 deletions(-)
4760 commit 19bc6793d1d9b209d5a03a727288504b1e71f7c4
4761 Author: Benjamin Otte <otte@redhat.com>
4762 Date: Tue Jun 8 04:00:02 2010 +0200
4764 gl: Only clone texture surfaces
4766 Using non-texture surfaces as source or mask will fail, so we need to
4768 Caught by the subsurface-modify-child test.
4770 src/cairo-gl-surface.c | 4 +++-
4771 1 file changed, 3 insertions(+), 1 deletion(-)
4773 commit 44483d843e4fe1f5db5cf213f76913d683265bb4
4774 Author: Benjamin Otte <otte@redhat.com>
4775 Date: Tue Jun 8 03:59:10 2010 +0200
4777 gl: Fix argument order
4781 src/cairo-gl-surface.c | 4 ++--
4782 1 file changed, 2 insertions(+), 2 deletions(-)
4784 commit 72bf1a536775138d79787729994ec9cfe2193be7
4785 Author: Benjamin Otte <otte@redhat.com>
4786 Date: Tue Jun 8 01:50:12 2010 +0200
4788 Update my copyright notices to preferred version
4790 No more copyright headers containing my name.
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(-)
4801 commit 10d95c7020ca94903d474beb9c8ede89c186cbe3
4802 Author: Andrea Canciani <ranma42@gmail.com>
4803 Date: Tue Jun 8 20:48:25 2010 +0200
4805 test: add/update reference images
4807 Add missing reference images and update one-stop references according
4808 to current subset policy (outside the defined range, the gradient
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(-)
4817 commit dd0f8872711d9896416cca2027f578f7d58d228f
4818 Author: Andrea Canciani <ranma42@gmail.com>
4819 Date: Mon Jun 7 17:34:12 2010 +0200
4823 test/linear-gradient-extend.c | 2 +-
4824 1 file changed, 1 insertion(+), 1 deletion(-)
4826 commit 9b88b5dce5327cbd13ea05de949c502fe41f91f7
4827 Author: Andrea Canciani <ranma42@gmail.com>
4828 Date: Tue Jun 8 10:45:06 2010 +0200
4830 test: add degenerate gradient and single stop tests
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.
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(-)
4846 commit 7d8359721b581845260c0442a174e48b061484a7
4847 Author: Benjamin Otte <otte@redhat.com>
4848 Date: Mon Jun 7 16:46:46 2010 +0200
4850 gl: Fix span renderer doing bad stuff for CLEAR and SOURCE
4852 SOURCE will fallback now, CLEAR is identical to DEST_OUT with white.
4854 src/cairo-gl-surface.c | 7 +++++++
4855 1 file changed, 7 insertions(+)
4857 commit ef8fd1355ea03b8566ef31642b32133d3543e4e8
4858 Author: Benjamin Otte <otte@redhat.com>
4859 Date: Mon Jun 7 15:03:37 2010 +0200
4861 gl: Fix span renderer for unbounded spans
4863 The span renderer used to not output rects for the top and bottom rows
4864 when they didn't contain any spans.
4866 src/cairo-gl-surface.c | 72 ++++++++++++++++++++++++++++++++----------------
4867 1 file changed, 49 insertions(+), 23 deletions(-)
4869 commit 1d11af083f5368c88032a33ff40d0e21c139db18
4870 Author: Benjamin Otte <otte@redhat.com>
4871 Date: Sat Jun 5 15:22:44 2010 +0200
4873 gl: Add a simple spans renderer for stroke/fill
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.
4879 Still, there are no performance regressions in the benchmark traces and
4880 firefox-talos-svg and swfdec-giant-steps both got ~15% faster.
4882 src/cairo-gl-surface.c | 178 +++++++++++++++++++++++++++++++++++++++++++++++-
4883 1 file changed, 175 insertions(+), 3 deletions(-)
4885 commit 550335efeddf813c1bec493513254fdbd34a9ace
4886 Author: Benjamin Otte <otte@redhat.com>
4887 Date: Sat Jun 5 15:19:44 2010 +0200
4889 Remove _cairo_surface_composite_trapezoids_as_polygon()
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.
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(-)
4901 commit 1e003fce8f7239aaf4608747d63287e0c715ee51
4902 Author: Benjamin Otte <otte@redhat.com>
4903 Date: Sat Jun 5 14:58:32 2010 +0200
4905 gl: Fix vertex size changes not causing updates of the operands
4907 Check vertex size stays identical when setting up vertices.
4909 src/cairo-gl-composite.c | 17 ++++++++++-------
4910 1 file changed, 10 insertions(+), 7 deletions(-)
4912 commit 39143400ddd0d4e63a72ce91c423f764e466e405
4913 Author: Benjamin Otte <otte@redhat.com>
4914 Date: Fri Jun 4 12:25:52 2010 +0200
4916 gl: Add a gradient texture cache
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:
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(-)
4930 commit 932ab2641ea3183171c3b5699c96c4709fc6bd49
4931 Author: Benjamin Otte <otte@redhat.com>
4932 Date: Thu Jun 3 18:54:18 2010 +0200
4934 device: flush before setting finished
4936 Otherwise APIs critical for flushing - in particular acquiring the
4937 device - do not work.
4939 src/cairo-device.c | 4 ++--
4940 1 file changed, 2 insertions(+), 2 deletions(-)
4942 commit 35e219d08f1c202399655db183ca0105a1c2166f
4943 Author: Benjamin Otte <otte@redhat.com>
4944 Date: Thu Jun 3 17:50:59 2010 +0200
4946 gl: Make gradient textures a separate object
4948 This is necessary so we can do proper refcounting and don't delete the
4949 gradient texture prematurely.
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(-)
4958 commit 9c17a477d29f633a4850ef8b458cbca82a19afc4
4959 Author: Benjamin Otte <otte@redhat.com>
4960 Date: Thu Jun 3 17:40:56 2010 +0200
4962 gl: Use the generic functions for filter/extend in gradients
4964 src/cairo-gl-composite.c | 26 ++++++++------------------
4965 src/cairo-gl-private.h | 2 ++
4966 2 files changed, 10 insertions(+), 18 deletions(-)
4968 commit df93802765afcf883abef5549bd5dff3465e2d79
4969 Author: Benjamin Otte <otte@redhat.com>
4970 Date: Thu Jun 3 17:38:28 2010 +0200
4972 gl: Create separate functions for setting extend and filter
4974 src/cairo-gl-composite.c | 47 +++++++++++++++++++++++++++-------------------
4975 1 file changed, 28 insertions(+), 19 deletions(-)
4977 commit 10e71806d2e1929aa127642a397fa6ccef434b5b
4978 Author: Benjamin Otte <otte@redhat.com>
4979 Date: Wed Jun 2 20:04:57 2010 +0200
4981 gl: Switch to deferred rendering
4983 1) call _cairo_gl_composite_flush() or cairo_surface_flush() where
4985 2) Destroy texture operands when necessary
4986 3) get rid of _cairo_gl_composite_end()
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)
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(-)
4999 commit f2f79ca1b3455000df4138ab500ae03b6584250c
5000 Author: Benjamin Otte <otte@redhat.com>
5001 Date: Wed Jun 2 19:57:47 2010 +0200
5003 gl: Make using shaders an explicit argument
5005 This is preparation for a followup patch
5007 src/cairo-gl-composite.c | 15 ++++++++-------
5008 1 file changed, 8 insertions(+), 7 deletions(-)
5010 commit 19c1d8316e22fc37c7cdaf6c3e56519c06d10561
5011 Author: Benjamin Otte <otte@redhat.com>
5012 Date: Wed Jun 2 18:14:28 2010 +0200
5014 gl: Special case blend mode for CAIRO_CONTENT_COLOR
5016 This ensures that alpha stays at 1 for RGB in all cases.
5018 src/cairo-gl-composite.c | 2 ++
5019 1 file changed, 2 insertions(+)
5021 commit 1f249064cc5c19a39ffe0faaa8825c8f8b6a2175
5022 Author: Benjamin Otte <otte@redhat.com>
5023 Date: Wed Jun 2 18:11:04 2010 +0200
5025 gl: rework _cairo_gl_set_operator()
5027 1) store the current operator. This will be useful later to check if the
5029 2) pass the context instead of the destination as first argument. The
5030 destination is known to be the current target.
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(-)
5037 commit f66500d8b052251ea3ce06f06d2fa4c8dec2ff3b
5038 Author: Benjamin Otte <otte@redhat.com>
5039 Date: Wed Jun 2 15:53:48 2010 +0200
5041 gl: Only resetup textures if we need to
5043 src/cairo-gl-composite.c | 45 +++++++++++++++++++++++++++++++++++++++++++++
5044 1 file changed, 45 insertions(+)
5046 commit d9dcafd61ad6aeecb4538e9fd44e3443a8a50bf1
5047 Author: Benjamin Otte <otte@redhat.com>
5048 Date: Wed Jun 2 15:26:45 2010 +0200
5050 gl: Do not reset the current target on release
5052 This now also requires a call to cairo_device_flush().
5054 src/cairo-gl-device.c | 2 +-
5055 1 file changed, 1 insertion(+), 1 deletion(-)
5057 commit ce36be5c67fa5b574eb11eb98cdd8c9cd7e09335
5058 Author: Benjamin Otte <otte@redhat.com>
5059 Date: Wed Jun 2 15:23:57 2010 +0200
5061 glx: When acquiring device, use the correct drawable
5063 src/cairo-glx-context.c | 16 +++++++++++++---
5064 1 file changed, 13 insertions(+), 3 deletions(-)
5066 commit 5819bb07eb7ac64f0e2fbe6a46cc3db0de1d92ce
5067 Author: Benjamin Otte <otte@redhat.com>
5068 Date: Wed Jun 2 15:23:08 2010 +0200
5070 gl: Store the vertex offset in the operand
5072 src/cairo-gl-composite.c | 1 +
5073 src/cairo-gl-private.h | 1 +
5074 2 files changed, 2 insertions(+)
5076 commit c75460c54d88ce9a50ac59c15a10684043ca4b0e
5077 Author: Benjamin Otte <otte@redhat.com>
5078 Date: Sun May 30 22:01:10 2010 +0200
5080 gl: Introduce a temporary texture unit
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
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(-)
5092 commit 1ddff8aba35466fe6689536bc5f2d7eeefaea02c
5093 Author: Benjamin Otte <otte@redhat.com>
5094 Date: Sun May 30 21:25:20 2010 +0200
5096 gl: Only allocate a framebuffer if we need one
5098 This way, we don't clobber the current target when creating textures for
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(-)
5106 commit 1c15510c3d00553aba9ec4fd4e6764da3cdb0a41
5107 Author: Benjamin Otte <otte@redhat.com>
5108 Date: Sun May 30 20:12:31 2010 +0200
5110 Call cairo_surface_flush() before setting finished
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
5116 src/cairo-surface.c | 2 +-
5117 1 file changed, 1 insertion(+), 1 deletion(-)
5119 commit 467d5e7f90b9edfb62ca71e67608704424a10aca
5120 Author: Benjamin Otte <otte@redhat.com>
5121 Date: Fri May 28 21:56:57 2010 +0200
5123 gl: Flush properly in set_destination
5125 src/cairo-gl-device.c | 33 +++++++++++++++++----------------
5126 1 file changed, 17 insertions(+), 16 deletions(-)
5128 commit e15348d8d0bbff6968b1f640e63315d159f143f5
5129 Author: Benjamin Otte <otte@redhat.com>
5130 Date: Fri May 28 21:55:26 2010 +0200
5132 gl: Don't reset vertex size
5134 src/cairo-gl-composite.c | 10 ++++++----
5135 src/cairo-gl-device.c | 1 +
5136 2 files changed, 7 insertions(+), 4 deletions(-)
5138 commit a8d6ac1efc3f1f5ff4f92f4e7a3492e62518f3f7
5139 Author: Benjamin Otte <otte@redhat.com>
5140 Date: Fri May 28 21:51:08 2010 +0200
5142 gl: Remove check if we're between begin/end
5144 This will be useless soon, because we will keep the current state alive as
5147 src/cairo-gl-composite.c | 1 -
5148 src/cairo-gl-private.h | 7 -------
5149 2 files changed, 8 deletions(-)
5151 commit 8f675fb801f7864aa52778d4d53d7ab68f4e664b
5152 Author: Benjamin Otte <otte@redhat.com>
5153 Date: Fri May 28 21:46:52 2010 +0200
5155 gl: Stop disabling the vertex array and the array buffer
5157 src/cairo-gl-composite.c | 12 ++++--------
5158 src/cairo-gl-device.c | 4 ++++
5159 2 files changed, 8 insertions(+), 8 deletions(-)
5161 commit bef0b541497eb5a621df0b5528e08adb0beff961
5162 Author: Benjamin Otte <otte@redhat.com>
5163 Date: Fri May 28 21:08:17 2010 +0200
5165 gl: Do not reset shaders on _end()
5167 Instead, keep the shader around until cairo_device_flush() is called.
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(-)
5174 commit 534c14729921cbc2f8e24575eb792de9ddb96e23
5175 Author: Benjamin Otte <otte@redhat.com>
5176 Date: Fri May 28 21:06:58 2010 +0200
5178 region: clarify docs of cairo_region_equal()
5180 src/cairo-region.c | 9 +++++----
5181 1 file changed, 5 insertions(+), 4 deletions(-)
5183 commit 0fc6f08981604ffdd0109362dcbbd9773501cd9a
5184 Author: Benjamin Otte <otte@redhat.com>
5185 Date: Fri May 28 20:45:52 2010 +0200
5187 gl: Make _shader_by_type() a getter
5189 And refactor code to do the current_shader assigning itself.
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(-)
5196 commit 2971ca049881298cd171cf27cd3beb49d2c0572f
5197 Author: Benjamin Otte <otte@redhat.com>
5198 Date: Fri May 28 20:39:22 2010 +0200
5200 gl: bind all shader variables at the same place
5202 Avoids the need to bind the shader when creating it.
5204 src/cairo-gl-composite.c | 26 ++++++++++++++++++++------
5205 src/cairo-gl-shaders.c | 11 -----------
5206 2 files changed, 20 insertions(+), 17 deletions(-)
5208 commit e11d8370e0503f085beaa355d85fa6991cd497da
5209 Author: Benjamin Otte <otte@redhat.com>
5210 Date: Fri May 28 17:37:19 2010 +0200
5212 gl: Set GL_BLEND and GL_SCISSOR_TEST globally
5214 Note that we do set them unconditionally in _begin() because a flush
5215 might have cleared them.
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(-)
5222 commit 7747f6d9146c19419fdc4fbbdf72eed42dfa731d
5223 Author: Benjamin Otte <otte@redhat.com>
5224 Date: Fri May 28 17:19:56 2010 +0200
5226 gl: Introduce flush functions
5228 The flush functions will clear the state that will in the future be kep
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(-)
5237 commit 5c74beaaa5dedd82f891f1cc109142f7b6e222a8
5238 Author: Benjamin Otte <otte@redhat.com>
5239 Date: Fri May 28 17:19:45 2010 +0200
5243 src/cairo-surface.c | 2 +-
5244 1 file changed, 1 insertion(+), 1 deletion(-)
5246 commit 92d7b1eee96e6b1448aaf3c95a44238fa0eeff48
5247 Author: Benjamin Otte <otte@redhat.com>
5248 Date: Fri May 28 16:19:12 2010 +0200
5250 device: Make flush vfunc return a cairo_status_t
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.
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(-)
5260 commit 63e3cf3888d5b55295a04c4af28e876c04245b85
5261 Author: Benjamin Otte <otte@redhat.com>
5262 Date: Fri May 28 15:09:23 2010 +0200
5264 gl: Move unsetting the state into the operand destroy function
5266 src/cairo-gl-composite.c | 43 +++++++++++++++++++++++++++++--------------
5267 1 file changed, 29 insertions(+), 14 deletions(-)
5269 commit b9b85dbf3706fe9e50f40b5fda655e71931c2d7f
5270 Author: Benjamin Otte <otte@redhat.com>
5271 Date: Fri May 28 13:42:11 2010 +0200
5273 gl: get rid of the operand's pattern variable
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().
5279 src/cairo-gl-composite.c | 21 ++++++++++-----------
5280 src/cairo-gl-private.h | 2 --
5281 2 files changed, 10 insertions(+), 13 deletions(-)
5283 commit ae9517a39fdddec389553a64116140e222970ef0
5284 Author: Benjamin Otte <otte@redhat.com>
5285 Date: Fri May 28 13:18:28 2010 +0200
5287 gl: Check mask's attributes for component alpha
5289 ... and don't duplicate that information into the cairo_gl_composite_t
5291 src/cairo-gl-composite.c | 14 ++++++++------
5292 src/cairo-gl-private.h | 1 -
5293 2 files changed, 8 insertions(+), 7 deletions(-)
5295 commit f72afc09d0b99030f5766e7bbbb05f6db606e195
5296 Author: Benjamin Otte <otte@redhat.com>
5297 Date: Fri May 28 13:14:09 2010 +0200
5299 gl: Merge fixed function setup into general texture setup
5301 src/cairo-gl-composite.c | 84 +++++++++++++++++++---------------------------
5302 1 file changed, 34 insertions(+), 50 deletions(-)
5304 commit dd1faaf02e2a75ca8b9c484abd15726f5c6d3ac4
5305 Author: Benjamin Otte <otte@redhat.com>
5306 Date: Fri May 28 12:54:54 2010 +0200
5310 I wanna use it elsewhere and keep the diff small.
5312 src/cairo-gl-composite.c | 58 +++++++++++++++++++++++-----------------------
5313 1 file changed, 29 insertions(+), 29 deletions(-)
5315 commit d03800313623fb2b9e7d15c6a659ceaaee2882e8
5316 Author: Benjamin Otte <otte@redhat.com>
5317 Date: Fri May 28 12:51:08 2010 +0200
5319 gl: Simplify mask operand setup code
5321 Component alpha just has one different value
5323 src/cairo-gl-composite.c | 40 +++++++---------------------------------
5324 1 file changed, 7 insertions(+), 33 deletions(-)
5326 commit e20261dddaa194ab4e980da8681e9378d7fd7ef1
5327 Author: Benjamin Otte <otte@redhat.com>
5328 Date: Fri May 28 12:48:59 2010 +0200
5330 gl: Get rid of operand argument to emit functions
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(-)
5338 commit 8062fb352e6cd1d961f0fbc660779f4ad94c7508
5339 Author: Benjamin Otte <otte@redhat.com>
5340 Date: Fri May 28 11:03:09 2010 +0200
5342 gl: Add an enum for tex units
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
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(-)
5353 commit 5db362dd6792af20282e0e9a2805ee6f1b921e44
5354 Author: Benjamin Otte <otte@redhat.com>
5355 Date: Fri May 28 10:24:33 2010 +0200
5357 gl: Keep a copy of the current operand in the context
5359 Note that they are currently only valid as long as the
5360 cairo_gl_composite_t exists, but that will be changed soon.
5362 src/cairo-gl-composite.c | 20 ++++++++++++++++----
5363 src/cairo-gl-private.h | 2 ++
5364 2 files changed, 18 insertions(+), 4 deletions(-)
5366 commit a05f062c806ac014d0daffa1d74bdb0dd90a8a26
5367 Author: Benjamin Otte <otte@redhat.com>
5368 Date: Wed May 26 19:23:18 2010 +0200
5370 gl: Move struct definitions in header
5372 src/cairo-gl-private.h | 66 ++++++++++++++++++++++++------------------------
5373 1 file changed, 33 insertions(+), 33 deletions(-)
5375 commit 85d4c6c55b85c52d8f86247f00659e37354abd49
5376 Author: Benjamin Otte <otte@redhat.com>
5377 Date: Wed May 26 21:23:40 2010 +0200
5379 gl: operand->texture.surface cannot be NULL
5381 src/cairo-gl-composite.c | 10 +++-------
5382 1 file changed, 3 insertions(+), 7 deletions(-)
5384 commit 9486ad5fbdad047b5194f6bed68a08bb4c594610
5385 Author: Benjamin Otte <otte@redhat.com>
5386 Date: Wed May 26 19:16:41 2010 +0200
5388 gl: Remove composite_t argument from _flush() function
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(-)
5395 commit 16e420b4dca5325ab295a27103299a916f334b05
5396 Author: Benjamin Otte <otte@redhat.com>
5397 Date: Wed May 26 19:13:53 2010 +0200
5399 gl: Remove dependency on composite_t in draw function
5401 src/cairo-gl-composite.c | 4 ++--
5402 1 file changed, 2 insertions(+), 2 deletions(-)
5404 commit e46215ec6b94355b741acf5dfdd264d6396b4bc8
5405 Author: Benjamin Otte <otte@redhat.com>
5406 Date: Wed May 26 18:44:20 2010 +0200
5408 gl: Remove unneeded and broken workaround
5410 We now ensure the values are properly zeroed when setting the operator.
5412 src/cairo-gl-composite.c | 14 +-------------
5413 1 file changed, 1 insertion(+), 13 deletions(-)
5415 commit b2d709b5c7e463437189b8e4a2c53a3317437825
5416 Author: Benjamin Otte <otte@redhat.com>
5417 Date: Wed May 26 17:41:01 2010 +0200
5419 gl: Switch src alpha handling to a tiny on/off function
5421 Instead of doing setup every time, we just set this one flag. Much
5424 src/cairo-gl-composite.c | 22 +++++++---------------
5425 1 file changed, 7 insertions(+), 15 deletions(-)
5427 commit 53fd451f85974d2ed0d6f29a0a0549fd4c7035fe
5428 Author: Benjamin Otte <otte@redhat.com>
5429 Date: Wed May 26 17:32:14 2010 +0200
5431 gl: Avoid redundant mask setup
5433 The mask doesn't change, so no need to set it up twice
5435 src/cairo-gl-composite.c | 2 --
5436 1 file changed, 2 deletions(-)
5438 commit 1b3675fc4b9c7f6ad4d9edd9b27bee10c2502b81
5439 Author: Benjamin Otte <otte@redhat.com>
5440 Date: Wed May 26 17:28:05 2010 +0200
5442 gl: Split fixed-function operand setup into own function
5444 src/cairo-gl-composite.c | 151 +++++++++++++---------------------------------
5445 1 file changed, 42 insertions(+), 109 deletions(-)
5447 commit 02da871050f6be02ba0231e545d6613a42c3a7e6
5448 Author: Benjamin Otte <otte@redhat.com>
5449 Date: Wed May 26 17:02:29 2010 +0200
5451 gl: Unify fixed function setup code
5453 src/cairo-gl-composite.c | 15 ++++-----------
5454 1 file changed, 4 insertions(+), 11 deletions(-)
5456 commit 74f9094162fba54c29859e25ad5be085604aa0b6
5457 Author: Benjamin Otte <otte@redhat.com>
5458 Date: Wed May 26 15:46:39 2010 +0200
5460 gl: switch OPERAND0 and OPERAND1 in the fixed function path
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
5466 src/cairo-gl-composite.c | 42 +++++++++++++++++++++---------------------
5467 1 file changed, 21 insertions(+), 21 deletions(-)
5469 commit c6aac5d0134f1473d3867c1b6a4b40753700ffcb
5470 Author: Benjamin Otte <otte@redhat.com>
5471 Date: Wed May 26 15:42:56 2010 +0200
5473 gl: Move the pre shader to the context, too
5475 It's required when flushing, too.
5477 src/cairo-gl-composite.c | 10 +++++-----
5478 src/cairo-gl-private.h | 2 +-
5479 2 files changed, 6 insertions(+), 6 deletions(-)
5481 commit 61bc3067ca5fa4aeaef537c397c37826facc7621
5482 Author: Benjamin Otte <otte@redhat.com>
5483 Date: Wed May 26 15:28:32 2010 +0200
5485 gl: Store the clip region in the context
5487 This is necessary because we want to get rid of keeping the composite
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(-)
5495 commit db79880d9a836d50e9202caa5c73e22a2b6b97b3
5496 Author: Benjamin Otte <otte@redhat.com>
5497 Date: Wed May 26 13:03:12 2010 +0200
5499 gl: Make gl_composite_begin() acquire the context
5501 Also remove the previous places for context acquisition. This completes
5502 fixing the potential ABBA deadlock I talked about a few commits ago.
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(-)
5510 commit 1320a168fa5b73fd42438040a4bf8ee9ad222a0e
5511 Author: Benjamin Otte <otte@redhat.com>
5512 Date: Wed May 26 12:26:49 2010 +0200
5514 gl: Remove unused code
5516 We don't need to acquire/release the context, we're not using it.
5518 src/cairo-gl-glyphs.c | 11 +----------
5519 1 file changed, 1 insertion(+), 10 deletions(-)
5521 commit 8f5c3b706b5bad6b0851a3e27752f7d1a3ca8a72
5522 Author: Benjamin Otte <otte@redhat.com>
5523 Date: Wed May 26 12:16:01 2010 +0200
5525 gl: Make composite_set_clip_region not require the context
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(-)
5533 commit ac6abcbac7f79e5717c44e251135dcba8ab00b27
5534 Author: Benjamin Otte <otte@redhat.com>
5535 Date: Wed May 26 12:14:24 2010 +0200
5537 gl: Make composite_set_source/mask/mask_spans not require a context
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(-)
5545 commit 88a70d66fcdbca7e489baa48cd145bb69c3e28e0
5546 Author: Benjamin Otte <otte@redhat.com>
5547 Date: Wed May 26 11:59:36 2010 +0200
5549 gl: Add API for querying if we need GL_TEXTURE_RECTANGLE_EXT
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.
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(-)
5559 commit 9c6e1338a1c7d61b4cc84bcdc5c38573a34cd561
5560 Author: Benjamin Otte <otte@redhat.com>
5561 Date: Wed May 26 11:36:22 2010 +0200
5563 gl: Make cairo_gl_composite_t not require a gl context anymore
5565 First patch in a series.
5567 The idea is to make all gl operations in Cairo work like this:
5568 1) prepare cairo_gl_composite_t
5570 3) begin composite operation
5574 7) cleanup composite operation
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.
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(-)
5586 commit 60f0cb9c60556f94af903dd6f9da0628a05a1f7f
5587 Author: Benjamin Otte <otte@redhat.com>
5588 Date: Sat May 22 18:42:44 2010 +0200
5590 gl: Flush surface at the right times
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(+)
5597 commit ffeeae462ea0f8c7af326f3bcc66b88881bd8fdd
5598 Author: Chris Wilson <chris@chris-wilson.co.uk>
5599 Date: Sun Jun 6 16:50:34 2010 +0100
5601 Revert "gstate: reduce a couple more operators"
5603 This reverts commit a85c6c1e36273d534f01ade0714b0592b6bed5ab.
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.
5610 src/cairo-gstate.c | 15 +--------------
5611 1 file changed, 1 insertion(+), 14 deletions(-)
5613 commit 44e628a6f4e6b9b21ad67b08869186a779d0db5a
5614 Author: Makoto Kato <m_kato@ga2.so-net.ne.jp>
5615 Date: Mon May 31 18:22:40 2010 +0900
5617 openvg: fix build break
5619 src/cairo-vg-surface.c | 2 +-
5620 1 file changed, 1 insertion(+), 1 deletion(-)
5622 commit cc080a1e2731a42045709d789587070da944145c
5623 Author: Chris Wilson <chris@chris-wilson.co.uk>
5624 Date: Thu May 27 20:51:55 2010 +0100
5626 gl: Unmap the vertex buffer prior to using in DaawArrays()
5628 "It is an INVALID_OPERTION error to source data from a buffer object
5629 that is currently mapped."
5631 mesa is currently lax in this regard, but the Nvidia libGL conforms to
5632 the spec and thus was causing failures.
5634 src/cairo-gl-composite.c | 23 ++++++++++++-----------
5635 1 file changed, 12 insertions(+), 11 deletions(-)
5637 commit b3e15bd5c307352065555c6c3ae5f0bd15b9a791
5638 Author: Chris Wilson <chris@chris-wilson.co.uk>
5639 Date: Thu May 27 18:43:03 2010 +0100
5641 gl: _cairo_set_shader_by_type() cannot return UNSUPPORTED
5643 So remove the superfuous test.
5645 src/cairo-gl-composite.c | 7 ++++---
5646 1 file changed, 4 insertions(+), 3 deletions(-)
5648 commit 59bd34e6a3661483f60bb01be8b406a5c38e1131
5649 Author: Chris Wilson <chris@chris-wilson.co.uk>
5650 Date: Thu May 27 18:35:40 2010 +0100
5652 gl: Check for an error device when creating surfaces.
5654 src/cairo-gl-surface.c | 3 +++
5655 1 file changed, 3 insertions(+)
5657 commit 53f086105975c1c2bd4c43a1b0613ebde3580e95
5658 Author: Chris Wilson <chris@chris-wilson.co.uk>
5659 Date: Thu May 27 18:27:53 2010 +0100
5661 gl: Make _cairo_gl_shader_(init|compile) static
5663 Only used within _cairo_gl_shaders.c, so remove the private symbol.
5665 src/cairo-gl-private.h | 10 ----------
5666 src/cairo-gl-shaders.c | 41 +++++++++++++++++++++++++----------------
5667 2 files changed, 25 insertions(+), 26 deletions(-)
5669 commit dd0866cdc878a0be438a117051ccc64f12f81970
5670 Author: Chris Wilson <chris@chris-wilson.co.uk>
5671 Date: Thu May 27 17:52:11 2010 +0100
5673 boilerplate: Exercise RENDER capable windows.
5675 Ensure that the drivers actually work when rendering to a normal window.
5677 boilerplate/cairo-boilerplate-xlib.c | 107 ++++++++++++++++++++++++++++++++++
5678 1 file changed, 107 insertions(+)
5680 commit 2dc42af9422a15f902934a53c074e4194991a9e4
5681 Author: Chris Wilson <chris@chris-wilson.co.uk>
5682 Date: Mon May 17 16:32:20 2010 +0100
5684 script: Update csi-exec to match new interface.
5686 util/cairo-script/csi-exec.c | 3 ++-
5687 1 file changed, 2 insertions(+), 1 deletion(-)
5689 commit 2f0f4ed0e2ae5657dedfe180b7be3a2496753ba8
5690 Author: Chris Wilson <chris@chris-wilson.co.uk>
5691 Date: Thu May 20 21:54:51 2010 +0100
5693 freed-pool: Don't access beyond the end of the array.
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.
5699 src/cairo-freed-pool-private.h | 8 +++++---
5700 src/cairo-freed-pool.c | 4 +++-
5701 2 files changed, 8 insertions(+), 4 deletions(-)
5703 commit 97b4aeba44e5f4b23b3ed417b991570b46d4736e
5704 Author: Chris Wilson <chris@chris-wilson.co.uk>
5705 Date: Thu May 20 21:54:16 2010 +0100
5707 atomic: Add memory barriers if required for intel primitives
5709 src/cairo-atomic-private.h | 16 ++++++++++++++++
5710 1 file changed, 16 insertions(+)
5712 commit 24e684c267404528b40fa49b55272d73bd44167d
5713 Author: Benjamin Otte <otte@gnome.org>
5714 Date: Thu May 20 22:37:18 2010 +0200
5716 gl: spans need the dummy texture
5718 Thanks Eric. That took me half a day.
5720 src/cairo-gl-composite.c | 2 +-
5721 1 file changed, 1 insertion(+), 1 deletion(-)
5723 commit d7a564d8eed32b4417fdb4c8c5d91467e4ae1019
5724 Author: Benjamin Otte <otte@redhat.com>
5725 Date: Thu May 20 22:10:06 2010 +0200
5727 gl: Don't set is_clear
5730 2) The core functions set the flag correctly already.
5732 src/cairo-gl-surface.c | 2 --
5733 1 file changed, 2 deletions(-)
5735 commit f9cf07b126293d00df085d4fbfa337e1132e0258
5736 Author: Benjamin Otte <otte@redhat.com>
5737 Date: Thu May 20 16:08:38 2010 +0200
5739 gl: Fix coverage passing for spans not being endian safe.
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(-)
5746 commit 2a0f34c6da2eb4f10b198d04894fc1413352e041
5747 Author: Benjamin Otte <otte@redhat.com>
5748 Date: Thu May 20 11:23:18 2010 +0200
5750 gl: Allow NONE and SPANS sampler for source, too
5752 src/cairo-gl-shaders.c | 4 +++-
5753 1 file changed, 3 insertions(+), 1 deletion(-)
5755 commit 1586f7740ad436447ac75c6b869da7446172a63c
5756 Author: Benjamin Otte <otte@gnome.org>
5757 Date: Thu May 20 13:17:52 2010 +0200
5759 gl: Refactor fixed function setup code
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
5765 src/cairo-gl-composite.c | 130 ++++++++++++++++------------------------------
5766 1 file changed, 46 insertions(+), 84 deletions(-)
5768 commit 4889090c76bdab5e4eb887593caf5d5a34f90864
5769 Author: Benjamin Otte <otte@gnome.org>
5770 Date: Thu May 20 12:13:43 2010 +0200
5772 gl: set the active texture before fiddling with with glTexEnv
5774 fixes the fixed function pipeline
5776 src/cairo-gl-composite.c | 8 ++++++++
5777 1 file changed, 8 insertions(+)
5779 commit 3cff2da912150868390bf4b9df166c88b3dfcf2e
5780 Author: Benjamin Otte <otte@gnome.org>
5781 Date: Thu May 20 12:03:18 2010 +0200
5783 gl: Remove unused variables
5785 src/cairo-gl-composite.c | 9 ---------
5786 1 file changed, 9 deletions(-)
5788 commit 4c7dd1be4526c85b47f1fe1d4663e7fbec0926b1
5789 Author: Benjamin Otte <otte@redhat.com>
5790 Date: Wed May 19 22:03:18 2010 +0200
5792 gl: Move vertex array setup code into the texture setup code
5794 src/cairo-gl-composite.c | 35 ++++++++++++++---------------------
5795 1 file changed, 14 insertions(+), 21 deletions(-)
5797 commit d9d5976bdf333a5a7ea7707bc3076696f3c079d2
5798 Author: Benjamin Otte <otte@redhat.com>
5799 Date: Wed May 19 21:54:32 2010 +0200
5801 gl: Add an assertion that a context cannot call _begin() twice
5803 Evert _begin() call must be followed by an _end() call to avoid any
5804 nastiness. Just like GL. :)
5806 src/cairo-gl-composite.c | 2 ++
5807 src/cairo-gl-private.h | 7 +++++++
5808 2 files changed, 9 insertions(+)
5810 commit 5b8b1fe1cb692530b40db330c3040cd85a8b6bd7
5811 Author: Benjamin Otte <otte@redhat.com>
5812 Date: Wed May 19 21:10:26 2010 +0200
5814 gl: Move vertex buffer handling from setup into context
5816 We can only emit one vertex buffer at a time anyway.
5818 src/cairo-gl-composite.c | 34 ++++++++++++++++++----------------
5819 src/cairo-gl-private.h | 8 ++++----
5820 2 files changed, 22 insertions(+), 20 deletions(-)
5822 commit 0d5f2eab77f055b063538dcd345a1e0db480f3bc
5823 Author: Benjamin Otte <otte@redhat.com>
5824 Date: Wed May 19 20:49:49 2010 +0200
5826 gl: Actuall do fall back to fixed function paths.
5828 Previously we were just returning UNSUPPORTED all the time. I guess that
5829 explains why my code got so slow...
5831 src/cairo-gl-composite.c | 4 +++-
5832 1 file changed, 3 insertions(+), 1 deletion(-)
5834 commit bb7ca71c1af416ca084f03089f5fe762403635dd
5835 Author: Benjamin Otte <otte@redhat.com>
5836 Date: Wed May 19 20:47:31 2010 +0200
5838 gl: Don't store the shader in the composite_t anymore
5840 Now that we have ctx->current_shader, there's no need to keep it in the
5841 composite setup code.
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(-)
5848 commit 6c477b4a945a8f8b866bb2f5e125d4a0328d05f4
5849 Author: Benjamin Otte <otte@redhat.com>
5850 Date: Wed May 19 20:10:19 2010 +0200
5852 gl: Move shader checking in the TexEnv setup code
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.
5858 src/cairo-gl-composite.c | 208 ++++++++++++++++++++++------------------------
5859 1 file changed, 101 insertions(+), 107 deletions(-)
5861 commit 73262edd8201de8ab8a01e01f83af5b5d6470f9e
5862 Author: Benjamin Otte <otte@redhat.com>
5863 Date: Wed May 19 19:25:03 2010 +0200
5865 gl: Move texture setup code into its own file
5867 This ensures textures don't need to be (re)set when doing component
5868 alpha and running 2 shaders.
5870 src/cairo-gl-composite.c | 208 ++++++++++++++++++++--------------------------
5871 1 file changed, 92 insertions(+), 116 deletions(-)
5873 commit 970c879dd897019f90b0c8ff5a18781be4935c55
5874 Author: Benjamin Otte <otte@redhat.com>
5875 Date: Wed May 19 18:34:00 2010 +0200
5877 gl: Binding variables only works for the current shader
5879 So make the code reflect that.
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(-)
5886 commit 065969d78f23c634ebcb2b931cbb1fe184f2cedf
5887 Author: Benjamin Otte <otte@redhat.com>
5888 Date: Wed May 19 18:21:06 2010 +0200
5890 gl: Separate binding to shaders from setting operands
5892 That way we only need to bind to shaders when creating them, but not
5893 everytime we switch shaders on text output.
5895 src/cairo-gl-composite.c | 156 +++++++++++++++++++++++-----------------------
5896 src/cairo-gl-shaders.c | 2 +-
5897 2 files changed, 79 insertions(+), 79 deletions(-)
5899 commit c53f7778bcf274f64f801ef9ee1641a088842f60
5900 Author: Benjamin Otte <otte@redhat.com>
5901 Date: Wed May 19 16:50:57 2010 +0200
5903 gl: Use the mask, not the source
5905 Not that we'd ever have constant color component-alpha masks, but that's
5906 an entirely different topic.
5908 src/cairo-gl-composite.c | 8 ++++----
5909 1 file changed, 4 insertions(+), 4 deletions(-)
5911 commit 26e8e506b66022910c262da0618ef5be8c5a080e
5912 Author: Benjamin Otte <otte@redhat.com>
5913 Date: Wed May 19 13:19:56 2010 +0200
5915 gl: Add _cairo_gl_surface_is_texture()
5917 It's more explicit then just checking surface->fb != 0
5918 Also, it makes improving that check easier.
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(-)
5925 commit e4cb46b50015f792b0e8c7b49f3b42f2c3c0ad00
5926 Author: Benjamin Otte <otte@redhat.com>
5927 Date: Wed May 19 12:10:10 2010 +0200
5929 gl: Implement texture upload to window with composite()
5931 Instead of custom code that does basically the same thing, use
5932 a temporary surface and _cairo_gl_surface_composite() to upload images.
5934 src/cairo-gl-shaders.c | 2 +-
5935 src/cairo-gl-surface.c | 129 ++++++++++++++++++------------------------------
5936 2 files changed, 48 insertions(+), 83 deletions(-)
5938 commit 7c8759e279f51ea722c07e4b0c70f4a49f34393d
5939 Author: Benjamin Otte <otte@redhat.com>
5940 Date: Wed May 19 11:46:12 2010 +0200
5942 gl: cache the current shader in the context
5944 src/cairo-gl-private.h | 4 +++-
5945 src/cairo-gl-shaders.c | 7 +++++++
5946 2 files changed, 10 insertions(+), 1 deletion(-)
5948 commit 6864ca6c25aa8147a562d7f693a95025dde807a8
5949 Author: Benjamin Otte <otte@redhat.com>
5950 Date: Wed May 19 11:10:11 2010 +0200
5952 gl: Move _cairo_gl_set_operator() to the file it's used in
5954 Also make it a private function.
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(-)
5961 commit 0d2d4c59026c31da084e6797d109a230341b396d
5962 Author: Benjamin Otte <otte@redhat.com>
5963 Date: Tue May 18 21:56:55 2010 +0200
5965 gl: Detect color-pattern clears of surfaces
5967 ... and use glClear() there.
5969 The common case here is a solid color and OPERATOR_OVER.
5971 src/cairo-gl-private.h | 3 ---
5972 src/cairo-gl-surface.c | 38 +++++++++++++++++++++++++++++---------
5973 2 files changed, 29 insertions(+), 12 deletions(-)
5975 commit b70eb275c4aa54f7c90a985b5de67da12ac08a30
5976 Author: Benjamin Otte <otte@redhat.com>
5977 Date: Tue May 18 21:56:18 2010 +0200
5979 gl: detect image uploads and fast-path them
5981 src/cairo-gl-surface.c | 23 +++++++++++++++++++++++
5982 1 file changed, 23 insertions(+)
5984 commit 8adbf3aa19fd9fb8200973ecd72cdebfd9a5364d
5985 Author: Benjamin Otte <otte@redhat.com>
5986 Date: Tue May 18 20:12:44 2010 +0200
5988 gl: Use _cairo_gl_surface_draw_image() when caching glyphs
5990 src/cairo-gl-glyphs.c | 47 ++++++++---------------------------------------
5991 1 file changed, 8 insertions(+), 39 deletions(-)
5993 commit 915aa64ef077fe3b6094d0f1c8bd87ab5acc4868
5994 Author: Benjamin Otte <otte@redhat.com>
5995 Date: Tue May 18 13:01:30 2010 +0200
5997 gl: Actually check errors for _cairo_gl_composite_begin()
5999 src/cairo-gl-glyphs.c | 2 ++
6000 1 file changed, 2 insertions(+)
6002 commit 0222cc7d76b0dc724630b660687f98a2460eb0b9
6003 Author: Benjamin Otte <otte@redhat.com>
6004 Date: Tue May 18 13:00:34 2010 +0200
6006 gl: Get rid of _cairo_gl_composite_set_mask_texture()
6008 Now that the glyph cache contains real surfaces, there's no longer a
6009 need to have a special function for it.
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(-)
6016 commit 208d9f2a7e1f66ff2764c41fe67f65e27279b2ab
6017 Author: Benjamin Otte <otte@redhat.com>
6018 Date: Tue May 18 12:49:59 2010 +0200
6020 gl: Make glyph cache a real surface
6022 This has the huge advantage that we can use real surface functions on
6025 src/cairo-gl-glyphs.c | 67 ++++++++++++++++++------------------------------
6026 src/cairo-gl-private.h | 3 +--
6027 2 files changed, 26 insertions(+), 44 deletions(-)
6029 commit 050117996339cfe35add1f2cd44d0e5578d4a981
6030 Author: Benjamin Otte <otte@redhat.com>
6031 Date: Tue May 18 12:02:54 2010 +0200
6033 surface: Add _cairo_surface_release_device_reference() API
6035 See the API documentation for that function about its intended purpose.
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(-)
6042 commit c489f67d1d1d6079f9b58b726ed42beea1dfc44e
6043 Author: Benjamin Otte <otte@redhat.com>
6044 Date: Mon May 17 20:45:42 2010 +0200
6046 gl: Make a bunch of functions static
6048 They are no longer used outside of cairo_gl_composite_t.
6050 src/cairo-gl-composite.c | 8 ++++----
6051 src/cairo-gl-private.h | 16 ----------------
6052 2 files changed, 4 insertions(+), 20 deletions(-)
6054 commit c8008e118a54d62690d6555c9ffabf734c39e69f
6055 Author: Benjamin Otte <otte@redhat.com>
6056 Date: Mon May 17 19:16:20 2010 +0200
6058 gl: Don't name the union in cairo_gl_operand_t
6060 Gets rid of ultra-long variable names.
6062 src/cairo-gl-composite.c | 152 +++++++++++++++++++++++-----------------------
6063 src/cairo-gl-private.h | 2 +-
6064 2 files changed, 77 insertions(+), 77 deletions(-)
6066 commit 53260148ea9abacdc510826765c1d63f486add6c
6067 Author: Andrea Canciani <ranma42@gmail.com>
6068 Date: Fri May 14 21:04:22 2010 +0200
6070 quartz: fix repeating radial gradients on 64 bits
6072 Quartz API uses the type CGFloat, which is double on 64 bits,
6073 float on 32 bits architectures
6075 src/cairo-quartz-surface.c | 2 +-
6076 1 file changed, 1 insertion(+), 1 deletion(-)
6078 commit 0104976dc853b60de14080a749a6f729852f1b22
6079 Author: Andrea Canciani <ranma42@gmail.com>
6080 Date: Fri May 14 21:03:19 2010 +0200
6082 quartz: silence compiler warnings
6084 All the possible enum values have to be explicitly handled in switch statements.
6086 src/cairo-quartz-surface.c | 2 ++
6087 1 file changed, 2 insertions(+)
6089 commit ac94a00a4d3acb36f011330b78d1311534fe90e0
6090 Author: Andrea Canciani <ranma42@gmail.com>
6091 Date: Fri May 14 19:33:15 2010 +0200
6093 quartz: fallback for A1 images on little endian archs
6095 Quartz uses a bit ordering that is consistent with cairo on big
6096 endian architectures, but isn't on little endian architectures.
6098 Fixes a1-mask and large-source-roi (on little endian)
6100 src/cairo-quartz-surface.c | 2 ++
6101 1 file changed, 2 insertions(+)
6103 commit f40e3b09a130a9ccbe310120fd5cfc7ad7828a4d
6104 Author: Andrea Canciani <ranma42@gmail.com>
6105 Date: Thu May 13 12:15:19 2010 +0200
6107 quartz-font: Silence 0x0 CGContext warning
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
6116 src/cairo-quartz-font.c | 77 ++++++++++++++++++++++++++---------------------
6117 1 file changed, 42 insertions(+), 35 deletions(-)
6119 commit 1687e6169463947554f5476674a577e67e2c543b
6120 Author: Andrea Canciani <ranma42@gmail.com>
6121 Date: Thu May 13 11:54:32 2010 +0200
6123 quartz-font: Conform context and antialias handling to quartz-surface
6125 A8 surfaces are now kAlphaOnly surfaces in quartz-font too.
6126 Subpixel font smoothing can be enabled.
6128 src/cairo-quartz-font.c | 38 ++++++++++++++++++++++++++++----------
6129 1 file changed, 28 insertions(+), 10 deletions(-)
6131 commit d68bbc0fe5706634e4c025bdcb311905b7f008e4
6132 Author: Benjamin Otte <otte@gnome.org>
6133 Date: Mon May 17 20:57:08 2010 +0200
6135 gl: Add missing NULL-check in non-shader code
6137 src/cairo-gl-composite.c | 4 ++--
6138 1 file changed, 2 insertions(+), 2 deletions(-)
6140 commit 7f22372edf10f5eab53ea132d9226f6d5b49eb9a
6141 Author: Benjamin Otte <otte@redhat.com>
6142 Date: Mon May 17 14:20:17 2010 +0200
6144 gl: Get rid of src and mask argument to composite_init()
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.
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(-)
6155 commit 75f15babed8409fb1eaae514411de01d57072c80
6156 Author: Benjamin Otte <otte@redhat.com>
6157 Date: Mon May 17 14:17:47 2010 +0200
6159 gl: Implement fill_rectangles with composite
6161 Tiny performance improvement, but a lot less code.
6163 src/cairo-gl-surface.c | 204 ++++++++++--------------------------------------
6164 1 file changed, 41 insertions(+), 163 deletions(-)
6166 commit e7c5b4f79fa24b75026c93bc9244115d2ee23930
6167 Author: Benjamin Otte <otte@redhat.com>
6168 Date: Mon May 17 13:56:22 2010 +0200
6170 gl: make _set_mask() accept NULL
6172 That way, it can be used to unset the mask.
6174 src/cairo-gl-composite.c | 3 +++
6175 src/cairo-gl-surface.c | 14 ++++++--------
6176 2 files changed, 9 insertions(+), 8 deletions(-)
6178 commit 145db7a427e594f1d68a6c0f4afe5e365e219cf0
6179 Author: Chris Wilson <chris@chris-wilson.co.uk>
6180 Date: Mon May 17 12:37:46 2010 +0100
6182 gl: Check status after composite_begin
6184 Skip the unnecessary work in _cairo_gl_surface_composite() if we fail
6185 to setup the GL composite operation.
6187 src/cairo-gl-surface.c | 2 ++
6188 1 file changed, 2 insertions(+)
6190 commit 8695c41e80ce932fd5dd434307b92f323a937c7c
6191 Author: Chris Wilson <chris@chris-wilson.co.uk>
6192 Date: Mon May 17 12:36:54 2010 +0100
6194 gl: Throw a _cairo_error when detecting a GLerror
6196 This allows us to easily set an breakpoint and inspect cairo's state
6197 when we do something illegal.
6199 src/cairo-gl-private.h | 4 +++-
6200 1 file changed, 3 insertions(+), 1 deletion(-)
6202 commit 1c18ab02c8d41be8e5886cbb34aeda5099189fef
6203 Author: Chris Wilson <chris@chris-wilson.co.uk>
6204 Date: Mon May 17 11:42:26 2010 +0100
6206 gl: Rename cairo_gl_shader_program_t to cairo_gl_shader_t
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.
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(-)
6219 commit 2325d755b03958d8ead9a995c0d1d03e4f93af0c
6220 Author: Chris Wilson <chris@chris-wilson.co.uk>
6221 Date: Mon May 17 10:33:46 2010 +0100
6223 gl: Pretty print the error GLenum.
6225 src/cairo-gl-private.h | 3 ++-
6226 src/cairo-gl-surface.c | 19 +++++++++++++++++++
6227 2 files changed, 21 insertions(+), 1 deletion(-)
6229 commit 7ef1bd22ded512f4fad3959796d7f40c4ddc5824
6230 Author: Benjamin Otte <otte@redhat.com>
6231 Date: Mon May 17 01:12:34 2010 +0200
6233 gl: Update copyright statements
6235 - add 2010 Red Hat copyright for my code
6236 - include myself as author
6237 - update contributors list
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(-)
6247 commit 0b69e51b526a609a2dc5f1d2fb9c49f240feb57b
6248 Author: Benjamin Otte <otte@redhat.com>
6249 Date: Mon May 17 00:56:21 2010 +0200
6251 gl: Assert that binding values to shaders never fails
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.
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(-)
6262 commit 0bb11e8f5bcdc8a6f8384197b39c2ad48eaab1cd
6263 Author: Benjamin Otte <otte@redhat.com>
6264 Date: Mon May 17 00:49:01 2010 +0200
6266 gl: Use GL_TRIANGLES instead of GL_QUADS
6268 It seems to increase performance by 1-2% on average and up to 30% in
6269 some cases (on i965).
6271 src/cairo-gl-composite.c | 16 +++++++++++-----
6272 1 file changed, 11 insertions(+), 5 deletions(-)
6274 commit 2b771da47a87f86f378314bfe8033874d9444914
6275 Author: Benjamin Otte <otte@redhat.com>
6276 Date: Sun May 16 23:58:47 2010 +0200
6278 xlib: ensure variable isn't uninitialized
6280 src/cairo-xlib-surface.c | 4 +++-
6281 1 file changed, 3 insertions(+), 1 deletion(-)
6283 commit b768a33a602942825e5ec651ae7bafd6d5fc33ac
6284 Author: Benjamin Otte <otte@redhat.com>
6285 Date: Sun May 16 21:10:45 2010 +0200
6287 gl: Set composite->has_component_alpha based on mask
6289 Previously it was set when initing the composite structure, but that
6290 doesn't allow resetting it when a new mask is used.
6292 src/cairo-gl-composite.c | 7 ++++---
6293 1 file changed, 4 insertions(+), 3 deletions(-)
6295 commit 1cde4601df8a3689450e2a0e15888c53aff12983
6296 Author: Benjamin Otte <otte@redhat.com>
6297 Date: Sun May 16 21:05:16 2010 +0200
6299 gl: Replace _cairo_gl_operand_init() with setters for src/mask
6301 Now cairo_gl_operand_t is no longer exposed outside of
6302 cairo-gl-composite.c
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(-)
6310 commit 6575cb7a95e109ab39eda58603ed6a76581a41b0
6311 Author: Benjamin Otte <otte@redhat.com>
6312 Date: Sun May 16 20:39:00 2010 +0200
6314 gl: Convert glyphs path to use cairo_gl_composite_t
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(-)
6321 commit 8937f2b4b5e4bcb8ada1e478df6a7329c0b80a5a
6322 Author: Benjamin Otte <otte@redhat.com>
6323 Date: Sun May 16 13:19:48 2010 +0200
6325 gl: Require ARB_vertex_buffer_object extension unconditionally
6327 <anholt> we shouldn't bother with non-vbo support. there's no
6328 justification for a driver not supporting it.
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(-)
6337 commit 29dfd5b488e16ec8be879b2415635df93b874afc
6338 Author: Benjamin Otte <otte@redhat.com>
6339 Date: Sun May 16 03:36:05 2010 +0200
6341 gl: Remove unused variables
6343 src/cairo-gl-surface.c | 7 +------
6344 1 file changed, 1 insertion(+), 6 deletions(-)
6346 commit 4144488f516214b675d25d48add8cbd83fd17025
6347 Author: Benjamin Otte <otte@redhat.com>
6348 Date: Sun May 16 03:29:04 2010 +0200
6350 gl: Convert span renderer to use cairo_gl_composite_begin/end()
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.
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(-)
6365 commit 6e81d85e3682f14e1c5dbe97dda2cc1fcd32df3a
6366 Author: Benjamin Otte <otte@redhat.com>
6367 Date: Sun May 16 03:27:28 2010 +0200
6369 gl: Change _cairo_gl_composite_emit_rect()
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.
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(-)
6380 commit f8398cc2d83eb9ac37874f71d4f8805dbf0df412
6381 Author: Benjamin Otte <otte@redhat.com>
6382 Date: Sun May 16 02:34:18 2010 +0200
6384 gl: remove unused variables from span renderer
6386 src/cairo-gl-surface.c | 7 -------
6387 1 file changed, 7 deletions(-)
6389 commit f5c5077def47b91b57dfbc8c2622b4aaf5ca8fbb
6390 Author: Benjamin Otte <otte@redhat.com>
6391 Date: Sun May 16 02:06:43 2010 +0200
6393 gl: Support component alpha in gl_composite_t
6395 Use that to get rid of cairo_gl_surface_composite_component_alpha()
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(-)
6403 commit 88c118f891ca9ba472b8acff33829de845bb507c
6404 Author: Benjamin Otte <otte@redhat.com>
6405 Date: Sun May 16 00:24:17 2010 +0200
6407 gl: Implement _composite_emit_rect() and _composite_end()
6409 And use it in cairo_gl_surface_composite()
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(-)
6416 commit b96735f7b465a16182c4c8555878ba16b947e8f9
6417 Author: Benjamin Otte <otte@redhat.com>
6418 Date: Sat May 15 22:12:12 2010 +0200
6420 gl: Add _cairo_gl_composite_begin() function
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.
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(-)
6434 commit 211a8b8234d24dd8e00332cb0b0e625ac1ffef58
6435 Author: Benjamin Otte <otte@redhat.com>
6436 Date: Sat May 15 21:27:58 2010 +0200
6438 gl: make _cairo_operand_destroy private
6440 src/cairo-gl-composite.c | 2 +-
6441 src/cairo-gl-private.h | 3 ---
6442 2 files changed, 1 insertion(+), 4 deletions(-)
6444 commit bf1060252abaa97eb5ce149f8b99055b42096c67
6445 Author: Benjamin Otte <otte@redhat.com>
6446 Date: Sat May 15 21:26:55 2010 +0200
6448 gl: make show_glyphs use the cairo_composite_t API
6450 src/cairo-gl-glyphs.c | 17 ++++++++++-------
6451 1 file changed, 10 insertions(+), 7 deletions(-)
6453 commit 948290de12c5f451d361903f0f52e0cde5527180
6454 Author: Benjamin Otte <otte@redhat.com>
6455 Date: Sat May 15 20:33:00 2010 +0200
6457 gl: Make the span renderer use the new composite APIs
6459 src/cairo-gl-surface.c | 32 ++++++++++++++++++++------------
6460 1 file changed, 20 insertions(+), 12 deletions(-)
6462 commit 7ad8c3b45691ce0c8a86180bb3c1117b9a9980c0
6463 Author: Benjamin Otte <otte@redhat.com>
6464 Date: Sat May 15 20:07:44 2010 +0200
6466 gl: Move composite code into own file
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"
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(-)
6478 commit 3ff32b00f0f85a853163c20b101ac5dd6a07da77
6479 Author: Benjamin Otte <otte@redhat.com>
6480 Date: Sat May 15 18:20:56 2010 +0200
6482 gl: cairo_gl_compsite_setup_t => cairo_gl_composite_t
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(-)
6489 commit c16edee26fb9f1669ee0ce1a61f0c54d802c6c7b
6490 Author: Benjamin Otte <otte@redhat.com>
6491 Date: Sat May 15 17:33:24 2010 +0200
6493 gl: use glBlendFuncSeparate()
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.
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(-)
6505 commit 4f5221a834a883262cce607d247f607d6c200363
6506 Author: Benjamin Otte <otte@redhat.com>
6507 Date: Wed May 12 21:12:37 2010 +0200
6509 gl: acquire device manually in finish, as the default way will error
6511 We'll get CAIRO_STATUS_DEVICE_FINISHED, d'oh
6513 src/cairo-gl-device.c | 16 ++++++++--------
6514 1 file changed, 8 insertions(+), 8 deletions(-)
6516 commit 3f6300444928d12bf4a6e2f6f2c5fec1de7dba8e
6517 Author: Benjamin Otte <otte@redhat.com>
6518 Date: Wed May 12 20:53:20 2010 +0200
6520 gl: Put shaders into a cache
6522 This allows to grow the complexity of the shaders without enlarging the
6523 static array to unreasonable sizes.
6525 The cache size of 64 is essentially random.
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(-)
6532 commit 08b04caf52518f1672694341355b5f5418008e78
6533 Author: Benjamin Otte <otte@redhat.com>
6534 Date: Wed May 12 18:10:04 2010 +0200
6536 gl: Add cairo_gl_composite_setup_init/fini() functions
6538 Simplifies the main code paths, and can be extended to do dest copies.
6540 src/cairo-gl-private.h | 13 +++++++
6541 src/cairo-gl-surface.c | 91 +++++++++++++++++++++++++++---------------------
6542 2 files changed, 65 insertions(+), 39 deletions(-)
6544 commit aa14df0db5e4f236a9668ceda4e148e7d3ba0e9f
6545 Author: Benjamin Otte <otte@redhat.com>
6546 Date: Wed May 12 17:01:47 2010 +0200
6548 gl: move operator check
6550 component alpha compositing checks the operator itself
6552 src/cairo-gl-surface.c | 6 +++---
6553 1 file changed, 3 insertions(+), 3 deletions(-)
6555 commit a3ee0a7f113ed38df66580ff7e38a79759b0c933
6556 Author: Benjamin Otte <otte@redhat.com>
6557 Date: Wed May 12 16:57:32 2010 +0200
6559 gl: Programmatically generate fragment shaders
6561 src/cairo-gl-shaders.c | 428 +++++++++++++++++++++---------------------------
6562 src/cairo-gl-surface.c | 6 +-
6563 2 files changed, 186 insertions(+), 248 deletions(-)
6565 commit fe43b13052f7063f880aeeebda1880a6a2097922
6566 Author: Benjamin Otte <otte@redhat.com>
6567 Date: Wed May 12 13:57:06 2010 +0200
6569 gl: Automatically generate the vertex shader source
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).
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(-)
6583 commit 405eee07ad9a5bc325b339b8588facb905fb28f5
6584 Author: Benjamin Otte <otte@redhat.com>
6585 Date: Wed May 12 00:02:28 2010 +0200
6587 gl: Get rid of cairo_gl_shader_source/mask_t
6589 Use the cairo_gl_operand_type_t instead. Those enums are pretty much
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(-)
6598 commit 5149bb87d7b547766ce6ff4976217454adbab562
6599 Author: Benjamin Otte <otte@redhat.com>
6600 Date: Tue May 11 21:35:13 2010 +0200
6602 gl: s/_cairo_gl_set_destination/_cairo_gl_context_set_destination/
6604 It's an operation on the context, so name it accordingly
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(-)
6612 commit 9f34e403f38192d711304fbde4dedbaa8e15fd6e
6613 Author: Benjamin Otte <otte@redhat.com>
6614 Date: Tue May 11 13:15:16 2010 +0200
6616 gl: Share vertex shaders
6618 Previously, we created a new vertex shader for every shader program we
6619 used. Now the code shares identical vertex shaders between programs.
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(-)
6627 commit 562c323ae8689907d7a62a7c2f5c10fb8d055608
6628 Author: Adrian Johnson <ajohnson@redneon.com>
6629 Date: Sun May 16 17:47:13 2010 +0930
6631 cff: Use correct glyph advance when subsetting cff fonts
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.
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(-)
6642 commit edcefa87ed0a8ff59b54ef9251182ce68f9158ba
6643 Author: Adrian Johnson <ajohnson@redneon.com>
6644 Date: Wed May 12 23:12:55 2010 +0930
6646 type1: Use correct glyph advance when subsetting type 1 fonts
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.
6652 https://bugs.freedesktop.org/show_bug.cgi?id=28061
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(-)
6660 commit 34fd094b3be54138c20ea5c4aab1d9597d056f35
6661 Author: Chris Wilson <chris@chris-wilson.co.uk>
6662 Date: Sun May 16 10:23:30 2010 +0100
6664 rtree: Actually pin the node when pinning.
6668 src/cairo-rtree-private.h | 2 +-
6669 1 file changed, 1 insertion(+), 1 deletion(-)
6671 commit 63062511f6755af9ddd2985250465f94ebc5a3e8
6672 Author: Chris Wilson <chris@chris-wilson.co.uk>
6673 Date: Sun May 16 10:15:42 2010 +0100
6675 boilerplate: Exercise manual double-buffering to a window
6677 Shouldn't possibly go wrong, but the mix of fbo and Window might prove
6680 boilerplate/cairo-boilerplate-gl.c | 117 ++++++++++++++++++++++++++++++++++++
6681 1 file changed, 117 insertions(+)
6683 commit 605be3182308ec7dfe15e9d89890c33800b1eea9
6684 Author: Chris Wilson <chris@chris-wilson.co.uk>
6685 Date: Sun May 16 10:11:02 2010 +0100
6687 cairo: Missing private markup for _cairo_format_to_pixman_format
6689 src/cairoint.h | 2 +-
6690 1 file changed, 1 insertion(+), 1 deletion(-)
6692 commit 14d6c3e054da89e47fc82ea29a708290eefe1357
6693 Author: Chris Wilson <chris@chris-wilson.co.uk>
6694 Date: Sun May 16 10:07:07 2010 +0100
6696 configure: Include PTHREAD_CFLAGS in CAIRO_LDFLAGS
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.
6703 1 file changed, 1 insertion(+)
6705 commit c3df7e6d58364f883d91567757ed999ea88e10ca
6706 Author: Chris Wilson <chris@chris-wilson.co.uk>
6707 Date: Sun May 16 09:54:04 2010 +0100
6709 rtree: Replace undeclared TRUE/FALSE with 1/0
6711 src/cairo-rtree-private.h | 4 ++--
6712 1 file changed, 2 insertions(+), 2 deletions(-)
6714 commit 465ceb330eada9937945f5c4d156169167d4bf8c
6715 Author: Andrea Canciani <ranma42@gmail.com>
6716 Date: Sun May 16 09:41:12 2010 +0200
6718 test: improve copyright notices
6720 Conform copyright notices to a1-image-sample.c
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(-)
6728 commit e8bc25fdb21340b0a5a25f7193fd0bc5de540a50
6729 Author: Andrea Canciani <ranma42@valium.area51.sns.it>
6730 Date: Fri May 14 21:40:13 2010 +0200
6732 test: add linear-gradient-extend and radial-gradient-extend
6734 Check that constant gradient to solid color optimization are only
6735 applied if the extents permit it.
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(+)
6744 commit a9d821b7a0f582b3d1b0175adee3350c81061a94
6745 Author: Benjamin Otte <otte@redhat.com>
6746 Date: Fri May 14 21:06:18 2010 +0200
6748 gl: gl surfaces are only similar when they share the same device
6750 Fixes gl-surface-source test for gl target
6752 src/cairo-gl-surface.c | 2 +-
6753 1 file changed, 1 insertion(+), 1 deletion(-)
6755 commit 435329a70f172c8cec72831dd7a2b2cfc0496342
6756 Author: Richard Procter <richard.n.procter@gmail.com>
6757 Date: Fri May 14 14:48:46 2010 -0400
6759 Bug 28100 - Font option CAIRO_HINT_METRICS_OFF unhonoured on win32
6763 src/cairo-win32-font.c | 2 +-
6764 1 file changed, 1 insertion(+), 1 deletion(-)
6766 commit 3a550eb2253588372b2c071b3c3152d5271c1aa2
6767 Author: Benjamin Otte <otte@redhat.com>
6768 Date: Thu May 13 21:17:19 2010 +0200
6770 gl: Remove gradient optimizations
6772 These optimizations are done in cairo-gstate.c these days.
6774 src/cairo-gl-surface.c | 31 -------------------------------
6775 1 file changed, 31 deletions(-)
6777 commit 3b1c0a4bd66660780095e6016e3db451f34503a3
6778 Author: Benjamin Otte <otte@redhat.com>
6779 Date: Fri May 14 15:56:17 2010 +0200
6781 fallback: Remove span renderer paths
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.
6787 Note that the only user of the code was the GL backend anyway.
6789 src/cairo-surface-fallback.c | 67 ------------------------------------------
6790 1 file changed, 67 deletions(-)
6792 commit e3b2212bc5c4884eab356ae263b8318e10c379ac
6793 Author: Benjamin Otte <otte@redhat.com>
6794 Date: Thu May 13 15:14:29 2010 +0200
6796 build: Fix pthread detection
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
6802 http://www.gnu.org/software/autoconf-archive/
6803 http://www.gnu.org/software/autoconf-archive/ax_pthread.html
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(-)
6812 commit acfbf95a0c7620359fd917224b5b391702740190
6813 Author: Benjamin Otte <otte@redhat.com>
6814 Date: Thu May 13 14:21:21 2010 +0200
6816 test: Make global variables in new test static
6818 It seems there's no gcc flag that warns about this.
6820 test/zero-mask.c | 4 ++--
6821 1 file changed, 2 insertions(+), 2 deletions(-)
6823 commit c69143e3f9c95ab3937a7efb8e4de170c4edb648
6824 Author: Benjamin Otte <otte@redhat.com>
6825 Date: Wed May 12 21:14:36 2010 +0200
6827 gl: Don't keep a temporary surface in the device
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
6834 src/cairo-gl-glyphs.c | 36 ++++++++----------------------------
6835 src/cairo-gl-private.h | 1 -
6836 2 files changed, 8 insertions(+), 29 deletions(-)
6838 commit ec1ca17b71b41159ea8754d42954863b62623536
6839 Author: Benjamin Otte <otte@redhat.com>
6840 Date: Thu May 13 12:07:53 2010 +0200
6842 gl: Don't create 0x0 surfaces
6844 We get a very annoyed libGL if we try to create 0x0 textures, so we
6845 return an image surface instead.
6847 Tested by the zero-mask test.
6849 src/cairo-gl-surface.c | 4 ++++
6850 1 file changed, 4 insertions(+)
6852 commit 108e3f5031fc16843197382af78af299b19ef290
6853 Author: Benjamin Otte <otte@redhat.com>
6854 Date: Thu May 13 12:01:39 2010 +0200
6856 Use a solid color for 0xN and Nx0 surfaces
6858 This gets around the need to check for 0-sized surfaces in the backends.
6860 src/cairo-gstate.c | 15 +++++++++++++++
6861 1 file changed, 15 insertions(+)
6863 commit 18c963824ebbb0e7054e682ecb5664a282a58552
6864 Author: Benjamin Otte <otte@redhat.com>
6865 Date: Thu May 13 11:56:22 2010 +0200
6867 Make _cairo_color_equal() work for unmultiplied colors, too
6869 Color stop colors are unmultiplied, and we use it there.
6871 src/cairo-color.c | 10 ++++++++--
6872 1 file changed, 8 insertions(+), 2 deletions(-)
6874 commit 7bd8d0db1f4ac448c93d6d342726f64a0d6300e3
6875 Author: Benjamin Otte <otte@redhat.com>
6876 Date: Thu May 13 11:23:33 2010 +0200
6878 image: Fix wholly unbounded fixup
6880 Tested by zero-mask test.
6882 src/cairo-image-surface.c | 2 +-
6883 1 file changed, 1 insertion(+), 1 deletion(-)
6885 commit 8aa50b5a7873b8317d0593105497607dbb2fae1d
6886 Author: Benjamin Otte <otte@redhat.com>
6887 Date: Thu May 13 10:27:37 2010 +0200
6889 cairo_paint_with_alpha(cr, 0.0) is only a noop when bounded by mask
6892 1 file changed, 2 insertions(+), 1 deletion(-)
6894 commit ee32dfb3de035e73cb8c2073c0826daf244e3845
6895 Author: Benjamin Otte <otte@redhat.com>
6896 Date: Thu May 13 10:04:49 2010 +0200
6898 test: Add a test for various zero mask operations
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(-)
6906 commit 986ae4232067d4f33931d98fb6324871a1025633
6907 Author: Owen W. Taylor <otaylor@fishsoup.net>
6908 Date: Thu Feb 25 15:18:22 2010 -0500
6910 language bindings guide: clarify mapping for cairo_pattern_create_rgb[a]
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.
6916 doc/public/language-bindings.xml | 9 +++++++--
6917 1 file changed, 7 insertions(+), 2 deletions(-)
6919 commit 18b48a6ebc044c07f08bafd0abcb68c595c5746c
6920 Author: Chris Wilson <chris@chris-wilson.co.uk>
6921 Date: Thu May 13 10:00:18 2010 +0100
6923 Make cairo_color_stop_t a unique type.
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.
6929 The existence of the two separate types is debatable and open for
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(-)
6942 commit dfa2544f158930b002df74e676f3ef7aeeee1bd4
6943 Author: Chris Wilson <chris@chris-wilson.co.uk>
6944 Date: Thu May 13 09:52:39 2010 +0100
6946 color: Special case comparing color stops.
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.
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(-)
6960 commit 4741d33cf67409a6fddbc32a5d0c8d68224cd939
6961 Author: Chris Wilson <chris@chris-wilson.co.uk>
6962 Date: Thu May 13 09:31:10 2010 +0100
6964 gstate: Don't reduce solid source and mask for SOURCE and CLEAR
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.
6969 src/cairo-gstate.c | 3 ++-
6970 1 file changed, 2 insertions(+), 1 deletion(-)
6972 commit ee871940ffe229ed285e618566e45c7d28c5857c
6973 Author: Andrea Canciani <ranma42@gmail.com>
6974 Date: Thu May 13 01:54:39 2010 +0200
6976 Revert bd672d080ca0036ef1b88d26583e6af36f541461
6977 on src/cairo-composite-rectangles.c
6979 The extent of the operation can be larger than the source if
6980 the operator is not bounded by the source.
6982 Fixes clip-unbounded, operator-source, surface-pattern-operator
6984 src/cairo-composite-rectangles.c | 7 +++----
6985 1 file changed, 3 insertions(+), 4 deletions(-)
6987 commit 0870c6fb5b39dcc04fa376123848adde2d06d2ce
6988 Author: Chris Wilson <chris@chris-wilson.co.uk>
6989 Date: Thu Apr 15 20:31:24 2010 +0100
6991 gcc-4.5 warnings and optimisation flags.
6993 build/configure.ac.warnings | 4 ++--
6994 1 file changed, 2 insertions(+), 2 deletions(-)
6996 commit cf0933a05aedb66b5d8999c84b935349b25dd974
6997 Author: Chris Wilson <chris@chris-wilson.co.uk>
6998 Date: Mon Apr 12 10:42:14 2010 +0100
7002 Catch up with changes in APIs, still no substance and the integration
7003 with winsys handles needs review.
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(-)
7011 commit bd672d080ca0036ef1b88d26583e6af36f541461
7012 Author: Chris Wilson <chris@chris-wilson.co.uk>
7013 Date: Fri Mar 26 19:37:08 2010 +0000
7015 drm: code dump, sorry.
7017 Lots upon lots of tiny fixes mixed in with experimental code. :(
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 +
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(-)
7059 commit c8fba4960339797521afbf8068fcbe62d064f5dc
7060 Author: Chris Wilson <chris@chris-wilson.co.uk>
7061 Date: Sat Apr 3 15:38:04 2010 +0100
7063 rtree: Remove the unused evict hook.
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(-)
7072 commit 2a0726337368462046ef84d9be4cf59734b39806
7073 Author: Chris Wilson <chris@chris-wilson.co.uk>
7074 Date: Sat Apr 3 15:30:18 2010 +0100
7076 rtree: defer propagating pinned nodes until eviction.
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.
7084 src/cairo-rtree-private.h | 12 ++++++++++--
7085 src/cairo-rtree.c | 33 +++++++++++----------------------
7086 2 files changed, 21 insertions(+), 24 deletions(-)
7088 commit cbe8fd0794adaccdf3eb15eef780a030e3d51784
7089 Author: Chris Wilson <chris@chris-wilson.co.uk>
7090 Date: Sat Apr 3 14:56:25 2010 +0100
7092 script: Avoid the expensive of the redundant memset.
7094 As we are about to immediately fill the entire image, allocate the
7095 memory ourselves to avoid the redundant memset performed by pixman.
7097 util/cairo-script/cairo-script-operators.c | 39 ++++++++++++++++++----------
7098 1 file changed, 26 insertions(+), 13 deletions(-)
7100 commit b9f7a4b5261b6d4e7bdbb5cc56d78d50ad1bd4a7
7101 Author: Chris Wilson <chris@chris-wilson.co.uk>
7102 Date: Sat Apr 3 14:48:36 2010 +0100
7104 script: Don't hash the entire image.
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...
7110 util/cairo-script/cairo-script-operators.c | 35 +++++++++++++++++++---------
7111 1 file changed, 24 insertions(+), 11 deletions(-)
7113 commit a85c6c1e36273d534f01ade0714b0592b6bed5ab
7114 Author: Chris Wilson <chris@chris-wilson.co.uk>
7115 Date: Sat Apr 3 14:09:56 2010 +0100
7117 gstate: reduce a couple more operators
7119 src/cairo-gstate.c | 15 ++++++++++++++-
7120 1 file changed, 14 insertions(+), 1 deletion(-)
7122 commit a3cb52e4037db9e565d32f85d69c364b606555e9
7123 Author: Chris Wilson <chris@chris-wilson.co.uk>
7124 Date: Sat Apr 3 13:36:18 2010 +0100
7126 simplify pattern extents for translation matrices
7128 src/cairo-pattern.c | 22 ++++++++++++++--------
7129 1 file changed, 14 insertions(+), 8 deletions(-)
7131 commit d45c7dc62d6b036bbbe85c3c1951807e055930d9
7132 Author: Chris Wilson <chris@chris-wilson.co.uk>
7133 Date: Thu Apr 1 17:09:11 2010 +0100
7135 xcb: discard glyph mask and use dst directly when possible.
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(-)
7143 commit a8b611ea8eb90f190ee3a9e7999e08e2d865ac43
7144 Author: Chris Wilson <chris@chris-wilson.co.uk>
7145 Date: Sat Mar 27 08:23:10 2010 +0000
7147 clip: Fill instead of creating intermediate surfaces.
7149 src/cairo-clip.c | 4 +++-
7150 1 file changed, 3 insertions(+), 1 deletion(-)
7152 commit fb53d05a69d0291fe68dfe8669b5c1f7636ede1a
7153 Author: Chris Wilson <chris@chris-wilson.co.uk>
7154 Date: Wed May 12 20:06:34 2010 +0100
7156 test: Remove pthread_yield()
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.
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(-)
7167 commit cdd98dba6a62360071aebb6dbbb6be2ab6be368f
7168 Author: Chris Wilson <chris@chris-wilson.co.uk>
7169 Date: Wed May 12 19:35:15 2010 +0100
7171 win32-printing: compile fix.
7173 Missing arg for _cairo_recording_surface_replay_region().
7175 src/cairo-win32-printing-surface.c | 2 +-
7176 1 file changed, 1 insertion(+), 1 deletion(-)
7178 commit 35307fc66f649cc042ec07b7b79277d7ee5987f3
7179 Author: Jonathan Kew <jfkthame@gmail.com>
7180 Date: Tue May 11 15:12:01 2010 -0400
7182 win32: Grow glyph extents to account for ClearType
7184 Add extra pixel on each side of the glyph's black box returned by
7185 GetGlyphOutlineW, to avoid clipping ClearType pixels.
7187 From https://bugzilla.mozilla.org/show_bug.cgi?id=445087
7189 src/cairo-win32-font.c | 13 +++++++++++++
7190 1 file changed, 13 insertions(+)
7192 commit d65e8064c0bd3f2d5ad200493bfefb89aefbba55
7193 Author: Robert O'Callahan <robert@ocallahan.org>
7194 Date: Tue May 11 13:59:58 2010 -0400
7196 Ensure the quartz backend returns the first stop for negative positions on the gradient line of a nonrepeating linear gradient.
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.
7202 From https://bugzilla.mozilla.org/show_bug.cgi?id=513395
7204 src/cairo-quartz-surface.c | 24 ++++++++++++++++++++++--
7205 1 file changed, 22 insertions(+), 2 deletions(-)
7207 commit ce27db9a558cbf4065b18aed55cc706fc0a6d128
7208 Author: Robert O'Callahan <robert@ocallahan.org>
7209 Date: Tue May 11 13:59:52 2010 -0400
7211 Don't repeat a Quartz gradient more times than necessary, to avoid Quartz quality problems when there are lots of repeated color stops.
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.
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.
7235 Also, using 'width' here didn't look right:
7236 - y_rep_end = (int) ceil((surface->extents.width - MAX(mstart.y, mend.y))
7239 From https://bugzilla.mozilla.org/show_bug.cgi?id=508730
7241 src/cairo-quartz-surface.c | 261 ++++++++++++++++++++++++++++++--------------
7242 1 file changed, 179 insertions(+), 82 deletions(-)
7244 commit 7b4e63d5b8bda8e9ea1f6455d779070f64f07f6f
7245 Author: Robert O'Callahan <robert@ocallahan.org>
7246 Date: Tue May 11 13:59:43 2010 -0400
7248 Clean up Quartz gradient code by moving some local variables to static const globals.
7250 From https://bugzilla.mozilla.org/show_bug.cgi?id=508730
7252 src/cairo-quartz-surface.c | 31 +++++++++++++------------------
7253 1 file changed, 13 insertions(+), 18 deletions(-)
7255 commit 8302952dcff20a1d2de194152ace810c7056f994
7256 Author: Robert O'Callahan <robert@ocallahan.org>
7257 Date: Tue May 11 13:58:10 2010 -0400
7259 quartz: Don't fallback to pixman for repeating radial gradients.
7261 Figuring out where the outer circle should move to is tricky. I hope the
7262 algebra in there is understandable.
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).
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.
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.
7274 From https://bugzilla.mozilla.org/show_bug.cgi?id=508227
7276 src/cairo-quartz-surface.c | 203 +++++++++++++++++++++++++++++++++++++++-----
7277 1 file changed, 180 insertions(+), 23 deletions(-)
7279 commit 1bda2334b32394a821e6286fbc76617e68da3895
7280 Author: Chris Wilson <chris@chris-wilson.co.uk>
7281 Date: Tue May 11 13:51:38 2010 +0100
7283 trace: And for the bonus round... Make it compile.
7285 util/cairo-trace/trace.c | 4 ++--
7286 1 file changed, 2 insertions(+), 2 deletions(-)
7288 commit b23f3bd20450aae764f9f9362c560b00bf68636b
7289 Author: Chris Wilson <chris@chris-wilson.co.uk>
7290 Date: Tue May 11 13:54:08 2010 +0100
7292 trace: Try wrapping FT_Open_Face()
7294 We have to be careful to disambuigate an internal call by FreeType from
7297 util/cairo-trace/trace.c | 38 ++++++++++++++++++++++++++------------
7298 1 file changed, 26 insertions(+), 12 deletions(-)
7300 commit ee446910aa1db0ca0b54791a2ef3bb24b277c9a4
7301 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
7302 Date: Mon May 10 15:06:25 2010 -0400
7304 Add an additional set parantheses around the container_of macro
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.
7311 src/cairoint.h | 2 +-
7312 1 file changed, 1 insertion(+), 1 deletion(-)
7314 commit e540d040bddc717f17e0e2510cffc0bc3cb41ccd
7315 Author: Chris Wilson <chris@chris-wilson.co.uk>
7316 Date: Mon May 10 13:36:53 2010 +0100
7318 xcb: trivial memfault fixes.
7320 The first fixes required to kick-start memfault testing of the xcb
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(-)
7334 commit 8b486db9a9d74b40df296382eb1833bc40ae791a
7335 Author: Chris Wilson <chris@chris-wilson.co.uk>
7336 Date: Mon May 10 12:45:31 2010 +0100
7338 region: _cairo_region_create_in_error()
7340 Avoid leaks when reporting memfault associated with constructing
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(-)
7348 commit 9d863cd3942c3086c24d67305f7a5892604d0eeb
7349 Author: Chris Wilson <chris@chris-wilson.co.uk>
7350 Date: Sat May 8 18:20:11 2010 +0100
7352 xcb: Find the correct xcb_screen_t for faking Screen
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.
7359 src/cairo-xlib-xcb-surface.c | 23 +++++++++++++++++++++--
7360 1 file changed, 21 insertions(+), 2 deletions(-)
7362 commit 448d3571088463fc61641badcdfdc8c0002ae12a
7363 Author: Chris Wilson <chris@chris-wilson.co.uk>
7364 Date: Sat May 8 09:59:54 2010 +0100
7366 xcb: Upload images in place.
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
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(-)
7377 commit e48cbd3b47a6e4f7c1f66b3085df41546460e477
7378 Author: Chris Wilson <chris@chris-wilson.co.uk>
7379 Date: Sat May 8 09:56:46 2010 +0100
7381 xcb: Reset picture after failed snapshot.
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.
7386 src/cairo-xcb-surface-render.c | 4 ++--
7387 1 file changed, 2 insertions(+), 2 deletions(-)
7389 commit 4e3c19833ef8631c1f1cd54870c0a86d88252886
7390 Author: Chris Wilson <chris@chris-wilson.co.uk>
7391 Date: Fri May 7 21:30:13 2010 +0100
7393 test: Force cairo-test-suite to return SUCCESS
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.
7399 test/cairo-test-runner.c | 10 ++++++++++
7400 1 file changed, 10 insertions(+)
7402 commit ad8abc01105f02a05497969b6b5ec2c8742daeb2
7403 Author: Chris Wilson <chris@chris-wilson.co.uk>
7404 Date: Fri May 7 21:28:58 2010 +0100
7406 subsurface: Don't double apply device offset for deep subsurfaces.
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
7412 src/cairo-surface-subsurface.c | 10 +++++-----
7413 1 file changed, 5 insertions(+), 5 deletions(-)
7415 commit d2a250ad33dcd1a3960b07d2f0270266a3f3f106
7416 Author: Benjamin Otte <otte@redhat.com>
7417 Date: Fri May 7 20:36:33 2010 +0200
7419 gl: Make the shader implementation per-context, not global
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(-)
7428 commit 4571055c46e82cbb6d3ab47860d63e400b338238
7429 Author: Benjamin Otte <otte@redhat.com>
7430 Date: Wed May 5 19:36:46 2010 +0200
7432 gl: Print GL errors when releasing the device
7434 Don't scatter calls to error printing around everywhere, instead do it
7435 in the one place where it matters.
7437 Also, convert the functions to macros, so we can use __FILE__ and
7438 __LINE__ when printing a warning
7440 src/cairo-gl-private.h | 15 ++++++++++-----
7441 src/cairo-gl-surface.c | 22 +---------------------
7442 2 files changed, 11 insertions(+), 26 deletions(-)
7444 commit 59b31aeed9b3ec2a1ac6da188ef5e86d20626662
7445 Author: Benjamin Otte <otte@redhat.com>
7446 Date: Sat May 8 15:09:39 2010 +0200
7448 gl: Make check_span_renderer() call not require a device lock
7450 Note that we didn't lock the device previously, so the function was
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(-)
7458 commit 81f4dd65a32efae645b826b84e8382f7bf7a9b2d
7459 Author: Chris Wilson <chris@chris-wilson.co.uk>
7460 Date: Fri May 7 22:35:18 2010 +0100
7462 cairo: Special case cairo_t with NULL_POINTER
7464 Avoid allocation for the potential user error of attempting to use
7467 src/cairo.c | 24 +++++++++++++++++++++++-
7468 1 file changed, 23 insertions(+), 1 deletion(-)
7470 commit a61570a55e70040ffcf8ff3cb2c7943e71a5e2a0
7471 Author: Chris Wilson <chris@chris-wilson.co.uk>
7472 Date: Fri May 7 22:18:52 2010 +0100
7474 test/copy-path: memfault status checks.
7476 test/copy-path.c | 61 ++++++++++++++++++++++++++++++++++--------------------
7477 1 file changed, 38 insertions(+), 23 deletions(-)
7479 commit e6180d1d5e29a91f1bfc20956bb017ab74fb8b8e
7480 Author: Chris Wilson <chris@chris-wilson.co.uk>
7481 Date: Fri May 7 22:18:10 2010 +0100
7483 surface-fallback: Only destroy the clip after it has been initialized.
7485 More memfault detected error path errors.
7487 src/cairo-surface-fallback.c | 7 ++++---
7488 1 file changed, 4 insertions(+), 3 deletions(-)
7490 commit 01a208f7e3785254dc101f09a73943ec7cfb1d6e
7491 Author: timeless <timeless@bemail.org>
7492 Date: Fri May 7 10:24:49 2010 -0400
7494 Remove useless null checks of a and b in _cairo_path_fixed_equal
7496 'a' and 'b' are dereferenced before being checked for null.
7498 From https://bugzilla.mozilla.org/show_bug.cgi?id=555706
7500 src/cairo-path-fixed.c | 22 ++++++++--------------
7501 1 file changed, 8 insertions(+), 14 deletions(-)
7503 commit 0068d9b5cd09a7aa0c5a2ab4da97ca181934ff56
7504 Author: Jonathan Kew <jfkthame@gmail.com>
7505 Date: Fri May 7 10:16:32 2010 -0400
7507 quartz: Work around bad glyph extents returned by CoreGraphics for empty glyphs in Al Bayan font
7509 This resolves the problem by checking for the crazy glyph bbox result from
7510 CoreGraphics, and replacing it with an empty rect.
7512 From https://bugzilla.mozilla.org/show_bug.cgi?id=534260
7514 src/cairo-quartz-font.c | 10 ++++++++++
7515 1 file changed, 10 insertions(+)
7517 commit c5d9643417690380c102bf0b6ad195cb264d3feb
7518 Author: Chris Wilson <chris@chris-wilson.co.uk>
7519 Date: Fri May 7 11:24:28 2010 +0100
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(+)
7551 commit b9e9ff59348412a1f1f2c57d6185c84f77874c26
7552 Author: Chris Wilson <chris@chris-wilson.co.uk>
7553 Date: Fri May 7 11:21:50 2010 +0100
7555 subsurface: Include device offset in extents
7557 Adjust the subsurface extents so that the user specifies the extents in
7558 world space rather than device space.
7560 src/cairo-surface-subsurface.c | 10 ++++++++--
7561 1 file changed, 8 insertions(+), 2 deletions(-)
7563 commit 5e3b28ffeac3fc7239c7ada6992e4794a27b0818
7564 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
7565 Date: Thu May 6 22:27:09 2010 -0400
7567 Remove comma from the end of the CAIRO_PATTERN_ACQUIRE enum
7569 src/cairoint.h | 2 +-
7570 1 file changed, 1 insertion(+), 1 deletion(-)
7572 commit cc8442514ab15f08708ecb26f499c764a7d171f4
7573 Author: Chris Wilson <chris@chris-wilson.co.uk>
7574 Date: Thu May 6 21:50:16 2010 +0100
7576 gl: Enable fixed-function without glsl.
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.
7583 src/cairo-gl-surface.c | 56 +++++++++++++++++++++++++++---------------------
7584 1 file changed, 31 insertions(+), 25 deletions(-)
7586 commit 30d358e098353af24f16cdb7efe41f10f276f559
7587 Author: Metal Sonic <kidlinux96@gmail.com>
7588 Date: Thu May 6 16:07:43 2010 -0400
7590 Update license blocks to use "Mozilla Foundation" instead of "Mozilla Corporation"
7592 From https://bugzilla.mozilla.org/show_bug.cgi?id=507387
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(-)
7604 commit 506636e19edcdb656c94f61c915c9d49829dade8
7605 Author: Chris Wilson <chris@chris-wilson.co.uk>
7606 Date: Thu May 6 17:21:59 2010 +0100
7608 cairo: stash a number of contexts for use with NO_MUTEX
7610 The implementation is the same as the atomic one (bar the use of atomic
7611 primitives to manipulate the occupancy!).
7613 Patch based on the original by Jeff Muizelaar.
7615 src/cairo.c | 33 ++++++++++++++++++++++++++++++++-
7616 1 file changed, 32 insertions(+), 1 deletion(-)
7618 commit 91dfee420c3e9d85e5cd4f2cec6dc708c0e471a2
7619 Author: Chris Wilson <chris@chris-wilson.co.uk>
7620 Date: Thu May 6 17:03:56 2010 +0100
7622 device: Reorder finalization so that user data is destroyed last.
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).
7629 src/cairo-device.c | 9 +++++++--
7630 src/cairo-surface.c | 4 ++--
7631 2 files changed, 9 insertions(+), 4 deletions(-)
7633 commit 2658d7ef5f8f7e06929f4b1cae64e5312db24ec4
7634 Author: Chris Wilson <chris@chris-wilson.co.uk>
7635 Date: Thu May 6 17:02:39 2010 +0100
7637 test/gl-surface-source: Attach GLXContext to device user data.
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).
7643 test/gl-surface-source.c | 26 +++++++++++---------------
7644 1 file changed, 11 insertions(+), 15 deletions(-)
7646 commit f5167dc2e1a13d8c4e5d66d7178a24b9b5e7ac7a
7647 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
7648 Date: Thu May 6 11:43:52 2010 -0400
7650 Add an implementation of ffs() for MSVC
7652 src/cairo-compiler-private.h | 15 +++++++++++++++
7653 1 file changed, 15 insertions(+)
7655 commit a2a2bd62ff37e2642f671ca7ebf26954e1856abe
7656 Author: Chris Wilson <chris@chris-wilson.co.uk>
7657 Date: Thu May 6 14:39:30 2010 +0100
7659 surface-fallback: Handle memfaults during clipping.
7661 Don't be lazy, propagate the error rather than asserting.
7663 src/cairo-surface-fallback.c | 26 +++++++++++++++-----------
7664 1 file changed, 15 insertions(+), 11 deletions(-)
7666 commit 2e3acee410ff127d4557ca8191625338cd225313
7667 Author: Chris Wilson <chris@chris-wilson.co.uk>
7668 Date: Thu May 6 14:38:55 2010 +0100
7670 test: Add gl-surface-source
7672 Exercise using GL sources.
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(+)
7682 commit 75d8550891b8b2c09200aaaa812c6c9332161cd7
7683 Author: Chris Wilson <chris@chris-wilson.co.uk>
7684 Date: Thu May 6 13:50:27 2010 +0100
7686 test/clip-contexts: Free secondary context
7688 test/clip-contexts.c | 2 ++
7689 1 file changed, 2 insertions(+)
7691 commit bf83bf00a75343f7d1dcd15dc4eeec1b1a4b9428
7692 Author: Chris Wilson <chris@chris-wilson.co.uk>
7693 Date: Thu May 6 10:53:48 2010 +0100
7695 test: Add subsurface-image-repeat
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.
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(+)
7708 commit 88986fdbef795c61cd60231046663d3cd80b4947
7709 Author: Chris Wilson <chris@chris-wilson.co.uk>
7710 Date: Thu May 6 10:46:49 2010 +0100
7712 xlib: Remove reference counting for cairo_xlib_screen_t
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
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(-)
7725 commit 632fabc77d89254e2e6915148fa870f23c2a5722
7726 Author: Chris Wilson <chris@chris-wilson.co.uk>
7727 Date: Thu May 6 10:10:38 2010 +0100
7729 xlib: Convert visual array to a cairo_list_t
7731 It's simpler and more memory efficient.
7733 src/cairo-xlib-private.h | 4 ++-
7734 src/cairo-xlib-screen.c | 76 ++++++++++++++--------------------------------
7735 2 files changed, 26 insertions(+), 54 deletions(-)
7737 commit 20d75bdadc897be238ceb4d2d02f079e469144e4
7738 Author: Chris Wilson <chris@chris-wilson.co.uk>
7739 Date: Thu May 6 10:03:36 2010 +0100
7741 xlib: Remove screen->has_render
7743 Use the info from the display instead.
7745 src/cairo-xlib-private.h | 1 -
7746 src/cairo-xlib-screen.c | 17 ++++-------------
7747 2 files changed, 4 insertions(+), 14 deletions(-)
7749 commit 9e0b716ecf1b27d74e63f25a055d8120d8d53309
7750 Author: Chris Wilson <chris@chris-wilson.co.uk>
7751 Date: Thu May 6 09:58:46 2010 +0100
7753 xlib: Remove obsolete comment, there is no race anymore
7755 The display lock is now held for the duration of the screen creation, so
7756 there is no race. Remove the false comment.
7758 src/cairo-xlib-screen.c | 4 ----
7759 1 file changed, 4 deletions(-)
7761 commit 62346c500a7421e30b3054fdcc07fc78a18da96e
7762 Author: Chris Wilson <chris@chris-wilson.co.uk>
7763 Date: Thu May 6 09:37:02 2010 +0100
7765 xlib: Ensure the global display mutex is initialized before use.
7767 src/cairo-xlib-display.c | 2 ++
7768 1 file changed, 2 insertions(+)
7770 commit fb6caf08ae5ccf8f8c2c251d32fd98aacbcebdcc
7771 Author: Chris Wilson <chris@chris-wilson.co.uk>
7772 Date: Thu May 6 09:30:41 2010 +0100
7774 image: Propagate error instead of asserting.
7776 Apparently we can get to this point without evaluating the clip surface,
7777 so return the error status rather than assert.
7779 src/cairo-image-surface.c | 3 ++-
7780 1 file changed, 2 insertions(+), 1 deletion(-)
7782 commit 5e95c62bbb0cb28ee22af8f97267ce2da72cf47a
7783 Author: Chris Wilson <chris@chris-wilson.co.uk>
7784 Date: Thu May 6 09:09:22 2010 +0100
7786 clip: Propagate failure from retrieving the previous clip surface.
7788 src/cairo-clip.c | 3 ++-
7789 1 file changed, 2 insertions(+), 1 deletion(-)
7791 commit a6ee7aea8ac11a9e5a9b58e17e881db9666a2b24
7792 Author: Chris Wilson <chris@chris-wilson.co.uk>
7793 Date: Wed May 5 10:52:39 2010 +0100
7795 test: Add xlib-expose-event.image16.ref.png
7797 test/Makefile.am | 1 +
7798 test/xlib-expose-event.image16.ref.png | Bin 0 -> 30332 bytes
7799 2 files changed, 1 insertion(+)
7801 commit ded2dc8faaa3a48c84a31422a31c64595a6eaf8a
7802 Author: Chris Wilson <chris@chris-wilson.co.uk>
7803 Date: Wed May 5 14:44:55 2010 +0100
7805 scaled-font: Pluck last glyph from the most recent page.
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.
7811 src/cairo-scaled-font.c | 2 +-
7812 1 file changed, 1 insertion(+), 1 deletion(-)
7814 commit fa937913e06bc295750538be45aa83eb42332fb4
7815 Author: Adrian Johnson <ajohnson@redneon.com>
7816 Date: Wed May 5 21:35:11 2010 +0930
7818 PS: Add missing 'q' when resetting clip path
7820 src/cairo-ps-surface.c | 2 +-
7821 1 file changed, 1 insertion(+), 1 deletion(-)
7823 commit 9c594d8b405eba09b07c0a438f5311f5c5e40313
7824 Author: Benjamin Otte <otte@redhat.com>
7825 Date: Wed May 5 12:28:59 2010 +0200
7827 gl: Get rid of ctx variable
7829 The code used renderer->ctx and ctx interchangably, that was confusing.
7831 src/cairo-gl-surface.c | 12 ++++++------
7832 1 file changed, 6 insertions(+), 6 deletions(-)
7834 commit a354f1f92a17378f42d0b703482ae2b8168c7f68
7835 Author: Benjamin Otte <otte@redhat.com>
7836 Date: Wed May 5 12:28:24 2010 +0200
7838 gl: Another case of proper device acquiring
7840 This patch isn't strictly necessary, but it cleans up the code.
7842 src/cairo-gl-surface.c | 15 +++++++++------
7843 1 file changed, 9 insertions(+), 6 deletions(-)
7845 commit 36210ee51444979271f7ba1cc0ac452cd30df0af
7846 Author: Benjamin Otte <otte@redhat.com>
7847 Date: Wed May 5 12:24:43 2010 +0200
7849 gl: Get rid of another cast to cairo_gl_context_t
7851 src/cairo-gl-surface.c | 6 +++---
7852 1 file changed, 3 insertions(+), 3 deletions(-)
7854 commit 58b03691d379979b50d74740748b8b8523e0cd0d
7855 Author: Benjamin Otte <otte@redhat.com>
7856 Date: Wed May 5 12:21:23 2010 +0200
7858 gl: Introduce _cairo_gl_device_has_glsl() function
7860 The function takes a cairo_device_t argument as it can be called on an
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().
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(-)
7874 commit 5223b654230d3074d0bc31eb74c415e50eced365
7875 Author: Benjamin Otte <otte@redhat.com>
7876 Date: Wed May 5 12:07:49 2010 +0200
7878 gl: Get rid of cairo_gl_surface_glfinish() from public API
7880 This is now done explicitly in the boilerplate code. It was not a useful
7881 public API to begin with.
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(-)
7888 commit e071fa2c4f62b5ead39c6c6401f39360ea4dee1f
7889 Author: Benjamin Otte <otte@redhat.com>
7890 Date: Wed May 5 12:03:13 2010 +0200
7892 gl: Remove unused member variable
7894 src/cairo-gl-private.h | 1 -
7895 1 file changed, 1 deletion(-)
7897 commit 90c64f60d853f1a6ea5febd362ef3528cc9d914b
7898 Author: Benjamin Otte <otte@redhat.com>
7899 Date: Wed May 5 12:01:59 2010 +0200
7901 gl: Move device-specific code into cairo-gl-device.c
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(-)
7908 commit 0ff5a18fd5623b57c7493e6b67a6b1c75af82fb3
7909 Author: Benjamin Otte <otte@redhat.com>
7910 Date: Wed May 5 11:52:40 2010 +0200
7912 gl: Make _gl_set_destination() take the context as an argument
7914 Keeping with the API introduced for Xlib, functions that require an
7915 acquired context take this context as the first argument.
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(-)
7922 commit e8c5b6b1c2099fc6a49d0a082f5e884d3fbd89df
7923 Author: Benjamin Otte <otte@redhat.com>
7924 Date: Wed May 5 10:05:30 2010 +0200
7928 src/cairo-array.c | 2 +-
7929 1 file changed, 1 insertion(+), 1 deletion(-)
7931 commit 53508e6e3047b4dac6d69d5d3ff2208178998fd4
7932 Author: Benjamin Otte <otte@redhat.com>
7933 Date: Tue May 4 19:28:45 2010 +0200
7935 gl: Acquire the context before destroying it.
7937 src/cairo-gl-surface.c | 4 +++-
7938 1 file changed, 3 insertions(+), 1 deletion(-)
7940 commit c46aec489722bf09cd10c52d70bb4975eb1546d9
7941 Author: Benjamin Otte <otte@redhat.com>
7942 Date: Tue May 4 19:28:22 2010 +0200
7944 gl: acquire/release context during surface_finish()
7946 src/cairo-gl-surface.c | 9 ++++++++-
7947 1 file changed, 8 insertions(+), 1 deletion(-)
7949 commit 88801aabb34328746a53d3d59d036dada7ced756
7950 Author: Benjamin Otte <otte@redhat.com>
7951 Date: Tue May 4 19:23:08 2010 +0200
7953 gl: Acquire context when initing/destroying gl operands
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(-)
7960 commit c6d7d054ca44f3849ee1ab76de9032a4eaa210fe
7961 Author: Chris Wilson <chris@chris-wilson.co.uk>
7962 Date: Wed May 5 10:39:49 2010 +0100
7964 test: Add radial-gradient-mask
7966 Exercise using radial gradients as a mask.
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(+)
7980 commit 5f878f917980cde145d4c385b0c0b66336c0f454
7981 Author: Chris Wilson <chris@chris-wilson.co.uk>
7982 Date: Wed May 5 10:24:14 2010 +0100
7984 clip: Trivial compiler warning
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
7990 src/cairo-clip.c | 3 ++-
7991 1 file changed, 2 insertions(+), 1 deletion(-)
7993 commit 840dad765febf7b807bbb75e401c159a8c5c4dfe
7994 Author: Chris Wilson <chris@chris-wilson.co.uk>
7995 Date: Wed May 5 09:46:03 2010 +0100
7997 test/mask-glyphs: Check for memfault
7999 test/mask-glyphs.c | 32 +++++++++++++++++++++++---------
8000 1 file changed, 23 insertions(+), 9 deletions(-)
8002 commit ad541a1ec62e18bcaf74994affbdb0503e277f9c
8003 Author: Chris Wilson <chris@chris-wilson.co.uk>
8004 Date: Wed May 5 09:33:36 2010 +0100
8006 clip: Propagate memfault from translating clip region
8008 src/cairo-clip.c | 6 ++++++
8009 1 file changed, 6 insertions(+)
8011 commit 4bc54643f5cdeddf2145d28c317b55ca6b5949a5
8012 Author: Chris Wilson <chris@chris-wilson.co.uk>
8013 Date: Tue May 4 21:36:03 2010 +0100
8015 image: Propagate failure from pixman_image_set_clip_region()
8017 src/cairo-image-surface.c | 9 ++++++++-
8018 1 file changed, 8 insertions(+), 1 deletion(-)
8020 commit 9ef33a1d8c0476f4f1eeba4f26523fdeb6f7d809
8021 Author: Chris Wilson <chris@chris-wilson.co.uk>
8022 Date: Tue May 4 21:35:51 2010 +0100
8024 test/bitmap-font: Destroy FcPattern
8026 test/bitmap-font.c | 8 ++------
8027 1 file changed, 2 insertions(+), 6 deletions(-)
8029 commit fba4cf1d94b3ab676e0b62ae3574bf1ee4e69de0
8030 Author: Chris Wilson <chris@chris-wilson.co.uk>
8031 Date: Wed May 5 09:22:03 2010 +0100
8033 recording: Mark an empty recording surface as clear.
8035 src/cairo-recording-surface.c | 6 ++++++
8036 1 file changed, 6 insertions(+)
8038 commit e5329805394c94c915e43a0040b51d5019b4a90e
8039 Author: Chris Wilson <chris@chris-wilson.co.uk>
8040 Date: Wed May 5 09:17:51 2010 +0100
8042 recording: Avoid refcycles by always copying the command array.
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.
8048 Thanks to Benjamin Otte for pointing out the solution to avoiding
8051 src/cairo-recording-surface-private.h | 1 -
8052 src/cairo-recording-surface.c | 23 ++++++++++++-----------
8053 2 files changed, 12 insertions(+), 12 deletions(-)
8055 commit 6a06e0ef7b534355d0f3b4885159ffc37dbc3867
8056 Author: Chris Wilson <chris@chris-wilson.co.uk>
8057 Date: Wed May 5 09:17:33 2010 +0100
8059 test/subsurface-modify-parent: Free region.
8063 test/subsurface-modify-parent.c | 1 +
8064 1 file changed, 1 insertion(+)
8066 commit 4a46c715564c886e7434d65625fb84b5d87c0970
8067 Author: Chris Wilson <chris@chris-wilson.co.uk>
8068 Date: Tue May 4 18:51:30 2010 +0100
8070 type3: Minor tweaks to remove a redundant check.
8072 src/cairo-type3-glyph-surface.c | 8 ++------
8073 1 file changed, 2 insertions(+), 6 deletions(-)
8075 commit 11531b90a2317bb1113b187d6aa9c5083f5ecaa1
8076 Author: Chris Wilson <chris@chris-wilson.co.uk>
8077 Date: Tue May 4 18:50:58 2010 +0100
8079 ps: Force finish of the type3 glyph surfaces.
8081 src/cairo-ps-surface.c | 2 ++
8082 1 file changed, 2 insertions(+)
8084 commit 5155ebeaa25815124124db2599336ab2ddbe7413
8085 Author: Chris Wilson <chris@chris-wilson.co.uk>
8086 Date: Tue May 4 18:50:27 2010 +0100
8088 pdf: Assert that no other error can occur for an invertible matrix.
8090 src/cairo-pdf-operators.c | 3 +--
8091 1 file changed, 1 insertion(+), 2 deletions(-)
8093 commit d9259bd06822c871a4c653f395cfc1f933caaeb7
8094 Author: Chris Wilson <chris@chris-wilson.co.uk>
8095 Date: Tue May 4 18:49:55 2010 +0100
8097 paginated: Mark as clear initially.
8099 src/cairo-paginated-surface.c | 2 ++
8100 1 file changed, 2 insertions(+)
8102 commit bc14e0e953630d47a65e701a377631e406eb080c
8103 Author: Chris Wilson <chris@chris-wilson.co.uk>
8104 Date: Mon May 3 14:18:33 2010 +0100
8106 scaled-font: Convert to cairo_list_t
8108 Convert the open-coded doubly-linked list of glyph pages for a font into
8109 the common cairo_list_t.
8111 src/cairo-scaled-font-private.h | 2 +-
8112 src/cairo-scaled-font.c | 46 +++++++++++++++++++--------------------
8113 2 files changed, 23 insertions(+), 25 deletions(-)
8115 commit 627527693c38c328fdb79058f5299609c0031029
8116 Author: Chris Wilson <chris@chris-wilson.co.uk>
8117 Date: Mon May 3 13:41:41 2010 +0100
8119 ps: Remove the fill stroke command
8121 This is not supported by PostScript, so eliminate it from the prologue.
8123 src/cairo-ps-surface.c | 2 --
8124 1 file changed, 2 deletions(-)
8126 commit 4dd92ef2bc877eb197f096c3eb8fe74cb2e7b099
8127 Author: Chris Wilson <chris@chris-wilson.co.uk>
8128 Date: Sun May 2 14:35:59 2010 +0100
8130 test: Add subsurface-pad
8132 Round out the subsurface tests with PAD.
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(+)
8140 commit 85e3cffde164a5af444639dfd182fde2448809ee
8141 Author: Chris Wilson <chris@chris-wilson.co.uk>
8142 Date: Fri Apr 30 21:09:01 2010 +0100
8144 test: Add subsurface-modify-{child,parent}
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.
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(+)
8159 commit 19ac81f50ba353400934bf112523b4257ad9de2f
8160 Author: Chris Wilson <chris@chris-wilson.co.uk>
8161 Date: Tue May 4 18:25:23 2010 +0100
8163 scaled-font: Remove MRU cache upon detection of error.
8165 src/cairo-scaled-font.c | 15 ++++++++++++++-
8166 1 file changed, 14 insertions(+), 1 deletion(-)
8168 commit 6f2d4f5b2aba9344fee9375614dfd0c6236bfd7c
8169 Author: Chris Wilson <chris@chris-wilson.co.uk>
8170 Date: Tue May 4 18:09:11 2010 +0100
8172 image: Propagate failure from pixman_image_fill_boxes().
8174 src/cairo-image-surface.c | 55 ++++++++++++++++++++++++---------------------
8175 1 file changed, 30 insertions(+), 25 deletions(-)
8177 commit ded7be0b9ce12f8d4a84c8c9dd622d92fe347a34
8178 Author: Chris Wilson <chris@chris-wilson.co.uk>
8179 Date: Tue May 4 17:01:35 2010 +0100
8181 test/user-font-rescale: Use after free and check for memfault.
8183 test/user-font-rescale.c | 16 +++++++++++-----
8184 1 file changed, 11 insertions(+), 5 deletions(-)
8186 commit b0052c52153376400a30dca1d67f4aca9735cc09
8187 Author: Chris Wilson <chris@chris-wilson.co.uk>
8188 Date: Tue May 4 17:01:17 2010 +0100
8190 test/bitmap-font: Propagate memfault
8192 test/bitmap-font.c | 13 ++++++++++---
8193 1 file changed, 10 insertions(+), 3 deletions(-)
8195 commit 9187c7532755dda8d2677ec792162c71029fb37d
8196 Author: Chris Wilson <chris@chris-wilson.co.uk>
8197 Date: Tue May 4 13:18:09 2010 +0100
8199 test/bitmap-font: Check for memfault error
8201 test/bitmap-font.c | 4 ++--
8202 1 file changed, 2 insertions(+), 2 deletions(-)
8204 commit 0fced9279227614ede6964e94ede9de49a3a3388
8205 Author: Chris Wilson <chris@chris-wilson.co.uk>
8206 Date: Tue May 4 13:17:38 2010 +0100
8208 test/user-font-proxy: Check we install user data on the scaled font
8210 test/user-font-proxy.c | 14 ++++++++++----
8211 1 file changed, 10 insertions(+), 4 deletions(-)
8213 commit 38188961b996c97d344195749b7bec8c93f9bad7
8214 Author: Chris Wilson <chris@chris-wilson.co.uk>
8215 Date: Tue May 4 13:17:07 2010 +0100
8217 image: Check for pixman image allocation failure during glyphs
8219 src/cairo-image-surface.c | 8 +++-----
8220 1 file changed, 3 insertions(+), 5 deletions(-)
8222 commit 4a181ebac416ec35e412ddbe9ed1392fb8b74ab7
8223 Author: Chris Wilson <chris@chris-wilson.co.uk>
8224 Date: Tue May 4 10:26:30 2010 +0100
8226 pdf: Cleanup local reference to source on error paths.
8228 src/cairo-pdf-surface.c | 2 ++
8229 1 file changed, 2 insertions(+)
8231 commit ba48edcd86ee1bca06b25587e56abcd2c1b19d79
8232 Author: Chris Wilson <chris@chris-wilson.co.uk>
8233 Date: Tue May 4 10:26:13 2010 +0100
8235 ps: Always cleanup used font subsets.
8237 src/cairo-ps-surface.c | 19 ++++++++-----------
8238 1 file changed, 8 insertions(+), 11 deletions(-)
8240 commit 9a0958be012e097c239260fac0dec0b1e5679028
8241 Author: Chris Wilson <chris@chris-wilson.co.uk>
8242 Date: Tue May 4 10:25:48 2010 +0100
8244 test: Cleanup after failed pthread_join().
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(-)
8251 commit 08b9984da9f2119cd4ed03bbd656a349b49d1f12
8252 Author: Chris Wilson <chris@chris-wilson.co.uk>
8253 Date: Tue May 4 08:19:41 2010 +0100
8255 image: Replace assert with error return
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.
8260 src/cairo-image-surface.c | 3 ++-
8261 1 file changed, 2 insertions(+), 1 deletion(-)
8263 commit 2c68fcace4ad47ad09e9699e45afb514be1381f9
8264 Author: Chris Wilson <chris@chris-wilson.co.uk>
8265 Date: Mon May 3 20:39:34 2010 +0100
8267 test: Embed the list pointer into cairo_test_t
8269 Reduce the amount of output printed by leak-detectors when a test
8272 test/cairo-test-runner.c | 31 +++++++++++++++----------------
8273 test/cairo-test.h | 7 ++++---
8274 2 files changed, 19 insertions(+), 19 deletions(-)
8276 commit 7002b824729885a9d579f677ecc665b620847480
8277 Author: Chris Wilson <chris@chris-wilson.co.uk>
8278 Date: Tue May 4 13:52:09 2010 +0200
8280 xlib: Don't delete gradients in unbounded fixup code
8282 The fix is ugly, but for now it works.
8284 src/cairo-xlib-surface.c | 3 ++-
8285 1 file changed, 2 insertions(+), 1 deletion(-)
8287 commit af26560f258d93cc78782ddd0208128756874c11
8288 Author: Chris Wilson <chris@chris-wilson.co.uk>
8289 Date: Mon May 3 19:21:59 2010 +0100
8291 test: Improve memfault behaviour.
8293 Various minor tweaks to convert asserts into error returns and to
8294 improve error checking on intermediate surfaces.
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(-)
8306 commit c549203c8d69474be4362037f702e4fb59c9929e
8307 Author: Chris Wilson <chris@chris-wilson.co.uk>
8308 Date: Mon May 3 19:21:18 2010 +0100
8310 scaled-font: Check for an error return when retrieving the implementation
8312 src/cairo-scaled-font.c | 8 ++++++++
8313 1 file changed, 8 insertions(+)
8315 commit c93e6f014d9678b1aea34fd7a30a1fc2f51c6347
8316 Author: Chris Wilson <chris@chris-wilson.co.uk>
8317 Date: Mon May 3 19:20:42 2010 +0100
8319 paginated: propagate malloc failures more cleanly.
8321 src/cairo-paginated-surface.c | 26 +++++++++++++-------------
8322 1 file changed, 13 insertions(+), 13 deletions(-)
8324 commit 8e9fd9c01732c3102c27c7dee50f6e494ba7cdd8
8325 Author: Chris Wilson <chris@chris-wilson.co.uk>
8326 Date: Mon May 3 19:20:07 2010 +0100
8328 image: A few missing tests for malloc failure
8330 src/cairo-image-surface.c | 12 +++++++++++-
8331 1 file changed, 11 insertions(+), 1 deletion(-)
8333 commit 87781ffbd914bca29b4d744fb48678ab06a07108
8334 Author: Chris Wilson <chris@chris-wilson.co.uk>
8335 Date: Mon May 3 19:18:49 2010 +0100
8337 ft: Convert an assert into an unlikely error return.
8339 The assert depends upon good behaviour from fontconfig, which is no
8340 guaranteed under memfault, so return an error instead.
8342 src/cairo-ft-font.c | 4 +---
8343 1 file changed, 1 insertion(+), 3 deletions(-)
8345 commit 5672b7a18a34456862977a1cf678bf6575dcc3f4
8346 Author: Benjamin Otte <otte@redhat.com>
8347 Date: Mon May 3 13:13:27 2010 +0200
8349 fallback: get src_x/y variables right when compositing traps
8351 src/cairo-image-surface.c | 4 +++-
8352 1 file changed, 3 insertions(+), 1 deletion(-)
8354 commit c10a5a9fb0463f254fb607a2260b540256f888cc
8355 Author: Dave Yeo <daveryeo@telus.net>
8356 Date: Mon May 3 10:20:51 2010 +0200
8358 os2: Fix get_extents() segfaulting.
8360 bed2701e1c89095878d549cbca8f22d84f3dda3c removed one line too much.
8362 src/cairo-os2-surface.c | 2 +-
8363 1 file changed, 1 insertion(+), 1 deletion(-)
8365 commit 9df81fe4d3f0ccc5632d0e84e920fe1c448bd531
8366 Author: Benjamin Otte <otte@redhat.com>
8367 Date: Sun May 2 19:59:26 2010 +0200
8369 boilerplate: don't compile pdf test code when pdf is not tested
8371 Avoids gcc warnings when libpoppler version isn't good enough.
8373 boilerplate/cairo-boilerplate-pdf.c | 3 +++
8374 1 file changed, 3 insertions(+)
8376 commit 358f57c8765f823f8e6db7629ea6ca48fcd392b8
8377 Author: Benjamin Otte <otte@redhat.com>
8378 Date: Fri Apr 30 23:29:24 2010 +0200
8380 image: remove useless optimization
8382 The optimization is done way smarter inside
8383 _cairo_matrix_transform_bounding_box()
8385 src/cairo-image-surface.c | 11 +++--------
8386 1 file changed, 3 insertions(+), 8 deletions(-)
8388 commit 94aa6d24b6d5ab4528a0b0a9b1b0c6eb7218f861
8389 Author: Benjamin Otte <otte@redhat.com>
8390 Date: Fri Apr 30 23:24:41 2010 +0200
8392 fallback: Create pixman image for correct rectangle
8394 This was most prominently shown by the a1-image-sample test, but
8395 multiple tests exposed the problem with the xlib-fallback code.
8397 src/cairo-image-surface.c | 8 ++++----
8398 1 file changed, 4 insertions(+), 4 deletions(-)
8400 commit 41fecf8e662c9ad2fe063754db8302f349a223ef
8401 Author: Carlos Garcia Campos <carlosgc@gnome.org>
8402 Date: Fri Apr 30 21:18:52 2010 +0200
8404 [configure] Bump poppler dependency to 0.13.3
8407 1 file changed, 1 insertion(+), 1 deletion(-)
8409 commit 3294daf423e88b55aa13841dfa7c557ee9833f92
8410 Author: Benjamin Otte <otte@redhat.com>
8411 Date: Fri Apr 30 20:14:54 2010 +0200
8413 Create cleared surface instead of a scratch surface in clone_similar()
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
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.
8424 Covered by the existing pdf-surface-source and svg-surface-source tests.
8426 src/cairo-surface.c | 9 +++++----
8427 1 file changed, 5 insertions(+), 4 deletions(-)
8429 commit 0aeb612d2f822e8cda1f509b6a4f2995e24053fc
8430 Author: Carlos Garcia Campos <carlosgc@gnome.org>
8431 Date: Fri Apr 30 16:18:57 2010 +0200
8433 [test] Update pdf reference image for text-rotate
8435 test/text-rotate.pdf.ref.png | Bin 16757 -> 16744 bytes
8436 1 file changed, 0 insertions(+), 0 deletions(-)
8438 commit fe2844464721644b837816aa4dad4ead508f0b89
8439 Author: Carlos Garcia Campos <carlosgc@gnome.org>
8440 Date: Fri Apr 30 16:16:23 2010 +0200
8442 [test] Update pdf reference image for surface-pattern-scale-down
8444 test/surface-pattern-scale-down.pdf.ref.png | Bin 1603 -> 2189 bytes
8445 1 file changed, 0 insertions(+), 0 deletions(-)
8447 commit dba6f23318005a4cdbe7566519ce896278ea184a
8448 Author: Carlos Garcia Campos <carlosgc@gnome.org>
8449 Date: Fri Apr 30 16:11:52 2010 +0200
8451 [test] Update pdf reference image for leaky-dashed-rectangle
8453 test/leaky-dashed-rectangle.pdf.ref.png | Bin 380 -> 377 bytes
8454 1 file changed, 0 insertions(+), 0 deletions(-)
8456 commit 6b81187ac4870311a10c024af9f30c366be785cd
8457 Author: Carlos Garcia Campos <carlosgc@gnome.org>
8458 Date: Fri Apr 30 16:05:21 2010 +0200
8460 [test] Update pdf reference images for clip-operator
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(-)
8466 commit b485ae5b90bf72cde0c30c2350e03d1369ca6dcd
8467 Author: Chris Wilson <chris@chris-wilson.co.uk>
8468 Date: Fri Apr 30 14:14:01 2010 +0100
8470 atomic: Add Andrea's copyright notice
8472 Note Andrea's copyright for his contribution of platform agnostic
8473 fallbacks and the implementation for MacOS/X.
8475 src/cairo-atomic-private.h | 2 ++
8476 1 file changed, 2 insertions(+)
8478 commit 4ee5119a3467ea086efccef2907b0c576d600b79
8479 Author: Chris Wilson <chris@chris-wilson.co.uk>
8480 Date: Fri Apr 30 13:00:05 2010 +0100
8482 test: Expand pthread-show-text to cover all surfaces.
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
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(-)
8495 commit c6dc8ad7dc46d03899cd37fff40bd7f3a60339e2
8496 Author: Chris Wilson <chris@chris-wilson.co.uk>
8497 Date: Fri Apr 30 12:38:25 2010 +0100
8499 Revert "paginated: Call surface finish explicitly on recording surface"
8501 This reverts commit 5fc04bba9fa8ddda8cf7d7a97015f21a21429172.
8503 Whilst this fixes the self-referential reference leak, it however
8504 introduces use-after-finish into normal behaviour. Close, but not quite.
8506 src/cairo-paginated-surface.c | 1 -
8507 1 file changed, 1 deletion(-)
8509 commit b972669c9ac87d1c2ca922e12024ef5da394aa6b
8510 Author: Chris Wilson <chris@chris-wilson.co.uk>
8511 Date: Fri Apr 30 12:37:16 2010 +0100
8513 boilerplate: Fix use after free from 3ae5723
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
8519 boilerplate/cairo-boilerplate.c | 13 ++++++++++---
8520 1 file changed, 10 insertions(+), 3 deletions(-)
8522 commit 905c345df1f828551af2ab0b751388428e4dfaf6
8523 Author: Chris Wilson <chris@chris-wilson.co.uk>
8524 Date: Fri Apr 30 10:31:50 2010 +0100
8526 recording: Check that we do not use a finished recording surface.
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.
8532 src/cairo-recording-surface.c | 5 ++++-
8533 1 file changed, 4 insertions(+), 1 deletion(-)
8535 commit 5fe7c5842f3589efce765b3869c1dd55367a5aba
8536 Author: Chris Wilson <chris@chris-wilson.co.uk>
8537 Date: Fri Apr 30 10:13:09 2010 +0100
8539 pdf; Emit subsurface patterns natively.
8541 Encode subsurface patterns into the PDF stream natively (when possible),
8542 similar to the cairo-ps backend.
8544 src/cairo-pdf-surface.c | 113 +++++++++++++++++++++++++++++++++++++++--------
8545 1 file changed, 94 insertions(+), 19 deletions(-)
8547 commit 8ded35fd69ed0bbb07359c0278071a25af66571c
8548 Author: Chris Wilson <chris@chris-wilson.co.uk>
8549 Date: Wed Apr 28 14:26:21 2010 +0100
8551 ps: Enable native encoding of subsurface patterns.
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.
8557 Nothing remarkable, just a lot of bookkeeping to track the wrapped
8558 surface types and to apply the correct offsets when generating the
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(-)
8584 commit 5fc04bba9fa8ddda8cf7d7a97015f21a21429172
8585 Author: Chris Wilson <chris@chris-wilson.co.uk>
8586 Date: Thu Apr 29 21:51:29 2010 +0100
8588 paginated: Call surface finish explicitly on recording surface
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.
8594 src/cairo-paginated-surface.c | 1 +
8595 1 file changed, 1 insertion(+)
8597 commit 3ae57234644c3756785c551beffe584f837b0273
8598 Author: Chris Wilson <chris@chris-wilson.co.uk>
8599 Date: Thu Apr 29 21:50:22 2010 +0100
8601 boilerplate: Ensure that the recording surfaces are finished.
8603 Be paranoid and explicitly call finish to cleanup self-referential leaks
8604 when using paginated/recording surfaces.
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(-)
8612 commit f08cc311af1248b39c3e757ef192515ed8506862
8613 Author: Chris Wilson <chris@chris-wilson.co.uk>
8614 Date: Thu Apr 29 20:34:56 2010 +0100
8616 boilerplate: Destroy the redundant image reference
8618 When using a script surface to record the recording surface, we replace
8619 the local reference to the image surface.
8621 boilerplate/cairo-boilerplate.c | 2 ++
8622 1 file changed, 2 insertions(+)
8624 commit ab2776c9a16134c50b48fd202263421ec0f466e7
8625 Author: Chris Wilson <chris@chris-wilson.co.uk>
8626 Date: Thu Apr 29 18:50:32 2010 +0100
8628 snapshot: Attach the backend generated snapshot to the target
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.
8634 src/cairo-surface-snapshot.c | 21 ++++++++++++++++++++-
8635 1 file changed, 20 insertions(+), 1 deletion(-)
8637 commit 07122f37d11eabe62bc9c81ccbf71bbe8b7a1005
8638 Author: Chris Wilson <chris@chris-wilson.co.uk>
8639 Date: Thu Apr 29 15:19:18 2010 +0100
8641 surface: Convert snapshots from an array to a double-linked list.
8643 Saves the memory allocation for the array, and the overhead of
8644 maintaining the area for both insertions and more importantly deletes.
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(-)
8661 commit 4cb733c28551f4a34cd4a225b8d797a55bf9b977
8662 Author: Chris Wilson <chris@chris-wilson.co.uk>
8663 Date: Thu Apr 29 12:04:44 2010 +0100
8665 image: Simplify translation of pattern matrix for composite_trapezoids()
8667 src/cairo-image-surface.c | 4 +---
8668 1 file changed, 1 insertion(+), 3 deletions(-)
8670 commit 3940b0e91c274de0cf2fca4b34d4025b92965c19
8671 Author: Chris Wilson <chris@chris-wilson.co.uk>
8672 Date: Thu Apr 29 17:29:13 2010 +0100
8674 subsurface: s/region/rectangle/
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
8680 cairo_surface_create_for_rectangle()
8682 similar to cairo_rectangle().
8684 And document the public API.
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(-)
8695 commit 4b6fa8d5a78731aca80f3c8c6320e7edc845c5b5
8696 Author: Chris Wilson <chris@chris-wilson.co.uk>
8697 Date: Fri Apr 30 09:47:51 2010 +0100
8699 test: Remove group-unaligned.*new.png
8701 Entirely misleading, looks like PDF is behaving the same as image and
8702 this remnant was thus giving the wrong impression.
8704 test/Makefile.am | 1 -
8705 test/group-unaligned.pdf.new.png | Bin 427 -> 0 bytes
8706 2 files changed, 1 deletion(-)
8708 commit e3f990d84131f7bd1e64e54d02bac780b1e9f85e
8709 Author: Benjamin Otte <otte@redhat.com>
8710 Date: Thu Apr 29 22:34:35 2010 +0200
8712 test: Update reference images for last checkin
8714 Both tests now pas on all backends I tested: test, image, xlib and
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(-)
8721 commit 6d36f06751377459e35afe1ac26c59d33b16c730
8722 Author: Benjamin Otte <otte@redhat.com>
8723 Date: Thu Apr 29 22:12:02 2010 +0200
8725 image: Round down when rendering antialiased boxes
8727 Matches Pixman's output when going via pixman_rasterize_trapezoid()
8729 src/cairo-fixed-private.h | 6 ++++++
8730 src/cairo-image-surface.c | 9 +++++----
8731 2 files changed, 11 insertions(+), 4 deletions(-)
8733 commit 95179a5de91b5c6f99dbccc3b6c950df58d4f2a7
8734 Author: Benjamin Otte <otte@redhat.com>
8735 Date: Thu Apr 29 20:45:23 2010 +0200
8737 Remove excessive semicolons
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(-)
8746 commit 5d07307b691afccccbb15f773d5231669ba44f5a
8747 Author: Benjamin Otte <otte@redhat.com>
8748 Date: Thu Apr 29 18:20:59 2010 +0200
8750 xlib: Don't modify variables that are needed later
8752 In the XCopyArea region code, don't modify src_x/y when they are later
8753 used in the unbounded fixup code.
8755 Exposed by composite-integer-translate-source test.
8757 src/cairo-xlib-surface.c | 8 ++++----
8758 1 file changed, 4 insertions(+), 4 deletions(-)
8760 commit 90160deb2a84f787dff46243471e37600b24799b
8761 Author: Benjamin Otte <otte@redhat.com>
8762 Date: Thu Apr 29 18:20:44 2010 +0200
8764 xlib: Constify some function arguments
8766 src/cairo-xlib-surface.c | 12 ++++++------
8767 1 file changed, 6 insertions(+), 6 deletions(-)
8769 commit 4da71d1a01c4d4cc84b5e31cc89dd7f297b23359
8770 Author: Benjamin Otte <otte@redhat.com>
8771 Date: Thu Apr 29 18:11:54 2010 +0200
8773 xlib: remove unused code
8775 src/cairo-xlib-surface.c | 12 ------------
8776 1 file changed, 12 deletions(-)
8778 commit 758ffadcb1d0a0478d43ca40775687a37e5920a4
8779 Author: Benjamin Otte <otte@redhat.com>
8780 Date: Thu Apr 29 16:54:09 2010 +0200
8782 fallback: Only do _fill/compsoite_rectangles on bounded source
8784 For unbounded sources, these optimizations fail to take into account the
8785 regions outside the source.
8787 src/cairo-surface-fallback.c | 16 +++++++++-------
8788 1 file changed, 9 insertions(+), 7 deletions(-)
8790 commit 6288ad719da898c4a75cdc6527f5a41d4c900e57
8791 Author: Benjamin Otte <otte@redhat.com>
8792 Date: Thu Apr 29 15:37:32 2010 +0200
8794 fallback: translate extents regions properly
8796 The extents clip regions that were created for unbounded operators were
8797 not translated properly. This has been changed now.
8799 This is a followup to 9ce8bef9d6e6d773dd1f4b184916ed5c96c3541d.
8801 src/cairo-surface-fallback.c | 17 ++++++++++-------
8802 1 file changed, 10 insertions(+), 7 deletions(-)
8804 commit b0760826f30f63637561b353e7eed1913036da2d
8805 Author: Benjamin Otte <otte@redhat.com>
8806 Date: Thu Apr 29 12:11:48 2010 +0200
8808 test: Set have_result for image matches
8810 Causes the log to contain information about the reference imagery used.
8812 test/cairo-test.c | 16 +++++++++++++---
8813 1 file changed, 13 insertions(+), 3 deletions(-)
8815 commit 8f85c2d77cc2ca7984f9771c0096fbad798dbde8
8816 Author: Benjamin Otte <otte@redhat.com>
8817 Date: Thu Apr 29 12:09:31 2010 +0200
8819 image: translate source pattern in composite_trapezoids()
8821 Fixes xlib fallback paths as exposed by the clip-push-group test.
8823 src/cairo-image-surface.c | 8 +++++++-
8824 1 file changed, 7 insertions(+), 1 deletion(-)
8826 commit aa495eac5a2db9b396eb1953eb112c733d0ababc
8827 Author: Chris Wilson <chris@chris-wilson.co.uk>
8828 Date: Thu Apr 29 10:04:18 2010 +0100
8830 atomic: Tweak for compilation x86.
8832 Missing definition of _cairo_atomic_ptr_get() used in the fallbacks.
8834 src/cairo-atomic-private.h | 27 ++++++++++++++++++++-------
8835 src/cairo-atomic.c | 16 ++++++++--------
8836 2 files changed, 28 insertions(+), 15 deletions(-)
8838 commit 248af38b3efa3f96225eea43f4ba5b94baff34a6
8839 Author: Andrea Canciani <ranma42@gmail.com>
8840 Date: Wed Apr 28 17:23:47 2010 +0200
8842 atomic: Add MacOSX atomic implementation
8844 Enable atomic operation on MacOS X, using the functions provided by
8847 Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
8849 build/aclocal.cairo.m4 | 10 ++++++++++
8850 src/cairo-atomic-private.h | 30 ++++++++++++++++++++++++++++++
8851 2 files changed, 40 insertions(+)
8853 commit 56a367a1626b2b7ec3d9e64e74f016867f294a34
8854 Author: Andrea Canciani <ranma42@gmail.com>
8855 Date: Wed Apr 28 19:17:10 2010 +0200
8857 atomic: Correct implementation of _atomic_fetch ()
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).
8864 Fix suggested by Chris Wilson <chris@chris-wilson.co.uk>
8866 src/cairo-freed-pool-private.h | 8 +++++++-
8867 1 file changed, 7 insertions(+), 1 deletion(-)
8869 commit d66b1ca1cfda64088521581bc2bd494bff9f5d23
8870 Author: Andrea Canciani <ranma42@gmail.com>
8871 Date: Wed Apr 28 16:23:15 2010 +0200
8873 atomic: Separate bool and old-value compare-and-exchange
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.
8884 Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
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 ++--
8891 src/drm/cairo-drm.c | 2 +-
8892 6 files changed, 72 insertions(+), 16 deletions(-)
8894 commit a0bf424b820b404947671b56f357a2cef71640fb
8895 Author: Andrea Canciani <ranma42@gmail.com>
8896 Date: Wed Apr 28 15:29:32 2010 +0200
8898 atomic: Remove unused function _cairo_atomic_int_set()
8900 _cairo_atomic_int_set() was only used in the definition of
8901 CAIRO_REFERENCE_SET_VALUE, which was never used.
8903 Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
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(-)
8910 commit 9ce8bef9d6e6d773dd1f4b184916ed5c96c3541d
8911 Author: Benjamin Otte <otte@redhat.com>
8912 Date: Wed Apr 28 18:34:20 2010 +0200
8914 fallback: Propagate extents properly
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.
8920 src/cairo-surface-fallback.c | 112 +++++++++++++++++++++++++++++-------------
8921 1 file changed, 78 insertions(+), 34 deletions(-)
8923 commit 91fd97ae7c4de23c61d481c98c9352f0639d76dd
8924 Author: Benjamin Otte <otte@redhat.com>
8925 Date: Wed Apr 28 20:21:37 2010 +0200
8927 fallback: Pass the correct extents for unbounbded operations
8929 src/cairo-surface-fallback.c | 20 +++++++++++++-------
8930 1 file changed, 13 insertions(+), 7 deletions(-)
8932 commit 06e9caf86199e8261a07db6d4774628fa147728d
8933 Author: Benjamin Otte <otte@redhat.com>
8934 Date: Wed Apr 28 20:05:13 2010 +0200
8936 image: pixman_image_fill_rectangles() => pixman_image_fill_boxes()
8938 src/cairo-image-surface.c | 32 ++++++++++++++++----------------
8939 1 file changed, 16 insertions(+), 16 deletions(-)
8941 commit bc49df322770b3bd1797c0e153b97f1f296fbd1e
8942 Author: Benjamin Otte <otte@redhat.com>
8943 Date: Wed Apr 28 19:56:36 2010 +0200
8945 pixman_image_composite => pixman_image_composite32
8947 Fix up the remaining callers
8949 src/cairo-gl-surface.c | 12 ++++++------
8950 src/cairo-image-surface.c | 12 ++++++------
8951 2 files changed, 12 insertions(+), 12 deletions(-)
8953 commit 393da364a7f26e696141c58d4fb6fdefb2ea245a
8954 Author: Benjamin Otte <otte@redhat.com>
8955 Date: Wed Apr 28 18:18:15 2010 +0200
8957 fallback: Sanitize code that queries surface extents
8959 The previous code was setting extents.is_bounded, but that value has a
8960 completely different meaning.
8962 src/cairo-surface-fallback.c | 20 ++++++++++----------
8963 1 file changed, 10 insertions(+), 10 deletions(-)
8965 commit 13914039567d5e8269fc29c51018ce172a40f2e9
8966 Author: Benjamin Otte <otte@redhat.com>
8967 Date: Wed Apr 28 13:05:28 2010 +0200
8969 test: run xlib-expose-event test unconditionally
8971 test/Makefile.sources | 2 +-
8972 1 file changed, 1 insertion(+), 1 deletion(-)
8974 commit 2ce1afa3222145e9c4f8c74a0034e0da9e93b70b
8975 Author: Benjamin Otte <otte@redhat.com>
8976 Date: Wed Apr 28 12:54:54 2010 +0200
8978 test-suite: add image_diff_is_failure() function
8980 This cleans the code and fixes a boolean logic error where this check
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(-)
8991 commit 2a91d425088cb8a93de76f2f91f32a7f23f0aecd
8992 Author: Benjamin Otte <otte@redhat.com>
8993 Date: Wed Apr 28 12:26:29 2010 +0200
8995 fallback: Fix clip_region handling in mask creation
8997 Fixes the xlib-expose-event test.
8999 src/cairo-surface-fallback.c | 16 +++++++++++++++-
9000 1 file changed, 15 insertions(+), 1 deletion(-)
9002 commit bb853916f3581af13cc1abff185ef5e0218f9f1e
9003 Author: Chris Wilson <chris@chris-wilson.co.uk>
9004 Date: Wed Apr 28 11:37:59 2010 +0100
9006 image: Generate clear/white/black images when !HAS_ATOMIC_OPS
9008 Andrea reported that b74cc0f broke compilation without atomic ops.
9010 src/cairo-image-surface.c | 10 ++++++++++
9011 1 file changed, 10 insertions(+)
9013 commit 45d4c6e0b2fe62a3c6f1fdb7f359c9771111b470
9014 Author: Chris Wilson <chris@chris-wilson.co.uk>
9015 Date: Wed Apr 28 10:01:06 2010 +0100
9017 script: Replace the missing " " after pop
9019 I accidentally deleted the whitespace after popping the recording
9020 surface, thus causing the scripts to be broken.
9022 src/cairo-script-surface.c | 2 +-
9023 1 file changed, 1 insertion(+), 1 deletion(-)
9025 commit 6a99e83c50d715ba1e47aa5c7be714a423568e57
9026 Author: Chris Wilson <chris@chris-wilson.co.uk>
9027 Date: Wed Apr 28 09:55:20 2010 +0100
9029 subsurface: Mark the image as !clear after copying.
9031 src/cairo-surface-subsurface.c | 22 ++++++++++++----------
9032 1 file changed, 12 insertions(+), 10 deletions(-)
9034 commit ca3df75e8f876991f2dc9e85c9daa3fd96e826d2
9035 Author: Chris Wilson <chris@chris-wilson.co.uk>
9036 Date: Wed Apr 28 09:54:56 2010 +0100
9038 script: Reconstruct subsurfaces.
9040 src/cairo-script-surface.c | 84 ++++++++++++++++++++++++++++++--------------
9041 1 file changed, 58 insertions(+), 26 deletions(-)
9043 commit 0f0d349a400e097856e6d9863e66c0a041e65c35
9044 Author: Chris Wilson <chris@chris-wilson.co.uk>
9045 Date: Wed Apr 28 09:54:37 2010 +0100
9047 trace: Wrap cairo_surface_create_for_region()
9049 util/cairo-script/cairo-script-operators.c | 33 +++++++++++++++++++++++++
9050 util/cairo-trace/trace.c | 36 ++++++++++++++++++++++++++++
9051 2 files changed, 69 insertions(+)
9053 commit 80fc2a8e49aa6ab4646b14eed9a4cf348a9149b4
9054 Author: Chris Wilson <chris@chris-wilson.co.uk>
9055 Date: Wed Apr 28 09:50:49 2010 +0100
9057 test: Expand xlib-expose-event to cover all backends
9059 Use a similar surface to create an equivalent backing surface for
9060 any backend, thus enabling the test to run against any target.
9062 The comment about forcing fallbacks has long since been false.
9064 test/xlib-expose-event.c | 76 ++++++----------------------------------------
9065 1 file changed, 9 insertions(+), 67 deletions(-)
9067 commit d3c4349730be991db0c85094103c744fc2d94836
9068 Author: Chris Wilson <chris@chris-wilson.co.uk>
9069 Date: Tue Apr 27 21:04:52 2010 +0100
9071 test: Mark surfaces as finished if the data goes out of scope.
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.
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(-)
9099 commit a5f54e48e3136076f3c8c60fc068f6a2105d9a33
9100 Author: Chris Wilson <chris@chris-wilson.co.uk>
9101 Date: Tue Apr 27 21:05:22 2010 +0100
9103 snapshot: The snapshot masquerades as the target surface type.
9105 Not wholly convinced this is a good idea, but it matches the behaviour
9106 of the other internal surface types.
9108 src/cairo-surface-snapshot.c | 2 ++
9109 1 file changed, 2 insertions(+)
9111 commit 4a678afdf73d6f7b2b8a532ac7024976702c8aac
9112 Author: Chris Wilson <chris@chris-wilson.co.uk>
9113 Date: Tue Apr 27 18:57:56 2010 +0100
9115 snapshot: Simply memcpy if the cloned image matches the original.
9117 src/cairo-surface-snapshot.c | 16 ++++++++++------
9118 1 file changed, 10 insertions(+), 6 deletions(-)
9120 commit b74cc0f6d5b71295c70d4c29e24ab252175f9a5b
9121 Author: Chris Wilson <chris@chris-wilson.co.uk>
9122 Date: Tue Apr 27 18:57:00 2010 +0100
9124 image: Convert 1x1 samples into solid colors.
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.
9129 src/cairo-image-surface.c | 161 ++++++++++++++++++++++++++++++++++++++-------
9130 1 file changed, 136 insertions(+), 25 deletions(-)
9132 commit f5cf131a9d8984bd6b3403396beed2ffbc26bded
9133 Author: Chris Wilson <chris@chris-wilson.co.uk>
9134 Date: Tue Apr 27 18:56:23 2010 +0100
9136 surface: skip OVER is the source is clear.
9138 If the source has no alpha, the OVER operation becomes DST, i.e. a
9141 src/cairo-surface.c | 24 ++++++++++++++++++++++++
9142 1 file changed, 24 insertions(+)
9144 commit 453b1cba11f71694cfe0c3d934ac1f5aabda67fd
9145 Author: Chris Wilson <chris@chris-wilson.co.uk>
9146 Date: Tue Apr 27 16:47:31 2010 +0100
9148 test: Update image ref images, and used fonts in README
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(-)
9162 commit 70656bba81e01eaf7b48817b2ca16fdf6d0b4bd5
9163 Author: Chris Wilson <chris@chris-wilson.co.uk>
9164 Date: Tue Apr 27 14:19:22 2010 +0100
9166 test: Add image16 refs
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(+)
9315 commit ebe6f2ac6988991afde0d685bea9f207ed3360d8
9316 Author: Andrea Canciani <ranma42@gmail.com>
9317 Date: Tue Apr 27 10:59:09 2010 +0200
9319 quartz: Assert success of path creation
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).
9326 src/cairo-quartz-surface.c | 35 +++++++++++++++--------------------
9327 1 file changed, 15 insertions(+), 20 deletions(-)
9329 commit f67b6009278ef3dfe91ddbffb989dcfeed174352
9330 Author: Andrea Canciani <ranma42@gmail.com>
9331 Date: Sun Apr 4 11:50:41 2010 +0200
9333 quartz: Simplify path creation
9335 If paths are created before changing the ctm (when stroking) no
9336 multiplication is needed in the path construction code.
9338 src/cairo-quartz-surface.c | 60 ++++++++------------------------------------
9339 1 file changed, 10 insertions(+), 50 deletions(-)
9341 commit 3b2ceff0502ba409c161e497ebe015e0a0a88847
9342 Author: Andrea Canciani <ranma42@gmail.com>
9343 Date: Wed Apr 7 18:34:25 2010 +0200
9345 quartz: Stroke without ctm_inverse multiplication
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.
9350 src/cairo-quartz-surface.c | 10 +++++-----
9351 1 file changed, 5 insertions(+), 5 deletions(-)
9353 commit 514d366cde689f8200b049834bebbd421d5d8bcb
9354 Author: Chris Wilson <chris@chris-wilson.co.uk>
9355 Date: Tue Apr 27 11:07:09 2010 +0100
9357 snapshot: propagate status on finish
9359 src/cairo-surface-snapshot.c | 11 ++++++++---
9360 1 file changed, 8 insertions(+), 3 deletions(-)
9362 commit a505104013a1db0c8b1092c8a1848d7f0b02e6bc
9363 Author: Chris Wilson <chris@chris-wilson.co.uk>
9364 Date: Mon Apr 26 20:22:13 2010 +0100
9366 image: Compute sample extents
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
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(-)
9378 commit b8a7f8621a84083735d0e2c8748f5fa2b7f4b36a
9379 Author: Andrea Canciani <ranma42@gmail.com>
9380 Date: Tue Apr 27 10:17:23 2010 +0200
9384 I updated the Free Software Foundation address using the following script.
9386 for i in $(git grep Temple | cut -d: -f1 )
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"
9391 Fixes http://bugs.freedesktop.org/show_bug.cgi?id=21356
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 +-
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(-)
9657 commit 9672aab6b7c3f1efc065a6e5eb69443a1ecaa723
9658 Author: Benjamin Otte <otte@redhat.com>
9659 Date: Mon Apr 26 21:28:53 2010 +0200
9661 tests: Integrate xlib-expose-event test into usual tests
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
9667 test/xlib-expose-event.c | 63 +++++++++++-----------------------------------
9668 1 file changed, 15 insertions(+), 48 deletions(-)
9670 commit 36e0a3d3a01f9962d97386ea2d3c60020e937a81
9671 Author: Chris Wilson <chris@chris-wilson.co.uk>
9672 Date: Mon Apr 26 18:18:27 2010 +0100
9674 trace: Remove unused functions
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
9681 util/cairo-trace/trace.c | 24 ------------------------
9682 1 file changed, 24 deletions(-)
9684 commit 3a2d9ffe0333090bb31ff01048ed506595f20cf9
9685 Author: Chris Wilson <chris@chris-wilson.co.uk>
9686 Date: Mon Apr 26 18:17:49 2010 +0100
9688 trace: Check return value to suppress compiler warning
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
9694 util/cairo-trace/trace.c | 5 ++++-
9695 1 file changed, 4 insertions(+), 1 deletion(-)
9697 commit 37be183412eb35abc11e602857602aee05839fc7
9698 Author: Chris Wilson <chris@chris-wilson.co.uk>
9699 Date: Mon Apr 26 18:12:05 2010 +0100
9701 trace: Trivial compiler warning fix
9703 trace.c:1665: warning: initialization from incompatible pointer type
9705 util/cairo-trace/trace.c | 2 +-
9706 1 file changed, 1 insertion(+), 1 deletion(-)
9708 commit 3c9e5d9792e101cfbd5a1116f06579539ed7b585
9709 Author: Chris Wilson <chris@chris-wilson.co.uk>
9710 Date: Mon Apr 26 18:13:36 2010 +0100
9712 region: Cast to remove const to suppress compiler warnings.
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 *’
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 *’
9726 src/cairo-region.c | 4 ++--
9727 1 file changed, 2 insertions(+), 2 deletions(-)
9729 commit 8c72122df51a10a32b56cdf20e5a1037ee59a958
9730 Author: Chris Wilson <chris@chris-wilson.co.uk>
9731 Date: Sun Apr 25 10:30:12 2010 +0100
9733 clip: Skip combining with solid pixel aligned boxes.
9735 src/cairo-clip.c | 6 ++++++
9736 1 file changed, 6 insertions(+)
9738 commit 240ebaf81a42c24c4d4267879c5ef8102e97017e
9739 Author: Chris Wilson <chris@chris-wilson.co.uk>
9740 Date: Sun Apr 25 09:44:18 2010 +0100
9742 clip: Fix sign reverse when combining with the clip surface.
9744 Finally, found the reversed sign in the clipping code, thanks cu!
9746 Fixes: test/clip-shape
9748 src/cairo-clip.c | 24 ++----------------------
9749 1 file changed, 2 insertions(+), 22 deletions(-)
9751 commit 4d3632761b928c14fb1ce257af077f45658d8537
9752 Author: Chris Wilson <chris@chris-wilson.co.uk>
9753 Date: Sun Apr 25 09:42:13 2010 +0100
9755 clip: Report the surface offset when retrieving the clip mask
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
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(-)
9772 commit 241ce933f8fa44210015dcdc4a66b3f9d8ac56e8
9773 Author: Chris Wilson <chris@chris-wilson.co.uk>
9774 Date: Sun Apr 25 09:37:50 2010 +0100
9776 test: Add clip-shape
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...
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.
9786 Reported-by: <cairouser@yahoo.com>
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(+)
9797 commit 1687c7b7d3074de8eeea1a5c339df9a12cc38da2
9798 Author: Benjamin Otte <otte@redhat.com>
9799 Date: Fri Apr 23 22:22:28 2010 +0200
9801 xlib: Fix display closing to work properly
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.
9806 src/cairo-xlib-display.c | 37 +++++++++++++++++++++++--------------
9807 1 file changed, 23 insertions(+), 14 deletions(-)
9809 commit 637564c562de21c17c36d192d3ab1b3fe069754b
9810 Author: Benjamin Otte <otte@redhat.com>
9811 Date: Fri Apr 23 22:10:32 2010 +0200
9813 xlib: Fix screen device handling
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
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(-)
9825 commit 49b52a8946cbd5f785f71069313e4a204358887b
9826 Author: Benjamin Otte <otte@redhat.com>
9827 Date: Thu Apr 22 21:56:31 2010 +0200
9829 gl: Make drawing to windows work again
9831 The correct MIN/MAG_FILTER wasn't set.
9833 src/cairo-gl-surface.c | 2 ++
9834 1 file changed, 2 insertions(+)
9836 commit 3efbc0c5c850d0cb5c5af5bcabbc7293670ea355
9837 Author: Benjamin Otte <otte@redhat.com>
9838 Date: Tue Apr 20 21:58:59 2010 +0200
9840 gl: Only unref a surface if it exists
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
9846 src/cairo-gl-surface.c | 3 ++-
9847 1 file changed, 2 insertions(+), 1 deletion(-)
9849 commit 64662be4ef3851d21658e5fdb2efb6806b45eba8
9850 Author: Benjamin Otte <otte@redhat.com>
9851 Date: Thu Apr 22 22:05:03 2010 +0200
9853 gl: Use GLfloat instead of float in gl*Array() functions
9855 src/cairo-gl-surface.c | 6 +++---
9856 1 file changed, 3 insertions(+), 3 deletions(-)
9858 commit e4f84f97b2f5d37bc1fb7dd510df733053ffe624
9859 Author: Benjamin Otte <otte@redhat.com>
9860 Date: Tue Apr 20 21:33:50 2010 +0200
9862 gl: Don't acquire the gl context twice
9864 src/cairo-gl-surface.c | 7 -------
9865 1 file changed, 7 deletions(-)
9867 commit e40a2d1f5eeea139e29c27e38495b9c0bf9e39a1
9868 Author: Benjamin Otte <otte@redhat.com>
9869 Date: Thu Apr 22 22:03:29 2010 +0200
9871 gl: Use correct type when uploading images
9873 src/cairo-gl-surface.c | 2 +-
9874 1 file changed, 1 insertion(+), 1 deletion(-)
9876 commit 55cf323f963bbcc11bcc290eaf71656e1ba91efd
9877 Author: Benjamin Otte <otte@redhat.com>
9878 Date: Thu Apr 22 21:58:01 2010 +0200
9880 gl: fix typo in comment
9882 src/cairo-gl-surface.c | 2 +-
9883 1 file changed, 1 insertion(+), 1 deletion(-)
9885 commit 887d43578c3acc7d45c8b2e3ade5da29be804eeb
9886 Author: Chris Wilson <chris@chris-wilson.co.uk>
9887 Date: Fri Apr 23 20:14:03 2010 +0100
9889 xlib: Simply release the ref, not destroy, from CloseDisplay.
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
9896 src/cairo-xlib-display.c | 22 ++++++++++++----------
9897 1 file changed, 12 insertions(+), 10 deletions(-)
9899 commit c63e3490a5fc2836837e7adcb5ecad62bdfd18ab
9900 Author: Chris Wilson <chris@chris-wilson.co.uk>
9901 Date: Thu Apr 22 20:33:06 2010 +0100
9903 cairo: Handle the all-clipped state in cairo_push_group()
9905 Yet another bug reported by Jeff Muizelaar, thanks!
9907 Fixes: test/clip-empty-group
9909 src/cairo.c | 81 +++++++++++++++++++++++++++++++++--------------------------
9910 1 file changed, 46 insertions(+), 35 deletions(-)
9912 commit 567e485f28716d7b72cbf864a0c573148be91cd8
9913 Author: Chris Wilson <chris@chris-wilson.co.uk>
9914 Date: Fri Apr 23 14:37:43 2010 +0100
9916 test: Add clip-empty-group
9918 Exercise a bug reported by Jeff Muizelaar whereby cairo_push_group() was
9919 broken by everything being clipped out.
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(+)
9927 commit 4438cc6a49e7e902dce045706f7125a2c3e2174b
9928 Author: Chris Wilson <chris@chris-wilson.co.uk>
9929 Date: Sat Apr 3 18:10:57 2010 +0100
9931 cairo: Use explicit device flushing.
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.
9937 src/cairo.c | 11 -----------
9938 1 file changed, 11 deletions(-)
9940 commit 0fc140abc3c848e72b1b2b959026355fdbd6a941
9941 Author: Chris Wilson <chris@chris-wilson.co.uk>
9942 Date: Wed Apr 21 12:01:49 2010 +0100
9944 pdf: Suppress compiler warning.
9946 src/cairo-pdf-operators.c | 12 ++++++------
9947 1 file changed, 6 insertions(+), 6 deletions(-)
9949 commit 1923a33a7277009b2898840d671fdc8f8d1b3922
9950 Author: Chris Wilson <chris@chris-wilson.co.uk>
9951 Date: Wed Apr 21 11:59:33 2010 +0100
9953 cairoint.h: Change ASSERT_NOT_REACHED to remove compiler warning
9955 src/cairoint.h | 3 +--
9956 1 file changed, 1 insertion(+), 2 deletions(-)
9958 commit d366da7d8c46b08673b9e36dd130608a311ded4b
9959 Author: Chris Wilson <chris@chris-wilson.co.uk>
9960 Date: Fri Apr 23 14:38:42 2010 +0100
9962 Win32 features update
9964 boilerplate/Makefile.win32.features | 8 --------
9965 src/Makefile.win32.features | 8 --------
9966 2 files changed, 16 deletions(-)
9968 commit c1e51a0264d204716f7706fbc66c2a7786b7947c
9969 Author: Chris Wilson <chris@chris-wilson.co.uk>
9970 Date: Fri Apr 23 14:33:53 2010 +0100
9972 build: Spelling correction
9974 build/Makefile.win32.features-h | 1 -
9975 build/configure.ac.features | 2 +-
9976 2 files changed, 1 insertion(+), 2 deletions(-)
9978 commit e0306da1d73509e2cfd0fce81a1b4259e5e3fcef
9979 Author: Chris Wilson <chris@chris-wilson.co.uk>
9980 Date: Wed Apr 21 22:51:53 2010 +0100
9982 configure: typo in check for xcb-shm
9985 1 file changed, 1 insertion(+), 1 deletion(-)
9987 commit b7fbda276df52de6a5ac67397a8d49657233fcfa
9988 Author: Andrea Canciani <ranma42@gmail.com>
9989 Date: Sun Apr 18 23:16:07 2010 +0200
9991 Revert "script: Another RGB16_565 warning."
9993 This reverts commit a9f506493371ac91494488e5ca38e57ceb5a10cb.
9995 The change was already applied in bdf8f50adae67498d5fe36727ed2cd34c0206509.
9997 src/cairo-script-surface.c | 6 ------
9998 1 file changed, 6 deletions(-)
10000 commit f74ad37e66bbdcc4d727ed6d931dde870d84c2f4
10001 Author: Benjamin Otte <otte@redhat.com>
10002 Date: Sun Apr 18 23:20:02 2010 +0200
10004 xlib: Make display a cairo_device_t
10006 The code now uses the locking of the cairo_device_t instead of its own
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.
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(-)
10023 commit 2bffa2467ed67517419e425fc34fb5b8294a9e96
10024 Author: Benjamin Otte <otte@redhat.com>
10025 Date: Wed Jan 27 10:56:22 2010 +0100
10027 Use pixman_image_composite32()
10029 Replace all occurences of pixman_image_composite()
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(-)
10040 commit 567923d66a375259a6a8083aa4ef1051097a60c5
10041 Author: Benjamin Otte <otte@redhat.com>
10042 Date: Wed Jan 27 09:39:20 2010 +0100
10044 image: Make unbounded fixup code not use pixman_fill()
10046 The new pixman_image_fill_boxes() does proper fallbacks for weird pixman
10049 src/cairo-image-surface.c | 123 +++++++++++++++++----------------------------
10050 1 file changed, 47 insertions(+), 76 deletions(-)
10052 commit b648365cfa2d808b34b924a6b105718e0673bb9b
10053 Author: Benjamin Otte <otte@redhat.com>
10054 Date: Wed Jan 27 09:21:41 2010 +0100
10056 Require pixman 0.17.5
10058 We want pixman_image_composite32() and pixman_image_fill_boxes()
10060 configure.ac | 2 +-
10061 1 file changed, 1 insertion(+), 1 deletion(-)
10063 commit 0a19ad7c104cd81fa2b93aaf7ef9302f50b3f369
10064 Author: Benjamin Otte <otte@redhat.com>
10065 Date: Thu Apr 15 17:58:16 2010 +0200
10067 gl: Get rid of "return value not checked" warnings
10069 Assert that those functions only return successfully.
10071 src/cairo-gl-surface.c | 42 ++++++++++++++++++++++++------------------
10072 1 file changed, 24 insertions(+), 18 deletions(-)
10074 commit 7745ea21e104d0a5eec1814f19bacb7334f42185
10075 Author: Benjamin Otte <otte@redhat.com>
10076 Date: Wed Apr 14 15:59:36 2010 +0200
10078 gl: acquire/release properly in _cairo_gl_draw_image()
10080 Fixes various testsuite failures, in particular ones related to masks.
10082 src/cairo-gl-surface.c | 16 ++++++++++++++--
10083 1 file changed, 14 insertions(+), 2 deletions(-)
10085 commit 596d3017a1b11cb9844e69330cdece7441929725
10086 Author: Benjamin Otte <otte@redhat.com>
10087 Date: Tue Apr 13 20:53:47 2010 +0200
10089 gl: acquire/release context when getting images
10091 Avoids Mesa complaining about no current context.
10093 src/cairo-gl-surface.c | 7 +++++++
10094 1 file changed, 7 insertions(+)
10096 commit 46ef05c3d73af2b222602954b986832e77355a12
10097 Author: Benjamin Otte <otte@redhat.com>
10098 Date: Mon Mar 29 12:58:18 2010 +0200
10100 glx: Add getters for device's Display and GLXContext
10102 src/cairo-gl.h | 6 ++++++
10103 src/cairo-glx-context.c | 30 ++++++++++++++++++++++++++++++
10104 2 files changed, 36 insertions(+)
10106 commit 712919223d08f8b4c43f828322fdc285560c137f
10107 Author: Benjamin Otte <otte@redhat.com>
10108 Date: Fri Mar 26 15:50:10 2010 +0100
10110 gl: Make code safe for multithreaded access
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.
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
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(-)
10127 commit 8f2e82cea3405fa9a6591911c0d42ea3dd0c6180
10128 Author: Benjamin Otte <otte@redhat.com>
10129 Date: Thu Apr 15 17:48:24 2010 +0200
10131 xcb: Make code not complain about every new format
10133 src/cairo-xcb-surface-render.c | 46 ++++++++++++++++------------------------
10134 1 file changed, 18 insertions(+), 28 deletions(-)
10136 commit 1d753b2f4d724c5ac3e452848ca4dda5891816a6
10137 Author: Benjamin Otte <otte@redhat.com>
10138 Date: Tue Feb 23 21:53:31 2010 +0100
10140 xlib: Make code not complain about every new format
10142 src/cairo-xlib-surface.c | 46 ++++++++++++++++++----------------------------
10143 1 file changed, 18 insertions(+), 28 deletions(-)
10145 commit ebc9cc46fe7740c6d97e02edc66bae383413764b
10146 Author: Benjamin Otte <otte@redhat.com>
10147 Date: Fri Mar 5 15:08:34 2010 +0100
10149 gl: Use right format
10151 The internal format should always be GL_RGBA.
10153 src/cairo-gl-surface.c | 2 +-
10154 1 file changed, 1 insertion(+), 1 deletion(-)
10156 commit 4142f0836d6719dd136a5fc6ac1adaddd681a3f2
10157 Author: Chris Wilson <chris@chris-wilson.co.uk>
10158 Date: Thu Apr 15 09:09:31 2010 +0100
10160 gl: Handle component-alpha ADD
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.
10167 firefox-36-20090611 76.185
10169 firefox-36-20090611 72.863
10171 src/cairo-gl-surface.c | 16 +++++++++-------
10172 1 file changed, 9 insertions(+), 7 deletions(-)
10174 commit a4bae1956bee0be98a5a22bd82d417192776e7f0
10175 Author: Benjamin Otte <otte@redhat.com>
10176 Date: Wed Apr 14 22:46:34 2010 +0200
10178 gl: Really don't write error status to the inert object.
10180 src/cairo-gl-surface.c | 3 +++
10181 1 file changed, 3 insertions(+)
10183 commit 5fed41ee2bb3097c1446c1cf2038c912d5932692
10184 Author: Benjamin Otte <otte@redhat.com>
10185 Date: Wed Apr 14 22:43:29 2010 +0200
10187 test: Add test checking that all setters properly check surface->status
10189 In particular, make sure that the setters when called on a const nil
10190 surface don't try to set surface->status.
10192 test/Makefile.sources | 1 +
10193 test/error-setters.c | 109 +++++++++++++++++++++++++++++++++++++++++++++++++
10194 2 files changed, 110 insertions(+)
10196 commit 6826f020014fff566678a1ff92014211e2a21d4c
10197 Author: Chris Wilson <chris@chris-wilson.co.uk>
10198 Date: Wed Apr 14 19:33:34 2010 +0100
10200 gl: Don't write error status to the inert object.
10202 Reported-by: Benjamin Otte <otte@redhat.com>
10204 src/cairo-gl-surface.c | 3 +++
10205 1 file changed, 3 insertions(+)
10207 commit 3814855a649ffca695ce31d97c291496e32d2e26
10208 Author: Chris Wilson <chris@chris-wilson.co.uk>
10209 Date: Wed Apr 14 20:22:14 2010 +0100
10211 script: Flush prior to modifying the image data.
10213 util/cairo-script/cairo-script-operators.c | 1 +
10214 1 file changed, 1 insertion(+)
10216 commit 03f7bfc351c27ab9d0b764a21bdcf2304e8c2e81
10217 Author: Chris Wilson <chris@chris-wilson.co.uk>
10218 Date: Wed Apr 14 20:14:39 2010 +0100
10220 rtree: Remove the false assert upon collapse.
10222 src/cairo-rtree.c | 2 --
10223 1 file changed, 2 deletions(-)
10225 commit b0383d0cd2b40185b1676d9c88d3647cecc1d7fd
10226 Author: Chris Wilson <chris@chris-wilson.co.uk>
10227 Date: Wed Apr 14 19:33:34 2010 +0100
10229 svg: Don't write error status to the inert object.
10231 Reported-by: Benjamin Otte <otte@redhat.com>
10233 src/cairo-svg-surface.c | 37 +++++++++++++++++++++----------------
10234 1 file changed, 21 insertions(+), 16 deletions(-)
10236 commit 5274b63adb9ad808f94e6ea04707991ec1192694
10237 Author: Chris Wilson <chris@chris-wilson.co.uk>
10238 Date: Wed Apr 14 19:33:34 2010 +0100
10240 ps: Don't write error status to the inert object.
10242 Reported-by: Benjamin Otte <otte@redhat.com>
10244 src/cairo-pdf-surface.c | 2 --
10245 src/cairo-ps-surface.c | 74 +++++++++++++++++------------------------------
10246 2 files changed, 27 insertions(+), 49 deletions(-)
10248 commit 45d23b8a791d5845025a1a4d93f99030ec9e0115
10249 Author: Chris Wilson <chris@chris-wilson.co.uk>
10250 Date: Wed Apr 14 19:33:34 2010 +0100
10252 pdf: Don't write error status to the inert object.
10254 Reported-by: Benjamin Otte <otte@redhat.com>
10256 src/cairo-pdf-surface.c | 41 ++++++++++++++++++++++-------------------
10257 1 file changed, 22 insertions(+), 19 deletions(-)
10259 commit 4351304b5110200b77e6851995cf533a929ba17e
10260 Author: Chris Wilson <chris@chris-wilson.co.uk>
10261 Date: Wed Apr 14 19:29:07 2010 +0100
10263 Win32 features update.
10265 boilerplate/Makefile.win32.features | 8 ++++++++
10266 build/Makefile.win32.features-h | 1 +
10267 2 files changed, 9 insertions(+)
10269 commit bd17b898b1c249aa0dc443bc303bad4fea8690bc
10270 Author: Chris Wilson <chris@chris-wilson.co.uk>
10271 Date: Wed Apr 14 19:11:15 2010 +0100
10273 surface: Propagate the error status to _cairo_surface_get_device()
10275 If the surface is in error, the appropriate action is report the error
10276 using an inert error cairo_device_t.
10278 Reported-by: Benjamin Otte <otte@redhat.com>
10280 src/cairo-surface.c | 3 +++
10281 1 file changed, 3 insertions(+)
10283 commit 005596907fc9b62fa4bf72ec35e0d1a1a242ef93
10284 Author: Chris Wilson <chris@chris-wilson.co.uk>
10285 Date: Wed Apr 14 19:05:09 2010 +0100
10287 xlib: Don't operate on an error object inside setters.
10289 Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=599574
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.
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(+)
10301 commit 8afd4e4c3db53159d1e5b6f13d3355cb5fb1750b
10302 Author: Chris Wilson <chris@chris-wilson.co.uk>
10303 Date: Tue Apr 13 17:52:19 2010 +0100
10305 hull: _cairo_hull_vertex_compare() return 0 for identical elements
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.
10311 Reported-by: Andreas Falkenhahn <andreas@airsoftsoftwair.de>
10313 src/cairo-hull.c | 7 +++++++
10314 1 file changed, 7 insertions(+)
10316 commit d95037db9915033ef1eee24c2fc05e8a95af5457
10317 Author: Chris Wilson <chris@chris-wilson.co.uk>
10318 Date: Sun Apr 11 21:04:29 2010 +0100
10320 cache: Tidy _cairo_cache_shrink_to_accommodate()
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
10326 src/cairo-cache.c | 10 +++-------
10327 1 file changed, 3 insertions(+), 7 deletions(-)
10329 commit e6309c6307179388c5de938bffdb44b83b694f28
10330 Author: Chris Wilson <chris@chris-wilson.co.uk>
10331 Date: Sun Apr 11 21:03:00 2010 +0100
10333 xcb: Use normal finish to decouple from surface cache.
10335 Hook into the standard finishing process for a more robust cache removal
10336 mechanism. firefox was able to trigger some double free asserts
10339 src/cairo-xcb-screen.c | 4 ++-
10340 src/cairo-xcb-surface-render.c | 57 +++++++++++++++++++---------------------
10341 2 files changed, 30 insertions(+), 31 deletions(-)
10343 commit e425c44e9c4c1796ccc3557a0368cf3b3a685a31
10344 Author: Andrea Canciani <ranma42@gmail.com>
10345 Date: Fri Apr 9 08:32:22 2010 +0200
10347 boilerplate: Compile xlib without xrender
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.
10353 boilerplate/cairo-boilerplate-xlib.c | 6 ++++++
10354 1 file changed, 6 insertions(+)
10356 commit 061ea78ad2838450b20d5550a7285823e0d24e1b
10357 Author: Andrea Canciani <ranma42@gmail.com>
10358 Date: Fri Apr 9 08:28:33 2010 +0200
10360 perf: Correct cairo-perf-diff syntax
10362 { cmd-list; } seems to literally be the required syntax. Blanks and
10363 ';' are both mandatory.
10365 perf/cairo-perf-diff | 2 +-
10366 1 file changed, 1 insertion(+), 1 deletion(-)
10368 commit 6986970ea5197685274b1fd809d72fbd771c0bab
10369 Author: Chris Wilson <chris@chris-wilson.co.uk>
10370 Date: Sat Apr 10 17:05:38 2010 +0100
10372 clip: Compile fix for previous clip.
10376 src/cairo-clip.c | 3 ---
10377 1 file changed, 3 deletions(-)
10379 commit 0899852c974099da9f8c5e493fa89b8d022646c5
10380 Author: Chris Wilson <chris@chris-wilson.co.uk>
10381 Date: Sat Apr 10 16:00:45 2010 +0100
10383 clip: Compare the whole clip when testing for equality.
10385 Should fix test/clip-contexts
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(-)
10392 commit 557016a86a5a4487aeb6ab6392795eb709ee8bb5
10393 Author: Chris Wilson <chris@chris-wilson.co.uk>
10394 Date: Sat Apr 10 15:59:13 2010 +0100
10396 test: Add clip-contexts
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
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(+)
10409 commit a9f506493371ac91494488e5ca38e57ceb5a10cb
10410 Author: Chris Wilson <chris@chris-wilson.co.uk>
10411 Date: Wed Apr 7 22:44:02 2010 +0100
10413 script: Another RGB16_565 warning.
10415 src/cairo-script-surface.c | 6 ++++++
10416 1 file changed, 6 insertions(+)
10418 commit 42b5cac7668625c9761113ff72b47af5cfd10377
10419 Author: Adrian Johnson <ajohnson@redneon.com>
10420 Date: Wed Apr 7 19:10:15 2010 +0930
10422 PDF-operators: ensure text operations flushed before emitting clip
10424 src/cairo-pdf-operators.c | 6 ++++++
10425 1 file changed, 6 insertions(+)
10427 commit c004800fae362ae907ef9d1f822d02c598572161
10428 Author: Chris Wilson <chris@chris-wilson.co.uk>
10429 Date: Wed Apr 7 22:46:38 2010 +0100
10431 script: Compile without FT_FONT
10433 src/cairo-script-surface.c | 9 ++++++++-
10434 1 file changed, 8 insertions(+), 1 deletion(-)
10436 commit bdf8f50adae67498d5fe36727ed2cd34c0206509
10437 Author: Chris Wilson <chris@chris-wilson.co.uk>
10438 Date: Wed Apr 7 22:44:02 2010 +0100
10440 script: Another RGB16_565 warning.
10442 src/cairo-script-surface.c | 6 ++++++
10443 1 file changed, 6 insertions(+)
10445 commit f5f64317874a3faa4f47688848a499b1e8836cf6
10446 Author: Chris Wilson <chris@chris-wilson.co.uk>
10447 Date: Wed Apr 7 21:57:22 2010 +0100
10449 perf: Switch between micro and trace benchmarks for cairo-perf-diff
10451 perf/cairo-perf-diff | 10 ++++------
10452 1 file changed, 4 insertions(+), 6 deletions(-)
10454 commit 70ca0040fda77b6865c20c94c1b7deaa6e63c481
10455 Author: Andrea Canciani <ranma42@gmail.com>
10456 Date: Wed Apr 7 22:54:57 2010 +0200
10458 Actually check for memory allocation failure
10460 Clang static analyzer signals "Dereference of null pointer" in case
10461 the malloc returns NULL, as the code is checking the wrong pointer.
10463 src/cairo-boxes.c | 2 +-
10464 1 file changed, 1 insertion(+), 1 deletion(-)
10466 commit d7f71ac5c209376bacb45199a0eaa3b1937172e9
10467 Author: Benjamin Otte <otte@redhat.com>
10468 Date: Wed Apr 7 21:57:38 2010 +0200
10470 region: Make the 2nd argument to intersect and union const
10472 src/cairo-region.c | 4 ++--
10473 src/cairo.h | 4 ++--
10474 2 files changed, 4 insertions(+), 4 deletions(-)
10476 commit ded3a9639b33b1e637e99250a463bc227c9e60f4
10477 Author: Kristian Rietveld <kris@gtk.org>
10478 Date: Tue Dec 29 08:47:09 2009 +0100
10480 quartz: Define cairo_quartz_float_t and use instead of float
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.
10485 Fixes https://bugs.freedesktop.org/show_bug.cgi?id=25814
10487 src/cairo-quartz-private.h | 6 ++++++
10488 src/cairo-quartz-surface.c | 40 +++++++++++++++++++++-------------------
10489 2 files changed, 27 insertions(+), 19 deletions(-)
10491 commit 7c2c3f621f9b009b97c5f269bf313be926cc51c7
10492 Author: Andrea Canciani <ranma42@gmail.com>
10493 Date: Sat Apr 3 22:54:57 2010 +0200
10495 Correct masking optimization
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.
10503 src/cairo-surface.c | 8 ++++----
10504 1 file changed, 4 insertions(+), 4 deletions(-)
10506 commit 24fc36c10f5c1c34e3059a8334178743052d7ad2
10507 Author: Chris Wilson <chris@chris-wilson.co.uk>
10508 Date: Fri Apr 2 08:44:45 2010 +0100
10510 script: Fix endian encoding of '<|' length.
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.
10516 src/cairo-script-surface.c | 9 ++++++++-
10517 1 file changed, 8 insertions(+), 1 deletion(-)
10519 commit 697094488c652ad351301696bba9a384cc70002c
10520 Author: Chris Wilson <chris@chris-wilson.co.uk>
10521 Date: Fri Apr 2 08:40:28 2010 +0100
10523 test: Add inverse text
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
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(+)
10537 commit fe610d559c70ab67f782b122437908ac80788611
10538 Author: Chris Wilson <chris@chris-wilson.co.uk>
10539 Date: Wed Mar 31 09:33:30 2010 +0100
10541 perf/micro: Show megapixel fill rate during paint.
10543 perf/micro/paint-with-alpha.c | 9 ++++++++-
10544 perf/micro/paint.c | 8 +++++++-
10545 2 files changed, 15 insertions(+), 2 deletions(-)
10547 commit 8f7078eba71dcd2aa70bf97c03ed7b4341260143
10548 Author: Chris Wilson <chris@chris-wilson.co.uk>
10549 Date: Thu Apr 1 20:42:44 2010 +0100
10551 boilerplate: Allox xlib-fallback to build without RENDER
10553 This surface doesn't use RENDER and should produce the same results
10554 when cairo-xlib is compiled without any support for RENDER.
10556 boilerplate/cairo-boilerplate-xlib.c | 72 ++--------------------------------
10557 1 file changed, 4 insertions(+), 68 deletions(-)
10559 commit d209b40c64bddeb0d830678bc2f84e1016fed879
10560 Author: Chris Wilson <chris@chris-wilson.co.uk>
10561 Date: Thu Apr 1 20:36:15 2010 +0100
10563 xlib: Rearrange xrender stubs to restore compilation without xrender.h
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(-)
10571 commit db4dbb38340e93da616319f00e0f4327d1c1d815
10572 Author: Behdad Esfahbod <behdad@behdad.org>
10573 Date: Thu Apr 1 01:53:22 2010 -0400
10575 Improve doc syntax check to allow inline macro docs
10577 src/check-doc-syntax.sh | 2 +-
10578 1 file changed, 1 insertion(+), 1 deletion(-)
10580 commit 00101fa71614fb48de436d6618e26353cf44ef95
10581 Author: Chris Wilson <chris@chris-wilson.co.uk>
10582 Date: Wed Mar 31 16:19:02 2010 +0100
10584 configure: check -lrt for shm_open()
10586 OS/X includes shm_open() in libc, and fails to link if -lrt is
10587 specified. So perform the appropriate configure time magic.
10589 configure.ac | 5 +++++
10590 util/cairo-sphinx/Makefile.am | 2 +-
10591 2 files changed, 6 insertions(+), 1 deletion(-)
10593 commit a81d347c2484e60ceec1d9dc81e1b88724496eaf
10594 Author: Andrea Canciani <ranma42@gmail.com>
10595 Date: Fri Feb 5 22:34:51 2010 +0100
10597 perf: Fix timestamp computation on MacOS X
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.
10603 Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
10605 perf/cairo-perf-posix.c | 7 +++++++
10606 1 file changed, 7 insertions(+)
10608 commit 55ce0b774869e9fa614c6f9fec7905f7205cb5ff
10609 Author: Andrea Canciani <ranma42@gmail.com>
10610 Date: Fri Feb 5 22:30:05 2010 +0100
10612 script: Fix script scanner endianness
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.
10619 Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
10621 util/cairo-script/cairo-script-scanner.c | 30 +++++++++++++++---------------
10622 1 file changed, 15 insertions(+), 15 deletions(-)
10624 commit 4f617eaf77540ba2140086bd5a19fe6d62503d62
10625 Author: Andrea Canciani <ranma42@gmail.com>
10626 Date: Fri Feb 5 22:27:28 2010 +0100
10628 trace: Fix trace endianness
10630 Trace files were using host-endian to represent the length of
10631 compressed data, making the trace format not portable.
10633 Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
10635 util/cairo-trace/trace.c | 15 +++++++++++++++
10636 1 file changed, 15 insertions(+)
10638 commit 35f19bc084792bbad42b86a399103ebfbf407d05
10639 Author: Andrea Canciani <ranma42@gmail.com>
10640 Date: Wed Mar 31 12:18:01 2010 +0200
10642 pattern: Fix _gradient_is_opaque() for zero stops
10644 _gradient_is_opaque() previously returned TRUE for gradient with
10645 no stops, triggering a false optimization in _cairo_gstate_mask().
10647 Fixes test/gradient-zero-stops-mask
10649 Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
10651 src/cairo-pattern.c | 3 +++
10652 1 file changed, 3 insertions(+)
10654 commit 01e182194224e0eb7493b2ae3c8367ed455cfd54
10655 Author: Andrea Canciani <ranma42@gmail.com>
10656 Date: Wed Mar 31 12:14:25 2010 +0200
10658 test: Add gradient-zero-stops-mask
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
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(+)
10671 commit ce3ad6f41edf86ed6914f4d7f364111eba42ca65
10672 Author: Chris Wilson <chris@chris-wilson.co.uk>
10673 Date: Wed Mar 31 08:21:17 2010 +0100
10675 xlib: Avoid multiple evaluations inside bswap_*() macro.
10678 Fonts are not readable if remote display to a machine with different
10680 https://bugzilla.mozilla.org/show_bug.cgi?id=526977
10682 Reported-and-tested-by: Ginn Chen <Ginn.Chen@Sun.COM>
10684 src/cairo-xlib-surface.c | 3 ++-
10685 1 file changed, 2 insertions(+), 1 deletion(-)
10687 commit be4ffa9df275513de3175415ee889b7323499a37
10688 Author: Chris Wilson <chris@chris-wilson.co.uk>
10689 Date: Sun Mar 28 19:40:54 2010 +0100
10691 doc: Fix some missing '%' in gtk-doc comments
10693 src/cairo-surface.c | 4 ++--
10694 src/cairo-svg-surface.c | 10 +++++-----
10695 2 files changed, 7 insertions(+), 7 deletions(-)
10697 commit 7ab350378e8597e9872dbe390b8454d0a63bff28
10698 Author: Chris Wilson <chris@chris-wilson.co.uk>
10699 Date: Sun Mar 28 19:38:24 2010 +0100
10701 Silence enumeration warnings following addition of RGB16_565
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(-)
10723 commit d901692a5550c51fd3eefd307609fb800ef02a95
10724 Author: Chris Wilson <chris@chris-wilson.co.uk>
10725 Date: Tue Mar 30 15:31:32 2010 +0100
10727 scaled-glyph: Allow removal info fields.
10729 Pushed a fraction of a second too soon... Update the
10730 scaled_glyph->has_info if the backend clears any field as well.
10732 src/cairo-scaled-font.c | 19 ++++++++++++++++---
10733 1 file changed, 16 insertions(+), 3 deletions(-)
10735 commit 5c4b6d520bc7ce7d5193a89bbda44b91f5eb0d4d
10736 Author: Chris Wilson <chris@chris-wilson.co.uk>
10737 Date: Tue Mar 30 15:26:42 2010 +0100
10739 xcb: Cache whether we have already check a glyph for size.
10741 Avoid repeated cairo_scaled_glyph_lookup() and checking of sizes if we
10742 have already seen this glyph in this run.
10744 src/cairo-xcb-surface-render.c | 10 ++++++++++
10745 1 file changed, 10 insertions(+)
10747 commit 1c76e3e9ad1437662bf91ed1d21c4bda8fd50fb4
10748 Author: Chris Wilson <chris@chris-wilson.co.uk>
10749 Date: Tue Mar 30 15:24:08 2010 +0100
10751 scaled-font: Optimize cairo_scaled_font_lookup()
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.
10759 src/cairo-scaled-font.c | 73 +++++++++++++--------------------------------
10760 src/cairo-types-private.h | 1 +
10761 2 files changed, 21 insertions(+), 53 deletions(-)
10763 commit d2ec151e490b227e7f3d6879bf7a893577dfefa5
10764 Author: Chris Wilson <chris@chris-wilson.co.uk>
10765 Date: Tue Mar 30 15:23:18 2010 +0100
10767 perf/micro: Exercise different sizes and antialising modes with glyphs
10769 perf/micro/glyphs.c | 85 ++++++++++++++++++++++++++++++++++++++++++++++-----
10770 1 file changed, 77 insertions(+), 8 deletions(-)
10772 commit 72481acf0d1e8648c5d03ce51f84c639132475a9
10773 Author: Chris Wilson <chris@chris-wilson.co.uk>
10774 Date: Tue Mar 30 04:10:28 2010 +0100
10776 perf: Compute ops per second
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.
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(-)
10812 commit 2a98d0586c19fbb2b555f471895d73f253c4943b
10813 Author: Chris Wilson <chris@chris-wilson.co.uk>
10814 Date: Mon Mar 15 18:23:23 2010 +0000
10816 drm/i915: Avoid using another unpreserved temporary
10818 As we may load from a sampler, we can not use on of the unpreserved
10819 temporaries to store the intermediate colour result.
10821 src/drm/cairo-drm-i915-shader.c | 26 +++++++++++++++-----------
10822 1 file changed, 15 insertions(+), 11 deletions(-)
10824 commit 26f963557bf065fd25b9c4f6652a252735a0fb74
10825 Author: Chris Wilson <chris@chris-wilson.co.uk>
10826 Date: Mon Mar 15 18:22:06 2010 +0000
10828 drm/i915: Normalize spans opacity value
10830 On the generic path I forgot to rescale the alpha value into [0,1].
10832 src/drm/cairo-drm-i915-spans.c | 7 ++++---
10833 1 file changed, 4 insertions(+), 3 deletions(-)
10835 commit 97f8c20727eaeb2dfddb0d4796192cc042eb14fa
10836 Author: Chris Wilson <chris@chris-wilson.co.uk>
10837 Date: Sat Mar 27 21:52:16 2010 +0000
10839 boilerplate: Create an image16 target
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.
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(-)
10866 commit 022291be1cbddf4f6722f0bf76ebda6922780276
10867 Author: Oleg Romashin <romaxa@gmail.com>
10868 Date: Wed Mar 24 13:12:25 2010 -0400
10870 Add back support for CAIRO_FORMAT_RGB16_565
10872 Due to slow memory speed, 16bpp color depth is still very popular on mobile
10873 devices. Maemo5 is also using 16bpp color depth.
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(-)
10882 commit 36e12b1952f9bdc52491c5a9bdf8ce155865c362
10883 Author: Chris Wilson <chris@chris-wilson.co.uk>
10884 Date: Wed Mar 24 12:14:20 2010 +0000
10886 subsurface: Ignore return from _cairo_clip_init_copy()
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
10892 src/cairo-surface-subsurface.c | 15 ++++++++++-----
10893 1 file changed, 10 insertions(+), 5 deletions(-)
10895 commit e356e5d18b923d9b0ff83e9460582710f9e515d9
10896 Author: Chris Wilson <chris@chris-wilson.co.uk>
10897 Date: Wed Mar 24 11:38:19 2010 +0000
10899 recording: Fix leak of clip from snapshots of recording surfaces.
10901 src/cairo-recording-surface.c | 1 +
10902 1 file changed, 1 insertion(+)
10904 commit 5b4885f693c0d800da7160770b341166e3bdea61
10905 Author: Chris Wilson <chris@chris-wilson.co.uk>
10906 Date: Wed Mar 24 11:25:29 2010 +0000
10908 clip: propagate the no-clip through the copy.
10910 src/cairo-clip.c | 1 +
10911 1 file changed, 1 insertion(+)
10913 commit b3e0393161904c2fea62b0198dea551a77201c19
10914 Author: Chris Wilson <chris@chris-wilson.co.uk>
10915 Date: Wed Mar 24 11:21:36 2010 +0000
10917 clip: Don't reduce all-clip to no-clip.
10919 src/cairo-clip.c | 3 ++-
10920 1 file changed, 2 insertions(+), 1 deletion(-)
10922 commit b12114f296e4e8db3207ab593a431fd0ca2ee67c
10923 Author: Chris Wilson <chris@chris-wilson.co.uk>
10924 Date: Wed Mar 24 11:08:38 2010 +0000
10926 snapshot: Finish the clone.
10928 Kill ref cycles from snapshots patterns by explicitly calling finish on
10929 the cloned surface.
10931 src/cairo-surface-snapshot.c | 1 +
10932 1 file changed, 1 insertion(+)
10934 commit db913d731e50505892697bdc919f9fe146eea6ab
10935 Author: Chris Wilson <chris@chris-wilson.co.uk>
10936 Date: Wed Mar 24 10:16:58 2010 +0000
10938 xcb: Ensure that we own the glyph cache before use.
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.
10943 src/cairo-xcb-surface-render.c | 38 +++++++++++++++++++++++++++++---------
10944 1 file changed, 29 insertions(+), 9 deletions(-)
10946 commit 6da3cea3564bd8c5de37bf2244a2dd656202e4ec
10947 Author: Chris Wilson <chris@chris-wilson.co.uk>
10948 Date: Tue Mar 23 20:53:11 2010 +0000
10950 scaled-font: Destroy the old surface when replacing scaled_glyph->recording
10952 src/cairo-scaled-font.c | 11 ++++++++---
10953 1 file changed, 8 insertions(+), 3 deletions(-)
10955 commit 548092fe8c9af1423a10e9566cbc4315d2f28efc
10956 Author: Chris Wilson <chris@chris-wilson.co.uk>
10957 Date: Tue Mar 23 20:08:04 2010 +0000
10959 script: Free the surface/font bitmaps.
10961 src/cairo-script-surface.c | 13 +++++++++++++
10962 1 file changed, 13 insertions(+)
10964 commit 83d1bd9f37da93fbdc586788b6891d0eccdb7cee
10965 Author: Chris Wilson <chris@chris-wilson.co.uk>
10966 Date: Tue Mar 23 20:04:10 2010 +0000
10968 script: Manually unlink font entries upon destruction
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.
10975 src/cairo-script-surface.c | 4 +++-
10976 1 file changed, 3 insertions(+), 1 deletion(-)
10978 commit cccf6753ab68b0795351da2626f9e4ecd60c2a2e
10979 Author: Chris Wilson <chris@chris-wilson.co.uk>
10980 Date: Tue Mar 23 19:45:35 2010 +0000
10982 script: More acquire device fixes.
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.
10988 src/cairo-script-surface.c | 69 ++++++++++++++++++++++++++++++++++----------
10989 1 file changed, 54 insertions(+), 15 deletions(-)
10991 commit 25a77b263d170265a9acf1697793cbbfa07dd852
10992 Author: Chris Wilson <chris@chris-wilson.co.uk>
10993 Date: Tue Mar 23 16:49:21 2010 +0000
10995 boilerplate: Cleanup the list of backends upon shutdown.
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(+)
11004 commit 1ddcd5cf31bb47e9ff18ddf94d0a4648fa70a617
11005 Author: Chris Wilson <chris@chris-wilson.co.uk>
11006 Date: Tue Mar 23 16:43:39 2010 +0000
11008 clip: Remove the redundant _cairo_clip_init_rectangle()
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);
11017 perform the transformation and in the process catch a few mistakes along
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(-)
11027 commit 61ad28fe7d334c63197ae3881d5edd074d63cfec
11028 Author: Chris Wilson <chris@chris-wilson.co.uk>
11029 Date: Tue Mar 23 10:44:16 2010 +0000
11031 device: Add language binding interfaces.
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.
11037 src/cairo-device-private.h | 1 +
11038 src/cairo-device.c | 78 ++++++++++++++++++++++++++++++++++++++++++++
11039 src/cairo.h | 14 ++++++++
11040 3 files changed, 93 insertions(+)
11042 commit 8a8c2f6c282c1822dc1a638c2258c8449b1d678b
11043 Author: Chris Wilson <chris@chris-wilson.co.uk>
11044 Date: Tue Mar 23 10:34:06 2010 +0000
11046 cairo: Typos in docs.
11048 A couple of typos reported by Damien Carbonne.
11050 src/cairo-recording-surface.c | 10 ++++------
11051 src/cairo.h | 4 ++--
11052 2 files changed, 6 insertions(+), 8 deletions(-)
11054 commit 4c55c87478a2595569f9c1f13657c3d309f31407
11055 Author: Chris Wilson <chris@chris-wilson.co.uk>
11056 Date: Tue Mar 23 10:05:35 2010 +0000
11058 image: Free traps after conversion from boxes.
11060 src/cairo-image-surface.c | 9 ++++++---
11061 1 file changed, 6 insertions(+), 3 deletions(-)
11063 commit 07f7bddc30157fed8f9dced00fef44a2307b4b01
11064 Author: Chris Wilson <chris@chris-wilson.co.uk>
11065 Date: Tue Mar 23 10:05:35 2010 +0000
11067 xcb: Free traps after conversion from boxes.
11069 src/cairo-xcb-surface-render.c | 9 ++++++---
11070 1 file changed, 6 insertions(+), 3 deletions(-)
11072 commit 181403fb534d0216123043bcd3ee6cff60e1e6fd
11073 Author: Chris Wilson <chris@chris-wilson.co.uk>
11074 Date: Tue Mar 23 09:38:59 2010 +0000
11076 test/clear-source: Free source after use.
11078 test/clear-source.c | 38 ++++++++++++++++++++++----------------
11079 1 file changed, 22 insertions(+), 16 deletions(-)
11081 commit 35432e37c264e1ace764b4a1393d9b8579eb52c0
11082 Author: Chris Wilson <chris@chris-wilson.co.uk>
11083 Date: Tue Mar 23 09:35:51 2010 +0000
11085 xcb: Destroy reference to clip surface after use.
11087 src/cairo-xcb-surface-render.c | 3 +++
11088 1 file changed, 3 insertions(+)
11090 commit 98e3dfbb899f0228fc9987a56af93b012989a27a
11091 Author: Chris Wilson <chris@chris-wilson.co.uk>
11092 Date: Tue Mar 23 09:35:31 2010 +0000
11094 xcb: Relinquish the xcb connection on finish.
11096 src/cairo-xcb-connection.c | 7 +++++++
11097 1 file changed, 7 insertions(+)
11099 commit 638cae3bdeaf0b10d1fd59a519f5d7a05c5b179c
11100 Author: Chris Wilson <chris@chris-wilson.co.uk>
11101 Date: Tue Mar 23 08:25:13 2010 +0000
11103 xcb: Fix leak of clip rectangle during show-glyphs.
11105 src/cairo-xcb-surface-render.c | 15 ++++++---------
11106 1 file changed, 6 insertions(+), 9 deletions(-)
11108 commit 1d4ad787747b5c92c3b062afde5b98c72ac4cc95
11109 Author: Chris Wilson <chris@chris-wilson.co.uk>
11110 Date: Tue Mar 23 08:20:49 2010 +0000
11112 test/pthread-same-source: Free source after use.
11114 test/pthread-same-source.c | 6 ++++++
11115 1 file changed, 6 insertions(+)
11117 commit bfc027ac6d05f489d0d26110c225d2871be0971c
11118 Author: Chris Wilson <chris@chris-wilson.co.uk>
11119 Date: Tue Mar 23 08:16:57 2010 +0000
11121 test/clip-image: Free image after use.
11123 test/clip-image.c | 1 +
11124 1 file changed, 1 insertion(+)
11126 commit e214f09d633093ce9b2ca0bffce10bc68a6e30b0
11127 Author: Chris Wilson <chris@chris-wilson.co.uk>
11128 Date: Mon Mar 22 22:20:58 2010 +0000
11130 xcb: Consume the implicit reference for the cached connection on finish
11132 src/cairo-xcb-connection.c | 5 +++++
11133 1 file changed, 5 insertions(+)
11135 commit c235543bdfd8b1495cb7ae8f2a82b6267c4d9b84
11136 Author: Chris Wilson <chris@chris-wilson.co.uk>
11137 Date: Mon Mar 22 22:15:44 2010 +0000
11139 xcb: Destroy reference to local source picture in show-glyphs.
11141 src/cairo-xcb-surface-render.c | 14 +++++++++++---
11142 1 file changed, 11 insertions(+), 3 deletions(-)
11144 commit c42cdd2c9d883ef359ac57b65eba4ed15441181d
11145 Author: Chris Wilson <chris@chris-wilson.co.uk>
11146 Date: Mon Mar 22 20:14:09 2010 +0000
11148 xcb: Gracefully destroy any lingering fallback during finish.
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.
11154 src/cairo-xcb-surface.c | 19 ++++++++++++-------
11155 1 file changed, 12 insertions(+), 7 deletions(-)
11157 commit fd96aa3de2218dcc6671636f35a24738e3cae996
11158 Author: Chris Wilson <chris@chris-wilson.co.uk>
11159 Date: Mon Mar 22 19:07:31 2010 +0000
11161 gl: Hook in glyph cache finalisation.
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(-)
11168 commit c7511fa7ad932675c8cebba504d3c538ead3c44c
11169 Author: Chris Wilson <chris@chris-wilson.co.uk>
11170 Date: Mon Mar 22 17:21:38 2010 +0000
11172 drm/intel: Revoke glyph caches on device finish
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(-)
11180 commit 9ba73bdfc451d205f411e3dbc8073ae10d58b4f3
11181 Author: Chris Wilson <chris@chris-wilson.co.uk>
11182 Date: Mon Mar 22 17:17:08 2010 +0000
11184 gl: Decouple cache from scaled-font on context destruction
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(-)
11193 commit 7812d095ab7657400be470af8fdc7f20eaedd6c5
11194 Author: Chris Wilson <chris@chris-wilson.co.uk>
11195 Date: Mon Mar 22 16:46:58 2010 +0000
11197 drm/intel: Replace open-coding of _cairo_rtree_node_remove()
11199 src/drm/cairo-drm-intel.c | 17 +++--------------
11200 1 file changed, 3 insertions(+), 14 deletions(-)
11202 commit 48d847162558dc09388942a96ff443c253068d68
11203 Author: Chris Wilson <chris@chris-wilson.co.uk>
11204 Date: Mon Mar 22 13:05:23 2010 +0000
11206 recording: Cleanup the clip on error.
11208 Whilst recording the commands, remember to cleanup the local clip after
11209 detecting an error.
11211 src/cairo-recording-surface.c | 5 +++++
11212 src/cairo-surface-snapshot.c | 2 ++
11213 2 files changed, 7 insertions(+)
11215 commit c87737c2bf983a8555b08c526050423a5eab5642
11216 Author: Chris Wilson <chris@chris-wilson.co.uk>
11217 Date: Mon Mar 22 13:04:19 2010 +0000
11219 ps: Skip surface emission if in error state.
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.
11225 src/cairo-ps-surface.c | 4 ++++
11226 1 file changed, 4 insertions(+)
11228 commit e961cdf568f4551bbd6bca6b7505fc9f9b0805f9
11229 Author: Chris Wilson <chris@chris-wilson.co.uk>
11230 Date: Mon Mar 22 10:48:48 2010 +0000
11232 image: Special case wholly unbounded fixups.
11234 In the event of an empty bounded rectangle, the computation of the
11235 unbounded - bounded rectangles leads to negative areas, integer overflow
11238 [And similarly for the derived surfaces.]
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(-)
11246 commit 844d8ea57d69c9a68fbec64f4438953850f7657f
11247 Author: Chris Wilson <chris@chris-wilson.co.uk>
11248 Date: Mon Mar 22 10:37:18 2010 +0000
11250 surface: Check pattern for error status.
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.
11256 src/cairo-surface.c | 59 +++++++++++++++++++++++++++++++++++++++++++++++----
11257 1 file changed, 55 insertions(+), 4 deletions(-)
11259 commit 213093f43770d078dd146d5a10b9a5803097b8a8
11260 Author: Chris Wilson <chris@chris-wilson.co.uk>
11261 Date: Mon Mar 22 10:36:47 2010 +0000
11263 ps: Free page on error path.
11265 src/cairo-ps-surface.c | 1 +
11266 1 file changed, 1 insertion(+)
11268 commit c8a8e57d6af7261d70103ddd46f8da409896b5e7
11269 Author: Chris Wilson <chris@chris-wilson.co.uk>
11270 Date: Sun Mar 21 20:42:34 2010 +0000
11272 script: Use a stack to push/pop recursed line numbers.
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
11278 util/cairo-script/cairo-script-scanner.c | 8 ++++++--
11279 1 file changed, 6 insertions(+), 2 deletions(-)
11281 commit 4b4de940ee6e76ec9677b5468ebf709c6d2db982
11282 Author: Chris Wilson <chris@chris-wilson.co.uk>
11283 Date: Sun Mar 21 20:41:18 2010 +0000
11285 script: Remove the version check.
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
11291 util/cairo-script/cairo-script-operators.c | 2 --
11292 1 file changed, 2 deletions(-)
11294 commit a7cb314b060f6ada855ec75b283ef64bf835824a
11295 Author: Chris Wilson <chris@chris-wilson.co.uk>
11296 Date: Sun Mar 21 20:40:54 2010 +0000
11298 test/any2ppm: Check for errors after executing script.
11300 test/any2ppm.c | 9 ++++++---
11301 1 file changed, 6 insertions(+), 3 deletions(-)
11303 commit b73a33b89e43d63a437035a05cf91df5c3b4d186
11304 Author: Chris Wilson <chris@chris-wilson.co.uk>
11305 Date: Sun Mar 21 20:40:19 2010 +0000
11307 script: Make the test suite run again!
11309 src/cairo-script-surface.c | 194 +++++++++++++++++++++++---------------------
11310 1 file changed, 103 insertions(+), 91 deletions(-)
11312 commit 2a59f0af6aab5fe0ebb19195d4c018fc5221016c
11313 Author: Chris Wilson <chris@chris-wilson.co.uk>
11314 Date: Sun Mar 21 20:38:27 2010 +0000
11316 wrapper: Apply device transform inverse as appropriate.
11318 Fixes many failures of the paginated surfaces as they replayed through
11319 the recording surfaces.
11321 src/cairo-surface-wrapper.c | 89 +++++++++++++++----------------------------
11322 1 file changed, 31 insertions(+), 58 deletions(-)
11324 commit 5720fff827e5149b201a9366179db93ce258b120
11325 Author: Chris Wilson <chris@chris-wilson.co.uk>
11326 Date: Sun Mar 21 20:37:38 2010 +0000
11328 ps: Destroy the local surface on error.
11330 Minor leak of the intermediate surface when converting to an opaque
11331 source following an error.
11333 src/cairo-ps-surface.c | 4 +++-
11334 1 file changed, 3 insertions(+), 1 deletion(-)
11336 commit 35f318a59cde9c635036cc14c90878400528882d
11337 Author: Chris Wilson <chris@chris-wilson.co.uk>
11338 Date: Sun Mar 21 20:36:26 2010 +0000
11340 paginated: Use common is_clear.
11342 As equivalent processing to the page_is_blank optimisation done inside
11343 the paginated surface is applied by the gstate, remove the redundant
11346 src/cairo-paginated-surface-private.h | 1 -
11347 src/cairo-paginated-surface.c | 34 +--------------------------------
11348 2 files changed, 1 insertion(+), 34 deletions(-)
11350 commit b101c7dab8cdbf7b9321355a8d2311b2f863f011
11351 Author: Chris Wilson <chris@chris-wilson.co.uk>
11352 Date: Thu Mar 11 01:48:43 2010 +0000
11354 gl: Add EGL interface
11356 Enable the EGL backend for GL.
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(-)
11368 commit ca6e4e1f91e0a90666551d2fa74cfc04484d4e80
11369 Author: Chris Wilson <chris@chris-wilson.co.uk>
11370 Date: Thu Mar 11 01:48:08 2010 +0000
11372 spans: Initialise rects->is_bounded for polygon compat.
11374 src/cairo-spans.c | 2 ++
11375 1 file changed, 2 insertions(+)
11377 commit 6754f1db1716a6570c82e207e21b09a10de120ba
11378 Author: Chris Wilson <chris@chris-wilson.co.uk>
11379 Date: Wed Mar 10 15:13:00 2010 +0000
11381 gstate: Account for undropped non-transformed glyphs.
11383 In the simplest case of pass-through glyphs we made a mistake in
11384 propagating the number of glyphs.
11386 Reported-by: Christophe de Dinechin <christophe@taodyne.com>
11388 src/cairo-gstate.c | 1 +
11389 1 file changed, 1 insertion(+)
11391 commit 5fb36fe5ab2a2b30da213557936122a829493906
11392 Author: Chris Wilson <chris@chris-wilson.co.uk>
11393 Date: Mon Mar 8 15:32:15 2010 +0000
11395 drm/i965: Acquire device around commit.
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(-)
11402 commit 4083f40fbd085dc2039fe62592cf1239373c7fca
11403 Author: Chris Wilson <chris@chris-wilson.co.uk>
11404 Date: Sun Mar 7 16:59:57 2010 +0000
11406 glew: don't pull in GL/glu.h
11408 src/glew/GL/glew.h | 10 ----------
11409 1 file changed, 10 deletions(-)
11411 commit 473e006ad6ef0959c8a7059aba0689a16a937732
11412 Author: Chris Wilson <chris@chris-wilson.co.uk>
11413 Date: Sat Mar 6 18:12:36 2010 +0000
11415 test: Add a1-mask-sample
11417 Test sampling positions with a NEAREST mask.
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(+)
11425 commit f79b2ceea4722b5059563be1eb55de617fecc004
11426 Author: Chris Wilson <chris@chris-wilson.co.uk>
11427 Date: Thu Mar 4 19:52:58 2010 +0000
11429 drm/i915: Discard redundant solitary clips during fill
11431 src/drm/cairo-drm-i915-surface.c | 10 ++++++++++
11432 1 file changed, 10 insertions(+)
11434 commit 7cea9ae290ba24e4d2f87cef4228cce5fcb3181b
11435 Author: Chris Wilson <chris@chris-wilson.co.uk>
11436 Date: Thu Mar 4 17:23:55 2010 +0000
11438 drm/i915: Apply more micro-optimisations when targetting CONTENT_ALPHA
11440 src/drm/cairo-drm-i915-shader.c | 51 ++++++++++++++++++++++++++++-----------
11441 1 file changed, 37 insertions(+), 14 deletions(-)
11443 commit dce8b028cd5b249054e8197a536c29f6ba4110da
11444 Author: Chris Wilson <chris@chris-wilson.co.uk>
11445 Date: Thu Mar 4 17:13:53 2010 +0000
11447 drm/i915: Adjust clip matrix for clip origin.
11449 src/drm/cairo-drm-i915-shader.c | 8 +++-----
11450 1 file changed, 3 insertions(+), 5 deletions(-)
11452 commit 8e702044b3816002011488c56f1ec9c6b9682eee
11453 Author: Chris Wilson <chris@chris-wilson.co.uk>
11454 Date: Thu Mar 4 17:13:02 2010 +0000
11456 drm/i915: Handle clip/combine coords for spans.
11458 src/drm/cairo-drm-i915-spans.c | 71 ++++++++++++++++++++++++----------------
11459 1 file changed, 43 insertions(+), 28 deletions(-)
11461 commit e1f0c2e73fa8cda9e38ab182288201fa27a3b363
11462 Author: Chris Wilson <chris@chris-wilson.co.uk>
11463 Date: Thu Mar 4 17:11:58 2010 +0000
11465 perf: Check for and include unistd.h
11467 isatty() and access() require unistd.h, so include it!
11469 perf/cairo-perf-trace.c | 8 ++++++++
11470 1 file changed, 8 insertions(+)
11472 commit 271752b944ef0898b5d1be57f26de83c8e40ae3a
11473 Author: Chris Wilson <chris@chris-wilson.co.uk>
11474 Date: Thu Mar 4 08:24:08 2010 +0000
11476 gl: Pad the gradient texture.
11478 Fixes test/linear-gradient-subset
11480 src/cairo-gl-surface.c | 1 +
11481 1 file changed, 1 insertion(+)
11483 commit afe6f4f0519606c4bc7e9b705b0cae75692d7af2
11484 Author: Chris Wilson <chris@chris-wilson.co.uk>
11485 Date: Wed Mar 3 23:06:43 2010 +0000
11487 drm/i915: Use a preserved temporary to store the radial texcoord.
11489 src/drm/cairo-drm-i915-shader.c | 12 ++++++------
11490 1 file changed, 6 insertions(+), 6 deletions(-)
11492 commit 4b2e0478822cb8415be4bac21950dbf03c0f01c8
11493 Author: Chris Wilson <chris@chris-wilson.co.uk>
11494 Date: Wed Mar 3 21:45:31 2010 +0000
11496 drm/i915: Eliminate redundant radial vertex shader.
11498 It is always equivalent to a simple texture transformation, so reduce it
11499 to the texture shader.
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(-)
11507 commit 51610517982a4cf70ca8d396d0ad4c58a477c5e9
11508 Author: Chris Wilson <chris@chris-wilson.co.uk>
11509 Date: Wed Mar 3 21:56:56 2010 +0000
11511 drm/i915: Fix encoding of negated operand channels
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
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(-)
11525 commit 5b973c670807bda2bb355c90ea817e2a2f092f0b
11526 Author: Chris Wilson <chris@chris-wilson.co.uk>
11527 Date: Wed Mar 3 21:25:11 2010 +0000
11529 drm/i915: Fix crash with linear-step-function
11531 Avoid the potential divide by zero by falling back to pixman rendered
11532 gradient textures for such troublesome input.
11534 src/drm/cairo-drm-i915-shader.c | 17 +++++++++++------
11535 1 file changed, 11 insertions(+), 6 deletions(-)
11537 commit 404ead7eebafa7ca077e1d012dde0a598b64245a
11538 Author: Chris Wilson <chris@chris-wilson.co.uk>
11539 Date: Wed Mar 3 21:01:49 2010 +0000
11541 drm/i915: Ensure simple alpha is written to green on alpha-only surfaces.
11543 The intricacies of h/w make convoluted s/w.
11545 src/drm/cairo-drm-i915-shader.c | 20 ++++++++++++++------
11546 1 file changed, 14 insertions(+), 6 deletions(-)
11548 commit 1f2daf652480ef768f847467d9171b5e4a7f01a3
11549 Author: Chris Wilson <chris@chris-wilson.co.uk>
11550 Date: Wed Mar 3 20:06:08 2010 +0000
11552 drm/i915: Avoid double multiplication of linear alpha.
11554 src/drm/cairo-drm-i915-shader.c | 8 ++------
11555 1 file changed, 2 insertions(+), 6 deletions(-)
11557 commit cdaef58c19a191632473fcbbe688e6231c02b9b2
11558 Author: Chris Wilson <chris@chris-wilson.co.uk>
11559 Date: Wed Mar 3 18:52:40 2010 +0000
11561 drm/i915: Acquire device before shader commit.
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(-)
11567 commit dd6f96dd4aeb48262d5af8a3006e6404521c151b
11568 Author: Chris Wilson <chris@chris-wilson.co.uk>
11569 Date: Wed Mar 3 16:06:25 2010 +0000
11571 drm/i965: Ignore flushing on device finish.
11573 src/drm/cairo-drm-i965-surface.c | 3 +++
11574 1 file changed, 3 insertions(+)
11576 commit 3692597567f62dd300e8ce8c43d43ac449616041
11577 Author: Chris Wilson <chris@chris-wilson.co.uk>
11578 Date: Wed Mar 3 13:56:48 2010 +0000
11580 drm/i965: Merge the constants into the surface stream.
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.
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(-)
11590 commit cc585947574f6e17d299a5987ee69162f63d5a52
11591 Author: Chris Wilson <chris@chris-wilson.co.uk>
11592 Date: Wed Mar 3 23:06:23 2010 +0000
11594 drm/intel: Set the 1D gradient texture to be untiled.
11596 src/drm/cairo-drm-intel.c | 1 +
11597 1 file changed, 1 insertion(+)
11599 commit 543cf073643b259096ee2a95d91b9067395a7e09
11600 Author: Chris Wilson <chris@chris-wilson.co.uk>
11601 Date: Wed Mar 3 21:19:41 2010 +0000
11603 drm/intel: Set default extend mode for rendering gradient subsets.
11605 src/drm/cairo-drm-intel.c | 1 +
11606 1 file changed, 1 insertion(+)
11608 commit 521d1c1d2c51bca07db1aed3c7f62d860cece3f4
11609 Author: Chris Wilson <chris@chris-wilson.co.uk>
11610 Date: Wed Mar 3 20:25:54 2010 +0000
11612 surface: Simplify is_clear logic.
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.
11618 src/cairo-surface.c | 22 ++++++++--------------
11619 1 file changed, 8 insertions(+), 14 deletions(-)
11621 commit 017db956644fa1da22033653490f362d1e3e47e0
11622 Author: Chris Wilson <chris@chris-wilson.co.uk>
11623 Date: Wed Mar 3 20:06:30 2010 +0000
11625 gstate: Use _cairo_pattern_clear for CLEAR.
11627 src/cairo-gstate.c | 100 ++++++++++++++++++++++++++++++++--------------------
11628 1 file changed, 62 insertions(+), 38 deletions(-)
11630 commit 70412bba0e9fd0ac6e7343d7aebe953355207aab
11631 Author: Chris Wilson <chris@chris-wilson.co.uk>
11632 Date: Wed Mar 3 17:34:39 2010 +0000
11634 test: Avoid derefencing a NULL xcb connection
11636 test/xcb-surface-source.c | 23 ++++++++++++++---------
11637 1 file changed, 14 insertions(+), 9 deletions(-)
11639 commit 5bfea8447b1b2333218295f51a9474d061192d49
11640 Author: Chris Wilson <chris@chris-wilson.co.uk>
11641 Date: Wed Mar 3 21:32:13 2010 +0000
11643 test: Add references for rounded-rectangle-{fill,stroke}
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(+)
11650 commit 4126d580d8b9db9217ed17aadcce20b14e77a00b
11651 Author: Chris Wilson <chris@chris-wilson.co.uk>
11652 Date: Tue Mar 2 14:38:36 2010 +0000
11654 surface-fallback: Free traps on composite_trapezoids() error
11656 src/cairo-surface-fallback.c | 3 ++-
11657 1 file changed, 2 insertions(+), 1 deletion(-)
11659 commit 8a59522bbdc61d5c90f1ae55111b5408865755b3
11660 Author: Chris Wilson <chris@chris-wilson.co.uk>
11661 Date: Tue Mar 2 14:36:16 2010 +0000
11663 surface-fallback: Propagate NOTHING_TO_DO
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.
11668 src/cairo-surface-fallback.c | 15 +++------------
11669 1 file changed, 3 insertions(+), 12 deletions(-)
11671 commit f07195860620959c27d43080a7b987e28222735a
11672 Author: Chris Wilson <chris@chris-wilson.co.uk>
11673 Date: Tue Mar 2 13:57:02 2010 +0000
11675 xlib: Handle a1 image uploads through converter
11677 Fixes test/large-source [xlib]
11679 src/cairo-xlib-surface.c | 4 +++-
11680 1 file changed, 3 insertions(+), 1 deletion(-)
11682 commit f979dd22d8f48e6ac7c50372c7d180c3b590dc74
11683 Author: Chris Wilson <chris@chris-wilson.co.uk>
11684 Date: Tue Mar 2 11:20:11 2010 +0000
11686 image: Don't rely on clip regions being clipped to surface extents.
11688 Fixes a crash in test/clip-fill-unbounded [xlib-fallback].
11690 src/cairo-image-surface.c | 32 ++++++++++++++++++++------------
11691 1 file changed, 20 insertions(+), 12 deletions(-)
11693 commit 15d9c5fcd8881b4593ec23633450a4f629b6d42b
11694 Author: Alexander Shulgin <alex.shulgin@gmail.com>
11695 Date: Sat Feb 20 20:59:32 2010 +0200
11697 Added new MIME type CAIRO_MIME_TYPE_URI and it's support in SVG backend
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.
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.
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.
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.
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 ++++++++++++++++++++++++++++++++++--
11732 5 files changed, 92 insertions(+), 5 deletions(-)
11734 commit d91bab565c54205f8dd7aa8a9de819dc4bc3551c
11735 Author: Chris Wilson <chris@chris-wilson.co.uk>
11736 Date: Tue Mar 2 08:12:52 2010 +0000
11738 test: Remove the double-clip from clip-group-shapes
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.
11745 test/clip-group-shapes.c | 5 +++--
11746 1 file changed, 3 insertions(+), 2 deletions(-)
11748 commit e8c819c5227d29dfdf503022339276eb725a3e97
11749 Author: Chris Wilson <chris@chris-wilson.co.uk>
11750 Date: Mon Mar 1 10:25:01 2010 +0000
11752 Warnings cleanup for CAIRO_FORMAT_INVALID.
11754 A few more fixes required case statements to handle the addition of
11755 CAIRO_FORMAT_INVALID.
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(+)
11766 commit 1a7ba1a8061c373cd66d15b3a1c8dfada92745ef
11767 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
11768 Date: Mon Mar 1 01:23:17 2010 +0200
11770 xcb: Update minimum required versions of libxcb.
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.
11777 boilerplate/cairo-boilerplate-xcb.c | 6 ++++++
11778 configure.ac | 5 ++++-
11779 2 files changed, 10 insertions(+), 1 deletion(-)
11781 commit 5b7f4bb241f3191c1589cd714f373719efded56e
11782 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
11783 Date: Sun Feb 28 23:31:06 2010 +0200
11785 api: Introduce CAIRO_FORMAT_INVALID formally in the API.
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.
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 +
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(-)
11817 commit 620cd9c2be4a6bef790e6818652470a5c53d578d
11818 Author: Chris Wilson <chris@chris-wilson.co.uk>
11819 Date: Sun Feb 28 09:09:20 2010 +0000
11821 image: Allow reduction of repeat modes for unity scaled patterns.
11823 src/cairo-image-surface.c | 9 +++++----
11824 1 file changed, 5 insertions(+), 4 deletions(-)
11826 commit 9ecb0f3cec491264041d0d3718595ad95164980a
11827 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
11828 Date: Sun Feb 28 01:42:10 2010 +0200
11830 image: Fix bug optimizing surface pattern extend modes.
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.
11840 Fixes surface-pattern-scale-down-extend-{pad,reflect,repeat}
11841 failures in the test suite for the image backend.
11843 src/cairo-image-surface.c | 4 ++++
11844 1 file changed, 4 insertions(+)
11846 commit 260d7f8ace9dea8ff6b3a70f481e433cf399a3d2
11847 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
11848 Date: Sat Feb 27 17:41:28 2010 +0200
11850 test: Test downscaling and extending a surface pattern.
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.
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(+)
11864 commit ebadc2ed0810d9941a2f44586016073fea90115b
11865 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
11866 Date: Sat Feb 27 03:24:55 2010 +0200
11868 test: Add tests covering more clip fast paths in groups.
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.)
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(+)
11882 commit e8d0b4fb39eba799e8649df6dd609f6100efb95e
11883 Author: Chris Wilson <chris@chris-wilson.co.uk>
11884 Date: Fri Feb 26 10:28:23 2010 +0000
11886 gl: Markup internal functions with cairo_private
11888 src/cairo-gl-private.h | 22 +++++++++++-----------
11889 1 file changed, 11 insertions(+), 11 deletions(-)
11891 commit ef807119ff8ee23c0444f1197f92b06a5caf6024
11892 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
11893 Date: Thu Feb 25 13:58:53 2010 +0200
11895 compiler: Explain the slim hidden macros.
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.
11902 src/cairo-compiler-private.h | 30 ++++++++++++++++++++++++++++++
11903 1 file changed, 30 insertions(+)
11905 commit dcf897967d54f579c737bbcc10af7fa295b586e5
11906 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
11907 Date: Sun Feb 21 01:45:30 2010 +0200
11909 test: Fix a wrongly typed return value in scaled-font-zero-matrix.
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.
11918 test/scaled-font-zero-matrix.c | 4 +++-
11919 1 file changed, 3 insertions(+), 1 deletion(-)
11921 commit 8bb06915ed6628c6d8978b6c2fec474bbf08d7e9
11922 Author: Benjamin Otte <otte@redhat.com>
11923 Date: Tue Feb 23 21:01:13 2010 +0100
11925 image: split cairo_image_surface_coerce()
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
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(-)
11944 commit b7c42b6aaa2dba09ed3ff9ae85eae27bec268713
11945 Author: Chris Wilson <chris@chris-wilson.co.uk>
11946 Date: Tue Feb 23 19:27:16 2010 +0000
11948 drm: Add missing private headers
11950 Reported by: Thomas Jones <thomas.jones@utoronto.ca>
11952 src/Makefile.sources | 2 ++
11953 1 file changed, 2 insertions(+)
11955 commit 6ab5f89571b0252496d58242ed3060a9486d68d4
11956 Author: Chris Wilson <chris@chris-wilson.co.uk>
11957 Date: Tue Feb 23 08:54:58 2010 +0000
11959 bo-rectangular: Fix incorrect skipping of colinear eo edges
11961 Fixes test/bug-bo-rectangular
11963 After skipping edges, we need to bd careful to only terminate the box on
11966 src/cairo-bentley-ottmann-rectangular.c | 31 ++++++++++++++-----------------
11967 1 file changed, 14 insertions(+), 17 deletions(-)
11969 commit 1897156d96d77ff28f585794c1eb1baffa105488
11970 Author: Benjamin Otte <otte@gnome.com>
11971 Date: Tue Feb 23 08:41:27 2010 +0000
11973 test: Add bug-bo-rectangular
11975 Exercises a bug found in the special case rectangular tessellator with
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(+)
11984 commit 21b2457aabf7df2a9f040751cd48e396443262f1
11985 Author: Chris Wilson <chris@chris-wilson.co.uk>
11986 Date: Mon Feb 22 15:26:37 2010 +0000
11988 fallback: Initialize rects.is_bounded for span renderer.
11990 src/cairo-surface-fallback.c | 3 ++-
11991 1 file changed, 2 insertions(+), 1 deletion(-)
11993 commit 6dd22b767808f721de5d00fe384711ffaa269453
11994 Author: Chris Wilson <chris@chris-wilson.co.uk>
11995 Date: Mon Feb 22 15:24:08 2010 +0000
11997 gl: Initialise glyphs mask to ensure allocation in absence of stash.
11999 src/cairo-gl-glyphs.c | 1 +
12000 1 file changed, 1 insertion(+)
12002 commit 668ac047e6c790b0f8f58c52f169c688caa81678
12003 Author: Chris Wilson <chris@chris-wilson.co.uk>
12004 Date: Mon Feb 22 14:57:01 2010 +0000
12006 gl: Avoid attempting to create a program on GLSL-incapable h/w for spans
12008 src/cairo-gl-shaders.c | 17 ++++++++++++-----
12009 src/cairo-gl-surface.c | 6 ++++++
12010 2 files changed, 18 insertions(+), 5 deletions(-)
12012 commit 29df5c91d02276211962a083284feb9a424f0d97
12013 Author: Chris Wilson <chris@chris-wilson.co.uk>
12014 Date: Mon Feb 22 14:46:18 2010 +0000
12016 gl: Return unsupported for h/w that cannot handle shaders.
12018 Remove the ASSERT_NOT_REACHED and propagate the unsupported status so
12019 that we fallback to fixed-function gracefully.
12021 src/cairo-gl-shaders.c | 28 +++++++++++++++-------------
12022 1 file changed, 15 insertions(+), 13 deletions(-)
12024 commit 9f46bad301eff967dc0790fc271d872f8a45cedb
12025 Author: Chris Wilson <chris@chris-wilson.co.uk>
12026 Date: Mon Feb 22 14:20:34 2010 +0000
12028 bo-rectangular: Prevent invalid read during edge traversal
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.
12037 src/cairo-bentley-ottmann-rectangular.c | 6 ++++++
12038 1 file changed, 6 insertions(+)
12040 commit 75db4f0ece194b7aa0455509785a300784778ec4
12041 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
12042 Date: Mon Feb 22 02:26:47 2010 +0200
12044 text: Fix assert failure from compositing by SOURCE with a mask internally.
12046 Change the operator used to upgrade the format of a glyph mask from
12047 CAIRO_OPERATOR_SOURCE to CAIRO_OPERATOR_ADD.
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.
12057 Reported by Mikael Magnusson to #cairo on irc.freenode.net.
12059 src/cairo-scaled-font.c | 2 +-
12060 1 file changed, 1 insertion(+), 1 deletion(-)
12062 commit 20f8f17f0e494a57a6b413be76f9333b42d88014
12063 Author: Andrea Canciani <ranma42@gmail.com>
12064 Date: Sat Feb 20 21:42:23 2010 +0100
12066 xcb: Fix compilation without dri2
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.
12071 src/cairo-xcb-surface.c | 2 ++
12072 1 file changed, 2 insertions(+)
12074 commit fc7be0014d91c8536db8a15ae98b5e78c354c160
12075 Author: Carl Worth <cworth@cworth.org>
12076 Date: Fri Feb 19 17:39:50 2010 -0800
12078 Update version to 1.9.7.
12080 Following the 1.9.6 snapshot.
12082 cairo-version.h | 2 +-
12083 1 file changed, 1 insertion(+), 1 deletion(-)
12085 commit cb090136b2b0b89bde69d9575f2f592b46e144e8
12086 Author: Carl Worth <cworth@cworth.org>
12087 Date: Fri Feb 19 17:28:29 2010 -0800
12089 Update REFERENCE_IMAGES list for "make distcheck".
12091 As usual, "make distcheck" does not work until we update this list.
12093 test/Makefile.am | 4 +++-
12094 1 file changed, 3 insertions(+), 1 deletion(-)
12096 commit 20cf7c92b332a5fd28227f0cdaa50e3f1080c038
12097 Author: Carl Worth <cworth@cworth.org>
12098 Date: Fri Feb 19 17:24:33 2010 -0800
12100 Update version to 1.9.6
12102 For a new cairo 1.9.6 snapshot.
12104 cairo-version.h | 2 +-
12105 1 file changed, 1 insertion(+), 1 deletion(-)
12107 commit 1c3d417c30bd60c51512d23440896a6a7f51bf23
12108 Author: Carl Worth <cworth@cworth.org>
12109 Date: Fri Feb 19 17:23:16 2010 -0800
12111 NEWS: Add notes for the 1.9.6 snapshot.
12113 Based on a very brief reading of the git log. There's certainly
12114 a lot of interesting stuff missing here.
12116 NEWS | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
12117 1 file changed, 112 insertions(+), 2 deletions(-)
12119 commit 9057c4b6be5f5cc6f8905e017dde534402ddedda
12120 Author: Eric Anholt <eric@anholt.net>
12121 Date: Wed Feb 17 12:37:07 2010 -0800
12123 test: Add an option to explicitly specify a test name to the runner.
12125 test/cairo-test-runner.c | 14 +++++++++++---
12126 1 file changed, 11 insertions(+), 3 deletions(-)
12128 commit e0a948bd2ff3504f5d8b3b3f2136cd9b86cf8ec6
12129 Author: Eric Anholt <eric@anholt.net>
12130 Date: Wed Feb 17 11:48:41 2010 -0800
12132 gl: Be sure to do linear interpolation on gradients.
12134 src/cairo-gl-surface.c | 4 +++-
12135 1 file changed, 3 insertions(+), 1 deletion(-)
12137 commit f1e794956f60a935bfc38ae1c2c2d51d37aadee3
12138 Author: Eric Anholt <eric@anholt.net>
12139 Date: Wed Feb 17 11:03:52 2010 -0800
12141 gl: Stop trying to handle first/last stop offset in the gradient shaders.
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.
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(-)
12152 commit f813a0243b90ea4151f60f3d13bb6c84d21270df
12153 Author: Eric Anholt <eric@anholt.net>
12154 Date: Wed Feb 17 10:58:16 2010 -0800
12156 gl: Remove the old unused radial/linear gradients shaders.
12158 They're dynamically generated now for source/mask.
12160 src/cairo-gl-private.h | 6 ---
12161 src/cairo-gl-shaders.c | 117 ------------------------------------------------
12162 2 files changed, 123 deletions(-)
12164 commit 8da843e996bda7152abb217b3f461a8091dbc880
12165 Author: Eric Anholt <eric@anholt.net>
12166 Date: Wed Feb 17 10:54:39 2010 -0800
12168 gl: Reduce complexity of radial fragment shaders.
12170 This shaves 1 Mesa IR instruction, and 6 Gen4 ISA instructions.
12172 src/cairo-gl-shaders.c | 10 ++--------
12173 1 file changed, 2 insertions(+), 8 deletions(-)
12175 commit 89bdc2f8d55d951e15b77e6737c57b208d984b0a
12176 Author: Eric Anholt <eric@anholt.net>
12177 Date: Thu Feb 4 23:17:59 2010 -0800
12179 gl: Implement draw_image for window targets.
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
12186 src/cairo-gl-surface.c | 157 ++++++++++++++++++++++++++++++++++++++----------
12187 1 file changed, 124 insertions(+), 33 deletions(-)
12189 commit fcd29473ff71b74bf541199293a966df2232fd63
12190 Author: Eric Anholt <eric@anholt.net>
12191 Date: Tue Feb 16 13:47:41 2010 -0800
12193 gl: Fix glyphs texture coordinates for ARB_texture_rectangle.
12195 Fixes most of the text testcases to match the
12196 ARB_texture_non_power_of_two results.
12198 src/cairo-gl-glyphs.c | 16 ++++++++++------
12199 1 file changed, 10 insertions(+), 6 deletions(-)
12201 commit e845450905f373e4fcb9ae4717cfd2c3e6472423
12202 Author: Eric Anholt <eric@anholt.net>
12203 Date: Tue Feb 16 13:18:33 2010 -0800
12205 gl: Add GLSL support for ARB_texture_rectangle, and repeat/reflect fallbacks.
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.
12215 src/cairo-gl-shaders.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
12216 src/cairo-gl-surface.c | 21 +++++++++++++++------
12217 2 files changed, 59 insertions(+), 6 deletions(-)
12219 commit 40294377cb26fab7bcf17ee98b8e4f5bf9778ca2
12220 Author: Dave Airlie <airlied@redhat.com>
12221 Date: Sat Jan 30 19:24:31 2010 +1000
12223 gl: initial support for EXT_texture_rectangle extension
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.
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(-)
12234 commit 6542a515f04d52d10fdc89ee9abc76e54282a2d8
12235 Author: Eric Anholt <eric@anholt.net>
12236 Date: Sun Feb 7 20:26:56 2010 +0100
12238 gl: Reduce the size of the gradient texture for small numbers of stops.
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
12246 This regresses the reported result of huge-radial, but there's no
12247 visible difference.
12249 src/cairo-gl-surface.c | 63 ++++++++++++++++++++++++++++++++++--------------
12250 1 file changed, 45 insertions(+), 18 deletions(-)
12252 commit 3b678a88b0d026bb765fd9cdff92fe7235e19848
12253 Author: Chris Wilson <chris@chris-wilson.co.uk>
12254 Date: Fri Feb 12 16:44:25 2010 +0000
12256 drm/i915: Set a source for unbounded fixups.
12258 src/drm/cairo-drm-i915-surface.c | 52 ++++++++++++++++++++++++++++++--------
12259 1 file changed, 41 insertions(+), 11 deletions(-)
12261 commit 45a275ee29095b69c620ece868411885f4574be9
12262 Author: Chris Wilson <chris@chris-wilson.co.uk>
12263 Date: Fri Feb 12 14:12:24 2010 +0000
12265 drm/i915: Use correct linear mode for mask.
12267 src/drm/cairo-drm-i915-shader.c | 4 ++--
12268 1 file changed, 2 insertions(+), 2 deletions(-)
12270 commit 37dbf157f354234d04cd4f0c5d069ff0d535e862
12271 Author: Chris Wilson <chris@chris-wilson.co.uk>
12272 Date: Fri Feb 12 14:08:32 2010 +0000
12274 clip: Avoiding derefencing NULL clip_region
12276 src/cairo-image-surface.c | 26 ++++++++++++++------------
12277 src/cairo-xcb-surface-render.c | 26 ++++++++++++++------------
12278 2 files changed, 28 insertions(+), 24 deletions(-)
12280 commit 6995e1d982a3ad84a1b74730ce557840745fcd8e
12281 Author: Chris Wilson <chris@chris-wilson.co.uk>
12282 Date: Fri Feb 12 14:08:14 2010 +0000
12284 boilerplate: Include X11.h for GL/GLX
12286 boilerplate/cairo-boilerplate-gl.c | 3 +++
12287 1 file changed, 3 insertions(+)
12289 commit 5390df961f6dff8e25e5aac21062026a81710d88
12290 Author: Chris Wilson <chris@chris-wilson.co.uk>
12291 Date: Fri Feb 12 12:20:35 2010 +0000
12293 clip: Restrict composite extents to clip extents
12295 Fixes test/clip-rectangle-twice.
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(-)
12306 commit 51047483f462a905567b42275ae061ead4df0a07
12307 Author: Chris Wilson <chris@chris-wilson.co.uk>
12308 Date: Fri Feb 12 12:18:30 2010 +0000
12310 test: Add clip-twice-rectangle
12312 Jeff Muizeelar found another bug with clipping whereby the clip was
12313 been incorrectly discarded.
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(+)
12321 commit 22b5f78c1c1ae7d289a99a3c52354bba3b9e817f
12322 Author: Chris Wilson <chris@chris-wilson.co.uk>
12323 Date: Thu Feb 11 10:38:51 2010 +0000
12325 gl: Remove eagle support
12327 Eagle is no more, Kristian has superseded it with true EGL support. He
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(-)
12341 commit ed4a30b38311e4ce0730ecd6026432f4a1e8ddf7
12342 Author: Benjamin Otte <otte@redhat.com>
12343 Date: Wed Feb 10 22:10:23 2010 +0100
12345 build: Add -Wdeclaration-after-statement
12347 ... and fix the compile errors from it I get on my build.
12349 It's Cairo style to put declarations before the code, so better warn
12351 Besides, it eases porting to old compilers like MSVC.
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(-)
12359 commit 4113e455a317785b83324215a6b0156995665989
12360 Author: Chris Wilson <chris@chris-wilson.co.uk>
12361 Date: Wed Feb 10 21:09:56 2010 +0000
12363 drm/i965: fix use of uninitialized variable whilst dumping errors
12365 Cut'n'paste bug from i915 error path.
12367 src/drm/cairo-drm-i965-surface.c | 6 ++----
12368 1 file changed, 2 insertions(+), 4 deletions(-)
12370 commit 5d34902c0cb9712179292112fbdb0f06be327fd8
12371 Author: Chris Wilson <chris@chris-wilson.co.uk>
12372 Date: Wed Feb 10 12:10:16 2010 +0000
12374 script: Compile without mmap
12377 Bug 26509 - Cairo fails to compile without mmap
12378 http://bugs.freedesktop.org/show_bug.cgi?id=26509
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
12384 util/cairo-script/cairo-script-operators.c | 5 +++--
12385 1 file changed, 3 insertions(+), 2 deletions(-)
12387 commit fb5af4ae407044d1c0d0144ec13f5951075426a3
12388 Author: Chris Wilson <chris@chris-wilson.co.uk>
12389 Date: Wed Feb 10 12:00:59 2010 +0000
12391 drm/intel: An interrupted SET_TILING modifies the input parameters
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.
12397 src/drm/cairo-drm-intel.c | 8 ++++----
12398 1 file changed, 4 insertions(+), 4 deletions(-)
12400 commit 3c66c721d1bb1db6052acf722f609dcbe56431f5
12401 Author: Chris Wilson <chris@chris-wilson.co.uk>
12402 Date: Tue Feb 9 08:48:42 2010 +0000
12404 qt: Fix compile error.
12406 Update after prototype changed for create_similar(), as pointed out by
12409 src/cairo-qt-surface.cpp | 1 -
12410 1 file changed, 1 deletion(-)
12412 commit a1e5b07fa834819b8d9df9fa56758639a08262d7
12413 Author: Chris Wilson <chris@chris-wilson.co.uk>
12414 Date: Sun Feb 7 20:26:27 2010 +0000
12416 ps: Initialise page bbox to page size
12418 src/cairo-ps-surface.c | 5 +++++
12419 1 file changed, 5 insertions(+)
12421 commit 44b6370cb04d27e1ae3e50558a9085d318990938
12422 Author: Chris Wilson <chris@chris-wilson.co.uk>
12423 Date: Sun Feb 7 19:36:29 2010 +0000
12425 ps: Propagate NOTHING_TO_DO
12427 The upper layers should know what to do if there is nothing to be done,
12428 so pass on that knowledge.
12430 src/cairo-ps-surface.c | 36 ++++--------------------------------
12431 1 file changed, 4 insertions(+), 32 deletions(-)
12433 commit a4793d1331845b85a9c1810035119dfbcffa5082
12434 Author: Chris Wilson <chris@chris-wilson.co.uk>
12435 Date: Sun Feb 7 19:27:32 2010 +0000
12437 test: Add linear-gradient-subset
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.
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(+)
12451 commit 0f99303cd6d68df79070200a843194a20ad1c597
12452 Author: Chris Wilson <chris@chris-wilson.co.uk>
12453 Date: Sun Feb 7 12:40:19 2010 +0000
12455 gl: Use pixman to create the gradient texture
12457 This is just for consistency as we know that pixman has to handle all
12458 the corner cases anyway...
12460 src/cairo-gl-surface.c | 145 ++++++++++++++++++++++++++----------------------
12461 1 file changed, 80 insertions(+), 65 deletions(-)
12463 commit b028d287e6effe30833963f4df40db3846e7f4da
12464 Author: Eric Anholt <eric@anholt.net>
12465 Date: Fri Feb 5 07:25:04 2010 -0800
12467 [gl] Make the VBO once at startup instead of recreating per glyphs/spans.
12469 This shaves 2% off of firefox-talos-gfx.
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(-)
12476 commit 696a715702ed18bbe3f7d8b97654a055fa37444e
12477 Author: Eric Anholt <eric@anholt.net>
12478 Date: Wed Feb 3 21:34:24 2010 -0800
12480 [gl] Add radial gradients acceleration.
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
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(-)
12491 commit 297b0ab47fa63ef99e65b6834b731c260ea3e941
12492 Author: Eric Anholt <eric@anholt.net>
12493 Date: Thu Feb 4 23:57:43 2010 -0800
12495 [gl] When making a boilerplate GLX window, ensure it has alpha.
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.
12501 boilerplate/cairo-boilerplate-gl.c | 17 +++++++++--------
12502 1 file changed, 9 insertions(+), 8 deletions(-)
12504 commit 6708bc0593a649d083ede429ae73f06691edc018
12505 Author: Eric Anholt <eric@anholt.net>
12506 Date: Thu Feb 4 23:47:33 2010 -0800
12508 [gl] When filling a gradient texture, multiply alpha after interpolating.
12510 Fixes gradient-alpha testcase.
12512 src/cairo-gl-surface.c | 20 +++++++++-----------
12513 1 file changed, 9 insertions(+), 11 deletions(-)
12515 commit e426cdd56973ff1114dac5e8b1130180d43631b0
12516 Author: Eric Anholt <eric@anholt.net>
12517 Date: Wed Feb 3 16:03:52 2010 -0800
12519 [gl] Implement linear gradients acceleration.
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
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.
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(-)
12535 commit 05b18fc09af0e0887c652bd482d68f00bec6d4d7
12536 Author: Eric Anholt <eric@anholt.net>
12537 Date: Thu Feb 4 00:12:58 2010 -0800
12539 [gl] Fix create_gradient_texture to premultiply alpha.
12541 src/cairo-gl-surface.c | 3 +++
12542 1 file changed, 3 insertions(+)
12544 commit 31e706454b7f0fa510047f582250a7a2db24dd31
12545 Author: Eric Anholt <eric@anholt.net>
12546 Date: Wed Feb 3 15:48:40 2010 -0800
12548 [gl] Pull the gradient operand setup out to its own function.
12550 Hopefully this clarifies what's going on, including the fallthrough to
12551 texture setup on failure.
12553 src/cairo-gl-surface.c | 77 +++++++++++++++++++++++++++---------------------
12554 1 file changed, 43 insertions(+), 34 deletions(-)
12556 commit 745f263c1c2d263f7c5e78964bf7181f650301cc
12557 Author: T. Zachary Laine <whatwasthataddress@gmail.com>
12558 Date: Wed Feb 3 15:38:02 2010 -0800
12560 [gl] Add function for creating a 1D texture to use for gradient lookups.
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
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]
12573 src/cairo-gl-private.h | 1 +
12574 src/cairo-gl-surface.c | 117 ++++++++++++++++++++++++++++++++++++++++++++++++
12575 2 files changed, 118 insertions(+)
12577 commit 88c8304e9072e5a46890a0eb32fcdbc857eb1a12
12578 Author: Eric Anholt <eric@anholt.net>
12579 Date: Wed Feb 3 17:06:45 2010 -0800
12581 [gl] Sanity check the sampler uniform binding.
12583 src/cairo-gl-shaders.c | 6 ++++--
12584 1 file changed, 4 insertions(+), 2 deletions(-)
12586 commit 42597170f2303475bb0507f4c6e948eead28c7bd
12587 Author: Eric Anholt <eric@anholt.net>
12588 Date: Wed Feb 3 16:55:45 2010 -0800
12590 [gl] Convert the spans code to using GLSL when available.
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(-)
12597 commit 8d16fb10ea9940c0c9f311ff08c51d572c068c17
12598 Author: Eric Anholt <eric@anholt.net>
12599 Date: Wed Feb 3 15:31:57 2010 -0800
12601 [gl] Test for required EXT_bgra and explain what it's used for.
12603 src/cairo-gl-surface.c | 9 ++++++++-
12604 1 file changed, 8 insertions(+), 1 deletion(-)
12606 commit b2d8c9cbf2faec570450d163da140c54e64bbdc8
12607 Author: Eric Anholt <eric@anholt.net>
12608 Date: Wed Feb 3 15:25:47 2010 -0800
12610 [gl] Use the shader source choice from operand setup instead of DIY.
12612 src/cairo-gl-glyphs.c | 15 +--------------
12613 1 file changed, 1 insertion(+), 14 deletions(-)
12615 commit 0fceac4d52d4b574b9c1f911b83d15dc7e01691d
12616 Author: Eric Anholt <eric@anholt.net>
12617 Date: Wed Feb 3 12:24:41 2010 -0800
12619 [gl] Move the component alpha composite to using GLSL when available.
12621 src/cairo-gl-surface.c | 165 +++++++++++++++++++++++++++++++-----------------
12622 1 file changed, 108 insertions(+), 57 deletions(-)
12624 commit 8357336ed7be91ad359d205b1f223486d13215f2
12625 Author: Eric Anholt <eric@anholt.net>
12626 Date: Wed Feb 3 11:54:24 2010 -0800
12628 [gl] Move normal composites to using GLSL when available.
12630 src/cairo-gl-private.h | 2 ++
12631 src/cairo-gl-surface.c | 55 +++++++++++++++++++++++++++++++++++-------------
12632 2 files changed, 42 insertions(+), 15 deletions(-)
12634 commit 106bc158bafa4eecfd7f79422fc19d267c20dcdb
12635 Author: Eric Anholt <eric@anholt.net>
12636 Date: Wed Feb 3 15:15:02 2010 -0800
12638 [gl] Move the glyphs shader construction to a more general location.
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(-)
12645 commit f475351f75a3ec079628a2eb2643ebc09f0e5cc8
12646 Author: Eric Anholt <eric@anholt.net>
12647 Date: Tue Feb 2 19:23:17 2010 -0800
12649 [gl] Use GLSL when available for glyph rendering.
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.
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(-)
12662 commit 672973caa0c3877b3b9f1c5f5966449ce0d7e239
12663 Author: Eric Anholt <eric@anholt.net>
12664 Date: Tue Feb 2 11:17:43 2010 -0800
12666 [gl] Convert fill_rectangles to the new GLSL core/arb wrapper.
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(-)
12673 commit 416273db34a715a6fa180f52ddfd11b82b6e8b6c
12674 Author: Eric Anholt <eric@anholt.net>
12675 Date: Tue Feb 2 10:37:42 2010 -0800
12677 [gl] Cut out the abstraction of GL_VERTEX_SHADER vs GL_VERTEX_SHADER_ARB.
12679 They're the same number, so just use the core 2.0 name.
12681 src/cairo-gl-shaders.c | 38 ++------------------------------------
12682 1 file changed, 2 insertions(+), 36 deletions(-)
12684 commit 48a5a6eefc923db47c35ad7da3b635d205736716
12685 Author: Eric Anholt <eric@anholt.net>
12686 Date: Tue Feb 2 10:36:16 2010 -0800
12688 [gl] Avoid macro obfuscation of the shader impl structures.
12690 src/cairo-gl-shaders.c | 52 +++++++++++++++++++++++++++++-------------------
12691 1 file changed, 31 insertions(+), 21 deletions(-)
12693 commit 25ccc5dcb036554430b66fb1bf5f74766daa5612
12694 Author: Zach Laine <whatwasthataddress@gmail.com>
12695 Date: Thu Jan 14 11:49:04 2010 -0600
12697 [gl] Add shader support code for GL versions < 3.0.
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.
12704 src/cairo-gl-private.h | 49 ++++
12705 src/cairo-gl-shaders.c | 623 +++++++++++++++++++++++++++++++++++++++++++++++-
12706 2 files changed, 671 insertions(+), 1 deletion(-)
12708 commit a6897ad3867611bd74f8ab7de4b1e8d8d1c12c71
12709 Author: Eric Anholt <eric@anholt.net>
12710 Date: Tue Feb 2 11:24:36 2010 -0800
12712 [gl] Check for GLSL support once at context init instead of per draw.
12714 src/cairo-gl-private.h | 1 +
12715 src/cairo-gl-surface.c | 11 ++++++++++-
12716 2 files changed, 11 insertions(+), 1 deletion(-)
12718 commit b1829a47bff2b03a850d4049f228d2a41e14d6bd
12719 Author: Andrea Canciani <ranma42@gmail.com>
12720 Date: Wed Feb 3 11:19:26 2010 +0100
12722 [quartz] Unbreak mask fallback path
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.
12731 src/cairo-quartz-surface.c | 2 +-
12732 1 file changed, 1 insertion(+), 1 deletion(-)
12734 commit 597dd24ddcc763281c82790b7677e54dc2db8f92
12735 Author: Chris Wilson <chris@chris-wilson.co.uk>
12736 Date: Wed Feb 3 08:53:44 2010 +0000
12738 drm/i915: Free potential leak of cloned textures.
12740 src/drm/cairo-drm-i915-shader.c | 6 ++++++
12741 1 file changed, 6 insertions(+)
12743 commit 913a31494ec4bd000dfa303e362d8273b6857cfe
12744 Author: Chris Wilson <chris@chris-wilson.co.uk>
12745 Date: Tue Feb 2 17:49:09 2010 +0000
12747 drm/i915: Increase batch buffer space.
12749 src/drm/cairo-drm-i915-private.h | 2 +-
12750 1 file changed, 1 insertion(+), 1 deletion(-)
12752 commit 1315323b20398c7c4efa68e4e1c7f6fd6c1d8d91
12753 Author: Chris Wilson <chris@chris-wilson.co.uk>
12754 Date: Tue Feb 2 17:38:06 2010 +0000
12756 drm/i915: check for batch buffer overflow.
12758 Oops, the check for sufficient batch space mysteriously disappeared
12759 during the rearrangement.
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(-)
12766 commit e2be50c722347734801468d7d9568a18dbbaaa17
12767 Author: Andrea Canciani <ranma42@gmail.com>
12768 Date: Fri Jan 29 12:06:13 2010 +0100
12770 [quartz] Fix UNSUPPORTED operations
12772 The fallback path shouldn't be used anymore, thus fallbacks are now
12773 handled by passing unsupported ops to the image backend.
12775 Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
12777 src/cairo-quartz-surface.c | 234 +++++++++++++++++++++++++++++++++++++-------
12778 1 file changed, 198 insertions(+), 36 deletions(-)
12780 commit 3e69c38fe642be467fee0cad166b83006741d55c
12781 Author: Andrea Canciani <ranma42@gmail.com>
12782 Date: Sun Jan 24 21:59:32 2010 +0100
12784 [quartz] Fix surface to CGImage conversion
12786 Snapshotting a surface doesn't produce a cairo_image_surface_t.
12787 Acquiring (and later releasing) the surface is needed to access
12790 src/cairo-quartz-surface.c | 75 ++++++++++++++++++++++----------------------
12791 1 file changed, 38 insertions(+), 37 deletions(-)
12793 commit 7aba47e9d87bf09a5fa7e41a3c76c775f28b08f3
12794 Author: Andrea Canciani <ranma42@gmail.com>
12795 Date: Mon Jan 25 15:09:51 2010 +0100
12797 [quartz] Silence compiler warnings
12799 src/cairo-quartz-surface.c | 16 ++++++++--------
12800 1 file changed, 8 insertions(+), 8 deletions(-)
12802 commit e9b07d194630f3f5e31eef3606f8e4c188a01d5f
12803 Author: Chris Wilson <chris@chris-wilson.co.uk>
12804 Date: Tue Feb 2 16:28:30 2010 +0000
12806 drm/i915: Don't tile page sized bo.
12808 Minor tweak from < to <= so that a page sized bo is also not tiled for
12809 those 32x32 pixmaps...
12811 src/drm/cairo-drm-i915-surface.c | 2 +-
12812 1 file changed, 1 insertion(+), 1 deletion(-)
12814 commit 70ca9dd170ce1cf8941311ec1f3dc117aef141b6
12815 Author: Chris Wilson <chris@chris-wilson.co.uk>
12816 Date: Tue Feb 2 16:28:09 2010 +0000
12818 drm/i915: Pass the correct length to dump the batchbuffer.
12820 src/drm/cairo-drm-i915-surface.c | 2 +-
12821 1 file changed, 1 insertion(+), 1 deletion(-)
12823 commit 3266a1a72be9c0a6b6c0014c4b64098507b6d385
12824 Author: Chris Wilson <chris@chris-wilson.co.uk>
12825 Date: Tue Feb 2 16:27:52 2010 +0000
12827 drm: Handle absence of PCI_ID
12829 src/drm/cairo-drm.c | 2 +-
12830 1 file changed, 1 insertion(+), 1 deletion(-)
12832 commit 1ecefc53a1d370d9fffb323952dcabeef5b872c6
12833 Author: Chris Wilson <chris@chris-wilson.co.uk>
12834 Date: Tue Feb 2 16:26:54 2010 +0000
12836 pattern: Zero-length gradients are not necessary empty
12838 Fixes: test/linear-step-function
12840 If the extend mode is unbounded, then the gradient is also unbound.
12842 src/cairo-pattern.c | 6 +++---
12843 1 file changed, 3 insertions(+), 3 deletions(-)
12845 commit 2a59220aa448cd7416f1851c4c62ca6ac396302d
12846 Author: Chris Wilson <chris@chris-wilson.co.uk>
12847 Date: Tue Feb 2 16:24:30 2010 +0000
12849 test: Add linear-step-function
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.
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
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(+)
12865 commit 7b37ba8a49dca39a42b5395e0715d3d0a5a89972
12866 Author: Chris Wilson <chris@chris-wilson.co.uk>
12867 Date: Tue Feb 2 16:17:13 2010 +0000
12869 clip: Propagate all-clipped when copying
12871 Fixes test/clip-empty-save.
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.
12876 src/cairo-clip.c | 7 ++-----
12877 1 file changed, 2 insertions(+), 5 deletions(-)
12879 commit 7dc464bb2bd64d1469b7b03afaf2191ee6d9e28b
12880 Author: Chris Wilson <chris@chris-wilson.co.uk>
12881 Date: Tue Feb 2 16:15:32 2010 +0000
12883 test: Add clip-empty-save
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.
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(+)
12895 commit ab3dc7bb31f7f8b8c4d87c1ae62bd946b260c77e
12896 Author: Chris Wilson <chris@chris-wilson.co.uk>
12897 Date: Sun Jan 31 16:59:07 2010 +0000
12899 csi-replay: compile fix
12901 util/cairo-script/csi-replay.c | 32 +++++++++++++++++++++-----------
12902 1 file changed, 21 insertions(+), 11 deletions(-)
12904 commit ab605214d151098ad153e8bf74ae0ca71a34c963
12905 Author: Andrea Canciani <ranma42@gmail.com>
12906 Date: Mon Feb 1 09:27:16 2010 +0100
12908 Partially revert "Improve stroking of densely dashed styles"
12910 This reverts commit 26e9f149063b9e1fdb54fc54fccbefdf04a68190 on
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.
12916 src/cairo-path-stroke.c | 24 ++++++------------------
12917 1 file changed, 6 insertions(+), 18 deletions(-)
12919 commit 8ffe0fc3825f0f6bc4d06607f6819ea8c2c2040b
12920 Author: Andrea Canciani <ranma42@gmail.com>
12921 Date: Sat Jan 30 09:29:48 2010 +0100
12923 Revert "[quartz] Approximate dense dashing patterns"
12925 This reverts commit 27701ed8447d4c21b7bf9709a2fc21690b3cdc96.
12926 Approximation is now done in gstate.
12928 src/cairo-quartz-surface.c | 32 +++++++++++---------------------
12929 1 file changed, 11 insertions(+), 21 deletions(-)
12931 commit 2e91648bcba06832dfa92bd742c32b2f5c1ad989
12932 Author: Andrea Canciani <ranma42@gmail.com>
12933 Date: Fri Jan 15 15:46:20 2010 +0100
12935 Approximate dash patterns in gstate
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>
12943 src/cairo-gstate.c | 13 ++++++++++++-
12944 1 file changed, 12 insertions(+), 1 deletion(-)
12946 commit 67f666896cbfd0ac2728c7aa1325a7d0b2c8282d
12947 Author: Andrea Canciani <ranma42@gmail.com>
12948 Date: Sun Jan 24 22:17:18 2010 +0100
12950 Improve comments style consistency
12952 Each line of a multi-line comment should begin with '*'.
12954 src/cairo-stroke-style.c | 4 ++--
12955 1 file changed, 2 insertions(+), 2 deletions(-)
12957 commit 45c795a1820e0317b123e7782cefed6ade8996d7
12958 Author: Andrea Canciani <ranma42@gmail.com>
12959 Date: Fri Jan 15 10:44:58 2010 +0100
12961 Improve dash pattern approximation
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.
12968 Reviewed-by: M. Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
12970 src/cairo-stroke-style.c | 56 ++++++++++++++++++++++++++++++++++++++++++++--
12971 1 file changed, 54 insertions(+), 2 deletions(-)
12973 commit 8d7841048b079ce2a582ff17c90e82e0081e5f42
12974 Author: Andrea Canciani <ranma42@gmail.com>
12975 Date: Sun Jan 17 19:00:47 2010 +0100
12977 Round caps coverage extimate explanation
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.
12984 Reviewed-by: M. Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
12986 src/cairo-stroke-style.c | 16 ++++++++++++++++
12987 1 file changed, 16 insertions(+)
12989 commit 8558cd579059974758bda696c33f08399267d33e
12990 Author: Eric Anholt <eric@anholt.net>
12991 Date: Thu Jan 28 17:39:34 2010 -0800
12993 [gl] Use GL_MESA_pack_invert to flip get_image of windows around.
12995 This doesn't have any fallback for a GL that fails to implement the
12996 extension. Fixes 120 testcases for gl-window.
12998 src/cairo-gl-surface.c | 4 ++++
12999 1 file changed, 4 insertions(+)
13001 commit 11a120fb8477910f5ac63dc1ebde45c276764783
13002 Author: Andrea Canciani <ranma42@gmail.com>
13003 Date: Fri Jan 29 14:21:06 2010 +0100
13005 Silence autoconf on Mac OS X
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.
13011 configure.ac | 2 +-
13012 1 file changed, 1 insertion(+), 1 deletion(-)
13014 commit 05d4f9b461749f129b17cc97d6e3e6b49fe8e8d9
13015 Author: Chris Wilson <chris@chris-wilson.co.uk>
13016 Date: Fri Jan 29 11:30:49 2010 +0000
13018 xlib: Compile fix for no fontconfig
13020 src/cairo-xlib-screen.c | 3 ++-
13021 1 file changed, 2 insertions(+), 1 deletion(-)
13023 commit e3e74641450481e7ad393bbc6fd1a7428be53de1
13024 Author: Chris Wilson <chris@chris-wilson.co.uk>
13025 Date: Fri Jan 29 11:22:26 2010 +0000
13027 atomic: Fix up compile on PPC with libatomic-ops
13029 src/cairo-atomic-private.h | 2 --
13030 src/cairo-atomic.c | 3 ++-
13031 2 files changed, 2 insertions(+), 3 deletions(-)
13033 commit e11d2d0b4d646757fcba11631b6db169e2c183b0
13034 Author: Alexander Shulgin <alex.shulgin@gmail.com>
13035 Date: Fri Jan 29 09:17:01 2010 +0000
13037 surface: Fix detach mime-data after ecda633f887a10da650b4cd3efb17c861a6f519f
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
13045 src/cairo-surface.c | 2 +-
13046 1 file changed, 1 insertion(+), 1 deletion(-)
13048 commit 5f0a0088af784157d8efe149ed073c8fa010e648
13049 Author: Chris Wilson <chris@chris-wilson.co.uk>
13050 Date: Thu Jan 28 13:23:39 2010 +0000
13052 drm-intel: Unmap a full glyph cache.
13054 When we swap a full glyph cache for a fresh one, be sure to unmap the
13055 old one prior to release.
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(-)
13061 commit 78cd9471200c69c8b3737e859260f4552145d958
13062 Author: Chris Wilson <chris@chris-wilson.co.uk>
13063 Date: Wed Jan 27 23:45:17 2010 +0000
13065 drm: Paranoid assert that the fallback is released upon finish.
13067 src/drm/cairo-drm-surface.c | 2 ++
13068 1 file changed, 2 insertions(+)
13070 commit 5aa1191204e3eed6e3e97e23f37a52bbdfffcbce
13071 Author: Chris Wilson <chris@chris-wilson.co.uk>
13072 Date: Wed Jan 27 23:42:26 2010 +0000
13074 drm-intel: flush in memory modifications to texture.
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.
13081 src/drm/cairo-drm-i915-shader.c | 14 ++++++++++++++
13082 src/drm/cairo-drm-i965-shader.c | 12 ++++++++++++
13083 2 files changed, 26 insertions(+)
13085 commit a38accb694452fc5dfac63535648656885cd47eb
13086 Author: Chris Wilson <chris@chris-wilson.co.uk>
13087 Date: Wed Jan 27 23:27:46 2010 +0000
13089 drm-intel: The accumulation bo may be NULL, beware.
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.
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(-)
13099 commit 44734b9d3ba60fb45abb0268a916e40cd688ef6a
13100 Author: Chris Wilson <chris@chris-wilson.co.uk>
13101 Date: Wed Jan 27 23:17:44 2010 +0000
13103 drm-intel: Assert that the bo is unmapped upon release.
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
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(-)
13115 commit 6848c7c850aa0a710c1409d1fc2cb441d02a2b28
13116 Author: Chris Wilson <chris@chris-wilson.co.uk>
13117 Date: Wed Jan 27 23:01:37 2010 +0000
13119 drm-i915: Don't tile temporary image textures.
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.
13125 src/drm/cairo-drm-i915-shader.c | 2 +-
13126 1 file changed, 1 insertion(+), 1 deletion(-)
13128 commit f75b7c4c110e880f4bdd578d9180f9afbb1d0034
13129 Author: Chris Wilson <chris@chris-wilson.co.uk>
13130 Date: Wed Jan 27 19:20:57 2010 +0000
13132 drm/i915: Ensure surface is initialized.
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.
13137 src/drm/cairo-drm-i915-shader.c | 6 +++---
13138 1 file changed, 3 insertions(+), 3 deletions(-)
13140 commit 02f20458d1dd48fc4589734fc4b3e0c8bea1ce5c
13141 Author: Chris Wilson <chris@chris-wilson.co.uk>
13142 Date: Wed Jan 27 19:02:21 2010 +0000
13144 drm-i915: Ensure surface size for clone is initialized.
13146 If the surface had a snapshot, then we would have not initialized the
13147 surface size and so compute a bogus normalization matrix.
13149 src/drm/cairo-drm-i915-shader.c | 7 +++----
13150 1 file changed, 3 insertions(+), 4 deletions(-)
13152 commit c82ff8cbcf27dc20d2b44a988eed1b676d996e8c
13153 Author: Chris Wilson <chris@chris-wilson.co.uk>
13154 Date: Wed Jan 27 18:48:32 2010 +0000
13156 configure: Enable AC_SYS_LARGEFILE for drm
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.
13163 1 file changed, 1 insertion(+)
13165 commit 6d2d338ac04b02200e009c9e97d3ce030d07eb6f
13166 Author: Chris Wilson <chris@chris-wilson.co.uk>
13167 Date: Mon Jan 25 22:47:10 2010 +0000
13169 drm: compile fix for cairo_always_inline
13171 s/always_inline/cairo_always_inline/
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(-)
13179 commit 58980b4ad60a60923a59370c81d59bb0457a7922
13180 Author: Benjamin Otte <otte@redhat.com>
13181 Date: Wed Jan 27 09:56:14 2010 +0100
13183 build: Remove glitz surface
13185 glitz is unmaintained and the GL surface is far superior anyway.
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(-)
13217 commit 17ddb1598b3df374b6275d907441f34318b4257f
13218 Author: Benjamin Otte <otte@redhat.com>
13219 Date: Mon Jan 25 20:17:12 2010 +0100
13221 docs: appease make check
13223 src/cairo-gl-surface.c | 4 ++--
13224 1 file changed, 2 insertions(+), 2 deletions(-)
13226 commit bac513a85dc8ef2915b2e60d034cf3dbc82a8e0c
13227 Author: Benjamin Otte <otte@redhat.com>
13228 Date: Mon Jan 25 20:05:56 2010 +0100
13230 build: Fix pthread detection
13232 THe pthread.h detection code didn't pass -lpthread or -pthread to Cairo.
13234 configure.ac | 10 ++++++++--
13235 1 file changed, 8 insertions(+), 2 deletions(-)
13237 commit 582604f7b6b5b2ab6e681245bc7cde64d4995307
13238 Author: Benjamin Otte <otte@redhat.com>
13239 Date: Mon Jan 25 19:22:33 2010 +0100
13241 [png] Simplify coercion code
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.
13246 src/cairo-png.c | 16 ++++++----------
13247 1 file changed, 6 insertions(+), 10 deletions(-)
13249 commit 002e02715cac9a285fd97e1bb6b068ceebfae3d8
13250 Author: Benjamin Otte <otte@redhat.com>
13251 Date: Mon Jan 25 19:42:54 2010 +0100
13253 Remove useless pixman version checks
13255 We require pixman >= 0.15.16 in configure.ac, so checks for older
13256 versions aren't required anymore.
13258 src/cairo-gl-surface.c | 2 --
13259 src/cairo-image-surface.c | 10 ++--------
13260 2 files changed, 2 insertions(+), 10 deletions(-)
13262 commit 5a690ad4acb3687c45c201b3ce92cd3e41bf3b30
13263 Author: Benjamin Otte <otte@gnome.org>
13264 Date: Fri Jan 15 13:44:04 2010 +0100
13266 Give cairo_surface_mark_dirty() the slim hidden treatment
13268 Fixes test suite failure
13270 src/cairo-surface.c | 1 +
13271 src/cairoint.h | 1 +
13272 2 files changed, 2 insertions(+)
13274 commit 571ab1007571cb8d78fcb5206b43d6b964aa0df1
13275 Author: Chris Wilson <chris@chris-wilson.co.uk>
13276 Date: Mon Jan 25 18:22:03 2010 +0000
13278 xcb: Fix linking with xcb-drm
13280 src/cairo-xcb-surface.c | 2 ++
13281 1 file changed, 2 insertions(+)
13283 commit ecda633f887a10da650b4cd3efb17c861a6f519f
13284 Author: Chris Wilson <chris@chris-wilson.co.uk>
13285 Date: Mon Jan 25 18:17:28 2010 +0000
13287 mime-data: Detach existing alternate representations upon modification
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
13297 src/cairo-surface.c | 21 ++++++++++++++++++++-
13298 1 file changed, 20 insertions(+), 1 deletion(-)
13300 commit 123bdb086ad9c5725a51791458d31309c69a3f41
13301 Author: Chris Wilson <chris@chris-wilson.co.uk>
13302 Date: Mon Jan 25 16:45:03 2010 +0000
13304 xcb: Make shm optional
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
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(-)
13324 commit e1b3330376c173633e146eb6cf578592d424e4d5
13325 Author: Chris Wilson <chris@chris-wilson.co.uk>
13326 Date: Mon Jan 25 14:48:44 2010 +0000
13328 configure: dri2 is only required for xcb-drm
13330 Move the optional dependency on dri2 to the xcb-drm integration where it
13333 configure.ac | 7 +++++--
13334 1 file changed, 5 insertions(+), 2 deletions(-)
13336 commit 8151c72307e8cb369fbb524de56f87f805efff2b
13337 Author: Chris Wilson <chris@chris-wilson.co.uk>
13338 Date: Mon Jan 25 12:14:39 2010 +0000
13340 xcb: compile errors with lockdep
13342 After moving the mutex to the superclass, I forgot to update the
13343 references from the lockdep asserts.
13345 src/cairo-xcb-connection.c | 6 +++---
13346 src/cairo-xcb-screen.c | 16 ++++++++--------
13347 2 files changed, 11 insertions(+), 11 deletions(-)
13349 commit be81d656c53c76032fd3fe11c81402d17ec56327
13350 Author: Chris Wilson <chris@chris-wilson.co.uk>
13351 Date: Mon Jan 25 11:54:24 2010 +0000
13353 clip: Create a fallback clip surface
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.
13358 src/cairo-clip.c | 5 +++++
13359 1 file changed, 5 insertions(+)
13361 commit c453d8ab704e5f41cb010241efe9bcb9ff886024
13362 Author: Chris Wilson <chris@chris-wilson.co.uk>
13363 Date: Mon Jan 25 11:45:01 2010 +0000
13365 test: Erroneous ref image for big-line xlib-fallback.
13367 test/big-line.xlib-fallback.ref.png | Bin 723 -> 0 bytes
13368 1 file changed, 0 insertions(+), 0 deletions(-)
13370 commit 180aea76adbb6d5c5909652b7a8cafb7a693e982
13371 Author: Adrian Johnson <ajohnson@redneon.com>
13372 Date: Mon Jan 25 20:48:02 2010 +1030
13374 Fix printing of rotated user fonts
13376 b7550bf0 introduced a regression when user fonts are rendered to a
13379 src/cairo-type3-glyph-surface.c | 9 +++++----
13380 1 file changed, 5 insertions(+), 4 deletions(-)
13382 commit abcb9d2c39178620b1847fe6ea6e144602464ecc
13383 Author: Chris Wilson <chris@chris-wilson.co.uk>
13384 Date: Mon Jan 25 09:35:09 2010 +0000
13386 image: Prevent deref of NULL clip_region
13388 Another stray from surface-fallback, spotted by Carlos:
13390 *INT_cairo_region_get_extents (region=0x0, extents=0xbfffce90) at
13392 385 if (region->status) {
13394 0 *INT_cairo_region_get_extents (region=0x0, extents=0xbfffce90) at
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,
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,
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
13445 12 0x0012a732 in *INT_cairo_stroke (cr=0x1b13c0) at cairo.c:2207
13447 src/cairo-image-surface.c | 10 +++++++++-
13448 1 file changed, 9 insertions(+), 1 deletion(-)
13450 commit 38ba696c483c289c2522b124ca628ef602c12126
13451 Author: Chris Wilson <chris@chris-wilson.co.uk>
13452 Date: Mon Jan 25 09:20:11 2010 +0000
13454 surface-fallback: We no longer own a reference to the clip surface
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:
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
13467 src/cairo-surface-fallback.c | 3 ---
13468 1 file changed, 3 deletions(-)
13470 commit b3ba610ec05f863a0830a1f30ed130649fbadfbb
13471 Author: Chris Wilson <chris@chris-wilson.co.uk>
13472 Date: Mon Jan 25 09:09:18 2010 +0000
13474 win32: Trivially fix the compile error with printing.
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...
13482 This patch however is just the quick compile fix to pass a NULL and
13483 restore the old behaviour.
13485 Fixes (with previous commit):
13486 Bug 26197 - Cairo doesn't build on windows
13487 http://bugs.freedesktop.org/show_bug.cgi?id=26197
13489 src/cairo-win32-printing-surface.c | 2 +-
13490 1 file changed, 1 insertion(+), 1 deletion(-)
13492 commit 386ca53f280652983870316593e510cfef59c559
13493 Author: Haakon Sporsheim <haakon.sporsheim@gmail.com>
13494 Date: Sun Jan 24 16:43:42 2010 +0100
13496 win32: Compile fix, rename render_row to render_rows.
13498 src/cairo-win32-surface.c | 4 ++--
13499 1 file changed, 2 insertions(+), 2 deletions(-)
13501 commit a9a73e5df42840148fd4db60cc0d1ba5d137b764
13502 Author: Andrea Canciani <ranma42@gmail.com>
13503 Date: Sun Jan 24 23:26:28 2010 +0100
13505 Constrain subsurface creation
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>
13511 src/cairo-surface-subsurface.c | 36 +++++++++++++++---------------------
13512 1 file changed, 15 insertions(+), 21 deletions(-)
13514 commit b7550bf0f1cafb5cc5df13da50b0cec80313038f
13515 Author: Adrian Johnson <ajohnson@redneon.com>
13516 Date: Sun Jan 24 22:23:26 2010 +1030
13518 Fix incorrect font scale and glyph position in Type 3 fonts
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.
13526 src/cairo-type3-glyph-surface.c | 21 +++++----------------
13527 1 file changed, 5 insertions(+), 16 deletions(-)
13529 commit ea7fda442c169a159b2e3c51894a0f5e70a13984
13530 Author: Eric Anholt <eric@anholt.net>
13531 Date: Fri Jan 22 16:26:38 2010 -0800
13533 [gl] Release the context acquired in surface_create.
13535 Fixes assertion failures in many testcases since
13536 cf9ea9f2f0ea1e1b42dc1507ed0dac4dfbf5d387
13538 src/cairo-gl-surface.c | 2 ++
13539 1 file changed, 2 insertions(+)
13541 commit 20990365f3885457d66b4a8bef865f027a98333f
13542 Author: Eric Anholt <eric@anholt.net>
13543 Date: Fri Jan 22 16:13:02 2010 -0800
13545 [gl] Emit rectanges a whole primitive at a time.
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.
13551 src/cairo-gl-surface.c | 25 +++++++++++--------------
13552 1 file changed, 11 insertions(+), 14 deletions(-)
13554 commit c8a61a3267ffd53d4b4d61e2e2bcb70448ea4d41
13555 Author: Andrea Canciani <ranma42@gmail.com>
13556 Date: Sat Jan 23 18:25:11 2010 +0100
13558 Fix compilation on MacOS X
13560 Some functions declared in MacOS X headers use the always_inline
13561 attribute, thus defining it to be a different expression breaks the
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(-)
13569 commit 90ba1242b61e7b8e5ae2c2ca028d0058f6dabd88
13570 Author: Andrea Canciani <ranma42@gmail.com>
13571 Date: Sat Jan 23 18:13:35 2010 +0100
13573 Fix image backend compilation
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.
13579 src/cairo-image-surface.c | 3 +++
13580 1 file changed, 3 insertions(+)
13582 commit 2a466ba07072cb394cfc955cfb0633b0cc278044
13583 Author: Chris Wilson <chris@chris-wilson.co.uk>
13584 Date: Fri Jan 22 22:26:52 2010 +0000
13586 script: Encode octal values correctly.
13588 Oops, we were emitting the octal numerals in reverse order.
13590 src/cairo-script-surface.c | 21 +++++++++++++--------
13591 1 file changed, 13 insertions(+), 8 deletions(-)
13593 commit 87529198aa37f5eb5943eb80cc1aae858fdaadd0
13594 Author: Chris Wilson <chris@chris-wilson.co.uk>
13595 Date: Fri Jan 22 22:21:44 2010 +0000
13597 scaled-font: Mark an error site with _cairo_error()
13599 src/cairo-scaled-font-subsets.c | 2 +-
13600 1 file changed, 1 insertion(+), 1 deletion(-)
13602 commit 6544f3b25d2120b7bd04f6c956c2ea7b9c101c76
13603 Author: Chris Wilson <chris@chris-wilson.co.uk>
13604 Date: Fri Jan 22 22:15:25 2010 +0000
13606 ps: Wean off the low-level image composite interface
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.
13612 src/cairo-ps-surface.c | 77 +++++++++++++++++-------------------------------
13613 1 file changed, 27 insertions(+), 50 deletions(-)
13615 commit f57cb45fa9274351b36f96eb932a931493b5db94
13616 Author: Chris Wilson <chris@chris-wilson.co.uk>
13617 Date: Fri Jan 22 22:18:35 2010 +0000
13619 ps: Arguments to fill_extents() were reversed.
13621 src/cairo-ps-surface.c | 3 ++-
13622 1 file changed, 2 insertions(+), 1 deletion(-)
13624 commit 58540405d9bc6581c1d07f17bd5aee330f06d4a2
13625 Author: Chris Wilson <chris@chris-wilson.co.uk>
13626 Date: Fri Jan 22 22:05:37 2010 +0000
13628 pdf: Arguments to fill_extents() were reversed.
13630 src/cairo-pdf-surface.c | 3 ++-
13631 1 file changed, 2 insertions(+), 1 deletion(-)
13633 commit 34dd80632e4671f0ca245be9db4280db62bdb1f9
13634 Author: Chris Wilson <chris@chris-wilson.co.uk>
13635 Date: Thu Jan 21 18:39:26 2010 +0000
13637 glew: Silence compiler.
13639 src/glew/GL/glew.h | 2 +-
13640 src/glew/glew.c | 4 ++--
13641 2 files changed, 3 insertions(+), 3 deletions(-)
13643 commit cf9ea9f2f0ea1e1b42dc1507ed0dac4dfbf5d387
13644 Author: Chris Wilson <chris@chris-wilson.co.uk>
13645 Date: Thu Jan 21 18:39:12 2010 +0000
13647 gl: Acquire the context whilst creating surfaces.
13649 src/cairo-gl-private.h | 5 ++---
13650 src/cairo-gl-surface.c | 37 ++++++++++++++++++++++++-------------
13651 2 files changed, 26 insertions(+), 16 deletions(-)
13653 commit a7e05bd602e7f8bee63f5d32cb95d65628e6e715
13654 Author: Chris Wilson <chris@chris-wilson.co.uk>
13655 Date: Thu Jan 21 18:22:04 2010 +0000
13657 glew: Do not assume that UNIX == GLX
13659 src/glew/glew.c | 5 +++++
13660 1 file changed, 5 insertions(+)
13662 commit c0008242b0f162d8c7717009ba792ed61b2924d1
13663 Author: Chris Wilson <chris@chris-wilson.co.uk>
13664 Date: Fri Jan 22 21:35:23 2010 +0000
13666 misc: Only use custom lround() under DISABLE_SOME_FLOATING_POINT
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.
13673 [Just a reminder that optimisation choices will change over time as our
13674 hardware and software evolves.]
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(-)
13681 commit 1236c41072a7966eda7db48a381fd0508e5289be
13682 Author: Chris Wilson <chris@chris-wilson.co.uk>
13683 Date: Fri Jan 22 21:26:26 2010 +0000
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...
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.
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(-)
13733 commit 77afe8491ed7038a8399c01f10d8f062a7239225
13734 Author: Chris Wilson <chris@chris-wilson.co.uk>
13735 Date: Fri Jan 22 20:48:54 2010 +0000
13737 drm: Add backends for i915 and i965.
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.
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.
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.
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(-)
13787 commit b9407af6a4bc792c1bcb52c90aa8a618627bb618
13788 Author: Chris Wilson <chris@chris-wilson.co.uk>
13789 Date: Fri Jan 22 17:57:41 2010 +0000
13791 image: Implement high level interface.
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
13803 image-rgba firefox-talos-gfx-0 342050.17 (342155.88 0.02%) -> 69412.44 (69702.90 0.21%): 4.93x speedup
13805 image-rgba vim-0 97518.13 (97696.23 1.21%) -> 30712.63 (31238.65 0.85%): 3.18x speedup
13807 image-rgba evolution-0 69927.77 (110261.08 19.84%) -> 24430.05 (25368.85 1.89%): 2.86x speedup
13809 image-rgba poppler-0 41452.61 (41547.03 2.51%) -> 21195.52 (21656.85 1.08%): 1.96x speedup
13811 image-rgba firefox-planet-gnome-0 217512.61 (217636.80 0.06%) -> 123341.02 (123641.94 0.12%): 1.76x speedup
13813 image-rgba swfdec-youtube-0 41302.71 (41373.60 0.11%) -> 31343.93 (31488.87 0.23%): 1.32x speedup
13815 image-rgba swfdec-giant-steps-0 20699.54 (20739.52 0.10%) -> 17360.19 (17375.51 0.04%): 1.19x speedup
13817 image-rgba gvim-0 167837.47 (168027.68 0.51%) -> 151105.94 (151635.85 0.18%): 1.11x speedup
13819 image-rgba firefox-talos-svg-0 375273.43 (388250.94 1.60%) -> 356846.09 (370370.08 1.86%): 1.05x speedup
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(-)
13837 commit ec7cc9dea16f94e1e56720be548cf5520ec4708b
13838 Author: Chris Wilson <chris@chris-wilson.co.uk>
13839 Date: Fri Jan 22 19:27:45 2010 +0000
13841 ft: Tidy computation of transformed bitmap, and mark if CA
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.
13848 src/cairo-ft-font.c | 31 +++++++++++--------------------
13849 1 file changed, 11 insertions(+), 20 deletions(-)
13851 commit b713510f213d0a83cb0575d6870416a0f13786c9
13852 Author: Chris Wilson <chris@chris-wilson.co.uk>
13853 Date: Fri Jan 22 17:56:26 2010 +0000
13855 surface-fallback: Convert to composite rectangles
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(-)
13863 commit 498c10032ea3f8631a928cd7df96766f2c8ddca4
13864 Author: Chris Wilson <chris@chris-wilson.co.uk>
13865 Date: Fri Jan 22 16:39:29 2010 +0000
13867 clip: Implement clipping using only the high-level operators.
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.
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(-)
13879 commit 05bb43a00770f17566c80f28faf684597d1b6afb
13880 Author: Chris Wilson <chris@chris-wilson.co.uk>
13881 Date: Fri Jan 22 16:14:53 2010 +0000
13883 types: Move cairo_scaled_glyph_t to cairo-types-private.h
13885 Another step in bringing some sanity to our headers.
13887 src/cairo-types-private.h | 25 +++++++++++++++++++++++++
13888 src/cairoint.h | 26 --------------------------
13889 2 files changed, 25 insertions(+), 26 deletions(-)
13891 commit 9c98656fb1ac10a6085c5db5731b6b986af26165
13892 Author: Chris Wilson <chris@chris-wilson.co.uk>
13893 Date: Fri Jan 22 16:11:48 2010 +0000
13895 color: Add enum value for the largest stock color.
13897 Useful if we wish to keep a cache of patterns for the very common stock
13900 src/cairo-color.c | 13 +++++++------
13901 src/cairo-types-private.h | 3 ++-
13902 2 files changed, 9 insertions(+), 7 deletions(-)
13904 commit b7b65b5315836297f86c54121ea45e469f514312
13905 Author: Chris Wilson <chris@chris-wilson.co.uk>
13906 Date: Fri Jan 22 16:07:25 2010 +0000
13908 stroke: Convert rectilinear paths to boxes.
13910 A quick and efficient method for extracting the set of boxes that
13911 represent the path when stroked.
13913 src/cairo-path-stroke.c | 170 +++++++++++++++++++++++++++++++++++++----------
13914 src/cairoint.h | 7 ++
13915 2 files changed, 142 insertions(+), 35 deletions(-)
13917 commit fe6a7f4c9e69c86588eca4925a9d65f3086f98bf
13918 Author: Chris Wilson <chris@chris-wilson.co.uk>
13919 Date: Fri Jan 22 16:02:07 2010 +0000
13921 fill: Convert rectilinear paths to boxes.
13923 A quick and efficient method for extracting the set of boxes that
13924 represent the path when filled.
13926 src/cairo-path-fill.c | 76 ++++++++++++++++++++++++++++++++++++++++++++++++-
13927 src/cairoint.h | 5 ++++
13928 2 files changed, 80 insertions(+), 1 deletion(-)
13930 commit 6b77567b6ef28710c7707ab82c7fa95c810152d1
13931 Author: Chris Wilson <chris@chris-wilson.co.uk>
13932 Date: Fri Jan 22 15:54:45 2010 +0000
13934 path: Compute coarse bounds upon construction.
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
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 +++++++++++++++++++--
13946 src/cairoint.h | 9 +--
13947 7 files changed, 184 insertions(+), 100 deletions(-)
13949 commit 6bfcf3ea55964fee1c9b73818c3bb7cdacbc4f82
13950 Author: Chris Wilson <chris@chris-wilson.co.uk>
13951 Date: Fri Jan 22 15:37:25 2010 +0000
13953 matrix: Do not need to iteratively refine conversion for unity matrices.
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
13959 src/cairo-matrix.c | 2 +-
13960 1 file changed, 1 insertion(+), 1 deletion(-)
13962 commit 13c56800ca6c32a6d8251edec5d3976399b70ea4
13963 Author: Chris Wilson <chris@chris-wilson.co.uk>
13964 Date: Fri Jan 22 16:33:34 2010 +0000
13966 gstate: Reduce operators
13968 Some operators may be equivalent to simpler operations, so make the
13969 transformation in the gstate, before calling down into the surface
13972 src/cairo-gstate.c | 86 +++++++++++++++++++++++++++++++++++++++++++---------
13973 1 file changed, 72 insertions(+), 14 deletions(-)
13975 commit 4d52be39bf36a3557f4e7c61dba764b1c6542c8f
13976 Author: Chris Wilson <chris@chris-wilson.co.uk>
13977 Date: Fri Jan 22 16:09:11 2010 +0000
13979 gstate: Skip ops with a clear mask.
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
13985 src/cairo-gstate.c | 6 ++++++
13986 src/cairo-pattern.c | 23 +++++++++++++++++++++++
13987 src/cairoint.h | 3 +++
13988 3 files changed, 32 insertions(+)
13990 commit c2ef45226d6801acb15854de55a5f5bc728ed65d
13991 Author: Chris Wilson <chris@chris-wilson.co.uk>
13992 Date: Fri Jan 22 14:33:53 2010 +0000
13994 gstate: Check for an invalid matrix before cairo_transform()
13996 Similar to the other checks that will generate an invalid matrix prior
13997 to performing the operation.
13999 src/cairo-gstate.c | 3 +++
14000 1 file changed, 3 insertions(+)
14002 commit 22316a0c17cd3b49ec625814f4e737b3fdc6ca63
14003 Author: Chris Wilson <chris@chris-wilson.co.uk>
14004 Date: Fri Jan 22 14:33:16 2010 +0000
14006 gstate: White space.
14008 A couple of minor coding style violations.
14010 src/cairo-gstate.c | 7 +++++--
14011 1 file changed, 5 insertions(+), 2 deletions(-)
14013 commit 29bedde904824098f73b978d73d36b3b5420ac32
14014 Author: Chris Wilson <chris@chris-wilson.co.uk>
14015 Date: Fri Jan 22 16:19:31 2010 +0000
14017 pattern: Add convenience patterns for stock colours
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.
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(-)
14036 commit 9eb98e1dc5af7eac896bf469e491063777e678be
14037 Author: Chris Wilson <chris@chris-wilson.co.uk>
14038 Date: Fri Jan 22 14:14:51 2010 +0000
14040 scaled-font: Use tight glyph bounds when determining overlap.
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.
14048 src/cairo-scaled-font.c | 55 +++++++++++++++++++++--------------------------
14049 1 file changed, 25 insertions(+), 30 deletions(-)
14051 commit 005b0c4eb2a1fe2c4de31ebe2a3244bea8bd2625
14052 Author: Chris Wilson <chris@chris-wilson.co.uk>
14053 Date: Fri Jan 22 19:47:58 2010 +0000
14055 test: Add explicit device management to xlib-surface-source
14057 Mostly pedagogical example.
14059 test/xlib-surface-source.c | 5 +++++
14060 1 file changed, 5 insertions(+)
14062 commit ca02b51ef6d058b6fb492258177f0396a5819e26
14063 Author: Chris Wilson <chris@chris-wilson.co.uk>
14064 Date: Fri Jan 22 21:57:58 2010 +0000
14066 test: Add an xcb surface source test
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(+)
14075 commit f0678fb70ceec5db1b7c3f0eb1c5603039daf307
14076 Author: Chris Wilson <chris@chris-wilson.co.uk>
14077 Date: Fri Jan 22 19:02:39 2010 +0000
14079 test: Tweak aligned of text-rotate
14081 Reset the rotation for every quadrant so that the starting rectangles
14084 test/text-rotate.c | 68 +++++++++++++++++++++++++++++++++-------------
14085 test/text-rotate.ref.png | Bin 16738 -> 16722 bytes
14086 2 files changed, 49 insertions(+), 19 deletions(-)
14088 commit 2edd2adafc471f4aa9c417d4bc76cc38466a9ed0
14089 Author: Chris Wilson <chris@chris-wilson.co.uk>
14090 Date: Tue Jan 19 22:45:59 2010 +0000
14092 test: Exercise scan converters with large rounded rectangles.
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.
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(+)
14106 commit 5187501e997d6b8c0d135542d21accde9e311281
14107 Author: Chris Wilson <chris@chris-wilson.co.uk>
14108 Date: Tue Jan 19 22:41:45 2010 +0000
14110 test: Add --track-origins=yes to valgrind flags.
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.
14117 test/Makefile.am | 4 +++-
14118 1 file changed, 3 insertions(+), 1 deletion(-)
14120 commit 3a5d71c431dfb251308c3e4e02d2ea4acec90a91
14121 Author: Chris Wilson <chris@chris-wilson.co.uk>
14122 Date: Tue Jan 19 19:18:54 2010 +0000
14124 pattern: An EXTEND_NONE surface is not opaque if we sample outside
14126 Fixes test/clear-source as proposed by Benjamin Otte.
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(-)
14136 commit b07de014eba1a482747ac235670011972a82d19d
14137 Author: Chris Wilson <chris@chris-wilson.co.uk>
14138 Date: Tue Jan 19 18:44:34 2010 +0000
14140 spans: Add a rectangular scan converter
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.
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(+)
14154 commit e49855497e7214c21c85b03d7ab94e9e008f821b
14155 Author: Chris Wilson <chris@chris-wilson.co.uk>
14156 Date: Tue Jan 19 18:36:20 2010 +0000
14158 spans: Add a Bentley-Ottmann variant on the Tor scan converter
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.
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.
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(-)
14188 commit 424dcf296378a107286a164aaf135a34e40c42ac
14189 Author: Chris Wilson <chris@chris-wilson.co.uk>
14190 Date: Tue Jan 19 19:11:31 2010 +0000
14192 boxes: Enable generation of boxes from rectilinear polygons.
14194 Extend the special case rectilinear tessellator to also produce boxes.
14196 src/cairo-bentley-ottmann-rectilinear.c | 122 ++++++++++++++++++++++++++-----
14197 src/cairoint.h | 5 ++
14198 2 files changed, 108 insertions(+), 19 deletions(-)
14200 commit b83f1c347dfd77139e9485745d43da946b086b74
14201 Author: Chris Wilson <chris@chris-wilson.co.uk>
14202 Date: Tue Jan 19 19:09:10 2010 +0000
14204 boxes: Enable tessellation
14206 Extend the special case rectangular tessellator to handle generation of
14209 src/cairo-bentley-ottmann-rectangular.c | 778 ++++++++++++++++---------------
14210 src/cairoint.h | 5 +
14211 2 files changed, 416 insertions(+), 367 deletions(-)
14213 commit 43beaa5873b9ad10620bfe7ed5f9212a3c44effd
14214 Author: Chris Wilson <chris@chris-wilson.co.uk>
14215 Date: Tue Jan 19 18:11:26 2010 +0000
14217 boxes: Efficient storage for an array of cairo_box_t.
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.
14224 This will be heavily used in pending commits.
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(+)
14232 commit ae25f1c360b79f0b7b1bb73e9ebc47eb794d8007
14233 Author: Chris Wilson <chris@chris-wilson.co.uk>
14234 Date: Tue Jan 19 17:11:55 2010 +0000
14236 Alter definition of cairo_composite_rectangles_t
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.
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(-)
14257 commit 9cd9137843f8f1c3d32bedb6510259ab3638a2c5
14258 Author: Chris Wilson <chris@chris-wilson.co.uk>
14259 Date: Tue Jan 19 17:11:11 2010 +0000
14261 spans: Pass multiple rows of identical spans to the renders.
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.
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(-)
14278 commit a04873c0770df5eaed078493df5216ca28322de7
14279 Author: Chris Wilson <chris@chris-wilson.co.uk>
14280 Date: Mon Jan 18 23:40:00 2010 +0000
14282 qt: Trivial compile fix for boilerplate.
14284 boilerplate/cairo-boilerplate-qt.cpp | 2 ++
14285 1 file changed, 2 insertions(+)
14287 commit 0f09349dd85b15d5de14248e2f3f17a91fbcbb5e
14288 Author: Chris Wilson <chris@chris-wilson.co.uk>
14289 Date: Mon Jan 18 23:37:36 2010 +0000
14291 gl: Exercise Window destinations with boilerplate
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...
14297 boilerplate/cairo-boilerplate-gl.c | 99 ++++++++++++++++++++++++++++++++++++
14298 1 file changed, 99 insertions(+)
14300 commit ccea7fd7c1a2d7144e892c19615488e368529bc0
14301 Author: Chris Wilson <chris@chris-wilson.co.uk>
14302 Date: Mon Jan 18 23:37:11 2010 +0000
14304 gl: Port to cairo_device_t
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(-)
14315 commit 3acd520c9dec89e72d7ff61adb1ae30bab12e256
14316 Author: Chris Wilson <chris@chris-wilson.co.uk>
14317 Date: Mon Jan 18 23:11:19 2010 +0000
14319 xml: Port to cairo_device_t
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(-)
14326 commit 49ab86772a44d7a044464d875324bd0af96af728
14327 Author: Chris Wilson <chris@chris-wilson.co.uk>
14328 Date: Mon Jan 18 22:43:24 2010 +0000
14330 script: Port cairo_script_context_t to cairo_device_t
14332 Use the unifying cairo_device_t for cairo_script_context_t and replace.
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(-)
14346 commit f617d5fc982f749d0981c81c1de1be8dc3632717
14347 Author: Chris Wilson <chris@chris-wilson.co.uk>
14348 Date: Mon Jan 18 21:53:42 2010 +0000
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
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.
14365 The principal components of the API are the memory management of:
14367 cairo_device_reference(),
14368 cairo_device_finish() and
14369 cairo_device_destroy();
14371 along with a pair of routines for serialising interaction:
14373 cairo_device_acquire() and
14374 cairo_device_release()
14376 and a method to flush any outstanding accesses:
14378 cairo_device_flush().
14380 The device for a particular surface may be retrieved using:
14382 cairo_surface_get_device().
14384 The device returned is owned by the surface.
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(-)
14434 commit 82f8aa548d70acf51b319000d7a5c176fc73da64
14435 Author: Chris Wilson <chris@chris-wilson.co.uk>
14436 Date: Mon Jan 18 22:02:09 2010 +0000
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
14445 src/cairo-mutex-impl-private.h | 28 ++++++++++++++++++++++++++++
14446 src/cairo-mutex-type-private.h | 9 ++++++++-
14447 2 files changed, 36 insertions(+), 1 deletion(-)
14449 commit d2f251f84b326c5f8825c9a631ea729f21891580
14450 Author: Chris Wilson <chris@chris-wilson.co.uk>
14451 Date: Mon Jan 18 22:12:23 2010 +0000
14453 configure: Globally define AC_GNU_SOURCE
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.
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(-)
14467 commit 934d0d0d6585eb7638c7db597c40dd821092c034
14468 Author: Chris Wilson <chris@chris-wilson.co.uk>
14469 Date: Mon Jan 18 19:05:34 2010 +0000
14471 Real zero-copy cow snapshotting
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
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(-)
14489 commit 6b3e19aa434d159db7878b2a7fb28a026b2d1756
14490 Author: Chris Wilson <chris@chris-wilson.co.uk>
14491 Date: Mon Jan 18 19:12:25 2010 +0000
14493 Remove content matching from snapshot lookup.
14495 This was never used, so remove the complexity from the interface.
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(-)
14505 commit dc8290814c0e98b38828953bac6dd0893c31c9ad
14506 Author: Chris Wilson <chris@chris-wilson.co.uk>
14507 Date: Mon Jan 18 18:06:51 2010 +0000
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.
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 +-
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(-)
14532 commit b8eacbfae1c155f412d84120411103cb610e383b
14533 Author: Chris Wilson <chris@chris-wilson.co.uk>
14534 Date: Mon Jan 18 18:09:11 2010 +0000
14536 Add surface-offset internal API.
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
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(+)
14548 commit f2c32d01836379766bc287edf77381123767daeb
14549 Author: Chris Wilson <chris@chris-wilson.co.uk>
14550 Date: Tue Jan 19 18:06:54 2010 +0000
14552 Unify the two freed object pools
14554 Discard some duplicate code and shared a single freed object pointer
14555 pool between the pattern and clip.
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(-)
14564 commit cfd204824fada7d2b4bcf4994c4200ae9b5a8b26
14565 Author: Chris Wilson <chris@chris-wilson.co.uk>
14566 Date: Mon Jan 18 18:20:16 2010 +0000
14568 Constify stroke style and matrices.
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.
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(-)
14606 commit 3e17c559b04e2df208f28125746d7e0acfb4b476
14607 Author: Benjamin Otte <otte@gnome.org>
14608 Date: Wed Dec 9 19:46:28 2009 +0100
14610 [test] Add pthread-same-source test
14612 Multiple threads render using the same source surface, but with
14613 different extend and filter.
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(+)
14621 commit 30a12f802f4ff46f13dc36e60936cd857585a9ea
14622 Author: Benjamin Otte <otte@gnome.org>
14623 Date: Wed Nov 25 18:55:05 2009 +0100
14625 [test] Add a simple multithreading test
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(-)
14633 commit 038829eb84e53532a6e3c75225933ad85da50cfc
14634 Author: Benjamin Otte <otte@gnome.org>
14635 Date: Sun Dec 6 17:47:50 2009 +0100
14637 [test] Add new test checking is_clear is handled properly
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.
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(+)
14649 commit bf7fb4e0e09d05f42425cc7969c64992d4dc9ff9
14650 Author: Chris Wilson <chris@chris-wilson.co.uk>
14651 Date: Mon Jan 18 17:18:08 2010 +0000
14653 script: Handle cache allocation failure more gracefully
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...
14658 util/cairo-script/cairo-script-operators.c | 74 +++++++++++++---------------
14659 1 file changed, 33 insertions(+), 41 deletions(-)
14661 commit 2b312806f138da6f88d03bb3c0c3852b342eb220
14662 Author: Chris Wilson <chris@chris-wilson.co.uk>
14663 Date: Mon Jan 18 17:14:24 2010 +0000
14665 script: Free the correct pattern after failure.
14667 The error path attempted to free the resolved pattern which it had just
14668 discovered was NULL and not the locally allocated pattern...
14670 util/cairo-script/cairo-script-operators.c | 2 +-
14671 1 file changed, 1 insertion(+), 1 deletion(-)
14673 commit bc2d0ad114f8fc0b0579851154fe9d39c0aa0fc9
14674 Author: Chris Wilson <chris@chris-wilson.co.uk>
14675 Date: Fri Nov 27 17:30:51 2009 +0000
14677 script: Permit surface operations on the context
14679 By implicitly reference the target of the context instead, i.e.
14680 this reduces the use of:
14682 /target get (example.png) write-to-png pop
14684 as a common idiom where the context is kept on the stack and the surface
14687 util/cairo-script/cairo-script-operators.c | 14 +++++++++++---
14688 1 file changed, 11 insertions(+), 3 deletions(-)
14690 commit 411c09eed7ebff7335948a7f96d2b29d82ed817a
14691 Author: Chris Wilson <chris@chris-wilson.co.uk>
14692 Date: Sun Nov 1 08:40:41 2009 +0000
14694 perf: Enable a surface cache for perf-trace
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).
14710 To enable use of the surface cache whilst replaying use -c:
14712 ./cairo-perf-trace -c firefox-talos-gfx
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(-)
14722 commit c50c8b90c0033686b465e6766fba4772c1d698c6
14723 Author: Chris Wilson <chris@chris-wilson.co.uk>
14724 Date: Mon Jan 18 16:58:40 2010 +0000
14726 Move _cairo_error() to a standalone header
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.
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 +
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(-)
14829 commit 558f9501700ba569f04f345f7c64d16b1870e37c
14830 Author: Chris Wilson <chris@chris-wilson.co.uk>
14831 Date: Mon Jan 18 22:47:34 2010 +0000
14833 surface-wrapper: Avoid copying patterns and clips unless transformed.
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.
14839 src/cairo-surface-wrapper.c | 134 ++++++++++++++++++++++++-------------------
14840 1 file changed, 75 insertions(+), 59 deletions(-)
14842 commit 8f694817227366f4a4c6bbbf46e6cdddb4a065df
14843 Author: Chris Wilson <chris@chris-wilson.co.uk>
14844 Date: Tue Jan 19 17:12:47 2010 +0000
14848 Add forgotten local targets to .gitignore
14851 perf/.gitignore | 1 +
14852 util/.gitignore | 2 ++
14853 util/cairo-script/.gitignore | 1 +
14854 4 files changed, 5 insertions(+)
14856 commit 5914e995723682e0b1f685d9ff5ea5abe05ae024
14857 Author: Eric Anholt <eric@anholt.net>
14858 Date: Fri Jan 22 09:21:36 2010 -0800
14860 [gl] Cache a temporary glyph compositing mask for reuse later.
14862 Cuts firefox-talos-gfx time from 56 seconds to 43 seconds.
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(-)
14869 commit 1bf0f64ee7783742fa777a496567e4da48e300dd
14870 Author: Eric Anholt <eric@anholt.net>
14871 Date: Thu Jan 21 14:08:11 2010 -0800
14873 [gl] Composite component-alpha glyphs directly instead of through a mask.
14875 Cuts gnome-terminal-vim time from 58 seconds to 20.
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(-)
14882 commit 12d521df8acc483b2daa844d4f05dc2fe2765ba6
14883 Author: Eric Anholt <eric@anholt.net>
14884 Date: Thu Jan 21 13:19:17 2010 -0800
14886 [gl] Use GL_RGBA textures even for CAIRO_CONTENT_COLOR.
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.
14894 This fixes a failure in rotate-image-surface-paint and 4 other
14895 testcases. No performance difference in firefox-talos-gfx.
14897 src/cairo-gl-surface.c | 131 +++++++++++++++++++++++++++---------------------
14898 1 file changed, 75 insertions(+), 56 deletions(-)
14900 commit e316cb9db57094359c28f6b740e73674e8dcc134
14901 Author: Eric Anholt <eric@anholt.net>
14902 Date: Wed Jan 20 13:33:56 2010 -0800
14904 [gl] Add support for component-alpha glyph rendering.
14906 This is done using a mask and the two-pass trick I did for EXA. Fixes
14907 text-antialias-subpixel.
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(-)
14914 commit ceeb7e7e703213a83ca43d80962519074a19364d
14915 Author: Eric Anholt <eric@anholt.net>
14916 Date: Tue Jan 19 13:43:16 2010 -0800
14918 [gl] Use the UNSUPPORTED() macro in more places for fallback debugging.
14920 src/cairo-gl-surface.c | 14 +++++++-------
14921 1 file changed, 7 insertions(+), 7 deletions(-)
14923 commit 5d9e2fd84b4f66e5b121d95805ce34e2f482d1b0
14924 Author: Andrea Canciani <ranma42@gmail.com>
14925 Date: Fri Jan 15 16:28:12 2010 +0100
14927 [quartz] Leftbehind change from a39075c88f9b2e12e19348ea11c9b3f739818265
14929 This commit completes the change in a39075c88f9b2e12e19348ea11c9b3f739818265.
14930 It removes unused variables and corrects the extents rect computation.
14932 src/cairo-quartz-surface.c | 4 +---
14933 1 file changed, 1 insertion(+), 3 deletions(-)
14935 commit 6950b233e41a0c926465728c37f9bc5512f2844b
14936 Author: Chris Wilson <chris@chris-wilson.co.uk>
14937 Date: Fri Jan 15 14:25:16 2010 +0000
14939 qt: Make flush() robust.
14941 Hanno Meyer-Thurow reported in
14943 http://bugs.freedesktop.org/show_bug.cgi?id=26063
14944 [PATCH] various fixes to cairo-qt
14946 a few issues related to _cairo_qt_surface_flush() where firefox was
14947 crashing after being built to use cairo-qt.
14949 This is an amalgam of those patches that hopefully address the issue.
14951 src/cairo-qt-surface.cpp | 33 ++++++++++++++++++++++++++-------
14952 1 file changed, 26 insertions(+), 7 deletions(-)
14954 commit 4e315d84723b27746a6a012ab7de429b2f2ef90b
14955 Author: Chris Wilson <chris@chris-wilson.co.uk>
14956 Date: Fri Jan 15 12:21:52 2010 +0000
14958 pattern: Premultiply color-stop when converting to solid
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.
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.
14971 src/cairo-gstate.c | 26 +++++++++++++++++++-------
14972 src/cairo-pattern.c | 32 +++++++++++++++++++++-----------
14973 2 files changed, 40 insertions(+), 18 deletions(-)
14975 commit f40560a9bb5b12d2584ed297bf4114baf2aa9cc1
14976 Author: Chris Wilson <chris@chris-wilson.co.uk>
14977 Date: Fri Jan 15 12:17:30 2010 +0000
14979 test: Add linear-uniform
14981 Jeff reported a regression found by Mozilla whereby a uniform gradient
14982 was not being premultiplied on conversion to a solid pattern.
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.
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(+)
14994 commit e22c02dbaeda6941083fc89b517508dc0c4386a0
14995 Author: Chris Wilson <chris@chris-wilson.co.uk>
14996 Date: Fri Jan 15 12:02:58 2010 +0000
14998 test: Add degenerate-arcs
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.
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(+)
15009 commit a39075c88f9b2e12e19348ea11c9b3f739818265
15010 Author: Andrea Canciani <ranma42@gmail.com>
15011 Date: Wed Jan 6 18:53:54 2010 +0100
15013 [quartz] Fix generic masking
15015 Masking with unbounded operators was broken because an incorrect
15016 transformation was applied to inverted mask used for the fixup.
15018 src/cairo-quartz-surface.c | 59 ++++++++++++++++----------------------------
15019 1 file changed, 21 insertions(+), 38 deletions(-)
15021 commit 27701ed8447d4c21b7bf9709a2fc21690b3cdc96
15022 Author: Andrea Canciani <ranma42@gmail.com>
15023 Date: Tue Jan 5 19:42:23 2010 +0100
15025 [quartz] Approximate dense dashing patterns
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.
15031 src/cairo-quartz-surface.c | 32 +++++++++++++++++++++-----------
15032 1 file changed, 21 insertions(+), 11 deletions(-)
15034 commit ad7ab00c10fc1adcf2ef4574fdd00b25dfcdafdd
15035 Author: Andrea Canciani <ranma42@gmail.com>
15036 Date: Sat Jan 2 13:23:53 2010 +0100
15038 [quartz] Improve A8 and A1 support
15040 Use A8 images as alpha-only masks intread of greyscale images.
15041 Add support to A1 images (they were ignored before).
15043 src/cairo-quartz-surface.c | 59 ++++++++++++++++++++++++++------------------
15044 1 file changed, 35 insertions(+), 24 deletions(-)
15046 commit f3b3a5c43f247f3e9019fa6c1fd2abb3b00dd9ea
15047 Author: Adrian Johnson <ajohnson@redneon.com>
15048 Date: Fri Jan 15 07:47:30 2010 +1030
15050 Fix bug in _cairo_ft_index_to_ucs4
15052 Previously it would miss the first character causing the space glyph to
15053 return 0x00A0 instead of 0x0020.
15055 src/cairo-ft-font.c | 2 +-
15056 1 file changed, 1 insertion(+), 1 deletion(-)
15058 commit e26e2c8cc41b4e60462eacbd87894dc82beca883
15059 Author: Eric Anholt <eric@anholt.net>
15060 Date: Thu Jan 14 10:05:02 2010 -0800
15062 [gl] Fix the color bits of CAIRO_CONTENT_ALPHA surface patterns to be 0.
15064 Fixes surface-pattern-operator and alpha-similar.
15066 src/cairo-gl-private.h | 1 -
15067 src/cairo-gl-surface.c | 22 +++++++++++-----------
15068 2 files changed, 11 insertions(+), 12 deletions(-)
15070 commit 520945603cdbacb90b3067f24a37b6dbd2ea6808
15071 Author: Eric Anholt <eric@anholt.net>
15072 Date: Thu Jan 14 10:00:37 2010 -0800
15074 [gl] Remove the special-casing of acquiring a pattern surface.
15076 _cairo_pattern_acquire_surface() should do fine at it, and matches
15077 what cairo-drm-i915 does.
15079 src/cairo-gl-surface.c | 127 ------------------------------------------------
15080 1 file changed, 127 deletions(-)
15082 commit dbf9faf8232e7bf279377b5f3fc08ed210ca4e51
15083 Author: Eric Anholt <eric@anholt.net>
15084 Date: Wed Jan 13 10:33:32 2010 -0800
15086 [gl] Use GLSL for fill_rectangles when available.
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.
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(-)
15099 commit 57341cf5ac4d16222da27856e3a1092a473597e8
15100 Author: Eric Anholt <eric@anholt.net>
15101 Date: Wed Jan 13 14:18:06 2010 -0800
15103 [gl] Use ADD instead of SOURCE when making a mask for overlapping glyphs.
15105 The whole point of making the mask was to avoid overwriting one glyph
15106 with the data from another. Whoops.
15108 Fixes ft-show-glyphs-positioning, text-rotate, overlapping-glyphs,
15111 src/cairo-gl-glyphs.c | 2 +-
15112 1 file changed, 1 insertion(+), 1 deletion(-)
15114 commit 6e0a63102e7e2d3fa3d5c993f2b94a2d6e40bdd8
15115 Author: Eric Anholt <eric@anholt.net>
15116 Date: Wed Jan 13 14:06:23 2010 -0800
15118 [gl] Clear the current_target cache when binding a framebuffer in creation.
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
15124 Fixes many testcases. Thanks to T. Zachary Laine for tracking down
15125 that the current_target was the source of these issues.
15127 src/cairo-gl-surface.c | 1 +
15128 1 file changed, 1 insertion(+)
15130 commit ad0f4bee19b214b96fb07a45d1f059b362afee0f
15131 Author: T. Zachary Laine <whatwasthataddress@gmail.com>
15132 Date: Thu Jan 7 17:24:31 2010 -0600
15134 [gl] Clear the is_clear flag on the temporary glyph mask we create.
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
15140 Fixes ft-show-glyphs-table, user-font-rescale, and select-font-face.
15142 src/cairo-gl-glyphs.c | 1 +
15143 1 file changed, 1 insertion(+)
15145 commit 384e50d858e9eec670f764c758fb3aa09b56caed
15146 Author: T. Zachary Laine <whatwasthataddress@gmail.com>
15147 Date: Wed Jan 13 15:06:24 2010 -0600
15149 [gl] Removed repeated lines of source
15151 The two removed lines are redundant with code a few lines above them.
15153 src/cairo-gl-surface.c | 2 --
15154 1 file changed, 2 deletions(-)
15156 commit 515ccb63a67c88ddb2bc5adfd018cae55bc93185
15157 Author: Eric Anholt <eric@anholt.net>
15158 Date: Mon Jan 11 16:04:21 2010 -0800
15160 [gl] Fix the glyph cache full flush to really try again.
15162 Previously, the initial error handling would dump through to software
15163 fallback instead of retrying in the following code.
15165 src/cairo-gl-glyphs.c | 6 ++----
15166 1 file changed, 2 insertions(+), 4 deletions(-)
15168 commit 4aae4bfa8f28a470ab18575670563ad28374e445
15169 Author: Chris Wilson <chris@chris-wilson.co.uk>
15170 Date: Tue Jan 12 17:10:04 2010 +0000
15172 test: Fix typo in path-stroke-twice reference image
15174 Sigh. I committed the reference image with the name
15175 path-stroke-twice-ref.png.
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(-)
15181 commit 74ea4c908067f5579b51d3dbaea387da8f343671
15182 Author: Chris Wilson <chris@chris-wilson.co.uk>
15183 Date: Tue Jan 12 17:00:25 2010 +0000
15185 path: Do not remove anti-parallel line segments in case we are stroking
15187 Bug 26010 - cairo_line_to optimizes away path segments
15188 http://bugs.freedesktop.org/show_bug.cgi?id=26010
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.
15194 src/cairo-path-fixed.c | 5 ++++-
15195 src/cairo-slope-private.h | 7 +++++++
15196 2 files changed, 11 insertions(+), 1 deletion(-)
15198 commit a5dd5a6069c0d7435260a954d8d98483f5fbcc1c
15199 Author: Chris Wilson <chris@chris-wilson.co.uk>
15200 Date: Tue Jan 12 16:32:09 2010 +0000
15202 test: Add path-stroke-twice
15204 Exercises a bug found by alois@astro.ch, whereby we inadvertently remove
15205 a line segment when the path doubles back upon itself.
15207 Bug 26010 - cairo_line_to optimizes away path segments
15208 http://bugs.freedesktop.org/show_bug.cgi?id=26010
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(+)
15217 commit 4204605813d93e7e2f0d8761e90a6dd6b8089dcb
15218 Author: Chris Wilson <chris@chris-wilson.co.uk>
15219 Date: Fri Jan 8 11:58:15 2010 +0000
15221 type1: Destroy the output stream.
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.
15228 Reported-by: mpsuzuki@hiroshima-u.ac.jp
15230 src/cairo-type1-subset.c | 28 +++++++++++++++-------------
15231 1 file changed, 15 insertions(+), 13 deletions(-)
15233 commit 41a24d822ac094f0841ba0c92ca86448ad062def
15234 Author: Chris Wilson <chris@chris-wilson.co.uk>
15235 Date: Thu Jan 7 11:58:01 2010 +0000
15237 trace: Correctly encode octal values.
15241 util/cairo-trace/trace.c | 21 ++++++++++++++-------
15242 1 file changed, 14 insertions(+), 7 deletions(-)
15244 commit 3ae9d04c6ddd311ffab91170fb9342e37c5530a8
15245 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
15246 Date: Fri Jan 1 20:13:33 2010 +0200
15248 [stroker] Fix off-by-one memory allocation in _tessellate_fan().
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
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.)
15261 The easiest way of triggering the bug is to stroke a line
15262 using a large line width and round caps or joins.
15264 src/cairo-path-stroke.c | 2 +-
15265 1 file changed, 1 insertion(+), 1 deletion(-)
15267 commit a0ea0b63fdd38a73d6696da5cd4800d9a7289240
15268 Author: Chris Wilson <chris@chris-wilson.co.uk>
15269 Date: Wed Dec 30 16:21:50 2009 +0000
15271 arc: Just emit a line-to if radius is zero.
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.
15276 Reported-by: Benjamin Berg
15278 src/cairo.c | 4 +++-
15279 1 file changed, 3 insertions(+), 1 deletion(-)
15281 commit 21560b3ec6d015004867207c5bdd90061b8a5d80
15282 Author: Andrea Canciani <ranma42@gmail.com>
15283 Date: Fri Dec 11 10:29:12 2009 +0100
15285 [trace] Fix compilation when FreeType is disabled
15287 cairo-trace needs some headers which are missing if freetype is
15288 not enabled. Adding them explicitly fixes compilation.
15290 util/cairo-trace/trace.c | 3 +++
15291 1 file changed, 3 insertions(+)
15293 commit 393d2d9c9199c368916fb5412abaac163f57ff86
15294 Author: Tim Janik <timj@gtk.org>
15295 Date: Mon Dec 28 13:34:43 2009 +0100
15297 Fixed documentation typo.
15299 src/cairo-image-surface.c | 2 +-
15300 1 file changed, 1 insertion(+), 1 deletion(-)
15302 commit e2d75203c515f9740a8e0e9779391de0a1a54b07
15303 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
15304 Date: Sun Nov 29 15:56:26 2009 +0200
15306 [dirty] Add more missing surface dirtying notifications.
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.
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(+)
15317 commit b76565d2f4a2510aabada4cef968b9b597bbef09
15318 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
15319 Date: Sun Nov 29 15:40:30 2009 +0200
15321 [test] Don't use uninitialised data in surface-source.c
15323 The draw_pattern() function assumed the incoming surface
15324 was clear, but it's not. Explicitly clear the surface first.
15326 test/surface-source.c | 4 ++++
15327 1 file changed, 4 insertions(+)
15329 commit e09b754fdd43206e1668812be4ff11d25188148c
15330 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
15331 Date: Sun Nov 29 01:11:29 2009 +0200
15333 [gstate] Change dash offset normalisation to preserve offsets in range.
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
15342 src/cairo-gstate.c | 7 ++++++-
15343 1 file changed, 6 insertions(+), 1 deletion(-)
15345 commit b394240941dffa263776a62cf42dc9b7e477f7a2
15346 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
15347 Date: Sun Nov 29 02:48:23 2009 +0200
15349 [test] Add missing mark_dirty() calls to test cases.
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.
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(+)
15363 commit 9ddf14cfd5c3bf0cf507cfc82b192f5c46f66f9a
15364 Author: Adrian Johnson <ajohnson@redneon.com>
15365 Date: Sun Nov 29 10:40:18 2009 +1030
15367 PDF: Don't specify colorspace in JPEG2000 image dictionary
15369 PDF uses the colorspace specified in the JPEG2000 image.
15371 src/cairo-pdf-surface.c | 1 -
15372 1 file changed, 1 deletion(-)
15374 commit d58560bda8361bd25f1b2207ecfab4b331601045
15375 Author: Benjamin Otte <otte@gnome.org>
15376 Date: Fri Nov 27 21:04:55 2009 +0100
15380 src/cairo-stroke-style.c | 2 +-
15381 1 file changed, 1 insertion(+), 1 deletion(-)
15383 commit 16fffc5c05857896c03decdcebff7f1b5e582390
15384 Author: Benjamin Otte <otte@gnome.org>
15385 Date: Fri Nov 27 18:13:45 2009 +0100
15387 Apply device transform in surface wrapper
15389 src/cairo-surface-wrapper.c | 56 +++++++++++++++++++++++++++++++++++--------
15390 1 file changed, 46 insertions(+), 10 deletions(-)
15392 commit 02d7e123d640d62db46ef03d7faecbc7598444e1
15393 Author: Adrian Johnson <ajohnson@redneon.com>
15394 Date: Fri Nov 27 23:11:56 2009 +1030
15396 PDF: Remove extraneous \n from end of jpeg/jp2 data
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.
15402 Previously the jpeg/jp2 embedding functions were adding the '\n'. This
15403 resulted in the '\n' becoming part of the stream data.
15405 src/cairo-pdf-surface.c | 5 +----
15406 1 file changed, 1 insertion(+), 4 deletions(-)
15408 commit 4fc7bdaed651a5c19eb89dddd88808468e0e7eb8
15409 Author: Adrian Johnson <ajohnson@redneon.com>
15410 Date: Thu Nov 26 21:14:20 2009 +1030
15412 PS: Add some missing pdf-operators flushes
15414 src/cairo-ps-surface.c | 15 +++++++++++++++
15415 1 file changed, 15 insertions(+)
15417 commit 3f0c9afa9760a90065c67927c63770f9bb8abe99
15418 Author: Benjamin Otte <otte@gnome.org>
15419 Date: Wed Nov 25 15:57:46 2009 +0100
15421 [clip] Don't ignore outermost clip when it clips everything
15423 Fixes testcases clip-stroke-no-op and clip-fill-no-op added in
15424 0d8a04ef47426d87c7932f308a831e36b4ef7683
15426 src/cairo-clip.c | 5 +----
15427 1 file changed, 1 insertion(+), 4 deletions(-)
15429 commit 0d8a04ef47426d87c7932f308a831e36b4ef7683
15430 Author: Benjamin Otte <otte@gnome.org>
15431 Date: Wed Nov 25 10:48:39 2009 +0000
15433 test: Add cases to exercise clipping after no-ops
15435 Whilst investigating:
15437 Bug 31788: SVG <line> with y1 == y2 and both with fractional
15439 https://bugs.webkit.org/show_bug.cgi?id=31788
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.
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(+)
15453 commit 26e9f149063b9e1fdb54fc54fccbefdf04a68190
15454 Author: Andrea Canciani <ranma42@gmail.com>
15455 Date: Tue Nov 10 23:09:56 2009 +0100
15457 Improve stroking of densely dashed styles
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
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(-)
15472 commit 9c24288c820069e80b0feb5e99ece4c89e92c0c6
15473 Author: Andrea Canciani <ranma42@gmail.com>
15474 Date: Wed Nov 11 00:09:08 2009 +0100
15476 Revert "[test] Reorder dash-infinite-loop to not hit a runaway allocation."
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.
15484 test/dash-infinite-loop.c | 2 +-
15485 1 file changed, 1 insertion(+), 1 deletion(-)
15487 commit cc2d2630669b084ec43e415d2806d94af00cf56c
15488 Author: Andrea Canciani <ranma42@gmail.com>
15489 Date: Tue Nov 10 22:58:59 2009 +0100
15491 Improve stroke offset computation
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.
15500 src/cairo-gstate.c | 10 ++++------
15501 1 file changed, 4 insertions(+), 6 deletions(-)
15503 commit e436a57c22f2c2a87404cac27e2d5e3c404f8bf9
15504 Author: Andrea Canciani <ranma42@gmail.com>
15505 Date: Tue Nov 10 13:29:28 2009 +0100
15507 Fix odd length dashing with negative offset
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.
15515 src/cairo-gstate.c | 4 ++--
15516 1 file changed, 2 insertions(+), 2 deletions(-)
15518 commit b1a76394655793fd698a1281b00a3d049f9e70f5
15519 Author: Andrea Canciani <ranma42@gmail.com>
15520 Date: Tue Nov 10 13:09:50 2009 +0100
15522 Add dash-offset test
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).
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(+)
15533 commit 7d8788b4ba5ae335a7bb77bd09e7ebd20376f632
15534 Author: Robert O'Callahan <robert at ocallahan.org>
15535 Date: Mon Nov 9 18:58:59 2009 +0100
15537 [quartz] Cleanup fallback source
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
15545 Patch by Robert O'Callahan, see Mozilla bug #507939.
15547 src/cairo-quartz-surface.c | 9 ---------
15548 1 file changed, 9 deletions(-)
15550 commit 248090e52b02f2b2dc424c6073489df32632b9d1
15551 Author: Andrea Canciani <ranma42@gmail.com>
15552 Date: Mon Nov 9 21:38:00 2009 +0100
15554 [quartz] Fix compositing operators
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
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
15568 src/cairo-quartz-surface.c | 182 ++++++++++++++++++++++++++++++++++----------
15569 1 file changed, 140 insertions(+), 42 deletions(-)
15571 commit d44414191a685a23fd48bb32826366dfd113e1e5
15572 Author: Andrea Canciani <ranma42@gmail.com>
15573 Date: Mon Nov 9 14:21:40 2009 +0100
15575 [quartz] Fix source-unbounded compositing of surface sources
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.
15584 src/cairo-quartz-surface.c | 62 ++++++++++++++++++++------------------------
15585 1 file changed, 28 insertions(+), 34 deletions(-)
15587 commit 7ef611a67a2a68d0a50e2191804a8ef137c78b33
15588 Author: Andrea Canciani <ranma42@gmail.com>
15589 Date: Mon Nov 9 20:17:35 2009 +0100
15591 [quartz] Fix stroking with unbounded operator
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).
15603 src/cairo-quartz-surface.c | 36 +++++++++++++-----------------------
15604 1 file changed, 13 insertions(+), 23 deletions(-)
15606 commit 577ac4fc6d810cae7ff6d460fdea1886cd97258c
15607 Author: Andrea Canciani <ranma42@gmail.com>
15608 Date: Mon Nov 9 14:24:13 2009 +0100
15610 [quartz] Fix implied colour of alpha-only surface sources
15612 If a fill colour was set, an alpha-only surface source would
15613 have used that colour instead of black.
15615 src/cairo-quartz-surface.c | 2 ++
15616 1 file changed, 2 insertions(+)
15618 commit 8b25e4a7fd839ac399d14460d2596037134c9801
15619 Author: Andrea Canciani <ranma42@gmail.com>
15620 Date: Mon Oct 19 18:38:57 2009 +0200
15622 [quartz] Improve unbounded operators fixup
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.
15627 src/cairo-quartz-surface.c | 16 +++++++---------
15628 1 file changed, 7 insertions(+), 9 deletions(-)
15630 commit ed8bdcd59863964a3eb9c49ca1a9bfd5f544350c
15631 Author: Andrea Canciani <ranma42@gmail.com>
15632 Date: Mon Oct 19 17:33:10 2009 +0200
15634 [quartz] Improve A8 image handling
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.
15644 src/cairo-quartz-surface.c | 21 +++++++++------------
15645 1 file changed, 9 insertions(+), 12 deletions(-)
15647 commit b32695c248b08289ce431d5f2fdab5205219c203
15648 Author: Robert O'Callahan <robert at ocallahan.org>
15649 Date: Tue Oct 20 16:07:52 2009 +0200
15651 [quartz] Fix gradient pattern painting
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.
15657 src/cairo-quartz-surface.c | 2 ++
15658 1 file changed, 2 insertions(+)
15660 commit 1ce096657b2d38956e3229042f87aea42b0d0d8c
15661 Author: Andrea Canciani <ranma42@gmail.com>
15662 Date: Tue Nov 3 22:51:29 2009 +0100
15664 Fix compilation on MacOS X
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.
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(-)
15676 commit c181f9e9aeac375eed07aaab58d177e3476d5117
15677 Author: Andrea Canciani <ranma42@gmail.com>
15678 Date: Sat Nov 7 19:29:30 2009 +0100
15680 Add new operator-alpha-alpha test
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.
15686 [ickle: Added XFAILs for pdf, ps, svg.]
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(-)
15698 commit cee3a6169bdf7f64c126c487b443dcb7a9f0586a
15699 Author: Adrian Johnson <ajohnson@redneon.com>
15700 Date: Sun Nov 8 21:52:06 2009 +1030
15702 Type1-subset: Append "cleartomark" operator for binary fonts that don't include it
15704 Type 1 fonts embedded in PDF may omit the fixed-content portion of the
15705 font that contains the "cleartomark" operator.
15707 src/cairo-type1-subset.c | 22 +++++++++++++++-------
15708 1 file changed, 15 insertions(+), 7 deletions(-)
15710 commit d962d6bae2681ea1f3c9533a83c8902d76e81c6a
15711 Author: Adrian Johnson <ajohnson@redneon.com>
15712 Date: Sun Nov 8 21:46:16 2009 +1030
15714 PDF: Include Type 1 fixed-content portion in the embedded font
15716 Some fonts may contain additional PostScript code after the
15719 src/cairo-pdf-surface.c | 8 ++++----
15720 1 file changed, 4 insertions(+), 4 deletions(-)
15722 commit ac59c7580894fc5fd424f7f6f8c1532d15048566
15723 Author: Adrian Johnson <ajohnson@redneon.com>
15724 Date: Sun Nov 8 21:38:58 2009 +1030
15726 Type1-subset: Check for binary eexec data
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
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.
15736 src/cairo-type1-subset.c | 8 +++++++-
15737 1 file changed, 7 insertions(+), 1 deletion(-)
15739 commit a4a59be600cbe17f43afa20422f9d05f3a5d5b52
15740 Author: Adrian Johnson <ajohnson@redneon.com>
15741 Date: Sat Nov 7 14:36:49 2009 +1030
15743 Type 1 subset: Don't add a new line when in binary mode
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
15752 https://bugs.launchpad.net/ubuntu/+source/cups/+bug/419143
15754 src/cairo-type1-subset.c | 3 ++-
15755 1 file changed, 2 insertions(+), 1 deletion(-)
15757 commit 9775f44436ffaf54931614d1867bcb7d147acd06
15758 Author: Chris Wilson <chris@chris-wilson.co.uk>
15759 Date: Thu Nov 5 10:13:34 2009 +0000
15761 AUTHORS: Add Andrea Canciani
15764 1 file changed, 1 insertion(+)
15766 commit d51915f873da8d40740a908c86f02e972e358be9
15767 Author: Andrea Canciani <ranma42@gmail.com>
15768 Date: Wed Nov 4 16:15:48 2009 +0100
15770 xlib: Fix double free
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.
15777 src/cairo-xlib-screen.c | 1 +
15778 1 file changed, 1 insertion(+)
15780 commit 7c1424a315b677ca119d11b7ced1d4c969dde568
15781 Author: Andrea Canciani <ranma42@gmail.com>
15782 Date: Sun Oct 18 08:59:33 2009 +0200
15784 quartz: Fix compilation
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.
15789 src/cairo-quartz-image-surface.c | 2 +-
15790 1 file changed, 1 insertion(+), 1 deletion(-)
15792 commit 8a10c25c3f4036d17e24852e7dc970fa06fcb4af
15793 Author: Chris Wilson <chris@chris-wilson.co.uk>
15794 Date: Thu Nov 5 10:02:54 2009 +0000
15796 test: Tweak Benjamin's xcomposite-projection
15798 Include Benjamin's advice on how to make the bug more visible inline
15801 test/xcomposite-projection.c | 69 +++++++++++++++++++++++++++++-------------
15802 1 file changed, 48 insertions(+), 21 deletions(-)
15804 commit a9f37953c71e16f65122097462e51b035783a965
15805 Author: Benjamin Otte <otte@gnome.org>
15806 Date: Wed Nov 4 13:59:58 2009 +0100
15808 [xlib] Use correct number when checking if points are out of range
15810 src/cairo-xlib-surface.c | 16 ++++++++--------
15811 1 file changed, 8 insertions(+), 8 deletions(-)
15813 commit aa1f245ea313a2f1f0dda3994f5b48073b0c385d
15814 Author: Benjamin Otte <otte@gnome.org>
15815 Date: Wed Nov 4 13:56:15 2009 +0100
15817 [test] Add "target=raster" to test
15819 The test isn't useful on vector backends and fails there due to
15820 antialiasing issues.
15822 test/xcomposite-projection.c | 2 +-
15823 1 file changed, 1 insertion(+), 1 deletion(-)
15825 commit 52afe9c77f2f54372fefeca50321a27e8dda0f63
15826 Author: Benjamin Otte <otte@gnome.org>
15827 Date: Wed Nov 4 11:15:57 2009 +0100
15829 [xlib] Fix new Composite test
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.
15836 src/cairo-fixed-private.h | 9 +++++++++
15837 src/cairo-xlib-surface.c | 22 +++++++++++-----------
15838 2 files changed, 20 insertions(+), 11 deletions(-)
15840 commit 84bbf179c375622d2c7b4e21b1b8ce189b5a18f2
15841 Author: Benjamin Otte <otte@gnome.org>
15842 Date: Wed Nov 4 11:06:57 2009 +0100
15844 [test] Add a test exposing bugs in XRenderComposite
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.
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
15863 - My Xvfb fails completely in picture up/download in the xlib-fallback
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(+)
15871 commit 9b42b6156d9916e64e19f2ccb0b43f4d1df72e79
15872 Author: Chris Wilson <chris@chris-wilson.co.uk>
15873 Date: Mon Nov 2 12:50:45 2009 +0000
15875 build: Add -pthread to real_pthread_CFLAGS
15877 build/configure.ac.system | 12 +++++++++++
15878 configure.ac | 51 +++++++++++++++++++--------------------------
15879 2 files changed, 34 insertions(+), 29 deletions(-)
15881 commit 3eecf2f60c85e0195360ff3c3a54d58ceaa4a6f1
15882 Author: Benjamin Otte <otte@gnome.org>
15883 Date: Mon Nov 2 13:20:25 2009 +0100
15885 sphinx: Add required pthread libs
15887 Try again, this time for real hopefully.
15889 configure.ac | 2 +-
15890 util/cairo-sphinx/Makefile.am | 4 ++--
15891 2 files changed, 3 insertions(+), 3 deletions(-)
15893 commit 837eb577b4707e447fafb0dfca378ecf4ea3fda5
15894 Author: Chris Wilson <chris@chris-wilson.co.uk>
15895 Date: Mon Nov 2 11:56:29 2009 +0000
15897 sphinx: Add required pthread libs
15899 Switching to pthread-stubs broke the build for sphinx on unbroken
15900 platforms [those that do not unnecessarily link against -lpthreads].
15902 configure.ac | 7 +++++++
15903 util/cairo-sphinx/Makefile.am | 5 +++--
15904 2 files changed, 10 insertions(+), 2 deletions(-)
15906 commit 942a15ba9e85fa3297ad6e65270928ad3c1c0a42
15907 Author: Benjamin Otte <otte@gnome.org>
15908 Date: Mon Nov 2 12:51:14 2009 +0100
15910 [test] Update upscale test to expose an Xlib failure
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.
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(-)
15922 commit 19c411a5b8b84d31516d9c85642ad55ef5d29aba
15923 Author: Chris Wilson <chris@chris-wilson.co.uk>
15924 Date: Fri Oct 30 07:58:45 2009 +0000
15926 path: Skip any secondary degenerate line-to segments.
15928 Only the very first line-to following a move-to can have any
15929 significance if degenerate whilst stroking, so skip all others.
15934 produces a capped degenerate path (i.e a dot),
15936 0 0 m 0 0 l 0 0 l stroke
15938 produces the same degenerate stroke, and
15940 0 0 m 0 0 l 1 0 l stroke
15942 produce a horizontal line.
15944 src/cairo-path-fixed.c | 13 ++++++++++---
15945 1 file changed, 10 insertions(+), 3 deletions(-)
15947 commit 23bcf91748c4bb04c16e503b913da3bfc237463f
15948 Author: Chris Wilson <chris@chris-wilson.co.uk>
15949 Date: Fri Oct 30 07:49:56 2009 +0000
15951 path: Misclassification of rectilinear after degenerate line-to
15953 Malte Nuhn reported hitting an assertion:
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
15958 when stroking an apparently simple path:
15988 which upon reduction becomes:
15990 0.000000 8.625000 m 5.207031 2.500000 l 125.000000 2.500000 l stroke
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.
15996 src/cairo-path-fixed.c | 101 +++++++++++++++++++++++++-----------------------
15997 1 file changed, 52 insertions(+), 49 deletions(-)
15999 commit 600dd833983bd85bf8aea487393ce156abb622bd
16000 Author: Adrian Johnson <ajohnson@redneon.com>
16001 Date: Mon Sep 28 19:14:46 2009 +0930
16003 Provide a builtin implementation of isspace() and isdigit()
16005 The glibc versions are slow in utf8 locales.
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(-)
16013 commit f571356d346565cae34f08d12c584c4bd40921d6
16014 Author: Chris Wilson <chris@chris-wilson.co.uk>
16015 Date: Tue Oct 27 20:27:09 2009 +0000
16017 xlib: Set has_component_alpha = FALSE for gradient Pictures
16019 Whilst creating the xlib surface wrapper for gradient Pictures, the
16020 corresponding attributes require ComponentAlpha disabled.
16022 src/cairo-xlib-surface.c | 1 +
16023 1 file changed, 1 insertion(+)
16025 commit 1a80cd2aa00b232a9a2192a85d6264e44ffcbd69
16026 Author: Chris Wilson <chris@chris-wilson.co.uk>
16027 Date: Mon Oct 26 11:05:38 2009 +0000
16029 scaled-font: Fix documentation examples with incorrect derefs
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
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.
16037 src/cairo-scaled-font.c | 20 ++++++++++----------
16038 1 file changed, 10 insertions(+), 10 deletions(-)
16040 commit f648fcd2f91ea5c9ec318c2c0573ee82ac8c0ac9
16041 Author: Chris Wilson <chris@chris-wilson.co.uk>
16042 Date: Mon Oct 26 11:02:16 2009 +0000
16044 gitignore: Add forgotten cairo-perf-print
16046 perf/.gitignore | 1 +
16047 1 file changed, 1 insertion(+)
16049 commit 6911ba2f76d4ccdf228c029e2719461a72848824
16050 Author: Chris Wilson <chris@chris-wilson.co.uk>
16051 Date: Mon Oct 26 11:01:01 2009 +0000
16053 perf: Fix comparisons
16055 The sort order was unstable resulting in incorrect ordering dependent
16058 perf/cairo-perf-diff-files.c | 22 +++++++++++++++-------
16059 1 file changed, 15 insertions(+), 7 deletions(-)
16061 commit f955a4cba7784f97ef1dd978158e98176e03baf0
16062 Author: Chris Wilson <chris@chris-wilson.co.uk>
16063 Date: Sun Oct 25 11:04:17 2009 +0000
16065 wideint: Protect 64_32_div for non-HAVE_UINT16_T systems
16067 Peter Clifton spotted that we failed to properly wrap
16068 _cairo_int64_32_div() for systems without a native 64 bit type.
16070 src/cairo-wideint-private.h | 5 +++++
16071 1 file changed, 5 insertions(+)
16073 commit c701d7813b6d116c9db53f63f791928a407499c7
16074 Author: Chris Wilson <chris@chris-wilson.co.uk>
16075 Date: Fri Oct 23 14:42:48 2009 +0100
16077 [pattern] Compute zero extents for empty patterns
16079 If the pattern is for example a repeating 0x0 image, then treat it as
16080 having zero extents.
16082 This should workaround the bug presented here:
16084 https://bugs.freedesktop.org/show_bug.cgi?id=24693
16085 Attached PDF crashes evince with a Floating point exception
16087 src/cairo-pattern.c | 27 ++++++++++++++++++++++++---
16088 1 file changed, 24 insertions(+), 3 deletions(-)
16090 commit 43a775f60da57206b194039cd5d8b6a735284c45
16091 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
16092 Date: Thu Oct 22 02:13:36 2009 +0300
16094 [meta] Rename cairo_meta_surface_t to cairo_recording_surface_t.
16096 The new name is more descriptive than the rather opaque meta surface.
16097 Discussed with vigour on the mailing list and #cairo:
16099 http://lists.cairographics.org/archives/cairo/2009-July/017571.html
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 +-
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(-)
16184 commit df357f26ff72571acb840715efa4930054d4fdbe
16185 Author: Chris Wilson <chris@chris-wilson.co.uk>
16186 Date: Fri Oct 16 16:48:54 2009 +0100
16188 Support component-alpha.
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).
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.
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(-)
16217 commit f0cd20e6cec445eb627c2708c2230c8bad1b64ce
16218 Author: Chris Wilson <chris@chris-wilson.co.uk>
16219 Date: Wed Oct 21 10:36:27 2009 +0100
16221 [gl] Do not clear internal surfaces.
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
16227 src/cairo-gl-surface.c | 46 +++++++++++++++++++++++++++++++---------------
16228 1 file changed, 31 insertions(+), 15 deletions(-)
16230 commit 7c9ebd4a852ad709e57ed48b9610db00de79de7e
16231 Author: Chris Wilson <chris@chris-wilson.co.uk>
16232 Date: Wed Oct 21 09:04:30 2009 +0100
16234 Make the surface->is_clear logic common
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
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(-)
16248 commit 723055722f1d9a133fe9e78bb19165f2c7be720e
16249 Author: Chris Wilson <chris@chris-wilson.co.uk>
16250 Date: Wed Oct 21 10:40:51 2009 +0100
16252 [doc] Add comments on when surfaces are cleared on construction.
16254 Or perhaps, more importantly, when the contents are left unmodified.
16256 src/cairo.h | 9 +++++++++
16257 1 file changed, 9 insertions(+)
16259 commit cef8194178b01eaa2d10c1ba8291a9a4c5a6d302
16260 Author: Andrea Canciani <ranma42@gmail.com>
16261 Date: Tue Oct 20 14:37:28 2009 +0200
16263 [test] Add surface-pattern-operator
16265 Test the results of compositing ALPHA and COLOR_ALPHA surfaces
16266 with different operators.
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(+)
16277 commit 710303ef15b9a1bf73b2b07b7aa51ec816d0aa07
16278 Author: Chris Wilson <chris@chris-wilson.co.uk>
16279 Date: Mon Oct 19 10:42:51 2009 +0100
16281 [test] Update rotate-image-surface-paint
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.
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(-)
16296 commit ea39f0302a936711043aa6834ba0ab487736572b
16297 Author: Luo Jinghua <sunmoon1997@gmail.com>
16298 Date: Mon Oct 19 22:21:00 2009 +0800
16300 atomic: correct libatomic_ops version of _cairo_atomic_int_cmpxchg
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.
16306 src/cairo-atomic-private.h | 2 +-
16307 1 file changed, 1 insertion(+), 1 deletion(-)
16309 commit a2254e56474fcdf5f25232812cdbef30a2b5ea60
16310 Author: Benjamin Otte <otte@gnome.org>
16311 Date: Sun Oct 18 22:12:13 2009 +0200
16313 [gstate] Apply target device offsets to patterns immediately
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.
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(-)
16326 commit 4b720d56db72d314b3b7cedb05a53321b1d0adbe
16327 Author: Benjamin Otte <otte@gnome.org>
16328 Date: Sun Oct 18 21:32:10 2009 +0200
16330 [clip] Remove non-existing functions from header
16332 src/cairo-clip-private.h | 9 ---------
16333 1 file changed, 9 deletions(-)
16335 commit cacf9ccedffa0c804a56c76c8ab17bf81831b621
16336 Author: Benjamin Otte <otte@gnome.org>
16337 Date: Sun Oct 18 21:30:22 2009 +0200
16339 [path] Fix compiler warnings
16341 src/cairo-path-fill.c | 7 +++----
16342 1 file changed, 3 insertions(+), 4 deletions(-)
16344 commit a70705b2ede8c0dc401f28405641e70f8a6d8d92
16345 Author: Benjamin Otte <otte@gnome.org>
16346 Date: Sun Oct 18 21:30:06 2009 +0200
16348 [xlib] Fix compiler warnings
16350 src/cairo-xlib-screen.c | 8 ++++----
16351 1 file changed, 4 insertions(+), 4 deletions(-)
16353 commit 96117c1212be2bf39a300a212dec85466f49f31e
16354 Author: Chris Wilson <chris@chris-wilson.co.uk>
16355 Date: Sat Oct 17 10:36:10 2009 +0100
16357 [test] Add radial-gradient-source
16359 ranma42 found a bug in compositing with a radial gradient using the
16360 SOURCE operator with EXTEND_NONE, as exercised here.
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(+)
16369 commit 54df07a3da2bfbbdbe2dde92ca298ac0d7b8d255
16370 Author: Chris Wilson <chris@chris-wilson.co.uk>
16371 Date: Fri Oct 16 10:11:41 2009 +0100
16373 [surface] Don't AND in the desired content.
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.
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(-)
16398 commit 6a19a82efd3afe8fb8bd30e5362b247de8efe159
16399 Author: Chris Wilson <chris@chris-wilson.co.uk>
16400 Date: Fri Oct 16 08:43:21 2009 +0100
16402 [image] Clone the format for a similar surface with identical content
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
16412 src/cairo-image-surface.c | 11 +++++++++--
16413 1 file changed, 9 insertions(+), 2 deletions(-)
16415 commit ed94d7caad6b851f6f80fa4d67441ad0387a8cd4
16416 Author: Chris Wilson <chris@chris-wilson.co.uk>
16417 Date: Fri Oct 16 08:38:24 2009 +0100
16419 [fallback] Create intermediate surface with same content.
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
16430 src/cairo-surface-fallback.c | 12 +++++++-----
16431 1 file changed, 7 insertions(+), 5 deletions(-)
16433 commit c739940137c4ffc6cc727ea30afc0e92f7ab1e80
16434 Author: Carl Worth <cworth@cworth.org>
16435 Date: Thu Oct 15 16:24:44 2009 -0700
16437 Increment version to 1.9.5
16439 Just after the 1.9.4 snapshot.
16441 cairo-version.h | 2 +-
16442 1 file changed, 1 insertion(+), 1 deletion(-)
16444 commit ad6334b9870c63e641b531d6e910c084b587d0f9
16445 Author: Carl Worth <cworth@cworth.org>
16446 Date: Thu Oct 15 15:33:20 2009 -0700
16448 Add mising images to REFERENCE_IMAGES list.
16450 Again, the kind of thing that only gets fixed at release time.
16451 But at least we have a nice test for this.
16453 test/Makefile.am | 8 ++++++++
16454 1 file changed, 8 insertions(+)
16456 commit cdad5e10768978b11088f82858a1e6e0037dc0a7
16457 Author: Carl Worth <cworth@cworth.org>
16458 Date: Thu Oct 15 14:58:39 2009 -0700
16460 Mark in-fill-empty-trapezoid as an XFAIL test.
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
16466 test/Makefile.am | 5 +++++
16467 test/in-fill-empty-trapezoid.c | 4 ++--
16468 2 files changed, 7 insertions(+), 2 deletions(-)
16470 commit b0f309abb33fb7e068199c941835af0217d8d1fc
16471 Author: Carl Worth <cworth@cworth.org>
16472 Date: Thu Oct 15 14:40:22 2009 -0700
16474 Update version to 1.9.4
16476 In preparation for the 1.9.4 snapshot.
16478 cairo-version.h | 2 +-
16479 1 file changed, 1 insertion(+), 1 deletion(-)
16481 commit 3b113275f8b081685227fc073c03f64bb1a229d3
16482 Author: Carl Worth <cworth@cworth.org>
16483 Date: Thu Oct 15 14:17:30 2009 -0700
16485 Remove stale references to non-existant reference images.
16487 This is just one of those things that we don't get right until
16488 someone tries running "make distcheck".
16490 test/Makefile.am | 7 -------
16491 1 file changed, 7 deletions(-)
16493 commit 37078b262a268179f8b7a3dfdc263e1a403daa7d
16494 Author: Carl Worth <cworth@cworth.org>
16495 Date: Thu Oct 15 14:11:04 2009 -0700
16497 NEWS: Update with correct data for 1.9.4 snapshot
16500 1 file changed, 1 insertion(+), 2 deletions(-)
16502 commit d5609ca04ecc5f5e3d5cef8ca0e67fa98cd653de
16503 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
16504 Date: Thu Oct 15 17:47:33 2009 +0300
16506 [build] Check compiler flags using AC_TRY_LINK instead of AC_TRY_COMPILE.
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.
16518 build/aclocal.cairo.m4 | 19 ++++++++-----------
16519 1 file changed, 8 insertions(+), 11 deletions(-)
16521 commit 79190d89853958ee8252440d35a662fabf122afd
16522 Author: Chris Wilson <chris@chris-wilson.co.uk>
16523 Date: Thu Oct 15 14:05:37 2009 +0100
16525 [surface] Avoid double application of device offset when calling fill()
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.
16532 Company spotted this and managed to extract an excellent minimal test
16533 case, test/clip-device-offset. This commit fixes that failure.
16535 src/cairo-surface-fallback.c | 41 +++++++++++++++++++++++++++++++++++------
16536 1 file changed, 35 insertions(+), 6 deletions(-)
16538 commit ade55037ffa596b690c6a1051394589f76eb1f48
16539 Author: Benjamin Otte <otte@gnome.org>
16540 Date: Thu Oct 15 13:19:11 2009 +0100
16542 [test] Add clip-device-offset
16544 Exercises a bug demonstrated by WebKit with clipping + device offsets.
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(+)
16553 commit dac73d260a9b9a848bb97436ad84081c51629511
16554 Author: Chris Wilson <chris@chris-wilson.co.uk>
16555 Date: Thu Oct 15 12:18:47 2009 +0100
16557 [build] Link against pthread-stubs
16559 Avoid pulling in the real pthread library if the application is single
16560 threaded and not using pthreads, by linking against pthread-stubs
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(-)
16572 commit ef9286751d8346ecb803bfb5916581ee4dfc84db
16573 Author: Chris Wilson <chris@chris-wilson.co.uk>
16574 Date: Tue Oct 13 16:10:39 2009 +0100
16576 [atomic] Fallback to libatomic-ops-dev
16578 Use libatomic-ops-dev in preference to mutex-based atomics, if we do not
16579 have the builtin atomic intrinsics available.
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(-)
16589 commit d85eda97dd9116f51e0255b29652f4b52ba4f8e9
16590 Author: Chris Wilson <chris@chris-wilson.co.uk>
16591 Date: Tue Oct 13 14:14:55 2009 +0100
16593 [pattern] Compute extents for gradients
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.
16599 src/cairo-pattern.c | 184 +++++++++++++++++++++++++++++++++++----------------
16600 1 file changed, 126 insertions(+), 58 deletions(-)
16602 commit 3a83bc8617dae3cc2bfea862f252338463871648
16603 Author: Adrian Johnson <ajohnson@redneon.com>
16604 Date: Fri Oct 2 23:28:10 2009 +0930
16606 PDF: Fix regression caused by 1ae5a419
16608 Bug 24240 acroread prints error message when printing
16610 src/cairo-pdf-surface.c | 12 ++++++++----
16611 1 file changed, 8 insertions(+), 4 deletions(-)
16613 commit 91a4f59f135dd42a28e14be55d1f08712c0c3097
16614 Author: Adrian Johnson <ajohnson@redneon.com>
16615 Date: Fri Oct 2 23:11:54 2009 +0930
16617 PDF: Fix regression caused by 1ae5a419
16619 Bug 24240 first char missing when printing a PDF.
16621 src/cairo-scaled-font-subsets.c | 2 +-
16622 1 file changed, 1 insertion(+), 1 deletion(-)
16624 commit 39284159234d5318c90fa3a72178cd3d14fe0fbb
16625 Author: Chris Wilson <chris@chris-wilson.co.uk>
16626 Date: Wed Sep 30 20:11:12 2009 +0100
16628 [boilerplate/xcb] Fix pixmap depth
16630 All the error checking, finally pointed out that I was creating a pixmap
16631 with the wrong depth! Oops.
16633 boilerplate/cairo-boilerplate-xcb.c | 19 ++++++++++++++++---
16634 1 file changed, 16 insertions(+), 3 deletions(-)
16636 commit e9bc2180d73acc7133d715ed4380ed20fb4364c0
16637 Author: Chris Wilson <chris@chris-wilson.co.uk>
16638 Date: Wed Sep 30 19:50:44 2009 +0100
16640 [xcb] Deferred error checking.
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.
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(-)
16655 commit 8e4e0aa7ee5b4e0963409cda825705a09aae61e1
16656 Author: Chris Wilson <chris@chris-wilson.co.uk>
16657 Date: Wed Sep 30 17:50:09 2009 +0100
16659 [boilerplate/xcb] Check for connection errors during test
16661 boilerplate/cairo-boilerplate-xcb.c | 51 ++++++++++++++++-----
16662 test/cairo-test.c | 86 +++++++++++++++++------------------
16663 2 files changed, 83 insertions(+), 54 deletions(-)
16665 commit 395555b116a497c99b9e8365a202377c344c0c45
16666 Author: Chris Wilson <chris@chris-wilson.co.uk>
16667 Date: Wed Sep 30 00:37:36 2009 +0100
16669 [xlib] Suppress warning that should never have been.
16671 src/cairo-xlib-surface.c | 2 +-
16672 1 file changed, 1 insertion(+), 1 deletion(-)
16674 commit 42ea356c0393288eea16eb5c591fa51009f85cb9
16675 Author: Adrian Johnson <ajohnson@redneon.com>
16676 Date: Wed Sep 30 21:21:42 2009 +0930
16678 Fix truetype subset crash
16682 src/cairo-truetype-subset.c | 1 +
16683 1 file changed, 1 insertion(+)
16685 commit 6809e1216119e16c5be236418dc560d2e9bf854d
16686 Author: Benjamin Otte <otte@gnome.org>
16687 Date: Wed Sep 30 08:54:19 2009 +0200
16689 [API] Make _cairo_meta_surface_replay() private again
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
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(-)
16712 commit f8c49b4187a32b60408b23b2c2abce1778a8dc95
16713 Author: Chris Wilson <chris@chris-wilson.co.uk>
16714 Date: Tue Sep 29 03:02:40 2009 +0100
16716 [xlib] XRequest bread crumbing
16718 Add bread crumbs in the form of NoOperations that can be parsed by
16719 xtrace and very useful when debugging protocol/server errors.
16721 src/cairo-xlib-surface.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++
16722 1 file changed, 57 insertions(+)
16724 commit 1c4f61ec5068a5935eb6d5dd1d6f2c0275b70529
16725 Author: Chris Wilson <chris@chris-wilson.co.uk>
16726 Date: Tue Sep 29 03:01:37 2009 +0100
16728 [tessellator] Invalid conversion of list head to edge.
16730 When scanning for collinear right edges, we need to check that we do not
16731 go beyond the end of the array.
16733 src/cairo-bentley-ottmann-rectangular.c | 2 ++
16734 1 file changed, 2 insertions(+)
16736 commit f23ae97e307f00a79cbf2e01f9ca20da29ea87c3
16737 Author: Chris Wilson <chris@chris-wilson.co.uk>
16738 Date: Thu Sep 24 16:30:57 2009 +0100
16740 [perf] Support parsing reports from stdin
16742 perf/cairo-perf-compare-backends.c | 22 ++++++++++++----------
16743 perf/cairo-perf-report.c | 29 +++++++++++++++++++----------
16744 2 files changed, 31 insertions(+), 20 deletions(-)
16746 commit 50163a9fafa77dd1135ca5b6b03c7ec5619687c1
16747 Author: Benjamin Otte <otte@gnome.org>
16748 Date: Tue Sep 29 00:23:12 2009 +0200
16750 [xlib] Set proper bpp when computing format from masks
16752 Fixing omission in caa9eed4646e78a62ffb49d9c4f48c0b351c7a7f
16754 src/cairo-xlib-surface.c | 1 +
16755 1 file changed, 1 insertion(+)
16757 commit a160c8c4009e069db53bec79abd8926231de9a7f
16758 Author: Benjamin Otte <otte@gnome.org>
16759 Date: Mon Sep 28 23:52:14 2009 +0200
16761 [xlib] Handle 24bpp formats during dithering
16763 src/cairo-xlib-surface.c | 10 ++++++++++
16764 1 file changed, 10 insertions(+)
16766 commit 9e89de813516c48baed67a4d18325971cd42cd4a
16767 Author: Benjamin Otte <otte@gnome.org>
16768 Date: Mon Sep 28 23:51:14 2009 +0200
16770 [image] Fix masks computation for BGRx format
16772 Patch originally by Mark Kettenis
16774 src/cairo-image-surface.c | 6 +++---
16775 1 file changed, 3 insertions(+), 3 deletions(-)
16777 commit 4b2c74e28531e403a9538f20a3ace7b114f9bbae
16778 Author: Adrian Johnson <ajohnson@redneon.com>
16779 Date: Mon Sep 28 22:57:10 2009 +0930
16781 PS: Use standard page size names for some common sizes
16783 Some PS viewers like gv use the label in the %PageMedia DSC comment as
16784 the displayed page size.
16786 The page names and sizes were obtained from the list at:
16788 http://www.gnu.org/software/gv/manual/html_node/Paper-Keywords-and-paper-size-in-points.html
16790 src/cairo-ps-surface.c | 66 +++++++++++++++++++++++++++++++++++++++++++++---
16791 1 file changed, 62 insertions(+), 4 deletions(-)
16793 commit db5e3db0a9b218bebad6921a95d5244047050348
16794 Author: Adrian Johnson <ajohnson@redneon.com>
16795 Date: Fri Sep 25 23:07:56 2009 +0930
16797 PS: Add DocumentMedia/PageMedia DSC comments
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
16804 src/cairo-ps-surface-private.h | 1 +
16805 src/cairo-ps-surface.c | 88 ++++++++++++++++++++++++++++++++++++++++
16806 2 files changed, 89 insertions(+)
16808 commit caa9eed4646e78a62ffb49d9c4f48c0b351c7a7f
16809 Author: Benjamin Otte <otte@gnome.org>
16810 Date: Thu Sep 24 23:42:05 2009 +0200
16812 [xlib] Handle case in draw_image() where pixman format is not RGB
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
16818 src/cairo-xlib-surface.c | 50 ++++++++++++++++++++++++++++++++++++++++------
16819 1 file changed, 44 insertions(+), 6 deletions(-)
16821 commit 9f5fe6711566ee34afe210f271f1c5a061efa745
16822 Author: Benjamin Otte <otte@gnome.org>
16823 Date: Thu Sep 24 22:57:39 2009 +0200
16825 [image] Return cairo_bool_t from _pixman_format_to_masks
16827 Return FALSE when the pixman format does not support ARGB masks. In
16828 particular, return FALSE for YUV formats.
16830 src/cairo-image-surface.c | 21 ++++++++++-----------
16831 src/cairoint.h | 2 +-
16832 2 files changed, 11 insertions(+), 12 deletions(-)
16834 commit 120247ac55d92d9c9b24fad45c765d16e692f355
16835 Author: Adrian Johnson <ajohnson@redneon.com>
16836 Date: Thu Sep 24 23:02:38 2009 +0930
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.
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(+)
16849 commit c8a4f486712eba4ad0ccbf5ae3b18920137d5b1b
16850 Author: Chris Wilson <chris@chris-wilson.co.uk>
16851 Date: Wed Sep 23 18:08:34 2009 +0100
16853 [image] Do not trust user supplied data to be clear
16855 Gah, more important than the whitespace was the reversal of is_clear...
16857 src/cairo-image-surface.c | 2 +-
16858 1 file changed, 1 insertion(+), 1 deletion(-)
16860 commit 03bce099eae68643979e5742b2703b2b2e835cca
16861 Author: Chris Wilson <chris@chris-wilson.co.uk>
16862 Date: Wed Sep 23 17:56:00 2009 +0100
16864 [image] Tweak coding style
16868 src/cairo-image-surface.c | 9 +++++----
16869 1 file changed, 5 insertions(+), 4 deletions(-)
16871 commit ab558fa843accc440686f7b8eda197277a6a4eb2
16872 Author: Benjamin Otte <otte@gnome.org>
16873 Date: Wed Sep 23 17:40:17 2009 +0200
16875 [image] Move setting of is_clear to _create_with_pixman_format()
16877 Simplifies code and ensures other users of that function don't run into
16880 src/cairo-image-surface.c | 18 ++++++------------
16881 1 file changed, 6 insertions(+), 12 deletions(-)
16883 commit 07ee9cfbf07deba228e73d26b419a4e130de24e3
16884 Author: Chris Wilson <chris@chris-wilson.co.uk>
16885 Date: Wed Sep 23 15:33:23 2009 +0100
16887 [image] Do assumption initial user data is cleared.
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.
16895 src/cairo-image-surface.c | 26 ++++++++++++++++++++++----
16896 1 file changed, 22 insertions(+), 4 deletions(-)
16898 commit 9948b5180aa4312b3184d9ba46e9ad6f0d8e700c
16899 Author: Chris Wilson <chris@chris-wilson.co.uk>
16900 Date: Tue Sep 22 18:20:03 2009 +0100
16902 [test] Revamp surface-source
16904 Include a translucent region in the source that exercises the xlib bug
16905 that I'm trying to fix. Hmm.
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(-)
16933 commit 941d3693fac831c4ce8c61cbac7c77b566b97611
16934 Author: Chris Wilson <chris@chris-wilson.co.uk>
16935 Date: Tue Sep 22 14:43:45 2009 +0100
16937 [test] Exercise push-group-color.
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.
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(+)
16950 commit 30f45ce5f7d639dd5a0b60f544b3535e3bc2105d
16951 Author: Chris Wilson <chris@chris-wilson.co.uk>
16952 Date: Tue Sep 22 15:15:47 2009 +0100
16954 [gl] Handle an absent visual.
16956 If we cannot find the correct visual for the fbconfig, return an error
16957 instead of crashing. The difference is subtle, granted.
16959 src/cairo-gl-surface.c | 8 ++++++++
16960 src/cairo-glx-context.c | 7 ++++---
16961 2 files changed, 12 insertions(+), 3 deletions(-)
16963 commit e74cb7fa3eb9a9bcdeb298d969b70fd99ba50f3d
16964 Author: Adrian Johnson <ajohnson@redneon.com>
16965 Date: Tue Sep 22 22:44:34 2009 +0930
16967 win32-printing: correct the use of the CAIRO_HAS_WIN32_FONT #ifdef
16969 it was wrapping code required for non windows fonts.
16971 src/cairo-win32-printing-surface.c | 2 +-
16972 1 file changed, 1 insertion(+), 1 deletion(-)
16974 commit 3dd2cc8f6d84253f93affecd3022c9fe4a25d60f
16975 Author: Adrian Johnson <ajohnson@redneon.com>
16976 Date: Tue Sep 22 22:40:53 2009 +0930
16978 win32-printing: fix meta surface pattern regression caused by bed2701e
16980 src/cairo-win32-printing-surface.c | 2 ++
16981 1 file changed, 2 insertions(+)
16983 commit 7658635c654b694b516e5dd44a43611d94e91abd
16984 Author: Adrian Johnson <ajohnson@redneon.com>
16985 Date: Tue Sep 22 22:36:20 2009 +0930
16987 win32-printing: Allow GDI CTM with scale < 1 to be set
16989 To better support creating EMF files with the win32-printing surface,
16990 allow a GDI CTM with scale < 1 to be used.
16992 http://lists.cairographics.org/archives/cairo/2009-September/018110.html
16994 src/cairo-win32-printing-surface.c | 90 ++++++++++++++++++++++++++++--------
16995 src/cairo-win32-private.h | 2 +
16996 2 files changed, 73 insertions(+), 19 deletions(-)
16998 commit 19c091670302fd23a676e680308df49a4ba06687
16999 Author: Adrian Johnson <ajohnson@redneon.com>
17000 Date: Tue Sep 22 22:35:33 2009 +0930
17002 Make win32 fonts work in EMF files created by win32-printing
17004 src/cairo-win32-printing-surface.c | 37 ++++++++++++++++++++++++++++++++++++
17005 1 file changed, 37 insertions(+)
17007 commit f01a54266d57763635f984982bec001a393d8aa2
17008 Author: Adrian Johnson <ajohnson@redneon.com>
17009 Date: Tue Sep 22 22:34:56 2009 +0930
17011 Fix compiler warnings in win32-surface
17013 src/cairo-win32-surface.c | 12 +++++++++---
17014 1 file changed, 9 insertions(+), 3 deletions(-)
17016 commit 23663e2078e34659af43bd0e62bb1fb7a94cc71e
17017 Author: Adrian Johnson <ajohnson@redneon.com>
17018 Date: Tue Sep 22 22:34:21 2009 +0930
17020 Fix compiler error on cygwin
17022 src/cairo-win32-surface.c | 1 +
17023 1 file changed, 1 insertion(+)
17025 commit 7ecd413fab7c55918c6f3c4c272b5e8b5aa89aa7
17026 Author: Adrian Johnson <ajohnson@redneon.com>
17027 Date: Tue Sep 22 22:33:14 2009 +0930
17029 Add WINVER defines to cairo-mutex-impl-privaye.h
17031 The WINVER defines should always be defined before including windows.h
17033 src/cairo-mutex-impl-private.h | 9 +++++++++
17034 1 file changed, 9 insertions(+)
17036 commit 605ec22ab5103e16052591517f86fe558133fb8e
17037 Author: Adrian Johnson <ajohnson@redneon.com>
17038 Date: Tue Sep 22 22:17:27 2009 +0930
17040 Use _WIN32 to check for win32 mutex
17042 Commit 535bcaa1 moved pthread after win32 to fix mingw build
17043 problems. However this breaks cygwin builds.
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.
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.
17055 src/cairo-mutex-impl-private.h | 2 +-
17056 1 file changed, 1 insertion(+), 1 deletion(-)
17058 commit e00d0627494a4b15ed3b74a704695ca8b81a350e
17059 Author: Chris Wilson <chris@chris-wilson.co.uk>
17060 Date: Mon Sep 21 13:50:00 2009 +0100
17062 [xlib] Fix recent bug in unbounded trapezoids
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
17070 src/cairo-surface.c | 23 ++++++++++-------------
17071 src/cairo-xlib-surface.c | 32 +++++++++++++++++++-------------
17072 2 files changed, 29 insertions(+), 26 deletions(-)
17074 commit 378b1e73d9f27e9b54ea01b10e588b361848d0cd
17075 Author: Chris Wilson <chris@chris-wilson.co.uk>
17076 Date: Mon Sep 21 03:10:53 2009 +0100
17078 [fallback] Special case single composite rectangle
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.
17083 src/cairo-surface-fallback.c | 42 ++++++++++++++++++++++++++++++++++++++++++
17084 1 file changed, 42 insertions(+)
17086 commit 35daf95db8aa4f0c254891f180aa4996dd464a60
17087 Author: Chris Wilson <chris@chris-wilson.co.uk>
17088 Date: Mon Sep 21 03:31:22 2009 +0100
17090 [xlib] Trim a few redundant steps when uploading glyphs
17092 Cleanup the glyph coercion routines to avoid the temporary cairo_t (as
17093 we can just cairo_surface_paint() directly).
17095 src/cairo-xlib-surface.c | 23 ++++++-----------------
17096 1 file changed, 6 insertions(+), 17 deletions(-)
17098 commit 9b7c5d95055c4ea5da46c53263050d6ec1331c08
17099 Author: Chris Wilson <chris@chris-wilson.co.uk>
17100 Date: Sun Sep 20 18:46:19 2009 +0100
17102 [xlib] Cleanse creation of similar surfaces.
17104 Reduce two nearly identical routines to one.
17106 src/cairo-xlib-surface.c | 197 +++++++++++++++++++++-------------------------
17107 1 file changed, 91 insertions(+), 106 deletions(-)
17109 commit 878cef62b525e9f13ab2a8ab562ba8b6628aaa1f
17110 Author: Chris Wilson <chris@chris-wilson.co.uk>
17111 Date: Sun Sep 20 18:45:09 2009 +0100
17113 [xlib] Interim CAIRO_DEBUG variable to specify xrender level
17115 Use CAIRO_DEBUG=xrender-version=x.y to override what the server reports.
17116 Useful to test cairo's behaviour against older servers.
17118 src/cairo-xlib-display.c | 23 +++++++++++++++++++----
17119 1 file changed, 19 insertions(+), 4 deletions(-)
17121 commit 531e8045980c966b8e51df933721f9b86c6b1539
17122 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
17123 Date: Fri Sep 18 12:17:46 2009 -0400
17125 Add a description of how we compute the spline_error_squared.
17127 src/cairo-spline.c | 17 +++++++++++------
17128 1 file changed, 11 insertions(+), 6 deletions(-)
17130 commit f4336352405ee7c184d45a73cdd6c1a0526843db
17131 Author: Behdad Esfahbod <behdad@behdad.org>
17132 Date: Wed Sep 16 15:46:14 2009 -0400
17134 Set LC_ALL=C instead of LANG=C
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(-)
17145 commit 56c9b2de7a2b93b2e0c59cf98326d8c0d4d508ba
17146 Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
17147 Date: Tue Sep 15 17:26:59 2009 +0200
17149 Use __uint128_t and __int128_t if available
17151 GCC uses a peculiar name for a real 128-bit integer on x86-64.
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
17158 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
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(-)
17166 commit ccf84a8883ebb8d2ee8f55eb53da4dfc96887de0
17167 Author: Chris Wilson <chris@chris-wilson.co.uk>
17168 Date: Tue Sep 15 14:22:57 2009 +0100
17170 [perf] Reorganise cairo-perf
17172 In preparation to creating a new hub to control performance measuring
17173 and reporting, move the current cairo-perf out of the way.
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 --
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(-)
17240 commit 4152cd90e25ffa9d2a3683c790bd2891a58c52de
17241 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17242 Date: Mon Sep 14 14:29:01 2009 +0300
17244 [autoconf] Comment on the SIZEOF_VOID__ -> SIZEOF_VOID_P workaround.
17246 Explain where the weird SIZEOF_VOID__ comes from.
17248 src/cairo-atomic-private.h | 2 ++
17249 util/cairo-trace/trace.c | 2 ++
17250 2 files changed, 4 insertions(+)
17252 commit cd94bf8bf30de9aa8dfec1a06a7ef3386944c974
17253 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17254 Date: Mon Sep 14 03:41:42 2009 -0600
17256 [trace] Look harder for the cairo-trace.so library.
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
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
17269 util/cairo-trace/cairo-trace.in | 17 ++++++++++++++++-
17270 1 file changed, 16 insertions(+), 1 deletion(-)
17272 commit a343c8c42d3adc8f52afd09bdfbbcfd5299df49e
17273 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17274 Date: Mon Sep 14 02:33:26 2009 -0600
17276 [trace] Don't use pthread_key_delete.
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.
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
17290 util/cairo-trace/trace.c | 1 -
17291 1 file changed, 1 deletion(-)
17293 commit cf0fed2191c2b5ebce8855def1dd302ccf8e039a
17294 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17295 Date: Sun Sep 13 17:35:29 2009 -0600
17297 [build] Check for dlsym in both libdl and libc.
17299 The BSDs have dlsym() in libc rather than libdl.
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(-)
17306 commit 1c7ac6c47addd6825c4f49f514fe3ffb708e3813
17307 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17308 Date: Sun Sep 13 17:56:56 2009 -0600
17310 [build] Work around autoconf void* -> VOID__ name conversion bug.
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.
17316 src/cairo-atomic-private.h | 4 ++++
17317 util/cairo-trace/trace.c | 4 ++++
17318 2 files changed, 8 insertions(+)
17320 commit 12470fd7010ea0748c8dcc9014d1cd0f52f51a3b
17321 Author: Chris Wilson <chris@chris-wilson.co.uk>
17322 Date: Mon Sep 14 10:36:08 2009 +0100
17324 [configure] Setup GL CFLAGS before checking for GLX
17326 configure.ac | 3 +++
17327 1 file changed, 3 insertions(+)
17329 commit 9c2790ccc48392bfe039626ebb383070aa18fe56
17330 Author: Chris Wilson <chris@chris-wilson.co.uk>
17331 Date: Mon Sep 14 10:08:57 2009 +0100
17333 [build] Add a default message for when GLEW isn't built
17335 And it appears I touched the build system again and autoregenerated the
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(-)
17345 commit 6d4f3c40eff7d070b1c9759038444928c6754efe
17346 Author: Chris Wilson <chris@chris-wilson.co.uk>
17347 Date: Mon Sep 14 09:19:10 2009 +0100
17349 Add a private copy of GLEW
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.
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.
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(-)
17372 commit 9ad26f74b0059645d865a20c387fa4bd460cabc8
17373 Author: Chris Wilson <chris@chris-wilson.co.uk>
17374 Date: Sun Sep 13 23:16:57 2009 +0100
17376 [configure] Fallback to detect OpenGL headers
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.
17381 configure.ac | 11 ++++++++---
17382 1 file changed, 8 insertions(+), 3 deletions(-)
17384 commit 71c3b2888cc81e6d55782388d14bb8d806e77d07
17385 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17386 Date: Sun Sep 13 20:24:29 2009 +0300
17388 [win32] Sync Makefile.win32.features.
17390 Ooops.. wasn't sure if I should commit this or not.
17392 build/Makefile.win32.features | 4 ++--
17393 1 file changed, 2 insertions(+), 2 deletions(-)
17395 commit ba21f213560fa239a02ae28af4eb1d3a6b7254e5
17396 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17397 Date: Sun Sep 13 18:21:38 2009 +0100
17399 [trace] Don't trace internal cairo calls on Solaris.
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.
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.
17414 util/cairo-trace/trace.c | 465 ++++++++++++++++++++++++++++++++--------------
17415 1 file changed, 327 insertions(+), 138 deletions(-)
17417 commit f5bcb2f36e7dba9cfba5d697e1401dcd00603812
17418 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17419 Date: Sun Sep 13 12:47:19 2009 +0100
17421 [build] Enable building cairo-trace on Solaris.
17423 Solaris supports LD_PRELOAD too!
17425 configure.ac | 2 +-
17426 1 file changed, 1 insertion(+), 1 deletion(-)
17428 commit ce8c842a70d3f23527dcbd889b022103483341f2
17429 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17430 Date: Sun Sep 13 12:53:07 2009 +0100
17432 [trace] Make cairo-trace and its symbol-lookup automatically configured.
17434 The build shouldn't fail if we can't make our optional performance
17437 configure.ac | 4 ++--
17438 1 file changed, 2 insertions(+), 2 deletions(-)
17440 commit 2fb59a69f4509c2116f16bd6d376f35e3e2eb709
17441 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17442 Date: Sun Sep 13 14:27:03 2009 +0100
17444 [trace] Don't rely on the constructor attribute to initialise the tracer.
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
17452 util/cairo-trace/trace.c | 176 +++++++++++++++++++++++++++++++++++++++++++++-
17453 1 file changed, 174 insertions(+), 2 deletions(-)
17455 commit 18a441984b649f558c6478f24a7987941acadbe1
17456 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17457 Date: Sun Sep 13 13:53:27 2009 +0100
17459 [trace] Don't try and propagate a void result.
17463 return <function returning void>( ... );
17465 is a gccism not supported by Sun Studio.
17467 util/cairo-trace/trace.c | 136 ++++++++++++++++++++++++----------------------
17468 1 file changed, 70 insertions(+), 66 deletions(-)
17470 commit fee5c58c6caecdbdb387fe39bd6ed94faf7f6ae9
17471 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17472 Date: Sun Sep 13 13:09:47 2009 +0100
17474 [trace] Avoid warnings from assigning a void pointer to a function pointer.
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
17480 util/cairo-trace/trace.c | 4 ++--
17481 1 file changed, 2 insertions(+), 2 deletions(-)
17483 commit 19881012cb31ec2aebf556e2c25b53e8387dc689
17484 Author: Chris Wilson <chris@chris-wilson.co.uk>
17485 Date: Sun Sep 13 16:36:12 2009 +0100
17487 [image] Add pixel masks for BGRA formats
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.
17492 src/cairo-image-surface.c | 10 +++++++++-
17493 1 file changed, 9 insertions(+), 1 deletion(-)
17495 commit f8a8f297f298d81899803a1b2bbca007418408b5
17496 Author: Chris Wilson <chris@chris-wilson.co.uk>
17497 Date: Sun Sep 13 10:58:59 2009 +0100
17499 [trace] Stray trailing ';' in bswap macros
17501 util/cairo-trace/trace.c | 4 ++--
17502 1 file changed, 2 insertions(+), 2 deletions(-)
17504 commit f851009ec76ee2290ffbc3f55edbf3cc16aff488
17505 Author: Chris Wilson <chris@chris-wilson.co.uk>
17506 Date: Sun Sep 13 10:57:42 2009 +0100
17508 [trace] Compile without lookup-symbol
17510 And check compilation with --disable-symbol-lookup
17512 util/cairo-trace/trace.c | 6 +++++-
17513 1 file changed, 5 insertions(+), 1 deletion(-)
17515 commit 6cb3ff9c1943c58f5b6892af3f18f6aaa24494b6
17516 Author: Chris Wilson <chris@chris-wilson.co.uk>
17517 Date: Sun Sep 13 10:52:14 2009 +0100
17519 [configure] --enable-symbol-lookup
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
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(-)
17536 commit 556d064f4eb3625022f0d99461929ff3fafc9c71
17537 Author: Chris Wilson <chris@chris-wilson.co.uk>
17538 Date: Fri Sep 11 15:35:27 2009 +0100
17540 [test] Typos in README from previous commit
17543 1 file changed, 1 insertion(+), 1 deletion(-)
17545 commit 43ecde2d22c5a8c591ac83f9a82c2bf83af484fd
17546 Author: Chris Wilson <chris@chris-wilson.co.uk>
17547 Date: Fri Sep 11 15:15:22 2009 +0100
17549 [test] Add Debian packages for fonts
17551 Mention which .deb provides the required fonts.
17553 test/README | 4 +++-
17554 1 file changed, 3 insertions(+), 1 deletion(-)
17556 commit 33be73dfb76c26e3bb0ab59b2f570d00d9c7be62
17557 Author: Chris Wilson <chris@chris-wilson.co.uk>
17558 Date: Fri Sep 11 14:59:58 2009 +0100
17560 [xlib] Fix big-line.
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
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
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)
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(-)
17580 commit 6960162c5eae30e2d48992023be35e3dbf502a03
17581 Author: Chris Wilson <chris@chris-wilson.co.uk>
17582 Date: Fri Sep 11 14:56:17 2009 +0100
17584 [xlib] Discard clip if larger than glyph extents
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).
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(+)
17595 commit 6e78409417117ad4de1aec65bb4753ff32e1e7a6
17596 Author: Chris Wilson <chris@chris-wilson.co.uk>
17597 Date: Fri Sep 11 14:19:38 2009 +0100
17599 [test] Update big-line and remove XFAIL
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.
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(-)
17617 commit b495e7eb2ee2521a400d4b42e04242023bdb1e44
17618 Author: Chris Wilson <chris@chris-wilson.co.uk>
17619 Date: Thu Sep 10 19:25:14 2009 +0100
17621 [surface] Early return for (region IN white)
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).
17628 src/cairo-surface.c | 7 +++++++
17629 1 file changed, 7 insertions(+)
17631 commit 94aeae9b2ec563201a0e65705504d1d70c33a619
17632 Author: Chris Wilson <chris@chris-wilson.co.uk>
17633 Date: Thu Sep 10 19:11:36 2009 +0100
17635 [clip] Simplify applying a box clip
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.
17641 src/cairo-clip-private.h | 3 +-
17642 src/cairo-clip.c | 84 +++++++++++++++++++++++++---------------------
17643 2 files changed, 48 insertions(+), 39 deletions(-)
17645 commit 496e79b63762c70fd022b2d9e2d6107bcce1807a
17646 Author: Chris Wilson <chris@chris-wilson.co.uk>
17647 Date: Thu Sep 10 17:36:46 2009 +0100
17649 [xlib] Fix extraction of GC during XCloseDisplay()
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.
17656 src/cairo-xlib-screen.c | 2 +-
17657 1 file changed, 1 insertion(+), 1 deletion(-)
17659 commit f34affaa1e0b52e255d882b84bf064f9a9d4a95d
17660 Author: Chris Wilson <chris@chris-wilson.co.uk>
17661 Date: Wed Sep 9 18:03:20 2009 +0100
17663 [util] And reuse the same name repository name.
17665 Completely confused by local caching of a broken cairo.modules by the
17666 jhbuild client. ARGH!
17668 util/cairo.modules | 4 ++--
17669 1 file changed, 2 insertions(+), 2 deletions(-)
17671 commit e1774185d6bb824a53465a037539b53fdc7af5d8
17672 Author: Chris Wilson <chris@chris-wilson.co.uk>
17673 Date: Wed Sep 9 17:52:10 2009 +0100
17675 [util] And back to a unique repo name for cairo.modules
17677 Gah, further experiments into the unknown and the unclear.
17679 util/cairo.modules | 4 ++--
17680 1 file changed, 2 insertions(+), 2 deletions(-)
17682 commit 2905ebc99e4cf8b8e94e16fcd3bc1566f51f4b57
17683 Author: Chris Wilson <chris@chris-wilson.co.uk>
17684 Date: Wed Sep 9 17:24:43 2009 +0100
17686 [util] And restore the repository tag.
17688 jbhuild requires a local definition.
17690 util/cairo.modules | 2 ++
17691 1 file changed, 2 insertions(+)
17693 commit 4d7eb79d25bcfdc47abcae1fd51c7573043909fd
17694 Author: Chris Wilson <chris@chris-wilson.co.uk>
17695 Date: Wed Sep 9 17:12:14 2009 +0100
17697 [util] Inherit the repository from xorg.modules
17699 Experiment with inheriting the repository from xorg.module, in order to
17700 avoid having two entries for the same server.
17702 util/cairo.modules | 4 +---
17703 1 file changed, 1 insertion(+), 3 deletions(-)
17705 commit f5ee785144a8ddb6056b21f6c28bc4a9f4870b32
17706 Author: Chris Wilson <chris@chris-wilson.co.uk>
17707 Date: Wed Sep 9 13:59:50 2009 +0100
17709 [test] Disable the antialias testing for the vector surfaces.
17711 Only the raster bckends obey the font anti-alias options.
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(-)
17720 commit abaef9bfbe11302beb6481547632b44be9d5be8d
17721 Author: Chris Wilson <chris@chris-wilson.co.uk>
17722 Date: Wed Sep 9 13:57:06 2009 +0100
17724 [test] Compare a failure against the image output
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.
17730 test/cairo-test.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++
17731 1 file changed, 46 insertions(+)
17733 commit 41fbea053a8feb201a4f11aaf4dff86fea0bcb01
17734 Author: Chris Wilson <chris@chris-wilson.co.uk>
17735 Date: Wed Sep 9 12:19:51 2009 +0100
17737 [test] Typo in ft-show-glyphs-positioning
17739 Note to self: remember to sleep more often.
17741 test/ft-show-glyphs-positioning.c | 2 +-
17742 1 file changed, 1 insertion(+), 1 deletion(-)
17744 commit c61480a319bad55b0b4cf3f2be609bde9f2c5948
17745 Author: Chris Wilson <chris@chris-wilson.co.uk>
17746 Date: Wed Sep 9 11:08:17 2009 +0100
17748 [test] An oversized twin test case.
17750 A larger variant of the twin mixed antialiasing test.
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(+)
17759 commit 610b311a970877f3954ba829cf43caecce0ab72c
17760 Author: Chris Wilson <chris@chris-wilson.co.uk>
17761 Date: Wed Sep 9 09:48:24 2009 +0100
17763 [test] Variation of twin that intermixes antialiasing
17765 Check that we are substituting the right glyph depth and changing masks
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(+)
17775 commit c218ff8cbec2cc7aa3efc4c7f7d8690fbdec5e9a
17776 Author: Chris Wilson <chris@chris-wilson.co.uk>
17777 Date: Wed Sep 9 09:52:18 2009 +0100
17779 [test] SUBPIXEL_ANTIALIAS varation of twin
17781 Force argb32 glyphs.
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(+)
17790 commit 456484514f4dacfe95952e8c0b73eb6a9a1a9d27
17791 Author: Chris Wilson <chris@chris-wilson.co.uk>
17792 Date: Wed Sep 9 09:38:18 2009 +0100
17794 [test] Variation of twin with ANTIALIAS_GRAY
17796 Force generation of a8 glyphs.
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(+)
17805 commit 8555984b8e72ab5846783ed54afa1a857d70f241
17806 Author: Chris Wilson <chris@chris-wilson.co.uk>
17807 Date: Wed Sep 9 09:29:42 2009 +0100
17809 [test] Add ANTIALIAS_NONE variation of twin
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.
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(+)
17821 commit 1820cb7fd648283a5b477fbc6bd654200ed190e6
17822 Author: Chris Wilson <chris@chris-wilson.co.uk>
17823 Date: Wed Sep 9 09:12:54 2009 +0100
17825 [test] Check for errors during ft-show-glyphs-positioning
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...
17831 test/ft-show-glyphs-positioning.c | 46 +++++++++++++++++++++++++++++++------
17832 1 file changed, 39 insertions(+), 7 deletions(-)
17834 commit 7fb0d5e2091a09ef7b01574f4ecf87236ef43fec
17835 Author: Chris Wilson <chris@chris-wilson.co.uk>
17836 Date: Wed Sep 9 01:45:16 2009 +0100
17838 [twin] Initialise all properties
17840 Left a couple of uninitialised properties along the non-toy font
17843 src/cairo-font-face-twin.c | 2 ++
17844 1 file changed, 2 insertions(+)
17846 commit 34778a883af806f77d0c89c85cebb315b43d7ef2
17847 Author: Chris Wilson <chris@chris-wilson.co.uk>
17848 Date: Wed Sep 9 01:16:08 2009 +0100
17850 [configure] Typo in test
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.
17855 configure.ac | 2 +-
17856 1 file changed, 1 insertion(+), 1 deletion(-)
17858 commit 4b221bd49a0c2c980a63779d905e8eb9b9cfa690
17859 Author: Chris Wilson <chris@chris-wilson.co.uk>
17860 Date: Tue Sep 8 19:02:04 2009 +0100
17862 [spans] Correct offsets for trapezoids
17864 Pass on the destination offset from composite_trapezoids() to
17865 composite_polygon().
17867 src/cairo-spans.c | 4 ++--
17868 1 file changed, 2 insertions(+), 2 deletions(-)
17870 commit 9389cb78a8ea5b6579d091ab1030ab9f1b13efc2
17871 Author: Chris Wilson <chris@chris-wilson.co.uk>
17872 Date: Tue Sep 8 17:51:33 2009 +0100
17874 [build] Improve handling of missing test apparatus
17876 Improve detection, reporting and disabling of test backends when we lack
17877 the required libraries and utilities.
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(-)
17894 commit 45759e5a0fb20a632f66a8dd206833b55a95f840
17895 Author: Chris Wilson <chris@chris-wilson.co.uk>
17896 Date: Tue Sep 8 09:19:53 2009 +0100
17898 [gl] Supply extents for acquire source image
17900 I have no idea how we survived for so long without supplying the source
17903 src/cairo-gl-surface.c | 6 +++++-
17904 1 file changed, 5 insertions(+), 1 deletion(-)
17906 commit 67d40e5c7300c4082484dbda5c81808737bb2ac5
17907 Author: Chris Wilson <chris@chris-wilson.co.uk>
17908 Date: Sun Sep 6 10:17:40 2009 +0100
17910 [xlib] Protect ourselves from liars that claim to have a 64k window
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.
17915 src/cairo-xlib-surface.c | 27 +++++++++++++++++++++++++--
17916 1 file changed, 25 insertions(+), 2 deletions(-)
17918 commit 310cebf194919cf3a7c37e724e64962ae47343cc
17919 Author: Chris Wilson <chris@chris-wilson.co.uk>
17920 Date: Sat Sep 5 15:21:50 2009 +0100
17922 [configure] Add option to disable trace.
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:
17928 $ ./configure --disable-trace
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(-)
17939 commit 9b932d7cd750b9bc61d108c80c4530352d952cfa
17940 Author: Chris Wilson <chris@chris-wilson.co.uk>
17941 Date: Sat Sep 5 08:46:39 2009 +0100
17943 [perf] Move the calibration to its own function
17945 Improve code clarity and whatnot.
17947 perf/cairo-perf.c | 71 +++++++++++++++++++++++++++++++----------------------
17948 1 file changed, 41 insertions(+), 30 deletions(-)
17950 commit 270b2f1be0e600621647f2e2486618c134217941
17951 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17952 Date: Sat Sep 5 05:39:35 2009 +0300
17954 [perf] Add a fast-and-sloppy mode to cairo-perf.
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.
17962 perf/cairo-perf.c | 59 +++++++++++++++++++++++++++++++++++------------------
17963 perf/cairo-perf.h | 3 +++
17964 2 files changed, 42 insertions(+), 20 deletions(-)
17966 commit 7f91c4953ccfbb96d76ecd73715fa2e524be933e
17967 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17968 Date: Sat Sep 5 05:07:25 2009 +0300
17970 [boilerplate] Support wildcard ? in CAIRO_TEST_TARGET{,_EXCLUDE}.
17972 Useful for running tests only for a given content type.
17974 boilerplate/cairo-boilerplate.c | 10 ++++++----
17975 1 file changed, 6 insertions(+), 4 deletions(-)
17977 commit b3bafbc5f9201662702cc0c0d1c96411e31bb7d3
17978 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17979 Date: Sat Sep 5 05:02:00 2009 +0300
17981 [boilerplate] Support giving content in CAIRO_TEST_TARGET{,_EXCLUDE}.
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.
17988 boilerplate/cairo-boilerplate.c | 61 ++++++++++++++++++++++++++++++++++++---
17989 1 file changed, 57 insertions(+), 4 deletions(-)
17991 commit 29432d3d32bc84ec4a2e1815a84e4ac2089138fe
17992 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
17993 Date: Sat Sep 5 02:25:01 2009 +0300
17995 [test] Reorder dash-infinite-loop to not hit a runaway allocation.
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.
18001 test/dash-infinite-loop.c | 2 +-
18002 1 file changed, 1 insertion(+), 1 deletion(-)
18004 commit 20b0e7f95448e496b609212b9608f75e03f223f8
18005 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18006 Date: Fri Sep 4 23:54:21 2009 +0300
18008 [test] Add large-source-roi.ref.png to test/Makefile.am
18010 Oops.. forgot to add it to the build files too
18012 test/Makefile.am | 1 +
18013 1 file changed, 1 insertion(+)
18015 commit 402a0539489cc01094b464109ae28ae78b85a294
18016 Author: Chris Wilson <chris@chris-wilson.co.uk>
18017 Date: Fri Sep 4 09:47:10 2009 +0100
18021 Compiled fine during testing -- only I forgot I hadn't enable the gl surface.
18023 src/cairo-gl-surface.c | 3 ++-
18024 1 file changed, 2 insertions(+), 1 deletion(-)
18026 commit b065303740cc18fbcabfeef34d09c7d8b617647e
18027 Author: Chris Wilson <chris@chris-wilson.co.uk>
18028 Date: Fri Sep 4 09:35:22 2009 +0100
18030 [xlib] Enable pad_reflect by default
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.
18037 src/cairo-xlib-display.c | 19 ++++++++++++-------
18038 1 file changed, 12 insertions(+), 7 deletions(-)
18040 commit 634fdb4afd15e2467979609b1af7c1c198fc83d4
18041 Author: Chris Wilson <chris@chris-wilson.co.uk>
18042 Date: Fri Sep 4 09:14:12 2009 +0100
18044 [test] Add unbounded variants of clip-{fill,stroke}
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.
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(+)
18070 commit de99f841886de5cc6e5bc91f9d3e82076d838dee
18071 Author: Chris Wilson <chris@chris-wilson.co.uk>
18072 Date: Fri Sep 4 08:55:19 2009 +0100
18074 [fallback] Only eliminate the clip if the operation is bounded
18076 For unbounded operations we still need to pass along the clip in order to
18077 correctly limit the extents of the operation.
18079 src/cairo-surface-fallback.c | 57 +++++++++++++++++++++++++++++++-----------
18080 1 file changed, 42 insertions(+), 15 deletions(-)
18082 commit 0ffca06d7feec6fdc56c47a378fcc37c1951a00a
18083 Author: Chris Wilson <chris@chris-wilson.co.uk>
18084 Date: Fri Sep 4 08:32:31 2009 +0100
18086 [perf] Use milliseconds by default in cairo-perf-diff-files
18088 Necessary when comparing performance reports from different machines (or
18089 even at different CPU states).
18091 perf/cairo-perf-diff-files.c | 13 ++++++++-----
18092 1 file changed, 8 insertions(+), 5 deletions(-)
18094 commit 00ca0780b8f06ec160d8f969e316c21fbbde04bc
18095 Author: Chris Wilson <chris@chris-wilson.co.uk>
18096 Date: Thu Sep 3 23:25:53 2009 +0100
18098 [win32] Remove unused clone_similar()
18100 The win32 backend handles surface sources directly and never calls
18101 _cairo_pattern_acquire_surface() which is the only other possible user of
18104 src/cairo-win32-printing-surface.c | 2 +-
18105 src/cairo-win32-surface.c | 57 +-----------------------------------
18106 2 files changed, 2 insertions(+), 57 deletions(-)
18108 commit 535bcaa1a1dac28fbe3106c6605949171bc36cb2
18109 Author: Chris Wilson <chris@chris-wilson.co.uk>
18110 Date: Thu Sep 3 20:10:55 2009 +0100
18112 [mutex] Hook into pthread last
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.
18118 src/cairo-mutex-impl-private.h | 47 ++++++++++++++++++++--------------------
18119 1 file changed, 24 insertions(+), 23 deletions(-)
18121 commit 769f4a4f47ab4636ec5cca3e92ce2c0ff19d2f75
18122 Author: Chris Wilson <chris@chris-wilson.co.uk>
18123 Date: Thu Sep 3 17:47:34 2009 +0100
18125 [gl] Allocate small number of rectangles on the stack
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.
18132 src/cairo-gl-surface.c | 43 +++++++++++++++++++++++++++++--------------
18133 1 file changed, 29 insertions(+), 14 deletions(-)
18135 commit 6ce200da9d01a85a1de576229e75732db65a8b70
18136 Author: Chris Wilson <chris@chris-wilson.co.uk>
18137 Date: Thu Sep 3 17:38:00 2009 +0100
18139 [gl] Assert that the error is impossible.
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.
18144 src/cairo-gl-surface.c | 4 ++--
18145 1 file changed, 2 insertions(+), 2 deletions(-)
18147 commit d3aeafb406da7bf69e9bf24e18a5975780a7a987
18148 Author: Chris Wilson <chris@chris-wilson.co.uk>
18149 Date: Thu Sep 3 17:32:28 2009 +0100
18151 [gl] Remove reference to depth_stencil_tex
18153 We no longer use a depth-stencil, so remove the vestigial reference.
18155 src/cairo-gl-private.h | 1 -
18156 src/cairo-gl-surface.c | 2 --
18157 2 files changed, 3 deletions(-)
18159 commit 316c1683ceb39eb652608adc360cb4da9c22256a
18160 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18161 Date: Thu Sep 3 21:38:31 2009 +0300
18163 [test] Fix the order of random points random-intersections-curves*.
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.
18169 test/random-intersections-curves-eo.c | 17 ++++++++++-------
18170 test/random-intersections-curves-nz.c | 17 ++++++++++-------
18171 2 files changed, 20 insertions(+), 14 deletions(-)
18173 commit 9e45673e197d0f43e296483cc6b5ca6df94e7f02
18174 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18175 Date: Thu Sep 3 19:18:07 2009 +0300
18177 [image] Check for out of bounds image surface sizes in constructors.
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
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(-)
18192 commit 12d0613210547b8a50dd7b21a12eb1485ee496b9
18193 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18194 Date: Thu Sep 3 17:54:49 2009 +0300
18196 [test] Allow tests to XFAIL by putting the cairo_t into an error state.
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
18204 test/cairo-test.c | 14 +++++++-------
18205 1 file changed, 7 insertions(+), 7 deletions(-)
18207 commit a76c36f2edd16d8e2b8f49e6409134aceab38a42
18208 Author: Chris Wilson <chris@chris-wilson.co.uk>
18209 Date: Thu Sep 3 14:29:20 2009 +0100
18211 [xlib] solid pictures should only be 1x1
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.
18218 src/cairo-xlib-surface.c | 2 +-
18219 1 file changed, 1 insertion(+), 1 deletion(-)
18221 commit df067be863bf714f22db0392ab29926edfa8e917
18222 Author: Chris Wilson <chris@chris-wilson.co.uk>
18223 Date: Thu Sep 3 08:45:40 2009 +0100
18225 [polygon] Compute the limit of the limits slightly more efficiently
18227 Initialize the bbox to the first limit, as frequently there will only be a
18228 single (or at least a small number) limit.
18230 src/cairo-polygon.c | 24 ++++++++++++------------
18231 1 file changed, 12 insertions(+), 12 deletions(-)
18233 commit a1bac73f24069990842fa8f31e776b4d2c72546e
18234 Author: Chris Wilson <chris@chris-wilson.co.uk>
18235 Date: Thu Sep 3 09:20:46 2009 +0100
18237 [boilerplate] Handle errors whilst creating GL surface
18239 boilerplate/cairo-boilerplate-gl.c | 11 ++++++-----
18240 src/cairo-glx-context.c | 16 ++++++++--------
18241 2 files changed, 14 insertions(+), 13 deletions(-)
18243 commit f1d284f9976d38f636c6791f11479ae75d7bd199
18244 Author: Chris Wilson <chris@chris-wilson.co.uk>
18245 Date: Thu Sep 3 01:00:59 2009 +0100
18247 [polygon] Fix discard with non-banded disjoint clip boxes
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
18254 src/cairo-polygon.c | 29 ++++++++++++++++++++++++-----
18255 src/cairo-types-private.h | 1 +
18256 2 files changed, 25 insertions(+), 5 deletions(-)
18258 commit a6dfdeec82ec34d88276fd0bb0ddcc94405d89f3
18259 Author: Chris Wilson <chris@chris-wilson.co.uk>
18260 Date: Thu Sep 3 00:59:21 2009 +0100
18262 [test] Add clip-disjoint
18264 Soeren found another bug (thanks Soeren!) in the clipping code - as
18265 reproduced by this test case.
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(+)
18274 commit ff6bc1e132836c68d4f538799c2cd26a2d9cace4
18275 Author: Chris Wilson <chris@chris-wilson.co.uk>
18276 Date: Wed Sep 2 21:22:33 2009 +0100
18278 [script] Always create a fallback font
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.
18285 util/cairo-script/cairo-script-operators.c | 46 ++++++++++++++++------------
18286 1 file changed, 27 insertions(+), 19 deletions(-)
18288 commit fcbb288e7cf2f5914c0d2b66ee6d81b694de6de6
18289 Author: Chris Wilson <chris@chris-wilson.co.uk>
18290 Date: Wed Sep 2 21:02:18 2009 +0100
18292 [script] Attempt to select a font if ! CAIRO_HAS_FT_FONT
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.
18299 util/cairo-script/cairo-script-operators.c | 106 ++++++++++++++++++++++++++++
18300 1 file changed, 106 insertions(+)
18302 commit 2c03dfa0b406565fca798214a842bac69b042017
18303 Author: Chris Wilson <chris@chris-wilson.co.uk>
18304 Date: Wed Sep 2 10:09:50 2009 +0100
18306 [boilerplate/test] Use numerical equality not string equality
18310 boilerplate/make-cairo-boilerplate-constructors.sh | 2 +-
18311 test/make-cairo-test-constructors.sh | 2 +-
18312 2 files changed, 2 insertions(+), 2 deletions(-)
18314 commit f5df38ca5efcbc0cd3cc18d9fb67df49ec4859f8
18315 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18316 Date: Wed Sep 2 04:38:52 2009 +0100
18318 [build] Fix typos in prototype warnings.
18320 The -Wstrict-prototypes and -Wmissing-prototypes warnings
18321 weren't actually in use due to typos.
18323 build/configure.ac.warnings | 2 +-
18324 1 file changed, 1 insertion(+), 1 deletion(-)
18326 commit c086b40a93057a6fd47d23c85c5026d6fe2f524a
18327 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18328 Date: Wed Sep 2 04:29:18 2009 +0100
18330 [build] Hush the Solaris compiler about enum abuse.
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.
18336 build/aclocal.cairo.m4 | 23 +++++++++++++++++++++--
18337 build/configure.ac.warnings | 6 ++++++
18338 2 files changed, 27 insertions(+), 2 deletions(-)
18340 commit f081a5ff554267eebecea4652bb483eea11d1484
18341 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18342 Date: Wed Sep 2 04:10:39 2009 +0100
18344 [build] Refine the -Wno-attribute test to check our use cases.
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.
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.
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(-)
18362 commit c87b366bfec4eeda2646b33cb8a33822a301456c
18363 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18364 Date: Wed Sep 2 04:09:46 2009 +0100
18366 [constructors] Guard against being called without any input files.
18368 The make-cairo-(test|boilerplate)-constructors scripts ought
18369 never to be called without arguments lest we are left constructorless.
18371 boilerplate/make-cairo-boilerplate-constructors.sh | 7 ++++++-
18372 test/make-cairo-test-constructors.sh | 7 ++++++-
18373 2 files changed, 12 insertions(+), 2 deletions(-)
18375 commit b509b548b1e3ac5a9e3de2f9652cd1973d295fa3
18376 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18377 Date: Fri Jul 24 09:12:10 2009 +0300
18379 [trace] Check for __builtin_return_address explicitly.
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.
18385 build/configure.ac.system | 12 ++++++++++++
18386 util/cairo-trace/trace.c | 2 +-
18387 2 files changed, 13 insertions(+), 1 deletion(-)
18389 commit 2b0e070f6a6bee415b1036fd149f0c41bcf87abb
18390 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18391 Date: Fri Jul 24 07:48:57 2009 +0300
18393 [trace] Replace an open coded test for matrix identity.
18395 The code has a _matrix_is_identity() function we can use
18396 instead of open coding the same test.
18398 util/cairo-trace/trace.c | 5 +----
18399 1 file changed, 1 insertion(+), 4 deletions(-)
18401 commit 70ea9e3ce1b0037999340e484e62d3a1484da41a
18402 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18403 Date: Fri Jul 24 07:46:20 2009 +0300
18405 [trace] Don't crash on unknown enums values.
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
18414 util/cairo-trace/trace.c | 313 +++++++++++++++++++++++++---------------------
18415 1 file changed, 172 insertions(+), 141 deletions(-)
18417 commit 174c2620c82a47d067ec7b5062a4f513155a0b1f
18418 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18419 Date: Fri Jul 24 07:42:57 2009 +0300
18421 [trace] Check for object stack underflow.
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.
18428 util/cairo-trace/trace.c | 26 ++++++++++++++++++++++++--
18429 1 file changed, 24 insertions(+), 2 deletions(-)
18431 commit bb480d235882d8e7d5748a3837f9b274a8b8ac86
18432 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18433 Date: Tue Jul 21 21:18:36 2009 +0300
18435 [NEWS] Thank the AuroraUX team for facilitating Solaris testing.
18438 1 file changed, 5 insertions(+)
18440 commit c64f6f8a15306cdcf5dd02480049b0f9112fd6ac
18441 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18442 Date: Fri Jun 26 16:54:11 2009 +0300
18444 [trace] Get the tracee program name from the environment.
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.
18450 util/cairo-trace/cairo-trace.in | 3 ++-
18451 util/cairo-trace/trace.c | 31 +++++++++++++++++++------------
18452 2 files changed, 21 insertions(+), 13 deletions(-)
18454 commit 17cdffafda04514f08e0f0f11d0a85b938282c38
18455 Author: Chris Wilson <chris@chris-wilson.co.uk>
18456 Date: Wed Sep 2 00:41:18 2009 +0100
18458 [xlib] Remove stray code
18460 Grr. Should have spotted this before pushing - remove the addition of the
18463 src/cairo-xlib-surface.c | 13 ++-----------
18464 1 file changed, 2 insertions(+), 11 deletions(-)
18466 commit 59c4fe93ee30c8182ae1a29267b9c08602e2f6c5
18467 Author: Chris Wilson <chris@chris-wilson.co.uk>
18468 Date: Wed Sep 2 00:34:37 2009 +0100
18470 [xlib] Eliminate GC clipping
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.
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(-)
18481 commit 075fc5666abe006c434bf7ec28d2d4f0226a1d3a
18482 Author: Chris Wilson <chris@chris-wilson.co.uk>
18483 Date: Wed Sep 2 00:33:22 2009 +0100
18485 [test] Add clip-image
18487 Exercise the XCopyArea() paths under clipping - whilst modifying that code
18488 I noticed that it was not being exercised by the test suite.
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(+)
18496 commit 7d1eb259f93d3f2f2e754b2b8b90cb88359b477d
18497 Author: Chris Wilson <chris@chris-wilson.co.uk>
18498 Date: Tue Sep 1 23:12:43 2009 +0100
18500 [xlib] Make xlib_display_t private and rename xlib_screen_info_t
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
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(-)
18519 commit b8ddd66cf6e0d16383580c3c3398343f577b89fd
18520 Author: Chris Wilson <chris@chris-wilson.co.uk>
18521 Date: Tue Sep 1 21:49:01 2009 +0100
18523 Revert "[freelist] Make _cairo_freepool_alloc_from_new_pool static inline."
18525 This reverts commit 5a3fa29b370816acb3a08d60e4031ed82c1e4c73 as it breaks
18526 the boilerplate when linking with gcc.
18528 src/cairo-freelist-private.h | 29 ++---------------------------
18529 src/cairo-freelist.c | 29 +++++++++++++++++++++++++++++
18530 2 files changed, 31 insertions(+), 27 deletions(-)
18532 commit 5a3fa29b370816acb3a08d60e4031ed82c1e4c73
18533 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18534 Date: Tue Sep 1 20:57:01 2009 +0100
18536 [freelist] Make _cairo_freepool_alloc_from_new_pool static inline.
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
18549 src/cairo-freelist-private.h | 29 +++++++++++++++++++++++++++--
18550 src/cairo-freelist.c | 29 -----------------------------
18551 2 files changed, 27 insertions(+), 31 deletions(-)
18553 commit 68c8eb955d6d16872c2fa488f0960b974611865d
18554 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18555 Date: Mon Aug 31 23:57:20 2009 +0100
18557 [wrapper] Avoid a void return gccism.
18559 Returning void using the pattern "return func_returning_void(...)"
18560 is a gccism not supported by Sun Studio 12.
18562 src/cairo-surface-wrapper.c | 2 +-
18563 1 file changed, 1 insertion(+), 1 deletion(-)
18565 commit 6ddab64025eacd5000fa295c86c0fddc469bdc5f
18566 Author: Chris Wilson <chris@chris-wilson.co.uk>
18567 Date: Tue Sep 1 20:25:53 2009 +0100
18569 [ps] Clip meta-surface to desired extents.
18571 Ensure that the meta surface does not extend beyond the operation by
18572 forcing a clip to the extents of the operation.
18574 Fixes test/device-offset and test/device-offset-positive
18576 src/cairo-ps-surface.c | 46 +++++++++++++++++++++++++++++++++++++++++++---
18577 1 file changed, 43 insertions(+), 3 deletions(-)
18579 commit 665f5829541703b29e33f80bebf579a17f47a892
18580 Author: Chris Wilson <chris@chris-wilson.co.uk>
18581 Date: Tue Sep 1 18:24:42 2009 +0100
18583 [ps/pdf] Trim patterns to operation extents
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.
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(-)
18598 commit c4c7db96750337076b953a4938afc7b5f16815fc
18599 Author: Chris Wilson <chris@chris-wilson.co.uk>
18600 Date: Tue Sep 1 14:59:36 2009 +0100
18602 [boilerplate] Use xlib as fallback reference for xcb
18604 And exercise RGB code-paths.
18606 boilerplate/cairo-boilerplate-xcb.c | 13 ++++++++++++-
18607 1 file changed, 12 insertions(+), 1 deletion(-)
18609 commit e7a118d3f82f2cbefb4a1529cc90f76ed7371ecc
18610 Author: Chris Wilson <chris@chris-wilson.co.uk>
18611 Date: Tue Sep 1 14:31:38 2009 +0100
18613 [path] Standalone header-compilation
18615 Hmm, TRUE/FALSE apparently weren't defined before use. Odd.
18617 src/cairo-path-fixed-private.h | 4 ++--
18618 1 file changed, 2 insertions(+), 2 deletions(-)
18620 commit 4f880deeabc36842b3b4b0d7ad16383db708cd42
18621 Author: Chris Wilson <chris@chris-wilson.co.uk>
18622 Date: Tue Sep 1 14:24:59 2009 +0100
18626 Add an impossible default condition to avoid a compiler warning. And tweak
18627 the code to avoid mismatching signed/unsigned comparisons.
18629 src/cairo-pdf-surface.c | 1 +
18630 src/cairo-xml-surface.c | 8 ++++----
18631 2 files changed, 5 insertions(+), 4 deletions(-)
18633 commit 1bcc3a3fa00445667adc47d4852237271c7eec0f
18634 Author: Chris Wilson <chris@chris-wilson.co.uk>
18635 Date: Tue Sep 1 14:24:06 2009 +0100
18637 [tee] Rename 'append' to 'add' and add symmetric 'remove'
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(-)
18645 commit af82670dd3bfdb661de5a01a6856ec01bdf80040
18646 Author: Chris Wilson <chris@chris-wilson.co.uk>
18647 Date: Tue Sep 1 13:31:52 2009 +0100
18649 [pattern] Remove unused hidden symbol for cairo_pattern_status()
18651 src/cairo-pattern.c | 9 ++++-----
18652 src/cairoint.h | 1 -
18653 2 files changed, 4 insertions(+), 6 deletions(-)
18655 commit aca1dff25967940c36caee26977512484f1720ac
18656 Author: Adrian Johnson <ajohnson@redneon.com>
18657 Date: Mon Aug 31 22:28:26 2009 +0930
18659 PDF: Ensure operator is selected before painting surface
18661 src/cairo-pdf-surface.c | 16 ++++++++--------
18662 1 file changed, 8 insertions(+), 8 deletions(-)
18664 commit a402bdbd32d3ffe4b564318e6dd83831328257b1
18665 Author: Adrian Johnson <ajohnson@redneon.com>
18666 Date: Mon Aug 31 22:15:57 2009 +0930
18668 PDF: Flush operators before writing to the PDF stream
18670 src/cairo-pdf-surface.c | 4 ++++
18671 1 file changed, 4 insertions(+)
18673 commit 119355b2a4d81c903720484adaeb7dea3929ca1f
18674 Author: Adrian Johnson <ajohnson@redneon.com>
18675 Date: Mon Aug 31 22:14:15 2009 +0930
18677 PDF: Reset alpha to 1.0 before painting a surface
18679 Fixes a test suite regression.
18681 src/cairo-pdf-surface.c | 8 +++++++-
18682 1 file changed, 7 insertions(+), 1 deletion(-)
18684 commit 20bd7d0edbb01a52bcc88bddcba4cc5237f3a673
18685 Author: Adrian Johnson <ajohnson@redneon.com>
18686 Date: Mon Aug 31 22:03:34 2009 +0930
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(-)
18703 commit 135912721f5791ad8eac773fd042c751122c8760
18704 Author: Adrian Johnson <ajohnson@redneon.com>
18705 Date: Sun Aug 30 23:58:53 2009 +0930
18707 PDF: Avoid using patterns when filling a surface with EXTEND_NONE
18709 The fill equivilant of the previous optimization.
18711 src/cairo-pdf-surface.c | 19 +++++++++++++++++++
18712 1 file changed, 19 insertions(+)
18714 commit 6512faeb9487dcc2d577b5fb3628cf7f13a25c0a
18715 Author: Adrian Johnson <ajohnson@redneon.com>
18716 Date: Sun Aug 30 23:38:17 2009 +0930
18718 PDF: Avoid using patterns when painting surfaces with EXTEND_NONE
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.
18725 src/cairo-pdf-surface.c | 58 +++++++++++++++++++++++++++++++++++++++++++++++
18726 1 file changed, 58 insertions(+)
18728 commit 26d568a9ada523793b2e5855678922894e438ef4
18729 Author: Adrian Johnson <ajohnson@redneon.com>
18730 Date: Sun Aug 30 23:50:53 2009 +0930
18732 PDF: Fix bug when when embedding surfaces
18734 src/cairo-pdf-surface.c | 3 ++-
18735 1 file changed, 2 insertions(+), 1 deletion(-)
18737 commit feaf38d0cdc5a79966d3a412b644705b0f38e75a
18738 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18739 Date: Mon Aug 31 16:25:08 2009 +0300
18741 [test] Use HAVE_FLOCKFILE instead of _POSIX_C_SOURCE.
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.
18747 test/cairo-test.c | 5 ++---
18748 1 file changed, 2 insertions(+), 3 deletions(-)
18750 commit 9bb469c51cf580e3ae18b21b3847488e8c4be051
18751 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18752 Date: Fri Jul 24 06:15:46 2009 +0300
18754 [trace] Use HAVE_FLOCKFILE/FUNLOCKFILE since configure test for them.
18756 The trace source was using the flockfile() and funlockfile()
18757 functions directly.
18759 util/cairo-trace/trace.c | 4 ++++
18760 1 file changed, 4 insertions(+)
18762 commit b5cf24a4fb0e48a0067c4b5a706890d4c1f3f1ae
18763 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
18764 Date: Fri Jun 26 20:06:40 2009 +0300
18766 [build] Remove duplicate invocation of AC_CHECK_HEADERS.
18768 The fenv.h stuff was checked twice.
18770 build/configure.ac.system | 3 ---
18771 1 file changed, 3 deletions(-)
18773 commit 3acccf0ea5ca1fde9cf6b91677588680a2644ee6
18774 Author: Chris Wilson <chris@chris-wilson.co.uk>
18775 Date: Sun Aug 30 12:33:40 2009 +0100
18777 [perf] Trim outliers from chart
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
18784 perf/cairo-perf-chart.c | 211 ++++++++++++++++++++++++++++++++++++++---------
18785 1 file changed, 172 insertions(+), 39 deletions(-)
18787 commit 687462be89fd0ddf6b5412f2cb7b4f7b1a80135c
18788 Author: Carlos Garcia Campos <carlosgc@gnome.org>
18789 Date: Sun Aug 30 12:07:28 2009 +0200
18791 [build] Fix a typo in configure.ac
18793 configure.ac | 2 +-
18794 1 file changed, 1 insertion(+), 1 deletion(-)
18796 commit a6bcb6260ec8982493ac3411436ec007b40e4501
18797 Author: Chris Wilson <chris@chris-wilson.co.uk>
18798 Date: Sun Aug 30 10:09:51 2009 +0100
18800 [bo-rectangular] Fix assertion failure with insertion sort
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.
18806 src/cairo-bentley-ottmann-rectangular.c | 4 ++++
18807 1 file changed, 4 insertions(+)
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
18814 Merge branch 'stroke-with-spans'
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
18831 xlib-rgba swfdec-youtube-0 11371.13 (11406.01 0.28%) -> 10450.00 (10461.84 0.66%): 1.09x speedup
18833 image-rgba firefox-talos-svg-0 73696.53 (73828.28 3.42%) -> 68324.30 (70269.79 1.36%): 1.08x speedup
18835 image-rgba swfdec-youtube-0 7843.08 (7873.89 2.57%) -> 7393.96 (7399.68 0.18%): 1.06x speedup
18837 xvfb-rgba swfdec-youtube-0 9627.25 (9634.43 0.16%) -> 9020.55 (9040.97 0.27%): 1.07x speedup
18841 xvfb-rgba gnome-terminal-vim-0 7695.12 (7697.87 0.44%) -> 8569.45 (8588.29 0.19%): 1.11x slowdown
18843 xvfb-rgba swfdec-giant-steps-0 3811.77 (3815.06 0.23%) -> 4246.67 (4569.17 3.52%): 1.11x slowdown
18845 image-rgba gvim-0 7150.90 (7181.96 29.36%) -> 14641.04 (14651.36 0.11%): 2.05x slowdown
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.
18856 commit a77f1933afebe28e0651906c96fd098cd8267a9f
18857 Author: Chris Wilson <chris@chris-wilson.co.uk>
18858 Date: Sat Aug 29 14:23:41 2009 +0100
18860 Use the more generic is_box when doing simple extent checks
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.
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(-)
18874 commit 0a548d08b5eae73a95fb41f41298c9c43379163e
18875 Author: Chris Wilson <chris@chris-wilson.co.uk>
18876 Date: Sat Aug 29 16:27:27 2009 +0100
18878 [clip] Correctly compute a geometric mask for a rectilinear + arbitrary
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
18884 src/cairo-clip.c | 47 ++++++++++++++++++++++++++++++++++++++---------
18885 1 file changed, 38 insertions(+), 9 deletions(-)
18887 commit 8a323d7c8998f308fc222d65badb1289e3f7fb54
18888 Author: Chris Wilson <chris@chris-wilson.co.uk>
18889 Date: Sat Aug 29 14:15:07 2009 +0100
18891 [clip] Apply surface offset when combining with clip mask
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
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 +---
18903 test/clip-stroke.xlib.ref.png | Bin 1563 -> 1490 bytes
18904 7 files changed, 56 insertions(+), 57 deletions(-)
18906 commit 21225a7163bc93d34d3e395c840faaba24046bb6
18907 Author: Chris Wilson <chris@chris-wilson.co.uk>
18908 Date: Sat Aug 29 12:08:12 2009 +0100
18910 [clip] Pass in destination offset for combining with clip-mask
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.
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(-)
18921 commit ac6c6fe1d39effd5b6b382f0f1199af824868ef4
18922 Author: Chris Wilson <chris@chris-wilson.co.uk>
18923 Date: Sat Aug 29 12:07:20 2009 +0100
18925 [test] Add rotated clip.
18927 Exercise a bug found in not offsetting the clip mask when combining with
18928 the composite mask.
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(+)
18938 commit c60280782dfac7de1abe3230a500c7c98735dc02
18939 Author: Chris Wilson <chris@chris-wilson.co.uk>
18940 Date: Sat Aug 29 09:59:36 2009 +0100
18942 [script] Implement invert
18944 Flesh out matrix inversion.
18946 util/cairo-script/cairo-script-operators.c | 26 +++++++++++++++++++++++++-
18947 1 file changed, 25 insertions(+), 1 deletion(-)
18949 commit 06ca0b1475caf709fdf32b10a891dfb3b47cc6b1
18950 Author: Damian Frank <damianf@ubuntu-vm.(none)>
18951 Date: Fri Aug 14 11:35:55 2009 -0500
18953 Fix build on systems with older Xrender headers.
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.
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(-)
18966 commit 17ef949b6aaa812dd566f1db016055f8e1913320
18967 Author: Damian Frank <damianf@ubuntu-vm.(none)>
18968 Date: Fri Aug 14 11:38:52 2009 -0500
18970 Rename cairo-script static func to avoid MinGW conflict
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
18976 util/cairo-script/cairo-script-operators.c | 4 ++--
18977 1 file changed, 2 insertions(+), 2 deletions(-)
18979 commit 3e7e0eacef650f1035cfbe15e306116ff711f99c
18980 Author: Chris Wilson <chris@chris-wilson.co.uk>
18981 Date: Sat Aug 29 17:07:41 2009 +0100
18983 Update reference images
18985 Refresh the test reference images to match the current output where
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(-)
19048 commit 155e10e632cb647df5c3d54a75975bc16591287d
19049 Author: Chris Wilson <chris@chris-wilson.co.uk>
19050 Date: Sat Aug 29 08:04:33 2009 +0100
19052 [script] Fix use of freed list
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
19058 src/cairo-script-surface.c | 2 +-
19059 1 file changed, 1 insertion(+), 1 deletion(-)
19061 commit 5393aa6d6c4676f20d316f3cd0a18bb497574e50
19062 Author: Chris Wilson <chris@chris-wilson.co.uk>
19063 Date: Sat Aug 29 08:02:52 2009 +0100
19065 [path] Return the canonical box.
19067 When returning the single box that represents a path, always return it
19068 consistently wound.
19070 src/cairo-path-fill.c | 32 --------------------------------
19071 src/cairo-path-fixed.c | 28 ++++++++++++++++++++++++----
19072 2 files changed, 24 insertions(+), 36 deletions(-)
19074 commit afea5eb79d2159fe9a5dc1a1a7b9445e40fbb474
19075 Author: Chris Wilson <chris@chris-wilson.co.uk>
19076 Date: Fri Aug 28 17:10:35 2009 +0100
19078 [scaled-font] Fix implementation-face refleak
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.
19083 src/cairo-scaled-font.c | 9 ++++++++-
19084 1 file changed, 8 insertions(+), 1 deletion(-)
19086 commit e5d44937f34d35606ad7f07415be7331cf146567
19087 Author: Chris Wilson <chris@chris-wilson.co.uk>
19088 Date: Fri Aug 28 17:09:54 2009 +0100
19090 [ft] Improve error path handling.
19092 Specifically check for an error during resolving the font and do not cache
19095 src/cairo-ft-font.c | 12 ++++++------
19096 1 file changed, 6 insertions(+), 6 deletions(-)
19098 commit e76856e6ee563affc0a273ed6eef865866802dec
19099 Author: Chris Wilson <chris@chris-wilson.co.uk>
19100 Date: Fri Aug 28 15:51:33 2009 +0100
19102 [scaled-font] Refleak on error path.
19104 Perform the destroy of the local font before returning along the error
19107 src/cairo-scaled-font.c | 9 ++++-----
19108 1 file changed, 4 insertions(+), 5 deletions(-)
19110 commit d7d6f75ed26bc3ea040c618442ba71c89633ac7b
19111 Author: Chris Wilson <chris@chris-wilson.co.uk>
19112 Date: Fri Aug 28 15:50:13 2009 +0100
19114 [clip] Fix refleak of previous clipping surfaces.
19116 When combining previous clip masks, we leaked a referenced due to not
19117 destroying the returned reference.
19119 src/cairo-clip.c | 9 ++++++---
19120 1 file changed, 6 insertions(+), 3 deletions(-)
19122 commit 52e5ce3a36ab1cd7da25056df7f12ac0b23e410d
19123 Author: Chris Wilson <chris@chris-wilson.co.uk>
19124 Date: Thu Aug 27 17:25:08 2009 +0100
19126 [test] Add clip-stroke
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
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(+)
19141 commit 20cdb99ae8ae0cc02193468e811b1b74b3f6d3b7
19142 Author: Chris Wilson <chris@chris-wilson.co.uk>
19143 Date: Thu Aug 27 16:21:30 2009 +0100
19145 [path-fixed] Distinguish cw and ccw boxes
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.
19152 src/cairo-path-fixed.c | 4 ++--
19153 1 file changed, 2 insertions(+), 2 deletions(-)
19155 commit 219d46a9ebc47f99fa8fe9c6e3f0aa440309f032
19156 Author: Chris Wilson <chris@chris-wilson.co.uk>
19157 Date: Thu Aug 27 14:45:24 2009 +0100
19159 [scaled-font] Eliminate intermediate path when tracing glyphs
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
19166 src/cairo-scaled-font.c | 51 ++++++++++++++++++++---------------------------
19167 1 file changed, 22 insertions(+), 29 deletions(-)
19169 commit 2e05922737d63289a3f124699359b8d385315cbd
19170 Author: Chris Wilson <chris@chris-wilson.co.uk>
19171 Date: Thu Aug 27 13:58:43 2009 +0100
19173 [stroke] Handle degenerate stroke extents
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.
19180 src/cairo-path-bounds.c | 31 +++++++++++++------------------
19181 1 file changed, 13 insertions(+), 18 deletions(-)
19183 commit cfd78393f357bc69233d4d00d0fb3a2ff736f1a7
19184 Author: Chris Wilson <chris@chris-wilson.co.uk>
19185 Date: Wed Aug 26 23:32:34 2009 +0100
19187 [path] Handle the implicit close for path_fixed_is_box()
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).
19193 src/cairo-path-fixed.c | 33 ++++++++++++++++++---------------
19194 1 file changed, 18 insertions(+), 15 deletions(-)
19196 commit f22045bb4b9e700ce223c259ad41403dc7efe81f
19197 Author: Chris Wilson <chris@chris-wilson.co.uk>
19198 Date: Wed Aug 26 23:30:02 2009 +0100
19200 [fallback] Include implicit closes in the check for rectilinear paths
19202 Fixes test/implicit-close
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.
19208 src/cairo-path-fixed-private.h | 14 ++++++++++++++
19209 src/cairo-surface-fallback.c | 6 ++++--
19210 2 files changed, 18 insertions(+), 2 deletions(-)
19212 commit 92f6f275fcb5407baf908485ffd08b6787b2caf9
19213 Author: Chris Wilson <chris@chris-wilson.co.uk>
19214 Date: Wed Aug 26 23:27:46 2009 +0100
19216 [test] Implicit close
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.
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(+)
19228 commit 8078cd194e95a10cf653c970d1ddd39049a511f2
19229 Author: Chris Wilson <chris@chris-wilson.co.uk>
19230 Date: Sun Aug 23 15:25:42 2009 +0100
19232 [boilerplate] Runtime library check
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.
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(-)
19263 commit 7447915381fc64bd0c66f7110c1dd0b8a10d73f5
19264 Author: Chris Wilson <chris@chris-wilson.co.uk>
19265 Date: Sat Aug 22 22:20:35 2009 +0100
19267 [script] Conditionalise the build
19269 Allow the interpreter to be disabled if we can not satisfy its dependencies.
19271 configure.ac | 2 ++
19272 util/Makefile.am | 11 +++++++++--
19273 util/cairo-script/Makefile.am | 2 +-
19274 3 files changed, 12 insertions(+), 3 deletions(-)
19276 commit fcda9fc2f29c2ee7d0bb45c17a2261badfdf430c
19277 Author: Chris Wilson <chris@chris-wilson.co.uk>
19278 Date: Sat Aug 22 18:48:33 2009 +0100
19280 [scaled-font] Remove assert from cairo_scled_font_create()
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.
19286 src/cairo-scaled-font.c | 5 ++++-
19287 1 file changed, 4 insertions(+), 1 deletion(-)
19289 commit 93cfa7376fb505e676d113e8ef431bab9b497f56
19290 Author: Chris Wilson <chris@chris-wilson.co.uk>
19291 Date: Sat Aug 22 18:45:54 2009 +0100
19293 [win32] Use the system scaled_font_done
19295 Pointless as both functions are empty, but lets be pedantically correct
19298 src/cairo-win32-font.c | 5 ++++-
19299 1 file changed, 4 insertions(+), 1 deletion(-)
19301 commit 8654a4b35c060ab06860c124a643be912060c4a1
19302 Author: Chris Wilson <chris@chris-wilson.co.uk>
19303 Date: Sat Aug 22 18:16:20 2009 +0100
19305 [win32] Initialize clip_region
19307 Eek, I attempted to destroy an uninitialised region on the first use
19310 src/cairo-win32-surface.c | 3 +++
19311 1 file changed, 3 insertions(+)
19313 commit 9b33a2e1c794996cbe4cb0a5c773d50566d46bd4
19314 Author: Chris Wilson <chris@chris-wilson.co.uk>
19315 Date: Sat Aug 22 17:40:12 2009 +0100
19317 [win32] Compiler warnings
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.)
19323 src/cairo-win32-printing-surface.c | 24 ++++++++++++------------
19324 1 file changed, 12 insertions(+), 12 deletions(-)
19326 commit d1740d8782d90edb5b5e20dc5bcadb7a9eeeb4cc
19327 Author: Chris Wilson <chris@chris-wilson.co.uk>
19328 Date: Thu Aug 20 21:11:11 2009 +0100
19330 [pattern] Ensure that no repeated pattern is clipped
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.
19336 src/cairo-pattern.c | 2 +-
19337 1 file changed, 1 insertion(+), 1 deletion(-)
19339 commit 958f7ab1238b8242975d3ea774c26d23e090e70c
19340 Author: Chris Wilson <chris@chris-wilson.co.uk>
19341 Date: Wed Aug 19 12:35:00 2009 +0100
19343 [script] Support running on cairo-1.8
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
19348 util/cairo-script/cairo-script-operators.c | 18 +++++++++++++++---
19349 1 file changed, 15 insertions(+), 3 deletions(-)
19351 commit 87175334a574fa0f69679b1a0baeeb881eaa439b
19352 Author: Chris Wilson <chris@chris-wilson.co.uk>
19353 Date: Fri Aug 21 15:51:12 2009 +0100
19355 [gl] Use spans for trapezois.
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.
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(-)
19370 commit e65dfacab5d123913a4b2f59967f27c0b0af0692
19371 Author: Chris Wilson <chris@chris-wilson.co.uk>
19372 Date: Fri Aug 21 15:50:24 2009 +0100
19374 [gl] Simplify acquire_dest_image()
19376 Remove redundant code: the intersection of surface extents and the copy to
19377 a temporary buffer.
19379 src/cairo-gl-surface.c | 53 +++++++++++-------------------------------------
19380 1 file changed, 12 insertions(+), 41 deletions(-)
19382 commit 5a13396373180ceae31287441ef9c838c771849d
19383 Author: Chris Wilson <chris@chris-wilson.co.uk>
19384 Date: Fri Aug 21 15:48:38 2009 +0100
19386 [gl] Use common ARRAY_LENGTH macro
19388 Forgo the local ARRAY_SIZE macro where the common one will suffice.
19390 src/cairo-gl-surface.c | 4 +---
19391 1 file changed, 1 insertion(+), 3 deletions(-)
19393 commit efdb53425ee71b3bce6c92ce212f5baf3e2a43d7
19394 Author: Chris Wilson <chris@chris-wilson.co.uk>
19395 Date: Fri Aug 21 11:58:31 2009 +0100
19397 [qt] Discard impossible status return from path construction
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
19403 src/cairo-qt-surface.cpp | 105 +++++++++++++++++++---------------------------
19404 1 file changed, 42 insertions(+), 63 deletions(-)
19406 commit f2cde41cabaa0c190ef965f634cf2c73b6ba2334
19407 Author: Chris Wilson <chris@chris-wilson.co.uk>
19408 Date: Fri Aug 21 10:29:39 2009 +0100
19410 [cairoint.h] Add missing cairo_private to debug prototypes.
19412 src/cairoint.h | 4 ++--
19413 1 file changed, 2 insertions(+), 2 deletions(-)
19415 commit b6d96bba8a4e9efe1033dd7fc875aba9bd8d0dc8
19416 Author: Chris Wilson <chris@chris-wilson.co.uk>
19417 Date: Thu Aug 20 20:31:49 2009 +0100
19419 [win32] Trust the clipping code to trim roi to our surface
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
19428 Hopefully this resolves the assertion failure reported by Damian Frank,
19429 http://lists.cairographics.org/archives/cairo/2009-August/018015.html
19431 CC: Damian Frank <damian.frank@gmail.com>
19433 src/cairo-win32-surface.c | 53 ++++++++-------------------------------------
19434 1 file changed, 9 insertions(+), 44 deletions(-)
19436 commit d7faec024ac9f702c9bb305599ef8960a972491a
19437 Author: Vladimir Vukicevic <vladimir@pobox.com>
19438 Date: Mon Jun 15 11:15:22 2009 +0100
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.
19447 [updated by Chris Wilson]
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 +++
19463 14 files changed, 1363 insertions(+), 1 deletion(-)
19465 commit af6df4af51ad75a956e3b73542647206ab534bd2
19466 Author: Chris Wilson <chris@chris-wilson.co.uk>
19467 Date: Thu Aug 20 12:54:12 2009 +0100
19469 [configure] Choose a better name for the 'temporary' egl iterator
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.
19474 configure.ac | 12 ++++++++++--
19475 1 file changed, 10 insertions(+), 2 deletions(-)
19477 commit 83c2f44dd954cb491d72834d0362d6d801ef7651
19478 Author: Chris Wilson <chris@chris-wilson.co.uk>
19479 Date: Thu Aug 20 12:16:55 2009 +0100
19481 [test] Update REFERENCE_IMAGES
19483 test/Makefile.am | 5 ++---
19484 1 file changed, 2 insertions(+), 3 deletions(-)
19486 commit f99e1841448e98be6161be57551153a6d9e28a13
19487 Author: Chris Wilson <chris@chris-wilson.co.uk>
19488 Date: Thu Aug 20 12:11:51 2009 +0100
19490 [build] Remove -Wcast-align
19492 Use -Wcast-align simply generates too much noise due to false-positive
19493 reports when casting pixels to uint32_t.
19495 build/configure.ac.warnings | 5 ++++-
19496 1 file changed, 4 insertions(+), 1 deletion(-)
19498 commit 5fdf5b311e06e49843e924523e9bc91ba14da3bb
19499 Author: Chris Wilson <chris@chris-wilson.co.uk>
19500 Date: Wed Aug 19 08:35:01 2009 +0100
19502 [fallback] Reduce paint + clipmask to fill
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).
19509 src/cairo-surface-fallback.c | 26 +++++++++++++++++---------
19510 1 file changed, 17 insertions(+), 9 deletions(-)
19512 commit 425b0e35e2d7d44d99e22169b98fc3ca05763650
19513 Author: Chris Wilson <chris@chris-wilson.co.uk>
19514 Date: Tue Aug 18 14:25:25 2009 +0100
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.
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 +
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 ++
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(-)
19544 commit 6e0b3be903a6c3ad948de95f490cff92430429a6
19545 Author: Chris Wilson <chris@chris-wilson.co.uk>
19546 Date: Tue Aug 18 10:55:54 2009 +0100
19548 Add cairo-sphinx utility for regression analysis
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.
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(+)
19564 commit c980affce05590f5f52273ba340463f00773c776
19565 Author: Chris Wilson <chris@chris-wilson.co.uk>
19566 Date: Tue Aug 18 10:54:26 2009 +0100
19568 [script] Apply device offset when replaying meta surface
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.
19574 src/cairo-script-surface.c | 2 ++
19575 1 file changed, 2 insertions(+)
19577 commit eb33f842dc9a2555ba8f7948f49a8335db951959
19578 Author: Chris Wilson <chris@chris-wilson.co.uk>
19579 Date: Mon Aug 17 11:38:52 2009 +0100
19581 [meta] Missing status check
19583 We need to check the status on the created image before use.
19585 src/cairo-meta-surface.c | 2 ++
19586 1 file changed, 2 insertions(+)
19588 commit ce6a2cc5d2cb8a299759d764de2e7d2b6b655cb4
19589 Author: Chris Wilson <chris@chris-wilson.co.uk>
19590 Date: Mon Aug 17 10:31:47 2009 +0100
19592 [wrapper] Always copy clip
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.
19597 src/cairo-surface-wrapper.c | 60 +++++++++++++++++++++++++++++++------------
19598 1 file changed, 44 insertions(+), 16 deletions(-)
19600 commit 6ff711b6305a9cf65e584d92258a6fa4e78c31ef
19601 Author: Chris Wilson <chris@chris-wilson.co.uk>
19602 Date: Mon Aug 17 10:11:32 2009 +0100
19604 [matrix] Improve bbox finding for translation matrix
19606 If the matrix is a pure translation matrix than we can skip determination
19607 of the extents and just translate the input bbox.
19609 src/cairo-matrix.c | 56 +++++++++++++++++++++++++++-------------------------
19610 1 file changed, 29 insertions(+), 27 deletions(-)
19612 commit cd7b27ff5c01a533c2c065c4b455ad19df2be3bb
19613 Author: Chris Wilson <chris@chris-wilson.co.uk>
19614 Date: Sun Aug 16 21:08:22 2009 +0100
19616 Add 'flight-data-recorder' utility.
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.
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.
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 +
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(-)
19637 commit 658cdc7c9aac23f82f3ea5db8df10844aeb3ac75
19638 Author: Chris Wilson <chris@chris-wilson.co.uk>
19639 Date: Sun Aug 16 18:04:54 2009 +0100
19641 Introduce cairo_tee_surface_t
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
19648 boilerplate/Makefile.win32.features | 8 +
19649 build/Makefile.win32.features-h | 1 +
19650 build/configure.ac.features | 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(-)
19662 commit 4ae7186719b25f052b875549cc5377e16a557512
19663 Author: Chris Wilson <chris@chris-wilson.co.uk>
19664 Date: Sun Aug 16 17:07:00 2009 +0100
19666 [script] Correct emission of get_target() for a popped context
19668 If the context is no longer on the operand stack, then we need to recall
19669 the surface via a definition.
19671 src/cairo-script-surface.c | 53 ++++++++++++++++++++++++++------------------
19672 1 file changed, 32 insertions(+), 21 deletions(-)
19674 commit 8d1bf830c0137eac837091bda92a636c0fcb0456
19675 Author: Chris Wilson <chris@chris-wilson.co.uk>
19676 Date: Sun Aug 16 14:20:35 2009 +0100
19678 Fix errors found by clang
19680 Shadowed variables, unused writes and some dead code.
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(-)
19689 commit d8dbce021a4493330864154e67ca6e4a1f2f50b2
19690 Author: Chris Wilson <chris@chris-wilson.co.uk>
19691 Date: Sun Aug 16 13:26:59 2009 +0100
19693 [script] recursive active (type3 glyphs)
19695 The assumption that an active surface could not recurse into another
19696 operation was invalid - due to the complexity of handling type3 glyphs.
19698 src/cairo-script-surface.c | 11 +++++------
19699 1 file changed, 5 insertions(+), 6 deletions(-)
19701 commit eba6b5126a55c84706e677b3fc88743f64cc28d7
19702 Author: Chris Wilson <chris@chris-wilson.co.uk>
19703 Date: Sun Aug 16 12:47:14 2009 +0100
19705 [build] Add options for warning about bad casts
19707 -Wbad-function-cast in particular. Triggers quite a few warnings where we
19708 have explicitly cast to an integer.
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(-)
19720 commit 33ef32af4e7adce41f035ee378279c19577469b0
19721 Author: Chris Wilson <chris@chris-wilson.co.uk>
19722 Date: Sun Aug 16 12:46:20 2009 +0100
19724 [clip] Use the rectangular tessellator to extract boxes
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(-)
19731 commit ab035ab2c7bec254fc94d6391398905b5039e777
19732 Author: Chris Wilson <chris@chris-wilson.co.uk>
19733 Date: Fri Aug 28 10:06:04 2009 +0100
19735 [tessellate] Rectangular special case
19737 Add an even simpler sweep-line tessellator for rectangular trapezoids (as
19738 produced by the rectilinear stoker and box filler).
19740 This is so simple it even outperforms pixman's region validation code for the
19741 purposes of path-to-region conversion.
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(-)
19753 commit d7b0c3b784faba756b10b66b9757e6e4c3fce38c
19754 Author: Chris Wilson <chris@chris-wilson.co.uk>
19755 Date: Thu Aug 13 22:03:06 2009 +0100
19757 [script] Track scaled-font
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.
19762 src/cairo-script-surface.c | 39 ++++++++++++++++++++++-----------------
19763 1 file changed, 22 insertions(+), 17 deletions(-)
19765 commit 7306305cc898c9f27957c6c6717028cbdcff6a5a
19766 Author: Chris Wilson <chris@chris-wilson.co.uk>
19767 Date: Thu Aug 13 21:59:12 2009 +0100
19769 [script] Emit surface content
19771 Include the desired content with the creation info.
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(-)
19779 commit 052211b072788f0977dccebdcf681d4874f2487a
19780 Author: Chris Wilson <chris@chris-wilson.co.uk>
19781 Date: Thu Aug 13 20:16:51 2009 +0100
19783 [script] Garbage collect contexts on context switch
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.
19792 src/cairo-script-surface.c | 262 +++++++++++++++++++++++++++++++-------------
19793 1 file changed, 184 insertions(+), 78 deletions(-)
19795 commit 8f8b91d9049433c9210e0b3aad574cf659862ae0
19796 Author: Chris Wilson <chris@chris-wilson.co.uk>
19797 Date: Thu Aug 13 18:37:01 2009 +0100
19799 [script] Wrap snapshot.
19801 Use the snapshot of our target surface if available.
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(-)
19808 commit fee647c98506eedad0fea667a9442786cb0804b7
19809 Author: Chris Wilson <chris@chris-wilson.co.uk>
19810 Date: Thu Aug 13 18:35:48 2009 +0100
19812 [script] Read from a FILE stream
19814 For ease of implementing the interpreter inside a pipeline, add a method
19815 to execute a FILE *.
19817 util/cairo-script/cairo-script-interpreter.c | 22 ++++++++++++++++++++++
19818 util/cairo-script/cairo-script-interpreter.h | 4 ++++
19819 2 files changed, 26 insertions(+)
19821 commit a9d997fecd54cea7dcd71487a24dbae14d0073a8
19822 Author: Chris Wilson <chris@chris-wilson.co.uk>
19823 Date: Thu Aug 13 17:21:05 2009 +0100
19825 [script] Introduce cairo_script_context_t
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.
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(-)
19840 commit 28887ac272c8a36a41da4d6d58044164b94da6f3
19841 Author: Chris Wilson <chris@chris-wilson.co.uk>
19842 Date: Thu Aug 13 16:38:08 2009 +0100
19844 [trace] Fix emission of similar (track operands)
19846 util/cairo-trace/trace.c | 13 ++++++-------
19847 1 file changed, 6 insertions(+), 7 deletions(-)
19849 commit dbd9438f5d01666ea118254427c0dc66a519ec3e
19850 Author: Chris Wilson <chris@chris-wilson.co.uk>
19851 Date: Thu Aug 13 15:57:30 2009 +0100
19853 [stroke] Only mark traps as having intersection if non-empty.
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
19860 src/cairo-path-stroke.c | 5 ++---
19861 1 file changed, 2 insertions(+), 3 deletions(-)
19863 commit 60d73da9f2e148e982254c78773f0b925be184ff
19864 Author: Chris Wilson <chris@chris-wilson.co.uk>
19865 Date: Mon Aug 24 08:04:12 2009 +0100
19867 [clip] Cache intermediate clip masks.
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...)
19875 src/cairo-clip.c | 165 +++++++++++++++++++++++++++++++++---------------------
19876 src/cairoint.h | 3 +
19877 2 files changed, 104 insertions(+), 64 deletions(-)
19879 commit 50c7d637f3a97031c5f4e2bc8d41d17e5397db45
19880 Author: Chris Wilson <chris@chris-wilson.co.uk>
19881 Date: Thu Aug 13 15:49:11 2009 +0100
19883 [trace] Emit an 'index' for an undefined surface
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.
19890 util/cairo-trace/trace.c | 21 ++++++++++-----------
19891 1 file changed, 10 insertions(+), 11 deletions(-)
19893 commit 3a483c2896c28142a90bd0e282af3862e066adfe
19894 Author: Chris Wilson <chris@chris-wilson.co.uk>
19895 Date: Thu Aug 13 00:19:03 2009 +0100
19897 [gstate] Convert simple mask() into a paint()
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.
19906 src/cairo-gstate.c | 101 +++++++++++++++++++++++++++++++++++++++++++++++-----
19907 src/cairoint.h | 9 ++---
19908 2 files changed, 98 insertions(+), 12 deletions(-)
19910 commit e2c31183e96f84e7d40a9e5e2b6b8802d47628d0
19911 Author: Chris Wilson <chris@chris-wilson.co.uk>
19912 Date: Tue Aug 11 23:45:30 2009 +0100
19914 [script] Handle zero-length strings
19916 Not sure where the zero length string is coming from, but we should
19917 nevertheless handle it.
19919 util/cairo-script/cairo-script-scanner.c | 3 ++-
19920 1 file changed, 2 insertions(+), 1 deletion(-)
19922 commit 4c215162d24453788b3a461aa47ccf2e638db35e
19923 Author: Chris Wilson <chris@chris-wilson.co.uk>
19924 Date: Tue Aug 11 23:40:54 2009 +0100
19926 [script] Off-by-one in allocation of string length.
19928 We need pass in the real number of bytes in the string, excluding the NUL
19929 terminator which is already accounted for.
19931 util/cairo-script/cairo-script-scanner.c | 2 +-
19932 1 file changed, 1 insertion(+), 1 deletion(-)
19934 commit 55eddb7ef4b6b561d6692a6f074834d5d5fb94fa
19935 Author: Chris Wilson <chris@chris-wilson.co.uk>
19936 Date: Tue Aug 11 23:40:04 2009 +0100
19938 [script] A little utility to convert a trace into a trace
19940 Replay the trace using the interpreter onto a script surface - useful for
19941 checking idempotency.
19943 util/cairo-script/Makefile.am | 6 ++++++
19944 util/cairo-script/csi-trace.c | 40 ++++++++++++++++++++++++++++++++++++++++
19945 2 files changed, 46 insertions(+)
19947 commit 4f129863df6392f3deaf6e76fd15adeba98e41b8
19948 Author: Chris Wilson <chris@chris-wilson.co.uk>
19949 Date: Tue Aug 11 23:38:42 2009 +0100
19951 [script] Store the current stroke matrix
19953 We can skip re-emitting stroke parameters if the values are unchanged and
19954 the scaling matrix is unaltered.
19956 src/cairo-script-surface.c | 46 +++++++++++++++++++++++++++++++++++---------
19957 1 file changed, 37 insertions(+), 9 deletions(-)
19959 commit 858211f3944507362b2a18d56a65e9a478ccd305
19960 Author: Chris Wilson <chris@chris-wilson.co.uk>
19961 Date: Tue Aug 11 22:43:31 2009 +0100
19963 [script] Suppress resetting stroke-style elements after matrix switch
19965 If the user is just using the default values, there is no point re-emitting
19968 src/cairo-script-surface.c | 42 ++++++++++++++++++++++++++----------------
19969 1 file changed, 26 insertions(+), 16 deletions(-)
19971 commit b6db3053dcde99e26471fdeaedcadd4a6f93b5ef
19972 Author: Chris Wilson <chris@chris-wilson.co.uk>
19973 Date: Tue Aug 11 22:30:58 2009 +0100
19975 [script] Hide the implicit CLEAR for similar surfaces
19977 Do emit the clear that is performed by the surface layer on similar
19980 src/cairo-script-surface.c | 43 +++++++++++++++++++++++++++++++++++++++++++
19981 1 file changed, 43 insertions(+)
19983 commit 005b195f062d896d76a87d608ce313b169f99201
19984 Author: Chris Wilson <chris@chris-wilson.co.uk>
19985 Date: Tue Aug 11 22:07:12 2009 +0100
19987 [pattern] Ignore matrix/filter/extend when comparing solids
19989 Solid patterns do not use their matrices, filter or extend properties so
19990 ignore them for the purposes of comparing and hashing.
19992 src/cairo-pattern.c | 25 ++++++++++++++++---------
19993 1 file changed, 16 insertions(+), 9 deletions(-)
19995 commit bb919584c0054bb3e3c547f65c91cfe48302ac86
19996 Author: Chris Wilson <chris@chris-wilson.co.uk>
19997 Date: Tue Aug 11 21:40:37 2009 +0100
19999 [script] Use a compact representation for horizontal offsets between glyphs
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.
20006 src/cairo-script-surface.c | 56 +++++++++++++++++++---------
20007 util/cairo-script/cairo-script-operators.c | 22 ++++++++---
20008 2 files changed, 55 insertions(+), 23 deletions(-)
20010 commit cbee97f0e3e784b4482429790fc3f42c81908557
20011 Author: Chris Wilson <chris@chris-wilson.co.uk>
20012 Date: Tue Aug 11 21:26:11 2009 +0100
20014 [script] Preserve '{}' whilst translating
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(-)
20020 commit 24b23200025166e8343425f77a53bedd08790367
20021 Author: Chris Wilson <chris@chris-wilson.co.uk>
20022 Date: Tue Aug 11 21:12:59 2009 +0100
20024 [script] Fix list handling during font destruction
20026 Use cairo_list to unhook the font correctly during the fini callback.
20028 src/cairo-script-surface.c | 33 +++++++++++++--------------------
20029 1 file changed, 13 insertions(+), 20 deletions(-)
20031 commit 4032438625819cfa5d1928d653f404364529a2e1
20032 Author: Chris Wilson <chris@chris-wilson.co.uk>
20033 Date: Tue Aug 11 17:02:41 2009 +0100
20035 [path] Eliminate redundant line-to before a close
20037 As the close implicitly issues a line-to to the initial point, remove an
20038 identical line-to if present.
20040 src/cairo-path-fixed.c | 22 ++++++++++++++++++++++
20041 1 file changed, 22 insertions(+)
20043 commit 111f2be71b1e51fac551fd9214d13899a8ec7909
20044 Author: Chris Wilson <chris@chris-wilson.co.uk>
20045 Date: Tue Aug 11 17:01:50 2009 +0100
20047 [path] Discard redundant line-to
20049 Eliminate repeated line-to to the current point.
20051 src/cairo-path-fixed.c | 49 +++++++++++++++++++++++++++---------------------
20052 1 file changed, 28 insertions(+), 21 deletions(-)
20054 commit a2d5f59e2158651ac85dcc8a2b8f49cd2861044e
20055 Author: Chris Wilson <chris@chris-wilson.co.uk>
20056 Date: Tue Aug 11 17:01:07 2009 +0100
20058 [debug] Path printer
20060 src/cairo-debug.c | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++
20061 src/cairoint.h | 3 +++
20062 2 files changed, 70 insertions(+)
20064 commit 4bf96bad9697cbe67907df69d40f46d8d7f24325
20065 Author: Chris Wilson <chris@chris-wilson.co.uk>
20066 Date: Tue Aug 11 15:37:35 2009 +0100
20068 [fill] Use trivial rectilinear_to_traps
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.
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(+)
20078 commit 30e5fa0ce06b2572f09f3d47ee10b692f18ba0ae
20079 Author: Chris Wilson <chris@chris-wilson.co.uk>
20080 Date: Tue Aug 11 15:36:11 2009 +0100
20082 [polygon] Return status from path ops
20084 This tidies the common case which was to call, for example,
20085 _cairo_polygon_line_to(); _cairo_polygon_status();
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(-)
20092 commit 3fcac1ef21de9526bc1abca902db5755abe463ae
20093 Author: Chris Wilson <chris@chris-wilson.co.uk>
20094 Date: Tue Aug 11 13:43:32 2009 +0100
20096 [slope] Inline _cairo_slope_init()
20098 Move the definition to a separate header file and allow callers to inline
20099 the simple function.
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(-)
20114 commit a1e0c4b30980d624bb3e015b7dcf39b4a2ef8c56
20115 Author: Chris Wilson <chris@chris-wilson.co.uk>
20116 Date: Tue Aug 11 13:34:29 2009 +0100
20118 [clip] Combine directly onto target
20120 Where it is unlikely that we will reuse the temporary clip surface,
20121 combine the clip directly with the mask.
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(-)
20128 commit 3f12d9ec5db1ac372742c3c03408bdaeaffdc1e4
20129 Author: Chris Wilson <chris@chris-wilson.co.uk>
20130 Date: Fri Aug 28 10:05:52 2009 +0100
20132 [clip] Use geometric clipping for unaligned clips
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
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(-)
20152 commit 2457c4bedef0447f7bff9b54dba96126010917ac
20153 Author: Chris Wilson <chris@chris-wilson.co.uk>
20154 Date: Mon Aug 10 14:48:03 2009 +0100
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
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(-)
20169 commit 3023330706b1237b0fbd697d015cad9a23c250b7
20170 Author: Chris Wilson <chris@chris-wilson.co.uk>
20171 Date: Mon Aug 10 10:57:41 2009 +0100
20173 [fill] Early check for empty path/polygon
20175 src/cairo-path-fill.c | 5 ++++-
20176 1 file changed, 4 insertions(+), 1 deletion(-)
20178 commit 9ba37a85d2f6c033d68eb547be6c63382164519e
20179 Author: Chris Wilson <chris@chris-wilson.co.uk>
20180 Date: Mon Aug 10 10:57:01 2009 +0100
20182 [gstate] Discard trivial all-clipped regions
20184 Avoid assertion failures later that we have a valid region.
20186 src/cairo-gstate.c | 8 ++++++--
20187 1 file changed, 6 insertions(+), 2 deletions(-)
20189 commit 85094c4eee4e50ec724bf1bb54ecff6f7c1014bf
20190 Author: Chris Wilson <chris@chris-wilson.co.uk>
20191 Date: Mon Aug 24 07:06:32 2009 +0100
20193 [clip] Eliminate redundant clips
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.
20199 This causes a dramatic increase of over 13x for the poppler-bug-12266
20200 trace and little impact elsewhere for more sensible clippers.
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(-)
20209 commit ff0ca6d02a2e8901e9cfca31326c3fdc16e77e2f
20210 Author: Chris Wilson <chris@chris-wilson.co.uk>
20211 Date: Wed Aug 5 17:54:48 2009 +0100
20213 [test] Stress the intersection handling by feeding spans/traps random curves
20215 Another stress test for the fill/stroke and intersection finders.
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(+)
20233 commit 6dfe050d6360409161418d853df3d7d7dfb216af
20234 Author: Chris Wilson <chris@chris-wilson.co.uk>
20235 Date: Tue Aug 4 15:32:25 2009 +0100
20237 [polygon] Amalgamate collinear edges
20239 Combine sequential collinear edges into a single edge, this benefits
20240 immensely by feeding fewer edges into either the tessellator or spans.
20242 src/cairo-polygon.c | 58 +++++++++++++++++++++++++++++++++++++++------
20243 src/cairo-types-private.h | 3 +++
20244 2 files changed, 54 insertions(+), 7 deletions(-)
20246 commit dc886450ac7c04252cff77729e0653c6ea2768db
20247 Author: Chris Wilson <chris@chris-wilson.co.uk>
20248 Date: Tue Aug 4 13:14:38 2009 +0100
20250 [util] Show total edge length in show-edges
20252 util/show-edges.c | 54 ++++++++++++++++++++++++++++++++++++++++++-----------
20253 1 file changed, 43 insertions(+), 11 deletions(-)
20255 commit 0f8af054841c2d6dfe4bfeb3d13a7bab0cfbe2f3
20256 Author: Chris Wilson <chris@chris-wilson.co.uk>
20257 Date: Mon Aug 3 08:27:01 2009 +0100
20259 [fallback] Avoid tessellating empty polygons
20261 I added an assert inside the tessellator to ensure that empty polygon were
20262 not being propagated that far...
20264 src/cairo-surface-fallback.c | 10 ++++++++--
20265 1 file changed, 8 insertions(+), 2 deletions(-)
20267 commit 09377a716334df3683912747067cd396768cfab6
20268 Author: Chris Wilson <chris@chris-wilson.co.uk>
20269 Date: Sun Aug 2 13:09:30 2009 +0100
20271 [freelist] Lazy initialisation of pools
20273 src/cairo-freelist-private.h | 31 +++++++++++++++--
20274 src/cairo-freelist.c | 75 ++++++++++++++++--------------------------
20275 2 files changed, 56 insertions(+), 50 deletions(-)
20277 commit 6f0340e2e5079eba597c0a3a7d39da21cf2b5e7a
20278 Author: Chris Wilson <chris@chris-wilson.co.uk>
20279 Date: Wed Jul 29 21:47:11 2009 +0100
20281 [clip] Use the rectilinear tessellator
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.
20288 src/cairo-clip.c | 9 ++----
20289 src/cairo-path-fill.c | 79 +++++++++++++++++++++++++++++++++++++++----------
20290 2 files changed, 66 insertions(+), 22 deletions(-)
20292 commit e3820bef20fdd77ab804b9832f47dc286e4887c4
20293 Author: Chris Wilson <chris@chris-wilson.co.uk>
20294 Date: Sun Aug 2 15:17:51 2009 +0100
20296 [fill] Short-circuit extents on an empty path.
20298 If the path is empty, avoid redundant polygonisation and tessellation by
20299 simply returning the empty extents.
20301 src/cairo-gstate.c | 12 ++++++++++++
20302 1 file changed, 12 insertions(+)
20304 commit 4051ed328b618e28cf1df276899eefa225225c76
20305 Author: Chris Wilson <chris@chris-wilson.co.uk>
20306 Date: Tue Aug 25 20:51:06 2009 +0100
20308 [tessellator] Special case rectilinear tessellation
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.
20318 The motivation for this was noticing a performance regression in
20319 box-fill-outline with the self-intersection work:
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
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.
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(-)
20341 commit 82ccb4c70cbf28167c280e590017b221a406b5c3
20342 Author: Chris Wilson <chris@chris-wilson.co.uk>
20343 Date: Wed Jul 29 18:47:29 2009 +0100
20345 [clip] Use special-purpose fill_to_region()
20347 Avoid the creation of temporary traps when generating a region, by calling
20348 the to_region() directly.
20350 src/cairo-clip.c | 26 +++++++++-----------------
20351 1 file changed, 9 insertions(+), 17 deletions(-)
20353 commit 41adeac9880d011278f083c620a42b849471a92f
20354 Author: Chris Wilson <chris@chris-wilson.co.uk>
20355 Date: Sat Jul 25 21:25:07 2009 +0100
20357 [fallback] Avoid going through traps for trivial regions.
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(-)
20364 commit 55bd590561880136c54da0db1f7f095a426d96a9
20365 Author: Chris Wilson <chris@chris-wilson.co.uk>
20366 Date: Fri Jul 24 20:45:56 2009 +0100
20368 [tessellator] Use a priority queue for the events
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.
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(-)
20381 commit ebfcc2ce8fb6fcaf28d1c59cf7a5b13168cbeb70
20382 Author: Chris Wilson <chris@chris-wilson.co.uk>
20383 Date: Fri Jul 24 16:50:33 2009 +0100
20385 [tessellator] Remove the skiplist for the active edges
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.
20392 src/cairo-bentley-ottmann.c | 230 ++++++++++++++-----------------------------
20393 1 file changed, 75 insertions(+), 155 deletions(-)
20395 commit 36480fe531f19d9c692ee1f8cf09accd4b2c0ad8
20396 Author: Chris Wilson <chris@chris-wilson.co.uk>
20397 Date: Sat Jul 25 07:38:04 2009 +0100
20399 [traps] Increase exponential expansion factor.
20401 Grow the traps more rapidly, as the allocations are very short-lived so
20402 the over-allocation is less of an issue.
20404 src/cairo-traps.c | 8 +++-----
20405 src/cairoint.h | 8 +++-----
20406 2 files changed, 6 insertions(+), 10 deletions(-)
20408 commit 9d51c03bad5f10257e248f43375062902482c0c4
20409 Author: Chris Wilson <chris@chris-wilson.co.uk>
20410 Date: Fri Jul 24 13:51:23 2009 +0100
20412 [traps] Compute extents on demand.
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(-)
20421 commit f8bb3617c3a7ec598c42eff1f8562e3ccc95127f
20422 Author: Chris Wilson <chris@chris-wilson.co.uk>
20423 Date: Wed Dec 17 09:32:16 2008 +0000
20425 Eliminate self-intersecting strokes.
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).
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.
20442 Still measuring, expecting some severe regressions.
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(-)
20627 commit 7c499db8afe8a7cf8c512ec166fe7dbf11a25c02
20628 Author: Chris Wilson <chris@chris-wilson.co.uk>
20629 Date: Tue Aug 25 20:37:55 2009 +0100
20631 [test] Minor tweak of ft-text-vertical-layout
20633 Tidily destroy the font immediately after use.
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(-)
20639 commit bdd3c5ba6987280b455229dd12b20c22159ce61c
20640 Author: Chris Wilson <chris@chris-wilson.co.uk>
20641 Date: Sat Aug 22 18:59:01 2009 +0100
20643 [perf] Match directory names
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
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 ++-
20656 perf/glyphs.c | 2 +-
20657 perf/intersections.c | 2 +-
20658 perf/long-dashed-lines.c | 2 +-
20659 perf/long-lines.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 +-
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(-)
20679 commit 77c11096169bc8af6aa08241a800a51a2292a27a
20680 Author: Chris Wilson <chris@chris-wilson.co.uk>
20681 Date: Sat Aug 22 12:23:03 2009 +0100
20683 [perf] Reset global caches after every trace
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.
20689 perf/cairo-perf-trace.c | 5 +++++
20690 1 file changed, 5 insertions(+)
20692 commit 9c8e60f7718b29051268541d2cfec58e51d8e7b8
20693 Author: Chris Wilson <chris@chris-wilson.co.uk>
20694 Date: Sat Aug 22 12:09:25 2009 +0100
20696 [perf] Remove cpuset warning for cairo-perf-trace
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.
20702 perf/cairo-perf-trace.c | 47 -----------------------------------------------
20703 1 file changed, 47 deletions(-)
20705 commit d07ed5d990634dc09d0d1b6ce45aa8ad1994b75a
20706 Author: Chris Wilson <chris@chris-wilson.co.uk>
20707 Date: Wed Aug 19 12:36:56 2009 +0100
20709 [perf] Add charting utility
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
20716 perf/Makefile.am | 4 +
20717 perf/cairo-perf-chart.c | 751 +++++++++++++++++++++++++++++++++++++++++++++++
20718 2 files changed, 755 insertions(+)
20720 commit 015eccadcb8b22f302bdaa315b88981a38294686
20721 Author: Chris Wilson <chris@chris-wilson.co.uk>
20722 Date: Sun Aug 16 09:57:07 2009 +0100
20724 [perf] Fix unaligned-clip
20726 We failed to reset the scale after each loop, eventually generating a vast
20727 clip-mask that exceeded memory capacity.
20729 perf/unaligned-clip.c | 4 +++-
20730 1 file changed, 3 insertions(+), 1 deletion(-)
20732 commit 6f8fae21e6fee07a8f6561f77bcb0bfaf64f5882
20733 Author: Chris Wilson <chris@chris-wilson.co.uk>
20734 Date: Sat Aug 15 10:16:41 2009 +0100
20736 [perf] Add a box mode to spiral
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
20742 perf/spiral.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
20743 1 file changed, 73 insertions(+)
20745 commit e79a9a87c311fd0499c96cecbe560839a17d244e
20746 Author: Chris Wilson <chris@chris-wilson.co.uk>
20747 Date: Sat Aug 15 10:33:48 2009 +0100
20749 [perf] Support objdir!=srcdir in cairo-perf-diff
20751 Crude support to detect when we have cairo-perf-diff-files in the local
20752 directory which is not srcdir.
20754 perf/cairo-perf-diff | 26 ++++++++++++++++----------
20755 1 file changed, 16 insertions(+), 10 deletions(-)
20757 commit 6bfb77a33c3614cafdcd6206de5c71321c5fc1e5
20758 Author: Chris Wilson <chris@chris-wilson.co.uk>
20759 Date: Fri Aug 14 19:53:17 2009 +0100
20761 [perf] Add spiral strokes
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.
20767 perf/spiral.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
20768 1 file changed, 73 insertions(+)
20770 commit 54b2935c3842e77888faef06bbf247f99bd9de8c
20771 Author: Chris Wilson <chris@chris-wilson.co.uk>
20772 Date: Thu Aug 13 23:23:41 2009 +0100
20774 [perf] Reset the path after each spiral
20776 Oops we were accumulating paths during each spiral iteration and so the
20777 tests were getting slower and slower and slower...
20779 [And fix a couple of other instances of path accumulation.]
20781 perf/intersections.c | 2 ++
20782 perf/spiral.c | 1 +
20783 perf/world-map.c | 2 ++
20784 3 files changed, 5 insertions(+)
20786 commit fddfe4973f5b49f280734ee7141ab72451cf94d2
20787 Author: Chris Wilson <chris@chris-wilson.co.uk>
20788 Date: Thu Aug 13 15:52:06 2009 +0100
20790 [perf] Add clipped modes to dragon
20792 Investigate the performance hit for unclipped/aligned/unaligned/masked
20793 modes with a reasonably complex geometry.
20795 perf/dragon.c | 35 +++++++++++++++++++++++++++++++++++
20796 1 file changed, 35 insertions(+)
20798 commit 8b3be26c7be0747378792e3a454e500d290c3982
20799 Author: Chris Wilson <chris@chris-wilson.co.uk>
20800 Date: Wed Aug 12 00:02:04 2009 +0100
20802 [test] Remove misleading code/comments from a1-image-sample
20804 test/a1-image-sample.c | 4 ----
20805 1 file changed, 4 deletions(-)
20807 commit e702df59b05246a52a645792a65dc9c12d5b3feb
20808 Author: Chris Wilson <chris@chris-wilson.co.uk>
20809 Date: Sat Aug 22 17:53:59 2009 +0100
20811 [test] Attempt to automatically detect running under gdb
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
20820 test/cairo-test-runner.c | 32 ++++++++++++++++++++++++++++++++
20821 1 file changed, 32 insertions(+)
20823 commit bf4977b645270bb88225501e73848f7814cccead
20824 Author: Chris Wilson <chris@chris-wilson.co.uk>
20825 Date: Tue Aug 25 07:16:16 2009 +0100
20827 [test] Exit on first failure '-x'
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!).
20835 test/cairo-test-runner.c | 15 +++++++++++++--
20836 1 file changed, 13 insertions(+), 2 deletions(-)
20838 commit 40aefac5d714bf7536632ed38c7a8ee05049f30b
20839 Author: Benjamin Otte <otte@gnome.org>
20840 Date: Wed Aug 26 21:22:07 2009 +0200
20842 [xlib] DO_XCOPYAREA and DO_XTILE optimizations break with Window source
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.
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.
20853 The performance impact of this change has not been tested. It should be
20854 small, as the code will use XRender otherwise.
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).
20864 commit 0c5d28a4e5ce5e4dd72c0f416ce5e960e92b808b
20865 https://bugs.freedesktop.org/show_bug.cgi?id=12996
20867 src/cairo-xlib-surface.c | 2 ++
20868 1 file changed, 2 insertions(+)
20870 commit 90536ef2dd534d9385d38125445faeadd0511850
20871 Author: Behdad Esfahbod <behdad@behdad.org>
20872 Date: Tue Aug 25 00:28:08 2009 -0400
20874 [build] Remove bogus warning that we require at least one native font backend
20876 That limitation was lifted long ago after twin face was introduced.
20878 build/configure.ac.features | 4 ----
20879 1 file changed, 4 deletions(-)
20881 commit 20e227fc397d064af0b4b8bbf4028430695a218d
20882 Author: Behdad Esfahbod <behdad@behdad.org>
20883 Date: Mon Aug 24 23:57:21 2009 -0400
20887 build/aclocal.enable.m4 | 2 +-
20888 1 file changed, 1 insertion(+), 1 deletion(-)
20890 commit 87fb9a9ded0fb0355f91cad188393d26b9e47e0b
20891 Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
20892 Date: Mon Aug 17 00:59:46 2009 -0400
20894 [test] Update reference image for the extended-blend-mode test.
20896 A recent pixman change caused one-bit differences in some pixels.
20898 test/extended-blend-alpha.argb32.ref.png | Bin 9777 -> 9406 bytes
20899 1 file changed, 0 insertions(+), 0 deletions(-)
20901 commit d1b8e260d43c7dee71244f26d50d8b2e49e9b6e0
20902 Author: Chris Wilson <chris@chris-wilson.co.uk>
20903 Date: Mon Aug 10 21:29:13 2009 +0100
20905 [qt] Fix compilation
20907 Enabling 'FAST CLIP' appears to trigger an infinite loop so disable.
20909 Enabling 'FAST FILL' has limited effect on performance, so disable whilst
20910 the basic QT surface is improved.
20912 perf/cairo-perf-trace.c | 2 +-
20913 src/cairo-qt-surface.cpp | 63 ++++++++++++++++++++++++++++++----------------
20914 2 files changed, 43 insertions(+), 22 deletions(-)
20916 commit dff0a91742908098a1ee110fadf11d4b802b1587
20917 Author: Chris Wilson <chris@chris-wilson.co.uk>
20918 Date: Mon Aug 10 17:57:16 2009 +0100
20920 [xlib] Rewrite UNSUPPORTED() avoiding gcc-ism
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.
20926 src/cairo-xlib-surface.c | 7 +++----
20927 1 file changed, 3 insertions(+), 4 deletions(-)
20929 commit e63d725ad4fb92a0085224f627cbced3e3205735
20930 Author: Behdad Esfahbod <behdad@behdad.org>
20931 Date: Sat Jun 6 01:08:22 2009 -0400
20933 [utils] Remove unused code
20935 util/malloc-stats.c | 30 ------------------------------
20936 1 file changed, 30 deletions(-)
20938 commit d4d0fcb4a8055f1fdd24fc5b7b64bb55d55e1485
20939 Author: Andrea Canciani <ranma42@gmail.com>
20940 Date: Mon Aug 10 17:43:31 2009 +0100
20942 [quartz] Compile fix for show_glyphs
20944 Correct the prototype for _cairo_quartz_surface_show_glyphs().
20946 src/cairo-quartz-surface.c | 4 ++--
20947 1 file changed, 2 insertions(+), 2 deletions(-)
20949 commit 2a2a19457bb934f9585bfdb97730fab99c8e386c
20950 Author: Chris Wilson <chris@chris-wilson.co.uk>
20951 Date: Mon Aug 10 17:42:05 2009 +0100
20953 [surface] Check for a NULL snapshot
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.
20958 src/cairo-surface.c | 28 +++++++++++++++-------------
20959 1 file changed, 15 insertions(+), 13 deletions(-)
20961 commit 2e8ce34454a4d93986f590b1d2b024d1a1eb6bde
20962 Author: Chris Wilson <chris@chris-wilson.co.uk>
20963 Date: Mon Aug 10 16:51:07 2009 +0100
20965 [quartz] Use the implementation font-face not the associated
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
20971 src/cairo-quartz-font.c | 6 ++----
20972 1 file changed, 2 insertions(+), 4 deletions(-)
20974 commit a4dc372bab8ebe75a9f7d17a9a2e6fc8d9d2d747
20975 Author: Chris Wilson <chris@chris-wilson.co.uk>
20976 Date: Mon Aug 10 16:50:00 2009 +0100
20978 [scaled-font] Update API documentation
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.
20983 src/cairo-scaled-font.c | 3 +--
20984 1 file changed, 1 insertion(+), 2 deletions(-)
20986 commit c4828666b9b4dad39c3f17fdfd7d1dd3cbb83cbc
20987 Author: Chris Wilson <chris@chris-wilson.co.uk>
20988 Date: Mon Aug 10 16:45:41 2009 +0100
20990 [script] Handle translation of compressed strings.
20992 After introducing the new syntax to mark a deflated string, we also need
20993 to add the equivalent binary tokens.
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(-)
20999 commit 34870491951f5a712833b5fe7ed84c935bccfc5a
21000 Author: Andrea Canciani <ranma42@gmail.com>
21001 Date: Sun Aug 9 22:33:28 2009 +0200
21003 [quartz] Fix one more compile error
21005 src/cairo-quartz-surface.c | 2 +-
21006 1 file changed, 1 insertion(+), 1 deletion(-)
21008 commit c2e75b9993ab1d30002877fc11b52ea7b9acd40b
21009 Author: Chris Wilson <chris@chris-wilson.co.uk>
21010 Date: Sun Aug 9 21:12:36 2009 +0100
21012 [quartz] Attempt to fix compile errors
21014 ranma42 spotted that the quartz-backend no longer compiled after bed270,
21015 so once again attempt to blindly fix those errors...
21017 src/cairo-quartz-surface.c | 18 +++++++++---------
21018 1 file changed, 9 insertions(+), 9 deletions(-)
21020 commit 81c4594712843abca188a33c1edfb70fa6c5a0d9
21021 Author: Chris Wilson <chris@chris-wilson.co.uk>
21022 Date: Thu Aug 6 23:41:11 2009 +0100
21024 [script] Ensure strings are nul terminated
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.)
21030 util/cairo-script/cairo-script-scanner.c | 3 ++-
21031 1 file changed, 2 insertions(+), 1 deletion(-)
21033 commit 86d6a489527d125e739aa5a6d17893bb44977010
21034 Author: Chris Wilson <chris@chris-wilson.co.uk>
21035 Date: Thu Aug 6 23:39:21 2009 +0100
21037 [script] Check for failure to store the glyph cache
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.
21043 util/cairo-script/cairo-script-operators.c | 14 ++++++++++----
21044 1 file changed, 10 insertions(+), 4 deletions(-)
21046 commit af392f7e45edcbf101ca7c91fc1ee372d283e8b9
21047 Author: Chris Wilson <chris@chris-wilson.co.uk>
21048 Date: Thu Aug 6 23:17:06 2009 +0100
21050 [script] Extend csi-replay to show how to use a single surface
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.
21057 util/cairo-script/csi-replay.c | 73 +++++++++++++++++++++++++++++++++++++++-
21058 1 file changed, 72 insertions(+), 1 deletion(-)
21060 commit b7639a5f79eaecfbaf1710fc679c7be375638efd
21061 Author: Chris Wilson <chris@chris-wilson.co.uk>
21062 Date: Thu Aug 6 10:55:18 2009 +0100
21064 [trace] Close the dictionary before font
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
21070 util/cairo-trace/trace.c | 2 +-
21071 1 file changed, 1 insertion(+), 1 deletion(-)
21073 commit 19f54d872fcfa9801abee9c57e30c6b3fc7eef40
21074 Author: Chris Wilson <chris@chris-wilson.co.uk>
21075 Date: Thu Aug 6 10:40:32 2009 +0100
21077 [gl] Move hidden cairo_gl_surface_create() proto to header
21079 Make check-plt.sh happy
21081 src/cairo-gl-private.h | 2 ++
21082 src/cairo-gl-surface.c | 1 -
21083 2 files changed, 2 insertions(+), 1 deletion(-)
21085 commit ee69f8aa5e0697aaeee9c00839fb7b30fe7e3184
21086 Author: Chris Wilson <chris@chris-wilson.co.uk>
21087 Date: Thu Aug 6 10:30:52 2009 +0100
21091 A few gratuitous whitespace and increase the buffer size used whilst
21092 reading in data files.
21094 util/cairo-trace/trace.c | 12 ++++--------
21095 1 file changed, 4 insertions(+), 8 deletions(-)
21097 commit 6d30021d65aa4126cd5eef47b0e6057dfc17d7ac
21098 Author: Chris Wilson <chris@chris-wilson.co.uk>
21099 Date: Thu Aug 6 10:29:49 2009 +0100
21101 [trace] Only write the 4 byte length to the stream
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.
21106 util/cairo-trace/trace.c | 2 +-
21107 1 file changed, 1 insertion(+), 1 deletion(-)
21109 commit a439bd99d0439c007bc74584c1eb56700c520b52
21110 Author: Chris Wilson <chris@chris-wilson.co.uk>
21111 Date: Wed Aug 5 17:34:29 2009 +0100
21113 [perf] Compare drawing random curves
21115 Extend the intersection tests with straight lines, with random curves as
21118 perf/intersections.c | 58 +++++++++++++++++++++++++++++++++++++++++++++++++-
21119 1 file changed, 57 insertions(+), 1 deletion(-)
21121 commit 1327df2cf2f2dd9f98533d824503dfb081803b05
21122 Author: Chris Wilson <chris@chris-wilson.co.uk>
21123 Date: Tue Aug 4 20:15:13 2009 +0100
21125 [pattern] Invalid access beyond end of freed-pool
21127 Oops, we were attempting to return a pointer from beyond the end of our
21130 src/cairo-pattern.c | 4 +++-
21131 1 file changed, 3 insertions(+), 1 deletion(-)
21133 commit 920f59a755ce142b068f21b9db07f76f35449f16
21134 Author: Chris Wilson <chris@chris-wilson.co.uk>
21135 Date: Tue Aug 4 20:13:43 2009 +0100
21137 [build] Configure switch to disable atomics
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.
21143 build/configure.ac.system | 10 ++++++++--
21144 1 file changed, 8 insertions(+), 2 deletions(-)
21146 commit cb30c1f367967e3395296a5d01a3eb9050635e3b
21147 Author: Chris Wilson <chris@chris-wilson.co.uk>
21148 Date: Tue Aug 4 13:59:03 2009 +0100
21150 [path] Extend identical lines.
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.
21158 src/cairo-path-fixed.c | 31 ++++++++++++++++++++++++++++---
21159 src/cairoint.h | 7 +++++++
21160 2 files changed, 35 insertions(+), 3 deletions(-)
21162 commit 85b688a3f6271427befca699de3a7a15162fc59e
21163 Author: Chris Wilson <chris@chris-wilson.co.uk>
21164 Date: Mon Aug 3 22:27:22 2009 +0100
21166 [matrix] Use hypot()
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.
21173 src/cairo-matrix.c | 4 ++--
21174 1 file changed, 2 insertions(+), 2 deletions(-)
21176 commit 0db9e010fa70c65451d324cc9c0ade989f77fedd
21177 Author: Chris Wilson <chris@chris-wilson.co.uk>
21178 Date: Mon Aug 3 22:23:19 2009 +0100
21180 [perf] Calibrate tests to run for at least 2 seconds
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.
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(-)
21218 commit 60c574ad062f3d8526056942bb7c9e71610a2773
21219 Author: Chris Wilson <chris@chris-wilson.co.uk>
21220 Date: Wed Aug 5 15:11:00 2009 +0100
21222 [surface] Protect against the user setting a fallback resolution of 0.
21224 Bug 23067 -- using clear drawing operator crashes printing
21225 http://bugs.freedesktop.org/show_bug.cgi?id=23067
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).
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.
21236 src/cairo-surface.c | 8 ++++++++
21237 1 file changed, 8 insertions(+)
21239 commit a3f393cf644d75065fe524e2fbb28f55844f43bf
21240 Author: Chris Wilson <chris@chris-wilson.co.uk>
21241 Date: Thu Aug 6 09:52:34 2009 +0100
21243 [configure] Also check for libiberty.h
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.
21249 1 file changed, 1 insertion(+)
21251 commit 51bd27afa147f78c8f4f3778cee725b6444e7eb0
21252 Author: Chris Wilson <chris@chris-wilson.co.uk>
21253 Date: Thu Aug 6 09:41:15 2009 +0100
21255 [boilerplate/test] Convert make-*-constructors to shell
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.
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(-)
21270 commit 5dd29d7e2da8684ea46c8f1baba42e6dc64f1351
21271 Author: Chris Wilson <chris@chris-wilson.co.uk>
21272 Date: Thu Aug 6 09:55:43 2009 +0100
21274 [directfb] Conditionally use DSPF_BGR555
21276 Appears that this token is more recent than some of my headers, so check
21277 for its presence before use.
21279 src/cairo-directfb-surface.c | 4 ++++
21280 1 file changed, 4 insertions(+)
21282 commit 1d2abe7d1061e580e189604b25465c8025cedfb7
21283 Author: Chris Wilson <chris@chris-wilson.co.uk>
21284 Date: Fri Jul 31 19:38:23 2009 +0100
21286 [gl] Refresh clip-operator ref.
21288 A minor renderering difference, acceptable.
21290 test/Makefile.am | 1 +
21291 test/clip-operator.gl.argb32.ref.png | Bin 0 -> 8296 bytes
21292 2 files changed, 1 insertion(+)
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
21299 Merge branch 'gl-glyph-cache'
21301 Comparing the glyph-cache on an i915:
21303 gnome-terminal-20090728: 1.51x speedup
21304 firefox-20090601: No change
21306 commit 5c2239be4b11437b1ab1731ef2dfac6cfb8095b1
21307 Author: Chris Wilson <chris@chris-wilson.co.uk>
21308 Date: Fri Jul 31 16:29:49 2009 +0100
21310 [gl] Use scissors rather than allocating a temporary depth buffer.
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(-)
21317 commit 067de9cf62223ee7a36aab10e3d8a4e0dcda4741
21318 Author: Chris Wilson <chris@chris-wilson.co.uk>
21319 Date: Fri Jul 31 17:49:39 2009 +0100
21321 [test] Add clip-fill.
21323 Test filling through a complex clip.
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(+)
21334 commit 7db1fb6fa97e0c44e66c0ae533b94fb3f26b273d
21335 Author: Chris Wilson <chris@chris-wilson.co.uk>
21336 Date: Fri Jul 31 16:57:14 2009 +0100
21338 [test] Add clip-text
21340 Test applying a complex clip to text.
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(+)
21351 commit 728d3f6383bba218de03f2693f289ddad6a80d0c
21352 Author: Chris Wilson <chris@chris-wilson.co.uk>
21353 Date: Fri Jul 31 16:24:37 2009 +0100
21355 Revert "[gl] Fixup unbounded regions after spans"
21357 This reverts commit f7121ca88844fa70ecb1a35f3f6c9b653324718d.
21359 src/cairo-gl-surface.c | 68 +++++-------------------------------------------
21360 1 file changed, 7 insertions(+), 61 deletions(-)
21362 commit 74bdea1249bc1fcd223e9bab83d9b9e22fa98b99
21363 Author: Chris Wilson <chris@chris-wilson.co.uk>
21364 Date: Fri Jul 31 16:20:54 2009 +0100
21366 [spans] Emit empty rows.
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.
21373 src/cairo-tor-scan-converter.c | 15 +++++++++++++++
21374 1 file changed, 15 insertions(+)
21376 commit 1e4b9ab04bfe18f50b9b7c2cdb75d5828e33ef69
21377 Author: Chris Wilson <chris@chris-wilson.co.uk>
21378 Date: Fri Jul 31 15:27:20 2009 +0100
21380 [gl] Return status from _render_glyphs()
21382 src/cairo-gl-glyphs.c | 6 ++++--
21383 1 file changed, 4 insertions(+), 2 deletions(-)
21385 commit 097484da6fd70867ed2128e78247eab5c43217fb
21386 Author: Chris Wilson <chris@chris-wilson.co.uk>
21387 Date: Fri Jul 31 14:48:32 2009 +0100
21389 [boilerplate] Conditionally tweak the xlib surface
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
21396 boilerplate/cairo-boilerplate-xlib.c | 10 ++++++++--
21397 src/cairo-xlib-surface-private.h | 3 +++
21398 2 files changed, 11 insertions(+), 2 deletions(-)
21400 commit 397538a251ae19bb1a34650763eb9a80108a96de
21401 Author: Chris Wilson <chris@chris-wilson.co.uk>
21402 Date: Fri Jul 31 12:17:28 2009 +0100
21404 [boilerplate] Update fallbacks after disabling RENDER
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.
21409 boilerplate/cairo-boilerplate-xlib.c | 5 +++++
21410 1 file changed, 5 insertions(+)
21412 commit 786d1f962a7e7ee7036ea85d4ea3aec7580e25db
21413 Author: Chris Wilson <chris@chris-wilson.co.uk>
21414 Date: Fri Jul 31 13:17:24 2009 +0100
21416 [xlib] Use server-side gradients.
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.
21425 Running cairo-perf-trace on tiny, Celeron/i915:
21427 before: firefox-20090601 211.585
21428 after: firefox-20090601 270.939
21430 and on tiger, CoreDuo/nvidia:
21432 before: firefox-20090601 70.143
21433 after: firefox-20090601 87.326
21435 where linear gradients are used extensively throughout the GTK+ theme.
21436 Not quite the result I was expecting!
21438 In particular, looking at tiny:
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
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
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
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
21448 xlib-rgba paint_linear3-rgb_over-512 47.29 (47.32 0.05%) -> 118.95 (119.60 0.29%): 2.52x slowdown
21450 xlib-rgba paint_linear-rgba_over-512 47.14 (47.17 0.06%) -> 116.76 (117.06 0.16%): 2.48x slowdown
21452 xlib-rgba paint_linear3-rgba_over-512 47.32 (47.34 0.04%) -> 116.85 (116.98 0.05%): 2.47x slowdown
21454 xlib-rgba paint_linear-rgb_over-512 47.15 (47.19 0.03%) -> 114.08 (114.55 0.20%): 2.42x slowdown
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
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
21460 xlib-rgba paint_radial-rgba_over-512 117.23 (117.26 0.02%) -> 186.35 (186.41 0.03%): 1.59x slowdown
21462 xlib-rgba paint_radial-rgb_over-512 117.23 (117.27 0.02%) -> 184.14 (184.62 1.51%): 1.57x slowdown
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.
21468 [Updated by Chris Wilson. All bugs are his.]
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(-)
21477 commit 53cbbad8fbbd2b9423a5eb179d0cec3fc7678791
21478 Author: Chris Wilson <chris@chris-wilson.co.uk>
21479 Date: Fri Jul 31 11:35:45 2009 +0100
21481 [xlib] Disable extended repeat modes if RENDER < 0.10
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
21488 src/cairo-xlib-surface.c | 4 ++++
21489 1 file changed, 4 insertions(+)
21491 commit e283e53563915daa11566ba006e1bf1e12b0d2fc
21492 Author: Chris Wilson <chris@chris-wilson.co.uk>
21493 Date: Fri Jul 31 10:50:13 2009 +0100
21495 [perf] Print min_ticks in report
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
21501 In particular it helps to explain cases like:
21503 xlib-rgba rectangles_similar-rgba-mag_source-512 10.13 88.41% -> 5.77 0.19%: 1.50x slowdown
21507 xlib-rgba rectangles_similar-rgba-mag_source-512 3.83 (10.13 88.41%) -> 5.75 (5.77 0.19%): 1.50x slowdown
21509 (Considering the poor standard deviation on the initial measurement, this
21510 is more likely a sampling error than a true regression.)
21512 perf/cairo-perf-diff-files.c | 4 +++-
21513 1 file changed, 3 insertions(+), 1 deletion(-)
21515 commit ce8a8424aa4331f119b115123faf7b773b5f25d0
21516 Author: Chris Wilson <chris@chris-wilson.co.uk>
21517 Date: Fri Jul 31 09:36:10 2009 +0100
21519 [perf] Change the order of slowdowns.
21521 More the large slowdowns to the end. This has two pleasing effects:
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.
21526 2. After a cairo-perf-diff run the largest slowdowns are immediately
21527 visible on the console. What better way to flag performance
21530 perf/cairo-perf-diff-files.c | 11 +++++++----
21531 1 file changed, 7 insertions(+), 4 deletions(-)
21533 commit 877ed645f95ff048f7c5d2ce0fb92389918711a6
21534 Author: Chris Wilson <chris@chris-wilson.co.uk>
21535 Date: Thu Jul 30 22:09:55 2009 +0100
21537 [perf] Add a more complex fill, a set of rings
21539 In investigating performance regressions with the wip/tessellator, I'm
21540 keen to inspect how the tessellator scales with polygon complexity.
21542 perf/fill.c | 37 +++++++++++++++++++++++++++++++++++++
21543 1 file changed, 37 insertions(+)
21545 commit 3dbc4170f0e89f02455b82c6496d6322e56e0491
21546 Author: Chris Wilson <chris@chris-wilson.co.uk>
21547 Date: Thu Jul 30 10:35:11 2009 +0100
21549 [perf] Add a single shot long-lines
21551 Compare the performance of self-intersection removal by comparing the cost
21552 of individually stroking each line versus stroking them all en-mass.
21554 perf/long-lines.c | 45 ++++++++++++++++++++++++++++++++++-----------
21555 1 file changed, 34 insertions(+), 11 deletions(-)
21557 commit 2f033af5ab15dc56675c42434bb1c18655012b03
21558 Author: Chris Wilson <chris@chris-wilson.co.uk>
21559 Date: Thu Jul 30 09:42:31 2009 +0100
21561 [perf] Fix the asymmetry in long lines
21563 We missed the final long diagonal to the bottom-right.
21565 perf/long-lines.c | 2 +-
21566 1 file changed, 1 insertion(+), 1 deletion(-)
21568 commit 944206e55ba997a4a55334be3c7ebf8141016be7
21569 Author: Chris Wilson <chris@chris-wilson.co.uk>
21570 Date: Thu Jul 30 09:36:28 2009 +0100
21572 [perf] Correct typo in long-lines.c
21574 Computed may_y using height not width, fortunately the test cases have
21575 always been square.
21577 perf/long-lines.c | 2 +-
21578 1 file changed, 1 insertion(+), 1 deletion(-)
21580 commit 229887e980f03d90248add8af9cd0a9be6cb0f9a
21581 Author: Chris Wilson <chris@chris-wilson.co.uk>
21582 Date: Wed Jul 29 19:48:00 2009 +0100
21584 [perf] Check output
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
21594 perf/cairo-perf.c | 19 +++++++++++++++++++
21595 1 file changed, 19 insertions(+)
21597 commit 8c6ecfe6488dff93090d5d0a2d814466804bc7de
21598 Author: Chris Wilson <chris@chris-wilson.co.uk>
21599 Date: Wed Jul 29 16:17:36 2009 +0100
21601 [perf] Remove the warning about failing to open a directory
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.
21607 Still looking for suggestions for the most appropriate home for the system
21608 wide cairo-traces dir...
21610 perf/cairo-perf-trace.c | 4 +---
21611 1 file changed, 1 insertion(+), 3 deletions(-)
21613 commit 8c1aed17ca5dafb00175ac413d56760a3ef012f9
21614 Author: Chris Wilson <chris@chris-wilson.co.uk>
21615 Date: Wed Jul 29 13:24:19 2009 +0100
21617 [perf] Add another stroking micro-benchmark
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.
21623 perf/stroke.c | 36 ++++++++++++++++++++++++++++++++++++
21624 1 file changed, 36 insertions(+)
21626 commit 71f5649846aa8e9e2178e7caf69ab47554f86c4d
21627 Author: Chris Wilson <chris@chris-wilson.co.uk>
21628 Date: Wed Jul 29 15:36:25 2009 +0100
21630 [path] Fix iter to handle circular list of buffers
21632 When switching the path over to use the circularly linked list, 73f801,
21633 I missed updating the path iterator.
21635 src/cairo-path-fixed-private.h | 1 +
21636 src/cairo-path-fixed.c | 9 +++++++--
21637 2 files changed, 8 insertions(+), 2 deletions(-)
21639 commit acfcf4a31b3370ca7bbdd522fad9ddc483df3472
21640 Author: Chris Wilson <chris@chris-wilson.co.uk>
21641 Date: Wed Jul 29 16:10:04 2009 +0100
21643 [path] Remove the broken rel-curve-to as line-to
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.
21648 src/cairo-path-fixed.c | 6 ------
21649 1 file changed, 6 deletions(-)
21651 commit 81d3e15e6ca7b7c1a07fdfb6d03c43484ce9f502
21652 Author: Chris Wilson <chris@chris-wilson.co.uk>
21653 Date: Wed Jul 29 16:07:17 2009 +0100
21655 [test] Yet another bug in curve-to as line-to.
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!
21661 This test case highlights the bug in the rel-curve-to path.
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(+)
21670 commit f7121ca88844fa70ecb1a35f3f6c9b653324718d
21671 Author: Chris Wilson <chris@chris-wilson.co.uk>
21672 Date: Tue Jul 28 20:48:26 2009 +0100
21674 [gl] Fixup unbounded regions after spans
21676 src/cairo-gl-surface.c | 68 +++++++++++++++++++++++++++++++++++++++++++-----
21677 1 file changed, 61 insertions(+), 7 deletions(-)
21679 commit 5631f01075a030255c5eb47a8ee600b062705d0f
21680 Author: Chris Wilson <chris@chris-wilson.co.uk>
21681 Date: Tue Jul 28 18:56:12 2009 +0100
21683 [gl] Cache texture snapshots.
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(-)
21690 commit 3b0bb2cfd2ad8579e88f1c0ab46f5ccf762e0974
21691 Author: Chris Wilson <chris@chris-wilson.co.uk>
21692 Date: Tue Jul 28 18:04:59 2009 +0100
21694 [gl] Replace DrawPixels with TexSubImage
21696 src/cairo-gl-surface.c | 60 ++++++++++++++++++++++--------------------------
21697 1 file changed, 27 insertions(+), 33 deletions(-)
21699 commit 4b7a1a2da7a7f55db788cbfb3164f9f948bbb26b
21700 Author: Chris Wilson <chris@chris-wilson.co.uk>
21701 Date: Tue Jul 28 17:32:30 2009 +0100
21703 [gl] Disable the EXTEND_REFLECT convertor
21705 As we can handle EXTEND_REFLECT via the samplers, we do not need to
21706 convert such patterns to EXTEND_REPEAT during acquisition.
21708 src/cairo-gl-surface.c | 2 +-
21709 1 file changed, 1 insertion(+), 1 deletion(-)
21711 commit 780a95b024c5880353ffc256a634eb3bcc641601
21712 Author: Chris Wilson <chris@chris-wilson.co.uk>
21713 Date: Tue Jul 28 16:49:04 2009 +0100
21715 [gl] Trim glyphs to surface/clip extents.
21717 src/cairo-gl-glyphs.c | 21 ++++++++++++++++++---
21718 1 file changed, 18 insertions(+), 3 deletions(-)
21720 commit b1227dea29d3e357cc69c49eed0ae10d5578f24a
21721 Author: Chris Wilson <chris@chris-wilson.co.uk>
21722 Date: Tue Jul 28 16:39:52 2009 +0100
21724 [gl] Render glyphs to an intermediate mask as opposed to falling back.
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.
21732 src/cairo-gl-glyphs.c | 306 +++++++++++++++++++++++++++++++------------------
21733 1 file changed, 194 insertions(+), 112 deletions(-)
21735 commit cd259489e2f41caaa7441233d87b46fbd43991ae
21736 Author: Chris Wilson <chris@chris-wilson.co.uk>
21737 Date: Tue Jul 28 15:58:54 2009 +0100
21739 [gl] Fallback for overlapping glyphs.
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(-)
21751 commit 3d8f1d3dc83b9a86f2f104f0e2afa192a34d18c8
21752 Author: Chris Wilson <chris@chris-wilson.co.uk>
21753 Date: Tue Jul 28 15:38:45 2009 +0100
21755 [gl] Only unlock the glyph cache when full.
21757 src/cairo-gl-glyphs.c | 10 +++++++---
21758 1 file changed, 7 insertions(+), 3 deletions(-)
21760 commit 922b1fe8e380ceba0630935460ce758ef660df75
21761 Author: Adrian Johnson <ajohnson@redneon.com>
21762 Date: Tue Jul 28 22:34:42 2009 +0930
21764 Ensure Type 3 fonts do not use the name .notdef in the PS encoding
21766 src/cairo-scaled-font-subsets.c | 2 +-
21767 1 file changed, 1 insertion(+), 1 deletion(-)
21769 commit a251e34dbbcb652906f7fddd2a72cbb5992b58ae
21770 Author: Chris Wilson <chris@chris-wilson.co.uk>
21771 Date: Tue Jul 28 13:44:19 2009 +0100
21773 [gl] Move check for vertex buffer support to individual operations.
21775 As we can fallback instead of using vertex buffers, do so rather than
21776 preventing any use of GL acceleration.
21778 src/cairo-gl-glyphs.c | 3 +++
21779 src/cairo-gl-surface.c | 17 +++++++++--------
21780 2 files changed, 12 insertions(+), 8 deletions(-)
21782 commit 90657bacc306e65e07e9eb16561a805150aef778
21783 Author: Chris Wilson <chris@chris-wilson.co.uk>
21784 Date: Tue Jul 28 13:30:31 2009 +0100
21786 [gl] Separate out supported operator check.
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.
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(-)
21798 commit 21d50e2163038c8acc0eef738acf61f851835f7d
21799 Author: Chris Wilson <chris@chris-wilson.co.uk>
21800 Date: Tue Jul 28 13:24:43 2009 +0100
21802 [gl] Unthaw font along contended path.
21804 If we bail after freezing the font, make sure we thaw that it is thawed
21807 src/cairo-gl-glyphs.c | 4 ++--
21808 1 file changed, 2 insertions(+), 2 deletions(-)
21810 commit 5440055fc0329c726d324984cd2fdf07badc7e0f
21811 Author: Adrian Johnson <ajohnson@redneon.com>
21812 Date: Tue Jul 28 20:59:25 2009 +0930
21814 Ensure Type 3 fonts do not add a .notdef glyph
21816 src/cairo-scaled-font-subsets.c | 2 +-
21817 1 file changed, 1 insertion(+), 1 deletion(-)
21819 commit 1ae5a41951b8a8cb415835559f91d1636a885216
21820 Author: Adrian Johnson <ajohnson@redneon.com>
21821 Date: Tue Jul 28 20:54:58 2009 +0930
21823 PDF: Only Type 3 fonts should include glyph 0 in /ToUnicode
21825 4c498098 made all 8-bit fonts include glyph 0 which incorrectly
21826 included Type 1 fallback fonts.
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(-)
21833 commit c11f369057c5ebb958bec58ef41f8ad4b43bdbee
21834 Author: Chris Wilson <chris@chris-wilson.co.uk>
21835 Date: Tue Jul 28 13:02:10 2009 +0100
21837 [perf] Avoid NULL derefs on broken result files.
21839 Instead of testing for a NULL return we checked that the pointer didn't
21840 point to NIL. Oops.
21842 perf/cairo-perf-report.c | 8 ++++----
21843 1 file changed, 4 insertions(+), 4 deletions(-)
21845 commit 19f44982348d247057df4481010c1e3ddc80bac2
21846 Author: Chris Wilson <chris@chris-wilson.co.uk>
21847 Date: Tue Jul 28 12:58:07 2009 +0100
21849 [test] Wrap yet another call to get_image_surface() inside a timeout.
21851 I missed this call to get_image_surface() that is now being hit having
21852 restored the reference image for dash-infinite-loop.
21854 test/cairo-test.c | 3 +++
21855 1 file changed, 3 insertions(+)
21857 commit e2f912dc5bbfad3a6f4b5e1dbfbe51be148b3232
21858 Author: Chris Wilson <chris@chris-wilson.co.uk>
21859 Date: Tue Jul 28 09:32:36 2009 +0100
21861 [script] Add cvi, cvr, mod
21863 Add implementations of convert-to-integer, convert-to-real and modulus
21864 supplied by Zack Weinberg <zweinberg@mozilla.com>.
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(-)
21871 commit 24b5ac6377f0e4b76b73460a497b9861fc01a889
21872 Author: Chris Wilson <chris@chris-wilson.co.uk>
21873 Date: Tue Jul 28 08:05:22 2009 +0100
21875 [test] Add timeouts around finishing and converting surfaces to images.
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().
21881 test/cairo-test.c | 14 ++++++++++----
21882 1 file changed, 10 insertions(+), 4 deletions(-)
21884 commit dacc380dd9ea23fe060d0397104ecd4b2a6d0eae
21885 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
21886 Date: Sat Jul 11 02:59:12 2009 +0300
21888 [test] Test extremely small dash lengths.
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
21896 Reported on the cairo mailing list by Hans Breuer:
21898 http://lists.cairographics.org/archives/cairo/2009-June/017506.html
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(+)
21906 commit 128d6fb2daf4e57def813511cc89167217041bf4
21907 Author: Chris Wilson <chris@chris-wilson.co.uk>
21908 Date: Tue Jul 28 08:37:54 2009 +0100
21910 [path] Remove the erroneous conversion of a 'zero-length' curve-to
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().
21918 src/cairo-path-fixed.c | 3 ---
21919 1 file changed, 3 deletions(-)
21921 commit 660c389d11bda29498807f41d3b761fa540ae9b9
21922 Author: Chris Wilson <chris@chris-wilson.co.uk>
21923 Date: Tue Jul 28 08:18:17 2009 +0100
21925 [test] Add degenerate-curve-to
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.
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(+)
21939 commit d31de83e01468eaf9e1a906aef536b63e77cb752
21940 Author: Carl Worth <cworth@cworth.org>
21941 Date: Mon Jul 27 15:58:27 2009 -0700
21943 Mark curve-to-as-line-to as XFAIL for PS backend.
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
21950 test/curve-to-as-line-to.ps.xfail.png | Bin 0 -> 112 bytes
21951 1 file changed, 0 insertions(+), 0 deletions(-)
21953 commit 45919a4f0c94a247b1c6941dbc4a57f6c9399396
21954 Author: Carl Worth <cworth@cworth.org>
21955 Date: Mon Jul 27 15:45:55 2009 -0700
21957 Revert "[path] Convert straight curve-to to line-to"
21959 This reverts commit c72ca2f2296b5fbc5859059b98221e5ffe087dae.
21961 This commit was broken as verified by the curve-to-as-line-to test
21964 src/cairo-path-fixed.c | 12 ------------
21965 1 file changed, 12 deletions(-)
21967 commit 5bed405b278a6b934369873f55117d497f69bc3a
21968 Author: Carl Worth <cworth@cworth.org>
21969 Date: Mon Jul 27 15:45:15 2009 -0700
21971 Revert "[spline] Treat a straight spline as degenerate."
21973 This reverts commit f3d265559a2f97152ce8f307ea3ce83463083088.
21975 This commit was broken as verified by the curve-to-as-line-to test
21978 src/cairo-spline.c | 9 ---------
21979 1 file changed, 9 deletions(-)
21981 commit 01acad1659caf766c57849f85dc3536fe2167608
21982 Merge: 3cc9a60 cf15aed
21983 Author: Carl Worth <cworth@cworth.org>
21984 Date: Mon Jul 27 15:26:19 2009 -0700
21986 Merge branch 'master' of git.cairographics.org:/git/cairo
21988 commit 3cc9a6050d9704976d8efe373b913e5309bde6d2
21989 Author: Carl Worth <cworth@cworth.org>
21990 Date: Mon Jul 27 15:24:55 2009 -0700
21992 Add new test: curve-to-as-line-to
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.
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(+)
22003 commit e19b2866ed095cf66e9344efa442ae01dc7913ac
22004 Author: Chris Wilson <chris@chris-wilson.co.uk>
22005 Date: Mon Jul 27 19:51:36 2009 +0100
22007 [gl] Actually remove the glyph from the rtree on scaled_font_fini
22009 Mark the node as available when the scaled_glyph is finished, and then
22010 attempt to collapse the parent node.
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(-)
22017 commit e0b7979a30fff2a22fef5c170fd72c37c197ee0e
22018 Author: Chris Wilson <chris@chris-wilson.co.uk>
22019 Date: Mon Jul 27 17:44:10 2009 +0100
22021 [gl] Switch to using the common rtree implementation.
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(-)
22028 commit 37bf06d66efa238c4ff9c74c86a0c9d037b300e6
22029 Author: Eric Anholt <eric@anholt.net>
22030 Date: Mon Jul 27 09:16:46 2009 -0700
22032 [gl] Fix handling of clip for glyphs (clip-operator test).
22034 src/cairo-gl-glyphs.c | 43 ++++++++++++++++++++++++++++++++++++++++++-
22035 1 file changed, 42 insertions(+), 1 deletion(-)
22037 commit 74f33513194ec3d8e69a21aa71aa7fc854415e83
22038 Author: Eric Anholt <eric@anholt.net>
22039 Date: Fri Jul 24 14:08:55 2009 -0700
22041 [gl] Switch the glyph cache to using VBOs.
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.
22047 Before glyph cache (HP 945GM):
22048 [ 0] gl firefox-20090601 238.103 238.195 0.35% 5/6
22050 [ 0] gl firefox-20090601 68.181 76.735 5.46% 6/6
22052 src/cairo-gl-glyphs.c | 177 +++++++++++++++++++++++++++++++++----------------
22053 1 file changed, 120 insertions(+), 57 deletions(-)
22055 commit ee4138e587a67c3fc4d0e89b899109af89f16e72
22056 Author: Eric Anholt <eric@anholt.net>
22057 Date: Thu Jul 23 21:12:59 2009 -0700
22059 [gl] Start adding glyph cache support.
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.
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(-)
22070 commit cf15aed0c4e843e7297c5a1979ac0318f6df4947
22071 Author: Chris Wilson <chris@chris-wilson.co.uk>
22072 Date: Mon Jul 27 19:18:21 2009 +0100
22074 [xlib] Add a timely reminder to ensure that bugs are properly filed.
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.
22080 src/cairo-xlib-surface.c | 6 ++++++
22081 1 file changed, 6 insertions(+)
22083 commit 2da01ed552d48808cdf3aa7798ddfb959d016f0f
22084 Author: Chris Wilson <chris@chris-wilson.co.uk>
22085 Date: Mon Jul 27 18:20:22 2009 +0100
22087 [rtree] Merge the common unpin_and_evict_unused() routine
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.
22092 src/cairo-rtree-private.h | 1 +
22093 src/cairo-rtree.c | 50 +++++++++++++++++++++++++++++++++++++++++++--
22094 2 files changed, 49 insertions(+), 2 deletions(-)
22096 commit 9f6a0f5668601c74886378d6cdb9588621d30e6d
22097 Author: Chris Wilson <chris@chris-wilson.co.uk>
22098 Date: Mon Jul 27 14:01:32 2009 +0100
22100 [paginated] Propagate error return during finish.
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
22111 src/cairo-paginated-surface.c | 10 ++++++++++
22112 1 file changed, 10 insertions(+)
22114 commit 6ca3720ba66f443e70c961f7d4fdac604c831e97
22115 Author: Chris Wilson <chris@chris-wilson.co.uk>
22116 Date: Mon Jul 27 10:06:34 2009 +0100
22118 [test] Overlapping glyphs
22120 Add a test case to explicitly check handling of overlapping glyphs.
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(+)
22131 commit 09a2b2ed3189fe12483cbd673c24ceddc2c20f3f
22132 Author: Chris Wilson <chris@chris-wilson.co.uk>
22133 Date: Mon Jul 27 10:14:24 2009 +0100
22135 [xlib] Fast-path the likely case of retrieving a known xrender_format
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.)
22142 src/cairo-xlib-display.c | 6 ++++++
22143 1 file changed, 6 insertions(+)
22145 commit efb3445ee1553c91e62f6b0fe50ab72d65f5c81c
22146 Author: Chris Wilson <chris@chris-wilson.co.uk>
22147 Date: Mon Jul 27 10:18:25 2009 +0100
22149 Add a simple rectangle tree (rtree) implementation
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.
22162 src/Makefile.sources | 2 +
22163 src/cairo-rtree-private.h | 124 ++++++++++++++++
22164 src/cairo-rtree.c | 349 +++++++++++++++++++++++++++++++++++++++++++++
22165 3 files changed, 475 insertions(+)
22167 commit c72ca2f2296b5fbc5859059b98221e5ffe087dae
22168 Author: Chris Wilson <chris@chris-wilson.co.uk>
22169 Date: Sun Jul 26 09:07:48 2009 +0100
22171 [path] Convert straight curve-to to line-to
22173 Avoid the high cost associated with curves if we can convert the curve to
22176 src/cairo-path-fixed.c | 12 ++++++++++++
22177 1 file changed, 12 insertions(+)
22179 commit f3d265559a2f97152ce8f307ea3ce83463083088
22180 Author: Chris Wilson <chris@chris-wilson.co.uk>
22181 Date: Sun Jul 26 09:03:36 2009 +0100
22183 [spline] Treat a straight spline as degenerate.
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.
22189 src/cairo-spline.c | 9 +++++++++
22190 1 file changed, 9 insertions(+)
22192 commit 25858d524d158531a71a2e772551b1e497d9d423
22193 Author: Chris Wilson <chris@chris-wilson.co.uk>
22194 Date: Sun Jul 26 08:13:28 2009 +0100
22196 [script] Fix reference to font source after transferring to mmap
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.
22203 util/cairo-script/cairo-script-operators.c | 6 ++++++
22204 1 file changed, 6 insertions(+)
22206 commit ede0f7e7df4e17ddc1ffe98dcdfe0115a58e7b14
22207 Author: Chris Wilson <chris@chris-wilson.co.uk>
22208 Date: Sat Jul 25 07:19:22 2009 +0100
22210 [pdf] Eliminate redundant whole-page clip.
22212 We do not to emit a clip if it covers the whole page.
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(+)
22221 commit 4c498098c0dc66dc8c3e8cd60f79e5e5eda206b9
22222 Author: Adrian Johnson <ajohnson@redneon.com>
22223 Date: Fri Jul 24 21:36:47 2009 +0930
22225 PDF: Fix glyph 0 in toUnicode stream when using user fonts
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.
22232 http://lists.cairographics.org/archives/cairo/2009-July/017731.html
22234 src/cairo-pdf-surface.c | 71 ++++++++++++++++++++++++++++++-----------------
22235 1 file changed, 45 insertions(+), 26 deletions(-)
22237 commit e577096dff714266101ba86ac275864b854096a4
22238 Author: Chris Wilson <chris@chris-wilson.co.uk>
22239 Date: Mon Jul 20 23:17:07 2009 +0100
22241 [boilerplate] Fix compilation against old revisions (as old as 1.9.2!)
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(-)
22253 commit 0466053099b7f27065267d49c84e9e24bff6c7a1
22254 Author: Chris Wilson <chris@chris-wilson.co.uk>
22255 Date: Thu Jul 23 23:45:01 2009 +0100
22257 [image] Discard redundant clears
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
22264 Rather than solve why the pixman_fill_sse2() is so slow, simply skip the
22267 src/cairo-image-surface.c | 35 ++++++++++++++++++++++++++++++++++-
22268 src/cairoint.h | 1 +
22269 2 files changed, 35 insertions(+), 1 deletion(-)
22271 commit 8b8e03503d7a4fdacfc48e0b35c9b02d7a08c1e2
22272 Author: Chris Wilson <chris@chris-wilson.co.uk>
22273 Date: Thu Jul 23 22:00:05 2009 +0100
22275 [script] mark scan_read() inline
22277 Small function that is critical to performance whilst scanning scripts.
22279 util/cairo-script/cairo-script-scanner.c | 6 +++---
22280 1 file changed, 3 insertions(+), 3 deletions(-)
22282 commit f02ba09475b751fba411addb96718dbcb1de5132
22283 Author: Chris Wilson <chris@chris-wilson.co.uk>
22284 Date: Thu Jul 23 20:23:51 2009 +0100
22286 [xlib] Check workqueue before taking the display mutex
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.
22293 src/cairo-xlib-display.c | 6 ++++++
22294 1 file changed, 6 insertions(+)
22296 commit 4dc62bbedc5d8669c0508963497c568d0202f579
22297 Author: Chris Wilson <chris@chris-wilson.co.uk>
22298 Date: Thu Jul 23 19:34:10 2009 +0100
22300 [test] Extend radial gradients to check r2 < r1
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
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(-)
22312 commit e98e2690cb4ac475819394334cb5e61a8e3d5557
22313 Author: Chris Wilson <chris@chris-wilson.co.uk>
22314 Date: Wed Jul 22 18:32:47 2009 +0100
22316 [test] Fix use of uninitialized widths.
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.
22323 test/user-font-rescale.c | 13 +++++--------
22324 1 file changed, 5 insertions(+), 8 deletions(-)
22326 commit 596dec95610ef02d86ede94eca5b83221b0b533a
22327 Author: Chris Wilson <chris@chris-wilson.co.uk>
22328 Date: Wed Jul 22 18:15:38 2009 +0100
22332 Note the crash if we hit a floating-point exception.
22334 test/cairo-test.c | 7 +++++++
22335 1 file changed, 7 insertions(+)
22337 commit 0561539880b480273767a9559da89a25970802e2
22338 Author: Chris Wilson <chris@chris-wilson.co.uk>
22339 Date: Wed Jul 22 18:31:37 2009 +0100
22341 [scaled-font] cairo_scaled_font_glyph_extents() initialise extents
22343 Ensure that the extents are zeroed on error.
22345 src/cairo-scaled-font.c | 23 ++++++++++++++++-------
22346 1 file changed, 16 insertions(+), 7 deletions(-)
22348 commit 5c843b5f8eca4b6f9756644143bc1be3bc3cbc84
22349 Author: Chris Wilson <chris@chris-wilson.co.uk>
22350 Date: Tue Jul 21 20:43:28 2009 +0100
22352 [scaled-font] Skip empty glyphs
22354 Skip the composition of empty glyphs - prevents redundant calls through
22357 src/cairo-scaled-font.c | 57 ++++++++++++++++++++++++++---------------------
22358 1 file changed, 31 insertions(+), 26 deletions(-)
22360 commit 0c4692a1d0667f5850f59c65754a3ffbaf688afe
22361 Author: Chris Wilson <chris@chris-wilson.co.uk>
22362 Date: Mon Jul 20 23:34:55 2009 +0100
22364 [perf] Specify html file on cmdline instead of redirecting all output
22366 Redirecting all output was causing the build messages to be entangled with
22367 the Performance Change html.
22369 perf/Makefile.am | 4 ++--
22370 perf/cairo-perf-diff | 6 +++---
22371 2 files changed, 5 insertions(+), 5 deletions(-)
22373 commit 1ec1d6148e85d4a9b9da825ea57adb0b8ceba1c0
22374 Author: Chris Wilson <chris@chris-wilson.co.uk>
22375 Date: Mon Jul 20 22:42:44 2009 +0100
22377 [perf] Compare performance against most recent tag.
22379 perf/Makefile.am | 7 ++++++-
22380 1 file changed, 6 insertions(+), 1 deletion(-)
22382 commit 9d7fd626c39c37368ea05f91a358899e5b5b898c
22383 Author: Chris Wilson <chris@chris-wilson.co.uk>
22384 Date: Thu Jul 23 17:05:28 2009 +0100
22386 [script] Decompress font sources
22388 Need to decompress patterns and embedded bytecode before passing to
22389 fontconfig/FreeType.
22391 util/cairo-script/cairo-script-operators.c | 119 +++++++++++++++++++++++-----
22392 1 file changed, 99 insertions(+), 20 deletions(-)
22394 commit 5d8f366581c0ca31fac76c991cb681d036af275f
22395 Author: Chris Wilson <chris@chris-wilson.co.uk>
22396 Date: Thu Jul 23 16:36:02 2009 +0100
22398 [test] clip representation is no longer surface dependent
22400 So we can test the api just once in the preamble and not per-target.
22402 test/get-clip.c | 200 ++++++++++++++++++++-----------------------------------
22403 1 file changed, 74 insertions(+), 126 deletions(-)
22405 commit c3f2db4f73e93a3dafe0f52a5f9ca09ca78cc906
22406 Author: Chris Wilson <chris@chris-wilson.co.uk>
22407 Date: Thu Jun 11 15:18:55 2009 +0100
22409 [drm] Add an accelerated image surface.
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...
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.
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 +
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(-)
22461 commit bed2701e1c89095878d549cbca8f22d84f3dda3c
22462 Author: Chris Wilson <chris@chris-wilson.co.uk>
22463 Date: Thu Jul 23 15:32:13 2009 +0100
22465 Remove clip handling from generic surface layer.
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,
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
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:
22493 image-rgba evolution-20090607-0 1026085.22 0.18% -> 672972.07 0.77%: 1.52x speedup
22495 image-rgba evolution-20090618-0 680579.98 0.12% -> 573237.66 0.16%: 1.19x speedup
22497 image-rgba swfdec-fill-rate-4xaa-0 460296.92 0.36% -> 407464.63 0.42%: 1.13x speedup
22499 image-rgba swfdec-fill-rate-2xaa-0 128431.95 0.47% -> 115051.86 0.42%: 1.12x speedup
22503 image-rgba firefox-periodic-table-0 56837.61 0.78% -> 66055.17 3.20%: 1.09x slowdown
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(-)
22704 commit f5a1cdf283a6aa1f4409ccbf3c2274fb587724fe
22705 Author: Chris Wilson <chris@chris-wilson.co.uk>
22706 Date: Thu Jul 23 14:46:16 2009 +0100
22708 [gl] Simplify the common CLEAR of a surface
22710 Almost every surface is at sometime cleared, so catch the operation in
22711 paint(), and emit a simple glClear() instead.
22713 src/cairo-gl-surface.c | 25 ++++++++++++++++++++++++-
22714 1 file changed, 24 insertions(+), 1 deletion(-)
22716 commit eed17527f62eab826af65258b60cd4545a71a22d
22717 Author: Chris Wilson <chris@chris-wilson.co.uk>
22718 Date: Thu Jul 23 14:30:46 2009 +0100
22720 [gl] Do not use unchecked GL v1.5 features
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.
22728 src/cairo-gl-surface.c | 24 +++++++++++++-----------
22729 1 file changed, 13 insertions(+), 11 deletions(-)
22731 commit 6c28c7a1e268fad0ad34cac0d8a9a3951d8f3c7a
22732 Author: Chris Wilson <chris@chris-wilson.co.uk>
22733 Date: Thu Jul 23 08:45:58 2009 +0100
22735 [perf] Add a simple report printer.
22737 After a run, it can be useful to reprint the results, so add
22738 cairo-perf-print to perform that task.
22740 For the future, I'd like to move the performance suite over to the
22741 git/perf style of single, multi-function binary.
22743 The sequence of operations that I typically do are:
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
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.
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
22761 Also we want to think about installing the cairo-perf binary. So we want
22762 to differentiate when run inside a git checkout.
22764 perf/Makefile.am | 8 ++++--
22765 perf/cairo-perf-print.c | 72 +++++++++++++++++++++++++++++++++++++++++++++++
22766 2 files changed, 78 insertions(+), 2 deletions(-)
22768 commit 92ba74d760f20cd257b3916a51c8efef1c0e021e
22769 Author: Chris Wilson <chris@chris-wilson.co.uk>
22770 Date: Wed Jul 22 19:04:07 2009 +0100
22772 [vg] Compile fixes for EGL boilerplate
22774 boilerplate/cairo-boilerplate-vg.c | 19 +++++++++----------
22775 1 file changed, 9 insertions(+), 10 deletions(-)
22777 commit bfbe875ded0b0666a8048ef5fb598179a81c610a
22778 Author: Chris Wilson <chris@chris-wilson.co.uk>
22779 Date: Wed Jul 22 07:52:30 2009 +0100
22781 [gl] Enable GL backend for cairo-perf-trace
22783 perf/cairo-perf-trace.c | 3 +++
22784 perf/cairo-perf.c | 4 +++-
22785 2 files changed, 6 insertions(+), 1 deletion(-)
22787 commit fed000620335a5fc2bda2ffeca5cbdd0ca5a158c
22788 Author: Chris Wilson <chris@chris-wilson.co.uk>
22789 Date: Wed Jul 22 07:49:05 2009 +0100
22791 [NEWS] Add stub for OpenGL.
22794 1 file changed, 8 insertions(+)
22796 commit bff0b11634ffe52a5c8b2bbc9b6aee5bc3d2772c
22797 Author: Chris Wilson <chris@chris-wilson.co.uk>
22798 Date: Wed Jul 22 07:45:21 2009 +0100
22800 [gl] Update reference images
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(+)
22819 commit 653351cd2e9fbe42333cd5ce57b7b49c6da3d122
22820 Author: Chris Wilson <chris@chris-wilson.co.uk>
22821 Date: Wed Jul 22 07:38:24 2009 +0100
22823 [gl] Copy font options from image backend.
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
22829 src/cairo-gl-surface.c | 11 ++++++++++-
22830 1 file changed, 10 insertions(+), 1 deletion(-)
22832 commit a2ac67274d4ef89079c47cc415144a6ac0303f70
22833 Author: Chris Wilson <chris@chris-wilson.co.uk>
22834 Date: Wed Jul 22 00:05:07 2009 +0100
22836 [gl] Add warning about missing hook for XCloseDisplay().
22838 src/cairo-glx-context.c | 2 ++
22839 1 file changed, 2 insertions(+)
22841 commit f2f42ec70a626a69f4b29f55f9d1818942bb0b19
22842 Author: Chris Wilson <chris@chris-wilson.co.uk>
22843 Date: Wed Jul 22 00:01:22 2009 +0100
22845 [gl] Apply pixel sample bias for spans
22847 src/cairo-gl-surface.c | 10 ++++++----
22848 1 file changed, 6 insertions(+), 4 deletions(-)
22850 commit 9e420f5d0669ec12eaaf7faf4e55642c10b95fb3
22851 Author: Chris Wilson <chris@chris-wilson.co.uk>
22852 Date: Tue Jul 21 23:45:00 2009 +0100
22854 [gl] Another whitespace pass.
22856 src/cairo-gl-surface.c | 69 ++++++++++++++++++++++++------------------------
22857 1 file changed, 35 insertions(+), 34 deletions(-)
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
22864 Merge commit 'anholt/gl-span-renderer'
22866 commit 5471603b527ecf43aaa72665d47929a1038aa642
22867 Author: Chris Wilson <chris@chris-wilson.co.uk>
22868 Date: Tue Jul 21 23:38:05 2009 +0100
22870 [gl] Use QUADS for drawing fill_rectangles() not TRIFAN
22872 As each rectangle is independent, we need to draw the array using QUADS.
22874 src/cairo-gl-surface.c | 2 +-
22875 1 file changed, 1 insertion(+), 1 deletion(-)
22877 commit c3ef0c8d2011a23d73ff919dbb947ca68e1d8c1b
22878 Author: Chris Wilson <chris@chris-wilson.co.uk>
22879 Date: Tue Jul 21 23:31:30 2009 +0100
22883 Ensure we leave a space between a function call and its parameters.
22885 src/cairo-gl-surface.c | 90 ++++++++++++++++++++++++------------------------
22886 1 file changed, 45 insertions(+), 45 deletions(-)
22888 commit b71c27bf4ebd19f74f22392ddb2612d843c74a38
22889 Author: Chris Wilson <chris@chris-wilson.co.uk>
22890 Date: Tue Jul 21 23:26:15 2009 +0100
22892 [gl] Remove dead code.
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
22899 src/cairo-gl-surface.c | 25 +------------------------
22900 1 file changed, 1 insertion(+), 24 deletions(-)
22902 commit c8cc6a205a68a7c87239424aa93a29b5b166561d
22903 Author: Chris Wilson <chris@chris-wilson.co.uk>
22904 Date: Tue Jul 21 23:08:39 2009 +0100
22906 [gl] Avoid temporary allocation of pixman trapezoids
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.
22912 src/cairo-gl-surface.c | 82 +++++++++++++++++++++---------------------------
22913 1 file changed, 36 insertions(+), 46 deletions(-)
22915 commit 5deb8fa213ce86759053be391966618ee0959f50
22916 Author: Chris Wilson <chris@chris-wilson.co.uk>
22917 Date: Tue Jun 9 16:20:32 2009 +0100
22919 [gl] Construct a dummy window for the initial context
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
22926 src/cairo-glx-context.c | 70 ++++++++++++++++++++++++++++++++++++++++++-----
22927 1 file changed, 63 insertions(+), 7 deletions(-)
22929 commit 911482e5ae88ba26a1b3290731968f8b8a80cd70
22930 Author: Chris Wilson <chris@chris-wilson.co.uk>
22931 Date: Fri May 22 23:44:27 2009 +0100
22933 [gl] Constrain image sources to max texture size
22935 src/cairo-gl-private.h | 2 ++
22936 src/cairo-gl-surface.c | 19 +++++++++++++++++++
22937 2 files changed, 21 insertions(+)
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
22944 Merge commit 'anholt/gl'
22947 boilerplate/Makefile.sources
22948 boilerplate/cairo-boilerplate.c
22949 build/configure.ac.features
22951 util/cairo-script/Makefile.am
22953 commit fd9df4978d56bbb85ecd795afce72c0310dbcf3f
22954 Author: Chris Wilson <chris@chris-wilson.co.uk>
22955 Date: Tue Jul 21 20:51:46 2009 +0100
22957 [perf] Don't override CAIRO_TRACE_DIR in cairo-perf-diff
22959 perf/cairo-perf-diff | 1 -
22960 1 file changed, 1 deletion(-)
22962 commit 2dd97ae59c482f09e42d719a941e189560f00b8f
22963 Author: Chris Wilson <chris@chris-wilson.co.uk>
22964 Date: Mon Jul 20 22:19:21 2009 +0100
22966 [perf] Include trace comparison in html output
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(-)
22974 commit f30cee70f5fadd1f2af60310a148f61ed4fc7069
22975 Author: Chris Wilson <chris@chris-wilson.co.uk>
22976 Date: Mon Jul 20 22:17:30 2009 +0100
22978 [perf] Search multiple directories for traces
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.
22984 perf/cairo-perf-trace.c | 23 +++++++++++++++++++++--
22985 1 file changed, 21 insertions(+), 2 deletions(-)
22987 commit ebac096648d638d6405152d37d7b58a0f6ad3242
22988 Author: Chris Wilson <chris@chris-wilson.co.uk>
22989 Date: Mon Jul 20 19:54:12 2009 +0100
22991 [build] And export CC_FOR_BUILD so that we can actually use it!
22993 build/configure.ac.tools | 1 +
22994 1 file changed, 1 insertion(+)
22996 commit ed7853d4991f17a5e6df694808d33603eecf9186
22997 Author: Chris Wilson <chris@chris-wilson.co.uk>
22998 Date: Mon Jul 20 19:37:27 2009 +0100
23000 [build] Use ${CC} as the default value for CC_FOR_BUILD
23002 build/configure.ac.tools | 7 +++++++
23003 1 file changed, 7 insertions(+)
23005 commit 809f77a5cb7c17582a0ed90285a3c48c0696ed3e
23006 Author: Chris Wilson <chris@chris-wilson.co.uk>
23007 Date: Mon Jul 20 13:44:48 2009 +0100
23009 [test] Summarise tests that fail during the preamble.
23011 Some tests only run and check during the preamble phase, and those
23012 failures were being ignored during the summary.
23014 test/cairo-test-runner.c | 109 ++++++++++++++++++++++++++++++++++++----------
23015 1 file changed, 85 insertions(+), 24 deletions(-)
23017 commit dbaa08e80b6d53f905974f3d2012f9425d9b8603
23018 Author: Chris Wilson <chris@chris-wilson.co.uk>
23019 Date: Mon Jul 20 11:53:17 2009 +0100
23021 [test] Fallback to comparing the base image references
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.
23027 test/cairo-test.c | 231 +++++++++++++++++++++++++++++++++++++----------------
23028 1 file changed, 163 insertions(+), 68 deletions(-)
23030 commit 164e0d2ea38baacd5888bffa5bebb5d64bfee01b
23031 Author: Chris Wilson <chris@chris-wilson.co.uk>
23032 Date: Mon Jul 20 11:02:04 2009 +0100
23034 [test] Misidentification of XFAIL as NEW
23036 cut'n'paste error compared the image against the known failure instead of
23037 any recorded new failure, when checking for NEW fails.
23039 test/cairo-test.c | 2 +-
23040 1 file changed, 1 insertion(+), 1 deletion(-)
23042 commit e2883177487ba294a0c97bafb00e2f56e5fe84d9
23043 Author: Chris Wilson <chris@chris-wilson.co.uk>
23044 Date: Mon Jul 20 18:55:04 2009 +0100
23046 Add a jhbuild moduleset.
23048 util/cairo.modules | 19 +++++++++++++++++++
23049 1 file changed, 19 insertions(+)
23051 commit 0c1e86d661e145981050129b163eae0fb8f4a963
23052 Author: Pierre Tardy <tardyp@gmail.com>
23053 Date: Sat Jul 18 19:16:20 2009 +0100
23055 Cross-compilation fix for boilerplate/test
23057 boilerplate/Makefile.am | 2 +-
23058 test/Makefile.am | 2 +-
23059 2 files changed, 2 insertions(+), 2 deletions(-)
23061 commit aac256b2692d15fc21abcdc9c1b9e5fd35f63f66
23062 Author: Chris Wilson <chris@chris-wilson.co.uk>
23063 Date: Sat Jul 18 16:15:47 2009 +0100
23065 Compile fixes for mingw32.
23067 Trivial typos found whilst using a cross-compiler.
23069 src/cairo-win32-surface.c | 1 +
23070 util/cairo-script/cairo-script-private.h | 4 ++--
23071 2 files changed, 3 insertions(+), 2 deletions(-)
23073 commit 922b01ad141305f909a4cfffc6c65a27c6d7a8a6
23074 Author: Chris Wilson <chris@chris-wilson.co.uk>
23075 Date: Fri Jul 17 14:27:19 2009 +0100
23077 [test] Add a simplified CLEAR test.
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.
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(+)
23091 commit 52fa8760aeef38abbab0484a6978adaf4f100f90
23092 Author: Chris Wilson <chris@chris-wilson.co.uk>
23093 Date: Wed Jul 15 16:37:25 2009 +0100
23095 Add OpenVG backend.
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!
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
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 ++
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(-)
23125 commit 34d5b862bce3e9273391eb5d2c384394cca94d2d
23126 Author: Chris Wilson <chris@chris-wilson.co.uk>
23127 Date: Thu Jul 16 14:18:13 2009 +0100
23129 [xlib] Enable Render support for the extended PDF operators
23131 With the latest 0.11 release of renderproto we now have the ability to
23132 use the extended PDF operators via Render.
23134 src/cairo-image-surface.c | 10 ++++++----
23135 src/cairo-xlib-surface.c | 48 ++++++++++++++++++++++++++++++++++++++++++---
23136 2 files changed, 51 insertions(+), 7 deletions(-)
23138 commit 01eec61f4ffae4f492d667b6accb5ed3f6960d2c
23139 Author: Tobias Hunger <tobias.hunger@gmail.com>
23140 Date: Thu Jul 16 00:16:59 2009 -0400
23142 [qt] Remove use of unnecessary QBrush pointer
23144 QBrush is a implicitly shared datastructure. There is on need to layer
23145 "explicit pointer based sharing" atop of it.
23147 Mozilla Bug #498871
23149 src/cairo-qt-surface.cpp | 31 +++++++++++++++----------------
23150 1 file changed, 15 insertions(+), 16 deletions(-)
23152 commit 222c12cc4e48c2c9178a7390ea8edd73d7cb56bb
23153 Author: Tobias Hunger <tobias.hunger@gmail.com>
23154 Date: Thu Jul 16 00:16:59 2009 -0400
23156 [qt] Remove use of unnecessary QPen pointer
23158 QPen is a implicitly shared class, so there is no need to do explicit sharing
23161 Mozilla Bug #498873
23163 src/cairo-qt-surface.cpp | 22 ++++++++++------------
23164 1 file changed, 10 insertions(+), 12 deletions(-)
23166 commit 0797b2fcaad0c17c35e67ec5d01a0556a76ee39d
23167 Author: Tobias Hunger <tobias.hunger@gmail.com>
23168 Date: Thu Jul 16 00:16:59 2009 -0400
23170 [qt] Cleanup some whitespace
23172 Mozilla bug #498843
23174 src/cairo-qt-surface.cpp | 212 +++++++++++++++++++++++-----------------------
23175 1 file changed, 106 insertions(+), 106 deletions(-)
23177 commit d782ba04b76ae18c562840242dc535e9db48aa13
23178 Author: Tobias Hunger <tobias.hunger@gmail.com>
23179 Date: Thu Jul 16 00:16:58 2009 -0400
23181 [qt] Add method to flush qpainter
23183 This is required for non-X11 rendering backends.
23185 Mozilla bug #498910
23187 src/cairo-qt-surface.cpp | 14 +++++++++++++-
23188 1 file changed, 13 insertions(+), 1 deletion(-)
23190 commit e713857b85ef45d923eae94d8e4c05c7b2049ca5
23191 Author: Tobias Hunger <tobias.hunger@gmail.com>
23192 Date: Thu Jul 16 00:16:58 2009 -0400
23194 [qt] Move _opstr() inside the #if 0 to avoid warnings
23196 Mozilla bug #498917
23198 src/cairo-qt-surface.cpp | 50 +++++++++++++++++++++++-----------------------
23199 1 file changed, 25 insertions(+), 25 deletions(-)
23201 commit 4f9551e5e533deb66401b601766bf4263192b6de
23202 Author: Tobias Hunger <tobias.hunger@gmail.com>
23203 Date: Thu Jul 16 00:16:57 2009 -0400
23205 [qt] Reduce padding in cairo_qt_surface_t struct
23207 Removes 4 bytes of padding (on a 32bit system) from the datastructure by
23208 reordering the members.
23210 Mozilla bug #498880
23212 src/cairo-qt-surface.cpp | 27 ++++++++++++++-------------
23213 1 file changed, 14 insertions(+), 13 deletions(-)
23215 commit 1caa34103925c53b180cd614f5c6b425b5a3f271
23216 Author: Chris Wilson <chris@chris-wilson.co.uk>
23217 Date: Wed Jul 15 13:26:34 2009 +0100
23219 Fix build under distcheck
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.
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(-)
23233 commit 818ad38a0e323892231469520a4b077f4dae31d4
23234 Author: Chris Wilson <chris@chris-wilson.co.uk>
23235 Date: Tue Jul 14 19:07:42 2009 +0100
23237 [boilerplate] Add make-...-constructors to .gitignore
23239 boilerplate/.gitignore | 1 +
23240 1 file changed, 1 insertion(+)
23242 commit 9a65b4a116a3ae451cbba2826467ad3375235a5c
23243 Author: Chris Wilson <chris@chris-wilson.co.uk>
23244 Date: Tue Jul 14 19:06:53 2009 +0100
23246 [perf] Add cairo-traces to .gitignore
23248 perf/.gitignore | 1 +
23249 1 file changed, 1 insertion(+)
23251 commit 5796a9240ea02dbdbef0d51a4ee71398fea858ad
23252 Author: Chris Wilson <chris@chris-wilson.co.uk>
23253 Date: Tue Jul 14 19:04:56 2009 +0100
23255 [test] Reconstruct REFERENCE_IMAGES
23257 Rebuild the list from scratch using the contents of my git working tree.
23259 test/Makefile.am | 449 ++++++++++++++++++++++--------------------------------
23260 1 file changed, 178 insertions(+), 271 deletions(-)
23262 commit 8c55ca9ebce487c5ca8b1712f8358a6361032d43
23263 Author: Chris Wilson <chris@chris-wilson.co.uk>
23264 Date: Tue Jul 14 16:54:51 2009 +0100
23266 [directfb] Silence compiler warnings.
23268 Add extended blend mode to operator switch.
23270 src/cairo-directfb-surface.c | 15 +++++++++++++++
23271 1 file changed, 15 insertions(+)
23273 commit 8ad3fca2109f18b5125e7087b3059eb4225eec3e
23274 Author: Chris Wilson <chris@chris-wilson.co.uk>
23275 Date: Tue Jul 14 16:51:31 2009 +0100
23277 [glitz] Extended blend mode support
23279 Ensure that we fallback given an extended operator.
23281 src/cairo-glitz-surface.c | 80 +++++++++++++++++++++++++++++++++------------
23282 1 file changed, 60 insertions(+), 20 deletions(-)
23284 commit 333d37a60fa80f325612ea94b19ec9892dff8cfb
23285 Author: Chris Wilson <chris@chris-wilson.co.uk>
23286 Date: Tue Jul 14 16:41:00 2009 +0100
23288 [pdf] Silence copmiler.
23290 Fill in missing case values to silence the compiler, and remind us should
23291 we every add more operators in future.
23293 src/cairo-pdf-surface.c | 95 ++++++++++++++++++++++++-----------------------
23294 1 file changed, 48 insertions(+), 47 deletions(-)
23296 commit 710308c64e298ae35988fb0881a33cbe92af48ab
23297 Author: Chris Wilson <chris@chris-wilson.co.uk>
23298 Date: Tue Jul 14 16:31:41 2009 +0100
23300 [script] Extended blend mode support.
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(-)
23307 commit 100f0d94eebcec05372263b2e68c27b91b52a1c8
23308 Author: Chris Wilson <chris@chris-wilson.co.uk>
23309 Date: Tue Jul 14 16:30:36 2009 +0100
23311 [cairo] Remove trailing spaces in comments.
23313 vim highlights these errors making my screen go red and upsets me.
23316 src/cairo.h | 22 +++++++++++-----------
23317 1 file changed, 11 insertions(+), 11 deletions(-)
23319 commit 75736603d3b976dab8ac1ef473164c618084ee60
23320 Author: Emmanuel Pacaud <emmanuel.pacaud@free.fr>
23321 Date: Wed Aug 29 15:11:23 2007 +0200
23323 [SVG] Add extended blend modes.
23325 src/cairo-svg-surface.c | 6 ++++++
23326 1 file changed, 6 insertions(+)
23328 commit 47af6cf2803737ab7248d1ce4d76f038d1f3188e
23329 Author: Adrian Johnson <ajohnson@redneon.com>
23330 Date: Tue Jul 14 15:34:13 2009 +0200
23332 [pdf] Add support for the extra blend modes
23334 HSL modes support added by Benjamin Otte <otte@gnome.org>
23336 src/cairo-pdf-surface-private.h | 4 +
23337 src/cairo-pdf-surface.c | 162 ++++++++++++++++++++++++++++++++++++++-
23338 2 files changed, 164 insertions(+), 2 deletions(-)
23340 commit cf186d60b0d96cde859869237fa859e28a74a037
23341 Author: Benjamin Otte <otte@gnome.org>
23342 Date: Thu Aug 30 10:16:00 2007 +0200
23344 [xlib] Add support for new operators
23346 This is of course just making sure fallbacks get used as Render does not support
23347 the new operators yet.
23349 src/cairo-xlib-surface.c | 28 +++++++++++++++++++++++++++-
23350 1 file changed, 27 insertions(+), 1 deletion(-)
23352 commit 0fd944d4bfbc2fff9960378eafd18a7d8fb9f296
23353 Author: Benjamin Otte <otte@gnome.org>
23354 Date: Tue Jul 14 15:28:10 2009 +0200
23356 Use new pixman extended blend operators
23358 It also adds extended-blend tests.
23360 Based on a previous patch by Emmanuel Pacaud <emmanuel.pacaud@free.fr>
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(-)
23375 commit 16387f0a7dd3b474bcaf637d3e290029b79afec1
23376 Author: Carlos Garcia Campos <carlosgc@gnome.org>
23377 Date: Tue Jul 14 11:16:24 2009 +0200
23379 [configure] Bump pixman dependency
23381 Version 0.15.16 contains the new PDF blend mode operators.
23383 configure.ac | 2 +-
23384 1 file changed, 1 insertion(+), 1 deletion(-)
23386 commit 655a4dbc36d95ce4a82cbc13aa9e2002b41fa4de
23387 Author: Chris Wilson <chris@chris-wilson.co.uk>
23388 Date: Mon Jul 13 14:31:43 2009 +0100
23390 [test] Track XFAIL using expected results stored as xfail.png
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).
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).
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.
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(-)
23792 commit a81cf14bd6de545e9108f5c24c59e55026df86de
23793 Author: Chris Wilson <chris@chris-wilson.co.uk>
23794 Date: Mon Jul 13 10:58:44 2009 +0100
23796 [test] Sanitise REFERENCE_IMAGES
23798 Add and delete files to satisfy 'make check-ref-missing'.
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(-)
23810 commit 7f3eda4e9f9e6cb6f3a33871ed42099c822d0ea2
23811 Author: Chris Wilson <chris@chris-wilson.co.uk>
23812 Date: Mon Jul 13 10:43:34 2009 +0100
23814 [test] Update reference images for gs 8.64
23816 test/Makefile.am | 7 +++++--
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(-)
23827 commit 0d44416b9dd8149032039cf44ea14bf4867f3c54
23828 Author: Adrian Johnson <ajohnson@redneon.com>
23829 Date: Sun Jul 12 19:21:28 2009 +0930
23831 PDF: Don't round pattern y location to an integer
23833 Using cairo_surface_get_extents() to get page height does not work
23834 when the page height is not an integer.
23836 http://lists.cairographics.org/archives/cairo/2009-July/017570.html
23838 src/cairo-pdf-surface.c | 10 +---------
23839 1 file changed, 1 insertion(+), 9 deletions(-)
23841 commit 9686331cb07a8f9018f28dc7d6d6e3726e289fda
23842 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
23843 Date: Sat May 2 18:05:20 2009 +0300
23845 [spans] Round rasterization grid pixel areas instead of truncating.
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.
23853 Reported by Soeren Sandmann on the cairo mailing list:
23855 http://lists.cairographics.org/archives/cairo/2009-May/017043.html
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(-)
23882 commit fbd88db938bf3bb03934795da9b3d184c4f43608
23883 Author: Chris Wilson <chris@chris-wilson.co.uk>
23884 Date: Sun Jul 5 14:43:50 2009 +0100
23886 [path] Don't include current-point in hash
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.
23892 src/cairo-path-fixed.c | 17 +++++++++--------
23893 1 file changed, 9 insertions(+), 8 deletions(-)
23895 commit 73f8019fd2afd0ad41c2515bef9877348355d246
23896 Author: Chris Wilson <chris@chris-wilson.co.uk>
23897 Date: Sun Jul 5 14:37:02 2009 +0100
23899 [path] Use cairo_list_t instead of open-coding its own
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.
23906 src/cairo-path-fixed-private.h | 14 +--
23907 src/cairo-path-fixed.c | 226 +++++++++++++++++++---------------------
23909 3 files changed, 114 insertions(+), 128 deletions(-)
23911 commit a04e3726648c62a1385b67cfc16a785a468e1d13
23912 Author: Chris Wilson <chris@chris-wilson.co.uk>
23913 Date: Sun Jul 5 09:21:47 2009 +0100
23915 [path] Add path watch debugging
23917 Simple debug macro to print the path to stderr during construction.
23919 src/cairo-path-fixed-private.h | 9 +++++++++
23920 src/cairo-path-fixed.c | 26 ++++++++++++++++++++++++++
23921 2 files changed, 35 insertions(+)
23923 commit 1645352bfb69cc6d43fcbf3c77b4da5693af322a
23924 Author: Chris Wilson <chris@chris-wilson.co.uk>
23925 Date: Sun Jul 5 09:09:42 2009 +0100
23927 [path] Evaluate is_box && is_region during construction
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.
23934 src/cairo-path-fixed-private.h | 8 ++
23935 src/cairo-path-fixed.c | 286 +++++++++++++++-------------------------
23937 src/cairoint.h | 3 -
23938 4 files changed, 115 insertions(+), 184 deletions(-)
23940 commit 4bb157672ef8cb7d486d6ccdaaa3890e3f45e17a
23941 Author: Chris Wilson <chris@chris-wilson.co.uk>
23942 Date: Sat Jul 4 23:44:09 2009 +0100
23944 [test] Rename some structures within cairo-test-trace
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.
23949 test/cairo-test-trace.c | 224 +++++++++++++++++++++++------------------------
23950 1 file changed, 112 insertions(+), 112 deletions(-)
23952 commit 53a54827f7d8ca8500f3f9674edbd7e768e8a50d
23953 Author: Chris Wilson <chris@chris-wilson.co.uk>
23954 Date: Sun Jul 5 09:22:05 2009 +0100
23956 [boilerplate] Add missing header file.
23958 Deleted so many, and forgot to add just this little one. Sigh.
23960 boilerplate/cairo-boilerplate-private.h | 49 +++++++++++++++++++++++++++++++
23961 1 file changed, 49 insertions(+)
23963 commit ee8c50f2d6f1dba41f829c715b7bc59b5eeda50d
23964 Author: Chris Wilson <chris@chris-wilson.co.uk>
23965 Date: Sat Jul 4 22:00:09 2009 +0100
23967 Remove the defunct test-meta surface
23969 Replace the internal test-meta surface will the freshly exported,
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(-)
23980 commit 88cb69b10c66751f687c3745c8e9861b105de3a2
23981 Author: Chris Wilson <chris@chris-wilson.co.uk>
23982 Date: Sat Jul 4 21:43:27 2009 +0100
23984 [boilerpate] Move target definition to backends.
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
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(-)
24033 commit 8a10ab1c04298d6c22ae8aabec5d762141a8e98f
24034 Author: Chris Wilson <chris@chris-wilson.co.uk>
24035 Date: Sat Jul 4 18:46:21 2009 +0100
24037 [script] Tidy dict construction for glyphs
24039 Replace dict with '<< ... >>' similar to surface definitions as it is
24040 easier to read in scripts.
24042 src/cairo-script-surface.c | 12 ++++++------
24043 1 file changed, 6 insertions(+), 6 deletions(-)
24045 commit fef3649953a3dcc3a17d9d5858f56690a8782501
24046 Author: Chris Wilson <chris@chris-wilson.co.uk>
24047 Date: Sat Jul 4 18:32:57 2009 +0100
24049 [script] Fix the trivial errors running the test suite
24051 A few typos crept in breaking the script output and various refreshes of
24052 the expected results.
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(-)
24061 commit 2395bba1e66a2623cb288e13effc206f86e5e62e
24062 Author: Chris Wilson <chris@chris-wilson.co.uk>
24063 Date: Sat Jul 4 18:31:49 2009 +0100
24065 [any2ppm] Choose a more appropriate format for the replay content
24067 Actually select a format that matches the request content when replaying
24068 the script to an image.
24070 test/any2ppm.c | 15 ++++++++++++++-
24071 1 file changed, 14 insertions(+), 1 deletion(-)
24073 commit 9942a89870f7754e28ff334010c4432553cf7d91
24074 Author: Chris Wilson <chris@chris-wilson.co.uk>
24075 Date: Sat Jul 4 18:30:24 2009 +0100
24077 [boilerplate] Read whole RGB lines at a time
24079 Rather than read+unpack each pixel, read in a whole RGB packed line and
24080 unpack the whole line in a single pass.
24082 boilerplate/cairo-boilerplate.c | 13 +++++++------
24083 1 file changed, 7 insertions(+), 6 deletions(-)
24085 commit 23648e2fdfefba4df08bc854d725758209998e1f
24086 Author: Chris Wilson <chris@chris-wilson.co.uk>
24087 Date: Fri Jul 3 00:40:32 2009 +0100
24089 [script] Prototypical binary translator
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).
24096 By converting scripts to a binary form, they are more compact and
24099 firefox-world-map.trace 526850146 bytes
24100 bound.trace 275187755 bytes
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
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...
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(-)
24127 commit 07c0c8c5c0820e93403623eb5c1fa2df8ca89c60
24128 Author: Chris Wilson <chris@chris-wilson.co.uk>
24129 Date: Sat Jul 4 14:07:16 2009 +0100
24131 [surface] Refactor meta-surface clone
24133 Whilst still obnoxious, at least moving it to a separate function is more
24136 src/cairo-surface.c | 140 +++++++++++++++++++++++++++++----------------------
24137 1 file changed, 79 insertions(+), 61 deletions(-)
24139 commit 7903c80ee81777bab6eec408c10b2b59330b10f7
24140 Author: Chris Wilson <chris@chris-wilson.co.uk>
24141 Date: Sat Jul 4 13:50:15 2009 +0100
24143 [meta] Cache replays when used as a pattern source
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
24149 Fixes Bug 17971 -- Extreme slowdown for manual convolutions in most
24151 https://bugs.freedesktop.org/show_bug.cgi?id=17971
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(-)
24158 commit f353ba46a3b8c260f96588fd6bb8d07c2a09d01a
24159 Author: Chris Wilson <chris@chris-wilson.co.uk>
24160 Date: Sat Jul 4 13:49:35 2009 +0100
24162 [meta] Copy extents on snapshotting.
24164 Need to copy across the extents as well when snapshotting.
24166 src/cairo-meta-surface.c | 1 +
24167 1 file changed, 1 insertion(+)
24169 commit f4019be7bdff5c67d679f4de1070c25aa99a993d
24170 Author: Chris Wilson <chris@chris-wilson.co.uk>
24171 Date: Sat Jul 4 13:16:42 2009 +0100
24173 [trace] Remove a few transient pattern def/undef
24175 It is easier on the eye to use
24176 '1 index set-source exch pop'
24178 'dup /p0 exch def p0 set-source /p0 undef'
24179 (as patterns are expected to be temporary so we strive to avoid naming
24182 util/cairo-trace/trace.c | 42 +++++++++++++++++++++++++++++++-----------
24183 1 file changed, 31 insertions(+), 11 deletions(-)
24185 commit dcb7f1d034438c5c890490df93a86b40fea3036c
24186 Author: Chris Wilson <chris@chris-wilson.co.uk>
24187 Date: Sat Jul 4 08:08:25 2009 +0100
24189 [script] Add missing include <string.h>
24191 As reported by Magnus Boman <captain.magnus@gmail.com>.
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
24196 util/cairo-script/csi-replay.c | 1 +
24197 1 file changed, 1 insertion(+)
24199 commit 97bd2228a6635bbb0eac4ce95801754957dbb7ba
24200 Author: Chris Wilson <chris@chris-wilson.co.uk>
24201 Date: Fri Jul 3 19:41:51 2009 +0100
24203 [script] Insert spaces around '<<' and '>>'
24205 The dictionary constructors are just ordinary tokens so need space for
24208 src/cairo-script-surface.c | 62 +++++++++++++++-----------------------------
24209 1 file changed, 21 insertions(+), 41 deletions(-)
24211 commit 6003ab77e1ebefadb97338de0e7da4a76d973b1a
24212 Author: Chris Wilson <chris@chris-wilson.co.uk>
24213 Date: Fri Jul 3 18:26:50 2009 +0100
24215 Export meta-surface
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.
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.
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 +
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(-)
24252 commit 2a9903dbbfeb3fe843f0d618d15674b37a29f3a9
24253 Author: Chris Wilson <chris@chris-wilson.co.uk>
24254 Date: Fri Jul 3 12:48:40 2009 +0100
24256 [script] Trim some excess verbage
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
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(-)
24268 commit 28773fe79f883c32ee4e55e49f5dc3fced00c4f6
24269 Author: Chris Wilson <chris@chris-wilson.co.uk>
24270 Date: Fri Jul 3 13:17:47 2009 +0100
24272 [test-meta] Initialize image
24274 Oops, stupid mistake - missed off the initialization of the image to NULL
24275 from the last commit.
24277 src/test-meta-surface.c | 1 +
24278 1 file changed, 1 insertion(+)
24280 commit ac6c3dbbaed377273b73da6e9e03bb8380a78ec4
24281 Author: Chris Wilson <chris@chris-wilson.co.uk>
24282 Date: Fri Jul 3 12:56:20 2009 +0100
24284 [test-meta] Lazily allocate image
24286 Only allocate the image on first use, as we may never actually need to
24287 construct the image output.
24289 src/test-meta-surface.c | 42 ++++++++++++++++++++++++------------------
24290 1 file changed, 24 insertions(+), 18 deletions(-)
24292 commit fe73a9dd1413a851beeca7a0fc4ab7cb351ea9ea
24293 Author: Chris Wilson <chris@chris-wilson.co.uk>
24294 Date: Fri Jul 3 11:24:42 2009 +0100
24296 [test] Record trace to an in-memory meta-surface
24298 Requires hooking into test-meta-surface currently. Export meta-surface!
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
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(-)
24311 commit 633efe81873168506ec3594eae1f6ac38d71026c
24312 Author: Chris Wilson <chris@chris-wilson.co.uk>
24313 Date: Thu Jul 2 09:17:43 2009 +0100
24315 [surface] Allocate temporary region on stack
24317 Avoid a very short-lived temporary heap allocation of a region.
24319 src/cairo-surface.c | 13 +++++--------
24320 1 file changed, 5 insertions(+), 8 deletions(-)
24322 commit b2e2a2f31af33ff01d78c6c8786249a623017ffa
24323 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24324 Date: Tue Jun 30 15:47:51 2009 +0200
24326 [test] Update argb32 pdf reference image for trap-clip
24328 test/trap-clip.pdf.argb32.ref.png | Bin 6720 -> 6745 bytes
24329 1 file changed, 0 insertions(+), 0 deletions(-)
24331 commit 910afc7a8e5c40f4fe682ec0b0f3836a07ea721d
24332 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24333 Date: Tue Jun 30 15:40:24 2009 +0200
24335 [test] Mark all smask tests as XFAIL for pdf
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
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(-)
24350 commit 5becfc2bd59956090daa8afd68db2f139dcb8392
24351 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24352 Date: Tue Jun 30 14:58:40 2009 +0200
24354 [test] Add pdf reference image for rotate-image-surface-paint
24356 Remove also argb32 and rgb24 pdf reference images.
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(-)
24364 commit f81203cde864af1a1fea81a438e4f4effe928808
24365 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24366 Date: Tue Jun 30 14:44:19 2009 +0200
24368 [test] Add pdf reference image for mask-transformed-image
24370 test/Makefile.am | 1 +
24371 test/mask-transformed-image.pdf.ref.png | Bin 0 -> 3528 bytes
24372 2 files changed, 1 insertion(+)
24374 commit 9d538ef337e9ca1600f842cd2164ff5e6629090a
24375 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24376 Date: Tue Jun 30 14:42:32 2009 +0200
24378 [test] Update argb32 and rgb24 pdf reference image for mask
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(-)
24384 commit 97def877bb1c290735875061118bd795b9b83215
24385 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24386 Date: Tue Jun 30 14:18:30 2009 +0200
24388 [test] Update pdf reference image for surface-pattern
24390 Remove also argb32 and rgb24 pdf reference images.
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(-)
24398 commit 8a6bdc63c1491dc77e8d9e192b9e44d9ff2e3c9b
24399 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24400 Date: Tue Jun 30 13:33:07 2009 +0200
24402 [test] Update argb32 and rgb24 pdf reference image for text-pattern
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(-)
24408 commit b46ba7aa33ba604628f1c94449019895b1d7ef82
24409 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24410 Date: Tue Jun 30 13:25:39 2009 +0200
24412 [test] Update pdf reference image for text-transform
24414 test/text-transform.pdf.ref.png | Bin 3796 -> 5586 bytes
24415 1 file changed, 0 insertions(+), 0 deletions(-)
24417 commit 9bc7ab980d6e834dacaf4f48f199e8c95cfba94e
24418 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24419 Date: Tue Jun 30 12:09:50 2009 +0200
24421 [test] Update pdf reference image for filter-nearest-transformed
24423 Remove also argb32 and rgb24 pdf reference images.
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(-)
24431 commit 27938f7e3ff357e5fe8a05e547cf83dbad7551ef
24432 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24433 Date: Tue Jun 30 12:04:06 2009 +0200
24435 [test] Update pdf reference image for filter-nearest-offset
24437 Remove also argb32 and rgb24 pdf reference images.
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(-)
24445 commit e6576e8912196607fdd3613c6924e26c2ce7a951
24446 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24447 Date: Tue Jun 30 11:56:18 2009 +0200
24449 [test] Update argb32 pdf reference image for clip-operator
24451 test/clip-operator.pdf.argb32.ref.png | Bin 11604 -> 11603 bytes
24452 1 file changed, 0 insertions(+), 0 deletions(-)
24454 commit 13d9374ec13c62233312beb0feb9a47531aec2e3
24455 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24456 Date: Mon Jun 29 17:36:47 2009 +0200
24458 [test] Remove PDF reference images for scale-source-surface-paint
24460 It works with current poppler now
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(-)
24467 commit 3710c4184c2e87368dde5ccb25f3648b861b6059
24468 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24469 Date: Mon Jun 29 17:32:54 2009 +0200
24471 [test] Remove PDF reference images for paint-with-alpha
24473 It works with current poppler now
24475 test/Makefile.am | 1 -
24476 test/paint-with-alpha.pdf.ref.png | Bin 466 -> 0 bytes
24477 2 files changed, 1 deletion(-)
24479 commit 8162acd81a898247f19054a136af95062e3b0e91
24480 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24481 Date: Mon Jun 29 12:42:52 2009 +0200
24483 [test] Remove PDF reference images for paint-source-alpha
24485 It works with current poppler now
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(-)
24492 commit 1e1f4fd0920cb2b0882137b4cc500dcbae42d2dc
24493 Author: Carlos Garcia Campos <carlosgc@gnome.org>
24494 Date: Tue Jun 30 11:05:50 2009 +0200
24496 [test] Use poppler_page_render with a transparent surface
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
24502 test/any2ppm.c | 9 +++++----
24503 test/pdf2png.c | 9 +++++----
24504 2 files changed, 10 insertions(+), 8 deletions(-)
24506 commit 700a555d194a20c00df69b963cdc5b6153e162a4
24507 Author: Chris Wilson <chris@chris-wilson.co.uk>
24508 Date: Wed Jul 1 19:41:42 2009 +0100
24510 [surface] Expose a SURFACE_TYPE_MISMATCH nil object
24512 Gah, yet more error object bloat. Must finish cairo-object.
24514 src/cairo-surface.c | 4 +++-
24515 1 file changed, 3 insertions(+), 1 deletion(-)
24517 commit 8f4611a94bda407b5944520b95599441a4ff5327
24518 Author: Chris Wilson <chris@chris-wilson.co.uk>
24519 Date: Wed Jul 1 19:39:57 2009 +0100
24521 [perf] Fix use-after-free when retrieving error line number
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.
24526 perf/cairo-perf-trace.c | 5 ++---
24527 1 file changed, 2 insertions(+), 3 deletions(-)
24529 commit 7c160dea5456b783d9b04b5c11bbacb9a89fa031
24530 Author: Chris Wilson <chris@chris-wilson.co.uk>
24531 Date: Wed Jul 1 10:12:50 2009 +0100
24533 [perf] Unbreak cairo-perf-diff builder
24535 perf/cairo-perf-diff | 19 ++++++++++---------
24536 1 file changed, 10 insertions(+), 9 deletions(-)
24538 commit 3d88f99668308315db759af3dac789973caa8eae
24539 Author: Chris Wilson <chris@chris-wilson.co.uk>
24540 Date: Wed Jul 1 09:57:56 2009 +0100
24542 [perf] Enable cairo-perf-trace in cairo-perf-diff
24544 Only as a --trace option for now.
24546 perf/cairo-perf-diff | 51 +++++++++++++++++++++++++++++++++++---------------
24547 1 file changed, 36 insertions(+), 15 deletions(-)
24549 commit 1564d67d63618e12c58dc1d65c7e68505950e4d4
24550 Author: Chris Wilson <chris@chris-wilson.co.uk>
24551 Date: Tue Jun 30 22:22:39 2009 +0100
24553 [perf] Exclude the xlib-reference target from cairo-perf
24555 perf/cairo-perf-trace.c | 3 ++-
24556 perf/cairo-perf.c | 3 ++-
24557 2 files changed, 4 insertions(+), 2 deletions(-)
24559 commit e5b4f78bff20903fef5f55a0fcd026590ea444a4
24560 Author: Chris Wilson <chris@chris-wilson.co.uk>
24561 Date: Tue Jun 30 22:12:50 2009 +0100
24563 [boilerplate] Only include null-test-surface >= cairo-1.9.3
24565 boilerplate/cairo-boilerplate-test-surfaces.c | 10 +++++++++-
24566 1 file changed, 9 insertions(+), 1 deletion(-)
24568 commit e0bdbb437ee699d6f75df34494a6e290dc55aa39
24569 Author: Chris Wilson <chris@chris-wilson.co.uk>
24570 Date: Tue Jun 30 22:04:01 2009 +0100
24572 [xlib] Remove redundant checks for src_picture==None
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.
24578 src/cairo-xlib-surface.c | 12 +-----------
24579 1 file changed, 1 insertion(+), 11 deletions(-)
24581 commit b7f68d3518e25fb02c9d36d14de9dc0c905ffe8f
24582 Author: Chris Wilson <chris@chris-wilson.co.uk>
24583 Date: Tue Jun 30 20:46:12 2009 +0100
24585 [perf] Enable trace directory recursion.
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.
24591 perf/cairo-perf-trace.c | 104 ++++++++++++++++++++++++++++++-----------------
24592 perf/cairo-perf.h | 1 +
24593 2 files changed, 68 insertions(+), 37 deletions(-)
24595 commit 6102dd0c1c26e289ad08d1cf0cc366e6298f5711
24596 Author: Chris Wilson <chris@chris-wilson.co.uk>
24597 Date: Mon Jun 29 10:50:44 2009 +0100
24599 [ft] Correct reference counting for implementation font face
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
24605 src/cairo-ft-font.c | 3 +--
24606 1 file changed, 1 insertion(+), 2 deletions(-)
24608 commit 4f745fbe3329a4fd5164c7bd7fe61c0395e8d1ee
24609 Author: Chris Wilson <chris@chris-wilson.co.uk>
24610 Date: Mon Jun 29 10:49:51 2009 +0100
24612 [test] Only run fallback-resolution for enabled targets
24614 A secondary check that both activates CAIRO_TEST_TARGET and prevents a
24615 NULL-deref with the null test surface.
24617 test/fallback-resolution.c | 3 +++
24618 1 file changed, 3 insertions(+)
24620 commit d80f5580ef371a1d4b1746b4ad54d97274d2d6cd
24621 Author: Chris Wilson <chris@chris-wilson.co.uk>
24622 Date: Sun Jun 28 21:11:41 2009 +0100
24624 [pattern] Mark _cairo_pattern_nil as static
24626 Fixes check-def.sh failure.
24628 src/cairo-pattern.c | 2 +-
24629 1 file changed, 1 insertion(+), 1 deletion(-)
24631 commit 758a18b354cefca841536c7d91f8f5758456f72f
24632 Author: Chris Wilson <chris@chris-wilson.co.uk>
24633 Date: Sun Jun 28 20:56:33 2009 +0100
24635 [test] Timeout support for tests
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.
24641 build/configure.ac.system | 3 +++
24642 test/cairo-test.c | 18 ++++++++++++++++++
24643 test/cairo-test.h | 2 ++
24644 3 files changed, 23 insertions(+)
24646 commit f7021d8f3e59d1f7fa77135366bbbd6845dff684
24647 Author: Chris Wilson <chris@chris-wilson.co.uk>
24648 Date: Sun Jun 28 20:41:04 2009 +0100
24650 [script] Enable error handling for recursive scanners
24652 It's conceivable that a script could execute another file and so we should
24653 only setjmp on the first invocation.
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(-)
24659 commit 963664727b4754f92a876c36557922821706f591
24660 Author: Chris Wilson <chris@chris-wilson.co.uk>
24661 Date: Sun Jun 28 10:49:37 2009 +0100
24663 [trace] Compile fix for --enable-script
24665 Silly typo as pointed out by Hans Breuer <hans@breuer.org>.
24667 util/cairo-trace/trace.c | 2 +-
24668 1 file changed, 1 insertion(+), 1 deletion(-)
24670 commit 2ecafb025c8b15a86372b655e763d742a0f6ef85
24671 Author: Chris Wilson <chris@chris-wilson.co.uk>
24672 Date: Sun Jun 28 10:09:01 2009 +0100
24674 [script] Reuse glyph advance cache over multiple invocations
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.
24679 util/cairo-script/cairo-script-operators.c | 413 +++++++++-------------------
24680 1 file changed, 131 insertions(+), 282 deletions(-)
24682 commit 663da31bbe7cf6021c8d59a4d4ddd2702cfe860f
24683 Author: Chris Wilson <chris@chris-wilson.co.uk>
24684 Date: Sun Jun 28 01:17:13 2009 +0100
24686 [boilerplate] Propagate original error from create_from_png()
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.
24694 boilerplate/cairo-boilerplate.c | 2 ++
24695 1 file changed, 2 insertions(+)
24697 commit 2bbb69420289aa372512602db312611369e70f54
24698 Author: Chris Wilson <chris@chris-wilson.co.uk>
24699 Date: Sun Jun 28 00:57:10 2009 +0100
24701 [test] Disable fallback16 testing
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.
24708 boilerplate/cairo-boilerplate.c | 4 ++--
24709 1 file changed, 2 insertions(+), 2 deletions(-)
24711 commit 34ac8673b2d51edeb0b29a4949d7d16c3d07a790
24712 Author: Chris Wilson <chris@chris-wilson.co.uk>
24713 Date: Sun Jun 28 00:48:05 2009 +0100
24715 [script] Use setjmp exception handling during scanning
24717 Save ~5% of overhead by using longjmp on error to terminate scanning
24718 instead of propagating the error, incurring lots of redundant error
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(-)
24727 commit 2b1ec7a4d87399824dacb9803627c9322b12d894
24728 Author: Chris Wilson <chris@chris-wilson.co.uk>
24729 Date: Sat Jun 27 22:48:19 2009 +0100
24731 [cairo] Report true error via pattern from cairo_pop_group()
24733 Report the correct error via the returned pattern->status rather than
24734 simply returning the NO_MEMORY nil object.
24736 src/cairo-pattern.c | 4 ++--
24737 src/cairo.c | 18 +++++++++++-------
24738 src/cairoint.h | 4 +++-
24739 3 files changed, 16 insertions(+), 10 deletions(-)
24741 commit 5c3be3ece27b7cf6e4b1262ea18ac51b45c62389
24742 Author: Chris Wilson <chris@chris-wilson.co.uk>
24743 Date: Sat Jun 27 22:40:15 2009 +0100
24745 [cairo] Mark cr->status guard as unlikely
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.
24750 src/cairo.c | 199 +++++++++++++++++++++++++++++------------------------------
24751 1 file changed, 97 insertions(+), 102 deletions(-)
24753 commit f3880283331f3bda374e24fd0e1de677d8d368a9
24754 Author: Chris Wilson <chris@chris-wilson.co.uk>
24755 Date: Sat Jun 27 20:18:18 2009 +0100
24757 [gstate] Avoid temporary allocation for transformed patterns
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.)
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(-)
24769 commit 3759c7b34b662ccdc0486c68798aca0a6438ab7e
24770 Author: Chris Wilson <chris@chris-wilson.co.uk>
24771 Date: Sat Jun 27 19:38:30 2009 +0100
24773 [perf] Enable the null-backend for trace replays.
24775 perf/cairo-perf-trace.c | 2 +-
24776 1 file changed, 1 insertion(+), 1 deletion(-)
24778 commit 8d4c704129132effa10fb9242239952c2f4b7721
24779 Author: Chris Wilson <chris@chris-wilson.co.uk>
24780 Date: Sat Jun 27 19:34:20 2009 +0100
24782 [ft] Cache the resolved font face
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().
24790 src/cairo-ft-font.c | 39 ++++++++++++++++++++++++++++++++++-----
24791 1 file changed, 34 insertions(+), 5 deletions(-)
24793 commit ddadd41a6c3d6a7cdaa07373b24325f59d3436e3
24794 Author: Chris Wilson <chris@chris-wilson.co.uk>
24795 Date: Sat Jun 27 18:07:36 2009 +0100
24797 [test] Remove broken PDF reference images for push-group
24799 More XFAIL reference images that are now invalidated by changes in
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(-)
24808 commit 4d233fa4a6a16d400ba959f4c1c5d84fdd26d8fc
24809 Author: Chris Wilson <chris@chris-wilson.co.uk>
24810 Date: Sat Jun 27 18:04:37 2009 +0100
24812 [test] Remove invalid smask PDF reference images
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
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(-)
24840 commit 86624627e4b196a78cfd9bd642299441e838e0f2
24841 Author: Chris Wilson <chris@chris-wilson.co.uk>
24842 Date: Sat Jun 27 17:53:18 2009 +0100
24844 [test] Add group-unaligned
24847 Bug 22441 -- Unexpected shift with push_group and pop_group
24848 https://bugs.freedesktop.org/show_bug.cgi?id=22441
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.
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(-)
24899 commit c506ddb58612c69b80b08be3a6d14c5bcc1ac21f
24900 Author: Chris Wilson <chris@chris-wilson.co.uk>
24901 Date: Sat Jun 27 16:54:37 2009 +0100
24903 [pdf] Restore original surface size after emitting group mask
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. :(
24909 src/cairo-pdf-surface.c | 7 +++++--
24910 1 file changed, 5 insertions(+), 2 deletions(-)
24912 commit f8a2665840f12ae48798b0ffca49681e276823ba
24913 Author: Chris Wilson <chris@chris-wilson.co.uk>
24914 Date: Fri Jun 26 07:22:49 2009 +0100
24916 [cairo] Trivial code tidy
24919 1 file changed, 1 insertion(+), 1 deletion(-)
24921 commit c7cf5317f58b382c47ad2d1b4d8db3133b0c4d4b
24922 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
24923 Date: Wed Jun 24 23:33:44 2009 +0100
24925 [test] Fix Makefile.am for Solaris make.
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.
24933 test/Makefile.am | 3 +--
24934 1 file changed, 1 insertion(+), 2 deletions(-)
24936 commit b82e7740c102afa7b9184b2556b887cf7a0211b0
24937 Author: Chris Wilson <chris@chris-wilson.co.uk>
24938 Date: Sun Jun 21 22:25:08 2009 +0100
24940 [atomic] Silence compiler warnings by defining an intptr_t
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.
24946 build/configure.ac.system | 3 +++
24947 src/cairo-atomic-private.h | 19 ++++++++++++-------
24948 2 files changed, 15 insertions(+), 7 deletions(-)
24950 commit a2d4fb50092c0cbb31a5df1bca9111957238139b
24951 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
24952 Date: Sun Jun 21 14:09:10 2009 +0100
24954 [test] Fix a typo in the _POSIX_SOURCE version number.
24956 I hope POSIX isn't around in 20000 AD!
24958 test/cairo-test.c | 2 +-
24959 1 file changed, 1 insertion(+), 1 deletion(-)
24961 commit 80990c7f729a666fc646182a36ffd311d7396a1a
24962 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
24963 Date: Sun Jun 21 14:02:46 2009 +0100
24965 [atomic] Use an integer __sync_val_compare_and_swap() for pointer CAS.
24967 Fix an implicit pointer/integer cast in _cairo_atomic_ptr_cmpxchg()
24968 when building with LLVM/clang.
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.
24976 src/cairo-atomic-private.h | 9 ++++++++-
24977 src/cairo-atomic.c | 6 +++++-
24978 2 files changed, 13 insertions(+), 2 deletions(-)
24980 commit d0c1c9282164bffb76f7419873e93608dc6d9876
24981 Author: Chris Wilson <chris@chris-wilson.co.uk>
24982 Date: Sun Jun 21 10:08:21 2009 +0100
24984 [boilerplate] Implement a reference xlib surface
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).
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(-)
25000 commit d2244053dcca687a878b1008e3a8219f11d7bd0d
25001 Author: Chris Wilson <chris@chris-wilson.co.uk>
25002 Date: Sun Jun 21 08:58:08 2009 +0100
25004 [perf] Force rebuild if make fails
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.
25012 perf/cairo-perf-diff | 63 +++++++++++++++++++++++++++++---------------------
25013 1 file changed, 37 insertions(+), 26 deletions(-)
25015 commit ef0d307d549b9cc7a98cdce2ee4bae40d0fd0bd1
25016 Author: Chris Wilson <chris@chris-wilson.co.uk>
25017 Date: Sun Jun 21 08:43:55 2009 +0100
25019 [perf] Need to version surface types
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
25025 perf/cairo-perf-trace.c | 8 ++++++++
25026 perf/cairo-perf.c | 6 ++++++
25027 2 files changed, 14 insertions(+)
25029 commit 44b72ba6d7bdcc5f4e431af178bc7c22f13e88e0
25030 Author: Chris Wilson <chris@chris-wilson.co.uk>
25031 Date: Sat Jun 20 13:09:46 2009 +0100
25033 [perf] Add a non-build mode to graph
25035 Add --show to cairo-perf-graph just to graph perf files that currently
25036 exist and not build the missing cases.
25038 perf/cairo-perf-graph | 5 +++--
25039 1 file changed, 3 insertions(+), 2 deletions(-)
25041 commit d4dd6fcf3a4e0d7426657592ebb3d65a2ae0bc4a
25042 Author: Chris Wilson <chris@chris-wilson.co.uk>
25043 Date: Sat Jun 20 13:08:50 2009 +0100
25045 [perf] Show speedup/slowdownn labels on graph
25047 Add labels show that it is clear which direction is faster on the graph.
25049 perf/cairo-perf-graph-widget.c | 166 ++++++++++++++++++++++++++++++++++++----
25050 1 file changed, 153 insertions(+), 13 deletions(-)
25052 commit b71b6ecb59bf83605bb2bb10e3f8acd7dd950242
25053 Author: Chris Wilson <chris@chris-wilson.co.uk>
25054 Date: Fri Jun 19 21:21:02 2009 +0100
25056 [test] Fix the image compare
25058 Oh, it's a bad sign when I can't even correctly compare a bunch of pixels.
25060 test/cairo-test-trace.c | 101 ++++++++++++++++++++++++++++++++++++++++-------
25061 1 file changed, 86 insertions(+), 15 deletions(-)
25063 commit d544828934e479071fe5246fc0bdbbad33c097e8
25064 Author: M Joonas Pihlaja <rowan@sal.math.ualberta.ca>
25065 Date: Sat Jun 20 06:16:51 2009 -0600
25067 [build] Look for libpng.pc as well when configuring.
25069 The OpenBSD png package installs only libpng.pc and not
25070 any of libpng{13,12,10}.pc.
25072 configure.ac | 2 +-
25073 1 file changed, 1 insertion(+), 1 deletion(-)
25075 commit 5733d8d6c35e1a77513a49267a47f6caae68e829
25076 Author: M Joonas Pihlaja <rowan@sal.math.ualberta.ca>
25077 Date: Sat Jun 20 06:11:44 2009 -0600
25079 [build] Remove a level of quoting from CAIRO_PARSE_VERSION.
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\].
25087 acinclude.m4 | 2 +-
25088 1 file changed, 1 insertion(+), 1 deletion(-)
25090 commit 3bad3efaa2fa00275c1d27c95ccbf1fcdfdfef3e
25091 Author: Chris Wilson <chris@chris-wilson.co.uk>
25092 Date: Fri Jun 19 19:09:03 2009 +0100
25094 [test] Add cairo-test-trace to .gitignore
25096 test/.gitignore | 1 +
25097 1 file changed, 1 insertion(+)
25099 commit 62dc0ae46c26652da9a76b851bab594020020115
25100 Author: Chris Wilson <chris@chris-wilson.co.uk>
25101 Date: Fri Jun 19 19:03:17 2009 +0100
25103 [cairo] Offset the current path when pushing/popping groups.
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
25110 src/cairo.c | 10 ++++++++++
25111 1 file changed, 10 insertions(+)
25113 commit 851c8839622619779c9169299e3efccd108d0395
25114 Author: Chris Wilson <chris@chris-wilson.co.uk>
25115 Date: Fri Jun 19 19:00:39 2009 +0100
25117 [test] Add group-clip
25119 Larry Ewing found an ancient and nasty bug whereby a path was not
25120 corrected whilst pushing and popping groups.
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(+)
25129 commit 0a34abace781976b92287dd07daa2b41e168c4f6
25130 Author: Chris Wilson <chris@chris-wilson.co.uk>
25131 Date: Fri Jun 19 18:40:43 2009 +0100
25133 [test] Experiment with reference targets
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.
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(-)
25145 commit cec8579348fb39ca879285bebfb1ee65cbae502d
25146 Author: Chris Wilson <chris@chris-wilson.co.uk>
25147 Date: Fri Jun 19 16:09:26 2009 +0100
25149 [xlib] Remove redundant code to query a xrender_format from a visual
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...)
25155 src/cairo-xlib-surface.c | 9 ++-------
25156 1 file changed, 2 insertions(+), 7 deletions(-)
25158 commit dd842a2bed1568000c9727fc35d4683db349e506
25159 Author: Chris Wilson <chris@chris-wilson.co.uk>
25160 Date: Fri Jun 19 14:59:59 2009 +0100
25162 [boilerplate] Missing static on pdf user data key.
25164 boilerplate/cairo-boilerplate-pdf.c | 2 +-
25165 1 file changed, 1 insertion(+), 1 deletion(-)
25167 commit 2da906f4764d5fe7cbb08ec238b01e2a03696899
25168 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25169 Date: Fri Jun 19 18:44:23 2009 +0300
25171 [script] Include unistd.h if we're twiddling file descriptors.
25173 Including sys/mman.h doesn't pull in unistd.h on Solaris 9 so
25174 we have to include it explicitly.
25176 util/cairo-script/cairo-script-operators.c | 7 ++++++-
25177 1 file changed, 6 insertions(+), 1 deletion(-)
25179 commit 1b6dbcbbebf18d6239fcc618f3389e9c0fc981f3
25180 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25181 Date: Fri Jun 19 18:39:53 2009 +0300
25183 [trace] Compile without fontconfig.
25185 Use CAIRO_HAS_FC_FONT to decide whether to export
25186 cairo_ft_font_face_create_for_pattern() or not.
25188 util/cairo-trace/trace.c | 2 ++
25189 1 file changed, 2 insertions(+)
25191 commit d9b5a98a78b712a2ad64408fa47ba6aa34e29f1f
25192 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25193 Date: Fri Jun 19 18:34:34 2009 +0300
25195 [build] Require fontconfig >= 2.2.95 if we're using it at all.
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.
25201 configure.ac | 3 ++-
25202 1 file changed, 2 insertions(+), 1 deletion(-)
25204 commit 84e587bbfad6586e41fac86c4d19005418115ac5
25205 Author: Chris Wilson <chris@chris-wilson.co.uk>
25206 Date: Fri Jun 19 14:41:39 2009 +0100
25208 [trace] Prevent a child process from writing to the same file
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.
25216 util/cairo-trace/trace.c | 7 +++++++
25217 1 file changed, 7 insertions(+)
25219 commit 18edea36ba6604e4cbdbda1ed56e6117b5768d94
25220 Author: Chris Wilson <chris@chris-wilson.co.uk>
25221 Date: Fri Jun 19 14:14:32 2009 +0100
25223 [perf] Report line of error during trace
25225 Query the number of new lines processed so far and report that on hitting
25228 perf/cairo-perf-trace.c | 8 ++++++--
25229 1 file changed, 6 insertions(+), 2 deletions(-)
25231 commit 55721d380d5a75a9448f522f9ad48cd18a6c2f65
25232 Author: Chris Wilson <chris@chris-wilson.co.uk>
25233 Date: Fri Jun 19 14:13:34 2009 +0100
25235 [script] Report line number
25237 Count the number of newlines processed in the trace and provide an API for
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(-)
25246 commit 030ef4ca0023166fcb82f0a0b1512eb31beb3385
25247 Author: Chris Wilson <chris@chris-wilson.co.uk>
25248 Date: Fri Jun 19 11:56:14 2009 +0100
25250 [trace] Change the threshold at which pixel data is immediately copied
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.
25256 util/cairo-trace/trace.c | 5 ++++-
25257 1 file changed, 4 insertions(+), 1 deletion(-)
25259 commit d3330d7beba0e0d2543e40a0e0e4d81ea9a78b45
25260 Author: Chris Wilson <chris@chris-wilson.co.uk>
25261 Date: Fri Jun 19 11:15:30 2009 +0100
25263 [ft] Substitute twin if there are no fonts
25265 Fixes bug 22356 -- Spurious "out of memory" error on system without fonts
25266 https://bugs.freedesktop.org/show_bug.cgi?id=22356
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.)
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(-)
25281 commit 6d8b353658da1ad973e3bda9e89799a7467d8182
25282 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25283 Date: Fri Jun 19 02:37:19 2009 +0300
25285 [spans] Squash a compiler warning when creating error objects.
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.
25291 src/cairo-spans.c | 2 ++
25292 1 file changed, 2 insertions(+)
25294 commit 7651227d3dfe4ebf40e95a72106957a9ec51dd3e
25295 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25296 Date: Fri Jun 19 02:03:39 2009 +0300
25298 Revert "[test] Make the xlib-fallback use the image refs."
25300 This reverts commit 903b39c30448d62e2cbf9d075c5256a333bd5d8f.
25302 The xlib-fallback actually renders mostly via traps at the moment,
25303 so staying with xlib refs is the right thing to do.
25305 boilerplate/cairo-boilerplate.c | 2 +-
25306 1 file changed, 1 insertion(+), 1 deletion(-)
25308 commit 729457b174cb19f4e0750486caed9582c5708930
25309 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25310 Date: Sat May 2 23:30:02 2009 +0300
25312 [test] Add trap rendered ref images for fill-image.
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.
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(-)
25323 commit 8e7f667abb94262b63b4fd589f5ee06cb8974aaf
25324 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25325 Date: Sat May 2 19:09:27 2009 +0300
25327 [test] Mark scale-offset tests as XFAIL for image, xlib-fallback.
25329 The scale-offset tests trigger a loss-of-precision bug when
25330 converting double matrices from cairo to pixman format.
25332 http://lists.cairographics.org/archives/cairo/2008-November/015671.html
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(-)
25339 commit c12533b1358c9e5c1c3440efca4dc44ba2de9f6d
25340 Author: Chris Wilson <chris@chris-wilson.co.uk>
25341 Date: Thu Jun 18 17:46:14 2009 +0100
25343 [pattern] Add _cairo_pattern_fini_snapshot
25345 Symmetric operation to _cairo_pattern_init_snapshot() this exists simply
25346 to break the circular reference between the meta-surface and snapshot-cow.
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(-)
25353 commit 2213c447373b600c1583b2edd24775c5c031231c
25354 Author: Chris Wilson <chris@chris-wilson.co.uk>
25355 Date: Thu Jun 18 17:14:53 2009 +0100
25357 [svg] Break circular snapshot reference by explicit finish
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.
25364 src/cairo-svg-surface.c | 4 ++++
25365 1 file changed, 4 insertions(+)
25367 commit cd9eef1aad87558d3f2d47cfcfa2f5b9b254692c
25368 Author: Chris Wilson <chris@chris-wilson.co.uk>
25369 Date: Thu Jun 18 16:42:56 2009 +0100
25371 [scaled-font] Check the MRU font before resolving the implementor
25373 This should hide most of the overhead of resolving a frequently used toy font.
25375 src/cairo-scaled-font.c | 23 +++++++++++++++--------
25376 1 file changed, 15 insertions(+), 8 deletions(-)
25378 commit 5ad64dfda26f97f243f13e9b766567a30fda67a9
25379 Author: Chris Wilson <chris@chris-wilson.co.uk>
25380 Date: Thu Jun 18 16:39:02 2009 +0100
25382 [test] Add the sha1sum of the required fonts
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.)
25387 test/README | 9 +++++----
25388 1 file changed, 5 insertions(+), 4 deletions(-)
25390 commit 3063f0f44c61869bc6bb07d46bf881f1558ac015
25391 Author: Chris Wilson <chris@chris-wilson.co.uk>
25392 Date: Thu Jun 18 16:33:12 2009 +0100
25394 [scaled-font-subset] Check for matching font-face implementors
25396 Catch toy and user fonts which may have different font-faces for their
25397 implementation than the original ones they were created with.
25399 src/cairo-scaled-font-subsets.c | 6 ++++--
25400 1 file changed, 4 insertions(+), 2 deletions(-)
25402 commit 6e78c94615e407d72d4778d5558dc218e0402cbc
25403 Author: Chris Wilson <chris@chris-wilson.co.uk>
25404 Date: Thu Jun 18 16:30:41 2009 +0100
25406 [test] Move calls to the getters from out of the innermost loops.
25408 Tidy the code slightly by removing excess and unsightly calls to
25409 cairo_test_get_context() and cairo_get_scaled_font().
25411 test/show-glyphs-many.c | 19 ++++++++++++-------
25412 1 file changed, 12 insertions(+), 7 deletions(-)
25414 commit 3da32e35afa57533379c3de35459f23aef7c3d04
25415 Author: Chris Wilson <chris@chris-wilson.co.uk>
25416 Date: Thu Jun 18 15:31:27 2009 +0100
25418 [analysis] Restore nops for the analysis null surface
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.
25424 src/cairo-analysis-surface.c | 57 ++-------------
25425 src/test-null-surface.c | 157 +++++++++++++++++++++++++++++++++++++++++-
25426 2 files changed, 161 insertions(+), 53 deletions(-)
25428 commit c0e01d9cd71bd958e1b31a03cea4c08a1bdf4926
25429 Author: Chris Wilson <chris@chris-wilson.co.uk>
25430 Date: Thu Jun 18 14:32:53 2009 +0100
25432 [xlib] Improve GC caching efficacy
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.
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(-)
25448 commit 7f238f542441cc5912d14e5c6f9c49ffd0b83fad
25449 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
25450 Date: Thu Jun 18 17:13:13 2009 -0400
25452 Use the scanline rasterizer in the win32 backend.
25454 Brings http://people.mozilla.com/~jmuizelaar/world-map.html from 8fps to 13fps
25455 in Vista on a Mac Mini
25457 src/cairo-win32-surface.c | 146 ++++++++++++++++++++++++++++++++++++++++++++-
25458 1 file changed, 144 insertions(+), 2 deletions(-)
25460 commit d066154e62d6b4ecad15e0eef431aa2f4a56fecb
25461 Author: Jeff Muizelaar <jeff@infidigm.net>
25462 Date: Tue Jun 16 15:55:53 2009 -0400
25464 Factor out _cairo_image_surface_span_render_row()
25466 This allows other backends use the same function for rendering rows.
25467 More specifically, I intend to use this with the win32-backend.
25469 src/cairo-image-surface.c | 36 +++++++++++++++++++++++-------------
25470 src/cairoint.h | 6 ++++++
25471 2 files changed, 29 insertions(+), 13 deletions(-)
25473 commit fd142d0a6e21c492624ca8bc5019d89b0d7c5457
25474 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25475 Date: Thu Jun 18 16:14:50 2009 +0100
25477 [shave] Robuster usage of the test shell built-in.
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.
25484 build/shave.in | 2 +-
25485 1 file changed, 1 insertion(+), 1 deletion(-)
25487 commit 9ecee571c12e4d1645d9db2929280c9b35b1aad4
25488 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25489 Date: Thu Jun 18 16:09:31 2009 +0100
25491 [test/build] Don't test Freetype font stuff without Fontconfig.
25493 Most Freetype hitting tests require Fontconfig to find
25496 test/Makefile.am | 2 ++
25497 1 file changed, 2 insertions(+)
25499 commit 742b1ad4b069653a99fc6bd4510f2b6abb6abf95
25500 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25501 Date: Sun May 24 23:41:28 2009 +0100
25503 [test] Fix checking of the fenv.h include.
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().
25510 The same issue appears on OSX and was fixed in
25511 ab86662ab499e1f29c0f8c4248771e730c281e3f. This patch
25512 adds some configure magic.
25514 build/configure.ac.system | 2 +-
25515 test/invalid-matrix.c | 4 ++--
25516 2 files changed, 3 insertions(+), 3 deletions(-)
25518 commit 75f1d11d93236b19d06515b8ed2baf612b0767ab
25519 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25520 Date: Sun May 24 21:28:04 2009 +0300
25522 [test] Fallback to HUGE_VAL in place of INFINITY in invalid-matrix.c.
25524 GCC 3.4.3 on OpenSolaris does not recognise INFINITY. Use HUGE_VAL
25525 instead for every compiler instead of just MSVC.
25527 test/invalid-matrix.c | 2 +-
25528 1 file changed, 1 insertion(+), 1 deletion(-)
25530 commit d1994d1ac292cbc896cffd24094ddfa5f2b1e8a9
25531 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25532 Date: Sun May 24 23:46:13 2009 +0300
25534 [test/any2ppm] Daemonize without BSD's daemon().
25536 Solaris libc doesn't provide daemon() so implement
25537 any2ppm daemon's detaching without it.
25539 test/Makefile.am | 2 +-
25540 test/any2ppm.c | 62 +++++++++++++++++++++++++++++++++++++++++++++++++-----
25541 2 files changed, 58 insertions(+), 6 deletions(-)
25543 commit aafff0b9528952fbbe9d04a70bf8c76ee701743f
25544 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25545 Date: Sun May 24 23:50:03 2009 +0300
25547 [boilerplate] Check for connect() in libsocket.
25549 Solaris requires -lsocket to be able to talk to
25550 the any2ppm daemon over unix domain sockets.
25552 boilerplate/Makefile.am | 2 ++
25553 build/configure.ac.system | 4 ++++
25554 2 files changed, 6 insertions(+)
25556 commit c4c06931690226e12622a957bbb6d652134f78b0
25557 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25558 Date: Sun May 24 16:14:33 2009 +0300
25560 [test] Make test constructors without perl.
25562 Remove the dependency on perl when building the test suite
25563 by replacing the script which makes cairo-test-constructors.c
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(-)
25573 commit cdd27a8d4cc3486867cff4ce81bb4e064eb74d58
25574 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25575 Date: Sun May 24 16:19:31 2009 +0300
25577 [test] Never use gcc __attribute__ magic for constructors.
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.
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(-)
25592 commit 46eb56a99f72b364e3eabe46f9b2995ed0696bd3
25593 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
25594 Date: Thu Jun 18 16:42:53 2009 +0300
25596 [cairo-surface] Handle the all clipped out case for regions.
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.
25604 Fixes a bug tickled by the clip-all test case which was
25605 brought to light by 394e139213e8f6692115c4c24818bfeb5e6d456a.
25607 src/cairo-surface.c | 34 +++++++++++++++++++++++++++++++---
25608 1 file changed, 31 insertions(+), 3 deletions(-)
25610 commit 002264d572841f06930869a6c87fa2c987346dd6
25611 Author: Chris Wilson <chris@chris-wilson.co.uk>
25612 Date: Wed Jun 17 17:15:26 2009 +0100
25614 [clip] Missing {} (coding style)
25616 Carl spotted that I'd slipped in a little CODING_STYLE violation.
25618 src/cairo-clip.c | 3 ++-
25619 1 file changed, 2 insertions(+), 1 deletion(-)
25621 commit bc87074185592eae367b6c091241957b94202fda
25622 Author: Nis Martensen <nis.martensen@web.de>
25623 Date: Tue Jun 16 23:27:20 2009 +0200
25625 [path] Fix missing implicit move-to
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.
25632 Therefore, call _cairo_path_fixed_move_to() explicitly.
25635 src/cairo-path-fixed.c | 6 +++---
25636 2 files changed, 4 insertions(+), 3 deletions(-)
25638 commit 3c5e57e694d1a8a0a48a66e0d61d8257c23a780e
25639 Author: Nis Martensen <nis.martensen@web.de>
25640 Date: Tue Jun 16 23:38:50 2009 +0200
25642 [test] Verify current point position after subpath closure
25644 Make sure cairo_close_path always takes the current point where it
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(+)
25653 commit 394e139213e8f6692115c4c24818bfeb5e6d456a
25654 Author: Chris Wilson <chris@chris-wilson.co.uk>
25655 Date: Wed Jun 17 14:46:53 2009 +0100
25657 [clip] During _clip() limit the extracted traps to the current clip extents
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.
25662 src/cairo-clip.c | 39 +++++++++++++++++++++++++++++++++++----
25663 1 file changed, 35 insertions(+), 4 deletions(-)
25665 commit 650b85ec7721fb1302284e3ca4b7f4b72358abed
25666 Author: Chris Wilson <chris@chris-wilson.co.uk>
25667 Date: Wed Jun 17 14:19:19 2009 +0100
25669 [clip] Avoid copying region within _cairo_clip_intersect_region()
25671 Within _cairo_clip_intersect_region() we can simply assign the freshly
25672 extracted traps-region if we previously had no region set.
25674 src/cairo-clip.c | 12 +++---------
25675 1 file changed, 3 insertions(+), 9 deletions(-)
25677 commit 4bc89e224f74f24272c97dec93d70f0c4dd1963c
25678 Author: Chris Wilson <chris@chris-wilson.co.uk>
25679 Date: Tue Jun 16 15:13:46 2009 +0100
25681 [NEWS] Add release notes from 1.8.8
25683 NEWS | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
25684 1 file changed, 68 insertions(+), 1 deletion(-)
25686 commit 116c93cb7fe8ad55457c53b4652e8d3117581158
25687 Author: Chris Wilson <chris@chris-wilson.co.uk>
25688 Date: Tue Jun 16 11:36:36 2009 +0100
25690 [cairo] Remove instance of 'return free()'
25692 Gah! This is a GCC-ism, so therefore it has to go.
25694 src/cairo.c | 3 ++-
25695 1 file changed, 2 insertions(+), 1 deletion(-)
25697 commit 22587f57bd5d1b4440d936cd4655a7e8fcebdf36
25698 Author: Vladimir Vukicevic <vladimir@pobox.com>
25699 Date: Sun Jun 14 20:43:05 2009 +0100
25701 Import Qt backend by Mozilla
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.
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
25711 https://bugs.freedesktop.org/attachment.cgi?id=18953
25713 And then attempts to restore 'make check' to full functionality.
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
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.
25724 [Updated by Chris Wilson]
25725 Acked-by: Jeff Muizelaar <jeff@infidigm.net>
25726 Acked-by: Carl Worth <cworth@cworth.org>
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 +
25748 src/check-def.sh | 7 +-
25749 src/check-preprocessor-syntax.sh | 3 +-
25750 22 files changed, 2247 insertions(+), 8 deletions(-)
25752 commit 7d3881114add18d5934073d0b04755d343ea38c6
25753 Author: Chris Wilson <chris@chris-wilson.co.uk>
25754 Date: Mon Jun 15 15:13:43 2009 +0100
25756 [perf] Report errors during replays
25758 perf/cairo-perf-trace.c | 11 ++++++++++-
25759 1 file changed, 10 insertions(+), 1 deletion(-)
25761 commit 061e0477e9a894241806eeacbde2f3770b751f34
25762 Author: Chris Wilson <chris@chris-wilson.co.uk>
25763 Date: Mon Jun 15 15:10:50 2009 +0100
25765 [perf] Report iteration count
25767 Show number of discard results by showing the number of statistically
25768 valid samples out of total population count.
25770 perf/cairo-perf-trace.c | 8 ++++----
25771 1 file changed, 4 insertions(+), 4 deletions(-)
25773 commit bab8af62e772844f08a244d99f705e318af3f58c
25774 Author: Chris Wilson <chris@chris-wilson.co.uk>
25775 Date: Mon Jun 15 15:01:34 2009 +0100
25777 [region] Add PLT entry for cairo_region_create_rectangles()
25779 src/cairo-region.c | 5 +++--
25780 1 file changed, 3 insertions(+), 2 deletions(-)
25782 commit 6da9c410d4696ebba0fb563a858f1625bf3b1f9e
25783 Author: Chris Wilson <chris@chris-wilson.co.uk>
25784 Date: Mon Jun 15 12:14:51 2009 +0100
25786 Missing header file for cairo-test-null-surface.
25788 src/test-null-surface.h | 46 ++++++++++++++++++++++++++++++++++++++++++++++
25789 1 file changed, 46 insertions(+)
25791 commit e5727e20f52eb0308a8ad1c44a6eb4c7c65d7ff0
25792 Author: Chris Wilson <chris@chris-wilson.co.uk>
25793 Date: Mon Jun 15 11:58:58 2009 +0100
25795 Expose _cairo_null_surface_create() via a test surface
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.
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(-)
25813 commit f2057061c67236a79c8bb69b84e44e151109629a
25814 Author: Chris Wilson <chris@chris-wilson.co.uk>
25815 Date: Sun Jun 14 09:10:08 2009 +0100
25817 [trace] Add sticky bit to (system-wide) trace output dir
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
25823 util/cairo-trace/Makefile.am | 3 ++-
25824 1 file changed, 2 insertions(+), 1 deletion(-)
25826 commit 3fe50a77ea21bcddb701a8640b5ecad9f6f5ab01
25827 Author: Chris Wilson <chris@chris-wilson.co.uk>
25828 Date: Sat Jun 13 22:27:17 2009 +0100
25830 [configure] Rephrase warning message for disabling core features.
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
25837 build/configure.ac.features | 6 +++---
25838 1 file changed, 3 insertions(+), 3 deletions(-)
25840 commit 5d57aeaa23566739ba01a0fac1c3b90ce27b28cd
25841 Author: Søren Sandmann Pedersen <sandmann@redhat.com>
25842 Date: Tue May 26 17:53:37 2009 -0400
25844 Reinstate cairo_region_create_rectangles()
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.
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(-)
25858 commit 216a2e24c7375e48677ce30f9fe8fb3d8bbdd10d
25859 Author: Chris Wilson <chris@chris-wilson.co.uk>
25860 Date: Sat Jun 13 21:40:05 2009 +0100
25862 [test] Minor tweak to cairo-test-trace
25864 Cleanse the code of a couple of redundant pointer manipulations.
25866 test/cairo-test-trace.c | 16 +++++++++-------
25867 1 file changed, 9 insertions(+), 7 deletions(-)
25869 commit 2ab4245c866bcefb755a33f7eaa6ef1277f82df1
25870 Author: Chris Wilson <chris@chris-wilson.co.uk>
25871 Date: Sat Jun 13 21:33:09 2009 +0100
25873 [test] Need SOURCE when copying image data
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
25881 test/cairo-test-trace.c | 1 +
25882 1 file changed, 1 insertion(+)
25884 commit e003d665fe45905606a792e4a783f65fc7e84550
25885 Author: Chris Wilson <chris@chris-wilson.co.uk>
25886 Date: Sat Jun 13 19:18:11 2009 +0100
25888 [test] Disable compilation of cairo-test-trace without shm_open()
25890 Remember to only add cairo-test-trace to the list of EXTRA_PROGRAM so long
25891 as we can actually compile it.
25893 test/Makefile.am | 3 ++-
25894 1 file changed, 2 insertions(+), 1 deletion(-)
25896 commit c092136fe9e5fee71dfe02f945fe5676f43b2d05
25897 Author: Chris Wilson <chris@chris-wilson.co.uk>
25898 Date: Sat Jun 13 18:59:17 2009 +0100
25900 [configure] Check for shm_open()
25902 As needed for cairo-test-trace.
25904 build/configure.ac.system | 8 ++++++++
25905 test/Makefile.am | 4 +++-
25906 2 files changed, 11 insertions(+), 1 deletion(-)
25908 commit f298dd92ca0b789a3d2b591753c992e1673b2d87
25909 Author: Chris Wilson <chris@chris-wilson.co.uk>
25910 Date: Sat Jun 13 18:49:16 2009 +0100
25912 [test] Remove dlmalloc
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.
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(-)
25923 commit 37f32f29518bdc1428c7ec137f212313e377486c
25924 Author: Chris Wilson <chris@chris-wilson.co.uk>
25925 Date: Sat Jun 13 18:31:35 2009 +0100
25927 [util] Disable default build of font-view
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.
25932 util/Makefile.am | 2 +-
25933 1 file changed, 1 insertion(+), 1 deletion(-)
25935 commit 0eca1b17b14057ef88ae2df500679e62ffb50118
25936 Author: Chris Wilson <chris@chris-wilson.co.uk>
25937 Date: Sat Jun 13 17:16:20 2009 +0100
25939 [surface] Give ownership of the snapshot to the snapshotter.
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.
25949 src/cairo-surface.c | 15 ++++++++++++++-
25950 1 file changed, 14 insertions(+), 1 deletion(-)
25952 commit a1b3392e60b6b4ff4b650f4d48d56568c1851245
25953 Author: Chris Wilson <chris@chris-wilson.co.uk>
25954 Date: Sat Jun 13 16:37:43 2009 +0100
25956 [surface] Mark cairo_surface_show_page() with begin-modification
25958 cairo_surface_show_page() clears the surface after presentation, so we
25959 need to discard the snapshots here.
25961 src/cairo-surface.c | 2 +-
25962 1 file changed, 1 insertion(+), 1 deletion(-)
25964 commit 1798bdd322e0d25147195198bf0c5e9506c61a15
25965 Author: Adrian Johnson <ajohnson@redneon.com>
25966 Date: Sat Jun 13 22:47:41 2009 +0930
25968 Fix PDF pattern embedding
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
25975 This patch fixes the PDF backend to always emit a new pattern but
25976 re-use previously emitted image or metasurface XObjects.
25978 src/cairo-pdf-surface-private.h | 21 +-
25979 src/cairo-pdf-surface.c | 532 ++++++++++++++++++++++++++-------------
25980 2 files changed, 372 insertions(+), 181 deletions(-)
25982 commit f115c5479ead934774fea99d74d780e2bb1681c4
25983 Author: Chris Wilson <chris@chris-wilson.co.uk>
25984 Date: Sat Jun 13 15:49:15 2009 +0100
25986 [trace] Strip absolute path off name when profiling
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.
25996 util/cairo-trace/cairo-trace.in | 5 +++--
25997 1 file changed, 3 insertions(+), 2 deletions(-)
25999 commit c52eed6680dd13f6bc65dc4a26b6c8eab5a94a54
26000 Author: Chris Wilson <chris@chris-wilson.co.uk>
26001 Date: Sat Jun 13 15:42:43 2009 +0100
26003 [trace] Handle wrapping python
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.
26010 util/cairo-trace/trace.c | 145 ++++++++++++++++++++++++++--------------------
26011 1 file changed, 83 insertions(+), 62 deletions(-)
26013 commit 606790a86083d31fa50ed5e0cf621eca56c16e33
26014 Author: Chris Wilson <chris@chris-wilson.co.uk>
26015 Date: Sat Jun 13 14:07:22 2009 +0100
26017 [script] Disable compilation of examples
26019 Now that cairo-perf-trace exists and is a far superior replay tool, use
26020 EXTRA_PROGRAM for the original replay tools.
26022 util/cairo-script/Makefile.am | 2 +-
26023 1 file changed, 1 insertion(+), 1 deletion(-)
26025 commit 31b7652e1fa2ab2bd9e9df7f5517b7d678faf6aa
26026 Author: Chris Wilson <chris@chris-wilson.co.uk>
26027 Date: Sat Jun 13 12:19:51 2009 +0100
26029 [test] Never, ever, blame a crashing test on external factors.
26031 test/cairo-test-runner.c | 2 +-
26032 1 file changed, 1 insertion(+), 1 deletion(-)
26034 commit 3dde883b779b81b95f420039c02b51b029311f78
26035 Author: Chris Wilson <chris@chris-wilson.co.uk>
26036 Date: Sat Jun 13 10:13:20 2009 +0100
26038 [test] Code review after sleep
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.
26044 test/cairo-test-trace.c | 400 ++++++++++++++++++++++++++++-------------------
26045 1 file changed, 236 insertions(+), 164 deletions(-)
26047 commit 1f542965f0310aed493651b8ddc1e98a4192b977
26048 Author: Chris Wilson <chris@chris-wilson.co.uk>
26049 Date: Sat Jun 13 08:24:22 2009 +0100
26051 [perf] Mention cairo-perf-compare-backends in the README
26053 perf/README | 16 ++++++++++++++++
26054 1 file changed, 16 insertions(+)
26056 commit 3b6e4018c69f88135f8d937724acf90adb003bad
26057 Author: Chris Wilson <chris@chris-wilson.co.uk>
26058 Date: Fri Jun 12 22:19:56 2009 +0100
26060 [test] Add cairo-test-trace
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.
26069 [1] Should be reference implementation, currently the image backend is
26070 considered to be the reference for all other backends.
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(-)
26077 commit a41e1275d28317c88e29b7f142cfc835673c01f5
26078 Author: Chris Wilson <chris@chris-wilson.co.uk>
26079 Date: Fri Jun 12 12:32:51 2009 +0100
26081 [boilerplate] Make array of targets const.
26083 Protect the boilerplate targets from unexpected modifications.
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(-)
26093 commit 6aebde6598c629d667b06e20111106832d139c4d
26094 Author: Chris Wilson <chris@chris-wilson.co.uk>
26095 Date: Fri Jun 12 12:25:22 2009 +0100
26097 [boilerplate] Export cairo_boilerplate_get_image_target()
26099 A routine to scan the compiled list of targets and return the entry
26100 corresponding to the image backend.
26102 boilerplate/cairo-boilerplate.c | 17 +++++++++++++++++
26103 boilerplate/cairo-boilerplate.h | 3 +++
26104 2 files changed, 20 insertions(+)
26106 commit d008167b9bcd6a24199740183bbfcabcfdccdd63
26107 Author: Carl Worth <cworth@cworth.org>
26108 Date: Fri Jun 12 12:08:22 2009 -0700
26110 Makefile: Fix two typos preventing doc-publish from working
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.
26116 build/Makefile.am.releasing | 4 ++--
26117 1 file changed, 2 insertions(+), 2 deletions(-)
26119 commit 98eb84cfbbf2cfdb0153c8e924099cef016a412a
26120 Author: Carl Worth <cworth@cworth.org>
26121 Date: Fri Jun 12 12:07:59 2009 -0700
26123 Increment version to 1.9.3 after the 1.9.2 snapshot.
26125 cairo-version.h | 2 +-
26126 1 file changed, 1 insertion(+), 1 deletion(-)
26128 commit e9b9d2a7c17ca4b2bc2991fdc4893aed850578db
26129 Author: Carl Worth <cworth@cworth.org>
26130 Date: Thu Jun 11 15:28:59 2009 -0700
26132 Update version to 1.9.2
26134 In preparation for the (long overdue) 1.9.2 snapshot today.
26136 cairo-version.h | 2 +-
26137 1 file changed, 1 insertion(+), 1 deletion(-)
26139 commit 8ac8c5b428d11b11ba9fb55264cd9091368f6acb
26140 Author: Carl Worth <cworth@cworth.org>
26141 Date: Fri Jun 12 11:49:52 2009 -0700
26143 NEWS: Fix date and name of 1.9.2 snapshot
26145 It's a snapshot, not a release, and the broken REFERENCE_IMAGE list
26146 derailed me from finishing yesterday.
26149 1 file changed, 2 insertions(+), 2 deletions(-)
26151 commit 3f474555dd00b8585ae3db848cf46984d77bd16e
26152 Author: Chris Wilson <chris@chris-wilson.co.uk>
26153 Date: Fri Jun 12 11:19:50 2009 +0100
26155 [test] Add jp2.jp2 to EXTRA_DIST
26157 Required by test/mime-data and so triggering failures during distcheck as
26158 it was not packaged.
26160 test/Makefile.am | 1 +
26161 1 file changed, 1 insertion(+)
26163 commit 7f114b781f5c530d57530e5f76402e41cdabac6b
26164 Author: Chris Wilson <chris@chris-wilson.co.uk>
26165 Date: Fri Jun 12 11:15:16 2009 +0100
26167 [doc] Workaround read-only tree during make distcheck
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.
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(-)
26179 commit 1498c9c333d7579231ac44a91f00f0a49360702d
26180 Author: Chris Wilson <chris@chris-wilson.co.uk>
26181 Date: Fri Jun 12 07:38:00 2009 +0100
26183 [script] Also mmap backing storage for the pattern descriptions
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
26189 util/cairo-script/cairo-script-operators.c | 14 +++++++++++++-
26190 1 file changed, 13 insertions(+), 1 deletion(-)
26192 commit 80ba06803b50cc0f76039939f25372cbbe2e8d81
26193 Author: Chris Wilson <chris@chris-wilson.co.uk>
26194 Date: Fri Jun 12 08:03:12 2009 +0100
26196 [Makefile] Update list of reference images.
26198 test/Makefile.am | 1432 +++++++++++++++++++++++++++++++-----------------------
26199 1 file changed, 818 insertions(+), 614 deletions(-)
26201 commit fb21a0da8730823ff092f8e298af3d5b4e8c90e4
26202 Author: Carl Worth <cworth@cworth.org>
26203 Date: Thu Jun 11 15:28:02 2009 -0700
26205 Update CLEANFILES for 'make distcheck'
26207 This is a standard part of the release ritual.
26209 test/Makefile.am | 7 ++++---
26210 1 file changed, 4 insertions(+), 3 deletions(-)
26212 commit a4f023ef2eb041fecba5f3fd2d5a1594975ca211
26213 Author: Carl Worth <cworth@cworth.org>
26214 Date: Thu Jun 11 14:51:14 2009 -0700
26216 NEWS: Update date for snapshot planned for today.
26219 1 file changed, 1 insertion(+), 1 deletion(-)
26221 commit 82139b42919be1acf6bade733bb2ff489e50812d
26222 Author: Carl Worth <cworth@cworth.org>
26223 Date: Thu Jun 11 14:51:10 2009 -0700
26225 NEWS: Explain bovine polaroids a bit more.
26227 It's a fun joke, but the COW snapshots feature is important enough
26228 that we should actually tell users what it is.
26230 NEWS | 11 +++++++++--
26231 1 file changed, 9 insertions(+), 2 deletions(-)
26233 commit 4d5f66d5b1f243e58d43dc89568be9240262fd5c
26234 Author: Carl Worth <cworth@cworth.org>
26235 Date: Thu Jun 11 14:42:11 2009 -0700
26237 NEWS: Cleanup in preparation for 1.9.2 snapshot
26239 Mostly just wrapping to a reasonable line length, and some minor
26242 NEWS | 71 ++++++++++++++++++++++++++++++++++++++++++------------------------
26243 1 file changed, 45 insertions(+), 26 deletions(-)
26245 commit 19630f4b73a4fdfb9855ececd6614493e68d3b95
26246 Author: Carl Worth <cworth@cworth.org>
26247 Date: Wed Jun 10 17:39:48 2009 -0700
26249 Make the warning about the need to --enable-gtk-doc more explicit.
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
26255 build/Makefile.am.gtk-doc | 4 ++--
26256 1 file changed, 2 insertions(+), 2 deletions(-)
26258 commit 3aaea453b0f0880d6c8825be21e67821732d1635
26259 Author: Chris Wilson <chris@chris-wilson.co.uk>
26260 Date: Thu Jun 11 22:36:01 2009 +0100
26262 [script] Store fonts inside mmaped files.
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
26268 build/configure.ac.system | 3 +
26269 util/cairo-script/cairo-script-operators.c | 91 +++++++++++++++++++++++-----
26270 2 files changed, 78 insertions(+), 16 deletions(-)
26272 commit 6167f27adfd530bdf091a0e7a3e0141d5db66f00
26273 Author: Chris Wilson <chris@chris-wilson.co.uk>
26274 Date: Thu Jun 11 22:33:00 2009 +0100
26276 [script] Fix memleak of duplicated strings from files
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.
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(-)
26287 commit 13b56c42bfdb9ad36f9b1bd22f83d7ef3a074ddc
26288 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
26289 Date: Thu Jun 11 17:32:23 2009 -0400
26291 Fix compilation on OS X when compiling for 64 bit
26293 OS X doesn't support ATSUI in 64 bit so don't include the cairo ATSUI
26296 src/cairo-quartz-font.c | 3 ++-
26297 src/cairo-quartz.h | 2 ++
26298 2 files changed, 4 insertions(+), 1 deletion(-)
26300 commit 9e3019ef987f8d3ad424c13ffae5a15b08beb327
26301 Author: Chris Wilson <chris@chris-wilson.co.uk>
26302 Date: Thu Jun 11 22:27:18 2009 +0100
26304 [perf] Add libcairoperf.la to DEPENDENCIES
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.
26311 perf/Makefile.am | 6 ++++--
26312 1 file changed, 4 insertions(+), 2 deletions(-)
26314 commit 55cbf525479cde8251cc9199f9db89e510d6a9c1
26315 Author: Chris Wilson <chris@chris-wilson.co.uk>
26316 Date: Thu Jun 11 15:40:27 2009 +0100
26318 [perf] Fix -i getopt parsing.
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.
26324 perf/cairo-perf-trace.c | 2 +-
26325 1 file changed, 1 insertion(+), 1 deletion(-)
26327 commit 614bfdc0846856653a742b035e70d009b0a716cc
26328 Author: Chris Wilson <chris@chris-wilson.co.uk>
26329 Date: Thu Jun 11 15:35:05 2009 +0100
26331 [xcb] Trivial compile fix.
26333 Update show_glyphs() interface.
26335 src/cairo-xcb-surface.c | 11 ++++++-----
26336 1 file changed, 6 insertions(+), 5 deletions(-)
26338 commit f7dbdf1fd1d7cc14491a9419c316b078247e145e
26339 Author: Chris Wilson <chris@chris-wilson.co.uk>
26340 Date: Mon Jun 8 09:39:20 2009 +0100
26342 [script] Hide pixman-ops when copying pixels
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.
26348 util/cairo-script/cairo-script-operators.c | 70 ++++++++++++++++++++++------
26349 1 file changed, 55 insertions(+), 15 deletions(-)
26351 commit ecee5663bf900ab97d2bb7ec41ade838f167e1cd
26352 Author: Chris Wilson <chris@chris-wilson.co.uk>
26353 Date: Mon Jun 8 01:05:28 2009 +0100
26355 [perf] Fixup compare-backends to work with just a single test.
26357 perf/cairo-perf-compare-backends.c | 17 ++++++-----------
26358 1 file changed, 6 insertions(+), 11 deletions(-)
26360 commit 42c0aee1d9ff5e0182c41ed505a2b0f56e564cbb
26361 Author: Chris Wilson <chris@chris-wilson.co.uk>
26362 Date: Thu Jun 11 12:58:05 2009 +0100
26364 [perf] Add a -x to exclude traces from a benchmark.
26366 Read names of traces to exclude from a file specified using -x on the
26368 $ ./cairo-perf-trace -x cairo-traces/tiny.exclude
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.
26375 perf/cairo-perf-trace.c | 135 ++++++++++++++++++++++++++++++++++++++++++++---
26376 perf/cairo-perf.h | 2 +
26377 2 files changed, 130 insertions(+), 7 deletions(-)
26379 commit b40ce402ada8d57c5093715be530df08459d1654
26380 Author: Chris Wilson <chris@chris-wilson.co.uk>
26381 Date: Thu Jun 11 09:16:29 2009 +0100
26383 [NEWS] Add more notes
26385 NEWS | 50 ++++++++++++++++++++++++++++++++++++++++++++------
26386 1 file changed, 44 insertions(+), 6 deletions(-)
26388 commit 610da573e91810c53305b6bfe02eb7b714e3d08e
26389 Author: Chris Wilson <chris@chris-wilson.co.uk>
26390 Date: Wed Jun 10 12:59:36 2009 +0100
26392 [win32-font] Non-fatal error from GetGlyphOutlineW(GGO_METRICS)
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.
26398 Fixes http://bugs.freedesktop.org/show_bug.cgi?id=20255
26399 Bug 20255 -- cairo_scaled_font_glyph_extents breaks with invalid glyph id
26401 src/cairo-win32-font.c | 10 ++--------
26402 1 file changed, 2 insertions(+), 8 deletions(-)
26404 commit 81b5dc42b0e754d602506a8ccd231df9afd71593
26405 Author: Chris Wilson <chris@chris-wilson.co.uk>
26406 Date: Wed Jun 10 08:49:39 2009 +0100
26408 [perf] Expand the section on cairo-perf-trace in the README
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
26415 perf/README | 37 ++++++++++++++++++++++++++++++++++---
26416 1 file changed, 34 insertions(+), 3 deletions(-)
26418 commit ec92e633edd377747155b60aa225b266c38bc498
26419 Author: Chris Wilson <chris@chris-wilson.co.uk>
26420 Date: Wed Jun 10 08:34:57 2009 +0100
26422 [perf] Couple cairo-perf-traces into make perf
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
26428 For bonus points, consider whether we should hook cairo-perf-trace into
26431 perf/Makefile.am | 5 +++--
26432 1 file changed, 3 insertions(+), 2 deletions(-)
26434 commit 0db946cdd9fe601a060b62c5df7df3022ea5e2d6
26435 Author: Chris Wilson <chris@chris-wilson.co.uk>
26436 Date: Tue Jun 9 16:19:36 2009 +0100
26438 [perf] Add explicit dependences for the local libraries
26440 Update the build rules and add the dependences for the libraries built in
26441 other parts of cairo.
26443 perf/Makefile.am | 11 +++++++++++
26444 1 file changed, 11 insertions(+)
26446 commit 844c809698635cf44658fcbfb5da6976890185b9
26447 Author: Chris Wilson <chris@chris-wilson.co.uk>
26448 Date: Tue Jun 9 12:45:53 2009 +0100
26450 [boilerplate] Print out known targets on error.
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.
26456 boilerplate/cairo-boilerplate.c | 15 ++++++++++++++-
26457 1 file changed, 14 insertions(+), 1 deletion(-)
26459 commit ac563715506b911f142dd0e4460a6effee45119d
26460 Author: Chris Wilson <chris@chris-wilson.co.uk>
26461 Date: Mon Jun 8 23:58:56 2009 +0100
26463 [test] Exercise overlapping glyphs
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
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(+)
26476 commit 015df191ba947e714285145c3a4ead198ba0d07e
26477 Author: Chris Wilson <chris@chris-wilson.co.uk>
26478 Date: Mon Jun 8 17:40:16 2009 +0100
26480 [trace] Prevent overflowing the operand stack when recreating objects
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.
26489 util/cairo-trace/trace.c | 89 ++++++++++++++++++++++++++++++++--------------
26490 1 file changed, 63 insertions(+), 26 deletions(-)
26492 commit 09492288b33c36093e50d39e4e7e632ab659a0e2
26493 Author: Chris Wilson <chris@chris-wilson.co.uk>
26494 Date: Mon Jun 8 17:38:14 2009 +0100
26496 [trace] Option to re-enable mark-dirty
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
26502 util/cairo-trace/cairo-trace.in | 5 +++++
26503 1 file changed, 5 insertions(+)
26505 commit 39bac6edddb8913d07fb25f14f088967ca846a78
26506 Author: Chris Wilson <chris@chris-wilson.co.uk>
26507 Date: Mon Jun 8 11:52:56 2009 +0100
26509 [perf] Mention cairo-perf-trace early on in the README
26512 1 file changed, 1 insertion(+), 1 deletion(-)
26514 commit 34ccaeae2d3cf1b5bdd8b97581d6e70324494356
26515 Author: Chris Wilson <chris@chris-wilson.co.uk>
26516 Date: Mon Jun 8 00:12:28 2009 +0100
26518 [perf] Continuously update the summary for traces
26520 perf/cairo-perf-trace.c | 2 +-
26521 1 file changed, 1 insertion(+), 1 deletion(-)
26523 commit 055e9b0eb650bec6ae8297e5a36f1cac22c43d56
26524 Author: Chris Wilson <chris@chris-wilson.co.uk>
26525 Date: Sun Jun 7 23:35:57 2009 +0100
26527 [test] Cache resolved scaled-font
26529 The intention is to stress test the solid pattern caches, so we can cheat
26530 and avoid repeatedly resolving the toy font.
26532 test/solid-pattern-cache-stress.c | 6 ++++++
26533 1 file changed, 6 insertions(+)
26535 commit 25c37509396a89deb644cbd6ada99137ba9d3095
26536 Author: Chris Wilson <chris@chris-wilson.co.uk>
26537 Date: Sun Jun 7 19:23:04 2009 +0100
26539 [scaled-font] Report the original-font-face
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.
26545 Fixes test/font-face-get-type.
26547 src/cairo-scaled-font.c | 3 +++
26548 1 file changed, 3 insertions(+)
26550 commit 6d693f6bd7c629372cfb6c284ca98dc04619bfe9
26551 Author: Chris Wilson <chris@chris-wilson.co.uk>
26552 Date: Sun Jun 7 18:59:36 2009 +0100
26554 [ft] Support font_face->get_implementation
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.
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(-)
26569 commit a29426f4bffc0a3f5bb349a2ba44203394339ae8
26570 Author: Chris Wilson <chris@chris-wilson.co.uk>
26571 Date: Sun Jun 7 17:24:40 2009 +0100
26573 [ft] Assert that we create an unscaled font for the resolved pattern
26575 src/cairo-ft-font.c | 2 ++
26576 1 file changed, 2 insertions(+)
26578 commit 7d8a0a1cdd62112ccdae2a80bb55ec9cec99b978
26579 Author: Chris Wilson <chris@chris-wilson.co.uk>
26580 Date: Sun Jun 7 17:01:57 2009 +0100
26582 [cairo] Keep a small stash of cairo contexts
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.
26588 src/cairo.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++--
26589 1 file changed, 49 insertions(+), 2 deletions(-)
26591 commit f08fe5b550d53c93b73c6295f8a85a8dcd4a1f4a
26592 Author: Chris Wilson <chris@chris-wilson.co.uk>
26593 Date: Sun Jun 7 15:55:20 2009 +0100
26595 [trace] Redirect stdout to /dev/null when compressing
26597 Otherwise we mix in stdout in with the trace and prevent replay.
26599 util/cairo-trace/cairo-trace.in | 2 +-
26600 1 file changed, 1 insertion(+), 1 deletion(-)
26602 commit 750c1b5b48dcd33ba4a4d5290c50f564bf45bc58
26603 Author: Chris Wilson <chris@chris-wilson.co.uk>
26604 Date: Sat Jun 6 21:45:18 2009 +0100
26606 [configure] Check for FcInit()
26608 configure.ac | 2 +-
26609 test/cairo-test.c | 2 ++
26610 2 files changed, 3 insertions(+), 1 deletion(-)
26612 commit f7a562a590493904cf10b4fb9af3b42fb3f8a3a2
26613 Author: Chris Wilson <chris@chris-wilson.co.uk>
26614 Date: Sat Jun 6 14:58:46 2009 +0100
26616 [configure] Don't attempt to build GTK+ utilities on system without GTK+
26618 configure.ac | 3 ++-
26619 util/Makefile.am | 5 ++++-
26620 2 files changed, 6 insertions(+), 2 deletions(-)
26622 commit 6a5957475139a7c80a6bb55fb63927e5ec8866f6
26623 Author: Eric Anholt <eric@anholt.net>
26624 Date: Sun Jun 7 10:43:43 2009 +0000
26626 [gl] consolidate the pixman format to GL format/type/internalformat code.
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.
26631 src/cairo-gl-surface.c | 321 ++++++++++++++++++++++++------------------------
26632 1 file changed, 158 insertions(+), 163 deletions(-)
26634 commit cb1e5674cd7a61a2d96bd4ae8895b26686571e78
26635 Author: Eric Anholt <eric@anholt.net>
26636 Date: Sun Jun 7 10:09:28 2009 +0000
26638 [gl] Add support for more 16-bit image formats.
26640 Fixes test-fallback16-surface-source
26642 src/cairo-gl-surface.c | 54 ++++++++++++++++++++++++++++++++++++++++++------
26643 1 file changed, 48 insertions(+), 6 deletions(-)
26645 commit 7a95b2745ae619f6ca4631f3cdb03e12203126f3
26646 Author: Chris Wilson <chris@chris-wilson.co.uk>
26647 Date: Sat Jun 6 21:36:08 2009 +0100
26649 [boilerplate] Minor typo in win32-printing
26651 boilerplate/cairo-boilerplate.c | 2 +-
26652 1 file changed, 1 insertion(+), 1 deletion(-)
26654 commit 16eb160c7794ad34c17c5b12ec586d956baf9831
26655 Author: Chris Wilson <chris@chris-wilson.co.uk>
26656 Date: Sat Jun 6 20:09:15 2009 +0100
26658 [script] Enable compilation without fontconfig
26660 Some insane people actually try compiling cairo with freetype and without
26663 util/cairo-script/cairo-script-operators.c | 6 ++++++
26664 1 file changed, 6 insertions(+)
26666 commit d753ba96aba4dbbcbd0da1823be8824ba233f079
26667 Author: Chris Wilson <chris@chris-wilson.co.uk>
26668 Date: Fri Jun 5 17:59:38 2009 +0100
26670 [script] Manage used entries within hash tables
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.
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(-)
26680 commit 4ccfd474a36f482adcab49a8d38742121817b47e
26681 Author: Chris Wilson <chris@chris-wilson.co.uk>
26682 Date: Sat Jun 6 13:32:21 2009 +0100
26684 [perf] Switch to using clock_gettime()
26686 Try using clock_gettime() for a high resolution stable time source in
26687 preference to the potentially unstable TSC.
26689 build/configure.ac.system | 9 ++++--
26690 perf/cairo-perf-posix.c | 72 +++++++++++++++++++++++++++++++++------------
26691 2 files changed, 60 insertions(+), 21 deletions(-)
26693 commit 867c88ae90e4e69a556c032fa67d94a292f5d817
26694 Author: Chris Wilson <chris@chris-wilson.co.uk>
26695 Date: Sat Jun 6 12:59:39 2009 +0100
26697 [script] Add a finish method to the interpreter
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.
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(-)
26710 commit 098822d7ee7f14096dd269c1bc96e39da126622c
26711 Author: Chris Wilson <chris@chris-wilson.co.uk>
26712 Date: Sat Jun 6 10:35:19 2009 +0100
26714 [script] Fix erroneous error return when rendering type3 glyphs
26716 Only return a USER_FONT_ERROR if an error occurs whilst rendering the
26719 util/cairo-script/cairo-script-operators.c | 2 +-
26720 1 file changed, 1 insertion(+), 1 deletion(-)
26722 commit 24e51dd2ee04884e1f6f9f527b6675ad5f883ee2
26723 Author: Chris Wilson <chris@chris-wilson.co.uk>
26724 Date: Fri Jun 5 18:34:29 2009 +0100
26726 [atomic] Hide compiler warnings
26728 Add uint variants of _cairo_atomic_int_*() to hide the compiler warnings
26729 about sign conversions.
26731 src/cairo-atomic-private.h | 3 +++
26732 src/cairo-surface.c | 6 +++---
26733 2 files changed, 6 insertions(+), 3 deletions(-)
26735 commit 4ae5e2d44555a7219eb76ee187a8f588606c112f
26736 Author: Chris Wilson <chris@chris-wilson.co.uk>
26737 Date: Fri Jun 5 18:29:40 2009 +0100
26739 [atomic] Provide mutex-based ptr cmpxchg
26741 To handle those CPUs where we do not have an atomic cmpxchg.
26743 src/cairo-atomic-private.h | 3 +++
26744 src/cairo-atomic.c | 13 +++++++++++++
26745 2 files changed, 16 insertions(+)
26747 commit a1d0a06b6275cac3974be84919993e187394fe43
26748 Author: Thomas Jaeger <ThJaeger@gmail.com>
26749 Date: Thu Feb 19 12:02:41 2009 -0500
26751 xlib, xcb: Hand off EXTEND_PAD/EXTEND_REFLECT to Render
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.
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.
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(-)
26774 commit 60aefd0d634c531353c92b77b36424b142efeb93
26775 Author: Chris Wilson <chris@chris-wilson.co.uk>
26776 Date: Fri Jun 5 07:30:13 2009 +0100
26778 [configure] Bump pixman dependency.
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
26784 configure.ac | 2 +-
26785 1 file changed, 1 insertion(+), 1 deletion(-)
26787 commit 9d7a7e76b8bccc2517950976bb8557cd7b955a11
26788 Author: Chris Wilson <chris@chris-wilson.co.uk>
26789 Date: Thu Jun 4 22:19:31 2009 +0100
26791 [scaled-font] Close race from 16d128
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
26799 src/cairo-scaled-font-private.h | 6 +++---
26800 src/cairo-scaled-font.c | 33 +++++++++++++++++++++++----------
26801 2 files changed, 26 insertions(+), 13 deletions(-)
26803 commit f4d9a4482fa1bfa37783ca139e3716c8d8649f32
26804 Author: Chris Wilson <chris@chris-wilson.co.uk>
26805 Date: Thu Jun 4 14:13:06 2009 +0100
26807 [pattern] Generalise the freed pattern pool
26809 Also cache recently freed surface and gradient patterns. With thanks to
26810 Jonathan Morton for the inspiration and initial pointer pool code for
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(-)
26818 commit 132f44dce1884c9beed8c5e6588140ee8fa9cfbe
26819 Author: Chris Wilson <chris@chris-wilson.co.uk>
26820 Date: Thu Jun 4 14:12:20 2009 +0100
26822 valgrindify init/fini routines
26824 Annotate object init/fini routines to detect use-after-free for
26825 on-stack/embedded objects.
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 ++++
26838 src/cairoint.h | 4 ++++
26839 12 files changed, 88 insertions(+), 19 deletions(-)
26841 commit e89828c5331579d0d4019b6339df09ba1e2aa32e
26842 Author: Chris Wilson <chris@chris-wilson.co.uk>
26843 Date: Wed Jun 3 21:52:02 2009 +0100
26845 [freelist] valgrindify freed blocks
26847 Mark freed blocks as unaccessible upon free() and then as undefined
26850 src/cairo-freelist.c | 26 ++++++++++++++++++++++----
26851 1 file changed, 22 insertions(+), 4 deletions(-)
26853 commit 4e11d56f8e5f409ea2476315c9d67116b213b738
26854 Author: Chris Wilson <chris@chris-wilson.co.uk>
26855 Date: Thu Jun 4 11:16:48 2009 +0100
26857 [perf] Update trace summary after each iteration
26859 Running the macro-benchmarks takes so long, feedback is important.
26861 perf/cairo-perf-trace.c | 29 ++++++++++++++++++++++++++++-
26862 perf/cairo-perf.h | 1 +
26863 2 files changed, 29 insertions(+), 1 deletion(-)
26865 commit 5c2e73e74cb9aef92fdd90a91df44b417a036ebd
26866 Author: Chris Wilson <chris@chris-wilson.co.uk>
26867 Date: Thu Jun 4 10:03:45 2009 +0100
26869 [perf] Enable traces to be interrupted
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.
26876 perf/cairo-perf-trace.c | 20 +++++++++++++++++++-
26877 1 file changed, 19 insertions(+), 1 deletion(-)
26879 commit 2eaced24475622e73fbf6e3307ab46e3fe37eaef
26880 Author: Chris Wilson <chris@chris-wilson.co.uk>
26881 Date: Wed Jun 3 21:49:17 2009 +0100
26883 [perf] Reconstruct interpreter for each run
26885 Destroy the interpreter after each run of a trace so that we collect any
26888 perf/cairo-perf-trace.c | 21 ++++++++++-----------
26889 1 file changed, 10 insertions(+), 11 deletions(-)
26891 commit 1b92ea250fdaef9add1a68bb8565847e6d56b023
26892 Author: Chris Wilson <chris@chris-wilson.co.uk>
26893 Date: Wed Jun 3 20:28:49 2009 +0100
26895 [ft] Don't call FT_Done_Face() on a face we do not own
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
26903 src/cairo-ft-font.c | 4 +++-
26904 1 file changed, 3 insertions(+), 1 deletion(-)
26906 commit 8e5295979fe087fadeff0f56c036f9d002086996
26907 Author: Chris Wilson <chris@chris-wilson.co.uk>
26908 Date: Wed Jun 3 20:17:59 2009 +0100
26910 [pattern] Typo in document
26912 Remove extraneous markup from program-listing.
26914 https://bugs.freedesktop.org/show_bug.cgi?id=20441
26916 src/cairo-pattern.c | 2 +-
26917 1 file changed, 1 insertion(+), 1 deletion(-)
26919 commit fa5d6c7afdb9b742ad653c65e8804e84f2964599
26920 Author: Chris Wilson <chris@chris-wilson.co.uk>
26921 Date: Wed Jun 3 19:29:19 2009 +0100
26923 [trace] Add a --profile mode
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!
26929 perf/README | 11 +++++++++--
26930 util/cairo-trace/cairo-trace.in | 18 ++++++++++++++++++
26931 2 files changed, 27 insertions(+), 2 deletions(-)
26933 commit 9451f0b983665d13ad777bc8fd88507fb7a317b4
26934 Author: Chris Wilson <chris@chris-wilson.co.uk>
26935 Date: Wed Jun 3 13:26:52 2009 +0100
26937 [perf] Drop ticks from trace benchmarks
26939 Don't report the tick values for the macro-benchmarks as these are so
26940 large as to be meaningless.
26942 perf/cairo-perf-trace.c | 37 ++++++++++++++++++++-----------------
26943 1 file changed, 20 insertions(+), 17 deletions(-)
26945 commit c988dc3719e345f6e1db6b0d656077a6b253b26d
26946 Author: Chris Wilson <chris@chris-wilson.co.uk>
26947 Date: Wed Jun 3 10:51:23 2009 +0100
26951 Fix conflicting sentence as pointed out by
26952 https://bugs.freedesktop.org/show_bug.cgi?id=20183
26954 src/cairo.c | 4 ----
26955 1 file changed, 4 deletions(-)
26957 commit 35d0dd00c9f21cc4fd392d4627756f8d5b53a11b
26958 Author: Chris Wilson <chris@chris-wilson.co.uk>
26959 Date: Wed Jun 3 10:49:16 2009 +0100
26963 Correct parameter reference as pointed out by
26964 https://bugs.freedesktop.org/show_bug.cgi?id=20182
26966 src/cairo-image-surface.c | 2 +-
26967 1 file changed, 1 insertion(+), 1 deletion(-)
26969 commit 58459ac6435a2889b90580ddf00e69107361f431
26970 Author: Chris Wilson <chris@chris-wilson.co.uk>
26971 Date: Wed Jun 3 10:45:51 2009 +0100
26973 [font-options] Doc typo
26975 Remove duplicate 'with' as pointed out by
26976 https://bugs.freedesktop.org/show_bug.cgi?id=20180
26978 src/cairo-font-options.c | 2 +-
26979 1 file changed, 1 insertion(+), 1 deletion(-)
26981 commit 8d39dee8e2aea2200fec460e8540838ec29cae5f
26982 Author: Chris Wilson <chris@chris-wilson.co.uk>
26983 Date: Wed Jun 3 10:40:38 2009 +0100
26985 [cairo] Update documentation for bug 20154
26987 Several typographical errors were pointed out in
26988 https://bugs.freedesktop.org/show_bug.cgi?id=20154
26990 src/cairo.c | 17 ++++++++---------
26991 1 file changed, 8 insertions(+), 9 deletions(-)
26993 commit 73469e693c02e6a99a32f12ac333737b47408e5e
26994 Author: Chris Wilson <chris@chris-wilson.co.uk>
26995 Date: Wed Jun 3 09:51:52 2009 +0100
26997 [cairo] Tweak error strings.
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.
27003 src/cairo-misc.c | 12 ++++++------
27004 src/cairo.h | 4 ++--
27005 2 files changed, 8 insertions(+), 8 deletions(-)
27007 commit ab86662ab499e1f29c0f8c4248771e730c281e3f
27008 Author: Andrew Lavin <aj.lavin@gmail.com>
27009 Date: Fri May 22 16:36:40 2009 -0400
27011 [test] Compile fix for invalid-matrix
27013 Fixed test compile error on OS X that caused fenv.h not to be included.
27015 test/invalid-matrix.c | 2 +-
27016 1 file changed, 1 insertion(+), 1 deletion(-)
27018 commit eec547648439884a464eef832067a363cf1547e2
27019 Author: Chris Wilson <chris@chris-wilson.co.uk>
27020 Date: Wed Jun 3 08:57:15 2009 +0100
27022 [perf] s/git/anongit/
27026 perf/cairo-perf-trace.c | 2 +-
27027 1 file changed, 1 insertion(+), 1 deletion(-)
27029 commit ce7e6339428703069f798dffcf23ec3e98cb554f
27030 Author: Chris Wilson <chris@chris-wilson.co.uk>
27031 Date: Tue Jun 2 21:54:44 2009 +0100
27033 [perf] Warn if no traces were found
27035 perf/cairo-perf-trace.c | 28 ++++++++++++++++++++--------
27036 1 file changed, 20 insertions(+), 8 deletions(-)
27038 commit f0366f0f3263397181699bf6bf2ed3968ea66403
27039 Author: Chris Wilson <chris@chris-wilson.co.uk>
27040 Date: Tue Jun 2 21:48:26 2009 +0100
27042 [perf] Update to point to new toplevel cairo-traces repo
27044 perf/cairo-perf-trace.c | 12 ++++++------
27045 1 file changed, 6 insertions(+), 6 deletions(-)
27047 commit c9cd2f9ca101c25d04f52578d54be36ae646049e
27048 Author: Chris Wilson <chris@chris-wilson.co.uk>
27049 Date: Tue Jun 2 18:47:07 2009 +0100
27051 [cairo] PLT symbols for cairo_set_source_rgb
27053 Added a private use in user-font, but forgot to add a hidden symbol.
27056 src/cairoint.h | 1 +
27057 2 files changed, 2 insertions(+)
27059 commit 21550a753059b4f880f03ea96148befaa34a6426
27060 Author: Chris Wilson <chris@chris-wilson.co.uk>
27061 Date: Tue Jun 2 18:08:45 2009 +0100
27063 [user-font] Set the initial colour to white
27065 An issue occured when using subpixel antialiasing with user-fonts and
27066 XRender - the glyphs were transparent, as demonstrated by the font-view
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.
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
27079 src/cairo-user-font.c | 1 +
27080 1 file changed, 1 insertion(+)
27082 commit b5799e073e4e404aea277b7640eeee2120318823
27083 Author: Chris Wilson <chris@chris-wilson.co.uk>
27084 Date: Tue Jun 2 18:07:31 2009 +0100
27086 [xlib] Use bswap_32
27088 Byteswap the ARGB32 glyphs using bswap_32 instead of open-coding.
27090 src/cairo-xlib-surface.c | 30 +++++++++++-------------------
27091 1 file changed, 11 insertions(+), 19 deletions(-)
27093 commit 56e9765f82a64940b36a64688267fbe5d1c8919e
27094 Author: Chris Wilson <chris@chris-wilson.co.uk>
27095 Date: Fri Jan 2 14:25:04 2009 +0000
27097 [util] Add font-view
27099 A C variant of Behdad's python example font viewer.
27101 util/Makefile.am | 5 ++
27102 util/font-view.c | 184 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
27103 2 files changed, 189 insertions(+)
27105 commit d331dda48017667c15f95bf7d510bce2f38111de
27106 Author: Chris Wilson <chris@chris-wilson.co.uk>
27107 Date: Tue Jun 2 15:41:19 2009 +0100
27109 [perf] Missing ')' in output
27111 perf/cairo-perf-compare-backends.c | 2 +-
27112 1 file changed, 1 insertion(+), 1 deletion(-)
27114 commit c9ddaf8e7f0006f308aab0b87cf0425b2690d914
27115 Author: Adrian Johnson <ajohnson@redneon.com>
27116 Date: Sun Sep 7 13:09:09 2008 +0930
27118 PDF: Don't embed the same pattern more than once
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().
27124 src/cairo-pdf-surface-private.h | 13 +++-
27125 src/cairo-pdf-surface.c | 134 ++++++++++++++++++++++++++++++---------
27126 2 files changed, 115 insertions(+), 32 deletions(-)
27128 commit f7613eeecea1218d353a183078fb77bc5cf4e72e
27129 Author: Paolo Bonzini <bonzini@gnu.org>
27130 Date: Tue Nov 25 20:15:15 2008 +0100
27132 Add more surface snapshots providers
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.
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(-)
27145 commit cffb398f5a484000be458d04ef8f8bce3f6c7e3d
27146 Author: Chris Wilson <chris@chris-wilson.co.uk>
27147 Date: Tue May 26 21:07:07 2009 +0100
27149 Add a generic cow-snapshotting framework
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
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
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(-)
27171 commit 7ed050fd435f17d25c7b757b02cfe200f8779fc2
27172 Author: Chris Wilson <chris@chris-wilson.co.uk>
27173 Date: Tue Jun 2 13:08:25 2009 +0100
27175 [perf] Benchmark traces
27177 Add a variant of cairo-perf that measures the time to replay traces.
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(-)
27188 commit 403f780b292762aa45056c2fb5a48bb806521173
27189 Author: Chris Wilson <chris@chris-wilson.co.uk>
27190 Date: Tue Jun 2 09:16:16 2009 +0100
27192 [perf] Add a verbose flag for summary output with raw
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.
27198 perf/cairo-perf.c | 82 +++++++++++++++++++++++++++++++++--------------------
27199 perf/cairo-perf.h | 3 ++
27200 2 files changed, 55 insertions(+), 30 deletions(-)
27202 commit 70fd2bbce38fca65db6725c632ee591352dfe42c
27203 Author: Chris Wilson <chris@chris-wilson.co.uk>
27204 Date: Tue Jun 2 09:00:21 2009 +0100
27206 [perf] Exclude similar testing by default
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...)
27213 perf/cairo-perf.c | 5 +++--
27214 1 file changed, 3 insertions(+), 2 deletions(-)
27216 commit bc49cb377c70c4c6926ca52e34094e99a4591f14
27217 Author: Chris Wilson <chris@chris-wilson.co.uk>
27218 Date: Sat May 30 12:28:23 2009 +0100
27220 [perf] Benchmark mixing different masks and sources
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(+)
27228 commit 4aca84ddb22bc178cbc9b132b9ce06af3f4b300b
27229 Author: Chris Wilson <chris@chris-wilson.co.uk>
27230 Date: Thu May 28 18:05:26 2009 +0100
27232 [perf] Add a pure glyphs performance metric
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.
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(+)
27246 commit 55f4e0e4e8c7df59bfc9e6ffea8daa065276e42f
27247 Author: Chris Wilson <chris@chris-wilson.co.uk>
27248 Date: Sat May 30 16:50:17 2009 +0100
27250 [perf] Change seperators from '-' to '.'
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.
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(-)
27268 commit b7c03d4e400245fc2b2d748fe808a9724e61f22f
27269 Author: Chris Wilson <chris@chris-wilson.co.uk>
27270 Date: Wed May 27 16:31:51 2009 +0100
27272 [ps] Trivial warning fix.
27274 src/cairo-ps-surface.c | 1 +
27275 1 file changed, 1 insertion(+)
27277 commit 99482b17a50a8ae52b7627bf624e358ed3623540
27278 Author: Chris Wilson <chris@chris-wilson.co.uk>
27279 Date: Wed May 27 18:34:54 2009 +0100
27281 [script] Improve caching of glyph advance
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.
27289 util/cairo-script/cairo-script-operators.c | 39 ++++++++++------------------
27290 1 file changed, 14 insertions(+), 25 deletions(-)
27292 commit 51193f1610c0f6893768e43e90a3395ec96c28fb
27293 Author: Chris Wilson <chris@chris-wilson.co.uk>
27294 Date: Thu May 28 14:16:58 2009 +0100
27296 [pattern] Pass flags to _cairo_pattern_acquire_surface()
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
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(-)
27311 commit 4ec451a2fa4050a60a81d01473d23ff2973f47e6
27312 Author: Chris Wilson <chris@chris-wilson.co.uk>
27313 Date: Wed May 27 17:35:54 2009 +0100
27315 [scaled-font] Cache repeated glyphs during probing device_extents
27317 Maintain a local on-stack cache of recently queried glyphs to avoid
27318 relatively expensive hash table queries.
27320 src/cairo-scaled-font.c | 35 +++++++++++++++++++++++------------
27321 1 file changed, 23 insertions(+), 12 deletions(-)
27323 commit ec22ae5b1d7e8ec364813f3b1c73f538018ecb57
27324 Author: Chris Wilson <chris@chris-wilson.co.uk>
27325 Date: Wed May 27 11:11:06 2009 +0100
27327 [scaled-font] Compare most recently used font directly
27329 Avoid the relatively expensive _cairo_scaled_font_init_key() operation
27330 when checking against the most recently used font.
27332 src/cairo-scaled-font.c | 28 +++++++++++++++++++++++-----
27333 1 file changed, 23 insertions(+), 5 deletions(-)
27335 commit 16d128c15edf36a6e285fe4fbd6a828b64fd7f87
27336 Author: Chris Wilson <chris@chris-wilson.co.uk>
27337 Date: Wed May 27 21:10:04 2009 +0100
27339 [scaled-font] Lazily acquire the font_map_lock on font destruction.
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).
27349 src/cairo-scaled-font.c | 32 +++++++++++++++++---------------
27350 1 file changed, 17 insertions(+), 15 deletions(-)
27352 commit dc083ab30a5b781e205354c525ee054982364abd
27353 Author: Chris Wilson <chris@chris-wilson.co.uk>
27354 Date: Wed May 27 14:54:34 2009 +0100
27356 [cairo] Track the MRU scaled font
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.
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.
27369 By introducing a MRU slot on the gstate we are able to directly recover
27370 the scaled font around 90% of the time.
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
27380 This translates to an elapsed time saving of ~5% when replaying a
27381 gnome-terminal trace using the drm backend.
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(-)
27388 commit fda89c56ff484a8cd33cd780e8b9396d3538284d
27389 Author: Chris Wilson <chris@chris-wilson.co.uk>
27390 Date: Wed May 27 15:59:16 2009 +0100
27392 Markup a few more functions as const/pure
27394 src/cairoint.h | 59 +++++++++++++++++++++++++++++---------------------------
27395 1 file changed, 31 insertions(+), 28 deletions(-)
27397 commit f59f44c140e5f60d336423e0585d2bb8a6c0ea01
27398 Merge: 2da78fd 4232719
27399 Author: Eric Anholt <eric@anholt.net>
27400 Date: Tue Jun 2 00:37:19 2009 -0700
27402 Merge commit 'origin/master' into gl
27404 Felt like pulling the latest stuff, since I branched back in February.
27407 build/configure.ac.features
27409 util/cairo-script/csi-replay.c
27411 commit 2da78fd4666faa27d037ae3625ca83353a6e7629
27412 Author: Eric Anholt <eric@anholt.net>
27413 Date: Mon Jun 1 14:04:21 2009 -0700
27415 [gl] Drop use of packed datatypes where it's disallowed.
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!
27423 This fixes 20 regressions in the test suite.
27425 src/cairo-gl-surface.c | 25 +++++++++++++------------
27426 1 file changed, 13 insertions(+), 12 deletions(-)
27428 commit 69a150b7d8115babf2c60d7c5f7ca340162dc098
27429 Author: Eric Anholt <eric@anholt.net>
27430 Date: Mon Jun 1 13:36:32 2009 -0700
27432 [gl] Initialize has_alpha in the image surface composite fastpath.
27434 Fixes bilevel-image, set-source, and zero-alpha.
27436 src/cairo-gl-surface.c | 4 ++++
27437 1 file changed, 4 insertions(+)
27439 commit 7ee0fee900bf30a7ca0497ab64199c9013f81cdd
27440 Merge: 882f1d5 d3a478b
27441 Author: Eric Anholt <eric@anholt.net>
27442 Date: Mon Jun 1 10:45:36 2009 -0700
27444 Merge branch 'gl' into gl-span-renderer
27447 src/cairo-gl-surface.c
27449 commit d3a478b6c0dca3884a68c5014185cad0a166801c
27450 Author: Eric Anholt <eric@anholt.net>
27451 Date: Mon Jun 1 10:19:24 2009 -0700
27453 [gl] Fix check-plt.sh for the GL surface.
27455 src/cairo-gl-surface.c | 7 +++++++
27456 1 file changed, 7 insertions(+)
27458 commit 1f7c393a6d63282a632a62264b99e67e26ecf38e
27459 Author: Eric Anholt <eric@anholt.net>
27460 Date: Mon Jun 1 10:10:00 2009 -0700
27462 [gl] Fix check-doc-syntax.sh for GL surface.
27464 src/cairo-gl-surface.c | 2 +-
27465 1 file changed, 1 insertion(+), 1 deletion(-)
27467 commit 19bc0f2f1d75b1514b22d0bb737bad67ff8d1ee6
27468 Author: Eric Anholt <eric@anholt.net>
27469 Date: Mon Jun 1 10:09:16 2009 -0700
27471 [gl] Fix check-def.sh for GL surface.
27473 src/cairo-gl-surface.c | 2 +-
27474 src/cairo-gl.h | 6 ------
27475 2 files changed, 1 insertion(+), 7 deletions(-)
27477 commit e05097c604c607d27b341cd33426001bd2d1f690
27478 Author: Chris Wilson <chris@chris-wilson.co.uk>
27479 Date: Wed May 27 16:45:20 2009 +0100
27481 [surface] Assign a unique id to the surface.
27483 Allocate an ever-increasing, non-zero, unique identifier to each surface.
27484 True for the first 4-billion...
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(-)
27491 commit 45835f623f5ddda6e3258361b9d6ab27860a9198
27492 Author: Chris Wilson <chris@chris-wilson.co.uk>
27493 Date: Tue May 26 12:46:46 2009 +0100
27495 [cache] Expose init/fini methods so that caches can be embedded.
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.
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(-)
27507 commit c3aac9cf49362b726a54a33a46bd8511a10f644f
27508 Author: Chris Wilson <chris@chris-wilson.co.uk>
27509 Date: Tue May 26 10:37:30 2009 +0100
27511 [image] Eliminate trapezoid array allocation
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.
27518 src/cairo-image-surface.c | 92 ++++++++++++++++++++++-----------------------
27519 1 file changed, 45 insertions(+), 47 deletions(-)
27521 commit 7b2bc441387abcf3967587f571dc5741d0a53938
27522 Author: Chris Wilson <chris@chris-wilson.co.uk>
27523 Date: Tue May 26 10:41:53 2009 +0100
27525 [surface-fallback] Tidy pattern handling.
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.
27531 src/cairo-surface-fallback.c | 83 +++++++++++++++++-------------------------
27532 1 file changed, 33 insertions(+), 50 deletions(-)
27534 commit e83e113eae9e7cb3e09719bfc0ad68450faf3ecd
27535 Author: Chris Wilson <chris@chris-wilson.co.uk>
27536 Date: Mon May 25 23:25:38 2009 +0100
27538 [surface] Speed up cairo_surface_get_mime_data().
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
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(-)
27551 commit 247e76b923d54f639e2ca50c8da945c15b691158
27552 Author: Chris Wilson <chris@chris-wilson.co.uk>
27553 Date: Tue May 26 08:53:45 2009 +0100
27555 [script] Speed up floating-point scanner
27557 Hard-code frequent exponents to reduce number of calls to pow().
27559 util/cairo-script/cairo-script-scanner.c | 45 ++++++++++++++++++++----------
27560 1 file changed, 31 insertions(+), 14 deletions(-)
27562 commit c5e85835b29c7654e1c28a90b2e587afba7b6f0f
27563 Author: Chris Wilson <chris@chris-wilson.co.uk>
27564 Date: Tue May 26 15:52:30 2009 +0100
27566 [debug] Relax ASSERT_NOT_REACHED
27568 Need to actually handle random pixman image formats...
27569 For the time being, ignore them.
27571 src/cairo-debug.c | 2 +-
27572 1 file changed, 1 insertion(+), 1 deletion(-)
27574 commit 4232719af968ed05636fe34f2ffe2520dc02d737
27575 Author: Behdad Esfahbod <behdad@behdad.org>
27576 Date: Sat May 30 23:03:55 2009 -0400
27578 [ft] Fix vertical advance metrics of bitmap fonts (#21985)
27580 src/cairo-ft-font.c | 4 ++--
27581 1 file changed, 2 insertions(+), 2 deletions(-)
27583 commit 4314cae874dec2747df6be88859d7b6174eece31
27584 Author: Adrian Johnson <ajohnson@redneon.com>
27585 Date: Wed May 27 17:56:05 2009 +0930
27587 Fix typo in comment
27589 src/cairo-truetype-subset.c | 2 +-
27590 1 file changed, 1 insertion(+), 1 deletion(-)
27592 commit 7dbc2fe80a4fe0dcee4a293e47ab6edcefc24e18
27593 Author: Chris Wilson <chris@chris-wilson.co.uk>
27594 Date: Mon May 25 20:36:34 2009 +0100
27596 [script] Simplify _dictionary_name_equal
27598 Just a simple return TRUE since all necessary checking is performed by
27599 _csi_hash_table_lookup().
27601 util/cairo-script/cairo-script-objects.c | 4 +---
27602 1 file changed, 1 insertion(+), 3 deletions(-)
27604 commit 0b5e92e66be94ce7cc9c31e911f23c4cb7ec77af
27605 Author: Chris Wilson <chris@chris-wilson.co.uk>
27606 Date: Mon May 25 19:56:57 2009 +0100
27608 [script] Check hash value between comparing keys
27610 util/cairo-script/cairo-script-hash.c | 7 +++++--
27611 1 file changed, 5 insertions(+), 2 deletions(-)
27613 commit a364f71194aa2ea92071662f156c9b2a4d9211b4
27614 Author: Chris Wilson <chris@chris-wilson.co.uk>
27615 Date: Mon May 25 21:25:27 2009 +0100
27617 [trace] Set output location using pwd
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.
27623 util/cairo-trace/cairo-trace.in | 2 +-
27624 1 file changed, 1 insertion(+), 1 deletion(-)
27626 commit a76e09ea656faa63fbfa159e8f52c9c9ec7d35c6
27627 Author: Chris Wilson <chris@chris-wilson.co.uk>
27628 Date: Mon May 25 21:22:43 2009 +0100
27630 [trace] Missing newlines in error messages.
27632 util/cairo-trace/trace.c | 4 ++--
27633 1 file changed, 2 insertions(+), 2 deletions(-)
27635 commit b7f199fde25c960bf87302d5e868a7c2dffa4f5d
27636 Author: Chris Wilson <chris@chris-wilson.co.uk>
27637 Date: Mon May 25 12:40:35 2009 +0100
27639 [pattern] Trim REPEAT source size when applicable.
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.
27647 src/cairo-pattern.c | 21 ++++++++++++++++++---
27648 1 file changed, 18 insertions(+), 3 deletions(-)
27650 commit e4efc80b8e89b05afc22d74f984f4ec9012bc39b
27651 Author: Chris Wilson <chris@chris-wilson.co.uk>
27652 Date: Mon May 25 21:15:22 2009 +0100
27654 [build] Make valgrind support user-configurable
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.
27660 build/configure.ac.analysis | 37 ++++++++++++++++++++++---------------
27661 1 file changed, 22 insertions(+), 15 deletions(-)
27663 commit d840deb57b51236820dc8c320ecd7540973de873
27664 Author: Chris Wilson <chris@chris-wilson.co.uk>
27665 Date: Mon May 25 22:11:22 2009 +0100
27667 [in-fill] Fix typo in on-vertex test.
27669 Eeek! Comparing point->y against in_fill->x is a bad idea.
27671 src/cairo-path-in-fill.c | 10 +++++-----
27672 1 file changed, 5 insertions(+), 5 deletions(-)
27674 commit cfd484cd01a77b1f91e27daccfc5f240cf7c692d
27675 Author: Chris Wilson <chris@chris-wilson.co.uk>
27676 Date: Mon May 25 22:10:20 2009 +0100
27678 [test] Change test semantics to match new in-fill definition
27680 The in-fill definition has changed to include queries on the edges and
27681 vertices, so update the test case to match.
27683 test/in-fill-trapezoid.c | 77 ++++++++++++++++++++++++++++++++++------------
27684 1 file changed, 57 insertions(+), 20 deletions(-)
27686 commit b71b019fe50a9188ddbecd1945606da8ba3bad53
27687 Author: Chris Wilson <chris@chris-wilson.co.uk>
27688 Date: Fri Feb 27 16:32:21 2009 +0000
27690 [in-fill] Treat on-edge queries as inside.
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...
27698 src/cairo-path-in-fill.c | 21 ++++++++++++++++++++-
27699 1 file changed, 20 insertions(+), 1 deletion(-)
27701 commit efd0f0b2922d0801e4e0e8e75ddf9b9892a2f2e6
27702 Author: Chris Wilson <chris@chris-wilson.co.uk>
27703 Date: Wed May 20 18:49:28 2009 +0100
27705 [xlib] Handle too-large images gracefully.
27707 Trigger a fallback to an image surface for massive patterns.
27709 src/cairo-xlib-surface.c | 4 ++--
27710 1 file changed, 2 insertions(+), 2 deletions(-)
27712 commit 3c6838532a62c294e7f18b13b0b7f8da9a1a1e1e
27713 Author: Chris Wilson <chris@chris-wilson.co.uk>
27714 Date: Wed May 20 18:46:35 2009 +0100
27716 [surface] Early return if the backend cannot clone an image
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.
27723 src/cairo-surface.c | 6 +++++-
27724 1 file changed, 5 insertions(+), 1 deletion(-)
27726 commit bf2c7356d4c955fb770863874a0ea111e9ba02a4
27727 Author: Chris Wilson <chris@chris-wilson.co.uk>
27728 Date: Fri May 22 12:52:43 2009 +0100
27730 [surface] Provide nil-surface for INVALID_SIZE
27732 So that we can faithfully report back failure if the user tries to create
27733 a surface larger than the backend can support.
27735 src/cairo-surface.c | 4 +++-
27736 1 file changed, 3 insertions(+), 1 deletion(-)
27738 commit 6717f0d748000416172057d0aab2471377456e27
27739 Author: Chris Wilson <chris@chris-wilson.co.uk>
27740 Date: Wed May 20 17:35:19 2009 +0100
27742 [win32] Wrap win32-font usage with CAIRO_HAS_WIN32_FONT
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]
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.
27752 src/cairo-win32-printing-surface.c | 4 ++++
27753 1 file changed, 4 insertions(+)
27755 commit c7d2b0de830f4c653fbb5016c4efdc5f0e5af0eb
27756 Author: Chris Wilson <chris@chris-wilson.co.uk>
27757 Date: Wed May 20 17:34:56 2009 +0100
27761 Correct function name in error string.
27763 src/cairo-win32-printing-surface.c | 2 +-
27764 1 file changed, 1 insertion(+), 1 deletion(-)
27766 commit 87b764908a38cbb4159ac76d8b7d1d08a24b838e
27767 Author: Chris Wilson <chris@chris-wilson.co.uk>
27768 Date: Tue May 19 15:53:55 2009 +0100
27770 [gl] Add EGL target
27772 Split the GLX context from the GL surface to enable use of an alternative
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(-)
27799 commit 6e87e354e42d1a758a252533407e6e1829638544
27800 Author: Adrian Johnson <ajohnson@redneon.com>
27801 Date: Sun May 17 18:14:28 2009 +0930
27803 Correct the comment for the index_to_ucs4 font backend function
27805 src/cairoint.h | 3 ++-
27806 1 file changed, 2 insertions(+), 1 deletion(-)
27808 commit 2a34992cccfd77c2acf30fe851311f16137ba32f
27809 Author: Adrian Johnson <ajohnson@redneon.com>
27810 Date: Sun May 17 18:12:39 2009 +0930
27812 Ensure win32 font index_to_ucs4() sets ucs4 to -1 if lookup fails
27814 src/cairo-win32-font.c | 1 +
27815 1 file changed, 1 insertion(+)
27817 commit 4c8e5485a10478c19e8a6cb48595473f5bb8ee8a
27818 Author: Adrian Johnson <ajohnson@redneon.com>
27819 Date: Sun May 17 18:05:42 2009 +0930
27821 Fix win32 build breakage
27823 that was caused by c25992479aca481d326f72665ebdcf0904273eac
27825 src/cairo-win32-private.h | 1 +
27826 1 file changed, 1 insertion(+)
27828 commit 31596cf2b298054bbd3e340ae77a3388eadc0d8b
27829 Author: Chris Wilson <chris@chris-wilson.co.uk>
27830 Date: Fri May 15 17:40:26 2009 +0100
27832 [debug] Check image contents using memcheck.
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
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(-)
27848 commit 791a6fa399894e735d522781b15b7f18c3ecd4d1
27849 Author: Chris Wilson <chris@chris-wilson.co.uk>
27850 Date: Fri May 15 16:57:49 2009 +0100
27852 [memfault] Update macros to avoid namescape collision with memcheck
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
27858 src/cairo-malloc-private.h | 2 +-
27859 test/cairo-test.c | 62 ++++++++++++++++++++++----------------------
27860 2 files changed, 32 insertions(+), 32 deletions(-)
27862 commit c897f36a6b09f3591d858142e3236f256f0bd6a2
27863 Author: Chris Wilson <chris@chris-wilson.co.uk>
27864 Date: Fri May 15 20:37:52 2009 +0100
27866 [test] Stress the ft from-face cache
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.
27871 test/ft-font-create-for-ft-face.c | 109 ++++++++++++++++++++++++++++++++++---
27872 1 file changed, 102 insertions(+), 7 deletions(-)
27874 commit 477df1f5504a507d0c5960aa7e21375284a6f99c
27875 Author: Chris Wilson <chris@chris-wilson.co.uk>
27876 Date: Fri May 15 10:48:56 2009 +0100
27878 [test] Clear expected floating point exceptions
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.
27888 build/configure.ac.system | 2 +-
27889 test/invalid-matrix.c | 4 ++++
27890 2 files changed, 5 insertions(+), 1 deletion(-)
27892 commit f47a93ef30249b531e588335045d052c3dcc71bd
27893 Author: Chris Wilson <chris@chris-wilson.co.uk>
27894 Date: Sat May 9 09:55:49 2009 +0100
27896 [test] Check text->path with user-fonts (twin)
27898 Check behaviour of user-fonts, twin in particular, when using the text as
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(-)
27907 commit 669e7ae5c98812360bf20b798c20024ae2e9810b
27908 Author: Chris Wilson <chris@chris-wilson.co.uk>
27909 Date: Fri May 8 17:36:01 2009 +0100
27911 [test] Relax APPROX_EQUALS condition
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.
27916 test/get-path-extents.c | 8 ++++----
27917 1 file changed, 4 insertions(+), 4 deletions(-)
27919 commit fe7410c6cdc19bb366bf1e93481bf8287a14d52e
27920 Author: Chris Wilson <chris@chris-wilson.co.uk>
27921 Date: Sat May 9 19:01:06 2009 +0100
27923 [test] Add a note to "Getting the elusive zero failures"
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.
27930 test/cairo-test-runner.c | 12 ++++++++++++
27931 1 file changed, 12 insertions(+)
27933 commit 2f962799a77faef0e6ad62c79bd7eebc9b8c5a4b
27934 Author: Chris Wilson <chris@chris-wilson.co.uk>
27935 Date: Fri May 15 18:49:03 2009 +0100
27937 [test] Fix typos that excluded backend test sources
27939 test/Makefile.am | 6 +++---
27940 1 file changed, 3 insertions(+), 3 deletions(-)
27942 commit c25992479aca481d326f72665ebdcf0904273eac
27943 Author: Chris Wilson <chris@chris-wilson.co.uk>
27944 Date: Sat May 9 10:10:14 2009 +0100
27946 [xlib] Use minimal depth for similar clones.
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.
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.
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(-)
27985 commit 0238fe2cafea2e1ed19bb222117bd73ee6898d4d
27986 Author: Karl Tomlinson <karlt+@karlt.net>
27987 Date: Thu May 14 11:46:29 2009 +0100
27989 [ft] Resolve mutual referencing problems with zombie faces
27991 Bug 21706 -- zombie ft_font_face / ft_unscaled_font mutual
27992 referencing problems
27993 [http://bugs.freedesktop.org/show_bug.cgi?id=21706]
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
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)
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).
28011 src/cairo-ft-font.c | 38 ++++++++++++++++++++++++++++++--------
28012 2 files changed, 31 insertions(+), 9 deletions(-)
28014 commit d6f6ec9082c86b9fd9e2389b9627f08a91c2cdd3
28015 Author: Chris Wilson <chris@chris-wilson.co.uk>
28016 Date: Fri May 8 16:43:43 2009 +0100
28018 [ft] Restore the ability to lazily resolve patterns.
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.
28026 src/cairo-ft-font.c | 32 +++++++++++++++++---------------
28027 1 file changed, 17 insertions(+), 15 deletions(-)
28029 commit a352fd46020e18f9d9f839f0c3f3a63c1d8c0ae1
28030 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
28031 Date: Fri May 15 15:34:05 2009 -0400
28033 Only include <strings.h> for ffs() when we HAVE_FFS
28035 This fixes breakage caused by 3d3d10a31e04498ef91a288d89b3dec291bfc323
28037 src/cairo-skiplist.c | 2 ++
28038 1 file changed, 2 insertions(+)
28040 commit 882f1d5a60abfbf83c65fe00b31bb4c8e5c82f62
28041 Author: Eric Anholt <eric@anholt.net>
28042 Date: Sun May 10 16:56:49 2009 -0700
28044 [gl] Use spans directly as geometry instead of rasterizing to a temporary.
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.
28055 src/cairo-gl-surface.c | 316 ++++++++++++++++++++++++++----------------------
28056 1 file changed, 171 insertions(+), 145 deletions(-)
28058 commit 7b4f2d5e6dd37232d4fa764b69065c7d96856dcc
28059 Author: Eric Anholt <eric@anholt.net>
28060 Date: Sun May 10 14:50:22 2009 -0700
28062 [gl] Use Enable/DisableClientState for arrays for consistency.
28064 src/cairo-gl-surface.c | 8 ++++----
28065 1 file changed, 4 insertions(+), 4 deletions(-)
28067 commit 705ee3da1372e8533f25e0b4bde072e4bf76872b
28068 Author: Eric Anholt <eric@anholt.net>
28069 Date: Sat May 9 12:17:12 2009 -0700
28071 [gl] Add HW spans implementation using VBOs and GL_LINES.
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
28077 src/cairo-gl-surface.c | 145 +++++++++++++++++++++++++++++++++++++++++-------
28078 1 file changed, 124 insertions(+), 21 deletions(-)
28080 commit 934af24ccce9c06fc38ab7735d643d230fb3b8ad
28081 Author: Eric Anholt <eric@anholt.net>
28082 Date: Sat May 9 10:03:06 2009 -0700
28084 [gl] Use the span renderer with an image surface temporary.
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
28090 src/cairo-gl-surface.c | 210 +++++++++++++++++++++++++++++++++++++++++++++++-
28091 1 file changed, 208 insertions(+), 2 deletions(-)
28093 commit 17b41fe7e3b8b493341be6384d816105aadf0cb6
28094 Author: Eric Anholt <eric@anholt.net>
28095 Date: Sun May 10 10:17:27 2009 -0700
28097 [gl] Use filtering of GL_NEAREST to hint to TexImage not to alloc for mipmaps.
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.
28104 src/cairo-gl-surface.c | 7 +++++++
28105 1 file changed, 7 insertions(+)
28107 commit a438acd37c5aaedc7e7a05e6a9d8758315931b44
28108 Author: Eric Anholt <eric@anholt.net>
28109 Date: Sat May 9 11:33:53 2009 -0700
28111 [gl] Handle PIXMAN_b8g8r8a and PIXMAN_b8g8r8x8 in the image tex shortcut.
28113 src/cairo-gl-surface.c | 6 ++++++
28114 1 file changed, 6 insertions(+)
28116 commit 29768c2193b09d3bef54a178c8e3ba6f7e7cebd0
28117 Author: Eric Anholt <eric@anholt.net>
28118 Date: Sat May 9 11:30:11 2009 -0700
28120 [gl] Don't forget that we require ARB_texture_non_power_of_two currently.
28122 src/cairo-gl-surface.c | 3 ++-
28123 1 file changed, 2 insertions(+), 1 deletion(-)
28125 commit 088d2a6cc70b01f55d178d235542247180b3e5ee
28126 Author: Chris Wilson <chris@chris-wilson.co.uk>
28127 Date: Thu May 7 11:35:17 2009 +0100
28129 [doc] Update identifiers
28131 doc/public/tmpl/cairo-status.sgml | 3 ++-
28132 1 file changed, 2 insertions(+), 1 deletion(-)
28134 commit d8fb6a03d3034cf776687bcc1f0625a8a9f2ae07
28135 Author: Chris Wilson <chris@chris-wilson.co.uk>
28136 Date: Thu May 7 14:57:13 2009 +0100
28138 [path] Define _BSD_SOURCE to enable hypot()
28140 hypot() is only declared for BSD/SVID/XOPEN/C99 sources. Choose BSD as
28141 we've used that elsewhere.
28143 src/cairo-path-stroke.c | 1 +
28144 1 file changed, 1 insertion(+)
28146 commit e38f85c5de51016b8858e755e2752816c9995ab2
28147 Author: Chris Wilson <chris@chris-wilson.co.uk>
28148 Date: Thu May 7 14:42:15 2009 +0100
28150 [script] Pedantic violations
28152 Fixup a few trivial errors with -pedantic.
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(-)
28158 commit 0c00556990a842e0ee0056134c6e196c2fb372b7
28159 Author: Chris Wilson <chris@chris-wilson.co.uk>
28160 Date: Thu May 7 14:11:12 2009 +0100
28162 [script] Missing include for INT32_MAX
28164 Avoid depending upon stdint.h, or rather cut'n'pasting Cairo's portable
28165 defines, by using INT_MAX and limits.h instead.
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(-)
28174 commit 3d3d10a31e04498ef91a288d89b3dec291bfc323
28175 Author: Chris Wilson <chris@chris-wilson.co.uk>
28176 Date: Thu May 7 14:10:47 2009 +0100
28178 [skiplist] Missing include for ffs()
28180 src/cairo-skiplist.c | 2 ++
28181 1 file changed, 2 insertions(+)
28183 commit e5752865ab0ebefec313ab9a6f90451ef2d7af95
28184 Author: Chris Wilson <chris@chris-wilson.co.uk>
28185 Date: Thu May 7 14:58:45 2009 +0100
28187 [cairo] Protect typeof against -ansi
28189 s/typeof/__typeof__/ to allow the [gcc-specific] macro to continue to work
28192 src/cairoint.h | 2 +-
28193 1 file changed, 1 insertion(+), 1 deletion(-)
28195 commit 5f4f2ab01ab3fa6b07ac7521dfeaf90a787a5dee
28196 Author: Chris Wilson <chris@chris-wilson.co.uk>
28197 Date: Thu May 7 14:34:47 2009 +0100
28199 [cairo] Remove stray semi-colon
28201 Pedantic finds another victim.
28203 src/cairoint.h | 2 +-
28204 1 file changed, 1 insertion(+), 1 deletion(-)
28206 commit d86ad461cf7a9d857bd07a6b775c84acbf35647b
28207 Author: Chris Wilson <chris@chris-wilson.co.uk>
28208 Date: Thu May 7 14:16:05 2009 +0100
28210 [cairo] Convert C99 comments to /* ... */
28212 First victim of -pedantic...
28214 src/cairoint.h | 2 +-
28215 1 file changed, 1 insertion(+), 1 deletion(-)
28217 commit 695f648607dd5a78cf29dcc33ed19aa223d0416a
28218 Author: Chris Wilson <chris@chris-wilson.co.uk>
28219 Date: Thu May 7 11:16:10 2009 +0100
28221 [cairo] Fix errors reported by check-doc
28223 Identity a few new instances of CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED in
28226 src/cairo.h | 8 ++++----
28227 1 file changed, 4 insertions(+), 4 deletions(-)
28229 commit 849bdee199b5ebba467603a69d30bb519c10bc75
28230 Author: Chris Wilson <chris@chris-wilson.co.uk>
28231 Date: Thu May 7 11:36:38 2009 +0100
28233 [check] Quieten output during checking headers-standalone
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.
28238 build/shave.in | 3 +++
28239 src/Makefile.am.analysis | 2 +-
28240 2 files changed, 4 insertions(+), 1 deletion(-)
28242 commit 84fad4b11bc26cfd0847660e3309eb902d783713
28243 Author: Chris Wilson <chris@chris-wilson.co.uk>
28244 Date: Thu May 7 11:31:22 2009 +0100
28246 [build] Fix gtk-doc interoperation with shave
28248 Add --tag=CC to the libtool invocations.
28250 build/Makefile.am.gtk-doc | 4 ++--
28251 1 file changed, 2 insertions(+), 2 deletions(-)
28253 commit fd72c56af833a738ddc8f188cabe03d9f8b45475
28254 Author: Chris Wilson <chris@chris-wilson.co.uk>
28255 Date: Thu May 7 11:27:43 2009 +0100
28257 [build] Report status of gtk-doc in summary
28259 build/configure.ac.features | 1 +
28260 1 file changed, 1 insertion(+)
28262 commit 428fb58a4c96391f96f48026be49a4533cd12834
28263 Author: Behdad Esfahbod <behdad@behdad.org>
28264 Date: Tue Apr 28 15:03:53 2009 -0400
28266 [user-font] Add CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED
28268 This is useful for language bindings to signal that a method is not
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(-)
28277 commit f9573d03dde2c38674d36b783044715ab5104b0a
28278 Author: Behdad Esfahbod <behdad@behdad.org>
28279 Date: Tue Mar 17 19:48:12 2009 -0400
28281 Err, make gtk-doc happy again
28283 doc/public/tmpl/cairo-status.sgml | 2 +-
28285 2 files changed, 1 insertion(+), 3 deletions(-)
28287 commit 30735f790aa3cef822f132932f43a4738cd8cd95
28288 Author: Chris Wilson <chris@chris-wilson.co.uk>
28289 Date: Tue May 5 18:37:25 2009 +0100
28291 [xlib] Use a similar content surface for cloning images
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.
28298 src/cairo-xlib-surface.c | 16 +++++++++-------
28299 1 file changed, 9 insertions(+), 7 deletions(-)
28301 commit 60e38d0530443aa9c78e74e47ba5574887ae220c
28302 Author: Chris Wilson <chris@chris-wilson.co.uk>
28303 Date: Tue May 5 17:05:39 2009 +0100
28305 [surface] Convert FORMAT_INVALID during snapshots
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.
28316 src/cairo-surface-fallback.c | 10 +++++++++-
28317 1 file changed, 9 insertions(+), 1 deletion(-)
28319 commit 31f5a2e94d669b9d2785de944d4aee584fd1d76e
28320 Author: Chris Wilson <chris@chris-wilson.co.uk>
28321 Date: Tue May 5 15:52:55 2009 +0100
28323 [png] Coerce FORMAT_INVALID to a known image format
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
28330 src/cairo-png.c | 44 ++++++++++++++++++++++++++++++--------------
28331 1 file changed, 30 insertions(+), 14 deletions(-)
28333 commit c488b336449a1a7ca4d3f90785afeec9e21784c3
28334 Author: Chris Wilson <chris@chris-wilson.co.uk>
28335 Date: Tue May 5 13:59:07 2009 +0100
28337 [test] Create a new fallback surface to exercise 16-bit paths.
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.
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(+)
28355 commit 1d609d672273da494fd596606b59ab1c0010ae6d
28356 Author: Chris Wilson <chris@chris-wilson.co.uk>
28357 Date: Tue May 5 17:11:55 2009 +0100
28359 [image] Treat A1 image surfaces as BILEVEL_ALPHA
28361 Categorise the transparency of FORMAT_A1 image surfaces as BILEVEL_ALPHA.
28363 src/cairo-image-surface.c | 9 +++++++--
28364 1 file changed, 7 insertions(+), 2 deletions(-)
28366 commit aac132a76a2af3719088678295169f1962a555e6
28367 Author: Chris Wilson <chris@chris-wilson.co.uk>
28368 Date: Fri Apr 24 10:14:36 2009 +0100
28370 [image] Make _cairo_image_analayze_transparency() more format agnostic
28372 Use the content in preference to the format to determine
28373 CAIRO_IMAGE_IS_OPAQUE/CAIRO_IMAGE_HAS_ALPHA.
28375 src/cairo-image-surface.c | 17 +++++++----------
28376 1 file changed, 7 insertions(+), 10 deletions(-)
28378 commit 4be6de9fc6192d59c8d61e8edafed941e868a756
28379 Author: Chris Wilson <chris@chris-wilson.co.uk>
28380 Date: Fri Apr 24 10:03:20 2009 +0100
28382 [image] Return FORMAT_INVALID for an error surface.
28384 The default error value should be CAIRO_FORMAT_INVALID [-1] not 0 (which
28385 corresponds to CAIRO_FORMAT_ARGB32).
28387 src/cairo-image-surface.c | 2 +-
28388 1 file changed, 1 insertion(+), 1 deletion(-)
28390 commit 6675cf558719f81afe2a4331bc6adb3cda637a26
28391 Author: Chris Wilson <chris@chris-wilson.co.uk>
28392 Date: Fri May 1 09:31:53 2009 +0100
28394 [build] Add lcov-1.7 to known list
28396 build/configure.ac.analysis | 2 +-
28397 1 file changed, 1 insertion(+), 1 deletion(-)
28399 commit 526fcdb7e6cc8b522508762b1a68a5585fddf823
28400 Author: Chris Wilson <chris@chris-wilson.co.uk>
28401 Date: Mon Apr 20 10:56:06 2009 +0100
28403 [build] Enable shave support
28405 shave transforms the messy output of autotools into a pretty (quiet!)
28408 Lets see how controversial a simple change can be...
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(+)
28418 commit 1ae2ddc1dd4c90d50b8c57c4de677f8ab96b1fa2
28419 Author: Chris Wilson <chris@chris-wilson.co.uk>
28420 Date: Thu Apr 16 17:19:12 2009 +0100
28422 [memfault] Manually inject faults when using stack allocations
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.
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
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(+)
28448 commit 817589e1967ebdd5e5bda1781eb76010fd8c37dc
28449 Author: Chris Wilson <chris@chris-wilson.co.uk>
28450 Date: Thu Apr 16 13:01:52 2009 +0100
28452 [test] Call FcInit() manually.
28454 Pre-initialise fontconfig whilst memfault is disabled to avoid a lot of
28455 expensive, redundant testing of FcInit() throughout the test suite.
28457 test/cairo-test.c | 6 ++++++
28458 1 file changed, 6 insertions(+)
28460 commit be27e844c83c0f5cf25dee1c62768dbf70897a06
28461 Author: Chris Wilson <chris@chris-wilson.co.uk>
28462 Date: Thu Apr 16 17:13:52 2009 +0100
28464 [ft] Propagate status from font creation
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.
28471 src/cairo-ft-font.c | 90 +++++++++++++++++++++++++++++----------------------
28472 1 file changed, 51 insertions(+), 39 deletions(-)
28474 commit d46c56f18c8a93d3d50be9333292c7c9b0ac0a78
28475 Author: Chris Wilson <chris@chris-wilson.co.uk>
28476 Date: Thu Apr 16 13:00:59 2009 +0100
28478 [ft] Check for pattern duplication failure.
28480 Check the return of FcPatternDuplicate() for failure, and propagate the
28483 src/cairo-ft-font.c | 2 ++
28484 1 file changed, 2 insertions(+)
28486 commit 50302f156dfba4dcb3639843d7eda819f2c6797c
28487 Author: Chris Wilson <chris@chris-wilson.co.uk>
28488 Date: Thu Apr 16 12:59:36 2009 +0100
28490 [ft] Check (correctly!) for pattern duplication failure.
28492 Check the return from FcPatternDuplicate() for allocation failure (and not
28493 the original pattern)!
28495 src/cairo-ft-font.c | 2 +-
28496 1 file changed, 1 insertion(+), 1 deletion(-)
28498 commit 8bf109bd2a9c9bf755671185733def898a4f96f2
28499 Author: Chris Wilson <chris@chris-wilson.co.uk>
28500 Date: Thu Apr 16 17:17:06 2009 +0100
28502 [pattern] Silence compiler with impossible case.
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
28508 src/cairo-pattern.c | 3 +++
28509 1 file changed, 3 insertions(+)
28511 commit 5a76c233bffda65140c6ada9b5f2ed7d3bcc999e
28512 Author: Chris Wilson <chris@chris-wilson.co.uk>
28513 Date: Tue Apr 14 11:02:40 2009 +0100
28515 [type3] Propagate error from font creation.
28517 Perform an error check after creating a scaled-font to prevent operations
28520 src/cairo-type3-glyph-surface.c | 2 ++
28521 1 file changed, 2 insertions(+)
28523 commit d46bd67c8b3f63d6286845e814f8f1e040f89737
28524 Author: Chris Wilson <chris@chris-wilson.co.uk>
28525 Date: Fri Apr 10 14:55:24 2009 +0100
28527 [type3] Add status checks.
28529 Propagate error from the stream when creating the surface and add status
28530 guards before writing to the potential nil object.
28532 src/cairo-type3-glyph-surface.c | 26 +++++++++++++++++++++++---
28533 1 file changed, 23 insertions(+), 3 deletions(-)
28535 commit a6ffb69a54f15659dac7c6b2e1c98bd7893ccdf1
28536 Author: Chris Wilson <chris@chris-wilson.co.uk>
28537 Date: Fri Apr 3 17:28:05 2009 +0100
28539 [type3] Check error status before emit_image().
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
28546 src/cairo-type3-glyph-surface.c | 8 ++++++--
28547 1 file changed, 6 insertions(+), 2 deletions(-)
28549 commit 21d1138da9bcf9c006e0cf3f3d1d50e1c7cec1de
28550 Author: Chris Wilson <chris@chris-wilson.co.uk>
28551 Date: Fri Apr 10 14:53:55 2009 +0100
28553 [scaled-font-subsets] Check for malloc failure.
28555 Check that the utf8 string is successfully allocated before writing to it,
28556 otherwise propagate the error status back to the callers.
28558 src/cairo-scaled-font-subsets.c | 63 ++++++++++++++++++++++-----------------
28559 1 file changed, 35 insertions(+), 28 deletions(-)
28561 commit 0f0e2d738437176e72317b37ef66fbc56c60ba93
28562 Author: Chris Wilson <chris@chris-wilson.co.uk>
28563 Date: Fri Apr 10 14:52:48 2009 +0100
28565 [pdf] Propagate failure from type3 glyph surface creation.
28567 Add an early check that we successfully created the glyph surface.
28569 src/cairo-pdf-surface.c | 11 +++++++++++
28570 1 file changed, 11 insertions(+)
28572 commit 1496c5cf51a2304dfd4e9d359a0645ff44fadd3e
28573 Author: Chris Wilson <chris@chris-wilson.co.uk>
28574 Date: Fri Apr 10 14:50:26 2009 +0100
28576 [analysis] Use _cairo_region_init()
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
28583 src/cairo-analysis-surface.c | 26 +++++++++++++-------------
28584 1 file changed, 13 insertions(+), 13 deletions(-)
28586 commit ad83765a1441cb369c3e7f3de77c243297406c7a
28587 Author: Chris Wilson <chris@chris-wilson.co.uk>
28588 Date: Fri Apr 3 09:23:58 2009 +0100
28590 [xlib] Allocate bounded region on stack.
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.
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(-)
28602 commit 75b06b8bdb5efaf030e063c1f66583d8fde347dc
28603 Author: Chris Wilson <chris@chris-wilson.co.uk>
28604 Date: Wed Apr 1 11:43:16 2009 +0100
28606 [pattern] Do not modify outparam on error path.
28608 The pdf backend was crashing as a failed pattern copy stored an invalid
28609 pointer with the resource group.
28611 src/cairo-pattern.c | 21 +++++++++++----------
28612 1 file changed, 11 insertions(+), 10 deletions(-)
28614 commit 82cccb26723697492504f395fed33afba28d84ba
28615 Author: Chris Wilson <chris@chris-wilson.co.uk>
28616 Date: Tue Apr 14 11:01:39 2009 +0100
28618 [test] Handle memfaults during surface-finish-twice
28620 Check and report memory allocation failures.
28622 test/surface-finish-twice.c | 17 +++++++++++------
28623 1 file changed, 11 insertions(+), 6 deletions(-)
28625 commit f12d52bfcae0792729b33a1fd1b2d23bd3fc7cf3
28626 Author: Chris Wilson <chris@chris-wilson.co.uk>
28627 Date: Sat Apr 4 19:02:15 2009 +0100
28629 [test] Use xmalloc() to evade memfault.
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.
28635 test/show-glyphs-many.c | 2 +-
28636 1 file changed, 1 insertion(+), 1 deletion(-)
28638 commit ca501d99bbec432252cbb134d863801d4a792a44
28639 Author: Chris Wilson <chris@chris-wilson.co.uk>
28640 Date: Wed Apr 1 11:41:59 2009 +0100
28642 [test] Disable signal handling under valgrind
28644 Capturing and handling the signals prevents valgrind from providing
28645 backtraces for fatal signals -- which is often more useful.
28647 test/cairo-test.c | 2 +-
28648 1 file changed, 1 insertion(+), 1 deletion(-)
28650 commit f8539726368141f8b42c7817cfd59b4abfce33f3
28651 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
28652 Date: Tue Apr 7 14:50:25 2009 -0400
28654 [win32] Fix building with libpng and zlib
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.
28659 build/Makefile.win32.common | 8 +++++---
28660 1 file changed, 5 insertions(+), 3 deletions(-)
28662 commit 1798fc6607a89811929d1f21cc71c751438f5699
28663 Author: Adrian Johnson <ajohnson@redneon.com>
28664 Date: Sun Apr 5 11:17:02 2009 +0930
28666 Fix the TrueType subsetting fix in 9b496af5c
28670 src/cairo-truetype-subset.c | 2 +-
28671 1 file changed, 1 insertion(+), 1 deletion(-)
28673 commit fe97e815e81f4429889fd52bb525c260f9967356
28674 Author: Adrian Johnson <ajohnson@redneon.com>
28675 Date: Sun Apr 5 01:04:12 2009 +1030
28677 Fix TrueType subsetting bug
28679 Fix incorrect counting of arguments in composite glyphs
28681 src/cairo-truetype-subset-private.h | 2 +-
28682 src/cairo-truetype-subset.c | 12 +++++++-----
28683 2 files changed, 8 insertions(+), 6 deletions(-)
28685 commit 9b496af5c214283c297a52c90a04743f9da9f6a3
28686 Author: Adrian Johnson <ajohnson@redneon.com>
28687 Date: Sun Apr 5 00:44:02 2009 +1030
28689 Fix buffer size check in TrueType subsetting
28691 Andrew Cowie reported a problem with the Charis SIL font being
28692 embedded as a fallback font.
28694 The buffer size check for composite glyphs was incorrect causing the
28695 subsetting to fail for some fonts.
28697 src/cairo-truetype-subset.c | 2 +-
28698 1 file changed, 1 insertion(+), 1 deletion(-)
28700 commit ba2ec8e1d9144c4a27917e59cb15039552eb008c
28701 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
28702 Date: Wed Apr 1 13:29:12 2009 -0400
28704 Remove trailing comma in cairo_region_overlap_t enum.
28707 1 file changed, 1 insertion(+), 1 deletion(-)
28709 commit 2d6336624c33e9c674c192b68eb501373a96dc87
28710 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
28711 Date: Wed Apr 1 11:32:58 2009 -0400
28713 [test-win32] Fix static linking of the test suite.
28715 Previously, the test suite needed to be dynamically linked to work.
28717 boilerplate/Makefile.win32 | 2 +-
28718 test/Makefile.win32 | 9 ++++++---
28719 test/pdiff/Makefile.win32 | 2 +-
28720 3 files changed, 8 insertions(+), 5 deletions(-)
28722 commit 0f21893b0510a188439c2d8cd448bcfcf17ef8c6
28723 Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
28724 Date: Wed Apr 1 08:54:30 2009 -0400
28726 [region] pixman_region32_contains_point() does not allow NULL for box
28728 src/cairo-region.c | 4 +++-
28729 1 file changed, 3 insertions(+), 1 deletion(-)
28731 commit e46c1d7fa34b4ba89fc3e0fe6f3042a6fa8c0398
28732 Author: Chris Wilson <chris@chris-wilson.co.uk>
28733 Date: Tue Mar 31 10:39:46 2009 +0100
28735 [scaled-font-subset] Cleanup after failure to convert to utf16.
28737 Avoid leaking the local hashtable and strings after failing to convert the
28740 src/cairo-scaled-font-subsets.c | 2 +-
28741 1 file changed, 1 insertion(+), 1 deletion(-)
28743 commit 180b964aac4e058e6783778d33772f08e13b3669
28744 Author: Chris Wilson <chris@chris-wilson.co.uk>
28745 Date: Tue Mar 31 10:37:44 2009 +0100
28747 [scaled-font-subset] Propagate error from scaled-font to collection.
28749 Don't attempt to collect the sub_font if it is in error.
28751 src/cairo-scaled-font-subsets.c | 4 ++++
28752 1 file changed, 4 insertions(+)
28754 commit 8362c6f726979abc43ad9f7303bd45fcb03f83b3
28755 Author: Chris Wilson <chris@chris-wilson.co.uk>
28756 Date: Tue Mar 31 10:36:08 2009 +0100
28758 [type1] Fixup error path during write_charstrings()
28760 On the common error path we attempted to unlock a mutex that was not
28761 always held, so reorder the error paths appropriately.
28763 src/cairo-type1-fallback.c | 6 +++---
28764 1 file changed, 3 insertions(+), 3 deletions(-)
28766 commit 88956cd42e9cc03cb8b4ec730062993eaaf3938d
28767 Author: Chris Wilson <chris@chris-wilson.co.uk>
28768 Date: Tue Mar 31 10:35:24 2009 +0100
28770 [ps] Check for error during stroking.
28772 Add a missing error status check that caused errors during stroke to be
28775 src/cairo-ps-surface.c | 3 +++
28776 1 file changed, 3 insertions(+)
28778 commit 043352aa8d1e3aeacf3b877f45e1bc451a676e15
28779 Author: Chris Wilson <chris@chris-wilson.co.uk>
28780 Date: Tue Mar 31 10:34:41 2009 +0100
28782 [pdf] Prevent leak of pad_image on error path.
28784 Ensure that the local pad_image is destroyed after an error.
28786 src/cairo-pdf-surface.c | 4 ++--
28787 1 file changed, 2 insertions(+), 2 deletions(-)
28789 commit b0689f56118dd8ccda6f29901d41cf8f80983aa0
28790 Author: Chris Wilson <chris@chris-wilson.co.uk>
28791 Date: Tue Mar 31 10:27:15 2009 +0100
28793 Check for errors during get_mime_data()
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.
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(+)
28803 commit 9f63cbb870892253f363ddb7aac908263672c8dc
28804 Author: Chris Wilson <chris@chris-wilson.co.uk>
28805 Date: Mon Mar 30 19:09:13 2009 +0100
28807 [pdf] Free compressed stream after error.
28809 Ensure that the compressed stream is destroyed after encountering an
28812 src/cairo-pdf-surface.c | 13 ++++++++-----
28813 1 file changed, 8 insertions(+), 5 deletions(-)
28815 commit ba1a0fa601a817ff489bc5373af57977e41eb99f
28816 Author: Chris Wilson <chris@chris-wilson.co.uk>
28817 Date: Mon Mar 30 19:08:41 2009 +0100
28819 [truetype] Free local names on failure.
28821 Ensure that all local allocations are freed on the error path.
28823 src/cairo-truetype-subset.c | 13 +++++++++----
28824 1 file changed, 9 insertions(+), 4 deletions(-)
28826 commit edce97a750acf4368bd7249ec6b9a195f8584cdf
28827 Author: Chris Wilson <chris@chris-wilson.co.uk>
28828 Date: Mon Mar 30 16:50:51 2009 +0100
28830 [pdf] Remove false assertion.
28832 The stream itself may be in an error state, so an error could be raised.
28834 src/cairo-pdf-surface.c | 8 +++++---
28835 1 file changed, 5 insertions(+), 3 deletions(-)
28837 commit b580a4a8d6c056ba8b47be32ea8c5b9a1d90d01e
28838 Author: Chris Wilson <chris@chris-wilson.co.uk>
28839 Date: Mon Mar 30 16:50:10 2009 +0100
28841 [test] Improve fault injection coverage
28843 In order to exercise the meta-surfaces, we need to inject faults into
28844 cairo_surface_finish().
28846 boilerplate/cairo-boilerplate.c | 16 +++++++++++++---
28847 test/cairo-test.c | 35 +++++++++++++++++++++++++++++++++++
28848 2 files changed, 48 insertions(+), 3 deletions(-)
28850 commit 80d5b53b474c94219c51ae16dcc19098a2d86165
28851 Author: Søren Sandmann Pedersen <sandmann@redhat.com>
28852 Date: Tue Mar 31 05:47:44 2009 -0400
28854 [region] Change name of cairo_region_empty() to cairo_region_is_empty()
28856 src/cairo-clip.c | 2 +-
28857 src/cairo-region.c | 6 +++---
28858 src/cairo-surface-fallback.c | 2 +-
28860 src/cairoint.h | 2 +-
28861 5 files changed, 7 insertions(+), 7 deletions(-)
28863 commit 77ee65fd03d06064be023f022d565c5038fe26df
28864 Author: Jonathan Kew <jfkthame@gmail.com>
28865 Date: Mon Mar 30 14:45:48 2009 -0400
28867 [win32] Fix horizontal glyph positioning bug
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.
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
28881 Mozilla bug #475092
28883 src/cairo-win32-font.c | 10 +++++-----
28884 1 file changed, 5 insertions(+), 5 deletions(-)
28886 commit aee71e2063b1d6d23cd8dcef7789c9cf106af32a
28887 Author: Chris Wilson <chris@chris-wilson.co.uk>
28888 Date: Mon Mar 30 13:41:00 2009 +0100
28890 [test] Memfault checks.
28892 Don't assume an error means the test failed, check for injected allocation
28895 test/create-from-png.c | 164 +++++++++++++++++++++++++++++++++---------------
28896 1 file changed, 113 insertions(+), 51 deletions(-)
28898 commit ea6197c2f5f04d5e8e8035a330c5199b37beb702
28899 Author: Chris Wilson <chris@chris-wilson.co.uk>
28900 Date: Mon Mar 30 10:54:26 2009 +0100
28902 [surface] Propagate region allocation failure.
28904 Propagate the error status from failing to allocate the region.
28906 src/cairo-surface.c | 21 ++++++++++-----------
28907 1 file changed, 10 insertions(+), 11 deletions(-)
28909 commit c35d226f7d3654b312e18068b8ccb47a51002a39
28910 Author: Chris Wilson <chris@chris-wilson.co.uk>
28911 Date: Mon Mar 30 10:46:37 2009 +0100
28913 [traps] Propagate allocation failure.
28915 Report failure to allocation region.
28917 src/cairo-traps.c | 23 ++++++++++-------------
28918 1 file changed, 10 insertions(+), 13 deletions(-)
28920 commit e238d10b30e18084bf07eb1643fdf48ef35467ab
28921 Author: Chris Wilson <chris@chris-wilson.co.uk>
28922 Date: Mon Mar 30 10:22:18 2009 +0100
28924 [region] Use const cairo_rectangle_int_t consistently.
28926 Add the const declaration to a couple of functions.
28928 src/cairo-region.c | 4 ++--
28929 src/cairo.h | 4 ++--
28930 2 files changed, 4 insertions(+), 4 deletions(-)
28932 commit de1612bdd767ca37e01938f8e41d9699531a49d9
28933 Author: Chris Wilson <chris@chris-wilson.co.uk>
28934 Date: Mon Mar 30 10:17:49 2009 +0100
28936 [region] Use _cairo_status_is_error
28938 Replace the open-coded version with the more readable macro.
28940 src/cairo-region.c | 2 +-
28941 1 file changed, 1 insertion(+), 1 deletion(-)
28943 commit f027405429d0133b2840c4b82bc553355fa5f3d2
28944 Author: Chris Wilson <chris@chris-wilson.co.uk>
28945 Date: Mon Mar 30 10:12:41 2009 +0100
28947 [region] Add leading underscore to private _cairo_region_set_error()
28949 Differentiate the private _cairo_region_set_error() function by using a
28950 leading underscore.
28952 src/cairo-region.c | 24 ++++++++++++------------
28953 1 file changed, 12 insertions(+), 12 deletions(-)
28955 commit ed7188a471f73abcc4ca3e2a92685088134391c7
28956 Author: Chris Wilson <chris@chris-wilson.co.uk>
28957 Date: Mon Mar 30 10:07:48 2009 +0100
28959 [region] Add slim_hidden_def.
28961 Fixes for check-plt.sh (and a few adjacent whitespace).
28963 src/cairo-region.c | 244 ++++++++++++++++++++++++++++------------------------
28964 1 file changed, 133 insertions(+), 111 deletions(-)
28966 commit f31c6548f818e1d4e257d94d623705284bcc4274
28967 Author: Chris Wilson <chris@chris-wilson.co.uk>
28968 Date: Sat Mar 28 19:26:03 2009 +0000
28970 Silence compiler warnings for CAIRO_STATUS_LAST_STATUS
28972 Add ASSERT_NOT_REACHED (or similar) cases to the error handling switches
28973 to silence the compiler.
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(-)
28980 commit 979337dd4da40abb2ea49968a2c01709d9046aab
28981 Author: Eric Anholt <eric@anholt.net>
28982 Date: Sat Mar 28 21:53:04 2009 -0700
28984 [gl] Wire blend factors using dst alpha to constants for CAIRO_CONTENT_COLOR.
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.
28993 src/cairo-gl-surface.c | 22 ++++++++++++++++++----
28994 1 file changed, 18 insertions(+), 4 deletions(-)
28996 commit 809f7dc4c83009f0a67bc8af0608b480bf7fb00e
28997 Author: Eric Anholt <eric@anholt.net>
28998 Date: Sat Mar 28 21:30:13 2009 -0700
29000 [gl] Make sure test visuals for CAIRO_CONTENT_COLOR_ALPHA have alpha bits.
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.
29005 boilerplate/cairo-boilerplate-gl.c | 25 ++++++++++++++++++-------
29006 1 file changed, 18 insertions(+), 7 deletions(-)
29008 commit 93c437d4b9261bc1ce3daf9cbd02d9cc4d2584cc
29009 Author: Eric Anholt <eric@anholt.net>
29010 Date: Sat Mar 28 20:59:01 2009 -0700
29012 [gl] Use GLEW to detect required extension presence.
29014 configure.ac | 9 +++++++++
29015 src/cairo-gl-surface.c | 13 +++++++++++++
29016 2 files changed, 22 insertions(+)
29018 commit 62d84847c3b857b8fd5aeea3f4b5c0f2f4c91625
29019 Author: Søren Sandmann Pedersen <sandmann@redhat.com>
29020 Date: Sat Mar 28 03:58:51 2009 -0400
29022 [region] Add documentation for all the new region methods.
29024 src/cairo-region.c | 260 +++++++++++++++++++++++++++++++++++++++++++++-------
29026 2 files changed, 232 insertions(+), 34 deletions(-)
29028 commit 980e9f0dbd4f21c0ccf4cc33b0b0f2f370667290
29029 Author: Søren Sandmann Pedersen <sandmann@redhat.com>
29030 Date: Sat Mar 28 03:04:28 2009 -0400
29032 [region] Fix status propagation for regions
29034 When an operation fails, store the status code in the destination
29035 region rather than leaving it unchanged.
29037 src/cairo-region.c | 66 +++++++++++++++++++++++++++++++++++++++++-----------
29038 1 file changed, 52 insertions(+), 14 deletions(-)
29040 commit 64e490a464472cfe06d779503601d41972ed4518
29041 Author: Søren Sandmann Pedersen <sandmann@redhat.com>
29042 Date: Sat Mar 28 01:10:24 2009 -0400
29044 [region] Use signed ints for width and height in cairo_rectangle_int_t
29047 1 file changed, 1 insertion(+), 1 deletion(-)
29049 commit 26999e5aa8b5d353596e31d4b3823cafe007125c
29050 Author: Søren Sandmann <sandmann@redhat.com>
29051 Date: Fri Mar 27 08:48:42 2009 -0400
29053 [region] Add cairo_region_intersect_rectangle() and _subtract_rectangle()
29055 Intersecting with and subtracting rectangles is quite common, and we
29056 already have cairo_union_rectangle().
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(-)
29065 commit 4b3245481cfbf96388c140421a071fd1f79ad601
29066 Author: Søren Sandmann Pedersen <sandmann@redhat.com>
29067 Date: Sat Feb 21 08:13:25 2009 -0500
29069 [region] Expand rect to rectangle in a couple of names
29073 cairo_region_union_rect -> cairo_region_union_rectangle
29074 cairo_region_create_rect -> cairo_region_create_rectangle
29076 Also delete cairo_region_clear() which is not that useful.
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(-)
29089 commit bf6d9bc1758ac1971485b6565d29934d6b06bef2
29090 Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
29091 Date: Wed Feb 18 08:01:19 2009 -0500
29093 [region] Delete cairo_region_create_rectangles()
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.
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(-)
29105 commit e6d82afcab01cc91b88185abc8d1bfb9df5c2c19
29106 Author: Søren Sandmann <sandmann@redhat.com>
29107 Date: Wed Feb 18 00:20:46 2009 -0500
29109 [region] Add slim_hidden_proto for region functions
29111 src/cairoint.h | 18 ++++++++++++++++++
29112 1 file changed, 18 insertions(+)
29114 commit e29103c08189cab9de34f577951219a69bd7c8e2
29115 Author: Søren Sandmann <sandmann@redhat.com>
29116 Date: Wed Feb 18 00:11:35 2009 -0500
29118 [region] Move region function prototypes to cairo.h along with helper types.
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.
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(-)
29134 commit 1cca5a1348d071a3c8e2ba9d3ba0d9670b9564f4
29135 Author: Søren Sandmann <sandmann@redhat.com>
29136 Date: Tue Feb 17 23:52:18 2009 -0500
29138 [region] Remove underscores from _cairo_region_*
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(-)
29154 commit fcdca966941f4f7cc908bd46df1ec9a6b0f757c1
29155 Author: Søren Sandmann <sandmann@redhat.com>
29156 Date: Tue Feb 17 22:52:50 2009 -0500
29158 [region] Always define cairo_rectangle_int_t with ints
29160 Use ints in cairo_rectangle_int_t, no matter the fixed type.
29162 src/cairo-types-private.h | 38 +++++++++-----------------------------
29163 1 file changed, 9 insertions(+), 29 deletions(-)
29165 commit cfa7a384b730289233bef556fe1919f781eac684
29166 Author: Søren Sandmann <sandmann@redhat.com>
29167 Date: Tue Feb 17 23:40:02 2009 -0500
29169 [region] Add _cairo_region_contains_point()
29171 src/cairo-region-private.h | 5 ++++-
29172 src/cairo-region.c | 15 +++++++++++++--
29174 3 files changed, 18 insertions(+), 3 deletions(-)
29176 commit 15564d1949778124e553d792f85cae2b031aad45
29177 Author: Søren Sandmann Pedersen <sandmann@redhat.com>
29178 Date: Tue Feb 17 05:58:34 2009 -0500
29180 [region] Add _cairo_region_union
29182 src/cairo-region-private.h | 4 ++++
29183 src/cairo-region.c | 16 ++++++++++++++++
29184 2 files changed, 20 insertions(+)
29186 commit df883aa937d2f3ecf52048b60caff48b1c9edac9
29187 Author: Søren Sandmann Pedersen <sandmann@redhat.com>
29188 Date: Tue Feb 17 06:06:40 2009 -0500
29190 [region] Add a cairo_region_overlap_t type
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(-)
29197 commit ebd0e685ae2d76c3af96d748a33a7194c70749f3
29198 Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
29199 Date: Mon Feb 16 05:41:31 2009 -0500
29201 [region] Consistently use rectangles in the API of regions
29203 Usually, rectangles are more useful than boxes, so regions should only
29204 expose rectangles in their public API.
29207 _cairo_region_num_boxes becomes _cairo_region_num_rectangles
29208 _cairo_region_get_box becomes _cairo_region_get_rectangle
29210 Remove the cairo_box_int_t type
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(-)
29226 commit c29aeee2d3569cd43e88adc05662bb6306987b8b
29227 Author: Søren Sandmann <sandmann@redhat.com>
29228 Date: Thu Dec 11 18:37:40 2008 -0500
29230 [region] Change sense of _cairo_region_not_empty() to _cairo_region_empty()
29232 Having "not" in the name causes double negatives.
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(-)
29240 commit c88321d0a2b9d200b2044674d02fa0683feca74c
29241 Author: Søren Sandmann <sandmann@redhat.com>
29242 Date: Thu Dec 11 16:20:23 2008 -0500
29244 [region] Miscellaneous bug fixes.
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
29250 Also add an assertion that the result of cairo_region_copy() is never
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(-)
29258 commit 93b285dc2c9c9ec486e0096933c3611f73374fcb
29259 Author: Søren Sandmann <sandmann@redhat.com>
29260 Date: Thu Dec 11 15:50:15 2008 -0500
29262 [region] Get rid of clip->has_region
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(-)
29269 commit e3e1b35eb9eb3cf90d882a7452580f9efe00b89a
29270 Author: Søren Sandmann <sandmann@redhat.com>
29271 Date: Thu Dec 11 15:29:23 2008 -0500
29273 [region] Make cairo_region_t a malloced object.
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(-)
29287 commit c2c637cf1d89fc8fdcced4467d602a55ef0b14e0
29288 Author: Søren Sandmann Pedersen <sandmann@redhat.com>
29289 Date: Sat Mar 28 04:26:10 2009 -0400
29291 Simplify _cairo_clip_intersect_region()
29293 The intermediate intersection region is not necessary because if the
29294 operation fails, clip->region will end up as a pixman error region.
29296 src/cairo-clip.c | 19 +++++--------------
29297 1 file changed, 5 insertions(+), 14 deletions(-)
29299 commit fe10cd6467f2ec58532dc7c713bb6d08dab08442
29300 Author: Bertram Felgenhauer <int-e@gmx.de>
29301 Date: Fri Mar 27 07:10:21 2009 +0100
29303 [spline] fix wrong sign in _cairo_spline_bound.
29305 src/cairo-spline.c | 2 +-
29306 1 file changed, 1 insertion(+), 1 deletion(-)
29308 commit 53107de63a954105f8820e5b96e2a1956cb7af8c
29309 Author: Bertram Felgenhauer <int-e@gmx.de>
29310 Date: Thu Mar 26 04:56:27 2009 +0100
29312 [in_fill] Correctly track current point in curve_to.
29314 When discarding a bezier path segment, we still need to update the
29317 src/cairo-path-in-fill.c | 8 ++++++--
29318 1 file changed, 6 insertions(+), 2 deletions(-)
29320 commit 578b06a978d51dc3d1d844ee7eea9ddd8329cc8d
29321 Author: Chris Wilson <chris@chris-wilson.co.uk>
29322 Date: Mon Mar 23 10:56:43 2009 +0000
29324 [perf] Use CAIRO_LDFLAGS
29326 Use CAIRO_LDFLAGS in order to pull in additional link options, such as
29329 perf/Makefile.am | 2 ++
29330 1 file changed, 2 insertions(+)
29332 commit ac30ced6135c5cf0fb34a67fe8f863030c1fbeb9
29333 Author: Chris Wilson <chris@chris-wilson.co.uk>
29334 Date: Sun Mar 22 19:02:27 2009 +0000
29336 [test] Check for surface create failure.
29338 If the image surface creation fails, the data pointer will be NULL leading
29339 to a segfault -- so check!
29341 test/user-font-mask.c | 7 ++++++-
29342 1 file changed, 6 insertions(+), 1 deletion(-)
29344 commit b5a4a2c4b1b1bab25e2ff0842e3c27205ec73d51
29345 Author: Chris Wilson <chris@chris-wilson.co.uk>
29346 Date: Sun Mar 22 19:00:04 2009 +0000
29348 [test] Early test for memfault.
29350 Check the error status within after each iteration in
29351 solid-pattern-cache-stress.
29353 test/solid-pattern-cache-stress.c | 41 +++++++++++++++++++++++++++----------
29354 1 file changed, 30 insertions(+), 11 deletions(-)
29356 commit 1a7b94f934f8c9a25e60d9466651b0b7fb919656
29357 Author: Chris Wilson <chris@chris-wilson.co.uk>
29358 Date: Fri Mar 20 11:06:29 2009 +0000
29360 [test] Check for errors during get-path-extents.
29362 Need to check that an error was not raised on the context before checking
29363 whether the extents match expectations.
29365 test/get-path-extents.c | 9 +++++++++
29366 1 file changed, 9 insertions(+)
29368 commit 3b545330887209c68128fca0d1bb40bf4927c2a6
29369 Author: Vladimir Vukicevic <vladimir@pobox.com>
29370 Date: Sat Mar 21 11:56:18 2009 -0700
29372 [win32] Use _hypot instead of hypot
29374 The hypot symbol is deprecated on Win32, and nonexistent on Windows CE
29376 src/cairo-compiler-private.h | 1 +
29377 1 file changed, 1 insertion(+)
29379 commit 895fce1632069ddfb8c581d2b23b1b3552e35104
29380 Author: Stefan Klug <Klug.Stefan@gmx.de>
29381 Date: Fri Mar 20 17:20:22 2009 -0400
29383 [wince] Use the official _WIN32_WCE define instead of WINCE
29385 src/cairo-misc.c | 4 ++--
29386 src/cairoint.h | 2 +-
29387 2 files changed, 3 insertions(+), 3 deletions(-)
29389 commit 86a935de42318c4be92a657ce8e8c452693d4414
29390 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
29391 Date: Fri Mar 20 17:14:08 2009 -0400
29393 [msvc] Fix definition of CAIRO_ENSURE_UNIQUE for non-x86
29395 The current definition of CAIRO_ENSURE_UNIQUE uses x86 assembly so make sure we
29396 only compile it when targeting x86.
29398 src/cairo-compiler-private.h | 2 +-
29399 1 file changed, 1 insertion(+), 1 deletion(-)
29401 commit c932a809d6484503d7ee267d934bbc87c8d44092
29402 Author: Chris Wilson <chris@chris-wilson.co.uk>
29403 Date: Tue Mar 17 12:01:13 2009 +0000
29405 [test] Propagate allocation failure.
29407 Check for memfaults during rel-path test.
29409 test/rel-path.c | 19 ++++++++++++++++---
29410 1 file changed, 16 insertions(+), 3 deletions(-)
29412 commit 7db55b37d4aef188e04771b45076f6735507c209
29413 Author: Chris Wilson <chris@chris-wilson.co.uk>
29414 Date: Tue Mar 17 11:58:16 2009 +0000
29416 [test] Destroy pattern on error paths.
29418 Destroy the pattern after encountering an error in pattern-getters test.
29420 test/pattern-getters.c | 29 +++++++++++++++++++++++++----
29421 1 file changed, 25 insertions(+), 4 deletions(-)
29423 commit dc176d88ac03ae71fc32abb27329a35650801d99
29424 Author: Chris Wilson <chris@chris-wilson.co.uk>
29425 Date: Tue Mar 17 10:42:37 2009 +0000
29427 [test] Trivial leak on error in show-glyphs-many.
29429 Free the allocated glyph array after failure.
29431 test/show-glyphs-many.c | 11 ++++++-----
29432 1 file changed, 6 insertions(+), 5 deletions(-)
29434 commit a4b44ca89eb9975e6af2913e50ec3c3eb566cfdd
29435 Author: Chris Wilson <chris@chris-wilson.co.uk>
29436 Date: Tue Mar 17 14:56:42 2009 +0000
29438 [pattern] Report the true error status from getters.
29440 As the getters actually return an error status, use it to report any
29441 pre-existing error status on the pattern.
29443 src/cairo-pattern.c | 18 ++++++++++++++++++
29444 1 file changed, 18 insertions(+)
29446 commit 496bbcf58233ceecfffc52ae5b1a3a1f07516c67
29447 Author: Behdad Esfahbod <behdad@behdad.org>
29448 Date: Tue Mar 17 19:46:25 2009 -0400
29450 Make CAIRO_STATUS_LAST_STATUS public
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(-)
29457 commit 922c108365b940dbabf23358189bbaa8602446c9
29458 Author: Behdad Esfahbod <behdad@behdad.org>
29459 Date: Tue Mar 17 19:22:31 2009 -0400
29461 [twin] Reorganize matching code to better reflect the code in Pango
29463 Makes it easier to update later.
29465 src/cairo-font-face-twin.c | 179 +++++++++++++++++++++++++++++++++-----------
29466 src/cairoint.h | 4 +
29467 2 files changed, 138 insertions(+), 45 deletions(-)
29469 commit 2b4044a36f8b156ca0e58b72614659324a9b022e
29470 Author: Behdad Esfahbod <behdad@behdad.org>
29471 Date: Tue Mar 17 18:52:16 2009 -0400
29473 [twin] Update parsed weights and stretches from Pango
29475 src/cairo-font-face-twin.c | 64 +++++++++++++++++++++++++++-----------------
29476 1 file changed, 39 insertions(+), 25 deletions(-)
29478 commit 3ec94f9b5917b8f71304c982bd153e5a810f3b12
29479 Author: Behdad Esfahbod <behdad@behdad.org>
29480 Date: Tue Mar 17 00:53:30 2009 -0400
29482 Support compiling without fontconfig
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.
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.
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(-)
29509 commit 0e7bcb5e3793771d50f7d391d7b1e538ef220a80
29510 Author: Chris Wilson <chris@chris-wilson.co.uk>
29511 Date: Mon Mar 16 21:32:44 2009 +0000
29513 [scaled-font] Improve comments.
29515 Grr. I thought I had merged this in with the previous commit...
29517 src/cairo-scaled-font.c | 6 +++---
29518 1 file changed, 3 insertions(+), 3 deletions(-)
29520 commit 9c80392ac415e7f07c71261d280ac4376d3c8471
29521 Author: Chris Wilson <chris@chris-wilson.co.uk>
29522 Date: Mon Mar 16 19:31:38 2009 +0000
29524 [scaled-font] Lean and mean global glyph cache.
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
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.
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
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(-)
29558 commit 121d4bb656755b7ca89065bf87e3e4e47c49c89d
29559 Author: Chris Wilson <chris@chris-wilson.co.uk>
29560 Date: Mon Mar 16 19:42:47 2009 +0000
29562 [scaled-font] Initialise original_font_face
29564 Eek, attempting to use+free an uninitialised pointer!
29566 src/cairo-scaled-font.c | 1 +
29567 1 file changed, 1 insertion(+)
29569 commit 2df498ba452b188f2f40413c91fec5e5ed9cf967
29570 Author: Eric Anholt <eric@anholt.net>
29571 Date: Thu Mar 5 23:26:44 2009 -0800
29573 [gl] Use triangle fan instead of GL_QUADS for the single quad we draw.
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.
29580 src/cairo-gl-surface.c | 2 +-
29581 1 file changed, 1 insertion(+), 1 deletion(-)
29583 commit 9099c7e7307a39bc630919faa65bba089fd15104
29584 Author: Chris Wilson <chris@chris-wilson.co.uk>
29585 Date: Wed Mar 4 09:26:17 2009 +0000
29587 [trace] Disable mark dirty tracing.
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.
29594 util/cairo-trace/cairo-trace.in | 19 +++++++++++++++----
29595 util/cairo-trace/trace.c | 27 ++++++++++++++++++++-------
29596 2 files changed, 35 insertions(+), 11 deletions(-)
29598 commit addeb32c751ac080fe634ea6f83076d018944e4a
29599 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
29600 Date: Tue Mar 3 12:20:47 2009 -0500
29602 [pdf] Intialize 'interpolate'
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.
29608 src/cairo-pdf-surface.c | 2 +-
29609 1 file changed, 1 insertion(+), 1 deletion(-)
29611 commit a8158d443e6a4bafae28a46b883cbdcfd5789eec
29612 Author: Chris Wilson <chris@chris-wilson.co.uk>
29613 Date: Tue Mar 3 11:21:35 2009 +0000
29615 [truetype] Move the sizeof asserts to compile time.
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.
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(-)
29626 commit e4b1f871e9cbb04590df5dc6f6f7854642fa0340
29627 Author: Ginn Chen <Ginn.Chen@Sun.COM>
29628 Date: Tue Mar 3 10:27:11 2009 +0000
29630 [configure] Detect mkdir variant with non-gcc compilers.
29632 It doesn't work for non GCC compiler right now, as "-Werror -Wall" is
29633 an error to non GCC compiler.
29635 I swapped the sequence of build/configure.ac.system and build/
29636 configure.ac.warnings, then WARN_CFLAGS can be used.
29638 build/configure.ac.system | 2 +-
29639 configure.ac | 2 +-
29640 2 files changed, 2 insertions(+), 2 deletions(-)
29642 commit f178f55e47013a92a47a24ac04b1041963b03976
29643 Author: Chris Wilson <chris@chris-wilson.co.uk>
29644 Date: Tue Mar 3 10:25:05 2009 +0000
29646 [test/any2ppm] Update the cairo-script-interpreter callback.
29648 Reflect the current prototype which now specifies the content to use when
29649 creating the surface.
29651 test/any2ppm.c | 1 +
29652 1 file changed, 1 insertion(+)
29654 commit 694f2eea9feecfdc437e6964d1e758fab7315af9
29655 Author: Chris Wilson <chris@chris-wilson.co.uk>
29656 Date: Tue Mar 3 10:24:25 2009 +0000
29658 [test/any2ppm] Add feature checks for daemon()
29660 Add the feature checks for the presence of the daemon() function call.
29662 test/any2ppm.c | 6 +++++-
29663 1 file changed, 5 insertions(+), 1 deletion(-)
29665 commit 9304984f4e20beec7b4de6a4141e2fd489130006
29666 Author: Chris Wilson <chris@chris-wilson.co.uk>
29667 Date: Sun Mar 1 10:10:24 2009 +0000
29669 [path] Fix regression introduced with 005436
29671 The order of the multiplication of the CTM and device_transform was
29674 src/cairo-path.c | 4 ++--
29675 1 file changed, 2 insertions(+), 2 deletions(-)
29677 commit b30de64a8ca3de7632696f45bdb580217bd9f8a1
29678 Author: Chris Wilson <chris@chris-wilson.co.uk>
29679 Date: Sun Mar 1 10:05:16 2009 +0000
29681 [test] Add regression test for 005436
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.
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(+)
29696 commit e20f1a0c76f2185760ca3a7466e25de6beedeaac
29697 Author: Chris Wilson <chris@chris-wilson.co.uk>
29698 Date: Fri Feb 27 16:30:05 2009 +0000
29700 [in-fill] Close the path, cf fill()
29702 In order for in-fill treat the path equivalently to a fill, we need to
29703 close the path after interpretation.
29705 src/cairo-path-in-fill.c | 2 ++
29706 1 file changed, 2 insertions(+)
29708 commit 102ddd37bb329d41241f434ede0f9cba8424e71e
29709 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
29710 Date: Thu Feb 26 16:04:49 2009 -0500
29712 [win32] Include $(OPT) flags when linking cairo.dll
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.
29717 src/Makefile.win32 | 2 +-
29718 1 file changed, 1 insertion(+), 1 deletion(-)
29720 commit eb2a73ba6d290497cabb0f917c0375eea919178e
29721 Author: Chris Wilson <chris@chris-wilson.co.uk>
29722 Date: Tue Feb 24 20:27:36 2009 +0000
29724 [ps] Check the status of _cairo_type3_glyph_surface_create()
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.
29729 src/cairo-ps-surface.c | 3 +++
29730 1 file changed, 3 insertions(+)
29732 commit 6eb0a9d97ff7eaaee69ca10e4081cb950a543ce3
29733 Author: Chris Wilson <chris@chris-wilson.co.uk>
29734 Date: Sun Feb 15 21:27:29 2009 +0000
29736 [scaled-font] Hold reference to original font face
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.
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(-)
29751 commit fe7d5323f5bc734e76179b74d68fcba9b924ba94
29752 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
29753 Date: Thu Feb 19 16:00:17 2009 -0500
29755 Relanding: Add CAIRO_ENSURE_UNIQUE macro and use it in _cairo_error()
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.
29761 Use __asm to serve as a line delimiter. This allows us to use the
29762 __asm{} block in a macro.
29764 src/cairo-compiler-private.h | 24 ++++++++++++++++++++++++
29766 2 files changed, 25 insertions(+)
29768 commit 78de0e045ec0c10708052ed48df228e786839ddb
29769 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
29770 Date: Thu Feb 19 15:45:11 2009 -0500
29772 Revert "Add CAIRO_ENSURE_UNIQUE macro and use it in _cairo_error()"
29774 This reverts commit 126824f5e6279f56dab0c040394b6c326b848cf7.
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
29780 src/cairo-compiler-private.h | 24 ------------------------
29782 2 files changed, 25 deletions(-)
29784 commit 126824f5e6279f56dab0c040394b6c326b848cf7
29785 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
29786 Date: Thu Feb 19 13:31:55 2009 -0500
29788 Add CAIRO_ENSURE_UNIQUE macro and use it in _cairo_error()
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.
29794 src/cairo-compiler-private.h | 24 ++++++++++++++++++++++++
29796 2 files changed, 25 insertions(+)
29798 commit d4227fc9126ffbb3a967aea1bc9795e7e64ee8e1
29799 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
29800 Date: Thu Feb 19 11:45:14 2009 -0500
29802 [test] Fix assert on default font family in toy-font-face
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.
29810 test/toy-font-face.c | 19 +++++++++++++++----
29811 1 file changed, 15 insertions(+), 4 deletions(-)
29813 commit 06fa7a8386b267fdbd7635b952adc75a58f62584
29814 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
29815 Date: Wed Feb 18 18:43:29 2009 -0500
29817 Fix a const warning in _cairo_user_data_array_foreach()
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.
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(-)
29828 commit f7b3c9df5885a1cd7981ee12b91962bdbfff47af
29829 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
29830 Date: Mon Feb 16 22:28:32 2009 -0500
29832 Add test/Makefile.sources
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.
29837 test/Makefile.am | 251 ++++---------------------------------------------
29838 test/Makefile.sources | 251 +++++++++++++++++++++++++++++++++++++++++++++++++
29839 test/Makefile.win32 | 125 +++++-------------------
29840 3 files changed, 293 insertions(+), 334 deletions(-)
29842 commit e380beae5382df547a1b538de94e90c0e2339141
29843 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
29844 Date: Mon Feb 16 14:01:43 2009 +0200
29846 [sdl] Remove new backend.
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.
29852 http://lists.cairographics.org/archives/cairo/2009-February/016595.html
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 -
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 ----
29871 test/Makefile.am | 4 -
29872 test/cairo-test-runner.c | 4 -
29873 test/get-clip.c | 1 -
29874 20 files changed, 675 deletions(-)
29876 commit 79a72e63585d7fce7898f2c8bd997c6d88f8895f
29877 Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
29878 Date: Mon Feb 16 05:44:15 2009 -0500
29880 Delete _cairo_region_boxes_fini()
29882 src/cairo-region.c | 6 ------
29883 1 file changed, 6 deletions(-)
29885 commit f6daa664c1b2c894ba3baf2e7a72566bda1fd636
29886 Author: Søren Sandmann <sandmann@daimi.au.dk>
29887 Date: Sun Feb 15 18:55:17 2009 -0500
29889 Delete _cairo_region_get_boxes() in favor of _cairo_region_get_box()
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
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(-)
29908 commit 54228cb5fe0c41b10f0ec4a206b5fac28823cde6
29909 Author: Eric Anholt <eric@anholt.net>
29910 Date: Sun Feb 15 14:29:55 2009 -0800
29912 [gl] Use textures and not fbo-based surfaces for image surface patterns.
29914 This cuts the BO allocation overhead for traps in more than half, and reduces
29915 the load on the accelerator.
29917 src/cairo-gl-surface.c | 191 ++++++++++++++++++++++++++++++++++++++++++++----
29918 1 file changed, 176 insertions(+), 15 deletions(-)
29920 commit fcb13d262c5a09e56dc25c76103ef4ba623929ff
29921 Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
29922 Date: Sun Feb 15 15:59:10 2009 -0500
29924 Simplify region handling in xlib surface
29926 src/cairo-xlib-surface.c | 11 +++--------
29927 1 file changed, 3 insertions(+), 8 deletions(-)
29929 commit b43e7aee98a8d69677f7e6d2584fe01f550f896b
29930 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
29931 Date: Fri Feb 13 12:15:23 2009 -0500
29933 [wince] We don't need cairo_win32_tmpfile on Windows CE
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.
29940 src/cairo-misc.c | 5 ++++-
29941 src/cairoint.h | 2 +-
29942 2 files changed, 5 insertions(+), 2 deletions(-)
29944 commit fa66291c8862ed592fca469ceab0ac9b1d270835
29945 Author: Chris Wilson <chris@chris-wilson.co.uk>
29946 Date: Wed Jan 28 14:22:58 2009 +0000
29948 [perf] Test non-antialiased fill.
29950 Just because the i915 can special case such fills using a single-pass
29951 tessellation in the stencil buffer.
29953 perf/fill.c | 21 +++++++++++++++++++++
29954 1 file changed, 21 insertions(+)
29956 commit aab9ed3432f0ea7b8b24990de4aa134bb599a3e5
29957 Author: Chris Wilson <chris@chris-wilson.co.uk>
29958 Date: Fri Jan 30 10:22:47 2009 +0000
29960 [perf] Env variable to ignore similar targets whilst benchmarking.
29962 Use CAIRO_TEST_IGNORE_SIMILAR to skip similar targets.
29964 perf/cairo-perf.c | 3 +++
29965 1 file changed, 3 insertions(+)
29967 commit 655f6987334b991763a5ab7746dbfd73c6b05f3e
29968 Author: Chris Wilson <chris@chris-wilson.co.uk>
29969 Date: Fri Feb 6 20:11:17 2009 +0000
29971 [perf] Split can_run? into a separate precondition.
29973 Allow tests to skip unnecessary setup when pruning the list of perf cases.
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(-)
30002 commit 798581a1b5a8a56ce9d16c5b21eab82851061732
30003 Author: Chris Wilson <chris@chris-wilson.co.uk>
30004 Date: Fri Jan 30 22:12:49 2009 +0000
30006 [perf] Extend range of testing.
30008 Primarily to test longer glyph runs, but also test large upper bounds for
30011 perf/cairo-perf.c | 10 +++++-----
30012 1 file changed, 5 insertions(+), 5 deletions(-)
30014 commit 1522fac5c71708fc9e98e03da9f51926c1e3769c
30015 Author: Chris Wilson <chris@chris-wilson.co.uk>
30016 Date: Tue Feb 3 17:18:53 2009 +0000
30018 [perf] Fix infinite loop in text
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.
30023 perf/text.c | 7 +++----
30024 1 file changed, 3 insertions(+), 4 deletions(-)
30026 commit 187e3473512e40fa1d046783e797ec3a198b09b2
30027 Author: Chris Wilson <chris@chris-wilson.co.uk>
30028 Date: Fri Feb 13 13:09:32 2009 +0000
30030 [test] Free ref_name in fallback-resolution.
30032 Trivial leak of a few thousand bytes.
30034 test/fallback-resolution.c | 2 ++
30035 1 file changed, 2 insertions(+)
30037 commit 005436758c5679f76cc462841678fb93d6c7e0ac
30038 Author: Chris Wilson <chris@chris-wilson.co.uk>
30039 Date: Tue Feb 3 10:20:26 2009 +0000
30041 [path] Inline path ops during append_to_context()
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
30049 src/cairo-path.c | 76 +++++++++++++++++++++++++++++++++++++++++-------------
30050 1 file changed, 58 insertions(+), 18 deletions(-)
30052 commit d295942b9d4da3be3318cd5fe2d3b0b1fe005d11
30053 Author: Chris Wilson <chris@chris-wilson.co.uk>
30054 Date: Sat Jan 31 00:56:45 2009 +0000
30056 Inline _cairo_restrict_value()
30058 This is one instance where the function call overhead dominated the
30059 function call in both time and size.
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(-)
30067 commit cc8a09567ca034e7d95e2ef8a3ec833b12c9f87a
30068 Author: Chris Wilson <chris@chris-wilson.co.uk>
30069 Date: Fri Feb 13 13:23:50 2009 +0000
30071 [surface] Move the meta-data copy-on-snapshot to the generic layer.
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.
30076 src/cairo-surface-fallback.c | 11 -----------
30077 src/cairo-surface.c | 30 +++++++++++++++++++++++++++---
30078 2 files changed, 27 insertions(+), 14 deletions(-)
30080 commit adaf70a93f4449e85997bcde531b76c9044758ea
30081 Author: Chris Wilson <chris@chris-wilson.co.uk>
30082 Date: Fri Feb 13 12:56:46 2009 +0000
30084 [surface] Separate the mime-data from the user-data.
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.
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
30099 Based on the original patch by Adrian Johnson:
30100 http://cgit.freedesktop.org/~ajohnson/cairo/commit/?h=metadata&id=37e607cc777523ad12a2d214708d79ecbca5b380
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(-)
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
30116 commit de7270cb1e9510cb230e80045c812fa68fcfa585
30117 Author: Chris Wilson <chris@chris-wilson.co.uk>
30118 Date: Fri Feb 13 10:03:22 2009 +0000
30120 [cairo] Describe the restrictions upon cairo_set_tolerance()
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.
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.
30131 Fixes https://bugs.freedesktop.org/show_bug.cgi?id=20095
30132 Bug 20095 - The cairo_set_tolerance() function behavior is inconsistency
30135 src/cairo.c | 5 ++++-
30136 1 file changed, 4 insertions(+), 1 deletion(-)
30138 commit 17ce8584e7142d13bd7a777c9570e5548a06a90c
30139 Author: Chris Wilson <chris@chris-wilson.co.uk>
30140 Date: Thu Feb 12 18:26:57 2009 +0000
30142 [NEWS] Add API changes.
30144 Scan the public headers for obvious additions.
30146 NEWS | 20 +++++++++++++++++++-
30147 1 file changed, 19 insertions(+), 1 deletion(-)
30149 commit 2df611a3810eb64c8ed22dfae5f3d3157eef7e6a
30150 Author: Chris Wilson <chris@chris-wilson.co.uk>
30151 Date: Tue Feb 10 10:28:28 2009 +0000
30153 [script] Expose a normal xlib window for replay
30155 Provide a visible surface for replaying scripts against.
30157 util/cairo-script/csi-replay.c | 122 ++++++++++++++++++++++------------------
30158 1 file changed, 66 insertions(+), 56 deletions(-)
30160 commit 8e1f103540392b17c51b4fb4b3c3480430cbc212
30161 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
30162 Date: Thu Feb 12 12:02:17 2009 -0500
30164 Divert pclose to _pclose for MSVC
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.
30170 src/cairo-compiler-private.h | 1 +
30171 1 file changed, 1 insertion(+)
30173 commit 4c6e7a16032fb223f4224d4355c2ea046cd8fc4b
30174 Author: Eric Anholt <eric@anholt.net>
30175 Date: Wed Feb 11 05:09:23 2009 -0800
30177 [gl] Add support for constant color directly, not through a texture.
30179 src/cairo-gl-surface.c | 337 +++++++++++++++++++++++++++++++++++-------------
30180 1 file changed, 248 insertions(+), 89 deletions(-)
30182 commit 31fb7382d22c9293c093b60716ee4e393fa0d5cf
30183 Author: Eric Anholt <eric@anholt.net>
30184 Date: Wed Feb 11 05:09:51 2009 -0800
30186 [gl] Fix some memory leaks on boilerplate-based runs.
30188 boilerplate/cairo-boilerplate-gl.c | 4 ++++
30189 1 file changed, 4 insertions(+)
30191 commit df96fc1f92b68ef3e76750d0891377980e039b09
30192 Author: Eric Anholt <eric@anholt.net>
30193 Date: Mon Feb 9 15:42:09 2009 -0800
30195 [gl] Avoid re-binding the same draw buffer.
30197 The driver could be smarter and avoid a lot of the cost, but this is easy
30198 and avoids needing much driver smarts.
30200 src/cairo-gl-surface.c | 30 ++++++++++++++++++++----------
30201 1 file changed, 20 insertions(+), 10 deletions(-)
30203 commit fb6937565be558e7ff8ba3dd815a427721783cba
30204 Author: Eric Anholt <eric@anholt.net>
30205 Date: Mon Feb 9 15:30:21 2009 -0800
30207 [gl] Add interface for creating surfaces from window backbuffers.
30209 src/cairo-gl-surface.c | 85 +++++++++++++++++++++++++++++++++++++++++++++---
30210 src/cairo-gl.h | 9 +++--
30211 2 files changed, 85 insertions(+), 9 deletions(-)
30213 commit 6cc3d8dcc0fe418c56a519180163bd49fbdb9730
30214 Author: Eric Anholt <eric@anholt.net>
30215 Date: Mon Feb 9 12:30:20 2009 -0800
30217 [gl] Fix unantialiased-shapes tests.
30219 src/cairo-gl-surface.c | 13 ++++++++++---
30220 1 file changed, 10 insertions(+), 3 deletions(-)
30222 commit 23a8c58dc13bd9ff44f235bee8e4e7240831728a
30223 Author: Eric Anholt <eric@anholt.net>
30224 Date: Thu Feb 5 11:00:59 2009 -0800
30226 [gl] Fix infinite recursion on compositing A1 images.
30228 We could do this fast, but let's do it correct first.
30230 src/cairo-gl-surface.c | 28 ++++++++++++++++++++++++++++
30231 1 file changed, 28 insertions(+)
30233 commit b6dde667fa1c72c6da1970244c4f28c48a38f493
30234 Author: Eric Anholt <eric@anholt.net>
30235 Date: Mon Feb 2 23:22:49 2009 -0800
30237 [gl] Add support for composite and composite_trapezoids.
30239 This is a simple implementation that uses GL_ARB_texture_env_combine after
30240 converting everything to GL surfaces (FBOs).
30242 src/cairo-gl-surface.c | 375 +++++++++++++++++++++++++++++++++++++++++++++++-
30243 1 file changed, 373 insertions(+), 2 deletions(-)
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
30252 commit e7d4bc3d864b1b42bb1cae031036ddf6a4445d3c
30253 Author: Chris Wilson <chris@chris-wilson.co.uk>
30254 Date: Thu Feb 12 10:42:24 2009 +0000
30256 [png] Correct documentation to avoid reference to NULL
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.
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
30266 src/cairo-png.c | 17 +++++++++++++++--
30267 1 file changed, 15 insertions(+), 2 deletions(-)
30269 commit b3e2433f1e78e8799a9f57bfb6da108016687fc9
30270 Author: Søren Sandmann <sandmann@redhat.com>
30271 Date: Wed Feb 11 17:55:15 2009 -0500
30273 Correct the reference image for the rotate-image-surface-paint test
30275 test/rotate-image-surface-paint.ref.png | Bin 190 -> 191 bytes
30276 1 file changed, 0 insertions(+), 0 deletions(-)
30278 commit 41cbd935f9dba276db716e2c71ac21dc60505be9
30279 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
30280 Date: Wed Feb 11 15:24:20 2009 -0500
30282 [test] Add cairo_test_NaN and use it in place of strtod
30284 strtod("NaN") returns 0.0 with the MSVC runtime so we
30285 need to generate NaN some other way.
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(-)
30292 commit 70297f257d4dc0accb5183b806d43a033887acb7
30293 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
30294 Date: Tue Feb 10 17:58:28 2009 -0500
30296 [test] Add crtdbg.h include
30298 crtdbg.h is required for _CrtSetReportMode() and _CrtSetReportFile().
30300 test/cairo-test-runner.c | 4 ++++
30301 1 file changed, 4 insertions(+)
30303 commit b9f0c4b25223830ce73f7e3adef85a0e97a31c0e
30304 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
30305 Date: Tue Feb 10 17:57:00 2009 -0500
30307 Use _cairo_round() instead of round()
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.
30313 src/cairo-font-face-twin.c | 6 ++----
30314 1 file changed, 2 insertions(+), 4 deletions(-)
30316 commit dffdbd85157395bceb27d30d6426aa47173f6a18
30317 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
30318 Date: Tue Feb 10 17:53:39 2009 -0500
30322 _cairo_round() has the same behaviour as _cairo_lround() except
30323 it returns a double instead of an integer.
30325 src/cairoint.h | 9 +++++++++
30326 1 file changed, 9 insertions(+)
30328 commit 41e46c7754fff3a99927979925300a7588b9962f
30329 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
30330 Date: Tue Feb 10 11:44:20 2009 -0500
30332 [test] Don't embed preprocessor directives inside macros
30334 MSVC can't handle this. GCC will warn with -pedantic, but I'm not
30335 sure we want to enable that.
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(-)
30342 commit fe40d3bdb0d0cb93169b935e44d14b15e014fa6d
30343 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
30344 Date: Mon Feb 9 23:43:04 2009 -0500
30346 [test] Allocate glyph array with malloc
30348 Keeping it on the stack causes a stack overflow of Window's
30351 test/show-glyphs-many.c | 4 +++-
30352 1 file changed, 3 insertions(+), 1 deletion(-)
30354 commit 50f8c2e4f3407ef237afd94c7317b1e185ccc9dc
30355 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
30356 Date: Mon Feb 9 23:39:38 2009 -0500
30358 [test] define isnan() on MSVC
30360 Needed for user-font-rescale.c
30362 test/cairo-test.h | 4 ++++
30363 1 file changed, 4 insertions(+)
30365 commit dd9fc47418b86610d7896fcf585037c96beaa66f
30366 Author: Jeff Muizelaar <jeff@infidigm.net>
30367 Date: Mon Feb 9 16:31:08 2009 -0500
30369 Remove zero size data array for compilation with MSVC
30371 MSVC doesn't support zero sized arrays very well. For example, zero
30372 sized arrays in arrays.
30374 src/cairo-tor-scan-converter.c | 5 ++---
30375 1 file changed, 2 insertions(+), 3 deletions(-)
30377 commit a6c8f18a391407044b33340cf13c49368a2e810e
30378 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
30379 Date: Mon Feb 9 15:59:01 2009 -0500
30381 [test] Avoid C99 designated initializers
30383 MSVC doesn't support these so we shouldn't use them.
30385 test/path-precision.c | 20 ++++++++++----------
30386 1 file changed, 10 insertions(+), 10 deletions(-)
30388 commit 3d2fcec948b93f75ba49b898633a84f60d419779
30389 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
30390 Date: Mon Feb 9 15:12:41 2009 -0500
30392 [test] Define INFINITY on MSVC
30394 1./0. produces a compiler error on MSVC so we'll use HUGEVAL instead.
30396 test/cairo-test.h | 3 ---
30397 test/invalid-matrix.c | 4 ++--
30398 2 files changed, 2 insertions(+), 5 deletions(-)
30400 commit 6fb4c6200c840d438e1c9cdd2c9e7b0f140863d8
30401 Author: Eric Anholt <eric@anholt.net>
30402 Date: Thu Feb 5 10:29:01 2009 -0800
30404 [gl] Clamp surface size to a minimum of (1,1) in create_similar.
30406 Fixes clip-zero test.
30408 src/cairo-gl-surface.c | 5 +++++
30409 1 file changed, 5 insertions(+)
30411 commit a8a40810275ff0a59f5767034372523d34fbbd1b
30412 Author: Eric Anholt <eric@anholt.net>
30413 Date: Thu Feb 5 09:43:38 2009 -0800
30415 [gl] clear surfaces to transparent on creation
30417 src/cairo-gl-surface.c | 7 +++++++
30418 1 file changed, 7 insertions(+)
30420 commit e7eb6dab12b9d622b80e4202d753324f7161b269
30421 Author: Eric Anholt <eric@anholt.net>
30422 Date: Thu Jan 29 22:31:56 2009 -0800
30424 [gl] Hook up fill_rectangles.
30426 First actual "acceleration" for cairogears. Actually slows things down since
30427 we're now pingponging between cpu and gpu.
30429 src/cairo-gl-surface.c | 119 +++++++++++++++++++++++++++++++++++++++++++++++-
30430 1 file changed, 118 insertions(+), 1 deletion(-)
30432 commit 2ad5c3fc8fdb5941bdedcda3c972b3bae426fb32
30433 Author: Eric Anholt <eric@anholt.net>
30434 Date: Wed Feb 4 13:10:47 2009 -0800
30436 [gl] Add a shortcut from image to gl in clone_similar.
30438 src/cairo-gl-surface.c | 27 +++++++++++++++++++++++++++
30439 1 file changed, 27 insertions(+)
30441 commit d9d56bb2ed552dd40415af53105a98b9d6ba39ab
30442 Author: Eric Anholt <eric@anholt.net>
30443 Date: Wed Feb 4 13:06:31 2009 -0800
30445 [gl] Make create_similar actually create similar instead of image.
30447 src/cairo-gl-surface.c | 4 +++-
30448 1 file changed, 3 insertions(+), 1 deletion(-)
30450 commit 90b30219b945d6cce941a1b702c9b789a60d8b27
30451 Author: Eric Anholt <eric@anholt.net>
30452 Date: Thu Jan 29 22:27:39 2009 -0800
30454 [gl] Replace all-software implementation with all-GL-read/drawpixels.
30456 src/cairo-gl-surface.c | 315 +++++++++++++++++++++++++++++++++++++++++++-----
30457 1 file changed, 282 insertions(+), 33 deletions(-)
30459 commit c22ca79863a54b4293e607c8e4d515868c216842
30460 Author: Behdad Esfahbod <behdad@behdad.org>
30461 Date: Fri Feb 6 12:56:48 2009 -0500
30463 Don't distribute cairo-features.h (#19992)
30465 Second time I fix this bug. Mabe we should add a test for it!
30467 src/Makefile.am | 7 +++----
30468 1 file changed, 3 insertions(+), 4 deletions(-)
30470 commit a55655a82de8dee0f171efb2f7dfb1da341ecdd6
30471 Author: Behdad Esfahbod <behdad@behdad.org>
30472 Date: Fri Feb 6 12:47:38 2009 -0500
30474 [test] Fix "make dist"
30476 doc/public/tmpl/cairo-status.sgml | 1 +
30477 test/Makefile.am | 1 -
30478 2 files changed, 1 insertion(+), 1 deletion(-)
30480 commit af5ca7249f7628a8b0758f51934e3c1f6d9f4f36
30481 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
30482 Date: Thu Feb 5 16:46:50 2009 -0500
30484 [test] Fix the definition of INFINITY
30486 In my defence, even with INFINITY as 0, I was seeing new asserts on win32.
30487 Caught by Jeremy Lea.
30489 test/invalid-matrix.c | 2 +-
30490 1 file changed, 1 insertion(+), 1 deletion(-)
30492 commit 235de8d7a492ccd132fb83f78d33b408bd76aec1
30493 Author: Eric Anholt <eric@anholt.net>
30494 Date: Thu Jan 29 09:19:01 2009 -0800
30496 [gl] Add basics for GL surface backend using test-fallback as base.
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 +
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 +
30514 16 files changed, 635 insertions(+), 1 deletion(-)
30516 commit 83ec4b16b7b9a27439fee2d84c50e30a1ec2d68c
30517 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
30518 Date: Wed Feb 4 14:04:05 2009 -0500
30520 Elaborate the meaning of arithmetic rounding as done by _cairo_lround()
30522 src/cairo-misc.c | 2 +-
30523 1 file changed, 1 insertion(+), 1 deletion(-)
30525 commit 2676b3bdd6fbeef62d34c100718f76fe5bbe647d
30526 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
30527 Date: Tue Feb 3 14:18:44 2009 -0500
30529 [test] Define INFINITY if it hasn't been defined.
30531 This lets us use more of invalid-matrix on win32
30533 test/cairo-test.h | 3 +++
30534 test/invalid-matrix.c | 22 ++--------------------
30535 2 files changed, 5 insertions(+), 20 deletions(-)
30537 commit 6b0c2c8ba61b6fdaad4c77e1a7c02c13c70e03c4
30538 Author: Chris Wilson <chris@chris-wilson.co.uk>
30539 Date: Sat Jan 31 11:58:19 2009 +0000
30541 [directfb] Don't access the scaled_font->glyphs cache directly
30543 Not only does it no longer exist, but doing so bypassed the locking
30544 mechanisms and sanity checks!
30546 Spotted by Lance Hepler.
30548 src/cairo-directfb-surface.c | 20 ++++++++++----------
30549 1 file changed, 10 insertions(+), 10 deletions(-)
30551 commit d63c1ab3ffcb64220a05c80e674324f524f29dc2
30552 Author: Behdad Esfahbod <behdad@behdad.org>
30553 Date: Sat Jan 31 22:10:57 2009 -0500
30555 [util/malloc-stats] Do a single backtrace_symbols() call
30557 I was hoping that this may speed things up, but it didn't. :(
30559 util/malloc-stats.c | 58 ++++++++++++++++++++++++++++++++++++++++++++-------
30560 1 file changed, 50 insertions(+), 8 deletions(-)
30562 commit 64d1c7587041f765b393e1802a10cce02b807ad1
30563 Author: Behdad Esfahbod <behdad@behdad.org>
30564 Date: Sat Jan 31 21:34:21 2009 -0500
30566 [util] Fix memset bug in malloc-stats
30568 util/malloc-stats.c | 9 ++++-----
30569 1 file changed, 4 insertions(+), 5 deletions(-)
30571 commit b02aeb367dc4bada5412798fa93ce74f3d861273
30572 Author: Behdad Esfahbod <behdad@behdad.org>
30573 Date: Sat Jan 31 21:33:42 2009 -0500
30575 [util] Don't link backtrace-symbols into malloc-stats
30577 On my rawhide machine, seems like the glibc backgrace-symbols is now as
30578 good as our private backtrace-symbols.
30580 util/Makefile.am | 2 +-
30581 1 file changed, 1 insertion(+), 1 deletion(-)
30583 commit 7375f4c76bb169cc24d5d714520c337172d3cf69
30584 Author: Chris Wilson <chris@chris-wilson.co.uk>
30585 Date: Fri Jan 30 21:54:56 2009 +0000
30587 Trivial warning fixes.
30589 Cleanup a few compiler warnings about unused variables and mismatching
30592 src/cairo-bentley-ottmann.c | 1 -
30593 src/cairo-ps-surface.c | 4 ++--
30594 2 files changed, 2 insertions(+), 3 deletions(-)
30596 commit f10eaadf89fa94172a81c05a59febab3f7e32396
30597 Author: Chris Wilson <chris@chris-wilson.co.uk>
30598 Date: Fri Jan 30 21:50:24 2009 +0000
30600 Revert "[png] Complete the idempotent read_png() -> write_png()"
30602 This reverts commit 564d64a1323c5cbcde2dd9365ac790fe8aa1c5a6.
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
30611 src/cairo-png.c | 14 --------------
30612 1 file changed, 14 deletions(-)
30614 commit dd11d905a54a123ddf619e5f0194fb1800ba643d
30615 Author: Chris Wilson <chris@chris-wilson.co.uk>
30616 Date: Fri Jan 30 10:09:29 2009 +0000
30618 [util] Use a hash-table for malloc-stats.
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
30624 util/malloc-stats.c | 150 +++++++++++++++++++++++++++++++++++----------------
30625 1 file changed, 103 insertions(+), 47 deletions(-)
30627 commit 322fb00066cc4655122fcf7d738a0cbbe46fcdd1
30628 Author: Chris Wilson <chris@chris-wilson.co.uk>
30629 Date: Thu Jan 29 22:05:06 2009 +0000
30631 [test] Compile again without memfault.
30633 Hide the valgrind macro when not using memfault.
30635 test/cairo-test.c | 26 ++++++++++++++++----------
30636 1 file changed, 16 insertions(+), 10 deletions(-)
30638 commit 5e6d25e204b681c5d5fba90abfe4d7401f23460f
30639 Author: Chris Wilson <chris@chris-wilson.co.uk>
30640 Date: Wed Dec 17 20:47:09 2008 +0000
30642 [skiplist] Provide an initial stack allocated pool.
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.
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(-)
30653 commit dd4276c6618aa250637e4499bc7cb0a35b24448c
30654 Author: Chris Wilson <chris@chris-wilson.co.uk>
30655 Date: Sun Nov 30 13:49:24 2008 +0000
30657 [stroker] Rectilinear dashing.
30659 Extend the rectilinear stroker to handle dashes, so that for pixel-aligned
30660 dashed strokes we completely avoid tessellation overhead.
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(-)
30675 commit 7f95288c03a400bf770165d427ef623d924b3b47
30676 Author: Chris Wilson <chris@chris-wilson.co.uk>
30677 Date: Thu Jan 29 09:47:01 2009 +0000
30679 [ft] Improve error status propagation.
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
30685 src/cairo-ft-font.c | 65 +++++++++++++++++++++++++--------------------------
30686 1 file changed, 32 insertions(+), 33 deletions(-)
30688 commit 53bd2ae2ce27f9b954f34bc9921d798c9a074125
30689 Author: Chris Wilson <chris@chris-wilson.co.uk>
30690 Date: Mon Jan 26 21:36:27 2009 +0000
30692 [ft] Distinguish fatal backend errors whilst constructing scaled fonts.
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.
30700 src/cairo-ft-font.c | 38 ++++++++++++++++++++++++++------------
30701 1 file changed, 26 insertions(+), 12 deletions(-)
30703 commit f17aeedab31753974cce027f92571107425b1bcd
30704 Author: Chris Wilson <chris@chris-wilson.co.uk>
30705 Date: Mon Jan 26 21:11:41 2009 +0000
30707 [scaled-font] Differentiate fatal error when creating fonts
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.
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
30717 src/cairo-scaled-font.c | 8 +++++++-
30718 1 file changed, 7 insertions(+), 1 deletion(-)
30720 commit 58cab06c4c2c49bbecb11efaae6b41d30c06eff0
30721 Author: Chris Wilson <chris@chris-wilson.co.uk>
30722 Date: Mon Jan 26 20:52:29 2009 +0000
30724 [scaled-font] Guard against invalid matrices when creating the scaled font.
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.
30730 src/cairo-scaled-font.c | 22 ++++++++++++++++++++--
30731 1 file changed, 20 insertions(+), 2 deletions(-)
30733 commit 97c88f2af04b6bc5161fa2b567b5e922d7fd326a
30734 Author: Chris Wilson <chris@chris-wilson.co.uk>
30735 Date: Mon Jan 26 20:51:02 2009 +0000
30737 [surface] Fix memleak of along set_mime_data() error path
30739 Free the mime_data holder if we fail to attach it to the surface.
30741 src/cairo-surface.c | 8 ++++++--
30742 1 file changed, 6 insertions(+), 2 deletions(-)
30744 commit d20e5fc2d95c61ab04e085bf3a99d2cb958421a5
30745 Author: Chris Wilson <chris@chris-wilson.co.uk>
30746 Date: Mon Jan 26 15:08:58 2009 +0000
30748 [ps] Free images after emitting patterns.
30750 Ensure that the temporary images are freed after we finish with the
30753 Note that we are using 3 members of the surface for temporary storage
30754 whilst emitting patterns, this should be reviewed.
30756 src/cairo-ps-surface-private.h | 3 +++
30757 src/cairo-ps-surface.c | 18 ++++++++++++++++--
30758 2 files changed, 19 insertions(+), 2 deletions(-)
30760 commit e6102dbe028ca93db936b2f4cd6368e2ba0a2209
30761 Author: Chris Wilson <chris@chris-wilson.co.uk>
30762 Date: Mon Jan 26 14:00:13 2009 +0000
30764 [png] Avoid a double free of the memory stream after error.
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.
30770 src/cairo-png.c | 2 +-
30771 1 file changed, 1 insertion(+), 1 deletion(-)
30773 commit 0f3e366f8bbbaa80b518eb1b0297a6122901ce66
30774 Author: Chris Wilson <chris@chris-wilson.co.uk>
30775 Date: Mon Jan 26 10:54:45 2009 +0000
30777 [font-face] Close a race when resurrecting fonts.
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.
30784 To stop the race, we need to recheck the reference count upon taking the
30785 mutex guarding the hash table.
30787 src/cairo-ft-font.c | 6 ++++++
30788 src/cairo-toy-font-face.c | 6 ++++++
30789 2 files changed, 12 insertions(+)
30791 commit 312b5680a5754c8e7ee1332206b81449cf9bf8a3
30792 Author: Chris Wilson <chris@chris-wilson.co.uk>
30793 Date: Fri Jan 23 21:13:15 2009 +0000
30795 [cff-subset] Free ps_name.
30797 Ensure ps_name is freed along error paths and by the normal destructor.
30799 src/cairo-cff-subset.c | 4 +++-
30800 1 file changed, 3 insertions(+), 1 deletion(-)
30802 commit 5176507fcb61ae1ec1143aa0b6b098bc92575c48
30803 Author: Chris Wilson <chris@chris-wilson.co.uk>
30804 Date: Fri Jan 23 13:37:54 2009 +0000
30806 [truetype] Free font name.
30808 Remember to free the font name on destruction.
30810 src/cairo-truetype-subset.c | 2 ++
30811 1 file changed, 2 insertions(+)
30813 commit ab0ac1b8a84b0d259602f0029a3b5552466f35a6
30814 Author: Chris Wilson <chris@chris-wilson.co.uk>
30815 Date: Thu Jan 29 09:45:11 2009 +0000
30817 [truetype] Initialise font_name
30819 Ensure the font_name is initialized to NULL.
30821 src/cairo-cff-subset.c | 2 ++
30822 src/cairo-truetype-subset.c | 1 +
30823 2 files changed, 3 insertions(+)
30825 commit 8388af137841679b7c510980daf3cec1427b6e6b
30826 Author: Chris Wilson <chris@chris-wilson.co.uk>
30827 Date: Thu Jan 29 09:50:38 2009 +0000
30829 [test] Trivial fixes for error paths.
30831 Kill a few leaks along error paths in the test code.
30833 test/create-from-png-stream.c | 36 ++++++++++++++++++++++++++++--------
30834 test/mime-data.c | 4 ++++
30835 2 files changed, 32 insertions(+), 8 deletions(-)
30837 commit 3752f690b467432ab5b1058d450cb79d719a794a
30838 Author: Chris Wilson <chris@chris-wilson.co.uk>
30839 Date: Thu Jan 29 09:49:41 2009 +0000
30841 [test] Suppress suppressed memfault report
30843 Check to see if there are any *unsuppressed* memfaults before declaring
30846 test/cairo-test.c | 11 +++++++++--
30847 1 file changed, 9 insertions(+), 2 deletions(-)
30849 commit 8dc4c0da9b13b16c593e874d59c13a89a77a2481
30850 Author: Chris Wilson <chris@chris-wilson.co.uk>
30851 Date: Fri Jan 23 13:17:24 2009 +0000
30853 [toy-font] Fix unwind behaviour following error during construction.
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.
30859 src/cairo-toy-font-face.c | 43 +++++++++++++++++++++----------------------
30860 1 file changed, 21 insertions(+), 22 deletions(-)
30862 commit 1d52fbc8f4f70e9e2419a6ed66cd907552d1d13b
30863 Author: Chris Wilson <chris@chris-wilson.co.uk>
30864 Date: Fri Jan 23 12:51:52 2009 +0000
30866 [tessellator] Memleak on error path.
30868 Add a missing _cairo_skip_list_fini() after failure to allocate the
30871 src/cairo-bentley-ottmann.c | 4 +++-
30872 1 file changed, 3 insertions(+), 1 deletion(-)
30874 commit 6b5d2bf1a742b34a58d65f188fe15ffbf2f83118
30875 Author: Chris Wilson <chris@chris-wilson.co.uk>
30876 Date: Fri Jan 23 10:42:42 2009 +0000
30878 [trace] Comment out the redundant wrapping of FT_Open_Face()
30880 Remove the left-over debugging spew, but leave a comment to hopefully
30881 clarify the situation with wrapping FT_Open_Face().
30883 util/cairo-trace/trace.c | 9 +++++++++
30884 1 file changed, 9 insertions(+)
30886 commit faa004033cde21cd81890c7f82abae8eb766bb4b
30887 Author: Carl Worth <cworth@cworth.org>
30888 Date: Thu Jan 22 11:52:54 2009 +1100
30890 cairo-trace: Print name of trace file.
30892 It's just a lot easier to use cairo-trace if it tells you
30893 what file it just created.
30895 util/cairo-trace/trace.c | 3 +++
30896 1 file changed, 3 insertions(+)
30898 commit d108b2777fcd6ef4fa45aeeef457dc58522e325b
30899 Author: Daniel Holbert <dholbert@mozilla.com>
30900 Date: Fri Jan 23 10:18:48 2009 +0000
30902 Spelling corrections: s/it's/its/
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.
30909 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
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(-)
30918 commit 6394ec3048f31b867d9588853fa400c6c630c6f1
30919 Author: Paolo Bonzini <bonzini@gnu.org>
30920 Date: Mon Dec 15 09:32:43 2008 +0100
30922 [surface] add CAIRO_STATUS_INVALID_SIZE
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.
30928 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
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(-)
30941 commit 46acfd2e85dd6f7a73e1172d363d509c769376f2
30942 Author: Paolo Bonzini <bonzini@gnu.org>
30943 Date: Tue Dec 23 08:31:30 2008 +0100
30945 [glitz] use image fallback if the cairo_content_t is unsupported
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
30952 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
30954 src/cairo-glitz-surface.c | 2 +-
30955 1 file changed, 1 insertion(+), 1 deletion(-)
30957 commit 01d20b79daf0abe0f69ccec4ecd5122c5bfe9a4e
30958 Author: Chris Wilson <chris@chris-wilson.co.uk>
30959 Date: Fri Jan 23 10:09:37 2009 +0000
30961 [scaled-font] Fix up syntax in doc comments
30963 The old NULL vs %NULL conflict.
30965 src/cairo-scaled-font-subsets-private.h | 9 +++++----
30966 1 file changed, 5 insertions(+), 4 deletions(-)
30968 commit aaec63d48386ec825cd4d6e67b6adf7c5fd3b167
30969 Author: Chris Wilson <chris@chris-wilson.co.uk>
30970 Date: Fri Nov 21 15:04:47 2008 +0000
30972 [scaled-font] Global glyph cache
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).
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.
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
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(-)
31005 commit 54f6a49ebb18cf396823d0d70b95e4e264142171
31006 Author: Chris Wilson <chris@chris-wilson.co.uk>
31007 Date: Mon Jan 19 15:36:29 2009 +0000
31009 [bounds] Skip spline evaluation based on bounding bbox of control points.
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
31016 src/cairo-path-bounds.c | 21 +++++++++++++++++++--
31017 1 file changed, 19 insertions(+), 2 deletions(-)
31019 commit e217c4da7bc5c4817e0d829ff61dd2bd5b3145a6
31020 Author: Chris Wilson <chris@chris-wilson.co.uk>
31021 Date: Mon Jan 19 15:28:05 2009 +0000
31023 [in-stroke] Check point against extents before computing path.
31025 We can avoid tessellating the path entirely by first checking whether the
31026 query point is inside the path extents.
31028 src/cairo-gstate.c | 15 +++++++++++++++
31029 1 file changed, 15 insertions(+)
31031 commit 48f9a0e6da0dd24ea9c809876ef3c745dcfd0d52
31032 Author: Chris Wilson <chris@chris-wilson.co.uk>
31033 Date: Thu Jan 15 00:26:03 2009 +0000
31035 [spline] Correct the definition of a cubic Bezier curve.
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.
31040 src/cairo-spline.c | 8 ++++----
31041 1 file changed, 4 insertions(+), 4 deletions(-)
31043 commit ee7ac5681fa6a74b68beeae667d96d1421050fc9
31044 Author: Chris Wilson <chris@chris-wilson.co.uk>
31045 Date: Wed Jan 21 12:04:06 2009 +0000
31047 [path] A degenerate curve_to becomes a line_to.
31051 src/cairo-path-fixed.c | 2 +-
31052 1 file changed, 1 insertion(+), 1 deletion(-)
31054 commit 778ced4879b09f7482bd41c398bf2d984754ed0b
31055 Author: Chris Wilson <chris@chris-wilson.co.uk>
31056 Date: Wed Jan 14 18:55:32 2009 +0000
31058 [path] Rename _cairo_path_fixed_approximate_extents()
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.
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(-)
31071 commit 75f7c420b624049c1f6c51795679f8029cd2231d
31072 Author: Chris Wilson <chris@chris-wilson.co.uk>
31073 Date: Wed Jan 21 13:09:41 2009 +0000
31075 [perf] Remove a redundant clear during source init.
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.
31082 perf/cairo-perf-cover.c | 7 ++-----
31083 1 file changed, 2 insertions(+), 5 deletions(-)
31085 commit 706f6de68da65911f434d2065dcb143649fa793e
31086 Author: Chris Wilson <chris@chris-wilson.co.uk>
31087 Date: Sun Jan 18 16:47:59 2009 +0000
31089 [perf] Add another variation on the many-rectangles case
31091 This variation aims to show the difference between calling fill once
31092 per-rectangle, or once for all rectangles.
31094 perf/rectangles.c | 20 ++++++++++++++++++++
31095 1 file changed, 20 insertions(+)
31097 commit ff5d37a8ad063e84e88f453a403715bc85f8a3ec
31098 Author: Chris Wilson <chris@chris-wilson.co.uk>
31099 Date: Thu Jan 29 10:09:11 2009 +0000
31101 [mutex] Civilise the comment.
31103 Note bene that Behdad does not like people shouting.
31105 src/cairo-mutex-impl-private.h | 2 +-
31106 1 file changed, 1 insertion(+), 1 deletion(-)
31108 commit f4ff6128d7fb6e4b5ba361a597fc6c0c88d5ec00
31109 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
31110 Date: Wed Jan 28 17:16:32 2009 -0500
31112 Avoid "empty body in an if-statement" warning
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
31119 src/cairo-mutex-impl-private.h | 5 +++--
31120 1 file changed, 3 insertions(+), 2 deletions(-)
31122 commit 41feeedcc14bf8caef3c039de49f4f28143712c7
31123 Author: Adrian Johnson <ajohnson@redneon.com>
31124 Date: Wed Dec 3 23:58:22 2008 +1030
31126 Use PS font name in PS TrueType fonts
31128 src/cairo-ps-surface.c | 9 +++++----
31129 1 file changed, 5 insertions(+), 4 deletions(-)
31131 commit b7a9e1d4ac3972bc3d215070124b6a9eda68d3e3
31132 Author: Adrian Johnson <ajohnson@redneon.com>
31133 Date: Wed Dec 3 23:58:05 2008 +1030
31135 Embed full font name in PDF TrueType and CFF fonts
31137 if the full font name was available in the font.
31139 src/cairo-pdf-surface.c | 32 ++++++++++++++++++++++++--------
31140 1 file changed, 24 insertions(+), 8 deletions(-)
31142 commit 6f2db9a4b07cde2c4932ea481228abc248e90145
31143 Author: Adrian Johnson <ajohnson@redneon.com>
31144 Date: Wed Dec 3 23:57:38 2008 +1030
31146 Use PS font name in CFF and TrueType PDF font subsets
31148 James Cloos found that the font name in embedded fonts should be the
31149 PostScript font name (nameID=6 in the name table).
31151 http://lists.cairographics.org/archives/cairo/2008-December/015919.html
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(-)
31159 commit 2ed08f7801a2af27e35afcf57f00f4bf5d48384a
31160 Author: Adrian Johnson <ajohnson@redneon.com>
31161 Date: Wed Dec 3 23:56:01 2008 +1030
31163 Factor out duplicate code in truetype and cff subsetting
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().
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(-)
31173 commit 1deb1e451022b9dd5aa6ecb0b580b006047b630e
31174 Author: Adrian Johnson <ajohnson@redneon.com>
31175 Date: Tue Nov 25 23:11:01 2008 +1030
31177 PDF: Include subset tag in font name
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.
31183 src/cairo-pdf-surface.c | 112 +++++++++++++++++++++++++++++++++++++++++++----
31184 1 file changed, 104 insertions(+), 8 deletions(-)
31186 commit c4e54629bb444ed3e850ca8deec175936b90c4e4
31187 Author: Carl Worth <cworth@cworth.org>
31188 Date: Thu Jan 22 12:26:55 2009 +1100
31190 Add details to test/COPYING about license of bundled fonts.
31192 Just the public-doamin 6x13.pcf file for now, but Adrian will
31193 be bundling more soon.
31195 test/COPYING | 8 ++++++++
31196 1 file changed, 8 insertions(+)
31198 commit 6801f28f6dfeb21eec44052e75156e9d2b82422e
31199 Author: Chris Wilson <chris@chris-wilson.co.uk>
31200 Date: Wed Jan 14 13:59:28 2009 +0000
31202 [perf] Add a utility to compare backends.
31204 A minor variation on cairo-perf-diff-files that compares tests with the
31205 same name for multiple backends.
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(-)
31216 commit 4c79cd480db1cf10b6018bce3ea966587efc6081
31217 Author: Chris Wilson <chris@chris-wilson.co.uk>
31218 Date: Tue Jan 13 12:52:52 2009 +0000
31220 [perf] Tweak dragon to hit fill_rectangles().
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.
31225 perf/dragon.c | 42 +++++++++++++++++++++++++++++++++++++++++-
31226 1 file changed, 41 insertions(+), 1 deletion(-)
31228 commit de9e6b5a3f4e4752e0f99e3ae20ac263a5aae4bb
31229 Author: Chris Wilson <chris@chris-wilson.co.uk>
31230 Date: Mon Jan 12 01:00:30 2009 +0000
31232 [perf] Cover linear gradient with 3 stops.
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.
31238 perf/cairo-perf-cover.c | 36 ++++++++++++++++++++++++++++++++++++
31239 1 file changed, 36 insertions(+)
31241 commit 7cbc55f21624159dfa58a9a50ec004af9368ab3d
31242 Author: Chris Wilson <chris@chris-wilson.co.uk>
31243 Date: Sat Jan 10 00:12:06 2009 +0000
31245 [perf] Add scaled similar surface sources.
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.
31251 perf/cairo-perf-cover.c | 44 ++++++++++++++++++++++++++++++++++++++++----
31252 1 file changed, 40 insertions(+), 4 deletions(-)
31254 commit afce1cfe987eeec6516aed1eb8fd97c2d3b9b07b
31255 Author: Chris Wilson <chris@chris-wilson.co.uk>
31256 Date: Fri Jan 9 14:22:36 2009 +0000
31258 [scaled-font] Avoid repeated lookup of the same unicode during text->glyphs
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.
31265 src/cairo-scaled-font.c | 63 ++++++++++++++++++++++++++++++-----------------
31266 1 file changed, 41 insertions(+), 22 deletions(-)
31268 commit 49eca78a4265432e285af58435219e8b804b38bb
31269 Author: Chris Wilson <chris@chris-wilson.co.uk>
31270 Date: Mon Jan 12 12:42:46 2009 +0000
31272 [test] Add a huge-radial test case.
31274 Also test the handling of radial gradients with large radii.
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(-)
31291 commit 7709d1d9d43a42dd8f9293f18141c57c76ca0970
31292 Author: Chris Wilson <chris@chris-wilson.co.uk>
31293 Date: Wed Jan 7 21:12:21 2009 +0000
31295 [test] Add fill-image.
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.
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(+)
31306 commit 5605e4bfcd0b6e3e34eed3785bc8ae51b24a7385
31307 Author: Chris Wilson <chris@chris-wilson.co.uk>
31308 Date: Sun Jan 4 11:26:45 2009 +0000
31310 [test] Propagate failure from painting large-source-roi
31312 Use cairo_get_target() to propagate any failure when creating the
31315 test/large-source-roi.c | 28 ++++++++++++++++++++--------
31316 1 file changed, 20 insertions(+), 8 deletions(-)
31318 commit 59a14f622389ae3f34f93c78b709df2ad6d1d624
31319 Author: Behdad Esfahbod <behdad@behdad.org>
31320 Date: Sat Jan 10 13:09:06 2009 -0500
31322 Comment win32 maintainer-clean files again
31324 Makefile.am | 8 ++++----
31325 1 file changed, 4 insertions(+), 4 deletions(-)
31327 commit cc5119173918623ce13363f4b25cd06076fc3fbc
31328 Author: Søren Sandmann Pedersen <sandmann@redhat.com>
31329 Date: Sat Jan 10 12:13:40 2009 -0500
31331 Uncomment win32 maintainer-clean files to make Makefile.am syntactically correct
31333 Makefile.am | 4 ++--
31334 1 file changed, 2 insertions(+), 2 deletions(-)
31336 commit 06deaa98b67f9e674a6933a8f54dae6a45faf6ff
31337 Author: Behdad Esfahbod <behdad@behdad.org>
31338 Date: Fri Jan 9 15:55:24 2009 -0500
31340 [build] Include all generated win32 build files in the repo
31342 So a git clone can be built on win32. The files only change after adding
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(-)
31357 commit a5c1cdf2b030959309e1645bd115f058f1367296
31358 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
31359 Date: Thu Nov 13 12:11:12 2008 +0200
31361 [clip] Fix uninitialised status return in _cairo_clip_intersect_mask() for empty extents.
31363 This fixes the clip-all test case crashing for me.
31365 src/cairo-clip.c | 2 +-
31366 1 file changed, 1 insertion(+), 1 deletion(-)
31368 commit 8157bc8a2dc0d555606d19ad52ae7a603471edd6
31369 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
31370 Date: Sun Jan 4 04:14:28 2009 +0200
31372 [test] Stress test using large source images.
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.
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(+)
31384 commit 388ae177e4100698289819429fa1f8e6958d1c60
31385 Author: Chris Wilson <chris@chris-wilson.co.uk>
31386 Date: Sat Jan 3 22:51:28 2009 +0000
31388 [boilerplate] Remove CAIRO_BOILERPLATE_LOG()
31390 The variadic macro is only used within boilerplate/ so replace it with a
31391 simple, and portable, call to fprintf.
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(-)
31403 commit 5f816ccd25d1cd303fc1e9e44e80c1207b2a424a
31404 Author: Chris Wilson <chris@chris-wilson.co.uk>
31405 Date: Sat Jan 3 22:30:55 2009 +0000
31407 [boilerplate] Redefine DEBUG() for portability concerns
31409 Behdad warned that using an empty variadic macro was non-portable.
31411 boilerplate/cairo-boilerplate-xlib.c | 18 +++++++++---------
31412 boilerplate/cairo-boilerplate.h | 2 +-
31413 2 files changed, 10 insertions(+), 10 deletions(-)
31415 commit acb2717372f3862ddbde8cfdc814132808b71f86
31416 Author: Chris Wilson <chris@chris-wilson.co.uk>
31417 Date: Sat Jan 3 21:50:55 2009 +0000
31419 [quartz] Define RTLD_DEFAULT
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.
31425 src/cairo-quartz-surface.c | 5 +++++
31426 1 file changed, 5 insertions(+)
31428 commit ff1f5de5511ba0b7842b53223c26986e4bcdc38a
31429 Author: Chris Wilson <chris@chris-wilson.co.uk>
31430 Date: Sat Jan 3 11:44:58 2009 +0000
31432 [boilerplate] Suppress xlib warnings on stderr
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.
31440 boilerplate/cairo-boilerplate-xlib.c | 18 +++++++++---------
31441 boilerplate/cairo-boilerplate.h | 4 ++++
31442 2 files changed, 13 insertions(+), 9 deletions(-)
31444 commit 75538962c8af11b1ec669caca6259b7769b5cc1d
31445 Author: Chris Wilson <chris@chris-wilson.co.uk>
31446 Date: Fri Jan 2 17:45:26 2009 +0000
31448 [boilerplate] Check the return of pclose()
31450 pclose() returns the child exit status, so we can use that to detect
31451 errors in the convertor process.
31453 boilerplate/cairo-boilerplate.c | 11 +++++++++--
31454 1 file changed, 9 insertions(+), 2 deletions(-)
31456 commit 333158ec85cf3c610cc8965fc3f99d72b534cc2e
31457 Author: Chris Wilson <chris@chris-wilson.co.uk>
31458 Date: Fri Jan 2 15:36:39 2009 +0000
31460 [configure] Replace awk comparator with an aclocal version
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
31469 build/aclocal.compare.m4 | 162 ++++++++++++++++++++++++++++++++++++++++++++++
31470 configure.ac | 18 ++----
31471 2 files changed, 168 insertions(+), 12 deletions(-)
31473 commit dc33ae24619f4602c23716e9e407f8dd4f1b4a1d
31474 Author: Chris Wilson <chris@chris-wilson.co.uk>
31475 Date: Fri Jan 2 14:29:53 2009 +0000
31477 [boilerplate] Use pclose() after popen
31479 Joonas pointed out that we should be using pclose() on a stream returned
31482 boilerplate/cairo-boilerplate.c | 2 +-
31483 1 file changed, 1 insertion(+), 1 deletion(-)
31485 commit f230ce7658910c7f4f8feb722b77a2141824f963
31486 Author: Chris Wilson <chris@chris-wilson.co.uk>
31487 Date: Fri Jan 2 14:03:35 2009 +0000
31489 [path] Fix typo in bounds for empty path.
31491 We set the width to be zero, twice, and the height not even once!
31493 src/cairo-path-bounds.c | 6 +++---
31494 1 file changed, 3 insertions(+), 3 deletions(-)
31496 commit 163c326c82a45c1f3ee84bbfaee2cc2e6dc1fafc
31497 Author: Chris Wilson <chris@chris-wilson.co.uk>
31498 Date: Fri Jan 2 13:46:16 2009 +0000
31500 [test] Free test name
31502 Adding the missing free for the converted test name.
31504 test/cairo-test.c | 3 +++
31505 1 file changed, 3 insertions(+)
31507 commit dd65be740c475daf75c602fc79ff25977674d9cf
31508 Author: Chris Wilson <chris@chris-wilson.co.uk>
31509 Date: Fri Jan 2 13:42:53 2009 +0000
31511 [test/pdf-mime-data] Free data on error paths.
31513 Cleanup the allocated buffers on error.
31515 test/pdf-mime-data.c | 4 ++++
31516 1 file changed, 4 insertions(+)
31518 commit 65f9760d661a0eb2edf9e53fb1b74666ce0ba3b9
31519 Author: Chris Wilson <chris@chris-wilson.co.uk>
31520 Date: Fri Jan 2 13:43:33 2009 +0000
31522 [toy-font-face] Return defaults for error objects.
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).
31527 src/cairo-toy-font-face.c | 28 ++++++++++++++++++++++++----
31528 1 file changed, 24 insertions(+), 4 deletions(-)
31530 commit d478d5ed5ce7c19a02e11435bcf69e867c6705d9
31531 Author: Behdad Esfahbod <behdad@behdad.org>
31532 Date: Fri Jan 2 06:48:54 2009 -0500
31534 [doc] Give a small hint about Twin font
31536 Though, the details are not documented yet. I'm not sure how much of it
31537 I do want to document.
31539 src/cairo-toy-font-face.c | 2 +-
31540 src/cairo.c | 7 +++++++
31541 2 files changed, 8 insertions(+), 1 deletion(-)
31543 commit a023104400f7f08775e9e52c304f5df2bc96382d
31544 Author: Chris Wilson <chris@chris-wilson.co.uk>
31545 Date: Fri Jan 2 10:32:39 2009 +0000
31547 [trace] Adopt _cairo_dtostr
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.
31554 util/cairo-trace/trace.c | 920 +++++++++++++++++++++++++++-------------------
31555 1 file changed, 546 insertions(+), 374 deletions(-)
31557 commit c601f308430f4d33929109fb9170b9322edca3c6
31558 Author: Chris Wilson <chris@chris-wilson.co.uk>
31559 Date: Thu Jan 1 16:55:08 2009 +0000
31561 [cairo] Early return if we attempt to set the same colour.
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.
31567 src/cairo.c | 30 ++++++++++++++++++++++++++++++
31568 1 file changed, 30 insertions(+)
31570 commit fb3522f33a565576002595bf03e07f6c8b16a471
31571 Author: Chris Wilson <chris@chris-wilson.co.uk>
31572 Date: Sat Dec 20 19:19:54 2008 +0000
31574 [os2] Fix memory leak of surface on error path
31576 Of we fail to create the mutex, free the surface before returning the
31579 Reported: http://bugs.freedesktop.org/show_bug.cgi?id=19208.
31581 src/cairo-os2-surface.c | 1 +
31582 1 file changed, 1 insertion(+)
31584 commit 8d23c3a6c2ab0ae168afb695e2b8c5f121ed2be3
31585 Author: Chris Wilson <chris@chris-wilson.co.uk>
31586 Date: Sat Dec 20 19:17:28 2008 +0000
31588 [quartz] Delay allocation of string until after guard.
31590 Fixes a memory leak should we bail due to the version of Quartz being
31593 Reported: http://bugs.freedesktop.org/show_bug.cgi?id=19209.
31595 src/cairo-quartz-font.c | 6 ++++--
31596 1 file changed, 4 insertions(+), 2 deletions(-)
31598 commit 9c9ed8f0b5ce8bc3036dcb0bf841ffaa24797cfa
31599 Author: Chris Wilson <chris@chris-wilson.co.uk>
31600 Date: Fri Dec 19 13:04:31 2008 +0000
31602 [scaled-font] Post-process hash value.
31604 Mix the bits within the hash value to reduce clustering.
31606 src/cairo-scaled-font.c | 15 +++++++++++++++
31607 1 file changed, 15 insertions(+)
31609 commit 555dd6b97ec432787d83242727164d25b459cf54
31610 Author: Chris Wilson <chris@chris-wilson.co.uk>
31611 Date: Fri Dec 19 13:02:00 2008 +0000
31613 [scaled-font] Switch to a constant loop for hashing.
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.
31618 src/cairo-scaled-font.c | 18 ++++++++----------
31619 1 file changed, 8 insertions(+), 10 deletions(-)
31621 commit f5274f5847519208865159fa9bb254d76ba8ddac
31622 Author: Chris Wilson <chris@chris-wilson.co.uk>
31623 Date: Fri Dec 19 16:31:28 2008 +0000
31625 Iterate over hash table using foreach() in destructors.
31627 Don't use the remarkably inefficient _cairo_hash_table_random_entry() to
31628 remove all entries from the hash table!
31630 src/cairo-cff-subset.c | 21 +++++++++++----------
31631 src/cairo-ft-font.c | 47 ++++++++++++++++++++++-------------------------
31632 2 files changed, 33 insertions(+), 35 deletions(-)
31634 commit 1c4ea84b24f3f7e480f9c50b5bd77ac703c36ef0
31635 Author: Chris Wilson <chris@chris-wilson.co.uk>
31636 Date: Thu Dec 18 20:32:44 2008 +0000
31638 [cairo] Early return if we attempt to set the same scaled_font
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.
31643 src/cairo.c | 3 +++
31644 1 file changed, 3 insertions(+)
31646 commit b661f3d27ba77cdf470a86f6320b1bb31d92a9f0
31647 Author: Chris Wilson <chris@chris-wilson.co.uk>
31648 Date: Thu Dec 18 18:34:16 2008 +0000
31650 [cairo] Embed a second gstate.
31652 Experiment with embedding a second gstate into the initial context to
31653 reduce allocations.
31655 src/cairo-private.h | 2 +-
31656 src/cairo.c | 12 ++++++------
31657 2 files changed, 7 insertions(+), 7 deletions(-)
31659 commit 8abd21bd3afc143501f66fdcdc0c6c4139df490b
31660 Author: Chris Wilson <chris@chris-wilson.co.uk>
31661 Date: Tue Dec 23 15:09:15 2008 +0000
31663 [script] Call the context creation hook
31665 Hook in the creation hook so applications can record or even modify the
31666 contexts used in replay.
31668 util/cairo-script/cairo-script-operators.c | 7 ++++++-
31669 1 file changed, 6 insertions(+), 1 deletion(-)
31671 commit 2c9323d3942cbf93b100f711000f48a3eb869271
31672 Author: Chris Wilson <chris@chris-wilson.co.uk>
31673 Date: Fri Dec 19 14:11:37 2008 +0000
31675 [script] more targets
31677 util/cairo-script/csi-replay.c | 101 ++++++++++++++++++++++++++++++++++------
31678 1 file changed, 88 insertions(+), 13 deletions(-)
31680 commit fd96cea4fefeeee8bcccde663faa559151e2606e
31681 Author: Chris Wilson <chris@chris-wilson.co.uk>
31682 Date: Fri Dec 19 12:54:53 2008 +0000
31684 [script] Improve array construction.
31686 Limit the memory allocation to the initial array size and perform a direct
31687 copy from the operand stack to the array.
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(-)
31696 commit ecb8dce27c769158fe4a92432a90b24a96f8afa9
31697 Author: Chris Wilson <chris@chris-wilson.co.uk>
31698 Date: Thu Dec 18 18:32:44 2008 +0000
31700 [script] Recreate surface content.
31702 Use the content recorded in the trace, defaulting to COLOR_ALPHA, to
31703 determine the replayed surface type.
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(-)
31712 commit d21529b9ef31228182d2f61bb4f7beb6319b10c4
31713 Author: Chris Wilson <chris@chris-wilson.co.uk>
31714 Date: Sat Dec 20 15:38:13 2008 +0000
31716 [trace] Correct escaped characters in string literal.
31718 Laziness caused the control character to be used instead of its
31719 replacement in the escaped string!
31721 util/cairo-trace/trace.c | 13 ++++++++++++-
31722 1 file changed, 12 insertions(+), 1 deletion(-)
31724 commit ca39c4bf7f90646b70b2bbe9e7318fcfae99e35e
31725 Author: Chris Wilson <chris@chris-wilson.co.uk>
31726 Date: Sat Dec 20 15:35:40 2008 +0000
31728 [trace] Correct a couple of typos.
31730 A couple of minor typos in the escaped characters strings.
31732 util/cairo-trace/trace.c | 4 ++--
31733 1 file changed, 2 insertions(+), 2 deletions(-)
31735 commit 1f2fec7388092c8fea87651f9094ca2e0be2104b
31736 Author: Chris Wilson <chris@chris-wilson.co.uk>
31737 Date: Fri Dec 19 18:04:03 2008 +0000
31739 [trace] Fix OBO in emit_glyphs()
31741 The largest index that will fit within 8 bits is 255 not 256!
31743 util/cairo-trace/trace.c | 2 +-
31744 1 file changed, 1 insertion(+), 1 deletion(-)
31746 commit 7ebe9e68371e4e77139d9abeb7feb390203b1c8e
31747 Author: Chris Wilson <chris@chris-wilson.co.uk>
31748 Date: Thu Dec 18 21:59:16 2008 +0000
31750 [trace] Minor tidy.
31752 Improve scoping of variables.
31754 util/cairo-trace/trace.c | 8 ++++----
31755 1 file changed, 4 insertions(+), 4 deletions(-)
31757 commit 931556005a1946c5e730afc7977551a2bc5be42c
31758 Author: Chris Wilson <chris@chris-wilson.co.uk>
31759 Date: Thu Dec 18 21:57:19 2008 +0000
31761 [trace] Remove the forced switching to C locale
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!
31767 util/cairo-trace/cairo-trace.in | 4 ----
31768 1 file changed, 4 deletions(-)
31770 commit d0f41b92bf9a9ee313dde6f451b26fffb65a0906
31771 Author: Chris Wilson <chris@chris-wilson.co.uk>
31772 Date: Thu Dec 18 17:26:43 2008 +0000
31774 [trace] Do not force the output filename.
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.
31782 util/cairo-trace/cairo-trace.in | 25 ++++++-------------------
31783 1 file changed, 6 insertions(+), 19 deletions(-)
31785 commit 19e8c5c7f4a561f2454380c8f4098a832d716d28
31786 Author: Chris Wilson <chris@chris-wilson.co.uk>
31787 Date: Sat Dec 20 19:27:33 2008 +0000
31789 [test] Fix mismatched free.
31791 A couple of strings allocated using glib functions but freed with system
31794 Reported: http://bugs.freedesktop.org/show_bug.cgi?id=19210.
31796 test/pdf2png.c | 4 ++--
31797 1 file changed, 2 insertions(+), 2 deletions(-)
31799 commit 6662eede2af2da50bff1902e694204c69e84f036
31800 Author: Chris Wilson <chris@chris-wilson.co.uk>
31801 Date: Sat Dec 20 19:14:23 2008 +0000
31803 [perf] Fix errors reported by cppcheck
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.
31809 perf/cairo-perf-graph-files.c | 2 +-
31810 perf/cairo-perf-report.c | 7 ++++---
31811 2 files changed, 5 insertions(+), 4 deletions(-)
31813 commit 8419c4f124c6ffa75b44901dccab33df8bb6287a
31814 Author: Chris Wilson <chris@chris-wilson.co.uk>
31815 Date: Sat Dec 20 15:34:41 2008 +0000
31817 [perf] Correct another reference to '<cairo>'
31819 I think that's the last use of the old internal name for twin!
31822 1 file changed, 1 insertion(+), 1 deletion(-)
31824 commit 14d94d9354170003ec15847873a273c1752cf9f2
31825 Author: Behdad Esfahbod <behdad@behdad.org>
31826 Date: Fri Jan 2 02:56:38 2009 -0500
31828 Fix various README typos
31831 src/README | 4 ++--
31832 util/README | 6 ++++++
31833 3 files changed, 9 insertions(+), 3 deletions(-)
31835 commit 28a72648ba7abe02ebd4df7234424e333b85dc9c
31836 Author: Behdad Esfahbod <behdad@behdad.org>
31837 Date: Tue Dec 30 13:48:47 2008 -0500
31839 [gstate] Change the glyph dropping safety margin from 2em to 10em
31841 The small margin caused bugs with math fonts. See:
31842 https://bugzilla.mozilla.org/show_bug.cgi?id=460023
31844 src/cairo-gstate.c | 10 +++++-----
31845 1 file changed, 5 insertions(+), 5 deletions(-)
31847 commit fa63c43532de4a38d59d2746c34c815d18121062
31848 Author: Chris Wilson <chris@chris-wilson.co.uk>
31849 Date: Mon Dec 29 16:11:29 2008 +0000
31851 [spline] Be pedantic and propagate errors.
31853 We know that the current users will always return SUCCESS, but propagate
31854 the status return for future users.
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(-)
31862 commit 7df082dd8aaa9d31479a8bb1f6f1dfe07f52019a
31863 Author: Chris Wilson <chris@chris-wilson.co.uk>
31864 Date: Mon Dec 29 16:06:36 2008 +0000
31866 [test] Update twin reference images
31868 Subsequent to recent tweaks, update the reference images for twin.
31870 test/Makefile.am | 6 ++----
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(-)
31886 commit e10af38799eb77f1a7b5f75e76c733353c7b8622
31887 Author: Chris Wilson <chris@chris-wilson.co.uk>
31888 Date: Mon Dec 29 12:54:13 2008 +0000
31890 make "make check" happy again
31892 Add the missing scoping that caused check-plt to complain.
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(-)
31900 commit 010085622674bd02098742f401409da8e7c1b1dc
31901 Author: Chris Wilson <chris@chris-wilson.co.uk>
31902 Date: Mon Dec 29 12:45:13 2008 +0000
31904 [path] Remove tolerance from path bounders
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.
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(-)
31917 commit 84b81388bef4a2f300580081415fe09947edb96e
31918 Author: Chris Wilson <chris@chris-wilson.co.uk>
31919 Date: Mon Dec 29 12:16:53 2008 +0000
31921 [test] Draw spline bbox
31923 Add the stroked extents to the spline-decomposition test.
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(-)
31937 commit efb17160904eda8fdb21fa1fd10a09081cf5cb3e
31938 Author: Behdad Esfahbod <behdad@behdad.org>
31939 Date: Sun Dec 28 16:06:27 2008 -0500
31941 [_cairo_spline_bound] Protect against b == 0
31943 src/cairo-spline.c | 8 +++++---
31944 1 file changed, 5 insertions(+), 3 deletions(-)
31946 commit 0b59e29004bb19eb9bd458bbe6a48a7c367f72d0
31947 Author: Behdad Esfahbod <behdad@behdad.org>
31948 Date: Sun Dec 28 02:49:39 2008 -0500
31950 [_cairo_spline_bound] Simplify condition
31952 src/cairo-spline.c | 14 +++++++++-----
31953 1 file changed, 9 insertions(+), 5 deletions(-)
31955 commit 3bf1b7d574620b1ab3c1fa50977a23d36ab04a40
31956 Author: Behdad Esfahbod <behdad@behdad.org>
31957 Date: Sun Dec 28 02:41:39 2008 -0500
31959 [_cairo_spline_bound] Fix the check for feasible solutions
31961 Also make it more strict. The only times we call sqrt now is
31962 when a solution in (0,1) exists.
31964 src/cairo-spline.c | 9 ++++++---
31965 1 file changed, 6 insertions(+), 3 deletions(-)
31967 commit 7f840d156c1212eeb0fddad4b4a6844a9c070bd5
31968 Author: Behdad Esfahbod <behdad@behdad.org>
31969 Date: Sun Dec 28 02:02:30 2008 -0500
31971 [spline] Save a couple more muls
31973 src/cairo-spline.c | 26 +++++++++++++-------------
31974 1 file changed, 13 insertions(+), 13 deletions(-)
31976 commit 3292f9906b3637564c37863dde5d214b0fee2885
31977 Author: Behdad Esfahbod <behdad@behdad.org>
31978 Date: Sun Dec 28 01:59:12 2008 -0500
31980 [spline] Do some checks to avoid calling sqrt() if no feasible solution exists
31982 src/cairo-spline.c | 27 ++++++++++++++++++++-------
31983 1 file changed, 20 insertions(+), 7 deletions(-)
31985 commit efe4d2ce99e65f9841951d3ff3e0536973bfb12c
31986 Author: Behdad Esfahbod <behdad@behdad.org>
31987 Date: Sun Dec 28 01:22:40 2008 -0500
31989 [spline] Simplify code
31991 src/cairo-spline.c | 19 +++++++++----------
31992 1 file changed, 9 insertions(+), 10 deletions(-)
31994 commit 8672178bf6c7f3a38e11e224f1d484b1f0c7fd7b
31995 Author: Behdad Esfahbod <behdad@behdad.org>
31996 Date: Sun Dec 28 01:20:37 2008 -0500
31998 [spline] Remove duplicated code by using a macro
32000 src/cairo-spline.c | 50 +++++++++++++++++++++-----------------------------
32001 1 file changed, 21 insertions(+), 29 deletions(-)
32003 commit ef0f6c3ca311c41c9062e1298b020eae1212984e
32004 Author: Behdad Esfahbod <behdad@behdad.org>
32005 Date: Sat Dec 27 23:13:45 2008 -0500
32007 [spline] Add an analytical bounder for splines
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.
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
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(-)
32024 commit f2f62c7c4402a28a65c8171238d163af6b2fb95a
32025 Author: Behdad Esfahbod <behdad@behdad.org>
32026 Date: Fri Dec 26 20:28:54 2008 -0500
32028 [twin] Micro-optimize
32030 src/cairo-font-face-twin.c | 2 +-
32031 1 file changed, 1 insertion(+), 1 deletion(-)
32033 commit 50bc2bc0170be2a9c84ae3064525b18190e22b48
32034 Author: Chris Wilson <chris@chris-wilson.co.uk>
32035 Date: Sat Dec 27 11:46:24 2008 +0000
32037 [path] Simply track the current point for bounds.
32039 The idea is to track always update the current point, but not add it
32042 src/cairo-path-bounds.c | 25 +++++++++++--------------
32043 1 file changed, 11 insertions(+), 14 deletions(-)
32045 commit 078ebb01ba0b99ab4973ba479fe438f0674aa102
32046 Author: Chris Wilson <chris@chris-wilson.co.uk>
32047 Date: Sat Dec 27 11:29:15 2008 +0000
32049 [path] Initialise spline from current point
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
32055 Fixes: Bug 19256 Gnome Foot in gnome-games rendered incorrectly
32056 (https://bugs.freedesktop.org/show_bug.cgi?id=19256)
32058 src/cairo-path-bounds.c | 4 +++-
32059 1 file changed, 3 insertions(+), 1 deletion(-)
32061 commit 4320ea68875cc015dfecdf5ed40195e276efca07
32062 Author: Chris Wilson <chris@chris-wilson.co.uk>
32063 Date: Fri Dec 26 00:01:01 2008 +0000
32065 [trace] Fix up positional arguments
32067 James Cloos pointed out that the correct form to use is "$@" when
32068 executing the command line.
32070 util/cairo-trace/cairo-trace.in | 6 +++---
32071 1 file changed, 3 insertions(+), 3 deletions(-)
32073 commit e76a676c8f3d6dc9199cf0bc0856af0c659f4a16
32074 Author: Chris Wilson <chris@chris-wilson.co.uk>
32075 Date: Thu Dec 25 09:51:51 2008 +0000
32077 [twin] Trivial spelling correction.
32079 This ain't no decadent descendent of the Hershey font...
32081 src/cairo-font-face-twin.c | 2 +-
32082 1 file changed, 1 insertion(+), 1 deletion(-)
32084 commit 9332c0a8eaf266e99555df9ad7769f8b5804cbfd
32085 Author: Behdad Esfahbod <behdad@behdad.org>
32086 Date: Fri Dec 26 16:38:04 2008 -0500
32088 [util] Add waterfall
32090 util/Makefile.am | 3 +-
32091 util/waterfall | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
32092 2 files changed, 99 insertions(+), 1 deletion(-)
32094 commit ab1febbf22a641feb2fda4b21156b2bd45df039b
32095 Author: Behdad Esfahbod <behdad@behdad.org>
32096 Date: Fri Dec 26 16:35:33 2008 -0500
32098 [twin] Resnap margin under monospace
32100 src/cairo-font-face-twin.c | 14 +++++++++++++-
32101 1 file changed, 13 insertions(+), 1 deletion(-)
32103 commit 3c91d9f5a2a290653a56242eed6acae4f16e99e3
32104 Author: Behdad Esfahbod <behdad@behdad.org>
32105 Date: Fri Dec 26 16:30:01 2008 -0500
32107 [twin] Adjust margins
32109 src/cairo-font-face-twin.c | 114 +++++++++++++++++++++++++++-----------------
32110 1 file changed, 70 insertions(+), 44 deletions(-)
32112 commit 0b5c60bae1fb0924bbd43daab38932052e10b3be
32113 Author: Behdad Esfahbod <behdad@behdad.org>
32114 Date: Fri Dec 26 15:48:46 2008 -0500
32116 [twin] Clean up hinting
32118 src/cairo-font-face-twin.c | 89 +++++++++++++++++++++-----------------------
32119 1 file changed, 42 insertions(+), 47 deletions(-)
32121 commit 6e7a2c4ce32ddfb0e58a74fcba8c4e46e46d32a4
32122 Author: Behdad Esfahbod <behdad@behdad.org>
32123 Date: Fri Dec 26 15:34:50 2008 -0500
32125 [twin] Fix monospace for narrow glyphs
32127 src/cairo-font-face-twin.c | 23 ++++++++++++++---------
32128 1 file changed, 14 insertions(+), 9 deletions(-)
32130 commit e8e6ae1294f11addcbc8a95db471bb48a50b0b1a
32131 Author: Behdad Esfahbod <behdad@behdad.org>
32132 Date: Fri Dec 26 15:15:15 2008 -0500
32134 [twin] Cache pen and other properties on the scaled font
32136 src/cairo-font-face-twin.c | 170 ++++++++++++++++++++++++++------------------
32137 1 file changed, 101 insertions(+), 69 deletions(-)
32139 commit e133cc14469e8ebb8311bf8db206147f6b07786d
32140 Author: Behdad Esfahbod <behdad@behdad.org>
32141 Date: Fri Dec 26 14:56:32 2008 -0500
32143 [twin] Don't stretch pen
32145 src/cairo-font-face-twin.c | 11 +++++------
32146 1 file changed, 5 insertions(+), 6 deletions(-)
32148 commit dec4d791f4cc626d1fa52d68518f787210240812
32149 Author: Behdad Esfahbod <behdad@behdad.org>
32150 Date: Fri Dec 26 14:24:08 2008 -0500
32152 [twin] Minor shuffling
32154 src/cairo-font-face-twin.c | 142 +++++++++++++++++++++++++-------------------
32155 1 file changed, 81 insertions(+), 61 deletions(-)
32157 commit c3de08ee2fcfb0e092f0299e249b0f5fe56b87bf
32158 Author: Behdad Esfahbod <behdad@behdad.org>
32159 Date: Fri Dec 26 14:11:52 2008 -0500
32161 [twin] Further reduce weight
32163 src/cairo-font-face-twin.c | 2 +-
32164 1 file changed, 1 insertion(+), 1 deletion(-)
32166 commit 5c201ef5cfdfdd4e19db7e0995b85fbb3f2e6090
32167 Author: Behdad Esfahbod <behdad@behdad.org>
32168 Date: Fri Dec 26 00:05:19 2008 -0500
32170 [scaled-font] Make cairo_debug_reset_static_data() work again
32172 I broke it in a5983929f8f07f384f78e0b604e22037cf5ed716
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(-)
32179 commit 730ed68ec1ac10dcb9c7c69759f72fcaa3ea82e5
32180 Author: Behdad Esfahbod <behdad@behdad.org>
32181 Date: Thu Dec 25 23:29:02 2008 -0500
32183 [pattern] Fix comment typo
32185 src/cairo-pattern.c | 2 +-
32186 1 file changed, 1 insertion(+), 1 deletion(-)
32188 commit a5f4a97aa4122d8c4b8f31053d421a52c356e270
32189 Author: Behdad Esfahbod <behdad@behdad.org>
32190 Date: Thu Dec 25 02:48:26 2008 -0500
32192 [twin] Don't hint pen if hint-style is SLIGHT
32194 src/cairo-font-face-twin.c | 4 ++--
32195 1 file changed, 2 insertions(+), 2 deletions(-)
32197 commit 0c7eaf6e0a2c2f0db634f8120fcbc03f7e8fd751
32198 Author: Behdad Esfahbod <behdad@behdad.org>
32199 Date: Thu Dec 25 02:44:19 2008 -0500
32201 [twin] Improve glyph hints
32203 src/cairo-font-face-twin-data.c | 202 ++++++++++++++++++++++-----------------
32204 1 file changed, 116 insertions(+), 86 deletions(-)
32206 commit e6205ea5a38c9de4c08b313a1beb70d4a38b0676
32207 Author: Behdad Esfahbod <behdad@behdad.org>
32208 Date: Thu Dec 25 02:10:16 2008 -0500
32210 [twin] Improve hinting
32212 src/cairo-font-face-twin.c | 90 ++++++++++++++++++--------------------------
32213 1 file changed, 36 insertions(+), 54 deletions(-)
32215 commit da8658b67510daaefd542b80e6a997bbdfd82d44
32216 Author: Behdad Esfahbod <behdad@behdad.org>
32217 Date: Thu Dec 25 01:35:36 2008 -0500
32221 src/cairo-font-face-twin-data.c | 24 ++++++++++++------------
32222 1 file changed, 12 insertions(+), 12 deletions(-)
32224 commit f4c81e18f85c6a68d682301abfd75e7c208c1e1a
32225 Author: Behdad Esfahbod <behdad@behdad.org>
32226 Date: Thu Dec 25 01:29:41 2008 -0500
32228 [twin] Disable pen hinting if hinting is off
32230 src/cairo-font-face-twin.c | 27 +++++++++++++++++++--------
32231 1 file changed, 19 insertions(+), 8 deletions(-)
32233 commit af91fc1974ce2dfbaab187e22769cdfb9e6279d9
32234 Author: Behdad Esfahbod <behdad@behdad.org>
32235 Date: Thu Dec 25 01:24:46 2008 -0500
32237 [twin] Optimize hinting
32239 src/cairo-font-face-twin.c | 7 +------
32240 1 file changed, 1 insertion(+), 6 deletions(-)
32242 commit 439959d1af1f6c4ce174a3fee524eacfc18a00bd
32243 Author: Behdad Esfahbod <behdad@behdad.org>
32244 Date: Thu Dec 25 01:06:47 2008 -0500
32246 [twin] Implement hinting
32248 src/cairo-font-face-twin.c | 148 ++++++++++++++++++++++++++++++++++++++------
32249 1 file changed, 129 insertions(+), 19 deletions(-)
32251 commit 9f9f5317dca6a9988a0a62aaa60393570157af63
32252 Author: Behdad Esfahbod <behdad@behdad.org>
32253 Date: Wed Dec 24 22:29:59 2008 -0500
32257 util/cairo-view | 2 +-
32258 1 file changed, 1 insertion(+), 1 deletion(-)
32260 commit 8296bc74c8687a2f52e06174e9dc70d32d1181c8
32261 Author: Behdad Esfahbod <behdad@behdad.org>
32262 Date: Wed Dec 24 18:00:04 2008 -0500
32264 [twin] Reduce the weight just a bit, such that bold doesn't look as bad
32266 src/cairo-font-face-twin.c | 2 +-
32267 1 file changed, 1 insertion(+), 1 deletion(-)
32269 commit b2f89625453e2a15da175ea5b4ca5af6c2201d96
32270 Author: Behdad Esfahbod <behdad@behdad.org>
32271 Date: Wed Dec 24 17:29:21 2008 -0500
32273 [twin] Adjust baseline
32275 src/cairo-font-face-twin.c | 11 ++++-------
32276 1 file changed, 4 insertions(+), 7 deletions(-)
32278 commit f980d017d2360634f391eb1129317446bfe42cc9
32279 Author: Behdad Esfahbod <behdad@behdad.org>
32280 Date: Wed Dec 24 17:00:43 2008 -0500
32282 [twin] Remove serif setting
32284 I don't think I'm going to implement serif-drawing soon, so, remove the
32285 infrastructure. Can always be added back later.
32287 src/cairo-font-face-twin.c | 21 ++-------------------
32288 1 file changed, 2 insertions(+), 19 deletions(-)
32290 commit 1116febb40cb5e5f7eafe97999d1143347819b3f
32291 Author: Behdad Esfahbod <behdad@behdad.org>
32292 Date: Wed Dec 24 16:32:25 2008 -0500
32294 [twin] Implement small-caps
32296 src/cairo-font-face-twin.c | 27 ++++++++++++++++-----------
32297 1 file changed, 16 insertions(+), 11 deletions(-)
32299 commit 6767673961401c7ab7b92eb8dfbb345efb560741
32300 Author: Behdad Esfahbod <behdad@behdad.org>
32301 Date: Wed Dec 24 16:13:12 2008 -0500
32303 [twin] Implement stretch
32305 src/cairo-font-face-twin.c | 27 +++++++++++++++++++++------
32306 1 file changed, 21 insertions(+), 6 deletions(-)
32308 commit 0656e947f11356877014df93bd083123c7313dc3
32309 Author: Behdad Esfahbod <behdad@behdad.org>
32310 Date: Wed Dec 24 15:43:17 2008 -0500
32312 [twin] Implement slant
32314 src/cairo-font-face-twin.c | 11 +++++++++--
32315 1 file changed, 9 insertions(+), 2 deletions(-)
32317 commit 9d493fcd16fb770f21fa732b08834f3a435fe1f2
32318 Author: Behdad Esfahbod <behdad@behdad.org>
32319 Date: Wed Dec 24 15:36:57 2008 -0500
32321 [twin] Disable the serif mode
32323 src/cairo-font-face-twin.c | 8 ++++----
32324 1 file changed, 4 insertions(+), 4 deletions(-)
32326 commit 6c1d21bf8947f5b11702626ddfd9bac18073188d
32327 Author: Behdad Esfahbod <behdad@behdad.org>
32328 Date: Wed Dec 24 03:47:21 2008 -0500
32330 [twin] Implement monospace
32332 src/cairo-font-face-twin.c | 30 +++++++++++++++++++++++-------
32333 1 file changed, 23 insertions(+), 7 deletions(-)
32335 commit 5def8c587b2b897bfebc6d77a6a3e13355cae2f2
32336 Author: Behdad Esfahbod <behdad@behdad.org>
32337 Date: Wed Dec 24 03:45:06 2008 -0500
32341 src/cairo-font-face-twin-data.c | 54 ++++++++++++++++++++++++---------------
32342 1 file changed, 33 insertions(+), 21 deletions(-)
32344 commit a303bbaea332df20b81f068366d701d66913c043
32345 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
32346 Date: Tue Dec 23 16:12:56 2008 -0500
32348 [font-face-get-type] Fix test to cleanup the surface and context properly
32350 Destroy the context and the surface even when the test fails.
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...
32356 test/font-face-get-type.c | 10 +++++++---
32357 1 file changed, 7 insertions(+), 3 deletions(-)
32359 commit 52cc31a7fa6570e538762631359a92e7b717710e
32360 Author: Behdad Esfahbod <behdad@behdad.org>
32361 Date: Tue Dec 23 13:48:52 2008 -0500
32363 [util] Add cairo-view
32365 util/Makefile.am | 3 +-
32366 util/cairo-view | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
32367 2 files changed, 115 insertions(+), 1 deletion(-)
32369 commit 418c7ef133840c10eb0be7e75c7dd11533fbe897
32370 Author: Behdad Esfahbod <behdad@behdad.org>
32371 Date: Tue Dec 23 02:39:17 2008 -0500
32373 [twin] Adjust font extents
32375 src/cairo-font-face-twin.c | 8 ++++----
32376 1 file changed, 4 insertions(+), 4 deletions(-)
32378 commit 96e41c28e980f313c51a0eed81681e7e48752797
32379 Author: Behdad Esfahbod <behdad@behdad.org>
32380 Date: Sat Dec 20 23:30:59 2008 -0500
32382 [twin] Minor cleanup
32384 src/cairo-font-face-twin.c | 11 +++++++----
32385 1 file changed, 7 insertions(+), 4 deletions(-)
32387 commit 556f6ce364d81f9309162d21deb86a3d5b8b9a6e
32388 Author: Behdad Esfahbod <behdad@behdad.org>
32389 Date: Sat Dec 20 23:16:53 2008 -0500
32391 [twin] close_path the Q
32393 src/cairo-font-face-twin-data.c | 2 +-
32394 1 file changed, 1 insertion(+), 1 deletion(-)
32396 commit 6929ed800d19f359af7436636e8adc6203083a10
32397 Author: Behdad Esfahbod <behdad@behdad.org>
32398 Date: Sat Dec 20 20:25:01 2008 -0500
32400 [twin] Fix serif option parsing. Also make serif and weight do something
32402 src/cairo-font-face-twin.c | 20 ++++++++++++++++----
32403 1 file changed, 16 insertions(+), 4 deletions(-)
32405 commit d423339fcef3c41225196c4371fb2c133ca61144
32406 Author: Behdad Esfahbod <behdad@behdad.org>
32407 Date: Sat Dec 20 19:39:58 2008 -0500
32409 [twin] Add face properties
32411 Just parse them now. We don't use them yet.
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(-)
32418 commit 93672d842f2b2c840bb9e73901faa4ce5df9c792
32419 Author: Chris Wilson <chris@chris-wilson.co.uk>
32420 Date: Tue Dec 23 15:00:47 2008 +0000
32422 [test] Fix reference handling in user-font-rescale
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.
32429 test/user-font-rescale.c | 4 +++-
32430 1 file changed, 3 insertions(+), 1 deletion(-)
32432 commit 5ad65dc4be5964265946de59a951f2304d64159e
32433 Author: Adrian Johnson <ajohnson@redneon.com>
32434 Date: Tue Dec 23 14:56:48 2008 +1030
32436 Document PDF restrict_to_version API
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(+)
32443 commit 1869e0240bcc93c93e8abd1c8f930cf08ca8ee24
32444 Author: Adrian Johnson <ajohnson@redneon.com>
32445 Date: Tue Dec 23 14:37:30 2008 +1030
32447 Document cairo_surface_(set|get)_mime_data() and mime types
32449 doc/public/cairo-sections.txt | 5 ++++
32450 doc/public/tmpl/cairo-surface.sgml | 50 ++++++++++++++++++++++++++++++++++--
32451 2 files changed, 53 insertions(+), 2 deletions(-)
32453 commit 1f894033f077731485e1228f7e071e75c37a9947
32454 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
32455 Date: Tue Dec 23 03:14:38 2008 +0200
32457 [spans] Close open subpaths when filling with a scan converter.
32459 As reported by Christian Persch, open subpaths weren't being
32460 closed when rendering to an image surface:
32462 http://bugs.freedesktop.org/show_bug.cgi?id=19240
32464 src/cairo-spans.c | 53 +++++++++++++++++++++++++++++++----------------------
32465 1 file changed, 31 insertions(+), 22 deletions(-)
32467 commit 0aa34c6435eaa260292cf10d270ebbf3314c7924
32468 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
32469 Date: Tue Dec 23 02:18:14 2008 +0200
32471 [svg] Fix build when building only the svg vector surface.
32473 The SVG vector surface pulls in font subsetting and that in turns
32474 uses the PDF operators in cairo-type3-glyph-surface.c.
32476 src/cairoint.h | 2 +-
32477 1 file changed, 1 insertion(+), 1 deletion(-)
32479 commit 38ec6e302cdd703447f169d95121d434c7495501
32480 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
32481 Date: Tue Dec 23 02:05:32 2008 +0200
32483 [test] Fix any2ppm build when building without the full complement of surfaces.
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.
32488 test/any2ppm.c | 2 ++
32489 1 file changed, 2 insertions(+)
32491 commit 6ce97907edfa8a7b09abfc090a9c03d235de2ada
32492 Author: Adrian Johnson <ajohnson@redneon.com>
32493 Date: Mon Dec 22 11:09:27 2008 +1030
32495 win32-font: truncate instead of fail if toy font name too long
32497 http://lists.cairographics.org/archives/cairo/2008-December/016109.html
32499 src/cairo-win32-font.c | 9 ++++-----
32500 1 file changed, 4 insertions(+), 5 deletions(-)
32502 commit d99583bae680fea852e957afdf674e2031aa7928
32503 Author: Adrian Johnson <ajohnson@redneon.com>
32504 Date: Sun Dec 21 17:03:17 2008 +1030
32506 Fix win32 font breakage
32508 as a result of the toy font face changes in f7ab65e9b0c0f08be8d294e90131baa2decf1f1d
32510 src/cairo-win32-font.c | 6 ++----
32511 1 file changed, 2 insertions(+), 4 deletions(-)
32513 commit a5983929f8f07f384f78e0b604e22037cf5ed716
32514 Author: Behdad Esfahbod <behdad@behdad.org>
32515 Date: Sat Dec 20 01:18:12 2008 -0500
32517 [toy-font-face] Move toy font face code in a file of its own
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(-)
32529 commit 8bf49b27aeea8179b5862a424fb3ef1934be6e0e
32530 Author: Behdad Esfahbod <behdad@behdad.org>
32531 Date: Fri Dec 19 20:46:36 2008 -0500
32533 [font-face] Use cairo_font_face_t instead of toy, for nil objects
32535 And with a NULL backend. We are not supposed to read the nil objects
32538 If this causes crashes, the crash site should be fixed.
32540 src/cairo-font-face.c | 55 +++++++++----------------------------------------
32541 src/cairoint.h | 2 +-
32542 2 files changed, 11 insertions(+), 46 deletions(-)
32544 commit e3675f8ac0acb285b2d669c0a44322623dac5fe9
32545 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
32546 Date: Fri Dec 19 08:50:26 2008 -0500
32548 Fix definition of _cairo_quartz_font_face_backend
32550 Removes the NULL so that _cairo_quartz_font_face_scaled_font_create
32551 is in the correct location.
32553 src/cairo-quartz-font.c | 1 -
32554 1 file changed, 1 deletion(-)
32556 commit fa7d96e1236cdfa0016f96e5c7b6bd209c405cba
32557 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
32558 Date: Fri Dec 19 08:47:07 2008 -0500
32560 Fix compilation of quartz surface.
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.
32565 src/cairo-quartz-font.c | 6 ++++--
32566 1 file changed, 4 insertions(+), 2 deletions(-)
32568 commit f8886ad1b30ec9c29ec5ac3e9cd5519dbc9e7b65
32569 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
32570 Date: Thu Dec 18 20:50:20 2008 -0500
32572 [scaled-font-zero-matrix] Destrory scaled font and font options
32576 test/scaled-font-zero-matrix.c | 2 ++
32577 1 file changed, 2 insertions(+)
32579 commit 4567692326daf592ab432670c6d33b49f940dd35
32580 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
32581 Date: Thu Dec 18 18:03:40 2008 -0500
32583 Add test creating a scaled font with a zero ctm matrix
32585 test/Makefile.am | 1 +
32586 test/scaled-font-zero-matrix.c | 59 ++++++++++++++++++++++++++++++++++++++++
32587 2 files changed, 60 insertions(+)
32589 commit 18054ef00c69f62804e08734fd2c3286373b451f
32590 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
32591 Date: Thu Dec 18 18:01:52 2008 -0500
32593 [test] Quartz doesn't like being forked
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.
32600 test/cairo-test-runner.c | 12 ++++++++----
32601 1 file changed, 8 insertions(+), 4 deletions(-)
32603 commit b4e0d489bb0317fdd935ad2d29830e48b5ce4f6c
32604 Merge: 813cbf1 f60da9a
32605 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
32606 Date: Thu Dec 18 17:25:17 2008 -0500
32612 build/Makefile.am.changelog
32616 commit f60da9a379890a3a4cd74cdad48e73c22cb74160
32617 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
32618 Date: Thu Dec 18 17:07:25 2008 -0500
32620 Fix _compute_transform to check for nearly degenerate matrices
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.
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.
32631 This problem was found by a test case attached to:
32632 https://bugzilla.mozilla.org/show_bug.cgi?id=467423
32634 src/cairo-win32-font.c | 6 ++++--
32635 1 file changed, 4 insertions(+), 2 deletions(-)
32637 commit 813cbf13ddbd3d4b708b3b362dd6c108966f44d5
32638 Author: Chris Wilson <chris@chris-wilson.co.uk>
32639 Date: Thu Dec 18 14:52:03 2008 +0000
32641 [path] Separate the approx. bounds into 3 distinct functions
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
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(-)
32658 commit dea40e61babe608315b6d365094cf518814b134e
32659 Author: Chris Wilson <chris@chris-wilson.co.uk>
32660 Date: Thu Dec 18 11:50:00 2008 +0000
32662 [path] Return the fixed-point bounds of the path
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.
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(-)
32679 commit 3a53e0261b1b5af21bf37e2a211eefd501bd5358
32680 Author: Chris Wilson <chris@chris-wilson.co.uk>
32681 Date: Thu Dec 18 11:10:17 2008 +0000
32683 [test] Update twin reference images.
32685 Closing the 'o' in twin has removed a slight artefact - update the reference
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(-)
32692 commit c2478de26cc1781b8f8604191a9f75ad29eac746
32693 Author: Chris Wilson <chris@chris-wilson.co.uk>
32694 Date: Thu Dec 18 10:50:45 2008 +0000
32696 [twin] Switch internal users to the new name.
32700 doc/tutorial/src/twin.c | 2 +-
32702 2 files changed, 2 insertions(+), 2 deletions(-)
32704 commit 3424b5f8c8cb1f2ef16b9e8429e64f720106f4d8
32705 Author: Chris Wilson <chris@chris-wilson.co.uk>
32706 Date: Thu Dec 18 10:47:44 2008 +0000
32708 [scaled-font] Make check-doc happy
32710 Replace a structure marker '#' with a macro marker '%'.
32712 src/cairo-scaled-font.c | 4 ++--
32713 1 file changed, 2 insertions(+), 2 deletions(-)
32715 commit 449bf0bb7bff38da1c5d0286cb4f22c858bcc3a9
32716 Author: Chris Wilson <chris@chris-wilson.co.uk>
32717 Date: Thu Dec 18 10:45:22 2008 +0000
32719 [script] Silence incorrect compiler warnings
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!
32725 util/cairo-script/cairo-script-operators.c | 38 ++++++++++++++--------------
32726 1 file changed, 19 insertions(+), 19 deletions(-)
32728 commit ce0b136a441382b25d0932cd66a906a30a693365
32729 Author: Chris Wilson <chris@chris-wilson.co.uk>
32730 Date: Wed Dec 17 20:34:45 2008 +0000
32732 Query the backend to see if we can repaint the solid pattern.
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.
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(-)
32751 commit 0df43251d4b4641d16c0a2e2c49d18dd2a9c832e
32752 Author: Chris Wilson <chris@chris-wilson.co.uk>
32753 Date: Wed Dec 17 23:45:39 2008 +0000
32755 [replay] Take advantage of unresolved fonts
32757 As Behdad has changed the underlying ft-font to accept unresolved patterns,
32758 take advantage of that to simplify the replay code.
32760 util/cairo-script/cairo-script-operators.c | 16 ++--------------
32761 1 file changed, 2 insertions(+), 14 deletions(-)
32763 commit 97a00bdd4eefade8d0808b5572bcdbba26c9c8f3
32764 Author: Chris Wilson <chris@chris-wilson.co.uk>
32765 Date: Wed Dec 17 17:32:07 2008 +0000
32767 [cairoint.h] Wrap macro in parenthesis
32769 Ensure that the stride calculation macro is not influenced by surrounding
32770 precedence issues by enclosing it in a pair of parenthesis.
32772 src/cairoint.h | 2 +-
32773 1 file changed, 1 insertion(+), 1 deletion(-)
32775 commit aa65e756d496f4c3a8b43d2100e17dc39c2c26b7
32776 Author: Chris Wilson <chris@chris-wilson.co.uk>
32777 Date: Fri Dec 5 11:21:11 2008 +0000
32779 [script] Avoid creating 0x0 windows
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.
32784 util/cairo-script/csi-replay.c | 6 ++++--
32785 1 file changed, 4 insertions(+), 2 deletions(-)
32787 commit 6458903c95c2bba3f1b9ceaaafb6979d180ab039
32788 Author: Chris Wilson <chris@chris-wilson.co.uk>
32789 Date: Wed Dec 17 10:07:32 2008 +0000
32791 [image] Eliminate the short-lived context used for coercing.
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.
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(-)
32804 commit 9b46d13b6cd58c711010df89a41b216c5cc8c881
32805 Author: Chris Wilson <chris@chris-wilson.co.uk>
32806 Date: Wed Dec 17 23:52:32 2008 +0000
32808 [trace] Runtime version check.
32810 Check that the application is using cairo >= 1.9 before attempting to
32811 query the mime-data.
32813 util/cairo-trace/trace.c | 47 ++++++++++++++++++++++++----------------------
32814 1 file changed, 25 insertions(+), 22 deletions(-)
32816 commit 2d790daa957471670f4ae0d3b22da89e4ee7111f
32817 Author: Chris Wilson <chris@chris-wilson.co.uk>
32818 Date: Thu Dec 18 00:47:08 2008 +0000
32820 [pattern] Use a solid pattern for a uniform gradient.
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.
32825 src/cairo-pattern.c | 54 +++++++++++++++++++++++++++++++++++++--------------
32826 1 file changed, 39 insertions(+), 15 deletions(-)
32828 commit 25a4677200ea6689be0dca9d533842dc7da54837
32829 Author: Chris Wilson <chris@chris-wilson.co.uk>
32830 Date: Wed Dec 17 09:29:35 2008 +0000
32832 [analysis] Use approximate extents.
32834 Use the approximate path based extents to avoid tessellation.
32836 src/cairo-analysis-surface.c | 54 +++++++++++++-----------------------------
32837 1 file changed, 17 insertions(+), 37 deletions(-)
32839 commit 18bca91411e9ba6e1e58dbc945a0567d2661568f
32840 Author: Behdad Esfahbod <behdad@behdad.org>
32841 Date: Thu Dec 18 02:12:14 2008 -0500
32843 [twin] close_path the 'o'
32845 src/cairo-font-face-twin-data.c | 2 +-
32846 1 file changed, 1 insertion(+), 1 deletion(-)
32848 commit 5ee6aad471d460f960a5e7a5a8e35aca0f0af60e
32849 Author: Behdad Esfahbod <behdad@behdad.org>
32850 Date: Wed Dec 17 18:05:51 2008 -0500
32852 [toy] Use twin font if font backend returns UNSUPPORTED
32854 src/cairo-font-face.c | 19 ++++++++-----------
32855 1 file changed, 8 insertions(+), 11 deletions(-)
32857 commit eb069094ea4471b3e63881fe0f8b958ad8924c7d
32858 Author: Behdad Esfahbod <behdad@behdad.org>
32859 Date: Wed Dec 17 17:30:34 2008 -0500
32861 Treat any toy family starting with "@cairo:" as request for twin
32863 src/cairo-font-face.c | 3 ++-
32864 src/cairoint.h | 2 +-
32865 2 files changed, 3 insertions(+), 2 deletions(-)
32867 commit 32c66109059398e88f50335bef75fa8c0e51c4c8
32868 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
32869 Date: Wed Dec 17 17:43:37 2008 -0500
32871 Call _cairo_error when propagating error status from the font_face.
32873 src/cairo-gstate.c | 2 +-
32874 1 file changed, 1 insertion(+), 1 deletion(-)
32876 commit 1d72e53c3e99f93aa59967c76f1b1b4c035b9130
32877 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
32878 Date: Wed Dec 17 17:42:18 2008 -0500
32880 Add a missing _cairo_error() to a bunch of status returns.
32882 src/cairo-misc.c | 4 ++--
32883 src/cairo-scaled-font.c | 14 +++++++-------
32885 3 files changed, 10 insertions(+), 10 deletions(-)
32887 commit af3a892c3ef6a7c1d28d523944bbb67e59edc1de
32888 Author: Behdad Esfahbod <behdad@behdad.org>
32889 Date: Wed Dec 17 16:45:28 2008 -0500
32891 [ft] Remove stale comment
32893 src/cairo-ft-font.c | 4 ----
32894 1 file changed, 4 deletions(-)
32896 commit 0137b9bd320783264d865a397392b0ee14fd69b3
32897 Author: Karl Tomlinson <karlt+@karlt.net>
32898 Date: Wed Dec 17 16:40:12 2008 -0500
32900 [ft] Don't call FT_Done_Face() on faces we did not create
32902 src/cairo-ft-font.c | 2 +-
32903 1 file changed, 1 insertion(+), 1 deletion(-)
32905 commit e4d7c87b5e449a743a68dd256faaa3242f191a44
32906 Author: Karl Tomlinson <karlt+@karlt.net>
32907 Date: Wed Dec 17 16:40:12 2008 -0500
32909 [ft] Don't call FT_Done_Face() on faces we did not create
32911 src/cairo-ft-font.c | 2 +-
32912 1 file changed, 1 insertion(+), 1 deletion(-)
32914 commit 6778a5f67ae2e35e809cf4464530e2bb05870378
32915 Author: Behdad Esfahbod <behdad@behdad.org>
32916 Date: Wed Dec 17 16:19:45 2008 -0500
32918 [.gitignore] Update
32920 build/.gitignore | 2 ++
32921 src/.gitignore | 1 +
32922 2 files changed, 3 insertions(+)
32924 commit 26f471999973c538e45db0ae9f0227fbe5dedf24
32925 Author: Behdad Esfahbod <behdad@behdad.org>
32926 Date: Wed Dec 17 16:08:32 2008 -0500
32928 [scaled-font] Improve docs
32930 src/cairo-scaled-font.c | 8 +++++++-
32931 1 file changed, 7 insertions(+), 1 deletion(-)
32933 commit f7ab65e9b0c0f08be8d294e90131baa2decf1f1d
32934 Author: Behdad Esfahbod <behdad@behdad.org>
32935 Date: Wed Dec 17 06:25:50 2008 -0500
32937 Clean up toy font face handling
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.
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.
32951 Some testing of toy font creation performance is in order, as is testing
32952 win32 and quartz font backends.
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(-)
32963 commit 43edb4dd7b8d0614a6c2be15dfa72f980dd55f1d
32964 Author: Chris Wilson <chris@chris-wilson.co.uk>
32965 Date: Fri Dec 12 18:10:58 2008 +0000
32967 Fix compilation with gcov
32969 We need to add --coverage to LDFLAGS, so create CAIRO_LDFLAGS and use that
32970 to populate AM_LDFLAGS.
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(-)
32979 commit bcea3151d66495f03d67ce71274203d0515caf4c
32980 Author: Chris Wilson <chris@chris-wilson.co.uk>
32981 Date: Fri Dec 12 14:08:11 2008 +0000
32983 [test] Add missing joins.ref.png
32985 Missed this file when adding the reference images for joins.
32987 test/joins.ref.png | Bin 0 -> 5879 bytes
32988 1 file changed, 0 insertions(+), 0 deletions(-)
32990 commit 8cec548854d86dac8f0c99e99461421c8ad653b1
32991 Author: Chris Wilson <chris@chris-wilson.co.uk>
32992 Date: Sun Dec 14 14:06:07 2008 +0000
32994 [NEWS] Add notes for 1.8.6
32996 Add the historical blurb for 1.8.6.
32998 NEWS | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
32999 1 file changed, 49 insertions(+)
33001 commit 0a1d194ad85398c8711268fd9ba679f8609206a1
33002 Author: Chris Wilson <chris@chris-wilson.co.uk>
33003 Date: Sun Dec 14 14:53:27 2008 +0000
33005 [perf] Fix for git-1.6
33007 git-1.6 moved all the subcommands out of the PATH so update our usage.
33009 perf/cairo-perf-graph | 2 +-
33010 1 file changed, 1 insertion(+), 1 deletion(-)
33012 commit 1c2eba92c16207a48f9c8f52065fbf9a65d16fcd
33013 Author: Chris Wilson <chris@chris-wilson.co.uk>
33014 Date: Sun Dec 14 13:05:01 2008 +0000
33016 [RELEASING] Update Makefile for git-1.6
33018 Git moved all the subcommands out of the PATH, so we need to update our
33021 build/Makefile.am.changelog | 4 ++--
33022 build/Makefile.am.releasing | 4 ++--
33023 2 files changed, 4 insertions(+), 4 deletions(-)
33025 commit 2fa6b6353740b7941e90e50bf6b0eb5f06aa11b5
33026 Author: Chris Wilson <chris@chris-wilson.co.uk>
33027 Date: Sun Dec 14 11:40:12 2008 +0000
33029 [RELEASING] Correct a few minor typos.
33031 As I was reading through the instructions, take the opportunity to fix a
33032 few spelling mistakes.
33034 RELEASING | 10 +++++-----
33035 1 file changed, 5 insertions(+), 5 deletions(-)
33037 commit 1950abd14c28d58913c085d3829eb99a078cf2d1
33038 Author: Chris Wilson <chris@chris-wilson.co.uk>
33039 Date: Sun Dec 14 11:26:56 2008 +0000
33041 [doc] Fix erroneous doc comment.
33043 A normal comment was marked as a gtk-doc entry and thus causing gtk-doc to
33046 src/cairo-path-fixed.c | 2 +-
33047 1 file changed, 1 insertion(+), 1 deletion(-)
33049 commit 9485cd947f982ecd1e4f8d948786af3265d6eb74
33050 Author: Chris Wilson <chris@chris-wilson.co.uk>
33051 Date: Sun Dec 14 16:35:14 2008 +0000
33053 Increment version to 1.8.7 after the 1.8.6 release.
33055 cairo-version.h | 2 +-
33056 1 file changed, 1 insertion(+), 1 deletion(-)
33058 commit e2a2eddcfb8fc73f3decdb91c00e8e6d5282e09c
33059 Author: Chris Wilson <chris@chris-wilson.co.uk>
33060 Date: Sun Dec 14 14:07:11 2008 +0000
33062 Increment version to 1.8.6
33064 In preparation for the next stable release.
33066 cairo-version.h | 2 +-
33067 1 file changed, 1 insertion(+), 1 deletion(-)
33069 commit ef7c42a7d390064b2a5b08e14d5f65b8ea4628e3
33070 Author: Chris Wilson <chris@chris-wilson.co.uk>
33071 Date: Sun Dec 14 14:06:07 2008 +0000
33073 [NEWS] Add notes for 1.8.6
33075 Add the historical blurb for 1.8.6.
33077 NEWS | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
33078 1 file changed, 50 insertions(+)
33080 commit ce91e6ac360e1dbe57a4e729b68d84499603e9ae
33081 Author: Chris Wilson <chris@chris-wilson.co.uk>
33082 Date: Sun Dec 14 14:53:27 2008 +0000
33084 [perf] Fix for git-1.6
33086 git-1.6 moved all the subcommands out of the PATH so update our usage.
33088 perf/cairo-perf-graph | 2 +-
33089 1 file changed, 1 insertion(+), 1 deletion(-)
33091 commit f8372509aff662e9cbabeb99560b01019395c15e
33092 Author: Chris Wilson <chris@chris-wilson.co.uk>
33093 Date: Sun Dec 14 13:05:01 2008 +0000
33095 [RELEASING] Update Makefile for git-1.6
33097 Git moved all the subcommands out of the PATH, so we need to update our
33100 build/Makefile.am.changelog | 4 ++--
33101 build/Makefile.am.releasing | 4 ++--
33102 2 files changed, 4 insertions(+), 4 deletions(-)
33104 commit 9faa9a214994fe27a0cb27a298881f23c2050bbe
33105 Author: Chris Wilson <chris@chris-wilson.co.uk>
33106 Date: Sun Dec 14 11:40:12 2008 +0000
33108 [RELEASING] Correct a few minor typos.
33110 As I was reading through the instructions, take the opportunity to fix a
33111 few spelling mistakes.
33113 RELEASING | 10 +++++-----
33114 1 file changed, 5 insertions(+), 5 deletions(-)
33116 commit b1be4196513263bdbf58944ea6ac87708a399c5f
33117 Author: Chris Wilson <chris@chris-wilson.co.uk>
33118 Date: Sun Dec 14 11:26:56 2008 +0000
33120 [doc] Fix erroneous doc comment.
33122 A normal comment was marked as a gtk-doc entry and thus causing gtk-doc to
33125 src/cairo-path-fixed.c | 2 +-
33126 1 file changed, 1 insertion(+), 1 deletion(-)
33128 commit 79bd32a6ccb1a882ddd2b1585ab155f568bf5ec7
33129 Author: Chris Wilson <chris@chris-wilson.co.uk>
33130 Date: Sat Dec 6 13:32:37 2008 +0200
33132 [perf-diff] Fix cairo-perf-diff for git 1.6
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)
33139 perf/cairo-perf-diff | 2 +-
33140 1 file changed, 1 insertion(+), 1 deletion(-)
33142 commit 97b5240beeb9206f4dbda6ffce33b51aa16eec2f
33143 Author: Julien Danjou <julien@danjou.info>
33144 Date: Tue Nov 18 10:01:49 2008 +0100
33146 [xcb] check for render extension presence
33148 Otherwise this may leads to an invalid memory access to r.
33150 Fixes: Bug 18588 - XCB backend fails with missing render.
33151 https://bugs.freedesktop.org/show_bug.cgi?id=18588
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)
33158 src/cairo-xcb-surface.c | 8 ++++++--
33159 2 files changed, 7 insertions(+), 2 deletions(-)
33161 commit 6fed98c0d3b0708ad5171654179a482fa7d88805
33162 Author: Chris Wilson <chris@chris-wilson.co.uk>
33163 Date: Fri Dec 5 21:14:45 2008 +0000
33165 [gstate] Remove culled glyphs from clusters.
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.
33171 It transpires that in the early glyph culling in the gstate we were
33172 not updating the clusters to skip culled glyphs.
33174 src/cairo-gstate.c | 223 +++++++++++++++++++++++++++++++++++++++++-----------
33175 1 file changed, 176 insertions(+), 47 deletions(-)
33177 commit 2b7c6f361a3cfe309ff0bcb606b808acbf36aa0f
33178 Author: Chris Wilson <chris@chris-wilson.co.uk>
33179 Date: Wed Nov 26 12:33:12 2008 +0000
33181 [skiplist] Allocate elements in chunks.
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).
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(-)
33191 commit 903b39c30448d62e2cbf9d075c5256a333bd5d8f
33192 Author: Chris Wilson <chris@chris-wilson.co.uk>
33193 Date: Thu Dec 4 15:22:01 2008 +0000
33195 [test] Make the xlib-fallback use the image refs.
33197 The xlib-fallback is closer to the image than the xlib backend, so prefer
33198 not to use the xlib.ref.png.
33200 boilerplate/cairo-boilerplate.c | 2 +-
33201 1 file changed, 1 insertion(+), 1 deletion(-)
33203 commit 792057539bf814cc00447a0a53978e0af3efe270
33204 Author: Chris Wilson <chris@chris-wilson.co.uk>
33205 Date: Wed Dec 3 10:52:59 2008 +0000
33207 [test] Only delete output images beneath output.
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).
33213 test/Makefile.am | 7 +++----
33214 1 file changed, 3 insertions(+), 4 deletions(-)
33216 commit 913cbad25e08a07c05b8c2e6ddd3c343ca2462b2
33217 Author: Chris Wilson <chris@chris-wilson.co.uk>
33218 Date: Tue Dec 2 13:06:50 2008 +0000
33220 [test] Add a simple joins test case
33222 Exercise joins between short (<LINE_WIDTH) lines - used in debugging
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(+)
33230 commit 9f4f41de7d20ee46ee8ca06716cbc18e55cfcf86
33231 Author: Chris Wilson <chris@chris-wilson.co.uk>
33232 Date: Tue Dec 2 13:05:30 2008 +0000
33234 [tutorial] Correct twin font name
33236 We changed the name for the builtin font from "cairo" to "<cairo>" to
33237 reduce possible naming conflicts - update the tutorial to match.
33239 doc/tutorial/src/twin.c | 2 +-
33240 1 file changed, 1 insertion(+), 1 deletion(-)
33242 commit 4ff884fe4df64234a7da4635d78ffafabe00f18c
33243 Author: Chris Wilson <chris@chris-wilson.co.uk>
33244 Date: Sun Nov 30 19:18:15 2008 +0000
33246 [test] Check idempotency of append_path() -> copy_path()
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 ;-).
33259 test/Makefile.am | 1 +
33260 test/path-precision.c | 108 +++++++++++++++++++++++++++++++++++++++++++++++++
33261 2 files changed, 109 insertions(+)
33263 commit fe4af195a7880336894a5fbae86740ef55c14cbf
33264 Author: Chris Wilson <chris@chris-wilson.co.uk>
33265 Date: Sun Nov 30 13:48:11 2008 +0000
33267 [test] Add a rectilinear-dash test case.
33269 Exercise dashing on pixel-aligned boundaries to test extending the
33270 rectilinear stroker to handle dashes.
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(+)
33277 commit 1d68ee73f8d406671d25a1ab6c3cfb096a7a6ce7
33278 Author: Chris Wilson <chris@chris-wilson.co.uk>
33279 Date: Sun Nov 23 08:59:56 2008 +0000
33281 [pattern] Compute the combined color content.
33283 When multiplying two colors together, the combined content is simply the
33284 or of the their contents.
33286 src/cairo-pattern.c | 3 ++-
33287 1 file changed, 2 insertions(+), 1 deletion(-)
33289 commit 30cef3116ed960a94323477154896a03c4fb30bb
33290 Author: Chris Wilson <chris@chris-wilson.co.uk>
33291 Date: Thu Dec 11 01:45:31 2008 +0000
33293 [spans] Add a sentinel cell to the cell_list.
33295 By terminating the list with a cell for INT_MAX, we remove a few
33296 conditionals from the hot-paths.
33298 src/cairo-tor-scan-converter.c | 25 +++++++++++++++----------
33299 1 file changed, 15 insertions(+), 10 deletions(-)
33301 commit 3b2bb95249afdc3a705d0ce5205019e7d9d31020
33302 Author: Chris Wilson <chris@chris-wilson.co.uk>
33303 Date: Thu Dec 11 01:22:37 2008 +0000
33305 [spans] Embed 64 edge buckets into polygon
33307 Frequently we only need a few y-buckets, so embed 64 into the parent
33310 src/cairo-tor-scan-converter.c | 40 ++++++++++++----------------------------
33311 1 file changed, 12 insertions(+), 28 deletions(-)
33313 commit 70235df72e3f33482527090d7039d8cab7ef6ff9
33314 Author: Chris Wilson <chris@chris-wilson.co.uk>
33315 Date: Thu Dec 11 00:32:13 2008 +0000
33317 [spans] Pool capacity is in bytes not elements.
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!
33322 src/cairo-tor-scan-converter.c | 2 +-
33323 1 file changed, 1 insertion(+), 1 deletion(-)
33325 commit 6f284587a4ef829a1666fe730e590b59e4eedd5e
33326 Author: Chris Wilson <chris@chris-wilson.co.uk>
33327 Date: Wed Dec 10 13:50:23 2008 +0000
33329 [script] Add examples
33331 Add some simple examples to demonstrate CairoScript, courtesy of M Joonas
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(+)
33348 commit 463dc2891312e3658875d6964a91e7e875de4b38
33349 Author: Chris Wilson <chris@chris-wilson.co.uk>
33350 Date: Wed Dec 10 21:09:14 2008 +0000
33352 [script] Allocate the interned strings from a permanent pool
33354 Reduce memory fragmentation by allocating the permanent strings from a
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(-)
33361 commit adc9c90d79cf4bf5e3789ceadab6a49da746274a
33362 Author: Chris Wilson <chris@chris-wilson.co.uk>
33363 Date: Wed Dec 10 21:00:11 2008 +0000
33365 [script] Freed object cache.
33367 Cache the last freed object to reduce malloc pressure.
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(-)
33375 commit 1042909796295234d8aadf674824d306d7bcc9b5
33376 Author: Chris Wilson <chris@chris-wilson.co.uk>
33377 Date: Wed Dec 10 17:56:19 2008 +0000
33379 [script] Replay multiple files.
33381 Iterate over the argument vector and replay each file on the command line.
33383 util/cairo-script/csi-replay.c | 4 +++-
33384 1 file changed, 3 insertions(+), 1 deletion(-)
33386 commit c5c04528b51b9025f48fb0f3b1c4a8dc98acb214
33387 Author: Chris Wilson <chris@chris-wilson.co.uk>
33388 Date: Wed Dec 10 17:30:21 2008 +0000
33390 [script] Slab allocator
33392 Allocate small objects from a pool and maintain a per-size free-list.
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(-)
33398 commit 83f0e6cf6245c0b3fd7a9b572e5dcea9b633a644
33399 Author: Chris Wilson <chris@chris-wilson.co.uk>
33400 Date: Wed Dec 10 16:46:05 2008 +0000
33402 [script] Inline the stack push
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.
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(-)
33414 commit 565b3d6ad64fe9d35ebddb4f6b46e492740ee59f
33415 Author: Chris Wilson <chris@chris-wilson.co.uk>
33416 Date: Wed Dec 10 15:16:02 2008 +0000
33418 [script] Switch to hyphens.
33420 Using hyphen in the operators is easier to read than underscores.
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(-)
33427 commit 3abfd836a021a2950b7eea97f3b30011d58efcc8
33428 Author: Chris Wilson <chris@chris-wilson.co.uk>
33429 Date: Wed Dec 10 14:34:41 2008 +0000
33431 [script] Null constructor
33433 Expose 'null', principally for comparison purposes.
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(-)
33439 commit 7540ac7f23db47ee3f58a557ce91aaf1c0bc72d5
33440 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
33441 Date: Tue Dec 9 07:52:21 2008 +0200
33443 [script] Reverse direction of bitshift.
33445 Positive shift counts should shift left according to PostScript.
33447 util/cairo-script/cairo-script-operators.c | 4 ++--
33448 1 file changed, 2 insertions(+), 2 deletions(-)
33450 commit 4be479cc63a783da18652528f33bd08427a74fe7
33451 Author: Chris Wilson <chris@chris-wilson.co.uk>
33452 Date: Wed Dec 10 13:20:06 2008 +0000
33454 [script] Add simple to integer converter
33456 Simple operator to coerce the type of the object on top of the stack to
33459 util/cairo-script/cairo-script-operators.c | 23 +++++++++++++++++++++++
33460 1 file changed, 23 insertions(+)
33462 commit 6711b591b9efd8f116f2683f17d52e9a9ddfbaba
33463 Author: Chris Wilson <chris@chris-wilson.co.uk>
33464 Date: Wed Dec 10 12:34:30 2008 +0000
33466 [script] Simple replay.
33468 Basic script executer.
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(-)
33475 commit 177a68ef3ecd1717b81c93c53f8c7ae27838e2e5
33476 Author: Chris Wilson <chris@chris-wilson.co.uk>
33477 Date: Wed Dec 10 13:21:19 2008 +0000
33479 [script] Add a few mathematical constants
33481 Just pi and the sqrt(2) for the moment, more to come on demand.
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(+)
33488 commit 5dfaa22a578ff6561e8d15a8c08546c840476313
33489 Author: Chris Wilson <chris@chris-wilson.co.uk>
33490 Date: Wed Dec 10 12:26:09 2008 +0000
33492 [script] Add repeat operator.
33494 Simple operator to repeat procedure n times.
33496 util/cairo-script/cairo-script-operators.c | 37 +++++++++++++++++++++++++++-
33497 1 file changed, 36 insertions(+), 1 deletion(-)
33499 commit 738cb327450821db2d3689e514376c0d9bc55e87
33500 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
33501 Date: Tue Dec 9 05:59:19 2008 +0200
33503 [script] Fix \t escapes in string literals.
33507 util/cairo-script/cairo-script-scanner.c | 2 +-
33508 1 file changed, 1 insertion(+), 1 deletion(-)
33510 commit 265ebd372a4fd510bc29c749a46393ee7caace41
33511 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
33512 Date: Mon Dec 8 10:14:33 2008 +0200
33514 [script] Flesh out the relational comparison operators to be more PostScript-like.
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.
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(-)
33527 commit 05afec7a8ac590d0d53a254895796f36a8b0eaf3
33528 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
33529 Date: Mon Dec 8 10:06:53 2008 +0200
33531 [script] Implement the ne operator.
33533 util/cairo-script/cairo-script-operators.c | 19 ++++++++++++++++++-
33534 1 file changed, 18 insertions(+), 1 deletion(-)
33536 commit 1aeb96dc287b516955db1909995e45fe26d4f87a
33537 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
33538 Date: Mon Dec 8 10:03:57 2008 +0200
33540 [script] Implement PostScript-like semantics for the eq operator.
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.
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(-)
33553 commit 620028fd19b091f525964b689ebd3a70e1636da2
33554 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
33555 Date: Mon Dec 8 09:23:37 2008 +0200
33557 [script] Don't segfault when hashing empty strings.
33559 Check for the empty string.
33561 util/cairo-script/cairo-script-interpreter.c | 11 +++++++----
33562 1 file changed, 7 insertions(+), 4 deletions(-)
33564 commit 4ba77f776509caad030edf818a076ea9b071ad23
33565 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
33566 Date: Mon Dec 8 07:16:14 2008 +0200
33568 [script] Fix dictionary construction to access the right stack slots.
33570 It bound values to themselves and ignored keys.
33572 util/cairo-script/cairo-script-operators.c | 4 ++--
33573 1 file changed, 2 insertions(+), 2 deletions(-)
33575 commit af53297a97eec505ac2a90768badda72056c6e3b
33576 Author: Chris Wilson <chris@chris-wilson.co.uk>
33577 Date: Thu Dec 11 00:35:20 2008 +0000
33579 [cairo] Use a stack buffer for text path.
33581 First try to allocate glyphs from the stack, similar to cairo_show_text().
33583 src/cairo.c | 9 +++++++--
33584 1 file changed, 7 insertions(+), 2 deletions(-)
33586 commit 09589e20e14476df609581027d14628f52091e71
33587 Author: Chris Wilson <chris@chris-wilson.co.uk>
33588 Date: Wed Dec 10 23:45:44 2008 +0000
33590 [clip] Intersect to region extents.
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.
33596 src/cairo-clip.c | 18 +++++-------------
33597 src/cairo-surface-fallback.c | 1 -
33598 2 files changed, 5 insertions(+), 14 deletions(-)
33600 commit c5acb125e9509570c407a069f7e89acfbadda57b
33601 Author: Chris Wilson <chris@chris-wilson.co.uk>
33602 Date: Wed Dec 10 23:06:22 2008 +0000
33604 [surface] Avoid a short-lived context during fallback_clone_similar()
33606 We can paint to the surface directly without need of a temporary context,
33609 src/cairo-surface-fallback.c | 41 +++++++++++++++++++----------------------
33610 1 file changed, 19 insertions(+), 22 deletions(-)
33612 commit 888f62feaa73be326d41a485c0bcf81a3e466ee1
33613 Author: Chris Wilson <chris@chris-wilson.co.uk>
33614 Date: Wed Dec 10 17:42:16 2008 +0000
33616 [test] Propagate error from path
33618 If the path is in error, just append it to the context so that the error
33619 is propagated correctly.
33621 test/copy-path.c | 5 +++++
33622 1 file changed, 5 insertions(+)
33624 commit f13f63e3d85d28a17a3cb60b7d1a7b552f2b6872
33625 Author: Chris Wilson <chris@chris-wilson.co.uk>
33626 Date: Wed Dec 10 08:54:03 2008 +0000
33628 [test/clip-nesting] Propagate status from sub-context.
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.
33633 test/clip-nesting.c | 16 ++++++++++++++++
33634 1 file changed, 16 insertions(+)
33636 commit e6e33b036f9de5087a72cf1de9c0a4ce97c75812
33637 Author: Chris Wilson <chris@chris-wilson.co.uk>
33638 Date: Wed Dec 10 08:50:57 2008 +0000
33640 [test/solid-pattern-cache-stress] Propagate status from sub-contexts.
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.
33645 test/solid-pattern-cache-stress.c | 32 +++++++++++++++++++++++++-------
33646 1 file changed, 25 insertions(+), 7 deletions(-)
33648 commit bcb2724920aa1bca1a9a82b5017d3180f5f9523e
33649 Author: Chris Wilson <chris@chris-wilson.co.uk>
33650 Date: Tue Dec 9 20:44:25 2008 +0000
33652 [path] Mark points as const during _cairo_path_fixed_interpret()
33654 Use const to document the read-only nature of the arguments passed to the
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(-)
33677 commit 68b29cafa597128e7cae86608e04ecae6070dad9
33678 Author: Chris Wilson <chris@chris-wilson.co.uk>
33679 Date: Tue Dec 9 20:15:34 2008 +0000
33681 [spline] Propagate errors during add point.
33683 Yikes! The callback could fail so we need to propagate the error status.
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(-)
33695 commit 2f3905dec38a710234aba30e1983b80ea3066a50
33696 Author: Chris Wilson <chris@chris-wilson.co.uk>
33697 Date: Tue Dec 9 19:21:35 2008 +0000
33699 [image] Set status on error path.
33701 We failed to set the status after cairo_image_surface_create() returned an
33704 src/cairo-image-surface.c | 4 ++--
33705 1 file changed, 2 insertions(+), 2 deletions(-)
33707 commit dfc49a67e62bea359b33413e9b882e92952431de
33708 Author: Chris Wilson <chris@chris-wilson.co.uk>
33709 Date: Tue Dec 9 14:44:51 2008 +0000
33711 [test] Trim the number of fallback resolutions tested.
33713 Simplify the test matrix to only include testing the fallback-resolution
33714 of a uniform scale in one or both axes.
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(-)
33756 commit 0ebbcd671c362d98a60214872fa48aee1e42dde1
33757 Author: Chris Wilson <chris@chris-wilson.co.uk>
33758 Date: Tue Dec 9 14:30:58 2008 +0000
33760 [test] Fix memleak from fallback-resolution.
33762 The test-name was being recreated for every pass, but was never freed.
33764 test/fallback-resolution.c | 2 ++
33765 1 file changed, 2 insertions(+)
33767 commit a9697e5fb04d045fe7aaf0cee80c41eb9d09e1c1
33768 Author: Chris Wilson <chris@chris-wilson.co.uk>
33769 Date: Fri Dec 12 11:08:13 2008 +0000
33771 [test] Exercise glyph culling.
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.
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(+)
33786 commit 095a1fd7860bd1f6d4116766ade0ec9a382bb957
33787 Author: Chris Wilson <chris@chris-wilson.co.uk>
33788 Date: Fri Dec 5 21:14:45 2008 +0000
33790 [gstate] Remove culled glyphs from clusters.
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.
33796 It transpires that in the early glyph culling in the gstate we were
33797 not updating the clusters to skip culled glyphs.
33799 src/cairo-gstate.c | 223 +++++++++++++++++++++++++++++++++++++++++-----------
33800 src/cairo.c | 9 ++-
33801 2 files changed, 183 insertions(+), 49 deletions(-)
33803 commit 834f1d7b7097dcc3a32f6c65d21e87fd272d924a
33804 Author: Julien Danjou <julien@danjou.info>
33805 Date: Tue Nov 18 10:01:49 2008 +0100
33807 [xcb] check for render extension presence
33809 Otherwise this may leads to an invalid memory access to r.
33811 Fixes: Bug 18588 - XCB backend fails with missing render.
33812 https://bugs.freedesktop.org/show_bug.cgi?id=18588
33814 Signed-off-by: Julien Danjou <julien@danjou.info>
33815 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
33818 src/cairo-xcb-surface.c | 8 ++++++--
33819 2 files changed, 7 insertions(+), 2 deletions(-)
33821 commit e184bf0d3592c8703b1193d37553cdcdee313139
33822 Author: Chris Wilson <chris@chris-wilson.co.uk>
33823 Date: Fri Dec 12 10:12:43 2008 +0000
33825 Fix compilation with --enable-png=no
33827 Adrian Johnson spotted that the build was broken if the PNG functions were
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(-)
33835 commit 391c6026402dee09bb34816637114cea990cd93a
33836 Merge: 2f1b581 d93bf10
33837 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
33838 Date: Thu Dec 11 14:41:01 2008 -0500
33842 commit 2f1b581f54713c899f3b03af1e0ac8c38c36c385
33843 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
33844 Date: Thu Dec 11 10:34:37 2008 -0500
33846 [quartz] Create a copy instead of increasing the reference
33848 The pattern could be stack allocated so we can't take a reference to it.
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.
33856 Based on a patch by Paolo Bonzini.
33858 src/cairo-quartz-surface.c | 16 ++++++++++++++--
33859 1 file changed, 14 insertions(+), 2 deletions(-)
33861 commit f7b3f1b7d70a271575d3bb233b7ee51a21861c05
33862 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
33863 Date: Wed Dec 10 17:54:59 2008 -0500
33865 [quartz] Propagate const patterns through the casts
33867 As part of this avoid using cairo_pattern_get_matrix() because it requires a
33868 'cairo_pattern_t *' instead of 'const cairo_pattern *'
33870 Also, make a copy of the pattern before pasing it in to cairo_set_source()
33872 src/cairo-quartz-surface.c | 39 +++++++++++++++++++++++----------------
33873 1 file changed, 23 insertions(+), 16 deletions(-)
33875 commit d93bf10edc7e432349524221a3d1b0f0b2ec8090
33876 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
33877 Date: Wed Dec 10 17:02:55 2008 -0500
33879 [quartz] Create a copy of the pattern so that the reference counts are balanced
33881 The pattern could be stack allocated so we can't take a reference to it;
33882 instead make a copy.
33884 Based on a patch by Paolo Bonzini.
33886 src/cairo-quartz-surface.c | 16 ++++++++++++++--
33887 1 file changed, 14 insertions(+), 2 deletions(-)
33889 commit db4c427e8460b0e326691bd6d3784178a713eb33
33890 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
33891 Date: Tue Dec 9 12:03:11 2008 -0500
33893 [quartz] Change some pattern casts to access to the base class
33895 Avoiding casts gives us some more type safety.
33897 src/cairo-quartz-surface.c | 12 ++++++------
33898 1 file changed, 6 insertions(+), 6 deletions(-)
33900 commit 5f60e2e00455f2894c7ce3805a029c806f21514a
33901 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
33902 Date: Tue Dec 9 11:41:10 2008 -0500
33904 Reorganize the (set|get)_antialias prototypes
33906 Move _cairo_gstate_set_antialias() and _cairo_gstate_get_antialias() into the
33907 gstate section of cairoint.h
33909 src/cairoint.h | 14 +++++++-------
33910 1 file changed, 7 insertions(+), 7 deletions(-)
33912 commit 673640a3b3931995897b01d49c5dd8d82b50dac2
33913 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
33914 Date: Thu Dec 4 17:53:06 2008 -0500
33916 [win32] Use MOD instead of the '%' operator
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
33922 Patch from Robert O'Callahan
33924 src/cairo-win32-surface.c | 7 +++++--
33925 1 file changed, 5 insertions(+), 2 deletions(-)
33927 commit 5e06085b483dcaaa7b1b29b13cd2813c7e51e02a
33928 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
33929 Date: Fri Aug 1 23:28:15 2008 +0300
33931 [cairo-spans] Render clip mask surfaces with spans if we can.
33933 Generating surface masks for clipping can also benefit from span
33934 rendering sometimes.
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(+)
33987 commit 18634c37026a2d6147443cb6d991576f62b07e6d
33988 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
33989 Date: Thu Jul 24 20:47:14 2008 +0300
33991 [cairo-spans] Hook up filling paths with spans to cairo-surface-fallback.c.
33993 This speeds up the mask generation step in cairo_fill() for the image
33994 surface by up to 10x in especially favourable cases.
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
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.
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(-)
34252 commit 85b81a3e59401e2fc68209634f7622694e7d30e1
34253 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
34254 Date: Fri Jul 11 13:10:20 2008 +0300
34256 [cairo-spans] Implement a span renderer for cairo_image_surface_t.
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.
34263 src/cairo-image-surface.c | 273 ++++++++++++++++++++++++++++++++++++++-------
34264 1 file changed, 233 insertions(+), 40 deletions(-)
34266 commit 7994fc06ad66e31fcbc16f6e8cd9ad226022ec8c
34267 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
34268 Date: Thu Aug 28 22:16:07 2008 +0300
34270 [cairo-spans] New cairo_tor_scan_converter_t.
34272 Imports a new polygon scan converter implementation from the
34275 http://cgit.freedesktop.org/~joonas/glitter-paths/
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.
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(-)
34290 commit 2078e5b20fdff76ada6e13b29b2775b7dcd35439
34291 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
34292 Date: Thu Jul 31 01:58:08 2008 +0300
34294 [cairo-spans] New _cairo_path_fixed_fill_using_spans().
34296 Adds a helper function for backends to use for filling a path using
34299 src/cairo-spans-private.h | 10 ++++
34300 src/cairo-spans.c | 145 +++++++++++++++++++++++++++++++++++++++++++++
34301 2 files changed, 155 insertions(+)
34303 commit 4a9b274eebe674bbc5c66dc3e33256723cdf9829
34304 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
34305 Date: Fri Jul 11 00:59:47 2008 +0300
34307 [cairo-spans] Add a check/create_span_renderer backend methods.
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.
34316 No backends have an implementation yet.
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(+)
34345 commit 948c3526dcdbc440395fff4ce9bf4b7553930d92
34346 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
34347 Date: Fri Oct 24 17:37:30 2008 +0300
34349 [cairo-spans] New abstract types for scan converting polygons.
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.
34357 A cairo_scan_converter_t takes edges of a flattened path and generates
34358 spans for a span renderer to render.
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(+)
34366 commit 4b227143b3daab75148cd54c9e7580d509864e0d
34367 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
34368 Date: Thu Jul 31 01:54:53 2008 +0300
34370 [cairo-spans] Introduce a type to track which pixels combine in a compositing op.
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
34380 src/cairo-rectangle.c | 21 +++++++++++++++++++++
34381 src/cairo-types-private.h | 24 ++++++++++++++++++++++++
34382 src/cairoint.h | 7 +++++++
34383 3 files changed, 52 insertions(+)
34385 commit a370d077bc697588b6dac2556afa0b95ff83a77d
34386 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
34387 Date: Fri Jul 25 16:35:14 2008 +0300
34389 [path-fixed] New _cairo_path_fixed_is_region().
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.
34395 src/cairo-path-fixed.c | 96 ++++++++++++++++++++++++++++++++++++++++++++++++
34396 src/cairoint.h | 3 ++
34397 2 files changed, 99 insertions(+)
34399 commit 6acb8223930081f70b422ef93a49ea645c2cc12d
34400 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
34401 Date: Fri Sep 12 19:32:12 2008 +0300
34403 [path-fixed] Avoid extra indirection when iterating already flat paths.
34405 Perform a plain iteration rather than a flattening one if the path
34406 knows it doesn't have any curves.
34408 src/cairo-path-fixed.c | 9 +++++++++
34409 1 file changed, 9 insertions(+)
34411 commit 0c0f4862c52d68776024f125b003ade455044b27
34412 Author: Chris Wilson <chris@chris-wilson.co.uk>
34413 Date: Sat Dec 6 13:32:37 2008 +0200
34415 [perf-diff] Fix cairo-perf-diff for git 1.6
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.
34421 perf/cairo-perf-diff | 2 +-
34422 1 file changed, 1 insertion(+), 1 deletion(-)
34424 commit afba0c312958852586b846ec615cff1bd3e5cde7
34425 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
34426 Date: Fri Sep 12 17:41:45 2008 +0300
34428 [perf] Add perf tests to hit rectilinear code paths.
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.
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(-)
34442 commit 8ec58113df417e1ec1d331ab65267c34e6d32096
34443 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
34444 Date: Fri Sep 12 17:32:40 2008 +0300
34446 [perf] Explicitly test rendering a path with lots of intersections.
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.)
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(-)
34459 commit 08b486c9aa1d6ad01f1b17a16dcb4d695e8cbf7d
34460 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
34461 Date: Thu Dec 4 17:53:06 2008 -0500
34463 [win32] Use MOD instead of the '%' operator
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
34469 Patch from Robert O'Callahan
34471 src/cairo-win32-surface.c | 7 +++++--
34472 1 file changed, 5 insertions(+), 2 deletions(-)
34474 commit 540de34453d16092acd2978b513831a02f01f59f
34475 Author: Chris Wilson <chris@chris-wilson.co.uk>
34476 Date: Sun Oct 26 12:53:29 2008 +0000
34478 [matrix] Optimise invert for simple scaling|translation matrices.
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
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
34496 (cherry picked from commit 0d0c6a199c5b631299c72dce80d66ac0f4936a64)
34498 src/cairo-matrix.c | 26 +++++++++++++++++++++++++-
34499 1 file changed, 25 insertions(+), 1 deletion(-)
34501 commit aff32019a70600fec5040a5a73c4f0b688826064
34502 Author: Behdad Esfahbod <behdad@behdad.org>
34503 Date: Sun Nov 30 23:28:59 2008 -0500
34505 [Makefile.am] Use top_srcdir instead of srcdir
34507 Doesn't make much difference here, but makes our intention clear.
34509 build/Makefile.am.changelog | 2 +-
34510 1 file changed, 1 insertion(+), 1 deletion(-)
34512 commit 51a75ad932af4a3c3da96ef98de79328afa200c3
34513 Author: Luo Jinghua <sunmoon1997@gmail.com>
34514 Date: Sun Nov 30 20:42:49 2008 +0800
34516 glitz: Replace specified color with an opaque one if dst surface don't have an alpha channel.
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.
34524 src/cairo-glitz-surface.c | 18 ++++++++++++------
34525 1 file changed, 12 insertions(+), 6 deletions(-)
34527 commit 7247017cf5e6b497a5836d9081ee153d27c6b15e
34528 Author: Chris Wilson <chris@chris-wilson.co.uk>
34529 Date: Sat Nov 29 11:47:25 2008 +0000
34531 Fix up a couple of likely(malloc==NULL)
34533 Adrian Johnson spotted that I marked a few malloc failures as likely,
34536 src/cairo-cff-subset.c | 4 ++--
34537 src/cairo-clip.c | 2 +-
34538 2 files changed, 3 insertions(+), 3 deletions(-)
34540 commit 1659db2c1f4cc72e51fb43d119822ec7aaa77ac0
34541 Author: Chris Wilson <chris@chris-wilson.co.uk>
34542 Date: Sat Nov 29 10:37:58 2008 +0000
34544 [test] Fix surface leak from device-offset-positive.
34546 A forgotten cairo_surface_destroy() caused the similar surface to be
34547 leaked during the test.
34549 test/device-offset-positive.c | 1 +
34550 1 file changed, 1 insertion(+)
34552 commit 0d757a793d7fe2860c6a522124a123864fc97f0a
34553 Author: Chris Wilson <chris@chris-wilson.co.uk>
34554 Date: Sat Nov 29 10:36:34 2008 +0000
34556 [png] Fix leak of original png data on error path.
34558 The error path was missing a _cairo_output_stream_destroy() to cleanup a
34559 copy of the incoming PNG data.
34561 src/cairo-png.c | 15 +++++++++++----
34562 1 file changed, 11 insertions(+), 4 deletions(-)
34564 commit e6963a5bfebda69a1ef0a986cede84bcd955b6d4
34565 Author: Chris Wilson <chris@chris-wilson.co.uk>
34566 Date: Tue Nov 18 17:26:55 2008 +0000
34568 Mark allocation failures as unlikely.
34570 Use the gcc likelihood annotation to indicate that allocation failures are
34571 extremely unlikely.
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(-)
34629 commit d1801c23fae3777c7c59e084894a3410f7a1f932
34630 Author: Chris Wilson <chris@chris-wilson.co.uk>
34631 Date: Tue Nov 18 15:38:37 2008 +0000
34633 Mark if(status) as being unlikely.
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.
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(-)
34680 commit f0804d4856496a46d0b2270d5815856bf63b4cf8
34681 Author: Chris Wilson <chris@chris-wilson.co.uk>
34682 Date: Fri Nov 28 23:58:55 2008 +0000
34684 [test] Exercise caps and joins under reflection.
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.
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(-)
34702 commit f39dd86e292e9af3438acb041a3a7330fb4a3b22
34703 Author: Chris Wilson <chris@chris-wilson.co.uk>
34704 Date: Thu Nov 27 00:23:11 2008 +0000
34706 [test] Add simple cap test.
34708 Add a test case that only exercises capping, useful for developing
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(+)
34717 commit f2982e103c27cad1edf648dadcfffe1a15763efd
34718 Author: Chris Wilson <chris@chris-wilson.co.uk>
34719 Date: Tue Nov 25 17:23:33 2008 +0000
34721 [fill] Allow rectangles to be implicitly closed.
34723 Also scan for appendages of simple rectangles.
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(-)
34730 commit d2bcf1d76defda861e1a7f2271046851083ad694
34731 Author: Chris Wilson <chris@chris-wilson.co.uk>
34732 Date: Fri Nov 28 17:12:03 2008 +0000
34734 [path] Carefully check for no more points.
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.
34739 src/cairo-path-fixed-private.h | 10 +++++-----
34740 src/cairo-path-fixed.c | 15 ++++++++++++---
34741 2 files changed, 17 insertions(+), 8 deletions(-)
34743 commit 424aba9be558e89b4d42554ca6a5042574e3df75
34744 Author: Chris Wilson <chris@chris-wilson.co.uk>
34745 Date: Wed Nov 26 20:38:24 2008 +0000
34747 [check] Search for the word NOTE
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.
34752 src/check-doc-syntax.sh | 2 +-
34753 1 file changed, 1 insertion(+), 1 deletion(-)
34755 commit 36147140ce56d8d3492b971a9b6ceff97e212e01
34756 Author: Chris Wilson <chris@chris-wilson.co.uk>
34757 Date: Fri Nov 28 18:54:02 2008 +0000
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.
34764 perf/Makefile.am | 3 ++-
34765 1 file changed, 2 insertions(+), 1 deletion(-)
34767 commit ed6bd4766cb47e97b1a6ecb81eff5bf4673d549b
34768 Author: Luo Jinghua <sunmoon1997@gmail.com>
34769 Date: Fri Nov 28 07:54:41 2008 +0800
34771 image: Use unsigned long to compute color masks.
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
34778 src/cairo-image-surface.c | 2 +-
34779 1 file changed, 1 insertion(+), 1 deletion(-)
34781 commit 41cb91d417e7c0dc1cc767ea0fb38a1f8b3f4e43
34782 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
34783 Date: Wed Nov 26 23:49:12 2008 +0200
34785 [script] Use the in-tree libcairo for csi-replay.
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.
34790 util/cairo-script/Makefile.am | 2 +-
34791 1 file changed, 1 insertion(+), 1 deletion(-)
34793 commit f5634818f1e5cc0adaa326662c099a75f4e615eb
34794 Author: Chris Wilson <chris@chris-wilson.co.uk>
34795 Date: Thu Nov 13 14:56:38 2008 +0000
34797 [os2] Move include cairo.h before os2.h
34799 The defines need to come first, but we specify that cairo.h is the first
34800 header file to be included by files.
34802 src/cairo-os2.h | 4 ++--
34803 1 file changed, 2 insertions(+), 2 deletions(-)
34805 commit 2f0f9a1a593db43dd04507c5989cd0af4b1486de
34806 Author: Behdad Esfahbod <behdad@behdad.org>
34807 Date: Thu Nov 13 10:50:41 2008 +0100
34811 Patch from Dave Yeo to make cairo-os2.h include os2.h directly so the
34812 header is standalone.
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(-)
34819 commit 5591cb58fd94483ec3dc7c169ae8cf0a6b7841bd
34820 Author: Chris Wilson <chris@chris-wilson.co.uk>
34821 Date: Wed Nov 26 17:43:22 2008 +0000
34823 [script] Only use zlib if available.
34825 Conditionally link against zlib - replaying a script will fail if the
34826 trace uses a compressed format.
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(-)
34834 commit 9432c0c9b89ed6b3d369b377cf884918cd6180db
34835 Author: Chris Wilson <chris@chris-wilson.co.uk>
34836 Date: Wed Nov 26 17:33:35 2008 +0000
34838 [script] Link the interpreter against the built library.
34840 Ensure we correctly link against the version of cairo just built.
34842 util/cairo-script/Makefile.am | 4 ++--
34843 1 file changed, 2 insertions(+), 2 deletions(-)
34845 commit 815e5b962ef8477c344da0f0b52c1f85c9854777
34846 Author: Chris Wilson <chris@chris-wilson.co.uk>
34847 Date: Wed Nov 26 17:30:29 2008 +0000
34849 [script] Add a fallback image surface for replay
34851 If we do not have a native windowing surface compiled into the library,
34852 just replay the script to an image surface.
34854 util/cairo-script/csi-replay.c | 8 ++++++++
34855 1 file changed, 8 insertions(+)
34857 commit 5e376523628d5e2078e395ea7263a04bacd37c47
34858 Author: Chris Wilson <chris@chris-wilson.co.uk>
34859 Date: Wed Nov 26 17:26:57 2008 +0000
34861 [skiplist] Check for ffs()
34863 Wine at least does not provide ffs(), so check at configure time and
34864 open-code a replacement.
34866 build/configure.ac.system | 2 +-
34867 src/cairo-skiplist.c | 11 +++++++++++
34868 2 files changed, 12 insertions(+), 1 deletion(-)
34870 commit 60282b866aab359840b4bcaa6aaccaca2eccd3d2
34871 Author: Chris Wilson <chris@chris-wilson.co.uk>
34872 Date: Wed Nov 26 16:58:29 2008 +0000
34874 [glitz] Fix clone_similar().
34876 Clone similar open-coded various image surface functions and failed to
34877 clone a sub-region resulting in failures for mask-transformed-* and
34880 src/cairo-glitz-surface.c | 458 ++++++++++++++-------------------------------
34881 1 file changed, 137 insertions(+), 321 deletions(-)
34883 commit 47275c7ece06c0d02f2d7c9aa81d87a7144392b0
34884 Author: Paolo Bonzini <bonzini@gnu.org>
34885 Date: Wed Nov 26 15:56:48 2008 +0100
34887 [test] Fix glitz-surface-source test
34889 The recent changes to separate glitz/agl broke the compilation of the
34890 glitz-surface-source test.
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(-)
34897 commit a84ea7829065b7e1d33d6fed6bcf0c7c8abd383a
34898 Author: Paolo Bonzini <bonzini@gnu.org>
34899 Date: Wed Nov 26 15:49:00 2008 +0100
34901 [test] Add quartz-surface-source test
34903 Add a simple test to exercise using a Quartz surface as a source.
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(-)
34912 commit 993941cfd701eb222b81cdddeabf6f7ff2daa150
34913 Author: Paolo Bonzini <bonzini@gnu.org>
34914 Date: Wed Nov 26 13:32:11 2008 +0000
34916 [perf] Fix SDL compilation for MacOS X
34918 The attached patch makes the SDL tests compile under Mac OS X. The
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
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
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(+)
34935 commit 8a5b55ca6c69671a138f65ab15bcf93163f24a37
34936 Author: Chris Wilson <chris@chris-wilson.co.uk>
34937 Date: Wed Nov 26 13:26:40 2008 +0000
34939 [matrix] Impose a maximum number of refinement iterations
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
34945 src/cairo-matrix.c | 4 +++-
34946 1 file changed, 3 insertions(+), 1 deletion(-)
34948 commit 4218699642c621eb3098a5251ef88d8c7d8a96d2
34949 Author: Chris Wilson <chris@chris-wilson.co.uk>
34950 Date: Wed Nov 26 11:54:29 2008 +0000
34952 [skiplist] Use ffs()
34954 Use ffs() [find-first-set-bit] instead of open-coding, which is about 25%
34955 faster on my test machine.
34957 src/cairo-skiplist.c | 11 +----------
34958 1 file changed, 1 insertion(+), 10 deletions(-)
34960 commit 039437c9cfaeed7a2cc1977623ab8bda9854b58a
34961 Author: Chris Wilson <chris@chris-wilson.co.uk>
34962 Date: Wed Nov 26 10:31:09 2008 +0000
34964 [png] Use FILE* instead of void*.
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
34970 src/cairo-png.c | 6 ++++--
34971 1 file changed, 4 insertions(+), 2 deletions(-)
34973 commit 8fa3cd95641e9138406d651b0734ee84f1da60d2
34974 Author: Adrian Johnson <ajohnson@redneon.com>
34975 Date: Wed Nov 26 06:40:47 2008 +1030
34977 Change uint to uint32_t
34979 src/cairo-image-info.c | 2 +-
34980 1 file changed, 1 insertion(+), 1 deletion(-)
34982 commit e828f7330633cd839f094bf8409de0bcff17c95c
34983 Author: Luo Jinghua <sunmoon1997@gmail.com>
34984 Date: Wed Nov 26 00:09:11 2008 +0800
34986 glitz: Apply fixup to unbounded operators to clear area outside of mask
34988 src/cairo-glitz-surface.c | 79 +++++++++++++++++++++++++++++++++++++--------
34989 1 file changed, 66 insertions(+), 13 deletions(-)
34991 commit 449e7518bee5d0238138176b3b71d137c6fc01e7
34992 Author: Luo Jinghua <sunmoon1997@gmail.com>
34993 Date: Tue Nov 25 22:55:24 2008 +0800
34995 glitz: set correct parameters for linear and radial pattern.
34997 Glitz expects 16.16 fixed point, but we use 24.8 fixed point by default.
34999 src/cairo-glitz-surface.c | 20 ++++++++++----------
35000 1 file changed, 10 insertions(+), 10 deletions(-)
35002 commit 3bde440e00ba19e968b854c1505dc4d1ace83504
35003 Author: Luo Jinghua <sunmoon1997@gmail.com>
35004 Date: Tue Nov 25 22:36:53 2008 +0800
35006 glitz: fixup another stupid bug in fill_rectangles.
35008 Wny I doesn't notice them before. Without fixes it fills n_rect times of
35009 the first one in the rectangle list.
35011 src/cairo-glitz-surface.c | 8 +++++---
35012 1 file changed, 5 insertions(+), 3 deletions(-)
35014 commit 4ac38f7c2bde67cab37805cab8a2effb2a8617e4
35015 Author: Chris Wilson <chris@chris-wilson.co.uk>
35016 Date: Tue Nov 25 11:52:01 2008 +0000
35018 [fill] Emit rectangles for GdkRegion
35020 Scan the path for a series of consistently wound rectangles.
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(-)
35027 commit 23df74e5ffd6be876f3c19ee9d71683f5a0ed6f4
35028 Author: Chris Wilson <chris@chris-wilson.co.uk>
35029 Date: Tue Nov 25 11:45:30 2008 +0000
35031 [xlib] Cosmetic tweak.
35033 Tightly scope the local rects.
35035 src/cairo-xlib-surface.c | 5 +++--
35036 1 file changed, 3 insertions(+), 2 deletions(-)
35038 commit 06fabd6cbd0ad187f5f9f155d6b7962f76ec5dda
35039 Author: Chris Wilson <chris@chris-wilson.co.uk>
35040 Date: Tue Nov 25 12:05:26 2008 +0000
35042 [path] Fix up extents.
35044 Forgot to round the box to the integer rectangle and missed why only
35045 testing on image. Very naughty.
35047 src/cairo-analysis-surface.c | 2 +-
35048 src/cairo-path-bounds.c | 20 +++++++++++---------
35049 2 files changed, 12 insertions(+), 10 deletions(-)
35051 commit 1f44fb97f3973aa90c4f27bcf9341149370c825d
35052 Author: Luo Jinghua <sunmoon1997@gmail.com>
35053 Date: Tue Nov 25 20:45:03 2008 +0800
35055 cairo-script: add $(top_builddir)/src to CPPPATH.
35057 $(top_builddir)/src is needed to find cairo-features.h while
35058 building out of tree.
35060 util/cairo-script/Makefile.am | 2 +-
35061 1 file changed, 1 insertion(+), 1 deletion(-)
35063 commit 487c708b3b6727eb2f8d3714edeae356a7cbbd40
35064 Author: Paolo Bonzini <bonzini@gnu.org>
35065 Date: Tue Nov 25 20:40:37 2008 +0800
35067 [boilerplate] fix compilation for glitz-agl
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.
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(-)
35081 commit ca80b8c652dde4449216da9d11691202eef97bbd
35082 Author: Chris Wilson <chris@chris-wilson.co.uk>
35083 Date: Tue Nov 25 10:25:24 2008 +0000
35085 [pdf] Add a default case to silence the compiler.
35087 The foolish compiler was emitting a warning about a potential
35088 uninitialized variable even though the switch was fully populated.
35090 src/cairo-pdf-surface.c | 1 +
35091 1 file changed, 1 insertion(+)
35093 commit b8991a1c69ae5d8fb630296a3c689aa8d1546671
35094 Author: Chris Wilson <chris@chris-wilson.co.uk>
35095 Date: Tue Nov 25 10:11:59 2008 +0000
35097 [in-fill] Add the implicit close-path during move-to.
35099 When interpreting a fixed-path for a fill operation, any move-to
35100 implicitly closes the current path.
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(-)
35108 commit 59de6fb89e80ee6aeeb2984b545ceb9bb9f0f7bb
35109 Author: Chris Wilson <chris@chris-wilson.co.uk>
35110 Date: Tue Nov 25 10:04:50 2008 +0000
35112 [path] Compute approximate extents.
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.
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(-)
35127 commit b6bf047494fc308fff00d818b2920d8ba4aa7aed
35128 Author: Chris Wilson <chris@chris-wilson.co.uk>
35129 Date: Fri Nov 21 15:27:31 2008 +0000
35131 [clip] Check for error surface
35133 The update to use a NULL backend with an error surface broke creating a
35134 context from an error surface.
35136 src/cairo-clip.c | 2 +-
35138 2 files changed, 2 insertions(+), 2 deletions(-)
35140 commit 721cad9b24c2ad049320950d231ed84046c5b8ab
35141 Author: Adrian Johnson <ajohnson@redneon.com>
35142 Date: Mon Nov 24 22:41:03 2008 +1030
35146 src/cairo-misc.c | 2 +-
35147 1 file changed, 1 insertion(+), 1 deletion(-)
35149 commit 70e4c532722bbcad1eca50438e6ab2cdd0ea9b53
35150 Author: Adrian Johnson <ajohnson@redneon.com>
35151 Date: Mon Nov 24 22:38:30 2008 +1030
35153 Document location of image format specifications
35155 src/cairo-image-info.c | 15 +++++++++++++++
35156 1 file changed, 15 insertions(+)
35158 commit 4ca644af274bda4603e7d02dbeca8641bbb3ff79
35159 Author: Adrian Johnson <ajohnson@redneon.com>
35160 Date: Mon Nov 24 00:29:54 2008 +1030
35162 Win32-print: Add PNG embedding support
35164 src/cairo-win32-printing-surface.c | 106 +++++++++++++++++++++++++++---------
35165 src/cairo-win32-private.h | 3 +
35166 2 files changed, 82 insertions(+), 27 deletions(-)
35168 commit f59a3e03fc91dc4a1769b07bda77a364cc570bc8
35169 Author: Adrian Johnson <ajohnson@redneon.com>
35170 Date: Sun Nov 23 22:27:49 2008 +1030
35172 Add PNG get info function
35174 src/cairo-image-info-private.h | 5 +++++
35175 src/cairo-image-info.c | 46 ++++++++++++++++++++++++++++++++++------
35176 2 files changed, 45 insertions(+), 6 deletions(-)
35178 commit 1892907e24d9f9f31942c6962aaa6d2ff9553ce7
35179 Author: Adrian Johnson <ajohnson@redneon.com>
35180 Date: Sun Nov 23 21:36:40 2008 +1030
35182 PDF: Disable PDF 1.5 features when version 1.4 is selected
35184 JPEG 2000 image embedding and ActualText marked content are
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(+)
35192 commit c4a57385fa2e69020f43519bea21b98182bf5fd7
35193 Author: Adrian Johnson <ajohnson@redneon.com>
35194 Date: Sun Nov 23 21:12:08 2008 +1030
35196 PDF: Add cairo_pdf_surface_restrict_to_version API
35198 Now that we are using PDF 1.5 features, add an api to select between
35199 version 1.4 or 1.5.
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(-)
35206 commit d85e836911d661275c29f2348a047e5d911f9004
35207 Author: Adrian Johnson <ajohnson@redneon.com>
35208 Date: Sun Nov 23 21:03:22 2008 +1030
35210 PDF: Add newline to end of binary streams
35212 PDF requires white space before the "endstream"
35214 src/cairo-pdf-surface.c | 2 ++
35215 1 file changed, 2 insertions(+)
35217 commit b87d81ef0bb52570385a3c9e331651cbeb87b2bb
35218 Author: Adrian Johnson <ajohnson@redneon.com>
35219 Date: Sun Nov 23 19:29:26 2008 +1030
35221 Add image/jp2 to mime-data test
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(-)
35231 commit 7fdb712cbaadc95c02f607a9f6c995f8beb01342
35232 Author: Adrian Johnson <ajohnson@redneon.com>
35233 Date: Sun Nov 23 18:56:12 2008 +1030
35235 PDF: Add JPEG2000 image embedding
35237 Requires increasing the PDF version to 1.5.
35239 src/cairo-pdf-surface.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++-
35240 1 file changed, 51 insertions(+), 1 deletion(-)
35242 commit 0746efbf0718095920d9258942d32a7023d22131
35243 Author: Adrian Johnson <ajohnson@redneon.com>
35244 Date: Sun Nov 23 18:47:13 2008 +1030
35246 Add JPEG2000 mimetype and image info function
35248 src/cairo-image-info-private.h | 4 ++
35249 src/cairo-image-info.c | 100 ++++++++++++++++++++++++++++++++++++++++
35250 src/cairo-surface-fallback.c | 1 +
35252 4 files changed, 106 insertions(+)
35254 commit 5de1e4de938d03406ce3364c6c1baa958f210410
35255 Author: Adrian Johnson <ajohnson@redneon.com>
35256 Date: Sun Nov 23 18:33:58 2008 +1030
35258 Move cairo-jpeg-info.c to cairo-image-info.c
35260 Other image formats will be added to the same file.
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(-)
35273 commit 63180edf6f7cc81beda626190ca1055efa330fda
35274 Author: Luo Jinghua <sunmoon1997@gmail.com>
35275 Date: Sun Nov 23 11:42:26 2008 +0800
35277 glitz: set clone_offset_{x, y} on success in clone_similar.
35279 With this fix, glitz backend passes 135 test cases and fails 66 test cases.
35281 src/cairo-glitz-surface.c | 2 ++
35282 1 file changed, 2 insertions(+)
35284 commit 36c1b3e5919f119a054e425ca03f7ce810d3e7ec
35285 Author: Luo Jinghua <sunmoon1997@gmail.com>
35286 Date: Sun Nov 23 10:27:49 2008 +0800
35288 glitz: fixup a stupid bug in get_image.
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. :-(
35294 src/cairo-glitz-surface.c | 14 +++++++++-----
35295 1 file changed, 9 insertions(+), 5 deletions(-)
35297 commit c8b70aacc6b5523e2f73bebf4f61e876de1c3b3f
35298 Author: Nicolas Bruguier <gandalfn@club-internet.fr>
35299 Date: Sat Nov 22 18:16:17 2008 +0800
35301 glitz: bring glitz backend to more or less working state.
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.
35312 src/cairo-glitz-surface.c | 329 ++++++++++++++++++++++-----------------------
35313 1 file changed, 163 insertions(+), 166 deletions(-)
35315 commit 77e60df32fa59328bd32095c77f8c360805b5db7
35316 Author: Maarten Maathuis <madman2003@gmail.com>
35317 Date: Sat Nov 8 15:29:40 2008 +0100
35319 cairo-xcb: avoid leaking memory
35321 src/cairo-xcb-surface.c | 3 +++
35322 1 file changed, 3 insertions(+)
35324 commit 361962b7fb4385f164673991670b6fce0839d32a
35325 Author: Chris Wilson <chris@chris-wilson.co.uk>
35326 Date: Fri Oct 31 08:42:30 2008 +0000
35328 [directfb] Compile fix with debug enabled.
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)
35334 src/cairo-directfb-surface.c | 1 +
35335 1 file changed, 1 insertion(+)
35337 commit f15b1f26becf28457e9ccf8903257a0dec25d547
35338 Author: Chris Wilson <chris@chris-wilson.co.uk>
35339 Date: Thu Nov 20 23:19:19 2008 +0000
35341 [region] Use the caller supplied array for extracting boxes.
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
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(-)
35359 commit 9d2c55c661885c06eed44e810004c2ebe07038d3
35360 Author: Chris Wilson <chris@chris-wilson.co.uk>
35361 Date: Thu Nov 20 21:53:34 2008 +0000
35363 [traps] Embed sufficient traps to accommodate a stroke rectangle
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.
35370 src/cairoint.h | 3 ++-
35371 1 file changed, 2 insertions(+), 1 deletion(-)
35373 commit a11442154d958d5c9694eb944a715a6c689fda85
35374 Author: Chris Wilson <chris@chris-wilson.co.uk>
35375 Date: Thu Nov 20 18:00:40 2008 +0000
35377 [cairo] Allocate glyphs on the stack for show_text().
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
35383 src/cairo.c | 18 ++++++++++++++----
35384 1 file changed, 14 insertions(+), 4 deletions(-)
35386 commit 9556266ffcb1c34187730af90bb847950d6db66e
35387 Author: Chris Wilson <chris@chris-wilson.co.uk>
35388 Date: Thu Nov 20 09:40:25 2008 +0000
35390 [surface] Make the error surfaces have a NULL backend.
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
35396 src/cairo-surface.c | 22 ++++++----------------
35397 1 file changed, 6 insertions(+), 16 deletions(-)
35399 commit cfd2c73826f5bf20624fbdf5b16fd08fbe18a914
35400 Author: Chris Wilson <chris@chris-wilson.co.uk>
35401 Date: Thu Nov 20 09:36:02 2008 +0000
35403 [image] Trim image surface size by a few bytes
35405 Convert an infrequently accessed series of cairo_bool_t and short enums
35406 to a common bitfield.
35408 src/cairo-image-surface.c | 11 ++++++-----
35409 src/cairoint.h | 7 ++++---
35410 2 files changed, 10 insertions(+), 8 deletions(-)
35412 commit 1f48b36933b5ff082edf3e221563c15c3bf16b75
35413 Author: Chris Wilson <chris@chris-wilson.co.uk>
35414 Date: Thu Nov 20 12:41:18 2008 +0000
35416 [script] Build fix for ! HAS_FT_FONT
35418 Correct the macro definition used when compiling without FreeType.
35420 util/cairo-script/cairo-script-operators.c | 5 ++---
35421 1 file changed, 2 insertions(+), 3 deletions(-)
35423 commit 0d5e533b6cc43c4ebc030140933247cf160d47cd
35424 Author: Chris Wilson <chris@chris-wilson.co.uk>
35425 Date: Wed Nov 19 17:03:13 2008 +0000
35427 [trace] Correctly push font-face onto the operand stack.
35429 We tried to push a reference to an undefined font-face, now we just copy
35430 from the operand stack.
35432 util/cairo-trace/trace.c | 61 +++++++++++++++++++++++++++-------------------
35433 1 file changed, 36 insertions(+), 25 deletions(-)
35435 commit b426346b482e2687081433213ae107cb7b2ebe58
35436 Author: Chris Wilson <chris@chris-wilson.co.uk>
35437 Date: Wed Nov 19 16:04:57 2008 +0000
35439 [trace] Construct matrices directly
35441 Avoid building a temporary array by constructing the matrix directly.
35443 util/cairo-trace/trace.c | 10 +++++-----
35444 1 file changed, 5 insertions(+), 5 deletions(-)
35446 commit 727ff2bd7260f26c9390079258c43e6890ef2284
35447 Author: Chris Wilson <chris@chris-wilson.co.uk>
35448 Date: Wed Nov 19 14:25:20 2008 +0000
35450 [xlib] Explicitly track whether the GC has clip_rects.
35452 Simplify the logic and remove some pessimism from the code by explicitly
35453 tracking when we set clip rectangles on the GC.
35455 src/cairo-xlib-surface-private.h | 1 +
35456 src/cairo-xlib-surface.c | 6 +++---
35457 2 files changed, 4 insertions(+), 3 deletions(-)
35459 commit 63a86a470fb88ee876414164e7e26789c1065b82
35460 Author: Chris Wilson <chris@chris-wilson.co.uk>
35461 Date: Wed Nov 19 14:04:01 2008 +0000
35463 [surface] Replay meta surfaces to a similar surface.
35465 When cloning a meta-surface, first attempt to replay it to a similar
35466 surface rather than a full-sized image buffer.
35468 src/cairo-surface.c | 30 ++++++++++++++++++++++++++++--
35469 1 file changed, 28 insertions(+), 2 deletions(-)
35471 commit 7657bda0172f823fba61db4f66e0166c7619fbd2
35472 Author: Chris Wilson <chris@chris-wilson.co.uk>
35473 Date: Tue Dec 18 11:23:33 2007 +0000
35475 [perf/pythagoras_tree] Another fractal.
35477 Test lots of rectangles and recursion path construction.
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(-)
35485 commit abd0a2627d198eddb628bbc1f2974435a74655a2
35486 Author: Chris Wilson <chris@chris-wilson.co.uk>
35487 Date: Tue Dec 18 10:49:23 2007 +0000
35489 [perf/dragon] Add a dragon curve perf case.
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.
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(-)
35501 commit 81ef772aa0bf512ec5ad8752da160117498bdb30
35502 Author: Chris Wilson <chris@chris-wilson.co.uk>
35503 Date: Wed Nov 19 11:00:35 2008 +0000
35505 [xlib] Mark GC as dirty if we have an outstanding clip.
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.
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
35516 src/cairo-xlib-surface.c | 4 +++-
35517 1 file changed, 3 insertions(+), 1 deletion(-)
35519 commit c41b99268dd2424d09ab12ca560d5db30b6b6faf
35520 Author: Chris Wilson <chris@chris-wilson.co.uk>
35521 Date: Wed Nov 19 11:49:04 2008 +0000
35523 Conditionally include byteswap.h
35525 Fixup compilation by copying the checks from cairo-wideint-private.h to
35526 conditionally include byteswap.h and provide fallback implementations.
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(-)
35535 commit 8345fedbe4d4d003c1f26a78ac7c512c04d04173
35536 Author: Chris Wilson <chris@chris-wilson.co.uk>
35537 Date: Wed Nov 19 11:44:42 2008 +0000
35539 [spline] Fix compile.
35541 Do not return the result of a void function. gcc chose to not warn about
35542 this when removing the return parameter...
35544 src/cairo-spline.c | 6 ++++--
35545 1 file changed, 4 insertions(+), 2 deletions(-)
35547 commit b6c371a47f33ec10d4d6130cc15677761df2bdfd
35548 Author: Chris Wilson <chris@chris-wilson.co.uk>
35549 Date: Wed Nov 19 08:44:24 2008 +0000
35551 [pattern] Cosmetic.
35553 surface is equal to pattern->surface at this point.
35555 src/cairo-pattern.c | 2 +-
35556 1 file changed, 1 insertion(+), 1 deletion(-)
35558 commit 7894abbe6d43b10ab2a92d99bdd6a08878e9022c
35559 Author: Chris Wilson <chris@chris-wilson.co.uk>
35560 Date: Wed Nov 19 08:37:26 2008 +0000
35562 [test] Support foreground only execution.
35564 Add an option to prevent forking - which makes it difficult to
35565 valgrind/gdb individual tests.
35567 test/Makefile.am | 1 +
35568 test/cairo-test-runner.c | 120 +++++++++++++++++++++++++---------------------
35569 2 files changed, 67 insertions(+), 54 deletions(-)
35571 commit 645df0c6d2a3d9999bb18ddb8bb9995b3d597554
35572 Author: Chris Wilson <chris@chris-wilson.co.uk>
35573 Date: Tue Nov 18 16:37:59 2008 +0000
35575 [scaled-font] Clean-up compiler warning.
35577 gcc warns that the status may be used uninitialized, so fix it.
35579 src/cairo-scaled-font-subsets.c | 20 ++++++++++----------
35580 1 file changed, 10 insertions(+), 10 deletions(-)
35582 commit 2fdee490745a6c3a75691907aadf8ae38c57234c
35583 Author: Chris Wilson <chris@chris-wilson.co.uk>
35584 Date: Mon Nov 17 12:22:39 2008 +0000
35586 [compiler] likelihood macros
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))
35594 src/cairo-compiler-private.h | 8 ++++----
35595 src/cairo-hash.c | 2 +-
35596 2 files changed, 5 insertions(+), 5 deletions(-)
35598 commit 97edc680c189205ac2f4e150009f1f1cbe55ba1a
35599 Author: Chris Wilson <chris@chris-wilson.co.uk>
35600 Date: Tue Nov 18 10:49:27 2008 +0000
35602 [twin] Reduce tolerance.
35604 As the glyphs are rendered to cache, ensure that they are rendered at the
35605 highest quality settings.
35607 src/cairo-font-face-twin.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(+)
35615 commit e50538863a2c063eba61b36cc08eff6eeb712956
35616 Author: Chris Wilson <chris@chris-wilson.co.uk>
35617 Date: Tue Nov 18 10:45:19 2008 +0000
35619 [twin] Tweak line width.
35621 Slightly increase line width to eliminate internal holes in the characters
35622 where the strokes were not quite overlapping.
35624 src/cairo-font-face-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(-)
35633 commit 91c17d33324b51a3876bc6ce778c684111139303
35634 Author: Chris Wilson <chris@chris-wilson.co.uk>
35635 Date: Tue Nov 18 00:32:54 2008 +0000
35637 [trace] Simple unbounded cache for symbol lookups.
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.)
35645 util/cairo-trace/lookup-symbol.c | 70 ++++++++++++++++++++++++++++++++------
35646 util/cairo-trace/trace.c | 9 ++---
35647 2 files changed, 65 insertions(+), 14 deletions(-)
35649 commit 2839a0e800d6cc12b28da44f30a9e278ceac65aa
35650 Author: Chris Wilson <chris@chris-wilson.co.uk>
35651 Date: Sun Nov 16 20:04:55 2008 +0000
35653 [script] Add a simple replay.
35655 A very simple replay program for trace replay.
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(-)
35662 commit b091c5bfcad170fd563699a1c8b11e7d25d159a2
35663 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
35664 Date: Tue Nov 18 00:20:38 2008 +0200
35666 BIBLIOGRAPHY: Cite Hars & Petruska's Pseudorandom Recursions paper.
35668 BIBLIOGRAPHY | 15 +++++++++++++++
35669 1 file changed, 15 insertions(+)
35671 commit 3a82f943988413e0d3fada9932bb385f4cbdb3c7
35672 Author: Chris Wilson <chris@chris-wilson.co.uk>
35673 Date: Sun Nov 16 18:21:52 2008 +0000
35675 [test] Add util/cairo-script to include path.
35677 any2ppm needs the include path for cairo-script-interpreter so that it can
35678 be built without an existing install.
35680 test/Makefile.am | 3 ++-
35681 test/any2ppm.c | 3 ---
35682 2 files changed, 2 insertions(+), 4 deletions(-)
35684 commit 997fa6a7729b72b25d9275929bf190e71eed1b9d
35685 Author: Chris Wilson <chris@chris-wilson.co.uk>
35686 Date: Sun Nov 16 17:43:40 2008 +0000
35688 [configure] Remove old line for CairoScript testing.
35690 CairoScript testing should now be unconditional so remove the surplus
35693 build/configure.ac.features | 1 -
35694 1 file changed, 1 deletion(-)
35696 commit a2eff7c7deb9b41c387472bb91b9a7b9c8f319f0
35697 Author: Chris Wilson <chris@chris-wilson.co.uk>
35698 Date: Sun Nov 16 16:19:25 2008 +0000
35700 [test] Add build rule for libcairo-script-interpreter.la
35702 Add a rule to build the cairo-script-interpreter on behalf of any2ppm.
35704 test/Makefile.am | 3 +++
35705 1 file changed, 3 insertions(+)
35707 commit bf309aab6072ee1004073e71bccdf3c8040a8ad6
35708 Author: Chris Wilson <chris@chris-wilson.co.uk>
35709 Date: Sat Nov 15 11:36:41 2008 +0000
35711 [configure] Delete CAN_TEST_SCRIPT
35713 A CairoScript interpreter is built under utils and so is always available.
35715 configure.ac | 3 ---
35716 test/any2ppm.c | 8 --------
35717 2 files changed, 11 deletions(-)
35719 commit d7873eecc598a558a2a862add8e9b056c4a23a4a
35720 Author: Chris Wilson <chris@chris-wilson.co.uk>
35721 Date: Fri Nov 14 17:18:47 2008 +0000
35723 [spline] Eliminate intermediate allocations during spline decomposition.
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.
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(-)
35742 commit 3bf8379408ce9b1e08d130bcd1076766e36f1bef
35743 Author: Chris Wilson <chris@chris-wilson.co.uk>
35744 Date: Fri Nov 14 09:50:29 2008 +0000
35746 [type1] Propagate fatal NO_MEMORY erro from FreeType.
35748 If FreeType fails to load the glyph, check for a fatal error before
35749 falling back (and effectively masking the fatal condition).
35751 src/cairo-type1-subset.c | 14 ++++++++++++--
35752 1 file changed, 12 insertions(+), 2 deletions(-)
35754 commit db9ed77d8aa4f4b4c8410e52e5bbd16ffa94ee24
35755 Author: Chris Wilson <chris@chris-wilson.co.uk>
35756 Date: Thu Nov 13 20:36:14 2008 +0000
35758 [cairo] FLush surface on cairo_destroy()
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.
35766 src/cairo.c | 11 +++++++++++
35767 1 file changed, 11 insertions(+)
35769 commit 032be9849dfc32ec8802a4f086619755a3a397f5
35770 Author: Chris Wilson <chris@chris-wilson.co.uk>
35771 Date: Thu Nov 13 16:36:01 2008 +0000
35773 [skiplist] Inline testing.
35775 Add a loop to create a skip list to allow manual checking.
35777 src/Makefile.am | 5 ++++-
35778 src/cairo-skiplist.c | 36 ++++++++++++++++++++++++++++++++++++
35779 2 files changed, 40 insertions(+), 1 deletion(-)
35781 commit e44c1f26e48cfb2f74834b6a8ef8532b0bd28982
35782 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
35783 Date: Sat Oct 18 01:15:44 2008 +0300
35785 Use a smaller and faster random number generator.
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).
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
35801 src/cairo-skiplist.c | 200 +++-----------------------------------------------
35802 1 file changed, 11 insertions(+), 189 deletions(-)
35804 commit a4c5371b5e6d0df71efc75fee6f6a8fe8c6d3488
35805 Author: Chris Wilson <chris@chris-wilson.co.uk>
35806 Date: Thu Nov 13 14:56:38 2008 +0000
35808 [os2] Move include cairo.h before os2.h
35810 The defines need to come first, but we specify that cairo.h is the first
35811 header file to be included by files.
35813 src/cairo-os2.h | 4 ++--
35814 1 file changed, 2 insertions(+), 2 deletions(-)
35816 commit 456252a1c2b00685bee18c01bf27738d6125b4f8
35817 Merge: 3b11997 ab61544
35818 Author: Carl Worth <cworth@cworth.org>
35819 Date: Fri Nov 14 15:27:34 2008 +0100
35828 commit ab61544b30406a49abc1f559d81129edce6d41ec
35829 Author: Carl Worth <cworth@cworth.org>
35830 Date: Fri Nov 14 13:17:01 2008 +0100
35832 Increment version to 1.8.5 after the 1.8.4 release.
35834 cairo-version.h | 2 +-
35835 1 file changed, 1 insertion(+), 1 deletion(-)
35837 commit 66e8f142e381501d114888c2d1fc1e7f6d6a9857
35838 Author: Carl Worth <cworth@cworth.org>
35839 Date: Fri Nov 14 11:08:40 2008 +0100
35841 Increment version to 1.8.4
35843 cairo-version.h | 2 +-
35844 1 file changed, 1 insertion(+), 1 deletion(-)
35846 commit b9c1344ad82d38bb86fa85fbb565b2de64aa0e35
35847 Author: Carl Worth <cworth@cworth.org>
35848 Date: Fri Nov 14 11:07:10 2008 +0100
35850 NEWS: Add notes for cairo 1.8.4
35852 Just a few bug fixes here.
35854 NEWS | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
35855 1 file changed, 52 insertions(+)
35857 commit 3b11997a23baa9e38e87b584ee29f4888a5d92f7
35858 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
35859 Date: Thu Nov 13 18:01:47 2008 +0200
35861 [cairo-script] Remove outdated #error to allow compilation to succeed.
35863 The interpreter doesn't depend on the script surface anymore.
35865 util/cairo-script/cairo-script-interpreter.h | 6 ------
35866 1 file changed, 6 deletions(-)
35868 commit d654d528de16769932131da80f4b925151d50103
35869 Author: Carl Worth <cworth@cworth.org>
35870 Date: Thu Nov 13 16:45:15 2008 +0100
35872 Blacklist "X.Org" < 7.0 with the buggy_repeat workaround.
35874 This is in response to a report that a 6.9 server crashes with
35875 cairo's extend-reflect test:
35877 https://bugs.freedesktop.org/show_bug.cgi?id=15628#c2
35879 src/cairo-xlib-display.c | 11 +++++++++--
35880 1 file changed, 9 insertions(+), 2 deletions(-)
35882 commit 35a1ba0ddc45f9cc785c6f8a37b6bb49c953e047
35883 Author: Carl Worth <cworth@cworth.org>
35884 Date: Thu Nov 13 16:36:20 2008 +0100
35886 Document the buggy_repeat workaround more carefully.
35888 It's a confusing condition, so let's be explicit about where
35889 the various numbers come from.
35891 src/cairo-xlib-display.c | 54 ++++++++++++++++++++++++++++++++--------------
35892 1 file changed, 38 insertions(+), 16 deletions(-)
35894 commit cdfffc7420e005b2a7d1979feef8bd304183126c
35895 Author: Chris Wilson <chris@chris-wilson.co.uk>
35896 Date: Thu Nov 13 11:07:45 2008 +0000
35898 Add CairoScript interpreter
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.
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(-)
35923 commit a856371bef496da0e84226f4fd2fc3cb72e955ac
35924 Author: Chris Wilson <chris@chris-wilson.co.uk>
35925 Date: Tue Nov 4 10:45:34 2008 +0000
35927 Add CairoScript backend.
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
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 +
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(-)
35971 commit 47a56e08501ec9375f75c15e35a68c77b313ada4
35972 Author: Chris Wilson <chris@chris-wilson.co.uk>
35973 Date: Wed Sep 10 16:51:52 2008 +0100
35975 [type1] Bind the RD procedure
35977 As the RD procedure may be called several hundred times for a full font,
35978 it is worth binding.
35980 src/cairo-type1-fallback.c | 2 +-
35981 1 file changed, 1 insertion(+), 1 deletion(-)
35983 commit 0769d39d0093ec3bff5b72ecbfcef1bae2f03be2
35984 Author: Chris Wilson <chris@chris-wilson.co.uk>
35985 Date: Thu Nov 13 11:13:22 2008 +0000
35987 Add predicate likelihood macros.
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.
35992 src/cairo-compiler-private.h | 17 +++++++++++++++++
35993 1 file changed, 17 insertions(+)
35995 commit b06c50cc54140a662adacde6336a3e7777f26ac3
35996 Author: Chris Wilson <chris@chris-wilson.co.uk>
35997 Date: Thu Nov 13 11:21:26 2008 +0000
35999 [cairoint.h] Remove unused PLT entries.
36001 Trim the slim_hidden_proto/def to match the currently used functions.
36003 src/cairo-pattern.c | 1 -
36004 src/cairo.c | 3 ---
36005 src/cairoint.h | 16 ++++++----------
36006 3 files changed, 6 insertions(+), 14 deletions(-)
36008 commit 20fc2a2f92e27082a8806b9acb4b904dc84da672
36009 Author: Chris Wilson <chris@chris-wilson.co.uk>
36010 Date: Tue Nov 11 11:35:14 2008 +0000
36012 [in-fill] Fixup boundary insideness testing
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.
36018 src/cairo-path-in-fill.c | 2 +-
36019 1 file changed, 1 insertion(+), 1 deletion(-)
36021 commit 9afad537301529a5a4b4ddf8b7e4425002ea39c7
36022 Author: Chris Wilson <chris@chris-wilson.co.uk>
36023 Date: Tue Nov 11 10:22:17 2008 +0000
36025 [test] Expand in-fill-trapezoid
36027 Test vertices and edges of a rectangle to probe 'corner-cases', using the
36028 insideness conditions from flash.
36030 test/in-fill-trapezoid.c | 34 ++++++++++++++++++++++++++++++++++
36031 1 file changed, 34 insertions(+)
36033 commit cebc84f367a81eedebf7ab0b6b082691923c3ef7
36034 Author: Chris Wilson <chris@chris-wilson.co.uk>
36035 Date: Sat Nov 8 00:06:38 2008 +0000
36037 [hash] Separate out unique patterns of iterating over the table.
36039 Avoid unnecessary conditionals for the hotpaths by separating out the
36040 iteration over the elements into their distinct modes.
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(-)
36047 commit 5f0aa274459fa182d1f82d393224c46ce2b12785
36048 Author: Chris Wilson <chris@chris-wilson.co.uk>
36049 Date: Thu Nov 13 10:45:15 2008 +0000
36051 [trace] Add caller line info.
36053 Use lookup_symbol() on the return address to identify the caller and emit
36054 useful debug info to the trace.
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(-)
36061 commit 4cd6b0c0b9862f398877cb23c294399b480ac8d0
36062 Author: Chris Wilson <chris@chris-wilson.co.uk>
36063 Date: Wed Nov 12 00:37:40 2008 +0000
36065 [trace] Check for an undefined pattern and use index instead.
36067 util/cairo-trace/trace.c | 20 ++++++++++++++++++--
36068 1 file changed, 18 insertions(+), 2 deletions(-)
36070 commit 76f249a49399744d6d936e36ca4d68ab4a1f3d3b
36071 Author: Chris Wilson <chris@chris-wilson.co.uk>
36072 Date: Tue Nov 11 09:12:50 2008 +0000
36074 [trace] Detect and report broken traces.
36076 We cannot trace the cairo-script-interpreter as that uses Cairo's private
36079 util/cairo-trace/trace.c | 15 ++++++++++++++-
36080 1 file changed, 14 insertions(+), 1 deletion(-)
36082 commit 01e2021b2b7b66e7cdb9c4b0326fd5793759848b
36083 Author: Chris Wilson <chris@chris-wilson.co.uk>
36084 Date: Mon Nov 10 16:15:28 2008 +0000
36086 [trace] Trace mark-dirty
36088 Capture the image data on mark dirty and record in the trace.
36090 util/cairo-trace/cairo-trace.in | 2 +-
36091 util/cairo-trace/trace.c | 121 +++++++++++++++++++++++++++++++++------
36092 2 files changed, 106 insertions(+), 17 deletions(-)
36094 commit 8f3d0b55f50168f061a01eecfcb4ebecbff0e1c6
36095 Author: Chris Wilson <chris@chris-wilson.co.uk>
36096 Date: Tue Nov 11 09:25:24 2008 +0000
36098 [trace] Add unstable warning.
36100 Add warning that CairoScript is unfinished and I may radically alter the
36101 format/syntax/language before release.
36103 util/cairo-trace/trace.c | 1 +
36104 1 file changed, 1 insertion(+)
36106 commit 7ad2635ebe84ba7c050a7f00c5389cdc31ab1172
36107 Author: Chris Wilson <chris@chris-wilson.co.uk>
36108 Date: Tue Nov 11 09:46:38 2008 +0000
36110 [trace] Disable stdout by default.
36112 Don't hog the terminal when we save to a trace file anyway.
36114 util/cairo-trace/cairo-trace.in | 48 +++++++++++++++++++++++----------------
36115 1 file changed, 29 insertions(+), 19 deletions(-)
36117 commit efa9e1088cbf1b5331cc0bab3348520f3b91ae4b
36118 Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
36119 Date: Thu Nov 13 12:11:12 2008 +0200
36121 [clip] Fix uninitialised status return in _cairo_clip_intersect_mask() for empty extents.
36123 This fixes the clip-all test case crashing for me.
36125 src/cairo-clip.c | 2 +-
36126 1 file changed, 1 insertion(+), 1 deletion(-)
36128 commit 279a7cef349cf5aa87cdeacb9424413f51117fe8
36129 Author: Behdad Esfahbod <behdad@behdad.org>
36130 Date: Thu Nov 13 10:50:41 2008 +0100
36134 Patch from Dave Yeo to make cairo-os2.h include os2.h directly so the
36135 header is standalone.
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(-)
36142 commit 0a682034a04fa7fc1407e7bc093ae01f4b385ad7
36143 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
36144 Date: Tue Nov 11 13:26:09 2008 -0500
36146 Make the clipping implementation comment clearer
36148 When reviewing the spans changes, I reread this comment and it wasn't as clear
36151 src/cairo-clip.c | 7 ++++---
36152 1 file changed, 4 insertions(+), 3 deletions(-)
36154 commit 4fdd856569a67636aaf29bc1a76eed44418db484
36155 Author: Peter Weilbacher <mozilla@weilbacher.org>
36156 Date: Tue Nov 11 15:37:09 2008 +0100
36158 README: adapt pixman version requirement to match configure.ac
36161 1 file changed, 1 insertion(+), 1 deletion(-)
36163 commit 9c0042840c70c14e3e608ac3849edf5f1ef99816
36164 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
36165 Date: Tue Nov 11 08:41:31 2008 -0500
36167 [quartz] Add the proper propagation of extents
36169 This fixes the problems introduced by d682d275b90f7326df76d2764c513c8b6d5b551b
36171 src/cairo-quartz-surface.c | 24 +++++++++++++-----------
36172 1 file changed, 13 insertions(+), 11 deletions(-)
36174 commit 57551a91168a68399add9e5c324fba03961b7747
36175 Author: Jeff Muizelaar <jeff@infidigm.net>
36176 Date: Tue Nov 11 08:31:23 2008 -0500
36178 [quartz] Fix fallout caused by const cairo_pattern_t *
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.
36184 src/cairo-quartz-surface.c | 41 ++++++++++++++++++++++++-----------------
36185 1 file changed, 24 insertions(+), 17 deletions(-)
36187 commit 164069b339843837e04e2522a615f03a83b362c0
36188 Author: Maarten Maathuis <madman2003@gmail.com>
36189 Date: Sat Nov 8 15:29:40 2008 +0100
36191 cairo-xcb: avoid leaking memory
36193 src/cairo-xcb-surface.c | 3 +++
36194 1 file changed, 3 insertions(+)
36196 commit 5badcf6e370b9808374a1fa547383b236a9dcd21
36197 Author: Chris Wilson <chris@chris-wilson.co.uk>
36198 Date: Sat Nov 8 11:17:34 2008 +0000
36200 [trace] Use a string literal for the type.
36202 In order that the string is interned and so is only allocated the once.
36204 util/cairo-trace/trace.c | 28 ++++++++++++++--------------
36205 1 file changed, 14 insertions(+), 14 deletions(-)
36207 commit 1d0faefbc8700833e9bde8a9c825b02b0f3cf910
36208 Author: Chris Wilson <chris@chris-wilson.co.uk>
36209 Date: Fri Nov 7 22:48:21 2008 +0000
36211 [trace] Record the XID as a number
36213 Don't waste string constants (which get interned) for a simple number!
36215 util/cairo-trace/trace.c | 6 +++---
36216 1 file changed, 3 insertions(+), 3 deletions(-)
36218 commit 899a159b133e22f71e2a176785c91e78838c3fee
36219 Author: Chris Wilson <chris@chris-wilson.co.uk>
36220 Date: Sat Nov 8 11:16:03 2008 +0000
36222 [trace] Remove stray /source
36224 An accidental /source was pushing pushed onto the operand stack and never
36227 util/cairo-trace/trace.c | 1 -
36228 1 file changed, 1 deletion(-)
36230 commit f1cae5c52a5ee71b7933fca702bb525d98936838
36231 Author: Chris Wilson <chris@chris-wilson.co.uk>
36232 Date: Fri Nov 7 20:52:08 2008 +0000
36234 [ps] Trivial compile warning clenaup.
36236 Add a missing const to silence the compiler.
36238 src/cairo-ps-surface.c | 2 +-
36239 1 file changed, 1 insertion(+), 1 deletion(-)
36241 commit 2b32c8b9e572c96ce8ba5c7d43b568f18f6da295
36242 Author: Chris Wilson <chris@chris-wilson.co.uk>
36243 Date: Fri Nov 7 20:30:33 2008 +0000
36245 [hash] Return lookup entry.
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.
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(-)
36264 commit d15fb9344bf86dd52cda0b43d3dfc49397fd84ec
36265 Author: Karl Tomlinson <karlt+@karlt.net>
36266 Date: Fri Nov 7 20:06:35 2008 +0000
36268 [hash] Set is_unique when finding an available for inserts
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.
36274 src/cairo-hash.c | 16 +++++++---------
36275 1 file changed, 7 insertions(+), 9 deletions(-)
36277 commit cd2e18ddc65959a736fc7b7f6bbd3e76af0495a9
36278 Author: Chris Wilson <chris@chris-wilson.co.uk>
36279 Date: Fri Nov 7 18:35:39 2008 +0000
36281 [test] Fix-up rgb byte packing
36283 Another embarrassing, but thankfully, trivial bug.
36285 boilerplate/cairo-boilerplate.c | 2 ++
36286 test/any2ppm.c | 14 +++++++++-----
36287 2 files changed, 11 insertions(+), 5 deletions(-)
36289 commit 2554d1759835a174b89107808d81d044c3e2e098
36290 Author: Chris Wilson <chris@chris-wilson.co.uk>
36291 Date: Fri Nov 7 13:26:46 2008 +0000
36293 [surface] Pass a separate closure for the mime-type destroy notifier.
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.
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(-)
36310 commit ff0bd64e9436026f11e85eafcd74e9a0131c8b9f
36311 Author: Chris Wilson <chris@chris-wilson.co.uk>
36312 Date: Thu Nov 6 01:22:39 2008 +0000
36314 [NEWS] Add a few notes.
36316 Help Carl with a speedy snapshot by writing a few notes about what has been
36317 added so far to 1.9.
36319 NEWS | 42 ++++++++++++++++++++++++++++++++++++++++++
36320 1 file changed, 42 insertions(+)
36322 commit 13627b46209f9239d10a155f2de7e53c0585e4c2
36323 Author: Chris Wilson <chris@chris-wilson.co.uk>
36324 Date: Thu Nov 6 01:04:52 2008 +0000
36326 [in-fill] Fix transposed arguments.
36328 Silly typo that escaped the test suite.
36330 src/cairo-path-in-fill.c | 2 +-
36331 1 file changed, 1 insertion(+), 1 deletion(-)
36333 commit 9dee7af41f4f5a4c1285e9d7951148e78659c064
36334 Author: Chris Wilson <chris@chris-wilson.co.uk>
36335 Date: Thu Nov 6 01:02:23 2008 +0000
36337 [test] Add off-centre tests to in-fill-trapezoid.
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.
36346 test/in-fill-trapezoid.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++
36347 1 file changed, 66 insertions(+)
36349 commit f5965cb7d6559e051c2581fe446d0b9f40427eb2
36350 Author: Chris Wilson <chris@chris-wilson.co.uk>
36351 Date: Wed Nov 5 23:48:52 2008 +0000
36353 [in-fill] Avoid tessellation by counting number of edge crossing to -∞
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.
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(-)
36368 commit 0ac98461597420d3dfe52e405c6b3322d32f4854
36369 Author: Chris Wilson <chris@chris-wilson.co.uk>
36370 Date: Thu Nov 6 00:04:11 2008 +0000
36372 [test] Add WINDING variants to in-fill test
36374 Check cairo_in_fill() with some WINDING tests as well as the current
36377 test/in-fill-trapezoid.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++
36378 1 file changed, 56 insertions(+)
36380 commit 476d5daa9bfc5e9014d1b6572853d1d78ce6a6d9
36381 Author: Chris Wilson <chris@chris-wilson.co.uk>
36382 Date: Wed Nov 5 19:29:04 2008 +0000
36384 [trace] Only build if we have zlib.
36386 Use the configure check for libz and do not attempt to build the trace
36387 unless we have zlib.
36389 configure.ac | 4 +++-
36390 1 file changed, 3 insertions(+), 1 deletion(-)
36392 commit 34564aa84a4642dceba75efdeef438be6c6896c8
36393 Author: Chris Wilson <chris@chris-wilson.co.uk>
36394 Date: Wed Nov 5 19:27:49 2008 +0000
36396 [test/pdf2png] Remove dependency on GdkPixbuf
36398 It's appears to be dropped from the current poppler trunk, so just use our
36399 own venerable cairo_surface_write_ton_png().
36401 configure.ac | 2 +-
36402 test/pdf2png.c | 32 +++++++++++++++++++-------------
36403 2 files changed, 20 insertions(+), 14 deletions(-)
36405 commit 564d64a1323c5cbcde2dd9365ac790fe8aa1c5a6
36406 Author: Chris Wilson <chris@chris-wilson.co.uk>
36407 Date: Wed Nov 5 18:47:34 2008 +0000
36409 [png] Complete the idempotent read_png() -> write_png()
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.
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()
36419 src/cairo-png.c | 14 ++++++++++++++
36420 1 file changed, 14 insertions(+)
36422 commit ec559822cfe6df0006ca2db2aa3a11699326865c
36423 Author: Chris Wilson <chris@chris-wilson.co.uk>
36424 Date: Wed Nov 5 18:11:36 2008 +0000
36426 [trace] Use the mime-type image representation
36428 When emitting image data, first check to see if we have a pre-compressed
36429 alternate representation.
36431 util/cairo-trace/trace.c | 303 ++++++++++++++++++++++++++++++++--------------
36432 1 file changed, 214 insertions(+), 89 deletions(-)
36434 commit d63267e4e7e148836dcfc4c8e2a8396ddaab70d8
36435 Author: Chris Wilson <chris@chris-wilson.co.uk>
36436 Date: Wed Nov 5 17:18:51 2008 +0000
36438 [test] Update mime-data to check image/png
36440 Add a "image/png" mime-type test.
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(-)
36451 commit e4ec5c762f6d01cc5af28dc0a256e268a04101aa
36452 Author: Chris Wilson <chris@chris-wilson.co.uk>
36453 Date: Wed Nov 5 16:44:49 2008 +0000
36455 [svg] Embed original PNG data.
36457 Embed the attached PNG representation of a surface in preference to
36458 re-encoding the surface.
36460 src/cairo-svg-surface.c | 38 ++++++++++++++++++++++++++++++++++++++
36461 1 file changed, 38 insertions(+)
36463 commit e40d62a0fe96b8b937017a3bc2f18766c411ec41
36464 Author: Chris Wilson <chris@chris-wilson.co.uk>
36465 Date: Wed Nov 5 16:38:34 2008 +0000
36467 [png] Attach the png representation to cairo_surface_create_from_png().
36469 Attach the original png data as an alternate representation for image
36470 surfaces created by cairo_surface_create_from_png().
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 +++---
36477 5 files changed, 122 insertions(+), 59 deletions(-)
36479 commit 89616dee8f11c6a7de3fa476b13661420648786f
36480 Author: Chris Wilson <chris@chris-wilson.co.uk>
36481 Date: Wed Nov 5 16:41:13 2008 +0000
36483 [surface] Don't allocate a structure for mime_data == NULL.
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.
36488 src/cairo-surface.c | 17 ++++++++++-------
36489 1 file changed, 10 insertions(+), 7 deletions(-)
36491 commit a1ab11df01962bea5752f5a5b53926a26a6f34ae
36492 Author: Behdad Esfahbod <behdad@behdad.org>
36493 Date: Wed Nov 5 11:50:20 2008 -0500
36495 Define RepeatNone, etc if the available Render version doesn't (#18385)
36497 src/cairo-xlib-xrender-private.h | 18 ++++++++++++++++++
36498 1 file changed, 18 insertions(+)
36500 commit 43cfaec39cc742ddfbf566b36391d620400e10be
36501 Author: Behdad Esfahbod <behdad@behdad.org>
36502 Date: Wed Nov 5 11:50:20 2008 -0500
36504 Define RepeatNone, etc if the available Render version doesn't (#18385)
36506 src/cairo-xlib-xrender-private.h | 18 ++++++++++++++++++
36507 1 file changed, 18 insertions(+)
36509 commit 199c0e71139fe9baf83e74ea69c01629ace5f9a2
36510 Author: Chris Wilson <chris@chris-wilson.co.uk>
36511 Date: Wed Nov 5 15:12:19 2008 +0000
36513 [svg] Embed jpeg data.
36515 Support jpeg embedding for svg output.
36517 src/cairo-svg-surface.c | 50 +++++++++++++++++++++++++++++++++++++++++++----
36518 test/Makefile.am | 1 +
36519 2 files changed, 47 insertions(+), 4 deletions(-)
36521 commit 2261590875b4be7aa258c51e766f68974750e9e7
36522 Author: Chris Wilson <chris@chris-wilson.co.uk>
36523 Date: Wed Nov 5 15:11:32 2008 +0000
36525 [trace] Trim a few bytes from glyph arrays
36527 Remove some redundant whitespace from the glyph arrays to improve
36528 readability and shrink the output file size.
36530 util/cairo-trace/trace.c | 65 +++++++++++++++++++++++++++-------------------
36531 1 file changed, 38 insertions(+), 27 deletions(-)
36533 commit 248dd97075b50cd91619022098ed5dd35a66b5df
36534 Author: Adrian Johnson <ajohnson@redneon.com>
36535 Date: Thu Nov 6 00:17:53 2008 +1030
36537 win32-printing: Implement JPEG support
36539 src/cairo-win32-printing-surface.c | 91 ++++++++++++++++++++++++++++++++----
36540 src/cairo-win32-private.h | 3 ++
36541 2 files changed, 85 insertions(+), 9 deletions(-)
36543 commit 29621bd3995c5269fd6f73ab501383433bd29768
36544 Author: Chris Wilson <chris@chris-wilson.co.uk>
36545 Date: Wed Nov 5 12:16:47 2008 +0000
36547 [matrix] Remove stray offset from previous commit.
36549 I moved the pixel centre to xc,yc but forgot to remove it during
36550 compensation - as caught by the test suite.
36552 Refresh a couple of reference images that depend upon exact pixel-centre
36553 rounding conditions.
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(-)
36562 commit e811173311ebe76d47eebcf5c6c5c798f9d3ea72
36563 Author: Chris Wilson <chris@chris-wilson.co.uk>
36564 Date: Wed Nov 5 10:59:15 2008 +0000
36566 [matrix] Compensate pixman_matrix in device space.
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.
36571 src/cairo-image-surface.c | 4 ++--
36572 src/cairo-matrix.c | 53 +++++++++++++++++++++++++++------------------
36573 2 files changed, 34 insertions(+), 23 deletions(-)
36575 commit c95eebc92316ad50840fab1cec6c14b6c3e50fa5
36576 Author: Chris Wilson <chris@chris-wilson.co.uk>
36577 Date: Wed Nov 5 09:56:02 2008 +0000
36579 [pattern] Split the translation between the matrix and [xy]_offset
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.
36586 test/scale-offset* now at least shows the source image, even if it is
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(-)
36596 commit d1b8186fd75922e73e62ef8f2ebb011e334ebe36
36597 Author: Chris Wilson <chris@chris-wilson.co.uk>
36598 Date: Wed Nov 5 01:16:25 2008 +0000
36600 [trace] Correct emission of set_font_face and set_source
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.
36606 util/cairo-trace/trace.c | 36 +++++++++++++++++++++++++++---------
36607 1 file changed, 27 insertions(+), 9 deletions(-)
36609 commit 4a4b10271a614ee9bf982994b8f9ec6b6102ee10
36610 Author: Chris Wilson <chris@chris-wilson.co.uk>
36611 Date: Wed Nov 5 00:02:09 2008 +0000
36613 [trace] Capture foreign drawables.
36615 If we attempt to use a surface as a source before we write to it, record
36616 the surface contents.
36618 util/cairo-trace/trace.c | 102 ++++++++++++++++++++++++++++++++++++++++++----
36619 1 file changed, 93 insertions(+), 9 deletions(-)
36621 commit 432fe1ec2792153ec2559ef52aece3fcdc9c5df4
36622 Author: Chris Wilson <chris@chris-wilson.co.uk>
36623 Date: Tue Nov 4 15:30:23 2008 +0000
36625 [trace] Mark filter mode as immediate.
36627 Be consistent and use "//" for the filter mode to indicate a constant.
36629 util/cairo-trace/trace.c | 2 +-
36630 1 file changed, 1 insertion(+), 1 deletion(-)
36632 commit 68309481aa9295026e3e7e6407c793f899b5e600
36633 Author: Chris Wilson <chris@chris-wilson.co.uk>
36634 Date: Wed Nov 5 08:03:01 2008 +0000
36636 [test] Mark targets with is_meta?
36638 Allow tests to skip targets based on whether they are a meta surface or
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(-)
36646 commit 8855f9583e84ae2e6d981e21133f590bff2065ab
36647 Author: Chris Wilson <chris@chris-wilson.co.uk>
36648 Date: Tue Nov 4 20:04:02 2008 +0000
36650 [test] Add scale-offset-(similar|image)
36652 Add a test case for the scaling bug reported by Michel Iwaniec:
36653 http://lists.cairographics.org/archives/cairo/2008-November/015660.html
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(+)
36664 commit aad980900314bd032468f41a3216769c66e62097
36665 Author: Chris Wilson <chris@chris-wilson.co.uk>
36666 Date: Tue Nov 4 19:11:55 2008 +0000
36668 [test] Only depend on any2ppm if we build it.
36670 Do not add a dependency to any2ppm if it has been deconfigured.
36672 test/Makefile.am | 5 ++++-
36673 1 file changed, 4 insertions(+), 1 deletion(-)
36675 commit 59bdeba9abd7bef15c6855d707c4cf92b623cb00
36676 Author: Chris Wilson <chris@chris-wilson.co.uk>
36677 Date: Tue Nov 4 18:42:05 2008 +0000
36679 [matrix] Minimise pixman conversion error.
36681 Minimise the error of the pixman matrix about the centre of the displayed
36682 area rather than the origin.
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(-)
36697 commit 068d465bb3541cc0ffc3cb9daa0848365c0a6a24
36698 Author: Chris Wilson <chris@chris-wilson.co.uk>
36699 Date: Tue Nov 4 14:57:21 2008 +0000
36701 [trace] Fix emission of cairo_scaled_font_create()
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().
36706 util/cairo-trace/trace.c | 27 +++++++++++++--------------
36707 1 file changed, 13 insertions(+), 14 deletions(-)
36709 commit a3d56c60e85176526d6cce139441b6921acc9218
36710 Author: Chris Wilson <chris@chris-wilson.co.uk>
36711 Date: Tue Nov 4 14:06:02 2008 +0000
36713 [trace] Use a common directory by default.
36715 If called directly (e.g. via /etc/ld.so.preload) put the output trace into
36716 a central directory, and not the pwd.
36718 util/cairo-trace/Makefile.am | 10 ++++++++--
36719 util/cairo-trace/trace.c | 8 ++++++--
36720 2 files changed, 14 insertions(+), 4 deletions(-)
36722 commit 3f7a21c5c93d8648ded097757852df44fc9fcaeb
36723 Author: Chris Wilson <chris@chris-wilson.co.uk>
36724 Date: Tue Nov 4 13:46:10 2008 +0000
36726 [test] Add jpeg.jpg to EXTRA_DIST
36728 Forgot to add the new file to the distribution with the previous commit.
36730 test/Makefile.am | 1 +
36731 1 file changed, 1 insertion(+)
36733 commit 9900a2adf3e43e752bd421f00e81873b41db4c30
36734 Author: Chris Wilson <chris@chris-wilson.co.uk>
36735 Date: Tue Nov 4 13:41:02 2008 +0000
36737 [test] Update mime-data jpeg reference data.
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.
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(-)
36752 commit c13a09ddb411287224c15728b14f23fef472f7d0
36753 Author: Chris Wilson <chris@chris-wilson.co.uk>
36754 Date: Tue Nov 4 13:00:36 2008 +0000
36756 [test] Use a different jpeg image for mime-data
36758 Detect when we successfully encode the JPEG data from the mime-type by
36759 using a completely image.
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(-)
36768 commit 8407470409ad9cb93263a1c2da7dd7446d3f897e
36769 Author: Chris Wilson <chris@chris-wilson.co.uk>
36770 Date: Tue Nov 4 12:45:47 2008 +0000
36772 [test] Adapt pdf-mime-data for non-srcdir build.
36774 Need to look for reference/input images from srcdir as well.
36776 test/Makefile.am | 2 +-
36777 test/pdf-mime-data.c | 44 ++++++++++++++++++++++++++++++++------------
36778 2 files changed, 33 insertions(+), 13 deletions(-)
36780 commit 8007618837c0292b6ebc6a4f954c5049d4e99d8a
36781 Author: Chris Wilson <chris@chris-wilson.co.uk>
36782 Date: Tue Nov 4 12:31:10 2008 +0000
36784 [test] Fix compilation of imagediff.
36786 imagediff broke once again.
36788 test/Makefile.am | 3 ++-
36789 test/imagediff.c | 17 +++++++++++++++++
36790 2 files changed, 19 insertions(+), 1 deletion(-)
36792 commit 282d7744275f623ce550638df953ef279d2209f0
36793 Author: Chris Wilson <chris@chris-wilson.co.uk>
36794 Date: Tue Nov 4 12:53:15 2008 +0000
36796 [mime-type] Request the mime-data for the source surface, not ourselves!
36798 Fixup a typo I introduced that caused us to request the jpeg data for the
36799 destination surface and not the source.
36801 src/cairo-pdf-surface.c | 2 +-
36802 src/cairo-ps-surface.c | 5 ++---
36803 2 files changed, 3 insertions(+), 4 deletions(-)
36805 commit aa616abc9ab02e333cf0cad4f524b15c710bf449
36806 Author: Chris Wilson <chris@chris-wilson.co.uk>
36807 Date: Tue Nov 4 11:18:22 2008 +0000
36809 [png] Use RGB for opaque images.
36811 If the ARGB32 is opaque, discard the alpha channel - so we should generate
36812 byte identical output to the reference images.
36814 src/cairo-png.c | 11 +++++++----
36815 1 file changed, 7 insertions(+), 4 deletions(-)
36817 commit 30976635d7072c06d00e39b106e41be7b08c6c49
36818 Author: Adrian Johnson <ajohnson@redneon.com>
36819 Date: Tue Nov 4 22:52:45 2008 +1030
36821 PS: Implement JPEG embedding
36823 src/cairo-ps-surface.c | 104 ++++++++++++++++++++++++++++++++++++++++++++++--
36824 1 file changed, 101 insertions(+), 3 deletions(-)
36826 commit 73bc278c7a4630cd9299c974771ffd6e9245d0ac
36827 Author: Adrian Johnson <ajohnson@redneon.com>
36828 Date: Tue Nov 4 22:25:26 2008 +1030
36830 Add pdf mime data test
36832 To test that images in PDF files correctly embedded the mime data.
36834 test/Makefile.am | 2 +
36835 test/pdf-mime-data.c | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++
36836 2 files changed, 153 insertions(+)
36838 commit 3f18d38fbdc661d34e0fd951e0fd3aa1aa2cbcc9
36839 Author: Chris Wilson <chris@chris-wilson.co.uk>
36840 Date: Tue Nov 4 10:31:48 2008 +0000
36842 [win32] Compile fix for extend-pad extents.
36844 Update the show_glyphs() prototype to include the extents argument.
36846 src/cairo-win32-printing-surface.c | 3 ++-
36847 src/cairo-win32-private.h | 3 ++-
36848 2 files changed, 4 insertions(+), 2 deletions(-)
36850 commit 5ba95b7e1287ade0b8a1acf2f5cb73fa1f44c451
36851 Author: Chris Wilson <chris@chris-wilson.co.uk>
36852 Date: Tue Nov 4 09:22:28 2008 +0000
36854 [trace] Convert [1 0 0 1 0 0] to identity
36856 Simplify the trace/replay by replacing the identity array with the
36859 util/cairo-trace/trace.c | 34 +++++++++++++++++++++++++---------
36860 1 file changed, 25 insertions(+), 9 deletions(-)
36862 commit 3664b32195b101ebab9a5f9087095306f8969c80
36863 Author: Chris Wilson <chris@chris-wilson.co.uk>
36864 Date: Tue Nov 4 10:38:41 2008 +0000
36866 [trace] Remove more @..@ from Makefile.am
36868 Use $(..) for make variable substitution as opposed to incorrectly using
36869 @..@ for substitution by configure.
36871 util/cairo-trace/Makefile.am | 12 ++++++------
36872 1 file changed, 6 insertions(+), 6 deletions(-)
36874 commit 1d8ad69abb88f6e0283b6ce2aadc5d801b8e3722
36875 Author: Behdad Esfahbod <behdad@behdad.org>
36876 Date: Tue Nov 4 01:51:06 2008 -0500
36878 [aclocal.dolt.m4] Fix build with bash versions <= 3.0 (bug #18363)
36880 build/aclocal.dolt.m4 | 2 +-
36881 1 file changed, 1 insertion(+), 1 deletion(-)
36883 commit 310026ab42c2078e2749c886c74c5b38cab41671
36884 Author: Behdad Esfahbod <behdad@behdad.org>
36885 Date: Tue Nov 4 01:51:06 2008 -0500
36887 [aclocal.dolt.m4] Fix build with bash versions <= 3.0 (bug #18363)
36889 build/aclocal.dolt.m4 | 2 +-
36890 1 file changed, 1 insertion(+), 1 deletion(-)
36892 commit 90217550120f129004bc555b59ced28b4b25a4d4
36893 Author: Chris Wilson <chris@chris-wilson.co.uk>
36894 Date: Mon Nov 3 23:45:12 2008 +0000
36896 [mime-data] Copy a reference to the mime-data on snapshotting.
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).
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(-)
36908 commit 4f032ca35a7086b76775e4b53c6b99ba4e1eb3cb
36909 Author: Chris Wilson <chris@chris-wilson.co.uk>
36910 Date: Mon Nov 3 23:23:09 2008 +0000
36912 [trace] Install cairo-trace.so into $(libdir)/cairo
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.
36918 util/cairo-trace/Makefile.am | 7 ++++---
36919 util/cairo-trace/cairo-trace.in | 13 ++++++++++---
36920 2 files changed, 14 insertions(+), 6 deletions(-)
36922 commit c80a1c68c19f876c9f55b7c6d62b18ae110b11d0
36923 Author: Chris Wilson <chris@chris-wilson.co.uk>
36924 Date: Mon Nov 3 23:16:09 2008 +0000
36926 [configure] Make trace consistent.
36928 Remove the debianism from the comments for HAVE_BFD and comply with
36929 Behdad's guidelines on using $(...) within Makefile.am.
36931 configure.ac | 5 ++---
36932 util/cairo-trace/Makefile.am | 6 +++---
36933 2 files changed, 5 insertions(+), 6 deletions(-)
36935 commit 43e2370b024f66d995c514fd53414d3d8588a481
36936 Author: Chris Wilson <chris@chris-wilson.co.uk>
36937 Date: Mon Nov 3 14:20:35 2008 +0000
36939 [test] Update extend-pad.
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.
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(-)
36957 commit b3462c5616ae24fd391ad0872d2fbb98c6cd0c92
36958 Author: Chris Wilson <chris@chris-wilson.co.uk>
36959 Date: Mon Nov 3 13:10:42 2008 +0000
36961 [test] Convert a few residual '-out.*'
36963 Catch a few -out.* hiding in boilerplate.
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(-)
36972 commit 34586860ef08e6aab988ba227997dfe376f9d319
36973 Author: Chris Wilson <chris@chris-wilson.co.uk>
36974 Date: Mon Nov 3 12:11:14 2008 +0000
36976 [trace] Big-endian compile fixes.
36980 util/cairo-trace/trace.c | 8 ++++----
36981 1 file changed, 4 insertions(+), 4 deletions(-)
36983 commit ca83df55a63eab1821dbc009f65b3b09d61f5b62
36984 Author: Chris Wilson <chris@chris-wilson.co.uk>
36985 Date: Mon Nov 3 11:46:31 2008 +0000
36987 [trace] Wrap test surfaces.
36989 Wrap the test surfaces to avoid crashes whilst tracing the test suite.
36991 util/cairo-trace/trace.c | 116 ++++++++++++++++++++++++++++++++++++++++++----
36992 1 file changed, 108 insertions(+), 8 deletions(-)
36994 commit 2c08f3f83b1acd168cd74b300272970658179a0f
36995 Author: Chris Wilson <chris@chris-wilson.co.uk>
36996 Date: Mon Nov 3 11:30:38 2008 +0000
36998 [trace] Autodetect -lbfd during configure
37000 Stop being lazy and detect libbfd during configure.
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(-)
37007 commit 8fc3d0ffebea5622332327cdef9222486cc85581
37008 Author: Chris Wilson <chris@chris-wilson.co.uk>
37009 Date: Mon Nov 3 11:01:22 2008 +0000
37011 [mime-data] Allow embedding of arbitrary mime-types.
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).
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.
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 +++
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(-)
37040 commit afef83a1fae028b45cefd6b4698e7b32ad4d6fc7
37041 Author: Chris Wilson <chris@chris-wilson.co.uk>
37042 Date: Mon Nov 3 09:40:35 2008 +0000
37046 Fix a few minor compiler warnings.
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(-)
37053 commit f77723fc88c12ebf6f5bff5a1797649d134ecc5d
37054 Author: Chris Wilson <chris@chris-wilson.co.uk>
37055 Date: Sun Nov 2 19:59:53 2008 +0000
37057 [pdf] Missing status check.
37059 Check that stream was successfully opened before attempting to write to
37062 src/cairo-pdf-surface.c | 4 +++-
37063 1 file changed, 3 insertions(+), 1 deletion(-)
37065 commit 04e3bb932eeac4f403b512087b96a164d082d52c
37066 Author: Chris Wilson <chris@chris-wilson.co.uk>
37067 Date: Sun Nov 2 21:51:37 2008 +0000
37069 [trace] Emit set_mime_data().
37071 Wrap the new cairo_surface_set_mime_data() function.
37073 util/cairo-trace/trace.c | 30 ++++++++++++++++++++++++++++--
37074 1 file changed, 28 insertions(+), 2 deletions(-)
37076 commit 350fa7b98e5045a4fa05f64a1ad7d8167036be34
37077 Author: Chris Wilson <chris@chris-wilson.co.uk>
37078 Date: Sat Nov 1 13:12:43 2008 +0000
37080 [trace] Fix boundary terminations
37082 Don't increment the terminator!
37084 util/cairo-trace/trace.c | 2 +-
37085 1 file changed, 1 insertion(+), 1 deletion(-)
37087 commit f3cbc5cf4580da83b7edacfd381afee3d571c659
37088 Author: Chris Wilson <chris@chris-wilson.co.uk>
37089 Date: Fri Oct 31 23:47:16 2008 +0000
37091 [trace] Use utf8 len in show_text_glyphs().
37093 Honour the parameter specifying the length of the utf8 string when
37094 emitting show_text_glyphs.
37096 util/cairo-trace/trace.c | 36 ++++++++++++++++++++----------------
37097 1 file changed, 20 insertions(+), 16 deletions(-)
37099 commit 6434cddb899d750b815d71f8f51ae3e4568dd3c0
37100 Author: Adrian Johnson <ajohnson@redneon.com>
37101 Date: Sun Nov 2 11:42:33 2008 +1030
37103 type1-subset: return unsupported on FT errors
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
37109 src/cairo-type1-subset.c | 12 ++++--------
37110 1 file changed, 4 insertions(+), 8 deletions(-)
37112 commit 1685bbee1bf1ebc015ada94f77756d8d10c7818d
37113 Author: Adrian Johnson <ajohnson@redneon.com>
37114 Date: Sun Nov 2 19:50:59 2008 +1030
37116 test/README: fix typo
37119 1 file changed, 1 insertion(+), 1 deletion(-)
37121 commit 540ac11113015f0fd6856d016cb38fec5282b6ce
37122 Author: Adrian Johnson <ajohnson@redneon.com>
37123 Date: Sun Nov 2 11:42:33 2008 +1030
37125 type1-subset: return unsupported on FT errors
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
37131 src/cairo-type1-subset.c | 12 ++++--------
37132 1 file changed, 4 insertions(+), 8 deletions(-)
37134 commit 3707178fa48e23b85c5640f3cee72e19f49c700b
37135 Author: Adrian Johnson <ajohnson@redneon.com>
37136 Date: Mon Sep 8 10:26:58 2008 +0930
37138 PDF: Implement JPEG image embedding
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(+)
37146 commit 3c684347f49a581bfba35202ec61a5f6334acd4a
37147 Author: Adrian Johnson <ajohnson@redneon.com>
37148 Date: Sun Sep 7 20:46:20 2008 +0930
37150 Add cairo_surface_set_mime_data()
37152 Currently only handles jpeg data.
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(+)
37160 commit a39a4f52ac4a057f579e881a9a929029bcc514d1
37161 Author: Adrian Johnson <ajohnson@redneon.com>
37162 Date: Wed Oct 1 21:02:26 2008 +0930
37164 PS: meta-surface patterns with EXTEND_PAD are unsupported
37166 We have to use fallback images for this.
37168 src/cairo-ps-surface.c | 8 ++++++--
37169 1 file changed, 6 insertions(+), 2 deletions(-)
37171 commit 19ee13ca2b5b1e08a7fc965516be514d2fe40232
37172 Author: Adrian Johnson <ajohnson@redneon.com>
37173 Date: Wed Oct 1 21:01:17 2008 +0930
37175 PS: Implement EXTEND_PAD for image patterns
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
37182 src/cairo-ps-surface-private.h | 1 +
37183 src/cairo-ps-surface.c | 99 +++++++++++++++++++++++++++++++++-------
37184 2 files changed, 83 insertions(+), 17 deletions(-)
37186 commit e639b536711c07bc09355205f476ab3f73012268
37187 Author: Adrian Johnson <ajohnson@redneon.com>
37188 Date: Wed Oct 1 21:00:30 2008 +0930
37190 PDF: meta-surface patterns with EXTEND_PAD are unsupported
37192 We have to use fallback images for this.
37194 src/cairo-pdf-surface.c | 8 ++++++--
37195 1 file changed, 6 insertions(+), 2 deletions(-)
37197 commit 6c92edd9a3b0c79857cfa8dee482efa56f40c714
37198 Author: Adrian Johnson <ajohnson@redneon.com>
37199 Date: Wed Oct 1 20:56:49 2008 +0930
37201 PDF: Implement EXTEND_PAD for image patterns
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
37208 src/cairo-pdf-surface.c | 70 +++++++++++++++++++++++++++++++++++++++++------
37209 1 file changed, 62 insertions(+), 8 deletions(-)
37211 commit d146cb4056ab54cf85454a6fe9d36282ca7a3f2e
37212 Author: Adrian Johnson <ajohnson@redneon.com>
37213 Date: Wed Oct 1 20:56:01 2008 +0930
37215 PDF: Store the operation extents in each pattern
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
37221 src/cairo-pdf-surface-private.h | 1 +
37222 src/cairo-pdf-surface.c | 30 ++++++++++++++++++++++++------
37223 2 files changed, 25 insertions(+), 6 deletions(-)
37225 commit fb7cfdd94d4e436e066d884f6dc294efd896b344
37226 Author: Adrian Johnson <ajohnson@redneon.com>
37227 Date: Wed Oct 1 20:52:08 2008 +0930
37229 Make meta-surface store and replay extents of each operation
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.
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.
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(-)
37245 commit d682d275b90f7326df76d2764c513c8b6d5b551b
37246 Author: Adrian Johnson <ajohnson@redneon.com>
37247 Date: Wed Oct 1 20:50:53 2008 +0930
37249 Add an extents argument to the high level surface backend functions
37251 Add a "cairo_rectangle_int_t *extents" argument to to the following
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
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(-)
37283 commit ed2081d97401741db10b0244eaba7ff31ae63346
37284 Author: Adrian Johnson <ajohnson@redneon.com>
37285 Date: Sun Nov 2 15:05:07 2008 +1030
37287 Specify a background color for XFAIL text
37289 To improve readability on terminals with a white background.
37291 test/cairo-test.c | 2 +-
37292 1 file changed, 1 insertion(+), 1 deletion(-)
37294 commit 81c3009c077ddab40df052bffaa646526e2b8dfc
37295 Author: Behdad Esfahbod <behdad@behdad.org>
37296 Date: Fri Oct 31 16:45:58 2008 -0400
37298 [boilerplate/Makefile.win32] Only build source files, not headers
37300 boilerplate/Makefile.win32 | 6 +++++-
37301 1 file changed, 5 insertions(+), 1 deletion(-)
37303 commit d5f88c28021907ad761a1bf1c311bfd206db617e
37304 Author: Behdad Esfahbod <behdad@behdad.org>
37305 Date: Fri Oct 31 13:43:37 2008 -0400
37309 util/cairo-trace/.gitignore | 1 +
37310 1 file changed, 1 insertion(+)
37312 commit 49bd253fd36dc93219a5414c6e7a6daeaa9c63b9
37313 Author: Chris Wilson <chris@chris-wilson.co.uk>
37314 Date: Fri Oct 31 16:40:49 2008 +0000
37316 [tessellator] Refine the math comments.
37318 First of a simple substitution for -?-, as they are very confusing in
37319 context with other minus signs floating around.
37321 Carl has promised to go over these docs with me at the HackFest in order
37322 to improve them (and verify them).
37324 src/cairo-bentley-ottmann.c | 30 +++++++++++++++---------------
37325 1 file changed, 15 insertions(+), 15 deletions(-)
37327 commit ab8a0bfd82f8f474714d7aae4ceff4e7848c9b4b
37328 Author: Chris Wilson <chris@chris-wilson.co.uk>
37329 Date: Fri Oct 31 16:09:13 2008 +0000
37331 Add a COPYING file to each aux. source directory
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.
37339 In particular, cairo-trace needs to include the GPL terms and conditions.
37343 perf/Makefile.am | 2 +-
37345 test/Makefile.am | 2 +-
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(-)
37353 commit c554f18d78fff71aff2d79309b19155de407363d
37354 Author: Chris Wilson <chris@chris-wilson.co.uk>
37355 Date: Fri Oct 31 15:37:58 2008 +0000
37357 [util] Add cairo-trace.
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.
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
37367 The format of the output is CairoScript, watch this space for more
37368 cairo-script tools!
37370 build/configure.ac.system | 2 +
37371 configure.ac | 17 +
37372 util/Makefile.am | 6 +
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(-)
37381 commit 992f74d884c9ea83f7b51c6959dd93718027b99a
37382 Author: Chris Wilson <chris@chris-wilson.co.uk>
37383 Date: Fri Oct 31 13:50:55 2008 +0000
37385 [test] Use '.' as the field separator in the names
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,
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
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(-)
38808 commit e90073f7ddc6f461a935bc360c409b04f1fe9f74
38809 Author: Chris Wilson <chris@chris-wilson.co.uk>
38810 Date: Wed Sep 3 16:38:03 2008 +0100
38812 [test] Build test suite into single binary.
38814 Avoid calling libtool to link every single test case, by building just one
38815 binary from all the sources.
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.
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 +-
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(-)
39051 commit 8457972d40088cda165f31fdd7bd9b4c19c6e095
39052 Author: Chris Wilson <chris@chris-wilson.co.uk>
39053 Date: Fri Oct 31 02:16:54 2008 +0000
39055 [type3] Whitespace.
39057 Tightly scope the output stream.
39059 src/cairo-type3-glyph-surface.c | 3 ++-
39060 1 file changed, 2 insertions(+), 1 deletion(-)
39062 commit 08f4d49a9464bc19bc2ca7f2356a6eb8d62f5daf
39063 Author: Chris Wilson <chris@chris-wilson.co.uk>
39064 Date: Fri Oct 31 02:03:41 2008 +0000
39066 [xlib] Intialise clip_dirty.
39068 Eeek, forgot to set the clip_dirty to 0 on construction.
39070 src/cairo-xlib-surface.c | 1 +
39071 1 file changed, 1 insertion(+)
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
39080 commit 710f7d30d348517602293f123525aef7677d69cf
39081 Author: Chris Wilson <chris@chris-wilson.co.uk>
39082 Date: Fri Oct 31 02:14:53 2008 +0000
39084 [scaled-font] Fix typo that prevented meta_surface lookup.
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.
39090 src/cairo-scaled-font.c | 2 +-
39091 1 file changed, 1 insertion(+), 1 deletion(-)
39093 commit 05fce5bced9718ffa803f5a87df00f96809d1f53
39094 Author: Adrian Johnson <ajohnson@redneon.com>
39095 Date: Sat Apr 5 13:32:51 2008 +1030
39097 PS/PDF: Set image Interpolation flag
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.
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
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.
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(-)
39167 commit 2c53bdb82a955c672c8fee2b1b4c991af2654ae0
39168 Author: Chris Wilson <chris@chris-wilson.co.uk>
39169 Date: Mon Sep 29 21:12:53 2008 +0100
39171 [paginated] Emit fallback images using FILTER_NEAREST.
39173 Fallback images should (in theory) be emitted at native resolution, so
39174 disable filtering to avoid introducing potential artifacts into cairo's
39177 src/cairo-paginated-surface.c | 13 ++++++++-----
39178 1 file changed, 8 insertions(+), 5 deletions(-)
39180 commit f03d3f9f7f923730cdc4c5f21364f752f705086a
39181 Author: Chris Wilson <chris@chris-wilson.co.uk>
39182 Date: Thu Oct 30 19:24:29 2008 +0000
39184 [boilerplate] Remove #if VERSION>1.9.0
39186 Remove the obsolete #if statement.
39188 boilerplate/cairo-boilerplate.c | 2 --
39189 1 file changed, 2 deletions(-)
39191 commit ef98eb26f7484019b023cd4c93dce44f23e3a594
39192 Author: Chris Wilson <chris@chris-wilson.co.uk>
39193 Date: Thu Oct 30 19:23:17 2008 +0000
39195 [test] Reenable device offset testing.
39197 Restore device offset testing that was temporarily disable in the run up
39198 to the 1.8 release.
39200 test/cairo-test.c | 2 +-
39201 1 file changed, 1 insertion(+), 1 deletion(-)
39203 commit 4f2f46ef1bd793a712df045178b3d00d027e3ba6
39204 Author: Chris Wilson <chris@chris-wilson.co.uk>
39205 Date: Thu Oct 30 19:14:07 2008 +0000
39207 Restore the ability to choose the internal font.
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.
39212 The first change is to use "<cairo>" as being a name unlikely to clash
39213 with any real font names.
39215 This reverts commits:
39216 a824d284be23793a5c48b9ae833dcb7b2d5fff80,
39217 292233685534aed712dfd45e8ccf498b792ce496,
39218 e0046aaf417a61da008dc6374871fa3687ba94ab,
39219 f534bd549e1e2283735d1eabb60c015a5949a735.
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(-)
39237 commit 52c3fc58b52c77282998f9ad75657a6bec5956f8
39238 Author: Chris Wilson <chris@chris-wilson.co.uk>
39239 Date: Wed Oct 8 13:04:37 2008 +0100
39241 [tessellator] Simplify dequeuing by using a sentinel value.
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.)
39248 src/cairo-bentley-ottmann.c | 32 ++++++++++++++++----------------
39249 1 file changed, 16 insertions(+), 16 deletions(-)
39251 commit ef9e0a5d1d74ac92a1fcde5a657c866a8e6509e6
39252 Author: Chris Wilson <chris@chris-wilson.co.uk>
39253 Date: Tue Oct 7 22:09:37 2008 +0100
39255 [tessellator] Use a combsort for sorting the event queue.
39257 In my experiments using cairo-perf, the inlined combsort is ~20% quicker
39258 than the library qsort.
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(-)
39265 commit b1461308416fa83d1de0016a9d4804b68a1f1d8f
39266 Author: Behdad Esfahbod <behdad@behdad.org>
39267 Date: Thu Oct 30 14:18:18 2008 -0400
39269 [Makefile.am.releasing] Symlink /manual and /cairo-manual.tar.gz only for releases
39271 And not for snapshots. Also symlink /cairo-manual-X.Y.Z.tar.gz for all
39274 build/Makefile.am.releasing | 13 +++++++++++--
39275 1 file changed, 11 insertions(+), 2 deletions(-)
39277 commit e3a7f522a6b96729b2a0122f8c430c24dc17fc5a
39278 Author: Chris Wilson <chris@chris-wilson.co.uk>
39279 Date: Tue Oct 7 23:33:32 2008 +0100
39281 [tessellator] Perform cheap checks before computing intersect.
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.
39290 Doing so virtually eliminates all division and speeds up the strokes (when
39291 performing self-intersection elimination using the tessellator) perf cases
39294 src/cairo-bentley-ottmann.c | 51 ++++++++++++++++++++++++++++++++++++++++++-
39295 1 file changed, 50 insertions(+), 1 deletion(-)
39297 commit 553fde4bb3e913de7e26bf416166d69bae4d02e1
39298 Author: Chris Wilson <chris@chris-wilson.co.uk>
39299 Date: Sat Oct 4 13:15:08 2008 +0100
39301 [tessellator] Simplify special cases of edges to compare.
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%.
39311 src/cairo-bentley-ottmann.c | 132 ++++++++++++++++++++++++++++++++++---------
39312 1 file changed, 106 insertions(+), 26 deletions(-)
39314 commit cc109df2a70e953d71e3e6fc4e6e54cce4ba0d47
39315 Author: Chris Wilson <chris@chris-wilson.co.uk>
39316 Date: Thu Oct 30 15:50:20 2008 +0000
39318 [test] Update .gitignore
39320 Add a couple of new programs to gitignore.
39322 test/.gitignore | 2 ++
39323 1 file changed, 2 insertions(+)
39325 commit 7d546bba213c3b89404bb3c58a5665343abfcd51
39326 Author: Chris Wilson <chris@chris-wilson.co.uk>
39327 Date: Wed Oct 29 15:46:10 2008 +0000
39329 [xlib] Eliminate shadowed variable.
39331 Cleanup a minor -Wshadow warning.
39333 src/cairo-xlib-surface.c | 3 ++-
39334 1 file changed, 2 insertions(+), 1 deletion(-)
39336 commit e3388b8180e38f79e0d5b66cc640c3d5c37db2a8
39337 Author: Chris Wilson <chris@chris-wilson.co.uk>
39338 Date: Wed Oct 29 15:45:09 2008 +0000
39340 [cff-subset] Eliminate shadowed variable.
39342 Cleanup a minor -Wshadow warning.
39344 src/cairo-cff-subset.c | 8 ++++----
39345 1 file changed, 4 insertions(+), 4 deletions(-)
39347 commit 3e18114aff21acfa73a7d13a419719375ae9b5a6
39348 Author: Chris Wilson <chris@chris-wilson.co.uk>
39349 Date: Wed Oct 29 15:43:23 2008 +0000
39351 [user-font] Eliminate shadowed variable
39353 Cleanup a minor -Wshadow warning.
39355 src/cairo-user-font.c | 1 -
39356 1 file changed, 1 deletion(-)
39358 commit d073537e82b57738068a7e1cf1d36ce452876804
39359 Author: Chris Wilson <chris@chris-wilson.co.uk>
39360 Date: Wed Oct 29 15:41:44 2008 +0000
39362 [scaled-font] Eliminate shadowed variable.
39364 Cleanup a minor -Wshadow warning.
39366 src/cairo-scaled-font.c | 1 -
39367 1 file changed, 1 deletion(-)
39369 commit 6429e3f39468ef4f865681b3b5988d35906deeb0
39370 Author: Chris Wilson <chris@chris-wilson.co.uk>
39371 Date: Tue Oct 28 17:38:09 2008 +0000
39373 [xlib] Only set Picture clip as necessary.
39375 Only set ClipRectangles on a new Picture, avoiding redundant calls to
39376 clear the non-existent ClipMask otherwise.
39378 src/cairo-xlib-surface.c | 5 +++--
39379 1 file changed, 3 insertions(+), 2 deletions(-)
39381 commit cd45258c5bf6a06f7bd3f2bfaf928e423a9b70e1
39382 Author: Chris Wilson <chris@chris-wilson.co.uk>
39383 Date: Tue Oct 28 16:54:10 2008 +0000
39385 [xlib] Only clear the GC clip mask as necessary.
39387 Avoid redundant calls to XSetClipMask() for clean GCs.
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(-)
39394 commit d384f864992fbf7513446a70158135a08e704678
39395 Author: Chris Wilson <chris@chris-wilson.co.uk>
39396 Date: Tue Oct 28 16:33:51 2008 +0000
39398 [xlib] Propagate real status from get_screen_info().
39400 Return the real error from _cairo_xlib_screen_info_get() in order to avoid
39401 having to create a fake NO_MEMORY error.
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(-)
39408 commit e25b106e9c33e220fb104afb0929e766647b6de9
39409 Author: Chris Wilson <chris@chris-wilson.co.uk>
39410 Date: Tue Oct 28 16:27:58 2008 +0000
39412 [xlib] Propagate real status from get_display()
39414 Avoid throwing away the error and inventing a new NO_MEMORY error for
39415 _cairo_xlib_display_get().
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(-)
39422 commit 2555f83b11ee23829cfdeaae703420ca3e572fa1
39423 Author: Chris Wilson <chris@chris-wilson.co.uk>
39424 Date: Tue Oct 28 16:22:49 2008 +0000
39426 [xlib] Avoid repeated calls to XRenderQueryVersion
39428 Use the value determined during display initialisation in order to avoid
39429 redundant XRenderQueryFormats requests.
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(-)
39436 commit 0d0c6a199c5b631299c72dce80d66ac0f4936a64
39437 Author: Chris Wilson <chris@chris-wilson.co.uk>
39438 Date: Sun Oct 26 12:53:29 2008 +0000
39440 [matrix] Optimise invert for simple scaling|translation matrices.
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
39447 src/cairo-matrix.c | 26 +++++++++++++++++++++++++-
39448 1 file changed, 25 insertions(+), 1 deletion(-)
39450 commit 74876b00cd969d5cfc209fa903dfad50bda59361
39451 Author: Chris Wilson <chris@chris-wilson.co.uk>
39452 Date: Sat Oct 25 11:33:52 2008 +0100
39454 [xlib] Exploit compaction of XRenderFillRectangle()
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.
39461 src/cairo-xlib-surface.c | 50 +++++++++++++++++++++++++++++-----------------
39462 1 file changed, 32 insertions(+), 18 deletions(-)
39464 commit 64726ccfb99ba964420f3a840fd707998927e902
39465 Author: Chris Wilson <chris@chris-wilson.co.uk>
39466 Date: Fri Oct 24 17:06:04 2008 +0100
39468 [traps] Whitespace.
39470 Fixup whitespace in line with CODING_STYLE and rest of file.
39472 src/cairo-region.c | 6 +++---
39473 src/cairo-traps.c | 33 ++++++++++++++++++++-------------
39474 2 files changed, 23 insertions(+), 16 deletions(-)
39476 commit d5543005e7b7cc08f97578f301182ef4807a05fe
39477 Author: Chris Wilson <chris@chris-wilson.co.uk>
39478 Date: Fri Oct 24 09:00:45 2008 +0100
39480 [surface] Only copy font options if the target surface has them.
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.
39486 src/cairo-surface.c | 18 +++++++++++-------
39487 1 file changed, 11 insertions(+), 7 deletions(-)
39489 commit a0023758104b700751ba8d7a66d75db139eea6cb
39490 Author: Chris Wilson <chris@chris-wilson.co.uk>
39491 Date: Fri Oct 24 08:39:29 2008 +0100
39493 [xlib] Defer querying of font options until first use
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.
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(-)
39506 commit 6706590d4e7ad19dae0b8e3efe6f573d5688e19a
39507 Author: Chris Wilson <chris@chris-wilson.co.uk>
39508 Date: Mon Sep 29 16:22:48 2008 +0100
39510 [pattern] Reduce likelihood of range overflow with large downscaling.
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.
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
39522 src/cairo-pattern.c | 19 +++++++++++++++++++
39523 1 file changed, 19 insertions(+)
39525 commit c0af8c70635d641fc5770afc0cd6e9285122fd72
39526 Author: Chris Wilson <chris@chris-wilson.co.uk>
39527 Date: Mon Oct 20 16:49:23 2008 +0100
39529 [pattern] Tweak REFLECT HACK
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.
39541 src/cairo-pattern.c | 279 +++++++++++++++++++++++++--------------------------
39542 src/cairoint.h | 1 -
39543 2 files changed, 136 insertions(+), 144 deletions(-)
39545 commit 234623b3d5884b02a0619de8ddd57bbed36ef4fd
39546 Author: Chris Wilson <chris@chris-wilson.co.uk>
39547 Date: Thu Oct 23 14:55:26 2008 +0100
39549 [pattern] Support unbounded surfaces.
39551 An unbounded surface should just report an infinite pattern extent and not
39552 return UNSUPPORTED from _cairo_pattern_get_extents().
39554 src/cairo-pattern.c | 3 +++
39555 1 file changed, 3 insertions(+)
39557 commit 2836be6f7565684e86b3cc8a3d2db4ba690b3718
39558 Author: Chris Wilson <chris@chris-wilson.co.uk>
39559 Date: Thu Oct 23 14:42:47 2008 +0100
39561 Cleanup 'status && status != UNSUPPORTED'
39563 Replace instances of 'status && status != UNSUPPORTED' with the more
39564 readable _cairo_status_is_error().
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(-)
39573 commit 13ba43eb8ffc3bb6c8881d91824102a8df86d928
39574 Author: Chris Wilson <chris@chris-wilson.co.uk>
39575 Date: Thu Oct 23 12:28:25 2008 +0100
39577 [matrix] Optimize finding the bounding box under an orthogonal matrix.
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.
39585 src/cairo-matrix.c | 42 +++++++++++++++++++++++++++++++++++++++++-
39586 1 file changed, 41 insertions(+), 1 deletion(-)
39588 commit 6ed957fc242d7890117f4dea121c03ec2523470c
39589 Author: Chris Wilson <chris@chris-wilson.co.uk>
39590 Date: Wed Oct 22 22:02:05 2008 +0100
39592 [gstate] Use _cairo_pattern_black for the default source.
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().
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(-)
39605 commit 794460186459981cd43ca38f3eba07e3f6bf8908
39606 Author: Chris Wilson <chris@chris-wilson.co.uk>
39607 Date: Wed Oct 22 19:24:44 2008 +0100
39609 [pattern] Avoid needless copying of patterns.
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.
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(-)
39645 commit 9d2189afbd2aa1413f620a4d35016ef3be3fc0e9
39646 Author: Chris Wilson <chris@chris-wilson.co.uk>
39647 Date: Wed Oct 22 18:29:02 2008 +0100
39649 [pattern] Do not recompute the inverse if setting an identical matrix.
39651 More micro-optimisation.
39653 src/cairo-pattern.c | 3 +++
39654 1 file changed, 3 insertions(+)
39656 commit 2c277ddbea42222130b8b1c2a2b4934503b40188
39657 Author: Chris Wilson <chris@chris-wilson.co.uk>
39658 Date: Wed Oct 22 18:17:49 2008 +0100
39660 [matrix] Avoid error correction overhead for translation matrices.
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.
39666 src/cairo-matrix.c | 11 ++++++++---
39667 1 file changed, 8 insertions(+), 3 deletions(-)
39669 commit 57a1d932f3e9d79f3259a536ec2f45f020d46de5
39670 Author: Chris Wilson <chris@chris-wilson.co.uk>
39671 Date: Wed Oct 22 18:12:10 2008 +0100
39673 [array] Rearrange user_data_fini() to optimize common case.
39675 Micro-optimisation to avoid the _cairo_array_index() for the common case
39678 src/cairo-array.c | 16 ++++++++++------
39679 1 file changed, 10 insertions(+), 6 deletions(-)
39681 commit 2852127c72fa6cfe246e6ece0433be6c3f2a93ab
39682 Author: Chris Wilson <chris@chris-wilson.co.uk>
39683 Date: Wed Oct 22 18:04:30 2008 +0100
39685 [cairoint] Add a few cairo_pure.
39687 Start marking up the prototypes with function attributes - first the
39688 obvious pure functions.
39690 src/cairoint.h | 12 ++++++------
39691 1 file changed, 6 insertions(+), 6 deletions(-)
39693 commit cf072c7203dfce989ee60e56352f548329d3d616
39694 Author: Chris Wilson <chris@chris-wilson.co.uk>
39695 Date: Thu Oct 30 14:35:49 2008 +0000
39697 [sdl] Add new backend.
39699 Add a new backend to allow easy interoperability with the Simple
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 +
39708 src/Makefile.sources | 3 +
39709 src/cairo-sdl-surface.c | 418 +++++++++++++++++++++++++++
39710 src/cairo-sdl.h | 54 ++++
39712 10 files changed, 628 insertions(+), 1 deletion(-)
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
39721 commit ab15d7627506a837fea7101661425bb923ef5b4f
39722 Author: Chris Wilson <chris@chris-wilson.co.uk>
39723 Date: Thu Oct 30 16:54:23 2008 +0000
39725 [test] Remove XFAIL from user-font-mask
39727 user-font-mask should PASS modulo the scaling anomalies in the external
39728 renderers, so remove it from the XFAIL list.
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(-)
39737 commit 540f555840ba4076e3ab86669daf9bee5695afa2
39738 Author: Chris Wilson <chris@chris-wilson.co.uk>
39739 Date: Thu Oct 23 14:38:44 2008 +0100
39741 [analysis] Only limit to mask extends if bounded by mask.
39743 The extents of cairo_mask() is only limited to the mask if the operation
39744 is bounded by the mask.
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(-)
39755 commit 4b2998893930e4bab19646e6f0a0c8d2a47f12a2
39756 Author: Chris Wilson <chris@chris-wilson.co.uk>
39757 Date: Thu Oct 23 14:34:30 2008 +0100
39759 Review users of cairo_rectangle_int_t for incorrect unsigned promotion.
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.
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(-)
39780 commit 0e4156121f05b14f800289ea34c5382de1f20869
39781 Author: Chris Wilson <chris@chris-wilson.co.uk>
39782 Date: Thu Oct 23 13:37:41 2008 +0100
39784 [rectangle] Fix unsigned promotion whilst computing intersect.
39786 _cairo_rectangle_intersect() incorrectly allows unsigned promotion during
39789 src/cairo-rectangle.c | 31 +++++++++++++++++--------------
39790 src/cairoint.h | 3 ++-
39791 2 files changed, 19 insertions(+), 15 deletions(-)
39793 commit 2464b8a0a9f7db7421c257eb4e3ac0d98af34761
39794 Author: Chris Wilson <chris@chris-wilson.co.uk>
39795 Date: Thu Oct 23 13:36:19 2008 +0100
39797 [pattern] Allow the projected surface extents to be negative.
39799 In order to handle projection of analysis surface with user-fonts we need
39800 to accommodate patterns extending into negative coordinate space.
39802 src/cairo-pattern.c | 8 ++++----
39803 1 file changed, 4 insertions(+), 4 deletions(-)
39805 commit d5d29075bdbb7f412fa6dc182573da18fd81af54
39806 Author: Chris Wilson <chris@chris-wilson.co.uk>
39807 Date: Thu Oct 23 15:24:13 2008 +0100
39809 [gstate] Allocate temporary variable for backend_to_user transform.
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.
39817 src/cairo-gstate.c | 69 +++++++++++++++++++++++++++++++++++++---------------
39818 1 file changed, 50 insertions(+), 19 deletions(-)
39820 commit 30f2df1dec419a10408b53ecd26cebfcf607bf27
39821 Author: Carl Worth <cworth@cworth.org>
39822 Date: Thu Oct 30 08:40:35 2008 -0700
39824 Fix typo in bug URL.
39826 Thanks to AndrewR in IRC for pointing out the typo.
39829 1 file changed, 1 insertion(+), 1 deletion(-)
39831 commit b598dcd1b1726184506de6a9d253f6091a000922
39832 Author: Carl Worth <cworth@cworth.org>
39833 Date: Thu Oct 30 08:29:51 2008 -0700
39835 Fix release-publish to also update the current manual.
39837 That is, the vesion that appears as:
39839 http://cairographics.org/manual
39841 http://cairographics.org/cairo-manual.tar.gz
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.
39850 build/Makefile.am.releasing | 18 ++++--------------
39851 2 files changed, 6 insertions(+), 15 deletions(-)
39853 commit 91183a503e3b7bed11e0149783d3974e26daf623
39854 Author: Carl Worth <cworth@cworth.org>
39855 Date: Thu Oct 30 08:26:55 2008 -0700
39857 RELEASING: Mention that a versioned manual is uploaded.
39860 1 file changed, 2 insertions(+)
39862 commit 5037fa238e820419824773fa2ea475c949e23a8c
39863 Author: Carl Worth <cworth@cworth.org>
39864 Date: Thu Oct 30 08:23:06 2008 -0700
39866 Increment version to 1.9.1
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.
39871 cairo-version.h | 4 ++--
39872 1 file changed, 2 insertions(+), 2 deletions(-)
39874 commit d53537e8b5e3a8345983d8a0529cb230fa2886d1
39875 Author: Carl Worth <cworth@cworth.org>
39876 Date: Thu Oct 30 08:20:59 2008 -0700
39878 Increment version to 1.8.3 after the 1.8.2 release.
39880 Thanks to Chris Wilson (who else?) for the last-minute bug fix.
39882 cairo-version.h | 2 +-
39883 1 file changed, 1 insertion(+), 1 deletion(-)
39885 commit f7c958d97221375fdcbb6c58c3b58c07676b7589
39886 Author: Carl Worth <cworth@cworth.org>
39887 Date: Wed Oct 29 21:02:04 2008 -0700
39889 Increment cairo version to 1.8.2.
39891 Hurrah! We're finally there.
39893 cairo-version.h | 2 +-
39894 1 file changed, 1 insertion(+), 1 deletion(-)
39896 commit 42711a5586cba5db5451ce2400ee5fe655700391
39897 Author: Chris Wilson <chris@chris-wilson.co.uk>
39898 Date: Thu Oct 30 09:54:47 2008 +0000
39900 [xlib] Fix _draw_image_surface() with opaque images.
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.
39910 src/cairo-xlib-surface.c | 9 ++++++++-
39911 1 file changed, 8 insertions(+), 1 deletion(-)
39913 commit c3940d342ac506055c2ce6b7e9b27f92d8a63999
39914 Author: Chris Wilson <chris@chris-wilson.co.uk>
39915 Date: Thu Oct 30 09:59:48 2008 +0000
39919 Tweak the whitespace to lose some unnecessary line wrapping, casts and
39922 src/cairo-xlib-surface.c | 10 +++++-----
39923 1 file changed, 5 insertions(+), 5 deletions(-)
39925 commit e51648b601de274559800c63575c7f7e0288f596
39926 Author: Behdad Esfahbod <behdad@behdad.org>
39927 Date: Thu Oct 30 04:43:45 2008 -0400
39929 [test/xlib-expose-event] Save the output image to disk
39931 test/xlib-expose-event.c | 1 +
39932 1 file changed, 1 insertion(+)
39934 commit f534bd549e1e2283735d1eabb60c015a5949a735
39935 Author: Carl Worth <cworth@cworth.org>
39936 Date: Wed Oct 29 21:28:56 2008 -0700
39938 Remove test/twin-ref.png.
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
39944 test/twin-ref.png | Bin 1836 -> 0 bytes
39945 1 file changed, 0 insertions(+), 0 deletions(-)
39947 commit cf97966c07bc64ff4b169d1d8239407883a26747
39948 Author: Carl Worth <cworth@cworth.org>
39949 Date: Wed Oct 29 21:01:01 2008 -0700
39951 NEWS: Finish the entry for the 1.8.2 release.
39953 Add some summarizing paragraphs and organize bug-fixes and optimizations
39954 into separate sections.
39956 NEWS | 89 ++++++++++++++++++++++++++++++++++++++++++++----------------------
39957 1 file changed, 60 insertions(+), 29 deletions(-)
39959 commit b6741cffef6e86d59fa4809d32de14b9c5e8afbf
39960 Author: Chris Wilson <chris@chris-wilson.co.uk>
39961 Date: Thu Oct 30 01:15:45 2008 +0000
39963 [NEWS] Spot another couple of typos.
39965 Proof-reading is difficult, even with the squiggly lines.
39968 1 file changed, 4 insertions(+), 4 deletions(-)
39970 commit d20cc827791e177eb73a9003c6704b7a5bc49f71
39971 Author: Chris Wilson <chris@chris-wilson.co.uk>
39972 Date: Thu Oct 30 01:06:08 2008 +0000
39974 [NEWS] Correct a couple of typos.
39976 Whilst Carl's not looking, fix a couple of typos -- in particular the one
39977 calling me a bug! ;-)
39979 NEWS | 10 +++++-----
39980 1 file changed, 5 insertions(+), 5 deletions(-)
39982 commit 0ceda81dfdfc4adcec28c71be7822caa0627d818
39983 Author: Carl Worth <cworth@cworth.org>
39984 Date: Wed Oct 29 17:38:36 2008 -0700
39986 NEWS: Add long list of bugs fixed for 1.8.2.
39988 (Still need to add a paragraph or two summarizing the release.)
39990 NEWS | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
39991 1 file changed, 110 insertions(+)
39993 commit e0046aaf417a61da008dc6374871fa3687ba94ab
39994 Author: Carl Worth <cworth@cworth.org>
39995 Date: Wed Oct 29 16:25:00 2008 -0700
39997 Remove twin perf case.
39999 This performance test relied on the recently-removed ability
40000 to select the internal twin-based font family with a name of
40003 Presumably, we'll want to bring this performance case back when
40004 some other means of requesting that font face is added.
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(-)
40012 commit 292233685534aed712dfd45e8ccf498b792ce496
40013 Author: Carl Worth <cworth@cworth.org>
40014 Date: Wed Oct 29 16:25:00 2008 -0700
40016 Remove twin test case.
40018 This test relied on the recently-removed ability to select
40019 the internal twin-based font family with a name of "cairo".
40021 Presumably, we'll want to bring this test case back when
40022 some other means of requesting that font face is added.
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(-)
40033 commit a824d284be23793a5c48b9ae833dcb7b2d5fff80
40034 Author: Carl Worth <cworth@cworth.org>
40035 Date: Wed Oct 29 16:21:42 2008 -0700
40037 Remove the ability to select the internal font face with a name of "cairo".
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".
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.
40047 src/cairo-font-face.c | 6 ++----
40048 src/cairoint.h | 1 -
40049 2 files changed, 2 insertions(+), 5 deletions(-)
40051 commit f039da8d9172a6fb60082901c8dc56c7159ecd24
40052 Author: Carl Worth <cworth@cworth.org>
40053 Date: Wed Oct 29 16:17:24 2008 -0700
40055 Add doltcompile and doltlibtool to .gitignore.
40057 These generated files were recently added to our build system.
40058 We definitely don't want to see them in git-status output.
40061 1 file changed, 2 insertions(+)
40063 commit 81439b3bc8656b34c13b3cc7b5b6a9f03a3c8c54
40064 Author: Carl Worth <cworth@cworth.org>
40065 Date: Wed Oct 29 16:15:12 2008 -0700
40067 Add missing files to CLEANFILES and DISTCLEANFILES.
40069 Without these files in these lists, "make distcheck" is unhappy.
40071 Makefile.am | 4 +++-
40072 test/Makefile.am | 9 +++++++++
40073 2 files changed, 12 insertions(+), 1 deletion(-)
40075 commit dd0416f5d47a946498219616f53abdad81d4fc38
40076 Author: Carl Worth <cworth@cworth.org>
40077 Date: Tue Oct 28 18:01:09 2008 -0700
40079 Add recently added reference images to REFERENCE_IMAGES list.
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).
40087 test/Makefile.am | 4 ++++
40088 1 file changed, 4 insertions(+)
40090 commit 9cd9644c1d993f86c6eb7bee692fe642d6d280b1
40091 Author: Chris Wilson <chris@chris-wilson.co.uk>
40092 Date: Wed Oct 29 21:56:36 2008 +0000
40094 [test] Add a pass-through test.
40096 Check that colour values are correctly passed through all the backends.
40097 Simple test of the most fundamental functionality.
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(+)
40106 commit cec689eab628b59ee1d69e241c5d336760304ea0
40107 Author: Carl Worth <cworth@cworth.org>
40108 Date: Tue Oct 28 17:18:34 2008 -0700
40110 RELEASING: Suggest running 'make distcheck' against Xvfb.
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.
40116 RELEASING | 5 +++++
40117 1 file changed, 5 insertions(+)
40119 commit 0ca6ba18e398db7ed8f8bca5faa93d48aa3a4878
40120 Author: Carl Worth <cworth@cworth.org>
40121 Date: Tue Oct 28 17:15:42 2008 -0700
40123 Add note to test/README on running with Xvfb.
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
40129 test/README | 17 +++++++++++++++++
40130 1 file changed, 17 insertions(+)
40132 commit eed67717649c343e42ce102a4d78a245dba48925
40133 Author: Carl Worth <cworth@cworth.org>
40134 Date: Tue Oct 28 17:12:15 2008 -0700
40136 Disable the svg12 target in boilerplate.
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:
40142 * Tests needing new svg12-specific reference images
40144 * Tests exercising bugs in librsvg
40146 * Tests exercising existing cairo bugs
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.
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.
40158 boilerplate/cairo-boilerplate.c | 5 +++++
40159 1 file changed, 5 insertions(+)
40161 commit a94928ddfa066f6e6824775b9d0b6008f3fcbf26
40162 Author: Carl Worth <cworth@cworth.org>
40163 Date: Tue Oct 28 15:55:38 2008 -0700
40165 Add svg-specific reference images for the twin test.
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.
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(-)
40177 commit 53554ea8892893098b29a27a23c069f0ee584a06
40178 Author: Carl Worth <cworth@cworth.org>
40179 Date: Tue Oct 28 15:50:44 2008 -0700
40181 Add ps2-specific reference images for trap-clip test.
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
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(-)
40191 commit 10fd16a05d8549753179ab5cca855539fb7dec94
40192 Author: Carl Worth <cworth@cworth.org>
40193 Date: Tue Oct 28 15:41:40 2008 -0700
40195 Mark user-font-mask as XFAIL.
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.
40201 test/Makefile.am | 10 +++++++++-
40202 1 file changed, 9 insertions(+), 1 deletion(-)
40204 commit 655546243f57ae2a5c1813bd45994b18061f1c74
40205 Author: Carl Worth <cworth@cworth.org>
40206 Date: Tue Oct 28 15:35:35 2008 -0700
40208 Rename user-font-image test to user-font-mask.
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.
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(-)
40221 commit 42d2d1b6d3b187b5dbdb630783d7c9bf90c66fb2
40222 Author: Carl Worth <cworth@cworth.org>
40223 Date: Tue Oct 28 12:48:03 2008 -0700
40225 Correct NEWS to say 'release' instead of 'snapshot' for 1.8.0
40227 A copy-and-paste bug strikes again.
40230 1 file changed, 2 insertions(+), 2 deletions(-)
40232 commit 1327ec232cfca675647fb03876487c92fb638354
40233 Author: Chris Wilson <chris@chris-wilson.co.uk>
40234 Date: Tue Oct 28 10:00:38 2008 +0000
40236 [image] Remove invalid assert.
40238 The assert can fail for an error surface.
40240 TODO: Decide what values should be returned from getters for error
40243 src/cairo-image-surface.c | 2 --
40244 1 file changed, 2 deletions(-)
40246 commit 9481d999df8d399543bdbb45b85bd24b1725bece
40247 Author: Chris Wilson <chris@chris-wilson.co.uk>
40248 Date: Tue Oct 28 09:59:01 2008 +0000
40250 [image] Check create_for_data() to ensure a valid minimum stride.
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...
40255 src/cairo-image-surface.c | 12 ++++++++++++
40256 1 file changed, 12 insertions(+)
40258 commit 88f628b3972819c0f6ce8e5f06d0f7e6abb9d661
40259 Author: Chris Wilson <chris@chris-wilson.co.uk>
40260 Date: Tue Oct 28 09:11:23 2008 +0000
40262 [perf] Fix rectangular case of unaligned-clip.
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.
40268 perf/unaligned-clip.c | 9 +++------
40269 1 file changed, 3 insertions(+), 6 deletions(-)
40271 commit 1522805f39c505ff05231e67de5a6e6686081d46
40272 Author: Behdad Esfahbod <behdad@behdad.org>
40273 Date: Mon Oct 27 20:57:56 2008 -0400
40275 [Makefile.am.releasing] Fix typo
40277 build/Makefile.am.releasing | 2 +-
40278 1 file changed, 1 insertion(+), 1 deletion(-)
40280 commit 3386794d96d2b1616af9db5b7df1fc5c7a5796a7
40281 Author: Carl Worth <cworth@cworth.org>
40282 Date: Mon Oct 27 14:09:19 2008 -0700
40284 Add creation of a versioned manual to the release-publish target.
40286 This arranges so that a versioned manual will be available of the form:
40288 http://cairographics.org/manual-X.Y.Z
40290 for all future releases and snapshots. We're going through the process
40291 of manually doing all former releases, such as:
40293 http://cairographics.org/manual-1.2.0/
40295 which the LSB folks wanted to reference.
40297 build/Makefile.am.releasing | 27 ++++++++++++++++++---------
40298 1 file changed, 18 insertions(+), 9 deletions(-)
40300 commit a1a7ec6a056fa36389a48c0f53884ae7e92ebc1a
40301 Author: Adrian Johnson <ajohnson@redneon.com>
40302 Date: Mon Oct 27 23:13:05 2008 +1030
40304 Change ps to ps3 in test/README
40306 The ps target no longer exists.
40309 1 file changed, 1 insertion(+), 1 deletion(-)
40311 commit 670d942fe3dafbed5ceca234e760f29f793233cb
40312 Author: Adrian Johnson <ajohnson@redneon.com>
40313 Date: Mon Oct 27 23:04:16 2008 +1030
40315 Change user-font-image test to use a pattern
40317 This can be used to expose a bug in _cairo_rectangle_intersect() by
40320 fixed_scale = 1024 to 1 in cairo-user-font.c
40324 cairo_matrix_translate (&matrix, 0, -8) to (&matrix, 0, -9) in
40327 This will cause cairo_text_extents (cr, text, &extents) in
40328 user-font-image.c to return a height of 8388683.
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(-)
40334 commit cdacf55e1b16a6982c681fab212405fc4af4f1db
40335 Author: Adrian Johnson <ajohnson@redneon.com>
40336 Date: Mon Oct 27 22:07:04 2008 +1030
40338 Add user-font-image test
40340 Draws bitmap glyphs using cairo_mask(). This test exposes a bug in the
40341 calculation of the glyph extents.
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(+)
40348 commit 22e2dac819de3c082424ebf3ce8f64c9c4797e8a
40349 Author: Chris Wilson <chris@chris-wilson.co.uk>
40350 Date: Sun Oct 26 10:21:37 2008 +0000
40352 [stroke] Ensure we record the first face for a dashed path.
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.
40357 src/cairo-path-stroke.c | 1 +
40358 1 file changed, 1 insertion(+)
40360 commit 64fb3290f00bafc4a10e6432226f669a51fa0bc6
40361 Author: Chris Wilson <chris@chris-wilson.co.uk>
40362 Date: Sun Oct 26 09:54:03 2008 +0000
40364 [stroke] _cairo_stroker_line_to_dashed() whitespace
40366 A couple of comment spelling mistakes and rearrange whitespace to more
40367 closely match CODING_STYLE.
40369 src/cairo-path-stroke.c | 57 ++++++++++++++++++++++++++++++++---------------
40370 1 file changed, 39 insertions(+), 18 deletions(-)
40372 commit 88935947d11762c91e282fb129c493afc6f2f1a6
40373 Author: Chris Wilson <chris@chris-wilson.co.uk>
40374 Date: Sun Oct 26 08:19:31 2008 +0000
40376 [test] Add leaky-dashed-stroke
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
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(+)
40390 commit 195fd27cc64c7aaf18a6d48ccd9d94548331fd4d
40391 Author: Chris Wilson <chris@chris-wilson.co.uk>
40392 Date: Wed Oct 22 22:04:53 2008 +0100
40394 [build] Use AC_LINK_IFELSE for testing linker flags.
40396 Richard Hult reported that -Wl,--allow-shlib-undefined was incorrectly
40397 being identified as supported by gcc under Mac OS/X:
40399 configure:25103: checking whether gcc supports -Wl,--allow-shlib-undefined
40400 configure:25117: gcc -c -Werror -Wl,--allow-shlib-undefined conftest.c
40402 i686-apple-darwin9-gcc-4.0.1: --allow-shlib-undefined: linker input file
40403 unused because linking not done
40405 So instead of just checking whether the compiler accepts the flag, check
40406 that we can actually link a dummy file.
40408 build/aclocal.cairo.m4 | 20 ++++++++++++++++++++
40409 build/configure.ac.warnings | 2 +-
40410 2 files changed, 21 insertions(+), 1 deletion(-)
40412 commit d692284ab8f90d7402621f1a07aaddcf11d87ef5
40413 Author: Behdad Esfahbod <behdad@behdad.org>
40414 Date: Thu Oct 23 01:45:35 2008 -0400
40416 [test/user-font] Exercise glyph 0
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.
40421 test/user-font.c | 7 +++----
40422 1 file changed, 3 insertions(+), 4 deletions(-)
40424 commit e6219f7116311d999054dc31df081aa66a0cd2d3
40425 Author: Chris Wilson <chris@chris-wilson.co.uk>
40426 Date: Wed Oct 22 17:53:05 2008 +0100
40428 [win32] Correct error paths in text_to_glyphs().
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.
40435 src/cairo-win32-font.c | 7 ++++---
40436 1 file changed, 4 insertions(+), 3 deletions(-)
40438 commit 09651a1c1a4856607423e9b06c1f7c397ba4f304
40439 Author: Chris Wilson <chris@chris-wilson.co.uk>
40440 Date: Wed Oct 8 22:39:48 2008 +0100
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(-)
40450 commit 954ebacb71071c53c4e4092b469417f01478bc2d
40451 Author: Chris Wilson <chris@chris-wilson.co.uk>
40452 Date: Wed Oct 22 15:43:56 2008 +0100
40454 Map toy font face to implementation.
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
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
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(-)
40479 commit 5e4a1cb0b830f069d99c9512563c82ad628587e3
40480 Author: Adrian Johnson <ajohnson@redneon.com>
40481 Date: Wed Oct 22 21:36:42 2008 +1030
40483 Don't add a notdef glyph to Type 3 font subsets
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.
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(-)
40495 commit 170686d4b0ed913a1a175f3f354ec5796814b416
40496 Author: Chris Wilson <chris@chris-wilson.co.uk>
40497 Date: Wed Oct 22 01:01:06 2008 +0100
40499 [cairoint] Remove the duplicate prototype.
40501 In the previous commit I added comments and a duplicate prototype. Remove
40502 the duplicate - but keep the comments.
40504 src/cairoint.h | 3 ---
40505 1 file changed, 3 deletions(-)
40507 commit 1db8949f2baf1e620e1d5ef73a66de211420bd0a
40508 Author: Chris Wilson <chris@chris-wilson.co.uk>
40509 Date: Tue Oct 21 22:48:17 2008 +0100
40511 Ensure that the scaled font is frozen for the lifetime of the scaled glyph.
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.
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.
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(-)
40551 commit b2cbbceb4ca57816a498c2c1e676b19182c34e12
40552 Author: Chris Wilson <chris@chris-wilson.co.uk>
40553 Date: Tue Oct 21 19:44:42 2008 +0100
40555 [test/meta-surface-pattern] Propagate errors.
40557 Use cairo_get_target() to propagate any errors from the secondary context.
40559 test/meta-surface-pattern.c | 5 ++---
40560 1 file changed, 2 insertions(+), 3 deletions(-)
40562 commit 9d4262ebe07bacacd6e743dea616b37ac51eac01
40563 Author: Behdad Esfahbod <behdad@behdad.org>
40564 Date: Tue Oct 21 17:44:47 2008 -0400
40568 Dolt is a hack to speed up libtool-based build systems:
40570 http://dolt.freedesktop.org/
40572 It's completely transparent to the user. Brings make time
40573 of cairo from 70s down to 20s. Yay!
40575 build/aclocal.dolt.m4 | 177 +++++++++++++++++++++++++++++++++++++++++++++++++
40577 2 files changed, 178 insertions(+)
40579 commit 5a822046cc66d8405618370c1071433016969020
40580 Author: Chris Wilson <chris@chris-wilson.co.uk>
40581 Date: Tue Oct 21 11:22:48 2008 +0100
40583 [test/xlib-expose-event] Propagate errors.
40585 Use cairo_get_target() to propagate errors from secondary contexts.
40587 test/xlib-expose-event.c | 10 +++++++---
40588 1 file changed, 7 insertions(+), 3 deletions(-)
40590 commit 21223cc12ca00c52c0b39dc60db410f29e4e76c9
40591 Author: Chris Wilson <chris@chris-wilson.co.uk>
40592 Date: Tue Oct 21 11:29:12 2008 +0100
40594 [test/unbounded-operator] Propagate errors.
40596 Use cairo_get_target() to propagate errors from secondary contexts.
40598 test/unbounded-operator.c | 6 ++----
40599 1 file changed, 2 insertions(+), 4 deletions(-)
40601 commit 4c8de6d99d337338d6fd57134247515f9815b5e5
40602 Author: Chris Wilson <chris@chris-wilson.co.uk>
40603 Date: Tue Oct 21 11:21:37 2008 +0100
40605 [test/surface-pattern-scale-up] Propagate errors.
40607 Use cairo_get_target() to propagate errors from the secondary context.
40609 test/surface-pattern-scale-up.c | 7 ++++---
40610 1 file changed, 4 insertions(+), 3 deletions(-)
40612 commit e8de7d1c3605fa6d89640fb4e0631c07e5366348
40613 Author: Chris Wilson <chris@chris-wilson.co.uk>
40614 Date: Tue Oct 21 11:20:54 2008 +0100
40616 [test/surface-pattern-scale-down] Propagate errors.
40618 Use cairo_get_target() to propagate errors from the secondary context.
40620 test/surface-pattern-scale-down.c | 7 ++++---
40621 1 file changed, 4 insertions(+), 3 deletions(-)
40623 commit b5551cfce2969358746dadae90cbe1add012e29c
40624 Author: Chris Wilson <chris@chris-wilson.co.uk>
40625 Date: Tue Oct 21 11:19:40 2008 +0100
40627 [test/rotate-image-surface-paint] Proapgate errors.
40629 Use cairo_get_target() to propagate errors from the secondary context.
40631 test/rotate-image-surface-paint.c | 7 ++++---
40632 1 file changed, 4 insertions(+), 3 deletions(-)
40634 commit 6d41ffbbed2ad3bab2b1a58e1e5d9e1570a37926
40635 Author: Chris Wilson <chris@chris-wilson.co.uk>
40636 Date: Tue Oct 21 11:18:37 2008 +0100
40638 [test/pixman-rotate] Propagate errors
40640 Use cairo_get_target() to propagate errors from the secondary context.
40642 test/pixman-rotate.c | 33 ++++++++++++++++-----------------
40643 1 file changed, 16 insertions(+), 17 deletions(-)
40645 commit 64949b81735ee4e43772224d10031f7edfbc8068
40646 Author: Chris Wilson <chris@chris-wilson.co.uk>
40647 Date: Tue Oct 21 11:17:13 2008 +0100
40649 [test/operator-source] Propagate errors.
40651 Use cairo_get_target() to propagate errors from the secondary context.
40653 test/operator-source.c | 12 ++++--------
40654 1 file changed, 4 insertions(+), 8 deletions(-)
40656 commit 971f030b7dca7ce24e54d0465900e6984020345e
40657 Author: Chris Wilson <chris@chris-wilson.co.uk>
40658 Date: Tue Oct 21 11:27:17 2008 +0100
40660 [test/operator-clear] Propagate errors.
40662 Use cairo_get_target() to propagate errors from secondary contexts.
40664 test/operator-clear.c | 6 ++----
40665 1 file changed, 2 insertions(+), 4 deletions(-)
40667 commit 9b919b0e91b6c64acbcbfc05c72610188327be67
40668 Author: Chris Wilson <chris@chris-wilson.co.uk>
40669 Date: Tue Oct 21 11:14:51 2008 +0100
40671 [test/extend-pad] Propagate errors.
40673 Use cairo_get_target() to propagate errors from the secondary context.
40675 test/extend-pad.c | 7 ++++---
40676 1 file changed, 4 insertions(+), 3 deletions(-)
40678 commit 69415b4fc6387acda7498847f8181c802c8b0982
40679 Author: Chris Wilson <chris@chris-wilson.co.uk>
40680 Date: Tue Oct 21 11:25:38 2008 +0100
40682 [test/device-offset-scale] Propagate errors
40684 Use cairo_get_target() to propagate errors from the secondary contexts.
40686 test/device-offset-scale.c | 14 +++++++-------
40687 1 file changed, 7 insertions(+), 7 deletions(-)
40689 commit 9ab296123ef49259a67e8dc43708023da2759283
40690 Author: Chris Wilson <chris@chris-wilson.co.uk>
40691 Date: Tue Oct 21 11:14:01 2008 +0100
40693 [test/device-offset-positive] Propagate errors.
40695 Use cairo_get_target() to propagate errors from the secondary context.
40697 test/device-offset-positive.c | 12 +++++-------
40698 1 file changed, 5 insertions(+), 7 deletions(-)
40700 commit 594fa0836f2526e0a7f44fc7184f7f09de7dd41f
40701 Author: Chris Wilson <chris@chris-wilson.co.uk>
40702 Date: Tue Oct 21 11:12:11 2008 +0100
40704 [test/device-offset] Propagate error.
40706 Use cairo_get_target() to propagate errors from the secondary context.
40708 test/device-offset.c | 6 +++---
40709 1 file changed, 3 insertions(+), 3 deletions(-)
40711 commit 29da47be60b0373ff93769f9f373a20b15a01e0f
40712 Author: Chris Wilson <chris@chris-wilson.co.uk>
40713 Date: Tue Oct 21 10:42:41 2008 +0100
40715 [ps] Check for an empty font subset.
40717 Return early before trying to emit an empty subset into the document -
40718 avoids a potential use of an uninitialised status variable.
40720 src/cairo-ps-surface.c | 3 +++
40721 1 file changed, 3 insertions(+)
40723 commit fd1f3c27e093b1f51f0c1a381cc02cbf8f9889d7
40724 Author: Chris Wilson <chris@chris-wilson.co.uk>
40725 Date: Tue Oct 21 09:17:56 2008 +0100
40727 [configure] Check for atomic xchg.
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.
40734 Fixes http://bugs.freedesktop.org/show_bug.cgi?id=18140.
40736 build/aclocal.cairo.m4 | 5 ++++-
40737 1 file changed, 4 insertions(+), 1 deletion(-)
40739 commit 71e4f7e3a10e6c9794360473d0114b27b42bcead
40740 Author: Chris Wilson <chris@chris-wilson.co.uk>
40741 Date: Mon Oct 20 23:54:57 2008 +0100
40743 Add API documentation for NULL filenames and write_funcs.
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.
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(-)
40755 commit 6cb2b29434ffd5e718868d90e31cb050904b3ea7
40756 Author: Chris Wilson <chris@chris-wilson.co.uk>
40757 Date: Mon Oct 20 23:22:16 2008 +0100
40759 [mutex] s/HOLDS_MUTEX/MUTEX_IS_LOCKED/
40761 Behdad prefers the latter to keep a clean namespace.
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(-)
40768 commit ae9d17c015867002895c8aa4e1c6dd1ef370dd20
40769 Author: Chris Wilson <chris@chris-wilson.co.uk>
40770 Date: Mon Oct 20 22:31:17 2008 +0100
40772 [directfb] Unbounded operators are unsupported.
40774 Currently the emulation of Porter-Duff operators does not correctly
40775 handle the unbounded operators.
40777 src/cairo-directfb-surface.c | 10 ++++++++++
40778 1 file changed, 10 insertions(+)
40780 commit 1f35f31c4ee50dcc2f7c8616b9bbb5c45b4ed707
40781 Author: Chris Wilson <chris@chris-wilson.co.uk>
40782 Date: Mon Oct 20 22:14:41 2008 +0100
40784 [directfb] Fallback for SATURATE
40786 We're unable to satisfactorily emulate SATURATE using the src/dst blend
40787 modes, so fallback. (Might just be a bug in libdirectfb...)
40789 src/cairo-directfb-surface.c | 3 +++
40790 1 file changed, 3 insertions(+)
40792 commit c7951c4a368baaeeadca4e2a18d3ad45225380a0
40793 Author: Chris Wilson <chris@chris-wilson.co.uk>
40794 Date: Mon Oct 20 22:04:58 2008 +0100
40796 [directfb] Perfom text fallback if emulating clip regions.
40798 Fallback if we have a clip that is not a simple region.
40800 src/cairo-directfb-surface.c | 14 ++++++++++++--
40801 1 file changed, 12 insertions(+), 2 deletions(-)
40803 commit 98933fd4b8579b68623a8212015769b058db43f5
40804 Author: Chris Wilson <chris@chris-wilson.co.uk>
40805 Date: Mon Oct 20 20:59:14 2008 +0100
40807 [directfb] When blitting check if we need the un-premultiplied color.
40809 When blitting whether we need to use the premultiplied color is dependent
40810 upon the destination surface capabilities.
40812 src/cairo-color.c | 3 ++
40813 src/cairo-directfb-surface.c | 75 ++++++++++++++++++++++++++++--------------
40814 2 files changed, 54 insertions(+), 24 deletions(-)
40816 commit 4af8aa5f4d31141a6a4ba914cc860aff5d342d5b
40817 Author: Chris Wilson <chris@chris-wilson.co.uk>
40818 Date: Mon Oct 20 20:15:12 2008 +0100
40820 [directfb] Apply clip to release_dest_image()
40822 We need to respect the current clip when copying the fallback image back to
40823 the target surface.
40825 src/cairo-directfb-surface.c | 23 ++++++++++++++---------
40826 1 file changed, 14 insertions(+), 9 deletions(-)
40828 commit 0ba5085ba06fd1c0ff1ebc88111d4573675a2e17
40829 Author: Chris Wilson <chris@chris-wilson.co.uk>
40830 Date: Mon Oct 20 19:41:20 2008 +0100
40832 [directfb] Fix OBO in clip.
40834 DirectFB seems to use inclusive upper bounds.
40836 src/cairo-directfb-surface.c | 4 ++--
40837 1 file changed, 2 insertions(+), 2 deletions(-)
40839 commit 2743e84171fd2a548ac37b1fdd3611d319acded0
40840 Author: Chris Wilson <chris@chris-wilson.co.uk>
40841 Date: Mon Oct 20 19:32:21 2008 +0100
40843 [directfb] Force NEAREST.
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
40849 src/cairo-directfb-surface.c | 5 +++++
40850 1 file changed, 5 insertions(+)
40852 commit f1669d31c0064b8ffbc7db2527fed85488fb305c
40853 Author: Chris Wilson <chris@chris-wilson.co.uk>
40854 Date: Mon Oct 20 19:03:33 2008 +0100
40856 [directfb] Track the empty clip rectangle.
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.
40861 src/cairo-directfb-surface.c | 6 +++++-
40862 1 file changed, 5 insertions(+), 1 deletion(-)
40864 commit ebe3048f9b74ff949795a807a7076ec756150ede
40865 Author: Chris Wilson <chris@chris-wilson.co.uk>
40866 Date: Mon Oct 20 18:59:03 2008 +0100
40868 [directfb] Cap the maximum surface size to use for the font cache.
40870 Fallback if we need to create a cache larger than the maximum usable
40873 src/cairo-directfb-surface.c | 10 +++++++---
40874 1 file changed, 7 insertions(+), 3 deletions(-)
40876 commit 6f35c2d13e4cb736634bf446d3b8ee38cc6a6b9b
40877 Author: Chris Wilson <chris@chris-wilson.co.uk>
40878 Date: Mon Oct 20 18:39:45 2008 +0100
40880 [directfb] Only use the pure BLIT for integer translations.
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
40887 src/cairo-directfb-surface.c | 30 +++++++++++++++++++++++-------
40888 1 file changed, 23 insertions(+), 7 deletions(-)
40890 commit 55bb7087b0236fe27980efda829f7b72e047b316
40891 Author: Chris Wilson <chris@chris-wilson.co.uk>
40892 Date: Mon Oct 20 16:47:41 2008 +0100
40894 [directfb] Tweak _categorize_operation().
40896 Explicitly list the extend modes that are supported/unsupported and
40897 immediately check for an unsupported operation.
40899 src/cairo-directfb-surface.c | 37 +++++++++++++++++++++++++------------
40900 1 file changed, 25 insertions(+), 12 deletions(-)
40902 commit edb65213ec975e517165bc3b623f676a12917d0c
40903 Author: Chris Wilson <chris@chris-wilson.co.uk>
40904 Date: Mon Oct 20 16:46:08 2008 +0100
40906 [directfb] Support ROI cloning.
40908 Only clone the ROI in order to efficiently handle large sources.
40910 src/cairo-directfb-surface.c | 11 ++++-------
40911 1 file changed, 4 insertions(+), 7 deletions(-)
40913 commit 4006e49ac1e96a983346f97be97bfd850f247ab0
40914 Author: Chris Wilson <chris@chris-wilson.co.uk>
40915 Date: Mon Oct 20 16:45:06 2008 +0100
40917 [directfb] Rename backend structure.
40919 Use _cairo_directfb_surface_backend for consistency with other backends.
40921 src/cairo-directfb-surface.c | 37 ++++++++++++++++++++++++-------------
40922 1 file changed, 24 insertions(+), 13 deletions(-)
40924 commit 7e31ddbb08a6a7cf1db06c950c3768e54a5f4cfa
40925 Author: Chris Wilson <chris@chris-wilson.co.uk>
40926 Date: Mon Oct 20 13:04:20 2008 +0100
40928 [directfb] Whitespace.
40930 Trim lots of trailing whitespace and fix up according to CODING_STYLE.
40932 src/cairo-directfb-surface.c | 1478 +++++++++++++++++++++---------------------
40933 1 file changed, 733 insertions(+), 745 deletions(-)
40935 commit d49563280b80dd85275057b6442d2f4ece8d724c
40936 Author: Chris Wilson <chris@chris-wilson.co.uk>
40937 Date: Mon Oct 20 12:49:52 2008 +0100
40939 [directfb] Simplify return from _directfb_get_operator().
40941 Used only as a predicate, so simply return a boolean.
40943 src/cairo-directfb-surface.c | 138 +++++++++++++++++++++---------------------
40944 1 file changed, 68 insertions(+), 70 deletions(-)
40946 commit b17d0ded8cd42d84e97ca2c1fbd4aefedd570b8e
40947 Author: Chris Wilson <chris@chris-wilson.co.uk>
40948 Date: Mon Oct 20 12:48:02 2008 +0100
40950 [directfb] Use the solid pattern cache.
40952 The dfb backend recreated a solid color surface for every colour,
40953 completely bypassing the solid pattern cache.
40955 src/cairo-directfb-surface.c | 72 +++++++++++-------------------------------
40956 1 file changed, 18 insertions(+), 54 deletions(-)
40958 commit 786bea48df0dc6d76b2ad00409804a803fe2f4b6
40959 Author: Chris Wilson <chris@chris-wilson.co.uk>
40960 Date: Mon Oct 20 12:19:50 2008 +0100
40962 [boilerplate/directfb] Create ARGB surfaces on demand.
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.
40968 boilerplate/cairo-boilerplate-directfb.c | 23 +++++++++++++----------
40969 1 file changed, 13 insertions(+), 10 deletions(-)
40971 commit 4ba9ccc6ab5926d59696f86193f42df2195d7cda
40972 Author: Chris Wilson <chris@chris-wilson.co.uk>
40973 Date: Mon Oct 20 23:07:38 2008 +0100
40975 [configure.ac.analysis] s/safe/_save/
40977 Rename the temporary variable in line with the convention used by the rest
40978 of the build system.
40980 build/configure.ac.analysis | 8 ++++----
40981 1 file changed, 4 insertions(+), 4 deletions(-)
40983 commit 3a45b07af9743a26305c2576f838b4f3ef83bbb8
40984 Author: Chris Wilson <chris@chris-wilson.co.uk>
40985 Date: Mon Oct 20 10:37:46 2008 +0100
40987 [perf] Free images for composite-checker
40989 Fix memleak of the image surfaces.
40991 perf/composite-checker.c | 3 ++-
40992 1 file changed, 2 insertions(+), 1 deletion(-)
40994 commit 86356a9578dc248a755aceb7a04aef67a6c529b3
40995 Author: Chris Wilson <chris@chris-wilson.co.uk>
40996 Date: Mon Oct 20 17:12:21 2008 +0100
40998 [test] Add degenerate-dash to XFAIL.
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.
41004 test/Makefile.am | 4 ++++
41005 1 file changed, 4 insertions(+)
41007 commit 83d2552e4cafc9f86a8055abdf6caa685ed4922b
41008 Author: Behdad Esfahbod <behdad@behdad.org>
41009 Date: Mon Oct 20 17:59:09 2008 -0400
41011 Remove CAIRO_BEGIN_DECLS uses that ickle introduced while merging
41013 src/cairo-mutex-impl-private.h | 2 --
41014 src/cairo-mutex-type-private.h | 2 --
41015 2 files changed, 4 deletions(-)
41017 commit eab37f76b0f26a7b007dd51debf4d4901310c8b0
41018 Author: Chris Wilson <chris@chris-wilson.co.uk>
41019 Date: Sun Oct 19 22:12:18 2008 +0100
41021 [directfb] Return an error surface on create() failure.
41023 Do not return NULL but an NO_MEMORY error surface if we fail to allocate
41024 the surface during creation.
41026 src/cairo-directfb-surface.c | 21 ++++++++++-----------
41027 1 file changed, 10 insertions(+), 11 deletions(-)
41029 commit 6a02f53dd191605986b15e4757b16f599fe8de5f
41030 Author: Chris Wilson <chris@chris-wilson.co.uk>
41031 Date: Sun Oct 19 14:21:15 2008 +0100
41033 [directfb] Simplifiy ADD_TRI
41035 Simplify the ADD_TRI macro to make the code more readable.
41037 src/cairo-directfb-surface.c | 30 +++++++++++++-----------------
41038 1 file changed, 13 insertions(+), 17 deletions(-)
41040 commit aba457fe64f12598043b11ae076f0a93fe05eba7
41041 Author: Chris Wilson <chris@chris-wilson.co.uk>
41042 Date: Sun Oct 19 14:03:24 2008 +0100
41044 [directfb] Add missing error status
41046 We jumped to the ERROR path without setting an error status - assume
41049 src/cairo-directfb-surface.c | 1 +
41050 1 file changed, 1 insertion(+)
41052 commit 610451e4a7b079d30a73384a76f0aaab250c2970
41053 Author: Chris Wilson <chris@chris-wilson.co.uk>
41054 Date: Sun Oct 19 12:45:45 2008 +0100
41056 [directfb] Correct fixed-to-double conversion.
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.
41061 src/cairo-directfb-surface.c | 110 +++++++++++++++++++++---------------------
41062 1 file changed, 54 insertions(+), 56 deletions(-)
41064 commit 8e0950ced8837a35b9dc0254860250f9fa1a9613
41065 Author: Chris Wilson <chris@chris-wilson.co.uk>
41066 Date: Sun Oct 19 12:11:13 2008 +0100
41068 [boilerplate/directfb] Gracefully handle failure to create surface.
41070 Simply return NULL indicating failure to create the target surface rather
41071 than aborting the test (allowing other targets to be tested).
41073 boilerplate/cairo-boilerplate-directfb.c | 230 +++++++++++++++++-------------
41074 1 file changed, 130 insertions(+), 100 deletions(-)
41076 commit 801df1b87a585ebf71e6d3d74b815f3470b81ae9
41077 Author: Chris Wilson <chris@chris-wilson.co.uk>
41078 Date: Sun Oct 19 11:55:20 2008 +0100
41080 [directfb] Fix error propagation from surface_create()
41082 Do not mask fatal errors, but correctly propagate the error status.
41084 src/cairo-directfb-surface.c | 208 +++++++++++++++++++++++-------------------
41085 1 file changed, 114 insertions(+), 94 deletions(-)
41087 commit 476d17fa788fcf173e58b963540c6557f846ceed
41088 Author: Chris Wilson <chris@chris-wilson.co.uk>
41089 Date: Sun Oct 19 11:35:27 2008 +0100
41091 [directfb] Compile fix.
41093 Fixup compilation after 901f0b.
41095 src/cairo-directfb-surface.c | 4 ++--
41096 1 file changed, 2 insertions(+), 2 deletions(-)
41098 commit d72969289db62b38ca024a41c0d8e0df480e7f8c
41099 Author: Chris Wilson <chris@chris-wilson.co.uk>
41100 Date: Sun Oct 19 09:47:33 2008 +0100
41102 [image] Remove unused variable.
41104 Cleanup the compiler warning for the unused status after code shuffling.
41106 src/cairo-image-surface.c | 1 -
41107 1 file changed, 1 deletion(-)
41109 commit f2ff7944264c23cbec856be3e85f240a93184f80
41110 Author: Chris Wilson <chris@chris-wilson.co.uk>
41111 Date: Thu Oct 16 11:56:19 2008 +0100
41113 [perf] A crude tool to visualise performance changes across a series.
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
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(-)
41135 commit 41c8eefc6d432ab213f6f405c3d6346adb7f7931
41136 Author: Chris Wilson <chris@chris-wilson.co.uk>
41137 Date: Wed Oct 15 22:24:32 2008 +0100
41139 [output-stream] Protect against NULL write_func.
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.
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.
41149 src/cairo-output-stream.c | 3 +++
41150 1 file changed, 3 insertions(+)
41152 commit 84e4a825fffe3d78e95dec3406a86da6a23144c2
41153 Author: Chris Wilson <chris@chris-wilson.co.uk>
41154 Date: Wed Oct 15 22:15:17 2008 +0100
41156 [output-stream] Accept a NULL filename
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.
41163 src/cairo-output-stream.c | 3 +++
41164 1 file changed, 3 insertions(+)
41166 commit 52ea38f97b1b90e395c667619770482b10e5672e
41167 Author: Chris Wilson <chris@chris-wilson.co.uk>
41168 Date: Sat Oct 18 00:44:29 2008 +0100
41170 [meta] Acquire scaled_font mutex for glyph_path().
41172 The caller of _cairo_scaled_font_glyph_path() is expected to be holding
41173 the scaled_font->mutex.
41175 src/cairo-meta-surface.c | 2 ++
41176 1 file changed, 2 insertions(+)
41178 commit 299ea0580a646dc55fd0156f1904fe4b45ec5725
41179 Author: Chris Wilson <chris@chris-wilson.co.uk>
41180 Date: Sat Oct 18 00:37:38 2008 +0100
41182 [user-font] Review locks under error conditions.
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
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(-)
41195 commit c76a8481f372fab8981231b257fdcc69466263d2
41196 Author: Chris Wilson <chris@chris-wilson.co.uk>
41197 Date: Sat Oct 18 00:36:34 2008 +0100
41199 [analysis] Check for error surfaces.
41201 If the target surface is an error surface, ensure that we return the
41202 appropriate error surface. Likewise, avoid writing to error surfaces.
41204 src/cairo-analysis-surface.c | 16 +++++++++++++---
41205 1 file changed, 13 insertions(+), 3 deletions(-)
41207 commit 5b28b0b903cb2fdb8a5614659d528bf12488389e
41208 Author: Chris Wilson <chris@chris-wilson.co.uk>
41209 Date: Sat Oct 18 00:35:48 2008 +0100
41211 [ps] Destroy type3 surface on error.
41213 After an error, ensure that the local type3 surface is destroyed.
41215 src/cairo-ps-surface.c | 4 +++-
41216 1 file changed, 3 insertions(+), 1 deletion(-)
41218 commit 6b17c6da47c42dd04ed2acad723c25b6da41b51c
41219 Author: Chris Wilson <chris@chris-wilson.co.uk>
41220 Date: Sat Oct 18 00:34:17 2008 +0100
41222 [type3] Acquire scaled_font mutex whilst looking up glyphs.
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.
41227 src/cairo-type3-glyph-surface.c | 50 +++++++++++++++++++++++----------------
41228 1 file changed, 30 insertions(+), 20 deletions(-)
41230 commit f56cf93181e73b4ba74f25ce14f7ed6c7cf36e83
41231 Author: Chris Wilson <chris@chris-wilson.co.uk>
41232 Date: Fri Oct 17 22:13:53 2008 +0100
41234 [user-font] Check for error objects.
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.
41239 src/cairo-user-font.c | 71 ++++++++++++++++++++++++++++++++++++++++---------
41240 1 file changed, 59 insertions(+), 12 deletions(-)
41242 commit 1f9f9d936b296dbe796b1436c7da7fa3462f7d59
41243 Author: Chris Wilson <chris@chris-wilson.co.uk>
41244 Date: Fri Oct 17 15:39:56 2008 +0100
41246 [pdf] Acquire scaled_font mutex for show_text_glyphs().
41248 We need to be holding the scaled font mutex over a call to draw text
41249 glyphs from within an smask group.
41251 src/cairo-pdf-surface.c | 2 ++
41252 1 file changed, 2 insertions(+)
41254 commit 12fb8c9b7c808ab20bee466aa28ee368559fd902
41255 Author: Chris Wilson <chris@chris-wilson.co.uk>
41256 Date: Fri Oct 17 15:33:07 2008 +0100
41258 [type1] Acquire scaled_font mutex.
41260 In order to perform glyph lookups we need to be holding the mutex for the
41263 src/cairo-type1-fallback.c | 2 ++
41264 1 file changed, 2 insertions(+)
41266 commit ca5f868a73b35eda737ae6596efff91f82eeea75
41267 Author: Chris Wilson <chris@chris-wilson.co.uk>
41268 Date: Fri Oct 17 15:26:20 2008 +0100
41270 [scaled-font] Zero font extents for an error surface.
41272 Do not attempt to read from the error object, but just return zero
41275 src/cairo-scaled-font.c | 13 ++++++++++++-
41276 1 file changed, 12 insertions(+), 1 deletion(-)
41278 commit 1ddf0b2a5c1f3d20b9a91acf7aae021f6b738485
41279 Author: Chris Wilson <chris@chris-wilson.co.uk>
41280 Date: Fri Oct 17 10:35:38 2008 +0100
41282 [surface] Reorder asserts to make no assumptions about error objects.
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
41290 src/cairo-surface.c | 94 +++++++++++++++++++++++++--------------------------
41291 1 file changed, 47 insertions(+), 47 deletions(-)
41293 commit 644e78ca4e6f72499fcf763acd53fa7235b0226d
41294 Author: Chris Wilson <chris@chris-wilson.co.uk>
41295 Date: Thu Oct 16 20:34:13 2008 +0100
41297 [svg] Lock the scaled_font whilst emitting glyphs.
41299 We need to hold the scaled_font mutex whilst looking upon glyphs so lock
41300 the font whilst iterating over the font subset.
41302 src/cairo-svg-surface.c | 2 ++
41303 1 file changed, 2 insertions(+)
41305 commit 4587e9e4f5c46656108b05f7a4841f78df14de26
41306 Author: Chris Wilson <chris@chris-wilson.co.uk>
41307 Date: Thu Oct 16 19:11:09 2008 +0100
41309 [scaled-font-subsets] Add locking to unscaled font.
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.
41319 src/cairo-scaled-font-subsets.c | 23 +++++++++++++++++------
41320 1 file changed, 17 insertions(+), 6 deletions(-)
41322 commit d3a6651237a276c410885578c41fb505f83372ed
41323 Author: Chris Wilson <chris@chris-wilson.co.uk>
41324 Date: Thu Oct 16 14:37:42 2008 +0100
41326 [xlib] Set return code after failing to allocate glyph surface.
41328 Although we checked for an allocation error, we missed propagating the
41329 status to the return error code.
41331 src/cairo-xlib-surface.c | 8 +++++---
41332 1 file changed, 5 insertions(+), 3 deletions(-)
41334 commit bfc3a72cff1a3f9641dae7c9f121598a14eb9a5a
41335 Author: Chris Wilson <chris@chris-wilson.co.uk>
41336 Date: Thu Oct 16 14:06:03 2008 +0100
41338 [gstate] Propagate error from clip.
41340 During clip transformation we query the clip extents which can trigger a
41341 fatal error. Check and propagate.
41343 src/cairo-gstate.c | 33 +++++++++++++++++++++++----------
41344 1 file changed, 23 insertions(+), 10 deletions(-)
41346 commit 7975cf3f2c0bc28b8b3c916d5ba725abb38b300d
41347 Author: Chris Wilson <chris@chris-wilson.co.uk>
41348 Date: Thu Oct 16 13:21:28 2008 +0100
41350 [paginated] Free local reference to target on error path.
41352 On the error path we must destroy the local reference to the target
41355 src/cairo-paginated-surface.c | 1 +
41356 1 file changed, 1 insertion(+)
41358 commit 4662204a2a02d50e674f121d82bbb4fe1b8f1436
41359 Author: Chris Wilson <chris@chris-wilson.co.uk>
41360 Date: Thu Oct 16 12:44:45 2008 +0100
41362 [test-paginated] Fix double free of surface along error path.
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.
41367 src/test-paginated-surface.c | 16 +++++++++-------
41368 1 file changed, 9 insertions(+), 7 deletions(-)
41370 commit bf3202fcfd281be3fa62c2d6719377a8f2a0dec4
41371 Author: Chris Wilson <chris@chris-wilson.co.uk>
41372 Date: Thu Oct 16 12:33:22 2008 +0100
41374 [xlib] Fix double free of Pixmap along error path.
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).
41379 src/cairo-xlib-surface.c | 16 ++++++++++------
41380 1 file changed, 10 insertions(+), 6 deletions(-)
41382 commit 901f0b540c764e131dd9745def329308af61b3d5
41383 Author: Chris Wilson <chris@chris-wilson.co.uk>
41384 Date: Thu Oct 16 12:19:09 2008 +0100
41386 Review backend->create_similar()
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).
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(-)
41402 commit 9529699028a5c7a3b0f81f945d25f26285247a11
41403 Author: Chris Wilson <chris@chris-wilson.co.uk>
41404 Date: Sun Oct 19 09:35:07 2008 +0100
41406 [test/user-font-rescale] Check and propagate errors.
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.
41411 test/user-font-rescale.c | 63 +++++++++++++++++++++++++++++-----------------
41412 1 file changed, 40 insertions(+), 23 deletions(-)
41414 commit 683de2fea2d8cdeea9759cbf3ab7492d634e7af2
41415 Author: Chris Wilson <chris@chris-wilson.co.uk>
41416 Date: Sat Oct 18 00:01:39 2008 +0100
41418 [test/user-font[-proxy]] Check for error from set_user_data().
41420 Check in case we fail to attach our user_data.
41422 test/user-font-proxy.c | 69 +++++++++++++++++++++++++++---------------------
41423 test/user-font.c | 24 +++++++++++++----
41424 2 files changed, 58 insertions(+), 35 deletions(-)
41426 commit 198392990082e01443bbda5c0cbe6dc8bf090baf
41427 Author: Chris Wilson <chris@chris-wilson.co.uk>
41428 Date: Fri Oct 17 22:14:49 2008 +0100
41430 [test/bitmap] Leak on error path.
41432 Free the FcPattern on error.
41434 test/bitmap-font.c | 8 ++++++++
41435 1 file changed, 8 insertions(+)
41437 commit 0409be426cb7f67974346a93213dd4675b59776c
41438 Author: Chris Wilson <chris@chris-wilson.co.uk>
41439 Date: Thu Oct 16 14:26:15 2008 +0100
41441 [test/font-matrix-translation] Check for OOM
41443 First check that querying the extents did not trigger NO_MEMORY.
41445 test/font-matrix-translation.c | 5 +++++
41446 1 file changed, 5 insertions(+)
41448 commit 21360bf6748b30cf58d54561e40a1aa711d8d7af
41449 Author: Chris Wilson <chris@chris-wilson.co.uk>
41450 Date: Fri Oct 17 20:44:51 2008 +0100
41452 [test/source-surface-big-scaled-down] Propagate error.
41454 Propagate error to source.
41456 test/surface-pattern-big-scale-down.c | 43 +++++++++++++++++++--------------
41457 1 file changed, 25 insertions(+), 18 deletions(-)
41459 commit 794160c35baf39593942ba71b45e4e75d2a87103
41460 Author: Chris Wilson <chris@chris-wilson.co.uk>
41461 Date: Fri Oct 17 20:37:43 2008 +0100
41463 [test/surface-pattern] Propagate error.
41465 Use cairo_get_target() to propagate error from secondary context.
41467 test/surface-pattern.c | 7 ++++---
41468 1 file changed, 4 insertions(+), 3 deletions(-)
41470 commit 0f48cce8d90cf95afcf86d71a932ab4e504b909b
41471 Author: Chris Wilson <chris@chris-wilson.co.uk>
41472 Date: Fri Oct 17 20:31:57 2008 +0100
41474 [test/source-clip-scale] Propagate error.
41476 Use cairo_get_target() to propagate error from secondary context.
41478 test/source-clip-scale.c | 8 ++++----
41479 1 file changed, 4 insertions(+), 4 deletions(-)
41481 commit 6cdbd132ceba159bb7e3ac5612aa79293b21e95a
41482 Author: Chris Wilson <chris@chris-wilson.co.uk>
41483 Date: Fri Oct 17 20:22:49 2008 +0100
41485 [test/source-clip] Propagate error.
41487 Use cairo_get_target() to propagate error from the secondary context.
41489 test/source-clip.c | 4 ++--
41490 1 file changed, 2 insertions(+), 2 deletions(-)
41492 commit f86f233b3e49c3f401b2fa02987b2193485e8be5
41493 Author: Chris Wilson <chris@chris-wilson.co.uk>
41494 Date: Fri Oct 17 20:14:06 2008 +0100
41496 [test/smask] Propagate error.
41498 Use cairo_get_target() to propagate errors from the secondary context.
41500 test/smask.c | 6 +++---
41501 1 file changed, 3 insertions(+), 3 deletions(-)
41503 commit 4490a6c363a8745ba89bfa890519a570d098086e
41504 Author: Chris Wilson <chris@chris-wilson.co.uk>
41505 Date: Fri Oct 17 19:15:17 2008 +0100
41507 [test/stroke-image] Propagate error
41509 Use cairo_get_target() to propagate errors from the secondary context.
41511 test/stroke-image.c | 19 +++++++++++--------
41512 1 file changed, 11 insertions(+), 8 deletions(-)
41514 commit 6e6d7e52a3c16787633e5059ae36f2fb0d03148a
41515 Author: Chris Wilson <chris@chris-wilson.co.uk>
41516 Date: Fri Oct 17 19:02:31 2008 +0100
41518 [test/mask] Propagate error from secondary context.
41520 Reset the source every time so that the error is propagate from the
41521 secondary context using cairo_get_target().
41523 test/mask.c | 6 +-----
41524 1 file changed, 1 insertion(+), 5 deletions(-)
41526 commit a56d4530d6149e2c4fc884a5cfeede2d6ff6d3b6
41527 Author: Chris Wilson <chris@chris-wilson.co.uk>
41528 Date: Fri Oct 17 15:54:21 2008 +0100
41530 [test/smask-text] Propagate error.
41532 Use cairo_get_target() to propagate error from the secondary context.
41534 test/smask-text.c | 12 ++++++------
41535 1 file changed, 6 insertions(+), 6 deletions(-)
41537 commit b1e884cd89ab2b83d3b8e072414e4e3f63e3a023
41538 Author: Chris Wilson <chris@chris-wilson.co.uk>
41539 Date: Fri Oct 17 15:52:55 2008 +0100
41541 [test/smask-stroke] Propagate error.
41543 Use cairo_get_target() to propagate the error from the secondary context.
41545 test/smask-stroke.c | 13 ++++++-------
41546 1 file changed, 6 insertions(+), 7 deletions(-)
41548 commit 546fbc2c0cf87abd627477056bf19063c5aa001a
41549 Author: Chris Wilson <chris@chris-wilson.co.uk>
41550 Date: Fri Oct 17 15:50:25 2008 +0100
41552 [test/smask-paint] Propagate error.
41554 Use cairo_get_target() to propagate errors from the secondary context.
41556 test/smask-paint.c | 6 +++---
41557 1 file changed, 3 insertions(+), 3 deletions(-)
41559 commit 8bd69132827fa539d9dfb65bd00e00c079827360
41560 Author: Chris Wilson <chris@chris-wilson.co.uk>
41561 Date: Fri Oct 17 15:49:02 2008 +0100
41563 [test/smask-mask] Propagate error.
41565 Use cairo_get_target() to propagate errors from the secondary contexts.
41567 test/smask-mask.c | 46 ++++++++++++++++++++++------------------------
41568 1 file changed, 22 insertions(+), 24 deletions(-)
41570 commit 9c0fe6c61e92044e8599f49e75d38edcdd6be960
41571 Author: Chris Wilson <chris@chris-wilson.co.uk>
41572 Date: Fri Oct 17 15:45:07 2008 +0100
41574 [test/smask-image-mask] Propagate error.
41576 Use cairo_get_target() to propagate any error status from the secondary
41579 test/smask-image-mask.c | 12 ++++++------
41580 1 file changed, 6 insertions(+), 6 deletions(-)
41582 commit 373d6c76b65e826f81873b51461bdf3c30024c06
41583 Author: Chris Wilson <chris@chris-wilson.co.uk>
41584 Date: Fri Oct 17 15:43:26 2008 +0100
41586 [test/smask-fill] Propagate error status.
41588 Use cairo_get_target() to propagate the error from the secondary context.
41590 test/smask-fill.c | 13 ++++++-------
41591 1 file changed, 6 insertions(+), 7 deletions(-)
41593 commit bb05beaab626d2fca6d219bfd8148dde71073b39
41594 Author: Chris Wilson <chris@chris-wilson.co.uk>
41595 Date: Fri Oct 17 15:27:11 2008 +0100
41597 [test/show-glyphs-many] Check for NO_MEMORY
41599 As we do a manual status check, we need to perform a full check.
41601 test/show-glyphs-many.c | 11 ++++++-----
41602 1 file changed, 6 insertions(+), 5 deletions(-)
41604 commit c0a4ef76e17dfd43d248c13b7f0665da9b847316
41605 Author: Chris Wilson <chris@chris-wilson.co.uk>
41606 Date: Fri Oct 17 14:57:42 2008 +0100
41608 [test/composite-integer-translate-over-repeat] Propagate error.
41610 Use cairo_get_target() to propagate any errors from the secondary context.
41612 test/composite-integer-translate-over-repeat.c | 7 ++++---
41613 1 file changed, 4 insertions(+), 3 deletions(-)
41615 commit 4a9e0f0e5ba17a322bbf0f38b2fb418211571d48
41616 Author: Chris Wilson <chris@chris-wilson.co.uk>
41617 Date: Thu Oct 16 16:50:32 2008 +0100
41619 [test/mask] Propagate error from secondary context.
41621 Use cairo_get_target() to infect the primary context with any errors
41622 raised whilst drawing the mask.
41624 test/mask.c | 6 ++----
41625 1 file changed, 2 insertions(+), 4 deletions(-)
41627 commit eaec1caa94ac871eb881ac354c4442ddd2a308ea
41628 Author: Chris Wilson <chris@chris-wilson.co.uk>
41629 Date: Thu Oct 16 16:20:28 2008 +0100
41631 [test/ft-text-*] Check for errors from fontconfig.
41633 If a match cannot be found, or if any other error occured, then fontconfig
41634 will return NULL. Check and propagate.
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(-)
41641 commit 336eddfdbb31865e3669ceb775089c63ce1db27f
41642 Author: Chris Wilson <chris@chris-wilson.co.uk>
41643 Date: Thu Oct 16 17:19:12 2008 +0100
41645 [test/get-clip] Check the status on the secondary context.
41647 As we solely use a secondary context, we must manually report NO_MEMORY
41648 errors whilst running under memfault.
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(-)
41655 commit d48f9340514c258cfece1b72d2f7e3f7b2d3c7b1
41656 Author: Chris Wilson <chris@chris-wilson.co.uk>
41657 Date: Thu Oct 16 14:05:14 2008 +0100
41659 [test/clip-operator] Propagate error from secondary context.
41661 Use the cairo_get_target() to propagate any errors from the secondary
41664 test/clip-operator.c | 6 ++----
41665 1 file changed, 2 insertions(+), 4 deletions(-)
41667 commit d11014386f739f43ec5f290714d7c51cc638f172
41668 Author: Chris Wilson <chris@chris-wilson.co.uk>
41669 Date: Fri Oct 5 13:37:07 2007 +0100
41671 Add support for lockdep.
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.
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.
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(-)
41688 commit bccfdf7d93c2a92a342127fc212770f4053cb2cf
41689 Author: Chris Wilson <chris@chris-wilson.co.uk>
41690 Date: Thu Oct 16 13:47:27 2008 +0100
41692 [test] Add support for memfault.
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.
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(-)
41704 commit 974fabfe059f9744116d20fd9f8b59f1b8c34b70
41705 Author: Chris Wilson <chris@chris-wilson.co.uk>
41706 Date: Fri Oct 17 18:52:51 2008 +0100
41708 [ft] Add more comments about FT_Face lifetime issues.
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.
41715 src/cairo-ft-font.c | 10 +++++++---
41716 1 file changed, 7 insertions(+), 3 deletions(-)
41718 commit 5fcfc7ebc9a2d1d947898d269be7ba91d27c5261
41719 Author: Chris Wilson <chris@chris-wilson.co.uk>
41720 Date: Thu Oct 16 17:13:45 2008 +0100
41722 [test/README] Document all fonts used.
41724 Do a little leg-work to answer a query in a bug report and document the
41727 test/README | 9 +++++++--
41728 1 file changed, 7 insertions(+), 2 deletions(-)
41730 commit c1164a574d3e2cc4746384875d5c2781114c0ea4
41731 Author: Chris Wilson <chris@chris-wilson.co.uk>
41732 Date: Thu Oct 16 08:49:13 2008 +0100
41734 [type1] Add comment to warn about read() as macro.
41736 In case we are ever tempted to simplify the function pointer, warn that it
41737 may alias with a macro.
41739 src/cairo-type1-subset.c | 5 +++++
41740 1 file changed, 5 insertions(+)
41742 commit ff9ee74b37a88cba2e996bf0cdae1af6b6c6fe30
41743 Author: Adrian Johnson <ajohnson@redneon.com>
41744 Date: Thu Oct 16 17:29:33 2008 +1030
41746 Revert unintended changes to test/fallback-resolution.c in the previous commit
41748 test/fallback-resolution.c | 2 +-
41749 1 file changed, 1 insertion(+), 1 deletion(-)
41751 commit 5911c6966de832fa350a6e9a4d587b7c3b3b4825
41752 Author: Adrian Johnson <ajohnson@redneon.com>
41753 Date: Thu Oct 16 17:22:48 2008 +1030
41755 Use correct inverse ctm for stroke in meta surface replay
41757 This fixes #9189 Dashed strokes too long in fallback images
41759 src/cairo-meta-surface.c | 2 +-
41760 test/fallback-resolution.c | 2 +-
41761 2 files changed, 2 insertions(+), 2 deletions(-)
41763 commit 6afcd821182137e8c3f128f9600e97cff79978b8
41764 Author: Chris Wilson <chris@chris-wilson.co.uk>
41765 Date: Wed Oct 15 22:41:26 2008 +0100
41767 [test] Add a spline test.
41769 Test the decomposition of 5 different types of spline curve. Useful test
41770 for future experiments in improving the decomposition algorithm.
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
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(+)
41788 commit 91b0dc92c8ede189d942188f92068f189907e239
41789 Author: Chris Wilson <chris@chris-wilson.co.uk>
41790 Date: Wed Oct 15 22:27:53 2008 +0100
41792 [build] Add -fno-common.
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.
41797 build/configure.ac.warnings | 2 +-
41798 1 file changed, 1 insertion(+), 1 deletion(-)
41800 commit b94b600b34793cecd9a66d37dd34a6619738e2c2
41801 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
41802 Date: Wed Oct 15 13:41:03 2008 -0400
41804 [quartz] Completely remove CAIRO_HAS_QUARTZ_IMAGE_SURFACE check
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.
41810 src/cairo-quartz-image-surface.c | 4 ----
41811 1 file changed, 4 deletions(-)
41813 commit d36b02dc662e623bee58a69c32b149a242cbf52b
41814 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
41815 Date: Wed Oct 15 12:45:11 2008 -0400
41817 [quartz] Rebalance 'CAIRO_HAS_QUARTZ_IMAGE_SURFACE' #ifdef
41819 Fixes compilation by re-adding '#ifdef CAIRO_HAS_QUARTZ_IMAGE_SURFACE' which
41820 was, I assume, unintentionally removed by
41821 2cf4b3161c19b9b0349bd2aa94855fd0822968be.
41823 src/cairo-quartz-image-surface.c | 2 ++
41824 1 file changed, 2 insertions(+)
41826 commit 83162360a44c4d4701f0ade2e2ee813f79186439
41827 Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
41828 Date: Wed Oct 15 10:34:12 2008 -0400
41830 Fix quratz_image typo in Makefile.sources.
41832 src/Makefile.sources | 4 ++--
41833 1 file changed, 2 insertions(+), 2 deletions(-)
41835 commit 877e77fa3e85c09c29e64ca5ae7329346db029cc
41836 Author: Chris Wilson <chris@chris-wilson.co.uk>
41837 Date: Wed Oct 15 12:20:00 2008 +0100
41839 [glitz] Disable caching of solid surfaces.
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.
41845 src/cairo-glitz-surface.c | 7 +++++++
41846 1 file changed, 7 insertions(+)
41848 commit fc04a1e0dbc3cefa51c7602e0a23dba886813fe5
41849 Author: Chris Wilson <chris@chris-wilson.co.uk>
41850 Date: Wed Oct 15 12:13:40 2008 +0100
41852 [boilerplate] Fixup compilation for gliitz.
41854 Convert a few old references to cairo_boilerplate_surface_set_user_data.
41856 boilerplate/cairo-boilerplate-glitz.c | 12 ++++++------
41857 1 file changed, 6 insertions(+), 6 deletions(-)
41859 commit e17f02add019d9acf461a1ad1245ba5be00cf336
41860 Author: Chris Wilson <chris@chris-wilson.co.uk>
41861 Date: Wed Oct 15 10:52:33 2008 +0100
41863 [type1] Protect against read macro
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
41869 face->stream->read() is one such example.
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.
41875 src/cairo-type1-subset.c | 8 ++++----
41876 1 file changed, 4 insertions(+), 4 deletions(-)
41878 commit bc872a5f5fb9b6318dc78d132da46a6b201f75c7
41879 Author: Chris Wilson <chris@chris-wilson.co.uk>
41880 Date: Wed Oct 15 10:21:05 2008 +0100
41882 [xlib] Handle 4,20,24,28 depth XImages
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.
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(-)
41898 commit 1728fa352011c570ce1bcc3bd14897e789c85252
41899 Author: Chris Wilson <chris@chris-wilson.co.uk>
41900 Date: Wed Oct 15 09:23:01 2008 +0100
41902 [svg] Add notes about why we shouldn't add DOCTYPE.
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
41910 src/cairo-svg-surface.c | 22 ++++++++++++++++++++++
41911 1 file changed, 22 insertions(+)
41913 commit e9f5ee6efe7725c1e0e32fa9e85cca61ecb93440
41914 Author: Chris Wilson <chris@chris-wilson.co.uk>
41915 Date: Tue Oct 14 14:42:48 2008 +0100
41917 [doc] Fix a few gtk-doc errors.
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
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(-)
41930 commit 595414bb787d570ac95fc91c58c370558e9d5a54
41931 Author: Chris Wilson <chris@chris-wilson.co.uk>
41932 Date: Tue Oct 14 14:24:49 2008 +0100
41934 [test/fallback-resolution] Extend to cover separate ppi x/y.
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.
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(-)
41988 commit 0d3e152d2fe28b22a27dd6b9f82e2047aea3be94
41989 Author: Chris Wilson <chris@chris-wilson.co.uk>
41990 Date: Tue Oct 14 13:44:47 2008 +0100
41992 [check-doc-syntax.sh] Allow quoting.
41994 func_regexp was incorrectly complaining that cairo_pure was a function without
41995 parenthesis. The simplest solution appeared to be allow quoting of
41998 src/cairo-compiler-private.h | 22 +++++++++++-----------
41999 src/check-doc-syntax.sh | 6 +++---
42000 2 files changed, 14 insertions(+), 14 deletions(-)
42002 commit 02a7ca80f9f9b62deff6c8ba4dc58fee0cebcaa6
42003 Author: Chris Wilson <chris@chris-wilson.co.uk>
42004 Date: Tue Oct 14 11:08:43 2008 +0100
42006 [pattern] Correctly optimize away fractional translations.
42008 As is so often the case, reading the commit log gives you fresh insight in
42009 the problem - often called confessional debugging...
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.
42016 src/cairo-pattern.c | 18 ++++++++++--------
42017 1 file changed, 10 insertions(+), 8 deletions(-)
42019 commit 9886cb3353eb02ce5b99d555a35b13b8347f8e87
42020 Author: Chris Wilson <chris@chris-wilson.co.uk>
42021 Date: Tue Oct 14 10:23:41 2008 +0100
42023 [pattern] Only perform non-integer optimization for identity matrices.
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...
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(-)
42039 commit 8dc3deecb8e0ca2f84d996096230f27ab4c24c18
42040 Author: Chris Wilson <chris@chris-wilson.co.uk>
42041 Date: Tue Oct 14 08:17:23 2008 +0100
42043 Add documentation for function attributes 'pure' and 'const'.
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
42050 src/cairo-compiler-private.h | 20 ++++++++++++++++++++
42051 1 file changed, 20 insertions(+)
42053 commit 6aa1143d5a8ec45fc793102a64e956d7d1c7ad01
42054 Author: Chris Wilson <chris@chris-wilson.co.uk>
42055 Date: Mon Oct 13 23:49:17 2008 +0100
42057 Update documentation to remove references to cairo_has_show_text_glyphs().
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.
42065 src/cairo-surface.c | 3 ---
42066 src/cairo.c | 6 +++---
42067 3 files changed, 4 insertions(+), 7 deletions(-)
42069 commit b2053945df35d4d7eea9fe3200e9c018705309d1
42070 Author: Chris Wilson <chris@chris-wilson.co.uk>
42071 Date: Mon Oct 13 23:39:47 2008 +0100
42073 [scaled-font] Correct documentation for cairo_scaled_font_create().
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).
42078 src/cairo-scaled-font.c | 3 +--
42079 1 file changed, 1 insertion(+), 2 deletions(-)
42081 commit 3eb4bc37577e905d93a1935e7a9cd33ae8dbda15
42082 Author: Chris Wilson <chris@chris-wilson.co.uk>
42083 Date: Mon Oct 13 23:26:04 2008 +0100
42085 [pattern] Optimize away fractional translation for NEAREST patterns.
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.
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
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(+)
42110 commit ceab32e2c3d51c0dd29b105a5a390cdd8aa58f8f
42111 Author: Chris Wilson <chris@chris-wilson.co.uk>
42112 Date: Sun Oct 12 12:11:12 2008 +0100
42114 [win32] win32 also uses font subsets.
42116 Include win32 in the list of font subset users, fixes build when
42119 src/cairoint.h | 5 ++++-
42120 1 file changed, 4 insertions(+), 1 deletion(-)
42122 commit 1d3453eee50e4343995c5d3f225d18289fbcebec
42123 Author: Chris Wilson <chris@chris-wilson.co.uk>
42124 Date: Sun Oct 12 11:21:14 2008 +0100
42126 [pattern] Rescale the linear pattern matrix to avoid overflow.
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.
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(-)
42139 commit ab1d106cba7aa4abe5f7253c089aadd15e0bb06d
42140 Author: Chris Wilson <chris@chris-wilson.co.uk>
42141 Date: Sat Oct 11 19:52:28 2008 +0100
42143 [xlib] Use the cached xrender formats.
42145 Use the cached formats for consistency and simplify several double pointer
42148 src/cairo-xlib-surface.c | 64 +++++++++++++++++++++++++++++-----------------
42149 1 file changed, 40 insertions(+), 24 deletions(-)
42151 commit 6736faba3ebe4eae4c1d2aeeb3153eb6f12a32de
42152 Author: Chris Wilson <chris@chris-wilson.co.uk>
42153 Date: Sat Oct 11 18:10:16 2008 +0100
42155 [test/any2ppm] Do not attempt to compile PS without spectre
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
42162 configure.ac | 5 ++++-
42163 test/Makefile.am | 2 +-
42164 test/any2ppm.c | 28 ++++++++++++++++++++--------
42165 3 files changed, 25 insertions(+), 10 deletions(-)
42167 commit b35871116243724b59738fce00b512818c83ea17
42168 Author: Benjamin Otte <otte@gnome.org>
42169 Date: Sat Oct 11 00:18:11 2008 +0100
42171 [test] Add huge pattern.
42173 Add a test case to exercise range overflow during gradient construction.
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(+)
42181 commit 77070270813d2ca40d422e5301f75222d19e1d8f
42182 Author: Chris Wilson <chris@chris-wilson.co.uk>
42183 Date: Fri Oct 10 22:24:01 2008 +0100
42185 [test] Use _POSIX_C_SOURCE for flockfile.
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.
42192 test/cairo-test.c | 5 +++--
42193 1 file changed, 3 insertions(+), 2 deletions(-)
42195 commit 34ff7e4ac42acfb2ab9921da21933113518bd8a0
42196 Author: Adrian Johnson <ajohnson@redneon.com>
42197 Date: Sat Oct 11 23:44:37 2008 +1030
42199 Check that reads in truetype_reverse_cmap are within valid data
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.
42205 src/cairo-truetype-subset.c | 12 +++++++++++-
42206 1 file changed, 11 insertions(+), 1 deletion(-)
42208 commit a16ef6ead2b02120ca482aa3d2667e51b0c67e78
42209 Author: Chris Wilson <chris@chris-wilson.co.uk>
42210 Date: Fri Oct 10 18:03:49 2008 +0100
42212 [INSTALL] Mention pkg-config requirement
42214 Mention that building the configure script requires at least version 0.16
42218 Bug 4702 PKG_PROG_PKG_CONFIG: command not found
42219 (https://bugs.freedesktop.org/show_bug.cgi?id=4702)
42222 1 file changed, 1 insertion(+)
42224 commit eba9d87d541d89804f70e56874538a249de08502
42225 Author: Chris Wilson <chris@chris-wilson.co.uk>
42226 Date: Fri Oct 10 16:51:07 2008 +0100
42228 [image] Warn about a potential NULL return after finish().
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.
42235 src/cairo-image-surface.c | 3 ++-
42236 1 file changed, 2 insertions(+), 1 deletion(-)
42238 commit ac3e4b4bea574c94de77ec15878d116b619ee3f4
42239 Author: Chris Wilson <chris@chris-wilson.co.uk>
42240 Date: Fri Oct 10 14:00:32 2008 +0100
42242 [xlib] Disable XRender support if the surface has no xrender_format
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.
42253 src/cairo-xlib-surface.c | 37 ++++++++++++++++++++++++-------------
42254 1 file changed, 24 insertions(+), 13 deletions(-)
42256 commit 8ac8e8c523abaa5db24c5303c671ff3487bf0801
42257 Author: Carlos Garcia Campos <carlosgc@gnome.org>
42258 Date: Sun Sep 21 14:29:30 2008 +0200
42260 [test] Add ps2png check program using libspectre
42262 Add a simple program to compliment pdf2png and svg2png.
42265 test/Makefile.am | 8 ++++
42266 test/ps2png.c | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
42267 3 files changed, 122 insertions(+)
42269 commit 3e6afb353da1fee624b519f5a96b3303c7eb91ae
42270 Author: Carlos Garcia Campos <carlosgc@gnome.org>
42271 Date: Thu Oct 9 12:11:51 2008 +0100
42273 [test/any2ppm] Enable PS conversion using libspectre.
42275 Complete the vector trilogy using libspectre to provide a similar
42276 interface (to poppler and librsvg) around GhostScript.
42279 configure.ac | 20 ++++++++++++---
42280 test/Makefile.am | 4 +--
42281 test/any2ppm.c | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
42282 4 files changed, 90 insertions(+), 8 deletions(-)
42284 commit ddd1615a1777181c6e8db1dbafacb68535ed163a
42285 Author: Chris Wilson <chris@chris-wilson.co.uk>
42286 Date: Wed Oct 8 23:13:03 2008 +0100
42288 [pattern] Remove incorrect assert.
42290 It's possible to reach that point without setting the filter to NEAREST,
42291 for example if using FAST or GAUSSIAN.
42293 src/cairo-pattern.c | 1 -
42294 1 file changed, 1 deletion(-)
42296 commit c647c0bbca8694a14f5f5807b8349f0b0bb4987d
42297 Author: Benjamin Otte <otte@gnome.org>
42298 Date: Thu Oct 9 13:21:27 2008 +0200
42300 [TEST] make imagediff work again
42302 It seems to have bitrotten
42304 test/imagediff.c | 9 +++++----
42305 1 file changed, 5 insertions(+), 4 deletions(-)
42307 commit f644d78dc138a7ba920a108dfb058e9f0fdb5302
42308 Author: Björn Lindqvist <bjourne@gmail.com>
42309 Date: Wed Oct 8 20:08:25 2008 +0100
42311 [perf] Add composite performance test.
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
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(+)
42326 commit 96b083d3f0e47f919cb6d0f06735427eaea21565
42327 Author: Chris Wilson <chris@chris-wilson.co.uk>
42328 Date: Wed Oct 8 18:53:46 2008 +0100
42330 [test] Exercise degenerate dashes.
42332 Add a test case to capture the current behaviour when a segment ends on
42333 an off/on dash transition.
42335 Originally filed as bug:
42336 Miter artifacts for dashed strokes
42337 https://bugs.freedesktop.org/show_bug.cgi?id=17973
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(+)
42345 commit 6487a147a2129f588aae900b048b2a801ef95ec0
42346 Author: Chris Wilson <chris@chris-wilson.co.uk>
42347 Date: Wed Oct 8 15:26:03 2008 +0100
42349 [cairo.h] Be defensive when checking for _MSC_VER
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)
42356 #if defined (_MSC_VER)
42360 1 file changed, 1 insertion(+), 1 deletion(-)
42362 commit 59141e56a723f741c87e2eaa37bf96e243ac5728
42363 Author: Chris Wilson <chris@chris-wilson.co.uk>
42364 Date: Wed Oct 8 13:50:28 2008 +0100
42366 [win32] Restore fine-grained fallback support for printing.
42368 Missed updating win32 when implementing the new paginated API to query
42369 support for the fine-grained fallbacks.
42371 (Thanks to Adrian for spotting this oversight.)
42373 src/cairo-win32-printing-surface.c | 8 ++++++++
42374 1 file changed, 8 insertions(+)
42376 commit 565c02a37e2d140a20867081eea9bb5de9999b1c
42377 Author: Chris Wilson <chris@chris-wilson.co.uk>
42378 Date: Wed Oct 8 11:06:42 2008 +0100
42380 [svg] Use finer-grained fallbacks for SVG 1.2
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+.
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.
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(-)
42408 commit 0c777a3e0de0d48289432a3d66be68f8779b08a0
42409 Author: Vladimir Vukicevic <vladimir@pobox.com>
42410 Date: Tue Oct 7 15:20:33 2008 -0700
42412 [win32] Use wide-char versions of some API functions, for compat with Windows Mobile
42414 src/cairo-win32-surface.c | 6 +++---
42415 1 file changed, 3 insertions(+), 3 deletions(-)
42417 commit cf572b58e1197dac0ff1795b27b142c3e044cf45
42418 Author: Chris Wilson <chris@chris-wilson.co.uk>
42419 Date: Tue Oct 7 09:55:03 2008 +0100
42421 [tessellator] Compile fixes for !HAVE_INT64_T
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.
42426 src/cairo-bentley-ottmann.c | 14 +++++++-------
42427 src/cairo-wideint-private.h | 10 +++++++++-
42428 2 files changed, 16 insertions(+), 8 deletions(-)
42430 commit 6b8c0559620ab23c4df1f381d2e95ffc307d2e2f
42431 Author: Chris Wilson <chris@chris-wilson.co.uk>
42432 Date: Tue Oct 7 09:43:45 2008 +0100
42434 [tessellator] Avoid implicit promotion to 64bit integer.
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
42440 src/cairo-bentley-ottmann.c | 20 ++++++++++----------
42441 1 file changed, 10 insertions(+), 10 deletions(-)
42443 commit eaa4bd13926728e9da97a23df8a465ef2296049a
42444 Author: Chris Wilson <chris@chris-wilson.co.uk>
42445 Date: Tue Oct 7 21:09:16 2008 +0100
42447 [pattern] After cloning adjust [xy]_offset if possible.
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.)
42460 src/cairo-pattern.c | 16 +++++++++++++---
42461 1 file changed, 13 insertions(+), 3 deletions(-)
42463 commit 552cc09e6be2b704dc32f986c84640d50316c25c
42464 Author: Chris Wilson <chris@chris-wilson.co.uk>
42465 Date: Tue Oct 7 21:05:57 2008 +0100
42467 [xlib] Check integer translation for XCopyArea.
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).
42477 src/cairo-xlib-surface.c | 10 ++++++++--
42478 1 file changed, 8 insertions(+), 2 deletions(-)
42480 commit 308485a3fc70bc4455a01990443c1f954b8a66f8
42481 Author: Chris Wilson <chris@chris-wilson.co.uk>
42482 Date: Tue Oct 7 20:19:10 2008 +0100
42484 [test] Add a test for a reported regression by Michael Natterer.
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.
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(+)
42496 commit 28a3b546b91290f3377777adedcf7ab71e599188
42497 Author: Vladimir Vukicevic <vladimir@pobox.com>
42498 Date: Tue Oct 7 10:25:46 2008 -0700
42500 [win32] create_similar should fall back to DIBs if DDB creation fail
42502 src/cairo-win32-surface.c | 43 +++++++++++++++++--------------------------
42503 1 file changed, 17 insertions(+), 26 deletions(-)
42505 commit 4ae37a97b3e415591caa611533f44db5a29cfb72
42506 Author: Vladimir Vukicevic <vladimir@pobox.com>
42507 Date: Tue Oct 7 10:18:41 2008 -0700
42509 [quartz] initialize do_reflect field correctly for pattern draws
42511 src/cairo-quartz-surface.c | 3 +--
42512 1 file changed, 1 insertion(+), 2 deletions(-)
42514 commit 8cf399b944294645833088ee2ac1313093948b66
42515 Author: Chris Wilson <chris@chris-wilson.co.uk>
42516 Date: Mon Oct 6 18:59:15 2008 +0100
42518 [test] Add a test to exercise the internal twin font
42520 Although Behdad promises that the rendering is subject to improvement,
42521 introduce a test to check consistency across platforms and update as
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(+)
42532 commit 1f813ff04022a36a91bf9d1b0f7f2ae1c63b399f
42533 Author: Chris Wilson <chris@chris-wilson.co.uk>
42534 Date: Mon Oct 6 17:55:37 2008 +0100
42536 [array] Silence gtk-doc complaints.
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.
42542 src/cairo-array.c | 26 ++++++++++++++++++++------
42543 1 file changed, 20 insertions(+), 6 deletions(-)
42545 commit 7cb9ccb4cb2106bb59e181ee284f8dcc5504eb7a
42546 Author: Chris Wilson <chris@chris-wilson.co.uk>
42547 Date: Mon Oct 6 17:44:03 2008 +0100
42549 Fixup a couple of trivials doc warnings.
42551 Correct the 'Returns' statement to match what gtk-doc expects.
42553 src/cairo-cache.c | 3 +--
42554 src/cairo-pattern.c | 5 ++---
42555 2 files changed, 3 insertions(+), 5 deletions(-)
42557 commit d6f0351b6cbb0d542a069eb5d0a7377eb85a6e4e
42558 Author: Chris Wilson <chris@chris-wilson.co.uk>
42559 Date: Mon Oct 6 17:17:04 2008 +0100
42561 [skiplist] Avoid repeated calls to compare on the same element when inserting.
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.)
42572 src/cairo-skiplist.c | 16 ++++++++++------
42573 1 file changed, 10 insertions(+), 6 deletions(-)
42575 commit 1440399625ae0579d0748475fc924cfe74339a21
42576 Author: Chris Wilson <chris@chris-wilson.co.uk>
42577 Date: Mon Oct 6 16:15:29 2008 +0100
42579 [hull] Replace open-coding of 64bit arithmetic.
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
42585 src/cairo-hull.c | 31 +++++++++++++++++++------------
42586 1 file changed, 19 insertions(+), 12 deletions(-)
42588 commit c6a6bf580fa7036e4c28137f8c038beb5c347244
42589 Author: Chris Wilson <chris@chris-wilson.co.uk>
42590 Date: Mon Oct 6 16:13:21 2008 +0100
42592 [slope] Replace open-coding 64bit integer arithmetic.
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
42598 src/cairo-slope.c | 14 ++++++--------
42599 1 file changed, 6 insertions(+), 8 deletions(-)
42601 commit 5e3fcb7934f568bb7e304a1c434a9370b693df17
42602 Author: Chris Wilson <chris@chris-wilson.co.uk>
42603 Date: Mon Oct 6 17:02:54 2008 +0100
42605 [wideint] Declare the wideint arithmetic functions as const.
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).
42611 src/cairo-compiler-private.h | 2 ++
42612 src/cairo-wideint-private.h | 2 +-
42613 2 files changed, 3 insertions(+), 1 deletion(-)
42615 commit 9430bf57ebc86c79e28128e54aeb5a194c9cad03
42616 Author: Carl Worth <cworth@cworth.org>
42617 Date: Mon Oct 6 14:00:37 2008 -0700
42619 Fix scrambled version number in generated documentation.
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.
42625 doc/public/Makefile.am | 2 +-
42626 1 file changed, 1 insertion(+), 1 deletion(-)
42628 commit 5beae8f530fe7056fa965cb5ca7b345a667e8122
42629 Author: Behdad Esfahbod <behdad@behdad.org>
42630 Date: Mon Oct 6 12:43:42 2008 -0400
42632 [Makefile.am.releasing] Make 'make snapshot' print a banner when done
42634 Copied from "make distcheck" implementation. Prints something like:
42636 =============================================================
42637 cairo-1.8.1-20081006-38de89 archives ready for distribution:
42638 cairo-1.8.1-20081006-38de89.tar.gz
42639 =============================================================
42641 build/Makefile.am.releasing | 9 ++++++++-
42642 1 file changed, 8 insertions(+), 1 deletion(-)
42644 commit 38de895d3863bd2e6fe921ad6cc6eeff15102701
42645 Author: Behdad Esfahbod <behdad@behdad.org>
42646 Date: Mon Oct 6 12:11:18 2008 -0400
42648 [RELEASING] Fix sample distcheck output to reflect current versioning
42650 RELEASING | 8 ++++----
42651 1 file changed, 4 insertions(+), 4 deletions(-)
42653 commit f8018cf193823356270c8e7f21f3108fbe44679c
42654 Author: Behdad Esfahbod <behdad@behdad.org>
42655 Date: Mon Oct 6 11:45:08 2008 -0400
42657 [boilerplate] Fix "make dist"
42659 The cairo-boilerplate-ps/pdf/svg.h files where removed in commit
42660 9841d9d58ea286f798626d325d50a85bf3f02c8f but the Makefile.sources
42661 listing was not updated.
42663 boilerplate/Makefile.sources | 3 ---
42664 1 file changed, 3 deletions(-)
42666 commit 6578ac148ecdd236b0860923e5dee87291c9966c
42667 Author: Behdad Esfahbod <behdad@behdad.org>
42668 Date: Mon Oct 6 11:39:47 2008 -0400
42670 [twin-font] Make the stroke lighter
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.
42675 src/cairo-font-face-twin.c | 2 +-
42676 1 file changed, 1 insertion(+), 1 deletion(-)
42678 commit 2fb7753903daf5c207b22034682a250161af22ad
42679 Author: Behdad Esfahbod <behdad@behdad.org>
42680 Date: Mon Oct 6 11:39:00 2008 -0400
42682 [Makefile.am.releasing] Exclude uid/gid from tarball
42684 By setting GNU tar options --owner=0 --group=0
42686 build/Makefile.am.releasing | 6 ++++--
42687 1 file changed, 4 insertions(+), 2 deletions(-)
42689 commit 589564c3b02d5b0505806924bd051323717791a3
42690 Author: Behdad Esfahbod <behdad@behdad.org>
42691 Date: Sat Oct 4 01:36:07 2008 -0400
42693 [user-font] Fix comment re backend interface
42695 src/cairo-user-font.c | 2 +-
42696 1 file changed, 1 insertion(+), 1 deletion(-)
42698 commit c98c1cb5325bbc05c88ea350ff99d6eaf56fd339
42699 Author: Chris Wilson <chris@chris-wilson.co.uk>
42700 Date: Sun Oct 5 10:39:10 2008 +0100
42702 [wideint] Mark functions as pure
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.
42709 src/cairo-compiler-private.h | 6 ++++++
42710 src/cairo-wideint-private.h | 2 +-
42711 2 files changed, 7 insertions(+), 1 deletion(-)
42713 commit 76dd4603d01068b1b377312ced6b44fe5419794f
42714 Author: Chris Wilson <chris@chris-wilson.co.uk>
42715 Date: Sun Oct 5 10:15:49 2008 +0100
42717 [tessellator] Replace open-coding _cairo_int64_cmp().
42719 We often use the construct:
42720 if (_cairo_int64_lt (A, B)
42722 if (_cairo_int64_gt (A, B)
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.)
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(-)
42737 commit 6eead4a5f746e182eabfcda9959cd9cc53d95a89
42738 Author: Chris Wilson <chris@chris-wilson.co.uk>
42739 Date: Sat Oct 4 12:39:21 2008 +0100
42741 [stroke] Simplify dash-off logic.
42743 Remove a redundant level of if-else branching (and remove a duplicate
42744 code) block by testing dash_on first.
42746 src/cairo-path-stroke.c | 65 ++++++++++++++++++++---------------------------
42747 1 file changed, 28 insertions(+), 37 deletions(-)
42749 commit 4aa0991a11f03a47735dcfafe43d9505b939554e
42750 Author: Chris Wilson <chris@chris-wilson.co.uk>
42751 Date: Sat Oct 4 20:22:18 2008 +0100
42753 [test] Mark fallback-resolution as XFAIL.
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 ;-)
42760 test/Makefile.am | 13 +++++++++++++
42761 1 file changed, 13 insertions(+)
42763 commit ae87382a84770f8656c369d258f705b8ac20049c
42764 Author: Chris Wilson <chris@chris-wilson.co.uk>
42765 Date: Sat Oct 4 10:54:25 2008 +0100
42767 [tessellator] Special case edge comparisons when on either end-point.
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
42775 src/cairo-bentley-ottmann.c | 100 +++++++++++++++++++++++++++++++++++++++++--
42776 1 file changed, 96 insertions(+), 4 deletions(-)
42778 commit ab23c2995356821537b9a0facdff87c339a05d2a
42779 Author: Chris Wilson <chris@chris-wilson.co.uk>
42780 Date: Wed Oct 1 12:18:16 2008 +0100
42782 [tessellator] Direct comparison of result in edges_compare_x_for_y.
42784 We need to compare the x-coordinate of a line at a for a particular y,
42785 without loss of precision.
42787 The x-coordinate along an edge for a given y is:
42788 X = A_x + (Y - A_y) * A_dx / A_dy
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.
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
42797 A_dy * B_dy * (A_x - B_x) -?- (Y - B_y) * B_dx * A_dy
42798 - (Y - A_y) * A_dx * B_dy
42800 Given the assumption that all the deltas fit within 32 bits, we can compute
42801 this comparison directly using 128 bit arithmetic.
42803 src/cairo-bentley-ottmann.c | 97 ++++++++++++++++++++++++-------------------
42804 src/cairo-wideint-private.h | 1 +
42805 2 files changed, 56 insertions(+), 42 deletions(-)
42807 commit 7db03ac68cd556c903c07a2e2f8b75ec51263d12
42808 Author: Chris Wilson <chris@chris-wilson.co.uk>
42809 Date: Wed Oct 1 12:34:36 2008 +0100
42811 [tessellator] Use abort() instead of exit().
42813 More friendly when debugging, as the debug will (by default) catch the
42814 SIGTRAP and break at the offending test.
42816 src/cairo-bentley-ottmann.c | 6 +++---
42817 1 file changed, 3 insertions(+), 3 deletions(-)
42819 commit 59e569576d00e9c1cb66a77cf447c3cc3fb038e7
42820 Author: Chris Wilson <chris@chris-wilson.co.uk>
42821 Date: Sun Sep 28 19:04:39 2008 +0100
42823 [traps] Discard trivially empty trapezoid.
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.
42829 src/cairo-traps.c | 11 +++++++++--
42830 1 file changed, 9 insertions(+), 2 deletions(-)
42832 commit 7a2329e9c8afbfecb88c6c50bd63aa03ea7f9f81
42833 Author: Chris Wilson <chris@chris-wilson.co.uk>
42834 Date: Wed Oct 1 09:49:45 2008 +0100
42836 [traps] Reset extents on clearing.
42838 When clearing the array of current trapezoids, reset the extents to
42839 infinite so that they are properly recomputed.
42841 src/cairo-traps.c | 2 ++
42842 1 file changed, 2 insertions(+)
42844 commit 8ec24a443d45b012df9b1a14b00a0b5b1c43e2ea
42845 Author: Chris Wilson <chris@chris-wilson.co.uk>
42846 Date: Tue Sep 30 23:19:01 2008 +0100
42848 [xlib] Share the common conditions for starting a new xGlyphElt using a macro.
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.
42854 src/cairo-xlib-surface.c | 39 ++++++++++++++++++++++-----------------
42855 1 file changed, 22 insertions(+), 17 deletions(-)
42857 commit a593338b2c2cdaff808947436f8fb9a52d74c695
42858 Author: Chris Wilson <chris@chris-wilson.co.uk>
42859 Date: Wed Oct 1 16:24:33 2008 +0100
42861 [xcb] Return false from _cairo_xcb_surface_is_similar().
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.
42869 src/cairo-xcb-surface.c | 6 ++++++
42870 1 file changed, 6 insertions(+)
42872 commit 65f1575f6b2392d59410f40281a52654053bd2a8
42873 Author: Chris Wilson <chris@chris-wilson.co.uk>
42874 Date: Wed Oct 1 16:16:45 2008 +0100
42878 Must compile xcb more often. Especially after copying code over from xlib.
42880 src/cairo-xcb-surface.c | 41 ++++++++++++++++++++++++-----------------
42881 1 file changed, 24 insertions(+), 17 deletions(-)
42883 commit e76432f7544d5b3b9157f09e18acc167d9ee90a3
42884 Author: Behdad Esfahbod <behdad@behdad.org>
42885 Date: Sat Oct 4 00:35:43 2008 -0400
42887 [win32] Use -MDd and -LDd instead of -MD and -LD for debug build
42889 As reported by Damian Frank:
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).
42899 This problem applies to pixman too; can you pass this along to the
42902 Would be delighted to if someone commits a fix to pixman reading this
42905 build/Makefile.win32.common | 8 ++++++--
42906 src/Makefile.win32 | 2 +-
42907 2 files changed, 7 insertions(+), 3 deletions(-)
42909 commit 8ea9cb187a198c64bfb79af8001d95eab29715b4
42910 Author: Carl Worth <cworth@cworth.org>
42911 Date: Wed Oct 1 14:12:18 2008 -0700
42913 Use symbolic constants for Render repeat modes.
42915 Names like RepeatNone and RepeatNormal are much easier to
42916 read and understand than bare 0 and 1.
42918 src/cairo-xlib-surface.c | 4 ++--
42919 1 file changed, 2 insertions(+), 2 deletions(-)
42921 commit 2c58a2c3851afac0386fcf0bf8504a937231185c
42922 Author: Behdad Esfahbod <behdad@behdad.org>
42923 Date: Tue Sep 30 17:55:01 2008 -0400
42925 [xlib] Start a new glyph element every 128 glyphs
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
42931 src/cairo-xlib-surface.c | 26 ++++++++++++++++++++++----
42932 1 file changed, 22 insertions(+), 4 deletions(-)
42934 commit fd7e09c7e66876b8492424e1c7d1260c12cc17f3
42935 Author: Behdad Esfahbod <behdad@behdad.org>
42936 Date: Tue Sep 30 17:46:06 2008 -0400
42938 [xlib] Allow room for glyph element padding
42940 Xrender pads glyph elements to 4byte boundaries. We didn't consider
42941 that in our request size calculations. We do now.
42943 src/cairo-xlib-surface.c | 9 +++++++--
42944 1 file changed, 7 insertions(+), 2 deletions(-)
42946 commit c01fb77abbaf28c03aa6a21ebb997638dbdf950b
42947 Author: Behdad Esfahbod <behdad@behdad.org>
42948 Date: Tue Sep 30 17:41:51 2008 -0400
42950 [xlib] s/_cairo_xlib_surface_emit_glyphs_chunk/_emit_glyphs_chunk/
42952 For readability's sake.
42954 src/cairo-xlib-surface.c | 34 +++++++++++++++++-----------------
42955 1 file changed, 17 insertions(+), 17 deletions(-)
42957 commit c2ba25df1aec1cebfc4ce85e06a4187950675820
42958 Author: Behdad Esfahbod <behdad@behdad.org>
42959 Date: Tue Sep 30 17:40:56 2008 -0400
42961 [xlib] Add comment about glyph chunk invariant
42963 src/cairo-xlib-surface.c | 4 ++++
42964 1 file changed, 4 insertions(+)
42966 commit e983458e1fba15153815430c83619da53929139d
42967 Author: Behdad Esfahbod <behdad@behdad.org>
42968 Date: Tue Sep 30 17:26:46 2008 -0400
42970 Revert "[xlib] Correct calculation of XRenderComposite* request size."
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
42978 src/cairo-xlib-surface.c | 123 +++++++++++++++++-----------------------------
42979 1 file changed, 45 insertions(+), 78 deletions(-)
42981 commit 32a158528884562f4b22a81da3fa352ee1061835
42982 Author: Behdad Esfahbod <behdad@behdad.org>
42983 Date: Tue Sep 30 15:20:36 2008 -0400
42985 [configure.ac] Require autoconf >= 2.59 and automake >= 1.9.6
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.
42994 configure.ac | 4 ++--
42995 1 file changed, 2 insertions(+), 2 deletions(-)
42997 commit 0eb0c26474a19477554bfd580aa5f8ae77c29779
42998 Author: Chris Wilson <chris@chris-wilson.co.uk>
42999 Date: Tue Sep 30 13:33:25 2008 +0100
43001 [xlib] Correct calculation of XRenderComposite* request size.
43003 show-glyphs-many is triggering an assertion failure within xlib. The cause
43004 appears to be that we are submitting an overlong request.
43006 Reviewing the code and comparing with libXrender/src/Glyph.c I found two
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.
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
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
43025 src/cairo-xlib-surface.c | 123 +++++++++++++++++++++++++++++-----------------
43026 1 file changed, 78 insertions(+), 45 deletions(-)
43028 commit 02a56a4c84cd07a2c33134974680bad7f17f733d
43029 Author: Chris Wilson <chris@chris-wilson.co.uk>
43030 Date: Tue Sep 30 15:08:54 2008 +0100
43032 [test/show-glyphs-many] Exercise xlib boundary conditions.
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.
43044 test/show-glyphs-many.c | 83 ++++++++++++++++++++++++++++++++++++-----------
43045 1 file changed, 64 insertions(+), 19 deletions(-)
43047 commit 2a347a92b0a27a42840f9538cb98f792be12b277
43048 Author: Chris Wilson <chris@chris-wilson.co.uk>
43049 Date: Tue Sep 30 13:29:35 2008 +0100
43051 [test/show-glyphs-many] Re-enable test to trigger crash in xlib.
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.
43058 test/Makefile.am | 15 +--------------
43059 test/show-glyphs-many.c | 9 +++++++++
43060 2 files changed, 10 insertions(+), 14 deletions(-)
43062 commit fade54e71a48919cc3e8311e202960c66eab74bf
43063 Author: Torsten Schönfeld <kaffeetisch@gmx.de>
43064 Date: Tue Sep 30 11:47:53 2008 +0100
43066 [doc] Add links to solid pattern constructors.
43068 Add links for the solid pattern constructors to the language bindings
43069 guidelines in line with the other pattern types.
43071 doc/public/language-bindings.xml | 2 +-
43072 1 file changed, 1 insertion(+), 1 deletion(-)
43074 commit d9f50d7841fa0216df157ba632483c8b27c50119
43075 Author: Chris Wilson <chris@chris-wilson.co.uk>
43076 Date: Tue Sep 30 11:03:29 2008 +0100
43078 [test/filter-nearest-offset] Remove XFAIL status
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.
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.
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(-)
43098 commit 7d5e6a18d5e72366e19cb806cbdad5ed180b53da
43099 Author: Chris Wilson <chris@chris-wilson.co.uk>
43100 Date: Tue Sep 30 10:04:12 2008 +0100
43102 [test/filter-nearest-offset] Paint a grey background
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.
43108 test/filter-nearest-offset-ref.png | Bin 254 -> 248 bytes
43109 test/filter-nearest-offset.c | 6 ++++++
43110 2 files changed, 6 insertions(+)
43112 commit 35be08715595aa0bda48ce0b3cb11711eee55c64
43113 Author: Chris Wilson <chris@chris-wilson.co.uk>
43114 Date: Tue Sep 30 10:54:45 2008 +0100
43116 [Makefile.am] Only rerun headers-standalone if a header file has changed
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.
43121 src/.gitignore | 1 +
43122 src/Makefile.am.analysis | 4 +++-
43123 2 files changed, 4 insertions(+), 1 deletion(-)
43125 commit 6da8d8ea62399d94281a2a262a630ef113062d0c
43126 Author: Chris Wilson <chris@chris-wilson.co.uk>
43127 Date: Mon Sep 29 17:56:34 2008 +0100
43129 [pattern] Fix up OBO introduced to cloned area
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.
43136 src/cairo-pattern.c | 8 ++++----
43137 1 file changed, 4 insertions(+), 4 deletions(-)
43139 commit e3f9e40df74b0334c2b544790fd3485ba527bd55
43140 Author: Behdad Esfahbod <behdad@behdad.org>
43141 Date: Mon Sep 29 11:49:04 2008 -0400
43143 Fix residues of the Makefile.*.config Makefile.*.features renaming
43145 They just don't seem to want to die...
43147 boilerplate/Makefile.win32 | 2 +-
43148 src/Makefile.sources | 2 +-
43149 2 files changed, 2 insertions(+), 2 deletions(-)
43151 commit d703f964aa7d1d4c8ec0b8a5dee437c222ce8629
43152 Author: Chris Wilson <chris@chris-wilson.co.uk>
43153 Date: Mon Sep 29 16:37:35 2008 +0100
43155 Clean up compile warnings.
43157 A couple of unchecked status returns (which should always be
43158 CAIRO_STATUS_SUCCESS) and an unused variable.
43160 src/cairo-surface.c | 8 ++++++--
43161 src/cairo-svg-surface.c | 1 -
43162 2 files changed, 6 insertions(+), 3 deletions(-)
43164 commit 1310df44edcf0b9fee648c8f8688d4a1177cde68
43165 Author: Behdad Esfahbod <behdad@behdad.org>
43166 Date: Mon Sep 29 11:34:19 2008 -0400
43168 [text_to_glyphs] Further enhance the docs
43170 The most complex public cairo API deserves more doc love...
43172 src/cairo-scaled-font.c | 8 +++++---
43173 src/cairo-user-font.c | 5 +++++
43175 3 files changed, 11 insertions(+), 4 deletions(-)
43177 commit 41c66a9dfa9f4e7b9839db9dc362f5fa48797561
43178 Author: Chris Wilson <chris@chris-wilson.co.uk>
43179 Date: Mon Sep 29 15:28:28 2008 +0100
43181 [test/xlib-surface-source] Fix ill-timed XCloseDisplay
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.
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...
43192 test/surface-source.c | 4 +++-
43193 1 file changed, 3 insertions(+), 1 deletion(-)
43195 commit 63ee963c63a73cf6d9272e15a7d8f7b63f12e77b
43196 Author: Chris Wilson <chris@chris-wilson.co.uk>
43197 Date: Mon Sep 29 15:09:23 2008 +0100
43199 [user-font] Rewrite text_to_glyphs allocation instructions.
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().
43209 src/cairo.h | 33 ++++++++++++++-------------------
43210 1 file changed, 14 insertions(+), 19 deletions(-)
43212 commit c23dbc4c616aed05dfe71901ce7ac0cadcbfb13d
43213 Author: Chris Wilson <chris@chris-wilson.co.uk>
43214 Date: Mon Sep 29 13:54:12 2008 +0100
43216 [test/surface-source] Modify to trigger a crash.
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.
43224 test/surface-source.c | 50 +++++++++++++++++++++++++++++++++++++------------
43225 1 file changed, 38 insertions(+), 12 deletions(-)
43227 commit 3b33d49d37a5751e7848516c468b323e19c34bea
43228 Author: Chris Wilson <chris@chris-wilson.co.uk>
43229 Date: Mon Sep 29 08:14:24 2008 +0100
43231 [test/filter-bilinear-extents] Remove XFAIL.
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.
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.
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]
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(-)
43257 commit 5eec3e378afd6ff9991cea8e42b8478eb3e79773
43258 Author: Owen W. Taylor <otaylor@fishsoup.net>
43259 Date: Mon Sep 29 00:53:59 2008 +0100
43261 [pattern] Improve handling of filter radius and optimize when possible.
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.
43269 (Patch ported to master by Chris Wilson, all bugs are his.)
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(-)
43276 commit 7d7057cf8896a3558fadc35d160d3bc667972800
43277 Author: Carl Worth <cworth@cworth.org>
43278 Date: Fri Apr 4 19:00:28 2008 -0700
43280 _cairo_pattern_get_extents: Fix to allow for expansion based on filter
43282 This fixes the filter-bilinear-extents test case and the
43285 bad clipping with EXTEND_NONE
43286 http://bugs.freedesktop.org/show_bug.cgi?id=15349
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).
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(+)
43300 commit 6ef4bd4ecfa30f00ad0fe6e5e5f1d1a0a5dfe8e3
43301 Author: Owen W. Taylor <otaylor@fishsoup.net>
43302 Date: Sun Sep 28 23:30:22 2008 +0100
43304 [pattern] Fix acquiring outside of source bounds
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.
43311 This patch replaces the open-coded rectangle intersection which has
43312 already proven itself to be a source of bugs.
43314 (Patch ported to master by Chris Wilson, all bugs are his.)
43316 src/cairo-pattern.c | 63 ++++++++++++++++++++++++++-------------------------
43317 1 file changed, 32 insertions(+), 31 deletions(-)
43319 commit 6d0f2c4421e34a078469a81646a52dfa47b4dcf1
43320 Author: Owen W. Taylor <otaylor@fishsoup.net>
43321 Date: Mon Sep 29 00:02:18 2008 +0100
43323 [pattern] Remove the hack to support cloning surface patterns.
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.
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.)
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(-)
43339 commit 117f643e49615295eb37af24efffd8327429cbf9
43340 Author: Chris Wilson <chris@chris-wilson.co.uk>
43341 Date: Sun Sep 28 22:42:30 2008 +0100
43343 [test/filter-bilinear-extents] Extend testing.
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.
43350 test/filter-bilinear-extents.c | 45 +++++++++++++++++++++++++++-------------
43351 1 file changed, 31 insertions(+), 14 deletions(-)
43353 commit 3ff86a4510b718a3154b56b052be786f9495a3b0
43354 Author: Chris Wilson <chris@chris-wilson.co.uk>
43355 Date: Mon Sep 29 08:38:31 2008 +0100
43357 [test] Disable caching of SVG fail/pass surfaces.
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.
43364 boilerplate/cairo-boilerplate.c | 8 ++++----
43365 1 file changed, 4 insertions(+), 4 deletions(-)
43367 commit 24b22f0d2161f7a4ce75ceb2a86a77737027ee56
43368 Author: Chris Wilson <chris@chris-wilson.co.uk>
43369 Date: Mon Sep 29 07:52:09 2008 +0100
43371 [glitz] Compile fix for typo.
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.
43377 src/cairo-glitz-surface.c | 6 +++---
43378 1 file changed, 3 insertions(+), 3 deletions(-)
43380 commit 4f449107afba8ca96cd16e8dec283db124105dc8
43381 Author: Chris Wilson <chris@chris-wilson.co.uk>
43382 Date: Sun Sep 28 21:05:36 2008 +0100
43384 [test/fallback-resolution] Exercise a couple of outstanding bugs.
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.
43392 And use a pattern to exercise the (fixed) regression:
43393 https://bugs.launchpad.net/inkscape/+bug/234546
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(-)
43404 commit 0a7d781ab020171e70bd1dc66ff1556106e5be3f
43405 Author: Chris Wilson <chris@chris-wilson.co.uk>
43406 Date: Sun Sep 28 18:57:15 2008 +0100
43408 [perf] Add rounded rectangle perf case.
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
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(-)
43423 commit d52b55cb1b2a4e9b5fd8dd12592a227f8f6a93fc
43424 Author: Karl Tomlinson <karlt+@karlt.net>
43425 Date: Sun Sep 28 17:51:23 2008 +0100
43427 [xlib] _surfaces_compatible() can return true for different picture formats
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)
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.
43438 Both cairo_xlib_surface_create_with_xrender_format and
43439 _cairo_xlib_surface_create_similar_with_format create surfaces with no
43442 The same issue exists in the xcb backend.
43444 Fixes bug https://bugs.freedesktop.org/show_bug.cgi?id=16564.
43447 src/cairo-xcb-surface.c | 4 +++-
43448 src/cairo-xlib-surface.c | 4 +++-
43449 3 files changed, 7 insertions(+), 2 deletions(-)
43451 commit b6b54e2f2736bfa9f76b7b6fc0da5d35a71fe846
43452 Author: Chris Wilson <chris@chris-wilson.co.uk>
43453 Date: Sun Sep 28 17:13:11 2008 +0100
43455 [svg] Compile fix for last commit.
43457 Sorry - badly merged patch (missed a chunk).
43459 src/cairo-svg-surface.c | 5 +++--
43460 1 file changed, 3 insertions(+), 2 deletions(-)
43462 commit cff3bcba68233101c5518801b64e37d2f0e70ae8
43463 Author: Chris Wilson <chris@chris-wilson.co.uk>
43464 Date: Sun Sep 28 17:06:32 2008 +0100
43466 [svg] Check that the mask is supported.
43468 During the analyze phase we also need to check whether we can emit the mask
43469 without requiring fallbacks.
43471 src/cairo-svg-surface.c | 17 +++++++++++++++--
43472 1 file changed, 15 insertions(+), 2 deletions(-)
43474 commit 8ad3031359d74bdff4b1e3ef8d0af047821f1795
43475 Author: Chris Wilson <chris@chris-wilson.co.uk>
43476 Date: Sun Sep 28 17:04:15 2008 +0100
43478 [svg] Enable the assertion that paint() is supported.
43480 The XXX comment before the disabled assert is misleading as the final
43481 fallback image paint operation should never trigger UNSUPPORTED.
43483 src/cairo-svg-surface.c | 13 ++++---------
43484 1 file changed, 4 insertions(+), 9 deletions(-)
43486 commit 95e637f9ac9e4256f7ba73e8f048f8e559631c82
43487 Author: Chris Wilson <chris@chris-wilson.co.uk>
43488 Date: Sun Sep 28 16:54:59 2008 +0100
43490 [paginated] Set paginated mode before every replay.
43492 Previously we were replaying full page fallbacks without updating the
43493 mode - this was upsetting SVG.
43495 src/cairo-paginated-surface.c | 23 ++++++++++++++---------
43496 1 file changed, 14 insertions(+), 9 deletions(-)
43498 commit 36b98589911ab57762317ec95cbff41681c1e0b6
43499 Author: Chris Wilson <chris@chris-wilson.co.uk>
43500 Date: Sun Sep 28 16:24:40 2008 +0100
43502 [svg] Kill _cairo_svg_surface_force_fallbacks.
43504 It is not used, but refuses to die!
43506 src/cairo-svg-surface.c | 5 ++---
43507 1 file changed, 2 insertions(+), 3 deletions(-)
43509 commit 57851464f920d52444d19d25e78293fa0f40c5f9
43510 Author: Benjamin Otte <otte@gnome.org>
43511 Date: Sun Sep 28 17:02:23 2008 +0200
43513 [SVG] make backend handle new operators gracefully
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
43519 Should use fallbacks instead of color-dodge for CAIRO_OPERATOR_STURATE?
43521 src/cairo-svg-surface.c | 45 +++++++++++++++++++++++++++++++--------------
43522 1 file changed, 31 insertions(+), 14 deletions(-)
43524 commit fda80cc852a109fe60e3277a1847bc5c24f35d8e
43525 Author: Benjamin Otte <otte@gnome.org>
43526 Date: Sun Sep 28 14:57:49 2008 +0200
43528 [SVG] use _cairo_operator_bounded_by_source()
43530 previously, the code was duplicating its functionality
43532 src/cairo-svg-surface.c | 27 ++++++++++++---------------
43533 1 file changed, 12 insertions(+), 15 deletions(-)
43535 commit 3c18d95b293eddaa25232bc06398c78bc8043cb4
43536 Author: Chris Wilson <chris@chris-wilson.co.uk>
43537 Date: Sun Sep 28 15:57:37 2008 +0100
43539 Compute device_transform_inverse.
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.
43545 Fixes regression https://bugs.launchpad.net/inkscape/+bug/234546.
43547 src/cairo-surface.c | 10 ++++------
43548 1 file changed, 4 insertions(+), 6 deletions(-)
43550 commit 9841d9d58ea286f798626d325d50a85bf3f02c8f
43551 Author: Chris Wilson <chris@chris-wilson.co.uk>
43552 Date: Sun Sep 28 13:34:50 2008 +0100
43554 Automate error checking for fallback-resolution.
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.
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.)
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(-)
43593 commit cca1fc6358e9d0213dd2b41a5bfd1629eec6511e
43594 Author: Chris Wilson <chris@chris-wilson.co.uk>
43595 Date: Sat Sep 27 21:53:21 2008 +0100
43597 [test] Fix target specific tests for recent SVG/PS version split.
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.
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(-)
43611 commit 39e4a0bcd04191eecfc593653a4ba32a28fcac6a
43612 Author: Chris Wilson <chris@chris-wilson.co.uk>
43613 Date: Sat Sep 27 19:33:51 2008 +0100
43615 [test] Update list of REFERENCE_IMAGES
43617 A few typos, deletions and additions from the inclusion of versioned
43620 test/Makefile.am | 50 +++++++++++++++++++++++++++++++-------------------
43621 1 file changed, 31 insertions(+), 19 deletions(-)
43623 commit 260362e5728e2591bb50f565ef04ba951d95de79
43624 Author: Chris Wilson <chris@chris-wilson.co.uk>
43625 Date: Sat Sep 27 19:16:34 2008 +0100
43627 [cairo-test] Fix cairo_test_file_is_older().
43629 It did not even compile, so no longer it wasn't deleting cached results
43630 if you updated the reference images.
43632 test/cairo-test.c | 11 +++++++----
43633 1 file changed, 7 insertions(+), 4 deletions(-)
43635 commit ffbb67303c1a4d986096ba046bb3256314b9f1b1
43636 Author: Chris Wilson <chris@chris-wilson.co.uk>
43637 Date: Sat Sep 27 18:54:45 2008 +0100
43639 [test/gradient-constant-alpha] Remove ps2 reference images.
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.
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(-)
43649 commit 4fa9f8c0608c137d9aa277039cb286c8294e6a2f
43650 Author: Chris Wilson <chris@chris-wilson.co.uk>
43651 Date: Sat Sep 27 17:42:06 2008 +0100
43653 [test/large-source] Remove stale comment.
43655 Delete a reference to an old limitation of pixman.
43657 test/large-source.c | 3 ---
43658 1 file changed, 3 deletions(-)
43660 commit 35f1e2fa4f15c562e5cc41578b413c6874e131bc
43661 Author: Chris Wilson <chris@chris-wilson.co.uk>
43662 Date: Sat Sep 27 17:37:32 2008 +0100
43664 [test/operator*] Remove XFAIL descriptions.
43666 The tests should now pass, so remove the line claiming that they fail
43667 for unknown reasons.
43669 test/operator-alpha.c | 3 +--
43670 test/operator.c | 3 +--
43671 2 files changed, 2 insertions(+), 4 deletions(-)
43673 commit 871f683367b1a1647b607f9221e1fc2eddc6e5dd
43674 Author: Chris Wilson <chris@chris-wilson.co.uk>
43675 Date: Sat Sep 27 17:24:57 2008 +0100
43677 clone_similar(): s/device_offset/clone_offset/
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.
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(-)
43699 commit 95c3c069326a77a28eb49053c0ace9f1977e0378
43700 Author: Chris Wilson <chris@chris-wilson.co.uk>
43701 Date: Sat Sep 27 17:13:32 2008 +0100
43703 [surface] Only return early for no traps if the operator is bounded by a mask.
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.
43709 Fixes test/operator*.
43711 src/cairo-surface-fallback.c | 4 +---
43712 test/Makefile.am | 2 --
43713 2 files changed, 1 insertion(+), 5 deletions(-)
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
43720 Merge branch 'master' of git+ssh://emmanuel@git.cairographics.org/git/cairo
43722 commit 0c4317085ecfc112214cdfe2abd66d9df8038282
43723 Author: Emmanuel Pacaud <emmanuel.pacaud@free.fr>
43724 Date: Sat Sep 27 11:47:32 2008 +0200
43726 [svg] Fix comp-op for paint, mask and show_glyphs operations.
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
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.
43736 Librsvg does not support clip-to-self, so it renders the SVG
43737 test outputs incorrectly.
43739 This patch also remove a lot of useless spaces in the style property
43740 strings (I know, this should go in another commit).
43742 src/cairo-svg-surface.c | 196 +++++++++++++++++++++++++++--------------------
43743 1 file changed, 113 insertions(+), 83 deletions(-)
43745 commit 1e45da48b555b707225c1521068011cabbcc976f
43746 Author: Adrian Johnson <ajohnson@redneon.com>
43747 Date: Sat Sep 27 14:38:22 2008 +0930
43749 Update ref images in Makefile.am
43751 test/Makefile.am | 3 ++-
43752 1 file changed, 2 insertions(+), 1 deletion(-)
43754 commit c0535e8e3394f0b78867785e65cf89dbb31875d5
43755 Author: Adrian Johnson <ajohnson@redneon.com>
43756 Date: Sat Sep 27 14:31:50 2008 +0930
43758 Remove miter-precision from XFAIL
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.
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(-)
43770 commit 5b97ee65259cafb335c1a2c53f1a55dfcb175e20
43771 Author: Chris Wilson <chris@chris-wilson.co.uk>
43772 Date: Sat Sep 27 00:18:07 2008 +0100
43774 Allow cloning sub-regions of similar surfaces.
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).
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.
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...
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(-)
43811 commit 7f3a48f90b409653a2d4fb802779ecb7508e4d6e
43812 Author: Behdad Esfahbod <behdad@behdad.org>
43813 Date: Fri Sep 26 13:27:42 2008 -0400
43815 [cairo.h] Don't define cairo_public to __declspec(dllimport) for static build
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.
43820 src/cairo-system.c | 2 +-
43822 2 files changed, 2 insertions(+), 2 deletions(-)
43824 commit b6e910f4b636e947cefb310125979ce742e87730
43825 Author: Behdad Esfahbod <behdad@behdad.org>
43826 Date: Fri Sep 26 12:36:33 2008 -0400
43828 [README.win32] Update wording from Tor Lillqvist
43830 README.win32 | 19 ++++++++++++-------
43831 1 file changed, 12 insertions(+), 7 deletions(-)
43833 commit fc12267405e98497c9f086d49fa6501d8f671a68
43834 Author: Chris Wilson <chris@chris-wilson.co.uk>
43835 Date: Fri Sep 26 17:10:52 2008 +0100
43837 [scaled-font] Spelling fix.
43839 Arbitrary spelling fix.
43841 src/cairo-scaled-font.c | 2 +-
43842 1 file changed, 1 insertion(+), 1 deletion(-)
43844 commit e0f214710760a0e0332207cb3009e3119867bd13
43845 Author: Chris Wilson <chris@chris-wilson.co.uk>
43846 Date: Fri Sep 26 16:49:57 2008 +0100
43848 [boilerplate] Add a PS 2 target.
43850 Ensure that we can generate PS2 output when required by creating a PS
43851 level 2 target and using GhostScript for conformance testing.
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(-)
44144 commit 0c030d3b768718eac5d429d0c819934f32896b25
44145 Author: Chris Wilson <chris@chris-wilson.co.uk>
44146 Date: Fri Sep 26 15:26:40 2008 +0100
44148 [boilerplate] Add svg-1.2 target.
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
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(-)
44265 commit 86e57671dd21078215505202ef8aa2141d10fb9c
44266 Author: Behdad Esfahbod <behdad@behdad.org>
44267 Date: Fri Sep 26 11:08:22 2008 -0400
44269 [check-*.sh] Redirect error reports to stderr
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(-)
44279 commit 096f9def0f599e527d97bb979f7cafbc87dcddc6
44280 Author: Behdad Esfahbod <behdad@behdad.org>
44281 Date: Fri Sep 26 10:55:44 2008 -0400
44283 Add slim markers to make check-plt.sh happy
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(+)
44291 commit 1de059b33bd2e6121e35ccf1c4a35ba7755c44d8
44292 Author: Behdad Esfahbod <behdad@behdad.org>
44293 Date: Fri Sep 26 09:49:50 2008 -0400
44295 [RELEASING] Add ftp-release@lists.freedesktop.org
44297 That list is monitored by various distros to pick up new releases.
44298 We should CC release announcements there.
44300 RELEASING | 12 ++++++------
44301 1 file changed, 6 insertions(+), 6 deletions(-)
44303 commit 9662be8ee77e219908b64b82e828d577dcf120f0
44304 Author: Behdad Esfahbod <behdad@behdad.org>
44305 Date: Fri Sep 26 00:22:00 2008 -0400
44307 [twin-font] Adjust ascent/descent
44309 The font data uses a 64 int high font space with baseline at 50.
44311 src/cairo-font-face-twin.c | 6 +++---
44312 1 file changed, 3 insertions(+), 3 deletions(-)
44314 commit 3883a371f2ba78b17a1302ba8c5df1a79f3e4075
44315 Author: Behdad Esfahbod <behdad@behdad.org>
44316 Date: Fri Sep 26 00:20:21 2008 -0400
44318 [scaled-font] Use full ctm matrix when comparing scaled-font keys
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.
44326 src/cairo-scaled-font.c | 2 +-
44327 1 file changed, 1 insertion(+), 1 deletion(-)
44329 commit 48099af9fed7497a230992e41d559a19c5dbdc60
44330 Author: Chris Wilson <chris@chris-wilson.co.uk>
44331 Date: Thu Sep 25 13:24:58 2008 +0100
44333 [boilerplate] Retry conversion in process if first attempt fails.
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.
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(-)
44346 commit f2c484d73ce61012a2d9925f15b55e7c51e34b85
44347 Author: Chris Wilson <chris@chris-wilson.co.uk>
44348 Date: Thu Sep 25 00:16:45 2008 +0100
44350 [test/any2ppm] Handle short reads/writes.
44352 No excuse other than simple laziness - it manifested itself with random
44353 "error whilst reading" failures.
44355 boilerplate/cairo-boilerplate.c | 24 ++++++++++++++++---
44356 test/any2ppm.c | 50 +++++++++++++++++++++++++++++++++------
44357 2 files changed, 64 insertions(+), 10 deletions(-)
44359 commit 681424cbaf94556bf1804547b42ad642c0a066ab
44360 Author: Chris Wilson <chris@chris-wilson.co.uk>
44361 Date: Thu Sep 25 10:40:32 2008 +0100
44363 [analysis] Merge two analysis status codes.
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.
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(-)
44374 commit 06f0cc81d227a571e011e83cc192050a34d6ea13
44375 Author: Chris Wilson <chris@chris-wilson.co.uk>
44376 Date: Thu Sep 25 10:29:27 2008 +0100
44378 Add a macro to determine whether a status is a fatal error.
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.
44383 src/cairo.c | 3 +--
44384 src/cairoint.h | 3 +++
44385 2 files changed, 4 insertions(+), 2 deletions(-)
44387 commit ba18d57339dbedbbdb7f3ca35b06ce6b5dbcd972
44388 Author: Chris Wilson <chris@chris-wilson.co.uk>
44389 Date: Thu Sep 25 09:39:41 2008 +0100
44391 [pdf] Propagate status
44393 Check and return a few forgotten error codes from static functions.
44395 src/cairo-pdf-operators.c | 14 +++++++++++---
44396 src/cairo-pdf-surface.c | 6 +++++-
44397 2 files changed, 16 insertions(+), 4 deletions(-)
44399 commit 907f550a1b13b0a388f9ff22663911d4aabbe2d8
44400 Author: Adrian Johnson <ajohnson@redneon.com>
44401 Date: Fri Sep 26 20:26:55 2008 +0930
44403 Fix bitmap-font XFAIL
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
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
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(-)
44424 commit f8542dc9dd4dd0685f68381f21fa72dbddd8d682
44425 Author: Behdad Esfahbod <behdad@behdad.org>
44426 Date: Thu Sep 25 19:08:24 2008 -0400
44428 [twin-font] Clean up font data by joining lines and closing paths
44432 * Replace move_to;line_to;move_to;line_to sequences with
44433 move_to;line_to;line_to when feasible.
44435 * Close paths for round glyphs.
44437 Both improve the stroke rendering of the joint.
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
44444 In the saving department, we can save further by:
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).
44451 - First operation is always a move_to. So we can remove the 'm'
44452 for that. Ugly though.
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...
44457 In total, combining the above we can save some 500 bytes. The font
44458 currently takes about 3.7kb.
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(-)
44464 commit d5a998387bcee6569d33375d592190f480f12712
44465 Author: Behdad Esfahbod <behdad@behdad.org>
44466 Date: Thu Sep 25 04:27:11 2008 -0400
44468 Add an internal font face
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!
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.
44477 The font face layer is then modified to use this font if:
44479 - The toy font face "cairo" is asked for, or
44481 - No native font backend is available, or
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
44488 We also allow building with no font backends now!
44490 The new doc/tutorial/src/twin.c file tests the twin face at various
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(-)
44503 commit dd7e2461ce748403e121a5de5e4e4c8890e39236
44504 Author: Carl Worth <cworth@cworth.org>
44505 Date: Thu Sep 25 16:06:19 2008 -0700
44507 Increment cairo version to 1.8.1 after the 1.8.0 release.
44509 cairo-version.h | 2 +-
44510 1 file changed, 1 insertion(+), 1 deletion(-)