diff options
Diffstat (limited to 'libs/cairo-1.16.0/ChangeLog.pre-1.10')
-rw-r--r-- | libs/cairo-1.16.0/ChangeLog.pre-1.10 | 43602 |
1 files changed, 0 insertions, 43602 deletions
diff --git a/libs/cairo-1.16.0/ChangeLog.pre-1.10 b/libs/cairo-1.16.0/ChangeLog.pre-1.10 deleted file mode 100644 index 9721459..0000000 --- a/libs/cairo-1.16.0/ChangeLog.pre-1.10 +++ /dev/null @@ -1,43602 +0,0 @@ -commit cb0bc64c16b3a38cbf0c622830c18ac9ea6e2ffe -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Sep 6 17:15:51 2010 +0100 - - version: 1.10.0 *release* - - /me faints with excitement. - - cairo-version.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 87fad104645c481ab027afbc9fa45c54cacbc9a7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Sep 6 17:14:41 2010 +0100 - - NEWS: Sum up 2 years of development for 1.10.0 in 60 lines - - NEWS | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 61 insertions(+) - -commit 04623ef9df7274d411a3b7f03129bf43e53e7086 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Sep 6 13:15:55 2010 +0100 - - test: Add subsurface-outside-target refs to REFERENCE_IMAGES - - test/Makefile.am | 2 ++ - 1 file changed, 2 insertions(+) - -commit d5b2c2a12ebea33f4d108d4deec2e9111c8c7e12 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Sep 6 13:10:08 2010 +0100 - - test: Rename clip-fill-*-unbounded.image16 ref to match REFERENCE_IMAGES - - ...rgb24.ref.png => clip-fill-eo-unbounded.image16.ref.png} | Bin - ...rgb24.ref.png => clip-fill-nz-unbounded.image16.ref.png} | Bin - 2 files changed, 0 insertions(+), 0 deletions(-) - -commit cab9682f9dc4c99dcd51ddb66abd756e2ac7a63c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Sep 6 12:24:47 2010 +0100 - - check: Ignore the documentation errors. - - Currently it is complaining about having documentation for - unconfigured sections, ignore it for now. - - doc/public/check-doc-coverage.sh | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit 8127f1f5d52bb716dbd70efe096894f2a542f4a9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Sep 6 12:24:14 2010 +0100 - - Bump pixman requirements to 0.18.4 for assorted fixes. - - README | 2 +- - configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 21a2f90cdef3d592c1d1614852fe3929ed2aa765 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Sep 2 13:19:26 2010 +0100 - - check: Make the actual error stand out - - doc/public/check-doc-coverage.sh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 8258532794d0579f6c1b825b8cfb9c8f7ced4369 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Sep 2 13:15:07 2010 +0100 - - Reduce the cairo_device_type_t to only hold the used entries. - - This should help clarify the documentation by not mentioning non-existent - devices and prevent any assumed coupling between surface-type values and - devices. - - src/cairo.h | 49 ++++++-------------------------- - util/cairo-gobject/cairo-gobject-enums.c | 24 +++------------- - 2 files changed, 12 insertions(+), 61 deletions(-) - -commit e3afbc1875d618c6d7e893971372be8f9889fc8b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Sep 2 13:07:53 2010 +0100 - - check: Fix for link-time-optimisation - - src/check-def.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a9e055ff481303428cd9684dca826bc3f5d868c5 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Thu Sep 2 14:51:30 2010 +0100 - - freelist: Separate freelist inlines from the datatype in headers. - - The cairo-freelist-private.h header has a number of static inline - functions which call hidden functions in libcairo. This poses - a problem on Solaris where the native compiler compiles inline - functions whether they are used or not, thereby adding the - link time requirements on hidden functions from whatever code - that includes cairo-freelist-private.h. Unfortunately the - boilerplate code includes cairo-private headers and indirectly - the freelist header, so linking the boilerplate helper library - fails on Solaris. - - This patch separates the structure definitions from the function - prototypes and static inlines in cairo-freelist-private.h by moving - the datatypes to a new cairo-freelist-type-private.h. - - src/Makefile.sources | 1 + - src/cairo-freelist-private.h | 28 +------------------- - src/cairo-freelist-type-private.h | 54 +++++++++++++++++++++++++++++++++++++++ - src/cairo-xlib-display.c | 2 +- - src/cairo-xlib-private.h | 2 +- - 5 files changed, 58 insertions(+), 29 deletions(-) - -commit f5632d641c44a143386ca3b413e90ed3b1a85f89 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Thu Sep 2 13:55:55 2010 +0300 - - build: Remove stray backslash. - - A stray backslash bwetween two assignment lines apparently - invokes a GNU make extension for conditional assignments. - This patch fixes the build when using the native Solaris make. - - src/Makefile.sources | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3a8b8fcc2a8a48cef49211c45723862f9fa8db23 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Sep 1 21:14:40 2010 +0200 - - gobject: Fix header defines - - util/cairo-gobject/cairo-gobject.h | 64 +++++++++++++++++++------------------- - 1 file changed, 32 insertions(+), 32 deletions(-) - -commit 54a651564cdd2510d0a66f6720c4a45733ff3285 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Sep 1 18:47:16 2010 +0200 - - build: Work around caching not reevaluating uncached variables - - This is a somewhat crude hack to ensure that GOBJECT_CFLAGS/LIBS are - properly cached. - - configure.ac | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 28ba78a9716f3c105cdfb5f7519f2435dd9cb271 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Sep 1 18:46:46 2010 +0200 - - gobject: Fix pkgconfig file variable - - I confused % and $. I blame it on spec files. - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 61a1835e40d0b6d786951143779077d16ed2486e -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Sep 1 03:17:12 2010 +0200 - - subsurface: Fix acquire_source_surface for out-of-bounds surfaces - - See subsurface-outside-target test. - - src/cairo-surface-subsurface.c | 41 +++++++++++++++++++++++------------------ - 1 file changed, 23 insertions(+), 18 deletions(-) - -commit f54c51e75c7abe872127d559e029bf4383439bca -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Sep 1 02:10:51 2010 +0200 - - test: Add subsurface-outside-target - - This test defines the behavior of subsurfaces when they are created to - be bigger than their target. - - test/Makefile.sources | 1 + - test/subsurface-outside-target.argb32.ref.png | Bin 0 -> 2063 bytes - test/subsurface-outside-target.c | 178 ++++++++++++++++++++++++++ - test/subsurface-outside-target.rgb24.ref.png | Bin 0 -> 1648 bytes - 4 files changed, 179 insertions(+) - -commit 6eab5ee10c111cf87dcf62e3f639f44cfd1e5cf6 -Author: Maarten Bosmans <mkbosmans@gmail.com> -Date: Sat Aug 28 13:39:21 2010 +0200 - - build: prefer libpng14 over older versions - - Also move libpng to the front of the list, so that the default - version of the system is first checked. - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9f98ec6eb915204d59820cf57d32f347f9933517 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Aug 29 00:05:51 2010 +0300 - - device: Refer the user to per-backend docs about devices. - - The exact semantics of the device API can't be spelled out - out in the device API docs since the effects are so tied - to the specific backend. To use a particular device in - practice the user should refer to the backend docs. - - src/cairo-device.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit b0f65054b810d432238ff4986bee3f63e1fc46df -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Aug 29 00:03:07 2010 +0300 - - subsurface: Add a note to the docs about usage restrictions. - - Make our assumptions about constructed subsurfaces explicit - while we work out the correct semantics for the edge cases. - - src/cairo-surface-subsurface.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit 92fe2d370d120f4d9bc95e92209d1c1cec7e900b -Author: Benjamin Otte <otte@redhat.com> -Date: Sat Aug 28 17:12:45 2010 +0200 - - surface-offset: Use right variable in mask - - Use source/mask instead of their copies. The copies only get initialized - if we actually need to translate things. - - src/cairo-surface-offset.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit df4b23ff74f3d22fb306f59cdba4dce6b0857cd2 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Fri Aug 27 20:26:06 2010 +0300 - - subsurface: Fix crash when acquiring a source image. - - The code is passing in the extra info received from - the target surface's acquire_source() method to - _cairo_surface_get_extents() rather than the acquired - source surface itself. - - src/cairo-surface-subsurface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2d146867dc4d4e17da2fd1e4776f62aaa999d90f -Author: Andrea Canciani <ranma42@gmail.com> -Date: Thu Aug 26 14:50:34 2010 +0200 - - subsurface: Correct cloning condition - - 72644c6df2c2da1d77ca10a755dbb44bbd960c0d was using the wrong (inverted) - condition to check if the subsurface extents are contained in the - target extents. - - src/cairo-surface-subsurface.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit 72644c6df2c2da1d77ca10a755dbb44bbd960c0d -Author: Andrea Canciani <ranma42@gmail.com> -Date: Thu Aug 26 14:24:17 2010 +0200 - - subsurface: Avoid invalid accesses - - Whenever subsurface extents are not contained in the target extents, - using the source image given by the target (with origin corrected by - using an appropriate offset in the data pointer) is not a valid - operation. Fallback to cloning in that case. - - src/cairo-surface-subsurface.c | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -commit df4465bdd11e25a1ed942bc0fc8e7dc5d43f951f -Author: Andrea Canciani <ranma42@gmail.com> -Date: Thu Aug 26 14:23:04 2010 +0200 - - subsurface: Silence compiler warnings - - Commit d1c35f5e65d53f6b8b9060455335424ca0f44bd0 introduced two - unused variable warnings. - - src/cairo-surface-subsurface.c | 2 -- - 1 file changed, 2 deletions(-) - -commit d1c35f5e65d53f6b8b9060455335424ca0f44bd0 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Aug 26 13:55:02 2010 +0200 - - subsurface: Don't clip size to target size - - This clipping would modify the origin of the subsurface and then the - creator has no easy way to figure this out. - - src/cairo-surface-subsurface.c | 3 --- - 1 file changed, 3 deletions(-) - -commit 174fb5f16f93887e2f319edd5b46efae3e7e93ad -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Aug 26 13:21:04 2010 +0200 - - subsurface: Don't apply device transform twice for source/mask - - src/cairo-surface-offset.c | 12 ------------ - 1 file changed, 12 deletions(-) - -commit e79acf47a57b60c83d1f9491aac354161986b29b -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Aug 26 12:54:25 2010 +0200 - - subsurface: Make CAIRO_SURFACE_TYPE_SUBSURFACE public - - src/cairo-analysis-surface.c | 2 +- - src/cairo-image-surface.c | 2 +- - src/cairo-pdf-surface.c | 4 ++-- - src/cairo-ps-surface.c | 4 ++-- - src/cairo-script-surface.c | 2 +- - src/cairo-surface-subsurface.c | 4 ++-- - src/cairo-types-private.h | 3 +-- - src/cairo-xcb-surface-render.c | 4 ++-- - src/cairo-xlib-surface.c | 2 +- - src/cairo.h | 7 ++++++- - src/drm/cairo-drm-i915-shader.c | 6 +++--- - src/drm/cairo-drm-i965-shader.c | 6 +++--- - 12 files changed, 25 insertions(+), 21 deletions(-) - -commit 40459dacb52587cc784faf2635e54797d3989408 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Aug 26 11:45:28 2010 +0200 - - subsurface: Don't crash when the device transform isn't integer - - Apply the transform before rounding to integer coordinates, so we can - handle doubles easily. - - src/cairo-surface-subsurface.c | 10 ++++------ - 1 file changed, 4 insertions(+), 6 deletions(-) - -commit e19b213e84ab8b8ead5e0c700e5b906590e22aa1 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Aug 26 11:18:29 2010 +0200 - - subsurface: Make subsurfaces their own type - - Do not try to hide being a subsurface. - This would cause confusion when users where calling surface-type - specific getters on subsurfaces. - - FIXME: We still need public API to access a subsurface's target though. - - src/cairo-surface-subsurface.c | 1 - - 1 file changed, 1 deletion(-) - -commit e65bf64c4a6e2c7ff673449b8459b3150e438e21 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Aug 26 11:17:06 2010 +0200 - - subsurface: Properly account for device offsets in the target - - src/cairo-surface-subsurface.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit 8e9c4ea5890a4df3f463e592dc3aa429bb423608 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Aug 11 12:18:53 2010 +0100 - - Mark the context as invalid on the final cairo_destroy() - - We initialise the context to a non-error state upon creation, but after - destroy there is a window of opportunity where the object is kept alive - inside the context pool and the user could mistakenly keep on passing - the zombie context into cairo functions. As all entry points need to - check error status, flagging the context as an error object upon the - final unreference prevents such misuse (until such as time as the - context is reallocated). - - src/cairo.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit cd52378ae60ab2075d7e9ec7335e990b2f46059e -Author: Andrea Canciani <ranma42@gmail.com> -Date: Tue Aug 10 19:38:59 2010 +0200 - - test: Update linear-gradient-large ref image - - Make linear-gradient-large ref image match xlib gradients (both on nvidia - and on macosx) and pixman gradients (when patched to compute the linear - gradients using floating point math). - - test/linear-gradient-large.ref.png | Bin 3753 -> 4079 bytes - 1 file changed, 0 insertions(+), 0 deletions(-) - -commit a7762e3d6570a6981d8fb74ecc6ae30391c39b89 -Author: Krzysztof Kosiński <tweenk.pl@gmail.com> -Date: Tue Aug 10 17:55:03 2010 +0200 - - tests: Add linear-gradient-large test - - Shows large rounding errors in Pixman when computing gradients. Added as - a test to Cairo to catch similar issues in other backends. - - https://bugs.freedesktop.org/show_bug.cgi?id=29470 - - test/Makefile.am | 5 +-- - test/Makefile.sources | 1 + - test/linear-gradient-large.c | 67 +++++++++++++++++++++++++++++++++++++ - test/linear-gradient-large.ref.png | Bin 0 -> 3753 bytes - 4 files changed, 71 insertions(+), 2 deletions(-) - -commit 56ea51fdcc273531b5e86b921aad19237a1c9415 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Mon Aug 9 20:23:50 2010 +0200 - - Replace insertion sort with mergesort in the scan converter - - Insertion sort can take up to O(n^2), mergesort is guaranteed to run - in O(n*log(n)). - An example showing bad performance for insertion sort is: - https://bugs.freedesktop.org/show_bug.cgi?id=28067 - - The mergesort has been engineered to be fast even when working on - cases where the insertion sort would have performed well and as - expected it shows no changes in the benchmark cairo traces. - - src/cairo-tor-scan-converter.c | 138 ++++++++++++++++++++++++++++++----------- - 1 file changed, 103 insertions(+), 35 deletions(-) - -commit a150371a5d10e03d6c0d781c6fac950a9ac6be18 -Author: Nicolaus L Hepler <nlhepler@gmail.com> -Date: Tue Aug 10 09:34:39 2010 +0200 - - ft-font: Make alpha mapping consistent - - Vertical RGB mapping previously forced opaque pixels. - To be consistent with horizontal RGB/BGR and vertical BGR it - should use an alpha equal to the mid channel (green). - - src/cairo-ft-font.c | 7 ------- - 1 file changed, 7 deletions(-) - -commit 73470862cbc5895147d5c58ca2647f539e8fe67c -Author: David Schleef <ds@schleef.org> -Date: Tue Aug 10 02:37:38 2010 +0200 - - perf: Fix README to say cairo-perf-micro - - perf/README | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit df8f96423429915ef1648310fce8b5aed0917c0a -Author: Benjamin Otte <otte@redhat.com> -Date: Tue Aug 10 01:24:30 2010 +0200 - - build: Fudge the build system some more so it handles extra libs - - Add NONPKGCONFIG_EXTRA_LIBS that are only put into the generated pc file - but not used when linking. This is now used to add -lcairo-gobject to - the cairo-gobject.pc file. - - build/configure.ac.features | 3 +++ - configure.ac | 2 +- - src/cairo-features-uninstalled.pc.in | 2 +- - src/cairo-features.pc.in | 2 +- - 4 files changed, 6 insertions(+), 3 deletions(-) - -commit 01325ad767acf6213135a0bad895de233324f745 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue Aug 10 00:11:25 2010 +0200 - - gobject: Include the extra library in the pkgconfig file - - configure.ac | 1 + - 1 file changed, 1 insertion(+) - -commit 8fb91dc3f6b691f91c322cec4b1d0ee4dbebd69c -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Tue Aug 10 00:53:53 2010 +0300 - - script: Fix script backend build. - - The flight data recorders were missing an include - of cairo-tee.h ever since cairo-tee.h became an optional - backend. - - util/cairo-fdr/fdr.c | 1 + - util/cairo-sphinx/fdr.c | 1 + - 2 files changed, 2 insertions(+) - -commit 766832364904dbf5b8a67ebc1600d2ec45d2734f -Author: Andrea Canciani <ranma42@gmail.com> -Date: Mon Aug 9 18:47:13 2010 +0200 - - perf: Improve calibration - - Make the loops count depend on the actual calibration_loops/calibration_time - instead of calibration_loops/calibration_max_time. - This avoids having some tests take much less/more than the wanted time per iteration - (I was having some tests taking about 1 second, other taking about 7 seconds when - the ms_per_iteration was 2000) - - Spend 0.5-1 times the time wanted for each iteration in calibration, increase the - accuracy of loops count. Just making the loops count be the correct ratio doesn't - guarantee that the iteration time is accurate. By actually measuring iteration - times until it gets greater than 1/4 of the wanted time, the total sum is bound - to be <= the wanted iteration time and last calibration time is between 1/4 and - 1/2 of the wanted time, so it should give a very accurate loop count. - - perf/cairo-perf-micro.c | 17 ++++++++--------- - 1 file changed, 8 insertions(+), 9 deletions(-) - -commit 046b642db0782ab5e2a5c82988b21e05afe8e716 -Author: Rich Walsh <DragText@E-vertise.Com> -Date: Sat Aug 7 16:30:59 2010 +0300 - - os2: Restore surface type checking in the get_extents method. - - src/cairo-os2-surface.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -commit 78bdd87b7545f8e85632ac301a69da145727fcec -Author: Rich Walsh <DragText@E-vertise.Com> -Date: Sat Aug 7 16:22:26 2010 +0300 - - os2: Fix clipping to bounds when blitting pixels. - - The bounds checks on the rectangle to blit were done - after converting target/source to inclusive/noninclusive - coordinates rather than before, potentially causing an - off-by-one in the sizes, since the same logic was applied - to both inclusive and non-inclusive coordinates. This - patch enforces bounds up front. - - Thread "OS/2 surface fixes" on cairo-l: - http://lists.cairographics.org/archives/cairo/2010-July/020343.html - - src/cairo-os2-surface.c | 62 +++++++++++++++++++++---------------------------- - 1 file changed, 27 insertions(+), 35 deletions(-) - -commit d0284687b32161212d6bc52309e2d5bb516dc3e8 -Author: Rich Walsh <DragText@E-vertise.Com> -Date: Sat Aug 7 03:53:24 2010 +0300 - - os2: Tweak an inline declaration. - - C99 and cairo prefers "static inline <return type>" rather - than "static <return type> inline". - - Thread "OS/2 surface fixes" on cairo-l: - http://lists.cairographics.org/archives/cairo/2010-July/020343.html - - src/cairo-os2-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit cb30340064a2ff24dc408e185c5a309a14f6c78c -Author: Rich Walsh <DragText@E-vertise.Com> -Date: Sat Aug 7 03:33:10 2010 +0300 - - os2: Consolidate error paths of cairo_os2_surface_create(). - - Use a single code path to release the resources acquired - for a surface that's been partially constructed, rather than - have multiple error exits which each release the resources - acquired so far. - - Thread "OS/2 surface fixes" on cairo-l: - http://lists.cairographics.org/archives/cairo/2010-July/020343.html - - src/cairo-os2-surface.c | 120 ++++++++++++++++++++++++------------------------ - 1 file changed, 60 insertions(+), 60 deletions(-) - -commit 66e3d650fe90754c811195c75579ac7a3512b7be -Author: Rich Walsh <DragText@E-vertise.Com> -Date: Sat Aug 7 03:12:12 2010 +0300 - - os2: Document ownership of OS/2 objects passed to surfaces. - - Clarify the documentation for cairo_os2_surface_create() - and cairo_os2_surface_set_hwnd() to note that the ownership - of the presentation space and window respectively - remains with the caller. - - Thread "OS/2 surface fixes" on cairo-l: - http://lists.cairographics.org/archives/cairo/2010-July/020343.html - - src/cairo-os2-surface.c | 23 ++++++++++++----------- - 1 file changed, 12 insertions(+), 11 deletions(-) - -commit 01525271544d5b88f87027e470fa85038d59bf8d -Author: Rich Walsh <DragText@E-vertise.Com> -Date: Sat Aug 7 03:08:21 2010 +0300 - - os2: Don't fake an Anchor Block when one isn't needed. - - The code was being tricky about passing in a HAB to - DevOpenDC() even though one isn't needed at all under - OS/2. Pass in NULL instead. - - Thread "OS/2 surface fixes" on cairo-l: - http://lists.cairographics.org/archives/cairo/2010-July/020343.html - - src/cairo-os2-surface.c | 16 +++------------- - 1 file changed, 3 insertions(+), 13 deletions(-) - -commit 883d9725e0f844e7d5cc4c50c75a812b5435702b -Author: Rich Walsh <DragText@E-vertise.Com> -Date: Sat Aug 7 03:01:56 2010 +0300 - - os2: Fix buffer allocator behaviour on arithmetic overflow. - - On arithmetic overflow the buffer allocator would attempt - to allocate zero bytes instead of failing the allocation. - Depending on the implementation of the underlying allocator - being proxied, this may result in an allocation of a zero - length buffer, causing all kinds of grief. This patch - causes arithmetic overflows to explicitly fail the allocation. - - Thread "OS/2 surface fixes" on cairo-l: - http://lists.cairographics.org/archives/cairo/2010-July/020343.html - - src/cairo-os2-surface.c | 54 +++++++++++++++++++++---------------------------- - 1 file changed, 23 insertions(+), 31 deletions(-) - -commit b54037828c5b338b2f1dcbe48201225b258c1e1e -Author: Rich Walsh <DragText@E-vertise.Com> -Date: Sat Aug 7 02:40:20 2010 +0300 - - os2: Fix blitting 24 bpp pixel data. - - There's a format mismatch between cairo's pixel formats - and OS/2 24 bpp data: the individual pixels in OS/2 take - only three bytes per pixel, but there needs to be padding - between lines to make the start of a line always be aligned - at a DWORD boundary. - - This patch fixes the format conversion code to include - the required padding between rows. - - Thread "OS/2 surface fixes" on cairo-l: - http://lists.cairographics.org/archives/cairo/2010-July/020343.html - - src/cairo-os2-private.h | 1 + - src/cairo-os2-surface.c | 116 ++++++++++++++++++++++++++++-------------------- - 2 files changed, 68 insertions(+), 49 deletions(-) - -commit 5aadecb3ac03d379c2c8113566fa8062843df42e -Author: Rich Walsh <DragText@E-vertise.Com> -Date: Sat Aug 7 02:30:01 2010 +0300 - - os2: New API to create surfaces without a persistent HPS. - - It's not always necessary to create a presentation space (HPS) for - surface tied to a window, as the user may have one already. This patch - introduces three new functions to create a surface without an HPS - and let the user manage an HPS associated with the surface. - - Thread "OS/2 surface fixes" on cairo-l: - http://lists.cairographics.org/archives/cairo/2010-July/020343.html - - Mozilla Bugzilla: - https://bugzilla.mozilla.org/show_bug.cgi?id=557159 - - src/cairo-os2-surface.c | 142 +++++++++++++++++++++++++++++++++++++++++++++++- - src/cairo-os2.h | 14 +++++ - 2 files changed, 153 insertions(+), 3 deletions(-) - -commit 9669faa936fe38da3615d7831e423befa5ecdfad -Author: Benjamin Otte <otte@redhat.com> -Date: Sun Aug 8 17:23:05 2010 +0200 - - gl: Handle errors from _cairo_gl_gradient_render() - - Thanks Andrea for finding this. - - src/cairo-gl-gradient.c | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -commit e31b56e020df806aa6180cd2efa0a34e55e5adaf -Author: Benjamin Otte <otte@redhat.com> -Date: Sun Aug 8 14:45:24 2010 +0200 - - configure: Fix gobject handling - - 1) Explicitly depend on glib, too. - 2) Don't link gobject into libcairo proper (thanks Joonas for noticing). - - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit ae2b7b13cd5fdeaee44496056bb99f497346e262 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Wed Aug 4 14:22:23 2010 +0200 - - pattern: Simplify degenerate linear pattern to solid colors - - Degenerate linear patterns are considered clear if they have - EXTEND_NONE, the average of the first and the last stop if they are - EXTEND_PAD, the weighted average of the stops (based on the size of - the interpolation range in which they are active, just like integrating - over the whole interpolation range and taking the average) if they are - EXTEND_REPEAT or EXTEND_REFLECT. - - Fixes degenerate-linear-gradient - - src/cairo-pattern.c | 119 +++++++++++++++++++++++++++++++- - test/degenerate-linear-gradient.ref.png | Bin 232 -> 322 bytes - 2 files changed, 117 insertions(+), 2 deletions(-) - -commit d54a5a9fc90857448954d6cbe725d4665efa3d45 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Wed Aug 4 14:16:34 2010 +0200 - - pattern: Add gradient degeneracy testing functions - - Introduce two new (private) functions for testing the degeneracy of linear - and radial gradients and use them instead of verbose (and error-prone) tests. - - src/cairo-pattern.c | 21 +++++++++++++++++---- - 1 file changed, 17 insertions(+), 4 deletions(-) - -commit 63434bc43819e2c7d4db568e82f5a9a7dfb0418d -Author: Andrea Canciani <ranma42@gmail.com> -Date: Wed Aug 4 14:22:01 2010 +0200 - - gstate: Correct comment - - src/cairo-gstate.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 28cd511fb974f886ae65e588413afcfc220a1a7c -Author: Andrea Canciani <ranma42@gmail.com> -Date: Sat Aug 7 22:55:46 2010 +0200 - - Correct color stops comparison function - - Two clear stops with different "underlying" colors must be considered - different, since when interpolated with non-clear colors they will - produce different results. - - src/cairo-color.c | 25 ++++--------------------- - 1 file changed, 4 insertions(+), 21 deletions(-) - -commit f71a618bd2604c8f0beaf4816a38a54f6f271bd9 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Sat Aug 7 21:32:09 2010 +0200 - - Fix configuration if gobject is absent - - Autodetect gobject and only use it if present. - Its absence is not to be considered a failure since it's not required. - - build/Makefile.win32.features | 2 +- - configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 661f4859cdbc0394ed0a9db34ced0f4e2bbe78ff -Author: Benjamin Otte <otte@redhat.com> -Date: Sat Aug 7 20:05:42 2010 +0200 - - Add cairo-gobject library - - This library is supposed to contain GType declarations for Cairo types. - It is also meant to support gobject-introspection binding creation. - - boilerplate/Makefile.win32.features | 12 + - build/Makefile.win32.features | 1 + - build/Makefile.win32.features-h | 3 + - configure.ac | 10 + - src/Makefile.win32.features | 16 + - util/Makefile.am | 4 + - util/cairo-gobject/Makefile.am | 15 + - util/cairo-gobject/cairo-gobject-enums.c | 519 +++++++++++++++++++++++++++++ - util/cairo-gobject/cairo-gobject-structs.c | 87 +++++ - util/cairo-gobject/cairo-gobject.h | 186 +++++++++++ - 10 files changed, 853 insertions(+) - -commit fc4e8f036326da1839ec5320eba60823e7efc2db -Author: Søren Sandmann Pedersen <ssp@redhat.com> -Date: Sat Aug 7 12:10:49 2010 -0400 - - Update documentation to reflect that rgb565 is no longer deprecated. - - src/cairo.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit de606af5d673df193fc07fbd047ba2cec82d2f1c -Author: Andrea Canciani <ranma42@gmail.com> -Date: Tue Jul 27 18:04:36 2010 +0200 - - quartz: improve backend detection - - Quartz previously crashed with NULL backends and didn't check for - the backend type when getting a CGContext from a quartz surface, - returning meaningless data for subsurfaces. - - src/cairo-quartz-surface.c | 24 +++++++++++++++--------- - 1 file changed, 15 insertions(+), 9 deletions(-) - -commit 056ce165c4377e9cf93fd7a06b6b0d5d4d98cb8c -Author: Andrea Canciani <ranma42@gmail.com> -Date: Tue Jul 27 18:50:55 2010 +0200 - - quartz: fix solid masking fallback - - Falling back when painting would ignore the alpha value (which is - needed to have the correct mask opacity). - _cairo_quartz_surface_paint_cg doesn't fallback, so the usual mask - fallback path is now taken, as expected. - - src/cairo-quartz-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit bdeade14ea86fb5f3ff17accd71711d2c40b1b33 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Wed Jul 28 19:33:53 2010 +0200 - - quartz: fix stroking with unbounded operators - - Self-intersecting strokes were drawn incorrectly when an unbounded - operator was used, since the fixup operation also cleared the - intersection. - - Fixes clip-stroke-unbounded. - - src/cairo-quartz-surface.c | 14 ++++++++------ - 1 file changed, 8 insertions(+), 6 deletions(-) - -commit 8f38d2aa29bc0d69690cbf542c4a2b497b7a0c0a -Author: Andrea Canciani <ranma42@gmail.com> -Date: Thu Jul 29 10:45:59 2010 +0200 - - test: improve clip-*-unbounded tests - - Merge clip-*-unbounded tests and add self-intersections to the paths - that are drawn. This exposes a bug in the unbounded fixup code in quartz. - - Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> - - test/Makefile.am | 35 ++-- - test/Makefile.sources | 3 +- - test/clip-draw-unbounded.c | 184 +++++++++++++++++++++ - test/clip-fill-eo-unbounded.argb32.ref.png | Bin 0 -> 3668 bytes - test/clip-fill-eo-unbounded.image16.rgb24.ref.png | Bin 0 -> 2887 bytes - test/clip-fill-eo-unbounded.quartz.argb32.ref.png | Bin 0 -> 3366 bytes - test/clip-fill-eo-unbounded.quartz.rgb24.ref.png | Bin 0 -> 3061 bytes - test/clip-fill-eo-unbounded.rgb24.ref.png | Bin 0 -> 3201 bytes - test/clip-fill-eo-unbounded.svg12.rgb24.xfail.png | Bin 0 -> 3636 bytes - ...p-fill-eo-unbounded.xlib-fallback.rgb24.ref.png | Bin 0 -> 3208 bytes - test/clip-fill-eo-unbounded.xlib.argb32.ref.png | Bin 0 -> 3693 bytes - test/clip-fill-eo-unbounded.xlib.rgb24.ref.png | Bin 0 -> 3198 bytes - test/clip-fill-nz-unbounded.argb32.ref.png | Bin 0 -> 3668 bytes - test/clip-fill-nz-unbounded.image16.rgb24.ref.png | Bin 0 -> 2887 bytes - test/clip-fill-nz-unbounded.quartz.argb32.ref.png | Bin 0 -> 3366 bytes - test/clip-fill-nz-unbounded.quartz.rgb24.ref.png | Bin 0 -> 3061 bytes - test/clip-fill-nz-unbounded.rgb24.ref.png | Bin 0 -> 3201 bytes - test/clip-fill-nz-unbounded.svg12.rgb24.xfail.png | Bin 0 -> 3636 bytes - ...p-fill-nz-unbounded.xlib-fallback.rgb24.ref.png | Bin 0 -> 3208 bytes - test/clip-fill-nz-unbounded.xlib.argb32.ref.png | Bin 0 -> 3693 bytes - test/clip-fill-nz-unbounded.xlib.rgb24.ref.png | Bin 0 -> 3198 bytes - test/clip-fill-unbounded.argb32.ref.png | Bin 1607 -> 0 bytes - test/clip-fill-unbounded.c | 105 ------------ - test/clip-fill-unbounded.image16.ref.png | Bin 1204 -> 0 bytes - test/clip-fill-unbounded.pdf.argb32.ref.png | Bin 1244 -> 0 bytes - test/clip-fill-unbounded.ps.argb32.xfail.png | Bin 1244 -> 0 bytes - test/clip-fill-unbounded.quartz.argb32.ref.png | Bin 1436 -> 0 bytes - test/clip-fill-unbounded.quartz.rgb24.ref.png | Bin 1368 -> 0 bytes - test/clip-fill-unbounded.rgb24.ref.png | Bin 1304 -> 0 bytes - test/clip-fill-unbounded.svg12.argb32.xfail.png | Bin 1601 -> 0 bytes - test/clip-fill-unbounded.svg12.rgb24.xfail.png | Bin 1601 -> 0 bytes - ...clip-fill-unbounded.xlib-fallback.rgb24.ref.png | Bin 1438 -> 0 bytes - test/clip-fill-unbounded.xlib.argb32.ref.png | Bin 1759 -> 0 bytes - test/clip-fill-unbounded.xlib.rgb24.ref.png | Bin 1430 -> 0 bytes - test/clip-stroke-unbounded.argb32.ref.png | Bin 1694 -> 3545 bytes - test/clip-stroke-unbounded.c | 102 ------------ - test/clip-stroke-unbounded.image16.ref.png | Bin 1255 -> 0 bytes - test/clip-stroke-unbounded.image16.rgb24.ref.png | Bin 0 -> 2778 bytes - test/clip-stroke-unbounded.pdf.argb32.xfail.png | Bin 1351 -> 0 bytes - test/clip-stroke-unbounded.ps.argb32.ref.png | Bin 1351 -> 0 bytes - test/clip-stroke-unbounded.quartz.argb32.ref.png | Bin 1493 -> 3362 bytes - test/clip-stroke-unbounded.quartz.rgb24.ref.png | Bin 1356 -> 3061 bytes - test/clip-stroke-unbounded.rgb24.ref.png | Bin 1372 -> 3063 bytes - test/clip-stroke-unbounded.svg12.argb32.xfail.png | Bin 1697 -> 0 bytes - test/clip-stroke-unbounded.svg12.rgb24.xfail.png | Bin 1697 -> 3569 bytes - ...ip-stroke-unbounded.xlib-fallback.rgb24.ref.png | Bin 1437 -> 3123 bytes - test/clip-stroke-unbounded.xlib.argb32.ref.png | Bin 1785 -> 3620 bytes - test/clip-stroke-unbounded.xlib.rgb24.ref.png | Bin 1442 -> 3109 bytes - 48 files changed, 204 insertions(+), 225 deletions(-) - -commit 142df6f9638e10d0712e092d902f7670965a88f9 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jul 30 22:04:44 2010 +0200 - - configure: Disable xml backend by default - - We don't want to enable it by default when nobody uses it. - - boilerplate/Makefile.win32.features | 2 +- - build/Makefile.win32.features | 2 +- - configure.ac | 2 +- - src/Makefile.win32.features | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -commit 9f33f8453b4949cfdc63169d3acd7238f89379c2 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jul 30 21:48:14 2010 +0200 - - configure: Disable tee backend by default - - We don't want to enable it by default when nobody uses it. - - boilerplate/Makefile.win32.features | 4 +++- - build/Makefile.win32.features | 1 + - build/Makefile.win32.features-h | 2 ++ - configure.ac | 2 +- - src/Makefile.win32.features | 8 +++++++- - src/cairo-surface.c | 4 ++++ - test/api-special-cases.c | 6 ++++++ - 7 files changed, 24 insertions(+), 3 deletions(-) - -commit 9f4d677e2a6dd0bfbbbe20de39f92177bfdfc0e8 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jul 30 22:15:55 2010 +0200 - - tee: Move definitions into separate header - - src/Makefile.sources | 6 +++-- - src/cairo-tee-surface.c | 2 ++ - src/cairo-tee.h | 66 ++++++++++++++++++++++++++++++++++++++++++++++++ - src/cairo.h | 17 ------------- - test/api-special-cases.c | 3 +++ - 5 files changed, 75 insertions(+), 19 deletions(-) - -commit 14639e6b8525ada2cb93abb1d70dde827b7bf9e0 -Author: Kristian Høgsberg <krh@bitplanet.net> -Date: Thu Jun 17 18:29:48 2010 -0400 - - egl: Use EGL_KHR_surfaceless_opengl extension when available - - This lets us avoid creating a throwaway pbuffer just to make the - context current. - - src/cairo-egl-context.c | 58 ++++++++++++++++++++++++++++++++----------------- - 1 file changed, 38 insertions(+), 20 deletions(-) - -commit b6fd673d37e1c8962d15c0e0e59322a2002fc399 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 26 13:15:38 2010 +0100 - - version: 1.9.15 post-snapshot bump - - cairo-version.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ed8c6f42540f03a62fd64ad83b7c397528092232 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 26 12:53:44 2010 +0100 - - version: 1.9.14 snapshot - - cairo-version.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 81094cf4622302ebaa9b3f328f5d2a56a1c07a64 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 26 12:52:56 2010 +0100 - - NEWS: 1.9.14 - - NEWS | 27 +++++++++++++++++++++++++++ - 1 file changed, 27 insertions(+) - -commit c1fcbd0322f86327ddd89c2eef2facbc74045629 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Mon Jul 26 11:21:48 2010 +0200 - - quartz: fix REFLECT radial gradients - - The interpolation range of repeating radial gradients can safely be - reflected around any integer (previously 0), but for reflect-extended - radial gradients can only be reflected around odd integers if the - appearance is to be the same, thus reflecting around 1 is correct for both. - - Fixes radial-gradient. - - src/cairo-quartz-surface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 3898e46d1de19848efeddb442dcf7f7663530256 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 23 09:41:48 2010 +0100 - - image: Compensate mask origins for glyph clipping - - Fixes the regression in bitmap-font and large-font pointed out by Andrea - Canciani since ef067933. - - src/cairo-image-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 53fcfc781eeee949abc03cf90048a2228f7e0a63 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Wed Jul 21 22:39:40 2010 +0300 - - build: Typos in comments. - - Fix inline "dnl" strings left over from a string - substitution "--" -> "dnl". - - build/configure.ac.pthread | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit fd1e731c9d0af307ebde4d888866c95bd6ebe66d -Author: Hib Eris <hib@hiberis.nl> -Date: Wed Jul 21 22:34:05 2010 +0300 - - build: Fix pthread detection code when there isn't one. - - The code was testing the output variable $use_pthread rather than - the input variable $enable_pthread when checking that pthreads - were actually found when requested. - - build/configure.ac.pthread | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 108b1c7825116ed3f93aa57384bbd3290cdc9181 -Author: Karl Tomlinson <karlt+@karlt.net> -Date: Sat Jul 17 13:08:53 2010 +1200 - - clip: consider gstate target extents in _cairo_gstate_copy_clip_rectangle_list - - Fixes https://bugs.freedesktop.org/show_bug.cgi?id=29125 - - To be consistent with _cairo_gstate_clip_extents, the context's clip - should be intersected with the target surface extents (instead of only - using them when there is no clip). - - Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> - - src/cairo-clip.c | 72 ++++++++++++++++++++---------------------------------- - src/cairo-gstate.c | 14 ++++++++++- - test/get-clip.c | 16 ++++++++++++ - 3 files changed, 55 insertions(+), 47 deletions(-) - -commit b79ea8a6cab8bd28aebecf6e1e8229d5ac017264 -Author: Karl Tomlinson <karlt+@karlt.net> -Date: Sat Jul 17 11:46:25 2010 +1200 - - clip: consider all_clipped in _cairo_clip_get_extents - - If the gstate clip in _cairo_gstate_int_clip_extents() has all_clipped - set (and path NULL), then it returns the gstate target extents instead of - an empty rectangle. If the target is infinite, then it says the clip is - unbounded. - - Fixes https://bugs.freedesktop.org/show_bug.cgi?id=29124 - Tested-by test/get-clip - - Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> - - src/cairo-clip.c | 5 +++++ - test/get-clip.c | 5 ++++- - 2 files changed, 9 insertions(+), 1 deletion(-) - -commit 6a5115901381fe9c81a8a311e267c2a00e2a1d04 -Author: Karl Tomlinson <karlt+@karlt.net> -Date: Sat Jul 17 10:47:42 2010 +1200 - - test: return CAIRO_TEST_FAILURE from get-clip preamble on failure - - https://bugs.freedesktop.org/show_bug.cgi?id=29120 - - test/get-clip.c | 5 +++++ - 1 file changed, 5 insertions(+) - -commit f2fa15680ec3ac95cb68d4957557f06561a7dc55 -Author: Karl Tomlinson <karlt+@karlt.net> -Date: Sat Jul 17 10:39:50 2010 +1200 - - clip: return empty clip from _cairo_clip_copy_rectangle_list when all_clipped - - Fixes https://bugs.freedesktop.org/show_bug.cgi?id=29122 - Tested by test/get-clip - - Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> - - src/cairo-clip.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 33ac2035876aeb9215ca0bdaaeea5265fcee61f8 -Author: Karl Tomlinson <karlt+@karlt.net> -Date: Sat Jul 17 10:13:22 2010 +1200 - - test: use the surface size expected in get-clip phase "No clip set" - - https://bugs.freedesktop.org/show_bug.cgi?id=29121 - - test/get-clip.c | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit bac5c28a18af5d43c96f0b64d1c7235da3f02779 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jul 17 10:09:14 2010 +0100 - - boilerplate: Offset the xlib window - - An idea courtesy of Benjamin Otte is to stress the drivers a bit more by - not rendering to 0,0. Under various circumstances rendering to a Window - is mapped onto the Screen root Window with a collection of offsets and - clips by X. It is easy for the driver to make a mistake and misrender... - - boilerplate/cairo-boilerplate-xlib.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 51b0c21f02a8f0f5d7f44da05e49d7f8f3bf8bc7 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jul 16 19:49:53 2010 +0200 - - build: Add explicit dependcy to cxx lib - - Otherwise the build will fail because it doesn't add the dependency - manually. - - https://bugs.freedesktop.org/show_bug.cgi?id=29114 - - boilerplate/Makefile.am | 3 +++ - src/Makefile.am | 2 +- - 2 files changed, 4 insertions(+), 1 deletion(-) - -commit 6b92d5a0f9fce28f99b07177454da00f984fdb43 -Author: Oleg Romashin <romaxa@gmail.com> -Date: Fri Jul 16 09:47:23 2010 +0100 - - qt: Use native glyph rendering. - - Remove the hack of using the xlib surface to do glyph rendering and use - the new interface introduced with Qt4.7, or else fallback to image - rendering with freetype. - - Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> - [2 files changed, 35 insertions(+), 140 deletions(-) \o/] - - src/cairo-qt-surface.cpp | 169 ++++++++++------------------------------------- - src/cairo-xlib-surface.c | 6 -- - 2 files changed, 35 insertions(+), 140 deletions(-) - -commit f53f072a223c3fbdeba315f5cba755cba498e121 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 12 18:53:29 2010 +0100 - - clip: Do the NULL check before the dereference. - - Breakage introduced in the commit earlier today. - - src/cairo-clip.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit ef0679333da881bd83b0bb4db546ea9c68f81f89 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 12 16:07:27 2010 +0100 - - image: Manually clip against bounds when rendering directly - - This is path is slightly peculiar in that it explicitly avoid the - intermediate mask and the geometry is not pre-clipped. - - This in conjunction with the previous commit fixes: - - Clip doesn't work for text - https://bugs.freedesktop.org/show_bug.cgi?id=29008 - - which is captured in test/partial-clip-text. - - src/cairo-image-surface.c | 23 +++++++++++++++++++---- - 1 file changed, 19 insertions(+), 4 deletions(-) - -commit 679e5a600bd7dae6cbde83070fb1f7355f8025a7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 12 16:06:32 2010 +0100 - - Differentiate between reducing clip to composite extents and a rectangle - - This is required for handling glyphs when rendering directly to the - surface. - - src/cairo-clip-private.h | 4 ++++ - src/cairo-clip.c | 22 +++++++++++++++------- - src/cairo-gl-surface.c | 4 ++-- - src/cairo-image-surface.c | 10 +++++----- - src/cairo-surface-fallback.c | 10 +++++----- - src/cairo-xcb-surface-render.c | 10 +++++----- - src/drm/cairo-drm-i915-glyphs.c | 2 +- - src/drm/cairo-drm-i915-surface.c | 8 ++++---- - src/drm/cairo-drm-i965-glyphs.c | 2 +- - src/drm/cairo-drm-i965-surface.c | 8 ++++---- - 10 files changed, 46 insertions(+), 34 deletions(-) - -commit 8546a877889bfafc056c867bc9aea25e9fdcdef0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 12 16:27:29 2010 +0100 - - test: Add partial-clip-text - - This exercises a bug found by Igor Nikitin: - - https://bugs.freedesktop.org/show_bug.cgi?id=29008 - - test/Makefile.am | 3 +++ - test/Makefile.sources | 1 + - test/partial-clip-text.c | 50 +++++++++++++++++++++++++++++++++++++ - test/partial-clip-text.ps.ref.png | Bin 0 -> 107 bytes - test/partial-clip-text.ref.png | Bin 0 -> 175 bytes - test/partial-clip-text.svg.ref.png | Bin 0 -> 173 bytes - 6 files changed, 54 insertions(+) - -commit 53ee897449dca497d6a3d6dc90b87fea8027cc44 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 12 12:37:31 2010 +0100 - - version: Post-snapshot bump to 1.9.13 - - cairo-version.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit aa4cd8287f47b4538e765e1b48dcbac19813a8a2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 12 12:12:12 2010 +0100 - - version: 1.9.12 snapshot - - cairo-version.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 53b129dd8aecf4e2bd8b7d2cd27b91370c6705e9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 12 12:11:42 2010 +0100 - - NEWS for 1.9.12. - - NEWS | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 56 insertions(+) - -commit 01380f3a56b28a388d2876780f33516ecd16ee16 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 12 11:49:53 2010 +0100 - - test: Missing REFERENCE_IMAGES - - test/Makefile.am | 3 +++ - 1 file changed, 3 insertions(+) - -commit 459b8ae660eb49a87ffb9da31f305718a2b4f11f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 12 11:05:57 2010 +0100 - - Make distcheck happy. - - src/cairo-fontconfig-private.h | 2 ++ - src/cairo-skia.h | 2 +- - src/glew/GL/glew.h | 2 ++ - src/glew/GL/glxew.h | 2 ++ - test/api-special-cases.c | 5 +++-- - 5 files changed, 10 insertions(+), 3 deletions(-) - -commit d56b1718025f8b2354b5b1eb99af41df70a6c590 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Mon Jul 12 10:36:24 2010 +0200 - - test: Add halo quartz reference images - - When quartz-font is enabled, halo and halo-transform fonts have a - different shape. - - test/halo-transform.quartz.ref.png | Bin 0 -> 14360 bytes - test/halo.quartz.ref.png | Bin 0 -> 8601 bytes - 2 files changed, 0 insertions(+), 0 deletions(-) - -commit 9107895789fc721ee6ea2ccb2ce3ab99fb978caa -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Mon Jul 12 11:03:15 2010 +0300 - - test: Add comments explaining the bug in bug-seams. - - Where two rasterization methods meet, havoc occurs. - - test/bug-seams.c | 22 ++++++++++++++++++++++ - 1 file changed, 22 insertions(+) - -commit 0152db263b9b12547fadb5d080913fcbb696d34e -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Mon Jul 12 10:36:00 2010 +0300 - - build: Sync up autogenerated win32 build files. - - boilerplate/Makefile.win32.features | 9 +++++++++ - build/Makefile.win32.features | 1 + - build/Makefile.win32.features-h | 3 +++ - src/Makefile.win32.features | 9 +++++++++ - 4 files changed, 22 insertions(+) - -commit 06ffb7df716652baba96960cd59e1a59f4bd1ac1 -Author: Eric Anholt <eric@anholt.net> -Date: Sat Jul 10 14:19:50 2010 -0700 - - gl: Only use a mat3 for the transformation for gradients coordinates. - - No point in passing in a column of zeroes that we multiply by zero, or - the row that we drop on the floor. We could do even better by just - passing in a 3x2, at the expense of adding a language version - dependency (or just pass in 2 vectors). - - No significant performance difference. - - src/cairo-gl-shaders.c | 28 +++++++++++++--------------- - 1 file changed, 13 insertions(+), 15 deletions(-) - -commit 1e7485f8e5b6fd9b26f06838d8e7a35e073c394b -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Mon Jul 12 00:23:11 2010 +0300 - - trace: Avoid stdbool.h C99ism. - - There is no <stdbool.h> on old Solaris without invoking - c99 mode explicitly. - - util/cairo-trace/trace.c | 184 ++++++++++++++++++++++++----------------------- - 1 file changed, 94 insertions(+), 90 deletions(-) - -commit 97529a3713d899468fb3ca7a1c3f75a09bd1b215 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Jul 11 23:54:21 2010 +0300 - - build: Avoid shifting shell parameters that aren't there. - - The shift primitive of the Solaris 9 Bourne shell doesn't like - it if we try to shift more formal arguments than are there. - This causes the compare_versions function in autogen.sh to croak when - the actual and compared versions differ in the number of - components. - - autogen.sh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit dd6026b613aa5414a128727995f2a4f79284072a -Author: Benjamin Otte <otte@redhat.com> -Date: Sun Jul 11 20:44:40 2010 +0200 - - doc: Make the necessity of flush/mark_dirty more obvious - - src/cairo-surface.c | 32 ++++++++++++++++++++++++++++++++ - 1 file changed, 32 insertions(+) - -commit 8a1944f45b9c9056088246d4f2e72d60a59fd5c4 -Author: Benjamin Otte <otte@redhat.com> -Date: Sun Jul 11 19:11:15 2010 +0200 - - check: Allow unprefix type names in the title - - Some documentation sections use the type name as the title, and we don't - want to use that title as a link. - - src/check-doc-syntax.sh | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit f0466ecf7db859a80b779b7fb4381e3c9409c39b -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Jul 11 21:57:40 2010 +0300 - - build: Fix typo in pthread test program. - - Missing a semicolon after pthread_cleanup_push. Incredibly - only openbsd 4.5 minded. - - build/configure.ac.pthread | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3f1d7de8e1620ad385930477b63454107dd8ffd3 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Jul 11 17:29:07 2010 +0300 - - build: Fix regression provoked by newer autoconf and dodgy configuring. - - We're not supposed to be redefining PACKAGE_VERSION, PACKAGE_... - from the configure generated confdefs.h. This patch rudely adds - paper over the problem. The compiler warnings are a problem for - us since our checking of various compiler flags assumes that - no news is good news, and that any warning messages are due - to the flags under test. The regression appears when using - an autoconf >= 2.64, at least, but not with 2.61. - - The same issue appears in the pthread test because our conftest - unconditionally #defines _GNU_SOURCE, but autoconf ends up doing - that in the confdefs.h. - - build/configure.ac.noversion | 13 ++++++++++++- - build/configure.ac.pthread | 2 ++ - 2 files changed, 14 insertions(+), 1 deletion(-) - -commit fca8977219b857e2e61dd86ac39ae9f40086f306 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Jun 27 03:03:17 2010 +0300 - - build: Rework pthread detection. - - Use two levels of pthread support: a minimal level used to - build cairo itself, and a full level to build threaded apps - which want to use cairo. The minimal level tries to use - pthread stubs from libc if possible, but falls back to the - full level if that's not possible. We use CFLAGS=-D_REENTRANT - LIBS=-lpthread to find a real pthread library since that seems - to work on every unix-like test box we can get our hands on. - - build/ax-pthread.m4 | 283 ------------------------------------------ - build/configure.ac.pthread | 251 +++++++++++++++++++++++++++++++++++++ - configure.ac | 47 +++---- - test/Makefile.am | 16 +-- - test/cairo-test-trace.c | 10 +- - test/cairo-test.c | 6 +- - util/cairo-sphinx/Makefile.am | 3 +- - util/cairo-sphinx/sphinx.c | 4 + - util/cairo-trace/Makefile.am | 4 +- - 9 files changed, 291 insertions(+), 333 deletions(-) - -commit 47c35e5e86a3c99fc39afe2e13a7c92d5247ee1e -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Jun 27 01:14:03 2010 +0300 - - build: Purge CAIRO_CC_TRY_LINK_FLAG. - - Use CAIRO_CC_TRY_FLAG instead in the one place where we used - CAIRO_CC_TRY_LINK_FLAG and make the build system one macro - smaller. - - build/aclocal.cairo.m4 | 21 --------------------- - build/configure.ac.warnings | 2 +- - 2 files changed, 1 insertion(+), 22 deletions(-) - -commit d2f5592e0e0d316cfc40ec676ee6e7f4e2a699fb -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Jun 27 01:11:13 2010 +0300 - - build: Factor out a more pliable CAIRO_CC_TRY_LINK_WITH_ENV_SILENT. - - Introduce a new CAIRO_CC_TRY_LINK_WITH_ENV_SILENT macro for running - generic link tests with arbitrary CFLAGS/LIBS/LDFLAGS and no muttering - of autoconf messages. Rewrite the previous CAIRO_CC_TRY_FLAG in terms - of it. - - build/aclocal.cairo.m4 | 31 +++++++++++++++++++++++++------ - 1 file changed, 25 insertions(+), 6 deletions(-) - -commit 120b78ada7eed6424f07a688854657d0c3ad68f8 -Author: Benjamin Otte <otte@redhat.com> -Date: Sun Jul 11 18:48:38 2010 +0200 - - build: Split boilerplate lib generation into two so's - - Same thing as what was previously done for libcairo.so: Build an - intermediate lib for the (potential) C++ stuff. - - boilerplate/Makefile.am | 31 ++++++++++++++++++++++++------- - boilerplate/Makefile.sources | 7 ++----- - 2 files changed, 26 insertions(+), 12 deletions(-) - -commit d6362a0d76753cb6f85f0dbd567a3ec7b7b08696 -Author: Benjamin Otte <otte@redhat.com> -Date: Sun Jul 11 16:01:44 2010 +0200 - - qt: Define cairo-qt's API as C symbols - - That way, the C linker doesn't mess up when linking libcairo.so. - - src/cairo-qt.h | 12 ++++-------- - 1 file changed, 4 insertions(+), 8 deletions(-) - -commit 5d4a4775c8b091b947b52cc8f7e1e48a5eaea007 -Author: Benjamin Otte <otte@redhat.com> -Date: Sun Jul 11 15:41:56 2010 +0200 - - build: Fix typo that makes C++ libs not build - - src/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9b9952ab4f64a476bbadfd3e6cf1e66c1137ccd7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jul 10 11:13:07 2010 +0100 - - Convert mime data length to use unsigned long - - What we want to use is size_t, but we don't want the implied POSIX - dependency. However, POSIX does say that size_t is an unsigned integer - that is no longer than a long, so it would appear safe to use an - unsigned long as a replacement. Safer at least than unsigned int. - - src/cairo-image-info-private.h | 6 +++--- - src/cairo-image-info.c | 4 ++-- - src/cairo-output-stream-private.h | 2 +- - src/cairo-output-stream.c | 2 +- - src/cairo-pdf-surface.c | 18 +++++++++--------- - src/cairo-png.c | 2 +- - src/cairo-ps-surface.c | 2 +- - src/cairo-script-surface.c | 6 +++--- - src/cairo-surface.c | 4 ++-- - src/cairo-svg-surface.c | 6 +++--- - src/cairo-types-private.h | 2 +- - src/cairo-win32-printing-surface.c | 10 +++++----- - src/cairo.h | 4 ++-- - util/cairo-trace/trace.c | 6 +++--- - 14 files changed, 37 insertions(+), 37 deletions(-) - -commit eb85ab998b606144daf025285968a5d6031b9aa6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jul 10 10:43:40 2010 +0100 - - subsurface: Don't assume we ever own the target. - - Andrea pointed out that snapshots can be shared, and so the subsurface - should not be calling finish even on a snapshot. - - src/cairo-surface-subsurface-private.h | 1 - - src/cairo-surface-subsurface.c | 17 ++++++++--------- - 2 files changed, 8 insertions(+), 10 deletions(-) - -commit 59c83117d77f58e9cb64aaa6b572fab62fb31c6b -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jul 9 18:55:11 2010 +0200 - - build: Commit new versions of autogenerate Windows build files - - The recent commits to the build system changed a bunch of stuff in - there, so update the files. - - boilerplate/Makefile.win32.features | 92 +++++++++++++++++++++++++++++++++---- - build/Makefile.win32.features-h | 1 - - src/Makefile.win32.features | 92 +++++++++++++++++++++++++++++++++---- - 3 files changed, 164 insertions(+), 21 deletions(-) - -commit bf117e4ea7c89dadcb5a358bb47c0f213cc67461 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jul 9 18:43:38 2010 +0200 - - build: fix glew include - - Currently wether internal glew is built is dependant on wether the - tarball in use was built with internal glew or not. And that's not how - it should be. - - configure.ac | 8 ++++---- - src/Makefile.sources | 11 +++++++---- - 2 files changed, 11 insertions(+), 8 deletions(-) - -commit 0bd704bd1e92b274209aeda6de88c7e75ffa81be -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jul 9 17:15:02 2010 +0200 - - build: Remove wrong flags from libcairo_cxx.la - - They're useful for the final so, but not for an intermediate noinst lib. - - src/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit faceffd5beb4297299175945660522d8f1f5f2cb -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jul 9 16:58:18 2010 +0200 - - build: copy/paste failure: Don't build libcxx.la - - src/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit dbb386d3c0aa9e7534d333cf3dbcfc2aaeac05d3 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jul 9 12:49:10 2010 +0200 - - gl: Use unsigned int instead of GLuint - - GLuint is not defined in cairo-gl.h. If unsigned int is not compatible - enough to GLuint, we might consider to use #include <GL/gl.h> instead. - - src/cairo-gl-surface.c | 2 +- - src/cairo-gl.h | 3 ++- - 2 files changed, 3 insertions(+), 2 deletions(-) - -commit f7fc8569a797356d5e93ad67aae4eca31e6835cd -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jul 9 12:29:35 2010 +0200 - - build: Fix C++ issues with automake - - This is an attempt to fix the broken situation we've been in where - automake links libcairo.la with c++ because it might potentially maybe - include C++ files. - - Those potential files only exist in Chris' throwaway backends (skia, qt) - and the BeOS backend, so for 99.99% of cases, these backends are not - needed and linking with c++ is overkill. Also, no one wants to have - libcairo.so link to libstdc++. - - This patch fixes that in mutliple steps: - 1) Add build infrastructure to distinguish between C and C++ backends. - This is done by allowing to specify backend_sources as well as - backend_cxx_sources variables in Makefile.sources. - 2) Optionally build a libcairo_cxx.la noinst library - This intermediate library is built for C++ backends only and therefor - linked using c++. It is then linked into the final libcairo.la. This - does not require c++, so the linking of libcairo.la is done with cc. - - This also works around various weirdnesses that the current build system - exposes, where it assumes cisms when in fact using c++ semantics, like - not detecting c++ properly or: - https://bugzilla.redhat.com/show_bug.cgi?id=606523 - - build/configure.ac.features | 7 ++++++- - configure.ac | 10 ++++++++++ - src/Makefile.am | 20 +++++++++++++++++++- - src/Makefile.am.analysis | 4 ++-- - src/Makefile.sources | 6 +++--- - 5 files changed, 40 insertions(+), 7 deletions(-) - -commit df6d49f6eaf334d5a2de8bdd90919278071ab868 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jul 9 10:29:30 2010 +0200 - - build: Get rid of $(foo_files) Makefile.am variables - - They're unused, and less variables make the build system easier to - understand. - - build/configure.ac.features | 1 - - src/Makefile.am | 1 - - 2 files changed, 2 deletions(-) - -commit ce530b2802683fe6c5289367ef03018f4081a2da -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jul 9 04:24:51 2010 +0200 - - doc: Add "@Since: 1.10" tags to device docs - - src/cairo-device.c | 14 ++++++++++++++ - src/cairo.h | 2 ++ - 2 files changed, 16 insertions(+) - -commit c1fed693020c96126cdc697ddd22567398369b04 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jul 9 04:20:42 2010 +0200 - - gl: Remove double ** from some comments - - gtk-doc doesn't like that unless it's a real gtk-doc comment. - And it wasn't. - - src/cairo-gl-composite.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 5c73b371ae31f230210987941eec2db49d2e02be -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jul 9 04:20:06 2010 +0200 - - doc: Document remaining cairo-device functions - - src/cairo-device.c | 32 ++++++++++++++++++++++++++++++++ - 1 file changed, 32 insertions(+) - -commit 9877c1932a44f7e5300d6fcd99c19748aa5a4828 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jul 9 03:52:45 2010 +0200 - - doc: Add more documentation for devices - - Add general docs and document acquire/release. I'm not happy with the - documentation yet. In particular, I have 2 issues: - 1) The threading guarantees Cairo provides are missing. - 2) There's no docs on which Cairo functions do acquire devices. - - I guess I'll have to fix them later. - - src/cairo-device.c | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 86 insertions(+) - -commit 739d6e35fa5632b80b888d6475f2fdb6be6054a6 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jul 9 03:04:27 2010 +0200 - - doc: Clarify that cairo_surface_get_device() can return NULL - - src/cairo-surface.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 65d0590b041835fb466f4a7073910ef1383d9e77 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jul 9 02:23:13 2010 +0200 - - doc: Copy docs for standard device APIs - - Copied from the surface equivalents - - src/cairo-device.c | 42 ++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 42 insertions(+) - -commit 8a08b6fa5288f376688730c66ae9219d01180f42 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jul 9 02:21:00 2010 +0200 - - doc: Remove the <TITLE> declarations - - This information was duplicated. It exists as the "@Title" of the - SECTION inline documentation already. - - doc/public/cairo-sections.txt | 28 ---------------------------- - 1 file changed, 28 deletions(-) - -commit 5e76bc6deb9fd4dc7a0f9181d3941ba55ce89c56 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jul 9 01:10:24 2010 +0200 - - doc: Add missing region documentation - - src/cairo-region.c | 25 +++++++++++++++++++++++++ - src/cairo.h | 13 +++++++++++++ - 2 files changed, 38 insertions(+) - -commit 57da730d286f643c8f68b445907f7cdd1f53e5de -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Jul 8 23:44:35 2010 +0200 - - doc: Fix a syntax issue in quartz-font gtkdoc - - A missing empty line caused the long description to be part of - @See_Also. Ooops. - - src/cairo-quartz-font.c | 1 + - 1 file changed, 1 insertion(+) - -commit fb03eba44f1ae7dd76dd3db82bfb55b06b0932ae -Author: Andrea Canciani <ranma42@gmail.com> -Date: Thu Jul 8 20:06:08 2010 +0200 - - test: Add quartz functions to api-special-cases test - - test/api-special-cases.c | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - -commit 59aab0bdc24838252850034cee36ed756f3c3e2a -Author: Andrea Canciani <ranma42@gmail.com> -Date: Thu Jul 8 20:05:13 2010 +0200 - - test: fix typo - - test/api-special-cases.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b870cc030d8e0eb6309695e5a101c802f688cf40 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Jul 8 13:05:18 2010 +0200 - - doc: Move tmpl/ docs to inline docs - - I did this manually so I could review the docs at the same time. - If anyone finds typos or other mistakes I did, please complain to me (or - better: fix them). - - doc/public/cairo-sections.txt | 4 +- - doc/public/tmpl/.gitignore | 3 - - doc/public/tmpl/cairo-atsui.sgml | 21 - - doc/public/tmpl/cairo-beos.sgml | 22 -- - doc/public/tmpl/cairo-font-face.sgml | 116 ------ - doc/public/tmpl/cairo-font-options.sgml | 199 ---------- - doc/public/tmpl/cairo-ft.sgml | 87 ----- - doc/public/tmpl/cairo-image.sgml | 127 ------ - doc/public/tmpl/cairo-matrix.sgml | 169 -------- - doc/public/tmpl/cairo-paths.sgml | 263 ------------- - doc/public/tmpl/cairo-pattern.sgml | 350 ----------------- - doc/public/tmpl/cairo-pdf.sgml | 101 ----- - doc/public/tmpl/cairo-png.sgml | 96 ----- - doc/public/tmpl/cairo-ps.sgml | 144 ------- - doc/public/tmpl/cairo-quartz-fonts.sgml | 52 --- - doc/public/tmpl/cairo-quartz.sgml | 64 --- - doc/public/tmpl/cairo-scaled-font.sgml | 227 ----------- - doc/public/tmpl/cairo-status.sgml | 98 ----- - doc/public/tmpl/cairo-surface.sgml | 326 --------------- - doc/public/tmpl/cairo-svg.sgml | 91 ----- - doc/public/tmpl/cairo-text.sgml | 319 --------------- - doc/public/tmpl/cairo-transforms.sgml | 132 ------- - doc/public/tmpl/cairo-types.sgml | 43 -- - doc/public/tmpl/cairo-user-fonts.sgml | 169 -------- - doc/public/tmpl/cairo-version.sgml | 205 ---------- - doc/public/tmpl/cairo-win32-fonts.sgml | 106 ----- - doc/public/tmpl/cairo-win32.sgml | 101 ----- - doc/public/tmpl/cairo-xcb-xrender.sgml | 26 -- - doc/public/tmpl/cairo-xcb.sgml | 26 -- - doc/public/tmpl/cairo-xlib-xrender.sgml | 60 --- - doc/public/tmpl/cairo-xlib.sgml | 147 ------- - doc/public/tmpl/cairo.sgml | 674 -------------------------------- - src/cairo-beos-surface.cpp | 10 + - src/cairo-font-face.c | 17 + - src/cairo-font-options.c | 12 + - src/cairo-ft-font.c | 25 ++ - src/cairo-image-surface.c | 21 + - src/cairo-matrix.c | 23 ++ - src/cairo-misc.c | 20 + - src/cairo-path.c | 9 + - src/cairo-pattern.c | 17 + - src/cairo-pdf-surface.c | 17 + - src/cairo-png.c | 18 + - src/cairo-ps-surface.c | 17 + - src/cairo-quartz-font.c | 17 + - src/cairo-quartz-surface.c | 17 + - src/cairo-scaled-font.c | 10 + - src/cairo-surface.c | 47 +++ - src/cairo-svg-surface.c | 17 + - src/cairo-types-private.h | 8 + - src/cairo-user-font.c | 22 ++ - src/cairo-version.c | 156 ++++++++ - src/cairo-win32-font.c | 17 + - src/cairo-win32-surface.c | 24 ++ - src/cairo-xcb-surface-render.c | 13 + - src/cairo-xcb-surface.c | 13 + - src/cairo-xlib-surface.c | 40 ++ - src/cairo.c | 57 +++ - 58 files changed, 666 insertions(+), 4566 deletions(-) - -commit 65a1e351330106ee0af9f6f0df06b82954341ee6 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Jul 8 03:28:05 2010 +0200 - - doc: Remove CAIRO_FORMAT_RGB16_565 from hidden symbols list - - It's part of the cairo_format_t documentation now. - - doc/public/cairo-sections.txt | 1 - - 1 file changed, 1 deletion(-) - -commit e7594aebce6007bfa2027ba2655875db6c036e73 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Jul 8 03:21:45 2010 +0200 - - doc: Fix some consistency issues that confuse gtk-doc - - src/cairo-region.c | 16 +++++++++++++--- - src/cairo.h | 16 ++++++++++++++-- - 2 files changed, 27 insertions(+), 5 deletions(-) - -commit da2663a0aa1e3f0a6b2f6ae2e9952ac27dec3f5d -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Jul 8 03:14:42 2010 +0200 - - doc: Add list of new symbol in Cairo 1.10 - - doc/public/cairo-docs.xml | 3 +++ - 1 file changed, 3 insertions(+) - -commit a106aa86a3267b4886f7eabdc4b07bb394e11531 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Jul 8 03:13:20 2010 +0200 - - doc: add --name-space option to gtkdoc-mkdb - - This sorts function names in new symbols lists way better. - - doc/public/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 71d17e4b1f1cb83bc605d72d8419d4bfb824c828 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Jul 8 02:42:39 2010 +0200 - - drm: Fix Makefile for drm_xr - - Use cairo_drm_xr_sources/headers for the drm_xr stuff. This makes it - work correctly in gtk-doc instead of conditionally adding it to - cairo_drm_sources/headers. - - src/Makefile.sources | 10 ++++------ - 1 file changed, 4 insertions(+), 6 deletions(-) - -commit 4b3e488cebeeace02eae1164ed12caa93d7c5847 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Jul 8 02:42:06 2010 +0200 - - skia: Add cairo-skia.h as a public header - - src/Makefile.sources | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2a546286da5fe7203846d99a4a3d732c73e62db5 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Jul 8 02:20:17 2010 +0200 - - doc: Add a section about regions - - doc/public/cairo-docs.xml | 1 + - doc/public/cairo-sections.txt | 30 ++++++++++++++++++++++++++++++ - 2 files changed, 31 insertions(+) - -commit ab1f6d1af7c0e47077013edd58e93fa9fc6f2b5c -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Jul 8 01:41:27 2010 +0200 - - doc: Add missing surface APIs - - doc/public/cairo-sections.txt | 2 ++ - 1 file changed, 2 insertions(+) - -commit 90bf273a38856d178e90721168b8b076f79fbf38 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Jul 8 01:39:37 2010 +0200 - - doc: Add a section for cairo_device_t - - doc/public/cairo-docs.xml | 1 + - doc/public/cairo-sections.txt | 18 ++++++++++++++++++ - 2 files changed, 19 insertions(+) - -commit 60e4f28d091df8ac6b898448eb52fae9ca920d5d -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Jul 8 01:39:07 2010 +0200 - - doc: Add cairo_in_clip() to cairo_t section - - doc/public/cairo-sections.txt | 1 + - 1 file changed, 1 insertion(+) - -commit 6843186b729b20acddccd36184d2c5a7b5525d2e -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Jul 8 01:38:43 2010 +0200 - - doc: Add cairo_rectangle_int_t to the general types list - - doc/public/cairo-sections.txt | 1 + - 1 file changed, 1 insertion(+) - -commit c54dff82d3055529b7663dcff7a970cae919a9e0 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Jul 8 01:33:42 2010 +0200 - - glew: The headers are private, not public - - src/Makefile.sources | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4252e3b8f915fc23611f1a667bf7bc1bb6a21dfd -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Jul 8 01:32:25 2010 +0200 - - doc: Add drm and glew to the ignored directories - - This reduces the number of unused symbols to a reasonable size. ;) - - doc/public/Makefile.am | 2 ++ - 1 file changed, 2 insertions(+) - -commit 729d00341c26d46d82359014df97472a469e49a4 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Jul 8 13:57:43 2010 +0200 - - gl: Fix compile error after rebase failure - - src/cairo-gl-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 292423c73376a7f9b84c9e3e578c242f486e921b -Author: Colin Walters <walters@verbum.org> -Date: Wed Jul 7 15:46:33 2010 -0400 - - Support NOCONFIGURE environment variable - - This is taken from gnome-common; it can be convenient for builders - to separate the autogen from the configure stage. - - autogen.sh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 9e6c151af810886e94372ac8e4878915059c6c14 -Author: Kristian Høgsberg <krh@bitplanet.net> -Date: Thu Jun 17 18:19:39 2010 -0400 - - gl: Add new cairo-gl surface constructor to create surface for texture - - src/cairo-gl-private.h | 2 + - src/cairo-gl-surface.c | 111 +++++++++++++++++++++++++++++++++++++++++++------ - src/cairo-gl.h | 4 ++ - 3 files changed, 105 insertions(+), 12 deletions(-) - -commit 4c91bb9a221bc8e3d65a96365bbd1157b3f4e612 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue Jul 6 17:27:18 2010 +0200 - - region: Add cairo_region_xor() and cairo_region_xor_rectangle() - - gdk_region_xor() was a quite often used function in GDK and now that - GDKe uses cairo regions, it seems like a worthwhile addition to Cairo. - - src/cairo-region.c | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/cairo.h | 6 ++++ - src/cairoint.h | 2 ++ - 3 files changed, 88 insertions(+) - -commit 82de6336d88be43de759b94634e87b9e4a8391b1 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue Jul 6 00:48:36 2010 +0200 - - test: Add note about how to fix failures to api-special-cases - - test/api-special-cases.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 75f269b14e1e4cdadd8c08566a07b2460ae3364b -Author: Benjamin Otte <otte@redhat.com> -Date: Tue Jul 6 00:41:12 2010 +0200 - - test: Add documentation to the api-special-cases test - - Hopefully people add other backend APIs to the testsuite. - - test/api-special-cases.c | 27 +++++++++++++++++++++++++++ - 1 file changed, 27 insertions(+) - -commit 398870e64a18f32f1854cb19f64c34e2b1987140 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue Jul 6 00:21:38 2010 +0200 - - xlib: Setters should set finished surfaces into an error status - - Caught by api-special-cases test - - src/cairo-xlib-surface.c | 18 ++++++++++++++---- - 1 file changed, 14 insertions(+), 4 deletions(-) - -commit 6e562d1448eb70b7269f8f2f280719aa2aeb3ce7 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue Jul 6 00:20:57 2010 +0200 - - xcb: Setters should set finished surfaces into an error status - - Caught by api-special-cases test - - src/cairo-xcb-surface.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -commit fa070704966f10e7264778a3ffb401054a68e8f7 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue Jul 6 00:20:36 2010 +0200 - - test: Add xcb and xlib functions to api-special-cases test - - test/api-special-cases.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 91 insertions(+) - -commit c4068fe9414bad663f77c030ac96fa4b4cba87ba -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jul 5 23:14:33 2010 +0200 - - test: Add ps, pdf and svg to the api-special-cases test - - test/api-special-cases.c | 103 +++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 103 insertions(+) - -commit 3e008e8ab0a1c5254bd1d8a58c9e9a89846fe7ac -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jul 5 23:14:19 2010 +0200 - - svg: Set error when extracting from finished surface - - Caught by api-special-cases test - - src/cairo-svg-surface.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit 2e66cbaee2efc4a8eb2117f945d68e2816349cfe -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jul 5 23:10:12 2010 +0200 - - ps: Allow specifying if errors on extract_surface should be set - - Getters should not set errors on passed in input. So we don't. - - Caught by api-special-cases test - - src/cairo-ps-surface.c | 39 ++++++++++++++++++++++----------------- - 1 file changed, 22 insertions(+), 17 deletions(-) - -commit f5dfc3ce6eab3bf836f2d7f7cf72d2834c42d72f -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jul 5 23:08:08 2010 +0200 - - ps: Set error when extracting from finished surface - - Caught by api-special-cases test - - src/cairo-ps-surface.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit 106357f6e28467f6db02e8d69c4aea459aca781c -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jul 5 23:07:24 2010 +0200 - - pdf: Set error when extracting from finished surface - - Caught by api-special-cases test - - src/cairo-pdf-surface.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit 702aa19fdae8bd511c4374f580dde6503afd3341 -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jul 5 22:50:44 2010 +0200 - - gl: Fail properly when called with finished functions - - Caught by api-special-cases test - - src/cairo-gl-surface.c | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -commit b87be76bdfcbd329c79a9f11b24d22010ad15dde -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jul 5 22:50:18 2010 +0200 - - test: Add gl functions to the tests - - test/api-special-cases.c | 39 ++++++++++++++++++++++++++++++++++++++- - 1 file changed, 38 insertions(+), 1 deletion(-) - -commit 448653e7b9938100c3f2e30e026fbc4d9de7d0d5 -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jul 5 22:41:43 2010 +0200 - - Call _cairo_error() when setting the FINISHED error on surfaces - - src/cairo-surface-subsurface.c | 2 +- - src/cairo-surface.c | 12 ++++++------ - 2 files changed, 7 insertions(+), 7 deletions(-) - -commit 19da8e138d317c1770d8bbd21a49c657d954f126 -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jul 5 22:40:54 2010 +0200 - - tee: Add proper error handling - - Caught by api-special-cases - - src/cairo-tee-surface.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -commit a9f30fc1f0c3e50715468b09707477973bf5268b -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jul 5 22:30:55 2010 +0200 - - test: Add recording and tee surface functions to api-special-cases - - test/api-special-cases.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 44 insertions(+) - -commit 41abc0ca37855751ed06051a30c0d866977ed2bd -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jul 5 22:19:05 2010 +0200 - - test: add PNG functions - - test/api-special-cases.c | 36 ++++++++++++++++++++++++++++++++++++ - 1 file changed, 36 insertions(+) - -commit 897eaa3e97f865ad2c28442c26efaf4ba391cf03 -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jul 5 22:11:23 2010 +0200 - - test: Add a non-error surface check - - In that check, we call functions that require a specific surface type - with surfaces of a different type and check that they don't crash and - set the correct error. - - test/api-special-cases.c | 36 ++++++++++++++++++++++++++++++++++++ - 1 file changed, 36 insertions(+) - -commit 986ddf565215dc01065eade46921abe8a4b7912e -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jul 5 22:03:42 2010 +0200 - - test: add image surface functions to api-special-cases test - - test/api-special-cases.c | 90 +++++++++++++++++++++++++++++++++++------------- - 1 file changed, 66 insertions(+), 24 deletions(-) - -commit 72878d70ea75be03f47fa9d53f8305e76162054e -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jul 5 20:47:19 2010 +0200 - - test: Add a new test variant to api-special-cases test - - This variant tests a (hopefully) inert error surface. - - test/api-special-cases.c | 35 +++++++++++++++++++++++++++++++++++ - 1 file changed, 35 insertions(+) - -commit 9de25a0297c141a0776835920168afaa3ca77a87 -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jul 5 18:33:40 2010 +0200 - - configure: remove dolt - - libtool should be fast by now - - Makefile.am | 5 +- - build/aclocal.dolt.m4 | 178 -------------------------------------------------- - configure.ac | 1 - - 3 files changed, 2 insertions(+), 182 deletions(-) - -commit 6744b78de17930285569da2158a334763e2bd333 -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jul 5 18:25:31 2010 +0200 - - subsurface: Fail if created from a finished surface - - Caught by api-special-cases test - - src/cairo-surface-subsurface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 8fd1ecea12f15c2bda710065909a14415ba92bd8 -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jul 5 18:25:16 2010 +0200 - - surface: Fail if set_mime_data() is called on a finished surface - - Caught by api-special-cases test - - src/cairo-surface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit e388ff1ae732970d6166780817ec121cf58ccd0e -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jul 5 18:24:23 2010 +0200 - - surface: Fail early if create_similar() is called on a finished surface - - Caught by api-special-cases test - - src/cairo-surface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit c1689ef6f27f99c36e1a5f4de658363ca0aad25a -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jul 5 18:23:37 2010 +0200 - - surface: don't call begin_modification on finished surfaces - - Fixes https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/600622 - - Caught by api-special-cases test - - src/cairo-surface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit cf0245c1201d4884ff19e881e9c118784fa14884 -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jul 5 18:17:09 2010 +0200 - - tests: Add a testcase that checks APIs work consistently - - In particular, it checks that finished and surfaces in an error state do - not do bad things, like cause crashes. - So far this test only checks surface APIs, but it should be extended to - cover all APIs. - - Please update this test when new APIs get added. - - Motivated by https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/600622 - - test/Makefile.sources | 1 + - test/api-special-cases.c | 360 +++++++++++++++++++++++++++++++++++++++++ - test/api-special-cases.ref.png | Bin 0 -> 95 bytes - 3 files changed, 361 insertions(+) - -commit eb63284fc3ae9377003ca312be58ae8f5dbbfdbd -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jul 5 00:37:10 2010 +0200 - - configure: Use automake silent rules - - This replaces shave usage. - If silent rules are not available, don't use them. - - configure.ac | 1 + - 1 file changed, 1 insertion(+) - -commit 68bbb6b4a0a3b9bc923ccf130b1ca4221a5e54bd -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jul 5 00:35:39 2010 +0200 - - configure: remove shave - - build/.gitignore | 2 -- - build/aclocal.shave.m4 | 77 ----------------------------------------------- - build/shave-libtool.in | 69 ------------------------------------------ - build/shave.in | 82 -------------------------------------------------- - configure.ac | 4 --- - 5 files changed, 234 deletions(-) - -commit 9ce87c67ff64083ec48edfefe83a1df3756c364c -Author: Benjamin Otte <otte@redhat.com> -Date: Sat Jul 3 02:54:55 2010 +0200 - - perf: print comment describing backend - - Use the descibe string to output information about the backend we're - testing. - - perf/cairo-perf-trace.c | 31 ++++++++++++++++++++++++++++++- - 1 file changed, 30 insertions(+), 1 deletion(-) - -commit fcfe7c67248ea171dc40c0dbd861e489a2df5941 -Author: Benjamin Otte <otte@redhat.com> -Date: Sat Jul 3 02:54:28 2010 +0200 - - boilerplate: Add describe string - - Print the pixman version we're using - - boilerplate/cairo-boilerplate.c | 21 ++++++++++++++++++--- - 1 file changed, 18 insertions(+), 3 deletions(-) - -commit 0a7135148a634ea6692a4edd83193870a5d526b3 -Author: Benjamin Otte <otte@redhat.com> -Date: Sat Jul 3 02:54:08 2010 +0200 - - gl: Add describe string - - boilerplate/cairo-boilerplate-glx.c | 29 +++++++++++++++++++++++++---- - 1 file changed, 25 insertions(+), 4 deletions(-) - -commit a1c4b001a548611b7d77e9280fdb5a82da275830 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Jun 30 18:27:54 2010 +0200 - - boilerplate: Add a describe vfunc - - This function is supposed to describe the backend in use. The describe - function is optional - and therefore initialized as NULL everywhere. - Note: - It is well known that the xlib backend uses X. What is not known is what - version the server supports or what graphics card it is running on. That - is the information the describe vfunc is supposed to provide. - - boilerplate/Makefile.win32.features | 8 ++++++++ - boilerplate/cairo-boilerplate-directfb.c | 4 ++-- - boilerplate/cairo-boilerplate-drm.c | 2 ++ - boilerplate/cairo-boilerplate-egl.c | 1 + - boilerplate/cairo-boilerplate-glx.c | 4 ++++ - boilerplate/cairo-boilerplate-pdf.c | 4 ++-- - boilerplate/cairo-boilerplate-ps.c | 8 ++++---- - boilerplate/cairo-boilerplate-quartz.c | 5 +++-- - boilerplate/cairo-boilerplate-script.c | 2 +- - boilerplate/cairo-boilerplate-skia.c | 4 ++-- - boilerplate/cairo-boilerplate-svg.c | 8 ++++---- - boilerplate/cairo-boilerplate-test-surfaces.c | 16 ++++++++-------- - boilerplate/cairo-boilerplate-vg.c | 4 ++++ - boilerplate/cairo-boilerplate-wgl.c | 2 ++ - boilerplate/cairo-boilerplate-win32-printing.c | 4 ++-- - boilerplate/cairo-boilerplate-win32.c | 4 ++-- - boilerplate/cairo-boilerplate-xcb.c | 7 +++++++ - boilerplate/cairo-boilerplate-xlib.c | 4 ++++ - boilerplate/cairo-boilerplate.c | 10 +++++----- - boilerplate/cairo-boilerplate.h | 4 ++++ - build/Makefile.win32.features-h | 1 + - src/Makefile.win32.features | 8 ++++++++ - 22 files changed, 80 insertions(+), 34 deletions(-) - -commit 4c039b1cdfac5b5d6aa0c38f0779213fd14ec7de -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 2 17:01:12 2010 +0100 - - user-font: Check the status before destroying the context - - src/cairo-user-font.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 1f84f5682c6ff246b3d28c75c8731504f31c1ee1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 2 13:19:17 2010 +0100 - - xlib: Apply translation to image surface upload. - - Fixes: - - Bug 28888 - cairo_paint with rgb images does not work correctly - https://bugs.freedesktop.org/show_bug.cgi?id=28888 - - src/cairo-xlib-surface.c | 13 ++++++++----- - 1 file changed, 8 insertions(+), 5 deletions(-) - -commit d2d6c96c24501d888422ea42d3c90d3c8f3647a0 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Tue Jun 29 09:58:54 2010 +0200 - - user-font: correct handling of size 0 text - - Text with size 0 has a singular scale matrix, thus requires special - handling to avoid invalidating the context where it is used. - - Fixes pthread-show-text and text-zero-len (they failed with assertion - when ran using the user font backend). - - src/cairo-matrix.c | 9 ++++++++ - src/cairo-scaled-font.c | 5 ++--- - src/cairo-user-font.c | 60 +++++++++++++++++++++++++++++-------------------- - src/cairoint.h | 3 +++ - 4 files changed, 50 insertions(+), 27 deletions(-) - -commit 6db247e13c6fa61879029b335c6fa649d810c11b -Author: Andrea Canciani <ranma42@gmail.com> -Date: Tue Jun 29 09:28:04 2010 +0200 - - user-font: ignore translation in scale matrix - - Currently the translation component of the scaled_font scale matrix - is applied by gstate and only linear components should be applied in - font backends. - - Fixes font-matrix-translation (when using user-font as font backend). - - src/cairo-user-font.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit 549431e98ed0be17b80f24f0e0c167c7ad632f4f -Author: Andrea Canciani <ranma42@gmail.com> -Date: Mon Jun 28 22:40:28 2010 +0200 - - ft-font: fix typo - - src/cairo-ft-font.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 97a88c5adb08a3181bad1f63a7bbdfe5784b4207 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jun 28 17:10:59 2010 +0100 - - xlib: Compile without fontconfig - - Create a cairo-fontconfig-private.h where we can add the missing defines - in a common location rather than in the body of the code. - - src/Makefile.sources | 1 + - src/cairo-fontconfig-private.h | 76 ++++++++++++++++++++++++++++++++++++++++++ - src/cairo-ft-font.c | 5 +-- - src/cairo-surface-subsurface.c | 1 + - src/cairo-xlib-screen.c | 20 +---------- - 5 files changed, 80 insertions(+), 23 deletions(-) - -commit 7d6910014310344e5d16c97ffd1f1c9fbc01b143 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Mon Jun 28 17:12:41 2010 +0200 - - quartz: remove unused declarations - - src/cairo-quartz-surface.c | 17 ----------------- - 1 file changed, 17 deletions(-) - -commit bd4c14b94eeb386b30439929e8e54a5d9b5d5fca -Author: Andrea Canciani <ranma42@gmail.com> -Date: Thu Jun 24 23:20:41 2010 +0200 - - quartz: remove unused os version info - - It was previously used to activate a workaround for text transformation - whenrunning on some os versions. Now the workaround is not needed anymore. - - src/cairo-quartz-surface.c | 7 ------- - 1 file changed, 7 deletions(-) - -commit aa7e9c43b6381930455a68258dcc3e14dce2b0e4 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Thu Jun 24 14:18:02 2010 +0200 - - quartz-font: correct and explain matrix computations - - glyph_path was taking into account the translation (which currently - is already applied in gstate) and the sign of the elements of the - matrices was not explained. - - src/cairo-quartz-font.c | 13 ++++++------- - 1 file changed, 6 insertions(+), 7 deletions(-) - -commit b26f72fef99e9869a62cbb8e44a82837f87cf2c6 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Thu Jun 24 22:34:36 2010 +0200 - - quartz: check return status - - If the font backend is unable to tell the extents of the operation, - consider it unbound. - - src/cairo-quartz-surface.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 9c0d761bfcdd28d52c83d74f46dd3c709ae0fa69 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Thu Jun 24 15:26:03 2010 +0200 - - quartz: improve text transform handling - - Use scale instead of manually compositing font_matrix and ctm and - composite it with the context ctm, so that no workaround for clipping - is needed anymore. - - src/cairo-quartz-surface.c | 46 ++++++++++++---------------------------------- - 1 file changed, 12 insertions(+), 34 deletions(-) - -commit 9068b5768b8560fbf095f1c0eecb5c805232f794 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Thu Jun 24 15:15:37 2010 +0200 - - quartz-font: silence compiler warnings - - Remove an unused function, explicitly ignore or check return values, - don't define unused variables. - - src/cairo-quartz-font.c | 84 ++++++++++++++++++------------------------------- - 1 file changed, 30 insertions(+), 54 deletions(-) - -commit ca161a585a7ce09cfcd468ea7591c5959077a907 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 26 14:50:57 2010 +0100 - - version: 1.9.9 - - Post-snapshot bump. - - cairo-version.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0f1ff0daab7259ec16076f788760da4f35cb0cdc -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 26 14:20:25 2010 +0100 - - test: Missing ref image. - - test/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit 45d1f461ce2d2e3af16a5a90ffd8980bffc5eaa8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 26 14:17:23 2010 +0100 - - version: 1.9.10 - - cairo-version.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 7a68a7bfd550b5e4b6635495e7de49fe306fbad4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 26 14:16:27 2010 +0100 - - NEWS for 1.9.10 snapshot - - NEWS | 28 ++++++++++++++++++++++++++++ - 1 file changed, 28 insertions(+) - -commit 8df41361196c7ba1b8d272507cc3d523cdcf5632 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 26 09:52:11 2010 +0100 - - Regenerate default win32 headers. - - boilerplate/Makefile.win32.features | 8 -------- - build/Makefile.win32.features-h | 1 - - src/Makefile.win32.features | 8 -------- - 3 files changed, 17 deletions(-) - -commit 1373675ef7602363aeca0d9ec12be79719ea066d -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jun 25 14:10:12 2010 +0200 - - pop-group: Translate existing path properly - - This fixes the reverse case of the push_group case fixed a few commits - ago. - - src/cairo.c | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit 59076776674e3ae47099f20e1d86064fbd856008 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jun 25 14:08:49 2010 +0200 - - test: improve push-group-path-offset to also catch the pop_group() case - - cairo_pop_group() also trasnforms the path wrong, so we use cairo_fill() - to copy data instead of cairo_paint(). - - (Also, unbust the testcase.) - - test/push-group-path-offset.c | 45 +++++++++++++++---------------------------- - 1 file changed, 16 insertions(+), 29 deletions(-) - -commit 2e8571d95ca36f8ad9e20796990cdc0b3f763082 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jun 25 13:41:22 2010 +0200 - - push-group: Fix path translation when pushing a group with device offsets - - With the previous code, the parent's device offset wasn't undone before - applying the new device offset. - Tested by push-group-path-offset test. - - src/cairo.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit a9b8d1a94ea624ea8b12a125bdf70c6f248e7ca7 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jun 25 13:38:40 2010 +0200 - - test: Add a new test for a bug with device-offset tests - - All the credit for this one goes to make distcheck - - test/Makefile.sources | 1 + - test/push-group-path-offset.c | 90 ++++++++++++++++++++++++++++++++++++ - test/push-group-path-offset.ref.png | Bin 0 -> 186 bytes - 3 files changed, 91 insertions(+) - -commit 1099a3515b6a69e2ff360d8e6b1df71e3ea5c213 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 24 17:22:34 2010 +0100 - - drm/intel: Fix common off-by-one by rewriting the [XY]MAX macro. - - Many rectangles in the command stream are specified as inclusive rects, - i.e. the max values are (width-1, height-1), which is easy to neglect. - - src/drm/cairo-drm-i915-private.h | 2 +- - src/drm/cairo-drm-i915-surface.c | 24 ++++++------------------ - src/drm/cairo-drm-i965-shader.c | 12 ++++++------ - src/drm/cairo-drm-intel-command-private.h | 4 ++-- - 4 files changed, 15 insertions(+), 27 deletions(-) - -commit fb6a00571c818c738d66bc04dc75e79491878f78 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jun 14 10:19:37 2010 +0100 - - drm: _cairo_color_get_content() compilation fixes - - src/drm/cairo-drm-i915-shader.c | 2 +- - src/drm/cairo-drm-i965-shader.c | 5 +---- - src/drm/cairo-drm-intel.c | 3 +-- - 3 files changed, 3 insertions(+), 7 deletions(-) - -commit 42956b46436b9704be7619e1b61ab222923376d0 -Author: Zoxc <zoxc32@gmail.com> -Date: Sun Jun 20 21:07:57 2010 +0000 - - build: Added cairo deflate stream as a requirement for the script surface. - - src/Makefile.sources | 3 +++ - 1 file changed, 3 insertions(+) - -commit b036a09972a19e63a85a4661a457525e2abe4026 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Thu Jun 24 14:59:18 2010 +0300 - - whitespace: Fixup formal arguments and tabs in boilerplate/ and perf/. - - Ran a script to align the formal parameters of functions and - collapse spaces to tabs in code. - - boilerplate/cairo-boilerplate-beos.cpp | 42 +++++----- - boilerplate/cairo-boilerplate-directfb.c | 86 ++++++++++----------- - boilerplate/cairo-boilerplate-drm.c | 2 +- - boilerplate/cairo-boilerplate-egl.c | 20 ++--- - boilerplate/cairo-boilerplate-getopt.c | 12 +-- - boilerplate/cairo-boilerplate-glx.c | 60 +++++++-------- - boilerplate/cairo-boilerplate-pdf.c | 24 +++--- - boilerplate/cairo-boilerplate-private.h | 2 +- - boilerplate/cairo-boilerplate-ps.c | 49 ++++++------ - boilerplate/cairo-boilerplate-qt.cpp | 18 ++--- - boilerplate/cairo-boilerplate-quartz.c | 18 ++--- - boilerplate/cairo-boilerplate-scaled-font.h | 2 +- - boilerplate/cairo-boilerplate-script.c | 30 ++++---- - boilerplate/cairo-boilerplate-skia.c | 18 ++--- - boilerplate/cairo-boilerplate-svg.c | 59 +++++++------- - boilerplate/cairo-boilerplate-system.c | 10 ++- - boilerplate/cairo-boilerplate-system.h | 10 ++- - boilerplate/cairo-boilerplate-test-surfaces.c | 100 ++++++++++++------------ - boilerplate/cairo-boilerplate-vg.c | 36 ++++----- - boilerplate/cairo-boilerplate-wgl.c | 58 +++++++------- - boilerplate/cairo-boilerplate-win32-printing.c | 29 +++---- - boilerplate/cairo-boilerplate-win32.c | 18 ++--- - boilerplate/cairo-boilerplate-xcb.c | 85 +++++++++++---------- - boilerplate/cairo-boilerplate-xlib.c | 90 +++++++++++----------- - boilerplate/cairo-boilerplate.c | 102 +++++++++++++------------ - boilerplate/cairo-boilerplate.h | 44 ++++++----- - perf/cairo-perf-chart.c | 38 ++++++--- - perf/cairo-perf-compare-backends.c | 30 ++++---- - perf/cairo-perf-diff-files.c | 37 +++++---- - perf/cairo-perf-graph-files.c | 73 ++++++++++-------- - perf/cairo-perf-graph-widget.c | 60 +++++++++------ - perf/cairo-perf-graph.h | 8 +- - perf/cairo-perf-micro.c | 82 ++++++++++---------- - perf/cairo-perf-os2.c | 10 +-- - perf/cairo-perf-posix.c | 24 +++--- - perf/cairo-perf-print.c | 5 +- - perf/cairo-perf-report.c | 62 +++++++++------ - perf/cairo-perf-trace.c | 82 +++++++++++--------- - perf/cairo-perf-win32.c | 6 +- - perf/cairo-perf.h | 38 ++++----- - perf/cairo-stats.c | 11 +-- - perf/cairo-stats.h | 6 +- - 42 files changed, 850 insertions(+), 746 deletions(-) - -commit 616e35d1fae703dc118ce503d25d4f57cfd16dfd -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Thu Jun 24 09:44:07 2010 +0300 - - boilerplate: Remove the xlib-window target from Renderless builds. - - I don't know why _cairo_boilerplate_xlib_window_create_surface() - is in the Render-only section of the code, but since it is, this - patch makes the boilerplate at least compile if we don't have - Render support built in. - - boilerplate/cairo-boilerplate-xlib.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit aed744008dbaab49f28f9c54ad0850074ece5d66 -Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk> -Date: Thu Jun 24 05:38:14 2010 -0400 - - test: Fix typo in copyright statement - - test/bug-seams.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 5c7e1dd690af21943435676bfac320cfe863cf55 -Author: Soeren Sandmann <sandmann@daimi.au.dk> -Date: Thu Jun 24 10:11:48 2010 +0100 - - test: Add an example of seams. - - A pair of perfectly conjoint quads should not produce a seam when - accumulating into a temporary mask. Yet here is an example of where they - do! - - test/Makefile.am | 3 ++ - test/Makefile.sources | 1 + - test/bug-seams.c | 98 +++++++++++++++++++++++++++++++++++ - test/bug-seams.ref.png | Bin 0 -> 1604 bytes - test/bug-seams.xlib-fallback.ref.png | Bin 0 -> 2133 bytes - test/bug-seams.xlib.ref.png | Bin 0 -> 1606 bytes - 6 files changed, 102 insertions(+) - -commit 413ec4b708a511eb2f3866165a35d3a8d97bd326 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue Jun 22 23:19:32 2010 +0200 - - gl: Return a surface from _cairo_surface_create_in_error() - - On error, surface creation functions should always return a surface - created with _cairo_surface_create_in_error() instead of a new surface - in an error state. This simplifies internal code as no refcounting has - to be done. - - src/cairo-gl-surface.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit a4e292507cf7c2f960d040edd57b56a976c73da6 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue Jun 22 22:01:25 2010 +0200 - - gl: Propagate surface creation error instead of crashing - - src/cairo-gl-glyphs.c | 22 ++++++++++++++++------ - 1 file changed, 16 insertions(+), 6 deletions(-) - -commit faa4e6761c8f74a1acaa7ccc5bc8bb23b2f5cdb1 -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jun 21 14:01:34 2010 +0200 - - egl: Copy glx code to detect the proper surface in acquire - - src/cairo-egl-context.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit 76a721f7e94fb040f106b200c09c1a7b9ae83d36 -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jun 21 13:30:06 2010 +0200 - - egl: Remove unused prev_foo usage - - src/cairo-egl-context.c | 7 ------- - 1 file changed, 7 deletions(-) - -commit b8051ee985ed46c69f5fba1216ead1ebacecfd44 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 19 18:09:27 2010 +0100 - - script: Pass the buffer length back to freetype. - - After querying the required size, inform the backend of the allocated - size of the buffer. - - src/cairo-script-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8ac9a9df24eefc5f1125db87eb8eda2e94f54070 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 19 13:23:50 2010 +0100 - - xcb: Return the status upon flushing the device. - - The vfunc was updated to expect the status return, so supply it. - - src/cairo-xcb-connection.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit 9fffc0e120df8947c34d9e423c69ab66b763d875 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 19 11:15:13 2010 +0100 - - xlib: Precise and Imprecise were reversed. - - The intention was to switch to imprecise mode by default, using the - exact rendering mode only upon request. - - src/cairo-xlib-surface.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit b322b2e61984c2e9e00fb44343ebe5e423246445 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 19 10:26:05 2010 +0100 - - xlib: Perform image uploads inplace. - - Under the restrictive conditions where we are doing an untransformed - contained upload of an image into a matching surface, perform it in - place. The drivers will attempt to stream such uploads efficiently, far - more so than our code. - - src/cairo-xlib-surface.c | 112 +++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 112 insertions(+) - -commit c3eb95bf6670bbc06ef908481da95f3504c7dc4d -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jun 18 19:26:07 2010 +0200 - - egl: Fail properly if no configs are available instead of crashing - - boilerplate/cairo-boilerplate-egl.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 3908d80f57bc0abef47721a5b8b9afd5041118e3 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jun 18 16:11:20 2010 +0200 - - glx: Remove useless optimization trying to avoid glXMakeCurrent() - - The optimization is not performance-relevant. And having less code is - always a good idea. - - src/cairo-glx-context.c | 19 ++----------------- - 1 file changed, 2 insertions(+), 17 deletions(-) - -commit 64f90322f73c37ac5667292949bb45b0279239d9 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jun 18 12:40:48 2010 +0200 - - gl: Refactor status handling in _cairo_gl_context_release() - - Previously, the code returned a status and required the caller to mangle - this status with his own status. Now, the function takes the previous - status ass an argument and does the mangling itself. - - Also contains fixes for all the callers to actually check the return - value - which is now rather trivial as it just requires passing through - the status variable. - - src/cairo-gl-composite.c | 6 ++---- - src/cairo-gl-device.c | 2 +- - src/cairo-gl-glyphs.c | 14 +++++--------- - src/cairo-gl-gradient.c | 3 ++- - src/cairo-gl-private.h | 14 ++++++++------ - src/cairo-gl-surface.c | 47 +++++++++++++++++++++++++---------------------- - 6 files changed, 43 insertions(+), 43 deletions(-) - -commit fc3d521c121da237974e486f1b7735009764b441 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jun 18 12:23:37 2010 +0200 - - gl: Inline the check_error() function - - src/cairo-gl-private.h | 23 +++++++---------------- - 1 file changed, 7 insertions(+), 16 deletions(-) - -commit 9d7fa289132650261e546b39af2371c262f46d3c -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jun 18 12:18:05 2010 +0200 - - gl: Don't assert if there used to be a GL error - - When acquiring the GL context, do not assert that the GL context is not - in an error state. Do not even call _cairo_error(). Handling GL errors - in other code is not Cairo's responsibility. - - Instead just clear all previous errors so we don't accidentally set - surfaces into error states to unrelated errors. - - src/cairo-gl-private.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 0f9a8cd18f14b1f23aaefe14db3b5ad07c84cff7 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jun 18 12:17:36 2010 +0200 - - gl: Add a custom glGetError() function - - This function clears all errors and returns the first one that happened. - - src/cairo-gl-private.h | 19 ++++++++++++++++--- - 1 file changed, 16 insertions(+), 3 deletions(-) - -commit 8048d3aa0a11ab1c054887682b8b2a899a87da0e -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jun 18 10:50:21 2010 +0200 - - gl: Remove custom fprintf fudging on GL errors - - Now that we probably call _cairo_error() on every GL error, there is no - need to use custom methods to catch those errors. The usual breakpoint - is enough. - - src/cairo-gl-private.h | 7 +------ - src/cairo-gl-surface.c | 20 -------------------- - 2 files changed, 1 insertion(+), 26 deletions(-) - -commit f4da5048bf87df0651ec83ca3f1ad6a5af7eb16d -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jun 18 10:44:15 2010 +0200 - - gl: cairo_warn about return value from cairo_gl_context_release() - - src/cairo-gl-private.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit d9179f480a43c7171806e2c33804aaae70a2cfa6 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jun 18 00:43:09 2010 +0200 - - boilerplate: Reinstate glFinish() for wgl - - It was accidentally disabled. - - boilerplate/cairo-boilerplate-wgl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 67e84d61230a2012c18d8bff60e8835aaa57be07 -Author: Kristian Høgsberg <krh@bitplanet.net> -Date: Thu Jun 17 17:38:00 2010 -0400 - - egl: Implement acquire and release for EGL backend - - src/cairo-egl-context.c | 46 +++++++++++++++++++++++++++++++++++++--------- - 1 file changed, 37 insertions(+), 9 deletions(-) - -commit 7ab9ce1b9130dcd63b2b2b2516b77ef1ae531144 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 17 15:47:04 2010 +0100 - - image: Make a local copy of the trap coordinates as the boxes alias. - - As we transform the array of trapezoids into an array of boxes in-place, - we must take local copies of the coordinates before writing into the - boxes otherwise we may inadvertently modify the trapezoidal coordinates. - - Fixes test/a1-bug. - - src/cairo-image-surface.c | 15 +++++++++++---- - 1 file changed, 11 insertions(+), 4 deletions(-) - -commit f2645fa361003636d1da6ca38c3b61fef1b1ce4d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 17 15:38:53 2010 +0100 - - test: Add a1-bug - - Capture a bug report from "cairouser" where a1 rasterisation is now - broken. - - test/Makefile.am | 3 +++ - test/Makefile.sources | 1 + - test/a1-bug.c | 61 ++++++++++++++++++++++++++++++++++++++++++++ - test/a1-bug.image16.ref.png | Bin 0 -> 3329 bytes - test/a1-bug.ref.png | Bin 0 -> 3736 bytes - test/a1-bug.xlib.ref.png | Bin 0 -> 3362 bytes - 6 files changed, 65 insertions(+) - -commit 800e977c2ea1e097c4b7332b18a5fc03089603c1 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Thu Jun 17 14:27:13 2010 +0300 - - perf: Allow comparing perf reports with only one difference. - - The cairo-perf-diff-files tool would ignore perf reports with - just one test for no apparent reason. The traces take so long - that it's useful to be able to compare runs with just one trace. - - perf/cairo-perf-diff-files.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 29b8cfd2b6cf590fcfe64e5ba5b4479c2748ac06 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 17 10:11:31 2010 +0100 - - test/halo: Remove copied code. - - How did that get there? I obviously ran the test to generate the output, - so where did it spring as it is the old version of the function? - - From 16364768d79570e7201a87f0a985c65acaff5560. - - Mysteries will never cease. - - test/halo.c | 36 ------------------------------------ - 1 file changed, 36 deletions(-) - -commit a9a22649e2ffa1cd3720c8555dc3c6aff2040e3d -Author: Zoxc <zoxc32@gmail.com> -Date: Wed Jun 16 21:33:30 2010 +0200 - - wgl: Only reset GL context on the dummy window. - - This changes the WGL context destruction code to only reset the GL - context for the dummy window, since doing it on <nothing> is an - invalid operation. - - src/cairo-wgl-context.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -commit ca35e09ece5107c3ebc9f111d4a3d96d69aa3d03 -Author: Zoxc <zoxc32@gmail.com> -Date: Mon Jun 14 20:34:52 2010 +0200 - - gl: Added wgl boilerplate and moved the glx and egl boilerplates into their own files. - - boilerplate/Makefile.sources | 4 +- - boilerplate/Makefile.win32.features | 8 + - boilerplate/cairo-boilerplate-egl.c | 141 ++++++++++++ - ...ro-boilerplate-gl.c => cairo-boilerplate-glx.c} | 91 -------- - boilerplate/cairo-boilerplate-wgl.c | 236 +++++++++++++++++++++ - build/Makefile.win32.features-h | 1 + - src/Makefile.win32.features | 8 + - 7 files changed, 397 insertions(+), 92 deletions(-) - -commit 2af3262895d74492a0f856f049d1524a527257bb -Author: Zoxc <zoxc32@gmail.com> -Date: Mon Jun 14 20:33:17 2010 +0200 - - wgl: Renamed hwnd field to wnd. - - src/cairo-wgl-context.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit 7a023a62f7517ad0d54f4d59c99909fadcc05e82 -Author: Nicolaus L Helper <nlhepler@gmail.com> -Date: Thu Jun 17 08:56:30 2010 +0100 - - ft,fc,xlib: LCD filtering patch. - - This adds internal API to retrieve the LCD filtering parameters from - fontconfig, or as set on the Screen, and feed them to FreeType when - rendering the glyph. - - References: - Bug 10301 - LCD filtering patch - https://bugs.freedesktop.org/show_bug.cgi?id=10301 - - Tested-by: Brandon Wright <bearoso@gmail.com> - Forward-ported-by: Robert Hooker <sarvatt@gmail.cm> - - ickle: The API is clearly not ready for public consumption, the enum are - poorly named, however this stands by itself as enabling system wide - properties. - - src/cairo-font-options.c | 51 +++- - src/cairo-ft-font.c | 675 +++++++++++++++++++++++++++++++++------------- - src/cairo-surface.c | 1 + - src/cairo-types-private.h | 25 ++ - src/cairo-xlib-screen.c | 28 ++ - src/cairoint.h | 7 + - 6 files changed, 597 insertions(+), 190 deletions(-) - -commit 36b4b0631cc220d01c411b596a4eef839338cd7c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 17 08:50:31 2010 +0100 - - image: Use consistent rounding modes for a1 rasterisation. - - When checking if the traps are equivalent to a set of rectangles, we - need to use the same rounding mode as when converting the traps to a set - of boxes and then filling them. Failure to do leads to a situation where - (-127,-128) was thought to be equivalent to (0,0) but we attempted to - fill from 0 to -1 instead. - - References: - http://lists.cairographics.org/archives/cairo/2010-June/020115.html - - src/cairo-image-surface.c | 58 ++++++++++++++++++++++++++++------------------- - 1 file changed, 35 insertions(+), 23 deletions(-) - -commit 3306bcb1d91265d60c460aa64d3ee4a4acb430a1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 17 08:47:48 2010 +0100 - - fixed: Refactor code to use more inlines and less duplication of logic. - - This also has the side-effect of fixing the types in the problematic - functions which hid Andrea's true fix for the unsigned FRAC_MASK. - - src/cairo-fixed-private.h | 18 +++++++++++++++--- - 1 file changed, 15 insertions(+), 3 deletions(-) - -commit c0dee7964c4394b7963041f246855fd3b01f4ebb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jun 16 18:49:58 2010 +0100 - - test: Add a1-rasterisation - - Check the rounding criteria when rasterising. - - test/Makefile.am | 2 + - test/Makefile.sources | 1 + - test/a1-rasterisation-rectangles.ref.png | Bin 0 -> 1729 bytes - test/a1-rasterisation-triangles.ref.png | Bin 0 -> 1729 bytes - test/a1-rasterisation.c | 101 +++++++++++++++++++++++++++++++ - 5 files changed, 104 insertions(+) - -commit 16364768d79570e7201a87f0a985c65acaff5560 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jun 16 15:09:22 2010 +0100 - - test/halo: Transformation seems key to the bug... - - test/halo.c | 36 ++++++++++++++++++++++++++++++++++++ - 1 file changed, 36 insertions(+) - -commit cb28e0bfeb47a72f14ee42f161ebf6b5eb61e76b -Author: Andrea Canciani <ranma42@gmail.com> -Date: Thu Jun 17 08:42:39 2010 +0200 - - test: correct options in getopt call - - 'k' was missing and 't' was present but unhandled. Options have been - reordered according to the "USAGE" ordering. - - test/cairo-test-runner.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3cd07559328b60e3da85debb805cb4a3fc4abc22 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Wed Jun 16 22:54:08 2010 +0200 - - correct rounding computation - - cairo_fixed_integer_round[_down] were adding an unsigned mask value - before shifting its result, causing the shift to be computed as - logical (unsigned) right shift, thus producing incorrect values for - negative inputs. Making the mask value signed fixes this issue. - - Bug report by cu: - http://lists.cairographics.org/archives/cairo/2010-June/020115.html - - src/cairo-fixed-private.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8689d75caaa9c6ee42976873d21684fa9f48834f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jun 16 15:09:22 2010 +0100 - - test/halo: Transformation seems key to the bug... - - Only it is actually transformation of the result that is required in - order to magnify the effect to a detectable level. - - test/Makefile.am | 5 +++ - test/halo-transform.image16.ref.png | Bin 0 -> 10983 bytes - test/halo-transform.ps.ref.png | Bin 0 -> 8691 bytes - test/halo-transform.ref.png | Bin 0 -> 15086 bytes - test/halo-transform.xlib.ref.png | Bin 0 -> 15346 bytes - test/halo.c | 64 ++++++++++++++++++++++++++++++++++-- - test/halo.image16.ref.png | Bin 5328 -> 6172 bytes - test/halo.ps.ref.png | Bin 0 -> 5220 bytes - test/halo.ref.png | Bin 7524 -> 8839 bytes - test/halo.xlib.ref.png | Bin 7404 -> 8835 bytes - 10 files changed, 67 insertions(+), 2 deletions(-) - -commit 71936a1f414807a51c68de111362c2d5499bdfa7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jun 15 21:36:15 2010 +0100 - - test/aliasing: Add a few more colour combinations. - - In particular, compare red against its inverse, cyan. Etc. - - test/aliasing.c | 6 +++++- - test/aliasing.image16.ref.png | Bin 20810 -> 97251 bytes - test/aliasing.ref.png | Bin 22980 -> 104672 bytes - test/aliasing.xlib.ref.png | Bin 24018 -> 104315 bytes - 4 files changed, 5 insertions(+), 1 deletion(-) - -commit e2220a1f3a7b483e615f5bb993a014d20b0f788a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jun 15 11:45:54 2010 +0100 - - configure: Try an alternate name for system glew. - - configure.ac | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -commit 25ec0c1e9b5af2ba68200b79b252de5c1b371d0a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jun 15 10:59:01 2010 +0100 - - build: Enable system GLEW on non-UNIX platforms - - configure.ac | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -commit 52624446636bb5941ca2180afa2c0be275414cec -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jun 15 10:40:36 2010 +0100 - - glew: Define NULL - - src/glew/glew.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 56d06b088b9c355ca76a38191717a8e03aa5f59a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jun 14 22:58:38 2010 +0100 - - test: Add an aliasing test case. - - Just a simple test in drawing neighbouring edges and looking for the - effects of aliasing. - - test/Makefile.am | 3 ++ - test/Makefile.sources | 1 + - test/aliasing.c | 98 ++++++++++++++++++++++++++++++++++++++++++ - test/aliasing.image16.ref.png | Bin 0 -> 20810 bytes - test/aliasing.ref.png | Bin 0 -> 22980 bytes - test/aliasing.xlib.ref.png | Bin 0 -> 24018 bytes - 6 files changed, 102 insertions(+) - -commit 4b39f02bf7e8b4921518db4a2d8564514cb323a9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jun 14 20:38:26 2010 +0100 - - test: Add halo - - halo uses text_path + stroke + (fill | show_text) to generate a "halo" - around the string. This is to try to replicate a bug described by Ian - Britten in the PDF backend where the rendering of the show_text looked - distorted compared to the stroke. - - test/Makefile.am | 3 ++ - test/Makefile.sources | 1 + - test/halo.c | 98 ++++++++++++++++++++++++++++++++++++++++++++++ - test/halo.image16.ref.png | Bin 0 -> 5328 bytes - test/halo.ref.png | Bin 0 -> 7524 bytes - test/halo.xlib.ref.png | Bin 0 -> 7404 bytes - 6 files changed, 102 insertions(+) - -commit 072a200ec502bf5ac3e62702e6f14ed18171b1e0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jun 14 16:05:14 2010 +0100 - - build: Add wgl to Makefile.sources and regenerate features. - - boilerplate/Makefile.win32.features | 10 ++++++++++ - build/Makefile.win32.features | 1 + - build/Makefile.win32.features-h | 3 +++ - src/Makefile.sources | 6 ++++-- - src/Makefile.win32.features | 14 ++++++++++++++ - 5 files changed, 32 insertions(+), 2 deletions(-) - -commit 4a0bd91ff77c8afddde6d09495bc9ca7242f953d -Author: Dmitri Vorobiev <dmitri.vorobiev@movial.com> -Date: Mon Jun 14 16:40:39 2010 +0300 - - scaled-font: fine-tune caching - - This patch implements the ideas outlined by Behdad Esfahbod in the following - mailing list message: - - http://lists.cairographics.org/archives/cairo/2010-June/020065.html - - Specifically, two things have been adjusted. First, the size of the look-up - table was reduced to 64. Second, cache codepath is now bypassed for strings - that are shorter than 16, not only for one-character strings. This allowed - us to reduce the LUT initialization overhead while still retaining the - advantage of caching for common-case string sizes. - - We have experimented with different LUT sizes, and it came out that the size - of 64 is the best one in view of speed, at least for our language-neutral - benchmark, which generated random strings of printable ASCII characters. - - Below is a table presenting benchmark results for different values of LUT - size: - - =============================================================================== - Benchmark | [1] | [2] | [3] | [4] | [5] | [6] | [7] - =============================================================================== - 8px text, 1 chars | 0.41 | 0.41 | 0 | 0.41 | 0 | 0.41 | 0 - 8px text, 10 chars | 2.13 | 2.21 | 3.76 | 2.19 | 2.82 | 2.09 | -1.88 - 8px text, 20 chars | 2.97 | 3.04 | 2.36 | 3.01 | 1.35 | 2.98 | 0.34 - 12px text, 1 chars | 0.94 | 0.94 | 0 | 0.95 | 1.06 | 0.94 | 0 - 12px text, 10 chars | 4.73 | 4.89 | 3.38 | 4.9 | 3.59 | 4.82 | 1.9 - 12px text, 20 chars | 6.32 | 6.42 | 1.58 | 6.46 | 2.22 | 6.32 | 0 - 16px text, 1 chars | 1.75 | 1.76 | 0.57 | 1.77 | 1.14 | 1.76 | 0.57 - 16px text, 10 chars | 8.13 | 8.45 | 3.94 | 8.43 | 3.69 | 8.44 | 3.81 - 16px text, 20 chars | 10.41 | 10.69 | 2.69 | 10.64 | 2.21 | 10.65 | 2.31 - 24px text, 1 chars | 3.3 | 3.3 | 0 | 3.32 | 0.61 | 3.3 | 0 - 24px text, 10 chars | 14.68 | 14.97 | 1.98 | 14.97 | 1.98 | 14.87 | 1.29 - 24px text, 20 chars | 17.93 | 18.01 | 0.45 | 18.06 | 0.73 | 17.81 | -0.67 - 96px text, 1 chars | 23.65 | 23.38 | -1.14 | 23.74 | 0.38 | 23.65 | 0 - 96px text, 5 chars | 50.52 | 51.34 | 1.62 | 51.48 | 1.9 | 51.41 | 1.76 - 96px text, 10 chars | 57.5 | 58.11 | 1.06 | 58.27 | 1.34 | 58.04 | 0.94 - =============================================================================== - - [1]: Git head, Mpix/s - [2]: {GLYPH_LUT_SIZE = 32, CACHING_THRESHOLD = 16} - [3]: Gain of {32, 16} w.r.t. Git head - [4]: {GLYPH_LUT_SIZE = 64, CACHING_THRESHOLD = 16} - [5]: Gain of {64, 16} w.r.t. Git head - [6]: {GLYPH_LUT_SIZE = 128, CACHING_THRESHOLD = 16} - [7]: Gain of {128, 16} w.r.t. Git head - - The benchmark itself can be found from this mailing list message: - - http://lists.cairographics.org/archives/cairo/2010-June/020064.html - - src/cairo-scaled-font.c | 61 ++++++++++++++++++++++++++++++++++++------------- - 1 file changed, 45 insertions(+), 16 deletions(-) - -commit 505a0456d2498112155db7e7f275a14dc98f643e -Author: Zoxc <zoxc32@gmail.com> -Date: Mon Jun 14 01:20:54 2010 +0200 - - gl: Added WGL context and surface. - - build/configure.ac.features | 1 + - configure.ac | 9 ++ - src/cairo-gl.h | 16 +++ - src/cairo-wgl-context.c | 253 ++++++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 279 insertions(+) - -commit fd6c38b9e006feefa20ce4f54d3108dad51c828d -Author: Zoxc <zoxc32@gmail.com> -Date: Mon Jun 14 01:04:10 2010 +0200 - - win32: Fixed compile errors in Windows backend. - - src/cairo-win32-printing-surface.c | 9 ++++----- - src/cairo-win32-surface.c | 4 ++-- - 2 files changed, 6 insertions(+), 7 deletions(-) - -commit 5f10139cd92383c657e328ffad41874c4f668551 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jun 13 12:33:10 2010 +0100 - - NEWS: A couple more tweaks - - I only spotted these in the release announcement. - - NEWS | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 4932aaa3173799c8f3ac30e4c9a594c20c83a121 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jun 13 12:02:53 2010 +0100 - - version: 1.9.9 - - Post-snapshot bump. - - cairo-version.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3a20b10cd0d94406fbd5fe3bb3d4820a95364537 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jun 13 10:27:03 2010 +0100 - - version: 1.9.8 - - Snapshot time! - - cairo-version.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b612a230865a1a62f9cdcb051de9b57b509646b2 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Sun Jun 13 12:29:24 2010 +0200 - - test: update quartz ref images in makefile - - test/Makefile.am | 143 ++++++++++++++++++++++++++++++++++++++++++------------- - 1 file changed, 109 insertions(+), 34 deletions(-) - -commit 0693af2328606a4c7e4c888d2a1cd346e6bef405 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jun 13 10:22:37 2010 +0100 - - test: Move all output below test/output/ - - make distcheck complains of remanents being left under test/ after a - clean, notably the files used to check the capabilities of a similar - surface and the fallback-resolution output. - - test/cairo-test.c | 53 ++++++++++++++++++++++++++-------------------- - test/fallback-resolution.c | 30 ++++++++++++++++++++++---- - 2 files changed, 56 insertions(+), 27 deletions(-) - -commit ffc3a39c95e918fa2fcd14c1b1063b9a9acceebf -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 12 20:04:36 2010 +0100 - - NEWS: Minor tweaks. - - NEWS | 46 +++++++++++++++++++++++----------------------- - 1 file changed, 23 insertions(+), 23 deletions(-) - -commit b6e16b8d2950cdadf2e2b14b0e7502d4a9ebdc09 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Sat Jun 12 10:33:35 2010 +0200 - - test: quartz ref image refresh - - test/a1-image-sample.quartz.xfail.png | Bin 0 -> 972 bytes - test/a1-mask-sample.quartz.xfail.png | Bin 0 -> 972 bytes - test/a1-traps-sample.quartz.xfail.png | Bin 0 -> 122 bytes - test/big-line.quartz.ref.png | Bin 0 -> 993 bytes - test/caps-joins-curve.quartz.ref.png | Bin 0 -> 5199 bytes - test/clear.quartz.argb32.ref.png | Bin 0 -> 691 bytes - test/clear.quartz.rgb24.ref.png | Bin 0 -> 606 bytes - test/clip-disjoint.quartz.ref.png | Bin 0 -> 5476 bytes - test/clip-fill-rule.quartz.rgb24.ref.png | Bin 0 -> 363 bytes - test/clip-fill-unbounded.quartz.argb32.ref.png | Bin 0 -> 1436 bytes - test/clip-fill-unbounded.quartz.rgb24.ref.png | Bin 0 -> 1368 bytes - test/clip-fill.quartz.ref.png | Bin 0 -> 875 bytes - test/clip-group-shapes-circles.quartz.ref.png | Bin 0 -> 1518 bytes - ....ref.png => clip-nesting.quartz.argb32.ref.png} | Bin 1067 -> 1048 bytes - test/clip-nesting.quartz.rgb24.ref.png | Bin 956 -> 937 bytes - test/clip-operator.quartz.argb32.ref.png | Bin 0 -> 9586 bytes - test/clip-operator.quartz.ref.png | Bin 9539 -> 0 bytes - test/clip-operator.quartz.rgb24.ref.png | Bin 4412 -> 4104 bytes - test/clip-push-group.quartz.ref.png | Bin 203 -> 166 bytes - test/clip-shape.quartz.ref.png | Bin 0 -> 3229 bytes - test/clip-stroke-unbounded.quartz.argb32.ref.png | Bin 0 -> 1493 bytes - test/clip-stroke-unbounded.quartz.rgb24.ref.png | Bin 0 -> 1356 bytes - test/clip-stroke.quartz.ref.png | Bin 0 -> 1305 bytes - test/clip-text.quartz.ref.png | Bin 0 -> 854 bytes - test/clip-twice.quartz.argb32.ref.png | Bin 0 -> 1171 bytes - test/clip-twice.quartz.ref.png | Bin 1171 -> 0 bytes - test/clip-twice.quartz.rgb24.ref.png | Bin 1111 -> 1095 bytes - test/clipped-group.quartz.ref.png | Bin 0 -> 308 bytes - test/culled-glyphs.quartz.ref.png | Bin 0 -> 493 bytes - test/dash-caps-joins.quartz.ref.png | Bin 4727 -> 0 bytes - test/dash-caps-joins.quartz.xfail.png | Bin 0 -> 4446 bytes - test/dash-curve.quartz.ref.png | Bin 47965 -> 0 bytes - test/dash-curve.quartz.xfail.png | Bin 0 -> 42238 bytes - test/dash-scale.quartz.ref.png | Bin 8079 -> 7614 bytes - test/dash-state.quartz.ref.png | Bin 8698 -> 0 bytes - test/dash-state.quartz.xfail.png | Bin 0 -> 6957 bytes - test/degenerate-arc.quartz.ref.png | Bin 0 -> 552 bytes - test/degenerate-curve-to.quartz.ref.png | Bin 0 -> 247 bytes - test/degenerate-dash.quartz.xfail.png | Bin 0 -> 1560 bytes - test/degenerate-path.quartz.argb32.xfail.png | Bin 0 -> 200 bytes - test/degenerate-path.quartz.ref.png | Bin 232 -> 0 bytes - test/degenerate-path.quartz.rgb24.ref.png | Bin 198 -> 0 bytes - test/degenerate-path.quartz.rgb24.xfail.png | Bin 0 -> 172 bytes - test/degenerate-pen.quartz.ref.png | Bin 1144 -> 0 bytes - test/degenerate-rel-curve-to.quartz.ref.png | Bin 0 -> 246 bytes - test/extend-pad-border.quartz.ref.png | Bin 0 -> 432 bytes - test/extend-pad-similar.quartz.xfail.png | Bin 0 -> 270 bytes - test/extend-pad.quartz.xfail.png | Bin 0 -> 270 bytes - test/fill-alpha-pattern.quartz.ref.png | Bin 0 -> 7943 bytes - test/fill-alpha.quartz.ref.png | Bin 0 -> 2704 bytes - test/fill-and-stroke-alpha-add.quartz.ref.png | Bin 603 -> 542 bytes - test/fill-and-stroke-alpha.quartz.ref.png | Bin 550 -> 0 bytes - test/fill-and-stroke.quartz.argb32.ref.png | Bin 0 -> 273 bytes - test/fill-and-stroke.quartz.ref.png | Bin 286 -> 0 bytes - test/fill-and-stroke.quartz.rgb24.ref.png | Bin 264 -> 249 bytes - ...ill-degenerate-sort-order.quartz.argb32.ref.png | Bin 0 -> 2451 bytes - test/fill-degenerate-sort-order.quartz.ref.png | Bin 2470 -> 0 bytes - ...fill-degenerate-sort-order.quartz.rgb24.ref.png | Bin 2098 -> 2079 bytes - test/fill-image.quartz.ref.png | Bin 0 -> 1297 bytes - ...rtz.ref.png => fill-rule.quartz.argb32.ref.png} | Bin 2079 -> 2060 bytes - test/fill-rule.quartz.rgb24.ref.png | Bin 1790 -> 1771 bytes - test/filter-bilinear-extents.quartz.xfail.png | Bin 0 -> 308 bytes - test/filter-nearest-offset.quartz.xfail.png | Bin 0 -> 2130 bytes - test/filter-nearest-transformed.quartz.xfail.png | Bin 0 -> 534 bytes - test/finer-grained-fallbacks.quartz.argb32.ref.png | Bin 0 -> 988 bytes - test/finer-grained-fallbacks.quartz.rgb24.ref.png | Bin 0 -> 763 bytes - test/font-matrix-translation.quartz.ref.png | Bin 1090 -> 996 bytes - test/ft-show-glyphs-table.quartz.xfail.png | Bin 0 -> 827 bytes - .../ft-text-vertical-layout-type1.quartz.xfail.png | Bin 0 -> 3635 bytes - test/ft-text-vertical-layout-type3.quartz.ref.png | Bin 0 -> 3573 bytes - test/glyph-cache-pressure.quartz.ref.png | Bin 3654 -> 3284 bytes - test/gradient-constant-alpha.quartz.argb32.ref.png | Bin 0 -> 214 bytes - test/group-unaligned.quartz.ref.png | Bin 0 -> 363 bytes - test/huge-radial.quartz.ref.png | Bin 0 -> 84690 bytes - test/inverse-text.quartz.ref.png | Bin 0 -> 2565 bytes - test/joins.quartz.ref.png | Bin 0 -> 5833 bytes - test/leaky-dash.quartz.ref.png | Bin 241 -> 195 bytes - test/leaky-dashed-rectangle.quartz.ref.png | Bin 0 -> 339 bytes - test/leaky-dashed-stroke.quartz.ref.png | Bin 0 -> 9229 bytes - test/line-width-scale.quartz.ref.png | Bin 6434 -> 5623 bytes - test/linear-gradient-reflect.quartz.ref.png | Bin 878 -> 780 bytes - test/linear-gradient-subset.quartz.ref.png | Bin 0 -> 887 bytes - test/linear-gradient.quartz.ref.png | Bin 1164 -> 1060 bytes - test/long-dashed-lines.quartz.ref.png | Bin 2313 -> 2068 bytes - test/mask-alpha.quartz.argb32.ref.png | Bin 641 -> 622 bytes - test/mask-transformed-image.quartz.ref.png | Bin 0 -> 3909 bytes - test/mask-transformed-similar.quartz.ref.png | Bin 0 -> 3909 bytes - test/mask.quartz.argb32.ref.png | Bin 0 -> 10575 bytes - test/mask.quartz.ref.png | Bin 10682 -> 0 bytes - test/mask.quartz.rgb24.ref.png | Bin 8418 -> 8354 bytes - test/new-sub-path.quartz.ref.png | Bin 383 -> 370 bytes - test/new-sub-path.quartz.rgb24.ref.png | Bin 357 -> 0 bytes - test/operator-clear.quartz.argb32.ref.png | Bin 0 -> 1228 bytes - test/operator-clear.quartz.ref.png | Bin 1459 -> 0 bytes - test/operator-clear.quartz.rgb24.ref.png | Bin 1293 -> 1096 bytes - test/operator-source.quartz.argb32.ref.png | Bin 0 -> 4754 bytes - test/operator-source.quartz.ref.png | Bin 4637 -> 0 bytes - test/operator-source.quartz.rgb24.ref.png | Bin 3533 -> 3535 bytes - test/over-above-source.quartz.argb32.ref.png | Bin 0 -> 511 bytes - test/over-above-source.quartz.ref.png | Bin 530 -> 0 bytes - test/over-above-source.quartz.rgb24.ref.png | Bin 456 -> 437 bytes - ...ng => over-around-source.quartz.argb32.ref.png} | Bin 612 -> 593 bytes - test/over-around-source.quartz.rgb24.ref.png | Bin 491 -> 0 bytes - ...g => over-between-source.quartz.argb32.ref.png} | Bin 570 -> 551 bytes - test/over-between-source.quartz.rgb24.ref.png | Bin 467 -> 0 bytes - test/path-append.quartz.ref.png | Bin 0 -> 6395 bytes - test/pthread-same-source.quartz.xfail.png | Bin 0 -> 957 bytes - test/pthread-show-text.quartz.ref.png | Bin 0 -> 42996 bytes - test/push-group-color.quartz.ref.png | Bin 0 -> 3127 bytes - test/push-group.quartz.argb32.ref.png | Bin 0 -> 3932 bytes - test/push-group.quartz.rgb24.ref.png | Bin 0 -> 3659 bytes - test/radial-gradient.quartz.ref.png | Bin 92334 -> 0 bytes - test/random-intersections-curves-eo.quartz.ref.png | Bin 0 -> 326366 bytes - test/random-intersections-curves-nz.quartz.ref.png | Bin 0 -> 324940 bytes - test/random-intersections-eo.quartz.ref.png | Bin 197778 -> 179179 bytes - test/random-intersections-nonzero.quartz.ref.png | Bin 0 -> 180871 bytes - ...recording-surface-pattern.quartz.argb32.ref.png | Bin 0 -> 4570 bytes - test/recording-surface-pattern.quartz.ref.png | Bin 4572 -> 0 bytes - .../recording-surface-pattern.quartz.rgb24.ref.png | Bin 4063 -> 4058 bytes - test/rectilinear-dash.quartz.xfail.png | Bin 0 -> 494 bytes - test/rectilinear-stroke.quartz.xfail.png | Bin 0 -> 209 bytes - test/reflected-stroke.quartz.ref.png | Bin 5293 -> 0 bytes - test/rel-path.quartz.ref.png | Bin 212 -> 0 bytes - test/rel-path.quartz.rgb24.ref.png | Bin 228 -> 0 bytes - test/rotate-image-surface-paint.quartz.ref.png | Bin 257 -> 356 bytes - test/rotated-clip.quartz.ref.png | Bin 0 -> 3923 bytes - test/rounded-rectangle-fill.quartz.ref.png | Bin 0 -> 684 bytes - test/scale-offset-image.quartz.ref.png | Bin 0 -> 9054 bytes - test/scale-offset-similar.quartz.ref.png | Bin 0 -> 9054 bytes - test/select-font-face.quartz.ref.png | Bin 2970 -> 2645 bytes - test/self-intersecting.quartz.xfail.png | Bin 0 -> 233 bytes - test/show-text-current-point.quartz.ref.png | Bin 3093 -> 2773 bytes - test/smask-fill.quartz.ref.png | Bin 0 -> 2076 bytes - test/smask-mask.quartz.ref.png | Bin 0 -> 3357 bytes - test/smask-paint.quartz.ref.png | Bin 0 -> 3499 bytes - test/smask-stroke.quartz.ref.png | Bin 0 -> 1697 bytes - test/smask-text.quartz.ref.png | Bin 0 -> 1904 bytes - test/smask.quartz.ref.png | Bin 0 -> 4067 bytes - test/source-clip-scale.quartz.ref.png | Bin 148 -> 126 bytes - test/spline-decomposition.quartz.xfail.png | Bin 0 -> 19560 bytes - test/stroke-ctm-caps.quartz.ref.png | Bin 1109 -> 899 bytes - test/stroke-image.quartz.ref.png | Bin 1802 -> 1350 bytes - test/subsurface-pad.quartz.xfail.png | Bin 0 -> 197 bytes - test/surface-pattern-big-scale-down.quartz.ref.png | Bin 0 -> 258 bytes - ...urface-pattern-operator.quartz.argb32.xfail.png | Bin 0 -> 5917 bytes - ...surface-pattern-operator.quartz.rgb24.xfail.png | Bin 0 -> 2546 bytes - ...e-pattern-scale-down-extend-none.quartz.ref.png | Bin 0 -> 391 bytes - ...-pattern-scale-down-extend-pad.quartz.xfail.png | Bin 0 -> 397 bytes - ...attern-scale-down-extend-reflect.quartz.ref.png | Bin 0 -> 475 bytes - ...pattern-scale-down-extend-repeat.quartz.ref.png | Bin 0 -> 397 bytes - test/surface-pattern-scale-down.quartz.ref.png | Bin 3188 -> 2276 bytes - test/surface-pattern-scale-up.quartz.xfail.png | Bin 0 -> 3294 bytes - test/surface-pattern.quartz.xfail.png | Bin 0 -> 9216 bytes - test/text-antialias-gray.quartz.ref.png | Bin 1041 -> 956 bytes - test/text-antialias-none.quartz.ref.png | Bin 300 -> 270 bytes - test/text-antialias-subpixel.quartz.ref.png | Bin 1065 -> 949 bytes - test/text-glyph-range.quartz.ref.png | Bin 0 -> 2191 bytes - test/text-pattern.quartz.argb32.ref.png | Bin 0 -> 2148 bytes - test/text-pattern.quartz.ref.png | Bin 2158 -> 0 bytes - test/text-pattern.quartz.rgb24.ref.png | Bin 1874 -> 1867 bytes - test/text-rotate.quartz.ref.png | Bin 17820 -> 16655 bytes - test/trap-clip.quartz.argb32.ref.png | Bin 0 -> 6060 bytes - test/trap-clip.quartz.ref.png | Bin 6041 -> 0 bytes - test/trap-clip.quartz.rgb24.ref.png | Bin 5385 -> 5694 bytes - test/unantialiased-shapes.quartz.ref.png | Bin 4394 -> 3868 bytes - test/unbounded-operator.quartz.ref.png | Bin 4066 -> 0 bytes - test/unbounded-operator.quartz.rgb24.ref.png | Bin 1918 -> 0 bytes - test/user-font-proxy.quartz.ref.png | Bin 0 -> 19795 bytes - test/user-font-rescale.quartz.ref.png | Bin 0 -> 15982 bytes - test/user-font.quartz.ref.png | Bin 0 -> 5960 bytes - test/xcomposite-projection.quartz.ref.png | Bin 0 -> 639 bytes - 171 files changed, 0 insertions(+), 0 deletions(-) - -commit 0d5a15f23812575c80db44ca23075293cc0dbfad -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 12 20:00:24 2010 +0100 - - check: Disable running cairo-perf-micro - - Since this takes days to run now and should not find any bugs that are - not covered by the test-suite it seems like a pointless exercise. - Especially as I am trying to make a release! - - perf/Makefile.am | 15 ++++----------- - 1 file changed, 4 insertions(+), 11 deletions(-) - -commit e9fb39daee9ef3f80e4aedbda68027b36ce94fe3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 12 19:40:42 2010 +0100 - - NEWS: take two. - - NEWS | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----- - 1 file changed, 75 insertions(+), 6 deletions(-) - -commit 62899e5e23a798bb3e9b60c9e793555e973b7823 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 12 18:51:31 2010 +0100 - - NEWS: Boring stub for 1.9.10. - - NEWS | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - -commit fc372b1d9dea1ed4cb4229eaaad62a2d8e112a03 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 12 16:50:30 2010 +0100 - - test: Missing ref images - - test/Makefile.am | 8 ++++---- - test/coverage-triangles.xlib.xfail.png | Bin 0 -> 15859 bytes - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit 8737bc8b17ff0c437bb57df018bb7c540a394a7c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 12 16:49:46 2010 +0100 - - gl: start returning the failure status aftern an invalid GL op. - - src/cairo-gl-composite.c | 1 + - src/cairo-gl-device.c | 26 +++++++++++++++++++------- - src/cairo-gl-glyphs.c | 10 +++++++--- - src/cairo-gl-private.h | 45 ++++++++++++++++++++++++++++++++++----------- - src/cairo-gl-surface.c | 40 +++++++++++++++++++++++++--------------- - 5 files changed, 86 insertions(+), 36 deletions(-) - -commit 5b2f90bf532184e46829de4b2e2f9d0b10c1ff81 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 12 16:49:11 2010 +0100 - - test: Forgotten ref image. - - test/clipped-group.xlib-fallback.ref.png | Bin 0 -> 344 bytes - 1 file changed, 0 insertions(+), 0 deletions(-) - -commit cdd6f11716e3fbe579d68161caec220c7852fdff -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 12 15:44:29 2010 +0100 - - test: Record the expected failure mode for partial-coverage-intersecting-quads - - As the diagonals of the quad intersect below the limits of Cairo's fixed - point, we fail to take heed of the intersection. - - test/Makefile.am | 1 + - test/partial-coverage-intersecting-quads.xfail.png | Bin 0 -> 262 bytes - 2 files changed, 1 insertion(+) - -commit 3d72b4aa70d106b5da093e6405c7e3890fa343cf -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 12 15:32:31 2010 +0100 - - test/coverage: The comment was still wrong. - - Writing comments is hard. I give in. - - test/coverage.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e6d1b3a8ce0b516aed7715b57d9ca5ab4fad6c2f -Author: Andrea Canciani <ranma42@gmail.com> -Date: Sat Jun 12 16:22:54 2010 +0200 - - test: update font family name - - Update the name of the test font family to DejaVu, so that backends - unable to rely on fontconfig to match font names can find the correct - font anyway. - - test/README | 10 +++++----- - test/cairo-test.h | 2 +- - 2 files changed, 6 insertions(+), 6 deletions(-) - -commit 3cb882d01b53cb3cec9be62d678dd4ef7ea2c1fd -Author: Andrea Canciani <ranma42@gmail.com> -Date: Sat Jun 12 16:20:37 2010 +0200 - - test: make test font family a define - - In order to make it easier to change the test font family, add it - as a define in the global header and always reference the macro in - the tests. - - test/cairo-test.h | 2 ++ - test/clip-all.c | 2 +- - test/clip-empty-save.c | 2 +- - test/clip-empty.c | 2 +- - test/clip-operator.c | 2 +- - test/font-face-get-type.c | 2 +- - test/font-matrix-translation.c | 2 +- - test/ft-show-glyphs-positioning.c | 2 +- - test/ft-show-glyphs-table.c | 2 +- - test/ft-text-antialias-none.c | 2 +- - test/ft-text-vertical-layout-type3.c | 2 +- - test/get-path-extents.c | 2 +- - test/glyph-cache-pressure.c | 2 +- - test/inverse-text.c | 6 +++--- - test/large-font.c | 2 +- - test/operator-clear.c | 2 +- - test/operator-source.c | 2 +- - test/overlapping-glyphs.c | 2 +- - test/pdf-features.c | 2 +- - test/ps-features.c | 2 +- - test/select-font-face.c | 6 +++--- - test/select-font-no-show-text.c | 2 +- - test/show-text-current-point.c | 2 +- - test/smask-text.c | 2 +- - test/smask.c | 2 +- - test/text-antialias-gray.c | 2 +- - test/text-antialias-none.c | 2 +- - test/text-antialias-subpixel.c | 2 +- - test/text-glyph-range.c | 2 +- - test/text-pattern.c | 2 +- - test/text-rotate.c | 2 +- - test/text-transform.c | 2 +- - test/text-zero-len.c | 2 +- - test/unbounded-operator.c | 2 +- - test/user-font-rescale.c | 6 +++--- - 35 files changed, 42 insertions(+), 40 deletions(-) - -commit b1e4df928fb59ee295830d5c0fa26330714f88f2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 12 15:28:28 2010 +0100 - - test/coverage: Refine comments - - Joonas didn't like me putting incorrect labels in my comments. Said they - were misleading and worse than useless. Harsh. - - test/coverage.c | 20 +++++++++++++------- - 1 file changed, 13 insertions(+), 7 deletions(-) - -commit 968374b6335199cbf02c8c4733537388da2a45f5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 12 15:14:17 2010 +0100 - - test/coverage: Add a comment describing the column_triangle geometry() - - test/coverage.c | 20 ++++++++++++++++++++ - 1 file changed, 20 insertions(+) - -commit 299263f8c912d3468d51ed22bcb6ab96275709f0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 12 13:48:12 2010 +0100 - - test: Disable tests that are too slow to run by default. - - Introduce a slow mode [-s] to the runner, and add "slow" to the - requirements for the very long running tests like the coverage stress - tests. - - test/cairo-test-runner.c | 17 +++++++++++++++-- - test/coverage.c | 12 ++++++------ - test/half-coverage.c | 4 ++-- - test/mask-glyphs.c | 2 +- - test/partial-coverage.c | 16 ++++++++-------- - 5 files changed, 32 insertions(+), 19 deletions(-) - -commit 53139261c7ba1a4cc0b869cb48c136b0362a3b0c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 12 13:40:17 2010 +0100 - - test: Use exact matching on test names by default. - - Specifying individual tests to run is more common than using a group - chosen from a keyword, so change the default matching mode and introduce - '-k' to select by keyword. - - test/cairo-test-runner.c | 45 ++++++++++++++++++++++----------------------- - 1 file changed, 22 insertions(+), 23 deletions(-) - -commit 97288b0859bae6cea1e3bff84b632e00f1d10917 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 12 13:34:27 2010 +0100 - - test: More minute geometry exercised by partial-coverage. - - Moving beyond the capabilities of cairo... - - test/Makefile.am | 2 + - test/partial-coverage-intersecting-quads.ref.png | Bin 0 -> 189 bytes - ...partial-coverage-intersecting-triangles.ref.png | Bin 0 -> 202 bytes - test/partial-coverage.c | 131 +++++++++++++++++++++ - 4 files changed, 133 insertions(+) - -commit 4e3ef57bc892b0b046c486390adc7164a1de64de -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 12 13:18:42 2010 +0100 - - test: More coverage coverage. - - A couple of different shapes that aim to test the tessellation side of - the rasterisers more... And worryingly there does seem to be an - unexpected systematic error. - - test/Makefile.am | 8 + - test/coverage-column-triangles.ref.png | Bin 0 -> 208 bytes - test/coverage-column-triangles.xlib.xfail.png | Bin 0 -> 12745 bytes - test/coverage-intersecting-quads.ref.png | Bin 0 -> 253 bytes - test/coverage-intersecting-quads.xlib.xfail.png | Bin 0 -> 15296 bytes - test/coverage-intersecting-triangles.ref.png | Bin 0 -> 209 bytes - .../coverage-intersecting-triangles.xlib.xfail.png | Bin 0 -> 16728 bytes - test/coverage-row-triangles.ref.png | Bin 0 -> 208 bytes - test/coverage-row-triangles.xlib.xfail.png | Bin 0 -> 12671 bytes - test/coverage.c | 249 ++++++++++++++++++++- - 10 files changed, 251 insertions(+), 6 deletions(-) - -commit 9b7cc7641b691a3b9e3d5edd51053c9a095d9c5a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 12 10:41:09 2010 +0100 - - cairo: Create error objects for cairo_t - - Perform an early check for error status and prevent creation of a full - object. This means that we do not pass down error objects to the - initialisation routines and so can survive without paranoia inside the - library. It also has brings consistency that like the other - constructors, no object is created in error and we can skip the - cairo_destroy() if we choose (and we don't waste one of the precious - zero-alloc context slots. - - Fixes crash in test/a8-mask introduced by 1a544361e845. - - src/cairo-debug.c | 2 ++ - src/cairo-mutex-list-private.h | 1 + - src/cairo.c | 76 ++++++++++++++++++++++++++++++++++++------ - src/cairoint.h | 3 ++ - 4 files changed, 71 insertions(+), 11 deletions(-) - -commit 9b6617a3b3b31d52e6646400b16ec56c754bfebd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 11 21:58:34 2010 +0100 - - image: Apply component alpha to composite masks. - - If we need to pattern requires component alpha, then we must take a - copy of the image and enable component alpha for pixman. - - Fixes test/text-antialias-subpixel on xlib-fallback -- i.e. we will - finally render subpixel antialiased text on ancient XServers. - - src/cairo-image-surface.c | 40 ++++++++++++++++++++++++---------------- - 1 file changed, 24 insertions(+), 16 deletions(-) - -commit 7440fc07f77b112b00957f5459129dba23a5683f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 11 21:29:02 2010 +0100 - - test: xlib ref image refresh - - test/Makefile.am | 26 +++++++++++++++------ - ...clip-fill-unbounded.xlib-fallback.rgb24.ref.png | Bin 1429 -> 1438 bytes - test/clip-fill-unbounded.xlib.argb32.ref.png | Bin 1758 -> 1759 bytes - test/clip-fill-unbounded.xlib.rgb24.ref.png | Bin 1426 -> 1430 bytes - test/clip-group-shapes-circles.xlib.ref.png | Bin 0 -> 1534 bytes - ...-group-shapes-unaligned-rectangles.xlib.ref.png | Bin 0 -> 431 bytes - ...ip-stroke-unbounded.xlib-fallback.rgb24.ref.png | Bin 1429 -> 1437 bytes - test/clip-stroke-unbounded.xlib.argb32.ref.png | Bin 1792 -> 1785 bytes - test/clip-stroke-unbounded.xlib.rgb24.ref.png | Bin 1426 -> 1442 bytes - test/clip-stroke.xlib-fallback.ref.png | Bin 1490 -> 1491 bytes - test/clip-stroke.xlib.ref.png | Bin 1490 -> 1491 bytes - test/clipped-group.xlib.ref.png | Bin 0 -> 289 bytes - test/coverage-rectangles.xlib.xfail.png | Bin 0 -> 15981 bytes - test/finer-grained-fallbacks.xlib-fallback.ref.png | Bin 0 -> 919 bytes - test/finer-grained-fallbacks.xlib.ref.png | Bin 1111 -> 1110 bytes - test/finer-grained-fallbacks.xlib.rgb24.ref.png | Bin 1114 -> 856 bytes - test/ft-text-vertical-layout-type1.xlib.ref.png | Bin 3639 -> 3625 bytes - test/ft-text-vertical-layout-type3.xlib.ref.png | Bin 3605 -> 3597 bytes - test/leaky-dashed-rectangle.xlib.ref.png | Bin 347 -> 344 bytes - test/linear-gradient-subset.xlib.ref.png | Bin 0 -> 782 bytes - test/pthread-show-text.xlib-fallback.ref.png | Bin 0 -> 42073 bytes - ...m-intersections-curves-nz.xlib-fallback.ref.png | Bin 264288 -> 264277 bytes - test/random-intersections-curves-nz.xlib.ref.png | Bin 264288 -> 264277 bytes - test/recording-surface-pattern.xlib.argb32.ref.png | Bin 0 -> 3055 bytes - test/recording-surface-pattern.xlib.rgb24.ref.png | Bin 0 -> 3124 bytes - test/scale-offset-image.xlib-fallback.xfail.png | Bin 8706 -> 8686 bytes - test/scale-offset-image.xlib.ref.png | Bin 0 -> 9136 bytes - test/scale-offset-image.xlib.xfail.png | Bin 9132 -> 0 bytes - test/scale-offset-similar.xlib-fallback.xfail.png | Bin 8706 -> 8686 bytes - test/scale-offset-similar.xlib.xfail.png | Bin 8696 -> 8698 bytes - test/self-intersecting.xlib.ref.png | Bin 252 -> 208 bytes - test/smask-text.xlib-fallback.ref.png | Bin 0 -> 1874 bytes - test/smask.xlib-fallback.ref.png | Bin 0 -> 3423 bytes - test/subsurface.xlib.ref.png | Bin 0 -> 1782 bytes - test/text-rotate.xlib-fallback.ref.png | Bin 0 -> 16592 bytes - 35 files changed, 19 insertions(+), 7 deletions(-) - -commit a049889c64131b170b66ed8906309f6adee80fa5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 11 21:26:26 2010 +0100 - - pattern: Remove incorrect optimisations from _cairo_pattern_aquire_surface() - - Safe reduction of patterns is performed in gstate, so not only are the - extra checks in _cairo_pattern_acquire_surface redundant there are also - unsafe. Simply remove them. - - Fixes test/radial-gradient-extend [xlib-fallback] - - src/cairo-pattern.c | 110 ++++++++-------------------------------------------- - 1 file changed, 17 insertions(+), 93 deletions(-) - -commit 00bc1d1578dc2640db64315270b00073697fb9fa -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 11 20:31:29 2010 +0100 - - pattern: Remove extraordinary _cairo_pattern_fini_snapshot(). - - Miraculously the circular references from self-copy have disappeared and - the forced finish within _cairo_pattern_fini_snapshot() now quite - explosive. By replacing them with an ordinary _cairo_pattern_fini() the - crash from test/smask-image-mask disappear along and valgrind remains - happy. - - Fixes test/smask-image-mask and similar. - - src/cairo-pattern.c | 17 ----------------- - src/cairo-recording-surface.c | 24 ++++++++++++------------ - src/cairoint.h | 3 --- - 3 files changed, 12 insertions(+), 32 deletions(-) - -commit 1098e203dc21529f138bfabfa7558f61b8427ea0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 11 18:07:28 2010 +0100 - - test: pdf ref image refresh - - test/Makefile.am | 11 +++++++++++ - test/clear-source.pdf.xfail.png | Bin 0 -> 974 bytes - test/clip-fill-unbounded.pdf.argb32.ref.png | Bin 0 -> 1244 bytes - test/clip-stroke-unbounded.pdf.argb32.xfail.png | Bin 0 -> 1351 bytes - test/clip-unbounded.pdf.argb32.xfail.png | Bin 0 -> 95 bytes - test/clip-unbounded.pdf.rgb24.xfail.png | Bin 0 -> 95 bytes - test/filter-nearest-offset.pdf.xfail.png | Bin 2152 -> 4522 bytes - test/filter-nearest-transformed.pdf.xfail.png | Bin 532 -> 532 bytes - test/pthread-show-text.pdf.ref.png | Bin 0 -> 47015 bytes - test/radial-gradient-source.pdf.argb32.ref.png | Bin 0 -> 235290 bytes - test/rotate-image-surface-paint.pdf.xfail.png | Bin 358 -> 442 bytes - test/scale-source-surface-paint.pdf.argb32.xfail.png | Bin 0 -> 157 bytes - test/scale-source-surface-paint.pdf.rgb24.xfail.png | Bin 0 -> 152 bytes - test/surface-pattern-operator.pdf.argb32.xfail.png | Bin 0 -> 5485 bytes - test/surface-pattern-operator.pdf.rgb24.xfail.png | Bin 0 -> 2095 bytes - 15 files changed, 11 insertions(+) - -commit 1c91d019c54afde0edb022312491b086588ce6c4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 11 17:47:08 2010 +0100 - - test: ps ref image refresh. - - Update to gs-8.71 and some additional reference images for the new tests. - - test/Makefile.am | 116 ++++++++++++--------- - test/README | 2 +- - test/big-line.ps.ref.png | Bin 0 -> 946 bytes - test/bug-bo-rectangular.ps.xfail.png | Bin 0 -> 945 bytes - test/caps-joins-curve.ps.ref.png | Bin 3728 -> 3715 bytes - test/caps-joins.ps.ref.png | Bin 2282 -> 2268 bytes - test/caps-sub-paths.ps.ref.png | Bin 0 -> 163 bytes - test/caps.ps.ref.png | Bin 1466 -> 1478 bytes - test/clear-source.ps.xfail.png | Bin 0 -> 552 bytes - test/clip-disjoint.ps.ref.png | Bin 0 -> 4680 bytes - test/clip-fill-rule.ps.argb32.ref.png | Bin 0 -> 251 bytes - test/clip-fill-rule.ps.rgb24.ref.png | Bin 0 -> 234 bytes - test/clip-fill-rule.ps2.argb32.ref.png | Bin 310 -> 0 bytes - test/clip-fill-rule.ps2.rgb24.ref.png | Bin 302 -> 0 bytes - test/clip-fill-rule.ps3.argb32.ref.png | Bin 310 -> 0 bytes - test/clip-fill-rule.ps3.rgb24.ref.png | Bin 302 -> 0 bytes - test/clip-fill-unbounded.ps.argb32.xfail.png | Bin 0 -> 1244 bytes - test/clip-image.ps.ref.png | Bin 0 -> 2498 bytes - test/clip-nesting.ps.argb32.ref.png | Bin 0 -> 441 bytes - test/clip-nesting.ps.rgb24.ref.png | Bin 0 -> 492 bytes - test/clip-nesting.ps2.argb32.ref.png | Bin 651 -> 0 bytes - test/clip-nesting.ps2.rgb24.ref.png | Bin 636 -> 0 bytes - test/clip-nesting.ps3.argb32.ref.png | Bin 651 -> 0 bytes - test/clip-nesting.ps3.rgb24.ref.png | Bin 636 -> 0 bytes - test/clip-push-group.ps.ref.png | Bin 0 -> 120 bytes - test/clip-push-group.ps2.argb32.ref.png | Bin 179 -> 0 bytes - test/clip-push-group.ps2.rgb24.ref.png | Bin 179 -> 0 bytes - test/clip-push-group.ps3.argb32.ref.png | Bin 179 -> 0 bytes - test/clip-push-group.ps3.rgb24.ref.png | Bin 179 -> 0 bytes - test/clip-stroke-unbounded.ps.argb32.ref.png | Bin 0 -> 1351 bytes - test/clip-stroke.ps.xfail.png | Bin 0 -> 662 bytes - test/clip-twice.ps.argb32.ref.png | Bin 0 -> 492 bytes - test/clip-twice.ps.rgb24.ref.png | Bin 0 -> 409 bytes - test/clip-twice.ps2.argb32.ref.png | Bin 575 -> 0 bytes - test/clip-twice.ps2.rgb24.ref.png | Bin 541 -> 0 bytes - test/clip-twice.ps3.argb32.ref.png | Bin 575 -> 0 bytes - test/clip-twice.ps3.rgb24.ref.png | Bin 541 -> 0 bytes - test/clipped-group.ps2.ref.png | Bin 343 -> 214 bytes - test/clipped-group.ps3.ref.png | Bin 343 -> 214 bytes - test/copy-path.ps.ref.png | Bin 0 -> 379 bytes - test/copy-path.ps2.ref.png | Bin 474 -> 0 bytes - test/copy-path.ps3.ref.png | Bin 474 -> 0 bytes - test/dash-caps-joins.ps.ref.png | Bin 0 -> 3669 bytes - test/dash-caps-joins.ps2.argb32.ref.png | Bin 3870 -> 0 bytes - test/dash-caps-joins.ps2.rgb24.ref.png | Bin 3870 -> 0 bytes - test/dash-caps-joins.ps3.argb32.ref.png | Bin 3870 -> 0 bytes - test/dash-caps-joins.ps3.rgb24.ref.png | Bin 3870 -> 0 bytes - test/dash-curve.ps2.ref.png | Bin 27293 -> 24355 bytes - test/dash-curve.ps3.ref.png | Bin 27293 -> 24355 bytes - test/dash-infinite-loop.ps.ref.png | Bin 0 -> 617 bytes - test/dash-scale.ps.ref.png | Bin 0 -> 5965 bytes - test/dash-scale.ps2.argb32.ref.png | Bin 6318 -> 0 bytes - test/dash-scale.ps2.rgb24.ref.png | Bin 6316 -> 0 bytes - test/dash-scale.ps3.argb32.ref.png | Bin 6318 -> 0 bytes - test/dash-scale.ps3.rgb24.ref.png | Bin 6316 -> 0 bytes - test/dash-state.ps2.ref.png | Bin 10219 -> 8740 bytes - test/dash-state.ps3.ref.png | Bin 10219 -> 8740 bytes - test/degenerate-arc.ps2.ref.png | Bin 585 -> 509 bytes - test/degenerate-arc.ps3.ref.png | Bin 585 -> 509 bytes - test/degenerate-curve-to.ps.xfail.png | Bin 202 -> 221 bytes - test/degenerate-dash.ps.xfail.png | Bin 1835 -> 1837 bytes - test/degenerate-path.ps.argb32.xfail.png | Bin 236 -> 234 bytes - test/degenerate-path.ps.rgb24.xfail.png | Bin 186 -> 184 bytes - test/degenerate-pen.ps.ref.png | Bin 0 -> 759 bytes - test/degenerate-pen.ps2.ref.png | Bin 865 -> 0 bytes - test/degenerate-pen.ps3.ref.png | Bin 865 -> 0 bytes - test/degenerate-rel-curve-to.ps.ref.png | Bin 0 -> 225 bytes - test/degenerate-rel-curve-to.ps.xfail.png | Bin 202 -> 0 bytes - test/fill-and-stroke.ps.argb32.ref.png | Bin 0 -> 257 bytes - test/fill-and-stroke.ps.rgb24.ref.png | Bin 0 -> 225 bytes - test/fill-and-stroke.ps2.argb32.ref.png | Bin 310 -> 0 bytes - test/fill-and-stroke.ps2.rgb24.ref.png | Bin 319 -> 0 bytes - test/fill-and-stroke.ps3.argb32.ref.png | Bin 310 -> 0 bytes - test/fill-and-stroke.ps3.rgb24.ref.png | Bin 319 -> 0 bytes - .../fill-degenerate-sort-order.ps.argb32.xfail.png | Bin 1901 -> 1903 bytes - test/fill-degenerate-sort-order.ps.rgb24.xfail.png | Bin 1645 -> 1638 bytes - test/fill-image.ps.ref.png | Bin 1799 -> 1645 bytes - test/fill-rule.ps2.argb32.ref.png | Bin 2253 -> 1878 bytes - test/fill-rule.ps2.rgb24.ref.png | Bin 2031 -> 1524 bytes - test/fill-rule.ps3.argb32.ref.png | Bin 2253 -> 1878 bytes - test/fill-rule.ps3.rgb24.ref.png | Bin 2031 -> 1524 bytes - test/finer-grained-fallbacks.ps2.argb32.ref.png | Bin 1173 -> 1168 bytes - test/finer-grained-fallbacks.ps2.rgb24.ref.png | Bin 1154 -> 936 bytes - test/finer-grained-fallbacks.ps3.argb32.ref.png | Bin 1173 -> 1168 bytes - test/finer-grained-fallbacks.ps3.rgb24.ref.png | Bin 1154 -> 936 bytes - test/ft-text-vertical-layout-type1.ps.ref.png | Bin 1634 -> 2088 bytes - test/ft-text-vertical-layout-type3.ps.ref.png | Bin 1636 -> 2134 bytes - test/group-unaligned.ps.ref.png | Bin 332 -> 321 bytes - test/group-unaligned.ps.rgb24.xfail.png | Bin 0 -> 371 bytes - test/implicit-close.ps.ref.png | Bin 0 -> 252 bytes - test/joins.ps.ref.png | Bin 5496 -> 4230 bytes - test/leaky-dashed-rectangle.ps.ref.png | Bin 444 -> 358 bytes - test/leaky-dashed-stroke.ps.ref.png | Bin 0 -> 5293 bytes - test/leaky-dashed-stroke.ps2.ref.png | Bin 5511 -> 0 bytes - test/leaky-dashed-stroke.ps3.ref.png | Bin 5511 -> 0 bytes - test/leaky-polygon.ps.ref.png | Bin 0 -> 289 bytes - test/leaky-polygon.ps2.ref.png | Bin 354 -> 0 bytes - test/leaky-polygon.ps3.ref.png | Bin 354 -> 0 bytes - test/line-width-scale.ps2.ref.png | Bin 3911 -> 3431 bytes - test/line-width-scale.ps3.ref.png | Bin 3911 -> 3431 bytes - test/linear-gradient-subset.ps3.ref.png | Bin 0 -> 619 bytes - test/long-dashed-lines.ps2.ref.png | Bin 1516 -> 1329 bytes - test/long-dashed-lines.ps3.ref.png | Bin 1516 -> 1329 bytes - test/new-sub-path.ps2.argb32.ref.png | Bin 556 -> 398 bytes - test/new-sub-path.ps3.argb32.ref.png | Bin 556 -> 398 bytes - test/operator-alpha-alpha.ps.xfail.png | Bin 1338 -> 3429 bytes - test/over-around-source.ps2.argb32.ref.png | Bin 522 -> 508 bytes - test/over-around-source.ps3.argb32.ref.png | Bin 522 -> 508 bytes - test/over-below-source.ps2.argb32.ref.png | Bin 503 -> 368 bytes - test/over-below-source.ps2.rgb24.ref.png | Bin 0 -> 362 bytes - test/over-below-source.ps3.argb32.ref.png | Bin 503 -> 368 bytes - test/over-below-source.ps3.rgb24.ref.png | Bin 0 -> 362 bytes - test/path-append.ps.ref.png | Bin 4516 -> 4525 bytes - test/pixman-rotate.ps.argb32.ref.png | Bin 0 -> 355 bytes - test/push-group-color.ps3.ref.png | Bin 0 -> 2561 bytes - test/random-intersections-curves-eo.ps.ref.png | Bin 151676 -> 151668 bytes - test/random-intersections-curves-nz.ps.ref.png | Bin 134732 -> 134746 bytes - test/random-intersections-eo.ps.ref.png | Bin 78806 -> 78037 bytes - test/random-intersections-nonzero.ps.ref.png | Bin 77299 -> 76450 bytes - test/recording-surface-pattern.ps.argb32.ref.png | Bin 0 -> 3064 bytes - test/recording-surface-pattern.ps.rgb24.ref.png | Bin 0 -> 3147 bytes - test/recording-surface-pattern.ps2.argb32.ref.png | Bin 3257 -> 0 bytes - test/recording-surface-pattern.ps2.rgb24.ref.png | Bin 3873 -> 0 bytes - test/recording-surface-pattern.ps3.argb32.ref.png | Bin 3257 -> 0 bytes - test/recording-surface-pattern.ps3.rgb24.ref.png | Bin 3873 -> 0 bytes - test/reflected-stroke.ps.ref.png | Bin 0 -> 3368 bytes - test/reflected-stroke.ps2.ref.png | Bin 3898 -> 0 bytes - test/reflected-stroke.ps3.ref.png | Bin 3898 -> 0 bytes - test/rounded-rectangle-fill.ps.ref.png | Bin 0 -> 551 bytes - test/rounded-rectangle-stroke.ps.ref.png | Bin 0 -> 568 bytes - test/scale-offset-image.ps.ref.png | Bin 7289 -> 7697 bytes - test/spline-decomposition.ps.ref.png | Bin 9028 -> 8939 bytes - test/stroke-image.ps.ref.png | Bin 1641 -> 1682 bytes - test/subsurface.ps.ref.png | Bin 0 -> 1651 bytes - test/surface-pattern-big-scale-down.ps.ref.png | Bin 0 -> 235 bytes - test/surface-pattern-big-scale-down.ps.xfail.png | Bin 238 -> 0 bytes - test/text-glyph-range.ps.ref.png | Bin 0 -> 1253 bytes - test/text-glyph-range.ps2.ref.png | Bin 1389 -> 0 bytes - test/text-glyph-range.ps3.ref.png | Bin 1389 -> 0 bytes - test/text-rotate.ps.ref.png | Bin 0 -> 8765 bytes - test/text-rotate.ps2.ref.png | Bin 6851 -> 0 bytes - test/text-rotate.ps3.ref.png | Bin 6851 -> 0 bytes - test/text-transform.ps.ref.png | Bin 0 -> 3430 bytes - test/text-transform.ps2.ref.png | Bin 4154 -> 0 bytes - test/text-transform.ps3.ref.png | Bin 4154 -> 0 bytes - test/trap-clip.ps2.argb32.ref.png | Bin 4849 -> 4839 bytes - test/trap-clip.ps2.rgb24.ref.png | Bin 5617 -> 4729 bytes - test/trap-clip.ps3.argb32.ref.png | Bin 5591 -> 4751 bytes - test/trap-clip.ps3.rgb24.ref.png | Bin 5512 -> 4553 bytes - test/twin.ps.ref.png | Bin 2142 -> 2136 bytes - test/user-font-proxy.ps.ref.png | Bin 7766 -> 7837 bytes - test/user-font-rescale.ps.ref.png | Bin 0 -> 6781 bytes - test/user-font-rescale.ps2.ref.png | Bin 8041 -> 0 bytes - test/user-font-rescale.ps3.ref.png | Bin 8041 -> 0 bytes - test/xlib-expose-event.ps.ref.png | Bin 0 -> 39035 bytes - 155 files changed, 65 insertions(+), 53 deletions(-) - -commit 1a544361e845e4881990624a597f9dc2b82d1c73 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 11 16:04:41 2010 +0100 - - gstate: Update cached matrix state after device transform changes on the target - - Commit 8d67186cb291cb877e52b987e2ac18c2a1175a57 caches whether the device - transform is identity on context creation. However, the api is quite lax - and allows the user to modify the device transform *after* he has - started to use the surface in a context, as apparently WebKit does. - Since this is not the only instance where we may need to invalidate - caches if the user modifies state, introduce a simple mechanism for - hooking into notifications of property changes. - - Fixes test/clip-device-offset. - - src/Makefile.sources | 1 + - src/cairo-gstate-private.h | 3 +++ - src/cairo-gstate.c | 28 +++++++++++++++++++++---- - src/cairo-observer.c | 50 +++++++++++++++++++++++++++++++++++++++++++++ - src/cairo-surface-private.h | 1 + - src/cairo-surface.c | 6 ++++++ - src/cairo-types-private.h | 6 ++++++ - src/cairoint.h | 5 +++++ - 8 files changed, 96 insertions(+), 4 deletions(-) - -commit f74b11415a1f7682dd50c222baa8815ef93681dc -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 11 14:06:15 2010 +0100 - - test: Use a group to render PDF correctly using poppler. - - In order to support blend modes, we need to use a clear background - whilst rendering the PDF, which inspired the use of DEST_OVER to avoid - having to render to an intermediate surface. However, the adjunct of - using subpixel text means that we cannot simply using the alpha channel - as the sole mask and so need to render to an intermediate and paint it - over an opaque background. - - test/any2ppm.c | 9 ++++++--- - test/pdf2png.c | 9 ++++++--- - 2 files changed, 12 insertions(+), 6 deletions(-) - -commit 7f227ec8d3f981dbbf2ca1914bf7fd29d9cdfd05 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 11 12:54:15 2010 +0100 - - Revert "test/pdf2png: Don't use DEST_OVER as poppler starts using subpixel text." - - This reverts commit 506b2ebe714d61a64972b607a42a55e48d1c722a. - - We have conflicting requirements here. In order to support extended - blend modes correctly we need to use DEST_OVER, at the expense of - supporting subpixel text. More thought required. - - test/any2ppm.c | 9 +++++---- - test/pdf2png.c | 10 +++++----- - 2 files changed, 10 insertions(+), 9 deletions(-) - -commit c761e0c5bb55e8869521ad5b4a2447ea9abcb4d1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 11 12:40:36 2010 +0100 - - test: Restrict the coverage tests to raster targets. - - Typo inside the requirements failed to prevent the tests running on the - vector backends. - - test/coverage.c | 4 ++-- - test/half-coverage.c | 4 ++-- - test/partial-coverage.c | 18 +++++++++--------- - 3 files changed, 13 insertions(+), 13 deletions(-) - -commit b49c944fe4abb9f3c70fac02a71061bf8d07259a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 11 12:38:17 2010 +0100 - - test: Add a convenience script to disable the screensaver when testing - - If the screensaver activates, it can cause failures when attempting to - render into an xlib window, so inhibit if we know how. - - test/Makefile.am | 2 +- - test/run-cairo-test-suite.sh | 18 ++++++++++++++++++ - 2 files changed, 19 insertions(+), 1 deletion(-) - -commit 4e4724d48c63d0cd4ec507ce72dcc55fb6e5f584 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 11 12:19:56 2010 +0100 - - gl: make check insists "cairoint.h" is first. - - src/cairo-gl-gradient.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit 4edbcf1b1d046c9c626a0c0ad10d3c71f17984f2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 11 12:17:19 2010 +0100 - - color: Mark _cairo_color_get_content() as private. - - src/cairoint.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 506b2ebe714d61a64972b607a42a55e48d1c722a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 11 12:04:39 2010 +0100 - - test/pdf2png: Don't use DEST_OVER as poppler starts using subpixel text. - - Using DEST_OVER in this form to paint the background white fails in the - presence of subpixel geometry (particular text), so remove the hack and - simply paint the background white prior to passing the surface to - poppler. KISS. - - test/any2ppm.c | 9 ++++----- - test/pdf2png.c | 10 +++++----- - 2 files changed, 9 insertions(+), 10 deletions(-) - -commit edb73b6dcf1adce40d6c10c492e3f78556e22b85 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 11 11:16:42 2010 +0100 - - xlib: Adjust trapezoid precision based on antialias. - - Render supports two modes of precision when rendering trapezoids. - Precise specifies points sampling on a 15x17 grid, ala pixman. Imprecise - allows the driver more freedom in the methods used, which may be more - amenable to acceleration. Choose to use the imprecise mode by default, - but still allow users to force the more rigidly specified precision by - changing the antialias mode. - - src/cairo-xlib-surface-private.h | 1 + - src/cairo-xlib-surface.c | 31 +++++++++++++++++++++++++++++++ - 2 files changed, 32 insertions(+) - -commit 290749bdb5c634c030db81722214661c34344403 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 11 10:59:17 2010 +0100 - - polygon: Reorder conditionals based on likelihood. - - The vast majority of edges will be unclipped, so process those first. - - src/cairo-polygon.c | 30 +++++++++++++++--------------- - 1 file changed, 15 insertions(+), 15 deletions(-) - -commit 55037bfb2454a671332d961e061c712ab5471580 -Author: Karl Tomlinson <karlt+@karlt.net> -Date: Fri Jun 11 10:35:43 2010 +0100 - - xlib: Find matching Visual for XRenderFormat - - Not only is this useful for users to know which Visual matches any - particular Cairo surface, it should also close a few obscure bugs of not - converting images correctly on upload. - - Fixes: - - Bug 28492 - cairo_xlib_surface_create_with_xrender_format does not - create visual for resulting surface - https://bugs.freedesktop.org/show_bug.cgi?id=28492 - - Mozilla Bug 567065 - Try to create offscreen Xlib surface from existing - visual if possible - https://bugzilla.mozilla.org/show_bug.cgi?id=567065 - - Mozilla Bug 445250 - cairo_draw_with_xlib should provide a non-NULL visual - to callback - https://bugzilla.mozilla.org/show_bug.cgi?id=445250 - - Reported-by: Oleg Romashin <romaxa@gmail.com> - - src/cairo-xlib-surface.c | 74 ++++++++++++++++++++++++++++++++++++++++++------ - 1 file changed, 65 insertions(+), 9 deletions(-) - -commit cf426bce8ebd3aff5d50c6a54bbd731132b3d312 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 11 10:05:09 2010 +0100 - - test: Add a simple coverage test. - - This test case should be much clearer than half-coverage over what it - purports to actually test. In each pixel, it draws a single geometric - primitive that coverages a known percentage of the pixel and then we - measure how close the rasterisers are to that ideal. - - test/Makefile.am | 2 + - test/Makefile.sources | 1 + - test/coverage-rectangles.ref.png | Bin 0 -> 259 bytes - test/coverage-triangles.ref.png | Bin 0 -> 253 bytes - test/coverage.c | 135 +++++++++++++++++++++++++++++++++++++++ - 5 files changed, 138 insertions(+) - -commit bd3d9ef3d1dbc5364e79e6afb47d9e124cb61ca4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 11 09:12:16 2010 +0100 - - test: Distinguish tests that throw an error from a normal fail. - - Hitting an error in a test case is almost as bad as crashing, and the - severity may be lost amidst "normal" failures. So introduce a new class - of ERROR so that we can immediately spot these during a test run, and - appropriately log them afterwards. - - test/cairo-test-runner.c | 89 ++++++++++++++++++++++++++++++++++++++++++++++-- - test/cairo-test.c | 20 ++++++++++- - test/cairo-test.h | 1 + - 3 files changed, 107 insertions(+), 3 deletions(-) - -commit eeafeebd2ec8ad8a9e7053aaaa0f845b58563b3b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 11 09:06:20 2010 +0100 - - path: Exponentially grow buffer based on populated points and ops. - - Instead of simply doubling the buffer size every time we overflow a point - or an op, enlarge the buffer to fit twice the number of used points and - ops. We expect paths to be fairly consistent in the mix of operations, - and this allows the buffer size to tune itself to actual usage and reduce - wastage. - - src/cairo-path-fixed-private.h | 3 ++- - src/cairo-path-fixed.c | 39 +++++++++++++++++++-------------------- - 2 files changed, 21 insertions(+), 21 deletions(-) - -commit b0056a86b4f6c92fa7eb89baf8483a46979c8cf1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 10 18:27:22 2010 +0100 - - test: Exercise partial coverage some more. - - Add some overlapping triangles (coarse enough for them to be resolved - using Cairo's 24.8 fixed point without loss of precision) to exercise - handling of overlapping subpixel geometry. - - test/Makefile.am | 4 + - ...tial-coverage-overlap-half-triangles-eo.ref.png | Bin 0 -> 189 bytes - ...partial-coverage-overlap-half-triangles.ref.png | Bin 0 -> 189 bytes - ...overage-overlap-three-quarter-triangles.ref.png | Bin 0 -> 186 bytes - ...artial-coverage-three-quarter-reference.ref.png | Bin 0 -> 186 bytes - test/partial-coverage.c | 284 +++++++++++++++++++-- - 6 files changed, 269 insertions(+), 19 deletions(-) - -commit 836f6166597eaa687b10e5f26fe71e099c434aa1 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Wed Jun 9 19:09:22 2010 +0200 - - gl: support single stop gradients - - src/cairo-gl-gradient-private.h | 2 +- - src/cairo-gl-gradient.c | 3 +-- - 2 files changed, 2 insertions(+), 3 deletions(-) - -commit d17e2c5e23eac302b7463a08205088147da1172a -Author: Andrea Canciani <ranma42@gmail.com> -Date: Thu Jun 10 10:52:16 2010 +0200 - - ps: support single stop gradients - - src/cairo-ps-surface.c | 9 ++++----- - 1 file changed, 4 insertions(+), 5 deletions(-) - -commit eb7fc351156bd66921ac3b3ffbd1fba6ba743ffb -Author: Andrea Canciani <ranma42@gmail.com> -Date: Thu Jun 10 10:51:50 2010 +0200 - - pdf: support single stop gradients - - src/cairo-pdf-surface.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit e2660a0eac5f6081bf052db16b8bd85c814d19d8 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Wed Jun 9 16:59:29 2010 +0200 - - pattern: improve single stop gradients handling - - None-extended single stop gradients are now explicitly made clear. - - src/cairo-pattern.c | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -commit 7a024bc206aae790c7357be83474126037335ab1 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Wed Jun 9 17:59:47 2010 +0200 - - test: exercise ps crash with single stop gradients - - PS crashes only when using the source operator, as it will otherwise - fallback to rasterization of the gradients. - - test/linear-gradient-one-stop.argb32.ref.png | Bin 0 -> 225 bytes - test/linear-gradient-one-stop.c | 2 +- - test/linear-gradient-one-stop.ref.png | Bin 344 -> 0 bytes - test/linear-gradient-one-stop.rgb24.ref.png | Bin 0 -> 174 bytes - test/radial-gradient-one-stop.argb32.ref.png | Bin 0 -> 1392 bytes - test/radial-gradient-one-stop.c | 2 +- - test/radial-gradient-one-stop.ref.png | Bin 1422 -> 0 bytes - test/radial-gradient-one-stop.rgb24.ref.png | Bin 0 -> 1153 bytes - 8 files changed, 2 insertions(+), 2 deletions(-) - -commit a0f8cfe64660c0043db15f9b9cbf1298bf1838d1 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Tue Jun 8 17:04:00 2010 +0200 - - pattern: improve degenerate gradients handling - - Degenerate radial gradients are now considered clear. - - src/cairo-pattern.c | 35 +++++++++++++++++++++++++---------- - 1 file changed, 25 insertions(+), 10 deletions(-) - -commit bccd89b4177b5f5bd05def9bee5f0927a9f25e4a -Author: Andrea Canciani <ranma42@gmail.com> -Date: Tue Jun 8 15:45:09 2010 +0200 - - gstate: correct optimizations - - Gradient were previously hand-optimized (without properly checking - for extend modes). By properly using _cairo_pattern functions we - avoid code duplication and bugs. - - Fixes linear-gradient-extend, radial-gradient-extend. - - src/cairo-gstate.c | 85 +++++++++++------------------------------------------- - 1 file changed, 17 insertions(+), 68 deletions(-) - -commit 06c6207ad4205f211be70e324c6d32ea7d28dca8 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Tue Jun 1 19:40:14 2010 +0200 - - pattern: add gradient_is_solid function - - It contains in a single place the logic needed to check if a gradient - pattern is solid (within a specified region). - - src/cairo-pattern.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/cairoint.h | 5 +++++ - 2 files changed, 58 insertions(+) - -commit 561625ee3bd2732457eaaf28937edf557ee7661d -Author: Andrea Canciani <ranma42@gmail.com> -Date: Tue Jun 1 19:39:02 2010 +0200 - - pattern: improve clear/opaque check functions - - _cairo_pattern_is_opaque was missing some checks about the extend type. - Conversely _cairo_pattern_is_clear was being too strict about gradients. - - src/cairo-pattern.c | 112 ++++++++++++++++++++++++++++++++++++++++++++++++---- - src/cairoint.h | 4 ++ - 2 files changed, 108 insertions(+), 8 deletions(-) - -commit baaf312e047a9bea6f54e63cd6534c2ed7448523 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Mon Apr 19 09:53:00 2010 +0200 - - pattern: remove content field from solid patterns - - The content field in solid patterns had ill-defined semantic (or no - semantic at all), thus it can be removed. - - src/cairo-color.c | 16 ++++++++++++++++ - src/cairo-gl-surface.c | 2 +- - src/cairo-gstate.c | 14 +++++--------- - src/cairo-pattern.c | 37 ++++++++++--------------------------- - src/cairo-script-surface.c | 9 +++------ - src/cairo-surface.c | 4 ++-- - src/cairo-types-private.h | 1 - - src/cairo-xlib-surface.c | 6 +++--- - src/cairo.c | 4 ++-- - src/cairoint.h | 9 +++++---- - 10 files changed, 47 insertions(+), 55 deletions(-) - -commit 7461947eb1a5f002a5931303843a5a2deca0e383 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Mon Apr 19 09:51:26 2010 +0200 - - surface: remove content argument from is_similar - - The content argument was basically unuses. - - Xlib change extracted from ickle's wip/compositor branch. - - src/cairo-directfb-surface.c | 2 +- - src/cairo-pattern.c | 5 ++--- - src/cairo-surface.c | 5 ++--- - src/cairo-win32-surface.c | 3 +-- - src/cairo-xlib-surface.c | 30 ++---------------------------- - src/cairoint.h | 6 ++---- - 6 files changed, 10 insertions(+), 41 deletions(-) - -commit ef5f9b5c61750207947587173d21b46e2d299f33 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 10 14:13:53 2010 +0100 - - test: Update partial coverage. - - Gah, no wonder the output looked wrong for the triangles, they only - covered half the pixel. So separate triangles into two cases. - - test/Makefile.am | 2 + - test/partial-coverage-half-reference.ref.png | Bin 0 -> 189 bytes - test/partial-coverage-half-triangles.ref.png | Bin 0 -> 189 bytes - test/partial-coverage.c | 98 +++++++++++++++++++++++++-- - 4 files changed, 96 insertions(+), 4 deletions(-) - -commit 8d67186cb291cb877e52b987e2ac18c2a1175a57 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 10 11:36:58 2010 +0100 - - gstate: Track whether the combination of ctm * device is identity. - - In the fairly common condition that both the ctm and the device - transforms are identity, the function overhead of calling the matrix - multiplication on the point overwhelmingly dominates. - - src/cairo-clip.c | 1 + - src/cairo-gstate-private.h | 310 +++++++++++++++++++++++++++++++++++++++++++++ - src/cairo-gstate.c | 18 ++- - src/cairoint.h | 295 ------------------------------------------ - 4 files changed, 327 insertions(+), 297 deletions(-) - -commit 1349728d1ef63ed562a3fd0ee3c0a89aaba77616 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 10 11:26:12 2010 +0100 - - test: Add partial coverage. - - Another experiment in measuring consistency of rasterisation stratagems - across the backends. - - test/Makefile.am | 3 + - test/Makefile.sources | 1 + - test/partial-coverage-rectangles.ref.png | Bin 0 -> 202 bytes - test/partial-coverage-reference.ref.png | Bin 0 -> 202 bytes - test/partial-coverage-triangles.ref.png | Bin 0 -> 202 bytes - test/partial-coverage.c | 213 +++++++++++++++++++++++++++++++ - 6 files changed, 217 insertions(+) - -commit 486118361ad0c2e68fa9f6b44ddb10e84d237eca -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 10 11:28:26 2010 +0100 - - test: Fix half-coverage colouration. - - Hmm, red over red makes the test pointless. The test still remains of - highly dubious quality, as it primarily serves as a rendercheck more - than a test of Cairo. The best hope for this test is that it inspires a - better one. - - And incorporate the notes made by Joonas. - - test/half-coverage.c | 28 +++++++++++++++++++++++++++- - 1 file changed, 27 insertions(+), 1 deletion(-) - -commit 5cb764850f7c405085739647bac2809045e7cdf3 -Author: Dmitri Vorobiev <dmitri.vorobiev@movial.com> -Date: Wed Jun 9 19:20:27 2010 +0300 - - scaled-font: optimize cairo_scaled_font_text_to_glyphs() - - This patch serves two purposes. First, it factors out the heavy part - of the cairo_scaled_font_text_to_glyphs() routine thus allowing GCC - to better optimize the cache cleanup loop. Keeping the look-up table - indices in a separate array speeds up array initialization even further. - - Second, this patch introduces a shortcut for the case when the string - to be rendered consists of a single character. In this case, caching is - not necessary at all. - - We have a benchmark that uses Cairo to render a large amount of random - strings of consisting of printable ASCII characters. Below are Oprofile - results collected while running this benchmark. It is easy to see that - the heavy part becomes noticeably lighter. - - Before: - - Profiling through timer interrupt - samples % app name symbol name - 198755 13.5580 libcairo.so.2.10907.0 cairo_scaled_font_text_to_glyphs - 88580 6.0424 libcairo.so.2.10907.0 _cairo_scaled_glyph_lookup - 81127 5.5340 libcairo.so.2.10907.0 _cairo_hash_table_lookup - 68186 4.6513 libcairo.so.2.10907.0 cairo_scaled_font_glyph_extents - 47145 3.2160 libcairo.so.2.10907.0 _composite_glyphs_via_mask - 46327 3.1602 libcairo.so.2.10907.0 _cairo_scaled_font_glyph_device_extents - 44817 3.0572 libcairo.so.2.10907.0 _composite_glyphs - 40431 2.7580 libcairo.so.2.10907.0 .plt - - After (note that cairo_scaled_font_text_to_glyphs_internal_single() was inlined): - - Profiling through timer interrupt - samples % app name symbol name - 107264 7.6406 libcairo.so.2.10907.0 cairo_scaled_font_text_to_glyphs_internal_multiple - 87888 6.2604 libcairo.so.2.10907.0 _cairo_scaled_glyph_lookup - 79011 5.6281 libcairo.so.2.10907.0 _cairo_hash_table_lookup - 71723 5.1090 libcairo.so.2.10907.0 cairo_scaled_font_glyph_extents - 48084 3.4251 libcairo.so.2.10907.0 _composite_glyphs_via_mask - 46636 3.3220 libcairo.so.2.10907.0 _cairo_scaled_font_glyph_device_extents - 44740 3.1869 libcairo.so.2.10907.0 _composite_glyphs - 42472 3.0254 libc-2.8.so _int_malloc - 39194 2.7919 libcairo.so.2.10907.0 _cairo_gstate_transform_glyphs_to_backend - 38614 2.7506 libcairo.so.2.10907.0 .plt - 37063 2.6401 libcairo.so.2.10907.0 _cairo_ft_ucs4_to_index - 36856 2.6253 libc-2.8.so random - 36376 2.5911 libcairo.so.2.10907.0 _cairo_scaled_glyphs_equal - 34545 2.4607 libcairo.so.2.10907.0 cairo_matrix_transform_point - 31690 2.2573 libc-2.8.so malloc - 29395 2.0939 libcairo.so.2.10907.0 _cairo_matrix_is_identity - 26142 1.8621 libcairo.so.2.10907.0 _cairo_utf8_to_ucs4 - 24406 1.7385 libc-2.8.so free - 24059 1.7138 libcairo.so.2.10907.0 cairo_scaled_font_text_to_glyphs - - [ickle: slightly amended for stylistic consistency.] - - src/cairo-scaled-font.c | 168 ++++++++++++++++++++++++++++++++---------------- - 1 file changed, 114 insertions(+), 54 deletions(-) - -commit c43399fa68696aa62599fb71752850dd46c15c82 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Wed Jun 9 17:53:09 2010 +0200 - - gl: fix compilation on MacOS X - - MacOS X uses different defines to avoid multiple inclusion of GL - header files. Adding them to glew.h fixes the compilation when GL is - enabled. - - src/glew/GL/glew.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 6eb5f859f1d38783dc43541e7e87b0c5f91691d8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jun 9 10:40:32 2010 +0100 - - bo: And disable DEBUG_TRAPS again. - - Meh. I'm going back to bed. Thanks Joonas for catching this. - - src/cairo-bentley-ottmann.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 85af0ec37456b4eb47c39326b24370a9ccc43092 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jun 9 10:33:29 2010 +0100 - - test: Add half-coverage to exercise the rasteriser with subpixel geometry. - - test/Makefile.sources | 1 + - test/half-coverage.c | 129 ++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 130 insertions(+) - -commit 56c081bdc6d29df932e6993109586ff275d8de12 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jun 9 10:33:01 2010 +0100 - - bo: Fix debugging for changes in internal traps api. - - src/cairo-bentley-ottmann.c | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -commit a946d39555136adc4eff3b68a62ba37f6d9a6299 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue Jun 8 21:09:51 2010 +0200 - - gl: Add support for clip regions to the span renderer - - Clip surface support is still missing, but i suppose that'd need a tiny - bit more code... - - src/cairo-gl-surface.c | 16 +++++++++++++--- - 1 file changed, 13 insertions(+), 3 deletions(-) - -commit f61b3f25aff454800a9d6013012d41633139d896 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue Jun 8 12:03:36 2010 +0200 - - gl: Add an assertion that we always have a texture - - When painting, the sources must be textures and not windows, and we did - that wrong previously. This assertion makes sure that never happens - again. - - src/cairo-gl-composite.c | 1 + - 1 file changed, 1 insertion(+) - -commit c6c9a24a1df1826cab78bd8ef1c5a1074bafa0d7 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue Jun 8 04:11:33 2010 +0200 - - gl: Use CAIRO_COLOR_BLACK - - ... instead of creating black on our own - and wrong, too. - - src/cairo-gl-surface.c | 8 +------- - 1 file changed, 1 insertion(+), 7 deletions(-) - -commit 19bc6793d1d9b209d5a03a727288504b1e71f7c4 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue Jun 8 04:00:02 2010 +0200 - - gl: Only clone texture surfaces - - Using non-texture surfaces as source or mask will fail, so we need to - fallback. - Caught by the subsurface-modify-child test. - - src/cairo-gl-surface.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 44483d843e4fe1f5db5cf213f76913d683265bb4 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue Jun 8 03:59:10 2010 +0200 - - gl: Fix argument order - - oops... - - src/cairo-gl-surface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 72bf1a536775138d79787729994ec9cfe2193be7 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue Jun 8 01:50:12 2010 +0200 - - Update my copyright notices to preferred version - - No more copyright headers containing my name. - - test/clear-source.c | 35 ++++++++++++++++++----------------- - test/clip-fill-no-op.c | 35 ++++++++++++++++++----------------- - test/clip-stroke-no-op.c | 35 ++++++++++++++++++----------------- - test/pthread-same-source.c | 35 ++++++++++++++++++----------------- - test/pthread-similar.c | 35 ++++++++++++++++++----------------- - test/xcomposite-projection.c | 35 ++++++++++++++++++----------------- - test/zero-mask.c | 35 ++++++++++++++++++----------------- - 7 files changed, 126 insertions(+), 119 deletions(-) - -commit 10d95c7020ca94903d474beb9c8ede89c186cbe3 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Tue Jun 8 20:48:25 2010 +0200 - - test: add/update reference images - - Add missing reference images and update one-stop references according - to current subset policy (outside the defined range, the gradient - is clear). - - test/degenerate-linear-gradient.ref.png | Bin 0 -> 232 bytes - test/degenerate-radial-gradient.ref.png | Bin 0 -> 428 bytes - test/linear-gradient-one-stop.ref.png | Bin 468 -> 344 bytes - test/radial-gradient-one-stop.ref.png | Bin 3772 -> 1422 bytes - 4 files changed, 0 insertions(+), 0 deletions(-) - -commit dd0f8872711d9896416cca2027f578f7d58d228f -Author: Andrea Canciani <ranma42@gmail.com> -Date: Mon Jun 7 17:34:12 2010 +0200 - - test: fix typo - - test/linear-gradient-extend.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9b88b5dce5327cbd13ea05de949c502fe41f91f7 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Tue Jun 8 10:45:06 2010 +0200 - - test: add degenerate gradient and single stop tests - - Add tests for degeneratate linear gradients (with start point equal - to the end point), degenerate radial gradients (start radius and end - radius equal to zero, same start and end circle) and gradients (both - linear and radial) with just a single stop. - - test/Makefile.sources | 6 +- - test/degenerate-linear-gradient.c | 81 +++++++++++++++++++++++++ - test/degenerate-radial-gradient.c | 93 +++++++++++++++++++++++++++++ - test/linear-gradient-one-stop.c | 90 ++++++++++++++++++++++++++++ - test/linear-gradient-one-stop.ref.png | Bin 0 -> 468 bytes - test/radial-gradient-one-stop.c | 107 ++++++++++++++++++++++++++++++++++ - test/radial-gradient-one-stop.ref.png | Bin 0 -> 3772 bytes - 7 files changed, 376 insertions(+), 1 deletion(-) - -commit 7d8359721b581845260c0442a174e48b061484a7 -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jun 7 16:46:46 2010 +0200 - - gl: Fix span renderer doing bad stuff for CLEAR and SOURCE - - SOURCE will fallback now, CLEAR is identical to DEST_OUT with white. - - src/cairo-gl-surface.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit ef8fd1355ea03b8566ef31642b32133d3543e4e8 -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jun 7 15:03:37 2010 +0200 - - gl: Fix span renderer for unbounded spans - - The span renderer used to not output rects for the top and bottom rows - when they didn't contain any spans. - - src/cairo-gl-surface.c | 72 ++++++++++++++++++++++++++++++++++---------------- - 1 file changed, 49 insertions(+), 23 deletions(-) - -commit 1d11af083f5368c88032a33ff40d0e21c139db18 -Author: Benjamin Otte <otte@redhat.com> -Date: Sat Jun 5 15:22:44 2010 +0200 - - gl: Add a simple spans renderer for stroke/fill - - It's very simple as clipped polygons or ANTIALIAS_NONE still return - UNSUPPORTED. Also, no optimizations are done, so even pixel-aligned - rectangles use the full span rendering. - - Still, there are no performance regressions in the benchmark traces and - firefox-talos-svg and swfdec-giant-steps both got ~15% faster. - - src/cairo-gl-surface.c | 178 ++++++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 175 insertions(+), 3 deletions(-) - -commit 550335efeddf813c1bec493513254fdbd34a9ace -Author: Benjamin Otte <otte@redhat.com> -Date: Sat Jun 5 15:19:44 2010 +0200 - - Remove _cairo_surface_composite_trapezoids_as_polygon() - - The function computed the composite rectangles wrong and was only used - in a gl fallback anyway. So instead of trying to fix it, just remove it - and make sure gl doesn't fallback. - - src/cairo-gl-surface.c | 14 --------- - src/cairo-spans-private.h | 12 -------- - src/cairo-spans.c | 75 ----------------------------------------------- - src/cairoint.h | 12 -------- - 4 files changed, 113 deletions(-) - -commit 1e003fce8f7239aaf4608747d63287e0c715ee51 -Author: Benjamin Otte <otte@redhat.com> -Date: Sat Jun 5 14:58:32 2010 +0200 - - gl: Fix vertex size changes not causing updates of the operands - - Check vertex size stays identical when setting up vertices. - - src/cairo-gl-composite.c | 17 ++++++++++------- - 1 file changed, 10 insertions(+), 7 deletions(-) - -commit 39143400ddd0d4e63a72ce91c423f764e466e405 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Jun 4 12:25:52 2010 +0200 - - gl: Add a gradient texture cache - - For firefox-planet-gnome, 19135 times a gradient gets rendered using - only 10 different gradients. So we get a 100% hit rate in the cache. - Unfortunately, texture upload is not the biggest problem of this test, - as the performance increase is only moderate - at least on i965: - 34.3s => 33.5s - - src/cairo-gl-device.c | 12 ++++++++- - src/cairo-gl-gradient-private.h | 18 +++++++++---- - src/cairo-gl-gradient.c | 58 ++++++++++++++++++++++++++++++++++++++--- - src/cairo-gl-private.h | 2 ++ - 4 files changed, 81 insertions(+), 9 deletions(-) - -commit 932ab2641ea3183171c3b5699c96c4709fc6bd49 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Jun 3 18:54:18 2010 +0200 - - device: flush before setting finished - - Otherwise APIs critical for flushing - in particular acquiring the - device - do not work. - - src/cairo-device.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 35e219d08f1c202399655db183ca0105a1c2166f -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Jun 3 17:50:59 2010 +0200 - - gl: Make gradient textures a separate object - - This is necessary so we can do proper refcounting and don't delete the - gradient texture prematurely. - - src/Makefile.sources | 4 +- - src/cairo-gl-composite.c | 156 +++------------------------- - src/cairo-gl-gradient-private.h | 80 ++++++++++++++ - src/cairo-gl-gradient.c | 223 ++++++++++++++++++++++++++++++++++++++++ - src/cairo-gl-private.h | 9 +- - 5 files changed, 327 insertions(+), 145 deletions(-) - -commit 9c17a477d29f633a4850ef8b458cbca82a19afc4 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Jun 3 17:40:56 2010 +0200 - - gl: Use the generic functions for filter/extend in gradients - - src/cairo-gl-composite.c | 26 ++++++++------------------ - src/cairo-gl-private.h | 2 ++ - 2 files changed, 10 insertions(+), 18 deletions(-) - -commit df93802765afcf883abef5549bd5dff3465e2d79 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Jun 3 17:38:28 2010 +0200 - - gl: Create separate functions for setting extend and filter - - src/cairo-gl-composite.c | 47 ++++++++++++++++++++++++++++------------------- - 1 file changed, 28 insertions(+), 19 deletions(-) - -commit 10e71806d2e1929aa127642a397fa6ccef434b5b -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Jun 2 20:04:57 2010 +0200 - - gl: Switch to deferred rendering - - 1) call _cairo_gl_composite_flush() or cairo_surface_flush() where - needed - 2) Destroy texture operands when necessary - 3) get rid of _cairo_gl_composite_end() - - With this patch, vertices are not flushed immediately anymore, but only - when needed or when a new set of vertices is emitted that requires an - incompatible setup. This improves performance a lot in particular for - text. (gnome-terminal-vim gets 10x faster) - - src/cairo-gl-composite.c | 40 ++++++++++++++++++++++------------------ - src/cairo-gl-glyphs.c | 4 ---- - src/cairo-gl-private.h | 4 ---- - src/cairo-gl-surface.c | 12 ++++++------ - 4 files changed, 28 insertions(+), 32 deletions(-) - -commit f2f79ca1b3455000df4138ab500ae03b6584250c -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Jun 2 19:57:47 2010 +0200 - - gl: Make using shaders an explicit argument - - This is preparation for a followup patch - - src/cairo-gl-composite.c | 15 ++++++++------- - 1 file changed, 8 insertions(+), 7 deletions(-) - -commit 19c1d8316e22fc37c7cdaf6c3e56519c06d10561 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Jun 2 18:14:28 2010 +0200 - - gl: Special case blend mode for CAIRO_CONTENT_COLOR - - This ensures that alpha stays at 1 for RGB in all cases. - - src/cairo-gl-composite.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 1f249064cc5c19a39ffe0faaa8825c8f8b6a2175 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Jun 2 18:11:04 2010 +0200 - - gl: rework _cairo_gl_set_operator() - - 1) store the current operator. This will be useful later to check if the - operator changed. - 2) pass the context instead of the destination as first argument. The - destination is known to be the current target. - - src/cairo-gl-composite.c | 16 +++++++++------- - src/cairo-gl-device.c | 3 +++ - src/cairo-gl-private.h | 1 + - 3 files changed, 13 insertions(+), 7 deletions(-) - -commit f66500d8b052251ea3ce06f06d2fa4c8dec2ff3b -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Jun 2 15:53:48 2010 +0200 - - gl: Only resetup textures if we need to - - src/cairo-gl-composite.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 45 insertions(+) - -commit d9dcafd61ad6aeecb4538e9fd44e3443a8a50bf1 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Jun 2 15:26:45 2010 +0200 - - gl: Do not reset the current target on release - - This now also requires a call to cairo_device_flush(). - - src/cairo-gl-device.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ce36be5c67fa5b574eb11eb98cdd8c9cd7e09335 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Jun 2 15:23:57 2010 +0200 - - glx: When acquiring device, use the correct drawable - - src/cairo-glx-context.c | 16 +++++++++++++--- - 1 file changed, 13 insertions(+), 3 deletions(-) - -commit 5819bb07eb7ac64f0e2fbe6a46cc3db0de1d92ce -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Jun 2 15:23:08 2010 +0200 - - gl: Store the vertex offset in the operand - - src/cairo-gl-composite.c | 1 + - src/cairo-gl-private.h | 1 + - 2 files changed, 2 insertions(+) - -commit c75460c54d88ce9a50ac59c15a10684043ca4b0e -Author: Benjamin Otte <otte@redhat.com> -Date: Sun May 30 22:01:10 2010 +0200 - - gl: Introduce a temporary texture unit - - ...and use it for image uploads. This makes sure that the texture units - used for SOURCE and MASK get not clobbered when images get uploaded to - textures. - - src/cairo-gl-composite.c | 2 ++ - src/cairo-gl-device.c | 17 +++++++++++++++++ - src/cairo-gl-private.h | 8 +++++++- - src/cairo-gl-surface.c | 2 ++ - 4 files changed, 28 insertions(+), 1 deletion(-) - -commit 1ddff8aba35466fe6689536bc5f2d7eeefaea02c -Author: Benjamin Otte <otte@redhat.com> -Date: Sun May 30 21:25:20 2010 +0200 - - gl: Only allocate a framebuffer if we need one - - This way, we don't clobber the current target when creating textures for - image surfaces. - - src/cairo-gl-device.c | 26 ++++++++++++++++++++++++++ - src/cairo-gl-private.h | 2 +- - src/cairo-gl-surface.c | 20 ++------------------ - 3 files changed, 29 insertions(+), 19 deletions(-) - -commit 1c15510c3d00553aba9ec4fd4e6764da3cdb0a41 -Author: Benjamin Otte <otte@redhat.com> -Date: Sun May 30 20:12:31 2010 +0200 - - Call cairo_surface_flush() before setting finished - - With the current code, the surface will never be flushed as the flush - function checks if the surface is finished, and if so, doesn't call the - vfunc. Ooops. - - src/cairo-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 467d5e7f90b9edfb62ca71e67608704424a10aca -Author: Benjamin Otte <otte@redhat.com> -Date: Fri May 28 21:56:57 2010 +0200 - - gl: Flush properly in set_destination - - src/cairo-gl-device.c | 33 +++++++++++++++++---------------- - 1 file changed, 17 insertions(+), 16 deletions(-) - -commit e15348d8d0bbff6968b1f640e63315d159f143f5 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri May 28 21:55:26 2010 +0200 - - gl: Don't reset vertex size - - src/cairo-gl-composite.c | 10 ++++++---- - src/cairo-gl-device.c | 1 + - 2 files changed, 7 insertions(+), 4 deletions(-) - -commit a8d6ac1efc3f1f5ff4f92f4e7a3492e62518f3f7 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri May 28 21:51:08 2010 +0200 - - gl: Remove check if we're between begin/end - - This will be useless soon, because we will keep the current state alive as - long as possible. - - src/cairo-gl-composite.c | 1 - - src/cairo-gl-private.h | 7 ------- - 2 files changed, 8 deletions(-) - -commit 8f675fb801f7864aa52778d4d53d7ab68f4e664b -Author: Benjamin Otte <otte@redhat.com> -Date: Fri May 28 21:46:52 2010 +0200 - - gl: Stop disabling the vertex array and the array buffer - - src/cairo-gl-composite.c | 12 ++++-------- - src/cairo-gl-device.c | 4 ++++ - 2 files changed, 8 insertions(+), 8 deletions(-) - -commit bef0b541497eb5a621df0b5528e08adb0beff961 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri May 28 21:08:17 2010 +0200 - - gl: Do not reset shaders on _end() - - Instead, keep the shader around until cairo_device_flush() is called. - - src/cairo-gl-composite.c | 35 ++++++++++++++++++++++------------- - src/cairo-gl-device.c | 3 +++ - src/cairo-gl-private.h | 6 ++++++ - 3 files changed, 31 insertions(+), 13 deletions(-) - -commit 534c14729921cbc2f8e24575eb792de9ddb96e23 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri May 28 21:06:58 2010 +0200 - - region: clarify docs of cairo_region_equal() - - src/cairo-region.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -commit 0fc6f08981604ffdd0109362dcbbd9773501cd9a -Author: Benjamin Otte <otte@redhat.com> -Date: Fri May 28 20:45:52 2010 +0200 - - gl: Make _shader_by_type() a getter - - And refactor code to do the current_shader assigning itself. - - src/cairo-gl-composite.c | 16 +++++++++++----- - src/cairo-gl-private.h | 5 +++-- - src/cairo-gl-shaders.c | 13 ++++++++----- - 3 files changed, 22 insertions(+), 12 deletions(-) - -commit 2971ca049881298cd171cf27cd3beb49d2c0572f -Author: Benjamin Otte <otte@redhat.com> -Date: Fri May 28 20:39:22 2010 +0200 - - gl: bind all shader variables at the same place - - Avoids the need to bind the shader when creating it. - - src/cairo-gl-composite.c | 26 ++++++++++++++++++++------ - src/cairo-gl-shaders.c | 11 ----------- - 2 files changed, 20 insertions(+), 17 deletions(-) - -commit e11d8370e0503f085beaa355d85fa6991cd497da -Author: Benjamin Otte <otte@redhat.com> -Date: Fri May 28 17:37:19 2010 +0200 - - gl: Set GL_BLEND and GL_SCISSOR_TEST globally - - Note that we do set them unconditionally in _begin() because a flush - might have cleared them. - - src/cairo-gl-composite.c | 11 +++-------- - src/cairo-gl-device.c | 8 ++++++++ - src/cairo-gl-surface.c | 1 + - 3 files changed, 12 insertions(+), 8 deletions(-) - -commit 7747f6d9146c19419fdc4fbbdf72eed42dfa731d -Author: Benjamin Otte <otte@redhat.com> -Date: Fri May 28 17:19:56 2010 +0200 - - gl: Introduce flush functions - - The flush functions will clear the state that will in the future be kep - unconditionally. - - src/cairo-gl-composite.c | 6 +++--- - src/cairo-gl-device.c | 22 +++++++++++++++++++++- - src/cairo-gl-private.h | 4 ++++ - src/cairo-gl-surface.c | 36 ++++++++++++++++++++++++++++++++---- - 4 files changed, 60 insertions(+), 8 deletions(-) - -commit 5c74beaaa5dedd82f891f1cc109142f7b6e222a8 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri May 28 17:19:45 2010 +0200 - - docs: fix typo - - src/cairo-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 92d7b1eee96e6b1448aaf3c95a44238fa0eeff48 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri May 28 16:19:12 2010 +0200 - - device: Make flush vfunc return a cairo_status_t - - Mirror the behavior of the surface flush vfunc: Make it return a status - and if it's an error set it on the device. - - src/cairo-device-private.h | 2 +- - src/cairo-device.c | 9 +++++++-- - src/cairo-xml-surface.c | 4 +++- - 3 files changed, 11 insertions(+), 4 deletions(-) - -commit 63e3cf3888d5b55295a04c4af28e876c04245b85 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri May 28 15:09:23 2010 +0200 - - gl: Move unsetting the state into the operand destroy function - - src/cairo-gl-composite.c | 43 +++++++++++++++++++++++++++++-------------- - 1 file changed, 29 insertions(+), 14 deletions(-) - -commit b9b85dbf3706fe9e50f40b5fda655e71931c2d7f -Author: Benjamin Otte <otte@redhat.com> -Date: Fri May 28 13:42:11 2010 +0200 - - gl: get rid of the operand's pattern variable - - Now someone just needs to teach cairo-gl to not use - cairo_pattern_acquire_surface() and we could avoid the nasty hack in - cairo_gl_operand_destroy(). - - src/cairo-gl-composite.c | 21 ++++++++++----------- - src/cairo-gl-private.h | 2 -- - 2 files changed, 10 insertions(+), 13 deletions(-) - -commit ae9517a39fdddec389553a64116140e222970ef0 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri May 28 13:18:28 2010 +0200 - - gl: Check mask's attributes for component alpha - - ... and don't duplicate that information into the cairo_gl_composite_t - - src/cairo-gl-composite.c | 14 ++++++++------ - src/cairo-gl-private.h | 1 - - 2 files changed, 8 insertions(+), 7 deletions(-) - -commit f72afc09d0b99030f5766e7bbbb05f6db606e195 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri May 28 13:14:09 2010 +0200 - - gl: Merge fixed function setup into general texture setup - - src/cairo-gl-composite.c | 84 ++++++++++++++++++++---------------------------- - 1 file changed, 34 insertions(+), 50 deletions(-) - -commit dd1faaf02e2a75ca8b9c484abd15726f5c6d3ac4 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri May 28 12:54:54 2010 +0200 - - gl: Move function - - I wanna use it elsewhere and keep the diff small. - - src/cairo-gl-composite.c | 58 ++++++++++++++++++++++++------------------------ - 1 file changed, 29 insertions(+), 29 deletions(-) - -commit d03800313623fb2b9e7d15c6a659ceaaee2882e8 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri May 28 12:51:08 2010 +0200 - - gl: Simplify mask operand setup code - - Component alpha just has one different value - - src/cairo-gl-composite.c | 40 +++++++--------------------------------- - 1 file changed, 7 insertions(+), 33 deletions(-) - -commit e20261dddaa194ab4e980da8681e9378d7fd7ef1 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri May 28 12:48:59 2010 +0200 - - gl: Get rid of operand argument to emit functions - - src/cairo-gl-composite.c | 34 +++++++++++++++------------------- - src/cairo-gl-glyphs.c | 2 +- - src/cairo-gl-private.h | 2 -- - src/cairo-gl-surface.c | 11 +++-------- - 4 files changed, 19 insertions(+), 30 deletions(-) - -commit 8062fb352e6cd1d961f0fbc660779f4ad94c7508 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri May 28 11:03:09 2010 +0200 - - gl: Add an enum for tex units - - Instead of hardcoding 0 for source and 1 for mask, use an enum. It's - also clearer when functions take a cairo_gl_tex_t argument instead of a - GLuint. - - src/cairo-gl-composite.c | 20 ++++++++++---------- - src/cairo-gl-private.h | 5 +++++ - src/cairo-gl-shaders.c | 34 ++++++++++++---------------------- - 3 files changed, 27 insertions(+), 32 deletions(-) - -commit 5db362dd6792af20282e0e9a2805ee6f1b921e44 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri May 28 10:24:33 2010 +0200 - - gl: Keep a copy of the current operand in the context - - Note that they are currently only valid as long as the - cairo_gl_composite_t exists, but that will be changed soon. - - src/cairo-gl-composite.c | 20 ++++++++++++++++---- - src/cairo-gl-private.h | 2 ++ - 2 files changed, 18 insertions(+), 4 deletions(-) - -commit a05f062c806ac014d0daffa1d74bdb0dd90a8a26 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 26 19:23:18 2010 +0200 - - gl: Move struct definitions in header - - src/cairo-gl-private.h | 66 +++++++++++++++++++++++++------------------------- - 1 file changed, 33 insertions(+), 33 deletions(-) - -commit 85d4c6c55b85c52d8f86247f00659e37354abd49 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 26 21:23:40 2010 +0200 - - gl: operand->texture.surface cannot be NULL - - src/cairo-gl-composite.c | 10 +++------- - 1 file changed, 3 insertions(+), 7 deletions(-) - -commit 9486ad5fbdad047b5194f6bed68a08bb4c594610 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 26 19:16:41 2010 +0200 - - gl: Remove composite_t argument from _flush() function - - src/cairo-gl-composite.c | 17 +++++++---------- - src/cairo-gl-glyphs.c | 2 +- - src/cairo-gl-private.h | 3 +-- - 3 files changed, 9 insertions(+), 13 deletions(-) - -commit 16e420b4dca5325ab295a27103299a916f334b05 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 26 19:13:53 2010 +0200 - - gl: Remove dependency on composite_t in draw function - - src/cairo-gl-composite.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit e46215ec6b94355b741acf5dfdd264d6396b4bc8 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 26 18:44:20 2010 +0200 - - gl: Remove unneeded and broken workaround - - We now ensure the values are properly zeroed when setting the operator. - - src/cairo-gl-composite.c | 14 +------------- - 1 file changed, 1 insertion(+), 13 deletions(-) - -commit b2d709b5c7e463437189b8e4a2c53a3317437825 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 26 17:41:01 2010 +0200 - - gl: Switch src alpha handling to a tiny on/off function - - Instead of doing setup every time, we just set this one flag. Much - nicer. - - src/cairo-gl-composite.c | 22 +++++++--------------- - 1 file changed, 7 insertions(+), 15 deletions(-) - -commit 53fd451f85974d2ed0d6f29a0a0549fd4c7035fe -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 26 17:32:14 2010 +0200 - - gl: Avoid redundant mask setup - - The mask doesn't change, so no need to set it up twice - - src/cairo-gl-composite.c | 2 -- - 1 file changed, 2 deletions(-) - -commit 1b3675fc4b9c7f6ad4d9edd9b27bee10c2502b81 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 26 17:28:05 2010 +0200 - - gl: Split fixed-function operand setup into own function - - src/cairo-gl-composite.c | 151 +++++++++++++---------------------------------- - 1 file changed, 42 insertions(+), 109 deletions(-) - -commit 02da871050f6be02ba0231e545d6613a42c3a7e6 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 26 17:02:29 2010 +0200 - - gl: Unify fixed function setup code - - src/cairo-gl-composite.c | 15 ++++----------- - 1 file changed, 4 insertions(+), 11 deletions(-) - -commit 74f9094162fba54c29859e25ad5be085604aa0b6 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 26 15:46:39 2010 +0200 - - gl: switch OPERAND0 and OPERAND1 in the fixed function path - - This should not change anything as we multiply the values. - But it allows unifying parts of the code, which will happen in another - patch. - - src/cairo-gl-composite.c | 42 +++++++++++++++++++++--------------------- - 1 file changed, 21 insertions(+), 21 deletions(-) - -commit c6aac5d0134f1473d3867c1b6a4b40753700ffcb -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 26 15:42:56 2010 +0200 - - gl: Move the pre shader to the context, too - - It's required when flushing, too. - - src/cairo-gl-composite.c | 10 +++++----- - src/cairo-gl-private.h | 2 +- - 2 files changed, 6 insertions(+), 6 deletions(-) - -commit 61bc3067ca5fa4aeaef537c397c37826facc7621 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 26 15:28:32 2010 +0200 - - gl: Store the clip region in the context - - This is necessary because we want to get rid of keeping the composite - stuff around. - - src/cairo-gl-composite.c | 15 ++++++++++----- - src/cairo-gl-device.c | 2 ++ - src/cairo-gl-private.h | 1 + - 3 files changed, 13 insertions(+), 5 deletions(-) - -commit db79880d9a836d50e9202caa5c73e22a2b6b97b3 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 26 13:03:12 2010 +0200 - - gl: Make gl_composite_begin() acquire the context - - Also remove the previous places for context acquisition. This completes - fixing the potential ABBA deadlock I talked about a few commits ago. - - src/cairo-gl-composite.c | 21 +++++++++++++++++---- - src/cairo-gl-glyphs.c | 7 ++++++- - src/cairo-gl-private.h | 4 ++-- - src/cairo-gl-surface.c | 26 +++++--------------------- - 4 files changed, 30 insertions(+), 28 deletions(-) - -commit 1320a168fa5b73fd42438040a4bf8ee9ad222a0e -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 26 12:26:49 2010 +0200 - - gl: Remove unused code - - We don't need to acquire/release the context, we're not using it. - - src/cairo-gl-glyphs.c | 11 +---------- - 1 file changed, 1 insertion(+), 10 deletions(-) - -commit 8f5c3b706b5bad6b0851a3e27752f7d1a3ca8a72 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 26 12:16:01 2010 +0200 - - gl: Make composite_set_clip_region not require the context - - src/cairo-gl-composite.c | 3 +-- - src/cairo-gl-glyphs.c | 2 +- - src/cairo-gl-private.h | 3 +-- - src/cairo-gl-surface.c | 2 +- - 4 files changed, 4 insertions(+), 6 deletions(-) - -commit ac6abcbac7f79e5717c44e251135dcba8ab00b27 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 26 12:14:24 2010 +0200 - - gl: Make composite_set_source/mask/mask_spans not require a context - - src/cairo-gl-composite.c | 77 +++++++++++++++++++++++++----------------------- - src/cairo-gl-glyphs.c | 5 ++-- - src/cairo-gl-private.h | 9 ++---- - src/cairo-gl-surface.c | 13 ++++---- - 4 files changed, 51 insertions(+), 53 deletions(-) - -commit 88a70d66fcdbca7e489baa48cd145bb69c3e28e0 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 26 11:59:36 2010 +0200 - - gl: Add API for querying if we need GL_TEXTURE_RECTANGLE_EXT - - We need to do that querying outside of taking the lock, so we want to be - able to query the device, not the context. - - src/cairo-gl-composite.c | 11 +++++------ - src/cairo-gl-glyphs.c | 2 +- - src/cairo-gl-private.h | 6 ++++++ - 3 files changed, 12 insertions(+), 7 deletions(-) - -commit 9c6e1338a1c7d61b4cc84bcdc5c38573a34cd561 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 26 11:36:22 2010 +0200 - - gl: Make cairo_gl_composite_t not require a gl context anymore - - First patch in a series. - - The idea is to make all gl operations in Cairo work like this: - 1) prepare cairo_gl_composite_t - 2) acquire device - 3) begin composite operation - 4) emit vertexes - 5) end operation - 6) release device - 7) cleanup composite operation - - This both reduces the time required with the device locked, cleans the - API and more importantly avoids ABBA deadlocks, as we currently call - acquire_pattern() with the device lock held. - - src/cairo-gl-composite.c | 6 ++---- - src/cairo-gl-glyphs.c | 7 +++---- - src/cairo-gl-private.h | 6 ++---- - src/cairo-gl-surface.c | 19 ++++++++----------- - 4 files changed, 15 insertions(+), 23 deletions(-) - -commit 60f0cb9c60556f94af903dd6f9da0628a05a1f7f -Author: Benjamin Otte <otte@redhat.com> -Date: Sat May 22 18:42:44 2010 +0200 - - gl: Flush surface at the right times - - src/cairo-gl-composite.c | 2 ++ - src/cairo-gl-device.c | 2 ++ - src/cairo-gl-surface.c | 2 ++ - 3 files changed, 6 insertions(+) - -commit ffeeae462ea0f8c7af326f3bcc66b88881bd8fdd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jun 6 16:50:34 2010 +0100 - - Revert "gstate: reduce a couple more operators" - - This reverts commit a85c6c1e36273d534f01ade0714b0592b6bed5ab. - - Soeren found that this introduced a regression when displaying pages in - evince, and since I'm not overly enthralled at the added complexity here - for very little gain, remove the reduction and leave it clear for a more - complete solution in the future. - - src/cairo-gstate.c | 15 +-------------- - 1 file changed, 1 insertion(+), 14 deletions(-) - -commit 44e628a6f4e6b9b21ad67b08869186a779d0db5a -Author: Makoto Kato <m_kato@ga2.so-net.ne.jp> -Date: Mon May 31 18:22:40 2010 +0900 - - openvg: fix build break - - src/cairo-vg-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit cc080a1e2731a42045709d789587070da944145c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 27 20:51:55 2010 +0100 - - gl: Unmap the vertex buffer prior to using in DaawArrays() - - "It is an INVALID_OPERTION error to source data from a buffer object - that is currently mapped." - - mesa is currently lax in this regard, but the Nvidia libGL conforms to - the spec and thus was causing failures. - - src/cairo-gl-composite.c | 23 ++++++++++++----------- - 1 file changed, 12 insertions(+), 11 deletions(-) - -commit b3e15bd5c307352065555c6c3ae5f0bd15b9a791 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 27 18:43:03 2010 +0100 - - gl: _cairo_set_shader_by_type() cannot return UNSUPPORTED - - So remove the superfuous test. - - src/cairo-gl-composite.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit 59bd34e6a3661483f60bb01be8b406a5c38e1131 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 27 18:35:40 2010 +0100 - - gl: Check for an error device when creating surfaces. - - src/cairo-gl-surface.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 53f086105975c1c2bd4c43a1b0613ebde3580e95 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 27 18:27:53 2010 +0100 - - gl: Make _cairo_gl_shader_(init|compile) static - - Only used within _cairo_gl_shaders.c, so remove the private symbol. - - src/cairo-gl-private.h | 10 ---------- - src/cairo-gl-shaders.c | 41 +++++++++++++++++++++++++---------------- - 2 files changed, 25 insertions(+), 26 deletions(-) - -commit dd0866cdc878a0be438a117051ccc64f12f81970 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 27 17:52:11 2010 +0100 - - boilerplate: Exercise RENDER capable windows. - - Ensure that the drivers actually work when rendering to a normal window. - - boilerplate/cairo-boilerplate-xlib.c | 107 +++++++++++++++++++++++++++++++++++ - 1 file changed, 107 insertions(+) - -commit 2dc42af9422a15f902934a53c074e4194991a9e4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon May 17 16:32:20 2010 +0100 - - script: Update csi-exec to match new interface. - - util/cairo-script/csi-exec.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 2f0f4ed0e2ae5657dedfe180b7be3a2496753ba8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 20 21:54:51 2010 +0100 - - freed-pool: Don't access beyond the end of the array. - - Argh. This bug has been here for quite some time and only showed itself - with a corrupt pointer on ppc32. Since the erroneous write is inside the - block, it remained undetected by valgrind. - - src/cairo-freed-pool-private.h | 8 +++++--- - src/cairo-freed-pool.c | 4 +++- - 2 files changed, 8 insertions(+), 4 deletions(-) - -commit 97b4aeba44e5f4b23b3ed417b991570b46d4736e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 20 21:54:16 2010 +0100 - - atomic: Add memory barriers if required for intel primitives - - src/cairo-atomic-private.h | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -commit 24e684c267404528b40fa49b55272d73bd44167d -Author: Benjamin Otte <otte@gnome.org> -Date: Thu May 20 22:37:18 2010 +0200 - - gl: spans need the dummy texture - - Thanks Eric. That took me half a day. - - src/cairo-gl-composite.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit d7a564d8eed32b4417fdb4c8c5d91467e4ae1019 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu May 20 22:10:06 2010 +0200 - - gl: Don't set is_clear - - 1) It's wrong. - 2) The core functions set the flag correctly already. - - src/cairo-gl-surface.c | 2 -- - 1 file changed, 2 deletions(-) - -commit f9cf07b126293d00df085d4fbfa337e1132e0258 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu May 20 16:08:38 2010 +0200 - - gl: Fix coverage passing for spans not being endian safe. - - src/cairo-gl-composite.c | 29 ++++++++++++++++------------- - src/cairo-gl-private.h | 2 +- - src/cairo-gl-surface.c | 4 ++-- - 3 files changed, 19 insertions(+), 16 deletions(-) - -commit 2a0f34c6da2eb4f10b198d04894fc1413352e041 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu May 20 11:23:18 2010 +0200 - - gl: Allow NONE and SPANS sampler for source, too - - src/cairo-gl-shaders.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 1586f7740ad436447ac75c6b869da7446172a63c -Author: Benjamin Otte <otte@gnome.org> -Date: Thu May 20 13:17:52 2010 +0200 - - gl: Refactor fixed function setup code - - In particular get rid of the _cairo_gl_set_tex_combine_constant_color() - function by inlining it and move common glTexEnv calls out of the - switch statement. - - src/cairo-gl-composite.c | 130 +++++++++++++++++------------------------------ - 1 file changed, 46 insertions(+), 84 deletions(-) - -commit 4889090c76bdab5e4eb887593caf5d5a34f90864 -Author: Benjamin Otte <otte@gnome.org> -Date: Thu May 20 12:13:43 2010 +0200 - - gl: set the active texture before fiddling with with glTexEnv - - fixes the fixed function pipeline - - src/cairo-gl-composite.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit 3cff2da912150868390bf4b9df166c88b3dfcf2e -Author: Benjamin Otte <otte@gnome.org> -Date: Thu May 20 12:03:18 2010 +0200 - - gl: Remove unused variables - - src/cairo-gl-composite.c | 9 --------- - 1 file changed, 9 deletions(-) - -commit 4c7dd1be4526c85b47f1fe1d4663e7fbec0926b1 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 19 22:03:18 2010 +0200 - - gl: Move vertex array setup code into the texture setup code - - src/cairo-gl-composite.c | 35 ++++++++++++++--------------------- - 1 file changed, 14 insertions(+), 21 deletions(-) - -commit d9d5976bdf333a5a7ea7707bc3076696f3c079d2 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 19 21:54:32 2010 +0200 - - gl: Add an assertion that a context cannot call _begin() twice - - Evert _begin() call must be followed by an _end() call to avoid any - nastiness. Just like GL. :) - - src/cairo-gl-composite.c | 2 ++ - src/cairo-gl-private.h | 7 +++++++ - 2 files changed, 9 insertions(+) - -commit 5b8b1fe1cb692530b40db330c3040cd85a8b6bd7 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 19 21:10:26 2010 +0200 - - gl: Move vertex buffer handling from setup into context - - We can only emit one vertex buffer at a time anyway. - - src/cairo-gl-composite.c | 34 ++++++++++++++++++---------------- - src/cairo-gl-private.h | 8 ++++---- - 2 files changed, 22 insertions(+), 20 deletions(-) - -commit 0d5f2eab77f055b063538dcd345a1e0db480f3bc -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 19 20:49:49 2010 +0200 - - gl: Actuall do fall back to fixed function paths. - - Previously we were just returning UNSUPPORTED all the time. I guess that - explains why my code got so slow... - - src/cairo-gl-composite.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit bb7ca71c1af416ca084f03089f5fe762403635dd -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 19 20:47:31 2010 +0200 - - gl: Don't store the shader in the composite_t anymore - - Now that we have ctx->current_shader, there's no need to keep it in the - composite setup code. - - src/cairo-gl-composite.c | 30 ++++++++++++++---------------- - src/cairo-gl-private.h | 10 ++++------ - src/cairo-gl-shaders.c | 16 ++++++---------- - 3 files changed, 24 insertions(+), 32 deletions(-) - -commit 6c477b4a945a8f8b866bb2f5e125d4a0328d05f4 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 19 20:10:19 2010 +0200 - - gl: Move shader checking in the TexEnv setup code - - As the previously generic setup code only contains non-shader code now, - we can check in advance that no shader is in use and do all the other - stuff without checks. - - src/cairo-gl-composite.c | 208 +++++++++++++++++++++++------------------------ - 1 file changed, 101 insertions(+), 107 deletions(-) - -commit 73262edd8201de8ab8a01e01f83af5b5d6470f9e -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 19 19:25:03 2010 +0200 - - gl: Move texture setup code into its own file - - This ensures textures don't need to be (re)set when doing component - alpha and running 2 shaders. - - src/cairo-gl-composite.c | 208 +++++++++++++++++++++-------------------------- - 1 file changed, 92 insertions(+), 116 deletions(-) - -commit 970c879dd897019f90b0c8ff5a18781be4935c55 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 19 18:34:00 2010 +0200 - - gl: Binding variables only works for the current shader - - So make the code reflect that. - - src/cairo-gl-composite.c | 27 ++++++++++++--------------- - src/cairo-gl-private.h | 6 ------ - src/cairo-gl-shaders.c | 22 ++++++++-------------- - 3 files changed, 20 insertions(+), 35 deletions(-) - -commit 065969d78f23c634ebcb2b931cbb1fe184f2cedf -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 19 18:21:06 2010 +0200 - - gl: Separate binding to shaders from setting operands - - That way we only need to bind to shaders when creating them, but not - everytime we switch shaders on text output. - - src/cairo-gl-composite.c | 156 +++++++++++++++++++++++------------------------ - src/cairo-gl-shaders.c | 2 +- - 2 files changed, 79 insertions(+), 79 deletions(-) - -commit c53f7778bcf274f64f801ef9ee1641a088842f60 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 19 16:50:57 2010 +0200 - - gl: Use the mask, not the source - - Not that we'd ever have constant color component-alpha masks, but that's - an entirely different topic. - - src/cairo-gl-composite.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 26e8e506b66022910c262da0618ef5be8c5a080e -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 19 13:19:56 2010 +0200 - - gl: Add _cairo_gl_surface_is_texture() - - It's more explicit then just checking surface->fb != 0 - Also, it makes improving that check easier. - - src/cairo-gl-device.c | 4 ++-- - src/cairo-gl-private.h | 6 ++++++ - src/cairo-gl-surface.c | 11 ++++++----- - 3 files changed, 14 insertions(+), 7 deletions(-) - -commit e4cb46b50015f792b0e8c7b49f3b42f2c3c0ad00 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 19 12:10:10 2010 +0200 - - gl: Implement texture upload to window with composite() - - Instead of custom code that does basically the same thing, use - a temporary surface and _cairo_gl_surface_composite() to upload images. - - src/cairo-gl-shaders.c | 2 +- - src/cairo-gl-surface.c | 129 ++++++++++++++++++------------------------------- - 2 files changed, 48 insertions(+), 83 deletions(-) - -commit 7c8759e279f51ea722c07e4b0c70f4a49f34393d -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 19 11:46:12 2010 +0200 - - gl: cache the current shader in the context - - src/cairo-gl-private.h | 4 +++- - src/cairo-gl-shaders.c | 7 +++++++ - 2 files changed, 10 insertions(+), 1 deletion(-) - -commit 6864ca6c25aa8147a562d7f693a95025dde807a8 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 19 11:10:11 2010 +0200 - - gl: Move _cairo_gl_set_operator() to the file it's used in - - Also make it a private function. - - src/cairo-gl-composite.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++++ - src/cairo-gl-private.h | 4 ---- - src/cairo-gl-surface.c | 57 ------------------------------------------------ - 3 files changed, 57 insertions(+), 61 deletions(-) - -commit 0d2d4c59026c31da084e6797d109a230341b396d -Author: Benjamin Otte <otte@redhat.com> -Date: Tue May 18 21:56:55 2010 +0200 - - gl: Detect color-pattern clears of surfaces - - ... and use glClear() there. - - The common case here is a solid color and OPERATOR_OVER. - - src/cairo-gl-private.h | 3 --- - src/cairo-gl-surface.c | 38 +++++++++++++++++++++++++++++--------- - 2 files changed, 29 insertions(+), 12 deletions(-) - -commit b70eb275c4aa54f7c90a985b5de67da12ac08a30 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue May 18 21:56:18 2010 +0200 - - gl: detect image uploads and fast-path them - - src/cairo-gl-surface.c | 23 +++++++++++++++++++++++ - 1 file changed, 23 insertions(+) - -commit 8adbf3aa19fd9fb8200973ecd72cdebfd9a5364d -Author: Benjamin Otte <otte@redhat.com> -Date: Tue May 18 20:12:44 2010 +0200 - - gl: Use _cairo_gl_surface_draw_image() when caching glyphs - - src/cairo-gl-glyphs.c | 47 ++++++++--------------------------------------- - 1 file changed, 8 insertions(+), 39 deletions(-) - -commit 915aa64ef077fe3b6094d0f1c8bd87ab5acc4868 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue May 18 13:01:30 2010 +0200 - - gl: Actually check errors for _cairo_gl_composite_begin() - - src/cairo-gl-glyphs.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 0222cc7d76b0dc724630b660687f98a2460eb0b9 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue May 18 13:00:34 2010 +0200 - - gl: Get rid of _cairo_gl_composite_set_mask_texture() - - Now that the glyph cache contains real surfaces, there's no longer a - need to have a special function for it. - - src/cairo-gl-composite.c | 16 ---------------- - src/cairo-gl-glyphs.c | 15 ++++++++------- - src/cairo-gl-private.h | 6 ------ - 3 files changed, 8 insertions(+), 29 deletions(-) - -commit 208d9f2a7e1f66ff2764c41fe67f65e27279b2ab -Author: Benjamin Otte <otte@redhat.com> -Date: Tue May 18 12:49:59 2010 +0200 - - gl: Make glyph cache a real surface - - This has the huge advantage that we can use real surface functions on - it. - - src/cairo-gl-glyphs.c | 67 +++++++++++++++++++------------------------------- - src/cairo-gl-private.h | 3 +-- - 2 files changed, 26 insertions(+), 44 deletions(-) - -commit 050117996339cfe35add1f2cd44d0e5578d4a981 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue May 18 12:02:54 2010 +0200 - - surface: Add _cairo_surface_release_device_reference() API - - See the API documentation for that function about its intended purpose. - - src/cairo-surface-private.h | 1 + - src/cairo-surface.c | 26 +++++++++++++++++++++++++- - src/cairoint.h | 3 +++ - 3 files changed, 29 insertions(+), 1 deletion(-) - -commit c489f67d1d1d6079f9b58b726ed42beea1dfc44e -Author: Benjamin Otte <otte@redhat.com> -Date: Mon May 17 20:45:42 2010 +0200 - - gl: Make a bunch of functions static - - They are no longer used outside of cairo_gl_composite_t. - - src/cairo-gl-composite.c | 8 ++++---- - src/cairo-gl-private.h | 16 ---------------- - 2 files changed, 4 insertions(+), 20 deletions(-) - -commit c8008e118a54d62690d6555c9ffabf734c39e69f -Author: Benjamin Otte <otte@redhat.com> -Date: Mon May 17 19:16:20 2010 +0200 - - gl: Don't name the union in cairo_gl_operand_t - - Gets rid of ultra-long variable names. - - src/cairo-gl-composite.c | 152 +++++++++++++++++++++++------------------------ - src/cairo-gl-private.h | 2 +- - 2 files changed, 77 insertions(+), 77 deletions(-) - -commit 53260148ea9abacdc510826765c1d63f486add6c -Author: Andrea Canciani <ranma42@gmail.com> -Date: Fri May 14 21:04:22 2010 +0200 - - quartz: fix repeating radial gradients on 64 bits - - Quartz API uses the type CGFloat, which is double on 64 bits, - float on 32 bits architectures - - src/cairo-quartz-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0104976dc853b60de14080a749a6f729852f1b22 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Fri May 14 21:03:19 2010 +0200 - - quartz: silence compiler warnings - - All the possible enum values have to be explicitly handled in switch statements. - - src/cairo-quartz-surface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit ac94a00a4d3acb36f011330b78d1311534fe90e0 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Fri May 14 19:33:15 2010 +0200 - - quartz: fallback for A1 images on little endian archs - - Quartz uses a bit ordering that is consistent with cairo on big - endian architectures, but isn't on little endian architectures. - - Fixes a1-mask and large-source-roi (on little endian) - - src/cairo-quartz-surface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit f40e3b09a130a9ccbe310120fd5cfc7ad7828a4d -Author: Andrea Canciani <ranma42@gmail.com> -Date: Thu May 13 12:15:19 2010 +0200 - - quartz-font: Silence 0x0 CGContext warning - - Silence Quartz complaints about operations on empty contexts: - <Error>: CGContextSetFont: invalid context 0x0 - <Error>: CGContextSetFontSize: invalid context 0x0 - <Error>: CGContextSetTextMatrix: invalid context 0x0 - <Error>: CGContextSetAlpha: invalid context 0x0 - <Error>: CGContextShowGlyphsAtPoint: invalid context 0x0 - - src/cairo-quartz-font.c | 77 +++++++++++++++++++++++++++---------------------- - 1 file changed, 42 insertions(+), 35 deletions(-) - -commit 1687e6169463947554f5476674a577e67e2c543b -Author: Andrea Canciani <ranma42@gmail.com> -Date: Thu May 13 11:54:32 2010 +0200 - - quartz-font: Conform context and antialias handling to quartz-surface - - A8 surfaces are now kAlphaOnly surfaces in quartz-font too. - Subpixel font smoothing can be enabled. - - src/cairo-quartz-font.c | 38 ++++++++++++++++++++++++++++---------- - 1 file changed, 28 insertions(+), 10 deletions(-) - -commit d68bbc0fe5706634e4c025bdcb311905b7f008e4 -Author: Benjamin Otte <otte@gnome.org> -Date: Mon May 17 20:57:08 2010 +0200 - - gl: Add missing NULL-check in non-shader code - - src/cairo-gl-composite.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 7f22372edf10f5eab53ea132d9226f6d5b49eb9a -Author: Benjamin Otte <otte@redhat.com> -Date: Mon May 17 14:20:17 2010 +0200 - - gl: Get rid of src and mask argument to composite_init() - - This was thought of as a way to detect self-painting, but it's better to - check that later in _begin() - when we check it. - - src/cairo-gl-composite.c | 2 -- - src/cairo-gl-glyphs.c | 2 +- - src/cairo-gl-private.h | 2 -- - src/cairo-gl-surface.c | 9 ++++----- - 4 files changed, 5 insertions(+), 10 deletions(-) - -commit 75f15babed8409fb1eaae514411de01d57072c80 -Author: Benjamin Otte <otte@redhat.com> -Date: Mon May 17 14:17:47 2010 +0200 - - gl: Implement fill_rectangles with composite - - Tiny performance improvement, but a lot less code. - - src/cairo-gl-surface.c | 204 ++++++++++--------------------------------------- - 1 file changed, 41 insertions(+), 163 deletions(-) - -commit e7c5b4f79fa24b75026c93bc9244115d2ee23930 -Author: Benjamin Otte <otte@redhat.com> -Date: Mon May 17 13:56:22 2010 +0200 - - gl: make _set_mask() accept NULL - - That way, it can be used to unset the mask. - - src/cairo-gl-composite.c | 3 +++ - src/cairo-gl-surface.c | 14 ++++++-------- - 2 files changed, 9 insertions(+), 8 deletions(-) - -commit 145db7a427e594f1d68a6c0f4afe5e365e219cf0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon May 17 12:37:46 2010 +0100 - - gl: Check status after composite_begin - - Skip the unnecessary work in _cairo_gl_surface_composite() if we fail - to setup the GL composite operation. - - src/cairo-gl-surface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 8695c41e80ce932fd5dd434307b92f323a937c7c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon May 17 12:36:54 2010 +0100 - - gl: Throw a _cairo_error when detecting a GLerror - - This allows us to easily set an breakpoint and inspect cairo's state - when we do something illegal. - - src/cairo-gl-private.h | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 1c18ab02c8d41be8e5886cbb34aeda5099189fef -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon May 17 11:42:26 2010 +0100 - - gl: Rename cairo_gl_shader_program_t to cairo_gl_shader_t - - And complete the move of the shaders into the cairo_gl_shader namespace. - Of particular note, the bind_*_to_shader become - _cairo_gl_shader_bind_*() and have proper types. - - src/cairo-gl-composite.c | 138 ++++++------- - src/cairo-gl-device.c | 14 +- - src/cairo-gl-private.h | 93 +++++---- - src/cairo-gl-shaders.c | 508 ++++++++++++++++++++++++++--------------------- - src/cairo-gl-surface.c | 54 ++--- - 5 files changed, 424 insertions(+), 383 deletions(-) - -commit 2325d755b03958d8ead9a995c0d1d03e4f93af0c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon May 17 10:33:46 2010 +0100 - - gl: Pretty print the error GLenum. - - src/cairo-gl-private.h | 3 ++- - src/cairo-gl-surface.c | 19 +++++++++++++++++++ - 2 files changed, 21 insertions(+), 1 deletion(-) - -commit 7ef1bd22ded512f4fad3959796d7f40c4ddc5824 -Author: Benjamin Otte <otte@redhat.com> -Date: Mon May 17 01:12:34 2010 +0200 - - gl: Update copyright statements - - - add 2010 Red Hat copyright for my code - - include myself as author - - update contributors list - - src/cairo-gl-composite.c | 5 ++++- - src/cairo-gl-device.c | 5 ++++- - src/cairo-gl-glyphs.c | 5 +++++ - src/cairo-gl-private.h | 6 ++++-- - src/cairo-gl-shaders.c | 8 +++++++- - src/cairo-gl-surface.c | 5 ++++- - 6 files changed, 28 insertions(+), 6 deletions(-) - -commit 0b69e51b526a609a2dc5f1d2fb9c49f240feb57b -Author: Benjamin Otte <otte@redhat.com> -Date: Mon May 17 00:56:21 2010 +0200 - - gl: Assert that binding values to shaders never fails - - As that would be a programming error, we can use an assert and get rid - of return values that we weren't checking anyway. - - src/cairo-gl-composite.c | 129 ++++++++++++++++++++--------------------------- - src/cairo-gl-private.h | 12 ++--- - src/cairo-gl-shaders.c | 114 ++++++++++++++++------------------------- - src/cairo-gl-surface.c | 15 +++--- - 4 files changed, 111 insertions(+), 159 deletions(-) - -commit 0bb11e8f5bcdc8a6f8384197b39c2ad48eaab1cd -Author: Benjamin Otte <otte@redhat.com> -Date: Mon May 17 00:49:01 2010 +0200 - - gl: Use GL_TRIANGLES instead of GL_QUADS - - It seems to increase performance by 1-2% on average and up to 30% in - some cases (on i965). - - src/cairo-gl-composite.c | 16 +++++++++++----- - 1 file changed, 11 insertions(+), 5 deletions(-) - -commit 2b771da47a87f86f378314bfe8033874d9444914 -Author: Benjamin Otte <otte@redhat.com> -Date: Sun May 16 23:58:47 2010 +0200 - - xlib: ensure variable isn't uninitialized - - src/cairo-xlib-surface.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit b768a33a602942825e5ec651ae7bafd6d5fc33ac -Author: Benjamin Otte <otte@redhat.com> -Date: Sun May 16 21:10:45 2010 +0200 - - gl: Set composite->has_component_alpha based on mask - - Previously it was set when initing the composite structure, but that - doesn't allow resetting it when a new mask is used. - - src/cairo-gl-composite.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit 1cde4601df8a3689450e2a0e15888c53aff12983 -Author: Benjamin Otte <otte@redhat.com> -Date: Sun May 16 21:05:16 2010 +0200 - - gl: Replace _cairo_gl_operand_init() with setters for src/mask - - Now cairo_gl_operand_t is no longer exposed outside of - cairo-gl-composite.c - - src/cairo-gl-composite.c | 34 +++++++++++++++++++++++++++++++++- - src/cairo-gl-glyphs.c | 10 +++++----- - src/cairo-gl-private.h | 25 ++++++++++++++++--------- - src/cairo-gl-surface.c | 26 +++++++++++++------------- - 4 files changed, 67 insertions(+), 28 deletions(-) - -commit 6575cb7a95e109ab39eda58603ed6a76581a41b0 -Author: Benjamin Otte <otte@redhat.com> -Date: Sun May 16 20:39:00 2010 +0200 - - gl: Convert glyphs path to use cairo_gl_composite_t - - src/cairo-gl-composite.c | 122 ++++++++++++----- - src/cairo-gl-glyphs.c | 331 ++++++----------------------------------------- - src/cairo-gl-private.h | 22 ++++ - 3 files changed, 150 insertions(+), 325 deletions(-) - -commit 8937f2b4b5e4bcb8ada1e478df6a7329c0b80a5a -Author: Benjamin Otte <otte@redhat.com> -Date: Sun May 16 13:19:48 2010 +0200 - - gl: Require ARB_vertex_buffer_object extension unconditionally - - <anholt> we shouldn't bother with non-vbo support. there's no - justification for a driver not supporting it. - - src/cairo-gl-composite.c | 1 - - src/cairo-gl-device.c | 5 +++-- - src/cairo-gl-glyphs.c | 3 --- - src/cairo-gl-private.h | 7 ------- - src/cairo-gl-surface.c | 12 ++++-------- - 5 files changed, 7 insertions(+), 21 deletions(-) - -commit 29dfd5b488e16ec8be879b2415635df93b874afc -Author: Benjamin Otte <otte@redhat.com> -Date: Sun May 16 03:36:05 2010 +0200 - - gl: Remove unused variables - - src/cairo-gl-surface.c | 7 +------ - 1 file changed, 1 insertion(+), 6 deletions(-) - -commit 4144488f516214b675d25d48add8cbd83fd17025 -Author: Benjamin Otte <otte@redhat.com> -Date: Sun May 16 03:29:04 2010 +0200 - - gl: Convert span renderer to use cairo_gl_composite_begin/end() - - Adds two new APIs to the composite API: - - _cairo_gl_composite_set_mask_spans() - Tells the composite renderer to use the color values for spans. - - _cairo_gl_composite_set_clip_region() - Tells the composite renderer to use GL_SCISSORS_TEST to clip when - drawing. This function is very unperformant, so if it can be avoided, - it probably shouldn't be used. - - src/cairo-gl-composite.c | 72 +++++++++++++- - src/cairo-gl-private.h | 10 ++ - src/cairo-gl-surface.c | 247 ++++++----------------------------------------- - 3 files changed, 110 insertions(+), 219 deletions(-) - -commit 6e81d85e3682f14e1c5dbe97dda2cc1fcd32df3a -Author: Benjamin Otte <otte@redhat.com> -Date: Sun May 16 03:27:28 2010 +0200 - - gl: Change _cairo_gl_composite_emit_rect() - - Two changes: - - The function now takes x1/y1,x2/y2 instead of x,y,width,height - - The function takes a color uint32_t. This will be used by spans. - - src/cairo-gl-composite.c | 27 +++++++++++++++------------ - src/cairo-gl-private.h | 9 +++++---- - src/cairo-gl-surface.c | 10 ++++++---- - 3 files changed, 26 insertions(+), 20 deletions(-) - -commit f8398cc2d83eb9ac37874f71d4f8805dbf0df412 -Author: Benjamin Otte <otte@redhat.com> -Date: Sun May 16 02:34:18 2010 +0200 - - gl: remove unused variables from span renderer - - src/cairo-gl-surface.c | 7 ------- - 1 file changed, 7 deletions(-) - -commit f5c5077def47b91b57dfbc8c2622b4aaf5ca8fbb -Author: Benjamin Otte <otte@redhat.com> -Date: Sun May 16 02:06:43 2010 +0200 - - gl: Support component alpha in gl_composite_t - - Use that to get rid of cairo_gl_surface_composite_component_alpha() - - src/cairo-gl-composite.c | 165 ++++++++++++++++++++++++++-- - src/cairo-gl-glyphs.c | 2 +- - src/cairo-gl-private.h | 4 + - src/cairo-gl-surface.c | 280 +---------------------------------------------- - 4 files changed, 167 insertions(+), 284 deletions(-) - -commit 88c118f891ca9ba472b8acff33829de845bb507c -Author: Benjamin Otte <otte@redhat.com> -Date: Sun May 16 00:24:17 2010 +0200 - - gl: Implement _composite_emit_rect() and _composite_end() - - And use it in cairo_gl_surface_composite() - - src/cairo-gl-composite.c | 164 +++++++++++++++++++++++++++++++++++++++++++++++ - src/cairo-gl-private.h | 19 ++++++ - src/cairo-gl-surface.c | 107 +++---------------------------- - 3 files changed, 192 insertions(+), 98 deletions(-) - -commit b96735f7b465a16182c4c8555878ba16b947e8f9 -Author: Benjamin Otte <otte@redhat.com> -Date: Sat May 15 22:12:12 2010 +0200 - - gl: Add _cairo_gl_composite_begin() function - - This is the first step at adding the following function set: - _cairo_gl_composite_begin() - _cairo_gl_composite_emit_*() - _cairo_gl_composite_end() - which will take care of proiding a unified model for emitting vertexes - using vbos instead of the 5 different methods we currently have. - - src/cairo-gl-composite.c | 30 ++++++++++++++++++++++++++++++ - src/cairo-gl-private.h | 6 ++++++ - src/cairo-gl-surface.c | 22 +--------------------- - 3 files changed, 37 insertions(+), 21 deletions(-) - -commit 211a8b8234d24dd8e00332cb0b0e625ac1ffef58 -Author: Benjamin Otte <otte@redhat.com> -Date: Sat May 15 21:27:58 2010 +0200 - - gl: make _cairo_operand_destroy private - - src/cairo-gl-composite.c | 2 +- - src/cairo-gl-private.h | 3 --- - 2 files changed, 1 insertion(+), 4 deletions(-) - -commit bf1060252abaa97eb5ce149f8b99055b42096c67 -Author: Benjamin Otte <otte@redhat.com> -Date: Sat May 15 21:26:55 2010 +0200 - - gl: make show_glyphs use the cairo_composite_t API - - src/cairo-gl-glyphs.c | 17 ++++++++++------- - 1 file changed, 10 insertions(+), 7 deletions(-) - -commit 948290de12c5f451d361903f0f52e0cde5527180 -Author: Benjamin Otte <otte@redhat.com> -Date: Sat May 15 20:33:00 2010 +0200 - - gl: Make the span renderer use the new composite APIs - - src/cairo-gl-surface.c | 32 ++++++++++++++++++++------------ - 1 file changed, 20 insertions(+), 12 deletions(-) - -commit 7ad8c3b45691ce0c8a86180bb3c1117b9a9980c0 -Author: Benjamin Otte <otte@redhat.com> -Date: Sat May 15 20:07:44 2010 +0200 - - gl: Move composite code into own file - - This allows designing a cleaner interface for cairo_composite_t as there - will not be static functions that get called outside of the "published" - interfaces. - - src/Makefile.sources | 3 +- - src/cairo-gl-composite.c | 898 +++++++++++++++++++++++++++++++++++++++++++++++ - src/cairo-gl-private.h | 8 + - src/cairo-gl-surface.c | 851 +------------------------------------------- - 4 files changed, 910 insertions(+), 850 deletions(-) - -commit 3ff32b00f0f85a853163c20b101ac5dd6a07da77 -Author: Benjamin Otte <otte@redhat.com> -Date: Sat May 15 18:20:56 2010 +0200 - - gl: cairo_gl_compsite_setup_t => cairo_gl_composite_t - - src/cairo-gl-glyphs.c | 4 ++-- - src/cairo-gl-private.h | 26 +++++++++++++------------- - src/cairo-gl-surface.c | 46 +++++++++++++++++++++++----------------------- - 3 files changed, 38 insertions(+), 38 deletions(-) - -commit c16edee26fb9f1669ee0ce1a61f0c54d802c6c7b -Author: Benjamin Otte <otte@redhat.com> -Date: Sat May 15 17:33:24 2010 +0200 - - gl: use glBlendFuncSeparate() - - This way we can treat alpha-only textures correctly and don't have to - emit different shaders for it. Also gets rid of - GL_OPERAND_TEXTURE_ALPHA. - - src/cairo-gl-glyphs.c | 9 +++------ - src/cairo-gl-private.h | 1 - - src/cairo-gl-shaders.c | 37 ------------------------------------- - src/cairo-gl-surface.c | 37 +++++++++++++------------------------ - 4 files changed, 16 insertions(+), 68 deletions(-) - -commit 4f5221a834a883262cce607d247f607d6c200363 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 12 21:12:37 2010 +0200 - - gl: acquire device manually in finish, as the default way will error - - We'll get CAIRO_STATUS_DEVICE_FINISHED, d'oh - - src/cairo-gl-device.c | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -commit 3f6300444928d12bf4a6e2f6f2c5fec1de7dba8e -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 12 20:53:20 2010 +0200 - - gl: Put shaders into a cache - - This allows to grow the complexity of the shaders without enlarging the - static array to unreasonable sizes. - - The cache size of 64 is essentially random. - - src/cairo-gl-device.c | 2 + - src/cairo-gl-private.h | 8 ++-- - src/cairo-gl-shaders.c | 111 +++++++++++++++++++++++++++++++++++++++++-------- - 3 files changed, 100 insertions(+), 21 deletions(-) - -commit 08b04caf52518f1672694341355b5f5418008e78 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 12 18:10:04 2010 +0200 - - gl: Add cairo_gl_composite_setup_init/fini() functions - - Simplifies the main code paths, and can be extended to do dest copies. - - src/cairo-gl-private.h | 13 ++++++++ - src/cairo-gl-surface.c | 91 ++++++++++++++++++++++++++++---------------------- - 2 files changed, 65 insertions(+), 39 deletions(-) - -commit aa14df0db5e4f236a9668ceda4e148e7d3ba0e9f -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 12 17:01:47 2010 +0200 - - gl: move operator check - - component alpha compositing checks the operator itself - - src/cairo-gl-surface.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit a3ee0a7f113ed38df66580ff7e38a79759b0c933 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 12 16:57:32 2010 +0200 - - gl: Programmatically generate fragment shaders - - src/cairo-gl-shaders.c | 428 +++++++++++++++++++++---------------------------- - src/cairo-gl-surface.c | 6 +- - 2 files changed, 186 insertions(+), 248 deletions(-) - -commit fe43b13052f7063f880aeeebda1880a6a2097922 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 12 13:57:06 2010 +0200 - - gl: Automatically generate the vertex shader source - - The idea is being able to generate shaders from the given input - on-demand. This allows creating more advanced shaders, such as those - that include the destination (for self-painting and - unsupported-by-blending operator) or painting images in weird formats - (extra translation step in shader, think YUV). - - src/cairo-gl-device.c | 2 +- - src/cairo-gl-private.h | 21 +++--- - src/cairo-gl-shaders.c | 195 ++++++++++++++++++++++++++++++------------------- - src/cairo-gl-surface.c | 3 +- - 4 files changed, 132 insertions(+), 89 deletions(-) - -commit 405eee07ad9a5bc325b339b8588facb905fb28f5 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 12 00:02:28 2010 +0200 - - gl: Get rid of cairo_gl_shader_source/mask_t - - Use the cairo_gl_operand_type_t instead. Those enums are pretty much - identical. - - src/cairo-gl-glyphs.c | 13 +++-- - src/cairo-gl-private.h | 67 ++++++++-------------- - src/cairo-gl-shaders.c | 60 ++++++++++--------- - src/cairo-gl-surface.c | 153 +++++++++++++++++++++++++++++-------------------- - 4 files changed, 157 insertions(+), 136 deletions(-) - -commit 5149bb87d7b547766ce6ff4976217454adbab562 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue May 11 21:35:13 2010 +0200 - - gl: s/_cairo_gl_set_destination/_cairo_gl_context_set_destination/ - - It's an operation on the context, so name it accordingly - - src/cairo-gl-device.c | 2 +- - src/cairo-gl-glyphs.c | 2 +- - src/cairo-gl-private.h | 2 +- - src/cairo-gl-surface.c | 16 ++++++++-------- - 4 files changed, 11 insertions(+), 11 deletions(-) - -commit 9f34e403f38192d711304fbde4dedbaa8e15fd6e -Author: Benjamin Otte <otte@redhat.com> -Date: Tue May 11 13:15:16 2010 +0200 - - gl: Share vertex shaders - - Previously, we created a new vertex shader for every shader program we - used. Now the code shares identical vertex shaders between programs. - - src/cairo-gl-device.c | 17 ++++- - src/cairo-gl-private.h | 27 ++++++-- - src/cairo-gl-shaders.c | 179 ++++++++++++++++++++++++++++--------------------- - src/cairo-gl-surface.c | 7 +- - 4 files changed, 142 insertions(+), 88 deletions(-) - -commit 562c323ae8689907d7a62a7c2f5c10fb8d055608 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun May 16 17:47:13 2010 +0930 - - cff: Use correct glyph advance when subsetting cff fonts - - Previously the glyph advance in font units was used for the widths in - the PDF font dictionary. This only works for cff fonts that use a - [0.001 0 0 0.001 0 0] font matrix. - - src/cairo-cff-subset.c | 38 ++++++++++++++++++--------------- - src/cairo-pdf-surface.c | 19 +++++++++-------- - src/cairo-scaled-font-subsets-private.h | 6 +++--- - 3 files changed, 34 insertions(+), 29 deletions(-) - -commit edcefa87ed0a8ff59b54ef9251182ce68f9158ba -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Wed May 12 23:12:55 2010 +0930 - - type1: Use correct glyph advance when subsetting type 1 fonts - - Previously the glyph advance in font units was used for the widths in - the PDF font dictionary. This only works for Type 1 fonts that use a - [0.001 0 0 0.001 0 0] font matrix. - - https://bugs.freedesktop.org/show_bug.cgi?id=28061 - - src/cairo-pdf-surface.c | 23 ++++++++++++----------- - src/cairo-scaled-font-subsets-private.h | 6 +++--- - src/cairo-type1-fallback.c | 18 +++++++++--------- - src/cairo-type1-subset.c | 6 +++--- - 4 files changed, 27 insertions(+), 26 deletions(-) - -commit 34fd094b3be54138c20ea5c4aab1d9597d056f35 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun May 16 10:23:30 2010 +0100 - - rtree: Actually pin the node when pinning. - - How embarrassing. - - src/cairo-rtree-private.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 63062511f6755af9ddd2985250465f94ebc5a3e8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun May 16 10:15:42 2010 +0100 - - boilerplate: Exercise manual double-buffering to a window - - Shouldn't possibly go wrong, but the mix of fbo and Window might prove - interesting. - - boilerplate/cairo-boilerplate-gl.c | 117 +++++++++++++++++++++++++++++++++++++ - 1 file changed, 117 insertions(+) - -commit 605be3182308ec7dfe15e9d89890c33800b1eea9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun May 16 10:11:02 2010 +0100 - - cairo: Missing private markup for _cairo_format_to_pixman_format - - src/cairoint.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 14d6c3e054da89e47fc82ea29a708290eefe1357 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun May 16 10:07:07 2010 +0100 - - configure: Include PTHREAD_CFLAGS in CAIRO_LDFLAGS - - Required for successful linking of our programs. I am not sure what the - impact this has upon other users of Cairo yet, I think we need to export - the PTHREAD_CFLAGS via cairo.pc as well. - - configure.ac | 1 + - 1 file changed, 1 insertion(+) - -commit c3df7e6d58364f883d91567757ed999ea88e10ca -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun May 16 09:54:04 2010 +0100 - - rtree: Replace undeclared TRUE/FALSE with 1/0 - - src/cairo-rtree-private.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 465ceb330eada9937945f5c4d156169167d4bf8c -Author: Andrea Canciani <ranma42@gmail.com> -Date: Sun May 16 09:41:12 2010 +0200 - - test: improve copyright notices - - Conform copyright notices to a1-image-sample.c - - test/dash-offset.c | 48 ++++++++++++++++------------------------- - test/linear-gradient-extend.c | 36 ++++++++++++++++--------------- - test/radial-gradient-extend.c | 36 ++++++++++++++++--------------- - test/surface-pattern-operator.c | 36 ++++++++++++++++--------------- - 4 files changed, 76 insertions(+), 80 deletions(-) - -commit e8bc25fdb21340b0a5a25f7193fd0bc5de540a50 -Author: Andrea Canciani <ranma42@valium.area51.sns.it> -Date: Fri May 14 21:40:13 2010 +0200 - - test: add linear-gradient-extend and radial-gradient-extend - - Check that constant gradient to solid color optimization are only - applied if the extents permit it. - - test/Makefile.sources | 2 + - test/linear-gradient-extend.c | 90 ++++++++++++++++++++++++++++++++++++ - test/linear-gradient-extend.ref.png | Bin 0 -> 371 bytes - test/radial-gradient-extend.c | 90 ++++++++++++++++++++++++++++++++++++ - test/radial-gradient-extend.ref.png | Bin 0 -> 466 bytes - 5 files changed, 182 insertions(+) - -commit a9d821b7a0f582b3d1b0175adee3350c81061a94 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri May 14 21:06:18 2010 +0200 - - gl: gl surfaces are only similar when they share the same device - - Fixes gl-surface-source test for gl target - - src/cairo-gl-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 435329a70f172c8cec72831dd7a2b2cfc0496342 -Author: Richard Procter <richard.n.procter@gmail.com> -Date: Fri May 14 14:48:46 2010 -0400 - - Bug 28100 - Font option CAIRO_HINT_METRICS_OFF unhonoured on win32 - - Fix typo. Ouch! - - src/cairo-win32-font.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3a550eb2253588372b2c071b3c3152d5271c1aa2 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu May 13 21:17:19 2010 +0200 - - gl: Remove gradient optimizations - - These optimizations are done in cairo-gstate.c these days. - - src/cairo-gl-surface.c | 31 ------------------------------- - 1 file changed, 31 deletions(-) - -commit 3b1c0a4bd66660780095e6016e3db451f34503a3 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri May 14 15:56:17 2010 +0200 - - fallback: Remove span renderer paths - - Those paths were broken, as they didn't properly translate the polygon - to the destination size. And rather than adding lots of code that allows - translation, it's easier to just delete this code. - - Note that the only user of the code was the GL backend anyway. - - src/cairo-surface-fallback.c | 67 -------------------------------------------- - 1 file changed, 67 deletions(-) - -commit e3b2212bc5c4884eab356ae263b8318e10c379ac -Author: Benjamin Otte <otte@redhat.com> -Date: Thu May 13 15:14:29 2010 +0200 - - build: Fix pthread detection - - Incorporate the pthread detection code from the autoconf archive. Should - fix build on obscure archs that pretend to be UNIXy - like Mac OS X - Tiger. - - http://www.gnu.org/software/autoconf-archive/ - http://www.gnu.org/software/autoconf-archive/ax_pthread.html - - build/ax-pthread.m4 | 283 ++++++++++++++++++++++++++++++++++++++++++ - build/configure.ac.system | 11 -- - configure.ac | 14 +-- - util/cairo-sphinx/Makefile.am | 5 +- - util/cairo-trace/Makefile.am | 2 +- - 5 files changed, 292 insertions(+), 23 deletions(-) - -commit acfbf95a0c7620359fd917224b5b391702740190 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu May 13 14:21:21 2010 +0200 - - test: Make global variables in new test static - - It seems there's no gcc flag that warns about this. - - test/zero-mask.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit c69143e3f9c95ab3937a7efb8e4de170c4edb648 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 12 21:14:36 2010 +0200 - - gl: Don't keep a temporary surface in the device - - We get circular references that way. - If it turns out later such a cache is critical, we'll need to invent a - way to avoid circling references. For now, just pretend it's not - important. - - src/cairo-gl-glyphs.c | 36 ++++++++---------------------------- - src/cairo-gl-private.h | 1 - - 2 files changed, 8 insertions(+), 29 deletions(-) - -commit ec1ca17b71b41159ea8754d42954863b62623536 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu May 13 12:07:53 2010 +0200 - - gl: Don't create 0x0 surfaces - - We get a very annoyed libGL if we try to create 0x0 textures, so we - return an image surface instead. - - Tested by the zero-mask test. - - src/cairo-gl-surface.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 108e3f5031fc16843197382af78af299b19ef290 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu May 13 12:01:39 2010 +0200 - - Use a solid color for 0xN and Nx0 surfaces - - This gets around the need to check for 0-sized surfaces in the backends. - - src/cairo-gstate.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -commit 18c963824ebbb0e7054e682ecb5664a282a58552 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu May 13 11:56:22 2010 +0200 - - Make _cairo_color_equal() work for unmultiplied colors, too - - Color stop colors are unmultiplied, and we use it there. - - src/cairo-color.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -commit 7bd8d0db1f4ac448c93d6d342726f64a0d6300e3 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu May 13 11:23:33 2010 +0200 - - image: Fix wholly unbounded fixup - - Tested by zero-mask test. - - src/cairo-image-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8aa50b5a7873b8317d0593105497607dbb2fae1d -Author: Benjamin Otte <otte@redhat.com> -Date: Thu May 13 10:27:37 2010 +0200 - - cairo_paint_with_alpha(cr, 0.0) is only a noop when bounded by mask - - src/cairo.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit ee32dfb3de035e73cb8c2073c0826daf244e3845 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu May 13 10:04:49 2010 +0200 - - test: Add a test for various zero mask operations - - test/Makefile.sources | 3 +- - test/zero-mask.c | 199 +++++++++++++++++++++++++++++++++++++++++++ - test/zero-mask.ref.png | Bin 0 -> 402 bytes - test/zero-mask.rgb24.ref.png | Bin 0 -> 382 bytes - 4 files changed, 201 insertions(+), 1 deletion(-) - -commit 986ae4232067d4f33931d98fb6324871a1025633 -Author: Owen W. Taylor <otaylor@fishsoup.net> -Date: Thu Feb 25 15:18:22 2010 -0500 - - language bindings guide: clarify mapping for cairo_pattern_create_rgb[a] - - Clarify that cairo_pattern_create_rgb() and cairo_pattern_create_rgba() - should be be overloaded as a single constructor for SolidPattern, but - instead should be static methods. - - doc/public/language-bindings.xml | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -commit 18b48a6ebc044c07f08bafd0abcb68c595c5746c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 13 10:00:18 2010 +0100 - - Make cairo_color_stop_t a unique type. - - Hopefully reduce the occurrence of the confusion between the - premultiplied shorts in cairo_color_t and the non-premultiplied shorts - in cairo_color_stop_t. - - The existence of the two separate types is debatable and open for - review. - - src/cairo-color.c | 4 ++-- - src/cairo-gstate.c | 2 +- - src/cairo-pattern.c | 2 +- - src/cairo-pdf-surface.c | 9 --------- - src/cairo-ps-surface.c | 32 ++------------------------------ - src/cairo-svg-surface.c | 4 ++-- - src/cairo-types-private.h | 17 ++++++++++++++++- - src/cairoint.h | 4 ++-- - 8 files changed, 26 insertions(+), 48 deletions(-) - -commit dfa2544f158930b002df74e676f3ef7aeeee1bd4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 13 09:52:39 2010 +0100 - - color: Special case comparing color stops. - - color stops are not premultiplied so we need to handle them carefully - when comparing. The next step will be to make cairo_color_stop_t a - unique type to prevent this mistake again. - - src/cairo-color.c | 30 ++++++++++++++++++++++++++++++ - src/cairo-gl-surface.c | 4 ++-- - src/cairo-gstate.c | 4 ++-- - src/cairo-pattern.c | 6 +++--- - src/cairoint.h | 4 ++++ - src/drm/cairo-drm-intel.c | 2 +- - 6 files changed, 42 insertions(+), 8 deletions(-) - -commit 4741d33cf67409a6fddbc32a5d0c8d68224cd939 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 13 09:31:10 2010 +0100 - - gstate: Don't reduce solid source and mask for SOURCE and CLEAR - - Not all operators are created equal, and this optimization breaks for - SOURCE and CLEAR where the mask operates on the clip and not the source. - - src/cairo-gstate.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit ee871940ffe229ed285e618566e45c7d28c5857c -Author: Andrea Canciani <ranma42@gmail.com> -Date: Thu May 13 01:54:39 2010 +0200 - - Revert bd672d080ca0036ef1b88d26583e6af36f541461 - on src/cairo-composite-rectangles.c - - The extent of the operation can be larger than the source if - the operator is not bounded by the source. - - Fixes clip-unbounded, operator-source, surface-pattern-operator - - src/cairo-composite-rectangles.c | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -commit 0870c6fb5b39dcc04fa376123848adde2d06d2ce -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Apr 15 20:31:24 2010 +0100 - - gcc-4.5 warnings and optimisation flags. - - build/configure.ac.warnings | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit cf0933a05aedb66b5d8999c84b935349b25dd974 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Apr 12 10:42:14 2010 +0100 - - gallium: Refresh. - - Catch up with changes in APIs, still no substance and the integration - with winsys handles needs review. - - boilerplate/Makefile.win32.features | 8 - - build/Makefile.win32.features-h | 1 - - src/Makefile.win32.features | 8 - - src/drm/cairo-drm-gallium-surface.c | 514 ++++++++++++++++++++++-------------- - 4 files changed, 317 insertions(+), 214 deletions(-) - -commit bd672d080ca0036ef1b88d26583e6af36f541461 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Mar 26 19:37:08 2010 +0000 - - drm: code dump, sorry. - - Lots upon lots of tiny fixes mixed in with experimental code. :( - - boilerplate/Makefile.win32.features | 18 + - boilerplate/cairo-boilerplate-drm.c | 12 +- - build/Makefile.win32.features | 1 + - build/Makefile.win32.features-h | 4 + - build/configure.ac.features | 1 + - configure.ac | 13 + - src/Makefile.sources | 7 + - src/Makefile.win32.features | 22 + - src/cairo-boxes-private.h | 4 + - src/cairo-boxes.c | 31 + - src/cairo-composite-rectangles.c | 7 +- - src/cairo-drm-xr.h | 66 + - src/cairo-drm.h | 4 +- - src/cairo-fixed-private.h | 18 +- - src/cairo-freelist-private.h | 1 - - src/cairo-freelist.c | 7 +- - src/cairo-image-surface.c | 2 +- - src/cairo-list-private.h | 31 +- - src/cairoint.h | 7 + - src/drm/cairo-drm-i915-glyphs.c | 82 +- - src/drm/cairo-drm-i915-private.h | 153 +- - src/drm/cairo-drm-i915-shader.c | 866 ++++++----- - src/drm/cairo-drm-i915-spans.c | 146 +- - src/drm/cairo-drm-i915-surface.c | 1884 ++++++++++++++++++------ - src/drm/cairo-drm-i965-glyphs.c | 36 +- - src/drm/cairo-drm-i965-private.h | 2 +- - src/drm/cairo-drm-i965-shader.c | 11 +- - src/drm/cairo-drm-i965-spans.c | 16 +- - src/drm/cairo-drm-i965-surface.c | 146 +- - src/drm/cairo-drm-intel-debug.c | 1 + - src/drm/cairo-drm-intel-ioctl-private.h | 25 + - src/drm/cairo-drm-intel-private.h | 92 +- - src/drm/cairo-drm-intel-surface.c | 90 +- - src/drm/cairo-drm-intel.c | 530 ++++--- - src/drm/cairo-drm-private.h | 10 +- - src/drm/cairo-drm-radeon-surface.c | 60 +- - src/drm/cairo-drm-surface.c | 37 +- - src/drm/cairo-drm-xr.c | 2377 +++++++++++++++++++++++++++++++ - 38 files changed, 5416 insertions(+), 1404 deletions(-) - -commit c8fba4960339797521afbf8068fcbe62d064f5dc -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Apr 3 15:38:04 2010 +0100 - - rtree: Remove the unused evict hook. - - src/cairo-gl-glyphs.c | 3 +-- - src/cairo-rtree-private.h | 4 +--- - src/cairo-rtree.c | 13 +------------ - src/drm/cairo-drm-i915-surface.c | 3 +-- - src/drm/cairo-drm-intel.c | 2 +- - 5 files changed, 5 insertions(+), 20 deletions(-) - -commit 2a0726337368462046ef84d9be4cf59734b39806 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Apr 3 15:30:18 2010 +0100 - - rtree: defer propagating pinned nodes until eviction. - - Only during infrequent eviction do we require absolute knowledge of - which graph of nodes are in use and thus pinned. So during the common - use of querying the glyph cache, we just mark the leaf as used. Then we - need to make space for a new glyph, we move the parents of the left - nodes from the evictable list to the pinned list. - - src/cairo-rtree-private.h | 12 ++++++++++-- - src/cairo-rtree.c | 33 +++++++++++---------------------- - 2 files changed, 21 insertions(+), 24 deletions(-) - -commit cbe8fd0794adaccdf3eb15eef780a030e3d51784 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Apr 3 14:56:25 2010 +0100 - - script: Avoid the expensive of the redundant memset. - - As we are about to immediately fill the entire image, allocate the - memory ourselves to avoid the redundant memset performed by pixman. - - util/cairo-script/cairo-script-operators.c | 39 ++++++++++++++++++++---------- - 1 file changed, 26 insertions(+), 13 deletions(-) - -commit b9f7a4b5261b6d4e7bdbb5cc56d78d50ad1bd4a7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Apr 3 14:48:36 2010 +0100 - - script: Don't hash the entire image. - - The reuse hit rate is very small, and most images are quickly - distinguished in the first few bytes... Though perhaps not for video as - in the swfdec-youtube case... - - util/cairo-script/cairo-script-operators.c | 35 ++++++++++++++++++++---------- - 1 file changed, 24 insertions(+), 11 deletions(-) - -commit a85c6c1e36273d534f01ade0714b0592b6bed5ab -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Apr 3 14:09:56 2010 +0100 - - gstate: reduce a couple more operators - - src/cairo-gstate.c | 15 ++++++++++++++- - 1 file changed, 14 insertions(+), 1 deletion(-) - -commit a3cb52e4037db9e565d32f85d69c364b606555e9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Apr 3 13:36:18 2010 +0100 - - simplify pattern extents for translation matrices - - src/cairo-pattern.c | 22 ++++++++++++++-------- - 1 file changed, 14 insertions(+), 8 deletions(-) - -commit d45c7dc62d6b036bbbe85c3c1951807e055930d9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Apr 1 17:09:11 2010 +0100 - - xcb: discard glyph mask and use dst directly when possible. - - boilerplate/cairo-boilerplate-xcb.c | 12 ++++-- - src/cairo-gstate.c | 18 ++++++-- - src/cairo-pattern.c | 2 +- - src/cairo-xcb-surface-render.c | 85 +++++++++++++++++++++++++++++-------- - 4 files changed, 92 insertions(+), 25 deletions(-) - -commit a8b611ea8eb90f190ee3a9e7999e08e2d865ac43 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Mar 27 08:23:10 2010 +0000 - - clip: Fill instead of creating intermediate surfaces. - - src/cairo-clip.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit fb53d05a69d0291fe68dfe8669b5c1f7636ede1a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed May 12 20:06:34 2010 +0100 - - test: Remove pthread_yield() - - I accidentally pushed this debugging left-over from when I was tracking - down a race in memfault. Remove it so that the test suite compiles on - more minimal pthread setups. - - test/pthread-same-source.c | 2 -- - test/pthread-show-text.c | 2 -- - test/pthread-similar.c | 2 -- - 3 files changed, 6 deletions(-) - -commit cdd98dba6a62360071aebb6dbbb6be2ab6be368f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed May 12 19:35:15 2010 +0100 - - win32-printing: compile fix. - - Missing arg for _cairo_recording_surface_replay_region(). - - src/cairo-win32-printing-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 35307fc66f649cc042ec07b7b79277d7ee5987f3 -Author: Jonathan Kew <jfkthame@gmail.com> -Date: Tue May 11 15:12:01 2010 -0400 - - win32: Grow glyph extents to account for ClearType - - Add extra pixel on each side of the glyph's black box returned by - GetGlyphOutlineW, to avoid clipping ClearType pixels. - - From https://bugzilla.mozilla.org/show_bug.cgi?id=445087 - - src/cairo-win32-font.c | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -commit d65e8064c0bd3f2d5ad200493bfefb89aefbba55 -Author: Robert O'Callahan <robert@ocallahan.org> -Date: Tue May 11 13:59:58 2010 -0400 - - Ensure the quartz backend returns the first stop for negative positions on the gradient line of a nonrepeating linear gradient. - - I discovered a small bug in cairo-quartz gradients. If you have multiple stops - at position 0, then cairo-quartz pads with the *last* stop at position 0, - instead of the first stop at position 0. This patch fixes that. - - From https://bugzilla.mozilla.org/show_bug.cgi?id=513395 - - src/cairo-quartz-surface.c | 24 ++++++++++++++++++++++-- - 1 file changed, 22 insertions(+), 2 deletions(-) - -commit ce27db9a558cbf4065b18aed55cc706fc0a6d128 -Author: Robert O'Callahan <robert@ocallahan.org> -Date: Tue May 11 13:59:52 2010 -0400 - - Don't repeat a Quartz gradient more times than necessary, to avoid Quartz quality problems when there are lots of repeated color stops. - - -- Add a parameter to _cairo_quartz_setup_source so we can pass down the - extents of the object we're drawing - -- Compute fill/stroke/glyph extents and pass them down in the cases we need to - (repeating/reflecting gradients) - -- Pass those extents on down to where we set up the gradients - -- Make _cairo_quartz_setup_linear_source fall back to pixman for the - degenerate case where the linear gradient vector has no length - -- In CreateRepeatingRadialGradientFunction and - CreateRepeatingLinearGradientFunction, use the object extents (or surface - extents, for the paint() case) instead of the clip box to calculate the - parameters for the gradient - -- I've changed the way CreateRepeatingLinearGradientFunction calculates the - repetition count. The new approach gives much more precise bounds on the number - of repetitions needed (and is very similar to what we do for radial gradients). - This is important because if we specify a much larger input range than we - really need for our gradient color function, Quartz samples it too coarsely - over the range we actually care about, and the gradients look bad. - - For example, suppose start = (5,0), end = (6,10), the CTM is identity and the - bounds we want to cover is (0,0)-(10,10). I think the current approach sets up - the gradient to be repeated 10 times. In fact only 3 repetitions are needed. - - Also, using 'width' here didn't look right: - - y_rep_end = (int) ceil((surface->extents.width - MAX(mstart.y, mend.y)) - / dy - - From https://bugzilla.mozilla.org/show_bug.cgi?id=508730 - - src/cairo-quartz-surface.c | 261 +++++++++++++++++++++++++++++++-------------- - 1 file changed, 179 insertions(+), 82 deletions(-) - -commit 7b4e63d5b8bda8e9ea1f6455d779070f64f07f6f -Author: Robert O'Callahan <robert@ocallahan.org> -Date: Tue May 11 13:59:43 2010 -0400 - - Clean up Quartz gradient code by moving some local variables to static const globals. - - From https://bugzilla.mozilla.org/show_bug.cgi?id=508730 - - src/cairo-quartz-surface.c | 31 +++++++++++++------------------ - 1 file changed, 13 insertions(+), 18 deletions(-) - -commit 8302952dcff20a1d2de194152ace810c7056f994 -Author: Robert O'Callahan <robert@ocallahan.org> -Date: Tue May 11 13:58:10 2010 -0400 - - quartz: Don't fallback to pixman for repeating radial gradients. - - Figuring out where the outer circle should move to is tricky. I hope the - algebra in there is understandable. - - This is a nice performance improvement, probably because we avoid painting the - gradient over the entire clipBox (which is usually the entire surface). - - I tried to write reftests that compared a repeating radial gradient to a - non-repeating gradient with manually repeated stops, but it didn't work because - the rasterization was slightly different --- I'm not sure why. - - This patch also forces us to use pixman for all degenerate cases where the - circles intersect. This at least makes us consistent across platforms. - - From https://bugzilla.mozilla.org/show_bug.cgi?id=508227 - - src/cairo-quartz-surface.c | 203 ++++++++++++++++++++++++++++++++++++++++----- - 1 file changed, 180 insertions(+), 23 deletions(-) - -commit 1bda2334b32394a821e6286fbc76617e68da3895 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 11 13:51:38 2010 +0100 - - trace: And for the bonus round... Make it compile. - - util/cairo-trace/trace.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit b23f3bd20450aae764f9f9362c560b00bf68636b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 11 13:54:08 2010 +0100 - - trace: Try wrapping FT_Open_Face() - - We have to be careful to disambuigate an internal call by FreeType from - the application. - - util/cairo-trace/trace.c | 38 ++++++++++++++++++++++++++------------ - 1 file changed, 26 insertions(+), 12 deletions(-) - -commit ee446910aa1db0ca0b54791a2ef3bb24b277c9a4 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Mon May 10 15:06:25 2010 -0400 - - Add an additional set parantheses around the container_of macro - - The non-__GNUC__ version of the container_of macro would do wrong - when used like container_of(...)-> because '->' binds tighter - than the cast in the container_of macro. Adding an additional - set of parantheses fixes this. - - src/cairoint.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e540d040bddc717f17e0e2510cffc0bc3cb41ccd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon May 10 13:36:53 2010 +0100 - - xcb: trivial memfault fixes. - - The first fixes required to kick-start memfault testing of the xcb - backend. - - boilerplate/cairo-boilerplate-xcb.c | 22 +++++++++++--- - src/cairo-xcb-connection-render.c | 35 +++++++++++++++++------ - src/cairo-xcb-connection.c | 57 ++++++++++++++++++++++++++----------- - src/cairo-xcb-private.h | 2 +- - src/cairo-xcb-screen.c | 15 +++++----- - src/cairo-xcb-surface-core.c | 1 - - src/cairo-xcb-surface-render.c | 32 +++++++++++++++++---- - src/cairo-xcb-surface.c | 5 ++-- - src/cairo-xlib-xcb-surface.c | 1 - - 9 files changed, 123 insertions(+), 47 deletions(-) - -commit 8b486db9a9d74b40df296382eb1833bc40ae791a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon May 10 12:45:31 2010 +0100 - - region: _cairo_region_create_in_error() - - Avoid leaks when reporting memfault associated with constructing - regions. - - src/cairo-path-fill.c | 7 ++---- - src/cairo-region-private.h | 3 +++ - src/cairo-region.c | 63 ++++++++++++++++++++++++++++++++++++++++------ - 3 files changed, 60 insertions(+), 13 deletions(-) - -commit 9d863cd3942c3086c24d67305f7a5892604d0eeb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat May 8 18:20:11 2010 +0100 - - xcb: Find the correct xcb_screen_t for faking Screen - - When choosing the xcb_screen_t to use for the xlib-xcb backing surface, - it helps if it matches the screen used to generate similar surfaces and - snapshots - otherwise we end up pulling the image back from the XServer - every time we want to use the Picture. - - src/cairo-xlib-xcb-surface.c | 23 +++++++++++++++++++++-- - 1 file changed, 21 insertions(+), 2 deletions(-) - -commit 448d3571088463fc61641badcdfdc8c0002ae12a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat May 8 09:59:54 2010 +0100 - - xcb: Upload images in place. - - A common operation is to store an image in a similar surface, so - construct a fast path to avoid the allocation and double-blit through a - temporary pixmap. - - src/cairo-xcb-private.h | 5 ++ - src/cairo-xcb-surface-render.c | 169 ++++++++++++++++++++++++++++++++++++++++- - src/cairo-xcb-surface.c | 31 ++++---- - 3 files changed, 189 insertions(+), 16 deletions(-) - -commit e48cbd3b47a6e4f7c1f66b3085df41546460e477 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat May 8 09:56:46 2010 +0100 - - xcb: Reset picture after failed snapshot. - - Clear the local picture variable if we cannot use the snapshot so that - we are forced to create a new and valid picture. - - src/cairo-xcb-surface-render.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 4e3c19833ef8631c1f1cd54870c0a86d88252886 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri May 7 21:30:13 2010 +0100 - - test: Force cairo-test-suite to return SUCCESS - - Set the CAIRO_TEST_FORCE_PASS environment variable to run through the - test suite and ignore errors. Useful for forcing distcheck to continue - past a broken test suite. - - test/cairo-test-runner.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit ad8abc01105f02a05497969b6b5ec2c8742daeb2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri May 7 21:28:58 2010 +0100 - - subsurface: Don't double apply device offset for deep subsurfaces. - - If we have a subsurface of a subsurface then the device offset has - already been applied to the extents that we use to offset the new - subsurface. - - src/cairo-surface-subsurface.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit d2a250ad33dcd1a3960b07d2f0270266a3f3f106 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri May 7 20:36:33 2010 +0200 - - gl: Make the shader implementation per-context, not global - - src/cairo-gl-device.c | 8 +--- - src/cairo-gl-glyphs.c | 4 +- - src/cairo-gl-private.h | 37 +++++++++++------ - src/cairo-gl-shaders.c | 105 ++++++++++++++++++++++++++----------------------- - src/cairo-gl-surface.c | 89 +++++++++++++++++++++-------------------- - 5 files changed, 131 insertions(+), 112 deletions(-) - -commit 4571055c46e82cbb6d3ab47860d63e400b338238 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 5 19:36:46 2010 +0200 - - gl: Print GL errors when releasing the device - - Don't scatter calls to error printing around everywhere, instead do it - in the one place where it matters. - - Also, convert the functions to macros, so we can use __FILE__ and - __LINE__ when printing a warning - - src/cairo-gl-private.h | 15 ++++++++++----- - src/cairo-gl-surface.c | 22 +--------------------- - 2 files changed, 11 insertions(+), 26 deletions(-) - -commit 59b31aeed9b3ec2a1ac6da188ef5e86d20626662 -Author: Benjamin Otte <otte@redhat.com> -Date: Sat May 8 15:09:39 2010 +0200 - - gl: Make check_span_renderer() call not require a device lock - - Note that we didn't lock the device previously, so the function was - broken. - - src/cairo-gl-device.c | 1 + - src/cairo-gl-private.h | 7 +++++++ - src/cairo-gl-surface.c | 5 +++-- - 3 files changed, 11 insertions(+), 2 deletions(-) - -commit 81f4dd65a32efae645b826b84e8382f7bf7a9b2d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri May 7 22:35:18 2010 +0100 - - cairo: Special case cairo_t with NULL_POINTER - - Avoid allocation for the potential user error of attempting to use - cairo_create(NULL). - - src/cairo.c | 24 +++++++++++++++++++++++- - 1 file changed, 23 insertions(+), 1 deletion(-) - -commit a61570a55e70040ffcf8ff3cb2c7943e71a5e2a0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri May 7 22:18:52 2010 +0100 - - test/copy-path: memfault status checks. - - test/copy-path.c | 61 +++++++++++++++++++++++++++++++++++--------------------- - 1 file changed, 38 insertions(+), 23 deletions(-) - -commit e6180d1d5e29a91f1bfc20956bb017ab74fb8b8e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri May 7 22:18:10 2010 +0100 - - surface-fallback: Only destroy the clip after it has been initialized. - - More memfault detected error path errors. - - src/cairo-surface-fallback.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit 01a208f7e3785254dc101f09a73943ec7cfb1d6e -Author: timeless <timeless@bemail.org> -Date: Fri May 7 10:24:49 2010 -0400 - - Remove useless null checks of a and b in _cairo_path_fixed_equal - - 'a' and 'b' are dereferenced before being checked for null. - - From https://bugzilla.mozilla.org/show_bug.cgi?id=555706 - - src/cairo-path-fixed.c | 22 ++++++++-------------- - 1 file changed, 8 insertions(+), 14 deletions(-) - -commit 0068d9b5cd09a7aa0c5a2ab4da97ca181934ff56 -Author: Jonathan Kew <jfkthame@gmail.com> -Date: Fri May 7 10:16:32 2010 -0400 - - quartz: Work around bad glyph extents returned by CoreGraphics for empty glyphs in Al Bayan font - - This resolves the problem by checking for the crazy glyph bbox result from - CoreGraphics, and replacing it with an empty rect. - - From https://bugzilla.mozilla.org/show_bug.cgi?id=534260 - - src/cairo-quartz-font.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit c5d9643417690380c102bf0b6ad195cb264d3feb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri May 7 11:24:28 2010 +0100 - - doc: regen - - doc/public/tmpl/cairo-font-face.sgml | 3 +++ - doc/public/tmpl/cairo-font-options.sgml | 4 ++++ - doc/public/tmpl/cairo-ft.sgml | 3 +++ - doc/public/tmpl/cairo-image.sgml | 5 +++++ - doc/public/tmpl/cairo-matrix.sgml | 3 +++ - doc/public/tmpl/cairo-paths.sgml | 3 +++ - doc/public/tmpl/cairo-pattern.sgml | 3 +++ - doc/public/tmpl/cairo-pdf.sgml | 3 +++ - doc/public/tmpl/cairo-png.sgml | 3 +++ - doc/public/tmpl/cairo-ps.sgml | 3 +++ - doc/public/tmpl/cairo-quartz-fonts.sgml | 3 +++ - doc/public/tmpl/cairo-quartz.sgml | 3 +++ - doc/public/tmpl/cairo-scaled-font.sgml | 3 +++ - doc/public/tmpl/cairo-status.sgml | 6 ++++++ - doc/public/tmpl/cairo-surface.sgml | 9 +++++++++ - doc/public/tmpl/cairo-svg.sgml | 3 +++ - doc/public/tmpl/cairo-text.sgml | 3 +++ - doc/public/tmpl/cairo-transforms.sgml | 3 +++ - doc/public/tmpl/cairo-types.sgml | 3 +++ - doc/public/tmpl/cairo-user-fonts.sgml | 4 ++++ - doc/public/tmpl/cairo-version.sgml | 5 +++++ - doc/public/tmpl/cairo-win32-fonts.sgml | 3 +++ - doc/public/tmpl/cairo-win32.sgml | 3 +++ - doc/public/tmpl/cairo-xlib-xrender.sgml | 3 +++ - doc/public/tmpl/cairo-xlib.sgml | 3 +++ - doc/public/tmpl/cairo.sgml | 3 +++ - 26 files changed, 93 insertions(+) - -commit b9e9ff59348412a1f1f2c57d6185c84f77874c26 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri May 7 11:21:50 2010 +0100 - - subsurface: Include device offset in extents - - Adjust the subsurface extents so that the user specifies the extents in - world space rather than device space. - - src/cairo-surface-subsurface.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -commit 5e3b28ffeac3fc7239c7ada6992e4794a27b0818 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Thu May 6 22:27:09 2010 -0400 - - Remove comma from the end of the CAIRO_PATTERN_ACQUIRE enum - - src/cairoint.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit cc8442514ab15f08708ecb26f499c764a7d171f4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 6 21:50:16 2010 +0100 - - gl: Enable fixed-function without glsl. - - Through a very simple mistake we were triggering fallbacks after - detecting we were not able to perform the composite using GLSL -- we - were just returning the UNSUPPORTED status instead of enabling the - fixed-function path. - - src/cairo-gl-surface.c | 56 ++++++++++++++++++++++++++++---------------------- - 1 file changed, 31 insertions(+), 25 deletions(-) - -commit 30d358e098353af24f16cdb7efe41f10f276f559 -Author: Metal Sonic <kidlinux96@gmail.com> -Date: Thu May 6 16:07:43 2010 -0400 - - Update license blocks to use "Mozilla Foundation" instead of "Mozilla Corporation" - - From https://bugzilla.mozilla.org/show_bug.cgi?id=507387 - - src/cairo-fixed-private.h | 2 +- - src/cairo-fixed-type-private.h | 2 +- - src/cairo-malloc-private.h | 2 +- - src/cairo-quartz-font.c | 2 +- - src/cairo-quartz-image-surface.c | 2 +- - src/cairo-quartz-image.h | 2 +- - src/cairo-quartz-surface.c | 2 +- - src/cairo-quartz.h | 2 +- - 8 files changed, 8 insertions(+), 8 deletions(-) - -commit 506636e19edcdb656c94f61c915c9d49829dade8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 6 17:21:59 2010 +0100 - - cairo: stash a number of contexts for use with NO_MUTEX - - The implementation is the same as the atomic one (bar the use of atomic - primitives to manipulate the occupancy!). - - Patch based on the original by Jeff Muizelaar. - - src/cairo.c | 33 ++++++++++++++++++++++++++++++++- - 1 file changed, 32 insertions(+), 1 deletion(-) - -commit 91dfee420c3e9d85e5cd4f2cec6dc708c0e471a2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 6 17:03:56 2010 +0100 - - device: Reorder finalization so that user data is destroyed last. - - As the user is likely to attach the underlying resources to the device - for automatic collection upon finalization, it is important that the - user data is then destroy last (so that those resources are still - available in the surface and device cleanup routines). - - src/cairo-device.c | 9 +++++++-- - src/cairo-surface.c | 4 ++-- - 2 files changed, 9 insertions(+), 4 deletions(-) - -commit 2658d7ef5f8f7e06929f4b1cae64e5312db24ec4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 6 17:02:39 2010 +0100 - - test/gl-surface-source: Attach GLXContext to device user data. - - As we actually use the GLXContext to create the device, we only want to - free those resources upon the final unreference of the device (and not - the initial surface). - - test/gl-surface-source.c | 26 +++++++++++--------------- - 1 file changed, 11 insertions(+), 15 deletions(-) - -commit f5167dc2e1a13d8c4e5d66d7178a24b9b5e7ac7a -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Thu May 6 11:43:52 2010 -0400 - - Add an implementation of ffs() for MSVC - - src/cairo-compiler-private.h | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -commit a2a2bd62ff37e2642f671ca7ebf26954e1856abe -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 6 14:39:30 2010 +0100 - - surface-fallback: Handle memfaults during clipping. - - Don't be lazy, propagate the error rather than asserting. - - src/cairo-surface-fallback.c | 26 +++++++++++++++----------- - 1 file changed, 15 insertions(+), 11 deletions(-) - -commit 2e3acee410ff127d4557ca8191625338cd225313 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 6 14:38:55 2010 +0100 - - test: Add gl-surface-source - - Exercise using GL sources. - - test/Makefile.am | 7 ++ - test/Makefile.sources | 3 + - test/gl-surface-source.argb32.ref.png | Bin 0 -> 377 bytes - test/gl-surface-source.c | 115 +++++++++++++++++++++++++++++++++ - test/gl-surface-source.image16.ref.png | Bin 0 -> 305 bytes - test/gl-surface-source.rgb24.ref.png | Bin 0 -> 301 bytes - 6 files changed, 125 insertions(+) - -commit 75d8550891b8b2c09200aaaa812c6c9332161cd7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 6 13:50:27 2010 +0100 - - test/clip-contexts: Free secondary context - - test/clip-contexts.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit bf83bf00a75343f7d1dcd15dc4eeec1b1a4b9428 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 6 10:53:48 2010 +0100 - - test: Add subsurface-image-repeat - - Test handling of source clipping with an image - principally to check - handling of mime types and zero-copy image snapshotting in the vector - surfaces and ensure that they work with subsurface patterns as well. - - test/Makefile.am | 2 + - test/Makefile.sources | 1 + - test/subsurface-image-repeat.c | 70 +++++++++++++++++++++++++++ - test/subsurface-image-repeat.image16.ref.png | Bin 0 -> 776 bytes - test/subsurface-image-repeat.ref.png | Bin 0 -> 915 bytes - 5 files changed, 73 insertions(+) - -commit 88986fdbef795c61cd60231046663d3cd80b4947 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 6 10:46:49 2010 +0100 - - xlib: Remove reference counting for cairo_xlib_screen_t - - The screen is owned by the cairo_xlib_display_t device, so we can - simplify and close the refleak by removing the surplus reference - counting. - - src/cairo-xlib-display.c | 84 +++++++++++------------------------------------- - src/cairo-xlib-private.h | 22 +++---------- - src/cairo-xlib-screen.c | 47 ++++++--------------------- - src/cairo-xlib-surface.c | 38 +++++++--------------- - src/cairo-xlib-visual.c | 2 +- - 5 files changed, 46 insertions(+), 147 deletions(-) - -commit 632fabc77d89254e2e6915148fa870f23c2a5722 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 6 10:10:38 2010 +0100 - - xlib: Convert visual array to a cairo_list_t - - It's simpler and more memory efficient. - - src/cairo-xlib-private.h | 4 ++- - src/cairo-xlib-screen.c | 76 +++++++++++++++--------------------------------- - 2 files changed, 26 insertions(+), 54 deletions(-) - -commit 20d75bdadc897be238ceb4d2d02f079e469144e4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 6 10:03:36 2010 +0100 - - xlib: Remove screen->has_render - - Use the info from the display instead. - - src/cairo-xlib-private.h | 1 - - src/cairo-xlib-screen.c | 17 ++++------------- - 2 files changed, 4 insertions(+), 14 deletions(-) - -commit 9e0b716ecf1b27d74e63f25a055d8120d8d53309 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 6 09:58:46 2010 +0100 - - xlib: Remove obsolete comment, there is no race anymore - - The display lock is now held for the duration of the screen creation, so - there is no race. Remove the false comment. - - src/cairo-xlib-screen.c | 4 ---- - 1 file changed, 4 deletions(-) - -commit 62346c500a7421e30b3054fdcc07fc78a18da96e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 6 09:37:02 2010 +0100 - - xlib: Ensure the global display mutex is initialized before use. - - src/cairo-xlib-display.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit fb6caf08ae5ccf8f8c2c251d32fd98aacbcebdcc -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 6 09:30:41 2010 +0100 - - image: Propagate error instead of asserting. - - Apparently we can get to this point without evaluating the clip surface, - so return the error status rather than assert. - - src/cairo-image-surface.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 5e95c62bbb0cb28ee22af8f97267ce2da72cf47a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 6 09:09:22 2010 +0100 - - clip: Propagate failure from retrieving the previous clip surface. - - src/cairo-clip.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit a6ee7aea8ac11a9e5a9b58e17e881db9666a2b24 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed May 5 10:52:39 2010 +0100 - - test: Add xlib-expose-event.image16.ref.png - - test/Makefile.am | 1 + - test/xlib-expose-event.image16.ref.png | Bin 0 -> 30332 bytes - 2 files changed, 1 insertion(+) - -commit ded2dc8faaa3a48c84a31422a31c64595a6eaf8a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed May 5 14:44:55 2010 +0100 - - scaled-font: Pluck last glyph from the most recent page. - - In converting to cairo_list_t, it helps to preserve the semantics of - appending the page to the end of the list where it is expected to be - plucked in the event of an allocation failure. - - src/cairo-scaled-font.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit fa937913e06bc295750538be45aa83eb42332fb4 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Wed May 5 21:35:11 2010 +0930 - - PS: Add missing 'q' when resetting clip path - - src/cairo-ps-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9c594d8b405eba09b07c0a438f5311f5c5e40313 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 5 12:28:59 2010 +0200 - - gl: Get rid of ctx variable - - The code used renderer->ctx and ctx interchangably, that was confusing. - - src/cairo-gl-surface.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit a354f1f92a17378f42d0b703482ae2b8168c7f68 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 5 12:28:24 2010 +0200 - - gl: Another case of proper device acquiring - - This patch isn't strictly necessary, but it cleans up the code. - - src/cairo-gl-surface.c | 15 +++++++++------ - 1 file changed, 9 insertions(+), 6 deletions(-) - -commit 36210ee51444979271f7ba1cc0ac452cd30df0af -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 5 12:24:43 2010 +0200 - - gl: Get rid of another cast to cairo_gl_context_t - - src/cairo-gl-surface.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 58b03691d379979b50d74740748b8b8523e0cd0d -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 5 12:21:23 2010 +0200 - - gl: Introduce _cairo_gl_device_has_glsl() function - - The function takes a cairo_device_t argument as it can be called on an - unacquired device. - - This is the first patch in a process to try to rid cairo-gl-surface.c of - casts from cairo_device_t to cairo_gl_context_t. As its members should - usually only be accessed when the device is locked, the only way the - cairo_gl_context_t should be acquired is using - _cairo_gl_context_acquire(). - - src/cairo-gl-glyphs.c | 2 +- - src/cairo-gl-private.h | 6 ++++++ - src/cairo-gl-surface.c | 9 ++++----- - 3 files changed, 11 insertions(+), 6 deletions(-) - -commit 5223b654230d3074d0bc31eb74c415e50eced365 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 5 12:07:49 2010 +0200 - - gl: Get rid of cairo_gl_surface_glfinish() from public API - - This is now done explicitly in the boilerplate code. It was not a useful - public API to begin with. - - boilerplate/cairo-boilerplate-gl.c | 17 +++++++---------- - src/cairo-gl-surface.c | 9 --------- - src/cairo-gl.h | 3 --- - 3 files changed, 7 insertions(+), 22 deletions(-) - -commit e071fa2c4f62b5ead39c6c6401f39360ea4dee1f -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 5 12:03:13 2010 +0200 - - gl: Remove unused member variable - - src/cairo-gl-private.h | 1 - - 1 file changed, 1 deletion(-) - -commit 90c64f60d853f1a6ea5febd362ef3528cc9d914b -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 5 12:01:59 2010 +0200 - - gl: Move device-specific code into cairo-gl-device.c - - src/Makefile.sources | 6 +- - src/cairo-gl-device.c | 205 +++++++++++++++++++++++++++++++++++++++++++++++++ - src/cairo-gl-surface.c | 162 -------------------------------------- - 3 files changed, 210 insertions(+), 163 deletions(-) - -commit 0ff5a18fd5623b57c7493e6b67a6b1c75af82fb3 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 5 11:52:40 2010 +0200 - - gl: Make _gl_set_destination() take the context as an argument - - Keeping with the API introduced for Xlib, functions that require an - acquired context take this context as the first argument. - - src/cairo-gl-glyphs.c | 2 +- - src/cairo-gl-private.h | 2 +- - src/cairo-gl-surface.c | 20 +++++++++----------- - 3 files changed, 11 insertions(+), 13 deletions(-) - -commit e8c5b6b1c2099fc6a49d0a082f5e884d3fbd89df -Author: Benjamin Otte <otte@redhat.com> -Date: Wed May 5 10:05:30 2010 +0200 - - Fix typo in docs - - src/cairo-array.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 53508e6e3047b4dac6d69d5d3ff2208178998fd4 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue May 4 19:28:45 2010 +0200 - - gl: Acquire the context before destroying it. - - src/cairo-gl-surface.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit c46aec489722bf09cd10c52d70bb4975eb1546d9 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue May 4 19:28:22 2010 +0200 - - gl: acquire/release context during surface_finish() - - src/cairo-gl-surface.c | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -commit 88801aabb34328746a53d3d59d036dada7ced756 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue May 4 19:23:08 2010 +0200 - - gl: Acquire context when initing/destroying gl operands - - src/cairo-gl-glyphs.c | 17 ++++++----- - src/cairo-gl-private.h | 3 +- - src/cairo-gl-surface.c | 80 ++++++++++++++++++++++++++------------------------ - 3 files changed, 54 insertions(+), 46 deletions(-) - -commit c6d7d054ca44f3849ee1ab76de9032a4eaa210fe -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed May 5 10:39:49 2010 +0100 - - test: Add radial-gradient-mask - - Exercise using radial gradients as a mask. - - test/Makefile.am | 6 ++ - test/Makefile.sources | 2 + - test/radial-gradient-mask-source.argb32.ref.png | Bin 0 -> 116311 bytes - test/radial-gradient-mask-source.c | 111 +++++++++++++++++++++++ - test/radial-gradient-mask-source.image16.ref.png | Bin 0 -> 82800 bytes - test/radial-gradient-mask-source.rgb24.ref.png | Bin 0 -> 129093 bytes - test/radial-gradient-mask.argb32.ref.png | Bin 0 -> 116311 bytes - test/radial-gradient-mask.c | 110 ++++++++++++++++++++++ - test/radial-gradient-mask.image16.ref.png | Bin 0 -> 82800 bytes - test/radial-gradient-mask.rgb24.ref.png | Bin 0 -> 129093 bytes - 10 files changed, 229 insertions(+) - -commit 5f878f917980cde145d4c385b0c0b66336c0f454 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed May 5 10:24:14 2010 +0100 - - clip: Trivial compiler warning - - cairo-clip.c: In function ‘_cairo_clip_path_reapply_clip_path_translate’: - cairo-clip.c:446: warning: suggest parentheses around assignment used as - truth value - - src/cairo-clip.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 840dad765febf7b807bbb75e401c159a8c5c4dfe -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed May 5 09:46:03 2010 +0100 - - test/mask-glyphs: Check for memfault - - test/mask-glyphs.c | 32 +++++++++++++++++++++++--------- - 1 file changed, 23 insertions(+), 9 deletions(-) - -commit ad541a1ec62e18bcaf74994affbdb0503e277f9c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed May 5 09:33:36 2010 +0100 - - clip: Propagate memfault from translating clip region - - src/cairo-clip.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 4bc54643f5cdeddf2145d28c317b55ca6b5949a5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 4 21:36:03 2010 +0100 - - image: Propagate failure from pixman_image_set_clip_region() - - src/cairo-image-surface.c | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -commit 9ef33a1d8c0476f4f1eeba4f26523fdeb6f7d809 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 4 21:35:51 2010 +0100 - - test/bitmap-font: Destroy FcPattern - - test/bitmap-font.c | 8 ++------ - 1 file changed, 2 insertions(+), 6 deletions(-) - -commit fba4cf1d94b3ab676e0b62ae3574bf1ee4e69de0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed May 5 09:22:03 2010 +0100 - - recording: Mark an empty recording surface as clear. - - src/cairo-recording-surface.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit e5329805394c94c915e43a0040b51d5019b4a90e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed May 5 09:17:51 2010 +0100 - - recording: Avoid refcycles by always copying the command array. - - Short-term solution to avoid the refleaks and to make the test suite - happy. A more elegant solution would be to track the references and - avoid the substantial memory overhead of copying the recording surfaces. - - Thanks to Benjamin Otte for pointing out the solution to avoiding - refcycles. - - src/cairo-recording-surface-private.h | 1 - - src/cairo-recording-surface.c | 23 ++++++++++++----------- - 2 files changed, 12 insertions(+), 12 deletions(-) - -commit 6a06e0ef7b534355d0f3b4885159ffc37dbc3867 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed May 5 09:17:33 2010 +0100 - - test/subsurface-modify-parent: Free region. - - Minor refleak. - - test/subsurface-modify-parent.c | 1 + - 1 file changed, 1 insertion(+) - -commit 4a46c715564c886e7434d65625fb84b5d87c0970 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 4 18:51:30 2010 +0100 - - type3: Minor tweaks to remove a redundant check. - - src/cairo-type3-glyph-surface.c | 8 ++------ - 1 file changed, 2 insertions(+), 6 deletions(-) - -commit 11531b90a2317bb1113b187d6aa9c5083f5ecaa1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 4 18:50:58 2010 +0100 - - ps: Force finish of the type3 glyph surfaces. - - src/cairo-ps-surface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 5155ebeaa25815124124db2599336ab2ddbe7413 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 4 18:50:27 2010 +0100 - - pdf: Assert that no other error can occur for an invertible matrix. - - src/cairo-pdf-operators.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit d9259bd06822c871a4c653f395cfc1f933caaeb7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 4 18:49:55 2010 +0100 - - paginated: Mark as clear initially. - - src/cairo-paginated-surface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit bc14e0e953630d47a65e701a377631e406eb080c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon May 3 14:18:33 2010 +0100 - - scaled-font: Convert to cairo_list_t - - Convert the open-coded doubly-linked list of glyph pages for a font into - the common cairo_list_t. - - src/cairo-scaled-font-private.h | 2 +- - src/cairo-scaled-font.c | 46 ++++++++++++++++++++--------------------- - 2 files changed, 23 insertions(+), 25 deletions(-) - -commit 627527693c38c328fdb79058f5299609c0031029 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon May 3 13:41:41 2010 +0100 - - ps: Remove the fill stroke command - - This is not supported by PostScript, so eliminate it from the prologue. - - src/cairo-ps-surface.c | 2 -- - 1 file changed, 2 deletions(-) - -commit 4dd92ef2bc877eb197f096c3eb8fe74cb2e7b099 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun May 2 14:35:59 2010 +0100 - - test: Add subsurface-pad - - Round out the subsurface tests with PAD. - - test/Makefile.am | 1 + - test/Makefile.sources | 1 + - test/subsurface-pad.c | 76 ++++++++++++++++++++++++++++++++++++++++++++ - test/subsurface-pad.ref.png | Bin 0 -> 181 bytes - 4 files changed, 78 insertions(+) - -commit 85e3cffde164a5af444639dfd182fde2448809ee -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Apr 30 21:09:01 2010 +0100 - - test: Add subsurface-modify-{child,parent} - - Add tests to ensure that modifications to the subsurface via the - original surface are tracked by the subsurface, i.e. that any snapshots - are detached upon modification of the parent as well as modification of - itself and vice versa. - - test/Makefile.am | 2 + - test/Makefile.sources | 2 + - test/subsurface-modify-child.c | 98 ++++++++++++++++++++++++++++++++++ - test/subsurface-modify-child.ref.png | Bin 0 -> 197 bytes - test/subsurface-modify-parent.c | 77 ++++++++++++++++++++++++++ - test/subsurface-modify-parent.ref.png | Bin 0 -> 197 bytes - 6 files changed, 179 insertions(+) - -commit 19ac81f50ba353400934bf112523b4257ad9de2f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 4 18:25:23 2010 +0100 - - scaled-font: Remove MRU cache upon detection of error. - - src/cairo-scaled-font.c | 15 ++++++++++++++- - 1 file changed, 14 insertions(+), 1 deletion(-) - -commit 6f2d4f5b2aba9344fee9375614dfd0c6236bfd7c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 4 18:09:11 2010 +0100 - - image: Propagate failure from pixman_image_fill_boxes(). - - src/cairo-image-surface.c | 55 ++++++++++++++++++++++++++--------------------- - 1 file changed, 30 insertions(+), 25 deletions(-) - -commit ded7be0b9ce12f8d4a84c8c9dd622d92fe347a34 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 4 17:01:35 2010 +0100 - - test/user-font-rescale: Use after free and check for memfault. - - test/user-font-rescale.c | 16 +++++++++++----- - 1 file changed, 11 insertions(+), 5 deletions(-) - -commit b0052c52153376400a30dca1d67f4aca9735cc09 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 4 17:01:17 2010 +0100 - - test/bitmap-font: Propagate memfault - - test/bitmap-font.c | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - -commit 9187c7532755dda8d2677ec792162c71029fb37d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 4 13:18:09 2010 +0100 - - test/bitmap-font: Check for memfault error - - test/bitmap-font.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 0fced9279227614ede6964e94ede9de49a3a3388 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 4 13:17:38 2010 +0100 - - test/user-font-proxy: Check we install user data on the scaled font - - test/user-font-proxy.c | 14 ++++++++++---- - 1 file changed, 10 insertions(+), 4 deletions(-) - -commit 38188961b996c97d344195749b7bec8c93f9bad7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 4 13:17:07 2010 +0100 - - image: Check for pixman image allocation failure during glyphs - - src/cairo-image-surface.c | 8 +++----- - 1 file changed, 3 insertions(+), 5 deletions(-) - -commit 4a181ebac416ec35e412ddbe9ed1392fb8b74ab7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 4 10:26:30 2010 +0100 - - pdf: Cleanup local reference to source on error paths. - - src/cairo-pdf-surface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit ba48edcd86ee1bca06b25587e56abcd2c1b19d79 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 4 10:26:13 2010 +0100 - - ps: Always cleanup used font subsets. - - src/cairo-ps-surface.c | 19 ++++++++----------- - 1 file changed, 8 insertions(+), 11 deletions(-) - -commit 9a0958be012e097c239260fac0dec0b1e5679028 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 4 10:25:48 2010 +0100 - - test: Cleanup after failed pthread_join(). - - test/pthread-same-source.c | 17 +++++++++-------- - test/pthread-show-text.c | 17 +++++++++-------- - test/pthread-similar.c | 17 +++++++++-------- - 3 files changed, 27 insertions(+), 24 deletions(-) - -commit 08b9984da9f2119cd4ed03bbd656a349b49d1f12 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 4 08:19:41 2010 +0100 - - image: Replace assert with error return - - It is possible to encounter an allocation failure here since we may have - tweaked the clip since the last evaluation of the clip region. - - src/cairo-image-surface.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 2c68fcace4ad47ad09e9699e45afb514be1381f9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon May 3 20:39:34 2010 +0100 - - test: Embed the list pointer into cairo_test_t - - Reduce the amount of output printed by leak-detectors when a test - crashes. - - test/cairo-test-runner.c | 31 +++++++++++++++---------------- - test/cairo-test.h | 7 ++++--- - 2 files changed, 19 insertions(+), 19 deletions(-) - -commit 7002b824729885a9d579f677ecc665b620847480 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 4 13:52:09 2010 +0200 - - xlib: Don't delete gradients in unbounded fixup code - - The fix is ugly, but for now it works. - - src/cairo-xlib-surface.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit af26560f258d93cc78782ddd0208128756874c11 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon May 3 19:21:59 2010 +0100 - - test: Improve memfault behaviour. - - Various minor tweaks to convert asserts into error returns and to - improve error checking on intermediate surfaces. - - boilerplate/cairo-boilerplate-svg.c | 2 +- - test/cairo-test.c | 21 ++++++++++++--- - test/png.c | 34 +++++++++++++++++-------- - test/pthread-same-source.c | 7 +++++ - test/surface-source.c | 11 ++++++-- - test/toy-font-face.c | 16 +++++++++--- - test/user-data.c | 51 ++++++++++++++++++++++++++----------- - test/xlib-surface-source.c | 7 ++++- - 8 files changed, 112 insertions(+), 37 deletions(-) - -commit c549203c8d69474be4362037f702e4fb59c9929e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon May 3 19:21:18 2010 +0100 - - scaled-font: Check for an error return when retrieving the implementation - - src/cairo-scaled-font.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit c93e6f014d9678b1aea34fd7a30a1fc2f51c6347 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon May 3 19:20:42 2010 +0100 - - paginated: propagate malloc failures more cleanly. - - src/cairo-paginated-surface.c | 26 +++++++++++++------------- - 1 file changed, 13 insertions(+), 13 deletions(-) - -commit 8e9fd9c01732c3102c27c7dee50f6e494ba7cdd8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon May 3 19:20:07 2010 +0100 - - image: A few missing tests for malloc failure - - src/cairo-image-surface.c | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -commit 87781ffbd914bca29b4d744fb48678ab06a07108 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon May 3 19:18:49 2010 +0100 - - ft: Convert an assert into an unlikely error return. - - The assert depends upon good behaviour from fontconfig, which is no - guaranteed under memfault, so return an error instead. - - src/cairo-ft-font.c | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit 5672b7a18a34456862977a1cf678bf6575dcc3f4 -Author: Benjamin Otte <otte@redhat.com> -Date: Mon May 3 13:13:27 2010 +0200 - - fallback: get src_x/y variables right when compositing traps - - src/cairo-image-surface.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit c10a5a9fb0463f254fb607a2260b540256f888cc -Author: Dave Yeo <daveryeo@telus.net> -Date: Mon May 3 10:20:51 2010 +0200 - - os2: Fix get_extents() segfaulting. - - bed2701e1c89095878d549cbca8f22d84f3dda3c removed one line too much. - - src/cairo-os2-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9df81fe4d3f0ccc5632d0e84e920fe1c448bd531 -Author: Benjamin Otte <otte@redhat.com> -Date: Sun May 2 19:59:26 2010 +0200 - - boilerplate: don't compile pdf test code when pdf is not tested - - Avoids gcc warnings when libpoppler version isn't good enough. - - boilerplate/cairo-boilerplate-pdf.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 358f57c8765f823f8e6db7629ea6ca48fcd392b8 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Apr 30 23:29:24 2010 +0200 - - image: remove useless optimization - - The optimization is done way smarter inside - _cairo_matrix_transform_bounding_box() - - src/cairo-image-surface.c | 11 +++-------- - 1 file changed, 3 insertions(+), 8 deletions(-) - -commit 94aa6d24b6d5ab4528a0b0a9b1b0c6eb7218f861 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Apr 30 23:24:41 2010 +0200 - - fallback: Create pixman image for correct rectangle - - This was most prominently shown by the a1-image-sample test, but - multiple tests exposed the problem with the xlib-fallback code. - - src/cairo-image-surface.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 41fecf8e662c9ad2fe063754db8302f349a223ef -Author: Carlos Garcia Campos <carlosgc@gnome.org> -Date: Fri Apr 30 21:18:52 2010 +0200 - - [configure] Bump poppler dependency to 0.13.3 - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3294daf423e88b55aa13841dfa7c557ee9833f92 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Apr 30 20:14:54 2010 +0200 - - Create cleared surface instead of a scratch surface in clone_similar() - - A cleared surface is needed when playing back a recording surface that - has semi-transparent operations. - As this only affects surface types where scratch surfaces aren't already - cleared (ie it affected xlib but not image), the effect was only visible - for those backends. - This should not cause any performance regressions as the other backends - set surface->clear = TRUE when creating the scratch surface, so the - clear operation is effectively a no-op. - - Covered by the existing pdf-surface-source and svg-surface-source tests. - - src/cairo-surface.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -commit 0aeb612d2f822e8cda1f509b6a4f2995e24053fc -Author: Carlos Garcia Campos <carlosgc@gnome.org> -Date: Fri Apr 30 16:18:57 2010 +0200 - - [test] Update pdf reference image for text-rotate - - test/text-rotate.pdf.ref.png | Bin 16757 -> 16744 bytes - 1 file changed, 0 insertions(+), 0 deletions(-) - -commit fe2844464721644b837816aa4dad4ead508f0b89 -Author: Carlos Garcia Campos <carlosgc@gnome.org> -Date: Fri Apr 30 16:16:23 2010 +0200 - - [test] Update pdf reference image for surface-pattern-scale-down - - test/surface-pattern-scale-down.pdf.ref.png | Bin 1603 -> 2189 bytes - 1 file changed, 0 insertions(+), 0 deletions(-) - -commit dba6f23318005a4cdbe7566519ce896278ea184a -Author: Carlos Garcia Campos <carlosgc@gnome.org> -Date: Fri Apr 30 16:11:52 2010 +0200 - - [test] Update pdf reference image for leaky-dashed-rectangle - - test/leaky-dashed-rectangle.pdf.ref.png | Bin 380 -> 377 bytes - 1 file changed, 0 insertions(+), 0 deletions(-) - -commit 6b81187ac4870311a10c024af9f30c366be785cd -Author: Carlos Garcia Campos <carlosgc@gnome.org> -Date: Fri Apr 30 16:05:21 2010 +0200 - - [test] Update pdf reference images for clip-operator - - test/clip-operator.pdf.argb32.ref.png | Bin 9266 -> 9437 bytes - test/clip-operator.pdf.rgb24.ref.png | Bin 5166 -> 5391 bytes - 2 files changed, 0 insertions(+), 0 deletions(-) - -commit b485ae5b90bf72cde0c30c2350e03d1369ca6dcd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Apr 30 14:14:01 2010 +0100 - - atomic: Add Andrea's copyright notice - - Note Andrea's copyright for his contribution of platform agnostic - fallbacks and the implementation for MacOS/X. - - src/cairo-atomic-private.h | 2 ++ - 1 file changed, 2 insertions(+) - -commit 4ee5119a3467ea086efccef2907b0c576d600b79 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Apr 30 13:00:05 2010 +0100 - - test: Expand pthread-show-text to cover all surfaces. - - In a similar fashion to pthread-same-source and pthread-similar, check - that the texting handling is thread-safe for all surface and font - backends. - - test/Makefile.am | 3 + - test/pthread-show-text.c | 118 +++++++++++++++++++++------------ - test/pthread-show-text.image16.ref.png | Bin 0 -> 22167 bytes - test/pthread-show-text.ps.ref.png | Bin 0 -> 16558 bytes - test/pthread-show-text.ref.png | Bin 0 -> 29885 bytes - 5 files changed, 77 insertions(+), 44 deletions(-) - -commit c6dc8ad7dc46d03899cd37fff40bd7f3a60339e2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Apr 30 12:38:25 2010 +0100 - - Revert "paginated: Call surface finish explicitly on recording surface" - - This reverts commit 5fc04bba9fa8ddda8cf7d7a97015f21a21429172. - - Whilst this fixes the self-referential reference leak, it however - introduces use-after-finish into normal behaviour. Close, but not quite. - - src/cairo-paginated-surface.c | 1 - - 1 file changed, 1 deletion(-) - -commit b972669c9ac87d1c2ca922e12024ef5da394aa6b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Apr 30 12:37:16 2010 +0100 - - boilerplate: Fix use after free from 3ae5723 - - If we want to access the surface during the cleanup, we must hold our - own reference to it. Make it so for the forced finish of the recording - surface. - - boilerplate/cairo-boilerplate.c | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - -commit 905c345df1f828551af2ab0b751388428e4dfaf6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Apr 30 10:31:50 2010 +0100 - - recording: Check that we do not use a finished recording surface. - - User paranoia - as the replay is exposed to the user it is convenient to - add the finish check in the core replay function so that we gain a - paranoia check for the internal paths as well. - - src/cairo-recording-surface.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 5fe7c5842f3589efce765b3869c1dd55367a5aba -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Apr 30 10:13:09 2010 +0100 - - pdf; Emit subsurface patterns natively. - - Encode subsurface patterns into the PDF stream natively (when possible), - similar to the cairo-ps backend. - - src/cairo-pdf-surface.c | 113 ++++++++++++++++++++++++++++++++++++++++-------- - 1 file changed, 94 insertions(+), 19 deletions(-) - -commit 8ded35fd69ed0bbb07359c0278071a25af66571c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Apr 28 14:26:21 2010 +0100 - - ps: Enable native encoding of subsurface patterns. - - Carefully handle subsurfaces of a recording surface through the analysis - and paginated surfaces so that we can generate a native pattern for the - vector backends, demonstrated by the PostScript backend. - - Nothing remarkable, just a lot of bookkeeping to track the wrapped - surface types and to apply the correct offsets when generating the - subsurface pattern. - - src/cairo-analysis-surface.c | 13 +- - src/cairo-paginated-surface.c | 1 + - src/cairo-pdf-surface.c | 4 +- - src/cairo-ps-surface.c | 121 +++++++++++-- - src/cairo-recording-surface-private.h | 1 + - src/cairo-recording-surface.c | 12 +- - src/cairo-surface-private.h | 4 +- - src/cairo-surface-subsurface-private.h | 4 +- - src/cairo-surface-subsurface.c | 101 +++++++---- - src/cairo-surface-wrapper-private.h | 7 +- - src/cairo-surface-wrapper.c | 314 +++++++++++++++++++++++++++------ - src/cairo-surface.c | 13 +- - test/Makefile.am | 1 + - test/Makefile.sources | 1 + - test/subsurface-reflect.c | 76 ++++++++ - test/subsurface-reflect.ref.png | Bin 0 -> 210 bytes - test/subsurface-repeat.c | 8 +- - test/subsurface-similar-repeat.c | 3 + - test/subsurface.c | 7 +- - test/subsurface.image16.ref.png | Bin 1430 -> 1643 bytes - test/subsurface.ref.png | Bin 1597 -> 1811 bytes - 21 files changed, 565 insertions(+), 126 deletions(-) - -commit 5fc04bba9fa8ddda8cf7d7a97015f21a21429172 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Apr 29 21:51:29 2010 +0100 - - paginated: Call surface finish explicitly on recording surface - - During show_page() when we destroy the recording surface after emitting - the page, ensure that we actually call cairo_surface_finish() to dispose - of any self-referential reference leaks. - - src/cairo-paginated-surface.c | 1 + - 1 file changed, 1 insertion(+) - -commit 3ae57234644c3756785c551beffe584f837b0273 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Apr 29 21:50:22 2010 +0100 - - boilerplate: Ensure that the recording surfaces are finished. - - Be paranoid and explicitly call finish to cleanup self-referential leaks - when using paginated/recording surfaces. - - boilerplate/cairo-boilerplate-pdf.c | 5 ++++- - boilerplate/cairo-boilerplate-ps.c | 5 ++++- - boilerplate/cairo-boilerplate-svg.c | 5 ++++- - boilerplate/cairo-boilerplate.c | 10 +++++----- - 4 files changed, 17 insertions(+), 8 deletions(-) - -commit f08cc311af1248b39c3e757ef192515ed8506862 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Apr 29 20:34:56 2010 +0100 - - boilerplate: Destroy the redundant image reference - - When using a script surface to record the recording surface, we replace - the local reference to the image surface. - - boilerplate/cairo-boilerplate.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit ab2776c9a16134c50b48fd202263421ec0f466e7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Apr 29 18:50:32 2010 +0100 - - snapshot: Attach the backend generated snapshot to the target - - Cache the result of snapshotting using the backend vfunc in the normal - manner by attaching the snapshot to the target. This should reduce - resource usage in these cases. - - src/cairo-surface-snapshot.c | 21 ++++++++++++++++++++- - 1 file changed, 20 insertions(+), 1 deletion(-) - -commit 07122f37d11eabe62bc9c81ccbf71bbe8b7a1005 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Apr 29 15:19:18 2010 +0100 - - surface: Convert snapshots from an array to a double-linked list. - - Saves the memory allocation for the array, and the overhead of - maintaining the area for both insertions and more importantly deletes. - - src/cairo-recording-surface.c | 6 +- - src/cairo-surface-private.h | 5 +- - src/cairo-surface-snapshot.c | 10 +-- - src/cairo-surface.c | 130 ++++++++++++++----------------------- - src/cairo-vg-surface.c | 8 +-- - src/cairo-xcb-surface-core.c | 6 +- - src/cairo-xcb-surface-render.c | 10 +-- - src/cairo-xcb-surface.c | 12 ++-- - src/cairoint.h | 2 +- - src/drm/cairo-drm-i915-shader.c | 11 ++-- - src/drm/cairo-drm-i965-shader.c | 11 ++-- - src/drm/cairo-drm-intel-surface.c | 8 +-- - src/drm/cairo-drm-radeon-surface.c | 8 +-- - 13 files changed, 77 insertions(+), 150 deletions(-) - -commit 4cb733c28551f4a34cd4a225b8d797a55bf9b977 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Apr 29 12:04:44 2010 +0100 - - image: Simplify translation of pattern matrix for composite_trapezoids() - - src/cairo-image-surface.c | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit 3940b0e91c274de0cf2fca4b34d4025b92965c19 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Apr 29 17:29:13 2010 +0100 - - subsurface: s/region/rectangle/ - - After a renewed discussion, it was pointed out that the API in Cairo was - not restrictive and by using doubles we would be consisted with the rest - of the API. Thus prompting the name change to - - cairo_surface_create_for_rectangle() - - similar to cairo_rectangle(). - - And document the public API. - - src/cairo-surface-subsurface.c | 39 ++++++++++++++++++++++++------ - src/cairo.h | 10 ++++---- - test/subsurface-repeat.c | 4 +-- - test/subsurface-similar-repeat.c | 2 +- - test/subsurface.c | 4 +-- - util/cairo-script/cairo-script-operators.c | 12 ++++----- - util/cairo-trace/trace.c | 10 ++++---- - 7 files changed, 53 insertions(+), 28 deletions(-) - -commit 4b6fa8d5a78731aca80f3c8c6320e7edc845c5b5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Apr 30 09:47:51 2010 +0100 - - test: Remove group-unaligned.*new.png - - Entirely misleading, looks like PDF is behaving the same as image and - this remnant was thus giving the wrong impression. - - test/Makefile.am | 1 - - test/group-unaligned.pdf.new.png | Bin 427 -> 0 bytes - 2 files changed, 1 deletion(-) - -commit e3f990d84131f7bd1e64e54d02bac780b1e9f85e -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Apr 29 22:34:35 2010 +0200 - - test: Update reference images for last checkin - - Both tests now pas on all backends I tested: test, image, xlib and - recording - - test/a1-traps-sample.ref.png | Bin 148 -> 120 bytes - test/unantialiased-shapes.ref.png | Bin 3969 -> 3968 bytes - 2 files changed, 0 insertions(+), 0 deletions(-) - -commit 6d36f06751377459e35afe1ac26c59d33b16c730 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Apr 29 22:12:02 2010 +0200 - - image: Round down when rendering antialiased boxes - - Matches Pixman's output when going via pixman_rasterize_trapezoid() - - src/cairo-fixed-private.h | 6 ++++++ - src/cairo-image-surface.c | 9 +++++---- - 2 files changed, 11 insertions(+), 4 deletions(-) - -commit 95179a5de91b5c6f99dbccc3b6c950df58d4f2a7 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Apr 29 20:45:23 2010 +0200 - - Remove excessive semicolons - - s/;;/;/ basically - - src/cairo-image-surface.c | 2 +- - src/cairo-wideint.c | 2 +- - src/drm/cairo-drm-i965-shader.c | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -commit 5d07307b691afccccbb15f773d5231669ba44f5a -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Apr 29 18:20:59 2010 +0200 - - xlib: Don't modify variables that are needed later - - In the XCopyArea region code, don't modify src_x/y when they are later - used in the unbounded fixup code. - - Exposed by composite-integer-translate-source test. - - src/cairo-xlib-surface.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 90160deb2a84f787dff46243471e37600b24799b -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Apr 29 18:20:44 2010 +0200 - - xlib: Constify some function arguments - - src/cairo-xlib-surface.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit 4da71d1a01c4d4cc84b5e31cc89dd7f297b23359 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Apr 29 18:11:54 2010 +0200 - - xlib: remove unused code - - src/cairo-xlib-surface.c | 12 ------------ - 1 file changed, 12 deletions(-) - -commit 758ffadcb1d0a0478d43ca40775687a37e5920a4 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Apr 29 16:54:09 2010 +0200 - - fallback: Only do _fill/compsoite_rectangles on bounded source - - For unbounded sources, these optimizations fail to take into account the - regions outside the source. - - src/cairo-surface-fallback.c | 16 +++++++++------- - 1 file changed, 9 insertions(+), 7 deletions(-) - -commit 6288ad719da898c4a75cdc6527f5a41d4c900e57 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Apr 29 15:37:32 2010 +0200 - - fallback: translate extents regions properly - - The extents clip regions that were created for unbounded operators were - not translated properly. This has been changed now. - - This is a followup to 9ce8bef9d6e6d773dd1f4b184916ed5c96c3541d. - - src/cairo-surface-fallback.c | 17 ++++++++++------- - 1 file changed, 10 insertions(+), 7 deletions(-) - -commit b0760826f30f63637561b353e7eed1913036da2d -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Apr 29 12:11:48 2010 +0200 - - test: Set have_result for image matches - - Causes the log to contain information about the reference imagery used. - - test/cairo-test.c | 16 +++++++++++++--- - 1 file changed, 13 insertions(+), 3 deletions(-) - -commit 8f85c2d77cc2ca7984f9771c0096fbad798dbde8 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Apr 29 12:09:31 2010 +0200 - - image: translate source pattern in composite_trapezoids() - - Fixes xlib fallback paths as exposed by the clip-push-group test. - - src/cairo-image-surface.c | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -commit aa495eac5a2db9b396eb1953eb112c733d0ababc -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Apr 29 10:04:18 2010 +0100 - - atomic: Tweak for compilation x86. - - Missing definition of _cairo_atomic_ptr_get() used in the fallbacks. - - src/cairo-atomic-private.h | 27 ++++++++++++++++++++------- - src/cairo-atomic.c | 16 ++++++++-------- - 2 files changed, 28 insertions(+), 15 deletions(-) - -commit 248af38b3efa3f96225eea43f4ba5b94baff34a6 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Wed Apr 28 17:23:47 2010 +0200 - - atomic: Add MacOSX atomic implementation - - Enable atomic operation on MacOS X, using the functions provided by - libkern/OSAtomic.h - - Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> - - build/aclocal.cairo.m4 | 10 ++++++++++ - src/cairo-atomic-private.h | 30 ++++++++++++++++++++++++++++++ - 2 files changed, 40 insertions(+) - -commit 56a367a1626b2b7ec3d9e64e74f016867f294a34 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Wed Apr 28 19:17:10 2010 +0200 - - atomic: Correct implementation of _atomic_fetch () - - _atomic_fetch() was expected to replace the content of a slot with - NULL and return the old content, but it incorrectly returned the - previous content even if it was unable to perform the exchange - (because of conflicts with other threads accessing the pool). - - Fix suggested by Chris Wilson <chris@chris-wilson.co.uk> - - src/cairo-freed-pool-private.h | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -commit d66b1ca1cfda64088521581bc2bd494bff9f5d23 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Wed Apr 28 16:23:15 2010 +0200 - - atomic: Separate bool and old-value compare-and-exchange - - Some implementations only offer one version of compare-and-exchange, - thus we expose both through cairo-atomic, implementing what is missing - through appropriate fallbacks. - *_cmpxchg() now return a boolean (this unbreaks _cairo_atomic_uint_cmpxchg) - *_cmpxchg_return_old() return the old value - Code is updated everywhere to reflect this, by using *_cmpxchg() - wherever the returned value was only tested to check if the exchange - had really taken place. - - Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> - - src/cairo-atomic-private.h | 68 ++++++++++++++++++++++++++++++++++++++---- - src/cairo-atomic.c | 4 +-- - src/cairo-freed-pool-private.h | 4 +-- - src/cairo-image-surface.c | 6 ++-- - src/cairo.c | 4 +-- - src/drm/cairo-drm.c | 2 +- - 6 files changed, 72 insertions(+), 16 deletions(-) - -commit a0bf424b820b404947671b56f357a2cef71640fb -Author: Andrea Canciani <ranma42@gmail.com> -Date: Wed Apr 28 15:29:32 2010 +0200 - - atomic: Remove unused function _cairo_atomic_int_set() - - _cairo_atomic_int_set() was only used in the definition of - CAIRO_REFERENCE_SET_VALUE, which was never used. - - Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> - - src/cairo-atomic-private.h | 10 ---------- - src/cairo-atomic.c | 8 -------- - src/cairo-reference-count-private.h | 1 - - 3 files changed, 19 deletions(-) - -commit 9ce8bef9d6e6d773dd1f4b184916ed5c96c3541d -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Apr 28 18:34:20 2010 +0200 - - fallback: Propagate extents properly - - Otherwise unbounded operators will clear the full surface. - Improves the score for the unbounded-operator test, in particular the - output for the test-fallback case. - - src/cairo-surface-fallback.c | 112 ++++++++++++++++++++++++++++++------------- - 1 file changed, 78 insertions(+), 34 deletions(-) - -commit 91fd97ae7c4de23c61d481c98c9352f0639d76dd -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Apr 28 20:21:37 2010 +0200 - - fallback: Pass the correct extents for unbounbded operations - - src/cairo-surface-fallback.c | 20 +++++++++++++------- - 1 file changed, 13 insertions(+), 7 deletions(-) - -commit 06e9caf86199e8261a07db6d4774628fa147728d -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Apr 28 20:05:13 2010 +0200 - - image: pixman_image_fill_rectangles() => pixman_image_fill_boxes() - - src/cairo-image-surface.c | 32 ++++++++++++++++---------------- - 1 file changed, 16 insertions(+), 16 deletions(-) - -commit bc49df322770b3bd1797c0e153b97f1f296fbd1e -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Apr 28 19:56:36 2010 +0200 - - pixman_image_composite => pixman_image_composite32 - - Fix up the remaining callers - - src/cairo-gl-surface.c | 12 ++++++------ - src/cairo-image-surface.c | 12 ++++++------ - 2 files changed, 12 insertions(+), 12 deletions(-) - -commit 393da364a7f26e696141c58d4fb6fdefb2ea245a -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Apr 28 18:18:15 2010 +0200 - - fallback: Sanitize code that queries surface extents - - The previous code was setting extents.is_bounded, but that value has a - completely different meaning. - - src/cairo-surface-fallback.c | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -commit 13914039567d5e8269fc29c51018ce172a40f2e9 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Apr 28 13:05:28 2010 +0200 - - test: run xlib-expose-event test unconditionally - - test/Makefile.sources | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2ce1afa3222145e9c4f8c74a0034e0da9e93b70b -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Apr 28 12:54:54 2010 +0200 - - test-suite: add image_diff_is_failure() function - - This cleans the code and fixes a boolean logic error where this check - was done manually. - - test/buffer-diff.c | 8 ++++++++ - test/buffer-diff.h | 4 ++++ - test/cairo-test-trace.c | 3 +-- - test/cairo-test.c | 9 +++------ - test/fallback-resolution.c | 3 +-- - test/xlib-surface.c | 4 ++-- - 6 files changed, 19 insertions(+), 12 deletions(-) - -commit 2a91d425088cb8a93de76f2f91f32a7f23f0aecd -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Apr 28 12:26:29 2010 +0200 - - fallback: Fix clip_region handling in mask creation - - Fixes the xlib-expose-event test. - - src/cairo-surface-fallback.c | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - -commit bb853916f3581af13cc1abff185ef5e0218f9f1e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Apr 28 11:37:59 2010 +0100 - - image: Generate clear/white/black images when !HAS_ATOMIC_OPS - - Andrea reported that b74cc0f broke compilation without atomic ops. - - src/cairo-image-surface.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit 45d4c6e0b2fe62a3c6f1fdb7f359c9771111b470 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Apr 28 10:01:06 2010 +0100 - - script: Replace the missing " " after pop - - I accidentally deleted the whitespace after popping the recording - surface, thus causing the scripts to be broken. - - src/cairo-script-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6a99e83c50d715ba1e47aa5c7be714a423568e57 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Apr 28 09:55:20 2010 +0100 - - subsurface: Mark the image as !clear after copying. - - src/cairo-surface-subsurface.c | 22 ++++++++++++---------- - 1 file changed, 12 insertions(+), 10 deletions(-) - -commit ca3df75e8f876991f2dc9e85c9daa3fd96e826d2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Apr 28 09:54:56 2010 +0100 - - script: Reconstruct subsurfaces. - - src/cairo-script-surface.c | 84 ++++++++++++++++++++++++++++++++-------------- - 1 file changed, 58 insertions(+), 26 deletions(-) - -commit 0f0d349a400e097856e6d9863e66c0a041e65c35 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Apr 28 09:54:37 2010 +0100 - - trace: Wrap cairo_surface_create_for_region() - - util/cairo-script/cairo-script-operators.c | 33 +++++++++++++++++++++++++++ - util/cairo-trace/trace.c | 36 ++++++++++++++++++++++++++++++ - 2 files changed, 69 insertions(+) - -commit 80fc2a8e49aa6ab4646b14eed9a4cf348a9149b4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Apr 28 09:50:49 2010 +0100 - - test: Expand xlib-expose-event to cover all backends - - Use a similar surface to create an equivalent backing surface for - any backend, thus enabling the test to run against any target. - - The comment about forcing fallbacks has long since been false. - - test/xlib-expose-event.c | 76 ++++++------------------------------------------ - 1 file changed, 9 insertions(+), 67 deletions(-) - -commit d3c4349730be991db0c85094103c744fc2d94836 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Apr 27 21:04:52 2010 +0100 - - test: Mark surfaces as finished if the data goes out of scope. - - The issue being that as the on-stack data is being referenced via a - zero-copy snapshot outside of the functions scope as the surface is only - finished and the source written long after the draw() returns. The - correct procedure is that the user must call cairo_surface_finish() - prior to any surface becoming inaccessible. In this case, this triggers - the snapshot to preserve a copy of the data whilst it is still valid. - - test/bilevel-image.c | 4 +++- - test/filter-nearest-offset.c | 1 + - test/mask-ctm.c | 4 +++- - test/mask-surface-ctm.c | 1 + - test/move-to-show-surface.c | 2 ++ - test/paint-repeat.c | 1 + - test/paint-source-alpha.c | 1 + - test/paint-with-alpha.c | 1 + - test/rgb24-ignore-alpha.c | 1 + - test/scale-down-source-surface-paint.c | 1 + - test/scale-source-surface-paint.c | 1 + - test/set-source.c | 1 + - test/smask-image-mask.c | 4 +++- - test/smask.c | 4 +++- - test/source-surface-scale-paint.c | 1 + - test/translate-show-surface.c | 1 + - test/zero-alpha.c | 1 + - 17 files changed, 26 insertions(+), 4 deletions(-) - -commit a5f54e48e3136076f3c8c60fc068f6a2105d9a33 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Apr 27 21:05:22 2010 +0100 - - snapshot: The snapshot masquerades as the target surface type. - - Not wholly convinced this is a good idea, but it matches the behaviour - of the other internal surface types. - - src/cairo-surface-snapshot.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 4a678afdf73d6f7b2b8a532ac7024976702c8aac -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Apr 27 18:57:56 2010 +0100 - - snapshot: Simply memcpy if the cloned image matches the original. - - src/cairo-surface-snapshot.c | 16 ++++++++++------ - 1 file changed, 10 insertions(+), 6 deletions(-) - -commit b74cc0f6d5b71295c70d4c29e24ab252175f9a5b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Apr 27 18:57:00 2010 +0100 - - image: Convert 1x1 samples into solid colors. - - If the sampled extents of the operation on an image surface is just a - single pixel, we can safely convert to a solid color. - - src/cairo-image-surface.c | 161 +++++++++++++++++++++++++++++++++++++++------- - 1 file changed, 136 insertions(+), 25 deletions(-) - -commit f5cf131a9d8984bd6b3403396beed2ffbc26bded -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Apr 27 18:56:23 2010 +0100 - - surface: skip OVER is the source is clear. - - If the source has no alpha, the OVER operation becomes DST, i.e. a - no-op. - - src/cairo-surface.c | 24 ++++++++++++++++++++++++ - 1 file changed, 24 insertions(+) - -commit 453b1cba11f71694cfe0c3d934ac1f5aabda67fd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Apr 27 16:47:31 2010 +0100 - - test: Update image ref images, and used fonts in README - - test/Makefile.am | 2 +- - test/README | 6 +++--- - test/finer-grained-fallbacks.argb32.ref.png | Bin 0 -> 1068 bytes - test/finer-grained-fallbacks.ref.png | Bin 1070 -> 0 bytes - test/finer-grained-fallbacks.rgb24.ref.png | Bin 839 -> 837 bytes - test/ft-text-vertical-layout-type1.ref.png | Bin 3644 -> 3591 bytes - test/ft-text-vertical-layout-type3.ref.png | Bin 3608 -> 3616 bytes - test/mask-glyphs.ref.png | Bin 1189352 -> 1189351 bytes - test/smask-text.ref.png | Bin 1874 -> 1672 bytes - test/smask.ref.png | Bin 3423 -> 3396 bytes - 10 files changed, 4 insertions(+), 4 deletions(-) - -commit 70656bba81e01eaf7b48817b2ca16fdf6d0b4bd5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Apr 27 14:19:22 2010 +0100 - - test: Add image16 refs - - test/Makefile.am | 144 +++++++++++++++++++++ - test/big-line.image16.ref.png | Bin 0 -> 988 bytes - test/bug-bo-rectangular.image16.ref.png | Bin 0 -> 955 bytes - test/caps-joins-alpha.image16.ref.png | Bin 0 -> 2268 bytes - test/caps-joins-curve.image16.ref.png | Bin 0 -> 4928 bytes - test/caps-joins.image16.ref.png | Bin 0 -> 2587 bytes - test/caps-sub-paths.image16.ref.png | Bin 0 -> 171 bytes - test/caps.image16.ref.png | Bin 0 -> 1936 bytes - test/clear-source.image16.ref.png | Bin 0 -> 909 bytes - test/clip-disjoint.image16.ref.png | Bin 0 -> 3886 bytes - test/clip-fill-no-op.image16.ref.png | Bin 0 -> 153 bytes - test/clip-fill-rule.image16.ref.png | Bin 0 -> 356 bytes - test/clip-fill-unbounded.image16.ref.png | Bin 0 -> 1204 bytes - test/clip-fill.image16.ref.png | Bin 0 -> 904 bytes - test/clip-image.image16.ref.png | Bin 0 -> 2032 bytes - test/clip-operator.image16.ref.png | Bin 0 -> 3131 bytes - test/clip-push-group.image16.ref.png | Bin 0 -> 159 bytes - test/clip-shape.image16.ref.png | Bin 0 -> 2488 bytes - test/clip-stroke-no-op.image16.ref.png | Bin 0 -> 153 bytes - test/clip-stroke-unbounded.image16.ref.png | Bin 0 -> 1255 bytes - test/clip-stroke.image16.ref.png | Bin 0 -> 1308 bytes - test/clip-text.image16.ref.png | Bin 0 -> 811 bytes - test/clip-twice.image16.ref.png | Bin 0 -> 1069 bytes - test/clipped-group.image16.ref.png | Bin 0 -> 281 bytes - test/clipped-surface.image16.ref.png | Bin 0 -> 296 bytes - test/close-path-current-point.image16.ref.png | Bin 0 -> 1804 bytes - ...omposite-integer-translate-over.image16.ref.png | Bin 0 -> 11570 bytes - ...posite-integer-translate-source.image16.ref.png | Bin 0 -> 11570 bytes - test/copy-path.image16.ref.png | Bin 0 -> 556 bytes - test/culled-glyphs.image16.ref.png | Bin 0 -> 426 bytes - test/dash-caps-joins.image16.ref.png | Bin 0 -> 4491 bytes - test/dash-curve.image16.ref.png | Bin 0 -> 32445 bytes - test/dash-scale.image16.ref.png | Bin 0 -> 7748 bytes - test/dash-state.image16.ref.png | Bin 0 -> 7910 bytes - test/degenerate-arc.image16.ref.png | Bin 0 -> 592 bytes - test/degenerate-arcs.image16.ref.png | Bin 0 -> 120 bytes - test/degenerate-curve-to.image16.ref.png | Bin 0 -> 278 bytes - test/degenerate-pen.image16.ref.png | Bin 0 -> 954 bytes - test/degenerate-rel-curve-to.image16.ref.png | Bin 0 -> 279 bytes - test/extend-pad-border.image16.ref.png | Bin 0 -> 446 bytes - test/extend-reflect-similar.image16.ref.png | Bin 0 -> 99786 bytes - test/extend-reflect.image16.ref.png | Bin 0 -> 99786 bytes - test/extend-repeat-similar.image16.ref.png | Bin 0 -> 83738 bytes - test/extend-repeat.image16.ref.png | Bin 0 -> 83738 bytes - test/extended-blend-alpha.image16.ref.png | Bin 0 -> 4626 bytes - test/extended-blend.image16.ref.png | Bin 0 -> 4145 bytes - test/fill-alpha-pattern.image16.ref.png | Bin 0 -> 3380 bytes - test/fill-alpha.image16.ref.png | Bin 0 -> 2145 bytes - test/fill-and-stroke-alpha-add.image16.ref.png | Bin 0 -> 536 bytes - test/fill-and-stroke-alpha.image16.ref.png | Bin 0 -> 470 bytes - test/fill-and-stroke.image16.ref.png | Bin 0 -> 251 bytes - test/fill-degenerate-sort-order.image16.ref.png | Bin 0 -> 1753 bytes - test/fill-image.image16.ref.png | Bin 0 -> 1163 bytes - test/fill-rule.image16.ref.png | Bin 0 -> 1625 bytes - test/filter-bilinear-extents.image16.ref.png | Bin 0 -> 895 bytes - test/filter-nearest-transformed.image16.ref.png | Bin 0 -> 418 bytes - test/finer-grained-fallbacks.image16.ref.png | Bin 0 -> 862 bytes - test/font-matrix-translation.image16.ref.png | Bin 0 -> 852 bytes - test/ft-show-glyphs-positioning.image16.ref.png | Bin 0 -> 2772 bytes - test/ft-show-glyphs-table.image16.ref.png | Bin 0 -> 8052 bytes - test/ft-text-vertical-layout-type1.image16.ref.png | Bin 0 -> 3072 bytes - test/ft-text-vertical-layout-type3.image16.ref.png | Bin 0 -> 3141 bytes - test/glyph-cache-pressure.image16.ref.png | Bin 0 -> 2453 bytes - test/group-clip.image16.ref.png | Bin 0 -> 193 bytes - test/group-unaligned.image16.ref.png | Bin 0 -> 395 bytes - test/huge-linear.image16.ref.png | Bin 0 -> 1542 bytes - test/huge-radial.image16.ref.png | Bin 0 -> 17893 bytes - test/image-surface-source.image16.ref.png | Bin 0 -> 305 bytes - test/joins.image16.ref.png | Bin 0 -> 5858 bytes - test/large-font.image16.ref.png | Bin 0 -> 5713 bytes - test/large-twin-antialias-mixed.image16.ref.png | Bin 0 -> 14398 bytes - test/leaky-dashed-rectangle.image16.ref.png | Bin 0 -> 367 bytes - test/leaky-dashed-stroke.image16.ref.png | Bin 0 -> 8089 bytes - test/leaky-polygon.image16.ref.png | Bin 0 -> 329 bytes - test/line-width-scale.image16.ref.png | Bin 0 -> 4721 bytes - test/linear-gradient-reflect.image16.ref.png | Bin 0 -> 190 bytes - test/linear-gradient-subset.image16.ref.png | Bin 0 -> 791 bytes - test/linear-gradient.image16.ref.png | Bin 0 -> 941 bytes - test/linear-uniform.image16.ref.png | Bin 0 -> 131 bytes - test/long-dashed-lines.image16.ref.png | Bin 0 -> 1974 bytes - test/mask-alpha.image16.ref.png | Bin 0 -> 560 bytes - test/mask-glyphs.image16.ref.png | Bin 0 -> 1053144 bytes - test/mask-transformed-image.image16.ref.png | Bin 0 -> 2748 bytes - test/mask-transformed-similar.image16.ref.png | Bin 0 -> 2748 bytes - test/mask.image16.ref.png | Bin 0 -> 5533 bytes - test/operator-alpha-alpha.image16.ref.png | Bin 0 -> 4140 bytes - test/operator-source.image16.ref.png | Bin 0 -> 2756 bytes - test/over-around-source.image16.ref.png | Bin 0 -> 491 bytes - test/paint-source-alpha.image16.ref.png | Bin 0 -> 253 bytes - test/paint-with-alpha.image16.ref.png | Bin 0 -> 253 bytes - test/path-append.image16.ref.png | Bin 0 -> 5252 bytes - test/path-stroke-twice.image16.ref.png | Bin 0 -> 210 bytes - test/pdf-surface-source.image16.ref.png | Bin 0 -> 305 bytes - test/ps-surface-source.image16.ref.png | Bin 0 -> 305 bytes - test/pthread-same-source.image16.ref.png | Bin 0 -> 1007 bytes - test/push-group-color.image16.ref.png | Bin 0 -> 2277 bytes - test/push-group.image16.ref.png | Bin 0 -> 2286 bytes - test/radial-gradient-source.image16.ref.png | Bin 0 -> 132037 bytes - test/radial-gradient.image16.ref.png | Bin 0 -> 202415 bytes - .../random-intersections-curves-eo.image16.ref.png | Bin 0 -> 181565 bytes - .../random-intersections-curves-nz.image16.ref.png | Bin 0 -> 204090 bytes - test/random-intersections-eo.image16.ref.png | Bin 0 -> 97747 bytes - test/random-intersections-nonzero.image16.ref.png | Bin 0 -> 107644 bytes - test/recording-surface-pattern.image16.ref.png | Bin 0 -> 2856 bytes - test/reflected-stroke.image16.ref.png | Bin 0 -> 4254 bytes - test/rotated-clip.image16.ref.png | Bin 0 -> 3336 bytes - test/rounded-rectangle-fill.image16.ref.png | Bin 0 -> 730 bytes - test/rounded-rectangle-stroke.image16.ref.png | Bin 0 -> 732 bytes - test/scale-offset-image.image16.ref.png | Bin 0 -> 7793 bytes - test/scale-offset-similar.image16.ref.png | Bin 0 -> 7793 bytes - test/select-font-face.image16.ref.png | Bin 0 -> 1962 bytes - test/show-text-current-point.image16.ref.png | Bin 0 -> 1932 bytes - test/smask-fill.image16.ref.png | Bin 0 -> 925 bytes - test/smask-mask.image16.ref.png | Bin 0 -> 1358 bytes - test/smask-paint.image16.ref.png | Bin 0 -> 1469 bytes - test/smask-stroke.image16.ref.png | Bin 0 -> 1330 bytes - test/smask-text.image16.ref.png | Bin 0 -> 1206 bytes - test/smask.image16.ref.png | Bin 0 -> 2213 bytes - test/spline-decomposition.image16.ref.png | Bin 0 -> 14064 bytes - test/stroke-ctm-caps.image16.ref.png | Bin 0 -> 908 bytes - test/stroke-image.image16.ref.png | Bin 0 -> 1167 bytes - test/subsurface.image16.ref.png | Bin 0 -> 1430 bytes - test/surface-pattern-operator.image16.ref.png | Bin 0 -> 1977 bytes - test/surface-pattern-scale-down.image16.ref.png | Bin 0 -> 1313 bytes - test/surface-pattern-scale-up.image16.ref.png | Bin 0 -> 3864 bytes - test/surface-pattern.image16.ref.png | Bin 0 -> 11870 bytes - test/svg-surface-source.image16.ref.png | Bin 0 -> 305 bytes - test/text-antialias-gray.image16.ref.png | Bin 0 -> 895 bytes - test/text-antialias-subpixel.image16.ref.png | Bin 0 -> 866 bytes - test/text-glyph-range.image16.ref.png | Bin 0 -> 1731 bytes - test/text-rotate.image16.ref.png | Bin 0 -> 12599 bytes - test/text-transform.image16.ref.png | Bin 0 -> 4469 bytes - test/transforms.image16.ref.png | Bin 0 -> 326 bytes - test/trap-clip.image16.ref.png | Bin 0 -> 4344 bytes - test/twin-antialias-gray.image16.ref.png | Bin 0 -> 3005 bytes - test/twin-antialias-mixed.image16.ref.png | Bin 0 -> 2049 bytes - test/twin-antialias-subpixel.image16.ref.png | Bin 0 -> 3005 bytes - test/twin.image16.ref.png | Bin 0 -> 3005 bytes - test/unbounded-operator.image16.ref.png | Bin 0 -> 1276 bytes - test/user-font-mask.image16.ref.png | Bin 0 -> 4948 bytes - test/user-font-proxy.image16.ref.png | Bin 0 -> 14460 bytes - test/user-font-rescale.image16.ref.png | Bin 0 -> 12590 bytes - test/user-font.image16.ref.png | Bin 0 -> 5814 bytes - test/xcomposite-projection.image16.ref.png | Bin 0 -> 1000 bytes - test/xlib-surface-source.image16.ref.png | Bin 0 -> 305 bytes - 145 files changed, 144 insertions(+) - -commit ebe6f2ac6988991afde0d685bea9f207ed3360d8 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Tue Apr 27 10:59:09 2010 +0200 - - quartz: Assert success of path creation - - Path creation can only fail because of the callbacks, but in quartz - they all return CAIRO_STATUS_SUCCESS. Therefore we can just assert - that path creation was successful and simplify calling functions - (as they don't have to handle potential errors anymore). - - src/cairo-quartz-surface.c | 35 +++++++++++++++-------------------- - 1 file changed, 15 insertions(+), 20 deletions(-) - -commit f67b6009278ef3dfe91ddbffb989dcfeed174352 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Sun Apr 4 11:50:41 2010 +0200 - - quartz: Simplify path creation - - If paths are created before changing the ctm (when stroking) no - multiplication is needed in the path construction code. - - src/cairo-quartz-surface.c | 60 ++++++++-------------------------------------- - 1 file changed, 10 insertions(+), 50 deletions(-) - -commit 3b2ceff0502ba409c161e497ebe015e0a0a88847 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Wed Apr 7 18:34:25 2010 +0200 - - quartz: Stroke without ctm_inverse multiplication - - If the CTM is not changed before creating the path, no multiplication - needs to be made between points and the inverse of the CTM. - - src/cairo-quartz-surface.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit 514d366cde689f8200b049834bebbd421d5d8bcb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Apr 27 11:07:09 2010 +0100 - - snapshot: propagate status on finish - - src/cairo-surface-snapshot.c | 11 ++++++++--- - 1 file changed, 8 insertions(+), 3 deletions(-) - -commit a505104013a1db0c8b1092c8a1848d7f0b02e6bc -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Apr 26 20:22:13 2010 +0100 - - image: Compute sample extents - - In order to reuse the original image as the pixman pattern, then the - entire operation must be wholly contained within the extents of the - image (including subsurfaces) and be reducible to an untransformed - REPEAT_NONE. - - src/cairo-image-surface.c | 72 +++++++++++++++++++++++++++++++---------------- - src/cairo-pattern.c | 2 +- - src/cairoint.h | 4 +++ - 3 files changed, 52 insertions(+), 26 deletions(-) - -commit b8a7f8621a84083735d0e2c8748f5fa2b7f4b36a -Author: Andrea Canciani <ranma42@gmail.com> -Date: Tue Apr 27 10:17:23 2010 +0200 - - Update FSF address - - I updated the Free Software Foundation address using the following script. - - for i in $(git grep Temple | cut -d: -f1 ) - do - 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" - done - - Fixes http://bugs.freedesktop.org/show_bug.cgi?id=21356 - - COPYING-LGPL-2.1 | 4 ++-- - boilerplate/cairo-boilerplate-drm.c | 2 +- - boilerplate/cairo-boilerplate-gl.c | 2 +- - boilerplate/cairo-boilerplate-qt.cpp | 2 +- - boilerplate/cairo-boilerplate-vg.c | 2 +- - build/aclocal.pkg.m4 | 2 +- - doc/tutorial/src/include/cairo-tutorial-gtk.h | 2 +- - doc/tutorial/src/include/cairo-tutorial-pdf.h | 2 +- - doc/tutorial/src/include/cairo-tutorial-png.h | 2 +- - doc/tutorial/src/include/cairo-tutorial-xlib.h | 2 +- - doc/tutorial/src/include/cairo-tutorial.h | 2 +- - src/cairo-analysis-surface-private.h | 2 +- - src/cairo-analysis-surface.c | 2 +- - src/cairo-arc-private.h | 2 +- - src/cairo-arc.c | 2 +- - src/cairo-array.c | 2 +- - src/cairo-atomic-private.h | 2 +- - src/cairo-atomic.c | 2 +- - src/cairo-base64-stream.c | 2 +- - src/cairo-base85-stream.c | 2 +- - src/cairo-bentley-ottmann-rectangular.c | 2 +- - src/cairo-bentley-ottmann-rectilinear.c | 2 +- - src/cairo-bentley-ottmann.c | 2 +- - src/cairo-beos-surface.cpp | 2 +- - src/cairo-beos.h | 2 +- - src/cairo-botor-scan-converter.c | 2 +- - src/cairo-boxes-private.h | 2 +- - src/cairo-boxes.c | 2 +- - src/cairo-cache-private.h | 2 +- - src/cairo-cache.c | 2 +- - src/cairo-cff-subset.c | 2 +- - src/cairo-clip-private.h | 2 +- - src/cairo-clip.c | 2 +- - src/cairo-color.c | 2 +- - src/cairo-combsort-private.h | 2 +- - src/cairo-compiler-private.h | 2 +- - src/cairo-composite-rectangles-private.h | 2 +- - src/cairo-composite-rectangles.c | 2 +- - src/cairo-debug.c | 2 +- - src/cairo-deflate-stream.c | 2 +- - src/cairo-deprecated.h | 2 +- - src/cairo-device-private.h | 2 +- - src/cairo-device.c | 2 +- - src/cairo-directfb-surface.c | 2 +- - src/cairo-directfb.h | 2 +- - src/cairo-drm.h | 2 +- - src/cairo-egl-context.c | 2 +- - src/cairo-error-private.h | 2 +- - src/cairo-fixed-private.h | 2 +- - src/cairo-fixed-type-private.h | 2 +- - src/cairo-fixed.c | 2 +- - src/cairo-font-face-twin.c | 2 +- - src/cairo-font-face.c | 2 +- - src/cairo-font-options.c | 2 +- - src/cairo-freed-pool-private.h | 2 +- - src/cairo-freed-pool.c | 2 +- - src/cairo-ft-font.c | 2 +- - src/cairo-ft-private.h | 2 +- - src/cairo-ft.h | 2 +- - src/cairo-gl-glyphs.c | 2 +- - src/cairo-gl-private.h | 2 +- - src/cairo-gl-shaders.c | 2 +- - src/cairo-gl-surface.c | 2 +- - src/cairo-gl.h | 2 +- - src/cairo-glx-context.c | 2 +- - src/cairo-gstate-private.h | 2 +- - src/cairo-gstate.c | 2 +- - src/cairo-hash-private.h | 2 +- - src/cairo-hash.c | 2 +- - src/cairo-hull.c | 2 +- - src/cairo-image-info-private.h | 2 +- - src/cairo-image-info.c | 2 +- - src/cairo-image-surface.c | 2 +- - src/cairo-list-private.h | 2 +- - src/cairo-lzw.c | 2 +- - src/cairo-malloc-private.h | 2 +- - src/cairo-matrix.c | 2 +- - src/cairo-misc.c | 2 +- - src/cairo-mutex-impl-private.h | 2 +- - src/cairo-mutex-list-private.h | 2 +- - src/cairo-mutex-private.h | 2 +- - src/cairo-mutex-type-private.h | 2 +- - src/cairo-mutex.c | 2 +- - src/cairo-os2-private.h | 2 +- - src/cairo-os2-surface.c | 2 +- - src/cairo-os2.h | 2 +- - src/cairo-output-stream-private.h | 2 +- - src/cairo-output-stream.c | 2 +- - src/cairo-paginated-private.h | 2 +- - src/cairo-paginated-surface-private.h | 2 +- - src/cairo-paginated-surface.c | 2 +- - src/cairo-path-bounds.c | 2 +- - src/cairo-path-fill.c | 2 +- - src/cairo-path-fixed-private.h | 2 +- - src/cairo-path-fixed.c | 2 +- - src/cairo-path-in-fill.c | 2 +- - src/cairo-path-private.h | 2 +- - src/cairo-path-stroke.c | 2 +- - src/cairo-path.c | 2 +- - src/cairo-pdf-operators-private.h | 2 +- - src/cairo-pdf-operators.c | 2 +- - src/cairo-pdf-surface-private.h | 2 +- - src/cairo-pdf-surface.c | 2 +- - src/cairo-pdf.h | 2 +- - src/cairo-pen.c | 2 +- - src/cairo-png.c | 2 +- - src/cairo-polygon.c | 2 +- - src/cairo-private.h | 2 +- - src/cairo-ps-surface-private.h | 2 +- - src/cairo-ps-surface.c | 2 +- - src/cairo-ps.h | 2 +- - src/cairo-qt-surface.cpp | 2 +- - src/cairo-qt.h | 2 +- - src/cairo-quartz-font.c | 2 +- - src/cairo-quartz-image-surface.c | 2 +- - src/cairo-quartz-image.h | 2 +- - src/cairo-quartz-private.h | 2 +- - src/cairo-quartz-surface.c | 2 +- - src/cairo-quartz.h | 2 +- - src/cairo-recording-surface-private.h | 2 +- - src/cairo-recording-surface.c | 2 +- - src/cairo-rectangle.c | 2 +- - src/cairo-rectangular-scan-converter.c | 2 +- - src/cairo-reference-count-private.h | 2 +- - src/cairo-region-private.h | 2 +- - src/cairo-region.c | 2 +- - src/cairo-rtree-private.h | 2 +- - src/cairo-rtree.c | 2 +- - src/cairo-scaled-font-private.h | 2 +- - src/cairo-scaled-font-subsets-private.h | 2 +- - src/cairo-scaled-font-subsets.c | 2 +- - src/cairo-scaled-font.c | 2 +- - src/cairo-script-surface.c | 2 +- - src/cairo-script.h | 2 +- - src/cairo-skia-surface.cpp | 2 +- - src/cairo-skia.h | 2 +- - src/cairo-slope-private.h | 2 +- - src/cairo-slope.c | 2 +- - src/cairo-spline.c | 2 +- - src/cairo-stroke-style.c | 2 +- - src/cairo-surface-clipper-private.h | 2 +- - src/cairo-surface-clipper.c | 2 +- - src/cairo-surface-fallback-private.h | 2 +- - src/cairo-surface-fallback.c | 2 +- - src/cairo-surface-offset-private.h | 2 +- - src/cairo-surface-offset.c | 2 +- - src/cairo-surface-private.h | 2 +- - src/cairo-surface-snapshot-private.h | 2 +- - src/cairo-surface-snapshot.c | 2 +- - src/cairo-surface-subsurface-private.h | 2 +- - src/cairo-surface-subsurface.c | 2 +- - src/cairo-surface-wrapper-private.h | 2 +- - src/cairo-surface-wrapper.c | 2 +- - src/cairo-surface.c | 2 +- - src/cairo-svg-surface-private.h | 2 +- - src/cairo-svg-surface.c | 2 +- - src/cairo-svg.h | 2 +- - src/cairo-system.c | 2 +- - src/cairo-tee-surface-private.h | 2 +- - src/cairo-tee-surface.c | 2 +- - src/cairo-toy-font-face.c | 2 +- - src/cairo-traps.c | 2 +- - src/cairo-truetype-subset-private.h | 2 +- - src/cairo-truetype-subset.c | 2 +- - src/cairo-type1-fallback.c | 2 +- - src/cairo-type1-private.h | 2 +- - src/cairo-type1-subset.c | 2 +- - src/cairo-type3-glyph-surface-private.h | 2 +- - src/cairo-type3-glyph-surface.c | 2 +- - src/cairo-types-private.h | 2 +- - src/cairo-unicode.c | 2 +- - src/cairo-user-font-private.h | 2 +- - src/cairo-user-font.c | 2 +- - src/cairo-version.c | 2 +- - src/cairo-vg-surface.c | 2 +- - src/cairo-vg.h | 2 +- - src/cairo-wideint-private.h | 2 +- - src/cairo-wideint-type-private.h | 2 +- - src/cairo-wideint.c | 2 +- - src/cairo-win32-font.c | 2 +- - src/cairo-win32-printing-surface.c | 2 +- - src/cairo-win32-private.h | 2 +- - src/cairo-win32-surface.c | 2 +- - src/cairo-win32.h | 2 +- - src/cairo-xcb-connection-core.c | 2 +- - src/cairo-xcb-connection-render.c | 2 +- - src/cairo-xcb-connection-shm.c | 2 +- - src/cairo-xcb-connection.c | 2 +- - src/cairo-xcb-private.h | 2 +- - src/cairo-xcb-screen.c | 2 +- - src/cairo-xcb-shm.c | 2 +- - src/cairo-xcb-surface-cairo.c | 2 +- - src/cairo-xcb-surface-core.c | 2 +- - src/cairo-xcb-surface-private.h | 2 +- - src/cairo-xcb-surface-render.c | 2 +- - src/cairo-xcb-surface.c | 2 +- - src/cairo-xcb.h | 2 +- - src/cairo-xlib-display.c | 2 +- - src/cairo-xlib-private.h | 2 +- - src/cairo-xlib-screen.c | 2 +- - src/cairo-xlib-surface-private.h | 2 +- - src/cairo-xlib-surface.c | 2 +- - src/cairo-xlib-visual.c | 2 +- - src/cairo-xlib-xcb-surface.c | 2 +- - src/cairo-xlib-xrender-private.h | 2 +- - src/cairo-xlib-xrender.h | 2 +- - src/cairo-xlib.h | 2 +- - src/cairo-xml-surface.c | 2 +- - src/cairo-xml.h | 2 +- - src/cairo.c | 2 +- - src/cairo.h | 2 +- - src/cairoint.h | 2 +- - src/drm/cairo-drm-bo.c | 2 +- - src/drm/cairo-drm-gallium-surface.c | 2 +- - src/drm/cairo-drm-i915-glyphs.c | 2 +- - src/drm/cairo-drm-i915-shader.c | 2 +- - src/drm/cairo-drm-i915-spans.c | 2 +- - src/drm/cairo-drm-i915-surface.c | 2 +- - src/drm/cairo-drm-i965-glyphs.c | 2 +- - src/drm/cairo-drm-i965-shader.c | 2 +- - src/drm/cairo-drm-i965-spans.c | 2 +- - src/drm/cairo-drm-i965-surface.c | 2 +- - src/drm/cairo-drm-intel-ioctl-private.h | 2 +- - src/drm/cairo-drm-intel-private.h | 2 +- - src/drm/cairo-drm-intel-surface.c | 2 +- - src/drm/cairo-drm-intel.c | 2 +- - src/drm/cairo-drm-private.h | 2 +- - src/drm/cairo-drm-radeon-private.h | 2 +- - src/drm/cairo-drm-radeon-surface.c | 2 +- - src/drm/cairo-drm-radeon.c | 2 +- - src/drm/cairo-drm-surface.c | 2 +- - src/drm/cairo-drm.c | 2 +- - src/test-fallback-surface.c | 2 +- - src/test-fallback-surface.h | 2 +- - src/test-fallback16-surface.c | 2 +- - src/test-fallback16-surface.h | 2 +- - src/test-null-surface.c | 2 +- - src/test-null-surface.h | 2 +- - src/test-paginated-surface.c | 2 +- - src/test-paginated-surface.h | 2 +- - src/test-wrapping-surface.c | 2 +- - src/test-wrapping-surface.h | 2 +- - test/dash-offset.c | 2 +- - test/miter-precision.c | 2 +- - test/operator-alpha-alpha.c | 2 +- - test/pdiff/args.c | 2 +- - test/pdiff/args.h | 2 +- - test/pdiff/lpyramid.c | 2 +- - test/pdiff/lpyramid.h | 2 +- - test/pdiff/pdiff.c | 2 +- - test/pdiff/pdiff.h | 2 +- - test/pdiff/perceptualdiff.c | 2 +- - util/backtrace-symbols.c | 2 +- - util/cairo-script/cairo-script-file.c | 2 +- - util/cairo-script/cairo-script-hash.c | 2 +- - util/cairo-script/cairo-script-interpreter.c | 2 +- - util/cairo-script/cairo-script-interpreter.h | 2 +- - util/cairo-script/cairo-script-objects.c | 2 +- - util/cairo-script/cairo-script-operators.c | 2 +- - util/cairo-script/cairo-script-private.h | 2 +- - util/cairo-script/cairo-script-scanner.c | 2 +- - util/cairo-script/cairo-script-stack.c | 2 +- - 262 files changed, 263 insertions(+), 263 deletions(-) - -commit 9672aab6b7c3f1efc065a6e5eb69443a1ecaa723 -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Apr 26 21:28:53 2010 +0200 - - tests: Integrate xlib-expose-event test into usual tests - - Previously the test was using the preamble vfunc and generating output - itself. Now it uses the draw function and ignores any but the xlib - backends. - - test/xlib-expose-event.c | 63 ++++++++++++------------------------------------ - 1 file changed, 15 insertions(+), 48 deletions(-) - -commit 36e0a3d3a01f9962d97386ea2d3c60020e937a81 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Apr 26 18:18:27 2010 +0100 - - trace: Remove unused functions - - trace.c:1154: warning: ‘_has_font_face_id’ defined but not used - trace.c:1196: warning: ‘_get_pattern_id’ defined but not used - trace.c:1870: warning: ‘_emit_font_face’ defined but not used - trace.c:1882: warning: ‘_emit_scaled_font’ defined but not used - - util/cairo-trace/trace.c | 24 ------------------------ - 1 file changed, 24 deletions(-) - -commit 3a2d9ffe0333090bb31ff01048ed506595f20cf9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Apr 26 18:17:49 2010 +0100 - - trace: Check return value to suppress compiler warning - - trace.c: In function ‘get_prog_name’: - trace.c:741: warning: ignoring return value of ‘fgets’, declared with - attribute warn_unused_result - - util/cairo-trace/trace.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 37be183412eb35abc11e602857602aee05839fc7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Apr 26 18:12:05 2010 +0100 - - trace: Trivial compiler warning fix - - trace.c:1665: warning: initialization from incompatible pointer type - - util/cairo-trace/trace.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3c9e5d9792e101cfbd5a1116f06579539ed7b585 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Apr 26 18:13:36 2010 +0100 - - region: Cast to remove const to suppress compiler warnings. - - airo-region.c: In function ‘cairo_region_intersect’: - cairo-region.c:503: warning: passing argument 3 of - ‘pixman_region32_intersect’ discards qualifiers from pointer target type - /usr/local/include/pixman-1/pixman.h:518: note: expected ‘struct - pixman_region32_t *’ but argument is of type ‘const struct pixman_region32_t *’ - - cairo-region.c: In function ‘cairo_region_union’: - cairo-region.c:566: warning: passing argument 3 of - ‘pixman_region32_union’ discards qualifiers from pointer target type - /usr/local/include/pixman-1/pixman.h:521: note: expected ‘struct - pixman_region32_t *’ but argument is of type ‘const struct pixman_region32_t *’ - - src/cairo-region.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 8c72122df51a10a32b56cdf20e5a1037ee59a958 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Apr 25 10:30:12 2010 +0100 - - clip: Skip combining with solid pixel aligned boxes. - - src/cairo-clip.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 240ebaf81a42c24c4d4267879c5ef8102e97017e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Apr 25 09:44:18 2010 +0100 - - clip: Fix sign reverse when combining with the clip surface. - - Finally, found the reversed sign in the clipping code, thanks cu! - - Fixes: test/clip-shape - - src/cairo-clip.c | 24 ++---------------------- - 1 file changed, 2 insertions(+), 22 deletions(-) - -commit 4d3632761b928c14fb1ce257af077f45658d8537 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Apr 25 09:42:13 2010 +0100 - - clip: Report the surface offset when retrieving the clip mask - - Stop the callers from guessing the origin of the clip surface by - reporting it explicitly! This enables the clip to bypass any rectangles - overlaid on top of the clip surface, which is common when the backends - limit the clip to the extents of the operation -- but irrelevant to the - actual content of the clip mask - - src/cairo-clip-private.h | 2 +- - src/cairo-clip.c | 26 ++++++++++++++++++++------ - src/cairo-image-surface.c | 39 +++++++++++++++++++++------------------ - src/cairo-surface-fallback.c | 20 ++++++++++---------- - src/cairo-xcb-surface-render.c | 31 +++++++++++++++---------------- - src/drm/cairo-drm-i915-shader.c | 9 ++++----- - src/drm/cairo-drm-i965-shader.c | 7 ++++--- - 7 files changed, 75 insertions(+), 59 deletions(-) - -commit 241ce933f8fa44210015dcdc4a66b3f9d8ac56e8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Apr 25 09:37:50 2010 +0100 - - test: Add clip-shape - - cu found a bug when using clipping and fills with the image backend, but - it turns out to be the lost sign bug afflicting everything... - - To trigger the bug requires evaluating the clip surface prior to using - in with _cairo_clip_combine_with_surface(). Which is taken along a - particular path when using a clip mask with non-pixel geometry on image, - but more easily hit by the fallback code. - - Reported-by: <cairouser@yahoo.com> - - test/Makefile.am | 4 ++ - test/Makefile.sources | 1 + - test/clip-shape.c | 86 ++++++++++++++++++++++++++++++++++ - test/clip-shape.ps.ref.png | Bin 0 -> 1797 bytes - test/clip-shape.ref.png | Bin 0 -> 2935 bytes - test/clip-shape.xlib-fallback.ref.png | Bin 0 -> 2916 bytes - test/clip-shape.xlib.ref.png | Bin 0 -> 2944 bytes - 7 files changed, 91 insertions(+) - -commit 1687c7b7d3074de8eeea1a5c339df9a12cc38da2 -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Apr 23 22:22:28 2010 +0200 - - xlib: Fix display closing to work properly - - Previously we free()'d the cairo_device's memory which was not good at - all. Now the code causes cairo_device_finish() instead. - - src/cairo-xlib-display.c | 37 +++++++++++++++++++++++-------------- - 1 file changed, 23 insertions(+), 14 deletions(-) - -commit 637564c562de21c17c36d192d3ab1b3fe069754b -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Apr 23 22:10:32 2010 +0200 - - xlib: Fix screen device handling - - Add a _cairo_xlib_device_create() function that could easily be exported - as a replacement for _cairo_xlib_display_get(). This function returns a - cairo_device_t instead of a cairo_xlib_display_t because the display - isn't acquired. - - src/cairo-xlib-display.c | 33 ++++++++++++++++++--------------- - src/cairo-xlib-private.h | 4 ++-- - src/cairo-xlib-screen.c | 23 ++++++++++++++++------- - 3 files changed, 36 insertions(+), 24 deletions(-) - -commit 49b52a8946cbd5f785f71069313e4a204358887b -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Apr 22 21:56:31 2010 +0200 - - gl: Make drawing to windows work again - - The correct MIN/MAG_FILTER wasn't set. - - src/cairo-gl-surface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 3efbc0c5c850d0cb5c5af5bcabbc7293670ea355 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue Apr 20 21:58:59 2010 +0200 - - gl: Only unref a surface if it exists - - Note: This will likely work for NULL clones, but I prefer not - dereferencing NULLs. That gives people a wrong understanding of the code - (i.e. me). - - src/cairo-gl-surface.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 64662be4ef3851d21658e5fdb2efb6806b45eba8 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Apr 22 22:05:03 2010 +0200 - - gl: Use GLfloat instead of float in gl*Array() functions - - src/cairo-gl-surface.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit e4f84f97b2f5d37bc1fb7dd510df733053ffe624 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue Apr 20 21:33:50 2010 +0200 - - gl: Don't acquire the gl context twice - - src/cairo-gl-surface.c | 7 ------- - 1 file changed, 7 deletions(-) - -commit e40a2d1f5eeea139e29c27e38495b9c0bf9e39a1 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Apr 22 22:03:29 2010 +0200 - - gl: Use correct type when uploading images - - src/cairo-gl-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 55cf323f963bbcc11bcc290eaf71656e1ba91efd -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Apr 22 21:58:01 2010 +0200 - - gl: fix typo in comment - - src/cairo-gl-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 887d43578c3acc7d45c8b2e3ade5da29be804eeb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Apr 23 20:14:03 2010 +0100 - - xlib: Simply release the ref, not destroy, from CloseDisplay. - - Do not call the destroy function directly, but rely on the reference - counting to call the notifier upon the last reference. Instead, simply - release the reference we were holding for the cache and CloseDisplay - callback. - - src/cairo-xlib-display.c | 22 ++++++++++++---------- - 1 file changed, 12 insertions(+), 10 deletions(-) - -commit c63e3490a5fc2836837e7adcb5ecad62bdfd18ab -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Apr 22 20:33:06 2010 +0100 - - cairo: Handle the all-clipped state in cairo_push_group() - - Yet another bug reported by Jeff Muizelaar, thanks! - - Fixes: test/clip-empty-group - - src/cairo.c | 81 +++++++++++++++++++++++++++++++++++-------------------------- - 1 file changed, 46 insertions(+), 35 deletions(-) - -commit 567e485f28716d7b72cbf864a0c573148be91cd8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Apr 23 14:37:43 2010 +0100 - - test: Add clip-empty-group - - Exercise a bug reported by Jeff Muizelaar whereby cairo_push_group() was - broken by everything being clipped out. - - test/Makefile.am | 1 + - test/Makefile.sources | 1 + - test/clip-empty-group.c | 65 ++++++++++++++++++++++++++++++++++++++++++ - test/clip-empty-group.ref.png | Bin 0 -> 103 bytes - 4 files changed, 67 insertions(+) - -commit 4438cc6a49e7e902dce045706f7125a2c3e2174b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Apr 3 18:10:57 2010 +0100 - - cairo: Use explicit device flushing. - - Now with the concept of a cairo_device_t and the ability to flush it, - we now longer require the heuristic of automatically flushing on behalf - of the user at the end of every context. - - src/cairo.c | 11 ----------- - 1 file changed, 11 deletions(-) - -commit 0fc140abc3c848e72b1b2b959026355fdbd6a941 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Apr 21 12:01:49 2010 +0100 - - pdf: Suppress compiler warning. - - src/cairo-pdf-operators.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit 1923a33a7277009b2898840d671fdc8f8d1b3922 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Apr 21 11:59:33 2010 +0100 - - cairoint.h: Change ASSERT_NOT_REACHED to remove compiler warning - - src/cairoint.h | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit d366da7d8c46b08673b9e36dd130608a311ded4b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Apr 23 14:38:42 2010 +0100 - - Win32 features update - - boilerplate/Makefile.win32.features | 8 -------- - src/Makefile.win32.features | 8 -------- - 2 files changed, 16 deletions(-) - -commit c1e51a0264d204716f7706fbc66c2a7786b7947c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Apr 23 14:33:53 2010 +0100 - - build: Spelling correction - - build/Makefile.win32.features-h | 1 - - build/configure.ac.features | 2 +- - 2 files changed, 1 insertion(+), 2 deletions(-) - -commit e0306da1d73509e2cfd0fce81a1b4259e5e3fcef -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Apr 21 22:51:53 2010 +0100 - - configure: typo in check for xcb-shm - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b7fbda276df52de6a5ac67397a8d49657233fcfa -Author: Andrea Canciani <ranma42@gmail.com> -Date: Sun Apr 18 23:16:07 2010 +0200 - - Revert "script: Another RGB16_565 warning." - - This reverts commit a9f506493371ac91494488e5ca38e57ceb5a10cb. - - The change was already applied in bdf8f50adae67498d5fe36727ed2cd34c0206509. - - src/cairo-script-surface.c | 6 ------ - 1 file changed, 6 deletions(-) - -commit f74ad37e66bbdcc4d727ed6d931dde870d84c2f4 -Author: Benjamin Otte <otte@redhat.com> -Date: Sun Apr 18 23:20:02 2010 +0200 - - xlib: Make display a cairo_device_t - - The code now uses the locking of the cairo_device_t instead of its own - mutexes. - - The code was modified so that cairo_surface_t does no longer reference - the display directly. Instead, it calls _cairo_xlib_display_acquire(). - If a function assumes an already acquired display, it now requires the - caller to provide a cairo_xlib_display_t parameter. Functions that do - not require an acquired display will not require the display parameter - or they will take the cairo_device_t instead. - - src/cairo-xlib-display.c | 234 +++++++--------- - src/cairo-xlib-private.h | 66 +++-- - src/cairo-xlib-screen.c | 161 +++-------- - src/cairo-xlib-surface-private.h | 2 - - src/cairo-xlib-surface.c | 557 +++++++++++++++++++++++---------------- - 5 files changed, 494 insertions(+), 526 deletions(-) - -commit 2bffa2467ed67517419e425fc34fb5b8294a9e96 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Jan 27 10:56:22 2010 +0100 - - Use pixman_image_composite32() - - Replace all occurences of pixman_image_composite() - - src/cairo-directfb-surface.c | 16 +- - src/cairo-image-surface.c | 352 ++++++++++++++++++++--------------------- - src/cairo-pattern.c | 16 +- - src/cairo-surface-snapshot.c | 12 +- - src/cairo-surface-subsurface.c | 24 +-- - src/cairo-xlib-surface.c | 16 +- - src/drm/cairo-drm-intel.c | 12 +- - 7 files changed, 224 insertions(+), 224 deletions(-) - -commit 567923d66a375259a6a8083aa4ef1051097a60c5 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Jan 27 09:39:20 2010 +0100 - - image: Make unbounded fixup code not use pixman_fill() - - The new pixman_image_fill_boxes() does proper fallbacks for weird pixman - formats. - - src/cairo-image-surface.c | 123 ++++++++++++++++++---------------------------- - 1 file changed, 47 insertions(+), 76 deletions(-) - -commit b648365cfa2d808b34b924a6b105718e0673bb9b -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Jan 27 09:21:41 2010 +0100 - - Require pixman 0.17.5 - - We want pixman_image_composite32() and pixman_image_fill_boxes() - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0a19ad7c104cd81fa2b93aaf7ef9302f50b3f369 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Apr 15 17:58:16 2010 +0200 - - gl: Get rid of "return value not checked" warnings - - Assert that those functions only return successfully. - - src/cairo-gl-surface.c | 42 ++++++++++++++++++++++++------------------ - 1 file changed, 24 insertions(+), 18 deletions(-) - -commit 7745ea21e104d0a5eec1814f19bacb7334f42185 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Apr 14 15:59:36 2010 +0200 - - gl: acquire/release properly in _cairo_gl_draw_image() - - Fixes various testsuite failures, in particular ones related to masks. - - src/cairo-gl-surface.c | 16 ++++++++++++++-- - 1 file changed, 14 insertions(+), 2 deletions(-) - -commit 596d3017a1b11cb9844e69330cdece7441929725 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue Apr 13 20:53:47 2010 +0200 - - gl: acquire/release context when getting images - - Avoids Mesa complaining about no current context. - - src/cairo-gl-surface.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit 46ef05c3d73af2b222602954b986832e77355a12 -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Mar 29 12:58:18 2010 +0200 - - glx: Add getters for device's Display and GLXContext - - src/cairo-gl.h | 6 ++++++ - src/cairo-glx-context.c | 30 ++++++++++++++++++++++++++++++ - 2 files changed, 36 insertions(+) - -commit 712919223d08f8b4c43f828322fdc285560c137f -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Mar 26 15:50:10 2010 +0100 - - gl: Make code safe for multithreaded access - - The code callss the gl device's acquire/release in - cairo_device_acquire/release(). This way, external APIs can use these - functions to prepare for rendering GL. - - Also adds code to unset the glx context if it wasn't set when acquiring - the device. This allows multithreaded apps to work fine with just using - cairo APIs, but might introduce penalties in single-threaded - applications. - - src/cairo-egl-context.c | 2 ++ - src/cairo-gl-private.h | 5 ++++- - src/cairo-gl-surface.c | 20 +++++++++++++++++++- - src/cairo-glx-context.c | 37 +++++++++++++++++++++++++++++++++++-- - 4 files changed, 60 insertions(+), 4 deletions(-) - -commit 8f2e82cea3405fa9a6591911c0d42ea3dd0c6180 -Author: Benjamin Otte <otte@redhat.com> -Date: Thu Apr 15 17:48:24 2010 +0200 - - xcb: Make code not complain about every new format - - src/cairo-xcb-surface-render.c | 46 +++++++++++++++++------------------------- - 1 file changed, 18 insertions(+), 28 deletions(-) - -commit 1d753b2f4d724c5ac3e452848ca4dda5891816a6 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue Feb 23 21:53:31 2010 +0100 - - xlib: Make code not complain about every new format - - src/cairo-xlib-surface.c | 46 ++++++++++++++++++---------------------------- - 1 file changed, 18 insertions(+), 28 deletions(-) - -commit ebc9cc46fe7740c6d97e02edc66bae383413764b -Author: Benjamin Otte <otte@redhat.com> -Date: Fri Mar 5 15:08:34 2010 +0100 - - gl: Use right format - - The internal format should always be GL_RGBA. - - src/cairo-gl-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4142f0836d6719dd136a5fc6ac1adaddd681a3f2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Apr 15 09:09:31 2010 +0100 - - gl: Handle component-alpha ADD - - A simple extension to the component-alpha OVER [as ca-ADD is just the - second pass in ca-OVER] to support amalgamation of glyph masks. This - speeds up firefox-36 by ~5% on g45. - - Before: - firefox-36-20090611 76.185 - After: - firefox-36-20090611 72.863 - - src/cairo-gl-surface.c | 16 +++++++++------- - 1 file changed, 9 insertions(+), 7 deletions(-) - -commit a4bae1956bee0be98a5a22bd82d417192776e7f0 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Apr 14 22:46:34 2010 +0200 - - gl: Really don't write error status to the inert object. - - src/cairo-gl-surface.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 5fed41ee2bb3097c1446c1cf2038c912d5932692 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Apr 14 22:43:29 2010 +0200 - - test: Add test checking that all setters properly check surface->status - - In particular, make sure that the setters when called on a const nil - surface don't try to set surface->status. - - test/Makefile.sources | 1 + - test/error-setters.c | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 110 insertions(+) - -commit 6826f020014fff566678a1ff92014211e2a21d4c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Apr 14 19:33:34 2010 +0100 - - gl: Don't write error status to the inert object. - - Reported-by: Benjamin Otte <otte@redhat.com> - - src/cairo-gl-surface.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 3814855a649ffca695ce31d97c291496e32d2e26 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Apr 14 20:22:14 2010 +0100 - - script: Flush prior to modifying the image data. - - util/cairo-script/cairo-script-operators.c | 1 + - 1 file changed, 1 insertion(+) - -commit 03f7bfc351c27ab9d0b764a21bdcf2304e8c2e81 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Apr 14 20:14:39 2010 +0100 - - rtree: Remove the false assert upon collapse. - - src/cairo-rtree.c | 2 -- - 1 file changed, 2 deletions(-) - -commit b0383d0cd2b40185b1676d9c88d3647cecc1d7fd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Apr 14 19:33:34 2010 +0100 - - svg: Don't write error status to the inert object. - - Reported-by: Benjamin Otte <otte@redhat.com> - - src/cairo-svg-surface.c | 37 +++++++++++++++++++++---------------- - 1 file changed, 21 insertions(+), 16 deletions(-) - -commit 5274b63adb9ad808f94e6ea04707991ec1192694 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Apr 14 19:33:34 2010 +0100 - - ps: Don't write error status to the inert object. - - Reported-by: Benjamin Otte <otte@redhat.com> - - src/cairo-pdf-surface.c | 2 -- - src/cairo-ps-surface.c | 74 ++++++++++++++++++------------------------------- - 2 files changed, 27 insertions(+), 49 deletions(-) - -commit 45d23b8a791d5845025a1a4d93f99030ec9e0115 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Apr 14 19:33:34 2010 +0100 - - pdf: Don't write error status to the inert object. - - Reported-by: Benjamin Otte <otte@redhat.com> - - src/cairo-pdf-surface.c | 41 ++++++++++++++++++++++------------------- - 1 file changed, 22 insertions(+), 19 deletions(-) - -commit 4351304b5110200b77e6851995cf533a929ba17e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Apr 14 19:29:07 2010 +0100 - - Win32 features update. - - boilerplate/Makefile.win32.features | 8 ++++++++ - build/Makefile.win32.features-h | 1 + - 2 files changed, 9 insertions(+) - -commit bd17b898b1c249aa0dc443bc303bad4fea8690bc -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Apr 14 19:11:15 2010 +0100 - - surface: Propagate the error status to _cairo_surface_get_device() - - If the surface is in error, the appropriate action is report the error - using an inert error cairo_device_t. - - Reported-by: Benjamin Otte <otte@redhat.com> - - src/cairo-surface.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 005596907fc9b62fa4bf72ec35e0d1a1a242ef93 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Apr 14 19:05:09 2010 +0100 - - xlib: Don't operate on an error object inside setters. - - Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=599574 - - The backend API manipulated the surface prior to checking whether it was - an inert error surface - and in the event of an error surface, tried to - overwrite it's error status. - - src/Makefile.win32.features | 8 ++++++++ - src/cairo-xcb-surface.c | 3 +++ - src/cairo-xlib-surface.c | 6 ++++++ - src/cairo-xlib-xcb-surface.c | 6 ++++++ - 4 files changed, 23 insertions(+) - -commit 8afd4e4c3db53159d1e5b6f13d3355cb5fb1750b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Apr 13 17:52:19 2010 +0100 - - hull: _cairo_hull_vertex_compare() return 0 for identical elements - - Andreas Falkenhahn reported a bizarre situation with some - implementations of qsort that actually compare the same elements and - require the comparator to return 0. So be it. - - Reported-by: Andreas Falkenhahn <andreas@airsoftsoftwair.de> - - src/cairo-hull.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit d95037db9915033ef1eee24c2fc05e8a95af5457 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Apr 11 21:04:29 2010 +0100 - - cache: Tidy _cairo_cache_shrink_to_accommodate() - - There is no need to shrink the cache if we add an entry of size 0, so - don't by moving the guards in _cairo_cache_shrink_to_accommodate() to the - callers. - - src/cairo-cache.c | 10 +++------- - 1 file changed, 3 insertions(+), 7 deletions(-) - -commit e6309c6307179388c5de938bffdb44b83b694f28 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Apr 11 21:03:00 2010 +0100 - - xcb: Use normal finish to decouple from surface cache. - - Hook into the standard finishing process for a more robust cache removal - mechanism. firefox was able to trigger some double free asserts - otherwise. - - src/cairo-xcb-screen.c | 4 ++- - src/cairo-xcb-surface-render.c | 57 ++++++++++++++++++++---------------------- - 2 files changed, 30 insertions(+), 31 deletions(-) - -commit e425c44e9c4c1796ccc3557a0368cf3b3a685a31 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Fri Apr 9 08:32:22 2010 +0200 - - boilerplate: Compile xlib without xrender - - cairo_boilerplate_xlib_surface_disable_render() is not defined when - compiling without XRender, but it was used nonetheless. Replace it - with an empty stub when XRender is not available. - - boilerplate/cairo-boilerplate-xlib.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 061ea78ad2838450b20d5550a7285823e0d24e1b -Author: Andrea Canciani <ranma42@gmail.com> -Date: Fri Apr 9 08:28:33 2010 +0200 - - perf: Correct cairo-perf-diff syntax - - { cmd-list; } seems to literally be the required syntax. Blanks and - ';' are both mandatory. - - perf/cairo-perf-diff | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6986970ea5197685274b1fd809d72fbd771c0bab -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Apr 10 17:05:38 2010 +0100 - - clip: Compile fix for previous clip. - - PEBKAC. - - src/cairo-clip.c | 3 --- - 1 file changed, 3 deletions(-) - -commit 0899852c974099da9f8c5e493fa89b8d022646c5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Apr 10 16:00:45 2010 +0100 - - clip: Compare the whole clip when testing for equality. - - Should fix test/clip-contexts - - src/cairo-clip-private.h | 4 ++++ - src/cairo-clip.c | 40 +++++++++++++++++++++++++++++++++++++--- - src/cairo-surface-clipper.c | 5 +---- - 3 files changed, 42 insertions(+), 7 deletions(-) - -commit 557016a86a5a4487aeb6ab6392795eb709ee8bb5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Apr 10 15:59:13 2010 +0100 - - test: Add clip-contexts - - This should exercise a bug found by Jeff Muizelaar that - cairo-surface-clipper was mistakenly thinking that clip operations on a - second context was a no-op as the topmost clip path matched that of the - previous context. - - test/Makefile.am | 1 + - test/Makefile.sources | 1 + - test/clip-contexts.c | 73 +++++++++++++++++++++++++++++++++++++++++++++ - test/clip-contexts.ref.png | Bin 0 -> 98 bytes - 4 files changed, 75 insertions(+) - -commit a9f506493371ac91494488e5ca38e57ceb5a10cb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Apr 7 22:44:02 2010 +0100 - - script: Another RGB16_565 warning. - - src/cairo-script-surface.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 42b5cac7668625c9761113ff72b47af5cfd10377 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Wed Apr 7 19:10:15 2010 +0930 - - PDF-operators: ensure text operations flushed before emitting clip - - src/cairo-pdf-operators.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit c004800fae362ae907ef9d1f822d02c598572161 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Apr 7 22:46:38 2010 +0100 - - script: Compile without FT_FONT - - src/cairo-script-surface.c | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -commit bdf8f50adae67498d5fe36727ed2cd34c0206509 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Apr 7 22:44:02 2010 +0100 - - script: Another RGB16_565 warning. - - src/cairo-script-surface.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit f5f64317874a3faa4f47688848a499b1e8836cf6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Apr 7 21:57:22 2010 +0100 - - perf: Switch between micro and trace benchmarks for cairo-perf-diff - - perf/cairo-perf-diff | 10 ++++------ - 1 file changed, 4 insertions(+), 6 deletions(-) - -commit 70ca0040fda77b6865c20c94c1b7deaa6e63c481 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Wed Apr 7 22:54:57 2010 +0200 - - Actually check for memory allocation failure - - Clang static analyzer signals "Dereference of null pointer" in case - the malloc returns NULL, as the code is checking the wrong pointer. - - src/cairo-boxes.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit d7f71ac5c209376bacb45199a0eaa3b1937172e9 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Apr 7 21:57:38 2010 +0200 - - region: Make the 2nd argument to intersect and union const - - src/cairo-region.c | 4 ++-- - src/cairo.h | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit ded3a9639b33b1e637e99250a463bc227c9e60f4 -Author: Kristian Rietveld <kris@gtk.org> -Date: Tue Dec 29 08:47:09 2009 +0100 - - quartz: Define cairo_quartz_float_t and use instead of float - - On Mac OS 10.6 and newer cairo_quartz_float_t is defined to be a - CGFloat, resolving issues with the 64-bit builds. - - Fixes https://bugs.freedesktop.org/show_bug.cgi?id=25814 - - src/cairo-quartz-private.h | 6 ++++++ - src/cairo-quartz-surface.c | 40 +++++++++++++++++++++------------------- - 2 files changed, 27 insertions(+), 19 deletions(-) - -commit 7c2c3f621f9b009b97c5f269bf313be926cc51c7 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Sat Apr 3 22:54:57 2010 +0200 - - Correct masking optimization - - In _cairo_surface_mask() there was an invaild optimization (it failed - for surfaces without alpha content). Using _cairo_pattern_is_clear() - is the correct way to evaluate if a pattern is clear. - - Fixes clear-source - - src/cairo-surface.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 24fc36c10f5c1c34e3059a8334178743052d7ad2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Apr 2 08:44:45 2010 +0100 - - script: Fix endian encoding of '<|' length. - - Andrea found and fixed (and updated all the traces!) an endian bug where - we were encoding a 32bit length inside the compressed string stream. - However, this one inside the script backed escaped his notice. - - src/cairo-script-surface.c | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -commit 697094488c652ad351301696bba9a384cc70002c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Apr 2 08:40:28 2010 +0100 - - test: Add inverse text - - This is exercising a bug that I have introduced either in the xcb - backend or in the driver in my experimental branches. So simple, yet so - wrong. - - test/Makefile.am | 1 + - test/Makefile.sources | 1 + - test/inverse-text.c | 67 ++++++++++++++++++++++++++++++++++++++ - test/inverse-text.image16.ref.png | Bin 0 -> 1863 bytes - test/inverse-text.ps.ref.png | Bin 0 -> 776 bytes - test/inverse-text.ref.png | Bin 0 -> 2150 bytes - 6 files changed, 69 insertions(+) - -commit fe610d559c70ab67f782b122437908ac80788611 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Mar 31 09:33:30 2010 +0100 - - perf/micro: Show megapixel fill rate during paint. - - perf/micro/paint-with-alpha.c | 9 ++++++++- - perf/micro/paint.c | 8 +++++++- - 2 files changed, 15 insertions(+), 2 deletions(-) - -commit 8f7078eba71dcd2aa70bf97c03ed7b4341260143 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Apr 1 20:42:44 2010 +0100 - - boilerplate: Allox xlib-fallback to build without RENDER - - This surface doesn't use RENDER and should produce the same results - when cairo-xlib is compiled without any support for RENDER. - - boilerplate/cairo-boilerplate-xlib.c | 72 ++---------------------------------- - 1 file changed, 4 insertions(+), 68 deletions(-) - -commit d209b40c64bddeb0d830678bc2f84e1016fed879 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Apr 1 20:36:15 2010 +0100 - - xlib: Rearrange xrender stubs to restore compilation without xrender.h - - boilerplate/Makefile.win32.features | 8 -------- - build/Makefile.win32.features-h | 1 - - src/Makefile.win32.features | 8 -------- - src/cairo-xlib-xrender-private.h | 14 +++++++------- - 4 files changed, 7 insertions(+), 24 deletions(-) - -commit db4dbb38340e93da616319f00e0f4327d1c1d815 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Thu Apr 1 01:53:22 2010 -0400 - - Improve doc syntax check to allow inline macro docs - - src/check-doc-syntax.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 00101fa71614fb48de436d6618e26353cf44ef95 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Mar 31 16:19:02 2010 +0100 - - configure: check -lrt for shm_open() - - OS/X includes shm_open() in libc, and fails to link if -lrt is - specified. So perform the appropriate configure time magic. - - configure.ac | 5 +++++ - util/cairo-sphinx/Makefile.am | 2 +- - 2 files changed, 6 insertions(+), 1 deletion(-) - -commit a81d347c2484e60ceec1d9dc81e1b88724496eaf -Author: Andrea Canciani <ranma42@gmail.com> -Date: Fri Feb 5 22:34:51 2010 +0100 - - perf: Fix timestamp computation on MacOS X - - The OIL routines don't work as expected on MacOS X. The operating - system gives access to the timestamp counter through the function - mach_absolute_time. - - Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> - - perf/cairo-perf-posix.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit 55ce0b774869e9fa614c6f9fec7905f7205cb5ff -Author: Andrea Canciani <ranma42@gmail.com> -Date: Fri Feb 5 22:30:05 2010 +0100 - - script: Fix script scanner endianness - - The script interpreter was reading the length of compressed data as - an host-endian uint32_t, thus making cairo-script able to correctly - read traces that were produced on the same endianness as the one they - ran upon, but unsuitable for portabile cairo-scripts. - - Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> - - util/cairo-script/cairo-script-scanner.c | 30 +++++++++++++++--------------- - 1 file changed, 15 insertions(+), 15 deletions(-) - -commit 4f617eaf77540ba2140086bd5a19fe6d62503d62 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Fri Feb 5 22:27:28 2010 +0100 - - trace: Fix trace endianness - - Trace files were using host-endian to represent the length of - compressed data, making the trace format not portable. - - Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> - - util/cairo-trace/trace.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -commit 35f19bc084792bbad42b86a399103ebfbf407d05 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Wed Mar 31 12:18:01 2010 +0200 - - pattern: Fix _gradient_is_opaque() for zero stops - - _gradient_is_opaque() previously returned TRUE for gradient with - no stops, triggering a false optimization in _cairo_gstate_mask(). - - Fixes test/gradient-zero-stops-mask - - Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> - - src/cairo-pattern.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 01e182194224e0eb7493b2ae3c8367ed455cfd54 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Wed Mar 31 12:14:25 2010 +0200 - - test: Add gradient-zero-stops-mask - - Add a test to check that gradient with no stops are not considered - opaque by gstate (and thus masking with them is not optimized to - paint). - - test/Makefile.am | 2 + - test/Makefile.sources | 1 + - test/gradient-zero-stops-mask.argb32.ref.png | Bin 0 -> 86 bytes - test/gradient-zero-stops-mask.c | 59 +++++++++++++++++++++++++++ - test/gradient-zero-stops-mask.rgb24.ref.png | Bin 0 -> 86 bytes - 5 files changed, 62 insertions(+) - -commit ce3ad6f41edf86ed6914f4d7f364111eba42ca65 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Mar 31 08:21:17 2010 +0100 - - xlib: Avoid multiple evaluations inside bswap_*() macro. - - Fixes: - Fonts are not readable if remote display to a machine with different - endian. - https://bugzilla.mozilla.org/show_bug.cgi?id=526977 - - Reported-and-tested-by: Ginn Chen <Ginn.Chen@Sun.COM> - - src/cairo-xlib-surface.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit be4ffa9df275513de3175415ee889b7323499a37 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Mar 28 19:40:54 2010 +0100 - - doc: Fix some missing '%' in gtk-doc comments - - src/cairo-surface.c | 4 ++-- - src/cairo-svg-surface.c | 10 +++++----- - 2 files changed, 7 insertions(+), 7 deletions(-) - -commit 7ab350378e8597e9872dbe390b8454d0a63bff28 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Mar 28 19:38:24 2010 +0100 - - Silence enumeration warnings following addition of RGB16_565 - - src/cairo-debug.c | 3 +++ - src/cairo-gl-glyphs.c | 2 ++ - src/cairo-png.c | 1 + - src/cairo-qt-surface.cpp | 2 ++ - src/cairo-scaled-font.c | 1 + - src/cairo-script-surface.c | 15 +++++++++++++ - src/cairo-xcb-surface-render.c | 5 +++++ - src/cairo-xlib-surface.c | 5 +++++ - src/cairo-xml-surface.c | 1 + - src/drm/cairo-drm-i915-surface.c | 3 +++ - src/drm/cairo-drm-i965-shader.c | 4 ++++ - src/drm/cairo-drm-i965-surface.c | 1 + - src/drm/cairo-drm-intel-surface.c | 1 + - src/drm/cairo-drm-intel.c | 12 ++++++++-- - src/drm/cairo-drm-radeon-surface.c | 1 + - util/cairo-script/cairo-script-operators.c | 35 ++++++++++++++++++++++++++++++ - util/cairo-sphinx/sphinx.c | 1 + - util/cairo-trace/trace.c | 25 ++++++++++++++++++--- - 18 files changed, 113 insertions(+), 5 deletions(-) - -commit d901692a5550c51fd3eefd307609fb800ef02a95 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 30 15:31:32 2010 +0100 - - scaled-glyph: Allow removal info fields. - - Pushed a fraction of a second too soon... Update the - scaled_glyph->has_info if the backend clears any field as well. - - src/cairo-scaled-font.c | 19 ++++++++++++++++--- - 1 file changed, 16 insertions(+), 3 deletions(-) - -commit 5c4b6d520bc7ce7d5193a89bbda44b91f5eb0d4d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 30 15:26:42 2010 +0100 - - xcb: Cache whether we have already check a glyph for size. - - Avoid repeated cairo_scaled_glyph_lookup() and checking of sizes if we - have already seen this glyph in this run. - - src/cairo-xcb-surface-render.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit 1c76e3e9ad1437662bf91ed1d21c4bda8fd50fb4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 30 15:24:08 2010 +0100 - - scaled-font: Optimize cairo_scaled_font_lookup() - - By tracking which fields of information are already available on the - scaled_glyph we can more efficiently determine if we already have the - requested fields. This reduces from about 6 conditionals to one, and - reduces the function overhead by ~20% -- which has a measurable - improvement on glyph benchmarks. - - src/cairo-scaled-font.c | 73 +++++++++++++---------------------------------- - src/cairo-types-private.h | 1 + - 2 files changed, 21 insertions(+), 53 deletions(-) - -commit d2ec151e490b227e7f3d6879bf7a893577dfefa5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 30 15:23:18 2010 +0100 - - perf/micro: Exercise different sizes and antialising modes with glyphs - - perf/micro/glyphs.c | 85 ++++++++++++++++++++++++++++++++++++++++++++++++----- - 1 file changed, 77 insertions(+), 8 deletions(-) - -commit 72481acf0d1e8648c5d03ce51f84c639132475a9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 30 04:10:28 2010 +0100 - - perf: Compute ops per second - - Provide a hook for the test to be able to compute the number of ops per - second. For instance, the glyphs test uses it to report the number of - kiloglyph per second Cairo is able to render. - - perf/cairo-perf-micro.c | 47 ++++++++++++++++++++++++-------------- - perf/cairo-perf.h | 9 ++++++-- - perf/micro/box-outline.c | 4 ++-- - perf/micro/cairo-perf-cover.c | 5 ++-- - perf/micro/composite-checker.c | 2 +- - perf/micro/dragon.c | 10 ++++---- - perf/micro/fill.c | 6 ++--- - perf/micro/glyphs.c | 35 ++++++++++++++++++++++++++-- - perf/micro/intersections.c | 8 +++---- - perf/micro/long-dashed-lines.c | 2 +- - perf/micro/long-lines.c | 8 +++---- - perf/micro/mask.c | 18 +++++++-------- - perf/micro/mosaic.c | 8 +++---- - perf/micro/paint-with-alpha.c | 2 +- - perf/micro/paint.c | 2 +- - perf/micro/pattern_create_radial.c | 2 +- - perf/micro/pythagoras-tree.c | 2 +- - perf/micro/rectangles.c | 6 ++--- - perf/micro/rounded-rectangles.c | 6 ++--- - perf/micro/spiral.c | 28 +++++++++++------------ - perf/micro/stroke.c | 4 ++-- - perf/micro/subimage_copy.c | 2 +- - perf/micro/tessellate.c | 6 ++--- - perf/micro/text.c | 2 +- - perf/micro/twin.c | 2 +- - perf/micro/unaligned-clip.c | 2 +- - perf/micro/world-map.c | 2 +- - perf/micro/zrusin.c | 4 ++-- - 28 files changed, 142 insertions(+), 92 deletions(-) - -commit 2a98d0586c19fbb2b555f471895d73f253c4943b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 15 18:23:23 2010 +0000 - - drm/i915: Avoid using another unpreserved temporary - - As we may load from a sampler, we can not use on of the unpreserved - temporaries to store the intermediate colour result. - - src/drm/cairo-drm-i915-shader.c | 26 +++++++++++++++----------- - 1 file changed, 15 insertions(+), 11 deletions(-) - -commit 26f963557bf065fd25b9c4f6652a252735a0fb74 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 15 18:22:06 2010 +0000 - - drm/i915: Normalize spans opacity value - - On the generic path I forgot to rescale the alpha value into [0,1]. - - src/drm/cairo-drm-i915-spans.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit 97f8c20727eaeb2dfddb0d4796192cc042eb14fa -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Mar 27 21:52:16 2010 +0000 - - boilerplate: Create an image16 target - - In order to exercise the newly restored r5g6g5 support, we need to - create an appropriate surface and feed it through the test and - performance suites. - - boilerplate/cairo-boilerplate-directfb.c | 6 ++- - boilerplate/cairo-boilerplate-drm.c | 6 ++- - boilerplate/cairo-boilerplate-gl.c | 12 +++-- - boilerplate/cairo-boilerplate-pdf.c | 4 +- - boilerplate/cairo-boilerplate-ps.c | 8 +-- - boilerplate/cairo-boilerplate-quartz.c | 3 ++ - boilerplate/cairo-boilerplate-script.c | 2 +- - boilerplate/cairo-boilerplate-skia.c | 6 ++- - boilerplate/cairo-boilerplate-svg.c | 8 +-- - boilerplate/cairo-boilerplate-test-surfaces.c | 21 ++++---- - boilerplate/cairo-boilerplate-vg.c | 12 +++-- - boilerplate/cairo-boilerplate-win32-printing.c | 4 +- - boilerplate/cairo-boilerplate-win32.c | 6 ++- - boilerplate/cairo-boilerplate-xcb.c | 21 +++++--- - boilerplate/cairo-boilerplate-xlib.c | 12 +++-- - boilerplate/cairo-boilerplate.c | 39 +++++++++++++-- - boilerplate/cairo-boilerplate.h | 1 + - perf/cairo-perf-micro.c | 59 +---------------------- - perf/cairo-perf-trace.c | 67 +------------------------- - 19 files changed, 120 insertions(+), 177 deletions(-) - -commit 022291be1cbddf4f6722f0bf76ebda6922780276 -Author: Oleg Romashin <romaxa@gmail.com> -Date: Wed Mar 24 13:12:25 2010 -0400 - - Add back support for CAIRO_FORMAT_RGB16_565 - - Due to slow memory speed, 16bpp color depth is still very popular on mobile - devices. Maemo5 is also using 16bpp color depth. - - src/cairo-deprecated.h | 14 -------------- - src/cairo-image-surface.c | 16 +++++++++++++++- - src/cairo-xlib-display.c | 28 +++++++++++++++++++++++++--- - src/cairo.h | 7 ++----- - src/cairoint.h | 2 +- - 5 files changed, 43 insertions(+), 24 deletions(-) - -commit 36e12b1952f9bdc52491c5a9bdf8ce155865c362 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Mar 24 12:14:20 2010 +0000 - - subsurface: Ignore return from _cairo_clip_init_copy() - - The return is just a hint that the clip is empty, however we are about - to immediately apply the surface clip and so do not care for an - 'optimised' path. - - src/cairo-surface-subsurface.c | 15 ++++++++++----- - 1 file changed, 10 insertions(+), 5 deletions(-) - -commit e356e5d18b923d9b0ff83e9460582710f9e515d9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Mar 24 11:38:19 2010 +0000 - - recording: Fix leak of clip from snapshots of recording surfaces. - - src/cairo-recording-surface.c | 1 + - 1 file changed, 1 insertion(+) - -commit 5b4885f693c0d800da7160770b341166e3bdea61 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Mar 24 11:25:29 2010 +0000 - - clip: propagate the no-clip through the copy. - - src/cairo-clip.c | 1 + - 1 file changed, 1 insertion(+) - -commit b3e0393161904c2fea62b0198dea551a77201c19 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Mar 24 11:21:36 2010 +0000 - - clip: Don't reduce all-clip to no-clip. - - src/cairo-clip.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit b12114f296e4e8db3207ab593a431fd0ca2ee67c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Mar 24 11:08:38 2010 +0000 - - snapshot: Finish the clone. - - Kill ref cycles from snapshots patterns by explicitly calling finish on - the cloned surface. - - src/cairo-surface-snapshot.c | 1 + - 1 file changed, 1 insertion(+) - -commit db913d731e50505892697bdc919f9fe146eea6ab -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Mar 24 10:16:58 2010 +0000 - - xcb: Ensure that we own the glyph cache before use. - - Sigh. One day, I will enable multiple glyph caches to be attached to a - scaled font, but for today, simply avoid the crash. - - src/cairo-xcb-surface-render.c | 38 +++++++++++++++++++++++++++++--------- - 1 file changed, 29 insertions(+), 9 deletions(-) - -commit 6da3cea3564bd8c5de37bf2244a2dd656202e4ec -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 23 20:53:11 2010 +0000 - - scaled-font: Destroy the old surface when replacing scaled_glyph->recording - - src/cairo-scaled-font.c | 11 ++++++++--- - 1 file changed, 8 insertions(+), 3 deletions(-) - -commit 548092fe8c9af1423a10e9566cbc4315d2f28efc -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 23 20:08:04 2010 +0000 - - script: Free the surface/font bitmaps. - - src/cairo-script-surface.c | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -commit 83d1bd9f37da93fbdc586788b6891d0eccdb7cee -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 23 20:04:10 2010 +0000 - - script: Manually unlink font entries upon destruction - - As the device is already finished, we can not lock it without raising an - error, so we have to open code the destruction of the font entries. - Fortunately we can make several simplifying assumptions about the - required cleanup as we know the device is also being destroyed. - - src/cairo-script-surface.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit cccf6753ab68b0795351da2626f9e4ecd60c2a2e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 23 19:45:35 2010 +0000 - - script: More acquire device fixes. - - We also need to acquire the device upon finish, similar surface creation - and the pagination functions, i.e. the other times outside of the - drawing ops that must modify the shared context/device. - - src/cairo-script-surface.c | 69 ++++++++++++++++++++++++++++++++++++---------- - 1 file changed, 54 insertions(+), 15 deletions(-) - -commit 25a77b263d170265a9acf1697793cbbfa07dd852 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 23 16:49:21 2010 +0000 - - boilerplate: Cleanup the list of backends upon shutdown. - - boilerplate/cairo-boilerplate.c | 13 +++++++++++++ - boilerplate/cairo-boilerplate.h | 3 +++ - perf/cairo-perf-micro.c | 2 ++ - perf/cairo-perf-trace.c | 2 ++ - test/cairo-test.c | 2 ++ - 5 files changed, 22 insertions(+) - -commit 1ddcd5cf31bb47e9ff18ddf94d0a4648fa70a617 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 23 16:43:39 2010 +0000 - - clip: Remove the redundant _cairo_clip_init_rectangle() - - As _cairo_clip_init_rectangle() is equivalent and more importantly more - clearly written as: - _cairo_clip_init(&clip); - if (status = _cairo_clip_rectangle(&clip, &rect)) { - _cairo_clip_fini(&fini); - return status; - } - perform the transformation and in the process catch a few mistakes along - error paths. - - src/cairo-clip-private.h | 4 ---- - src/cairo-clip.c | 30 +++++++++++------------------- - src/cairo-paginated-surface.c | 18 +++++++++--------- - src/cairo-recording-surface.c | 11 +++++------ - src/cairo-surface-wrapper.c | 14 +++++--------- - 5 files changed, 30 insertions(+), 47 deletions(-) - -commit 61ad28fe7d334c63197ae3881d5edd074d63cfec -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 23 10:44:16 2010 +0000 - - device: Add language binding interfaces. - - Damien Carbonne reported that cairo_device_t lacked the language binding - hooks normally associated with cairo objects. So add the missing - get_reference_count, get_user_data and set_user_data. - - src/cairo-device-private.h | 1 + - src/cairo-device.c | 78 ++++++++++++++++++++++++++++++++++++++++++++++ - src/cairo.h | 14 +++++++++ - 3 files changed, 93 insertions(+) - -commit 8a8c2f6c282c1822dc1a638c2258c8449b1d678b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 23 10:34:06 2010 +0000 - - cairo: Typos in docs. - - A couple of typos reported by Damien Carbonne. - - src/cairo-recording-surface.c | 10 ++++------ - src/cairo.h | 4 ++-- - 2 files changed, 6 insertions(+), 8 deletions(-) - -commit 4c55c87478a2595569f9c1f13657c3d309f31407 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 23 10:05:35 2010 +0000 - - image: Free traps after conversion from boxes. - - src/cairo-image-surface.c | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -commit 07f7bddc30157fed8f9dced00fef44a2307b4b01 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 23 10:05:35 2010 +0000 - - xcb: Free traps after conversion from boxes. - - src/cairo-xcb-surface-render.c | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -commit 181403fb534d0216123043bcd3ee6cff60e1e6fd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 23 09:38:59 2010 +0000 - - test/clear-source: Free source after use. - - test/clear-source.c | 38 ++++++++++++++++++++++---------------- - 1 file changed, 22 insertions(+), 16 deletions(-) - -commit 35432e37c264e1ace764b4a1393d9b8579eb52c0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 23 09:35:51 2010 +0000 - - xcb: Destroy reference to clip surface after use. - - src/cairo-xcb-surface-render.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 98e3dfbb899f0228fc9987a56af93b012989a27a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 23 09:35:31 2010 +0000 - - xcb: Relinquish the xcb connection on finish. - - src/cairo-xcb-connection.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit 638cae3bdeaf0b10d1fd59a519f5d7a05c5b179c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 23 08:25:13 2010 +0000 - - xcb: Fix leak of clip rectangle during show-glyphs. - - src/cairo-xcb-surface-render.c | 15 ++++++--------- - 1 file changed, 6 insertions(+), 9 deletions(-) - -commit 1d4ad787747b5c92c3b062afde5b98c72ac4cc95 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 23 08:20:49 2010 +0000 - - test/pthread-same-source: Free source after use. - - test/pthread-same-source.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit bfc027ac6d05f489d0d26110c225d2871be0971c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 23 08:16:57 2010 +0000 - - test/clip-image: Free image after use. - - test/clip-image.c | 1 + - 1 file changed, 1 insertion(+) - -commit e214f09d633093ce9b2ca0bffce10bc68a6e30b0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 22 22:20:58 2010 +0000 - - xcb: Consume the implicit reference for the cached connection on finish - - src/cairo-xcb-connection.c | 5 +++++ - 1 file changed, 5 insertions(+) - -commit c235543bdfd8b1495cb7ae8f2a82b6267c4d9b84 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 22 22:15:44 2010 +0000 - - xcb: Destroy reference to local source picture in show-glyphs. - - src/cairo-xcb-surface-render.c | 14 +++++++++++--- - 1 file changed, 11 insertions(+), 3 deletions(-) - -commit c42cdd2c9d883ef359ac57b65eba4ed15441181d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 22 20:14:09 2010 +0000 - - xcb: Gracefully destroy any lingering fallback during finish. - - A fallback should never persist beyond the flush into the finish, but - yet one remains in test/clip-shapes-unaligned-rectangles. For the time - been, simply clean up the rogue surface. - - src/cairo-xcb-surface.c | 19 ++++++++++++------- - 1 file changed, 12 insertions(+), 7 deletions(-) - -commit fd96aa3de2218dcc6671636f35a24738e3cae996 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 22 19:07:31 2010 +0000 - - gl: Hook in glyph cache finalisation. - - src/cairo-gl-glyphs.c | 23 ++++++++++++----------- - src/cairo-gl-private.h | 7 ++++--- - src/cairo-gl-surface.c | 4 ++++ - 3 files changed, 20 insertions(+), 14 deletions(-) - -commit c7511fa7ad932675c8cebba504d3c538ead3c44c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 22 17:21:38 2010 +0000 - - drm/intel: Revoke glyph caches on device finish - - src/drm/cairo-drm-i915-glyphs.c | 2 +- - src/drm/cairo-drm-i965-glyphs.c | 2 +- - src/drm/cairo-drm-intel-private.h | 1 + - src/drm/cairo-drm-intel.c | 18 ++++++++++++------ - 4 files changed, 15 insertions(+), 8 deletions(-) - -commit 9ba73bdfc451d205f411e3dbc8073ae10d58b4f3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 22 17:17:08 2010 +0000 - - gl: Decouple cache from scaled-font on context destruction - - src/cairo-gl-glyphs.c | 8 +++++++- - src/cairo-gl-private.h | 4 ++++ - src/cairo-gl-surface.c | 14 +++++++++++++- - src/cairo-scaled-font-private.h | 2 ++ - src/cairo-scaled-font.c | 1 + - 5 files changed, 27 insertions(+), 2 deletions(-) - -commit 7812d095ab7657400be470af8fdc7f20eaedd6c5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 22 16:46:58 2010 +0000 - - drm/intel: Replace open-coding of _cairo_rtree_node_remove() - - src/drm/cairo-drm-intel.c | 17 +++-------------- - 1 file changed, 3 insertions(+), 14 deletions(-) - -commit 48d847162558dc09388942a96ff443c253068d68 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 22 13:05:23 2010 +0000 - - recording: Cleanup the clip on error. - - Whilst recording the commands, remember to cleanup the local clip after - detecting an error. - - src/cairo-recording-surface.c | 5 +++++ - src/cairo-surface-snapshot.c | 2 ++ - 2 files changed, 7 insertions(+) - -commit c87737c2bf983a8555b08c526050423a5eab5642 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 22 13:04:19 2010 +0000 - - ps: Skip surface emission if in error state. - - During finish, if we encountered an error during the construction of the - surface, simply proceed to cleanup rather than emit the incomplete and - potentially subtly broken output. - - src/cairo-ps-surface.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit e961cdf568f4551bbd6bca6b7505fc9f9b0805f9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 22 10:48:48 2010 +0000 - - image: Special case wholly unbounded fixups. - - In the event of an empty bounded rectangle, the computation of the - unbounded - bounded rectangles leads to negative areas, integer overflow - and death. - - [And similarly for the derived surfaces.] - - src/cairo-image-surface.c | 24 +++++++++++ - src/cairo-xcb-surface-render.c | 62 +++++++++++++++------------ - src/drm/cairo-drm-i915-surface.c | 62 +++++++++++++++------------ - src/drm/cairo-drm-i965-surface.c | 93 +++++++++++++++++++++------------------- - 4 files changed, 144 insertions(+), 97 deletions(-) - -commit 844d8ea57d69c9a68fbec64f4438953850f7657f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 22 10:37:18 2010 +0000 - - surface: Check pattern for error status. - - Ensure that the error status from patterns is propagated when used by - doing so in the surface layer. Similarly check that a surface pattern - has not been finished. - - src/cairo-surface.c | 59 +++++++++++++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 55 insertions(+), 4 deletions(-) - -commit 213093f43770d078dd146d5a10b9a5803097b8a8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 22 10:36:47 2010 +0000 - - ps: Free page on error path. - - src/cairo-ps-surface.c | 1 + - 1 file changed, 1 insertion(+) - -commit c8a8e57d6af7261d70103ddd46f8da409896b5e7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Mar 21 20:42:34 2010 +0000 - - script: Use a stack to push/pop recursed line numbers. - - Still not entirely helpful in the event of recursive parsing without a - reference to the file as well as the line number in the event of an - exception. - - util/cairo-script/cairo-script-scanner.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -commit 4b4de940ee6e76ec9677b5468ebf709c6d2db982 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Mar 21 20:41:18 2010 +0000 - - script: Remove the version check. - - When compiling we can depend on whatever version of cairo we need, but - we should be wary of checking for runtime compatibility when building - standalone. - - util/cairo-script/cairo-script-operators.c | 2 -- - 1 file changed, 2 deletions(-) - -commit a7cb314b060f6ada855ec75b283ef64bf835824a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Mar 21 20:40:54 2010 +0000 - - test/any2ppm: Check for errors after executing script. - - test/any2ppm.c | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -commit b73a33b89e43d63a437035a05cf91df5c3b4d186 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Mar 21 20:40:19 2010 +0000 - - script: Make the test suite run again! - - src/cairo-script-surface.c | 194 ++++++++++++++++++++++++--------------------- - 1 file changed, 103 insertions(+), 91 deletions(-) - -commit 2a59f0af6aab5fe0ebb19195d4c018fc5221016c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Mar 21 20:38:27 2010 +0000 - - wrapper: Apply device transform inverse as appropriate. - - Fixes many failures of the paginated surfaces as they replayed through - the recording surfaces. - - src/cairo-surface-wrapper.c | 89 ++++++++++++++++----------------------------- - 1 file changed, 31 insertions(+), 58 deletions(-) - -commit 5720fff827e5149b201a9366179db93ce258b120 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Mar 21 20:37:38 2010 +0000 - - ps: Destroy the local surface on error. - - Minor leak of the intermediate surface when converting to an opaque - source following an error. - - src/cairo-ps-surface.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 35f318a59cde9c635036cc14c90878400528882d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Mar 21 20:36:26 2010 +0000 - - paginated: Use common is_clear. - - As equivalent processing to the page_is_blank optimisation done inside - the paginated surface is applied by the gstate, remove the redundant - code. - - src/cairo-paginated-surface-private.h | 1 - - src/cairo-paginated-surface.c | 34 +--------------------------------- - 2 files changed, 1 insertion(+), 34 deletions(-) - -commit b101c7dab8cdbf7b9321355a8d2311b2f863f011 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Mar 11 01:48:43 2010 +0000 - - gl: Add EGL interface - - Enable the EGL backend for GL. - - boilerplate/Makefile.win32.features | 8 ++ - boilerplate/cairo-boilerplate-gl.c | 98 +++++++++++++++++++++ - build/Makefile.win32.features-h | 1 + - configure.ac | 52 ++++++----- - src/Makefile.sources | 1 + - src/Makefile.win32.features | 8 ++ - src/cairo-egl-context.c | 168 ++++++++++++++++++++++++++++++++++++ - src/cairo-gl.h | 14 +++ - 8 files changed, 327 insertions(+), 23 deletions(-) - -commit ca6e4e1f91e0a90666551d2fa74cfc04484d4e80 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Mar 11 01:48:08 2010 +0000 - - spans: Initialise rects->is_bounded for polygon compat. - - src/cairo-spans.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 6754f1db1716a6570c82e207e21b09a10de120ba -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Mar 10 15:13:00 2010 +0000 - - gstate: Account for undropped non-transformed glyphs. - - In the simplest case of pass-through glyphs we made a mistake in - propagating the number of glyphs. - - Reported-by: Christophe de Dinechin <christophe@taodyne.com> - - src/cairo-gstate.c | 1 + - 1 file changed, 1 insertion(+) - -commit 5fb36fe5ab2a2b30da213557936122a829493906 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 8 15:32:15 2010 +0000 - - drm/i965: Acquire device around commit. - - src/drm/cairo-drm-i915-surface.c | 4 +- - src/drm/cairo-drm-i965-shader.c | 13 +++-- - src/drm/cairo-drm-i965-surface.c | 106 ++++++++++++++++++++++++++------------- - 3 files changed, 82 insertions(+), 41 deletions(-) - -commit 4083f40fbd085dc2039fe62592cf1239373c7fca -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Mar 7 16:59:57 2010 +0000 - - glew: don't pull in GL/glu.h - - src/glew/GL/glew.h | 10 ---------- - 1 file changed, 10 deletions(-) - -commit 473e006ad6ef0959c8a7059aba0689a16a937732 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Mar 6 18:12:36 2010 +0000 - - test: Add a1-mask-sample - - Test sampling positions with a NEAREST mask. - - test/Makefile.am | 1 + - test/Makefile.sources | 1 + - test/a1-mask-sample.c | 83 ++++++++++++++++++++++++++++++++++++++++++++ - test/a1-mask-sample.ref.png | Bin 0 -> 148 bytes - 4 files changed, 85 insertions(+) - -commit f79b2ceea4722b5059563be1eb55de617fecc004 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Mar 4 19:52:58 2010 +0000 - - drm/i915: Discard redundant solitary clips during fill - - src/drm/cairo-drm-i915-surface.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit 7cea9ae290ba24e4d2f87cef4228cce5fcb3181b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Mar 4 17:23:55 2010 +0000 - - drm/i915: Apply more micro-optimisations when targetting CONTENT_ALPHA - - src/drm/cairo-drm-i915-shader.c | 51 ++++++++++++++++++++++++++++++----------- - 1 file changed, 37 insertions(+), 14 deletions(-) - -commit dce8b028cd5b249054e8197a536c29f6ba4110da -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Mar 4 17:13:53 2010 +0000 - - drm/i915: Adjust clip matrix for clip origin. - - src/drm/cairo-drm-i915-shader.c | 8 +++----- - 1 file changed, 3 insertions(+), 5 deletions(-) - -commit 8e702044b3816002011488c56f1ec9c6b9682eee -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Mar 4 17:13:02 2010 +0000 - - drm/i915: Handle clip/combine coords for spans. - - src/drm/cairo-drm-i915-spans.c | 71 +++++++++++++++++++++++++----------------- - 1 file changed, 43 insertions(+), 28 deletions(-) - -commit e1f0c2e73fa8cda9e38ab182288201fa27a3b363 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Mar 4 17:11:58 2010 +0000 - - perf: Check for and include unistd.h - - isatty() and access() require unistd.h, so include it! - - perf/cairo-perf-trace.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit 271752b944ef0898b5d1be57f26de83c8e40ae3a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Mar 4 08:24:08 2010 +0000 - - gl: Pad the gradient texture. - - Fixes test/linear-gradient-subset - - src/cairo-gl-surface.c | 1 + - 1 file changed, 1 insertion(+) - -commit afe6f4f0519606c4bc7e9b705b0cae75692d7af2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Mar 3 23:06:43 2010 +0000 - - drm/i915: Use a preserved temporary to store the radial texcoord. - - src/drm/cairo-drm-i915-shader.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit 4b2e0478822cb8415be4bac21950dbf03c0f01c8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Mar 3 21:45:31 2010 +0000 - - drm/i915: Eliminate redundant radial vertex shader. - - It is always equivalent to a simple texture transformation, so reduce it - to the texture shader. - - src/drm/cairo-drm-i915-glyphs.c | 13 ------------- - src/drm/cairo-drm-i915-private.h | 1 - - src/drm/cairo-drm-i915-shader.c | 8 +------- - src/drm/cairo-drm-i915-spans.c | 42 ++-------------------------------------- - 4 files changed, 3 insertions(+), 61 deletions(-) - -commit 51610517982a4cf70ca8d396d0ad4c58a477c5e9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Mar 3 21:56:56 2010 +0000 - - drm/i915: Fix encoding of negated operand channels - - Long ago when converting the pixel shader structs into macros and - reducing the code size by ~100k (the inlines were too depth for constant - propagation and CSE), I broke the encoding of negated channels. So - instead use a single bit to indicate a negation rather than 2s - complement (with sign extension into neighbouring channels, oops). The - disadvantage is that expressing the negated channel is a little more - ugly. - - src/drm/cairo-drm-i915-private.h | 22 ++++++++++++++-------- - src/drm/cairo-drm-i915-shader.c | 16 ++++++++-------- - 2 files changed, 22 insertions(+), 16 deletions(-) - -commit 5b973c670807bda2bb355c90ea817e2a2f092f0b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Mar 3 21:25:11 2010 +0000 - - drm/i915: Fix crash with linear-step-function - - Avoid the potential divide by zero by falling back to pixman rendered - gradient textures for such troublesome input. - - src/drm/cairo-drm-i915-shader.c | 17 +++++++++++------ - 1 file changed, 11 insertions(+), 6 deletions(-) - -commit 404ead7eebafa7ca077e1d012dde0a598b64245a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Mar 3 21:01:49 2010 +0000 - - drm/i915: Ensure simple alpha is written to green on alpha-only surfaces. - - The intricacies of h/w make convoluted s/w. - - src/drm/cairo-drm-i915-shader.c | 20 ++++++++++++++------ - 1 file changed, 14 insertions(+), 6 deletions(-) - -commit 1f2daf652480ef768f847467d9171b5e4a7f01a3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Mar 3 20:06:08 2010 +0000 - - drm/i915: Avoid double multiplication of linear alpha. - - src/drm/cairo-drm-i915-shader.c | 8 ++------ - 1 file changed, 2 insertions(+), 6 deletions(-) - -commit cdaef58c19a191632473fcbbe688e6231c02b9b2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Mar 3 18:52:40 2010 +0000 - - drm/i915: Acquire device before shader commit. - - src/drm/cairo-drm-i915-shader.c | 2 + - src/drm/cairo-drm-i915-surface.c | 111 ++++++++++++++++++++++++++------------- - 2 files changed, 77 insertions(+), 36 deletions(-) - -commit dd6f96dd4aeb48262d5af8a3006e6404521c151b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Mar 3 16:06:25 2010 +0000 - - drm/i965: Ignore flushing on device finish. - - src/drm/cairo-drm-i965-surface.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 3692597567f62dd300e8ce8c43d43ac449616041 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Mar 3 13:56:48 2010 +0000 - - drm/i965: Merge the constants into the surface stream. - - As we can use an offset from the surface base for the constant buffers, - we need to fold the constants into the surface stream. - - src/drm/cairo-drm-i965-private.h | 11 ++----- - src/drm/cairo-drm-i965-shader.c | 26 ++++----------- - src/drm/cairo-drm-i965-surface.c | 70 +++------------------------------------- - 3 files changed, 14 insertions(+), 93 deletions(-) - -commit cc585947574f6e17d299a5987ee69162f63d5a52 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Mar 3 23:06:23 2010 +0000 - - drm/intel: Set the 1D gradient texture to be untiled. - - src/drm/cairo-drm-intel.c | 1 + - 1 file changed, 1 insertion(+) - -commit 543cf073643b259096ee2a95d91b9067395a7e09 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Mar 3 21:19:41 2010 +0000 - - drm/intel: Set default extend mode for rendering gradient subsets. - - src/drm/cairo-drm-intel.c | 1 + - 1 file changed, 1 insertion(+) - -commit 521d1c1d2c51bca07db1aed3c7f62d860cece3f4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Mar 3 20:25:54 2010 +0000 - - surface: Simplify is_clear logic. - - As we pre-check whether the operation is a no-op on an already cleared - surface, then for all but a paint with CLEAR and no clip, the result is - a non-clear surface. - - src/cairo-surface.c | 22 ++++++++-------------- - 1 file changed, 8 insertions(+), 14 deletions(-) - -commit 017db956644fa1da22033653490f362d1e3e47e0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Mar 3 20:06:30 2010 +0000 - - gstate: Use _cairo_pattern_clear for CLEAR. - - src/cairo-gstate.c | 100 +++++++++++++++++++++++++++++++++-------------------- - 1 file changed, 62 insertions(+), 38 deletions(-) - -commit 70412bba0e9fd0ac6e7343d7aebe953355207aab -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Mar 3 17:34:39 2010 +0000 - - test: Avoid derefencing a NULL xcb connection - - test/xcb-surface-source.c | 23 ++++++++++++++--------- - 1 file changed, 14 insertions(+), 9 deletions(-) - -commit 5bfea8447b1b2333218295f51a9474d061192d49 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Mar 3 21:32:13 2010 +0000 - - test: Add references for rounded-rectangle-{fill,stroke} - - test/Makefile.am | 2 ++ - test/rounded-rectangle-fill.ref.png | Bin 0 -> 787 bytes - test/rounded-rectangle-stroke.ref.png | Bin 0 -> 871 bytes - 3 files changed, 2 insertions(+) - -commit 4126d580d8b9db9217ed17aadcce20b14e77a00b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 2 14:38:36 2010 +0000 - - surface-fallback: Free traps on composite_trapezoids() error - - src/cairo-surface-fallback.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 8a59522bbdc61d5c90f1ae55111b5408865755b3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 2 14:36:16 2010 +0000 - - surface-fallback: Propagate NOTHING_TO_DO - - NOTHING_TO_DO is converted to SUCCESS by the surface layer, so clean up - the code slightly by reducing the number of checks and conversions. - - src/cairo-surface-fallback.c | 15 +++------------ - 1 file changed, 3 insertions(+), 12 deletions(-) - -commit f07195860620959c27d43080a7b987e28222735a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 2 13:57:02 2010 +0000 - - xlib: Handle a1 image uploads through converter - - Fixes test/large-source [xlib] - - src/cairo-xlib-surface.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit f979dd22d8f48e6ac7c50372c7d180c3b590dc74 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 2 11:20:11 2010 +0000 - - image: Don't rely on clip regions being clipped to surface extents. - - Fixes a crash in test/clip-fill-unbounded [xlib-fallback]. - - src/cairo-image-surface.c | 32 ++++++++++++++++++++------------ - 1 file changed, 20 insertions(+), 12 deletions(-) - -commit 15d9c5fcd8881b4593ec23633450a4f629b6d42b -Author: Alexander Shulgin <alex.shulgin@gmail.com> -Date: Sat Feb 20 20:59:32 2010 +0200 - - Added new MIME type CAIRO_MIME_TYPE_URI and it's support in SVG backend - - The rationale behind this change is that when someone is trying to - draw on a SVG surface using image surface patterns, the resulting SVG - file can take up to ridiculous 20 megabytes for 3-4 typical - photographic images in a single SVG file. This also can take - significant amount of CPU time to complete. - - The reason for this behaviour is that currently whenever SVG backend - needs to emit an image tag for a surface pattern it takes a snapshot - of the subject surface, encodes it in PNG, then Base64-encodes and - emits the (huge) resulting string. With use of - cairo_surface_set_mime_data API this can be somewhat improved by - associating JPEG image contents with the corresponding surfaces. - Still this doesn't allow for post-processing of involved photographic - images without regenerating the SVG file. - - As SVG specification allows URIs in the image tag's xlink:href - attribute, it is possible instead of embedding encoded image data to - simply link image files residing physically on the same medium as the - generated SVG file: files on disk under common directory, files on a - web server at common base URI, etc. - - To make this happen we add new (unofficial) MIME type "text/x-uri" and - let users associate URIs with surfaces through - cairo_surface_set_mime_data() API. When SVG backend needs to emit - surface contents and it sees "text/x-uri" attached to the surface, it - emits this data instead of taking snapshot. The URI data is emitted - as is, so correctness check is left solely to the client code. - - doc/public/cairo-sections.txt | 1 + - doc/public/tmpl/cairo-surface.sgml | 7 ++++ - src/cairo-surface.c | 16 ++++++++- - src/cairo-svg-surface.c | 72 +++++++++++++++++++++++++++++++++++--- - src/cairo.h | 1 + - 5 files changed, 92 insertions(+), 5 deletions(-) - -commit d91bab565c54205f8dd7aa8a9de819dc4bc3551c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 2 08:12:52 2010 +0000 - - test: Remove the double-clip from clip-group-shapes - - A push/pop is an implicit save/restore, so a clip applied inside the - group is temporary, whereas a clip applied outside affects both the - geometry inside *and* the application of the group when painted. So - reset the clip afterwards to get the desired behaviour. - - test/clip-group-shapes.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit e8c819c5227d29dfdf503022339276eb725a3e97 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 1 10:25:01 2010 +0000 - - Warnings cleanup for CAIRO_FORMAT_INVALID. - - A few more fixes required case statements to handle the addition of - CAIRO_FORMAT_INVALID. - - src/cairo-qt-surface.cpp | 2 ++ - src/drm/cairo-drm-i915-surface.c | 2 ++ - src/drm/cairo-drm-i965-shader.c | 2 ++ - src/drm/cairo-drm-i965-surface.c | 1 + - src/drm/cairo-drm-intel-surface.c | 1 + - src/drm/cairo-drm-intel.c | 3 +++ - src/drm/cairo-drm-radeon-surface.c | 1 + - 7 files changed, 12 insertions(+) - -commit 1a7ba1a8061c373cd66d15b3a1c8dfada92745ef -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Mon Mar 1 01:23:17 2010 +0200 - - xcb: Update minimum required versions of libxcb. - - The new xcb surface uses xcb_writev() and xcb_take_socket() - which were introduced in libxcb 1.1.92. The boilerplate - in turn uses the major_code and minor_code fields in - xcb_generic_error_t, which were introduced in 1.4. - - boilerplate/cairo-boilerplate-xcb.c | 6 ++++++ - configure.ac | 5 ++++- - 2 files changed, 10 insertions(+), 1 deletion(-) - -commit 5b7f4bb241f3191c1589cd714f373719efded56e -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Feb 28 23:31:06 2010 +0200 - - api: Introduce CAIRO_FORMAT_INVALID formally in the API. - - We were exposing the actual value of CAIRO_FORMAT_INVALID - through API functions already, so it makes sense to just - go ahead and put it in the cairo_format_t enum. - - boilerplate/cairo-boilerplate.c | 2 +- - src/cairo-debug.c | 1 + - src/cairo-gl-glyphs.c | 6 ++++++ - src/cairo-image-surface.c | 6 +++++- - src/cairo-png.c | 1 + - src/cairo-scaled-font.c | 1 + - src/cairo-script-surface.c | 22 ++++++++++++++-------- - src/cairo-win32-surface.c | 6 ++++++ - src/cairo-xcb-surface-render.c | 3 +++ - src/cairo-xlib-display.c | 1 + - src/cairo-xlib-surface.c | 3 +++ - src/cairo-xml-surface.c | 28 +++++++++------------------- - src/cairo.h | 10 ++++++---- - src/cairoint.h | 4 ++-- - src/drm/cairo-drm-gallium-surface.c | 1 + - src/drm/cairo-drm-i915-surface.c | 1 + - src/drm/cairo-drm-intel-surface.c | 2 +- - src/drm/cairo-drm-intel.c | 11 ++++++++--- - src/drm/cairo-drm-radeon-surface.c | 2 +- - test/any2ppm.c | 1 + - test/png.c | 1 + - util/cairo-script/cairo-script-operators.c | 5 +++++ - util/cairo-sphinx/sphinx.c | 9 ++++++--- - util/cairo-trace/trace.c | 4 ++++ - 24 files changed, 88 insertions(+), 43 deletions(-) - -commit 620cd9c2be4a6bef790e6818652470a5c53d578d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Feb 28 09:09:20 2010 +0000 - - image: Allow reduction of repeat modes for unity scaled patterns. - - src/cairo-image-surface.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -commit 9ecb0f3cec491264041d0d3718595ad95164980a -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Feb 28 01:42:10 2010 +0200 - - image: Fix bug optimizing surface pattern extend modes. - - The image surface tries to convert surface pattern's extend - modes to EXTEND_NONE, if it can, when converting a cairo_pattern_t - to a pixman_image_t. The check was not taking into account the - transformation matrix on the pattern, so it was possible to - trick it into using EXTEND_NONE by downscaling the source - pattern enough. This patch changes the optimization to only - take if the pattern has no transformation. - - Fixes surface-pattern-scale-down-extend-{pad,reflect,repeat} - failures in the test suite for the image backend. - - src/cairo-image-surface.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 260d7f8ace9dea8ff6b3a70f481e433cf399a3d2 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sat Feb 27 17:41:28 2010 +0200 - - test: Test downscaling and extending a surface pattern. - - Franz Schmid reported a regression in 1.9.6 when downscaling - and using EXTEND_REPEAT for an image surface pattern. This - patch adds such tests for every extend mode. - - test/Makefile.sources | 1 + - .../surface-pattern-scale-down-extend-none.ref.png | Bin 0 -> 329 bytes - test/surface-pattern-scale-down-extend-pad.ref.png | Bin 0 -> 320 bytes - ...rface-pattern-scale-down-extend-reflect.ref.png | Bin 0 -> 328 bytes - ...urface-pattern-scale-down-extend-repeat.ref.png | Bin 0 -> 330 bytes - test/surface-pattern-scale-down-extend.c | 107 +++++++++++++++++++++ - 6 files changed, 108 insertions(+) - -commit ebadc2ed0810d9941a2f44586016073fea90115b -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sat Feb 27 03:24:55 2010 +0200 - - test: Add tests covering more clip fast paths in groups. - - The clip-group-shapes-* tests check that it doesn't - matter whether the clip path is set before or after - pushing a group using specific types of clip paths - (aligned/unaligned rectangles and general paths.) - - test/Makefile.sources | 1 + - test/clip-group-shapes-aligned-rectangles.ref.png | Bin 0 -> 378 bytes - test/clip-group-shapes-circles.ref.png | Bin 0 -> 1510 bytes - .../clip-group-shapes-unaligned-rectangles.ref.png | Bin 0 -> 415 bytes - test/clip-group-shapes.c | 189 +++++++++++++++++++++ - 5 files changed, 190 insertions(+) - -commit e8d0b4fb39eba799e8649df6dd609f6100efb95e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Feb 26 10:28:23 2010 +0000 - - gl: Markup internal functions with cairo_private - - src/cairo-gl-private.h | 22 +++++++++++----------- - 1 file changed, 11 insertions(+), 11 deletions(-) - -commit ef807119ff8ee23c0444f1197f92b06a5caf6024 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Thu Feb 25 13:58:53 2010 +0200 - - compiler: Explain the slim hidden macros. - - The slim_hidden_* macro definitions are rather cryptic at first - sight and I keep needing to rederive how they work just find out - what they're supposed to do. This patch adds a comment explaining - how they're used and work. - - src/cairo-compiler-private.h | 30 ++++++++++++++++++++++++++++++ - 1 file changed, 30 insertions(+) - -commit dcf897967d54f579c737bbcc10af7fa295b586e5 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Feb 21 01:45:30 2010 +0200 - - test: Fix a wrongly typed return value in scaled-font-zero-matrix. - - The test was returning a cairo_status_t, but should be returning - a cairo_test_status_t instead. When the test failed it was - being reported as having crashed, rather than merely failed, - because the enum value of CAIRO_TEST_CRASHED happened to be - same as the cairo_status_t value of the cairo context at - the end of the failing test. - - test/scaled-font-zero-matrix.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 8bb06915ed6628c6d8978b6c2fec474bbf08d7e9 -Author: Benjamin Otte <otte@redhat.com> -Date: Tue Feb 23 21:01:13 2010 +0100 - - image: split cairo_image_surface_coerce() - - Split into a general cairo_image_surface_coerce() that coerces to one of - the 3 supported formats (ARGB32, RGB24, A8) based on content and the - more general cairo_image_surface_coerce_to_format() that coerces to a - specified format. - - src/cairo-gl-glyphs.c | 3 +-- - src/cairo-gl-surface.c | 3 +-- - src/cairo-image-surface.c | 14 ++++++++++++-- - src/cairo-png.c | 3 +-- - src/cairo-scaled-font.c | 2 +- - src/cairo-script-surface.c | 4 +--- - src/cairo-svg-surface.c | 4 ++-- - src/cairo-type3-glyph-surface.c | 2 +- - src/cairo-xcb-surface-render.c | 21 ++++----------------- - src/cairoint.h | 8 ++++++-- - 10 files changed, 30 insertions(+), 34 deletions(-) - -commit b7c42b6aaa2dba09ed3ff9ae85eae27bec268713 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Feb 23 19:27:16 2010 +0000 - - drm: Add missing private headers - - Reported by: Thomas Jones <thomas.jones@utoronto.ca> - - src/Makefile.sources | 2 ++ - 1 file changed, 2 insertions(+) - -commit 6ab5f89571b0252496d58242ed3060a9486d68d4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Feb 23 08:54:58 2010 +0000 - - bo-rectangular: Fix incorrect skipping of colinear eo edges - - Fixes test/bug-bo-rectangular - - After skipping edges, we need to bd careful to only terminate the box on - a closing edge. - - src/cairo-bentley-ottmann-rectangular.c | 31 ++++++++++++++----------------- - 1 file changed, 14 insertions(+), 17 deletions(-) - -commit 1897156d96d77ff28f585794c1eb1baffa105488 -Author: Benjamin Otte <otte@gnome.com> -Date: Tue Feb 23 08:41:27 2010 +0000 - - test: Add bug-bo-rectangular - - Exercises a bug found in the special case rectangular tessellator with - colinear eo edges. - - test/Makefile.am | 1 + - test/Makefile.sources | 1 + - test/bug-bo-rectangular.c | 67 ++++++++++++++++++++++++++++++++++++++++ - test/bug-bo-rectangular.ref.png | Bin 0 -> 950 bytes - 4 files changed, 69 insertions(+) - -commit 21b2457aabf7df2a9f040751cd48e396443262f1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Feb 22 15:26:37 2010 +0000 - - fallback: Initialize rects.is_bounded for span renderer. - - src/cairo-surface-fallback.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 6dd22b767808f721de5d00fe384711ffaa269453 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Feb 22 15:24:08 2010 +0000 - - gl: Initialise glyphs mask to ensure allocation in absence of stash. - - src/cairo-gl-glyphs.c | 1 + - 1 file changed, 1 insertion(+) - -commit 668ac047e6c790b0f8f58c52f169c688caa81678 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Feb 22 14:57:01 2010 +0000 - - gl: Avoid attempting to create a program on GLSL-incapable h/w for spans - - src/cairo-gl-shaders.c | 17 ++++++++++++----- - src/cairo-gl-surface.c | 6 ++++++ - 2 files changed, 18 insertions(+), 5 deletions(-) - -commit 29df5c91d02276211962a083284feb9a424f0d97 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Feb 22 14:46:18 2010 +0000 - - gl: Return unsupported for h/w that cannot handle shaders. - - Remove the ASSERT_NOT_REACHED and propagate the unsupported status so - that we fallback to fixed-function gracefully. - - src/cairo-gl-shaders.c | 28 +++++++++++++++------------- - 1 file changed, 15 insertions(+), 13 deletions(-) - -commit 9f46bad301eff967dc0790fc271d872f8a45cedb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Feb 22 14:20:34 2010 +0000 - - bo-rectangular: Prevent invalid read during edge traversal - - Benjamin Otte tracked down an invalid read triggered by WebKit. The - cause is that we attempt to dereference the list_head as an edge as we - failed to check that during the skipping of colinear edges we advanced - to the end, under the false assumption that there would always - be a closing edge in a rectangle. This assumption is broken if the tail - rectangles having colinear right edges. - - src/cairo-bentley-ottmann-rectangular.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 75db4f0ece194b7aa0455509785a300784778ec4 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Mon Feb 22 02:26:47 2010 +0200 - - text: Fix assert failure from compositing by SOURCE with a mask internally. - - Change the operator used to upgrade the format of a glyph mask from - CAIRO_OPERATOR_SOURCE to CAIRO_OPERATOR_ADD. - - The _cairo_scaled_font_show_glyphs() function upgrades the pixel - format of a glyph mask by calling _cairo_surface_composite() to copy - the mask to an image surface of the upgraded destination. The way it - was doing it however was to use CAIRO_OPERATOR_SOURCE, a white source - pattern and the glyph's rasterised glyph as the mask pattern. This - combination isn't supported by _cairo_surface_composite(), which - asserts that no mask is present when the operator is SOURCE or CLEAR. - - Reported by Mikael Magnusson to #cairo on irc.freenode.net. - - src/cairo-scaled-font.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 20f8f17f0e494a57a6b413be76f9333b42d88014 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Sat Feb 20 21:42:23 2010 +0100 - - xcb: Fix compilation without dri2 - - XCB should be able to compile without xcb-drm. To do so it - can include xcb/dri2.h only if xcb-drm is enabled. - - src/cairo-xcb-surface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit fc7be0014d91c8536db8a15ae98b5e78c354c160 -Author: Carl Worth <cworth@cworth.org> -Date: Fri Feb 19 17:39:50 2010 -0800 - - Update version to 1.9.7. - - Following the 1.9.6 snapshot. - - cairo-version.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit cb090136b2b0b89bde69d9575f2f592b46e144e8 -Author: Carl Worth <cworth@cworth.org> -Date: Fri Feb 19 17:28:29 2010 -0800 - - Update REFERENCE_IMAGES list for "make distcheck". - - As usual, "make distcheck" does not work until we update this list. - - test/Makefile.am | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 20cf7c92b332a5fd28227f0cdaa50e3f1080c038 -Author: Carl Worth <cworth@cworth.org> -Date: Fri Feb 19 17:24:33 2010 -0800 - - Update version to 1.9.6 - - For a new cairo 1.9.6 snapshot. - - cairo-version.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1c3d417c30bd60c51512d23440896a6a7f51bf23 -Author: Carl Worth <cworth@cworth.org> -Date: Fri Feb 19 17:23:16 2010 -0800 - - NEWS: Add notes for the 1.9.6 snapshot. - - Based on a very brief reading of the git log. There's certainly - a lot of interesting stuff missing here. - - NEWS | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 112 insertions(+), 2 deletions(-) - -commit 9057c4b6be5f5cc6f8905e017dde534402ddedda -Author: Eric Anholt <eric@anholt.net> -Date: Wed Feb 17 12:37:07 2010 -0800 - - test: Add an option to explicitly specify a test name to the runner. - - test/cairo-test-runner.c | 14 +++++++++++--- - 1 file changed, 11 insertions(+), 3 deletions(-) - -commit e0a948bd2ff3504f5d8b3b3f2136cd9b86cf8ec6 -Author: Eric Anholt <eric@anholt.net> -Date: Wed Feb 17 11:48:41 2010 -0800 - - gl: Be sure to do linear interpolation on gradients. - - src/cairo-gl-surface.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit f1e794956f60a935bfc38ae1c2c2d51d37aadee3 -Author: Eric Anholt <eric@anholt.net> -Date: Wed Feb 17 11:03:52 2010 -0800 - - gl: Stop trying to handle first/last stop offset in the gradient shaders. - - Since moving to pixman for the gradient textures, first=0 and last=1, - so there's no need to rescale to 0,1 any more. Shaves 6 Gen4 ISA - instructions, including 2 inverses, in the radial fragment shader. - - src/cairo-gl-private.h | 4 ---- - src/cairo-gl-shaders.c | 12 ------------ - src/cairo-gl-surface.c | 51 +++----------------------------------------------- - 3 files changed, 3 insertions(+), 64 deletions(-) - -commit f813a0243b90ea4151f60f3d13bb6c84d21270df -Author: Eric Anholt <eric@anholt.net> -Date: Wed Feb 17 10:58:16 2010 -0800 - - gl: Remove the old unused radial/linear gradients shaders. - - They're dynamically generated now for source/mask. - - src/cairo-gl-private.h | 6 --- - src/cairo-gl-shaders.c | 117 ------------------------------------------------- - 2 files changed, 123 deletions(-) - -commit 8da843e996bda7152abb217b3f461a8091dbc880 -Author: Eric Anholt <eric@anholt.net> -Date: Wed Feb 17 10:54:39 2010 -0800 - - gl: Reduce complexity of radial fragment shaders. - - This shaves 1 Mesa IR instruction, and 6 Gen4 ISA instructions. - - src/cairo-gl-shaders.c | 10 ++-------- - 1 file changed, 2 insertions(+), 8 deletions(-) - -commit 89bdc2f8d55d951e15b77e6737c57b208d984b0a -Author: Eric Anholt <eric@anholt.net> -Date: Thu Feb 4 23:17:59 2010 -0800 - - gl: Implement draw_image for window targets. - - Creates a texture and draws with it instead of doing TexSubImage. - Open question is whether this wouldn't be better in general. Fixes - several failures with ARB_texture_rectangle path due to fallbacks to - window drawing. - - src/cairo-gl-surface.c | 157 ++++++++++++++++++++++++++++++++++++++----------- - 1 file changed, 124 insertions(+), 33 deletions(-) - -commit fcd29473ff71b74bf541199293a966df2232fd63 -Author: Eric Anholt <eric@anholt.net> -Date: Tue Feb 16 13:47:41 2010 -0800 - - gl: Fix glyphs texture coordinates for ARB_texture_rectangle. - - Fixes most of the text testcases to match the - ARB_texture_non_power_of_two results. - - src/cairo-gl-glyphs.c | 16 ++++++++++------ - 1 file changed, 10 insertions(+), 6 deletions(-) - -commit e845450905f373e4fcb9ae4717cfd2c3e6472423 -Author: Eric Anholt <eric@anholt.net> -Date: Tue Feb 16 13:18:33 2010 -0800 - - gl: Add GLSL support for ARB_texture_rectangle, and repeat/reflect fallbacks. - - Most testcases are now passing like the ARB_texture_non_power_of_two - case. EXT_texture_rectangle support is dropped in favor of - ARB_texture_non_power_of_two. If we have issues with drivers not - having that but having EXT (which just lacks the GLSL part of the - spec), we can split it out. Right now non-GLSL support in cairo-gl is - probably in bad shape anyway and will require someone that cares for - it in order to get fixed up. - - src/cairo-gl-shaders.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ - src/cairo-gl-surface.c | 21 +++++++++++++++------ - 2 files changed, 59 insertions(+), 6 deletions(-) - -commit 40294377cb26fab7bcf17ee98b8e4f5bf9778ca2 -Author: Dave Airlie <airlied@redhat.com> -Date: Sat Jan 30 19:24:31 2010 +1000 - - gl: initial support for EXT_texture_rectangle extension - - The only issue is the repeat modes aren't supported for rectangular - textures. In any case even with ARB_npot radeon's pre-r600 lie and - fail to do repeats anyway. - - src/cairo-gl-glyphs.c | 25 +++++----- - src/cairo-gl-private.h | 1 + - src/cairo-gl-surface.c | 124 ++++++++++++++++++++++++++++++------------------- - 3 files changed, 89 insertions(+), 61 deletions(-) - -commit 6542a515f04d52d10fdc89ee9abc76e54282a2d8 -Author: Eric Anholt <eric@anholt.net> -Date: Sun Feb 7 20:26:56 2010 +0100 - - gl: Reduce the size of the gradient texture for small numbers of stops. - - This code is stolen straight from cairo-drm-intel.c. This saves a - bunch of time calculating interpolated points when we just do - interpolation between points at sampling time anyway. Reduces - firefox-talos-svg from 47 seconds back to the 42 it was at before the - pixman change. - - This regresses the reported result of huge-radial, but there's no - visible difference. - - src/cairo-gl-surface.c | 63 +++++++++++++++++++++++++++++++++++--------------- - 1 file changed, 45 insertions(+), 18 deletions(-) - -commit 3b678a88b0d026bb765fd9cdff92fe7235e19848 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Feb 12 16:44:25 2010 +0000 - - drm/i915: Set a source for unbounded fixups. - - src/drm/cairo-drm-i915-surface.c | 52 +++++++++++++++++++++++++++++++--------- - 1 file changed, 41 insertions(+), 11 deletions(-) - -commit 45a275ee29095b69c620ece868411885f4574be9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Feb 12 14:12:24 2010 +0000 - - drm/i915: Use correct linear mode for mask. - - src/drm/cairo-drm-i915-shader.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 37dbf157f354234d04cd4f0c5d069ff0d535e862 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Feb 12 14:08:32 2010 +0000 - - clip: Avoiding derefencing NULL clip_region - - src/cairo-image-surface.c | 26 ++++++++++++++------------ - src/cairo-xcb-surface-render.c | 26 ++++++++++++++------------ - 2 files changed, 28 insertions(+), 24 deletions(-) - -commit 6995e1d982a3ad84a1b74730ce557840745fcd8e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Feb 12 14:08:14 2010 +0000 - - boilerplate: Include X11.h for GL/GLX - - boilerplate/cairo-boilerplate-gl.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 5390df961f6dff8e25e5aac21062026a81710d88 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Feb 12 12:20:35 2010 +0000 - - clip: Restrict composite extents to clip extents - - Fixes test/clip-rectangle-twice. - - src/cairo-clip-private.h | 6 +++ - src/cairo-clip.c | 84 ++++++++++++++++++++++++++++++++++++++++ - src/cairo-image-surface.c | 74 +++++++++-------------------------- - src/cairo-surface-fallback.c | 71 ++------------------------------- - src/cairo-xcb-surface-render.c | 78 ++++++++++--------------------------- - src/drm/cairo-drm-i915-surface.c | 47 ++-------------------- - src/drm/cairo-drm-i965-surface.c | 47 ++-------------------- - 7 files changed, 137 insertions(+), 270 deletions(-) - -commit 51047483f462a905567b42275ae061ead4df0a07 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Feb 12 12:18:30 2010 +0000 - - test: Add clip-twice-rectangle - - Jeff Muizeelar found another bug with clipping whereby the clip was - been incorrectly discarded. - - test/Makefile.am | 1 + - test/Makefile.sources | 1 + - test/clip-twice-rectangle.c | 70 ++++++++++++++++++++++++++++++++++++++ - test/clip-twice-rectangle.ref.png | Bin 0 -> 323 bytes - 4 files changed, 72 insertions(+) - -commit 22b5f78c1c1ae7d289a99a3c52354bba3b9e817f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Feb 11 10:38:51 2010 +0000 - - gl: Remove eagle support - - Eagle is no more, Kristian has superseded it with true EGL support. He - is so happy... - - boilerplate/Makefile.win32.features | 10 -- - build/Makefile.win32.features | 1 - - build/Makefile.win32.features-h | 3 - - build/configure.ac.features | 1 - - configure.ac | 12 --- - src/Makefile.sources | 2 - - src/Makefile.win32.features | 14 --- - src/cairo-eagle-context.c | 185 ------------------------------------ - src/cairo-gl.h | 12 --- - 9 files changed, 240 deletions(-) - -commit ed4a30b38311e4ce0730ecd6026432f4a1e8ddf7 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Feb 10 22:10:23 2010 +0100 - - build: Add -Wdeclaration-after-statement - - ... and fix the compile errors from it I get on my build. - - It's Cairo style to put declarations before the code, so better warn - about it. - Besides, it eases porting to old compilers like MSVC. - - build/configure.ac.warnings | 2 +- - src/cairo-gl-shaders.c | 8 ++++---- - src/cairo-gl-surface.c | 3 ++- - src/cairo-xcb-surface-core.c | 3 ++- - 4 files changed, 9 insertions(+), 7 deletions(-) - -commit 4113e455a317785b83324215a6b0156995665989 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Feb 10 21:09:56 2010 +0000 - - drm/i965: fix use of uninitialized variable whilst dumping errors - - Cut'n'paste bug from i915 error path. - - src/drm/cairo-drm-i965-surface.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -commit 5d34902c0cb9712179292112fbdb0f06be327fd8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Feb 10 12:10:16 2010 +0000 - - script: Compile without mmap - - Should fix: - Bug 26509 - Cairo fails to compile without mmap - http://bugs.freedesktop.org/show_bug.cgi?id=26509 - - As reported by Hib Eris, Cairo files to compile under a mingw32 - cross-compiler as we use a structure only defined if HAVE_MMAP - unconditionally. - - util/cairo-script/cairo-script-operators.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit fb5af4ae407044d1c0d0144ec13f5951075426a3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Feb 10 12:00:59 2010 +0000 - - drm/intel: An interrupted SET_TILING modifies the input parameters - - If a signal interrupts the SET_TILING ioctl, the tiling and stride - values are updated to reflect the current condition of the buffer, so we - need to restore those to the desired values before repeating the ioctl. - - src/drm/cairo-drm-intel.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 3c66c721d1bb1db6052acf722f609dcbe56431f5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Feb 9 08:48:42 2010 +0000 - - qt: Fix compile error. - - Update after prototype changed for create_similar(), as pointed out by - augzilla. - - src/cairo-qt-surface.cpp | 1 - - 1 file changed, 1 deletion(-) - -commit a1e5b07fa834819b8d9df9fa56758639a08262d7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Feb 7 20:26:27 2010 +0000 - - ps: Initialise page bbox to page size - - src/cairo-ps-surface.c | 5 +++++ - 1 file changed, 5 insertions(+) - -commit 44b6370cb04d27e1ae3e50558a9085d318990938 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Feb 7 19:36:29 2010 +0000 - - ps: Propagate NOTHING_TO_DO - - The upper layers should know what to do if there is nothing to be done, - so pass on that knowledge. - - src/cairo-ps-surface.c | 36 ++++-------------------------------- - 1 file changed, 4 insertions(+), 32 deletions(-) - -commit a4793d1331845b85a9c1810035119dfbcffa5082 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Feb 7 19:27:32 2010 +0000 - - test: Add linear-gradient-subset - - It was observed that we never actually test the condition that the - gradient is only defined for a portion of its range, i.e. the starting - offset is >0 and the ending offset is <0. By definition the colour - between 0 and start offset is the start color, so check that this - behaviour is followed by all backends. - - test/Makefile.am | 1 + - test/Makefile.sources | 1 + - test/linear-gradient-subset.c | 127 ++++++++++++++++++++++++++++++++++++ - test/linear-gradient-subset.ref.png | Bin 0 -> 825 bytes - 4 files changed, 129 insertions(+) - -commit 0f99303cd6d68df79070200a843194a20ad1c597 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Feb 7 12:40:19 2010 +0000 - - gl: Use pixman to create the gradient texture - - This is just for consistency as we know that pixman has to handle all - the corner cases anyway... - - src/cairo-gl-surface.c | 145 +++++++++++++++++++++++++++---------------------- - 1 file changed, 80 insertions(+), 65 deletions(-) - -commit b028d287e6effe30833963f4df40db3846e7f4da -Author: Eric Anholt <eric@anholt.net> -Date: Fri Feb 5 07:25:04 2010 -0800 - - [gl] Make the VBO once at startup instead of recreating per glyphs/spans. - - This shaves 2% off of firefox-talos-gfx. - - src/cairo-gl-glyphs.c | 10 ++-------- - src/cairo-gl-private.h | 1 + - src/cairo-gl-surface.c | 8 +++----- - 3 files changed, 6 insertions(+), 13 deletions(-) - -commit 696a715702ed18bbe3f7d8b97654a055fa37444e -Author: Eric Anholt <eric@anholt.net> -Date: Wed Feb 3 21:34:24 2010 -0800 - - [gl] Add radial gradients acceleration. - - This is significantly cribbed from Zach Laine's work, but reworked so - that gradients can be plugged in as either source or mask operands for - any of the paths. - - src/cairo-gl-private.h | 13 +++++ - src/cairo-gl-shaders.c | 77 +++++++++++++++++++++++++++-- - src/cairo-gl-surface.c | 129 +++++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 216 insertions(+), 3 deletions(-) - -commit 297b0ab47fa63ef99e65b6834b731c260ea3e941 -Author: Eric Anholt <eric@anholt.net> -Date: Thu Feb 4 23:57:43 2010 -0800 - - [gl] When making a boilerplate GLX window, ensure it has alpha. - - cairo_gl_surface_create_for_window assumes CONTENT_COLOR_ALPHA, so - make sure the fbconfig we choose is good enough. Fixes gl-window - testcase results to basically match the non-window testcases. - - boilerplate/cairo-boilerplate-gl.c | 17 +++++++++-------- - 1 file changed, 9 insertions(+), 8 deletions(-) - -commit 6708bc0593a649d083ede429ae73f06691edc018 -Author: Eric Anholt <eric@anholt.net> -Date: Thu Feb 4 23:47:33 2010 -0800 - - [gl] When filling a gradient texture, multiply alpha after interpolating. - - Fixes gradient-alpha testcase. - - src/cairo-gl-surface.c | 20 +++++++++----------- - 1 file changed, 9 insertions(+), 11 deletions(-) - -commit e426cdd56973ff1114dac5e8b1130180d43631b0 -Author: Eric Anholt <eric@anholt.net> -Date: Wed Feb 3 16:03:52 2010 -0800 - - [gl] Implement linear gradients acceleration. - - This is significantly cribbed from Zach Laine's work, but reworked so - that gradients can be plugged in as either source or mask operands for - any of the paths. - - This cuts the runtime of firefox-talos-svg in half on my GM45, at the - expense of gradient-alpha. surface-pattern-operator also now fails - due to small rasterization differences. - - src/cairo-gl-glyphs.c | 1 + - src/cairo-gl-private.h | 11 ++++ - src/cairo-gl-shaders.c | 39 ++++++++++++-- - src/cairo-gl-surface.c | 139 +++++++++++++++++++++++++++++++++++++++++++++---- - 4 files changed, 176 insertions(+), 14 deletions(-) - -commit 05b18fc09af0e0887c652bd482d68f00bec6d4d7 -Author: Eric Anholt <eric@anholt.net> -Date: Thu Feb 4 00:12:58 2010 -0800 - - [gl] Fix create_gradient_texture to premultiply alpha. - - src/cairo-gl-surface.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 31e706454b7f0fa510047f582250a7a2db24dd31 -Author: Eric Anholt <eric@anholt.net> -Date: Wed Feb 3 15:48:40 2010 -0800 - - [gl] Pull the gradient operand setup out to its own function. - - Hopefully this clarifies what's going on, including the fallthrough to - texture setup on failure. - - src/cairo-gl-surface.c | 77 ++++++++++++++++++++++++++++---------------------- - 1 file changed, 43 insertions(+), 34 deletions(-) - -commit 745f263c1c2d263f7c5e78964bf7181f650301cc -Author: T. Zachary Laine <whatwasthataddress@gmail.com> -Date: Wed Feb 3 15:38:02 2010 -0800 - - [gl] Add function for creating a 1D texture to use for gradient lookups. - - Rather than have fragment shaders try to walk a variable-length set of - stops and try to compute the interpolation between the nearest stops - per fragment, we make a little texture representing the gradient along - a line and have the shaders compute texture coordinates along the line - and sample. This should be a good tradeoff between CPU work and GPU - work. - - [anholt: I pulled this set of code out of Zach Laine's tree to use for - gradient acceleration, and wanted to make sure attribution was - appropriate. I applied only minor tweaking] - - src/cairo-gl-private.h | 1 + - src/cairo-gl-surface.c | 117 +++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 118 insertions(+) - -commit 88c8304e9072e5a46890a0eb32fcdbc857eb1a12 -Author: Eric Anholt <eric@anholt.net> -Date: Wed Feb 3 17:06:45 2010 -0800 - - [gl] Sanity check the sampler uniform binding. - - src/cairo-gl-shaders.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit 42597170f2303475bb0507f4c6e948eead28c7bd -Author: Eric Anholt <eric@anholt.net> -Date: Wed Feb 3 16:55:45 2010 -0800 - - [gl] Convert the spans code to using GLSL when available. - - src/cairo-gl-private.h | 1 + - src/cairo-gl-shaders.c | 35 ++++++++++++++++++++++++++++++--- - src/cairo-gl-surface.c | 52 +++++++++++++++++++++++++++++++------------------- - 3 files changed, 65 insertions(+), 23 deletions(-) - -commit 8d16fb10ea9940c0c9f311ff08c51d572c068c17 -Author: Eric Anholt <eric@anholt.net> -Date: Wed Feb 3 15:31:57 2010 -0800 - - [gl] Test for required EXT_bgra and explain what it's used for. - - src/cairo-gl-surface.c | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -commit b2d8c9cbf2faec570450d163da140c54e64bbdc8 -Author: Eric Anholt <eric@anholt.net> -Date: Wed Feb 3 15:25:47 2010 -0800 - - [gl] Use the shader source choice from operand setup instead of DIY. - - src/cairo-gl-glyphs.c | 15 +-------------- - 1 file changed, 1 insertion(+), 14 deletions(-) - -commit 0fceac4d52d4b574b9c1f911b83d15dc7e01691d -Author: Eric Anholt <eric@anholt.net> -Date: Wed Feb 3 12:24:41 2010 -0800 - - [gl] Move the component alpha composite to using GLSL when available. - - src/cairo-gl-surface.c | 165 ++++++++++++++++++++++++++++++++----------------- - 1 file changed, 108 insertions(+), 57 deletions(-) - -commit 8357336ed7be91ad359d205b1f223486d13215f2 -Author: Eric Anholt <eric@anholt.net> -Date: Wed Feb 3 11:54:24 2010 -0800 - - [gl] Move normal composites to using GLSL when available. - - src/cairo-gl-private.h | 2 ++ - src/cairo-gl-surface.c | 55 ++++++++++++++++++++++++++++++++++++-------------- - 2 files changed, 42 insertions(+), 15 deletions(-) - -commit 106bc158bafa4eecfd7f79422fc19d267c20dcdb -Author: Eric Anholt <eric@anholt.net> -Date: Wed Feb 3 15:15:02 2010 -0800 - - [gl] Move the glyphs shader construction to a more general location. - - src/cairo-gl-glyphs.c | 213 ++++++++++--------------------------------------- - src/cairo-gl-private.h | 48 +++++++---- - src/cairo-gl-shaders.c | 200 ++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 273 insertions(+), 188 deletions(-) - -commit f475351f75a3ec079628a2eb2643ebc09f0e5cc8 -Author: Eric Anholt <eric@anholt.net> -Date: Tue Feb 2 19:23:17 2010 -0800 - - [gl] Use GLSL when available for glyph rendering. - - This reduces the CPU work in translating fixed function state to - shaders, but currently is a slight cost on GM45 because we end up - changing shaders more frequently since other parts of the pipeline are - doing fixed function still. - - src/cairo-gl-glyphs.c | 189 ++++++++++++++++++++++++++++++++++++++++++++++--- - src/cairo-gl-private.h | 19 +++++ - src/cairo-gl-shaders.c | 10 ++- - src/cairo-gl-surface.c | 56 +++++++++------ - 4 files changed, 239 insertions(+), 35 deletions(-) - -commit 672973caa0c3877b3b9f1c5f5966449ce0d7e239 -Author: Eric Anholt <eric@anholt.net> -Date: Tue Feb 2 11:17:43 2010 -0800 - - [gl] Convert fill_rectangles to the new GLSL core/arb wrapper. - - src/cairo-gl-private.h | 12 +++--- - src/cairo-gl-shaders.c | 106 +++++++++++-------------------------------------- - src/cairo-gl-surface.c | 39 +++++++++--------- - 3 files changed, 48 insertions(+), 109 deletions(-) - -commit 416273db34a715a6fa180f52ddfd11b82b6e8b6c -Author: Eric Anholt <eric@anholt.net> -Date: Tue Feb 2 10:37:42 2010 -0800 - - [gl] Cut out the abstraction of GL_VERTEX_SHADER vs GL_VERTEX_SHADER_ARB. - - They're the same number, so just use the core 2.0 name. - - src/cairo-gl-shaders.c | 38 ++------------------------------------ - 1 file changed, 2 insertions(+), 36 deletions(-) - -commit 48a5a6eefc923db47c35ad7da3b635d205736716 -Author: Eric Anholt <eric@anholt.net> -Date: Tue Feb 2 10:36:16 2010 -0800 - - [gl] Avoid macro obfuscation of the shader impl structures. - - src/cairo-gl-shaders.c | 52 ++++++++++++++++++++++++++++++-------------------- - 1 file changed, 31 insertions(+), 21 deletions(-) - -commit 25ccc5dcb036554430b66fb1bf5f74766daa5612 -Author: Zach Laine <whatwasthataddress@gmail.com> -Date: Thu Jan 14 11:49:04 2010 -0600 - - [gl] Add shader support code for GL versions < 3.0. - - Adds cairo_gl_shader_program_t, and functions to manipulate same. Multiple GL - entry points for shaders are provided -- one for the pre-GL 2.0 extenstions - entry points, and one for GL 2.0. This code is well tested, but currently - unused in the GL backend. - - src/cairo-gl-private.h | 49 ++++ - src/cairo-gl-shaders.c | 623 ++++++++++++++++++++++++++++++++++++++++++++++++- - 2 files changed, 671 insertions(+), 1 deletion(-) - -commit a6897ad3867611bd74f8ab7de4b1e8d8d1c12c71 -Author: Eric Anholt <eric@anholt.net> -Date: Tue Feb 2 11:24:36 2010 -0800 - - [gl] Check for GLSL support once at context init instead of per draw. - - src/cairo-gl-private.h | 1 + - src/cairo-gl-surface.c | 11 ++++++++++- - 2 files changed, 11 insertions(+), 1 deletion(-) - -commit b1829a47bff2b03a850d4049f228d2a41e14d6bd -Author: Andrea Canciani <ranma42@gmail.com> -Date: Wed Feb 3 11:19:26 2010 +0100 - - [quartz] Unbreak mask fallback path - - _cairo_quartz_surface_paint will never fail as it falls back to image - when CoreGraphics can't handle the requested operation. This means that - upon fallback the ClipImage set by the masking code gets ignored, thus - the mask fallback path is broken. Using the _cg function ensures that - masking is either completely done by CoreGraphics, or the fallback path - passes the mask operation to image. - - src/cairo-quartz-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 597dd24ddcc763281c82790b7677e54dc2db8f92 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Feb 3 08:53:44 2010 +0000 - - drm/i915: Free potential leak of cloned textures. - - src/drm/cairo-drm-i915-shader.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 913a31494ec4bd000dfa303e362d8273b6857cfe -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Feb 2 17:49:09 2010 +0000 - - drm/i915: Increase batch buffer space. - - src/drm/cairo-drm-i915-private.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1315323b20398c7c4efa68e4e1c7f6fd6c1d8d91 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Feb 2 17:38:06 2010 +0000 - - drm/i915: check for batch buffer overflow. - - Oops, the check for sufficient batch space mysteriously disappeared - during the rearrangement. - - src/drm/cairo-drm-i915-private.h | 3 --- - src/drm/cairo-drm-i915-shader.c | 44 ++++++++++++++++++++++++++++++++++++++++ - src/drm/cairo-drm-i915-surface.c | 35 -------------------------------- - 3 files changed, 44 insertions(+), 38 deletions(-) - -commit e2be50c722347734801468d7d9568a18dbbaaa17 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Fri Jan 29 12:06:13 2010 +0100 - - [quartz] Fix UNSUPPORTED operations - - The fallback path shouldn't be used anymore, thus fallbacks are now - handled by passing unsupported ops to the image backend. - - Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> - - src/cairo-quartz-surface.c | 234 ++++++++++++++++++++++++++++++++++++++------- - 1 file changed, 198 insertions(+), 36 deletions(-) - -commit 3e69c38fe642be467fee0cad166b83006741d55c -Author: Andrea Canciani <ranma42@gmail.com> -Date: Sun Jan 24 21:59:32 2010 +0100 - - [quartz] Fix surface to CGImage conversion - - Snapshotting a surface doesn't produce a cairo_image_surface_t. - Acquiring (and later releasing) the surface is needed to access - its image data. - - src/cairo-quartz-surface.c | 75 +++++++++++++++++++++++----------------------- - 1 file changed, 38 insertions(+), 37 deletions(-) - -commit 7aba47e9d87bf09a5fa7e41a3c76c775f28b08f3 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Mon Jan 25 15:09:51 2010 +0100 - - [quartz] Silence compiler warnings - - src/cairo-quartz-surface.c | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -commit e9b07d194630f3f5e31eef3606f8e4c188a01d5f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Feb 2 16:28:30 2010 +0000 - - drm/i915: Don't tile page sized bo. - - Minor tweak from < to <= so that a page sized bo is also not tiled for - those 32x32 pixmaps... - - src/drm/cairo-drm-i915-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 70ca9dd170ce1cf8941311ec1f3dc117aef141b6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Feb 2 16:28:09 2010 +0000 - - drm/i915: Pass the correct length to dump the batchbuffer. - - src/drm/cairo-drm-i915-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3266a1a72be9c0a6b6c0014c4b64098507b6d385 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Feb 2 16:27:52 2010 +0000 - - drm: Handle absence of PCI_ID - - src/drm/cairo-drm.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1ecefc53a1d370d9fffb323952dcabeef5b872c6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Feb 2 16:26:54 2010 +0000 - - pattern: Zero-length gradients are not necessary empty - - Fixes: test/linear-step-function - - If the extend mode is unbounded, then the gradient is also unbound. - - src/cairo-pattern.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 2a59220aa448cd7416f1851c4c62ca6ac396302d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Feb 2 16:24:30 2010 +0000 - - test: Add linear-step-function - - Another bug identified by Jeff Muizelaar was that the bounds for a - zero-length (i.e. it started and stopped at the same point) were - miscomputed. This test case exercises that bug. - - Note: I believe the output is wrong here when padding a zero-length - gradient. On the left it should be red, and on the right it should be - blue. - - test/Makefile.am | 1 + - test/Makefile.sources | 1 + - test/linear-step-function.c | 60 ++++++++++++++++++++++++++++++++++++ - test/linear-step-function.xfail.png | Bin 0 -> 116 bytes - 4 files changed, 62 insertions(+) - -commit 7b37ba8a49dca39a42b5395e0715d3d0a5a89972 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Feb 2 16:17:13 2010 +0000 - - clip: Propagate all-clipped when copying - - Fixes test/clip-empty-save. - - The all-clipped flag was not being copied to the new clip, which occurs - for instance when an empty clip is pushed via a gstate save. - - src/cairo-clip.c | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) - -commit 7dc464bb2bd64d1469b7b03afaf2191ee6d9e28b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Feb 2 16:15:32 2010 +0000 - - test: Add clip-empty-save - - Jeff Muizelaar found a bug in _cairo_clip_init_copy() which was not - correctly propagating the all-clipped status when an empty clip was - saved in the gstate. This test case exercises that bug. - - test/Makefile.am | 1 + - test/Makefile.sources | 1 + - test/clip-empty-save.c | 68 +++++++++++++++++++++++++++++++++++++++++++ - test/clip-empty-save.ref.png | Bin 0 -> 118 bytes - 4 files changed, 70 insertions(+) - -commit ab3dc7bb31f7f8b8c4d87c1ae62bd946b260c77e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jan 31 16:59:07 2010 +0000 - - csi-replay: compile fix - - util/cairo-script/csi-replay.c | 32 +++++++++++++++++++++----------- - 1 file changed, 21 insertions(+), 11 deletions(-) - -commit ab605214d151098ad153e8bf74ae0ca71a34c963 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Mon Feb 1 09:27:16 2010 +0100 - - Partially revert "Improve stroking of densely dashed styles" - - This reverts commit 26e9f149063b9e1fdb54fc54fccbefdf04a68190 on - cairo-path-stroke. - The changes in cairo-path-stroke are not needed anymore since dash - pattern approximation is now done in gstate before passing the dash - pattern to the backend. - - src/cairo-path-stroke.c | 24 ++++++------------------ - 1 file changed, 6 insertions(+), 18 deletions(-) - -commit 8ffe0fc3825f0f6bc4d06607f6819ea8c2c2040b -Author: Andrea Canciani <ranma42@gmail.com> -Date: Sat Jan 30 09:29:48 2010 +0100 - - Revert "[quartz] Approximate dense dashing patterns" - - This reverts commit 27701ed8447d4c21b7bf9709a2fc21690b3cdc96. - Approximation is now done in gstate. - - src/cairo-quartz-surface.c | 32 +++++++++++--------------------- - 1 file changed, 11 insertions(+), 21 deletions(-) - -commit 2e91648bcba06832dfa92bd742c32b2f5c1ad989 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Fri Jan 15 15:46:20 2010 +0100 - - Approximate dash patterns in gstate - - Since approximation is only done when the pattern is sub-tolerance, - it is acceptable to apply it even for vector backends. - By doing it once and for all backends, backends are guaranteed to have - non-degenerate input. - Acked-by: Adrian Johnson <ajohnson@redneon.com> - - src/cairo-gstate.c | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -commit 67f666896cbfd0ac2728c7aa1325a7d0b2c8282d -Author: Andrea Canciani <ranma42@gmail.com> -Date: Sun Jan 24 22:17:18 2010 +0100 - - Improve comments style consistency - - Each line of a multi-line comment should begin with '*'. - - src/cairo-stroke-style.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 45c795a1820e0317b123e7782cefed6ade8996d7 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Fri Jan 15 10:44:58 2010 +0100 - - Improve dash pattern approximation - - Dash pattern approximation was taking the caps style into account - only for coverage computation, but not when computing the new - pattern, thus the computed approximation had a higher coverage if - the caps style was SQUARE or ROUND. - - Reviewed-by: M. Joonas Pihlaja <jpihlaja@cc.helsinki.fi> - - src/cairo-stroke-style.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 54 insertions(+), 2 deletions(-) - -commit 8d7841048b079ce2a582ff17c90e82e0081e5f42 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Sun Jan 17 19:00:47 2010 +0100 - - Round caps coverage extimate explanation - - Comment on how the round caps coverage has been computed, explaining - the complete procedure. The comments doesn't contain intermediate - (verbose and ugly) results, but when executed in a symbolic math - program (sage, for example) computes the expected results. - - Reviewed-by: M. Joonas Pihlaja <jpihlaja@cc.helsinki.fi> - - src/cairo-stroke-style.c | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -commit 8558cd579059974758bda696c33f08399267d33e -Author: Eric Anholt <eric@anholt.net> -Date: Thu Jan 28 17:39:34 2010 -0800 - - [gl] Use GL_MESA_pack_invert to flip get_image of windows around. - - This doesn't have any fallback for a GL that fails to implement the - extension. Fixes 120 testcases for gl-window. - - src/cairo-gl-surface.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 11a120fb8477910f5ac63dc1ebde45c276764783 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Fri Jan 29 14:21:06 2010 +0100 - - Silence autoconf on Mac OS X - - Autoconf was complaining that AC_COMPILE_IFELSE and AC_RUN_IFELSE - were called before AC_GNU_SOURCE. Moving AC_GNU_SOURCE right after - AC_INIT solves this. - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 05d4f9b461749f129b17cc97d6e3e6b49fe8e8d9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 29 11:30:49 2010 +0000 - - xlib: Compile fix for no fontconfig - - src/cairo-xlib-screen.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit e3e74641450481e7ad393bbc6fd1a7428be53de1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 29 11:22:26 2010 +0000 - - atomic: Fix up compile on PPC with libatomic-ops - - src/cairo-atomic-private.h | 2 -- - src/cairo-atomic.c | 3 ++- - 2 files changed, 2 insertions(+), 3 deletions(-) - -commit e11d2d0b4d646757fcba11631b6db169e2c183b0 -Author: Alexander Shulgin <alex.shulgin@gmail.com> -Date: Fri Jan 29 09:17:01 2010 +0000 - - surface: Fix detach mime-data after ecda633f887a10da650b4cd3efb17c861a6f519f - - Hi, - - while browsing the git log I've noticed a small mistake in the above - commit, where we reversed the order of init/fini required to reset the - mime-data array. - - src/cairo-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 5f0a0088af784157d8efe149ed073c8fa010e648 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jan 28 13:23:39 2010 +0000 - - drm-intel: Unmap a full glyph cache. - - When we swap a full glyph cache for a fresh one, be sure to unmap the - old one prior to release. - - src/drm/cairo-drm-i915-glyphs.c | 2 +- - src/drm/cairo-drm-intel.c | 3 +++ - 2 files changed, 4 insertions(+), 1 deletion(-) - -commit 78cd9471200c69c8b3737e859260f4552145d958 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jan 27 23:45:17 2010 +0000 - - drm: Paranoid assert that the fallback is released upon finish. - - src/drm/cairo-drm-surface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 5aa1191204e3eed6e3e97e23f37a52bbdfffcbce -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jan 27 23:42:26 2010 +0000 - - drm-intel: flush in memory modifications to texture. - - If the surface was written to using a fallback, and so is mapped, we - need to flush those modifications by relinquishing the map. So the next - time the application tries to write to the surface, those writes are - correctly serialised with our reads. - - src/drm/cairo-drm-i915-shader.c | 14 ++++++++++++++ - src/drm/cairo-drm-i965-shader.c | 12 ++++++++++++ - 2 files changed, 26 insertions(+) - -commit a38accb694452fc5dfac63535648656885cd47eb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jan 27 23:27:46 2010 +0000 - - drm-intel: The accumulation bo may be NULL, beware. - - If we are not accumulating but rendering directly to the output vbo, - then the tail bo may not even be allocated, let alone mapped. - - src/drm/cairo-drm-i915-spans.c | 2 +- - src/drm/cairo-drm-i965-glyphs.c | 2 +- - src/drm/cairo-drm-i965-spans.c | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -commit 44734b9d3ba60fb45abb0268a916e40cd688ef6a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jan 27 23:17:44 2010 +0000 - - drm-intel: Assert that the bo is unmapped upon release. - - Check through error paths to catch a few more places where the mapped bo - may have been leaked, and add an assert to abort in case we do leak a - mapping. - - src/drm/cairo-drm-i915-spans.c | 3 +++ - src/drm/cairo-drm-i965-glyphs.c | 4 ++++ - src/drm/cairo-drm-i965-spans.c | 3 +++ - src/drm/cairo-drm-intel.c | 6 +++++- - 4 files changed, 15 insertions(+), 1 deletion(-) - -commit 6848c7c850aa0a710c1409d1fc2cb441d02a2b28 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jan 27 23:01:37 2010 +0000 - - drm-i915: Don't tile temporary image textures. - - As uploading to a tiled buffer is much slower than linear memory, don't - unless we expect to reuse the texture. This is not true for sub-image - clones, which are single shot affairs. - - src/drm/cairo-drm-i915-shader.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f75b7c4c110e880f4bdd578d9180f9afbb1d0034 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jan 27 19:20:57 2010 +0000 - - drm/i915: Ensure surface is initialized. - - Let's try that again, this time remembering to place it on the - conjunction of the two branches, so *both* paths are initialized. - - src/drm/cairo-drm-i915-shader.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 02f20458d1dd48fc4589734fc4b3e0c8bea1ce5c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jan 27 19:02:21 2010 +0000 - - drm-i915: Ensure surface size for clone is initialized. - - If the surface had a snapshot, then we would have not initialized the - surface size and so compute a bogus normalization matrix. - - src/drm/cairo-drm-i915-shader.c | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -commit c82ff8cbcf27dc20d2b44a988eed1b676d996e8c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jan 27 18:48:32 2010 +0000 - - configure: Enable AC_SYS_LARGEFILE for drm - - drm makes use of 64bit offsets when mmaping, and so we require the - 64bit file interfaces. I had presumed that it would be pulled in with - AC_GNU_SOURCE, but no. - - configure.ac | 1 + - 1 file changed, 1 insertion(+) - -commit 6d2d338ac04b02200e009c9e97d3ce030d07eb6f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 25 22:47:10 2010 +0000 - - drm: compile fix for cairo_always_inline - - s/always_inline/cairo_always_inline/ - - src/drm/cairo-drm-i965-private.h | 8 +-- - src/drm/cairo-drm-intel-brw-eu.h | 132 +++++++++++++++++++------------------- - src/drm/cairo-drm-intel-private.h | 2 +- - src/drm/cairo-drm-private.h | 2 +- - 4 files changed, 72 insertions(+), 72 deletions(-) - -commit 58980b4ad60a60923a59370c81d59bb0457a7922 -Author: Benjamin Otte <otte@redhat.com> -Date: Wed Jan 27 09:56:14 2010 +0100 - - build: Remove glitz surface - - glitz is unmaintained and the GL surface is far superior anyway. - - README | 8 +- - boilerplate/Makefile.am | 13 - - boilerplate/Makefile.sources | 5 - - boilerplate/Makefile.win32.features | 10 - - boilerplate/cairo-boilerplate-glitz-agl.c | 191 --- - boilerplate/cairo-boilerplate-glitz-glx.c | 265 ---- - boilerplate/cairo-boilerplate-glitz-wgl.c | 188 --- - build/Makefile.win32.features | 1 - - build/Makefile.win32.features-h | 3 - - build/configure.ac.features | 1 - - configure.ac | 38 - - doc/public/cairo-docs.xml | 1 - - doc/public/cairo-sections.txt | 1 - - doc/public/tmpl/cairo-glitz.sgml | 22 - - src/Makefile.sources | 4 - - src/Makefile.win32.features | 14 - - src/cairo-deprecated.h | 1 - - src/cairo-glitz-private.h | 41 - - src/cairo-glitz-surface.c | 2450 ----------------------------- - src/cairo-glitz.h | 57 - - test/Makefile.am | 8 - - test/Makefile.sources | 2 - - test/glitz-surface-source.argb32.ref.png | Bin 377 -> 0 bytes - test/glitz-surface-source.c | 293 ---- - test/glitz-surface-source.ps2.ref.png | Bin 376 -> 0 bytes - test/glitz-surface-source.ps3.ref.png | Bin 376 -> 0 bytes - test/glitz-surface-source.rgb24.ref.png | Bin 301 -> 0 bytes - util/cairo.modules | 10 +- - 28 files changed, 3 insertions(+), 3624 deletions(-) - -commit 17ddb1598b3df374b6275d907441f34318b4257f -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jan 25 20:17:12 2010 +0100 - - docs: appease make check - - src/cairo-gl-surface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit bac513a85dc8ef2915b2e60d034cf3dbc82a8e0c -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jan 25 20:05:56 2010 +0100 - - build: Fix pthread detection - - THe pthread.h detection code didn't pass -lpthread or -pthread to Cairo. - - configure.ac | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -commit 582604f7b6b5b2ab6e681245bc7cde64d4995307 -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jan 25 19:22:33 2010 +0100 - - [png] Simplify coercion code - - Call _cairo_image_surface_coerce() unconditionally to ensure coercion to - one of the standard formats happens even when it's a format we support. - - src/cairo-png.c | 16 ++++++---------- - 1 file changed, 6 insertions(+), 10 deletions(-) - -commit 002e02715cac9a285fd97e1bb6b068ceebfae3d8 -Author: Benjamin Otte <otte@redhat.com> -Date: Mon Jan 25 19:42:54 2010 +0100 - - Remove useless pixman version checks - - We require pixman >= 0.15.16 in configure.ac, so checks for older - versions aren't required anymore. - - src/cairo-gl-surface.c | 2 -- - src/cairo-image-surface.c | 10 ++-------- - 2 files changed, 2 insertions(+), 10 deletions(-) - -commit 5a690ad4acb3687c45c201b3ce92cd3e41bf3b30 -Author: Benjamin Otte <otte@gnome.org> -Date: Fri Jan 15 13:44:04 2010 +0100 - - Give cairo_surface_mark_dirty() the slim hidden treatment - - Fixes test suite failure - - src/cairo-surface.c | 1 + - src/cairoint.h | 1 + - 2 files changed, 2 insertions(+) - -commit 571ab1007571cb8d78fcb5206b43d6b964aa0df1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 25 18:22:03 2010 +0000 - - xcb: Fix linking with xcb-drm - - src/cairo-xcb-surface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit ecda633f887a10da650b4cd3efb17c861a6f519f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 25 18:17:28 2010 +0000 - - mime-data: Detach existing alternate representations upon modification - - A major sore point in the current mime-data API is the choice to keep - the alternate mime-data representations after the user has actually - modifying the primary representation (i.e. has made it a target of a - cairo_t and drawn to it). This has been rightly chastised as unexpected - behaviour, and given that we already have the mechanism to detach - snapshots upon modification, there is no reason not to behave as - expected. - - src/cairo-surface.c | 21 ++++++++++++++++++++- - 1 file changed, 20 insertions(+), 1 deletion(-) - -commit 123bdb086ad9c5725a51791458d31309c69a3f41 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 25 16:45:03 2010 +0000 - - xcb: Make shm optional - - Trying to build xcb on a system without SHM wrapped by xcb. The right - answer would be to build libxcb-shm. The quick answer is to compile out - shm support. - - boilerplate/Makefile.win32.features | 10 ++++++++++ - build/Makefile.win32.features | 1 + - build/Makefile.win32.features-h | 3 +++ - build/configure.ac.features | 1 + - configure.ac | 14 +++++++++++++- - src/Makefile.sources | 8 ++++++-- - src/Makefile.win32.features | 14 ++++++++++++++ - src/cairo-xcb-connection.c | 22 ++++++++++++++++++---- - src/cairo-xcb-private.h | 21 +++++++++++++++++++++ - src/cairo-xcb-surface-core.c | 2 ++ - src/cairo-xcb-surface-render.c | 2 ++ - src/cairo-xcb-surface.c | 14 ++++++++++++++ - 12 files changed, 105 insertions(+), 7 deletions(-) - -commit e1b3330376c173633e146eb6cf578592d424e4d5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 25 14:48:44 2010 +0000 - - configure: dri2 is only required for xcb-drm - - Move the optional dependency on dri2 to the xcb-drm integration where it - is required. - - configure.ac | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -commit 8151c72307e8cb369fbb524de56f87f805efff2b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 25 12:14:39 2010 +0000 - - xcb: compile errors with lockdep - - After moving the mutex to the superclass, I forgot to update the - references from the lockdep asserts. - - src/cairo-xcb-connection.c | 6 +++--- - src/cairo-xcb-screen.c | 16 ++++++++-------- - 2 files changed, 11 insertions(+), 11 deletions(-) - -commit be81d656c53c76032fd3fe11c81402d17ec56327 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 25 11:54:24 2010 +0000 - - clip: Create a fallback clip surface - - If the destination cannot support a clip surface, then we will need to - use an intermediate image surface and trigger fallbacks upon use. - - src/cairo-clip.c | 5 +++++ - 1 file changed, 5 insertions(+) - -commit c453d8ab704e5f41cb010241efe9bcb9ff886024 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 25 11:45:01 2010 +0000 - - test: Erroneous ref image for big-line xlib-fallback. - - test/big-line.xlib-fallback.ref.png | Bin 723 -> 0 bytes - 1 file changed, 0 insertions(+), 0 deletions(-) - -commit 180aea76adbb6d5c5909652b7a8cafb7a693e982 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Mon Jan 25 20:48:02 2010 +1030 - - Fix printing of rotated user fonts - - b7550bf0 introduced a regression when user fonts are rendered to a - rotated context. - - src/cairo-type3-glyph-surface.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -commit abcb9d2c39178620b1847fe6ea6e144602464ecc -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 25 09:35:09 2010 +0000 - - image: Prevent deref of NULL clip_region - - Another stray from surface-fallback, spotted by Carlos: - - *INT_cairo_region_get_extents (region=0x0, extents=0xbfffce90) at - cairo-region.c:385 - 385 if (region->status) { - (gdb) bt - 0 *INT_cairo_region_get_extents (region=0x0, extents=0xbfffce90) at - cairo-region.c:385 - 1 0x0013ba46 in _cairo_image_surface_composite_trapezoids - (op=CAIRO_OPERATOR_OVER, pattern=0xbfffdda8, abstract_dst=0x837de10, - antialias=CAIRO_ANTIALIAS_DEFAULT, src_x=486, src_y=45, dst_x=0, - dst_y=0, width=15, height=25, traps=0x837f100, num_traps=30, - clip_region=0x0) - at cairo-image-surface.c:4102 - 2 0x0015d846 in _cairo_surface_composite_trapezoids - (op=CAIRO_OPERATOR_OVER, pattern=0xbfffdda8, dst=0x837de10, - antialias=CAIRO_ANTIALIAS_DEFAULT, - src_x=486, src_y=45, dst_x=0, dst_y=0, width=15, height=25, - traps=0x837f100, num_traps=30, clip_region=0x0) at cairo-surface.c:2125 - 3 0x001607ce in _cairo_surface_fallback_composite_trapezoids - (op=CAIRO_OPERATOR_OVER, pattern=0xbfffdda8, dst=0x837db00, - antialias=CAIRO_ANTIALIAS_DEFAULT, src_x=486, src_y=45, dst_x=486, - dst_y=45, width=15, height=25, traps=0x837fd78, num_traps=30, - clip_region=0x0) - at cairo-surface-fallback.c:1641 - 4 0x0015d8a4 in _cairo_surface_composite_trapezoids - (op=CAIRO_OPERATOR_OVER, pattern=0xbfffdda8, dst=0x837db00, - antialias=CAIRO_ANTIALIAS_DEFAULT, - src_x=486, src_y=45, dst_x=486, dst_y=45, width=15, height=25, - traps=0x837fd78, num_traps=30, clip_region=0x0) at cairo-surface.c:2137 - 5 0x001623b0 in _composite_traps_draw_func (closure=0xbfffd350, - op=CAIRO_OPERATOR_OVER, src=0xbfffdda8, dst=0x837db00, dst_x=0, dst_y=0, - extents=0xbfffdc78, clip_region=0x0) at cairo-surface-fallback.c:546 - 6 0x00161234 in _clip_and_composite (clip=0x0, op=<value optimized - out>, src=0xbfffdda8, draw_func=0x162310 <_composite_traps_draw_func>, - draw_closure=0xbfffd350, dst=0x837db00, extents=0xbfffdc78) at - cairo-surface-fallback.c:463 - 7 0x0016205b in _clip_and_composite_trapezoids (src=<value optimized - out>, op=CAIRO_OPERATOR_OVER, dst=0x837db00, traps=0xbfffd7bc, - antialias=CAIRO_ANTIALIAS_DEFAULT, clip=0x0, extents=0xbfffdc78) at - cairo-surface-fallback.c:853 - 8 0x001626ef in _cairo_surface_fallback_stroke (surface=0x837db00, - op=CAIRO_OPERATOR_OVER, source=0xbfffdda8, path=0x1b164c, - stroke_style=0x1b1524, - ctm=0x1b15b0, ctm_inverse=0x1b15e0, tolerance=0.10000000000000001, - antialias=CAIRO_ANTIALIAS_DEFAULT, clip=0x0) at - cairo-surface-fallback.c:1173 - 9 0x0015f2f4 in _cairo_surface_stroke (surface=0x837db00, - op=CAIRO_OPERATOR_OVER, source=0xbfffdda8, path=0x1b164c, - stroke_style=0x1b1524, ctm=0x1b15b0, - ctm_inverse=0x1b15e0, tolerance=0.10000000000000001, - antialias=CAIRO_ANTIALIAS_DEFAULT, clip=0xbfffde88) at - cairo-surface.c:2041 - 10 0x00134629 in _cairo_gstate_stroke (gstate=0x1b1514, path=0x1b164c) - at cairo-gstate.c:1133 - 11 0x0012a706 in *INT_cairo_stroke_preserve (cr=0x1b13c0) at - cairo.c:2234 - 12 0x0012a732 in *INT_cairo_stroke (cr=0x1b13c0) at cairo.c:2207 - - src/cairo-image-surface.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -commit 38ba696c483c289c2522b124ca628ef602c12126 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 25 09:20:11 2010 +0000 - - surface-fallback: We no longer own a reference to the clip surface - - _cairo_clip_get_surface() now returns a borrowed reference to the cached - surface on the clip, so we must not destroy it - as Carlos pointed out - when he hit the assert: - - 12:55 < KaL> ickle: cairo-surface.c:595: cairo_surface_destroy: - Assertion `((*&(&surface->ref_count)->ref_count) > 0)' failed. - 12:56 < KaL> ickle: trying to render any pdf file with poppler glib demo - after installing cairo from git master - 13:00 < KaL> ickle: well, it seems it has nothing ot do with poppler, - since it crashes in clearlooks src/clearlooks_draw.c:347 - - src/cairo-surface-fallback.c | 3 --- - 1 file changed, 3 deletions(-) - -commit b3ba610ec05f863a0830a1f30ed130649fbadfbb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 25 09:09:18 2010 +0000 - - win32: Trivially fix the compile error with printing. - - _cairo_pattern_is_opaque() now takes the extents over which the - operation is defined so that we make exclude the clear pixels that - surround EXTEND_NONE surfaces when determining opacity. In order to take - full advantage of this we need to start performing an extents query on - the operation and pass that down to the analysis... - - This patch however is just the quick compile fix to pass a NULL and - restore the old behaviour. - - Fixes (with previous commit): - Bug 26197 - Cairo doesn't build on windows - http://bugs.freedesktop.org/show_bug.cgi?id=26197 - - src/cairo-win32-printing-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 386ca53f280652983870316593e510cfef59c559 -Author: Haakon Sporsheim <haakon.sporsheim@gmail.com> -Date: Sun Jan 24 16:43:42 2010 +0100 - - win32: Compile fix, rename render_row to render_rows. - - src/cairo-win32-surface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit a9a73e5df42840148fd4db60cc0d1ba5d137b764 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Sun Jan 24 23:26:28 2010 +0100 - - Constrain subsurface creation - - Force the subsurface extents to be inside the target extents and - compose subsubsurfaces offsets correctly. - Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> - - src/cairo-surface-subsurface.c | 36 +++++++++++++++--------------------- - 1 file changed, 15 insertions(+), 21 deletions(-) - -commit b7550bf0f1cafb5cc5df13da50b0cec80313038f -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Jan 24 22:23:26 2010 +1030 - - Fix incorrect font scale and glyph position in Type 3 fonts - - The PDF file referenced by bug 26186 contains a Type 3 font with non - identity font matrix and a "1/2" glyph created by drawing the "1" and - "2" from a Type 1 font. This combination exposed a bug in the font - scale and glyph position in _cairo_type3_glyph_surface_show_glyphs - when printing user font glyphs. - - src/cairo-type3-glyph-surface.c | 21 +++++---------------- - 1 file changed, 5 insertions(+), 16 deletions(-) - -commit ea7fda442c169a159b2e3c51894a0f5e70a13984 -Author: Eric Anholt <eric@anholt.net> -Date: Fri Jan 22 16:26:38 2010 -0800 - - [gl] Release the context acquired in surface_create. - - Fixes assertion failures in many testcases since - cf9ea9f2f0ea1e1b42dc1507ed0dac4dfbf5d387 - - src/cairo-gl-surface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 20990365f3885457d66b4a8bef865f027a98333f -Author: Eric Anholt <eric@anholt.net> -Date: Fri Jan 22 16:13:02 2010 -0800 - - [gl] Emit rectanges a whole primitive at a time. - - Since the spans rework, we were emitting half a primitive at a time, - and if we flushed our VBO full of quads out halfway through, we could - end up dropping the primitive and then out of phase. - - src/cairo-gl-surface.c | 25 +++++++++++-------------- - 1 file changed, 11 insertions(+), 14 deletions(-) - -commit c8a61a3267ffd53d4b4d61e2e2bcb70448ea4d41 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Sat Jan 23 18:25:11 2010 +0100 - - Fix compilation on MacOS X - - Some functions declared in MacOS X headers use the always_inline - attribute, thus defining it to be a different expression breaks the - build. - - src/cairo-botor-scan-converter.c | 8 ++++---- - src/cairo-compiler-private.h | 4 ++-- - src/cairo-gl-private.h | 4 ++-- - 3 files changed, 8 insertions(+), 8 deletions(-) - -commit 90ba1242b61e7b8e5ae2c2ca028d0058f6dabd88 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Sat Jan 23 18:13:35 2010 +0100 - - Fix image backend compilation - - When HAS_ATOMIC_OPS is not defined, cairo-image-surface.c does not - compile because _pixman_white_image calls _pixman_image_for_solid - which gets defined only later in the code. - - src/cairo-image-surface.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 2a466ba07072cb394cfc955cfb0633b0cc278044 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 22:26:52 2010 +0000 - - script: Encode octal values correctly. - - Oops, we were emitting the octal numerals in reverse order. - - src/cairo-script-surface.c | 21 +++++++++++++-------- - 1 file changed, 13 insertions(+), 8 deletions(-) - -commit 87529198aa37f5eb5943eb80cc1aae858fdaadd0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 22:21:44 2010 +0000 - - scaled-font: Mark an error site with _cairo_error() - - src/cairo-scaled-font-subsets.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6544f3b25d2120b7bd04f6c956c2ea7b9c101c76 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 22:15:25 2010 +0000 - - ps: Wean off the low-level image composite interface - - The low-level surface composite interface will disappear in the near - future and results in much more ugly code than calling the high level - interface - so use it when flattening images into the page background. - - src/cairo-ps-surface.c | 77 ++++++++++++++++++-------------------------------- - 1 file changed, 27 insertions(+), 50 deletions(-) - -commit f57cb45fa9274351b36f96eb932a931493b5db94 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 22:18:35 2010 +0000 - - ps: Arguments to fill_extents() were reversed. - - src/cairo-ps-surface.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 58540405d9bc6581c1d07f17bd5aee330f06d4a2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 22:05:37 2010 +0000 - - pdf: Arguments to fill_extents() were reversed. - - src/cairo-pdf-surface.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 34dd80632e4671f0ca245be9db4280db62bdb1f9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jan 21 18:39:26 2010 +0000 - - glew: Silence compiler. - - src/glew/GL/glew.h | 2 +- - src/glew/glew.c | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -commit cf9ea9f2f0ea1e1b42dc1507ed0dac4dfbf5d387 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jan 21 18:39:12 2010 +0000 - - gl: Acquire the context whilst creating surfaces. - - src/cairo-gl-private.h | 5 ++--- - src/cairo-gl-surface.c | 37 ++++++++++++++++++++++++------------- - 2 files changed, 26 insertions(+), 16 deletions(-) - -commit a7e05bd602e7f8bee63f5d32cb95d65628e6e715 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jan 21 18:22:04 2010 +0000 - - glew: Do not assume that UNIX == GLX - - src/glew/glew.c | 5 +++++ - 1 file changed, 5 insertions(+) - -commit c0008242b0f162d8c7717009ba792ed61b2924d1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 21:35:23 2010 +0000 - - misc: Only use custom lround() under DISABLE_SOME_FLOATING_POINT - - On my Core2, the library version of lround() is faster than our - hand-rolled non-floating point implementation. So only enable our code - if we are trying to minimise the number of floating point operations -- - even then, it would worth investigating the library performance first. - - [Just a reminder that optimisation choices will change over time as our - hardware and software evolves.] - - src/cairo-misc.c | 2 ++ - src/cairo-ps-surface.c | 4 ++-- - src/cairoint.h | 5 +++++ - 3 files changed, 9 insertions(+), 2 deletions(-) - -commit 1236c41072a7966eda7db48a381fd0508e5289be -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 21:26:26 2010 +0000 - - xcb: Refresh. - - Still an experimental backend, it's now a little too late to stabilise - for 1.10, but this should represent a major step forward in its feature - set and an attempt to catch up with all the bug fixes that have been - performed on xlib. Notably not tested yet (and expected to be broken) - are mixed-endian connections and low bitdepth servers (the dithering - support has not been copied over for instance). However, it seems robust - enough for daily use... - - Of particular note in this update is that the xcb surface is now capable - of subverting the xlib surface through the ./configure --enable-xlib-xcb - option. This replaces the xlib surface with a proxy that forwards all - operations to an equivalent xcb surface whilst preserving the cairo-xlib - API that is required for compatibility with the existing applications, - for instance GTK+ and Mozilla. Also you can experiment with enabling a - DRM bypass, though you need to be extremely foolhardy to do so. - - boilerplate/Makefile.win32.features | 20 + - boilerplate/cairo-boilerplate-xcb.c | 522 ++- - build/Makefile.win32.features | 2 + - build/Makefile.win32.features-h | 6 + - build/configure.ac.features | 2 + - configure.ac | 26 +- - src/Makefile.sources | 22 +- - src/Makefile.win32.features | 28 + - src/cairo-list-private.h | 7 + - src/cairo-mutex-list-private.h | 4 + - src/cairo-pattern.c | 41 +- - src/cairo-xcb-connection-core.c | 482 +++ - src/cairo-xcb-connection-render.c | 969 +++++ - src/cairo-xcb-connection-shm.c | 194 + - src/cairo-xcb-connection.c | 867 ++++ - src/cairo-xcb-private.h | 760 ++++ - src/cairo-xcb-screen.c | 518 +++ - src/cairo-xcb-shm.c | 576 +++ - src/cairo-xcb-surface-cairo.c | 94 + - src/cairo-xcb-surface-core.c | 613 +++ - ...o-xcb-xrender.h => cairo-xcb-surface-private.h} | 42 +- - src/cairo-xcb-surface-render.c | 4471 ++++++++++++++++++++ - src/cairo-xcb-surface.c | 3382 ++++----------- - src/cairo-xcb.h | 41 +- - src/cairo-xlib-xcb-surface.c | 515 +++ - src/cairoint.h | 16 + - test/xcb-surface-source.c | 1 - - 27 files changed, 11679 insertions(+), 2542 deletions(-) - -commit 77afe8491ed7038a8399c01f10d8f062a7239225 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 20:48:54 2010 +0000 - - drm: Add backends for i915 and i965. - - As proof-of-principle add the nearly working demonstrations of using DRM - to render directly with the GPU bypassing both RENDER and GL for - performance whilst preserving high quality rendering. - - The basis behind developing these chip specific backends is that this is - the idealised interface that we desire for this chips, and so a target - for cairo-gl as we continue to develop both it and our GL stack. - - Note that this backends do not yet fully pass the test suite, so only - use if you are brave and willing to help develop them further. - - boilerplate/cairo-boilerplate-drm.c | 2 +- - src/Makefile.sources | 17 + - src/cairo-drm.h | 31 +- - src/cairo-misc.c | 57 + - src/cairoint.h | 2 + - src/drm/cairo-drm-bo.c | 13 +- - src/drm/cairo-drm-gallium-surface.c | 3 +- - src/drm/cairo-drm-i915-glyphs.c | 534 ++++++ - src/drm/cairo-drm-i915-private.h | 1169 ++++++++++++ - src/drm/cairo-drm-i915-shader.c | 2674 +++++++++++++++++++++++++++ - src/drm/cairo-drm-i915-spans.c | 708 +++++++ - src/drm/cairo-drm-i915-surface.c | 1996 ++++++++++++++++++++ - src/drm/cairo-drm-i965-glyphs.c | 500 +++++ - src/drm/cairo-drm-i965-private.h | 742 ++++++++ - src/drm/cairo-drm-i965-shader.c | 2852 +++++++++++++++++++++++++++++ - src/drm/cairo-drm-i965-spans.c | 408 +++++ - src/drm/cairo-drm-i965-surface.c | 1949 ++++++++++++++++++++ - src/drm/cairo-drm-intel-brw-defines.h | 824 +++++++++ - src/drm/cairo-drm-intel-brw-eu-emit.c | 1089 +++++++++++ - src/drm/cairo-drm-intel-brw-eu-util.c | 121 ++ - src/drm/cairo-drm-intel-brw-eu.c | 250 +++ - src/drm/cairo-drm-intel-brw-eu.h | 1043 +++++++++++ - src/drm/cairo-drm-intel-brw-structs.h | 1328 ++++++++++++++ - src/drm/cairo-drm-intel-command-private.h | 909 +++++++++ - src/drm/cairo-drm-intel-debug.c | 1208 ++++++++++++ - src/drm/cairo-drm-intel-ioctl-private.h | 417 +++++ - src/drm/cairo-drm-intel-private.h | 427 ++++- - src/drm/cairo-drm-intel-surface.c | 421 +++-- - src/drm/cairo-drm-intel.c | 1240 +++++++++---- - src/drm/cairo-drm-private.h | 101 +- - src/drm/cairo-drm-radeon-private.h | 3 - - src/drm/cairo-drm-radeon-surface.c | 281 +-- - src/drm/cairo-drm-radeon.c | 5 +- - src/drm/cairo-drm-surface.c | 235 +-- - src/drm/cairo-drm.c | 232 +-- - 35 files changed, 22675 insertions(+), 1116 deletions(-) - -commit b9407af6a4bc792c1bcb52c90aa8a618627bb618 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 17:57:41 2010 +0000 - - image: Implement high level interface. - - Write a dedicated compositor for pixman so that we avoid the - middle-layer syndrome of surface-fallback. The major upshot of this - rewrite is that the image surface is now several times quicker for glyph - compositing, which dramatically improves performance for text rendering - by firefox and friends. It also uses a couple of the new scan - convertors, such as the rectangular scan converter for rectilinear - paths. - - Speedups - ======== - image-rgba firefox-talos-gfx-0 342050.17 (342155.88 0.02%) -> 69412.44 (69702.90 0.21%): 4.93x speedup - ███▉ - image-rgba vim-0 97518.13 (97696.23 1.21%) -> 30712.63 (31238.65 0.85%): 3.18x speedup - ██▏ - image-rgba evolution-0 69927.77 (110261.08 19.84%) -> 24430.05 (25368.85 1.89%): 2.86x speedup - █▉ - image-rgba poppler-0 41452.61 (41547.03 2.51%) -> 21195.52 (21656.85 1.08%): 1.96x speedup - █ - image-rgba firefox-planet-gnome-0 217512.61 (217636.80 0.06%) -> 123341.02 (123641.94 0.12%): 1.76x speedup - ▊ - image-rgba swfdec-youtube-0 41302.71 (41373.60 0.11%) -> 31343.93 (31488.87 0.23%): 1.32x speedup - ▍ - image-rgba swfdec-giant-steps-0 20699.54 (20739.52 0.10%) -> 17360.19 (17375.51 0.04%): 1.19x speedup - ▎ - image-rgba gvim-0 167837.47 (168027.68 0.51%) -> 151105.94 (151635.85 0.18%): 1.11x speedup - ▏ - image-rgba firefox-talos-svg-0 375273.43 (388250.94 1.60%) -> 356846.09 (370370.08 1.86%): 1.05x speedup - - src/cairo-image-surface.c | 3987 ++++++++++++++++++++++++----- - src/cairo-mutex-list-private.h | 2 + - src/cairo-xcb-surface.c | 10 +- - src/cairoint.h | 21 +- - test/clip-fill-unbounded.argb32.ref.png | Bin 1615 -> 1607 bytes - test/clip-fill-unbounded.rgb24.ref.png | Bin 1312 -> 1304 bytes - test/clip-stroke-unbounded.argb32.ref.png | Bin 1703 -> 1694 bytes - test/clip-stroke-unbounded.rgb24.ref.png | Bin 1383 -> 1372 bytes - test/clip-stroke.ref.png | Bin 1451 -> 1442 bytes - test/clipped-group.ref.png | Bin 289 -> 289 bytes - test/leaky-dashed-rectangle.ref.png | Bin 347 -> 357 bytes - test/scale-offset-image.xfail.png | Bin 9960 -> 9961 bytes - test/scale-offset-similar.xfail.png | Bin 9960 -> 9961 bytes - test/self-intersecting.ref.png | Bin 213 -> 168 bytes - 14 files changed, 3342 insertions(+), 678 deletions(-) - -commit ec7cc9dea16f94e1e56720be548cf5520ec4708b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 19:27:45 2010 +0000 - - ft: Tidy computation of transformed bitmap, and mark if CA - - Discard a redundant clear as the image surface is guaranteed to return - a cleared surface that meets pixman/xlib requirements for alignment, and - more importantly add the ComponentAlpha flag on the pixman image - generated as appropriate. - - src/cairo-ft-font.c | 31 +++++++++++-------------------- - 1 file changed, 11 insertions(+), 20 deletions(-) - -commit b713510f213d0a83cb0575d6870416a0f13786c9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 17:56:26 2010 +0000 - - surface-fallback: Convert to composite rectangles - - src/cairo-surface-fallback.c | 396 ++++++++++++++----------------------------- - src/cairo-surface.c | 3 + - src/cairo-traps.c | 47 ++--- - src/cairoint.h | 3 +- - 4 files changed, 158 insertions(+), 291 deletions(-) - -commit 498c10032ea3f8631a928cd7df96766f2c8ddca4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 16:39:29 2010 +0000 - - clip: Implement clipping using only the high-level operators. - - Revamp clipping in preparation for the removal of the low-level interface - and promote backend to use the higher levels. The principle here is that - the higher level interface gives the backend more scope for choosing - better performing primitives. - - src/cairo-clip-private.h | 6 +- - src/cairo-clip.c | 257 +++++++++++++++++++++---------------------- - src/cairo-surface-fallback.c | 2 +- - 3 files changed, 131 insertions(+), 134 deletions(-) - -commit 05bb43a00770f17566c80f28faf684597d1b6afb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 16:14:53 2010 +0000 - - types: Move cairo_scaled_glyph_t to cairo-types-private.h - - Another step in bringing some sanity to our headers. - - src/cairo-types-private.h | 25 +++++++++++++++++++++++++ - src/cairoint.h | 26 -------------------------- - 2 files changed, 25 insertions(+), 26 deletions(-) - -commit 9c98656fb1ac10a6085c5db5731b6b986af26165 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 16:11:48 2010 +0000 - - color: Add enum value for the largest stock color. - - Useful if we wish to keep a cache of patterns for the very common stock - colors... - - src/cairo-color.c | 13 +++++++------ - src/cairo-types-private.h | 3 ++- - 2 files changed, 9 insertions(+), 7 deletions(-) - -commit b7b65b5315836297f86c54121ea45e469f514312 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 16:07:25 2010 +0000 - - stroke: Convert rectilinear paths to boxes. - - A quick and efficient method for extracting the set of boxes that - represent the path when stroked. - - src/cairo-path-stroke.c | 170 ++++++++++++++++++++++++++++++++++++++---------- - src/cairoint.h | 7 ++ - 2 files changed, 142 insertions(+), 35 deletions(-) - -commit fe6a7f4c9e69c86588eca4925a9d65f3086f98bf -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 16:02:07 2010 +0000 - - fill: Convert rectilinear paths to boxes. - - A quick and efficient method for extracting the set of boxes that - represent the path when filled. - - src/cairo-path-fill.c | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++- - src/cairoint.h | 5 ++++ - 2 files changed, 80 insertions(+), 1 deletion(-) - -commit 6b77567b6ef28710c7707ab82c7fa95c810152d1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 15:54:45 2010 +0000 - - path: Compute coarse bounds upon construction. - - Frequently we only need the coarse path bounds, so avoid walking over - the list of points once more as we can cheaply track the extents during - construction. - - src/cairo-debug.c | 6 ++ - src/cairo-gstate.c | 21 ++++-- - src/cairo-path-bounds.c | 159 ++++++++++++++++++++--------------------- - src/cairo-path-fixed-private.h | 4 +- - src/cairo-path-fixed.c | 83 +++++++++++++++++++-- - src/cairo.c | 2 + - src/cairoint.h | 9 ++- - 7 files changed, 184 insertions(+), 100 deletions(-) - -commit 6bfcf3ea55964fee1c9b73818c3bb7cdacbc4f82 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 15:37:25 2010 +0000 - - matrix: Do not need to iteratively refine conversion for unity matrices. - - If the scale factors on the matrix are unity, then the conversion from a - cairo_matrix_t to a pixman_matrix_t is exact (within numerical - restrictions). - - src/cairo-matrix.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 13c56800ca6c32a6d8251edec5d3976399b70ea4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 16:33:34 2010 +0000 - - gstate: Reduce operators - - Some operators may be equivalent to simpler operations, so make the - transformation in the gstate, before calling down into the surface - backends. - - src/cairo-gstate.c | 86 +++++++++++++++++++++++++++++++++++++++++++++--------- - 1 file changed, 72 insertions(+), 14 deletions(-) - -commit 4d52be39bf36a3557f4e7c61dba764b1c6542c8f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 16:09:11 2010 +0000 - - gstate: Skip ops with a clear mask. - - As pointed out by Benjamin Otte, these are expensive no-ops that we can - trivially detect, just so long as we remember the semantics of extend - modes. - - src/cairo-gstate.c | 6 ++++++ - src/cairo-pattern.c | 23 +++++++++++++++++++++++ - src/cairoint.h | 3 +++ - 3 files changed, 32 insertions(+) - -commit c2ef45226d6801acb15854de55a5f5bc728ed65d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 14:33:53 2010 +0000 - - gstate: Check for an invalid matrix before cairo_transform() - - Similar to the other checks that will generate an invalid matrix prior - to performing the operation. - - src/cairo-gstate.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 22316a0c17cd3b49ec625814f4e737b3fdc6ca63 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 14:33:16 2010 +0000 - - gstate: White space. - - A couple of minor coding style violations. - - src/cairo-gstate.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -commit 29bedde904824098f73b978d73d36b3b5420ac32 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 16:19:31 2010 +0000 - - pattern: Add convenience patterns for stock colours - - By preallocating in our data segment a couple of solid patterns for the - stock colours, it becomes more convenient when using those in surface - operations, such as when clearing. - - src/cairo-clip.c | 29 +++++++++++------------------ - src/cairo-gl-glyphs.c | 10 +++------- - src/cairo-gstate.c | 9 +++------ - src/cairo-pattern.c | 24 ++++++++++++++++++++++++ - src/cairo-scaled-font.c | 9 ++------- - src/cairo-surface-fallback.c | 14 +++----------- - src/cairo-vg-surface.c | 5 ++--- - src/cairo-win32-printing-surface.c | 8 ++------ - src/cairo-xcb-surface.c | 7 +------ - src/cairo-xlib-surface.c | 6 +----- - src/cairoint.h | 3 ++- - 11 files changed, 54 insertions(+), 70 deletions(-) - -commit 9eb98e1dc5af7eac896bf469e491063777e678be -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 14:14:51 2010 +0000 - - scaled-font: Use tight glyph bounds when determining overlap. - - An issue that we currently have is that we have a pessimistic - false-positive rate when determining whether glyphs within a string - overlap. By using the tight bounds, the overlap detection is arguably - less accurate presuming pixel-aligned opacity masks but we make the - trade-off for performance. - - src/cairo-scaled-font.c | 55 ++++++++++++++++++++++--------------------------- - 1 file changed, 25 insertions(+), 30 deletions(-) - -commit 005b0c4eb2a1fe2c4de31ebe2a3244bea8bd2625 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 19:47:58 2010 +0000 - - test: Add explicit device management to xlib-surface-source - - Mostly pedagogical example. - - test/xlib-surface-source.c | 5 +++++ - 1 file changed, 5 insertions(+) - -commit ca02b51ef6d058b6fb492258177f0396a5819e26 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 21:57:58 2010 +0000 - - test: Add an xcb surface source test - - test/Makefile.am | 6 ++ - test/Makefile.sources | 3 + - test/xcb-surface-source.argb32.ref.png | Bin 0 -> 377 bytes - test/xcb-surface-source.c | 145 +++++++++++++++++++++++++++++++++ - test/xcb-surface-source.rgb24.ref.png | Bin 0 -> 301 bytes - 5 files changed, 154 insertions(+) - -commit f0678fb70ceec5db1b7c3f0eb1c5603039daf307 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 22 19:02:39 2010 +0000 - - test: Tweak aligned of text-rotate - - Reset the rotation for every quadrant so that the starting rectangles - are pixel-aligned. - - test/text-rotate.c | 68 ++++++++++++++++++++++++++++++++++------------- - test/text-rotate.ref.png | Bin 16738 -> 16722 bytes - 2 files changed, 49 insertions(+), 19 deletions(-) - -commit 2edd2adafc471f4aa9c417d4bc76cc38466a9ed0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jan 19 22:45:59 2010 +0000 - - test: Exercise scan converters with large rounded rectangles. - - Having added a specialised scan converter on the premise that it should - be better at handling rounded rectangles, ensure that they are indeed - rendered correctly. - - test/Makefile.am | 2 + - test/Makefile.sources | 2 + - test/rounded-rectangle-fill.c | 65 +++++++++++++++++++++++++++++ - test/rounded-rectangle-fill.xlib.ref.png | Bin 0 -> 890 bytes - test/rounded-rectangle-stroke.c | 64 ++++++++++++++++++++++++++++ - test/rounded-rectangle-stroke.xlib.ref.png | Bin 0 -> 860 bytes - 6 files changed, 133 insertions(+) - -commit 5187501e997d6b8c0d135542d21accde9e311281 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jan 19 22:41:45 2010 +0000 - - test: Add --track-origins=yes to valgrind flags. - - Enable origin tracking by default for make check-valgrind. This is - slower and consumes more memory than regular valgrind, but the - additional information provided about the source of the uninitialised - data is often invaluable. - - test/Makefile.am | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 3a5d71c431dfb251308c3e4e02d2ea4acec90a91 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jan 19 19:18:54 2010 +0000 - - pattern: An EXTEND_NONE surface is not opaque if we sample outside - - Fixes test/clear-source as proposed by Benjamin Otte. - - src/cairo-gstate.c | 2 +- - src/cairo-pattern.c | 33 ++++++- - src/cairo-pdf-surface.c | 219 ++++++++++++++++++++++++++++------------------- - src/cairo-ps-surface.c | 186 ++++++++++++++++++++++++---------------- - src/cairo-xlib-surface.c | 8 +- - src/cairoint.h | 3 +- - 6 files changed, 284 insertions(+), 167 deletions(-) - -commit b07de014eba1a482747ac235670011972a82d19d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jan 19 18:44:34 2010 +0000 - - spans: Add a rectangular scan converter - - This is a highly specialised scan converter for the relatively common - case of where the input geometry is known to be a series of rectangles. - Generally not device aligned (or else we would most likely have chosen - an even higher performance path that does not require a coverage mask), - this optimised converter can simply compute the analytical coverage by - utilising a special case Bentley-Ottmann intersection finder. - - src/Makefile.sources | 1 + - src/cairo-rectangular-scan-converter.c | 723 +++++++++++++++++++++++++++++++++ - src/cairo-spans-private.h | 25 ++ - 3 files changed, 749 insertions(+) - -commit e49855497e7214c21c85b03d7ab94e9e008f821b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jan 19 18:36:20 2010 +0000 - - spans: Add a Bentley-Ottmann variant on the Tor scan converter - - This variant uses the Bentley-Ottmann algorithm to only maintain the - active edge list upon edge events and so can efficiently skip areas - where no change occurs. This means that it can be much quicker than the - Tor algorithm (which is still used to compute the coverages from the - active edges) for geometries consisting of long straight lines with few - intersections. However due to the computational overhead of the - Bentley-Ottmann event processing, for dense curvy paths, simply updating - the active edge list in sync with computing the coverages is a win. Due - to advantageous adaptive step size, the scan converter can be run at a - much higher subsampling with little extra overhead compared with Tor, - currently it uses a 256x256 subsampling grid to avoid any impedance - mismatch with path precision. - - Given the current status of implementations, this scan converter [botor] - is likely to be advantage where detecting large regions of unchanged - span data will result in improved performance, for instance the drm - backends which convert the scan data into rectangles. - - src/Makefile.sources | 1 + - src/cairo-botor-scan-converter.c | 2199 ++++++++++++++++++++++++++++++++++++++ - src/cairo-compiler-private.h | 11 + - src/cairo-fixed-private.h | 22 +- - src/cairo-freelist-private.h | 16 + - src/cairo-freelist.c | 38 +- - src/cairo-spans-private.h | 23 + - src/cairoint.h | 9 - - 8 files changed, 2299 insertions(+), 20 deletions(-) - -commit 424dcf296378a107286a164aaf135a34e40c42ac -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jan 19 19:11:31 2010 +0000 - - boxes: Enable generation of boxes from rectilinear polygons. - - Extend the special case rectilinear tessellator to also produce boxes. - - src/cairo-bentley-ottmann-rectilinear.c | 122 +++++++++++++++++++++++++++----- - src/cairoint.h | 5 ++ - 2 files changed, 108 insertions(+), 19 deletions(-) - -commit b83f1c347dfd77139e9485745d43da946b086b74 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jan 19 19:09:10 2010 +0000 - - boxes: Enable tessellation - - Extend the special case rectangular tessellator to handle generation of - cairo_boxes_t. - - src/cairo-bentley-ottmann-rectangular.c | 778 +++++++++++++++++--------------- - src/cairoint.h | 5 + - 2 files changed, 416 insertions(+), 367 deletions(-) - -commit 43beaa5873b9ad10620bfe7ed5f9212a3c44effd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jan 19 18:11:26 2010 +0000 - - boxes: Efficient storage for an array of cairo_box_t. - - Currently we use cairo_traps_t to also pass around arrays of boxes. This - is woefully inefficient in terms of storage, but also means that we - repeatedly have to verify that the traps are a set of boxes. By - explicitly passing around a cairo_boxes_t we avoid the semantic loss. - - This will be heavily used in pending commits. - - src/Makefile.sources | 2 + - src/cairo-boxes-private.h | 80 ++++++++++++++ - src/cairo-boxes.c | 269 ++++++++++++++++++++++++++++++++++++++++++++++ - src/cairo-types-private.h | 1 + - 4 files changed, 352 insertions(+) - -commit ae25f1c360b79f0b7b1bb73e9ebc47eb794d8007 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jan 19 17:11:55 2010 +0000 - - Alter definition of cairo_composite_rectangles_t - - This is a more useful definition that is able to individually track the - rectangles that compose the composite operation. This will be used by - the specialist compositors as a means to perform the common extents - determination for an operation. - - src/Makefile.sources | 2 + - src/cairo-composite-rectangles-private.h | 105 ++++++++++++++++ - src/cairo-composite-rectangles.c | 197 +++++++++++++++++++++++++++++++ - src/cairo-gl-surface.c | 19 +-- - src/cairo-image-surface.c | 31 ++--- - src/cairo-misc.c | 41 +++++++ - src/cairo-rectangle.c | 21 ---- - src/cairo-spans.c | 29 +++-- - src/cairo-surface-fallback.c | 13 +- - src/cairo-types-private.h | 24 +--- - src/cairo-win32-surface.c | 21 ++-- - src/cairoint.h | 14 +-- - 12 files changed, 417 insertions(+), 100 deletions(-) - -commit 9cd9137843f8f1c3d32bedb6510259ab3638a2c5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jan 19 17:11:11 2010 +0000 - - spans: Pass multiple rows of identical spans to the renders. - - It is quite common amongst our geometry to have rows of repeated span - data, for example a rounded rectangle will have repeating data between - the top and bottom rounded corners. By passing the repeat length to the - renderers, they may be able to use that information more efficiently, - and the scan converters can avoid recomputing the same span data. - - src/cairo-gl-surface.c | 141 +++++++++-------- - src/cairo-image-surface.c | 79 ++++------ - src/cairo-spans-private.h | 24 ++- - src/cairo-spans.c | 6 +- - src/cairo-tor-scan-converter.c | 343 +++++++++++++++++++++++++---------------- - src/cairo-win32-surface.c | 13 +- - src/cairoint.h | 4 +- - 7 files changed, 349 insertions(+), 261 deletions(-) - -commit a04873c0770df5eaed078493df5216ca28322de7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 18 23:40:00 2010 +0000 - - qt: Trivial compile fix for boilerplate. - - boilerplate/cairo-boilerplate-qt.cpp | 2 ++ - 1 file changed, 2 insertions(+) - -commit 0f09349dd85b15d5de14248e2f3f17a91fbcbb5e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 18 23:37:36 2010 +0000 - - gl: Exercise Window destinations with boilerplate - - Add a gl-window boilerplate target to exercise using GL to render to a - visible Drawable -- for instance, a window has a different coordinate - system to a framebuffer... - - boilerplate/cairo-boilerplate-gl.c | 99 ++++++++++++++++++++++++++++++++++++++ - 1 file changed, 99 insertions(+) - -commit ccea7fd7c1a2d7144e892c19615488e368529bc0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 18 23:37:11 2010 +0000 - - gl: Port to cairo_device_t - - boilerplate/cairo-boilerplate-gl.c | 28 +++-- - src/cairo-eagle-context.c | 25 +++-- - src/cairo-gl-glyphs.c | 46 +++++--- - src/cairo-gl-private.h | 44 +++++--- - src/cairo-gl-surface.c | 222 ++++++++++++++++--------------------- - src/cairo-gl.h | 22 ++-- - src/cairo-glx-context.c | 25 +++-- - 7 files changed, 211 insertions(+), 201 deletions(-) - -commit 3acd520c9dec89e72d7ff61adb1ae30bab12e256 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 18 23:11:19 2010 +0000 - - xml: Port to cairo_device_t - - src/cairo-xml-surface.c | 210 ++++++++++++++++++++++++------------------------ - src/cairo-xml.h | 13 +-- - util/trace-to-xml.c | 7 +- - 3 files changed, 115 insertions(+), 115 deletions(-) - -commit 49ab86772a44d7a044464d875324bd0af96af728 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 18 22:43:24 2010 +0000 - - script: Port cairo_script_context_t to cairo_device_t - - Use the unifying cairo_device_t for cairo_script_context_t and replace. - - boilerplate/cairo-boilerplate-script.c | 6 +- - boilerplate/cairo-boilerplate.c | 6 +- - src/cairo-script-surface.c | 491 ++++++++++++++++++--------------- - src/cairo-script.h | 35 +-- - test/cairo-test-trace.c | 7 +- - util/cairo-fdr/fdr.c | 10 +- - util/cairo-script/csi-trace.c | 11 +- - util/cairo-sphinx/fdr.c | 4 +- - util/cairo-sphinx/sphinx.c | 17 +- - util/cairo-trace/trace.c | 8 +- - 10 files changed, 312 insertions(+), 283 deletions(-) - -commit f617d5fc982f749d0981c81c1de1be8dc3632717 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 18 21:53:42 2010 +0000 - - Add cairo_device_t - - The device is a generic method for accessing the underlying interface - with the native graphics subsystem, typically the X connection or - perhaps the GL context. By exposing a cairo_device_t on a surface and - its various methods we enable finer control over interoperability with - external interactions of the device by applications. The use case in - mind is, for example, a multi-threaded gstreamer which needs to serialise - its own direct access to the device along with Cairo's across many - threads. - - Secondly, the cairo_device_t is a unifying API for the mismash of - backend specific methods for controlling creation of surfaces with - explicit devices and a convenient hook for debugging and introspection. - - The principal components of the API are the memory management of: - - cairo_device_reference(), - cairo_device_finish() and - cairo_device_destroy(); - - along with a pair of routines for serialising interaction: - - cairo_device_acquire() and - cairo_device_release() - - and a method to flush any outstanding accesses: - - cairo_device_flush(). - - The device for a particular surface may be retrieved using: - - cairo_surface_get_device(). - - The device returned is owned by the surface. - - src/Makefile.sources | 2 + - src/cairo-analysis-surface.c | 9 +- - src/cairo-beos-surface.cpp | 5 +- - src/cairo-device-private.h | 85 ++++++++++++ - src/cairo-device.c | 265 ++++++++++++++++++++++++++++++++++++ - src/cairo-directfb-surface.c | 2 + - src/cairo-gl-surface.c | 1 + - src/cairo-glitz-surface.c | 4 +- - src/cairo-image-surface.c | 4 +- - src/cairo-misc.c | 4 + - src/cairo-os2-surface.c | 1 + - src/cairo-paginated-surface.c | 4 +- - src/cairo-pdf-surface.c | 4 +- - src/cairo-ps-surface.c | 4 +- - src/cairo-qt-surface.cpp | 7 +- - src/cairo-quartz-image-surface.c | 1 + - src/cairo-quartz-surface.c | 6 +- - src/cairo-recording-surface.c | 9 +- - src/cairo-script-surface.c | 1 + - src/cairo-skia-surface.cpp | 1 + - src/cairo-spans.c | 4 + - src/cairo-surface-private.h | 1 + - src/cairo-surface-snapshot.c | 1 + - src/cairo-surface-subsurface.c | 1 + - src/cairo-surface.c | 29 ++++ - src/cairo-svg-surface.c | 4 +- - src/cairo-tee-surface.c | 1 + - src/cairo-type3-glyph-surface.c | 4 +- - src/cairo-types-private.h | 1 + - src/cairo-vg-surface.c | 1 + - src/cairo-win32-printing-surface.c | 1 + - src/cairo-win32-surface.c | 8 +- - src/cairo-xcb-surface.c | 4 +- - src/cairo-xlib-surface.c | 4 +- - src/cairo-xml-surface.c | 1 + - src/cairo.h | 117 ++++++++++++++++ - src/cairoint.h | 1 + - src/drm/cairo-drm-gallium-surface.c | 2 + - src/drm/cairo-drm-intel-surface.c | 5 +- - src/drm/cairo-drm-radeon-surface.c | 5 +- - src/test-fallback-surface.c | 4 +- - src/test-fallback16-surface.c | 1 + - src/test-null-surface.c | 5 +- - src/test-paginated-surface.c | 4 +- - src/test-wrapping-surface.c | 1 + - util/cairo-trace/trace.c | 2 + - 46 files changed, 607 insertions(+), 24 deletions(-) - -commit 82f8aa548d70acf51b319000d7a5c176fc73da64 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 18 22:02:09 2010 +0000 - - Recursive mutex. - - Implement a recursive mutex which will be needed for cairo_device_t. - In particular only pthreads by default is a non-recursive mutex (to my - knowledge) - both win32 critical sections and mutexes on Quartz are - recursive. - - src/cairo-mutex-impl-private.h | 28 ++++++++++++++++++++++++++++ - src/cairo-mutex-type-private.h | 9 ++++++++- - 2 files changed, 36 insertions(+), 1 deletion(-) - -commit d2f251f84b326c5f8825c9a631ea729f21891580 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 18 22:12:23 2010 +0000 - - configure: Globally define AC_GNU_SOURCE - - We were using _GNU_SOURCE throughout the codebase, so simply define it - once during configure. This is the easiest method to enable recursive - mutexes using pthreads, as required in a pending patch. - - boilerplate/cairo-boilerplate-pdf.c | 4 ++++ - boilerplate/cairo-boilerplate-ps.c | 4 ++++ - configure.ac | 3 +++ - src/cairo-gstate.c | 2 -- - src/cairo-matrix.c | 2 -- - src/cairo-scaled-font.c | 2 -- - 6 files changed, 11 insertions(+), 6 deletions(-) - -commit 934d0d0d6585eb7638c7db597c40dd821092c034 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 18 19:05:34 2010 +0000 - - Real zero-copy cow snapshotting - - The first iteration of COW snapshotting always made an initial copy when - the snapshot was requested (and reused that copy until the surface was - modified). However, in a few circumstances we can avoid even that copy - so long as the surface is still alive and unmodified between the - snapshotting and its use. In order to do so, we need a new proxy surface - that can automatically perform the copy if the target should disappear - prior to use. - - src/Makefile.sources | 2 + - src/cairo-paginated-surface.c | 7 +- - src/cairo-surface-snapshot-private.h | 48 ++++++++ - src/cairo-surface-snapshot.c | 225 +++++++++++++++++++++++++++++++++++ - src/cairo-surface.c | 101 ++-------------- - src/cairo-types-private.h | 2 + - 6 files changed, 291 insertions(+), 94 deletions(-) - -commit 6b3e19aa434d159db7878b2a7fb28a026b2d1756 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 18 19:12:25 2010 +0000 - - Remove content matching from snapshot lookup. - - This was never used, so remove the complexity from the interface. - - src/cairo-recording-surface.c | 3 +-- - src/cairo-surface.c | 23 +++++++---------------- - src/cairo-vg-surface.c | 3 +-- - src/cairoint.h | 3 +-- - src/drm/cairo-drm-intel-surface.c | 3 +-- - src/drm/cairo-drm-radeon-surface.c | 3 +-- - 6 files changed, 12 insertions(+), 26 deletions(-) - -commit dc8290814c0e98b38828953bac6dd0893c31c9ad -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 18 18:06:51 2010 +0000 - - Add subsurface. - - A subsurface is a region of another surface that may be used either to - restrict the writable area of a context or the readable extents of a - source. Whilst writing, access to the exterior of the subsurface is - prevented via clipping and when used as a source reads from the exterior - of the subsurface are governed via the extend mechanism of the pattern. - - src/Makefile.sources | 2 + - src/cairo-surface-subsurface-private.h | 48 ++++ - src/cairo-surface-subsurface.c | 464 +++++++++++++++++++++++++++++++++ - src/cairo-types-private.h | 4 +- - src/cairo.h | 7 + - test/Makefile.am | 3 + - test/Makefile.sources | 3 + - test/subsurface-repeat.c | 72 +++++ - test/subsurface-repeat.ref.png | Bin 0 -> 197 bytes - test/subsurface-similar-repeat.c | 83 ++++++ - test/subsurface-similar-repeat.ref.png | Bin 0 -> 197 bytes - test/subsurface.c | 80 ++++++ - test/subsurface.ref.png | Bin 0 -> 1597 bytes - 13 files changed, 765 insertions(+), 1 deletion(-) - -commit b8eacbfae1c155f412d84120411103cb610e383b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 18 18:09:11 2010 +0000 - - Add surface-offset internal API. - - This is a simplified version of the wrapping surface where the target - surface is just a subsurface onto which we wish to draw the current - operation. In particular this is useful for the subsurface API as well - as fallbacks. - - src/Makefile.sources | 2 + - src/cairo-surface-offset-private.h | 95 ++++++++++ - src/cairo-surface-offset.c | 354 +++++++++++++++++++++++++++++++++++++ - 3 files changed, 451 insertions(+) - -commit f2c32d01836379766bc287edf77381123767daeb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jan 19 18:06:54 2010 +0000 - - Unify the two freed object pools - - Discard some duplicate code and shared a single freed object pointer - pool between the pattern and clip. - - src/Makefile.sources | 2 + - src/cairo-clip.c | 88 +----------------------------- - src/cairo-freed-pool-private.h | 121 +++++++++++++++++++++++++++++++++++++++++ - src/cairo-freed-pool.c | 91 +++++++++++++++++++++++++++++++ - src/cairo-pattern.c | 115 ++++++--------------------------------- - 5 files changed, 234 insertions(+), 183 deletions(-) - -commit cfd204824fada7d2b4bcf4994c4200ae9b5a8b26 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 18 18:20:16 2010 +0000 - - Constify stroke style and matrices. - - As a simple step to ensure that we do not inadvertently modify (or at least - generate compiler warns if we try) user data, mark the incoming style - and matrices as constant. - - src/cairo-analysis-surface.c | 12 ++++---- - src/cairo-paginated-surface.c | 6 ++-- - src/cairo-path-bounds.c | 6 ++-- - src/cairo-path-stroke.c | 60 ++++++++++++++++++------------------ - src/cairo-pdf-operators-private.h | 24 +++++++-------- - src/cairo-pdf-operators.c | 38 +++++++++++------------ - src/cairo-pdf-surface-private.h | 11 +++---- - src/cairo-pdf-surface.c | 40 ++++++++++++------------ - src/cairo-ps-surface.c | 6 ++-- - src/cairo-qt-surface.cpp | 14 ++++----- - src/cairo-quartz-surface.c | 6 ++-- - src/cairo-recording-surface.c | 6 ++-- - src/cairo-script-surface.c | 6 ++-- - src/cairo-stroke-style.c | 2 +- - src/cairo-surface-fallback-private.h | 6 ++-- - src/cairo-surface-fallback.c | 6 ++-- - src/cairo-surface-wrapper-private.h | 12 ++++---- - src/cairo-surface-wrapper.c | 12 ++++---- - src/cairo-surface.c | 14 ++++----- - src/cairo-svg-surface.c | 40 ++++++++++++------------ - src/cairo-tee-surface.c | 6 ++-- - src/cairo-type3-glyph-surface.c | 6 ++-- - src/cairo-win32-printing-surface.c | 6 ++-- - src/cairo-xml-surface.c | 6 ++-- - src/cairoint.h | 44 +++++++++++++------------- - src/drm/cairo-drm-private.h | 6 ++-- - src/drm/cairo-drm-surface.c | 6 ++-- - src/test-null-surface.c | 6 ++-- - src/test-paginated-surface.c | 6 ++-- - src/test-wrapping-surface.c | 6 ++-- - 30 files changed, 212 insertions(+), 213 deletions(-) - -commit 3e17c559b04e2df208f28125746d7e0acfb4b476 -Author: Benjamin Otte <otte@gnome.org> -Date: Wed Dec 9 19:46:28 2009 +0100 - - [test] Add pthread-same-source test - - Multiple threads render using the same source surface, but with - different extend and filter. - - test/Makefile.am | 1 + - test/Makefile.sources | 1 + - test/pthread-same-source.c | 160 +++++++++++++++++++++++++++++++++++++++ - test/pthread-same-source.ref.png | Bin 0 -> 1000 bytes - 4 files changed, 162 insertions(+) - -commit 30a12f802f4ff46f13dc36e60936cd857585a9ea -Author: Benjamin Otte <otte@gnome.org> -Date: Wed Nov 25 18:55:05 2009 +0100 - - [test] Add a simple multithreading test - - test/Makefile.am | 1 + - test/Makefile.sources | 5 +- - test/pthread-similar.c | 106 +++++++++++++++++++++++++++++++++++++++++++ - test/pthread-similar.ref.png | Bin 0 -> 170 bytes - 4 files changed, 111 insertions(+), 1 deletion(-) - -commit 038829eb84e53532a6e3c75225933ad85da50cfc -Author: Benjamin Otte <otte@gnome.org> -Date: Sun Dec 6 17:47:50 2009 +0100 - - [test] Add new test checking is_clear is handled properly - - This test does various operations with a clear source surface with - various content types. - The idea is to make sure optimizations done when surface->is_clear == - TRUE only happen in the proper cases. - - test/Makefile.sources | 1 + - test/clear-source.c | 163 ++++++++++++++++++++++++++++++++++++++++++++++ - test/clear-source.ref.png | Bin 0 -> 881 bytes - 3 files changed, 164 insertions(+) - -commit bf7fb4e0e09d05f42425cc7969c64992d4dc9ff9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 18 17:18:08 2010 +0000 - - script: Handle cache allocation failure more gracefully - - Instead of bailing out if we cannot store the glyph cache on the font, - simply do not store the glyph cache on the font... - - util/cairo-script/cairo-script-operators.c | 74 +++++++++++++----------------- - 1 file changed, 33 insertions(+), 41 deletions(-) - -commit 2b312806f138da6f88d03bb3c0c3852b342eb220 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 18 17:14:24 2010 +0000 - - script: Free the correct pattern after failure. - - The error path attempted to free the resolved pattern which it had just - discovered was NULL and not the locally allocated pattern... - - util/cairo-script/cairo-script-operators.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit bc2d0ad114f8fc0b0579851154fe9d39c0aa0fc9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Nov 27 17:30:51 2009 +0000 - - script: Permit surface operations on the context - - By implicitly reference the target of the context instead, i.e. - this reduces the use of: - - /target get (example.png) write-to-png pop - - as a common idiom where the context is kept on the stack and the surface - forgotten. - - util/cairo-script/cairo-script-operators.c | 14 +++++++++++--- - 1 file changed, 11 insertions(+), 3 deletions(-) - -commit 411c09eed7ebff7335948a7f96d2b29d82ed817a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Nov 1 08:40:41 2009 +0000 - - perf: Enable a surface cache for perf-trace - - Real applications that control their Drawable externally to Cairo are - 'disadvantaged' by cairo-perf-trace when it creates a similar surface - for each new instance of the same Drawable. The difficulty in - maintaining one perf surface for every application surface is that the - traces do not track lifetimes for the application surfaces, so we would - just accumulate stale surfaces. The surface cache takes a different - approach and returns the same surface for each active Drawable, and - maintains a hold-over of the MRU 16 surfaces. This achieves 60-80% hit - rate with firefox, which is probably as good as can be expected. - Obviously for double-buffered applications we only every draw to freshly - created surfaces (and Gtk+ bypasses cairo to do the final copy -- the - ideal application would just use a push-group for double buffering, in - which case we would capture and replay the entire expose event). - - To enable use of the surface cache whilst replaying use -c: - - ./cairo-perf-trace -c firefox-talos-gfx - - perf/Makefile.am | 3 +- - perf/cairo-perf-trace.c | 141 ++++++++++++++++++++++++++- - test/any2ppm.c | 4 +- - util/cairo-script/cairo-script-interpreter.h | 3 +- - util/cairo-script/cairo-script-operators.c | 13 ++- - util/cairo-sphinx/sphinx.c | 3 +- - 6 files changed, 157 insertions(+), 10 deletions(-) - -commit c50c8b90c0033686b465e6766fba4772c1d698c6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 18 16:58:40 2010 +0000 - - Move _cairo_error() to a standalone header - - A pending commit will want to include some utility code from cairo and - so we need to extricate the error handling from the PLT symbol hiding. - - src/Makefile.sources | 1 + - src/cairo-analysis-surface.c | 1 + - src/cairo-array.c | 1 + - src/cairo-base64-stream.c | 1 + - src/cairo-base85-stream.c | 1 + - src/cairo-bentley-ottmann-rectangular.c | 1 + - src/cairo-bentley-ottmann-rectilinear.c | 1 + - src/cairo-bentley-ottmann.c | 1 + - src/cairo-beos-surface.cpp | 2 ++ - src/cairo-cache.c | 1 + - src/cairo-cff-subset.c | 1 + - src/cairo-clip.c | 1 + - src/cairo-deflate-stream.c | 1 + - src/cairo-directfb-surface.c | 1 + - src/cairo-eagle-context.c | 1 + - src/cairo-error-private.h | 60 +++++++++++++++++++++++++++++++++ - src/cairo-font-face-twin.c | 1 + - src/cairo-font-face.c | 1 + - src/cairo-font-options.c | 1 + - src/cairo-freelist.c | 1 + - src/cairo-ft-font.c | 1 + - src/cairo-gl-glyphs.c | 2 ++ - src/cairo-gl-shaders.c | 1 + - src/cairo-gl-surface.c | 1 + - src/cairo-glitz-surface.c | 2 ++ - src/cairo-glx-context.c | 2 ++ - src/cairo-gstate.c | 1 + - src/cairo-hash.c | 1 + - src/cairo-hull.c | 1 + - src/cairo-image-surface.c | 1 + - src/cairo-lzw.c | 1 + - src/cairo-matrix.c | 1 + - src/cairo-misc.c | 1 + - src/cairo-os2-surface.c | 1 + - src/cairo-output-stream.c | 1 + - src/cairo-paginated-surface.c | 1 + - src/cairo-path-fill.c | 1 + - src/cairo-path-fixed.c | 1 + - src/cairo-path-stroke.c | 1 + - src/cairo-path.c | 1 + - src/cairo-pattern.c | 1 + - src/cairo-pdf-operators.c | 1 + - src/cairo-pdf-surface.c | 1 + - src/cairo-pen.c | 1 + - src/cairo-png.c | 2 ++ - src/cairo-polygon.c | 1 + - src/cairo-ps-surface.c | 1 + - src/cairo-qt-surface.cpp | 6 ++-- - src/cairo-quartz-font.c | 2 ++ - src/cairo-quartz-image-surface.c | 2 ++ - src/cairo-quartz-surface.c | 2 ++ - src/cairo-recording-surface.c | 3 +- - src/cairo-region.c | 1 + - src/cairo-rtree.c | 1 + - src/cairo-scaled-font-subsets.c | 1 + - src/cairo-scaled-font.c | 1 + - src/cairo-script-surface.c | 1 + - src/cairo-stroke-style.c | 1 + - src/cairo-surface-fallback.c | 1 + - src/cairo-surface-wrapper.c | 1 + - src/cairo-surface.c | 1 + - src/cairo-svg-surface.c | 1 + - src/cairo-tee-surface.c | 1 + - src/cairo-tor-scan-converter.c | 1 + - src/cairo-toy-font-face.c | 1 + - src/cairo-traps.c | 1 + - src/cairo-truetype-subset.c | 1 + - src/cairo-type1-fallback.c | 1 + - src/cairo-type1-subset.c | 1 + - src/cairo-type3-glyph-surface.c | 1 + - src/cairo-unicode.c | 1 + - src/cairo-user-font.c | 1 + - src/cairo-vg-surface.c | 3 +- - src/cairo-win32-font.c | 1 + - src/cairo-win32-printing-surface.c | 1 + - src/cairo-win32-surface.c | 1 + - src/cairo-xcb-surface.c | 3 +- - src/cairo-xlib-display.c | 1 + - src/cairo-xlib-screen.c | 1 + - src/cairo-xlib-surface.c | 1 + - src/cairo-xlib-visual.c | 2 ++ - src/cairo-xml-surface.c | 1 + - src/cairo.c | 1 + - src/cairoint.h | 12 ------- - src/drm/cairo-drm-bo.c | 1 + - src/drm/cairo-drm-intel-surface.c | 1 + - src/drm/cairo-drm-intel.c | 1 + - src/drm/cairo-drm-radeon-surface.c | 1 + - src/drm/cairo-drm-radeon.c | 1 + - src/drm/cairo-drm-surface.c | 1 + - src/drm/cairo-drm.c | 1 + - src/test-fallback-surface.c | 1 + - src/test-fallback16-surface.c | 1 + - src/test-null-surface.c | 2 ++ - src/test-paginated-surface.c | 1 + - src/test-wrapping-surface.c | 1 + - 96 files changed, 170 insertions(+), 17 deletions(-) - -commit 558f9501700ba569f04f345f7c64d16b1870e37c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 18 22:47:34 2010 +0000 - - surface-wrapper: Avoid copying patterns and clips unless transformed. - - An older variant of the fixes for moving the device transformation out - of the surface layer, but languished in a side branch. The only benefit - of this patch is that it avoids the copy where possible. - - src/cairo-surface-wrapper.c | 134 +++++++++++++++++++++++++------------------- - 1 file changed, 75 insertions(+), 59 deletions(-) - -commit 8f694817227366f4a4c6bbbf46e6cdddb4a065df -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jan 19 17:12:47 2010 +0000 - - gitignore: refresh - - Add forgotten local targets to .gitignore - - .gitignore | 1 + - perf/.gitignore | 1 + - util/.gitignore | 2 ++ - util/cairo-script/.gitignore | 1 + - 4 files changed, 5 insertions(+) - -commit 5914e995723682e0b1f685d9ff5ea5abe05ae024 -Author: Eric Anholt <eric@anholt.net> -Date: Fri Jan 22 09:21:36 2010 -0800 - - [gl] Cache a temporary glyph compositing mask for reuse later. - - Cuts firefox-talos-gfx time from 56 seconds to 43 seconds. - - src/cairo-gl-glyphs.c | 29 ++++++++++++++++++++++------- - src/cairo-gl-private.h | 4 ++++ - src/cairo-gl-surface.c | 4 +++- - 3 files changed, 29 insertions(+), 8 deletions(-) - -commit 1bf0f64ee7783742fa777a496567e4da48e300dd -Author: Eric Anholt <eric@anholt.net> -Date: Thu Jan 21 14:08:11 2010 -0800 - - [gl] Composite component-alpha glyphs directly instead of through a mask. - - Cuts gnome-terminal-vim time from 58 seconds to 20. - - src/cairo-gl-glyphs.c | 190 +++++++++++++++++++++++++++++++------------------ - src/cairo-gl-private.h | 4 ++ - src/cairo-gl-surface.c | 2 +- - 3 files changed, 127 insertions(+), 69 deletions(-) - -commit 12d521df8acc483b2daa844d4f05dc2fe2765ba6 -Author: Eric Anholt <eric@anholt.net> -Date: Thu Jan 21 13:19:17 2010 -0800 - - [gl] Use GL_RGBA textures even for CAIRO_CONTENT_COLOR. - - When the texture is GL_RGB, GL_CLAMP_TO_BORDER (EXTEND_NONE) fills the - border color alpha channel with 1, when the whole reason we were using - the border color was to get a color and alpha of 0. We're forced to - use GL_RGBA textures and do extra work to fill in the alpha channel of - them to 1 to get cairo's desired behavior. - - This fixes a failure in rotate-image-surface-paint and 4 other - testcases. No performance difference in firefox-talos-gfx. - - src/cairo-gl-surface.c | 131 ++++++++++++++++++++++++++++--------------------- - 1 file changed, 75 insertions(+), 56 deletions(-) - -commit e316cb9db57094359c28f6b740e73674e8dcc134 -Author: Eric Anholt <eric@anholt.net> -Date: Wed Jan 20 13:33:56 2010 -0800 - - [gl] Add support for component-alpha glyph rendering. - - This is done using a mask and the two-pass trick I did for EXA. Fixes - text-antialias-subpixel. - - src/cairo-gl-glyphs.c | 60 ++++++-- - src/cairo-gl-private.h | 3 +- - src/cairo-gl-surface.c | 384 +++++++++++++++++++++++++++++++++++++++++++++++-- - 3 files changed, 424 insertions(+), 23 deletions(-) - -commit ceeb7e7e703213a83ca43d80962519074a19364d -Author: Eric Anholt <eric@anholt.net> -Date: Tue Jan 19 13:43:16 2010 -0800 - - [gl] Use the UNSUPPORTED() macro in more places for fallback debugging. - - src/cairo-gl-surface.c | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -commit 5d9e2fd84b4f66e5b121d95805ce34e2f482d1b0 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Fri Jan 15 16:28:12 2010 +0100 - - [quartz] Leftbehind change from a39075c88f9b2e12e19348ea11c9b3f739818265 - - This commit completes the change in a39075c88f9b2e12e19348ea11c9b3f739818265. - It removes unused variables and corrects the extents rect computation. - - src/cairo-quartz-surface.c | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit 6950b233e41a0c926465728c37f9bc5512f2844b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 15 14:25:16 2010 +0000 - - qt: Make flush() robust. - - Hanno Meyer-Thurow reported in - - http://bugs.freedesktop.org/show_bug.cgi?id=26063 - [PATCH] various fixes to cairo-qt - - a few issues related to _cairo_qt_surface_flush() where firefox was - crashing after being built to use cairo-qt. - - This is an amalgam of those patches that hopefully address the issue. - - src/cairo-qt-surface.cpp | 33 ++++++++++++++++++++++++++------- - 1 file changed, 26 insertions(+), 7 deletions(-) - -commit 4e315d84723b27746a6a012ab7de429b2f2ef90b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 15 12:21:52 2010 +0000 - - pattern: Premultiply color-stop when converting to solid - - Fixes: test/linear-uniform - https://bugzilla.mozilla.org/show_bug.cgi?id=539165 - Bug 539165 - gradients with a single stop do not have their color - multiplied by the alpha. - - As reported by Jeff Muizelaar, we regressed in 2d790daa as the - color-stops are not premultiplied and so could not be treated as an - ordinary cairo_color_t. Instead we have to create a intermediate - cairo_color_t from the original values in order for the - premultiplication to be performed. - - src/cairo-gstate.c | 26 +++++++++++++++++++------- - src/cairo-pattern.c | 32 +++++++++++++++++++++----------- - 2 files changed, 40 insertions(+), 18 deletions(-) - -commit f40560a9bb5b12d2584ed297bf4114baf2aa9cc1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 15 12:17:30 2010 +0000 - - test: Add linear-uniform - - Jeff reported a regression found by Mozilla whereby a uniform gradient - was not being premultiplied on conversion to a solid pattern. - - https://bugzilla.mozilla.org/show_bug.cgi?id=539165 - [Bug 539165] gradients with a single stop do not have their color - multiplied by the alpha. - - test/Makefile.am | 1 + - test/Makefile.sources | 1 + - test/linear-uniform.c | 63 ++++++++++++++++++++++++++++++++++++++++++++ - test/linear-uniform.ref.png | Bin 0 -> 128 bytes - 4 files changed, 65 insertions(+) - -commit e22c02dbaeda6941083fc89b517508dc0c4386a0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 15 12:02:58 2010 +0000 - - test: Add degenerate-arcs - - A simple test to ensure that using degenerate-arcs such as when drawing - a rounded rectangle with radii=0 construct a proper path. - - test/Makefile.am | 1 + - test/Makefile.sources | 1 + - test/degenerate-arcs.c | 57 +++++++++++++++++++++++++++++++++++++++++++ - test/degenerate-arcs.ref.png | Bin 0 -> 120 bytes - 4 files changed, 59 insertions(+) - -commit a39075c88f9b2e12e19348ea11c9b3f739818265 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Wed Jan 6 18:53:54 2010 +0100 - - [quartz] Fix generic masking - - Masking with unbounded operators was broken because an incorrect - transformation was applied to inverted mask used for the fixup. - - src/cairo-quartz-surface.c | 59 +++++++++++++++++----------------------------- - 1 file changed, 21 insertions(+), 38 deletions(-) - -commit 27701ed8447d4c21b7bf9709a2fc21690b3cdc96 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Tue Jan 5 19:42:23 2010 +0100 - - [quartz] Approximate dense dashing patterns - - Quartz doesn't try to approximate dash pattern even if they are well - beyond suface sampling frequency. Approximating dash patterns when their - density is too high avoids looping indefinitely in these degenerate cases. - - src/cairo-quartz-surface.c | 32 +++++++++++++++++++++----------- - 1 file changed, 21 insertions(+), 11 deletions(-) - -commit ad7ab00c10fc1adcf2ef4574fdd00b25dfcdafdd -Author: Andrea Canciani <ranma42@gmail.com> -Date: Sat Jan 2 13:23:53 2010 +0100 - - [quartz] Improve A8 and A1 support - - Use A8 images as alpha-only masks intread of greyscale images. - Add support to A1 images (they were ignored before). - - src/cairo-quartz-surface.c | 59 +++++++++++++++++++++++++++------------------- - 1 file changed, 35 insertions(+), 24 deletions(-) - -commit f3b3a5c43f247f3e9019fa6c1fd2abb3b00dd9ea -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Fri Jan 15 07:47:30 2010 +1030 - - Fix bug in _cairo_ft_index_to_ucs4 - - Previously it would miss the first character causing the space glyph to - return 0x00A0 instead of 0x0020. - - src/cairo-ft-font.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e26e2c8cc41b4e60462eacbd87894dc82beca883 -Author: Eric Anholt <eric@anholt.net> -Date: Thu Jan 14 10:05:02 2010 -0800 - - [gl] Fix the color bits of CAIRO_CONTENT_ALPHA surface patterns to be 0. - - Fixes surface-pattern-operator and alpha-similar. - - src/cairo-gl-private.h | 1 - - src/cairo-gl-surface.c | 22 +++++++++++----------- - 2 files changed, 11 insertions(+), 12 deletions(-) - -commit 520945603cdbacb90b3067f24a37b6dbd2ea6808 -Author: Eric Anholt <eric@anholt.net> -Date: Thu Jan 14 10:00:37 2010 -0800 - - [gl] Remove the special-casing of acquiring a pattern surface. - - _cairo_pattern_acquire_surface() should do fine at it, and matches - what cairo-drm-i915 does. - - src/cairo-gl-surface.c | 127 ------------------------------------------------- - 1 file changed, 127 deletions(-) - -commit dbf9faf8232e7bf279377b5f3fc08ed210ca4e51 -Author: Eric Anholt <eric@anholt.net> -Date: Wed Jan 13 10:33:32 2010 -0800 - - [gl] Use GLSL for fill_rectangles when available. - - Ultimately, we want all of our paths to use shaders when they are - exposed -- it brings us closer to GL 3.0 compatibility and it should - reduce the work that GL drivers have to do per operation to compute - the required hardware state. - - src/Makefile.sources | 2 +- - src/cairo-gl-private.h | 6 +++ - src/cairo-gl-shaders.c | 117 +++++++++++++++++++++++++++++++++++++++++++++ - src/cairo-gl-surface.c | 125 +++++++++++++++++++++++++++++++++++++++++++++++-- - 4 files changed, 244 insertions(+), 6 deletions(-) - -commit 57341cf5ac4d16222da27856e3a1092a473597e8 -Author: Eric Anholt <eric@anholt.net> -Date: Wed Jan 13 14:18:06 2010 -0800 - - [gl] Use ADD instead of SOURCE when making a mask for overlapping glyphs. - - The whole point of making the mask was to avoid overwriting one glyph - with the data from another. Whoops. - - Fixes ft-show-glyphs-positioning, text-rotate, overlapping-glyphs, - clip-text. - - src/cairo-gl-glyphs.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6e0a63102e7e2d3fa3d5c993f2b94a2d6e40bdd8 -Author: Eric Anholt <eric@anholt.net> -Date: Wed Jan 13 14:06:23 2010 -0800 - - [gl] Clear the current_target cache when binding a framebuffer in creation. - - Failing to do so meant that we might not re-bind the framebuffer to - the correct one if we didn't follow up surface creation with drawing - to it. - - Fixes many testcases. Thanks to T. Zachary Laine for tracking down - that the current_target was the source of these issues. - - src/cairo-gl-surface.c | 1 + - 1 file changed, 1 insertion(+) - -commit ad0f4bee19b214b96fb07a45d1f059b362afee0f -Author: T. Zachary Laine <whatwasthataddress@gmail.com> -Date: Thu Jan 7 17:24:31 2010 -0600 - - [gl] Clear the is_clear flag on the temporary glyph mask we create. - - Normally is_clear is cleared by the caller of one of the 5 basic - entrypoints, but in this temporary surface usage nobody else can do it - for us. - - Fixes ft-show-glyphs-table, user-font-rescale, and select-font-face. - - src/cairo-gl-glyphs.c | 1 + - 1 file changed, 1 insertion(+) - -commit 384e50d858e9eec670f764c758fb3aa09b56caed -Author: T. Zachary Laine <whatwasthataddress@gmail.com> -Date: Wed Jan 13 15:06:24 2010 -0600 - - [gl] Removed repeated lines of source - - The two removed lines are redundant with code a few lines above them. - - src/cairo-gl-surface.c | 2 -- - 1 file changed, 2 deletions(-) - -commit 515ccb63a67c88ddb2bc5adfd018cae55bc93185 -Author: Eric Anholt <eric@anholt.net> -Date: Mon Jan 11 16:04:21 2010 -0800 - - [gl] Fix the glyph cache full flush to really try again. - - Previously, the initial error handling would dump through to software - fallback instead of retrying in the following code. - - src/cairo-gl-glyphs.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -commit 4aae4bfa8f28a470ab18575670563ad28374e445 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jan 12 17:10:04 2010 +0000 - - test: Fix typo in path-stroke-twice reference image - - Sigh. I committed the reference image with the name - path-stroke-twice-ref.png. - - ...{path-stroke-twice-ref.png => path-stroke-twice.ref.png} | Bin - 1 file changed, 0 insertions(+), 0 deletions(-) - -commit 74ea4c908067f5579b51d3dbaea387da8f343671 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jan 12 17:00:25 2010 +0000 - - path: Do not remove anti-parallel line segments in case we are stroking - - Bug 26010 - cairo_line_to optimizes away path segments - http://bugs.freedesktop.org/show_bug.cgi?id=26010 - - As exercised by path-stroke-twice, we incorrectly optimise away a line - segment if the path doubled back upon itself. This is very reminiscent - of the optimisation bug for replacing curve-to with line-to. - - src/cairo-path-fixed.c | 5 ++++- - src/cairo-slope-private.h | 7 +++++++ - 2 files changed, 11 insertions(+), 1 deletion(-) - -commit a5dd5a6069c0d7435260a954d8d98483f5fbcc1c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jan 12 16:32:09 2010 +0000 - - test: Add path-stroke-twice - - Exercises a bug found by alois@astro.ch, whereby we inadvertently remove - a line segment when the path doubles back upon itself. - - Bug 26010 - cairo_line_to optimizes away path segments - http://bugs.freedesktop.org/show_bug.cgi?id=26010 - - test/Makefile.am | 2 ++ - test/Makefile.sources | 1 + - test/path-stroke-twice-ref.png | Bin 0 -> 206 bytes - test/path-stroke-twice.c | 54 ++++++++++++++++++++++++++++++++++++++ - test/path-stroke-twice.ps.ref.png | Bin 0 -> 197 bytes - 5 files changed, 57 insertions(+) - -commit 4204605813d93e7e2f0d8761e90a6dd6b8089dcb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 8 11:58:15 2010 +0000 - - type1: Destroy the output stream. - - mpsuzuki spotted that the output stream for the subset was not being - destroyed on the error path - on closer inspection, it wasn't destroyed - along the normal path either and may never have been correctly - initialised to NULL on an earlier error. - - Reported-by: mpsuzuki@hiroshima-u.ac.jp - - src/cairo-type1-subset.c | 28 +++++++++++++++------------- - 1 file changed, 15 insertions(+), 13 deletions(-) - -commit 41a24d822ac094f0841ba0c92ca86448ad062def -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jan 7 11:58:01 2010 +0000 - - trace: Correctly encode octal values. - - How embarrassing. - - util/cairo-trace/trace.c | 21 ++++++++++++++------- - 1 file changed, 14 insertions(+), 7 deletions(-) - -commit 3ae9d04c6ddd311ffab91170fb9342e37c5530a8 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Fri Jan 1 20:13:33 2010 +0200 - - [stroker] Fix off-by-one memory allocation in _tessellate_fan(). - - The number of points in a triangle fan was miscomputed because - it was computing the number of line segments rather than points - in the fan. Now we include the final point of the fan correctly - in the count. - - This fixes https://bugs.webkit.org/show_bug.cgi?id=33071 as - reported by Benjamin Otte. A derived test case was not added - to the cairo test suite since the bug is difficult to trigger in - a reliable way which causes visible results (as opposed to - silent heap corruption.) - - The easiest way of triggering the bug is to stroke a line - using a large line width and round caps or joins. - - src/cairo-path-stroke.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a0ea0b63fdd38a73d6696da5cd4800d9a7289240 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 30 16:21:50 2009 +0000 - - arc: Just emit a line-to if radius is zero. - - In order to be consistent with the semantics of cairo_arc() using a - radius of 0 should simply degenerate into a line-to. - - Reported-by: Benjamin Berg - - src/cairo.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 21560b3ec6d015004867207c5bdd90061b8a5d80 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Fri Dec 11 10:29:12 2009 +0100 - - [trace] Fix compilation when FreeType is disabled - - cairo-trace needs some headers which are missing if freetype is - not enabled. Adding them explicitly fixes compilation. - - util/cairo-trace/trace.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 393d2d9c9199c368916fb5412abaac163f57ff86 -Author: Tim Janik <timj@gtk.org> -Date: Mon Dec 28 13:34:43 2009 +0100 - - Fixed documentation typo. - - src/cairo-image-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e2d75203c515f9740a8e0e9779391de0a1a54b07 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Nov 29 15:56:26 2009 +0200 - - [dirty] Add more missing surface dirtying notifications. - - Now that the image surface actually cares about - cairo_surface_mark_dirty() we're hitting cases where - we've forgotten to mark surfaces dirty. - - boilerplate/cairo-boilerplate.c | 1 + - src/cairo-xlib-surface.c | 1 + - util/cairo-script/cairo-script-operators.c | 2 ++ - 3 files changed, 4 insertions(+) - -commit b76565d2f4a2510aabada4cef968b9b597bbef09 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Nov 29 15:40:30 2009 +0200 - - [test] Don't use uninitialised data in surface-source.c - - The draw_pattern() function assumed the incoming surface - was clear, but it's not. Explicitly clear the surface first. - - test/surface-source.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit e09b754fdd43206e1668812be4ff11d25188148c -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Nov 29 01:11:29 2009 +0200 - - [gstate] Change dash offset normalisation to preserve offsets in range. - - We have a test case get-and-set which wants to see whatever it puts - into a cairo_t come back out again, but at the same time cairo-gstate - wants to range reduce the dash offset it's given to a sane range. - This patch changes the range reduction algorithm to always normalize - to a non-negative dash offset and not touch dash offsets which are - already in range. - - src/cairo-gstate.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -commit b394240941dffa263776a62cf42dc9b7e477f7a2 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Nov 29 02:48:23 2009 +0200 - - [test] Add missing mark_dirty() calls to test cases. - - A recent optimisation has added a flag to the image - surface which is used to track whether the surface - is clear or not. This makes it imperative that clients - call cairo_surface_mark_dirty() if they use cairo to - allocate their pixel buffers and then proceed to - initialize them without telling cairo about it. - - test/a1-mask.c | 1 + - test/large-source.c | 2 ++ - test/user-font-mask.c | 1 + - 3 files changed, 4 insertions(+) - -commit 9ddf14cfd5c3bf0cf507cfc82b192f5c46f66f9a -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Nov 29 10:40:18 2009 +1030 - - PDF: Don't specify colorspace in JPEG2000 image dictionary - - PDF uses the colorspace specified in the JPEG2000 image. - - src/cairo-pdf-surface.c | 1 - - 1 file changed, 1 deletion(-) - -commit d58560bda8361bd25f1b2207ecfab4b331601045 -Author: Benjamin Otte <otte@gnome.org> -Date: Fri Nov 27 21:04:55 2009 +0100 - - Satisfy make check - - src/cairo-stroke-style.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 16fffc5c05857896c03decdcebff7f1b5e582390 -Author: Benjamin Otte <otte@gnome.org> -Date: Fri Nov 27 18:13:45 2009 +0100 - - Apply device transform in surface wrapper - - src/cairo-surface-wrapper.c | 56 +++++++++++++++++++++++++++++++++++++-------- - 1 file changed, 46 insertions(+), 10 deletions(-) - -commit 02d7e123d640d62db46ef03d7faecbc7598444e1 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Fri Nov 27 23:11:56 2009 +1030 - - PDF: Remove extraneous \n from end of jpeg/jp2 data - - PDF requires a '\n' between the end of stream data and the "endstream" - that is not included in the stream length. Ensure this is always added - in _close_stream where it is not included in the stream length. - - Previously the jpeg/jp2 embedding functions were adding the '\n'. This - resulted in the '\n' becoming part of the stream data. - - src/cairo-pdf-surface.c | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -commit 4fc7bdaed651a5c19eb89dddd88808468e0e7eb8 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Thu Nov 26 21:14:20 2009 +1030 - - PS: Add some missing pdf-operators flushes - - src/cairo-ps-surface.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -commit 3f0c9afa9760a90065c67927c63770f9bb8abe99 -Author: Benjamin Otte <otte@gnome.org> -Date: Wed Nov 25 15:57:46 2009 +0100 - - [clip] Don't ignore outermost clip when it clips everything - - Fixes testcases clip-stroke-no-op and clip-fill-no-op added in - 0d8a04ef47426d87c7932f308a831e36b4ef7683 - - src/cairo-clip.c | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -commit 0d8a04ef47426d87c7932f308a831e36b4ef7683 -Author: Benjamin Otte <otte@gnome.org> -Date: Wed Nov 25 10:48:39 2009 +0000 - - test: Add cases to exercise clipping after no-ops - - Whilst investigating: - - Bug 31788: SVG <line> with y1 == y2 and both with fractional - part don't render - https://bugs.webkit.org/show_bug.cgi?id=31788 - - I found that it can be reduced to a no-op clip following a no-op stroke - or fill. These conditions are exercised here and are shown to be a bug - introduced in the 1.9.x development series. - - test/Makefile.am | 2 ++ - test/Makefile.sources | 2 ++ - test/clip-fill-no-op.c | 66 +++++++++++++++++++++++++++++++++++++++++ - test/clip-fill-no-op.ref.png | Bin 0 -> 152 bytes - test/clip-stroke-no-op.c | 66 +++++++++++++++++++++++++++++++++++++++++ - test/clip-stroke-no-op.ref.png | Bin 0 -> 152 bytes - 6 files changed, 136 insertions(+) - -commit 26e9f149063b9e1fdb54fc54fccbefdf04a68190 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Tue Nov 10 23:09:56 2009 +0100 - - Improve stroking of densely dashed styles - - Add some auxiliary functions to cairo-stroke-style to compute - properties of the dashed patterns (period, "on" coverage) and to - generate approximations when the dash pattern is sub-tolerance. - These functions are used in cairo-path-stroke to simplify dash - patterns stroked by cairo. - Fixes dash-infinite-loop - See http://bugs.freedesktop.org/show_bug.cgi?id=24702 - - src/cairo-path-stroke.c | 24 +++++++--- - src/cairo-stroke-style.c | 119 +++++++++++++++++++++++++++++++++++++++++++++++ - src/cairoint.h | 20 ++++++++ - 3 files changed, 157 insertions(+), 6 deletions(-) - -commit 9c24288c820069e80b0feb5e99ece4c89e92c0c6 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Wed Nov 11 00:09:08 2009 +0100 - - Revert "[test] Reorder dash-infinite-loop to not hit a runaway allocation." - - The infinite loop problem in _cairo_stroker_dash_start is solved by - commit ee02f3484899527380df94c00f40da87f41660ea, so hitting that - problem is not possible anymore and dash-infinite stroke always - hit the memory intensive loops. - This reverts commit 29432d3d32bc84ec4a2e1815a84e4ac2089138fe. - - test/dash-infinite-loop.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit cc2d2630669b084ec43e415d2806d94af00cf56c -Author: Andrea Canciani <ranma42@gmail.com> -Date: Tue Nov 10 22:58:59 2009 +0100 - - Improve stroke offset computation - - The stroke offset was forced to be positive because stroking code - wants to be able to decrement it until it finds the first dash to be - drawn. This can lead to long (almost infinite) loops if the offset is - positive but huge compared to the total length of the dash pattern. - Computing the offset this way guarantees that it's always the smallest - non-negative equivalent offset. - - src/cairo-gstate.c | 10 ++++------ - 1 file changed, 4 insertions(+), 6 deletions(-) - -commit e436a57c22f2c2a87404cac27e2d5e3c404f8bf9 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Tue Nov 10 13:29:28 2009 +0100 - - Fix odd length dashing with negative offset - - When computing an equivalent offset, a wrong total dash length was - used when the dash elements were odd and more than 1. - Doubling the total dash length whenever they are odd is needed to - correctly compute the new offset. - Fixes dash-offset. - - src/cairo-gstate.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit b1a76394655793fd698a1281b00a3d049f9e70f5 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Tue Nov 10 13:09:50 2009 +0100 - - Add dash-offset test - - Stroking a dash pattern of odd length with a negative offset is broken - (except when the pattern is composed by a single dash). - - test/Makefile.am | 1 + - test/Makefile.sources | 1 + - test/dash-offset.c | 95 +++++++++++++++++++++++++++++++++++++++++++++++ - test/dash-offset.ref.png | Bin 0 -> 794 bytes - 4 files changed, 97 insertions(+) - -commit 7d8788b4ba5ae335a7bb77bd09e7ebd20376f632 -Author: Robert O'Callahan <robert at ocallahan.org> -Date: Mon Nov 9 18:58:59 2009 +0100 - - [quartz] Cleanup fallback source - - Remove the transformation code as it's useless and confusing. - The clipbox was transformed in a wrong way if the CTM - was not the base one, otherwise the transformation did nothing. - As long as _cairo_quartz_setup_fallback_source is only called - with the base CTM, no transformation needs to be performed on the - clipbox. - Patch by Robert O'Callahan, see Mozilla bug #507939. - - src/cairo-quartz-surface.c | 9 --------- - 1 file changed, 9 deletions(-) - -commit 248090e52b02f2b2dc424c6073489df32632b9d1 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Mon Nov 9 21:38:00 2009 +0100 - - [quartz] Fix compositing operators - - Fallback on SATURATE (since quartz doesn't support it) and on - blending operators (to be implemented using CGContextSetBlendMode, - after its availability has been assessed). - Workaround the different behaviour of quartz operators on alpha - masks. - Fixes text in clip-operator and clip-text, blend modes in - extended-blend, extended-blend-alpha, saturate in operator, - operator-alpha and surface-pattern-operator. - Changes the output of operator-alpha-alpha, but to really fix it - pure-alpha surfaces needs to be treated as alpha masks and not as - greyscale images. - - src/cairo-quartz-surface.c | 182 ++++++++++++++++++++++++++++++++++----------- - 1 file changed, 140 insertions(+), 42 deletions(-) - -commit d44414191a685a23fd48bb32826366dfd113e1e5 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Mon Nov 9 14:21:40 2009 +0100 - - [quartz] Fix source-unbounded compositing of surface sources - - Surface sources were not respecting EXTEND_NONE when composited - because the part outside of the surface rectangle was not changed. - To correctly extend the source, it's sufficient to composite a - transparent rectangle with a hole in the region covered by the surface. - Fixes clip-unbounded and operator-source. Changes the output of - surface-pattern-operator. - - src/cairo-quartz-surface.c | 62 +++++++++++++++++++++------------------------- - 1 file changed, 28 insertions(+), 34 deletions(-) - -commit 7ef611a67a2a68d0a50e2191804a8ef137c78b33 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Mon Nov 9 20:17:35 2009 +0100 - - [quartz] Fix stroking with unbounded operator - - Stroking was not fixed up correctly when the stroke trasform - was not the identity and when the stroked path was dashed. - Instead of building a mask image and clearing through it - (forgetting to use the CTM and the dash setting), the code now - simply fills the outside of the stroke with tranparent black. - Additionally this commit moves the CTM composition so that the invocation - of _cairo_quartz_setup_source is always done with the base CTM. - This commit changes the result of clip-stroke-unbounded (the clip - mask is now correctly aligned to the stroked path). - - src/cairo-quartz-surface.c | 36 +++++++++++++----------------------- - 1 file changed, 13 insertions(+), 23 deletions(-) - -commit 577ac4fc6d810cae7ff6d460fdea1886cd97258c -Author: Andrea Canciani <ranma42@gmail.com> -Date: Mon Nov 9 14:24:13 2009 +0100 - - [quartz] Fix implied colour of alpha-only surface sources - - If a fill colour was set, an alpha-only surface source would - have used that colour instead of black. - - src/cairo-quartz-surface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 8b25e4a7fd839ac399d14460d2596037134c9801 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Mon Oct 19 18:38:57 2009 +0200 - - [quartz] Improve unbounded operators fixup - - Don't allocate a colorspace and use a 16-bytes aligned stride and - an alpha-only image for the rendering of the fixup mask. - - src/cairo-quartz-surface.c | 16 +++++++--------- - 1 file changed, 7 insertions(+), 9 deletions(-) - -commit ed8bdcd59863964a3eb9c49ca1a9bfd5f544350c -Author: Andrea Canciani <ranma42@gmail.com> -Date: Mon Oct 19 17:33:10 2009 +0200 - - [quartz] Improve A8 image handling - - A8 images were cosidered grayscale, whereas they should behave like - transparency mask. They are now alpha-only images and the stride is - 16-bytes aligned, as suggested. - Fixes alpha-similar and mask-transformed-similar. Makes the patterns - behave (as expected) as masks in surface-pattern-operator. - Affects the output of operator-alpha-alpha, but the result is not - correct because of wrong compositing. - - src/cairo-quartz-surface.c | 21 +++++++++------------ - 1 file changed, 9 insertions(+), 12 deletions(-) - -commit b32695c248b08289ce431d5f2fdab5205219c203 -Author: Robert O'Callahan <robert at ocallahan.org> -Date: Tue Oct 20 16:07:52 2009 +0200 - - [quartz] Fix gradient pattern painting - - CTM was changed and not restored when painting gradients. - Fixes the alignment of surface patterns in surface-pattern-operator. - Patch by Robert O'Callahan, see Mozilla bug #507939. - - src/cairo-quartz-surface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 1ce096657b2d38956e3229042f87aea42b0d0d8c -Author: Andrea Canciani <ranma42@gmail.com> -Date: Tue Nov 3 22:51:29 2009 +0100 - - Fix compilation on MacOS X - - Enable "ld_preload" (DYLD_INSERT_LIBRARIES + DYLD_FORCE_FLAT_NAMESPACE) - and build cairo-trace as a library instead of a module to make it - work also on MacOS X. - - configure.ac | 17 ++++++++++++++++- - util/cairo-trace/Makefile.am | 22 +++++++++++----------- - util/cairo-trace/cairo-trace.in | 6 +++++- - util/cairo-trace/trace.c | 2 +- - 4 files changed, 33 insertions(+), 14 deletions(-) - -commit c181f9e9aeac375eed07aaab58d177e3476d5117 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Sat Nov 7 19:29:30 2009 +0100 - - Add new operator-alpha-alpha test - - Compositing of alpha-only sources is not throughly tested and - as a consequence the misbehaviour of some backends is not - shown by the test suite. - - [ickle: Added XFAILs for pdf, ps, svg.] - - src/cairo-xcb-surface.c | 4 - - test/Makefile.am | 4 + - test/Makefile.sources | 1 + - test/operator-alpha-alpha.c | 166 ++++++++++++++++++++++++++++++++ - test/operator-alpha-alpha.pdf.xfail.png | Bin 0 -> 3749 bytes - test/operator-alpha-alpha.ps.xfail.png | Bin 0 -> 1338 bytes - test/operator-alpha-alpha.ref.png | Bin 0 -> 3441 bytes - test/operator-alpha-alpha.svg.xfail.png | Bin 0 -> 838 bytes - 8 files changed, 171 insertions(+), 4 deletions(-) - -commit cee3a6169bdf7f64c126c487b443dcb7a9f0586a -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Nov 8 21:52:06 2009 +1030 - - Type1-subset: Append "cleartomark" operator for binary fonts that don't include it - - Type 1 fonts embedded in PDF may omit the fixed-content portion of the - font that contains the "cleartomark" operator. - - src/cairo-type1-subset.c | 22 +++++++++++++++------- - 1 file changed, 15 insertions(+), 7 deletions(-) - -commit d962d6bae2681ea1f3c9533a83c8902d76e81c6a -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Nov 8 21:46:16 2009 +1030 - - PDF: Include Type 1 fixed-content portion in the embedded font - - Some fonts may contain additional PostScript code after the - cleartomark. - - src/cairo-pdf-surface.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit ac59c7580894fc5fd424f7f6f8c1532d15048566 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Nov 8 21:38:58 2009 +1030 - - Type1-subset: Check for binary eexec data - - Type 1 fonts embedded in PDF have the the encrypted portion in binary - but the existing check for binary only works for Type 1 fonts in PFB - format. - - Add an additional check based on the first 4 characters of eexec data. - The Type 1 specification gurantees that at least one of the first 4 - bytes of ciphertext is not an ASCII Hex character. - - src/cairo-type1-subset.c | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -commit a4a59be600cbe17f43afa20422f9d05f3a5d5b52 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sat Nov 7 14:36:49 2009 +1030 - - Type 1 subset: Don't add a new line when in binary mode - - At the end of the private dictionary a new line is appended so that - the trailing zeros will not exceed 80 columns. In hex mode (used for - PS embedding) extra white space is harmless as it is ignored when - parsing the ascii hex encoded data. But in binary mode (used for PDF - embedding) the new line must not be added as it corrupts the binary - data. - - https://bugs.launchpad.net/ubuntu/+source/cups/+bug/419143 - - src/cairo-type1-subset.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 9775f44436ffaf54931614d1867bcb7d147acd06 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Nov 5 10:13:34 2009 +0000 - - AUTHORS: Add Andrea Canciani - - AUTHORS | 1 + - 1 file changed, 1 insertion(+) - -commit d51915f873da8d40740a908c86f02e972e358be9 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Wed Nov 4 16:15:48 2009 +0100 - - xlib: Fix double free - - Both _cairo_xlib_call_close_display_hooks and _cairo_xlib_screen_destroy - invoke _cairo_xlib_screen_close_display, which frees all the cached - GCs, but (if HAS_ATOMIC_OPS is undefined) doesn't mark them as freed, - thus freeing them agin upon the second invocation. - - src/cairo-xlib-screen.c | 1 + - 1 file changed, 1 insertion(+) - -commit 7c1424a315b677ca119d11b7ced1d4c969dde568 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Sun Oct 18 08:59:33 2009 +0200 - - quartz: Fix compilation - - The function _cairo_image_surface_create_for_content does not exist. - The correct name of the function is instead _cairo_image_surface_create_with_content. - - src/cairo-quartz-image-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8a10c25c3f4036d17e24852e7dc970fa06fcb4af -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Nov 5 10:02:54 2009 +0000 - - test: Tweak Benjamin's xcomposite-projection - - Include Benjamin's advice on how to make the bug more visible inline - with the code. - - test/xcomposite-projection.c | 69 ++++++++++++++++++++++++++++++-------------- - 1 file changed, 48 insertions(+), 21 deletions(-) - -commit a9f37953c71e16f65122097462e51b035783a965 -Author: Benjamin Otte <otte@gnome.org> -Date: Wed Nov 4 13:59:58 2009 +0100 - - [xlib] Use correct number when checking if points are out of range - - src/cairo-xlib-surface.c | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -commit aa1f245ea313a2f1f0dda3994f5b48073b0c385d -Author: Benjamin Otte <otte@gnome.org> -Date: Wed Nov 4 13:56:15 2009 +0100 - - [test] Add "target=raster" to test - - The test isn't useful on vector backends and fails there due to - antialiasing issues. - - test/xcomposite-projection.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 52afe9c77f2f54372fefeca50321a27e8dda0f63 -Author: Benjamin Otte <otte@gnome.org> -Date: Wed Nov 4 11:15:57 2009 +0100 - - [xlib] Fix new Composite test - - When the reference point was tirggering _line_exceeds_16_16() and got - adjusted, the code failed to compute the srcX and srcY arguments for the - call to XRenderCompositeTrapezoids() correctly and caused the resulting - source image to be misaligned. - - src/cairo-fixed-private.h | 9 +++++++++ - src/cairo-xlib-surface.c | 22 +++++++++++----------- - 2 files changed, 20 insertions(+), 11 deletions(-) - -commit 84bbf179c375622d2c7b4e21b1b8ce189b5a18f2 -Author: Benjamin Otte <otte@gnome.org> -Date: Wed Nov 4 11:06:57 2009 +0100 - - [test] Add a test exposing bugs in XRenderComposite - - This test fills a slightly rotated surface slightly above the 0 line. - This hits some corner cases in the XRenderComposite path. - I discovered these issues while playing with video rendering onto the - canvas in HTML5 (both Webkit and Mozilla have this problem). - I used CAIRO_ANTIALIAS_NONE and a single-color source in the test to get - rid of aliasing issues in the output images. This makes some issues - slightly less visible, but still fails for all of them. If you want to - get a clearer view, disable it and use romedalen.png instead - it has - the same size as the red surface. - - (At least) 3 bugs are at work here: - - if _line_exceeds_16_16() triggers for the reference point, the - source surface will be misaligned. - - the intel driver seems to have an off-by-one bug on my i945 when - positioning the source surface, causing black seams at the top - (not visible in the test unless using romedalen.png) and on the left - of the image. - - My Xvfb fails completely in picture up/download in the xlib-fallback - path. - - test/Makefile.sources | 1 + - test/xcomposite-projection.c | 81 +++++++++++++++++++++++++++++++++++++ - test/xcomposite-projection.ref.png | Bin 0 -> 1112 bytes - 3 files changed, 82 insertions(+) - -commit 9b42b6156d9916e64e19f2ccb0b43f4d1df72e79 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Nov 2 12:50:45 2009 +0000 - - build: Add -pthread to real_pthread_CFLAGS - - build/configure.ac.system | 12 +++++++++++ - configure.ac | 51 ++++++++++++++++++++--------------------------- - 2 files changed, 34 insertions(+), 29 deletions(-) - -commit 3eecf2f60c85e0195360ff3c3a54d58ceaa4a6f1 -Author: Benjamin Otte <otte@gnome.org> -Date: Mon Nov 2 13:20:25 2009 +0100 - - sphinx: Add required pthread libs - - Try again, this time for real hopefully. - - configure.ac | 2 +- - util/cairo-sphinx/Makefile.am | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -commit 837eb577b4707e447fafb0dfca378ecf4ea3fda5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Nov 2 11:56:29 2009 +0000 - - sphinx: Add required pthread libs - - Switching to pthread-stubs broke the build for sphinx on unbroken - platforms [those that do not unnecessarily link against -lpthreads]. - - configure.ac | 7 +++++++ - util/cairo-sphinx/Makefile.am | 5 +++-- - 2 files changed, 10 insertions(+), 2 deletions(-) - -commit 942a15ba9e85fa3297ad6e65270928ad3c1c0a42 -Author: Benjamin Otte <otte@gnome.org> -Date: Mon Nov 2 12:51:14 2009 +0100 - - [test] Update upscale test to expose an Xlib failure - - By filling the background with grey, we can see that Xlib fills areas - with black that it shouldn't. Xlib therefore now fails this test. - - test/surface-pattern-scale-up.c | 4 +++- - test/surface-pattern-scale-up.pdf.ref.png | Bin 2793 -> 3482 bytes - test/surface-pattern-scale-up.ps2.ref.png | Bin 943 -> 913 bytes - test/surface-pattern-scale-up.ps3.ref.png | Bin 943 -> 913 bytes - test/surface-pattern-scale-up.ref.png | Bin 4061 -> 4017 bytes - 5 files changed, 3 insertions(+), 1 deletion(-) - -commit 19c411a5b8b84d31516d9c85642ad55ef5d29aba -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 30 07:58:45 2009 +0000 - - path: Skip any secondary degenerate line-to segments. - - Only the very first line-to following a move-to can have any - significance if degenerate whilst stroking, so skip all others. - In other words, - - 0 0 m 0 0 l stroke - - produces a capped degenerate path (i.e a dot), - - 0 0 m 0 0 l 0 0 l stroke - - produces the same degenerate stroke, and - - 0 0 m 0 0 l 1 0 l stroke - - produce a horizontal line. - - src/cairo-path-fixed.c | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - -commit 23bcf91748c4bb04c16e503b913da3bfc237463f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 30 07:49:56 2009 +0000 - - path: Misclassification of rectilinear after degenerate line-to - - Malte Nuhn reported hitting an assertion: - - cairo-path-stroke.c:1816: _cairo_rectilinear_stroker_line_to: Assertion `a->x == b->x || a->y == b->y' failed. - http://bugs.freedesktop.org/show_bug.cgi?id=24797 - - when stroking an apparently simple path: - - 0 8.626485 m - 0 8.626485 l - 5.208333 2.5 l - 10.416667 2.5 l - 15.625 2.5 l - 20.833333 2.5 l - 26.041667 2.5 l - 31.25 2.5 l - 36.458333 2.5 l - 41.666667 2.5 l - 46.875 2.5 l - 52.083333 2.5 l - 57.291667 2.5 l - 62.5 2.5 l - 67.708333 2.5 l - 72.916667 2.5 l - 78.125 2.5 l - 83.333333 2.5 l - 88.541667 2.5 l - 93.75 2.5 l - 98.958333 2.5 l - 104.166667 2.5 l - 109.375 2.5 l - 114.583333 2.5 l - 119.791667 2.5 l - 125 2.5 l - stroke - - which upon reduction becomes: - - 0.000000 8.625000 m 5.207031 2.500000 l 125.000000 2.500000 l stroke - - The bug is that after spotting a repeated line-to we move the previous - end-point without reclassifying the path, hence we miss the - non-rectilinear step. - - src/cairo-path-fixed.c | 101 +++++++++++++++++++++++++------------------------ - 1 file changed, 52 insertions(+), 49 deletions(-) - -commit 600dd833983bd85bf8aea487393ce156abb622bd -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Mon Sep 28 19:14:46 2009 +0930 - - Provide a builtin implementation of isspace() and isdigit() - - The glibc versions are slow in utf8 locales. - - src/cairo-output-stream.c | 7 +++---- - src/cairo-pdf-operators.c | 6 ++---- - src/cairo-type1-subset.c | 16 +++++++--------- - src/cairoint.h | 16 ++++++++++++++++ - 4 files changed, 28 insertions(+), 17 deletions(-) - -commit f571356d346565cae34f08d12c584c4bd40921d6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 27 20:27:09 2009 +0000 - - xlib: Set has_component_alpha = FALSE for gradient Pictures - - Whilst creating the xlib surface wrapper for gradient Pictures, the - corresponding attributes require ComponentAlpha disabled. - - src/cairo-xlib-surface.c | 1 + - 1 file changed, 1 insertion(+) - -commit 1a80cd2aa00b232a9a2192a85d6264e44ffcbd69 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 26 11:05:38 2009 +0000 - - scaled-font: Fix documentation examples with incorrect derefs - - Bug 24730 -- New: misleading use cases in cairo_scaled_font_text_to_glyphs's docs - http://bugs.freedesktop.org/show_bug.cgi?id=24730 - - An apparent copy'n'paste error from the code which has to deal with - indirect pointers crept into the documentation for the same functions. - - src/cairo-scaled-font.c | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -commit f648fcd2f91ea5c9ec318c2c0573ee82ac8c0ac9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 26 11:02:16 2009 +0000 - - gitignore: Add forgotten cairo-perf-print - - perf/.gitignore | 1 + - 1 file changed, 1 insertion(+) - -commit 6911ba2f76d4ccdf228c029e2719461a72848824 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 26 11:01:01 2009 +0000 - - perf: Fix comparisons - - The sort order was unstable resulting in incorrect ordering dependent - upon libc version. - - perf/cairo-perf-diff-files.c | 22 +++++++++++++++------- - 1 file changed, 15 insertions(+), 7 deletions(-) - -commit f955a4cba7784f97ef1dd978158e98176e03baf0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Oct 25 11:04:17 2009 +0000 - - wideint: Protect 64_32_div for non-HAVE_UINT16_T systems - - Peter Clifton spotted that we failed to properly wrap - _cairo_int64_32_div() for systems without a native 64 bit type. - - src/cairo-wideint-private.h | 5 +++++ - 1 file changed, 5 insertions(+) - -commit c701d7813b6d116c9db53f63f791928a407499c7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 23 14:42:48 2009 +0100 - - [pattern] Compute zero extents for empty patterns - - If the pattern is for example a repeating 0x0 image, then treat it as - having zero extents. - - This should workaround the bug presented here: - - https://bugs.freedesktop.org/show_bug.cgi?id=24693 - Attached PDF crashes evince with a Floating point exception - - src/cairo-pattern.c | 27 ++++++++++++++++++++++++--- - 1 file changed, 24 insertions(+), 3 deletions(-) - -commit 43a775f60da57206b194039cd5d8b6a735284c45 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Thu Oct 22 02:13:36 2009 +0300 - - [meta] Rename cairo_meta_surface_t to cairo_recording_surface_t. - - The new name is more descriptive than the rather opaque meta surface. - Discussed with vigour on the mailing list and #cairo: - - http://lists.cairographics.org/archives/cairo/2009-July/017571.html - - NEWS | 7 + - boilerplate/Makefile.win32.features | 14 +- - boilerplate/cairo-boilerplate-pdf.c | 6 +- - boilerplate/cairo-boilerplate-ps.c | 8 +- - boilerplate/cairo-boilerplate-svg.c | 8 +- - boilerplate/cairo-boilerplate-test-surfaces.c | 2 +- - boilerplate/cairo-boilerplate-win32-printing.c | 2 +- - boilerplate/cairo-boilerplate.c | 46 +-- - boilerplate/cairo-boilerplate.h | 2 +- - build/Makefile.win32.features-h | 2 +- - configure.ac | 2 +- - doc/public/tmpl/cairo-surface.sgml | 2 +- - perf/cairo-perf-micro.c | 4 +- - perf/cairo-perf-trace.c | 4 +- - src/Makefile.sources | 4 +- - src/Makefile.win32.features | 14 +- - src/cairo-analysis-surface.c | 48 +-- - src/cairo-paginated-private.h | 6 +- - src/cairo-paginated-surface-private.h | 4 +- - src/cairo-paginated-surface.c | 92 ++--- - src/cairo-pattern.c | 2 +- - src/cairo-pdf-surface.c | 56 +-- - src/cairo-ps-surface.c | 42 +- - ...private.h => cairo-recording-surface-private.h} | 54 +-- - ...ro-meta-surface.c => cairo-recording-surface.c} | 460 ++++++++++----------- - src/cairo-scaled-font.c | 28 +- - src/cairo-script-surface.c | 42 +- - src/cairo-script.h | 4 +- - src/cairo-surface.c | 58 +-- - src/cairo-svg-surface.c | 46 +-- - src/cairo-tee-surface.c | 6 +- - src/cairo-type3-glyph-surface.c | 14 +- - src/cairo-types-private.h | 2 +- - src/cairo-user-font.c | 42 +- - src/cairo-vg-surface.c | 10 +- - src/cairo-win32-printing-surface.c | 60 +-- - src/cairo-xml-surface.c | 32 +- - src/cairo-xml.h | 4 +- - src/cairo.c | 2 +- - src/cairo.h | 20 +- - src/cairoint.h | 12 +- - test/Makefile.am | 32 +- - test/Makefile.sources | 2 +- - test/cairo-test-trace.c | 48 +-- - test/cairo-test.c | 6 +- - ...rface-pattern.c => recording-surface-pattern.c} | 8 +- - ...=> recording-surface-pattern.gl.argb32.ref.png} | Bin - ...> recording-surface-pattern.pdf.argb32.ref.png} | Bin - ...=> recording-surface-pattern.pdf.rgb24.ref.png} | Bin - ...> recording-surface-pattern.ps2.argb32.ref.png} | Bin - ...=> recording-surface-pattern.ps2.rgb24.ref.png} | Bin - ...> recording-surface-pattern.ps3.argb32.ref.png} | Bin - ...=> recording-surface-pattern.ps3.rgb24.ref.png} | Bin - ...ng => recording-surface-pattern.quartz.ref.png} | Bin - ...recording-surface-pattern.quartz.rgb24.ref.png} | Bin - ...n.ref.png => recording-surface-pattern.ref.png} | Bin - ...png => recording-surface-pattern.rgb24.ref.png} | Bin - ...> recording-surface-pattern.svg.argb32.ref.png} | Bin - ...=> recording-surface-pattern.svg.rgb24.ref.png} | Bin - ...ng => scale-offset-similar.recording.xfail.png} | Bin - util/cairo-fdr/fdr.c | 8 +- - util/cairo-sphinx/sphinx.c | 38 +- - util/cairo-trace/trace.c | 10 +- - util/trace-to-xml.c | 4 +- - 64 files changed, 718 insertions(+), 711 deletions(-) - -commit df357f26ff72571acb840715efa4930054d4fdbe -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 16 16:48:54 2009 +0100 - - Support component-alpha. - - Within our code base we carried a few hacks to utilize the component - alpha capabilities of pixman, whilst not supporting the concept for our - own masks. Thus we were setting it upon the pixman_image_t that we - passed around through code that was blissfully unaware and indeed the - component-alpha property was forgotten (e.g. upgrading glyph masks). - - The real issue is that without explicit support that a pattern carries - subpixel masking information, that information is lost when using that - pattern with composite. Again we can look at the example of compositing - a sub-pixel glyph mask onto a remote xlib surface for further failure. - - src/cairo-ft-font.c | 5 --- - src/cairo-gl-glyphs.c | 23 ++++++++++--- - src/cairo-gl-surface.c | 18 ++++++---- - src/cairo-gstate.c | 17 ++++++---- - src/cairo-image-surface.c | 55 +++++++++++++++++++++++-------- - src/cairo-pattern.c | 22 ++++++++++--- - src/cairo-pdf-surface.c | 10 ++++-- - src/cairo-scaled-font.c | 14 ++++---- - src/cairo-svg-surface.c | 10 ++++-- - src/cairo-types-private.h | 71 ++++++++++++++++++++++++++++++++++++++++ - src/cairo-win32-font.c | 10 +++--- - src/cairo-xlib-surface-private.h | 1 + - src/cairo-xlib-surface.c | 43 +++++++++++++++++++----- - src/cairoint.h | 69 +------------------------------------- - 14 files changed, 234 insertions(+), 134 deletions(-) - -commit f0cd20e6cec445eb627c2708c2230c8bad1b64ce -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 21 10:36:27 2009 +0100 - - [gl] Do not clear internal surfaces. - - Create a scratch surface that will be initialised as required for - internal use. External surfaces, i.e. those returned to the user, are - cleared as normal. - - src/cairo-gl-surface.c | 46 +++++++++++++++++++++++++++++++--------------- - 1 file changed, 31 insertions(+), 15 deletions(-) - -commit 7c9ebd4a852ad709e57ed48b9610db00de79de7e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 21 09:04:30 2009 +0100 - - Make the surface->is_clear logic common - - A nasty surprise whilst profiling is that performing redundant clear - operations is extremely painful. We can mitigate this somewhat by - tracking the cleared state of surfaces and skipping repeated attempts to - clear a surface. - - src/cairo-gl-surface.c | 2 ++ - src/cairo-image-surface.c | 47 +++----------------------------- - src/cairo-surface-private.h | 6 +++-- - src/cairo-surface.c | 66 ++++++++++++++++++++++++++++++++++++++++----- - src/cairoint.h | 1 - - 5 files changed, 68 insertions(+), 54 deletions(-) - -commit 723055722f1d9a133fe9e78bb19165f2c7be720e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 21 10:40:51 2009 +0100 - - [doc] Add comments on when surfaces are cleared on construction. - - Or perhaps, more importantly, when the contents are left unmodified. - - src/cairo.h | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit cef8194178b01eaa2d10c1ba8291a9a4c5a6d302 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Tue Oct 20 14:37:28 2009 +0200 - - [test] Add surface-pattern-operator - - Test the results of compositing ALPHA and COLOR_ALPHA surfaces - with different operators. - - test/Makefile.am | 4 + - test/Makefile.sources | 1 + - test/surface-pattern-operator.argb32.ref.png | Bin 0 -> 5217 bytes - test/surface-pattern-operator.c | 117 ++++++++++++++++++++++ - test/surface-pattern-operator.rgb24.ref.png | Bin 0 -> 1942 bytes - test/surface-pattern-operator.xlib.argb32.ref.png | Bin 0 -> 5171 bytes - test/surface-pattern-operator.xlib.rgb24.ref.png | Bin 0 -> 1913 bytes - 7 files changed, 122 insertions(+) - -commit 710303ef15b9a1bf73b2b07b7aa51ec816d0aa07 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 19 10:42:51 2009 +0100 - - [test] Update rotate-image-surface-paint - - Update this test case so the background is not the default border colour - so that we spot when the backend pads out the transformed image surface. - - test/Makefile.am | 5 +- - test/rotate-image-surface-paint.c | 78 ++++++++++++++------------ - test/rotate-image-surface-paint.pdf.xfail.png | Bin 217 -> 358 bytes - test/rotate-image-surface-paint.ps.ref.png | Bin 0 -> 236 bytes - test/rotate-image-surface-paint.ps2.ref.png | Bin 212 -> 0 bytes - test/rotate-image-surface-paint.ps3.ref.png | Bin 212 -> 0 bytes - test/rotate-image-surface-paint.ref.png | Bin 191 -> 220 bytes - test/rotate-image-surface-paint.svg.xfail.png | Bin 0 -> 387 bytes - 8 files changed, 45 insertions(+), 38 deletions(-) - -commit ea39f0302a936711043aa6834ba0ab487736572b -Author: Luo Jinghua <sunmoon1997@gmail.com> -Date: Mon Oct 19 22:21:00 2009 +0800 - - atomic: correct libatomic_ops version of _cairo_atomic_int_cmpxchg - - AO_compare_and_swap_full() doesn't have the same semantic as - _cairo_atomic_int_cmpxchg(). The former returns a TRUE on success - FALSE otherwise while the later returns the atomic value. - - src/cairo-atomic-private.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a2254e56474fcdf5f25232812cdbef30a2b5ea60 -Author: Benjamin Otte <otte@gnome.org> -Date: Sun Oct 18 22:12:13 2009 +0200 - - [gstate] Apply target device offsets to patterns immediately - - Previously target device offsets were applied in cairo-surface.c which - could cause bugs when paths were taken as fallbacks, as for example - pointed out by ade55037ffa596b690c6a1051394589f76eb1f48 and quick-fixed - by 79190d89853958ee8252440d35a662fabf122afd. The quick-fix is now - unnecessary and was removed. - - src/cairo-gstate.c | 4 +++ - src/cairo-surface-fallback.c | 41 +++++------------------------- - src/cairo-surface.c | 59 -------------------------------------------- - 3 files changed, 10 insertions(+), 94 deletions(-) - -commit 4b720d56db72d314b3b7cedb05a53321b1d0adbe -Author: Benjamin Otte <otte@gnome.org> -Date: Sun Oct 18 21:32:10 2009 +0200 - - [clip] Remove non-existing functions from header - - src/cairo-clip-private.h | 9 --------- - 1 file changed, 9 deletions(-) - -commit cacf9ccedffa0c804a56c76c8ab17bf81831b621 -Author: Benjamin Otte <otte@gnome.org> -Date: Sun Oct 18 21:30:22 2009 +0200 - - [path] Fix compiler warnings - - src/cairo-path-fill.c | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -commit a70705b2ede8c0dc401f28405641e70f8a6d8d92 -Author: Benjamin Otte <otte@gnome.org> -Date: Sun Oct 18 21:30:06 2009 +0200 - - [xlib] Fix compiler warnings - - src/cairo-xlib-screen.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 96117c1212be2bf39a300a212dec85466f49f31e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Oct 17 10:36:10 2009 +0100 - - [test] Add radial-gradient-source - - ranma42 found a bug in compositing with a radial gradient using the - SOURCE operator with EXTEND_NONE, as exercised here. - - test/Makefile.am | 2 + - test/Makefile.sources | 1 + - test/radial-gradient-source.argb32.ref.png | Bin 0 -> 272428 bytes - test/radial-gradient-source.c | 115 +++++++++++++++++++++++++++++ - test/radial-gradient-source.rgb24.ref.png | Bin 0 -> 193364 bytes - 5 files changed, 118 insertions(+) - -commit 54df07a3da2bfbbdbe2dde92ca298ac0d7b8d255 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 16 10:11:41 2009 +0100 - - [surface] Don't AND in the desired content. - - Gah, that was a horrible mistake. It was a flawed hack to create Pixmaps - of the correct depth when cloning patterns for blitting to the xlib - backend. However, it had the nasty side-effect of discarding alpha when - targeting Window surfaces. The correct solution is to simply correct the - Pixmap of the desired depth and render a matching pattern onto the - surface - i.e. a reversal the current acquire -> clone. See the - forthcoming revised xcb backend on how I should have done it originally. - - src/cairo-directfb-surface.c | 2 -- - src/cairo-gl-surface.c | 4 +--- - src/cairo-glitz-surface.c | 3 --- - src/cairo-image-surface.c | 4 ---- - src/cairo-pattern.c | 15 +++------------ - src/cairo-quartz-surface.c | 1 - - src/cairo-surface-fallback-private.h | 1 - - src/cairo-surface-fallback.c | 3 +-- - src/cairo-surface.c | 14 ++++---------- - src/cairo-xlib-surface.c | 18 +----------------- - src/cairoint.h | 4 ---- - src/test-fallback-surface.c | 1 - - src/test-fallback16-surface.c | 2 -- - 13 files changed, 10 insertions(+), 62 deletions(-) - -commit 6a19a82efd3afe8fb8bd30e5362b247de8efe159 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 16 08:43:21 2009 +0100 - - [image] Clone the format for a similar surface with identical content - - Honour the incoming surface format when we are asked to create a similar - surface with identical content. The goal of - cairo_surface_create_similar() is to create an intermediate with similar - characteristics to the original that can be used in place of the - original and be quick to copy to the original. Matching the format for - the same content, ensures that the blits between the two need only be a - memcpy. - - src/cairo-image-surface.c | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -commit ed94d7caad6b851f6f80fa4d67441ad0387a8cd4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 16 08:38:24 2009 +0100 - - [fallback] Create intermediate surface with same content. - - The goal is to create a similar surface with an identical format to - maximise performance in the subsequent blit, e.g. the xlib backend could - make the similar surface with an identical depth and so use the core - protocol, or the image surface could indeed make an identical copy so - that pixman only has to do a fast memcpy. As there is no direct method - to specify such a clone, we ask the backend for a similar surface of - identical content, and trust that the semantics are clear enough for the - intent to obvious. - - src/cairo-surface-fallback.c | 12 +++++++----- - 1 file changed, 7 insertions(+), 5 deletions(-) - -commit c739940137c4ffc6cc727ea30afc0e92f7ab1e80 -Author: Carl Worth <cworth@cworth.org> -Date: Thu Oct 15 16:24:44 2009 -0700 - - Increment version to 1.9.5 - - Just after the 1.9.4 snapshot. - - cairo-version.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ad6334b9870c63e641b531d6e910c084b587d0f9 -Author: Carl Worth <cworth@cworth.org> -Date: Thu Oct 15 15:33:20 2009 -0700 - - Add mising images to REFERENCE_IMAGES list. - - Again, the kind of thing that only gets fixed at release time. - But at least we have a nice test for this. - - test/Makefile.am | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit cdad5e10768978b11088f82858a1e6e0037dc0a7 -Author: Carl Worth <cworth@cworth.org> -Date: Thu Oct 15 14:58:39 2009 -0700 - - Mark in-fill-empty-trapezoid as an XFAIL test. - - Otherwise, it was disrupting my attempts to release a snapshot, (since - it doesn't respect CAIRO_TEST_TARGET=" " and not run like most of the - tests do). - - test/Makefile.am | 5 +++++ - test/in-fill-empty-trapezoid.c | 4 ++-- - 2 files changed, 7 insertions(+), 2 deletions(-) - -commit b0f309abb33fb7e068199c941835af0217d8d1fc -Author: Carl Worth <cworth@cworth.org> -Date: Thu Oct 15 14:40:22 2009 -0700 - - Update version to 1.9.4 - - In preparation for the 1.9.4 snapshot. - - cairo-version.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3b113275f8b081685227fc073c03f64bb1a229d3 -Author: Carl Worth <cworth@cworth.org> -Date: Thu Oct 15 14:17:30 2009 -0700 - - Remove stale references to non-existant reference images. - - This is just one of those things that we don't get right until - someone tries running "make distcheck". - - test/Makefile.am | 7 ------- - 1 file changed, 7 deletions(-) - -commit 37078b262a268179f8b7a3dfdc263e1a403daa7d -Author: Carl Worth <cworth@cworth.org> -Date: Thu Oct 15 14:11:04 2009 -0700 - - NEWS: Update with correct data for 1.9.4 snapshot - - NEWS | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit d5609ca04ecc5f5e3d5cef8ca0e67fa98cd653de -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Thu Oct 15 17:47:33 2009 +0300 - - [build] Check compiler flags using AC_TRY_LINK instead of AC_TRY_COMPILE. - - Turns out we were passing suncc warning suppression flags to gcc - by mistake since -e<entry point> is actually a valid option for - gcc. This caused the -erroff=E_ENUM_TYPE_MISMATCH_ARG and other - -erroff options to be passed to the linker. In the normal case - of a GNU ld linker this doesn't matter since it ignores bogus - entry points, but the GNU gold linker replaces a bogus entry - point with NULL. This patch makes the CAIRO_CC_TRY_FLAG() - check stricter by testing that the flag doesn't interfere with - linking executables. - - build/aclocal.cairo.m4 | 19 ++++++++----------- - 1 file changed, 8 insertions(+), 11 deletions(-) - -commit 79190d89853958ee8252440d35a662fabf122afd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 15 14:05:37 2009 +0100 - - [surface] Avoid double application of device offset when calling fill() - - _cairo_surface_fallback_paint() attempts to avoid a clipped operation if - we can convert the paint into a fill of the clipmask. However by calling - _cairo_surface_fill() we incur a double application of device offset to - the source, triggering various failures. - - Company spotted this and managed to extract an excellent minimal test - case, test/clip-device-offset. This commit fixes that failure. - - src/cairo-surface-fallback.c | 41 +++++++++++++++++++++++++++++++++++------ - 1 file changed, 35 insertions(+), 6 deletions(-) - -commit ade55037ffa596b690c6a1051394589f76eb1f48 -Author: Benjamin Otte <otte@gnome.org> -Date: Thu Oct 15 13:19:11 2009 +0100 - - [test] Add clip-device-offset - - Exercises a bug demonstrated by WebKit with clipping + device offsets. - - test/Makefile.am | 2 + - test/Makefile.sources | 1 + - test/clip-device-offset.argb32.ref.png | Bin 0 -> 175 bytes - test/clip-device-offset.c | 79 +++++++++++++++++++++++++++++++++ - test/clip-device-offset.rgb24.ref.png | Bin 0 -> 168 bytes - 5 files changed, 82 insertions(+) - -commit dac73d260a9b9a848bb97436ad84081c51629511 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 15 12:18:47 2009 +0100 - - [build] Link against pthread-stubs - - Avoid pulling in the real pthread library if the application is single - threaded and not using pthreads, by linking against pthread-stubs - instead. - - build/configure.ac.features | 1 + - configure.ac | 8 +++++++- - src/cairo-mutex-impl-private.h | 2 +- - test/Makefile.am | 4 ++++ - test/cairo-test-trace.c | 10 +++++----- - test/cairo-test.c | 6 +++--- - util/cairo-trace/Makefile.am | 2 +- - 7 files changed, 22 insertions(+), 11 deletions(-) - -commit ef9286751d8346ecb803bfb5916581ee4dfc84db -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 13 16:10:39 2009 +0100 - - [atomic] Fallback to libatomic-ops-dev - - Use libatomic-ops-dev in preference to mutex-based atomics, if we do not - have the builtin atomic intrinsics available. - - build/aclocal.cairo.m4 | 10 ++++++++++ - src/cairo-atomic-private.h | 41 ++++++++++++++++++++++++++++++++++++----- - src/cairo-surface.c | 4 ++-- - src/cairo-xlib-private.h | 2 +- - src/cairo-xlib-screen.c | 16 +++++++++------- - src/cairo.c | 10 +++++----- - 6 files changed, 63 insertions(+), 20 deletions(-) - -commit d85eda97dd9116f51e0255b29652f4b52ba4f8e9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 13 14:14:55 2009 +0100 - - [pattern] Compute extents for gradients - - As noted in the comments we could also compute the pattern extents for - gradients with CAIRO_EXTEND_NONE under certain circumstances, i.e. - radial gradients and device axis aligned linear gradients. - - src/cairo-pattern.c | 184 +++++++++++++++++++++++++++++++++++----------------- - 1 file changed, 126 insertions(+), 58 deletions(-) - -commit 3a83bc8617dae3cc2bfea862f252338463871648 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Fri Oct 2 23:28:10 2009 +0930 - - PDF: Fix regression caused by 1ae5a419 - - Bug 24240 acroread prints error message when printing - - src/cairo-pdf-surface.c | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -commit 91a4f59f135dd42a28e14be55d1f08712c0c3097 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Fri Oct 2 23:11:54 2009 +0930 - - PDF: Fix regression caused by 1ae5a419 - - Bug 24240 first char missing when printing a PDF. - - src/cairo-scaled-font-subsets.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 39284159234d5318c90fa3a72178cd3d14fe0fbb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 30 20:11:12 2009 +0100 - - [boilerplate/xcb] Fix pixmap depth - - All the error checking, finally pointed out that I was creating a pixmap - with the wrong depth! Oops. - - boilerplate/cairo-boilerplate-xcb.c | 19 ++++++++++++++++--- - 1 file changed, 16 insertions(+), 3 deletions(-) - -commit e9bc2180d73acc7133d715ed4380ed20fb4364c0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 30 19:50:44 2009 +0100 - - [xcb] Deferred error checking. - - XCB avoids the dreaded abort on XError mechanism by forcing the client - to perform deferred error checking. So do so. This allows us to combine - the fire-and-forget rendering model with accurate error checking, - without killing the client or mixing our errors with theirs. - - XCB for the win! - - boilerplate/cairo-boilerplate-xcb.c | 17 + - src/cairo-freelist-private.h | 5 + - src/cairo-freelist.c | 33 ++ - src/cairo-xcb-surface.c | 712 +++++++++++++++++++++++------------- - 4 files changed, 521 insertions(+), 246 deletions(-) - -commit 8e4e0aa7ee5b4e0963409cda825705a09aae61e1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 30 17:50:09 2009 +0100 - - [boilerplate/xcb] Check for connection errors during test - - boilerplate/cairo-boilerplate-xcb.c | 51 +++++++++++++++++----- - test/cairo-test.c | 86 ++++++++++++++++++------------------- - 2 files changed, 83 insertions(+), 54 deletions(-) - -commit 395555b116a497c99b9e8365a202377c344c0c45 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 30 00:37:36 2009 +0100 - - [xlib] Suppress warning that should never have been. - - src/cairo-xlib-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 42ea356c0393288eea16eb5c591fa51009f85cb9 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Wed Sep 30 21:21:42 2009 +0930 - - Fix truetype subset crash - - Bug 24213 - - src/cairo-truetype-subset.c | 1 + - 1 file changed, 1 insertion(+) - -commit 6809e1216119e16c5be236418dc560d2e9bf854d -Author: Benjamin Otte <otte@gnome.org> -Date: Wed Sep 30 08:54:19 2009 +0200 - - [API] Make _cairo_meta_surface_replay() private again - - Replaying a meta surface can be achieved by using it as a source for a - cairo_paint() so exporting a separate API is unnecesary and confusing. - So after consulting Chris and Carl, we decided to remove the function - again. - - NEWS | 1 - - src/cairo-meta-surface-private.h | 5 ++++- - src/cairo-meta-surface.c | 39 +++++++++++++++++---------------------- - src/cairo-paginated-surface.c | 4 ++-- - src/cairo-script-surface.c | 6 +++--- - src/cairo-surface.c | 4 ++-- - src/cairo-svg-surface.c | 2 +- - src/cairo-type3-glyph-surface.c | 4 ++-- - src/cairo-user-font.c | 2 +- - src/cairo-vg-surface.c | 2 +- - src/cairo-xml-surface.c | 2 +- - src/cairo.h | 4 ---- - test/cairo-test-trace.c | 8 ++++++-- - util/cairo-trace/trace.c | 22 ---------------------- - 14 files changed, 40 insertions(+), 65 deletions(-) - -commit f8c49b4187a32b60408b23b2c2abce1778a8dc95 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Sep 29 03:02:40 2009 +0100 - - [xlib] XRequest bread crumbing - - Add bread crumbs in the form of NoOperations that can be parsed by - xtrace and very useful when debugging protocol/server errors. - - src/cairo-xlib-surface.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 57 insertions(+) - -commit 1c4f61ec5068a5935eb6d5dd1d6f2c0275b70529 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Sep 29 03:01:37 2009 +0100 - - [tessellator] Invalid conversion of list head to edge. - - When scanning for collinear right edges, we need to check that we do not - go beyond the end of the array. - - src/cairo-bentley-ottmann-rectangular.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit f23ae97e307f00a79cbf2e01f9ca20da29ea87c3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Sep 24 16:30:57 2009 +0100 - - [perf] Support parsing reports from stdin - - perf/cairo-perf-compare-backends.c | 22 ++++++++++++---------- - perf/cairo-perf-report.c | 29 +++++++++++++++++++---------- - 2 files changed, 31 insertions(+), 20 deletions(-) - -commit 50163a9fafa77dd1135ca5b6b03c7ec5619687c1 -Author: Benjamin Otte <otte@gnome.org> -Date: Tue Sep 29 00:23:12 2009 +0200 - - [xlib] Set proper bpp when computing format from masks - - Fixing omission in caa9eed4646e78a62ffb49d9c4f48c0b351c7a7f - - src/cairo-xlib-surface.c | 1 + - 1 file changed, 1 insertion(+) - -commit a160c8c4009e069db53bec79abd8926231de9a7f -Author: Benjamin Otte <otte@gnome.org> -Date: Mon Sep 28 23:52:14 2009 +0200 - - [xlib] Handle 24bpp formats during dithering - - src/cairo-xlib-surface.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit 9e89de813516c48baed67a4d18325971cd42cd4a -Author: Benjamin Otte <otte@gnome.org> -Date: Mon Sep 28 23:51:14 2009 +0200 - - [image] Fix masks computation for BGRx format - - Patch originally by Mark Kettenis - - src/cairo-image-surface.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 4b2c74e28531e403a9538f20a3ace7b114f9bbae -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Mon Sep 28 22:57:10 2009 +0930 - - PS: Use standard page size names for some common sizes - - Some PS viewers like gv use the label in the %PageMedia DSC comment as - the displayed page size. - - The page names and sizes were obtained from the list at: - - http://www.gnu.org/software/gv/manual/html_node/Paper-Keywords-and-paper-size-in-points.html - - src/cairo-ps-surface.c | 66 +++++++++++++++++++++++++++++++++++++++++++++++--- - 1 file changed, 62 insertions(+), 4 deletions(-) - -commit db5e3db0a9b218bebad6921a95d5244047050348 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Fri Sep 25 23:07:56 2009 +0930 - - PS: Add DocumentMedia/PageMedia DSC comments - - Provide default DocumentMedia and PageMedia DSC comments if the user - does not specify them using cairo_ps_surface_dsc_comment(). This is - required so that PostScript viewers such as gv use the correct page - size. - - src/cairo-ps-surface-private.h | 1 + - src/cairo-ps-surface.c | 88 ++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 89 insertions(+) - -commit caa9eed4646e78a62ffb49d9c4f48c0b351c7a7f -Author: Benjamin Otte <otte@gnome.org> -Date: Thu Sep 24 23:42:05 2009 +0200 - - [xlib] Handle case in draw_image() where pixman format is not RGB - - When an image cannot be expressed as masks, its data cannot be used in - an XImage. In that case, we use pixman to copy the image to the desired - format. - - src/cairo-xlib-surface.c | 50 ++++++++++++++++++++++++++++++++++++++++++------ - 1 file changed, 44 insertions(+), 6 deletions(-) - -commit 9f5fe6711566ee34afe210f271f1c5a061efa745 -Author: Benjamin Otte <otte@gnome.org> -Date: Thu Sep 24 22:57:39 2009 +0200 - - [image] Return cairo_bool_t from _pixman_format_to_masks - - Return FALSE when the pixman format does not support ARGB masks. In - particular, return FALSE for YUV formats. - - src/cairo-image-surface.c | 21 ++++++++++----------- - src/cairoint.h | 2 +- - 2 files changed, 11 insertions(+), 12 deletions(-) - -commit 120247ac55d92d9c9b24fad45c765d16e692f355 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Thu Sep 24 23:02:38 2009 +0930 - - Add EPS test - - This test demonstrates a regression in the EPS output since 1.8.8. - The ps-eps.ref.eps was created with 1.8.8. - - test/Makefile.am | 2 ++ - test/Makefile.sources | 1 + - test/ps-eps.c | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++ - test/ps-eps.ref.eps | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 172 insertions(+) - -commit c8a4f486712eba4ad0ccbf5ae3b18920137d5b1b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 23 18:08:34 2009 +0100 - - [image] Do not trust user supplied data to be clear - - Gah, more important than the whitespace was the reversal of is_clear... - - src/cairo-image-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 03bce099eae68643979e5742b2703b2b2e835cca -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 23 17:56:00 2009 +0100 - - [image] Tweak coding style - - Whitespace spam. - - src/cairo-image-surface.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -commit ab558fa843accc440686f7b8eda197277a6a4eb2 -Author: Benjamin Otte <otte@gnome.org> -Date: Wed Sep 23 17:40:17 2009 +0200 - - [image] Move setting of is_clear to _create_with_pixman_format() - - Simplifies code and ensures other users of that function don't run into - the same bug. - - src/cairo-image-surface.c | 18 ++++++------------ - 1 file changed, 6 insertions(+), 12 deletions(-) - -commit 07ee9cfbf07deba228e73d26b419a4e130de24e3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 23 15:33:23 2009 +0100 - - [image] Do assumption initial user data is cleared. - - Benjamin Otte pointed out the error of my ways that a clear on a - cairo_image_surface_create_for_data() was not working. This is because I - modified the image surface to skip clears when it knows the target data - has been cleared. This flag must be reset when the user interacts with - the surface, such as providing the initial surface data. - - src/cairo-image-surface.c | 26 ++++++++++++++++++++++---- - 1 file changed, 22 insertions(+), 4 deletions(-) - -commit 9948b5180aa4312b3184d9ba46e9ad6f0d8e700c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Sep 22 18:20:03 2009 +0100 - - [test] Revamp surface-source - - Include a translucent region in the source that exercises the xlib bug - that I'm trying to fix. Hmm. - - test/Makefile.am | 18 +++++++++----- - test/glitz-surface-source.argb32.ref.png | Bin 0 -> 377 bytes - test/glitz-surface-source.ref.png | Bin 268 -> 0 bytes - test/glitz-surface-source.rgb24.ref.png | Bin 0 -> 301 bytes - test/image-surface-source.argb32.ref.png | Bin 0 -> 377 bytes - test/image-surface-source.ref.png | Bin 332 -> 0 bytes - test/image-surface-source.rgb24.ref.png | Bin 0 -> 301 bytes - test/pdf-surface-source.argb32.ref.png | Bin 0 -> 377 bytes - test/pdf-surface-source.ref.png | Bin 268 -> 0 bytes - test/pdf-surface-source.rgb24.ref.png | Bin 0 -> 301 bytes - test/ps-surface-source.argb32.ref.png | Bin 0 -> 377 bytes - test/ps-surface-source.ref.png | Bin 268 -> 0 bytes - test/ps-surface-source.rgb24.ref.png | Bin 0 -> 301 bytes - test/quartz-surface-source.argb32.ref.png | Bin 0 -> 377 bytes - test/quartz-surface-source.ref.png | Bin 332 -> 0 bytes - test/quartz-surface-source.rgb24.ref.png | Bin 0 -> 301 bytes - test/surface-source.c | 37 ++++++++++++++++++++++++++-- - test/svg-surface-source.argb32.ref.png | Bin 0 -> 377 bytes - test/svg-surface-source.ref.png | Bin 268 -> 0 bytes - test/svg-surface-source.rgb24.ref.png | Bin 0 -> 301 bytes - test/test-fallback16-surface-source.ref.png | Bin 268 -> 0 bytes - test/xlib-surface-source.argb32.ref.png | Bin 0 -> 377 bytes - test/xlib-surface-source.ref.png | Bin 268 -> 0 bytes - test/xlib-surface-source.rgb24.ref.png | Bin 0 -> 301 bytes - 24 files changed, 47 insertions(+), 8 deletions(-) - -commit 941d3693fac831c4ce8c61cbac7c77b566b97611 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Sep 22 14:43:45 2009 +0100 - - [test] Exercise push-group-color. - - Hunting for a known bug in the xlib backend where it invalidly converts - an argb32 source to rgb24. However, this does not appear to be that bug, - but still a useful exercise nevertheless. - - test/Makefile.am | 2 + - test/Makefile.sources | 1 + - test/push-group-color.c | 141 +++++++++++++++++++++++++++++++++++++ - test/push-group-color.ref.png | Bin 0 -> 2902 bytes - test/push-group-color.xlib.ref.png | Bin 0 -> 2964 bytes - 5 files changed, 144 insertions(+) - -commit 30f45ce5f7d639dd5a0b60f544b3535e3bc2105d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Sep 22 15:15:47 2009 +0100 - - [gl] Handle an absent visual. - - If we cannot find the correct visual for the fbconfig, return an error - instead of crashing. The difference is subtle, granted. - - src/cairo-gl-surface.c | 8 ++++++++ - src/cairo-glx-context.c | 7 ++++--- - 2 files changed, 12 insertions(+), 3 deletions(-) - -commit e74cb7fa3eb9a9bcdeb298d969b70fd99ba50f3d -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Tue Sep 22 22:44:34 2009 +0930 - - win32-printing: correct the use of the CAIRO_HAS_WIN32_FONT #ifdef - - it was wrapping code required for non windows fonts. - - src/cairo-win32-printing-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3dd2cc8f6d84253f93affecd3022c9fe4a25d60f -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Tue Sep 22 22:40:53 2009 +0930 - - win32-printing: fix meta surface pattern regression caused by bed2701e - - src/cairo-win32-printing-surface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 7658635c654b694b516e5dd44a43611d94e91abd -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Tue Sep 22 22:36:20 2009 +0930 - - win32-printing: Allow GDI CTM with scale < 1 to be set - - To better support creating EMF files with the win32-printing surface, - allow a GDI CTM with scale < 1 to be used. - - http://lists.cairographics.org/archives/cairo/2009-September/018110.html - - src/cairo-win32-printing-surface.c | 90 ++++++++++++++++++++++++++++++-------- - src/cairo-win32-private.h | 2 + - 2 files changed, 73 insertions(+), 19 deletions(-) - -commit 19c091670302fd23a676e680308df49a4ba06687 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Tue Sep 22 22:35:33 2009 +0930 - - Make win32 fonts work in EMF files created by win32-printing - - src/cairo-win32-printing-surface.c | 37 +++++++++++++++++++++++++++++++++++++ - 1 file changed, 37 insertions(+) - -commit f01a54266d57763635f984982bec001a393d8aa2 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Tue Sep 22 22:34:56 2009 +0930 - - Fix compiler warnings in win32-surface - - src/cairo-win32-surface.c | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -commit 23663e2078e34659af43bd0e62bb1fb7a94cc71e -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Tue Sep 22 22:34:21 2009 +0930 - - Fix compiler error on cygwin - - src/cairo-win32-surface.c | 1 + - 1 file changed, 1 insertion(+) - -commit 7ecd413fab7c55918c6f3c4c272b5e8b5aa89aa7 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Tue Sep 22 22:33:14 2009 +0930 - - Add WINVER defines to cairo-mutex-impl-privaye.h - - The WINVER defines should always be defined before including windows.h - - src/cairo-mutex-impl-private.h | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit 605ec22ab5103e16052591517f86fe558133fb8e -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Tue Sep 22 22:17:27 2009 +0930 - - Use _WIN32 to check for win32 mutex - - Commit 535bcaa1 moved pthread after win32 to fix mingw build - problems. However this breaks cygwin builds. - - On cygwin HAVE_WINDOWS_H is defined but _WIN32 is not. This was - causing windows.h to be included which defines _WIN32. As a result the - win32 code in cairo-misc.c was being compiled but the win32 declaration - in cairint.h was not included. - - Fix this by using _WIN32 to enable the win32 mutex functions since - _WIN32 is defined by mingw, visual C++, and winegcc, but not - cygwin. On cygwin, posix functions are preferred as it is a unix - emulation environment. - - src/cairo-mutex-impl-private.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e00d0627494a4b15ed3b74a704695ca8b81a350e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Sep 21 13:50:00 2009 +0100 - - [xlib] Fix recent bug in unbounded trapezoids - - Gah! I had believed that the dst extents and the clip were correct to - enable unbounded fixup for the unbounded trapezoids. I was wrong, so I - need to requery the trapezoid extents. As this information is already - known, I should update the interface to pass along all relevant - information. - - src/cairo-surface.c | 23 ++++++++++------------- - src/cairo-xlib-surface.c | 32 +++++++++++++++++++------------- - 2 files changed, 29 insertions(+), 26 deletions(-) - -commit 378b1e73d9f27e9b54ea01b10e588b361848d0cd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Sep 21 03:10:53 2009 +0100 - - [fallback] Special case single composite rectangle - - Avoid the overhead of region-from-traps extraction for the very frequent - case of using a single (possibly clipped) rectangle with a pattern source. - - src/cairo-surface-fallback.c | 42 ++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 42 insertions(+) - -commit 35daf95db8aa4f0c254891f180aa4996dd464a60 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Sep 21 03:31:22 2009 +0100 - - [xlib] Trim a few redundant steps when uploading glyphs - - Cleanup the glyph coercion routines to avoid the temporary cairo_t (as - we can just cairo_surface_paint() directly). - - src/cairo-xlib-surface.c | 23 ++++++----------------- - 1 file changed, 6 insertions(+), 17 deletions(-) - -commit 9b7c5d95055c4ea5da46c53263050d6ec1331c08 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Sep 20 18:46:19 2009 +0100 - - [xlib] Cleanse creation of similar surfaces. - - Reduce two nearly identical routines to one. - - src/cairo-xlib-surface.c | 197 ++++++++++++++++++++++------------------------- - 1 file changed, 91 insertions(+), 106 deletions(-) - -commit 878cef62b525e9f13ab2a8ab562ba8b6628aaa1f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Sep 20 18:45:09 2009 +0100 - - [xlib] Interim CAIRO_DEBUG variable to specify xrender level - - Use CAIRO_DEBUG=xrender-version=x.y to override what the server reports. - Useful to test cairo's behaviour against older servers. - - src/cairo-xlib-display.c | 23 +++++++++++++++++++---- - 1 file changed, 19 insertions(+), 4 deletions(-) - -commit 531e8045980c966b8e51df933721f9b86c6b1539 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Fri Sep 18 12:17:46 2009 -0400 - - Add a description of how we compute the spline_error_squared. - - src/cairo-spline.c | 17 +++++++++++------ - 1 file changed, 11 insertions(+), 6 deletions(-) - -commit f4336352405ee7c184d45a73cdd6c1a0526843db -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Wed Sep 16 15:46:14 2009 -0400 - - Set LC_ALL=C instead of LANG=C - - doc/public/check-doc-coverage.sh | 4 +++- - doc/public/check-doc-syntax.sh | 3 ++- - src/check-def.sh | 3 ++- - src/check-doc-syntax.sh | 3 ++- - src/check-headers.sh | 3 ++- - src/check-plt.sh | 3 ++- - src/check-preprocessor-syntax.sh | 3 ++- - 7 files changed, 15 insertions(+), 7 deletions(-) - -commit 56c9b2de7a2b93b2e0c59cf98326d8c0d4d508ba -Author: Sebastian Dröge <sebastian.droege@collabora.co.uk> -Date: Tue Sep 15 17:26:59 2009 +0200 - - Use __uint128_t and __int128_t if available - - GCC uses a peculiar name for a real 128-bit integer on x86-64. - - Speedups, xlib on a gm45 - ======================== - poppler 41246.56 -> 35102.82: 1.18x speedup - swfdec-youtube 12623.01 -> 11936.79: 1.06x speedup - - Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> - - build/configure.ac.system | 2 +- - src/cairo-wideint-private.h | 1 + - src/cairo-wideint-type-private.h | 6 +++ - src/cairo-wideint.c | 91 +++++++++++++++++++--------------------- - 4 files changed, 50 insertions(+), 50 deletions(-) - -commit ccf84a8883ebb8d2ee8f55eb53da4dfc96887de0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Sep 15 14:22:57 2009 +0100 - - [perf] Reorganise cairo-perf - - In preparation to creating a new hub to control performance measuring - and reporting, move the current cairo-perf out of the way. - - perf/.gitignore | 3 ++ - perf/Makefile.am | 84 +++++++++++++++---------------- - perf/cairo-perf-diff | 2 +- - perf/{cairo-perf.c => cairo-perf-micro.c} | 0 - perf/{ => micro}/box-outline.c | 0 - perf/{ => micro}/cairo-perf-cover.c | 0 - perf/{ => micro}/composite-checker.c | 0 - perf/{ => micro}/dragon.c | 0 - perf/{ => micro}/fill.c | 0 - perf/{ => micro}/glyphs.c | 0 - perf/{ => micro}/intersections.c | 0 - perf/{ => micro}/long-dashed-lines.c | 0 - perf/{ => micro}/long-lines.c | 0 - perf/{ => micro}/mask.c | 0 - perf/{ => micro}/mosaic.c | 0 - perf/{ => micro}/mosaic.h | 0 - perf/{ => micro}/paint-with-alpha.c | 0 - perf/{ => micro}/paint.c | 0 - perf/{ => micro}/pattern_create_radial.c | 0 - perf/{ => micro}/pythagoras-tree.c | 0 - perf/{ => micro}/rectangles.c | 0 - perf/{ => micro}/rounded-rectangles.c | 0 - perf/{ => micro}/spiral.c | 0 - perf/{ => micro}/stroke.c | 0 - perf/{ => micro}/subimage_copy.c | 0 - perf/{ => micro}/tessellate.c | 0 - perf/{ => micro}/text.c | 0 - perf/{ => micro}/twin.c | 0 - perf/{ => micro}/unaligned-clip.c | 0 - perf/{ => micro}/world-map.c | 0 - perf/{ => micro}/world-map.h | 0 - perf/{ => micro}/zrusin-another.h | 0 - perf/{ => micro}/zrusin.c | 0 - 33 files changed, 46 insertions(+), 43 deletions(-) - -commit 4152cd90e25ffa9d2a3683c790bd2891a58c52de -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Mon Sep 14 14:29:01 2009 +0300 - - [autoconf] Comment on the SIZEOF_VOID__ -> SIZEOF_VOID_P workaround. - - Explain where the weird SIZEOF_VOID__ comes from. - - src/cairo-atomic-private.h | 2 ++ - util/cairo-trace/trace.c | 2 ++ - 2 files changed, 4 insertions(+) - -commit cd94bf8bf30de9aa8dfec1a06a7ef3386944c974 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Mon Sep 14 03:41:42 2009 -0600 - - [trace] Look harder for the cairo-trace.so library. - - On OpenBSD the convention is to not use symlinks from - unversioned library names to versioned library names. - This breaks cairo-trace because it looks for cairo-trace.so - explicitly, but on OpenBSD only cairo-trace.so.0.0 is - installed. - - The right thing to do is probably to source the cairo-trace.la - file and look for a file name there somehow. Instead this commit - just looks for a likely looking file or symlink in the install - directory. - - util/cairo-trace/cairo-trace.in | 17 ++++++++++++++++- - 1 file changed, 16 insertions(+), 1 deletion(-) - -commit a343c8c42d3adc8f52afd09bdfbbcfd5299df49e -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Mon Sep 14 02:33:26 2009 -0600 - - [trace] Don't use pthread_key_delete. - - On OpenBSD libc doesn't provide pthread stubs like glibc on Linux - or newer libcs from FreeBSD. However libX11 does provide a stubs - for a subset of the pthread functions (formerly in libXThrStub, - now moved into libX11 proper), but pthread_key_delete() is not - one of the stubbed ones. So, on OpenBSD cairo's non-linking of - libpthread accidentally works as long as the xlib-surface is enabled, - which is nearly always the case. - - This patch makes trace.c stand at the same precipice as cairo itself - by reverting to only a subset of the pthreads functions stubbed by - libX11. - - util/cairo-trace/trace.c | 1 - - 1 file changed, 1 deletion(-) - -commit cf0fed2191c2b5ebce8855def1dd302ccf8e039a -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Sep 13 17:35:29 2009 -0600 - - [build] Check for dlsym in both libdl and libc. - - The BSDs have dlsym() in libc rather than libdl. - - boilerplate/cairo-boilerplate.c | 4 ++-- - configure.ac | 12 +++++++----- - util/cairo-trace/Makefile.am | 6 +++++- - 3 files changed, 14 insertions(+), 8 deletions(-) - -commit 1c7ac6c47addd6825c4f49f514fe3ffb708e3813 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Sep 13 17:56:56 2009 -0600 - - [build] Work around autoconf void* -> VOID__ name conversion bug. - - The autoconf shipping with OpenBSD 4.5 converts sizeof(void*) - to SIZEOF_VOID__ rather than SIZEOF_VOID_P. Work around that - by defining SIZEOF_VOID_P if required. - - src/cairo-atomic-private.h | 4 ++++ - util/cairo-trace/trace.c | 4 ++++ - 2 files changed, 8 insertions(+) - -commit 12470fd7010ea0748c8dcc9014d1cd0f52f51a3b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Sep 14 10:36:08 2009 +0100 - - [configure] Setup GL CFLAGS before checking for GLX - - configure.ac | 3 +++ - 1 file changed, 3 insertions(+) - -commit 9c2790ccc48392bfe039626ebb383070aa18fe56 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Sep 14 10:08:57 2009 +0100 - - [build] Add a default message for when GLEW isn't built - - And it appears I touched the build system again and autoregenerated the - feature headers. - - boilerplate/Makefile.win32.features | 8 -------- - build/Makefile.win32.features-h | 1 - - configure.ac | 5 +++-- - src/Makefile.win32.features | 8 -------- - util/cairo.modules | 1 + - 5 files changed, 4 insertions(+), 19 deletions(-) - -commit 6d4f3c40eff7d070b1c9759038444928c6754efe -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Sep 14 09:19:10 2009 +0100 - - Add a private copy of GLEW - - This appears to be the simplest mechanism to build libglew at the moment - - should a system copy be unavailable. Fortunately libglew is now distributed - under a permissive licence. - - If you want to pass 'make -C src check' you have to use the system copy, - or spend quite a bit of time cairo-fying libglew. - - boilerplate/Makefile.win32.features | 8 + - build/Makefile.win32.features-h | 1 + - build/configure.ac.features | 1 + - configure.ac | 19 +- - src/Makefile.am | 2 + - src/Makefile.sources | 3 + - src/Makefile.win32.features | 8 + - src/glew/GL/glew.h | 12262 ++++++++++++++++++++++++++++++++++ - src/glew/GL/glxew.h | 1397 ++++ - src/glew/LICENSE.txt | 73 + - src/glew/glew.c | 12180 +++++++++++++++++++++++++++++++++ - util/cairo.modules | 10 +- - 12 files changed, 25955 insertions(+), 9 deletions(-) - -commit 9ad26f74b0059645d865a20c387fa4bd460cabc8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Sep 13 23:16:57 2009 +0100 - - [configure] Fallback to detect OpenGL headers - - When not using mesa, we can not rely on a pkgconfig file, so just rely on - the presence of the OpenGL headers instead. - - configure.ac | 11 ++++++++--- - 1 file changed, 8 insertions(+), 3 deletions(-) - -commit 71c3b2888cc81e6d55782388d14bb8d806e77d07 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Sep 13 20:24:29 2009 +0300 - - [win32] Sync Makefile.win32.features. - - Ooops.. wasn't sure if I should commit this or not. - - build/Makefile.win32.features | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit ba21f213560fa239a02ae28af4eb1d3a6b7254e5 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Sep 13 18:21:38 2009 +0100 - - [trace] Don't trace internal cairo calls on Solaris. - - On various configurations of Solaris cairo-trace likes to trace - internal calls to the API from within cairo and cairo-trace itself. On - Linux the slim_hidden_proto stuff avoids this by name mangling and - symbol alias magic, but on Solaris that doesn't work so we're left - with either no hidden symbols at all or using normal ELF hidden symbol - attributes, but neither of those prevent internal calls to cairo from - being traced of course. - - This commit provides a per-thread entry/exit trace counter for use - when we can't use name mangling to hide internal API calls. As a - side-effect it may hide actual client API calls from callback - functions called by cairo, but such use cases ought to be rare. - - util/cairo-trace/trace.c | 465 +++++++++++++++++++++++++++++++++-------------- - 1 file changed, 327 insertions(+), 138 deletions(-) - -commit f5bcb2f36e7dba9cfba5d697e1401dcd00603812 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Sep 13 12:47:19 2009 +0100 - - [build] Enable building cairo-trace on Solaris. - - Solaris supports LD_PRELOAD too! - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ce8c842a70d3f23527dcbd889b022103483341f2 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Sep 13 12:53:07 2009 +0100 - - [trace] Make cairo-trace and its symbol-lookup automatically configured. - - The build shouldn't fail if we can't make our optional performance - tools. - - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 2fb59a69f4509c2116f16bd6d376f35e3e2eb709 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Sep 13 14:27:03 2009 +0100 - - [trace] Don't rely on the constructor attribute to initialise the tracer. - - Use pthread_once() at cairo API entry points to initialise the library - if required. This side steps the issues with the __constructor__ - attribute vs _init()/_fini() on Solaris and different tracer/tracee - runtimes which result in the constructors not being run in - cairo-trace.so. - - util/cairo-trace/trace.c | 176 ++++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 174 insertions(+), 2 deletions(-) - -commit 18a441984b649f558c6478f24a7987941acadbe1 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Sep 13 13:53:27 2009 +0100 - - [trace] Don't try and propagate a void result. - - The pattern - - return <function returning void>( ... ); - - is a gccism not supported by Sun Studio. - - util/cairo-trace/trace.c | 136 ++++++++++++++++++++++++----------------------- - 1 file changed, 70 insertions(+), 66 deletions(-) - -commit fee5c58c6caecdbdb387fe39bd6ed94faf7f6ae9 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Sep 13 13:09:47 2009 +0100 - - [trace] Avoid warnings from assigning a void pointer to a function pointer. - - The Sun Studio compiler complains a *lot* when assigning the result - of dlsym to a function pointer. Cast the result to the proper - type first.:w - - util/cairo-trace/trace.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 19881012cb31ec2aebf556e2c25b53e8387dc689 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Sep 13 16:36:12 2009 +0100 - - [image] Add pixel masks for BGRA formats - - pixman introduced the BGRA pixel type not too long ago, and so we need to - update our pixman_format_code_t to cairo_format_masks_t translator. - - src/cairo-image-surface.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -commit f8a8f297f298d81899803a1b2bbca007418408b5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Sep 13 10:58:59 2009 +0100 - - [trace] Stray trailing ';' in bswap macros - - util/cairo-trace/trace.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit f851009ec76ee2290ffbc3f55edbf3cc16aff488 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Sep 13 10:57:42 2009 +0100 - - [trace] Compile without lookup-symbol - - And check compilation with --disable-symbol-lookup - - util/cairo-trace/trace.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit 6cb3ff9c1943c58f5b6892af3f18f6aaa24494b6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Sep 13 10:52:14 2009 +0100 - - [configure] --enable-symbol-lookup - - There you go Joonas, I don't always ignore your suggestions! This is - simple patch to allow the user to disable symbol loops in case the - auto-detection fails on some obscure (perhaps OpenBSD) platform. Or in - case the user really wants to trim a few bytes from a library only used - during tracing! - - boilerplate/Makefile.win32.features | 7 +++++++ - build/Makefile.win32.features | 1 + - build/Makefile.win32.features-h | 3 +++ - build/configure.ac.features | 1 + - configure.ac | 6 ++++++ - src/Makefile.win32.features | 7 +++++++ - util/cairo-trace/Makefile.am | 14 +++++++++----- - 7 files changed, 34 insertions(+), 5 deletions(-) - -commit 556d064f4eb3625022f0d99461929ff3fafc9c71 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Sep 11 15:35:27 2009 +0100 - - [test] Typos in README from previous commit - - test/README | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 43ecde2d22c5a8c591ac83f9a82c2bf83af484fd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Sep 11 15:15:22 2009 +0100 - - [test] Add Debian packages for fonts - - Mention which .deb provides the required fonts. - - test/README | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 33be73dfb76c26e3bb0ab59b2f570d00d9c7be62 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Sep 11 14:59:58 2009 +0100 - - [xlib] Fix big-line. - - Project lines that exceed the 16.16 limits onto the XFixedLine, as we know - that top/bottom must fit within the confines of the surface and so will be - less than 16 bits. - - Sadly this is a run-on patch that also does: - 1. Make FillTiled the default for new GCs. - 2. Stores extend mode as opposed to repeat, and thereby cleaning up some - inconsistent code. - 3. Remove the special casing for unbounded trapezoids, as it is redundant - with the polygon clipping. - 4. Tidy the logic for deciding when to use the core protocol - (_categorize_composite_operation) - - src/cairo-xlib-screen.c | 6 +- - src/cairo-xlib-surface-private.h | 2 +- - src/cairo-xlib-surface.c | 402 ++++++++++++++++----------------------- - 3 files changed, 164 insertions(+), 246 deletions(-) - -commit 6960162c5eae30e2d48992023be35e3dbf502a03 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Sep 11 14:56:17 2009 +0100 - - [xlib] Discard clip if larger than glyph extents - - Implement cheap calculation of glyph extents to see whether we can discard - the clip region. This is effective around 50% of the time for firefox (and - makes the xtrace so much neater). - - src/cairo-scaled-font.c | 36 ++++++++++++++++++++++++++++++++++++ - src/cairo-xlib-surface.c | 23 +++++++++++++++++++++++ - src/cairoint.h | 6 ++++++ - 3 files changed, 65 insertions(+) - -commit 6e78409417117ad4de1aec65bb4753ff32e1e7a6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Sep 11 14:19:38 2009 +0100 - - [test] Update big-line and remove XFAIL - - Now that we use polygon clipping, output geometry should no longer exceed - the 2^16 limits imposed by pixman. For the image backend, we now use spans - for stroking and for the xlib backend we have to double check the range on - the output trapezoids. In short, cairo should pass this test. - - test/Makefile.am | 8 ++++---- - test/big-line.c | 16 ++++++++-------- - test/big-line.ps.argb32.ref.png | Bin 977 -> 0 bytes - test/big-line.ps.rgb24.ref.png | Bin 709 -> 0 bytes - test/big-line.quartz.ref.png | Bin 1075 -> 0 bytes - test/big-line.quartz.rgb24.ref.png | Bin 941 -> 0 bytes - test/big-line.ref.png | Bin 0 -> 977 bytes - test/big-line.xlib-fallback.ref.png | Bin 0 -> 723 bytes - test/big-line.xlib.ref.png | Bin 0 -> 933 bytes - 9 files changed, 12 insertions(+), 12 deletions(-) - -commit b495e7eb2ee2521a400d4b42e04242023bdb1e44 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Sep 10 19:25:14 2009 +0100 - - [surface] Early return for (region IN white) - - Fill a region using IN and a white source is a frequent reduction of a - complex clip (viz a path that covers the whole operation extents will be - reduced to a single rectangle), and we can simply discard the fill (as it - always has bounded semantics). - - src/cairo-surface.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit 94aeae9b2ec563201a0e65705504d1d70c33a619 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Sep 10 19:11:36 2009 +0100 - - [clip] Simplify applying a box clip - - If the clip path is a simple box, then for many operations it is entirely - representation by the alteration of extents and so we can skip a few steps - during reconstruction. - - src/cairo-clip-private.h | 3 +- - src/cairo-clip.c | 84 ++++++++++++++++++++++++++---------------------- - 2 files changed, 48 insertions(+), 39 deletions(-) - -commit 496e79b63762c70fd022b2d9e2d6107bcce1807a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Sep 10 17:36:46 2009 +0100 - - [xlib] Fix extraction of GC during XCloseDisplay() - - Jeff Muizelaar reported a bug from his firefox builds that was causing a - double free during XCloseDisplay, and suggested it was related to - c0e01d9cd. Reviewing the cleanup, suggested that the cause may just be a - pair of missing parenthesis. - - src/cairo-xlib-screen.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f34affaa1e0b52e255d882b84bf064f9a9d4a95d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 9 18:03:20 2009 +0100 - - [util] And reuse the same name repository name. - - Completely confused by local caching of a broken cairo.modules by the - jhbuild client. ARGH! - - util/cairo.modules | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit e1774185d6bb824a53465a037539b53fdc7af5d8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 9 17:52:10 2009 +0100 - - [util] And back to a unique repo name for cairo.modules - - Gah, further experiments into the unknown and the unclear. - - util/cairo.modules | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 2905ebc99e4cf8b8e94e16fcd3bc1566f51f4b57 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 9 17:24:43 2009 +0100 - - [util] And restore the repository tag. - - jbhuild requires a local definition. - - util/cairo.modules | 2 ++ - 1 file changed, 2 insertions(+) - -commit 4d7eb79d25bcfdc47abcae1fd51c7573043909fd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 9 17:12:14 2009 +0100 - - [util] Inherit the repository from xorg.modules - - Experiment with inheriting the repository from xorg.module, in order to - avoid having two entries for the same server. - - util/cairo.modules | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit f5ee785144a8ddb6056b21f6c28bc4a9f4870b32 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 9 13:59:50 2009 +0100 - - [test] Disable the antialias testing for the vector surfaces. - - Only the raster bckends obey the font anti-alias options. - - test/large-twin-antialias-mixed.c | 2 +- - test/twin-antialias-gray.c | 2 +- - test/twin-antialias-mixed.c | 2 +- - test/twin-antialias-none.c | 2 +- - test/twin-antialias-subpixel.c | 2 +- - 5 files changed, 5 insertions(+), 5 deletions(-) - -commit abaef9bfbe11302beb6481547632b44be9d5be8d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 9 13:57:06 2009 +0100 - - [test] Compare a failure against the image output - - If a backend fails in exactly the same way as the image, then we can - safely assume that the failure is systematic and not an error in the - backend, so change the result to XFAIL. - - test/cairo-test.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 46 insertions(+) - -commit 41fbea053a8feb201a4f11aaf4dff86fea0bcb01 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 9 12:19:51 2009 +0100 - - [test] Typo in ft-show-glyphs-positioning - - Note to self: remember to sleep more often. - - test/ft-show-glyphs-positioning.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c61480a319bad55b0b4cf3f2be609bde9f2c5948 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 9 11:08:17 2009 +0100 - - [test] An oversized twin test case. - - A larger variant of the twin mixed antialiasing test. - - test/Makefile.am | 2 + - test/Makefile.sources | 1 + - test/large-twin-antialias-mixed.c | 97 +++++++++++++++++++++++++++ - test/large-twin-antialias-mixed.ref.png | Bin 0 -> 16668 bytes - test/large-twin-antialias-mixed.xlib.ref.png | Bin 0 -> 14655 bytes - 5 files changed, 100 insertions(+) - -commit 610b311a970877f3954ba829cf43caecce0ab72c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 9 09:48:24 2009 +0100 - - [test] Variation of twin that intermixes antialiasing - - Check that we are substituting the right glyph depth and changing masks - appropriately. - - test/Makefile.am | 2 + - test/Makefile.sources | 1 + - test/twin-antialias-mixed.c | 97 +++++++++++++++++++++++++++++++++ - test/twin-antialias-mixed.ref.png | Bin 0 -> 2338 bytes - test/twin-antialias-mixed.xlib.ref.png | Bin 0 -> 1760 bytes - 5 files changed, 100 insertions(+) - -commit c218ff8cbec2cc7aa3efc4c7f7d8690fbdec5e9a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 9 09:52:18 2009 +0100 - - [test] SUBPIXEL_ANTIALIAS varation of twin - - Force argb32 glyphs. - - test/Makefile.am | 2 + - test/Makefile.sources | 1 + - test/twin-antialias-subpixel.c | 71 ++++++++++++++++++++++++++++++ - test/twin-antialias-subpixel.ref.png | Bin 0 -> 3979 bytes - test/twin-antialias-subpixel.xlib.ref.png | Bin 0 -> 3863 bytes - 5 files changed, 74 insertions(+) - -commit 456484514f4dacfe95952e8c0b73eb6a9a1a9d27 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 9 09:38:18 2009 +0100 - - [test] Variation of twin with ANTIALIAS_GRAY - - Force generation of a8 glyphs. - - test/Makefile.am | 2 + - test/Makefile.sources | 1 + - test/twin-antialias-gray.c | 71 ++++++++++++++++++++++++++++++++++ - test/twin-antialias-gray.ref.png | Bin 0 -> 3979 bytes - test/twin-antialias-gray.xlib.ref.png | Bin 0 -> 3863 bytes - 5 files changed, 74 insertions(+) - -commit 8555984b8e72ab5846783ed54afa1a857d70f241 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 9 09:29:42 2009 +0100 - - [test] Add ANTIALIAS_NONE variation of twin - - I'm off hunting bugs. By using twin with ANTIALIAS_NONE we can construct - a1 glyph images independently of the native font system. - - test/Makefile.am | 2 + - test/Makefile.sources | 1 + - test/twin-antialias-none.c | 71 ++++++++++++++++++++++++++++++++++ - test/twin-antialias-none.ref.png | Bin 0 -> 718 bytes - test/twin-antialias-none.xlib.ref.png | Bin 0 -> 745 bytes - 5 files changed, 74 insertions(+) - -commit 1820cb7fd648283a5b477fbc6bd654200ed190e6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 9 09:12:54 2009 +0100 - - [test] Check for errors during ft-show-glyphs-positioning - - Do not blindly assume that we managed to construct a valid scaled-font - before attempting to dereference the FT_Face. Consider a machine with - no fonts which is substituting twin... - - test/ft-show-glyphs-positioning.c | 46 +++++++++++++++++++++++++++++++++------ - 1 file changed, 39 insertions(+), 7 deletions(-) - -commit 7fb0d5e2091a09ef7b01574f4ecf87236ef43fec -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 9 01:45:16 2009 +0100 - - [twin] Initialise all properties - - Left a couple of uninitialised properties along the non-toy font - construction path. - - src/cairo-font-face-twin.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 34778a883af806f77d0c89c85cebb315b43d7ef2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 9 01:16:08 2009 +0100 - - [configure] Typo in test - - The have_dl clause was meant to have been removed from the requirements - test for cairo-script-interpreter. Instead we left the test broken. - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4b221bd49a0c2c980a63779d905e8eb9b9cfa690 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Sep 8 19:02:04 2009 +0100 - - [spans] Correct offsets for trapezoids - - Pass on the destination offset from composite_trapezoids() to - composite_polygon(). - - src/cairo-spans.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 9389cb78a8ea5b6579d091ab1030ab9f1b13efc2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Sep 8 17:51:33 2009 +0100 - - [build] Improve handling of missing test apparatus - - Improve detection, reporting and disabling of test backends when we lack - the required libraries and utilities. - - boilerplate/Makefile.win32.features | 7 +++++++ - boilerplate/cairo-boilerplate-pdf.c | 2 ++ - boilerplate/cairo-boilerplate-ps.c | 2 ++ - boilerplate/cairo-boilerplate-svg.c | 2 ++ - build/Makefile.win32.features | 1 + - build/Makefile.win32.features-h | 3 +++ - build/configure.ac.features | 3 ++- - configure.ac | 20 +++++++++++++------- - perf/cairo-perf-compare-backends.c | 2 +- - src/Makefile.win32.features | 7 +++++++ - test/Makefile.am | 2 ++ - test/any2ppm.c | 8 ++++++++ - util/Makefile.am | 4 ++-- - 13 files changed, 52 insertions(+), 11 deletions(-) - -commit 45759e5a0fb20a632f66a8dd206833b55a95f840 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Sep 8 09:19:53 2009 +0100 - - [gl] Supply extents for acquire source image - - I have no idea how we survived for so long without supplying the source - extents... - - src/cairo-gl-surface.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit 67d40e5c7300c4082484dbda5c81808737bb2ac5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Sep 6 10:17:40 2009 +0100 - - [xlib] Protect ourselves from liars that claim to have a 64k window - - Found using webkit, who attempt to paint an width X page height window. - Please, please clip large windows to the visible area. Thanks. - - src/cairo-xlib-surface.c | 27 +++++++++++++++++++++++++-- - 1 file changed, 25 insertions(+), 2 deletions(-) - -commit 310cebf194919cf3a7c37e724e64962ae47343cc -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Sep 5 15:21:50 2009 +0100 - - [configure] Add option to disable trace. - - Some environments may be broken beyond our capabilities to detect, or - maybe the user is just insane and doesn't want to build my nice shiny - cairo-trace. Whatever, give them the option to choose: - - $ ./configure --disable-trace - - boilerplate/Makefile.win32.features | 7 +++++++ - build/Makefile.win32.features | 1 + - build/Makefile.win32.features-h | 3 +++ - build/configure.ac.features | 3 +++ - configure.ac | 8 +++++--- - src/Makefile.win32.features | 7 +++++++ - util/Makefile.am | 2 +- - 7 files changed, 27 insertions(+), 4 deletions(-) - -commit 9b932d7cd750b9bc61d108c80c4530352d952cfa -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Sep 5 08:46:39 2009 +0100 - - [perf] Move the calibration to its own function - - Improve code clarity and whatnot. - - perf/cairo-perf.c | 71 ++++++++++++++++++++++++++++++++----------------------- - 1 file changed, 41 insertions(+), 30 deletions(-) - -commit 270b2f1be0e600621647f2e2486618c134217941 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sat Sep 5 05:39:35 2009 +0300 - - [perf] Add a fast-and-sloppy mode to cairo-perf. - - A new -f option to cairo-perf reverts to a fast run - mode for quick performance overviews. The number of - milliseconds each iteration of a test is run for can - be overriden using the new CAIRO_PERF_ITERATION_MS - environment variable. The default remains 2000 ms/iter. - - perf/cairo-perf.c | 59 ++++++++++++++++++++++++++++++++++++------------------- - perf/cairo-perf.h | 3 +++ - 2 files changed, 42 insertions(+), 20 deletions(-) - -commit 7f91c4953ccfbb96d76ecd73715fa2e524be933e -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sat Sep 5 05:07:25 2009 +0300 - - [boilerplate] Support wildcard ? in CAIRO_TEST_TARGET{,_EXCLUDE}. - - Useful for running tests only for a given content type. - - boilerplate/cairo-boilerplate.c | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -commit b3bafbc5f9201662702cc0c0d1c96411e31bb7d3 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sat Sep 5 05:02:00 2009 +0300 - - [boilerplate] Support giving content in CAIRO_TEST_TARGET{,_EXCLUDE}. - - Sometimes it's convenient to run the regression or performance tests - against a given target with a given content. Now we accept an optional - content specifier as a suffix .<content> on a target name, where - <content> is rgb or rgba. - - boilerplate/cairo-boilerplate.c | 61 ++++++++++++++++++++++++++++++++++++++--- - 1 file changed, 57 insertions(+), 4 deletions(-) - -commit 29432d3d32bc84ec4a2e1815a84e4ac2089138fe -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sat Sep 5 02:25:01 2009 +0300 - - [test] Reorder dash-infinite-loop to not hit a runaway allocation. - - This test is annoying enough as it is what with it wedging the - test suite and all. There's no reason why it should DOS the - running box as well by sitting in a loop allocating like mad. - - test/dash-infinite-loop.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 20b0e7f95448e496b609212b9608f75e03f223f8 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Fri Sep 4 23:54:21 2009 +0300 - - [test] Add large-source-roi.ref.png to test/Makefile.am - - Oops.. forgot to add it to the build files too - - test/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit 402a0539489cc01094b464109ae28ae78b85a294 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Sep 4 09:47:10 2009 +0100 - - [gl] compile fix. - - Compiled fine during testing -- only I forgot I hadn't enable the gl surface. - - src/cairo-gl-surface.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit b065303740cc18fbcabfeef34d09c7d8b617647e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Sep 4 09:35:22 2009 +0100 - - [xlib] Enable pad_reflect by default - - If the XServer claims to support the required Render extension then send - it the operations. However for the cases where we know it does not work, - i.e. the current and previous generations (<=1.6) of Xorg servers, enable - the buggy_pad_reflect fallbacks. - - src/cairo-xlib-display.c | 19 ++++++++++++------- - 1 file changed, 12 insertions(+), 7 deletions(-) - -commit 634fdb4afd15e2467979609b1af7c1c198fc83d4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Sep 4 09:14:12 2009 +0100 - - [test] Add unbounded variants of clip-{fill,stroke} - - Add a couple of tests to exercise a bug that Joonas spotted that I had - introduced with the clip-reduction scheme - namely that I had - incorrectly removed the clip on unbounded operations. - - test/Makefile.am | 14 +++ - test/Makefile.sources | 2 + - test/clip-fill-unbounded.argb32.ref.png | Bin 0 -> 1615 bytes - test/clip-fill-unbounded.c | 105 +++++++++++++++++++++ - test/clip-fill-unbounded.rgb24.ref.png | Bin 0 -> 1312 bytes - test/clip-fill-unbounded.svg12.argb32.xfail.png | Bin 0 -> 1601 bytes - test/clip-fill-unbounded.svg12.rgb24.xfail.png | Bin 0 -> 1601 bytes - ...clip-fill-unbounded.xlib-fallback.rgb24.ref.png | Bin 0 -> 1429 bytes - test/clip-fill-unbounded.xlib.argb32.ref.png | Bin 0 -> 1758 bytes - test/clip-fill-unbounded.xlib.rgb24.ref.png | Bin 0 -> 1426 bytes - test/clip-stroke-unbounded.argb32.ref.png | Bin 0 -> 1703 bytes - test/clip-stroke-unbounded.c | 102 ++++++++++++++++++++ - test/clip-stroke-unbounded.rgb24.ref.png | Bin 0 -> 1383 bytes - test/clip-stroke-unbounded.svg12.argb32.xfail.png | Bin 0 -> 1697 bytes - test/clip-stroke-unbounded.svg12.rgb24.xfail.png | Bin 0 -> 1697 bytes - ...ip-stroke-unbounded.xlib-fallback.rgb24.ref.png | Bin 0 -> 1429 bytes - test/clip-stroke-unbounded.xlib.argb32.ref.png | Bin 0 -> 1792 bytes - test/clip-stroke-unbounded.xlib.rgb24.ref.png | Bin 0 -> 1426 bytes - 18 files changed, 223 insertions(+) - -commit de99f841886de5cc6e5bc91f9d3e82076d838dee -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Sep 4 08:55:19 2009 +0100 - - [fallback] Only eliminate the clip if the operation is bounded - - For unbounded operations we still need to pass along the clip in order to - correctly limit the extents of the operation. - - src/cairo-surface-fallback.c | 57 ++++++++++++++++++++++++++++++++------------ - 1 file changed, 42 insertions(+), 15 deletions(-) - -commit 0ffca06d7feec6fdc56c47a378fcc37c1951a00a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Sep 4 08:32:31 2009 +0100 - - [perf] Use milliseconds by default in cairo-perf-diff-files - - Necessary when comparing performance reports from different machines (or - even at different CPU states). - - perf/cairo-perf-diff-files.c | 13 ++++++++----- - 1 file changed, 8 insertions(+), 5 deletions(-) - -commit 00ca0780b8f06ec160d8f969e316c21fbbde04bc -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Sep 3 23:25:53 2009 +0100 - - [win32] Remove unused clone_similar() - - The win32 backend handles surface sources directly and never calls - _cairo_pattern_acquire_surface() which is the only other possible user of - clone_similar(). - - src/cairo-win32-printing-surface.c | 2 +- - src/cairo-win32-surface.c | 57 +------------------------------------- - 2 files changed, 2 insertions(+), 57 deletions(-) - -commit 535bcaa1a1dac28fbe3106c6605949171bc36cb2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Sep 3 20:10:55 2009 +0100 - - [mutex] Hook into pthread last - - Check for native mutex types before hooking into pthread, as this - workarounds broken builds on mingw that confuse us by including the - pthread header file. - - src/cairo-mutex-impl-private.h | 47 +++++++++++++++++++++--------------------- - 1 file changed, 24 insertions(+), 23 deletions(-) - -commit 769f4a4f47ab4636ec5cca3e92ce2c0ff19d2f75 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Sep 3 17:47:34 2009 +0100 - - [gl] Allocate small number of rectangles on the stack - - FillRectangle is most frequently used to fill an entire imagee with the - background colour, i.e. with just a single, or few, rectangle. Avoid - heap allocation for this common case by allocating enough space for 4 - rectangles (vertices+colors) on the stack. - - src/cairo-gl-surface.c | 43 +++++++++++++++++++++++++++++-------------- - 1 file changed, 29 insertions(+), 14 deletions(-) - -commit 6ce200da9d01a85a1de576229e75732db65a8b70 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Sep 3 17:38:00 2009 +0100 - - [gl] Assert that the error is impossible. - - As we created the image, it should not need coercing into a suitable - format and so we should be able to upload it without failure. - - src/cairo-gl-surface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit d3aeafb406da7bf69e9bf24e18a5975780a7a987 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Sep 3 17:32:28 2009 +0100 - - [gl] Remove reference to depth_stencil_tex - - We no longer use a depth-stencil, so remove the vestigial reference. - - src/cairo-gl-private.h | 1 - - src/cairo-gl-surface.c | 2 -- - 2 files changed, 3 deletions(-) - -commit 316c1683ceb39eb652608adc360cb4da9c22256a -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Thu Sep 3 21:38:31 2009 +0300 - - [test] Fix the order of random points random-intersections-curves*. - - The calls to uniform_random() to get the curve points were in - the function arguments, but argument order evaluation is compiler - implementation dependent. - - test/random-intersections-curves-eo.c | 17 ++++++++++------- - test/random-intersections-curves-nz.c | 17 ++++++++++------- - 2 files changed, 20 insertions(+), 14 deletions(-) - -commit 9e45673e197d0f43e296483cc6b5ca6df94e7f02 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Thu Sep 3 19:18:07 2009 +0300 - - [image] Check for out of bounds image surface sizes in constructors. - - The image surface code doesn't reliably work on images larger than - 32767 in width or height. This patch makes the image surface - constructors fail by returning a surface in the CAIRO_STATUS_INVALID_SIZE - state when given negative or too large dimensions so that client code - gets a prompt and correct error rather than flaky rendering on large - images. - - src/cairo-image-surface.c | 27 +++++++++++++++++++++++++-- - test/large-source-roi.c | 4 ++-- - test/large-source-roi.ref.png | Bin 0 -> 112 bytes - test/large-source.c | 4 ++-- - 4 files changed, 29 insertions(+), 6 deletions(-) - -commit 12d0613210547b8a50dd7b21a12eb1485ee496b9 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Thu Sep 3 17:54:49 2009 +0300 - - [test] Allow tests to XFAIL by putting the cairo_t into an error state. - - The test runner was extra strict about never letting a test put - the cairo_t into an error state, and never would it check for - the expectedness status of the failure. This patch moves the - check for a test being an XFAIL above the check on the cairo_t's - final status. - - test/cairo-test.c | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -commit a76c36f2edd16d8e2b8f49e6409134aceab38a42 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Sep 3 14:29:20 2009 +0100 - - [xlib] solid pictures should only be 1x1 - - Creating an widthxheight solid picture for using with - RenderCompositeTrapezoids defeats the optimization with the xserver that - checks for a solid alpha pattern. The checks it performs are for - CONTENT_ALPHA, Repeat, 1x1 and value == 0xff. - - src/cairo-xlib-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit df067be863bf714f22db0392ab29926edfa8e917 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Sep 3 08:45:40 2009 +0100 - - [polygon] Compute the limit of the limits slightly more efficiently - - Initialize the bbox to the first limit, as frequently there will only be a - single (or at least a small number) limit. - - src/cairo-polygon.c | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - -commit a1bac73f24069990842fa8f31e776b4d2c72546e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Sep 3 09:20:46 2009 +0100 - - [boilerplate] Handle errors whilst creating GL surface - - boilerplate/cairo-boilerplate-gl.c | 11 ++++++----- - src/cairo-glx-context.c | 16 ++++++++-------- - 2 files changed, 14 insertions(+), 13 deletions(-) - -commit f1d284f9976d38f636c6791f11479ae75d7bd199 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Sep 3 01:00:59 2009 +0100 - - [polygon] Fix discard with non-banded disjoint clip boxes - - The early discard checked if the line was below the last clip-box, or if - above the first. However, the clip-boxes are only sorted on by the bottom - (not the strict XY-banded sort of the regions) and so this was erroneously - discarding lines. - - src/cairo-polygon.c | 29 ++++++++++++++++++++++++----- - src/cairo-types-private.h | 1 + - 2 files changed, 25 insertions(+), 5 deletions(-) - -commit a6dfdeec82ec34d88276fd0bb0ddcc94405d89f3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Sep 3 00:59:21 2009 +0100 - - [test] Add clip-disjoint - - Soeren found another bug (thanks Soeren!) in the clipping code - as - reproduced by this test case. - - test/Makefile.am | 2 + - test/Makefile.sources | 1 + - test/clip-disjoint.c | 90 ++++++++++++++++++++++++++++++++++++++++ - test/clip-disjoint.ref.png | Bin 0 -> 5520 bytes - test/clip-disjoint.xlib.ref.png | Bin 0 -> 5395 bytes - 5 files changed, 93 insertions(+) - -commit ff6bc1e132836c68d4f538799c2cd26a2d9cace4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 2 21:22:33 2009 +0100 - - [script] Always create a fallback font - - In order to get a baseline for win32 performance testing, always create a - font so that the trace can be replayed. Not ideal, but I feel this the - pragmatic solution for judging the performance differentials before I can - work out a better solution for loading typ42 fonts. - - util/cairo-script/cairo-script-operators.c | 46 ++++++++++++++++++------------ - 1 file changed, 27 insertions(+), 19 deletions(-) - -commit fcbb288e7cf2f5914c0d2b66ee6d81b694de6de6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 2 21:02:18 2009 +0100 - - [script] Attempt to select a font if ! CAIRO_HAS_FT_FONT - - In order to enable replay of traces on machines that do not use FreeType - as the native font system, we need to convert a type42 font into something - similar. Currently the fallback is just to select a font with the same - name - this ignores weight and slant, and many other details. - - util/cairo-script/cairo-script-operators.c | 106 +++++++++++++++++++++++++++++ - 1 file changed, 106 insertions(+) - -commit 2c03dfa0b406565fca798214a842bac69b042017 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 2 10:09:50 2009 +0100 - - [boilerplate/test] Use numerical equality not string equality - - test == != -eq - - boilerplate/make-cairo-boilerplate-constructors.sh | 2 +- - test/make-cairo-test-constructors.sh | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit f5df38ca5efcbc0cd3cc18d9fb67df49ec4859f8 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Wed Sep 2 04:38:52 2009 +0100 - - [build] Fix typos in prototype warnings. - - The -Wstrict-prototypes and -Wmissing-prototypes warnings - weren't actually in use due to typos. - - build/configure.ac.warnings | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c086b40a93057a6fd47d23c85c5026d6fe2f524a -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Wed Sep 2 04:29:18 2009 +0100 - - [build] Hush the Solaris compiler about enum abuse. - - Sun Studio 12 doesn't like it when we mix our - enum values and types. We do that a lot on purpose - so the warnings from compiles were very verbose. - - build/aclocal.cairo.m4 | 23 +++++++++++++++++++++-- - build/configure.ac.warnings | 6 ++++++ - 2 files changed, 27 insertions(+), 2 deletions(-) - -commit f081a5ff554267eebecea4652bb483eea11d1484 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Wed Sep 2 04:10:39 2009 +0100 - - [build] Refine the -Wno-attribute test to check our use cases. - - We don't actually check that -Wno-attribute does what - we think it does. On clang it doesn't since it happily - seems to recognize but ignore the attribute. - - This patch factors out a silent version of CAIRO_CC_TRY_FLAG - which accepts an optional program argument and actually tests - that the compiler doesn't produce any warning messages. It - is then used to check that -Wno-attribute doesn't complain - when the __warn_unused_result__ attribute is applied to - void functions or variables. - - build/aclocal.cairo.m4 | 42 ++++++++++++++++++++++++++++++++++-------- - build/configure.ac.analysis | 2 +- - build/configure.ac.warnings | 10 ++++++---- - 3 files changed, 41 insertions(+), 13 deletions(-) - -commit c87b366bfec4eeda2646b33cb8a33822a301456c -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Wed Sep 2 04:09:46 2009 +0100 - - [constructors] Guard against being called without any input files. - - The make-cairo-(test|boilerplate)-constructors scripts ought - never to be called without arguments lest we are left constructorless. - - boilerplate/make-cairo-boilerplate-constructors.sh | 7 ++++++- - test/make-cairo-test-constructors.sh | 7 ++++++- - 2 files changed, 12 insertions(+), 2 deletions(-) - -commit b509b548b1e3ac5a9e3de2f9652cd1973d295fa3 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Fri Jul 24 09:12:10 2009 +0300 - - [trace] Check for __builtin_return_address explicitly. - - Some other compilers such as clang and icc support the - __builtin_return_address() intrinsic as well, so we don't - need to check for __GNUC__ >= 3 only. - - build/configure.ac.system | 12 ++++++++++++ - util/cairo-trace/trace.c | 2 +- - 2 files changed, 13 insertions(+), 1 deletion(-) - -commit 2b0e070f6a6bee415b1036fd149f0c41bcf87abb -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Fri Jul 24 07:48:57 2009 +0300 - - [trace] Replace an open coded test for matrix identity. - - The code has a _matrix_is_identity() function we can use - instead of open coding the same test. - - util/cairo-trace/trace.c | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -commit 70ea9e3ce1b0037999340e484e62d3a1484da41a -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Fri Jul 24 07:46:20 2009 +0300 - - [trace] Don't crash on unknown enums values. - - If the tracer encounters an unknown enum value it - ought not to crash. Theis patch replaces the idiom - of looking up a name for an enumerated value directly - from a table by a switch statement. As a bonus we get - warnings from the compiler when the enums are updated - in cairo. - - util/cairo-trace/trace.c | 313 ++++++++++++++++++++++++++--------------------- - 1 file changed, 172 insertions(+), 141 deletions(-) - -commit 174c2620c82a47d067ec7b5062a4f513155a0b1f -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Fri Jul 24 07:42:57 2009 +0300 - - [trace] Check for object stack underflow. - - If the tracer's object stack underflows we want to - know about is as soon as possible. This patch adds - checks against the stack overflowing and aborts the - program with an object stack dump if it does. - - util/cairo-trace/trace.c | 26 ++++++++++++++++++++++++-- - 1 file changed, 24 insertions(+), 2 deletions(-) - -commit bb480d235882d8e7d5748a3837f9b274a8b8ac86 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Tue Jul 21 21:18:36 2009 +0300 - - [NEWS] Thank the AuroraUX team for facilitating Solaris testing. - - NEWS | 5 +++++ - 1 file changed, 5 insertions(+) - -commit c64f6f8a15306cdcf5dd02480049b0f9112fd6ac -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Fri Jun 26 16:54:11 2009 +0300 - - [trace] Get the tracee program name from the environment. - - Support non-Linux systems which don't have a /proc/self/cmdline - by transferring the application name given to cairo-trace via - an environment variable CAIRO_TRACE_PROG_NAME. - - util/cairo-trace/cairo-trace.in | 3 ++- - util/cairo-trace/trace.c | 31 +++++++++++++++++++------------ - 2 files changed, 21 insertions(+), 13 deletions(-) - -commit 17cdffafda04514f08e0f0f11d0a85b938282c38 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 2 00:41:18 2009 +0100 - - [xlib] Remove stray code - - Grr. Should have spotted this before pushing - remove the addition of the - superfluous code. - - src/cairo-xlib-surface.c | 13 ++----------- - 1 file changed, 2 insertions(+), 11 deletions(-) - -commit 59c4fe93ee30c8182ae1a29267b9c08602e2f6c5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 2 00:34:37 2009 +0100 - - [xlib] Eliminate GC clipping - - Eradicate the use of clipping with GC. By never using clipping, we never - have to worry about retrieving a dirty clip from the GC cache. - - src/cairo-xlib-private.h | 12 +-- - src/cairo-xlib-screen.c | 50 ++++------ - src/cairo-xlib-surface-private.h | 2 - - src/cairo-xlib-surface.c | 197 ++++++++++++++++++--------------------- - 4 files changed, 116 insertions(+), 145 deletions(-) - -commit 075fc5666abe006c434bf7ec28d2d4f0226a1d3a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 2 00:33:22 2009 +0100 - - [test] Add clip-image - - Exercise the XCopyArea() paths under clipping - whilst modifying that code - I noticed that it was not being exercised by the test suite. - - test/Makefile.am | 1 + - test/Makefile.sources | 1 + - test/clip-image.c | 94 ++++++++++++++++++++++++++++++++++++++++++++++++ - test/clip-image.ref.png | Bin 0 -> 2679 bytes - 4 files changed, 96 insertions(+) - -commit 7d1eb259f93d3f2f2e754b2b8b90cb88359b477d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Sep 1 23:12:43 2009 +0100 - - [xlib] Make xlib_display_t private and rename xlib_screen_info_t - - The issue Joonas was trying to solve was the unwanted inclusion of - the inlines via cairo-freelist-private.h. Unwittingly he included - cairoint.h from cairo-xlib-private.h instead, a far more heinous crime as - that causes the boilerplate to try to use the hidden, private symbols. - Instead we resolve this issue by making the cairo_xlib_display_t structure - private to cairo-xlib-display.c and provide functions to manipulate the - abstract data type. Whilst in the vicinity, we rename - cairo_xlib_screen_info_t to cairo_xlib_screen_t for consistency and - cleanliness. - - src/cairo-xlib-display.c | 126 ++++++++++++++++++++++++++-- - src/cairo-xlib-private.h | 88 ++++++++++++-------- - src/cairo-xlib-screen.c | 155 ++++++++++++++++------------------- - src/cairo-xlib-surface-private.h | 3 +- - src/cairo-xlib-surface.c | 173 ++++++++++++++++++++++----------------- - 5 files changed, 339 insertions(+), 206 deletions(-) - -commit b8ddd66cf6e0d16383580c3c3398343f577b89fd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Sep 1 21:49:01 2009 +0100 - - Revert "[freelist] Make _cairo_freepool_alloc_from_new_pool static inline." - - This reverts commit 5a3fa29b370816acb3a08d60e4031ed82c1e4c73 as it breaks - the boilerplate when linking with gcc. - - src/cairo-freelist-private.h | 29 ++--------------------------- - src/cairo-freelist.c | 29 +++++++++++++++++++++++++++++ - 2 files changed, 31 insertions(+), 27 deletions(-) - -commit 5a3fa29b370816acb3a08d60e4031ed82c1e4c73 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Tue Sep 1 20:57:01 2009 +0100 - - [freelist] Make _cairo_freepool_alloc_from_new_pool static inline. - - The xlib boilerplate includes a cairo private header to be able - to disable usage of the render extension. This indirectly includes - cairo-freelist-private.h which contains a bunch of static inline - functions which use the private _cairo_freepool_alloc_from_new_pool - function, but since that is not inline also, it causes an undefined - extern which cannot be resolved. The binutils linker doesn't care - since the freelist function aren't actually used in the boilerplate - but the Solaris linker does. By making the .._alloc_from_new_pool - function inline no dangling references are created and linking - succeeds. - - src/cairo-freelist-private.h | 29 +++++++++++++++++++++++++++-- - src/cairo-freelist.c | 29 ----------------------------- - 2 files changed, 27 insertions(+), 31 deletions(-) - -commit 68c8eb955d6d16872c2fa488f0960b974611865d -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Mon Aug 31 23:57:20 2009 +0100 - - [wrapper] Avoid a void return gccism. - - Returning void using the pattern "return func_returning_void(...)" - is a gccism not supported by Sun Studio 12. - - src/cairo-surface-wrapper.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6ddab64025eacd5000fa295c86c0fddc469bdc5f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Sep 1 20:25:53 2009 +0100 - - [ps] Clip meta-surface to desired extents. - - Ensure that the meta surface does not extend beyond the operation by - forcing a clip to the extents of the operation. - - Fixes test/device-offset and test/device-offset-positive - - src/cairo-ps-surface.c | 46 +++++++++++++++++++++++++++++++++++++++++++--- - 1 file changed, 43 insertions(+), 3 deletions(-) - -commit 665f5829541703b29e33f80bebf579a17f47a892 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Sep 1 18:24:42 2009 +0100 - - [ps/pdf] Trim patterns to operation extents - - If we have to rasterise a pattern for use by PS/PDF (for example, to - satisfy CAIRO_EXTENT_PAD) then only generate an image large enough to - cover the operation extents. We ensure tight coverage by computing the - extents afresh - we could do this lazily in the future, but we can not - rely on the bounds as computed by the analysis surface as for native - operations they may not be tight. - - src/cairo-pdf-surface.c | 67 +++++++++++++++++--- - src/cairo-ps-surface.c | 76 +++++++++++++++-------- - src/cairo-surface.c | 162 ++++++++++++++++++++++++++++++++++++++++++++++++ - src/cairoint.h | 49 +++++++++++++++ - 4 files changed, 319 insertions(+), 35 deletions(-) - -commit c4c7db96750337076b953a4938afc7b5f16815fc -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Sep 1 14:59:36 2009 +0100 - - [boilerplate] Use xlib as fallback reference for xcb - - And exercise RGB code-paths. - - boilerplate/cairo-boilerplate-xcb.c | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -commit e7a118d3f82f2cbefb4a1529cc90f76ed7371ecc -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Sep 1 14:31:38 2009 +0100 - - [path] Standalone header-compilation - - Hmm, TRUE/FALSE apparently weren't defined before use. Odd. - - src/cairo-path-fixed-private.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 4f880deeabc36842b3b4b0d7ad16383db708cd42 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Sep 1 14:24:59 2009 +0100 - - Compiler warnings - - Add an impossible default condition to avoid a compiler warning. And tweak - the code to avoid mismatching signed/unsigned comparisons. - - src/cairo-pdf-surface.c | 1 + - src/cairo-xml-surface.c | 8 ++++---- - 2 files changed, 5 insertions(+), 4 deletions(-) - -commit 1bcc3a3fa00445667adc47d4852237271c7eec0f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Sep 1 14:24:06 2009 +0100 - - [tee] Rename 'append' to 'add' and add symmetric 'remove' - - src/cairo-tee-surface.c | 51 ++++++++++++++++++++++++++++++++++++++++++++----- - src/cairo.h | 8 ++++++-- - util/cairo-fdr/fdr.c | 2 +- - util/cairo-sphinx/fdr.c | 2 +- - 4 files changed, 54 insertions(+), 9 deletions(-) - -commit af82670dd3bfdb661de5a01a6856ec01bdf80040 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Sep 1 13:31:52 2009 +0100 - - [pattern] Remove unused hidden symbol for cairo_pattern_status() - - src/cairo-pattern.c | 9 ++++----- - src/cairoint.h | 1 - - 2 files changed, 4 insertions(+), 6 deletions(-) - -commit aca1dff25967940c36caee26977512484f1720ac -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Mon Aug 31 22:28:26 2009 +0930 - - PDF: Ensure operator is selected before painting surface - - src/cairo-pdf-surface.c | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -commit a402bdbd32d3ffe4b564318e6dd83831328257b1 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Mon Aug 31 22:15:57 2009 +0930 - - PDF: Flush operators before writing to the PDF stream - - src/cairo-pdf-surface.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 119355b2a4d81c903720484adaeb7dea3929ca1f -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Mon Aug 31 22:14:15 2009 +0930 - - PDF: Reset alpha to 1.0 before painting a surface - - Fixes a test suite regression. - - src/cairo-pdf-surface.c | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -commit 20bd7d0edbb01a52bcc88bddcba4cc5237f3a673 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Mon Aug 31 22:03:34 2009 +0930 - - Update ref images - - test/meta-surface-pattern.pdf.argb32.ref.png | Bin 3835 -> 3908 bytes - test/meta-surface-pattern.pdf.rgb24.ref.png | Bin 3682 -> 3760 bytes - test/rotate-image-surface-paint.pdf.xfail.png | Bin 207 -> 217 bytes - test/scale-offset-image.pdf.argb32.ref.png | Bin 0 -> 9981 bytes - test/scale-offset-image.pdf.ref.png | Bin 10099 -> 0 bytes - test/scale-offset-image.pdf.rgb24.ref.png | Bin 0 -> 9981 bytes - test/scale-offset-similar.pdf.argb32.ref.png | Bin 0 -> 11027 bytes - test/scale-offset-similar.pdf.ref.png | Bin 10890 -> 0 bytes - test/scale-offset-similar.pdf.rgb24.ref.png | Bin 0 -> 11027 bytes - test/surface-pattern-scale-down.pdf.ref.png | Bin 1589 -> 1603 bytes - test/surface-pattern-scale-up.pdf.ref.png | Bin 2712 -> 2793 bytes - 11 files changed, 0 insertions(+), 0 deletions(-) - -commit 135912721f5791ad8eac773fd042c751122c8760 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Aug 30 23:58:53 2009 +0930 - - PDF: Avoid using patterns when filling a surface with EXTEND_NONE - - The fill equivilant of the previous optimization. - - src/cairo-pdf-surface.c | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - -commit 6512faeb9487dcc2d577b5fb3628cf7f13a25c0a -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Aug 30 23:38:17 2009 +0930 - - PDF: Avoid using patterns when painting surfaces with EXTEND_NONE - - This is an optimization the PS surface has been using to improve - printing speed and prevent printers from choking on large - images. Applying this optimzation to PDF prevents the same problem - occuring when the PDF is converted to PS. - - src/cairo-pdf-surface.c | 58 +++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 58 insertions(+) - -commit 26d568a9ada523793b2e5855678922894e438ef4 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Aug 30 23:50:53 2009 +0930 - - PDF: Fix bug when when embedding surfaces - - src/cairo-pdf-surface.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit feaf38d0cdc5a79966d3a412b644705b0f38e75a -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Mon Aug 31 16:25:08 2009 +0300 - - [test] Use HAVE_FLOCKFILE instead of _POSIX_C_SOURCE. - - The _POSIX_C_SOURCE 2001.. #define requires C99 mode and - clang on Solaris is strict about such things. Use configure - tests for flockfile() instead. - - test/cairo-test.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit 9bb469c51cf580e3ae18b21b3847488e8c4be051 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Fri Jul 24 06:15:46 2009 +0300 - - [trace] Use HAVE_FLOCKFILE/FUNLOCKFILE since configure test for them. - - The trace source was using the flockfile() and funlockfile() - functions directly. - - util/cairo-trace/trace.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit b5cf24a4fb0e48a0067c4b5a706890d4c1f3f1ae -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Fri Jun 26 20:06:40 2009 +0300 - - [build] Remove duplicate invocation of AC_CHECK_HEADERS. - - The fenv.h stuff was checked twice. - - build/configure.ac.system | 3 --- - 1 file changed, 3 deletions(-) - -commit 3acccf0ea5ca1fde9cf6b91677588680a2644ee6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Aug 30 12:33:40 2009 +0100 - - [perf] Trim outliers from chart - - Use "mild outliers" method to remove exceptional speed-ups and slow-downs - from the graph, so that the majority of information is not lost by the - scaling. Add the timing labels to the bars so that the true factor is - always presented. - - perf/cairo-perf-chart.c | 211 +++++++++++++++++++++++++++++++++++++++--------- - 1 file changed, 172 insertions(+), 39 deletions(-) - -commit 687462be89fd0ddf6b5412f2cb7b4f7b1a80135c -Author: Carlos Garcia Campos <carlosgc@gnome.org> -Date: Sun Aug 30 12:07:28 2009 +0200 - - [build] Fix a typo in configure.ac - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a6bcb6260ec8982493ac3411436ec007b40e4501 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Aug 30 10:09:51 2009 +0100 - - [bo-rectangular] Fix assertion failure with insertion sort - - We remember the location of the last insert as the next edge is likely to - be nearby. However, we need to be careful when the pointer rests upon the - HEAD and ensure that we begin the search from the appropriate end. - - src/cairo-bentley-ottmann-rectangular.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 19ebf83b6717e1f02e7be14218007858edf14ef0 -Merge: 40aefac5d a77f1933a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Aug 29 17:45:48 2009 +0100 - - Merge branch 'stroke-with-spans' - - This branch brings self-intersection removal with virtually no - performance regression. (Compare with the initial implementation that - incurred a 5-10x slowdown due to having to tessellate whole strokes at a - time.) The importance of self-intersection removal is the improved visual - quality it brings - gone are those annoying sparkles on the outside of - rounded-rectangles for instance. Most of the performance overhead - associated with the self-intersection removal is avoided by switching from - trapezoids to spans for strokes. Obviously we are not able to do so for - the xlib backend as we do not yet have a polygon image type, and so the - tessellators are overhauled instead, along with more special casing for - frequent operations to avoid the increased complexity along the general - paths. - - Speedups - ======== - xlib-rgba swfdec-youtube-0 11371.13 (11406.01 0.28%) -> 10450.00 (10461.84 0.66%): 1.09x speedup - ▏ - image-rgba firefox-talos-svg-0 73696.53 (73828.28 3.42%) -> 68324.30 (70269.79 1.36%): 1.08x speedup - ▏ - image-rgba swfdec-youtube-0 7843.08 (7873.89 2.57%) -> 7393.96 (7399.68 0.18%): 1.06x speedup - - xvfb-rgba swfdec-youtube-0 9627.25 (9634.43 0.16%) -> 9020.55 (9040.97 0.27%): 1.07x speedup - ▏ - Slowdowns - ========= - xvfb-rgba gnome-terminal-vim-0 7695.12 (7697.87 0.44%) -> 8569.45 (8588.29 0.19%): 1.11x slowdown - ▏ - xvfb-rgba swfdec-giant-steps-0 3811.77 (3815.06 0.23%) -> 4246.67 (4569.17 3.52%): 1.11x slowdown - ▏ - image-rgba gvim-0 7150.90 (7181.96 29.36%) -> 14641.04 (14651.36 0.11%): 2.05x slowdown - █ - - One method for overcoming these regressions is to reduce the complexity of - the polygons being fed into the tessellator (both in the number of edges - and intersections). This should be feasible by coupling into Jeff Muizelaar's - stroke-to-path work, which early indications suggest will bring a - significant performance improvement. On top of this, our span - implementation for the image backend is not as efficient as we would hope - for - and Joonas promises a much faster implementation soon. - -commit a77f1933afebe28e0651906c96fd098cd8267a9f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Aug 29 14:23:41 2009 +0100 - - Use the more generic is_box when doing simple extent checks - - is_rectangle() is far stricter than is_box(), and is only required for a - very limited set of operations (essentially were the rectangle must - conform to the motion as described by cairo_rectangle). For the general - case where we just want to know whether we have a single rectangular path - that covers a certain area, is_box() is sufficient. - - src/cairo-pdf-surface.c | 2 +- - src/cairo-ps-surface.c | 2 +- - src/cairo-script-surface.c | 4 ++-- - src/cairo-svg-surface.c | 2 +- - 4 files changed, 5 insertions(+), 5 deletions(-) - -commit 0a548d08b5eae73a95fb41f41298c9c43379163e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Aug 29 16:27:27 2009 +0100 - - [clip] Correctly compute a geometric mask for a rectilinear + arbitrary - - Fix up the geometric clipper to handle intersecting a rectilinear path - with an arbitrary path and inspecting the result to see if it becomes a - a region. - - src/cairo-clip.c | 47 ++++++++++++++++++++++++++++++++++++++--------- - 1 file changed, 38 insertions(+), 9 deletions(-) - -commit 8a323d7c8998f308fc222d65badb1289e3f7fb54 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Aug 29 14:15:07 2009 +0100 - - [clip] Apply surface offset when combining with clip mask - - In order to correctly combine the clip mask with the compositing mask the - clip path must be offset so that it is relative to the destination - surface. - - src/cairo-clip-private.h | 2 +- - src/cairo-clip.c | 85 ++++++++++++++++++++++-------------------- - src/cairo-region.c | 8 +++- - src/cairo-surface-fallback.c | 8 +--- - src/cairo-traps.c | 8 +--- - src/cairo.h | 2 +- - test/clip-stroke.xlib.ref.png | Bin 1563 -> 1490 bytes - 7 files changed, 56 insertions(+), 57 deletions(-) - -commit 21225a7163bc93d34d3e395c840faaba24046bb6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Aug 29 12:08:12 2009 +0100 - - [clip] Pass in destination offset for combining with clip-mask - - When combining a clip-mask with a subsurface, as when used to combine with - the composite mask, we need to pass the destination surface offset to the - clip so that the paths can be corrected for the new surface. - - src/cairo-clip-private.h | 4 +++- - src/cairo-clip.c | 45 ++++++++++++++++++++++---------------------- - src/cairo-surface-fallback.c | 14 +++++++++----- - 3 files changed, 34 insertions(+), 29 deletions(-) - -commit ac6c6fe1d39effd5b6b382f0f1199af824868ef4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Aug 29 12:07:20 2009 +0100 - - [test] Add rotated clip. - - Exercise a bug found in not offsetting the clip mask when combining with - the composite mask. - - test/Makefile.am | 3 ++ - test/Makefile.sources | 1 + - test/rotated-clip.c | 110 +++++++++++++++++++++++++++++++++++++++++ - test/rotated-clip.ps.ref.png | Bin 0 -> 3378 bytes - test/rotated-clip.ref.png | Bin 0 -> 3761 bytes - test/rotated-clip.xlib.ref.png | Bin 0 -> 3922 bytes - 6 files changed, 114 insertions(+) - -commit c60280782dfac7de1abe3230a500c7c98735dc02 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Aug 29 09:59:36 2009 +0100 - - [script] Implement invert - - Flesh out matrix inversion. - - util/cairo-script/cairo-script-operators.c | 26 +++++++++++++++++++++++++- - 1 file changed, 25 insertions(+), 1 deletion(-) - -commit 06ca0b1475caf709fdf32b10a891dfb3b47cc6b1 -Author: Damian Frank <damianf@ubuntu-vm.(none)> -Date: Fri Aug 14 11:35:55 2009 -0500 - - Fix build on systems with older Xrender headers. - - This patch revises xlib so that it doesn't depend on having recent - Xrender headers to build. In particular, some definitions were added - to the private xrender header file, and an ifdef render version check - CAIRO_SURFACE_RENDER_SUPPORTS_OPERATOR was changed to a run-time - check using CAIRO_SURFACE_RENDER_HAS_PDF_OPERATORS. - - src/cairo-xlib-display.c | 7 ++++ - src/cairo-xlib-surface.c | 30 ++------------ - src/cairo-xlib-xrender-private.h | 90 ++++++++++++++++++++++++++++++++++++---- - 3 files changed, 93 insertions(+), 34 deletions(-) - -commit 17ef949b6aaa812dd566f1db016055f8e1913320 -Author: Damian Frank <damianf@ubuntu-vm.(none)> -Date: Fri Aug 14 11:38:52 2009 -0500 - - Rename cairo-script static func to avoid MinGW conflict - - cairo-script-operators.c's _dup function was colliding with one - defined in io.h by MinGW (gcc 4.3.0 package). I renamed it - to _duplicate. - - util/cairo-script/cairo-script-operators.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 3e7e0eacef650f1035cfbe15e306116ff711f99c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Aug 29 17:07:41 2009 +0100 - - Update reference images - - Refresh the test reference images to match the current output where - acceptable. - - test/Makefile.am | 14 ++++++++++++-- - test/clip-fill.xlib-fallback.ref.png | Bin 1039 -> 1063 bytes - test/clip-operator.pdf.argb32.ref.png | Bin 9340 -> 9266 bytes - test/clip-operator.pdf.rgb24.ref.png | Bin 5146 -> 5166 bytes - test/clip-operator.ref.png | Bin 8191 -> 8126 bytes - test/clip-operator.rgb24.ref.png | Bin 3279 -> 3244 bytes - test/clip-operator.svg12.argb32.xfail.png | Bin 8404 -> 8378 bytes - test/clip-operator.svg12.rgb24.xfail.png | Bin 4523 -> 4566 bytes - test/clip-operator.xlib-fallback.ref.png | Bin 3226 -> 3228 bytes - test/clip-push-group.svg.ref.png | Bin 0 -> 175 bytes - test/clip-stroke.ref.png | Bin 1528 -> 1451 bytes - test/clip-stroke.xlib-fallback.ref.png | Bin 1566 -> 1490 bytes - test/clip-stroke.xlib.ref.png | Bin 1563 -> 1563 bytes - test/clip-text.svg.ref.png | Bin 933 -> 946 bytes - test/clipped-group.ref.png | Bin 316 -> 289 bytes - test/clipped-group.svg.ref.png | Bin 0 -> 250 bytes - test/device-offset-fractional.pdf.xfail.png | Bin 275 -> 270 bytes - test/extended-blend-alpha.svg12.argb32.xfail.png | Bin 6857 -> 6658 bytes - test/filter-nearest-offset.pdf.xfail.png | Bin 1926 -> 2152 bytes - test/filter-nearest-transformed.pdf.xfail.png | Bin 488 -> 532 bytes - test/ft-text-vertical-layout-type1.svg.ref.png | Bin 3609 -> 3607 bytes - test/ft-text-vertical-layout-type1.xlib.ref.png | Bin 3640 -> 3639 bytes - test/ft-text-vertical-layout-type3.svg.ref.png | Bin 3626 -> 3626 bytes - test/ft-text-vertical-layout-type3.xlib.ref.png | Bin 3605 -> 3605 bytes - test/group-unaligned.svg.argb32.xfail.png | Bin 522 -> 520 bytes - test/leaky-dashed-rectangle.pdf.ref.png | Bin 347 -> 380 bytes - test/mask-glyphs.svg.ref.png | Bin 1211158 -> 1211144 bytes - test/mask.pdf.argb32.ref.png | Bin 7837 -> 7866 bytes - test/mask.pdf.rgb24.ref.png | Bin 7301 -> 7336 bytes - test/mask.svg.argb32.xfail.png | Bin 8613 -> 8641 bytes - test/mask.svg.rgb24.xfail.png | Bin 7189 -> 7199 bytes - test/operator-source.svg12.argb32.xfail.png | Bin 2951 -> 2967 bytes - test/operator-source.svg12.rgb24.xfail.png | Bin 2963 -> 2976 bytes - test/overlapping-glyphs.svg.argb32.ref.png | Bin 0 -> 2338 bytes - test/overlapping-glyphs.svg.rgb24.ref.png | Bin 0 -> 2338 bytes - test/radial-gradient.pdf.ref.png | Bin 277162 -> 280944 bytes - test/radial-gradient.svg.xfail.png | Bin 0 -> 264425 bytes - test/random-intersections-curves-eo.ref.png | Bin 246996 -> 245762 bytes - ...m-intersections-curves-eo.xlib-fallback.ref.png | Bin 246243 -> 244255 bytes - test/random-intersections-curves-eo.xlib.ref.png | Bin 246243 -> 244255 bytes - test/random-intersections-curves-nz.ref.png | Bin 267589 -> 264545 bytes - ...m-intersections-curves-nz.xlib-fallback.ref.png | Bin 266364 -> 264288 bytes - test/random-intersections-curves-nz.xlib.ref.png | Bin 266360 -> 264288 bytes - ...df.xfail.png => scale-offset-image.pdf.ref.png} | Bin 10099 -> 10099 bytes - test/scale-offset-image.script.xfail.png | Bin 0 -> 9963 bytes - test/scale-offset-similar.pdf.ref.png | Bin 0 -> 10890 bytes - test/scale-offset-similar.pdf.xfail.png | Bin 11024 -> 0 bytes - test/scale-offset-similar.script.xfail.png | Bin 0 -> 9963 bytes - test/self-intersecting.ref.png | Bin 301 -> 213 bytes - test/smask-text.script.ref.png | Bin 0 -> 1663 bytes - test/smask.pdf.xfail.png | Bin 4393 -> 2848 bytes - test/smask.script.ref.png | Bin 0 -> 3396 bytes - test/text-pattern.pdf.argb32.ref.png | Bin 1831 -> 1810 bytes - test/text-pattern.pdf.rgb24.ref.png | Bin 1598 -> 1559 bytes - test/unbounded-operator.svg12.rgb24.xfail.png | Bin 1719 -> 1731 bytes - test/user-font-proxy.svg.ref.png | Bin 16817 -> 16814 bytes - test/user-font.pdf.ref.png | Bin 0 -> 6241 bytes - 57 files changed, 12 insertions(+), 2 deletions(-) - -commit 155e10e632cb647df5c3d54a75975bc16591287d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Aug 29 08:04:33 2009 +0100 - - [script] Fix use of freed list - - A typo, I missed converting the user over to the freshly sorted list, - leaving it iterating over original but checking the sorted for termination - conditions. - - src/cairo-script-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 5393aa6d6c4676f20d316f3cd0a18bb497574e50 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Aug 29 08:02:52 2009 +0100 - - [path] Return the canonical box. - - When returning the single box that represents a path, always return it - consistently wound. - - src/cairo-path-fill.c | 32 -------------------------------- - src/cairo-path-fixed.c | 28 ++++++++++++++++++++++++---- - 2 files changed, 24 insertions(+), 36 deletions(-) - -commit afea5eb79d2159fe9a5dc1a1a7b9445e40fbb474 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Aug 28 17:10:35 2009 +0100 - - [scaled-font] Fix implementation-face refleak - - If we found the font via the holdover cache, or if we returned due to an - error, we would leak a reference count on the implementaton face. - - src/cairo-scaled-font.c | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -commit e5d44937f34d35606ad7f07415be7331cf146567 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Aug 28 17:09:54 2009 +0100 - - [ft] Improve error path handling. - - Specifically check for an error during resolving the font and do not cache - the error object. - - src/cairo-ft-font.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit e76856e6ee563affc0a273ed6eef865866802dec -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Aug 28 15:51:33 2009 +0100 - - [scaled-font] Refleak on error path. - - Perform the destroy of the local font before returning along the error - path. - - src/cairo-scaled-font.c | 9 ++++----- - 1 file changed, 4 insertions(+), 5 deletions(-) - -commit d7d6f75ed26bc3ea040c618442ba71c89633ac7b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Aug 28 15:50:13 2009 +0100 - - [clip] Fix refleak of previous clipping surfaces. - - When combining previous clip masks, we leaked a referenced due to not - destroying the returned reference. - - src/cairo-clip.c | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -commit 52e5ce3a36ab1cd7da25056df7f12ac0b23e410d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 27 17:25:08 2009 +0100 - - [test] Add clip-stroke - - Soeren was the first to report a clipping regression in the xlib backend - with strokes, and provided a test case to exercise the bug. This is an - extension of his test to provide coverage of different clipping and - stroking methods. - - test/Makefile.am | 3 + - test/Makefile.sources | 1 + - test/clip-stroke.c | 121 +++++++++++++++++++++++++++++++++ - test/clip-stroke.ref.png | Bin 0 -> 1528 bytes - test/clip-stroke.xlib-fallback.ref.png | Bin 0 -> 1566 bytes - test/clip-stroke.xlib.ref.png | Bin 0 -> 1563 bytes - 6 files changed, 125 insertions(+) - -commit 20cdb99ae8ae0cc02193468e811b1b74b3f6d3b7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 27 16:21:30 2009 +0100 - - [path-fixed] Distinguish cw and ccw boxes - - To correctly handle retessellating trapezods constructed from alternately - wound boxes, then we need to pass that information from the path to the - tessellator. We do this by switching the direction of the box if the first - edge is horizontal as opposed to vertical. - - src/cairo-path-fixed.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 219d46a9ebc47f99fa8fe9c6e3f0aa440309f032 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 27 14:45:24 2009 +0100 - - [scaled-font] Eliminate intermediate path when tracing glyphs - - Currently the tracing code for glyphs constructs an temporary path in - order to replay and append to the output. This temporary allocation is - extremely wasteful as we can just directly append the glyph path to - the output path. - - src/cairo-scaled-font.c | 51 +++++++++++++++++++++---------------------------- - 1 file changed, 22 insertions(+), 29 deletions(-) - -commit 2e05922737d63289a3f124699359b8d385315cbd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 27 13:58:43 2009 +0100 - - [stroke] Handle degenerate stroke extents - - If the stroke is degenerate, i.e. the path consists only of a single - move-to and no edges, then the stroke may be visible due to end-capping - (as opposed to fills which are empty). So we also need to pad out the - extents around the current point for the degenerate case. - - src/cairo-path-bounds.c | 31 +++++++++++++------------------ - 1 file changed, 13 insertions(+), 18 deletions(-) - -commit cfd78393f357bc69233d4d00d0fb3a2ff736f1a7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Aug 26 23:32:34 2009 +0100 - - [path] Handle the implicit close for path_fixed_is_box() - - _cairo_path_fixed_is_box() is only called for filled paths and so must - handle the implicit close (which was already being correctly handled by - _cairo_path_fixed_iter_is_box). - - src/cairo-path-fixed.c | 33 ++++++++++++++++++--------------- - 1 file changed, 18 insertions(+), 15 deletions(-) - -commit f22045bb4b9e700ce223c259ad41403dc7efe81f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Aug 26 23:30:02 2009 +0100 - - [fallback] Include implicit closes in the check for rectilinear paths - - Fixes test/implicit-close - - By forgetting the implicit-close when checking for rectilinear paths, we - tried to feed the triangle (and other diagclose) into the specialised - rectilinear tesselators which completely mishandled that final edge. - - src/cairo-path-fixed-private.h | 14 ++++++++++++++ - src/cairo-surface-fallback.c | 6 ++++-- - 2 files changed, 18 insertions(+), 2 deletions(-) - -commit 92f6f275fcb5407baf908485ffd08b6787b2caf9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Aug 26 23:27:46 2009 +0100 - - [test] Implicit close - - This is a simple test that broke with the determination of rectilinearity - during path construction. I forgot the implicit close on fill and so the - ignored the final diagonal edge and failed to draw the triangle. - - test/Makefile.am | 1 + - test/Makefile.sources | 1 + - test/implicit-close.c | 54 ++++++++++++++++++++++++++++++++++++++++++++ - test/implicit-close.ref.png | Bin 0 -> 251 bytes - 4 files changed, 56 insertions(+) - -commit 8078cd194e95a10cf653c970d1ddd39049a511f2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Aug 23 15:25:42 2009 +0100 - - [boilerplate] Runtime library check - - For the purposes of benchmarking it is useful to run cairo-perf against a - different library from the one it was compiled against. In order to do so, - we need to check that the runtime library contains the required entry - points for our targets - which we can check by using dlsym. - - boilerplate/Makefile.am | 3 +++ - boilerplate/cairo-boilerplate-directfb.c | 2 ++ - boilerplate/cairo-boilerplate-drm.c | 2 ++ - boilerplate/cairo-boilerplate-gl.c | 2 ++ - boilerplate/cairo-boilerplate-glitz-agl.c | 2 ++ - boilerplate/cairo-boilerplate-glitz-glx.c | 2 ++ - boilerplate/cairo-boilerplate-glitz-wgl.c | 2 ++ - boilerplate/cairo-boilerplate-pdf.c | 2 ++ - boilerplate/cairo-boilerplate-ps.c | 4 ++++ - boilerplate/cairo-boilerplate-quartz.c | 2 ++ - boilerplate/cairo-boilerplate-script.c | 1 + - boilerplate/cairo-boilerplate-skia.c | 2 ++ - boilerplate/cairo-boilerplate-svg.c | 4 ++++ - boilerplate/cairo-boilerplate-test-surfaces.c | 8 +++++++ - boilerplate/cairo-boilerplate-vg.c | 4 ++++ - boilerplate/cairo-boilerplate-win32-printing.c | 2 ++ - boilerplate/cairo-boilerplate-win32.c | 2 ++ - boilerplate/cairo-boilerplate-xcb.c | 1 + - boilerplate/cairo-boilerplate-xlib.c | 4 ++++ - boilerplate/cairo-boilerplate.c | 29 +++++++++++++++++++++++--- - boilerplate/cairo-boilerplate.h | 1 + - configure.ac | 7 +++++++ - 22 files changed, 85 insertions(+), 3 deletions(-) - -commit 7447915381fc64bd0c66f7110c1dd0b8a10d73f5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Aug 22 22:20:35 2009 +0100 - - [script] Conditionalise the build - - Allow the interpreter to be disabled if we can not satisfy its dependencies. - - configure.ac | 2 ++ - util/Makefile.am | 11 +++++++++-- - util/cairo-script/Makefile.am | 2 +- - 3 files changed, 12 insertions(+), 3 deletions(-) - -commit fcda9fc2f29c2ee7d0bb45c17a2261badfdf430c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Aug 22 18:48:33 2009 +0100 - - [scaled-font] Remove assert from cairo_scled_font_create() - - The assert() is only correct for the normal paths, but failed on the error - path. It has been run for long enough for me to be confident that the code - is self-consistent, so I think I can now safely remove it. - - src/cairo-scaled-font.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 93cfa7376fb505e676d113e8ef431bab9b497f56 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Aug 22 18:45:54 2009 +0100 - - [win32] Use the system scaled_font_done - - Pointless as both functions are empty, but lets be pedantically correct - nevertheless. - - src/cairo-win32-font.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 8654a4b35c060ab06860c124a643be912060c4a1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Aug 22 18:16:20 2009 +0100 - - [win32] Initialize clip_region - - Eek, I attempted to destroy an uninitialised region on the first use - of a clip. - - src/cairo-win32-surface.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 9b33a2e1c794996cbe4cb0a5c773d50566d46bd4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Aug 22 17:40:12 2009 +0100 - - [win32] Compiler warnings - - Innocuous warnings about the use of mismatching explicit casts (I'm really - not convinced by the merits of this particular compiler warning, but it - does cleanse the code slightly.) - - src/cairo-win32-printing-surface.c | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - -commit d1740d8782d90edb5b5e20dc5bcadb7a9eeeb4cc -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 20 21:11:11 2009 +0100 - - [pattern] Ensure that no repeated pattern is clipped - - Previously the pattern_acquire_surface routine only had to worry about - handling extend modes NONE or REPEAT and so the test for ! REPEAT - sufficed when what was actually intended was a test for NONE. - - src/cairo-pattern.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 958f7ab1238b8242975d3ea774c26d23e090e70c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Aug 19 12:35:00 2009 +0100 - - [script] Support running on cairo-1.8 - - Pre 1.9 the application had to pass a resolved font to cairo -- so do so - in the interpreter if the cairo version is less than 1.9 - - util/cairo-script/cairo-script-operators.c | 18 +++++++++++++++--- - 1 file changed, 15 insertions(+), 3 deletions(-) - -commit 87175334a574fa0f69679b1a0baeeb881eaa439b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Aug 21 15:51:12 2009 +0100 - - [gl] Use spans for trapezois. - - Always use spans, even for unaligned boxes. In the future (given a new - interface) we may want to emit the common unaligned box code more - efficient than a per-scanline computation -- but for now simply avoid the - requirements to write a temporary CPU buffer. - - src/cairo-gl-surface.c | 22 ++++++++++++++++++---- - src/cairo-image-surface.c | 4 +--- - src/cairo-surface-fallback.c | 10 ++-------- - src/cairo-surface.c | 27 ++++++++++----------------- - src/cairo-win32-surface.c | 4 +--- - src/cairoint.h | 18 ++++++++++++++---- - 6 files changed, 46 insertions(+), 39 deletions(-) - -commit e65dfacab5d123913a4b2f59967f27c0b0af0692 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Aug 21 15:50:24 2009 +0100 - - [gl] Simplify acquire_dest_image() - - Remove redundant code: the intersection of surface extents and the copy to - a temporary buffer. - - src/cairo-gl-surface.c | 53 ++++++++++++-------------------------------------- - 1 file changed, 12 insertions(+), 41 deletions(-) - -commit 5a13396373180ceae31287441ef9c838c771849d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Aug 21 15:48:38 2009 +0100 - - [gl] Use common ARRAY_LENGTH macro - - Forgo the local ARRAY_SIZE macro where the common one will suffice. - - src/cairo-gl-surface.c | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit efdb53425ee71b3bce6c92ce212f5baf3e2a43d7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Aug 21 11:58:31 2009 +0100 - - [qt] Discard impossible status return from path construction - - As we never return an error status during the path construction, we can - use the return value for the QPainterPath instead, greatly simplifying the - callers. - - src/cairo-qt-surface.cpp | 105 +++++++++++++++++++---------------------------- - 1 file changed, 42 insertions(+), 63 deletions(-) - -commit f2cde41cabaa0c190ef965f634cf2c73b6ba2334 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Aug 21 10:29:39 2009 +0100 - - [cairoint.h] Add missing cairo_private to debug prototypes. - - src/cairoint.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit b6d96bba8a4e9efe1033dd7fc875aba9bd8d0dc8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 20 20:31:49 2009 +0100 - - [win32] Trust the clipping code to trim roi to our surface - - The higher level code ensures that the region of interest is trimmed to - our declared surface extents, so performing the intersection again is - redundant. Furthermore with the change in the clipping code, the - fallback region is no longer clipped, especially as the clip that is - currently set upon the DC is likely to be stale and incorrect for the - fallback. - - Hopefully this resolves the assertion failure reported by Damian Frank, - http://lists.cairographics.org/archives/cairo/2009-August/018015.html - - CC: Damian Frank <damian.frank@gmail.com> - - src/cairo-win32-surface.c | 53 ++++++++--------------------------------------- - 1 file changed, 9 insertions(+), 44 deletions(-) - -commit d7faec024ac9f702c9bb305599ef8960a972491a -Author: Vladimir Vukicevic <vladimir@pobox.com> -Date: Mon Jun 15 11:15:22 2009 +0100 - - Add skia backend - - Originally written by Vladimir Vukicevic to investigate using Skia for - Mozilla, it provides a nice integration with a rather interesting code - base. By hooking Skia underneath Cairo it allows us to directly compare - code paths... which is interesting. - - [updated by Chris Wilson] - - boilerplate/Makefile.sources | 1 + - boilerplate/Makefile.win32.features | 10 + - boilerplate/cairo-boilerplate-skia.c | 50 ++ - build/Makefile.win32.features | 1 + - build/Makefile.win32.features-h | 3 + - build/configure.ac.features | 1 + - configure.ac | 13 + - perf/cairo-perf-trace.c | 3 + - perf/cairo-perf.c | 3 + - src/Makefile.sources | 3 + - src/Makefile.win32.features | 14 + - src/cairo-skia-surface.cpp | 1174 ++++++++++++++++++++++++++++++++++ - src/cairo-skia.h | 84 +++ - src/cairo.h | 4 +- - 14 files changed, 1363 insertions(+), 1 deletion(-) - -commit af6df4af51ad75a956e3b73542647206ab534bd2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 20 12:54:12 2009 +0100 - - [configure] Choose a better name for the 'temporary' egl iterator - - The problem is that it remains referenced by egl_NONPKGCONFIG_LIBS and so - must not be subsequently overwritten, so give it an egl_ prefix. - - configure.ac | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - -commit 83c2f44dd954cb491d72834d0362d6d801ef7651 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 20 12:16:55 2009 +0100 - - [test] Update REFERENCE_IMAGES - - test/Makefile.am | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit f99e1841448e98be6161be57551153a6d9e28a13 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 20 12:11:51 2009 +0100 - - [build] Remove -Wcast-align - - Use -Wcast-align simply generates too much noise due to false-positive - reports when casting pixels to uint32_t. - - build/configure.ac.warnings | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 5fdf5b311e06e49843e924523e9bc91ba14da3bb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Aug 19 08:35:01 2009 +0100 - - [fallback] Reduce paint + clipmask to fill - - Under simple, yet common, conditions using a bounded operator and painting - with a single complex clip we can reduce the strength of that operation to - a fill. In effect this removes the need for a temporary mask for some - backends (GL, drm, xlib). - - src/cairo-surface-fallback.c | 26 +++++++++++++++++--------- - 1 file changed, 17 insertions(+), 9 deletions(-) - -commit 425b0e35e2d7d44d99e22169b98fc3ca05763650 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 18 14:25:25 2009 +0100 - - Add xml surface - - A very simple surface that produces a hierarchical DAG in a simple XML - format. It is intended to be used whilst debugging, for example with the - automatic regression finding tools of cairo-sphinx, and with test suites - that just want to verify that their code made a particular Cairo call. - - boilerplate/Makefile.win32.features | 10 + - build/Makefile.win32.features | 1 + - build/Makefile.win32.features-h | 3 + - build/configure.ac.features | 1 + - configure.ac | 4 + - src/Makefile.sources | 18 +- - src/Makefile.win32.features | 14 + - src/cairo-base64-stream.c | 143 ++++ - src/cairo-base85-stream.c | 3 - - src/cairo-output-stream-private.h | 4 + - src/cairo-ps-surface.c | 4 + - src/cairo-script-surface.c | 18 +- - src/cairo-xml-surface.c | 1153 ++++++++++++++++++++++++++++++ - src/cairo-xml.h | 72 ++ - src/cairo.h | 4 +- - util/Makefile.am | 11 +- - util/cairo-script/cairo-script-scanner.c | 113 +++ - util/trace-to-xml.c | 77 ++ - util/xml-to-trace.c | 263 +++++++ - 19 files changed, 1902 insertions(+), 14 deletions(-) - -commit 6e0b3be903a6c3ad948de95f490cff92430429a6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 18 10:55:54 2009 +0100 - - Add cairo-sphinx utility for regression analysis - - sphinx is an alternate version of the current cairo-test-trace. It's - purpose is to replay a live application (which may just be a replay of a - trace) against a backend and its reference. The improvement over the - original cairo-test-trace is that the reference backend may be from an - older version of cairo. - - configure.ac | 6 + - util/Makefile.am | 6 + - util/cairo-sphinx/.gitignore | 1 + - util/cairo-sphinx/Makefile.am | 40 ++ - util/cairo-sphinx/fdr.c | 260 +++++++ - util/cairo-sphinx/sphinx.c | 1525 +++++++++++++++++++++++++++++++++++++++++ - 6 files changed, 1838 insertions(+) - -commit c980affce05590f5f52273ba340463f00773c776 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 18 10:54:26 2009 +0100 - - [script] Apply device offset when replaying meta surface - - As we set the size of the surface to fit the ink extents of the meta - surface, we also need to ensure that the origin of the script lies at the - origin of the ink extents. - - src/cairo-script-surface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit eb33f842dc9a2555ba8f7948f49a8335db951959 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Aug 17 11:38:52 2009 +0100 - - [meta] Missing status check - - We need to check the status on the created image before use. - - src/cairo-meta-surface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit ce6a2cc5d2cb8a299759d764de2e7d2b6b655cb4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Aug 17 10:31:47 2009 +0100 - - [wrapper] Always copy clip - - We always need to make a local copy of the clip as the backends are free - to modify it as they process the operation. - - src/cairo-surface-wrapper.c | 60 +++++++++++++++++++++++++++++++++------------ - 1 file changed, 44 insertions(+), 16 deletions(-) - -commit 6ff711b6305a9cf65e584d92258a6fa4e78c31ef -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Aug 17 10:11:32 2009 +0100 - - [matrix] Improve bbox finding for translation matrix - - If the matrix is a pure translation matrix than we can skip determination - of the extents and just translate the input bbox. - - src/cairo-matrix.c | 56 ++++++++++++++++++++++++++++-------------------------- - 1 file changed, 29 insertions(+), 27 deletions(-) - -commit cd7b27ff5c01a533c2c065c4b455ad19df2be3bb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Aug 16 21:08:22 2009 +0100 - - Add 'flight-data-recorder' utility. - - This is a simple variation on cairo-trace that wraps records the last 16 - contexts by wrapping the target surface inside a tee surface, along with a - meta/recording surface. Then on receipt of a SIGUSR1, those last 16 - contexts are played via a script-surface into /tmp/fdr.trace. - - Mostly proof-of-concept, it seems to be causing a number of rendering - glitches whilst testing with firefox -- otherwise, it seems to works. - - configure.ac | 1 + - src/cairo-scaled-font-private.h | 3 + - src/cairo-scaled-font.c | 16 +++ - src/cairo-script-surface.c | 58 +++++++- - src/cairo-script.h | 4 + - src/cairo.h | 4 + - util/Makefile.am | 3 + - util/cairo-fdr/Makefile.am | 13 ++ - util/cairo-fdr/fdr.c | 304 ++++++++++++++++++++++++++++++++++++++++ - 9 files changed, 400 insertions(+), 6 deletions(-) - -commit 658cdc7c9aac23f82f3ea5db8df10844aeb3ac75 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Aug 16 18:04:54 2009 +0100 - - Introduce cairo_tee_surface_t - - Add a new surface type that multiplies it input onto several output - surfaces. The only limitation is that it requires a master surface that is - used whenever we need to query surface options, such as font options and - extents. - - boilerplate/Makefile.win32.features | 8 + - build/Makefile.win32.features-h | 1 + - build/configure.ac.features | 1 + - configure.ac | 1 + - src/Makefile.sources | 6 +- - src/Makefile.win32.features | 8 + - src/cairo-surface-wrapper-private.h | 4 + - src/cairo-surface-wrapper.c | 7 + - src/cairo-surface.c | 11 + - src/cairo-tee-surface-private.h | 47 +++ - src/cairo-tee-surface.c | 558 ++++++++++++++++++++++++++++++++++++ - src/cairo.h | 13 +- - 12 files changed, 662 insertions(+), 3 deletions(-) - -commit 4ae7186719b25f052b875549cc5377e16a557512 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Aug 16 17:07:00 2009 +0100 - - [script] Correct emission of get_target() for a popped context - - If the context is no longer on the operand stack, then we need to recall - the surface via a definition. - - src/cairo-script-surface.c | 53 ++++++++++++++++++++++++++++------------------ - 1 file changed, 32 insertions(+), 21 deletions(-) - -commit 8d1bf830c0137eac837091bda92a636c0fcb0456 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Aug 16 14:20:35 2009 +0100 - - Fix errors found by clang - - Shadowed variables, unused writes and some dead code. - - src/cairo-pdf-surface.c | 2 -- - src/cairo-xlib-surface.c | 5 ++--- - util/cairo-script/cairo-script-file.c | 10 +++------- - util/cairo-script/cairo-script-operators.c | 23 ++++++++++++++++------- - util/cairo-trace/trace.c | 14 ++++++++------ - 5 files changed, 29 insertions(+), 25 deletions(-) - -commit d8dbce021a4493330864154e67ca6e4a1f2f50b2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Aug 16 13:26:59 2009 +0100 - - [script] recursive active (type3 glyphs) - - The assumption that an active surface could not recurse into another - operation was invalid - due to the complexity of handling type3 glyphs. - - src/cairo-script-surface.c | 11 +++++------ - 1 file changed, 5 insertions(+), 6 deletions(-) - -commit eba6b5126a55c84706e677b3fc88743f64cc28d7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Aug 16 12:47:14 2009 +0100 - - [build] Add options for warning about bad casts - - -Wbad-function-cast in particular. Triggers quite a few warnings where we - have explicitly cast to an integer. - - build/configure.ac.warnings | 9 +- - src/cairo-arc.c | 2 +- - src/cairo-pdf-surface.c | 8 +- - src/cairo-ps-surface.c | 20 ++-- - src/cairo-svg-surface.c | 4 +- - util/cairo-script/cairo-script-objects.c | 4 +- - util/cairo-script/cairo-script-operators.c | 172 +++++++++++++++++++---------- - util/cairo-script/cairo-script-private.h | 6 +- - 8 files changed, 143 insertions(+), 82 deletions(-) - -commit 33ef32af4e7adce41f035ee378279c19577469b0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Aug 16 12:46:20 2009 +0100 - - [clip] Use the rectangular tessellator to extract boxes - - src/cairo-clip.c | 17 ++++++++++------- - src/cairo-path-fill.c | 29 ++++++++++++++++++++++------- - src/cairo-surface-fallback.c | 8 ++++---- - 3 files changed, 36 insertions(+), 18 deletions(-) - -commit ab035ab2c7bec254fc94d6391398905b5039e777 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Aug 28 10:06:04 2009 +0100 - - [tessellate] Rectangular special case - - Add an even simpler sweep-line tessellator for rectangular trapezoids (as - produced by the rectilinear stoker and box filler). - - This is so simple it even outperforms pixman's region validation code for the - purposes of path-to-region conversion. - - src/Makefile.sources | 1 + - src/cairo-bentley-ottmann-rectangular.c | 733 ++++++++++++++++++++++++++++++++ - src/cairo-clip.c | 26 +- - src/cairo-path-fill.c | 40 +- - src/cairo-path-stroke.c | 3 +- - src/cairo-surface-fallback.c | 95 ++++- - src/cairo-traps.c | 28 +- - src/cairoint.h | 5 + - 8 files changed, 883 insertions(+), 48 deletions(-) - -commit d7b0c3b784faba756b10b66b9757e6e4c3fce38c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 13 22:03:06 2009 +0100 - - [script] Track scaled-font - - Instead of emitting the (font-face, matrix and options) elements when - setting up the desired font on the matrix, simply restore the scaled-font. - - src/cairo-script-surface.c | 39 ++++++++++++++++++++++----------------- - 1 file changed, 22 insertions(+), 17 deletions(-) - -commit 7306305cc898c9f27957c6c6717028cbdcff6a5a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 13 21:59:12 2009 +0100 - - [script] Emit surface content - - Include the desired content with the creation info. - - boilerplate/cairo-boilerplate-script.c | 2 +- - src/cairo-script-surface.c | 34 +++++++++++++++++++++------------- - src/cairo-script.h | 1 + - util/cairo-trace/trace.c | 5 ++++- - 4 files changed, 27 insertions(+), 15 deletions(-) - -commit 052211b072788f0977dccebdcf681d4874f2487a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 13 20:16:51 2009 +0100 - - [script] Garbage collect contexts on context switch - - Previously the contexts were permanently associated with the surface and - only destroyed along with the final reference to the surface. This meant - that we kept a large number of unwanted contexts in memory. Most - applications only have a few contexts active at any time, so remove - inactive contexts from the operand stack every time we perform an - operation on a different context. - - src/cairo-script-surface.c | 262 +++++++++++++++++++++++++++++++-------------- - 1 file changed, 184 insertions(+), 78 deletions(-) - -commit 8f8b91d9049433c9210e0b3aad574cf659862ae0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 13 18:37:01 2009 +0100 - - [script] Wrap snapshot. - - Use the snapshot of our target surface if available. - - src/cairo-script-surface.c | 20 ++++++++++++++++---- - src/cairo-surface-wrapper-private.h | 3 +++ - src/cairo-surface-wrapper.c | 6 ++++++ - 3 files changed, 25 insertions(+), 4 deletions(-) - -commit fee647c98506eedad0fea667a9442786cb0804b7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 13 18:35:48 2009 +0100 - - [script] Read from a FILE stream - - For ease of implementing the interpreter inside a pipeline, add a method - to execute a FILE *. - - util/cairo-script/cairo-script-interpreter.c | 22 ++++++++++++++++++++++ - util/cairo-script/cairo-script-interpreter.h | 4 ++++ - 2 files changed, 26 insertions(+) - -commit a9d997fecd54cea7dcd71487a24dbae14d0073a8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 13 17:21:05 2009 +0100 - - [script] Introduce cairo_script_context_t - - cairo_script_context_t is an encapsulation object for interfacing with the - output - multiple surfaces can share the same context, meaning that they - write to the same destination file/stream. - - boilerplate/cairo-boilerplate-script.c | 5 +- - boilerplate/cairo-boilerplate.c | 26 +--- - src/cairo-script-surface.c | 225 ++++++++++++++------------------- - src/cairo-script.h | 47 ++++--- - test/cairo-test-trace.c | 5 +- - util/cairo-script/csi-trace.c | 13 +- - util/cairo-trace/trace.c | 20 +-- - 7 files changed, 145 insertions(+), 196 deletions(-) - -commit 28887ac272c8a36a41da4d6d58044164b94da6f3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 13 16:38:08 2009 +0100 - - [trace] Fix emission of similar (track operands) - - util/cairo-trace/trace.c | 13 ++++++------- - 1 file changed, 6 insertions(+), 7 deletions(-) - -commit dbd9438f5d01666ea118254427c0dc66a519ec3e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 13 15:57:30 2009 +0100 - - [stroke] Only mark traps as having intersection if non-empty. - - We were hitting an assertion attempting to eliminate intersections inside - the rectilinear tessellator for empty strokes. We can avoid this - assertion, by only marking the traps as having potential intersections iff - it is non-empty. - - src/cairo-path-stroke.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit 60d73da9f2e148e982254c78773f0b925be184ff -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Aug 24 08:04:12 2009 +0100 - - [clip] Cache intermediate clip masks. - - As we now superimpose a per-operation clip, this defeats the current - top-level caching mechanism. Instead we need to cache the mask for - each path. This still seems quite wasteful, and an avenue would be to - avoid caching if the path is rectilinear and reduce the number of - required composite operations. (However, first find test case...) - - src/cairo-clip.c | 165 ++++++++++++++++++++++++++++++++++--------------------- - src/cairoint.h | 3 + - 2 files changed, 104 insertions(+), 64 deletions(-) - -commit 50c7d637f3a97031c5f4e2bc8d41d17e5397db45 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 13 15:49:11 2009 +0100 - - [trace] Emit an 'index' for an undefined surface - - Larry Ewing hit a bug in cairo-trace whereby it tried to create a similar - surface referencing an undefined object. This fix checks whether the - object has yet to be defined, and if not issues an index in order to copy - the appropriate operand from the stack. - - util/cairo-trace/trace.c | 21 ++++++++++----------- - 1 file changed, 10 insertions(+), 11 deletions(-) - -commit 3a483c2896c28142a90bd0e282af3862e066adfe -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 13 00:19:03 2009 +0100 - - [gstate] Convert simple mask() into a paint() - - As using mask() prevents various optimisations in the backends (for - example the use of geometric clips) and for some may trigger fallbacks, - perform the simplifications usually done (too late) by the pattern layer - in the generic gstate layer. This allows us on the odd occasion to - transform a mask() into a paint() but perhaps more importantly removes the - need for identical transformations in each backend. - - src/cairo-gstate.c | 101 ++++++++++++++++++++++++++++++++++++++++++++++++----- - src/cairoint.h | 9 ++--- - 2 files changed, 98 insertions(+), 12 deletions(-) - -commit e2c31183e96f84e7d40a9e5e2b6b8802d47628d0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 11 23:45:30 2009 +0100 - - [script] Handle zero-length strings - - Not sure where the zero length string is coming from, but we should - nevertheless handle it. - - util/cairo-script/cairo-script-scanner.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 4c215162d24453788b3a461aa47ccf2e638db35e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 11 23:40:54 2009 +0100 - - [script] Off-by-one in allocation of string length. - - We need pass in the real number of bytes in the string, excluding the NUL - terminator which is already accounted for. - - util/cairo-script/cairo-script-scanner.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 55eddb7ef4b6b561d6692a6f074834d5d5fb94fa -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 11 23:40:04 2009 +0100 - - [script] A little utility to convert a trace into a trace - - Replay the trace using the interpreter onto a script surface - useful for - checking idempotency. - - util/cairo-script/Makefile.am | 6 ++++++ - util/cairo-script/csi-trace.c | 40 ++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 46 insertions(+) - -commit 4f129863df6392f3deaf6e76fd15adeba98e41b8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 11 23:38:42 2009 +0100 - - [script] Store the current stroke matrix - - We can skip re-emitting stroke parameters if the values are unchanged and - the scaling matrix is unaltered. - - src/cairo-script-surface.c | 46 +++++++++++++++++++++++++++++++++++++--------- - 1 file changed, 37 insertions(+), 9 deletions(-) - -commit 858211f3944507362b2a18d56a65e9a478ccd305 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 11 22:43:31 2009 +0100 - - [script] Suppress resetting stroke-style elements after matrix switch - - If the user is just using the default values, there is no point re-emitting - them. - - src/cairo-script-surface.c | 42 ++++++++++++++++++++++++++---------------- - 1 file changed, 26 insertions(+), 16 deletions(-) - -commit b6db3053dcde99e26471fdeaedcadd4a6f93b5ef -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 11 22:30:58 2009 +0100 - - [script] Hide the implicit CLEAR for similar surfaces - - Do emit the clear that is performed by the surface layer on similar - surfaces. - - src/cairo-script-surface.c | 43 +++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 43 insertions(+) - -commit 005b195f062d896d76a87d608ce313b169f99201 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 11 22:07:12 2009 +0100 - - [pattern] Ignore matrix/filter/extend when comparing solids - - Solid patterns do not use their matrices, filter or extend properties so - ignore them for the purposes of comparing and hashing. - - src/cairo-pattern.c | 25 ++++++++++++++++--------- - 1 file changed, 16 insertions(+), 9 deletions(-) - -commit bb919584c0054bb3e3c547f65c91cfe48302ac86 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 11 21:40:37 2009 +0100 - - [script] Use a compact representation for horizontal offsets between glyphs - - Kerning is quite frequent, that is to apply a horizontal but no vertical - offset to a glyph. For instance by discarding the vertical coordinate - where it remains the same and only encoding the horizontal offset we - reduce the file size by ~12.5% when tracing poppler. - - src/cairo-script-surface.c | 56 +++++++++++++++++++++--------- - util/cairo-script/cairo-script-operators.c | 22 ++++++++---- - 2 files changed, 55 insertions(+), 23 deletions(-) - -commit cbee97f0e3e784b4482429790fc3f42c81908557 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 11 21:26:11 2009 +0100 - - [script] Preserve '{}' whilst translating - - util/cairo-script/cairo-script-private.h | 1 + - util/cairo-script/cairo-script-scanner.c | 67 +++++++++++++++++--------------- - 2 files changed, 37 insertions(+), 31 deletions(-) - -commit 24b23200025166e8343425f77a53bedd08790367 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 11 21:12:59 2009 +0100 - - [script] Fix list handling during font destruction - - Use cairo_list to unhook the font correctly during the fini callback. - - src/cairo-script-surface.c | 33 +++++++++++++-------------------- - 1 file changed, 13 insertions(+), 20 deletions(-) - -commit 4032438625819cfa5d1928d653f404364529a2e1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 11 17:02:41 2009 +0100 - - [path] Eliminate redundant line-to before a close - - As the close implicitly issues a line-to to the initial point, remove an - identical line-to if present. - - src/cairo-path-fixed.c | 22 ++++++++++++++++++++++ - 1 file changed, 22 insertions(+) - -commit 111f2be71b1e51fac551fd9214d13899a8ec7909 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 11 17:01:50 2009 +0100 - - [path] Discard redundant line-to - - Eliminate repeated line-to to the current point. - - src/cairo-path-fixed.c | 49 ++++++++++++++++++++++++++++--------------------- - 1 file changed, 28 insertions(+), 21 deletions(-) - -commit a2d5f59e2158651ac85dcc8a2b8f49cd2861044e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 11 17:01:07 2009 +0100 - - [debug] Path printer - - src/cairo-debug.c | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/cairoint.h | 3 +++ - 2 files changed, 70 insertions(+) - -commit 4bf96bad9697cbe67907df69d40f46d8d7f24325 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 11 15:37:35 2009 +0100 - - [fill] Use trivial rectilinear_to_traps - - Avoid a small amount of unnecessary overhead by performing a simple - conversion of the path to traps when it consists solely of simple boxes. - - src/cairo-path-fill.c | 74 ++++++++++++++++++++++++++++++++++++++++++++ - src/cairo-surface-fallback.c | 14 +++++++++ - src/cairoint.h | 5 +++ - 3 files changed, 93 insertions(+) - -commit 30e5fa0ce06b2572f09f3d47ee10b692f18ba0ae -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 11 15:36:11 2009 +0100 - - [polygon] Return status from path ops - - This tidies the common case which was to call, for example, - _cairo_polygon_line_to(); _cairo_polygon_status(); - - src/cairo-path-fill.c | 26 ++++---------------------- - src/cairo-polygon.c | 18 ++++++++++++------ - src/cairoint.h | 6 +++--- - 3 files changed, 19 insertions(+), 31 deletions(-) - -commit 3fcac1ef21de9526bc1abca902db5755abe463ae -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 11 13:43:32 2009 +0100 - - [slope] Inline _cairo_slope_init() - - Move the definition to a separate header file and allow callers to inline - the simple function. - - src/Makefile.sources | 1 + - src/cairo-hull.c | 2 ++ - src/cairo-path-fixed.c | 1 + - src/cairo-path-stroke.c | 2 ++ - src/cairo-pen.c | 2 ++ - src/cairo-polygon.c | 2 ++ - src/cairo-slope-private.h | 65 +++++++++++++++++++++++++++++++++++++++++++++++ - src/cairo-slope.c | 9 +------ - src/cairo-spline.c | 2 ++ - src/cairo-traps.c | 1 + - src/cairoint.h | 17 ------------- - 11 files changed, 79 insertions(+), 25 deletions(-) - -commit a1e0c4b30980d624bb3e015b7dcf39b4a2ef8c56 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 11 13:34:29 2009 +0100 - - [clip] Combine directly onto target - - Where it is unlikely that we will reuse the temporary clip surface, - combine the clip directly with the mask. - - src/cairo-clip-private.h | 3 ++ - src/cairo-clip.c | 118 ++++++++++++++++++++++++++++++++++++++++--- - src/cairo-surface-fallback.c | 26 +--------- - 3 files changed, 115 insertions(+), 32 deletions(-) - -commit 3f12d9ec5db1ac372742c3c03408bdaeaffdc1e4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Aug 28 10:05:52 2009 +0100 - - [clip] Use geometric clipping for unaligned clips - - For the simple cases where the clip is an unaligned box (or boxes), apply - the clip directly to the geometry and avoid having to use an intermediate - clip-mask. - - src/cairo-bentley-ottmann.c | 285 +++---------------------------------- - src/cairo-clip-private.h | 5 + - src/cairo-clip.c | 296 ++++++++++++++++++++++++++++++++++++-- - src/cairo-gstate.c | 15 +- - src/cairo-path-fill.c | 8 +- - src/cairo-path-stroke.c | 22 +-- - src/cairo-polygon.c | 329 ++++++++++++++++++++++++------------------- - src/cairo-rectangle.c | 23 +++ - src/cairo-surface-fallback.c | 267 +++++++++++++++++++---------------- - src/cairo-traps.c | 210 +++++++++++++++------------ - src/cairo-types-private.h | 4 +- - src/cairoint.h | 28 +++- - 12 files changed, 830 insertions(+), 662 deletions(-) - -commit 2457c4bedef0447f7bff9b54dba96126010917ac -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Aug 10 14:48:03 2009 +0100 - - traps-as-spans - - Add an interface to spans that accepts trapezoids. This allows backends - that have an efficient span-line interface but lack efficient handling - of boxes (partly due to the current poor compositor interface) to - redirect composite_trapezoids() to composite_polygon() and the - span-renderer. - - src/cairo-spans-private.h | 19 ++++++++++ - src/cairo-spans.c | 82 ++++++++++++++++++++++++++++++++++++++++++ - src/cairo-tor-scan-converter.c | 27 +++++++++++++- - 3 files changed, 127 insertions(+), 1 deletion(-) - -commit 3023330706b1237b0fbd697d015cad9a23c250b7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Aug 10 10:57:41 2009 +0100 - - [fill] Early check for empty path/polygon - - src/cairo-path-fill.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 9ba37a85d2f6c033d68eb547be6c63382164519e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Aug 10 10:57:01 2009 +0100 - - [gstate] Discard trivial all-clipped regions - - Avoid assertion failures later that we have a valid region. - - src/cairo-gstate.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -commit 85094c4eee4e50ec724bf1bb54ecff6f7c1014bf -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Aug 24 07:06:32 2009 +0100 - - [clip] Eliminate redundant clips - - First perform a simple geometric clip to catch the majority of cases where - an unaligned clip has been set outside the operation extents that can be - discarded without having to use an image surface. - - This causes a dramatic increase of over 13x for the poppler-bug-12266 - trace and little impact elsewhere for more sensible clippers. - - src/cairo-clip-private.h | 8 +- - src/cairo-clip.c | 187 ++++++++++++++++++++++++++++++++++--------- - src/cairo-gstate.c | 106 +++++++++++++++--------- - src/cairo-path-fill.c | 3 + - src/cairo-surface-fallback.c | 111 ++++++++++++++++++------- - 5 files changed, 309 insertions(+), 106 deletions(-) - -commit ff0ca6d02a2e8901e9cfca31326c3fdc16e77e2f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Aug 5 17:54:48 2009 +0100 - - [test] Stress the intersection handling by feeding spans/traps random curves - - Another stress test for the fill/stroke and intersection finders. - - test/Makefile.am | 10 +++ - test/Makefile.sources | 2 + - test/random-intersections-curves-eo.c | 81 ++++++++++++++++++++ - test/random-intersections-curves-eo.pdf.ref.png | Bin 0 -> 246507 bytes - test/random-intersections-curves-eo.ps.ref.png | Bin 0 -> 151676 bytes - test/random-intersections-curves-eo.ref.png | Bin 0 -> 246996 bytes - ...m-intersections-curves-eo.xlib-fallback.ref.png | Bin 0 -> 246243 bytes - test/random-intersections-curves-eo.xlib.ref.png | Bin 0 -> 246243 bytes - test/random-intersections-curves-nz.c | 82 +++++++++++++++++++++ - test/random-intersections-curves-nz.pdf.ref.png | Bin 0 -> 266977 bytes - test/random-intersections-curves-nz.ps.ref.png | Bin 0 -> 134732 bytes - test/random-intersections-curves-nz.ref.png | Bin 0 -> 267589 bytes - ...m-intersections-curves-nz.xlib-fallback.ref.png | Bin 0 -> 266364 bytes - test/random-intersections-curves-nz.xlib.ref.png | Bin 0 -> 266360 bytes - 14 files changed, 175 insertions(+) - -commit 6dfe050d6360409161418d853df3d7d7dfb216af -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 4 15:32:25 2009 +0100 - - [polygon] Amalgamate collinear edges - - Combine sequential collinear edges into a single edge, this benefits - immensely by feeding fewer edges into either the tessellator or spans. - - src/cairo-polygon.c | 58 +++++++++++++++++++++++++++++++++++++++++------ - src/cairo-types-private.h | 3 +++ - 2 files changed, 54 insertions(+), 7 deletions(-) - -commit dc886450ac7c04252cff77729e0653c6ea2768db -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 4 13:14:38 2009 +0100 - - [util] Show total edge length in show-edges - - util/show-edges.c | 54 +++++++++++++++++++++++++++++++++++++++++++----------- - 1 file changed, 43 insertions(+), 11 deletions(-) - -commit 0f8af054841c2d6dfe4bfeb3d13a7bab0cfbe2f3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Aug 3 08:27:01 2009 +0100 - - [fallback] Avoid tessellating empty polygons - - I added an assert inside the tessellator to ensure that empty polygon were - not being propagated that far... - - src/cairo-surface-fallback.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -commit 09377a716334df3683912747067cd396768cfab6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Aug 2 13:09:30 2009 +0100 - - [freelist] Lazy initialisation of pools - - src/cairo-freelist-private.h | 31 ++++++++++++++++-- - src/cairo-freelist.c | 75 +++++++++++++++++--------------------------- - 2 files changed, 56 insertions(+), 50 deletions(-) - -commit 6f0340e2e5079eba597c0a3a7d39da21cf2b5e7a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jul 29 21:47:11 2009 +0100 - - [clip] Use the rectilinear tessellator - - We can ensure that we always produce a clip region when possible by using - the rectilinear tessellator to convert complex, device-aligned polygons to - regions. Prior to using the tessellator, we relied on pixman's region code - which could only handle a union of rectangles. - - src/cairo-clip.c | 9 ++---- - src/cairo-path-fill.c | 79 +++++++++++++++++++++++++++++++++++++++++---------- - 2 files changed, 66 insertions(+), 22 deletions(-) - -commit e3820bef20fdd77ab804b9832f47dc286e4887c4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Aug 2 15:17:51 2009 +0100 - - [fill] Short-circuit extents on an empty path. - - If the path is empty, avoid redundant polygonisation and tessellation by - simply returning the empty extents. - - src/cairo-gstate.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -commit 4051ed328b618e28cf1df276899eefa225225c76 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 25 20:51:06 2009 +0100 - - [tessellator] Special case rectilinear tessellation - - For the frequent cases where we know in advance that we are dealing with a - rectilinear path, but can not use the simple region code, implement a - variant of the Bentley-Ottmann tessellator. The advantages here are that - edge comparison is very simple (we only have vertical edges) and there are - no intersection, though possible overlaps. The idea is the same, maintain - a y-x sorted queue of start/stop events that demarcate traps and sweep - through the active edges at each event, looking for completed traps. - - The motivation for this was noticing a performance regression in - box-fill-outline with the self-intersection work: - - 1.9.2 to HEAD^: 3.66x slowdown - HEAD^ to HEAD: 5.38x speedup - 1.9.2 to HEAD: 1.57x speedup - - The cause of which was choosing to use spans instead of the region handling - code, as the complex polygon was no longer being tessellated. - - src/Makefile.sources | 1 + - src/cairo-bentley-ottmann-rectilinear.c | 582 +++++++++++++++++++++++++++++ - src/cairo-bentley-ottmann.c | 5 +- - src/cairo-combsort-private.h | 4 +- - src/cairo-path-fill.c | 100 +---- - src/cairo-path-stroke.c | 1 + - src/cairo-surface-fallback.c | 34 +- - src/cairo-traps.c | 2 + - src/cairoint.h | 18 +- - test/ft-text-vertical-layout-type1.ref.png | Bin 3647 -> 3644 bytes - test/ft-text-vertical-layout-type3.ref.png | Bin 3607 -> 3608 bytes - 11 files changed, 631 insertions(+), 116 deletions(-) - -commit 82ccb4c70cbf28167c280e590017b221a406b5c3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jul 29 18:47:29 2009 +0100 - - [clip] Use special-purpose fill_to_region() - - Avoid the creation of temporary traps when generating a region, by calling - the to_region() directly. - - src/cairo-clip.c | 26 +++++++++----------------- - 1 file changed, 9 insertions(+), 17 deletions(-) - -commit 41adeac9880d011278f083c620a42b849471a92f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jul 25 21:25:07 2009 +0100 - - [fallback] Avoid going through traps for trivial regions. - - src/cairo-path-fill.c | 129 ++++++++++++++++++++++++++++++ - src/cairo-surface-fallback.c | 184 ++++++++++++++++++++++++++++++++----------- - src/cairoint.h | 5 ++ - 3 files changed, 272 insertions(+), 46 deletions(-) - -commit 55bd590561880136c54da0db1f7f095a426d96a9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 24 20:45:56 2009 +0100 - - [tessellator] Use a priority queue for the events - - The skip list was suffering from severe overhead, so though the search was - quick, the extra copies during insertion and deletion were slow. - - src/Makefile.am | 5 +- - src/Makefile.sources | 2 - - src/cairo-bentley-ottmann.c | 341 +++++++++++++++++++++--------------- - src/cairo-freelist.c | 8 +- - src/cairo-skiplist-private.h | 118 ------------- - src/cairo-skiplist.c | 399 ------------------------------------------- - 6 files changed, 212 insertions(+), 661 deletions(-) - -commit ebfcc2ce8fb6fcaf28d1c59cf7a5b13168cbeb70 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 24 16:50:33 2009 +0100 - - [tessellator] Remove the skiplist for the active edges - - The active edge list is typically short, and the skiplist adds significant - overhead that far outweigh the benefit of the O(n lg n) sort. Instead we - track the position of the last insertion edge, knowing that the start - events are lexicographically sorted, and begin a linear search from there. - - src/cairo-bentley-ottmann.c | 230 +++++++++++++++----------------------------- - 1 file changed, 75 insertions(+), 155 deletions(-) - -commit 36480fe531f19d9c692ee1f8cf09accd4b2c0ad8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jul 25 07:38:04 2009 +0100 - - [traps] Increase exponential expansion factor. - - Grow the traps more rapidly, as the allocations are very short-lived so - the over-allocation is less of an issue. - - src/cairo-traps.c | 8 +++----- - src/cairoint.h | 8 +++----- - 2 files changed, 6 insertions(+), 10 deletions(-) - -commit 9d51c03bad5f10257e248f43375062902482c0c4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 24 13:51:23 2009 +0100 - - [traps] Compute extents on demand. - - src/cairo-region-private.h | 5 - - src/cairo-region.c | 47 ++--- - src/cairo-surface-fallback.c | 10 - - src/cairo-traps.c | 440 +++++++++++++------------------------------ - src/cairoint.h | 9 - - 5 files changed, 144 insertions(+), 367 deletions(-) - -commit f8bb3617c3a7ec598c42eff1f8562e3ccc95127f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 17 09:32:16 2008 +0000 - - Eliminate self-intersecting strokes. - - We refactor the surface fallbacks to convert full strokes and fills to the - intermediate polygon representation (as opposed to before where we - returned the trapezoidal representation). This allow greater flexibility - to choose how then to rasterize the polygon. Where possible we use the - local spans rasteriser for its increased performance, but still have the - option to use the tessellator instead (for example, with the current - Render protocol which does not yet have a polygon image). - - In order to accommodate this, the spans interface is tweaked to accept - whole polygons instead of a path and the tessellator is tweaked for speed. - - Performance Impact - ================== - - ... - Still measuring, expecting some severe regressions. - ... - - NEWS | 18 + - src/Makefile.am | 2 + - src/cairo-bentley-ottmann.c | 1833 ++++++++++++-------- - src/cairo-clip.c | 14 +- - src/cairo-fixed-private.h | 52 +- - src/cairo-fixed-type-private.h | 5 + - src/cairo-gstate.c | 4 +- - src/cairo-hash.c | 6 - - src/cairo-matrix.c | 27 +- - src/cairo-path-fill.c | 109 +- - src/cairo-path-stroke.c | 1025 ++++++----- - src/cairo-pen.c | 191 -- - src/cairo-polygon.c | 269 ++- - src/cairo-skiplist-private.h | 4 +- - src/cairo-skiplist.c | 8 +- - src/cairo-slope.c | 4 +- - src/cairo-spans-private.h | 45 +- - src/cairo-spans.c | 179 +- - src/cairo-surface-fallback.c | 208 ++- - src/cairo-tor-scan-converter.c | 492 +++--- - src/cairo-toy-font-face.c | 3 +- - src/cairo-traps.c | 72 +- - src/cairo-types-private.h | 15 +- - src/cairo-wideint-private.h | 47 +- - src/cairo-wideint.c | 34 - - src/cairoint.h | 102 +- - test/Makefile.am | 90 +- - test/Makefile.sources | 3 +- - test/caps-joins-alpha.ref.png | Bin 2463 -> 2570 bytes - test/caps-joins-alpha.xlib.ref.png | Bin 0 -> 2278 bytes - test/caps-joins-curve.ref.png | Bin 5132 -> 5725 bytes - test/caps-joins-curve.xlib.ref.png | Bin 0 -> 5126 bytes - test/clear.pdf.argb32.ref.png | Bin 0 -> 790 bytes - test/clear.ps.argb32.ref.png | Bin 0 -> 790 bytes - test/clip-operator.svg12.argb32.xfail.png | Bin 8406 -> 8404 bytes - test/clip-operator.svg12.rgb24.xfail.png | Bin 4540 -> 4523 bytes - test/clipped-group.pdf.ref.png | Bin 310 -> 334 bytes - test/clipped-trapezoids-ref.png | Bin 0 -> 1055 bytes - test/clipped-trapezoids.c | 95 + - test/clipped-trapezoids.ref.png | Bin 0 -> 963 bytes - test/close-path-current-point.ref.png | Bin 1916 -> 1893 bytes - test/dash-caps-joins.ref.png | Bin 4718 -> 4520 bytes - test/dash-curve.ref.png | Bin 39696 -> 41284 bytes - test/dash-curve.xlib.ref.png | Bin 0 -> 40109 bytes - test/dash-scale.ref.png | Bin 8058 -> 7616 bytes - test/degenerate-arc.ref.png | Bin 544 -> 646 bytes - test/degenerate-dash.ref.png | Bin 2005 -> 2086 bytes - test/degenerate-dash.xlib.ref.png | Bin 0 -> 1898 bytes - test/degenerate-path.argb32.ref.png | Bin 0 -> 240 bytes - test/degenerate-path.ref.png | Bin 257 -> 0 bytes - test/degenerate-path.rgb24.ref.png | Bin 224 -> 210 bytes - test/degenerate-pen.ref.png | Bin 1139 -> 997 bytes - test/degenerate-pen.xlib.ref.png | Bin 0 -> 997 bytes - test/device-offset-fractional.pdf.xfail.png | Bin 275 -> 275 bytes - test/fill-and-stroke-alpha-add.ref.png | Bin 591 -> 562 bytes - test/fill-and-stroke-alpha-add.svg12.xfail.png | Bin 614 -> 631 bytes - test/fill-and-stroke-alpha.ref.png | Bin 519 -> 515 bytes - test/fill-and-stroke.argb32.ref.png | Bin 0 -> 313 bytes - test/fill-and-stroke.ref.png | Bin 279 -> 0 bytes - test/fill-and-stroke.rgb24.ref.png | Bin 257 -> 287 bytes - test/fill-and-stroke.xlib.argb32.ref.png | Bin 0 -> 322 bytes - test/fill-and-stroke.xlib.rgb24.ref.png | Bin 0 -> 291 bytes - test/filter-nearest-offset.pdf.xfail.png | Bin 1867 -> 1926 bytes - test/filter-nearest-transformed.pdf.xfail.png | Bin 482 -> 488 bytes - test/ft-text-vertical-layout-type1.ps.ref.png | Bin 0 -> 1634 bytes - test/ft-text-vertical-layout-type1.ps2.ref.png | Bin 1846 -> 0 bytes - test/ft-text-vertical-layout-type1.ps3.ref.png | Bin 1846 -> 0 bytes - test/ft-text-vertical-layout-type1.ref.png | Bin 3643 -> 3647 bytes - test/ft-text-vertical-layout-type1.svg.ref.png | Bin 3607 -> 3609 bytes - test/ft-text-vertical-layout-type1.xlib.ref.png | Bin 3980 -> 3640 bytes - test/ft-text-vertical-layout-type3.ps.ref.png | Bin 0 -> 1636 bytes - test/ft-text-vertical-layout-type3.ps2.ref.png | Bin 1804 -> 0 bytes - test/ft-text-vertical-layout-type3.ps3.ref.png | Bin 1804 -> 0 bytes - test/ft-text-vertical-layout-type3.ref.png | Bin 3608 -> 3607 bytes - test/ft-text-vertical-layout-type3.svg.ref.png | Bin 3626 -> 3626 bytes - test/ft-text-vertical-layout-type3.xlib.ref.png | Bin 3934 -> 3605 bytes - test/group-unaligned.svg.argb32.xfail.png | Bin 520 -> 522 bytes - test/joins.ref.png | Bin 5879 -> 5708 bytes - test/leaky-dashed-rectangle.pdf.ref.png | Bin 347 -> 347 bytes - test/leaky-dashed-rectangle.xlib.ref.png | Bin 0 -> 347 bytes - test/leaky-dashed-stroke.ref.png | Bin 9214 -> 9387 bytes - test/leaky-dashed-stroke.xlib.ref.png | Bin 0 -> 9305 bytes - test/line-width-scale.ref.png | Bin 6445 -> 5716 bytes - test/long-dashed-lines.ref.png | Bin 2116 -> 2070 bytes - test/mask-glyphs.svg.ref.png | Bin 1211147 -> 1211158 bytes - test/meta-surface-pattern.pdf.argb32.ref.png | Bin 3919 -> 3835 bytes - test/meta-surface-pattern.pdf.rgb24.ref.png | Bin 3867 -> 3682 bytes - test/meta-surface-pattern.svg.argb32.ref.png | Bin 3930 -> 3778 bytes - test/meta-surface-pattern.svg.rgb24.ref.png | Bin 3910 -> 3760 bytes - test/new-sub-path.argb32.ref.png | Bin 0 -> 421 bytes - test/new-sub-path.pdf.argb32.ref.png | Bin 0 -> 512 bytes - test/new-sub-path.ref.png | Bin 386 -> 0 bytes - test/new-sub-path.rgb24.ref.png | Bin 355 -> 381 bytes - test/operator-source.svg12.argb32.xfail.png | Bin 2967 -> 2951 bytes - test/operator-source.svg12.rgb24.xfail.png | Bin 2976 -> 2963 bytes - test/over-around-source.pdf.argb32.ref.png | Bin 585 -> 576 bytes - ...m-intersections.c => random-intersections-eo.c} | 2 +- - test/random-intersections-eo.ps.ref.png | Bin 0 -> 78806 bytes - ....png => random-intersections-eo.quartz.ref.png} | Bin - test/random-intersections-eo.ref.png | Bin 0 -> 136018 bytes - test/random-intersections-eo.xlib.ref.png | Bin 0 -> 134655 bytes - test/random-intersections-nonzero.c | 79 + - test/random-intersections-nonzero.ps.ref.png | Bin 0 -> 77299 bytes - test/random-intersections-nonzero.ref.png | Bin 0 -> 141154 bytes - test/random-intersections-nonzero.xlib.ref.png | Bin 0 -> 141548 bytes - test/random-intersections.ps2.ref.png | Bin 89253 -> 0 bytes - test/random-intersections.ps3.ref.png | Bin 89253 -> 0 bytes - test/random-intersections.ref.png | Bin 133462 -> 0 bytes - test/random-intersections.xlib.ref.png | Bin 148722 -> 0 bytes - test/reflected-stroke.ref.png | Bin 5704 -> 4978 bytes - test/rel-path.ref.png | Bin 212 -> 198 bytes - test/rel-path.rgb24.ref.png | Bin 228 -> 214 bytes - test/scale-offset-image.meta.xfail.png | Bin 8599 -> 0 bytes - test/scale-offset-image.pdf.xfail.png | Bin 8694 -> 10099 bytes - test/scale-offset-image.xfail.png | Bin 8599 -> 9960 bytes - test/scale-offset-image.xlib-fallback.xfail.png | Bin 8580 -> 8706 bytes - test/scale-offset-image.xlib.xfail.png | Bin 9100 -> 9132 bytes - test/scale-offset-similar.meta.xfail.png | Bin 9095 -> 10752 bytes - test/scale-offset-similar.pdf.xfail.png | Bin 9368 -> 11024 bytes - test/scale-offset-similar.xfail.png | Bin 8599 -> 9960 bytes - test/scale-offset-similar.xlib-fallback.xfail.png | Bin 8580 -> 8706 bytes - test/scale-offset-similar.xlib.xfail.png | Bin 8570 -> 8696 bytes - test/self-intersecting.argb32.xfail.png | Bin 235 -> 0 bytes - test/self-intersecting.c | 3 + - test/self-intersecting.pdf.argb32.xfail.png | Bin 285 -> 0 bytes - test/self-intersecting.pdf.rgb24.xfail.png | Bin 269 -> 0 bytes - ...gb32.xfail.png => self-intersecting.ps.ref.png} | Bin - test/self-intersecting.ps.rgb24.xfail.png | Bin 186 -> 0 bytes - test/self-intersecting.ref.png | Bin 242 -> 301 bytes - test/self-intersecting.rgb24.ref.png | Bin 304 -> 0 bytes - test/self-intersecting.rgb24.xfail.png | Bin 240 -> 0 bytes - test/self-intersecting.xlib.argb32.xfail.png | Bin 235 -> 0 bytes - test/self-intersecting.xlib.ref.png | Bin 0 -> 252 bytes - test/self-intersecting.xlib.rgb24.xfail.png | Bin 240 -> 0 bytes - test/smask-stroke.ref.png | Bin 1845 -> 1714 bytes - test/smask-stroke.xlib.ref.png | Bin 0 -> 1707 bytes - test/smask.ps.ref.png | Bin 0 -> 3430 bytes - test/smask.ps2.ref.png | Bin 3669 -> 0 bytes - test/smask.ps3.ref.png | Bin 3669 -> 0 bytes - test/smask.ref.png | Bin 3417 -> 3423 bytes - test/smask.svg.ref.png | Bin 3458 -> 3457 bytes - test/smask.xlib.ref.png | Bin 3393 -> 3386 bytes - test/spline-decomposition.pdf.ref.png | Bin 19156 -> 19540 bytes - test/spline-decomposition.ps.ref.png | Bin 9090 -> 9028 bytes - test/spline-decomposition.ref.png | Bin 19107 -> 19569 bytes - test/spline-decomposition.svg.ref.png | Bin 19156 -> 19540 bytes - test/spline-decomposition.xlib.ref.png | Bin 0 -> 19158 bytes - test/stroke-ctm-caps.ref.png | Bin 1057 -> 873 bytes - test/stroke-image.pdf.ref.png | Bin 1554 -> 1475 bytes - test/stroke-image.ps.ref.png | Bin 0 -> 1641 bytes - test/stroke-image.ps2.ref.png | Bin 2121 -> 0 bytes - test/stroke-image.ps3.ref.png | Bin 2121 -> 0 bytes - test/stroke-image.ref.png | Bin 1866 -> 1344 bytes - test/stroke-image.xlib.ref.png | Bin 0 -> 1440 bytes - test/surface-pattern.pdf.xfail.png | Bin 10528 -> 10532 bytes - test/text-rotate.pdf.ref.png | Bin 16639 -> 16757 bytes - test/text-rotate.ref.png | Bin 17775 -> 16738 bytes - test/text-rotate.svg.ref.png | Bin 17024 -> 17118 bytes - test/text-rotate.xlib.ref.png | Bin 0 -> 16646 bytes - test/twin.ps.ref.png | Bin 2197 -> 2142 bytes - test/twin.ref.png | Bin 4038 -> 3979 bytes - test/twin.xlib.ref.png | Bin 0 -> 4435 bytes - test/unantialiased-shapes.ref.png | Bin 4459 -> 3969 bytes - test/unbounded-operator.svg12.argb32.ref.png | Bin 0 -> 2767 bytes - test/unbounded-operator.svg12.argb32.xfail.png | Bin 2771 -> 0 bytes - test/unbounded-operator.svg12.rgb24.xfail.png | Bin 1731 -> 1719 bytes - test/user-font-proxy.svg.ref.png | Bin 16814 -> 16817 bytes - test/user-font.ps.ref.png | Bin 0 -> 4605 bytes - test/user-font.ps2.ref.png | Bin 5043 -> 0 bytes - test/user-font.ps3.ref.png | Bin 5043 -> 0 bytes - test/user-font.ref.png | Bin 6082 -> 6270 bytes - test/user-font.xlib.ref.png | Bin 6183 -> 5884 bytes - util/.gitignore | 3 + - util/Makefile.am | 23 +- - util/show-edges.c | 1189 +++++++++++++ - util/show-events.c | 845 +++++++++ - util/show-traps.c | 1239 +++++++++++++ - 177 files changed, 6226 insertions(+), 2113 deletions(-) - -commit 7c499db8afe8a7cf8c512ec166fe7dbf11a25c02 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 25 20:37:55 2009 +0100 - - [test] Minor tweak of ft-text-vertical-layout - - Tidily destroy the font immediately after use. - - test/ft-text-vertical-layout-type1.c | 6 ++---- - test/ft-text-vertical-layout-type3.c | 5 ++--- - 2 files changed, 4 insertions(+), 7 deletions(-) - -commit bdd3c5ba6987280b455229dd12b20c22159ce61c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Aug 22 18:59:01 2009 +0100 - - [perf] Match directory names - - In order to handle 'cairo-perf-trace benchmark', we need to perform the - can_run? test on the directory name as opposed to the individual trace - names. Make it so. - - perf/box-outline.c | 2 +- - perf/cairo-perf-trace.c | 37 ++++++++++++++++++++++++++++--------- - perf/cairo-perf.c | 14 +++++++++++--- - perf/cairo-perf.h | 3 ++- - perf/composite-checker.c | 2 +- - perf/dragon.c | 3 ++- - perf/fill.c | 2 +- - perf/glyphs.c | 2 +- - perf/intersections.c | 2 +- - perf/long-dashed-lines.c | 2 +- - perf/long-lines.c | 2 +- - perf/mask.c | 2 +- - perf/mosaic.c | 2 +- - perf/paint-with-alpha.c | 2 +- - perf/paint.c | 2 +- - perf/pattern_create_radial.c | 2 +- - perf/pythagoras-tree.c | 4 ++-- - perf/rectangles.c | 2 +- - perf/rounded-rectangles.c | 2 +- - perf/spiral.c | 2 +- - perf/stroke.c | 2 +- - perf/subimage_copy.c | 2 +- - perf/tessellate.c | 2 +- - perf/text.c | 2 +- - perf/twin.c | 2 +- - perf/unaligned-clip.c | 2 +- - perf/world-map.c | 2 +- - perf/zrusin.c | 2 +- - 28 files changed, 68 insertions(+), 39 deletions(-) - -commit 77c11096169bc8af6aa08241a800a51a2292a27a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Aug 22 12:23:03 2009 +0100 - - [perf] Reset global caches after every trace - - I'd disabled this to look at cairo-qt performance, then forgot about it. - Be clean, cleanup globals -- this should fix the huge performance loss - when running in series multiple backends that need separate font caches. - - perf/cairo-perf-trace.c | 5 +++++ - 1 file changed, 5 insertions(+) - -commit 9c8e60f7718b29051268541d2cfec58e51d8e7b8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Aug 22 12:09:25 2009 +0100 - - [perf] Remove cpuset warning for cairo-perf-trace - - These traces run for much longer than the original synthetic benchmarks - and seek to replicate 'real-world' applications, so the warning that the - xserver and cairo-perf are not bound to any cpu is false. - - perf/cairo-perf-trace.c | 47 ----------------------------------------------- - 1 file changed, 47 deletions(-) - -commit d07ed5d990634dc09d0d1b6ce45aa8ad1994b75a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Aug 19 12:36:56 2009 +0100 - - [perf] Add charting utility - - cairo-perf-chart takes multiple runs (currently it is limited to - prefiltered data sets) and pretty-prints a chart showing performace - improvements/regressions (in either ASCII or HTML) along with a - cairo-perf-chart.png - - perf/Makefile.am | 4 + - perf/cairo-perf-chart.c | 751 ++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 755 insertions(+) - -commit 015eccadcb8b22f302bdaa315b88981a38294686 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Aug 16 09:57:07 2009 +0100 - - [perf] Fix unaligned-clip - - We failed to reset the scale after each loop, eventually generating a vast - clip-mask that exceeded memory capacity. - - perf/unaligned-clip.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 6f8fae21e6fee07a8f6561f77bcb0bfaf64f5882 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Aug 15 10:16:41 2009 +0100 - - [perf] Add a box mode to spiral - - Add a very similar 'spiral' path (really just concentric boxes) that hit - the rectangular optimisations so that we can compare how effective they - are. - - perf/spiral.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 73 insertions(+) - -commit e79a9a87c311fd0499c96cecbe560839a17d244e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Aug 15 10:33:48 2009 +0100 - - [perf] Support objdir!=srcdir in cairo-perf-diff - - Crude support to detect when we have cairo-perf-diff-files in the local - directory which is not srcdir. - - perf/cairo-perf-diff | 26 ++++++++++++++++---------- - 1 file changed, 16 insertions(+), 10 deletions(-) - -commit 6bfb77a33c3614cafdcd6206de5c71321c5fc1e5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Aug 14 19:53:17 2009 +0100 - - [perf] Add spiral strokes - - Use cairo_stroke() to perform the equivalent of - spiral-rect-(pix|non)align-evenodd-fill. A useful comparison of stroking - versus filling, as we can assume the composition costs are similar. - - perf/spiral.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 73 insertions(+) - -commit 54b2935c3842e77888faef06bbf247f99bd9de8c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 13 23:23:41 2009 +0100 - - [perf] Reset the path after each spiral - - Oops we were accumulating paths during each spiral iteration and so the - tests were getting slower and slower and slower... - - [And fix a couple of other instances of path accumulation.] - - perf/intersections.c | 2 ++ - perf/spiral.c | 1 + - perf/world-map.c | 2 ++ - 3 files changed, 5 insertions(+) - -commit fddfe4973f5b49f280734ee7141ab72451cf94d2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 13 15:52:06 2009 +0100 - - [perf] Add clipped modes to dragon - - Investigate the performance hit for unclipped/aligned/unaligned/masked - modes with a reasonably complex geometry. - - perf/dragon.c | 35 +++++++++++++++++++++++++++++++++++ - 1 file changed, 35 insertions(+) - -commit 8b3be26c7be0747378792e3a454e500d290c3982 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Aug 12 00:02:04 2009 +0100 - - [test] Remove misleading code/comments from a1-image-sample - - test/a1-image-sample.c | 4 ---- - 1 file changed, 4 deletions(-) - -commit e702df59b05246a52a645792a65dc9c12d5b3feb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Aug 22 17:53:59 2009 +0100 - - [test] Attempt to automatically detect running under gdb - - A common mistake is to forget to pass the foreground mode to - cairo-test-suite when launching it under the debugger, resulting in the - debugger not attaching to the children and missing the error you were - trying to capture. Under linux, we can inspect the path to our parent's - executable and if that looks like gdb, we assume it is and disable forking - of traces. - - test/cairo-test-runner.c | 32 ++++++++++++++++++++++++++++++++ - 1 file changed, 32 insertions(+) - -commit bf4977b645270bb88225501e73848f7814cccead -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 25 07:16:16 2009 +0100 - - [test] Exit on first failure '-x' - - Add a command line option to the test suite to cause it to exit after the - first failure. The purpose of this is for integration into 'git bisect run', - where the failing test is unknown and we are looking for any failure. For - example, for use in a regression script to find commits in the midst of as - series that need a refresh of a reference image (or fixing!). - - test/cairo-test-runner.c | 15 +++++++++++++-- - 1 file changed, 13 insertions(+), 2 deletions(-) - -commit 40aefac5d714bf7536632ed38c7a8ee05049f30b -Author: Benjamin Otte <otte@gnome.org> -Date: Wed Aug 26 21:22:07 2009 +0200 - - [xlib] DO_XCOPYAREA and DO_XTILE optimizations break with Window source - - Cairo should include the contents of subwindows when using a Window as a - source but will clip to subwindows when using a Window as a destination. - This can be set using the GC's subwindow_mode. - - XCopyArea and XFillRectangle can however only use one GC for both source - and destination. Cairo's mode is set to (the default) ClipByChildren. - This means that copying from a Window is broken, so we only allow the - optimization when we know that the source is a Pixmap. - - The performance impact of this change has not been tested. It should be - small, as the code will use XRender otherwise. - - If it turns out to be a bigger impact, the optimizations could be - improved by doing a two-step copy process: - 1) Copy to an intermediate Pixmap with IncludeInferiors - 2) Copy to the destination with ClipByChildren - (potentially omitting one one of the steps if source or destination are - known to be Pixmaps). - - references: - commit 0c5d28a4e5ce5e4dd72c0f416ce5e960e92b808b - https://bugs.freedesktop.org/show_bug.cgi?id=12996 - - src/cairo-xlib-surface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 90536ef2dd534d9385d38125445faeadd0511850 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Tue Aug 25 00:28:08 2009 -0400 - - [build] Remove bogus warning that we require at least one native font backend - - That limitation was lifted long ago after twin face was introduced. - - build/configure.ac.features | 4 ---- - 1 file changed, 4 deletions(-) - -commit 20e227fc397d064af0b4b8bbf4028430695a218d -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Mon Aug 24 23:57:21 2009 -0400 - - [build] Fix typo - - build/aclocal.enable.m4 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 87fb9a9ded0fb0355f91cad188393d26b9e47e0b -Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk> -Date: Mon Aug 17 00:59:46 2009 -0400 - - [test] Update reference image for the extended-blend-mode test. - - A recent pixman change caused one-bit differences in some pixels. - - test/extended-blend-alpha.argb32.ref.png | Bin 9777 -> 9406 bytes - 1 file changed, 0 insertions(+), 0 deletions(-) - -commit d1b8e260d43c7dee71244f26d50d8b2e49e9b6e0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Aug 10 21:29:13 2009 +0100 - - [qt] Fix compilation - - Enabling 'FAST CLIP' appears to trigger an infinite loop so disable. - - Enabling 'FAST FILL' has limited effect on performance, so disable whilst - the basic QT surface is improved. - - perf/cairo-perf-trace.c | 2 +- - src/cairo-qt-surface.cpp | 63 ++++++++++++++++++++++++++++++++---------------- - 2 files changed, 43 insertions(+), 22 deletions(-) - -commit dff0a91742908098a1ee110fadf11d4b802b1587 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Aug 10 17:57:16 2009 +0100 - - [xlib] Rewrite UNSUPPORTED() avoiding gcc-ism - - Behdad pointed out that fprintf() returns a value so that we could simply - use the comma operator to return the correct value instead of the - expression-block gcc-ism. - - src/cairo-xlib-surface.c | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -commit e63d725ad4fb92a0085224f627cbced3e3205735 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Sat Jun 6 01:08:22 2009 -0400 - - [utils] Remove unused code - - util/malloc-stats.c | 30 ------------------------------ - 1 file changed, 30 deletions(-) - -commit d4d0fcb4a8055f1fdd24fc5b7b64bb55d55e1485 -Author: Andrea Canciani <ranma42@gmail.com> -Date: Mon Aug 10 17:43:31 2009 +0100 - - [quartz] Compile fix for show_glyphs - - Correct the prototype for _cairo_quartz_surface_show_glyphs(). - - src/cairo-quartz-surface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 2a2a19457bb934f9585bfdb97730fab99c8e386c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Aug 10 17:42:05 2009 +0100 - - [surface] Check for a NULL snapshot - - The backend is permitted to return a NULL surface when snapshotting to - indicate that it cannot (or choses not to) implement the method. - - src/cairo-surface.c | 28 +++++++++++++++------------- - 1 file changed, 15 insertions(+), 13 deletions(-) - -commit 2e8ce34454a4d93986f590b1d2b024d1a1eb6bde -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Aug 10 16:51:07 2009 +0100 - - [quartz] Use the implementation font-face not the associated - - As the associated is now explicitly the font-face used to create the font - by the user, whereas what we require is the current implementation - (quartz) font. - - src/cairo-quartz-font.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -commit a4dc372bab8ebe75a9f7d17a9a2e6fc8d9d2d747 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Aug 10 16:50:00 2009 +0100 - - [scaled-font] Update API documentation - - Now that the toy-font-face is exposed to the user, it is expected to be - returned when the user queries the font face associated with a scaled font. - - src/cairo-scaled-font.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit c4828666b9b4dad39c3f17fdfd7d1dd3cbb83cbc -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Aug 10 16:45:41 2009 +0100 - - [script] Handle translation of compressed strings. - - After introducing the new syntax to mark a deflated string, we also need - to add the equivalent binary tokens. - - util/cairo-script/cairo-script-file.c | 10 ++-- - util/cairo-script/cairo-script-scanner.c | 81 ++++++++++++++++++++------------ - 2 files changed, 56 insertions(+), 35 deletions(-) - -commit 34870491951f5a712833b5fe7ed84c935bccfc5a -Author: Andrea Canciani <ranma42@gmail.com> -Date: Sun Aug 9 22:33:28 2009 +0200 - - [quartz] Fix one more compile error - - src/cairo-quartz-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c2e75b9993ab1d30002877fc11b52ea7b9acd40b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Aug 9 21:12:36 2009 +0100 - - [quartz] Attempt to fix compile errors - - ranma42 spotted that the quartz-backend no longer compiled after bed270, - so once again attempt to blindly fix those errors... - - src/cairo-quartz-surface.c | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -commit 81c4594712843abca188a33c1edfb70fa6c5a0d9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 6 23:41:11 2009 +0100 - - [script] Ensure strings are nul terminated - - Infrequently, but, for example, handling glyph strings, we require the - string to be nul terminated. (Otherwise an error occurs, which was - previously compounded by a drastic leak.) - - util/cairo-script/cairo-script-scanner.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 86d6a489527d125e739aa5a6d17893bb44977010 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 6 23:39:21 2009 +0100 - - [script] Check for failure to store the glyph cache - - If we fail to add the glyph cache (presumably because the font is in - error) do not leak the allocation. As this occurs for every single glyph - string, the leak can grow very quickly and mask the original bug. - - util/cairo-script/cairo-script-operators.c | 14 ++++++++++---- - 1 file changed, 10 insertions(+), 4 deletions(-) - -commit af392f7e45edcbf101ca7c91fc1ee372d283e8b9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 6 23:17:06 2009 +0100 - - [script] Extend csi-replay to show how to use a single surface - - Currently the replay creates a fresh surface for every new surface. Whilst - using it to view replays (such as with --xlib) this is often not what is - desired so add a mode (compile-time only for now) to use similar surfaces - and blits to the front buffer instead. - - util/cairo-script/csi-replay.c | 73 +++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 72 insertions(+), 1 deletion(-) - -commit b7639a5f79eaecfbaf1710fc679c7be375638efd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 6 10:55:18 2009 +0100 - - [trace] Close the dictionary before font - - font expects the dictionary to be constructed on the stack for its use, so - close it. (I missed the closing '>>' when switching between dictionary - constructors.) - - util/cairo-trace/trace.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 19f54d872fcfa9801abee9c57e30c6b3fc7eef40 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 6 10:40:32 2009 +0100 - - [gl] Move hidden cairo_gl_surface_create() proto to header - - Make check-plt.sh happy - - src/cairo-gl-private.h | 2 ++ - src/cairo-gl-surface.c | 1 - - 2 files changed, 2 insertions(+), 1 deletion(-) - -commit ee69f8aa5e0697aaeee9c00839fb7b30fe7e3184 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 6 10:30:52 2009 +0100 - - [trace] Whitespace - - A few gratuitous whitespace and increase the buffer size used whilst - reading in data files. - - util/cairo-trace/trace.c | 12 ++++-------- - 1 file changed, 4 insertions(+), 8 deletions(-) - -commit 6d30021d65aa4126cd5eef47b0e6057dfc17d7ac -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 6 10:29:49 2009 +0100 - - [trace] Only write the 4 byte length to the stream - - We were attempting to write out the whole length of the block when we were - just trying to write out the length value. - - util/cairo-trace/trace.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a439bd99d0439c007bc74584c1eb56700c520b52 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Aug 5 17:34:29 2009 +0100 - - [perf] Compare drawing random curves - - Extend the intersection tests with straight lines, with random curves as - well. - - perf/intersections.c | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 57 insertions(+), 1 deletion(-) - -commit 1327df2cf2f2dd9f98533d824503dfb081803b05 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 4 20:15:13 2009 +0100 - - [pattern] Invalid access beyond end of freed-pool - - Oops, we were attempting to return a pointer from beyond the end of our - array. - - src/cairo-pattern.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 920f59a755ce142b068f21b9db07f76f35449f16 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 4 20:13:43 2009 +0100 - - [build] Configure switch to disable atomics - - Workaround for my arm toolchain which succeeds in linking the configure - program, only to complain when linking a program (such as cairo-perf) - against libcairo.so. Annoying. - - build/configure.ac.system | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -commit cb30c1f367967e3395296a5d01a3eb9050635e3b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Aug 4 13:59:03 2009 +0100 - - [path] Extend identical lines. - - If a subsequent PATH_OP is just a continuation of the previous line, i.e. - it has the same gradient, then just replace the end-point of the previous - line with the new point rather than adding a new operation. Surprisingly - this occurs in the wild, but the main motivation is a future optimisation - to reduce the number of intersections during stroke-to-path. - - src/cairo-path-fixed.c | 31 ++++++++++++++++++++++++++++--- - src/cairoint.h | 7 +++++++ - 2 files changed, 35 insertions(+), 3 deletions(-) - -commit 85b688a3f6271427befca699de3a7a15162fc59e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Aug 3 22:27:22 2009 +0100 - - [matrix] Use hypot() - - Use hypot() instead of open-coding sqrt(x*x + y*y). In theory, the - compiler could emit highly efficient code. In practice it's slower, but - more likely to be more accurate -- but the difference over a bare sqrt() - is likely not to be perceptible. - - src/cairo-matrix.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 0db9e010fa70c65451d324cc9c0ade989f77fedd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Aug 3 22:23:19 2009 +0100 - - [perf] Calibrate tests to run for at least 2 seconds - - By ensuring that tests take longer than a couple of seconds we eliminate - systematic errors in our measurements. However, we also effectively - eliminate the synchronisation overhead. To compensate, we attempt to - estimate the overhead by reporting the difference between a single - instance and the minimum averaged instance. - - perf/box-outline.c | 14 +++-- - perf/cairo-perf-report.c | 4 +- - perf/cairo-perf.c | 39 +++++++++--- - perf/cairo-perf.h | 2 +- - perf/composite-checker.c | 22 ++++--- - perf/dragon.c | 142 ++++++++++++++++++++++--------------------- - perf/fill.c | 21 +++++-- - perf/glyphs.c | 32 +++++----- - perf/intersections.c | 27 ++++---- - perf/long-dashed-lines.c | 9 +-- - perf/long-lines.c | 68 +++++++++++---------- - perf/mask.c | 45 ++++++++------ - perf/mosaic.c | 38 ++++++------ - perf/paint-with-alpha.c | 5 +- - perf/paint.c | 5 +- - perf/pattern_create_radial.c | 24 ++++---- - perf/pythagoras-tree.c | 20 +++--- - perf/rectangles.c | 38 ++++++------ - perf/rounded-rectangles.c | 47 +++++++++++--- - perf/spiral.c | 51 ++++++++-------- - perf/stroke.c | 19 ++++-- - perf/subimage_copy.c | 7 ++- - perf/tessellate.c | 17 +++--- - perf/text.c | 27 ++++---- - perf/twin.c | 29 +++++---- - perf/unaligned-clip.c | 37 ++++++----- - perf/world-map.c | 78 ++++++++++++------------ - perf/zrusin.c | 10 +-- - 28 files changed, 496 insertions(+), 381 deletions(-) - -commit 60c574ad062f3d8526056942bb7c9e71610a2773 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Aug 5 15:11:00 2009 +0100 - - [surface] Protect against the user setting a fallback resolution of 0. - - Bug 23067 -- using clear drawing operator crashes printing - http://bugs.freedesktop.org/show_bug.cgi?id=23067 - - Here we were hitting an assert within the paginated surface after creating - a zero sized fallback image, due to the paginated surface being created - with an x fallback resolution of 0 dpi (by - _gtk_printer_create_cairo_surface(), gtk/gtkprinter.c:924). - - Avoid the bug by guarding against bad input to - cairo_surface_set_fallback_resolution() which also allows us to identity - the invalid caller. - - src/cairo-surface.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit a3f393cf644d75065fe524e2fbb28f55844f43bf -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 6 09:52:34 2009 +0100 - - [configure] Also check for libiberty.h - - cairo-trace also uses the libiberty.h without checking for its presence -- - causing a build failure if bfd was installed but not that header. - - configure.ac | 1 + - 1 file changed, 1 insertion(+) - -commit 51bd27afa147f78c8f4f3778cee725b6444e7eb0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 6 09:41:15 2009 +0100 - - [boilerplate/test] Convert make-*-constructors to shell - - Remove the intermediate C program that was a nuisance whilst - cross-compiling and replace it with a simple shell script that is just a - combination of cat + sed. - - boilerplate/Makefile.am | 17 +-- - boilerplate/make-cairo-boilerplate-constructors.c | 163 --------------------- - boilerplate/make-cairo-boilerplate-constructors.sh | 24 +++ - build/configure.ac.tools | 8 - - test/Makefile.am | 11 +- - test/make-cairo-test-constructors.c | 162 -------------------- - test/make-cairo-test-constructors.sh | 24 +++ - 7 files changed, 56 insertions(+), 353 deletions(-) - -commit 5dd29d7e2da8684ea46c8f1baba42e6dc64f1351 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Aug 6 09:55:43 2009 +0100 - - [directfb] Conditionally use DSPF_BGR555 - - Appears that this token is more recent than some of my headers, so check - for its presence before use. - - src/cairo-directfb-surface.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 1d2abe7d1061e580e189604b25465c8025cedfb7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 31 19:38:23 2009 +0100 - - [gl] Refresh clip-operator ref. - - A minor renderering difference, acceptable. - - test/Makefile.am | 1 + - test/clip-operator.gl.argb32.ref.png | Bin 0 -> 8296 bytes - 2 files changed, 1 insertion(+) - -commit 640a0be2e2ef0124424aeca32915a2f644b03d27 -Merge: 067de9cf6 5c2239be4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 31 18:03:35 2009 +0100 - - Merge branch 'gl-glyph-cache' - - Comparing the glyph-cache on an i915: - - gnome-terminal-20090728: 1.51x speedup - firefox-20090601: No change - -commit 5c2239be4b11437b1ab1731ef2dfac6cfb8095b1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 31 16:29:49 2009 +0100 - - [gl] Use scissors rather than allocating a temporary depth buffer. - - src/cairo-gl-glyphs.c | 9 ---- - src/cairo-gl-private.h | 9 ++++ - src/cairo-gl-surface.c | 114 ++++++++++--------------------------------------- - 3 files changed, 32 insertions(+), 100 deletions(-) - -commit 067de9cf62223ee7a36aab10e3d8a4e0dcda4741 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 31 17:49:39 2009 +0100 - - [test] Add clip-fill. - - Test filling through a complex clip. - - test/Makefile.am | 4 ++ - test/Makefile.sources | 1 + - test/clip-fill.c | 78 +++++++++++++++++++++++++++++++++++ - test/clip-fill.ps.xfail.png | Bin 0 -> 522 bytes - test/clip-fill.ref.png | Bin 0 -> 1035 bytes - test/clip-fill.xlib-fallback.ref.png | Bin 0 -> 1039 bytes - test/clip-fill.xlib.ref.png | Bin 0 -> 1049 bytes - 7 files changed, 83 insertions(+) - -commit 7db1fb6fa97e0c44e66c0ae533b94fb3f26b273d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 31 16:57:14 2009 +0100 - - [test] Add clip-text - - Test applying a complex clip to text. - - test/Makefile.am | 4 ++ - test/Makefile.sources | 1 + - test/clip-text.c | 88 ++++++++++++++++++++++++++++++++++++++++++++ - test/clip-text.ps.xfail.png | Bin 0 -> 434 bytes - test/clip-text.ref.png | Bin 0 -> 928 bytes - test/clip-text.svg.ref.png | Bin 0 -> 933 bytes - test/clip-text.xlib.ref.png | Bin 0 -> 900 bytes - 7 files changed, 93 insertions(+) - -commit 728d3f6383bba218de03f2693f289ddad6a80d0c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 31 16:24:37 2009 +0100 - - Revert "[gl] Fixup unbounded regions after spans" - - This reverts commit f7121ca88844fa70ecb1a35f3f6c9b653324718d. - - src/cairo-gl-surface.c | 68 ++++++-------------------------------------------- - 1 file changed, 7 insertions(+), 61 deletions(-) - -commit 74bdea1249bc1fcd223e9bab83d9b9e22fa98b99 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 31 16:20:54 2009 +0100 - - [spans] Emit empty rows. - - A problem that does not present itself whilst using spans to intermediate - masks is that the tor-span-convertor did not emit the empty rows. When - compositing directly using spans with an unbounded operator this was - causing rendering artefacts, for overlapping-glyphs and the gl backend. - - src/cairo-tor-scan-converter.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -commit 1e4b9ab04bfe18f50b9b7c2cdb75d5828e33ef69 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 31 15:27:20 2009 +0100 - - [gl] Return status from _render_glyphs() - - src/cairo-gl-glyphs.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit 097484da6fd70867ed2128e78247eab5c43217fb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 31 14:48:32 2009 +0100 - - [boilerplate] Conditionally tweak the xlib surface - - Prior to introduction of the buggy members to the surface, we obviously - cannot set them. However, the boilerplate code is meant to compile against - older revisions of the library so we need to check for the existence prior - to use. - - boilerplate/cairo-boilerplate-xlib.c | 10 ++++++++-- - src/cairo-xlib-surface-private.h | 3 +++ - 2 files changed, 11 insertions(+), 2 deletions(-) - -commit 397538a251ae19bb1a34650763eb9a80108a96de -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 31 12:17:28 2009 +0100 - - [boilerplate] Update fallbacks after disabling RENDER - - The xlib surface caches flags based on RENDER version, so after disabling - render to force fallbacks, we need to ensure that the flags are reset. - - boilerplate/cairo-boilerplate-xlib.c | 5 +++++ - 1 file changed, 5 insertions(+) - -commit 786d1f962a7e7ee7036ea85d4ea3aec7580e25db -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 31 13:17:24 2009 +0100 - - [xlib] Use server-side gradients. - - We can offload creation of gradients to server that support RENDER 0.10 - and later. This greatly reduces the amount of traffic we need to send over - our display connection as the gradient patterns are much smaller than the - full image. Even if the server fallbacks to using pixman, performance - should be improved by the reduced transport overhead. Furthermore this is a - requisite to enable hardware accelerated gradients with the xlib backend. - - Running cairo-perf-trace on tiny, Celeron/i915: - - before: firefox-20090601 211.585 - after: firefox-20090601 270.939 - - and on tiger, CoreDuo/nvidia: - - before: firefox-20090601 70.143 - after: firefox-20090601 87.326 - - where linear gradients are used extensively throughout the GTK+ theme. - Not quite the result I was expecting! - - In particular, looking at tiny: - - xlib-rgba paint-with-alpha_linear-rgba_over-512 47.11 (47.16 0.05%) -> 123.42 (123.72 0.13%): 2.62x slowdown - █▋ - xlib-rgba paint-with-alpha_linear3-rgba_over-512 47.27 (47.32 0.04%) -> 123.78 (124.04 0.13%): 2.62x slowdown - █▋ - xlib-rgba paint-with-alpha_linear-rgb_over-512 47.19 (47.21 0.02%) -> 123.37 (123.70 0.13%): 2.61x slowdown - █▋ - xlib-rgba paint-with-alpha_linear3-rgb_over-512 47.30 (47.31 0.04%) -> 123.52 (123.62 0.09%): 2.61x slowdown - █▋ - xlib-rgba paint_linear3-rgb_over-512 47.29 (47.32 0.05%) -> 118.95 (119.60 0.29%): 2.52x slowdown - █▌ - xlib-rgba paint_linear-rgba_over-512 47.14 (47.17 0.06%) -> 116.76 (117.06 0.16%): 2.48x slowdown - █▌ - xlib-rgba paint_linear3-rgba_over-512 47.32 (47.34 0.04%) -> 116.85 (116.98 0.05%): 2.47x slowdown - █▌ - xlib-rgba paint_linear-rgb_over-512 47.15 (47.19 0.03%) -> 114.08 (114.55 0.20%): 2.42x slowdown - █▍ - xlib-rgba paint-with-alpha_radial-rgb_over-512 117.25 (119.43 1.21%) -> 194.36 (194.73 0.09%): 1.66x slowdown - ▋ - xlib-rgba paint-with-alpha_radial-rgba_over-512 117.22 (117.26 0.02%) -> 193.81 (194.17 0.11%): 1.65x slowdown - ▋ - xlib-rgba paint_radial-rgba_over-512 117.23 (117.26 0.02%) -> 186.35 (186.41 0.03%): 1.59x slowdown - ▋ - xlib-rgba paint_radial-rgb_over-512 117.23 (117.27 0.02%) -> 184.14 (184.62 1.51%): 1.57x slowdown - ▋ - - Before 1.10, we may choose to disable server-side gradients for the - current crop of Xorg servers, similar to the extended repeat modes. - - [Updated by Chris Wilson. All bugs are his.] - - NEWS | 28 ++++ - src/cairo-xlib-display.c | 9 +- - src/cairo-xlib-private.h | 3 +- - src/cairo-xlib-surface-private.h | 5 +- - src/cairo-xlib-surface.c | 306 +++++++++++++++++++++++++++++++++++---- - 5 files changed, 318 insertions(+), 33 deletions(-) - -commit 53cbbad8fbbd2b9423a5eb179d0cec3fc7678791 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 31 11:35:45 2009 +0100 - - [xlib] Disable extended repeat modes if RENDER < 0.10 - - The extended repeat modes were only introduced in RENDER 0.10, so disable - them if the server reports an earlier version. This is in addition to - disabling the repeat modes if we know (guess!) the server to have a buggy - implementation. - - src/cairo-xlib-surface.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit e283e53563915daa11566ba006e1bf1e12b0d2fc -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 31 10:50:13 2009 +0100 - - [perf] Print min_ticks in report - - As the change and ranking is based on the min_ticks, and as this can - sometimes deviate wildly from median_ticks, include min_ticks in the - output. - - In particular it helps to explain cases like: - - xlib-rgba rectangles_similar-rgba-mag_source-512 10.13 88.41% -> 5.77 0.19%: 1.50x slowdown - - which becomes - - xlib-rgba rectangles_similar-rgba-mag_source-512 3.83 (10.13 88.41%) -> 5.75 (5.77 0.19%): 1.50x slowdown - - (Considering the poor standard deviation on the initial measurement, this - is more likely a sampling error than a true regression.) - - perf/cairo-perf-diff-files.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit ce8a8424aa4331f119b115123faf7b773b5f25d0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 31 09:36:10 2009 +0100 - - [perf] Change the order of slowdowns. - - More the large slowdowns to the end. This has two pleasing effects: - - 1. There is symmetry between large speedups at the top, and large - slowdowns at the bottom, with long bars -> short bars -> long bars. - - 2. After a cairo-perf-diff run the largest slowdowns are immediately - visible on the console. What better way to flag performance - regressions? - - perf/cairo-perf-diff-files.c | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -commit 877ed645f95ff048f7c5d2ce0fb92389918711a6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jul 30 22:09:55 2009 +0100 - - [perf] Add a more complex fill, a set of rings - - In investigating performance regressions with the wip/tessellator, I'm - keen to inspect how the tessellator scales with polygon complexity. - - perf/fill.c | 37 +++++++++++++++++++++++++++++++++++++ - 1 file changed, 37 insertions(+) - -commit 3dbc4170f0e89f02455b82c6496d6322e56e0491 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jul 30 10:35:11 2009 +0100 - - [perf] Add a single shot long-lines - - Compare the performance of self-intersection removal by comparing the cost - of individually stroking each line versus stroking them all en-mass. - - perf/long-lines.c | 45 ++++++++++++++++++++++++++++++++++----------- - 1 file changed, 34 insertions(+), 11 deletions(-) - -commit 2f033af5ab15dc56675c42434bb1c18655012b03 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jul 30 09:42:31 2009 +0100 - - [perf] Fix the asymmetry in long lines - - We missed the final long diagonal to the bottom-right. - - perf/long-lines.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 944206e55ba997a4a55334be3c7ebf8141016be7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jul 30 09:36:28 2009 +0100 - - [perf] Correct typo in long-lines.c - - Computed may_y using height not width, fortunately the test cases have - always been square. - - perf/long-lines.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 229887e980f03d90248add8af9cd0a9be6cb0f9a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jul 29 19:48:00 2009 +0100 - - [perf] Check output - - Add a CAIRO_PERF_OUTPUT environment variable to cause cairo-perf to first - generate an output image in order to manually check that the test is - functioning correctly. This needs to be automated, so that we have - absolute confidence that the performance tests are not broken - but isn't - that the role of the test suite? If we were ever to publish cairo-perf - results, I would want some means of verification that the test-suite had - first been passed. - - perf/cairo-perf.c | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - -commit 8c6ecfe6488dff93090d5d0a2d814466804bc7de -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jul 29 16:17:36 2009 +0100 - - [perf] Remove the warning about failing to open a directory - - The warning is repeated in the error message if we fail to find any - traces, and now that we search a path it is likely that some elements do - not exist. Thus we annoy the user with irrelevant, non-fatal warnings. - - Still looking for suggestions for the most appropriate home for the system - wide cairo-traces dir... - - perf/cairo-perf-trace.c | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit 8c1aed17ca5dafb00175ac413d56760a3ef012f9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jul 29 13:24:19 2009 +0100 - - [perf] Add another stroking micro-benchmark - - The original stroke only contains a single subpath. Self-intersection - removal particularly affects strokes with multiple curved segments, so add - a path that encompasses both straight edges and rounded corners. - - perf/stroke.c | 36 ++++++++++++++++++++++++++++++++++++ - 1 file changed, 36 insertions(+) - -commit 71f5649846aa8e9e2178e7caf69ab47554f86c4d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jul 29 15:36:25 2009 +0100 - - [path] Fix iter to handle circular list of buffers - - When switching the path over to use the circularly linked list, 73f801, - I missed updating the path iterator. - - src/cairo-path-fixed-private.h | 1 + - src/cairo-path-fixed.c | 9 +++++++-- - 2 files changed, 8 insertions(+), 2 deletions(-) - -commit acfcf4a31b3370ca7bbdd522fad9ddc483df3472 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jul 29 16:10:04 2009 +0100 - - [path] Remove the broken rel-curve-to as line-to - - As pointed out by Andrea, and now tested by test/degenerate-rel-curve-to, - this attempt at removing degenerate curve-to was broken. - - src/cairo-path-fixed.c | 6 ------ - 1 file changed, 6 deletions(-) - -commit 81d3e15e6ca7b7c1a07fdfb6d03c43484ce9f502 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jul 29 16:07:17 2009 +0100 - - [test] Yet another bug in curve-to as line-to. - - Andrea Canciani (ranma42) found another instance of my broken 'degenerate' - curve-to as line-to optimisation. All I can say is when I do something - wrong, at least I'm consistent! - - This test case highlights the bug in the rel-curve-to path. - - test/Makefile.am | 2 + - test/Makefile.sources | 1 + - test/degenerate-rel-curve-to.c | 99 ++++++++++++++++++++++++++++++ - test/degenerate-rel-curve-to.ps.xfail.png | Bin 0 -> 202 bytes - test/degenerate-rel-curve-to.ref.png | Bin 0 -> 270 bytes - 5 files changed, 102 insertions(+) - -commit f7121ca88844fa70ecb1a35f3f6c9b653324718d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 28 20:48:26 2009 +0100 - - [gl] Fixup unbounded regions after spans - - src/cairo-gl-surface.c | 68 ++++++++++++++++++++++++++++++++++++++++++++------ - 1 file changed, 61 insertions(+), 7 deletions(-) - -commit 5631f01075a030255c5eb47a8ee600b062705d0f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 28 18:56:12 2009 +0100 - - [gl] Cache texture snapshots. - - src/cairo-gl-glyphs.c | 32 ++++-- - src/cairo-gl-private.h | 2 +- - src/cairo-gl-surface.c | 297 +++++++++++++++++++++++++++++-------------------- - 3 files changed, 204 insertions(+), 127 deletions(-) - -commit 3b0bb2cfd2ad8579e88f1c0ab46f5ccf762e0974 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 28 18:04:59 2009 +0100 - - [gl] Replace DrawPixels with TexSubImage - - src/cairo-gl-surface.c | 60 +++++++++++++++++++++++--------------------------- - 1 file changed, 27 insertions(+), 33 deletions(-) - -commit 4b7a1a2da7a7f55db788cbfb3164f9f948bbb26b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 28 17:32:30 2009 +0100 - - [gl] Disable the EXTEND_REFLECT convertor - - As we can handle EXTEND_REFLECT via the samplers, we do not need to - convert such patterns to EXTEND_REPEAT during acquisition. - - src/cairo-gl-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 780a95b024c5880353ffc256a634eb3bcc641601 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 28 16:49:04 2009 +0100 - - [gl] Trim glyphs to surface/clip extents. - - src/cairo-gl-glyphs.c | 21 ++++++++++++++++++--- - 1 file changed, 18 insertions(+), 3 deletions(-) - -commit b1227dea29d3e357cc69c49eed0ae10d5578f24a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 28 16:39:52 2009 +0100 - - [gl] Render glyphs to an intermediate mask as opposed to falling back. - - There are many common scenarios, mostly involving overlapping glyphs, - for which to guarantee correct rendering we have to composite the glyphs - via an explicit mask. That is instead of just blending the glyphs on to - the destination, we have to add the glyphs to a mask, and then composite - that mask+source with the destination. - - src/cairo-gl-glyphs.c | 306 ++++++++++++++++++++++++++++++++------------------ - 1 file changed, 194 insertions(+), 112 deletions(-) - -commit cd259489e2f41caaa7441233d87b46fbd43991ae -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 28 15:58:54 2009 +0100 - - [gl] Fallback for overlapping glyphs. - - src/cairo-analysis-surface.c | 6 ++++-- - src/cairo-gl-glyphs.c | 35 ++++++++++++++++++++--------------- - src/cairo-gl-private.h | 13 +++++++++++++ - src/cairo-scaled-font.c | 23 +++++++++++++++++++++-- - src/cairo-surface-fallback.c | 3 ++- - src/cairo-xcb-surface.c | 3 ++- - src/cairo-xlib-surface.c | 3 ++- - src/cairoint.h | 3 ++- - 8 files changed, 66 insertions(+), 23 deletions(-) - -commit 3d8f1d3dc83b9a86f2f104f0e2afa192a34d18c8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 28 15:38:45 2009 +0100 - - [gl] Only unlock the glyph cache when full. - - src/cairo-gl-glyphs.c | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -commit 922b1fe8e380ceba0630935460ce758ef660df75 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Tue Jul 28 22:34:42 2009 +0930 - - Ensure Type 3 fonts do not use the name .notdef in the PS encoding - - src/cairo-scaled-font-subsets.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a251e34dbbcb652906f7fddd2a72cbb5992b58ae -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 28 13:44:19 2009 +0100 - - [gl] Move check for vertex buffer support to individual operations. - - As we can fallback instead of using vertex buffers, do so rather than - preventing any use of GL acceleration. - - src/cairo-gl-glyphs.c | 3 +++ - src/cairo-gl-surface.c | 17 +++++++++-------- - 2 files changed, 12 insertions(+), 8 deletions(-) - -commit 90657bacc306e65e07e9eb16561a805150aef778 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 28 13:30:31 2009 +0100 - - [gl] Separate out supported operator check. - - By performing the check on whether the operator is supported prior to - acquiring the context, we do not need to handle the error part way - through the context setup. This makes the code much cleaner, and save - some work for the unsupported cases. - - src/cairo-gl-glyphs.c | 7 ++++--- - src/cairo-gl-private.h | 5 ++++- - src/cairo-gl-surface.c | 46 ++++++++++++++++++---------------------------- - 3 files changed, 26 insertions(+), 32 deletions(-) - -commit 21d50e2163038c8acc0eef738acf61f851835f7d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 28 13:24:43 2009 +0100 - - [gl] Unthaw font along contended path. - - If we bail after freezing the font, make sure we thaw that it is thawed - before returning. - - src/cairo-gl-glyphs.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 5440055fc0329c726d324984cd2fdf07badc7e0f -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Tue Jul 28 20:59:25 2009 +0930 - - Ensure Type 3 fonts do not add a .notdef glyph - - src/cairo-scaled-font-subsets.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1ae5a41951b8a8cb415835559f91d1636a885216 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Tue Jul 28 20:54:58 2009 +0930 - - PDF: Only Type 3 fonts should include glyph 0 in /ToUnicode - - 4c498098 made all 8-bit fonts include glyph 0 which incorrectly - included Type 1 fallback fonts. - - src/cairo-pdf-surface.c | 20 +++++++++++++------- - src/cairo-scaled-font-subsets.c | 1 + - src/cairoint.h | 1 + - 3 files changed, 15 insertions(+), 7 deletions(-) - -commit c11f369057c5ebb958bec58ef41f8ad4b43bdbee -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 28 13:02:10 2009 +0100 - - [perf] Avoid NULL derefs on broken result files. - - Instead of testing for a NULL return we checked that the pointer didn't - point to NIL. Oops. - - perf/cairo-perf-report.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 19f44982348d247057df4481010c1e3ddc80bac2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 28 12:58:07 2009 +0100 - - [test] Wrap yet another call to get_image_surface() inside a timeout. - - I missed this call to get_image_surface() that is now being hit having - restored the reference image for dash-infinite-loop. - - test/cairo-test.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit e2f912dc5bbfad3a6f4b5e1dbfbe51be148b3232 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 28 09:32:36 2009 +0100 - - [script] Add cvi, cvr, mod - - Add implementations of convert-to-integer, convert-to-real and modulus - supplied by Zack Weinberg <zweinberg@mozilla.com>. - - util/cairo-script/cairo-script-operators.c | 95 +++++++++++++++++++++++++++++- - util/cairo-script/cairo-script-private.h | 3 + - util/cairo-script/cairo-script-scanner.c | 6 +- - 3 files changed, 100 insertions(+), 4 deletions(-) - -commit 24b5ac6377f0e4b76b73460a497b9861fc01a889 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 28 08:05:22 2009 +0100 - - [test] Add timeouts around finishing and converting surfaces to images. - - In order to catch infinite loops whilst replaying and converting vector - surfaces to images (via external renderers) we need to also install - alarms around the calls to finish() and get_image(). - - test/cairo-test.c | 14 ++++++++++---- - 1 file changed, 10 insertions(+), 4 deletions(-) - -commit dacc380dd9ea23fe060d0397104ecd4b2a6d0eae -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sat Jul 11 02:59:12 2009 +0300 - - [test] Test extremely small dash lengths. - - The stroker code is liable to wedge when passed - dash patterns which don't advance the dash offset - due to limited precision arithmetic. This test - attempts to hit all the places in the stroker where - that can happen. - - Reported on the cairo mailing list by Hans Breuer: - - http://lists.cairographics.org/archives/cairo/2009-June/017506.html - - test/Makefile.am | 1 + - test/Makefile.sources | 1 + - test/dash-infinite-loop.c | 83 ++++++++++++++++++++++++++++++++++++++++ - test/dash-infinite-loop.ref.png | Bin 0 -> 642 bytes - 4 files changed, 85 insertions(+) - -commit 128d6fb2daf4e57def813511cc89167217041bf4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 28 08:37:54 2009 +0100 - - [path] Remove the erroneous conversion of a 'zero-length' curve-to - - As pointed out by Andrea, and now tested by test/degenerate-curve-to, a - curve-to that begins and ends on the same point may extend further due to - its control points. It can not be simply replaced with a degenerate - line-to. In order to do so we will need more extensive degeneracy - checking, ala _cairo_spline_init(). - - src/cairo-path-fixed.c | 3 --- - 1 file changed, 3 deletions(-) - -commit 660c389d11bda29498807f41d3b761fa540ae9b9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 28 08:18:17 2009 +0100 - - [test] Add degenerate-curve-to - - Andrea Canciani (ranma42) pointed out a second bug in the curve-to as - line-to optimisation, that is a curve starting and finishing on the same - point is not necessarily degenerate. This test case exercises 5 different - curves that start and end on the same point. - - test/Makefile.am | 2 + - test/Makefile.sources | 1 + - test/degenerate-curve-to.c | 103 ++++++++++++++++++++++++++++++++++ - test/degenerate-curve-to.ps.xfail.png | Bin 0 -> 202 bytes - test/degenerate-curve-to.ref.png | Bin 0 -> 276 bytes - 5 files changed, 106 insertions(+) - -commit d31de83e01468eaf9e1a906aef536b63e77cb752 -Author: Carl Worth <cworth@cworth.org> -Date: Mon Jul 27 15:58:27 2009 -0700 - - Mark curve-to-as-line-to as XFAIL for PS backend. - - Looks like ghostscript has a similar buggy optimization like we - just fixed in cairo. I'm just waiting on a new bugzilla account - from bugs.ghostscript.com after which I plan to report the bug - there. - - test/curve-to-as-line-to.ps.xfail.png | Bin 0 -> 112 bytes - 1 file changed, 0 insertions(+), 0 deletions(-) - -commit 45919a4f0c94a247b1c6941dbc4a57f6c9399396 -Author: Carl Worth <cworth@cworth.org> -Date: Mon Jul 27 15:45:55 2009 -0700 - - Revert "[path] Convert straight curve-to to line-to" - - This reverts commit c72ca2f2296b5fbc5859059b98221e5ffe087dae. - - This commit was broken as verified by the curve-to-as-line-to test - case. - - src/cairo-path-fixed.c | 12 ------------ - 1 file changed, 12 deletions(-) - -commit 5bed405b278a6b934369873f55117d497f69bc3a -Author: Carl Worth <cworth@cworth.org> -Date: Mon Jul 27 15:45:15 2009 -0700 - - Revert "[spline] Treat a straight spline as degenerate." - - This reverts commit f3d265559a2f97152ce8f307ea3ce83463083088. - - This commit was broken as verified by the curve-to-as-line-to test - case. - - src/cairo-spline.c | 9 --------- - 1 file changed, 9 deletions(-) - -commit 01acad1659caf766c57849f85dc3536fe2167608 -Merge: 3cc9a6050 cf15aed0c -Author: Carl Worth <cworth@cworth.org> -Date: Mon Jul 27 15:26:19 2009 -0700 - - Merge branch 'master' of git.cairographics.org:/git/cairo - -commit 3cc9a6050d9704976d8efe373b913e5309bde6d2 -Author: Carl Worth <cworth@cworth.org> -Date: Mon Jul 27 15:24:55 2009 -0700 - - Add new test: curve-to-as-line-to - - This test anticipates a future optimization, (already pushed - upstream but not pulled yet), with a buggy implementation - of replacing curve_to with line_to. - - test/Makefile.sources | 1 + - test/curve-to-as-line-to.c | 95 +++++++++++++++++++++++++++++++++++++++ - test/curve-to-as-line-to.ref.png | Bin 0 -> 95 bytes - 3 files changed, 96 insertions(+) - -commit e19b2866ed095cf66e9344efa442ae01dc7913ac -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 27 19:51:36 2009 +0100 - - [gl] Actually remove the glyph from the rtree on scaled_font_fini - - Mark the node as available when the scaled_glyph is finished, and then - attempt to collapse the parent node. - - src/cairo-gl-glyphs.c | 5 +++-- - src/cairo-rtree-private.h | 3 +++ - src/cairo-rtree.c | 13 +++++++++++++ - 3 files changed, 19 insertions(+), 2 deletions(-) - -commit e0b7979a30fff2a22fef5c170fd72c37c197ee0e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 27 17:44:10 2009 +0100 - - [gl] Switch to using the common rtree implementation. - - src/cairo-gl-glyphs.c | 440 ++++++++----------------------------------------- - src/cairo-gl-private.h | 52 ++---- - src/cairo-gl-surface.c | 5 + - 3 files changed, 89 insertions(+), 408 deletions(-) - -commit 37bf06d66efa238c4ff9c74c86a0c9d037b300e6 -Author: Eric Anholt <eric@anholt.net> -Date: Mon Jul 27 09:16:46 2009 -0700 - - [gl] Fix handling of clip for glyphs (clip-operator test). - - src/cairo-gl-glyphs.c | 43 ++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 42 insertions(+), 1 deletion(-) - -commit 74f33513194ec3d8e69a21aa71aa7fc854415e83 -Author: Eric Anholt <eric@anholt.net> -Date: Fri Jul 24 14:08:55 2009 -0700 - - [gl] Switch the glyph cache to using VBOs. - - This is a major performance improvement for GL even on non-TNL hardware - (i915), as we get to emit one giant DrawArrays and make GL drivers love us. - Now we're actually faster than not having the glyph cache. - - Before glyph cache (HP 945GM): - [ 0] gl firefox-20090601 238.103 238.195 0.35% 5/6 - After: - [ 0] gl firefox-20090601 68.181 76.735 5.46% 6/6 - - src/cairo-gl-glyphs.c | 177 ++++++++++++++++++++++++++++++++++---------------- - 1 file changed, 120 insertions(+), 57 deletions(-) - -commit ee4138e587a67c3fc4d0e89b899109af89f16e72 -Author: Eric Anholt <eric@anholt.net> -Date: Thu Jul 23 21:12:59 2009 -0700 - - [gl] Start adding glyph cache support. - - This is pretty much cut-and-paste from ickle's cairo-drm-i915-surface, and - uses fixed function and doesn't use VBOs. - - src/Makefile.sources | 2 +- - src/cairo-gl-glyphs.c | 829 +++++++++++++++++++++++++++++++++++++++++++++++++ - src/cairo-gl-private.h | 115 +++++++ - src/cairo-gl-surface.c | 69 ++-- - 4 files changed, 965 insertions(+), 50 deletions(-) - -commit cf15aed0c4e843e7297c5a1979ac0318f6df4947 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 27 19:18:21 2009 +0100 - - [xlib] Add a timely reminder to ensure that bugs are properly filed. - - In a discussion on IRC, attention was drawn to a dubious comment in - _cairo_xlib_show_glyphs() - the precise details of which have passed - out of the collective memory. - - src/cairo-xlib-surface.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 2da01ed552d48808cdf3aa7798ddfb959d016f0f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 27 18:20:22 2009 +0100 - - [rtree] Merge the common unpin_and_evict_unused() routine - - Having written the same method to prune glyphs from the rtree three times, - I thought wise to add the common method to the core routines. - - src/cairo-rtree-private.h | 1 + - src/cairo-rtree.c | 50 +++++++++++++++++++++++++++++++++++++++++++++-- - 2 files changed, 49 insertions(+), 2 deletions(-) - -commit 9f6a0f5668601c74886378d6cdb9588621d30e6d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 27 14:01:32 2009 +0100 - - [paginated] Propagate error return during finish. - - In bed2701, I removed the explicit finish of the paginated's target - surface, since as a wrapper it did not explicitly own the surface and so - should not be calling finish(). However, we do need to propagate errors - from the backing surface, such as PDF, which will only be detected during - the implicit finish in the final destroy. So check to see it we hold the - last reference to the target (and so our destroy will trigger the implicit - finish) and call the finish explicitly and check the error status - afterwards. - - src/cairo-paginated-surface.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit 6ca3720ba66f443e70c961f7d4fdac604c831e97 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 27 10:06:34 2009 +0100 - - [test] Overlapping glyphs - - Add a test case to explicitly check handling of overlapping glyphs. - - test/Makefile.am | 4 + - test/Makefile.sources | 1 + - test/overlapping-glyphs.argb32.ref.png | Bin 0 -> 2696 bytes - test/overlapping-glyphs.c | 123 +++++++++++++++++++++++++++ - test/overlapping-glyphs.pdf.argb32.xfail.png | Bin 0 -> 2199 bytes - test/overlapping-glyphs.pdf.rgb24.xfail.png | Bin 0 -> 1692 bytes - test/overlapping-glyphs.rgb24.ref.png | Bin 0 -> 1650 bytes - 7 files changed, 128 insertions(+) - -commit 09a2b2ed3189fe12483cbd673c24ceddc2c20f3f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 27 10:14:24 2009 +0100 - - [xlib] Fast-path the likely case of retrieving a known xrender_format - - If we know the CPU can read pointers atomically, then we can simply peek - into the cached_xrender_formats to see if we already have a match, before - taking the mutex. (Acquiring the mutex here is a minor nuisance that - appears on the callgrind profiles.) - - src/cairo-xlib-display.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit efb3445ee1553c91e62f6b0fe50ab72d65f5c81c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 27 10:18:25 2009 +0100 - - Add a simple rectangle tree (rtree) implementation - - In order to efficient store small images, we need to pack them into a - large texture. The rtree handles allocation of small rectangles out of a - much larger whole. As well as tracking free rectangles, it can also be - used to note which parts of the texture are 'pinned' -- that is have - operations currently pending and so can not be modified until that batch - of operations have been flushed. When the rtree is full, i.e. there is no - single free rectangle to accommodate the allocation request, it will - randomly evict an unpinned block large enough to fit the request. The - block may comprise just a single glyph, or a subtree of many glyphs. This - may not be the best strategy, but it is an effective start. - - src/Makefile.sources | 2 + - src/cairo-rtree-private.h | 124 ++++++++++++++++ - src/cairo-rtree.c | 349 ++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 475 insertions(+) - -commit c72ca2f2296b5fbc5859059b98221e5ffe087dae -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jul 26 09:07:48 2009 +0100 - - [path] Convert straight curve-to to line-to - - Avoid the high cost associated with curves if we can convert the curve to - a straight line. - - src/cairo-path-fixed.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -commit f3d265559a2f97152ce8f307ea3ce83463083088 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jul 26 09:03:36 2009 +0100 - - [spline] Treat a straight spline as degenerate. - - The fallback for degenerate splines is to treat them as a line-to, so if - the spline is straight, we can just replace it with a simple line-to by - treating as degenerate. - - src/cairo-spline.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit 25858d524d158531a71a2e772551b1e497d9d423 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jul 26 08:13:28 2009 +0100 - - [script] Fix reference to font source after transferring to mmap - - After diverting the pointers to accommodate lazy decompressing of the - source, the bytecode pointer was left pointing to the original location - that had already been freed - thus passing an invalid block to FreeType - and unsurprisingly then, blowing up. - - util/cairo-script/cairo-script-operators.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit ede0f7e7df4e17ddc1ffe98dcdfe0115a58e7b14 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jul 25 07:19:22 2009 +0100 - - [pdf] Eliminate redundant whole-page clip. - - We do not to emit a clip if it covers the whole page. - - src/cairo-pdf-surface.c | 16 ++++++++++++++++ - test/meta-surface-pattern.pdf.argb32.ref.png | Bin 3868 -> 3919 bytes - test/meta-surface-pattern.pdf.rgb24.ref.png | Bin 3806 -> 3867 bytes - test/scale-offset-image.pdf.xfail.png | Bin 8692 -> 8694 bytes - test/scale-offset-similar.pdf.xfail.png | Bin 9369 -> 9368 bytes - 5 files changed, 16 insertions(+) - -commit 4c498098c0dc66dc8c3e8cd60f79e5e5eda206b9 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Fri Jul 24 21:36:47 2009 +0930 - - PDF: Fix glyph 0 in toUnicode stream when using user fonts - - _cairo_pdf_surface_emit_to_unicode_stream() was reserving glyph 0 for - the .notdef glyph (as required by TrueType/CFF/Type1 fallback - fonts). However Type 3 fonts do not reserve glyph 0 for .notdef and - need glyph 0 to be included in the toUnicode stream. - - http://lists.cairographics.org/archives/cairo/2009-July/017731.html - - src/cairo-pdf-surface.c | 71 +++++++++++++++++++++++++++++++------------------ - 1 file changed, 45 insertions(+), 26 deletions(-) - -commit e577096dff714266101ba86ac275864b854096a4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 20 23:17:07 2009 +0100 - - [boilerplate] Fix compilation against old revisions (as old as 1.9.2!) - - boilerplate/Makefile.am | 7 +++++- - boilerplate/cairo-boilerplate-pdf.c | 4 ++++ - boilerplate/cairo-boilerplate-ps.c | 4 ++++ - boilerplate/cairo-boilerplate-svg.c | 4 ++++ - boilerplate/cairo-boilerplate-test-surfaces.c | 31 ++++++++++++++++----------- - boilerplate/cairo-boilerplate.c | 10 ++++++--- - src/cairo-types-private.h | 5 ++++- - util/cairo-script/cairo-script-operators.c | 2 ++ - 8 files changed, 50 insertions(+), 17 deletions(-) - -commit 0466053099b7f27065267d49c84e9e24bff6c7a1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jul 23 23:45:01 2009 +0100 - - [image] Discard redundant clears - - On slow machines the call to pixman_fill_sse2() on similar surfaces that - we know are already zeroed takes a significant amount of time [12.77% of - the profile for a firefox trace, cf to just 3% of the profile is spent - inside memset]. - - Rather than solve why the pixman_fill_sse2() is so slow, simply skip the - redundant clears. - - src/cairo-image-surface.c | 35 ++++++++++++++++++++++++++++++++++- - src/cairoint.h | 1 + - 2 files changed, 35 insertions(+), 1 deletion(-) - -commit 8b8e03503d7a4fdacfc48e0b35c9b02d7a08c1e2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jul 23 22:00:05 2009 +0100 - - [script] mark scan_read() inline - - Small function that is critical to performance whilst scanning scripts. - - util/cairo-script/cairo-script-scanner.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit f02ba09475b751fba411addb96718dbcb1de5132 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jul 23 20:23:51 2009 +0100 - - [xlib] Check workqueue before taking the display mutex - - Optimistically check to see if there is any outstanding work before - checking under the mutex. We don't care if we occasionally do not run the - queue this time due to contention, since we will most likely check again - very shortly or clean up with the display. - - src/cairo-xlib-display.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 4dc62bbedc5d8669c0508963497c568d0202f579 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jul 23 19:34:10 2009 +0100 - - [test] Extend radial gradients to check r2 < r1 - - Include additional gradients to cover the cases where r1 > r2, as a pixman - bug was exposed by: - [Bug 22908] Invalid output of radial gradient - http://bugs.freedesktop.org/show_bug.cgi?id=22908 - - test/radial-gradient.c | 36 +++++++++++++++++++++++------------- - test/radial-gradient.pdf.ref.png | Bin 79612 -> 277162 bytes - test/radial-gradient.ref.png | Bin 91159 -> 280971 bytes - 3 files changed, 23 insertions(+), 13 deletions(-) - -commit e98e2690cb4ac475819394334cb5e61a8e3d5557 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jul 22 18:32:47 2009 +0100 - - [test] Fix use of uninitialized widths. - - user-font-rescale copied unitialized values from the widths array into - the desired array. Although these corresponded to unused glyphs and so - were never used during the rendering, the values may have been illegal - causing FPE as they were copied. - - test/user-font-rescale.c | 13 +++++-------- - 1 file changed, 5 insertions(+), 8 deletions(-) - -commit 596dec95610ef02d86ede94eca5b83221b0b533a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jul 22 18:15:38 2009 +0100 - - [test] Trap SIGFPE - - Note the crash if we hit a floating-point exception. - - test/cairo-test.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit 0561539880b480273767a9559da89a25970802e2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jul 22 18:31:37 2009 +0100 - - [scaled-font] cairo_scaled_font_glyph_extents() initialise extents - - Ensure that the extents are zeroed on error. - - src/cairo-scaled-font.c | 23 ++++++++++++++++------- - 1 file changed, 16 insertions(+), 7 deletions(-) - -commit 5c843b5f8eca4b6f9756644143bc1be3bc3cbc84 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 21 20:43:28 2009 +0100 - - [scaled-font] Skip empty glyphs - - Skip the composition of empty glyphs - prevents redundant calls through - the stack. - - src/cairo-scaled-font.c | 57 +++++++++++++++++++++++++++---------------------- - 1 file changed, 31 insertions(+), 26 deletions(-) - -commit 0c4692a1d0667f5850f59c65754a3ffbaf688afe -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 20 23:34:55 2009 +0100 - - [perf] Specify html file on cmdline instead of redirecting all output - - Redirecting all output was causing the build messages to be entangled with - the Performance Change html. - - perf/Makefile.am | 4 ++-- - perf/cairo-perf-diff | 6 +++--- - 2 files changed, 5 insertions(+), 5 deletions(-) - -commit 1ec1d6148e85d4a9b9da825ea57adb0b8ceba1c0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 20 22:42:44 2009 +0100 - - [perf] Compare performance against most recent tag. - - perf/Makefile.am | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -commit 9d7fd626c39c37368ea05f91a358899e5b5b898c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jul 23 17:05:28 2009 +0100 - - [script] Decompress font sources - - Need to decompress patterns and embedded bytecode before passing to - fontconfig/FreeType. - - util/cairo-script/cairo-script-operators.c | 119 ++++++++++++++++++++++++----- - 1 file changed, 99 insertions(+), 20 deletions(-) - -commit 5d8f366581c0ca31fac76c991cb681d036af275f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jul 23 16:36:02 2009 +0100 - - [test] clip representation is no longer surface dependent - - So we can test the api just once in the preamble and not per-target. - - test/get-clip.c | 200 +++++++++++++++++++++----------------------------------- - 1 file changed, 74 insertions(+), 126 deletions(-) - -commit c3f2db4f73e93a3dafe0f52a5f9ca09ca78cc906 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 11 15:18:55 2009 +0100 - - [drm] Add an accelerated image surface. - - Use the DRM interface to h/w accelerate composition on image surfaces. - The purpose of the backend is simply to explore what such a hardware - interface might look like and what benefits we might expect. The - use case that might justify writing such custom backends are embedded - devices running a drm compositor like wayland - which would, for example, - allow one to write applications that seamlessly integrated accelerated, - dynamic, high quality 2D graphics using Cairo with advanced interaction - (e.g. smooth animations in the UI) driven by a clutter framework... - - In this first step we introduce the fundamental wrapping of GEM for intel - and radeon chipsets, and, for comparison, gallium. No acceleration, all - we do is use buffer objects (that is use the kernel memory manager) to - allocate images and simply use the fallback mechanism. This provides a - suitable base to start writing chip specific drivers. - - boilerplate/Makefile.sources | 2 + - boilerplate/Makefile.win32.features | 20 + - boilerplate/cairo-boilerplate-drm.c | 91 ++++ - build/Makefile.win32.features | 2 + - build/Makefile.win32.features-h | 6 + - build/configure.ac.features | 1 + - configure.ac | 25 + - perf/cairo-perf-trace.c | 3 + - perf/cairo-perf.c | 5 +- - src/Makefile.sources | 13 + - src/Makefile.win32.features | 28 ++ - src/cairo-debug.c | 4 + - src/cairo-drm.h | 135 ++++++ - src/cairo-freelist-private.h | 59 ++- - src/cairo-freelist.c | 73 +++ - src/cairo-image-surface.c | 1 + - src/cairo-mutex-list-private.h | 3 + - src/cairo.h | 2 + - src/cairoint.h | 8 + - src/drm/cairo-drm-bo.c | 120 +++++ - src/drm/cairo-drm-gallium-surface.c | 696 +++++++++++++++++++++++++++ - src/drm/cairo-drm-intel-private.h | 182 +++++++ - src/drm/cairo-drm-intel-surface.c | 475 ++++++++++++++++++ - src/drm/cairo-drm-intel.c | 933 ++++++++++++++++++++++++++++++++++++ - src/drm/cairo-drm-ioctl-private.h | 12 + - src/drm/cairo-drm-private.h | 257 ++++++++++ - src/drm/cairo-drm-radeon-private.h | 110 +++++ - src/drm/cairo-drm-radeon-surface.c | 437 +++++++++++++++++ - src/drm/cairo-drm-radeon.c | 447 +++++++++++++++++ - src/drm/cairo-drm-surface.c | 517 ++++++++++++++++++++ - src/drm/cairo-drm.c | 362 ++++++++++++++ - test/cairo-test.c | 2 +- - test/get-clip.c | 1 + - 33 files changed, 5025 insertions(+), 7 deletions(-) - -commit bed2701e1c89095878d549cbca8f22d84f3dda3c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jul 23 15:32:13 2009 +0100 - - Remove clip handling from generic surface layer. - - Handling clip as part of the surface state, as opposed to being part of - the operation state, is cumbersome and a hindrance to providing true proxy - surface support. For example, the clip must be copied from the surface - onto the fallback image, but this was forgotten causing undue hassle in - each backend. Another example is the contortion the meta surface - endures to ensure the clip is correctly recorded. By contrast passing the - clip along with the operation is quite simple and enables us to write - generic handlers for providing surface wrappers. (And in the future, we - should be able to write more esoteric wrappers, e.g. automatic 2x FSAA, - trivially.) - - In brief, instead of the surface automatically applying the clip before - calling the backend, the backend can call into a generic helper to apply - clipping. For raster surfaces, clip regions are handled automatically as - part of the composite interface. For vector surfaces, a clip helper is - introduced to replay and callback into an intersect_clip_path() function - as necessary. - - Whilst this is not primarily a performance related change (the change - should just move the computation of the clip from the moment it is applied - by the user to the moment it is required by the backend), it is important - to track any potential regression: - - ppc: - Speedups - ======== - image-rgba evolution-20090607-0 1026085.22 0.18% -> 672972.07 0.77%: 1.52x speedup - ▌ - image-rgba evolution-20090618-0 680579.98 0.12% -> 573237.66 0.16%: 1.19x speedup - ▎ - image-rgba swfdec-fill-rate-4xaa-0 460296.92 0.36% -> 407464.63 0.42%: 1.13x speedup - ▏ - image-rgba swfdec-fill-rate-2xaa-0 128431.95 0.47% -> 115051.86 0.42%: 1.12x speedup - ▏ - Slowdowns - ========= - image-rgba firefox-periodic-table-0 56837.61 0.78% -> 66055.17 3.20%: 1.09x slowdown - ▏ - - NEWS | 6 + - boilerplate/cairo-boilerplate-glitz-glx.c | 4 - - boilerplate/cairo-boilerplate-pdf.c | 1 - - boilerplate/cairo-boilerplate-ps.c | 8 +- - boilerplate/cairo-boilerplate-qt.cpp | 4 +- - boilerplate/cairo-boilerplate-svg.c | 1 - - boilerplate/cairo-boilerplate-test-surfaces.c | 113 +- - boilerplate/cairo-boilerplate.c | 100 +- - boilerplate/cairo-boilerplate.h | 2 + - perf/unaligned-clip.c | 3 + - src/Makefile.sources | 7 + - src/cairo-analysis-surface-private.h | 6 +- - src/cairo-analysis-surface.c | 539 ++++---- - src/cairo-beos-surface.cpp | 409 +++---- - src/cairo-clip-private.h | 87 +- - src/cairo-clip.c | 1290 ++++++++++---------- - src/cairo-debug.c | 2 + - src/cairo-directfb-surface.c | 491 ++++---- - src/cairo-ft-font.c | 53 +- - src/cairo-gl-private.h | 1 + - src/cairo-gl-surface.c | 216 +++- - src/cairo-glitz-surface.c | 213 ++-- - src/cairo-gstate.c | 233 ++-- - src/cairo-image-surface.c | 173 ++- - src/cairo-meta-surface-private.h | 43 +- - src/cairo-meta-surface.c | 550 ++++----- - src/cairo-os2-surface.c | 14 +- - src/cairo-paginated-private.h | 2 - - src/cairo-paginated-surface-private.h | 9 - - src/cairo-paginated-surface.c | 234 ++-- - src/cairo-path-bounds.c | 65 +- - src/cairo-path-fill.c | 11 +- - src/cairo-path-fixed-private.h | 36 +- - src/cairo-path-fixed.c | 201 ++- - src/cairo-path-in-fill.c | 27 +- - src/cairo-path-stroke.c | 8 +- - src/cairo-pattern.c | 127 +- - src/cairo-pdf-surface-private.h | 3 + - src/cairo-pdf-surface.c | 220 ++-- - src/cairo-ps-surface-private.h | 4 + - src/cairo-ps-surface.c | 367 +++--- - src/cairo-qt-surface.cpp | 373 +++--- - src/cairo-quartz-image-surface.c | 14 +- - src/cairo-quartz-private.h | 2 + - src/cairo-quartz-surface.c | 136 ++- - src/cairo-region-private.h | 73 ++ - src/cairo-region.c | 170 ++- - src/cairo-scaled-font.c | 132 +- - src/cairo-script-surface.c | 611 +++++++-- - src/cairo-script.h | 10 + - src/cairo-spans-private.h | 19 +- - src/cairo-spans.c | 20 +- - src/cairo-stroke-style.c | 8 +- - src/cairo-surface-clipper-private.h | 72 ++ - src/cairo-surface-clipper.c | 138 +++ - src/cairo-surface-fallback-private.h | 21 +- - src/cairo-surface-fallback.c | 995 ++++++++------- - src/cairo-surface-private.h | 19 +- - src/cairo-surface-wrapper-private.h | 156 +++ - src/cairo-surface-wrapper.c | 449 +++++++ - src/cairo-surface.c | 857 ++++--------- - src/cairo-svg-surface-private.h | 4 +- - src/cairo-svg-surface.c | 527 ++++---- - src/cairo-traps.c | 26 +- - src/cairo-type3-glyph-surface-private.h | 9 +- - src/cairo-type3-glyph-surface.c | 94 +- - src/cairo-types-private.h | 9 +- - src/cairo-user-font.c | 30 +- - src/cairo-vg-surface.c | 122 +- - src/cairo-win32-font.c | 16 +- - src/cairo-win32-printing-surface.c | 194 ++- - src/cairo-win32-private.h | 15 +- - src/cairo-win32-surface.c | 279 ++--- - src/cairo-xcb-surface.c | 248 ++-- - src/cairo-xlib-surface-private.h | 2 +- - src/cairo-xlib-surface.c | 492 ++++---- - src/cairo.c | 83 +- - src/cairo.h | 30 +- - src/cairoint.h | 325 ++--- - src/test-fallback-surface.c | 4 +- - src/test-fallback16-surface.c | 4 +- - src/test-null-surface.c | 35 +- - src/test-paginated-surface.c | 100 +- - src/test-paginated-surface.h | 6 +- - src/test-wrapping-surface.c | 272 +++++ - src/test-wrapping-surface.h | 51 + - test/Makefile.am | 75 +- - test/Makefile.sources | 2 + - test/buffer-diff.c | 12 +- - test/cairo-test.c | 18 +- - test/clip-operator.pdf.argb32.ref.png | Bin 0 -> 9340 bytes - test/clip-operator.pdf.argb32.xfail.png | Bin 9340 -> 0 bytes - test/clip-operator.pdf.rgb24.ref.png | Bin 0 -> 5146 bytes - test/clip-operator.pdf.rgb24.xfail.png | Bin 5155 -> 0 bytes - test/clip-operator.svg12.argb32.xfail.png | Bin 8404 -> 8406 bytes - test/clip-operator.svg12.rgb24.xfail.png | Bin 4523 -> 4540 bytes - test/clip-operator.xlib-fallback.ref.png | Bin 0 -> 3226 bytes - test/clip-operator.xlib-fallback.rgb24.ref.png | Bin 3254 -> 0 bytes - test/clip-push-group.pdf.ref.png | Bin 0 -> 164 bytes - test/clip-push-group.ref.png | Bin 199 -> 164 bytes - test/clip-push-group.xlib.ref.png | Bin 0 -> 155 bytes - test/clip-unbounded.c | 80 ++ - test/clip-unbounded.ref.png | Bin 0 -> 100 bytes - test/clip-unbounded.rgb24.ref.png | Bin 0 -> 97 bytes - test/clip-unbounded.svg12.rgb24.xfail.png | Bin 0 -> 100 bytes - test/clipped-group.pdf.argb32.ref.png | Bin 298 -> 0 bytes - test/clipped-group.pdf.ref.png | Bin 0 -> 310 bytes - test/clipped-group.pdf.rgb24.ref.png | Bin 298 -> 0 bytes - test/clipped-group.ref.png | Bin 350 -> 316 bytes - ...integer-translate-source.svg12.argb32.xfail.png | Bin 0 -> 16392 bytes - ...-integer-translate-source.svg12.rgb24.xfail.png | Bin 0 -> 16392 bytes - test/device-offset-fractional.pdf.argb32.ref.png | Bin 275 -> 0 bytes - test/device-offset-fractional.pdf.ref.png | Bin 277 -> 0 bytes - test/device-offset-fractional.pdf.rgb24.ref.png | Bin 275 -> 0 bytes - test/device-offset-fractional.pdf.xfail.png | Bin 0 -> 275 bytes - test/extended-blend-alpha.svg12.argb32.xfail.png | Bin 0 -> 6857 bytes - test/extended-blend-alpha.svg12.rgb24.xfail.png | Bin 0 -> 5014 bytes - test/extended-blend.svg12.argb32.xfail.png | Bin 0 -> 2273 bytes - test/extended-blend.svg12.rgb24.xfail.png | Bin 0 -> 1856 bytes - test/fill-empty.argb32.ref.png | Bin 0 -> 99 bytes - test/fill-empty.c | 62 + - test/fill-empty.rgb24.ref.png | Bin 0 -> 97 bytes - test/fill-empty.svg12.rgb24.xfail.png | Bin 0 -> 99 bytes - test/filter-nearest-offset.pdf.xfail.png | Bin 1926 -> 1867 bytes - test/filter-nearest-transformed.pdf.xfail.png | Bin 488 -> 482 bytes - ...t-text-vertical-layout-type1.pdf.argb32.ref.png | Bin 3632 -> 0 bytes - test/ft-text-vertical-layout-type1.pdf.ref.png | Bin 3968 -> 3635 bytes - ...ft-text-vertical-layout-type1.pdf.rgb24.ref.png | Bin 3632 -> 0 bytes - ...t-text-vertical-layout-type3.pdf.argb32.ref.png | Bin 3642 -> 0 bytes - test/ft-text-vertical-layout-type3.pdf.ref.png | Bin 3634 -> 3639 bytes - ...ft-text-vertical-layout-type3.pdf.rgb24.ref.png | Bin 3642 -> 0 bytes - test/ft-text-vertical-layout-type3.ref.png | Bin 3609 -> 3608 bytes - test/group-unaligned.svg.argb32.xfail.png | Bin 522 -> 520 bytes - test/group-unaligned.xlib-fallback.ref.png | Bin 496 -> 474 bytes - test/image-surface-source.svg12.argb32.xfail.png | Bin 0 -> 278 bytes - test/image-surface-source.svg12.rgb24.xfail.png | Bin 0 -> 278 bytes - test/in-fill-trapezoid.c | 19 +- - test/mask-glyphs.svg.ref.png | Bin 1211170 -> 1211147 bytes - test/mask.pdf.argb32.ref.png | Bin 0 -> 7837 bytes - test/mask.pdf.argb32.xfail.png | Bin 7944 -> 0 bytes - test/mask.pdf.rgb24.ref.png | Bin 0 -> 7301 bytes - test/mask.pdf.rgb24.xfail.png | Bin 7388 -> 0 bytes - test/mask.xlib-fallback.rgb24.ref.png | Bin 7216 -> 0 bytes - test/meta-surface-pattern.pdf.argb32.ref.png | Bin 4009 -> 3868 bytes - test/meta-surface-pattern.pdf.rgb24.ref.png | Bin 3905 -> 3806 bytes - test/operator-clear.xlib.argb32.ref.png | Bin 0 -> 1071 bytes - ...b.ref.png => operator-clear.xlib.rgb24.ref.png} | Bin - ...xfail.png => operator-source.pdf.rgb24.ref.png} | Bin - test/operator-source.svg12.argb32.xfail.png | Bin 2951 -> 2967 bytes - test/operator-source.svg12.rgb24.xfail.png | Bin 2963 -> 2976 bytes - test/operator-source.xlib-fallback.ref.png | Bin 0 -> 3177 bytes - test/operator-source.xlib-fallback.rgb24.ref.png | Bin 3193 -> 0 bytes - test/path-append.xlib-fallback.ref.png | Bin 6357 -> 6320 bytes - test/pdf-surface-source.svg12.argb32.xfail.png | Bin 0 -> 278 bytes - test/pdf-surface-source.svg12.rgb24.xfail.png | Bin 0 -> 278 bytes - test/ps-surface-source.svg12.argb32.xfail.png | Bin 0 -> 278 bytes - test/ps-surface-source.svg12.rgb24.xfail.png | Bin 0 -> 278 bytes - test/push-group.xlib-fallback.rgb24.ref.png | Bin 2912 -> 0 bytes - test/scale-offset-image.meta.xfail.png | Bin 0 -> 8599 bytes - test/scale-offset-image.pdf.rgb24.ref.png | Bin 8691 -> 0 bytes - ...32.ref.png => scale-offset-image.pdf.xfail.png} | Bin - test/scale-offset-image.xlib-fallback.xfail.png | Bin 0 -> 8580 bytes - test/scale-offset-similar.meta.xfail.png | Bin 0 -> 9095 bytes - test/scale-offset-similar.pdf.argb32.ref.png | Bin 9278 -> 0 bytes - test/scale-offset-similar.pdf.rgb24.ref.png | Bin 9278 -> 0 bytes - test/scale-offset-similar.pdf.xfail.png | Bin 0 -> 9369 bytes - test/scale-offset-similar.xlib-fallback.xfail.png | Bin 0 -> 8580 bytes - test/self-intersecting.argb32.xfail.png | Bin 287 -> 235 bytes - test/self-intersecting.pdf.argb32.xfail.png | Bin 295 -> 285 bytes - test/self-intersecting.pdf.rgb24.xfail.png | Bin 272 -> 269 bytes - test/self-intersecting.rgb24.xfail.png | Bin 282 -> 240 bytes - test/smask-fill.xlib-fallback.ref.png | Bin 1156 -> 0 bytes - test/smask-text.xlib.ref.png | Bin 0 -> 1672 bytes - test/smask.xlib.ref.png | Bin 0 -> 3393 bytes - test/surface-pattern-big-scale-down.ps.xfail.png | Bin 0 -> 238 bytes - test/svg-surface-source.svg12.argb32.xfail.png | Bin 0 -> 278 bytes - test/svg-surface-source.svg12.rgb24.xfail.png | Bin 0 -> 278 bytes - ...allback16-surface-source.svg12.argb32.xfail.png | Bin 0 -> 278 bytes - ...fallback16-surface-source.svg12.rgb24.xfail.png | Bin 0 -> 278 bytes - test/text-pattern.pdf.argb32.ref.png | Bin 0 -> 1831 bytes - test/text-pattern.pdf.argb32.xfail.png | Bin 1845 -> 0 bytes - test/text-pattern.pdf.rgb24.ref.png | Bin 0 -> 1598 bytes - test/text-pattern.pdf.rgb24.xfail.png | Bin 1599 -> 0 bytes - test/unbounded-operator.svg12.argb32.xfail.png | Bin 2767 -> 2771 bytes - test/unbounded-operator.svg12.rgb24.xfail.png | Bin 1719 -> 1731 bytes - test/user-font-proxy.svg.ref.png | Bin 16817 -> 16814 bytes - test/xlib-surface-source.svg12.argb32.xfail.png | Bin 0 -> 278 bytes - test/xlib-surface-source.svg12.rgb24.xfail.png | Bin 0 -> 278 bytes - util/cairo-script/cairo-script-file.c | 39 +- - util/cairo-script/cairo-script-objects.c | 22 + - util/cairo-script/cairo-script-private.h | 9 +- - util/cairo-script/cairo-script-scanner.c | 52 +- - util/cairo-trace/trace.c | 119 +- - 193 files changed, 7741 insertions(+), 5903 deletions(-) - -commit f5a1cdf283a6aa1f4409ccbf3c2274fb587724fe -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jul 23 14:46:16 2009 +0100 - - [gl] Simplify the common CLEAR of a surface - - Almost every surface is at sometime cleared, so catch the operation in - paint(), and emit a simple glClear() instead. - - src/cairo-gl-surface.c | 25 ++++++++++++++++++++++++- - 1 file changed, 24 insertions(+), 1 deletion(-) - -commit eed17527f62eab826af65258b60cd4545a71a22d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jul 23 14:30:46 2009 +0100 - - [gl] Do not use unchecked GL v1.5 features - - The span renderer uses ARB_vertex_buffer_object which was included into - the core as part of OpenGL 1.5. We failed to check for the required version - during initialisation, and to my surprise the i915 can only support OpenGL - 1.4 as it lacks ARB_occlusion_query. So just use the ARB extension instead - which is present on i915. - - src/cairo-gl-surface.c | 24 +++++++++++++----------- - 1 file changed, 13 insertions(+), 11 deletions(-) - -commit 6c28c7a1e268fad0ad34cac0d8a9a3951d8f3c7a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jul 23 08:45:58 2009 +0100 - - [perf] Add a simple report printer. - - After a run, it can be useful to reprint the results, so add - cairo-perf-print to perform that task. - - For the future, I'd like to move the performance suite over to the - git/perf style of single, multi-function binary. - - The sequence of operations that I typically do are: - - ./cairo-perf-trace -r -v -i 6 > `git describe`.`hostname`.perf - ./cairo-perf-diff-files REVA REVB - ./cairo-perf-print REVA - ./cairo-perf-compare-backends REVA - - which misses the caching available with cairo-perf-diff. 'make html' is - almost what I want, but still too prescriptive. However, that does need to - be addressed for continuous performance monitoring. - - Along the perf lines, those sequence of operations become: - ./cairo-perf record -i 6 - ./cairo-perf report - ./cairo-perf report REVA REVB - ./cairo-perf report --backends="image,xlib,gl" REVA REVB - ./cairo-perf report --html REVA REVB - - Also we want to think about installing the cairo-perf binary. So we want - to differentiate when run inside a git checkout. - - perf/Makefile.am | 8 ++++-- - perf/cairo-perf-print.c | 72 +++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 78 insertions(+), 2 deletions(-) - -commit 92ba74d760f20cd257b3916a51c8efef1c0e021e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jul 22 19:04:07 2009 +0100 - - [vg] Compile fixes for EGL boilerplate - - boilerplate/cairo-boilerplate-vg.c | 19 +++++++++---------- - 1 file changed, 9 insertions(+), 10 deletions(-) - -commit bfbe875ded0b0666a8048ef5fb598179a81c610a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jul 22 07:52:30 2009 +0100 - - [gl] Enable GL backend for cairo-perf-trace - - perf/cairo-perf-trace.c | 3 +++ - perf/cairo-perf.c | 4 +++- - 2 files changed, 6 insertions(+), 1 deletion(-) - -commit fed000620335a5fc2bda2ffeca5cbdd0ca5a158c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jul 22 07:49:05 2009 +0100 - - [NEWS] Add stub for OpenGL. - - NEWS | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit bff0b11634ffe52a5c8b2bbc9b6aee5bc3d2772c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jul 22 07:45:21 2009 +0100 - - [gl] Update reference images - - test/Makefile.am | 14 ++++++++++++++ - test/a1-image-sample.gl.xfail.png | Bin 0 -> 120 bytes - test/alpha-similar.gl.argb32.xfail.png | Bin 0 -> 99 bytes - test/alpha-similar.gl.rgb24.xfail.png | Bin 0 -> 93 bytes - test/device-offset-fractional.gl.xfail.png | Bin 0 -> 311 bytes - test/filter-nearest-offset.gl.xfail.png | Bin 0 -> 260 bytes - test/filter-nearest-transformed.gl.xfail.png | Bin 0 -> 514 bytes - test/finer-grained-fallbacks.gl.argb32.ref.png | Bin 0 -> 1075 bytes - test/mask-glyphs.gl.ref.png | Bin 0 -> 1188669 bytes - test/meta-surface-pattern.gl.argb32.ref.png | Bin 0 -> 3130 bytes - test/scale-offset-image.gl.ref.png | Bin 0 -> 9197 bytes - test/scale-offset-similar.gl.ref.png | Bin 0 -> 9197 bytes - test/source-clip-scale.gl.ref.png | Bin 0 -> 164 bytes - test/unbounded-operator.gl.argb32.xfail.png | Bin 0 -> 2805 bytes - test/unbounded-operator.gl.rgb24.xfail.png | Bin 0 -> 1355 bytes - 15 files changed, 14 insertions(+) - -commit 653351cd2e9fbe42333cd5ce57b7b49c6da3d122 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jul 22 07:38:24 2009 +0100 - - [gl] Copy font options from image backend. - - Enable hint metrics similar to the default image backend. However, - consider using the display stored in the GLX context to query the screen - default. - - src/cairo-gl-surface.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -commit a2ac67274d4ef89079c47cc415144a6ac0303f70 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jul 22 00:05:07 2009 +0100 - - [gl] Add warning about missing hook for XCloseDisplay(). - - src/cairo-glx-context.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit f2f42ec70a626a69f4b29f55f9d1818942bb0b19 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jul 22 00:01:22 2009 +0100 - - [gl] Apply pixel sample bias for spans - - src/cairo-gl-surface.c | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -commit 9e420f5d0669ec12eaaf7faf4e55642c10b95fb3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 21 23:45:00 2009 +0100 - - [gl] Another whitespace pass. - - src/cairo-gl-surface.c | 69 +++++++++++++++++++++++++------------------------- - 1 file changed, 35 insertions(+), 34 deletions(-) - -commit 222fd8b49b25c56f38ad375059240983a8f576ce -Merge: 5471603b5 7ee0fee90 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 21 23:42:34 2009 +0100 - - Merge commit 'anholt/gl-span-renderer' - -commit 5471603b527ecf43aaa72665d47929a1038aa642 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 21 23:38:05 2009 +0100 - - [gl] Use QUADS for drawing fill_rectangles() not TRIFAN - - As each rectangle is independent, we need to draw the array using QUADS. - - src/cairo-gl-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c3ef0c8d2011a23d73ff919dbb947ca68e1d8c1b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 21 23:31:30 2009 +0100 - - [gl] Whitespace - - Ensure we leave a space between a function call and its parameters. - - src/cairo-gl-surface.c | 90 +++++++++++++++++++++++++------------------------- - 1 file changed, 45 insertions(+), 45 deletions(-) - -commit b71c27bf4ebd19f74f22392ddb2612d843c74a38 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 21 23:26:15 2009 +0100 - - [gl] Remove dead code. - - The loop between texture_setup() and clone_similar() should be - impossible, since every compositing backend should know how to clone an - image surface. cairo-gl is no longer an exception and so this code can - safely be removed. - - src/cairo-gl-surface.c | 25 +------------------------ - 1 file changed, 1 insertion(+), 24 deletions(-) - -commit c8cc6a205a68a7c87239424aa93a29b5b166561d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 21 23:08:39 2009 +0100 - - [gl] Avoid temporary allocation of pixman trapezoids - - When creating the trapezoid mask, avoid having to allocate a temporary - array to hold the converted pixman trapezoids by instead rasterizing each - trapezoid separately into the mask. - - src/cairo-gl-surface.c | 82 ++++++++++++++++++++++---------------------------- - 1 file changed, 36 insertions(+), 46 deletions(-) - -commit 5deb8fa213ce86759053be391966618ee0959f50 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jun 9 16:20:32 2009 +0100 - - [gl] Construct a dummy window for the initial context - - In order to make the initial context current we need a Drawable that - matches the context. In general, the RootWindow may not match the desired - context so we need to query the context and construct an appropriate - Drawable. - - src/cairo-glx-context.c | 70 ++++++++++++++++++++++++++++++++++++++++++++----- - 1 file changed, 63 insertions(+), 7 deletions(-) - -commit 911482e5ae88ba26a1b3290731968f8b8a80cd70 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri May 22 23:44:27 2009 +0100 - - [gl] Constrain image sources to max texture size - - src/cairo-gl-private.h | 2 ++ - src/cairo-gl-surface.c | 19 +++++++++++++++++++ - 2 files changed, 21 insertions(+) - -commit 1ae5942a3aa9f73aa71438dc40221836b0dff7e2 -Merge: fd9df4978 6a5957475 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 21 22:28:44 2009 +0100 - - Merge commit 'anholt/gl' - - Conflicts: - boilerplate/Makefile.sources - boilerplate/cairo-boilerplate.c - build/configure.ac.features - src/cairo.h - util/cairo-script/Makefile.am - -commit fd9df4978d56bbb85ecd795afce72c0310dbcf3f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 21 20:51:46 2009 +0100 - - [perf] Don't override CAIRO_TRACE_DIR in cairo-perf-diff - - perf/cairo-perf-diff | 1 - - 1 file changed, 1 deletion(-) - -commit 2dd97ae59c482f09e42d719a941e189560f00b8f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 20 22:19:21 2009 +0100 - - [perf] Include trace comparison in html output - - build/Makefile.am.analysis | 2 ++ - perf/Makefile.am | 2 +- - perf/cairo-perf-diff | 17 +++++++---------- - perf/make-html.py | 3 +-- - 4 files changed, 11 insertions(+), 13 deletions(-) - -commit f30cee70f5fadd1f2af60310a148f61ed4fc7069 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 20 22:17:30 2009 +0100 - - [perf] Search multiple directories for traces - - In view of sharing traces between multiple builder, add some system wide - directories to the search path. This should be refined to a single - canonical location before release. - - perf/cairo-perf-trace.c | 23 +++++++++++++++++++++-- - 1 file changed, 21 insertions(+), 2 deletions(-) - -commit ebac096648d638d6405152d37d7b58a0f6ad3242 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 20 19:54:12 2009 +0100 - - [build] And export CC_FOR_BUILD so that we can actually use it! - - build/configure.ac.tools | 1 + - 1 file changed, 1 insertion(+) - -commit ed7853d4991f17a5e6df694808d33603eecf9186 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 20 19:37:27 2009 +0100 - - [build] Use ${CC} as the default value for CC_FOR_BUILD - - build/configure.ac.tools | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit 809f77a5cb7c17582a0ed90285a3c48c0696ed3e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 20 13:44:48 2009 +0100 - - [test] Summarise tests that fail during the preamble. - - Some tests only run and check during the preamble phase, and those - failures were being ignored during the summary. - - test/cairo-test-runner.c | 109 ++++++++++++++++++++++++++++++++++++----------- - 1 file changed, 85 insertions(+), 24 deletions(-) - -commit dbaa08e80b6d53f905974f3d2012f9425d9b8603 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 20 11:53:17 2009 +0100 - - [test] Fallback to comparing the base image references - - After looking at backend specific images, check against the base image - reference. This is useful to fallback surfaces like xlib-fallback, which - should look closer to the image backend than the xlib backend. - - test/cairo-test.c | 231 ++++++++++++++++++++++++++++++++++++++---------------- - 1 file changed, 163 insertions(+), 68 deletions(-) - -commit 164e0d2ea38baacd5888bffa5bebb5d64bfee01b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 20 11:02:04 2009 +0100 - - [test] Misidentification of XFAIL as NEW - - cut'n'paste error compared the image against the known failure instead of - any recorded new failure, when checking for NEW fails. - - test/cairo-test.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e2883177487ba294a0c97bafb00e2f56e5fe84d9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 20 18:55:04 2009 +0100 - - Add a jhbuild moduleset. - - util/cairo.modules | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - -commit 0c1e86d661e145981050129b163eae0fb8f4a963 -Author: Pierre Tardy <tardyp@gmail.com> -Date: Sat Jul 18 19:16:20 2009 +0100 - - Cross-compilation fix for boilerplate/test - - boilerplate/Makefile.am | 2 +- - test/Makefile.am | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit aac256b2692d15fc21abcdc9c1b9e5fd35f63f66 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jul 18 16:15:47 2009 +0100 - - Compile fixes for mingw32. - - Trivial typos found whilst using a cross-compiler. - - src/cairo-win32-surface.c | 1 + - util/cairo-script/cairo-script-private.h | 4 ++-- - 2 files changed, 3 insertions(+), 2 deletions(-) - -commit 922b01ad141305f909a4cfffc6c65a27c6d7a8a6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 17 14:27:19 2009 +0100 - - [test] Add a simplified CLEAR test. - - Just performs a very basic masked clear. This does not exhibit the bug I was - looking for, but is still useful for its simplicity. - - test/Makefile.am | 4 ++ - test/Makefile.sources | 1 + - test/clear.argb32.ref.png | Bin 0 -> 695 bytes - test/clear.c | 86 ++++++++++++++++++++++++++++++++++++++ - test/clear.rgb24.ref.png | Bin 0 -> 618 bytes - test/clear.svg12.argb32.xfail.png | Bin 0 -> 170 bytes - test/clear.svg12.rgb24.xfail.png | Bin 0 -> 170 bytes - 7 files changed, 91 insertions(+) - -commit 52fa8760aeef38abbab0484a6978adaf4f100f90 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jul 15 16:37:25 2009 +0100 - - Add OpenVG backend. - - Based on the work by Øyvind Kolås and Pierre Tardy -- many thanks to - Pierre for pushing this backend for inclusion as well as testing and - reviewing my initial patch. And many more thanks to pippin for writing the - backend in the first place! - - Hacked and chopped by myself into a suitable basis for a backend. Quite a - few issues remain open, but would seem to be ready for testing on suitable - hardware. - - AUTHORS | 3 +- - NEWS | 3 + - boilerplate/Makefile.sources | 1 + - boilerplate/Makefile.win32.features | 30 + - boilerplate/cairo-boilerplate-vg.c | 350 +++++++ - build/Makefile.win32.features | 3 + - build/Makefile.win32.features-h | 9 + - build/configure.ac.features | 3 + - configure.ac | 43 + - src/Makefile.sources | 3 + - src/Makefile.win32.features | 42 + - src/cairo-vg-surface.c | 1938 +++++++++++++++++++++++++++++++++++ - src/cairo-vg.h | 103 ++ - src/cairo.h | 4 +- - test/cairo-test.c | 3 +- - test/get-clip.c | 1 + - util/cairo-trace/trace.c | 70 ++ - 17 files changed, 2606 insertions(+), 3 deletions(-) - -commit 34d5b862bce3e9273391eb5d2c384394cca94d2d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jul 16 14:18:13 2009 +0100 - - [xlib] Enable Render support for the extended PDF operators - - With the latest 0.11 release of renderproto we now have the ability to - use the extended PDF operators via Render. - - src/cairo-image-surface.c | 10 ++++++---- - src/cairo-xlib-surface.c | 48 ++++++++++++++++++++++++++++++++++++++++++++--- - 2 files changed, 51 insertions(+), 7 deletions(-) - -commit 01eec61f4ffae4f492d667b6accb5ed3f6960d2c -Author: Tobias Hunger <tobias.hunger@gmail.com> -Date: Thu Jul 16 00:16:59 2009 -0400 - - [qt] Remove use of unnecessary QBrush pointer - - QBrush is a implicitly shared datastructure. There is on need to layer - "explicit pointer based sharing" atop of it. - - Mozilla Bug #498871 - - src/cairo-qt-surface.cpp | 31 +++++++++++++++---------------- - 1 file changed, 15 insertions(+), 16 deletions(-) - -commit 222c12cc4e48c2c9178a7390ea8edd73d7cb56bb -Author: Tobias Hunger <tobias.hunger@gmail.com> -Date: Thu Jul 16 00:16:59 2009 -0400 - - [qt] Remove use of unnecessary QPen pointer - - QPen is a implicitly shared class, so there is no need to do explicit sharing - via pointers. - - Mozilla Bug #498873 - - src/cairo-qt-surface.cpp | 22 ++++++++++------------ - 1 file changed, 10 insertions(+), 12 deletions(-) - -commit 0797b2fcaad0c17c35e67ec5d01a0556a76ee39d -Author: Tobias Hunger <tobias.hunger@gmail.com> -Date: Thu Jul 16 00:16:59 2009 -0400 - - [qt] Cleanup some whitespace - - Mozilla bug #498843 - - src/cairo-qt-surface.cpp | 212 +++++++++++++++++++++++------------------------ - 1 file changed, 106 insertions(+), 106 deletions(-) - -commit d782ba04b76ae18c562840242dc535e9db48aa13 -Author: Tobias Hunger <tobias.hunger@gmail.com> -Date: Thu Jul 16 00:16:58 2009 -0400 - - [qt] Add method to flush qpainter - - This is required for non-X11 rendering backends. - - Mozilla bug #498910 - - src/cairo-qt-surface.cpp | 14 +++++++++++++- - 1 file changed, 13 insertions(+), 1 deletion(-) - -commit e713857b85ef45d923eae94d8e4c05c7b2049ca5 -Author: Tobias Hunger <tobias.hunger@gmail.com> -Date: Thu Jul 16 00:16:58 2009 -0400 - - [qt] Move _opstr() inside the #if 0 to avoid warnings - - Mozilla bug #498917 - - src/cairo-qt-surface.cpp | 50 ++++++++++++++++++++++++------------------------ - 1 file changed, 25 insertions(+), 25 deletions(-) - -commit 4f9551e5e533deb66401b601766bf4263192b6de -Author: Tobias Hunger <tobias.hunger@gmail.com> -Date: Thu Jul 16 00:16:57 2009 -0400 - - [qt] Reduce padding in cairo_qt_surface_t struct - - Removes 4 bytes of padding (on a 32bit system) from the datastructure by - reordering the members. - - Mozilla bug #498880 - - src/cairo-qt-surface.cpp | 27 ++++++++++++++------------- - 1 file changed, 14 insertions(+), 13 deletions(-) - -commit 1caa34103925c53b180cd614f5c6b425b5a3f271 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jul 15 13:26:34 2009 +0100 - - Fix build under distcheck - - Need to play a little dance to get the sources included and paths correct - whilst building source files with objdir != srcdir under distcheck. - - boilerplate/Makefile.am | 10 +-- - boilerplate/make-cairo-boilerplate-constructors.c | 19 ++++-- - doc/public/tmpl/cairo-surface.sgml | 2 + - doc/public/tmpl/cairo.sgml | 15 +++++ - test/Makefile.am | 9 ++- - test/make-cairo-test-constructors.c | 13 +++- - util/cairo-script/csi-bind.c | 76 +++++++++++++++++++++++ - 7 files changed, 125 insertions(+), 19 deletions(-) - -commit 818ad38a0e323892231469520a4b077f4dae31d4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 14 19:07:42 2009 +0100 - - [boilerplate] Add make-...-constructors to .gitignore - - boilerplate/.gitignore | 1 + - 1 file changed, 1 insertion(+) - -commit 9a65b4a116a3ae451cbba2826467ad3375235a5c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 14 19:06:53 2009 +0100 - - [perf] Add cairo-traces to .gitignore - - perf/.gitignore | 1 + - 1 file changed, 1 insertion(+) - -commit 5796a9240ea02dbdbef0d51a4ee71398fea858ad -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 14 19:04:56 2009 +0100 - - [test] Reconstruct REFERENCE_IMAGES - - Rebuild the list from scratch using the contents of my git working tree. - - test/Makefile.am | 449 ++++++++++++++++++++++--------------------------------- - 1 file changed, 178 insertions(+), 271 deletions(-) - -commit 8c55ca9ebce487c5ca8b1712f8358a6361032d43 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 14 16:54:51 2009 +0100 - - [directfb] Silence compiler warnings. - - Add extended blend mode to operator switch. - - src/cairo-directfb-surface.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -commit 8ad3fca2109f18b5125e7087b3059eb4225eec3e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 14 16:51:31 2009 +0100 - - [glitz] Extended blend mode support - - Ensure that we fallback given an extended operator. - - src/cairo-glitz-surface.c | 80 +++++++++++++++++++++++++++++++++++------------ - 1 file changed, 60 insertions(+), 20 deletions(-) - -commit 333d37a60fa80f325612ea94b19ec9892dff8cfb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 14 16:41:00 2009 +0100 - - [pdf] Silence copmiler. - - Fill in missing case values to silence the compiler, and remind us should - we every add more operators in future. - - src/cairo-pdf-surface.c | 95 +++++++++++++++++++++++++------------------------ - 1 file changed, 48 insertions(+), 47 deletions(-) - -commit 710308c64e298ae35988fb0881a33cbe92af48ab -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 14 16:31:41 2009 +0100 - - [script] Extended blend mode support. - - src/cairo-script-surface.c | 18 +++++++++++++++++- - util/cairo-script/cairo-script-operators.c | 15 +++++++++++++++ - util/cairo-trace/trace.c | 18 +++++++++++++++++- - 3 files changed, 49 insertions(+), 2 deletions(-) - -commit 100f0d94eebcec05372263b2e68c27b91b52a1c8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jul 14 16:30:36 2009 +0100 - - [cairo] Remove trailing spaces in comments. - - vim highlights these errors making my screen go red and upsets me. - So they must die. - - src/cairo.h | 22 +++++++++++----------- - 1 file changed, 11 insertions(+), 11 deletions(-) - -commit 75736603d3b976dab8ac1ef473164c618084ee60 -Author: Emmanuel Pacaud <emmanuel.pacaud@free.fr> -Date: Wed Aug 29 15:11:23 2007 +0200 - - [SVG] Add extended blend modes. - - src/cairo-svg-surface.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 47af6cf2803737ab7248d1ce4d76f038d1f3188e -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Tue Jul 14 15:34:13 2009 +0200 - - [pdf] Add support for the extra blend modes - - HSL modes support added by Benjamin Otte <otte@gnome.org> - - src/cairo-pdf-surface-private.h | 4 + - src/cairo-pdf-surface.c | 162 +++++++++++++++++++++++++++++++++++++++- - 2 files changed, 164 insertions(+), 2 deletions(-) - -commit cf186d60b0d96cde859869237fa859e28a74a037 -Author: Benjamin Otte <otte@gnome.org> -Date: Thu Aug 30 10:16:00 2007 +0200 - - [xlib] Add support for new operators - - This is of course just making sure fallbacks get used as Render does not support - the new operators yet. - - src/cairo-xlib-surface.c | 28 +++++++++++++++++++++++++++- - 1 file changed, 27 insertions(+), 1 deletion(-) - -commit 0fd944d4bfbc2fff9960378eafd18a7d8fb9f296 -Author: Benjamin Otte <otte@gnome.org> -Date: Tue Jul 14 15:28:10 2009 +0200 - - Use new pixman extended blend operators - - It also adds extended-blend tests. - - Based on a previous patch by Emmanuel Pacaud <emmanuel.pacaud@free.fr> - - src/cairo-image-surface.c | 31 ++++++++ - src/cairo-misc.c | 30 ++++++++ - src/cairo.h | 53 +++++++++++++- - test/Makefile.am | 4 ++ - test/Makefile.sources | 2 + - test/extended-blend-alpha.argb32.ref.png | Bin 0 -> 9777 bytes - test/extended-blend-alpha.c | 115 ++++++++++++++++++++++++++++++ - test/extended-blend-alpha.rgb24.ref.png | Bin 0 -> 5743 bytes - test/extended-blend.argb32.ref.png | Bin 0 -> 4071 bytes - test/extended-blend.c | 117 +++++++++++++++++++++++++++++++ - test/extended-blend.rgb24.ref.png | Bin 0 -> 3772 bytes - 11 files changed, 351 insertions(+), 1 deletion(-) - -commit 16387f0a7dd3b474bcaf637d3e290029b79afec1 -Author: Carlos Garcia Campos <carlosgc@gnome.org> -Date: Tue Jul 14 11:16:24 2009 +0200 - - [configure] Bump pixman dependency - - Version 0.15.16 contains the new PDF blend mode operators. - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 655a4dbc36d95ce4a82cbc13aa9e2002b41fa4de -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 13 14:31:43 2009 +0100 - - [test] Track XFAIL using expected results stored as xfail.png - - Instead of tagging the sources, which is insensitive to changes, track the - known failure modes by recording the current fail as an xfail.png - reference. (We also introduce a new.png to track a fresh error, so that - they are not lost in the noise of the old XFAILs and hopefully do not - cause everyone to fret). - - As we have removed the XFAIL tagging we find, surprise surprise, that some - tests are now working -- so review all the reference images (as also some - .ref.png now should be .xfail.png). - - Note: I've only checked image,pdf,ps,svg. The test surfaces report some - failures that probably need to addressed in source. I've not correct the - changes for win32 and quartz. Nor fixed up the experimental backends. - - test/alpha-similar.c | 2 +- - test/alpha-similar.pdf.argb32.xfail.png | Bin 0 -> 95 bytes - test/alpha-similar.pdf.rgb24.xfail.png | Bin 0 -> 93 bytes - test/alpha-similar.ps.argb32.xfail.png | Bin 0 -> 95 bytes - test/alpha-similar.ps.rgb24.xfail.png | Bin 0 -> 93 bytes - test/alpha-similar.svg.argb32.xfail.png | Bin 0 -> 99 bytes - test/alpha-similar.svg.rgb24.xfail.png | Bin 0 -> 95 bytes - test/big-line.c | 2 +- - test/big-line.ps.argb32.ref.png | Bin 0 -> 977 bytes - test/big-line.ps.rgb24.ref.png | Bin 0 -> 709 bytes - test/big-line.ps2.ref.png | Bin 1148 -> 0 bytes - test/big-line.ps2.rgb24.ref.png | Bin 830 -> 0 bytes - test/big-line.ps3.ref.png | Bin 1148 -> 0 bytes - test/big-line.ps3.rgb24.ref.png | Bin 830 -> 0 bytes - test/big-line.ref.png | Bin 1486 -> 0 bytes - test/big-line.rgb24.ref.png | Bin 1308 -> 0 bytes - test/big-trap.c | 7 +- - test/cairo-test-runner.c | 161 +++----- - test/cairo-test.c | 405 ++++++++++++++------- - test/cairo-test.h | 56 ++- - test/caps-joins-alpha.svg11.ref.png | Bin 2454 -> 0 bytes - test/caps-joins-alpha.svg12.ref.png | Bin 2454 -> 0 bytes - test/clip-fill-rule.test-fallback.rgb24.ref.png | Bin 361 -> 0 bytes - test/clip-nesting.test-fallback.rgb24.ref.png | Bin 936 -> 0 bytes - test/clip-operator.c | 2 +- - test/clip-operator.pdf.argb32.ref.png | Bin 11603 -> 0 bytes - test/clip-operator.pdf.argb32.xfail.png | Bin 0 -> 9340 bytes - test/clip-operator.pdf.rgb24.ref.png | Bin 6882 -> 0 bytes - test/clip-operator.pdf.rgb24.xfail.png | Bin 0 -> 5155 bytes - test/clip-operator.svg12.argb32.xfail.png | Bin 0 -> 8404 bytes - test/clip-operator.svg12.rgb24.xfail.png | Bin 0 -> 4523 bytes - test/clip-operator.test-fallback.argb32.ref.png | Bin 8252 -> 0 bytes - test/clip-operator.test-fallback.rgb24.ref.png | Bin 3241 -> 0 bytes - test/clip-twice.test-fallback.argb32.ref.png | Bin 1343 -> 0 bytes - test/clip-twice.test-fallback.rgb24.ref.png | Bin 1179 -> 0 bytes - test/composite-integer-translate-source.c | 2 +- - test/degenerate-arc.test-fallback.argb32.ref.png | Bin 547 -> 0 bytes - test/degenerate-arc.test-fallback.rgb24.ref.png | Bin 547 -> 0 bytes - test/degenerate-dash.c | 2 +- - test/degenerate-dash.ps.xfail.png | Bin 0 -> 1835 bytes - test/degenerate-path.c | 2 +- - test/degenerate-path.ps.argb32.xfail.png | Bin 0 -> 236 bytes - test/degenerate-path.ps.rgb24.xfail.png | Bin 0 -> 186 bytes - test/degenerate-path.ps2.argb32.ref.png | Bin 390 -> 0 bytes - test/degenerate-path.ps2.rgb24.ref.png | Bin 358 -> 0 bytes - test/degenerate-path.ps3.argb32.ref.png | Bin 390 -> 0 bytes - test/degenerate-path.ps3.rgb24.ref.png | Bin 358 -> 0 bytes - test/device-offset-scale.c | 2 +- - test/device-offset-scale.svg.xfail.png | Bin 0 -> 128 bytes - test/extend-pad-border.c | 2 +- - test/extend-pad-border.ps.ref.png | Bin 0 -> 649 bytes - test/extend-pad-border.svg.xfail.png | Bin 0 -> 1063 bytes - test/extend-pad-similar.svg.xfail.png | Bin 0 -> 270 bytes - test/extend-pad.svg.xfail.png | Bin 0 -> 270 bytes - test/fallback-resolution.c | 14 +- - test/fill-alpha-pattern.pdf.argb32.ref.png | Bin 3750 -> 0 bytes - test/fill-alpha-pattern.pdf.rgb24.ref.png | Bin 3758 -> 0 bytes - ...fill-alpha-pattern.test-fallback.argb32.ref.png | Bin 3379 -> 0 bytes - .../fill-alpha-pattern.test-fallback.rgb24.ref.png | Bin 3379 -> 0 bytes - test/fill-alpha.test-fallback.argb32.ref.png | Bin 2824 -> 0 bytes - test/fill-alpha.test-fallback.rgb24.ref.png | Bin 2824 -> 0 bytes - test/fill-and-stroke-alpha-add.c | 2 +- - test/fill-and-stroke-alpha-add.svg12.xfail.png | Bin 0 -> 614 bytes - test/fill-degenerate-sort-order.c | 2 +- - .../fill-degenerate-sort-order.ps.argb32.xfail.png | Bin 0 -> 1901 bytes - test/fill-degenerate-sort-order.ps.rgb24.xfail.png | Bin 0 -> 1645 bytes - ...enerate-sort-order.test-fallback.argb32.ref.png | Bin 2378 -> 0 bytes - ...generate-sort-order.test-fallback.rgb24.ref.png | Bin 2041 -> 0 bytes - test/fill-image.xlib.ref.png | Bin 0 -> 1460 bytes - test/fill-rule.test-fallback.argb32.ref.png | Bin 1979 -> 0 bytes - test/fill-rule.test-fallback.rgb24.ref.png | Bin 1703 -> 0 bytes - test/filter-bilinear-extents.pdf.ref.png | Bin 798 -> 0 bytes - test/filter-bilinear-extents.pdf.xfail.png | Bin 0 -> 401 bytes - test/filter-nearest-offset.pdf.ref.png | Bin 997 -> 0 bytes - test/filter-nearest-offset.pdf.xfail.png | Bin 0 -> 1926 bytes - test/filter-nearest-offset.svg.xfail.png | Bin 0 -> 4419 bytes - test/filter-nearest-offset.svg11.ref.png | Bin 4739 -> 0 bytes - test/filter-nearest-offset.svg12.ref.png | Bin 4739 -> 0 bytes - test/filter-nearest-transformed.pdf.ref.png | Bin 552 -> 0 bytes - test/filter-nearest-transformed.pdf.xfail.png | Bin 0 -> 488 bytes - test/filter-nearest-transformed.svg.xfail.png | Bin 0 -> 546 bytes - test/filter-nearest-transformed.svg11.ref.png | Bin 559 -> 0 bytes - test/filter-nearest-transformed.svg12.ref.png | Bin 559 -> 0 bytes - test/finer-grained-fallbacks.c | 2 +- - test/finer-grained-fallbacks.svg12.argb32.ref.png | Bin 0 -> 190 bytes - test/finer-grained-fallbacks.svg12.rgb24.ref.png | Bin 0 -> 191 bytes - ...-grained-fallbacks.test-fallback.argb32.ref.png | Bin 1111 -> 0 bytes - ...r-grained-fallbacks.test-fallback.rgb24.ref.png | Bin 854 -> 0 bytes - test/font-matrix-translation.svg.ref.png | Bin 0 -> 870 bytes - test/font-matrix-translation.svg11.argb32.ref.png | Bin 857 -> 0 bytes - test/font-matrix-translation.svg11.ref.png | Bin 970 -> 0 bytes - test/font-matrix-translation.svg11.rgb24.ref.png | Bin 857 -> 0 bytes - test/font-matrix-translation.svg12.argb32.ref.png | Bin 857 -> 0 bytes - test/font-matrix-translation.svg12.ref.png | Bin 970 -> 0 bytes - test/font-matrix-translation.svg12.rgb24.ref.png | Bin 857 -> 0 bytes - test/ft-show-glyphs-positioning.svg.ref.png | Bin 0 -> 6018 bytes - test/ft-show-glyphs-positioning.svg11.ref.png | Bin 6590 -> 0 bytes - test/ft-show-glyphs-positioning.svg12.ref.png | Bin 6590 -> 0 bytes - test/ft-show-glyphs-table.svg.ref.png | Bin 0 -> 10005 bytes - test/ft-show-glyphs-table.svg11.argb32.ref.png | Bin 9953 -> 0 bytes - test/ft-show-glyphs-table.svg11.rgb24.ref.png | Bin 9953 -> 0 bytes - test/ft-show-glyphs-table.svg12.argb32.ref.png | Bin 9953 -> 0 bytes - test/ft-show-glyphs-table.svg12.rgb24.ref.png | Bin 9953 -> 0 bytes - test/ft-text-vertical-layout-type1.svg.ref.png | Bin 0 -> 3607 bytes - ...text-vertical-layout-type1.svg11.argb32.ref.png | Bin 3614 -> 0 bytes - test/ft-text-vertical-layout-type1.svg11.ref.png | Bin 3973 -> 0 bytes - ...-text-vertical-layout-type1.svg11.rgb24.ref.png | Bin 3614 -> 0 bytes - ...text-vertical-layout-type1.svg12.argb32.ref.png | Bin 3614 -> 0 bytes - test/ft-text-vertical-layout-type1.svg12.ref.png | Bin 3973 -> 0 bytes - ...-text-vertical-layout-type1.svg12.rgb24.ref.png | Bin 3614 -> 0 bytes - ...tical-layout-type1.test-fallback.argb32.ref.png | Bin 3639 -> 0 bytes - ...rtical-layout-type1.test-fallback.rgb24.ref.png | Bin 3639 -> 0 bytes - test/ft-text-vertical-layout-type3.svg.ref.png | Bin 0 -> 3626 bytes - ...text-vertical-layout-type3.svg11.argb32.ref.png | Bin 3640 -> 0 bytes - test/ft-text-vertical-layout-type3.svg11.ref.png | Bin 3957 -> 0 bytes - ...-text-vertical-layout-type3.svg11.rgb24.ref.png | Bin 3640 -> 0 bytes - ...text-vertical-layout-type3.svg12.argb32.ref.png | Bin 3640 -> 0 bytes - test/ft-text-vertical-layout-type3.svg12.ref.png | Bin 3957 -> 0 bytes - ...-text-vertical-layout-type3.svg12.rgb24.ref.png | Bin 3640 -> 0 bytes - ...tical-layout-type3.test-fallback.argb32.ref.png | Bin 3605 -> 0 bytes - ...rtical-layout-type3.test-fallback.rgb24.ref.png | Bin 3605 -> 0 bytes - test/gradient-alpha.pdf.argb32.ref.png | Bin 126 -> 0 bytes - test/gradient-alpha.pdf.rgb24.ref.png | Bin 121 -> 0 bytes - test/gradient-constant-alpha.pdf.argb32.ref.png | Bin 116 -> 0 bytes - test/gradient-constant-alpha.pdf.rgb24.ref.png | Bin 115 -> 0 bytes - test/group-unaligned.pdf.new.png | Bin 0 -> 427 bytes - test/group-unaligned.pdf.ref.png | Bin 414 -> 0 bytes - test/group-unaligned.svg.argb32.ref.png | Bin 524 -> 0 bytes - test/group-unaligned.svg.argb32.xfail.png | Bin 0 -> 522 bytes - test/group-unaligned.svg.rgb24.ref.png | Bin 434 -> 0 bytes - test/group-unaligned.svg.rgb24.xfail.png | Bin 0 -> 425 bytes - test/huge-linear.c | 2 +- - test/huge-linear.pdf.ref.png | Bin 0 -> 1577 bytes - test/huge-radial.c | 2 +- - test/huge-radial.pdf.argb32.ref.png | Bin 0 -> 177382 bytes - test/huge-radial.pdf.rgb24.ref.png | Bin 0 -> 225358 bytes - test/large-source-roi.c | 2 +- - test/large-source-roi.ref.png | Bin 102 -> 0 bytes - test/linear-gradient.pdf.ref.png | Bin 1125 -> 0 bytes - test/linear-gradient.svg11.argb32.ref.png | Bin 988 -> 0 bytes - test/linear-gradient.svg11.ref.png | Bin 1000 -> 0 bytes - test/linear-gradient.svg11.rgb24.ref.png | Bin 988 -> 0 bytes - test/linear-gradient.svg12.argb32.ref.png | Bin 988 -> 0 bytes - test/linear-gradient.svg12.ref.png | Bin 1000 -> 0 bytes - test/linear-gradient.svg12.rgb24.ref.png | Bin 988 -> 0 bytes - test/linear-gradient.test-fallback.argb32.ref.png | Bin 923 -> 0 bytes - test/linear-gradient.test-fallback.rgb24.ref.png | Bin 923 -> 0 bytes - test/long-lines.c | 2 +- - test/long-lines.ref.png | Bin 247 -> 0 bytes - test/make-html.pl | 13 +- - test/mask-alpha.svg.rgb24.xfail.png | Bin 0 -> 585 bytes - test/mask-alpha.svg11.argb32.ref.png | Bin 642 -> 0 bytes - test/mask-alpha.svg11.rgb24.ref.png | Bin 592 -> 0 bytes - test/mask-alpha.svg12.argb32.ref.png | Bin 642 -> 0 bytes - test/mask-alpha.svg12.rgb24.ref.png | Bin 592 -> 0 bytes - test/mask-alpha.test-fallback.argb32.ref.png | Bin 627 -> 0 bytes - test/mask-ctm.svg11.argb32.ref.png | Bin 108 -> 0 bytes - test/mask-ctm.svg12.argb32.ref.png | Bin 108 -> 0 bytes - test/mask-glyphs.c | 2 +- - test/mask-glyphs.pdf.ref.png | Bin 0 -> 1187713 bytes - test/mask-glyphs.svg.ref.png | Bin 0 -> 1211170 bytes - test/mask-surface-ctm.svg11.argb32.ref.png | Bin 108 -> 0 bytes - test/mask-surface-ctm.svg12.argb32.ref.png | Bin 108 -> 0 bytes - test/mask-transformed-similar.svg.ref.png | Bin 0 -> 3365 bytes - test/mask-transformed-similar.svg11.ref.png | Bin 4051 -> 0 bytes - test/mask-transformed-similar.svg12.ref.png | Bin 4051 -> 0 bytes - test/mask.pdf.argb32.ref.png | Bin 9946 -> 0 bytes - test/mask.pdf.argb32.xfail.png | Bin 0 -> 7944 bytes - test/mask.pdf.rgb24.ref.png | Bin 8745 -> 0 bytes - test/mask.pdf.rgb24.xfail.png | Bin 0 -> 7388 bytes - test/mask.svg.argb32.xfail.png | Bin 0 -> 8613 bytes - test/mask.svg.rgb24.xfail.png | Bin 0 -> 7189 bytes - test/mask.svg11.argb32.ref.png | Bin 8682 -> 0 bytes - test/mask.svg11.rgb24.ref.png | Bin 7203 -> 0 bytes - test/mask.svg12.argb32.ref.png | Bin 8682 -> 0 bytes - test/mask.svg12.rgb24.ref.png | Bin 7203 -> 0 bytes - test/mask.test-fallback.argb32.ref.png | Bin 8457 -> 0 bytes - test/mask.test-fallback.rgb24.ref.png | Bin 7058 -> 0 bytes - test/meta-surface-pattern.pdf.argb32.ref.png | Bin 0 -> 4009 bytes - test/meta-surface-pattern.pdf.ref.png | Bin 4111 -> 0 bytes - test/meta-surface-pattern.pdf.rgb24.ref.png | Bin 0 -> 3905 bytes - test/meta-surface-pattern.svg.argb32.ref.png | Bin 0 -> 3930 bytes - test/meta-surface-pattern.svg.rgb24.ref.png | Bin 0 -> 3910 bytes - test/meta-surface-pattern.svg11.argb32.ref.png | Bin 3924 -> 0 bytes - test/meta-surface-pattern.svg11.rgb24.ref.png | Bin 3914 -> 0 bytes - test/meta-surface-pattern.svg12.argb32.ref.png | Bin 3924 -> 0 bytes - test/meta-surface-pattern.svg12.rgb24.ref.png | Bin 3914 -> 0 bytes - test/operator-alpha.c | 2 +- - test/operator-alpha.svg12.argb32.xfail.png | Bin 0 -> 274 bytes - test/operator-alpha.svg12.rgb24.xfail.png | Bin 0 -> 248 bytes - test/operator-clear.c | 2 +- - test/operator-clear.pdf.argb32.ref.png | Bin 1607 -> 0 bytes - test/operator-clear.pdf.rgb24.ref.png | Bin 1402 -> 0 bytes - test/operator-clear.svg12.argb32.xfail.png | Bin 0 -> 405 bytes - test/operator-clear.svg12.rgb24.xfail.png | Bin 0 -> 535 bytes - test/operator-clear.xlib.ref.png | Bin 0 -> 951 bytes - test/operator-source.c | 2 +- - test/operator-source.pdf.argb32.ref.png | Bin 5112 -> 0 bytes - test/operator-source.pdf.rgb24.ref.png | Bin 4186 -> 0 bytes - test/operator-source.pdf.rgb24.xfail.png | Bin 0 -> 3645 bytes - test/operator-source.svg12.argb32.xfail.png | Bin 0 -> 2951 bytes - test/operator-source.svg12.rgb24.xfail.png | Bin 0 -> 2963 bytes - test/operator-source.test-fallback.argb32.ref.png | Bin 4401 -> 0 bytes - test/operator-source.test-fallback.rgb24.ref.png | Bin 3200 -> 0 bytes - test/operator.c | 2 +- - test/operator.svg12.argb32.xfail.png | Bin 0 -> 238 bytes - test/operator.svg12.rgb24.xfail.png | Bin 0 -> 242 bytes - test/over-above-source.c | 2 +- - test/over-above-source.svg12.rgb24.xfail.png | Bin 0 -> 563 bytes - .../over-above-source.test-fallback.argb32.ref.png | Bin 533 -> 0 bytes - test/over-above-source.test-fallback.rgb24.ref.png | Bin 450 -> 0 bytes - test/over-around-source.c | 2 +- - test/over-around-source.svg12.argb32.xfail.png | Bin 0 -> 559 bytes - test/over-around-source.svg12.rgb24.xfail.png | Bin 0 -> 559 bytes - ...over-around-source.test-fallback.argb32.ref.png | Bin 610 -> 0 bytes - test/over-below-source.c | 2 +- - test/over-below-source.svg12.argb32.xfail.png | Bin 0 -> 224 bytes - test/over-below-source.svg12.rgb24.xfail.png | Bin 0 -> 224 bytes - test/over-between-source.c | 2 +- - test/over-between-source.svg12.argb32.xfail.png | Bin 0 -> 224 bytes - test/over-between-source.svg12.rgb24.xfail.png | Bin 0 -> 224 bytes - ...ver-between-source.test-fallback.argb32.ref.png | Bin 578 -> 0 bytes - test/paint-source-alpha.c | 2 +- - test/paint-source-alpha.svg.ref.png | Bin 0 -> 693 bytes - test/paint-source-alpha.svg11.ref.png | Bin 756 -> 0 bytes - test/paint-source-alpha.svg12.ref.png | Bin 505 -> 0 bytes - test/paint-with-alpha.svg.ref.png | Bin 0 -> 483 bytes - test/paint-with-alpha.svg11.ref.png | Bin 516 -> 0 bytes - test/paint-with-alpha.svg12.ref.png | Bin 516 -> 0 bytes - test/path-precision.c | 9 +- - test/push-group.svg11.argb32.ref.png | Bin 3034 -> 0 bytes - test/push-group.svg12.argb32.ref.png | Bin 3034 -> 0 bytes - test/push-group.test-fallback.argb32.ref.png | Bin 3107 -> 0 bytes - test/push-group.test-fallback.rgb24.ref.png | Bin 2942 -> 0 bytes - test/radial-gradient.svg11.ref.png | Bin 91039 -> 0 bytes - test/radial-gradient.svg12.ref.png | Bin 91039 -> 0 bytes - ...ndom-intersections.test-fallback.argb32.ref.png | Bin 132312 -> 0 bytes - ...andom-intersections.test-fallback.rgb24.ref.png | Bin 132312 -> 0 bytes - test/rotate-image-surface-paint.pdf.ref.png | Bin 196 -> 0 bytes - test/rotate-image-surface-paint.pdf.xfail.png | Bin 0 -> 207 bytes - test/rotate-image-surface-paint.svg.ref.png | Bin 0 -> 209 bytes - test/rotate-image-surface-paint.svg11.ref.png | Bin 248 -> 0 bytes - test/rotate-image-surface-paint.svg12.ref.png | Bin 248 -> 0 bytes - test/scale-offset-image.c | 2 +- - test/scale-offset-image.pdf.argb32.ref.png | Bin 0 -> 8692 bytes - test/scale-offset-image.pdf.rgb24.ref.png | Bin 0 -> 8691 bytes - test/scale-offset-image.xfail.png | Bin 0 -> 8599 bytes - test/scale-offset-image.xlib.xfail.png | Bin 0 -> 9100 bytes - test/scale-offset-similar.c | 2 +- - test/scale-offset-similar.pdf.argb32.ref.png | Bin 0 -> 9278 bytes - test/scale-offset-similar.pdf.rgb24.ref.png | Bin 0 -> 9278 bytes - test/scale-offset-similar.xfail.png | Bin 0 -> 8599 bytes - test/scale-offset-similar.xlib.xfail.png | Bin 0 -> 8570 bytes - ...cale-source-surface-paint.svg.argb32.xfail.png} | Bin - .../scale-source-surface-paint.svg.rgb24.xfail.png | Bin 0 -> 222 bytes - .../scale-source-surface-paint.svg11.rgb24.ref.png | Bin 243 -> 0 bytes - ...scale-source-surface-paint.svg12.argb32.ref.png | Bin 229 -> 0 bytes - .../scale-source-surface-paint.svg12.rgb24.ref.png | Bin 243 -> 0 bytes - test/self-copy-overlap.c | 2 +- - test/self-copy-overlap.ref.png | Bin 1140 -> 0 bytes - test/self-copy-overlap.rgb24.ref.png | Bin 608 -> 0 bytes - test/self-intersecting.argb32.xfail.png | Bin 0 -> 287 bytes - test/self-intersecting.c | 2 +- - test/self-intersecting.pdf.argb32.xfail.png | Bin 0 -> 295 bytes - test/self-intersecting.pdf.rgb24.xfail.png | Bin 0 -> 272 bytes - test/self-intersecting.ps.argb32.xfail.png | Bin 0 -> 186 bytes - test/self-intersecting.ps.rgb24.xfail.png | Bin 0 -> 186 bytes - test/self-intersecting.rgb24.xfail.png | Bin 0 -> 282 bytes - test/self-intersecting.xlib.argb32.xfail.png | Bin 0 -> 235 bytes - test/self-intersecting.xlib.rgb24.xfail.png | Bin 0 -> 240 bytes - test/set-source.svg11.argb32.ref.png | Bin 104 -> 0 bytes - test/set-source.svg12.argb32.ref.png | Bin 104 -> 0 bytes - test/smask-fill.c | 2 +- - test/smask-fill.svg.ref.png | Bin 0 -> 1150 bytes - test/smask-fill.svg11.argb32.ref.png | Bin 1128 -> 0 bytes - test/smask-fill.svg11.ref.png | Bin 1166 -> 0 bytes - test/smask-fill.svg11.rgb24.ref.png | Bin 1128 -> 0 bytes - test/smask-fill.svg12.argb32.ref.png | Bin 1128 -> 0 bytes - test/smask-fill.svg12.ref.png | Bin 1166 -> 0 bytes - test/smask-fill.svg12.rgb24.ref.png | Bin 1128 -> 0 bytes - test/smask-fill.test-fallback.argb32.ref.png | Bin 1148 -> 0 bytes - test/smask-fill.test-fallback.rgb24.ref.png | Bin 1148 -> 0 bytes - test/smask-image-mask.c | 2 +- - test/smask-mask.c | 2 +- - test/smask-mask.pdf.xfail.png | Bin 0 -> 4401 bytes - test/smask-mask.svg.ref.png | Bin 0 -> 2376 bytes - test/smask-mask.svg11.ref.png | Bin 2529 -> 0 bytes - test/smask-mask.svg12.ref.png | Bin 2529 -> 0 bytes - test/smask-paint.c | 2 +- - test/smask-paint.pdf.xfail.png | Bin 0 -> 4513 bytes - test/smask-paint.svg.ref.png | Bin 0 -> 2453 bytes - test/smask-paint.svg11.ref.png | Bin 2612 -> 0 bytes - test/smask-paint.svg12.ref.png | Bin 2612 -> 0 bytes - test/smask-stroke.c | 2 +- - test/smask-stroke.pdf.xfail.png | Bin 0 -> 392 bytes - test/smask-text.c | 2 +- - test/smask-text.pdf.ref.png | Bin 0 -> 1874 bytes - test/smask-text.ref.png | Bin 1777 -> 1874 bytes - test/smask-text.svg.ref.png | Bin 0 -> 1794 bytes - test/smask-text.svg11.argb32.ref.png | Bin 1791 -> 0 bytes - test/smask-text.svg11.ref.png | Bin 1886 -> 0 bytes - test/smask-text.svg11.rgb24.ref.png | Bin 1791 -> 0 bytes - test/smask-text.svg12.argb32.ref.png | Bin 1791 -> 0 bytes - test/smask-text.svg12.ref.png | Bin 1886 -> 0 bytes - test/smask-text.svg12.rgb24.ref.png | Bin 1791 -> 0 bytes - test/smask.c | 2 +- - test/smask.pdf.xfail.png | Bin 0 -> 4393 bytes - test/smask.ref.png | Bin 3587 -> 3417 bytes - test/smask.svg.ref.png | Bin 0 -> 3458 bytes - test/smask.svg11.ref.png | Bin 3634 -> 0 bytes - test/smask.svg12.ref.png | Bin 3634 -> 0 bytes - test/source-clip-scale.svg.ref.png | Bin 0 -> 116 bytes - test/source-clip-scale.svg11.ref.png | Bin 119 -> 0 bytes - test/source-clip-scale.svg12.ref.png | Bin 119 -> 0 bytes - test/surface-pattern-big-scale-down.c | 2 +- - test/surface-pattern-big-scale-down.ref.png | Bin 226 -> 191 bytes - test/surface-pattern-scale-down.pdf.argb32.ref.png | Bin 1532 -> 0 bytes - test/surface-pattern-scale-down.pdf.ref.png | Bin 0 -> 1589 bytes - test/surface-pattern-scale-down.pdf.rgb24.ref.png | Bin 1532 -> 0 bytes - test/surface-pattern-scale-up.pdf.argb32.ref.png | Bin 3834 -> 0 bytes - test/surface-pattern-scale-up.pdf.ref.png | Bin 0 -> 2712 bytes - test/surface-pattern-scale-up.pdf.rgb24.ref.png | Bin 3834 -> 0 bytes - test/surface-pattern.pdf.ref.png | Bin 14800 -> 0 bytes - test/surface-pattern.pdf.xfail.png | Bin 0 -> 10528 bytes - test/surface-pattern.ps.xfail.png | Bin 0 -> 2188 bytes - test/surface-pattern.ps2.ref.png | Bin 2364 -> 0 bytes - test/surface-pattern.ps3.ref.png | Bin 2364 -> 0 bytes - ...n.svg.ref.png => surface-pattern.svg.xfail.png} | Bin - test/text-pattern.pdf.argb32.ref.png | Bin 2334 -> 0 bytes - test/text-pattern.pdf.argb32.xfail.png | Bin 0 -> 1845 bytes - test/text-pattern.pdf.rgb24.ref.png | Bin 1915 -> 0 bytes - test/text-pattern.pdf.rgb24.xfail.png | Bin 0 -> 1599 bytes - test/text-pattern.svg.argb32.ref.png | Bin 0 -> 1745 bytes - test/text-pattern.svg.rgb24.ref.png | Bin 0 -> 1453 bytes - test/text-pattern.svg11.argb32.ref.png | Bin 1743 -> 0 bytes - test/text-pattern.svg11.rgb24.ref.png | Bin 1563 -> 0 bytes - test/text-pattern.svg12.argb32.ref.png | Bin 1743 -> 0 bytes - test/text-pattern.svg12.rgb24.ref.png | Bin 1563 -> 0 bytes - test/text-rotate.svg.ref.png | Bin 0 -> 17024 bytes - test/text-rotate.svg11.argb32.ref.png | Bin 16942 -> 0 bytes - test/text-rotate.svg11.ref.png | Bin 18301 -> 0 bytes - test/text-rotate.svg11.rgb24.ref.png | Bin 16942 -> 0 bytes - test/text-rotate.svg12.argb32.ref.png | Bin 16942 -> 0 bytes - test/text-rotate.svg12.ref.png | Bin 18301 -> 0 bytes - test/text-rotate.svg12.rgb24.ref.png | Bin 16942 -> 0 bytes - test/text-transform.svg.ref.png | Bin 0 -> 5682 bytes - test/text-transform.svg11.argb32.ref.png | Bin 5677 -> 0 bytes - test/text-transform.svg11.rgb24.ref.png | Bin 5677 -> 0 bytes - test/text-transform.svg12.argb32.ref.png | Bin 5677 -> 0 bytes - test/text-transform.svg12.rgb24.ref.png | Bin 5677 -> 0 bytes - test/trap-clip.pdf.argb32.ref.png | Bin 6746 -> 0 bytes - test/trap-clip.pdf.rgb24.ref.png | Bin 6616 -> 0 bytes - test/trap-clip.test-fallback.argb32.ref.png | Bin 5753 -> 0 bytes - test/trap-clip.test-fallback.rgb24.ref.png | Bin 5379 -> 0 bytes - test/twin.svg.ref.png | Bin 3027 -> 3040 bytes - test/unbounded-operator.c | 2 +- - test/unbounded-operator.svg12.argb32.xfail.png | Bin 0 -> 2767 bytes - test/unbounded-operator.svg12.rgb24.xfail.png | Bin 0 -> 1719 bytes - .../unbounded-operator.test-fallback.rgb24.ref.png | Bin 1306 -> 0 bytes - test/user-font-mask.svg.ref.png | Bin 0 -> 2030 bytes - test/user-font-mask.svg11.ref.png | Bin 2224 -> 0 bytes - test/user-font-proxy.svg.ref.png | Bin 0 -> 16817 bytes - test/user-font-proxy.svg11.argb32.ref.png | Bin 16836 -> 0 bytes - test/user-font-proxy.svg11.ref.png | Bin 17902 -> 0 bytes - test/user-font-proxy.svg11.rgb24.ref.png | Bin 16836 -> 0 bytes - test/user-font-proxy.svg12.argb32.ref.png | Bin 16836 -> 0 bytes - test/user-font-proxy.svg12.ref.png | Bin 17902 -> 0 bytes - test/user-font-proxy.svg12.rgb24.ref.png | Bin 16836 -> 0 bytes - test/user-font-proxy.test-fallback.argb32.ref.png | Bin 16835 -> 0 bytes - test/user-font-proxy.test-fallback.rgb24.ref.png | Bin 16835 -> 0 bytes - test/user-font-rescale.svg.ref.png | Bin 0 -> 14873 bytes - test/user-font-rescale.svg11.ref.png | Bin 15741 -> 0 bytes - test/user-font-rescale.svg12.ref.png | Bin 15741 -> 0 bytes - test/user-font.svg.ref.png | Bin 0 -> 6379 bytes - test/user-font.svg11.argb32.ref.png | Bin 6411 -> 0 bytes - test/user-font.svg11.ref.png | Bin 6134 -> 0 bytes - test/user-font.svg11.rgb24.ref.png | Bin 6411 -> 0 bytes - test/user-font.svg12.argb32.ref.png | Bin 6411 -> 0 bytes - test/user-font.svg12.ref.png | Bin 6134 -> 0 bytes - test/user-font.svg12.rgb24.ref.png | Bin 6411 -> 0 bytes - test/user-font.test-fallback.argb32.ref.png | Bin 5601 -> 0 bytes - test/user-font.test-fallback.rgb24.ref.png | Bin 5601 -> 0 bytes - 382 files changed, 438 insertions(+), 303 deletions(-) - -commit a81cf14bd6de545e9108f5c24c59e55026df86de -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 13 10:58:44 2009 +0100 - - [test] Sanitise REFERENCE_IMAGES - - Add and delete files to satisfy 'make check-ref-missing'. - - test/Makefile.am | 6 ------ - test/fill-image.test-fallback.ref.png | Bin 1462 -> 0 bytes - test/fill-image.xlib.ref.png | Bin 1462 -> 0 bytes - test/group-unaligned.ref.png | Bin 0 -> 434 bytes - test/meta-surface-pattern.pdf.argb32.ref.png | Bin 4011 -> 0 bytes - test/meta-surface-pattern.pdf.rgb24.ref.png | Bin 3910 -> 0 bytes - test/operator-clear.test-fallback.ref.png | Bin 1071 -> 0 bytes - test/operator-clear.xlib.ref.png | Bin 1071 -> 0 bytes - 8 files changed, 6 deletions(-) - -commit 7f3eda4e9f9e6cb6f3a33871ed42099c822d0ea2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jul 13 10:43:34 2009 +0100 - - [test] Update reference images for gs 8.64 - - test/Makefile.am | 7 +++++-- - test/README | 2 +- - test/close-path-current-point.ps.ref.png | Bin 0 -> 1490 bytes - test/extend-pad.ps.ref.png | Bin 0 -> 314 bytes - test/fill-image.ps.ref.png | Bin 0 -> 1799 bytes - test/test-fallback16-surface-source.ps.ref.png | Bin 0 -> 292 bytes - test/user-font-proxy.ps.ref.png | Bin 0 -> 7766 bytes - test/user-font-proxy.ps2.ref.png | Bin 8171 -> 0 bytes - test/user-font-proxy.ps3.ref.png | Bin 8171 -> 0 bytes - 9 files changed, 6 insertions(+), 3 deletions(-) - -commit 0d44416b9dd8149032039cf44ea14bf4867f3c54 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Jul 12 19:21:28 2009 +0930 - - PDF: Don't round pattern y location to an integer - - Using cairo_surface_get_extents() to get page height does not work - when the page height is not an integer. - - http://lists.cairographics.org/archives/cairo/2009-July/017570.html - - src/cairo-pdf-surface.c | 10 +--------- - 1 file changed, 1 insertion(+), 9 deletions(-) - -commit 9686331cb07a8f9018f28dc7d6d6e3726e289fda -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sat May 2 18:05:20 2009 +0300 - - [spans] Round rasterization grid pixel areas instead of truncating. - - When converting a grid pixel area into the range [0,255] the - GRID_AREA_TO_ALPHA() macro would truncate extra bits off the result - rather than rounding. This could cause seams between abutting - collinear edges of separately rendered polygons even when the - coordinates of the abutting edges were the same. - - Reported by Soeren Sandmann on the cairo mailing list: - - http://lists.cairographics.org/archives/cairo/2009-May/017043.html - - src/cairo-tor-scan-converter.c | 4 ++-- - test/clip-operator.ref.png | Bin 8210 -> 8191 bytes - test/clip-operator.test-paginated.argb32.ref.png | Bin 8247 -> 8189 bytes - test/fill-degenerate-sort-order.ref.png | Bin 2406 -> 2399 bytes - test/fill-rule.ref.png | Bin 2061 -> 2065 bytes - test/finer-grained-fallbacks.ref.png | Bin 1069 -> 1070 bytes - test/linear-gradient.pdf.argb32.ref.png | Bin 1112 -> 0 bytes - test/linear-gradient.pdf.ref.png | Bin 935 -> 1125 bytes - test/linear-gradient.pdf.rgb24.ref.png | Bin 1112 -> 0 bytes - test/mask-alpha.ref.png | Bin 643 -> 632 bytes - test/mask.pdf.argb32.ref.png | Bin 9918 -> 9946 bytes - test/mask.ref.png | Bin 8581 -> 8603 bytes - test/operator-clear.ref.png | Bin 1084 -> 1070 bytes - test/operator-clear.test-fallback.ref.png | Bin 0 -> 1071 bytes - test/operator-clear.xlib.ref.png | Bin 0 -> 1071 bytes - test/operator-source.ref.png | Bin 4425 -> 4395 bytes - test/radial-gradient.pdf.argb32.ref.png | Bin 79601 -> 0 bytes - test/radial-gradient.pdf.ref.png | Bin 79490 -> 79612 bytes - test/radial-gradient.pdf.rgb24.ref.png | Bin 79601 -> 0 bytes - test/trap-clip.pdf.argb32.ref.png | Bin 6745 -> 6746 bytes - test/trap-clip.pdf.rgb24.ref.png | Bin 6621 -> 6616 bytes - test/trap-clip.ref.png | Bin 5829 -> 5820 bytes - test/trap-clip.test-paginated.argb32.ref.png | Bin 5865 -> 5898 bytes - 23 files changed, 2 insertions(+), 2 deletions(-) - -commit fbd88db938bf3bb03934795da9b3d184c4f43608 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jul 5 14:43:50 2009 +0100 - - [path] Don't include current-point in hash - - As we don't strictly use the current-point in comparing paths, exclude it - from the hash. Similarly use the path content flags as a cheap means to - differentiate contents. - - src/cairo-path-fixed.c | 17 +++++++++-------- - 1 file changed, 9 insertions(+), 8 deletions(-) - -commit 73f8019fd2afd0ad41c2515bef9877348355d246 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jul 5 14:37:02 2009 +0100 - - [path] Use cairo_list_t instead of open-coding its own - - Use the cairo_list_t and its style of iterators to improve the readability - of the cairo_path_buf_t management. Note the complications that arise from - the embedding of the initial buf -- however the macros do help make the - unusual manipulations more identifiable. - - src/cairo-path-fixed-private.h | 14 +-- - src/cairo-path-fixed.c | 226 +++++++++++++++++++---------------------- - src/cairo.c | 2 +- - 3 files changed, 114 insertions(+), 128 deletions(-) - -commit a04e3726648c62a1385b67cfc16a785a468e1d13 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jul 5 09:21:47 2009 +0100 - - [path] Add path watch debugging - - Simple debug macro to print the path to stderr during construction. - - src/cairo-path-fixed-private.h | 9 +++++++++ - src/cairo-path-fixed.c | 26 ++++++++++++++++++++++++++ - 2 files changed, 35 insertions(+) - -commit 1645352bfb69cc6d43fcbf3c77b4da5693af322a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jul 5 09:09:42 2009 +0100 - - [path] Evaluate is_box && is_region during construction - - Whilst constructing the path, if the operations continue to be - axis-aligned lines, allow the is_box and is_region flags to persist. These - are set to false as soon as a curve-to is added, a diagonal or in the case - of is_region a non-integer point. - - src/cairo-path-fixed-private.h | 8 ++ - src/cairo-path-fixed.c | 286 +++++++++++++++-------------------------- - src/cairo.c | 2 + - src/cairoint.h | 3 - - 4 files changed, 115 insertions(+), 184 deletions(-) - -commit 4bb157672ef8cb7d486d6ccdaaa3890e3f45e17a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jul 4 23:44:09 2009 +0100 - - [test] Rename some structures within cairo-test-trace - - Simply rename a few structures so that their names are less confusing with - the mix of process and threads used to executes traces. - - test/cairo-test-trace.c | 224 ++++++++++++++++++++++++------------------------ - 1 file changed, 112 insertions(+), 112 deletions(-) - -commit 53a54827f7d8ca8500f3f9674edbd7e768e8a50d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jul 5 09:22:05 2009 +0100 - - [boilerplate] Add missing header file. - - Deleted so many, and forgot to add just this little one. Sigh. - - boilerplate/cairo-boilerplate-private.h | 49 +++++++++++++++++++++++++++++++++ - 1 file changed, 49 insertions(+) - -commit ee8c50f2d6f1dba41f829c715b7bc59b5eeda50d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jul 4 22:00:09 2009 +0100 - - Remove the defunct test-meta surface - - Replace the internal test-meta surface will the freshly exported, - real meta-surface. - - boilerplate/cairo-boilerplate-test-surfaces.c | 38 --- - boilerplate/cairo-boilerplate.c | 35 +++ - src/Makefile.sources | 2 - - src/test-meta-surface.c | 358 -------------------------- - src/test-meta-surface.h | 50 ---- - util/cairo-trace/trace.c | 49 ++-- - 6 files changed, 69 insertions(+), 463 deletions(-) - -commit 88cb69b10c66751f687c3745c8e9861b105de3a2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jul 4 21:43:27 2009 +0100 - - [boilerpate] Move target definition to backends. - - By moving the backend target definition out of the massive amlagamated - block in cairo-boilerplate.c and into each of the - cairo-boilerplate-backend.c, we make it much easier to add new targets as - the information need only be entered in a single file and not scattered - across three. However, updating the target interface means trawling across - all the files -- except given that I found it difficult maintaining the - single massive array I do not see this as an increase in the maintenance - burden. - - boilerplate/.gitignore | 2 + - boilerplate/Makefile.am | 12 + - boilerplate/Makefile.sources | 27 +- - boilerplate/cairo-boilerplate-beos-private.h | 40 -- - boilerplate/cairo-boilerplate-beos.cpp | 48 +- - boilerplate/cairo-boilerplate-directfb-private.h | 26 - - boilerplate/cairo-boilerplate-directfb.c | 29 +- - boilerplate/cairo-boilerplate-glitz-agl.c | 31 +- - boilerplate/cairo-boilerplate-glitz-glx.c | 31 +- - boilerplate/cairo-boilerplate-glitz-private.h | 88 --- - boilerplate/cairo-boilerplate-glitz-wgl.c | 32 +- - boilerplate/cairo-boilerplate-pdf-private.h | 60 -- - boilerplate/cairo-boilerplate-pdf.c | 48 +- - boilerplate/cairo-boilerplate-ps-private.h | 71 --- - boilerplate/cairo-boilerplate-ps.c | 73 ++- - boilerplate/cairo-boilerplate-qt-private.h | 60 -- - boilerplate/cairo-boilerplate-qt.cpp | 29 +- - boilerplate/cairo-boilerplate-quartz-private.h | 44 -- - boilerplate/cairo-boilerplate-quartz.c | 29 +- - boilerplate/cairo-boilerplate-script-private.h | 57 -- - boilerplate/cairo-boilerplate-script.c | 28 +- - boilerplate/cairo-boilerplate-svg-private.h | 72 --- - boilerplate/cairo-boilerplate-svg.c | 70 ++- - .../cairo-boilerplate-test-surfaces-private.h | 99 ---- - boilerplate/cairo-boilerplate-test-surfaces.c | 117 +++- - boilerplate/cairo-boilerplate-win32-printing.c | 43 +- - boilerplate/cairo-boilerplate-win32-private.h | 65 --- - boilerplate/cairo-boilerplate-win32.c | 28 +- - boilerplate/cairo-boilerplate-xcb-private.h | 47 -- - boilerplate/cairo-boilerplate-xcb.c | 28 +- - boilerplate/cairo-boilerplate-xlib-private.h | 71 --- - boilerplate/cairo-boilerplate-xlib.c | 207 ++++--- - boilerplate/cairo-boilerplate.c | 639 +++------------------ - boilerplate/cairo-boilerplate.h | 3 +- - boilerplate/make-cairo-boilerplate-constructors.c | 156 +++++ - test/make-cairo-test-constructors.c | 28 +- - 36 files changed, 946 insertions(+), 1592 deletions(-) - -commit 8a10ab1c04298d6c22ae8aabec5d762141a8e98f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jul 4 18:46:21 2009 +0100 - - [script] Tidy dict construction for glyphs - - Replace dict with '<< ... >>' similar to surface definitions as it is - easier to read in scripts. - - src/cairo-script-surface.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit fef3649953a3dcc3a17d9d5858f56690a8782501 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jul 4 18:32:57 2009 +0100 - - [script] Fix the trivial errors running the test suite - - A few typos crept in breaking the script output and various refreshes of - the expected results. - - src/cairo-script-surface.c | 33 +++++++++++++++++++++---------- - test/mime-data.script.ref.png | Bin 1982 -> 2041 bytes - test/scale-offset-image.c | 2 +- - test/scale-offset-similar.c | 2 +- - util/cairo-script/cairo-script-scanner.c | 6 ++++-- - 5 files changed, 29 insertions(+), 14 deletions(-) - -commit 2395bba1e66a2623cb288e13effc206f86e5e62e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jul 4 18:31:49 2009 +0100 - - [any2ppm] Choose a more appropriate format for the replay content - - Actually select a format that matches the request content when replaying - the script to an image. - - test/any2ppm.c | 15 ++++++++++++++- - 1 file changed, 14 insertions(+), 1 deletion(-) - -commit 9942a89870f7754e28ff334010c4432553cf7d91 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jul 4 18:30:24 2009 +0100 - - [boilerplate] Read whole RGB lines at a time - - Rather than read+unpack each pixel, read in a whole RGB packed line and - unpack the whole line in a single pass. - - boilerplate/cairo-boilerplate.c | 13 +++++++------ - 1 file changed, 7 insertions(+), 6 deletions(-) - -commit 23648e2fdfefba4df08bc854d725758209998e1f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 3 00:40:32 2009 +0100 - - [script] Prototypical binary translator - - Hook into the scanner to write out binary version of the tokenized - objects -- note we bind executable names (i.e. check to see if is an - operator and substitute the name with an operator -- this breaks - overloading of operators by scripts). - - By converting scripts to a binary form, they are more compact and - execute faster: - - firefox-world-map.trace 526850146 bytes - bound.trace 275187755 bytes - - [ # ] backend test min(s) median(s) stddev. count - [ 0] null bound 34.481 34.741 0.68% 3/3 - [ 1] null firefox-world-map 89.635 89.716 0.19% 3/3 - [ 0] drm bound 79.304 79.350 0.61% 3/3 - [ 1] drm firefox-world-map 135.380 135.475 0.58% 3/3 - [ 0] image bound 95.819 96.258 2.85% 3/3 - [ 1] image firefox-world-map 156.889 156.935 1.36% 3/3 - [ 0] xlib bound 539.130 550.220 1.40% 3/3 - [ 1] xlib firefox-world-map 596.244 613.487 1.74% 3/3 - - This trace has a lot of complex paths and the use of binary floating point - reduces the file size by about 50%, with a commensurate reduction in scan - time and significant reduction in operator lookup overhead. Note that this - test is still IO/CPU bound on my i915 with its pitifully slow flash... - - util/cairo-script/Makefile.am | 5 +- - util/cairo-script/cairo-script-file.c | 44 +- - util/cairo-script/cairo-script-interpreter.c | 85 ++- - util/cairo-script/cairo-script-interpreter.h | 9 +- - util/cairo-script/cairo-script-objects.c | 8 +- - util/cairo-script/cairo-script-operators.c | 2 +- - util/cairo-script/cairo-script-private.h | 27 +- - util/cairo-script/cairo-script-scanner.c | 1059 ++++++++++++++++++-------- - 8 files changed, 906 insertions(+), 333 deletions(-) - -commit 07c0c8c5c0820e93403623eb5c1fa2df8ca89c60 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jul 4 14:07:16 2009 +0100 - - [surface] Refactor meta-surface clone - - Whilst still obnoxious, at least moving it to a separate function is more - readable. - - src/cairo-surface.c | 140 +++++++++++++++++++++++++++++----------------------- - 1 file changed, 79 insertions(+), 61 deletions(-) - -commit 7903c80ee81777bab6eec408c10b2b59330b10f7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jul 4 13:50:15 2009 +0100 - - [meta] Cache replays when used as a pattern source - - Use the cow-snapshotting mechanism to store the meta surface replay (either - to an image inside acquire_source_image() or to a similar surface during - clone_similar()). - - Fixes Bug 17971 -- Extreme slowdown for manual convolutions in most - vector backends. - https://bugs.freedesktop.org/show_bug.cgi?id=17971 - - src/cairo-meta-surface.c | 18 ++++++++-- - src/cairo-surface.c | 92 ++++++++++++++++++++++++++++++++++++------------ - src/cairoint.h | 3 +- - 3 files changed, 88 insertions(+), 25 deletions(-) - -commit f353ba46a3b8c260f96588fd6bb8d07c2a09d01a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jul 4 13:49:35 2009 +0100 - - [meta] Copy extents on snapshotting. - - Need to copy across the extents as well when snapshotting. - - src/cairo-meta-surface.c | 1 + - 1 file changed, 1 insertion(+) - -commit f4019be7bdff5c67d679f4de1070c25aa99a993d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jul 4 13:16:42 2009 +0100 - - [trace] Remove a few transient pattern def/undef - - It is easier on the eye to use - '1 index set-source exch pop' - rather than - 'dup /p0 exch def p0 set-source /p0 undef' - (as patterns are expected to be temporary so we strive to avoid naming - them). - - util/cairo-trace/trace.c | 42 +++++++++++++++++++++++++++++++----------- - 1 file changed, 31 insertions(+), 11 deletions(-) - -commit dcb7f1d034438c5c890490df93a86b40fea3036c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jul 4 08:08:25 2009 +0100 - - [script] Add missing include <string.h> - - As reported by Magnus Boman <captain.magnus@gmail.com>. - - Fixes Bug 22610 -- Patch to add missing include in util/cairo-script/csi-replay.c - http://bugs.freedesktop.org/show_bug.cgi?id=22610 - - util/cairo-script/csi-replay.c | 1 + - 1 file changed, 1 insertion(+) - -commit 97bd2228a6635bbb0eac4ce95801754957dbb7ba -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 3 19:41:51 2009 +0100 - - [script] Insert spaces around '<<' and '>>' - - The dictionary constructors are just ordinary tokens so need space for - delimiters. - - src/cairo-script-surface.c | 62 ++++++++++++++++------------------------------ - 1 file changed, 21 insertions(+), 41 deletions(-) - -commit 6003ab77e1ebefadb97338de0e7da4a76d973b1a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 3 18:26:50 2009 +0100 - - Export meta-surface - - The meta-surface is a vital tool to record a trace of drawing commands - in-memory. As such it is used throughout cairo. - - The value of such a surface is immediately obvious and should be - applicable for many applications. The first such case is by - cairo-test-trace which wants to record the entire graph of drawing commands - that affect a surface in the event of a failure. - - NEWS | 27 +++++ - boilerplate/Makefile.win32.features | 8 ++ - boilerplate/cairo-boilerplate.c | 12 +-- - build/Makefile.win32.features-h | 1 + - build/configure.ac.features | 1 + - configure.ac | 4 + - perf/cairo-perf.c | 6 +- - src/Makefile.win32.features | 8 ++ - src/cairo-meta-surface-private.h | 14 +-- - src/cairo-meta-surface.c | 202 +++++++++++++++++++++++++++--------- - src/cairo-paginated-surface.c | 16 +-- - src/cairo-pdf-surface.c | 2 +- - src/cairo-ps-surface.c | 2 +- - src/cairo-script-surface.c | 10 +- - src/cairo-surface.c | 2 +- - src/cairo-svg-surface.c | 8 +- - src/cairo-type3-glyph-surface.c | 8 +- - src/cairo-types-private.h | 3 +- - src/cairo-user-font.c | 7 +- - src/cairo-win32-printing-surface.c | 2 +- - src/cairo.h | 22 +++- - src/test-meta-surface.c | 16 +-- - src/test-meta-surface.h | 8 +- - test/cairo-test-trace.c | 58 ++++------- - test/get-clip.c | 5 + - 25 files changed, 296 insertions(+), 156 deletions(-) - -commit 2a9903dbbfeb3fe843f0d618d15674b37a29f3a9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 3 12:48:40 2009 +0100 - - [script] Trim some excess verbage - - Remove some redundant defining of surfaces and contexts and of setting - defaults. In order to reduce the number of defines, we need to operate on - the operand stack more frequently - though in practice those operations - are quite rare. - - src/Makefile.sources | 1 + - src/cairo-list-private.h | 189 +++++++++++++++ - src/cairo-script-surface.c | 561 ++++++++++++++++++++++++++++++--------------- - 3 files changed, 572 insertions(+), 179 deletions(-) - -commit 28773fe79f883c32ee4e55e49f5dc3fced00c4f6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 3 13:17:47 2009 +0100 - - [test-meta] Initialize image - - Oops, stupid mistake - missed off the initialization of the image to NULL - from the last commit. - - src/test-meta-surface.c | 1 + - 1 file changed, 1 insertion(+) - -commit ac6c3dbbaed377273b73da6e9e03bb8380a78ec4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 3 12:56:20 2009 +0100 - - [test-meta] Lazily allocate image - - Only allocate the image on first use, as we may never actually need to - construct the image output. - - src/test-meta-surface.c | 42 ++++++++++++++++++++++++------------------ - 1 file changed, 24 insertions(+), 18 deletions(-) - -commit fe73a9dd1413a851beeca7a0fc4ab7cb351ea9ea -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jul 3 11:24:42 2009 +0100 - - [test] Record trace to an in-memory meta-surface - - Requires hooking into test-meta-surface currently. Export meta-surface! - - The idea is that on detection of an error, we can reconstruct a minimal - trace from the meta-surface. The first step is to simply dump the trace - for the failing meta-surface. Later, we should automatically minimise - this further. - - src/test-meta-surface.c | 101 +++++++------ - src/test-meta-surface.h | 4 + - test/Makefile.am | 3 + - test/cairo-test-trace.c | 371 ++++++++++++++++++++++++++++++++++++++++++------ - 4 files changed, 397 insertions(+), 82 deletions(-) - -commit 633efe81873168506ec3594eae1f6ac38d71026c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jul 2 09:17:43 2009 +0100 - - [surface] Allocate temporary region on stack - - Avoid a very short-lived temporary heap allocation of a region. - - src/cairo-surface.c | 13 +++++-------- - 1 file changed, 5 insertions(+), 8 deletions(-) - -commit b2e2a2f31af33ff01d78c6c8786249a623017ffa -Author: Carlos Garcia Campos <carlosgc@gnome.org> -Date: Tue Jun 30 15:47:51 2009 +0200 - - [test] Update argb32 pdf reference image for trap-clip - - test/trap-clip.pdf.argb32.ref.png | Bin 6720 -> 6745 bytes - 1 file changed, 0 insertions(+), 0 deletions(-) - -commit 910afc7a8e5c40f4fe682ec0b0f3836a07ea721d -Author: Carlos Garcia Campos <carlosgc@gnome.org> -Date: Tue Jun 30 15:40:24 2009 +0200 - - [test] Mark all smask tests as XFAIL for pdf - - Those tests use linear gradients which are not correctly handled by - poppler yet. See https://bugs.freedesktop.org/show_bug.cgi?id=10942 - - test/README | 11 +++++++++++ - test/smask-fill.c | 2 +- - test/smask-image-mask.c | 2 +- - test/smask-mask.c | 2 +- - test/smask-paint.c | 2 +- - test/smask-stroke.c | 2 +- - test/smask-text.c | 2 +- - test/smask.c | 2 +- - 8 files changed, 18 insertions(+), 7 deletions(-) - -commit 5becfc2bd59956090daa8afd68db2f139dcb8392 -Author: Carlos Garcia Campos <carlosgc@gnome.org> -Date: Tue Jun 30 14:58:40 2009 +0200 - - [test] Add pdf reference image for rotate-image-surface-paint - - Remove also argb32 and rgb24 pdf reference images. - - test/Makefile.am | 3 +-- - test/rotate-image-surface-paint.pdf.argb32.ref.png | Bin 215 -> 0 bytes - test/rotate-image-surface-paint.pdf.ref.png | Bin 0 -> 196 bytes - test/rotate-image-surface-paint.pdf.rgb24.ref.png | Bin 215 -> 0 bytes - 4 files changed, 1 insertion(+), 2 deletions(-) - -commit f81203cde864af1a1fea81a438e4f4effe928808 -Author: Carlos Garcia Campos <carlosgc@gnome.org> -Date: Tue Jun 30 14:44:19 2009 +0200 - - [test] Add pdf reference image for mask-transformed-image - - test/Makefile.am | 1 + - test/mask-transformed-image.pdf.ref.png | Bin 0 -> 3528 bytes - 2 files changed, 1 insertion(+) - -commit 9d538ef337e9ca1600f842cd2164ff5e6629090a -Author: Carlos Garcia Campos <carlosgc@gnome.org> -Date: Tue Jun 30 14:42:32 2009 +0200 - - [test] Update argb32 and rgb24 pdf reference image for mask - - test/mask.pdf.argb32.ref.png | Bin 9903 -> 9918 bytes - test/mask.pdf.rgb24.ref.png | Bin 8735 -> 8745 bytes - 2 files changed, 0 insertions(+), 0 deletions(-) - -commit 97def877bb1c290735875061118bd795b9b83215 -Author: Carlos Garcia Campos <carlosgc@gnome.org> -Date: Tue Jun 30 14:18:30 2009 +0200 - - [test] Update pdf reference image for surface-pattern - - Remove also argb32 and rgb24 pdf reference images. - - test/Makefile.am | 2 -- - test/surface-pattern.pdf.argb32.ref.png | Bin 14808 -> 0 bytes - test/surface-pattern.pdf.ref.png | Bin 14791 -> 14800 bytes - test/surface-pattern.pdf.rgb24.ref.png | Bin 14808 -> 0 bytes - 4 files changed, 2 deletions(-) - -commit 8a6bdc63c1491dc77e8d9e192b9e44d9ff2e3c9b -Author: Carlos Garcia Campos <carlosgc@gnome.org> -Date: Tue Jun 30 13:33:07 2009 +0200 - - [test] Update argb32 and rgb24 pdf reference image for text-pattern - - test/text-pattern.pdf.argb32.ref.png | Bin 2151 -> 2334 bytes - test/text-pattern.pdf.rgb24.ref.png | Bin 508 -> 1915 bytes - 2 files changed, 0 insertions(+), 0 deletions(-) - -commit b46ba7aa33ba604628f1c94449019895b1d7ef82 -Author: Carlos Garcia Campos <carlosgc@gnome.org> -Date: Tue Jun 30 13:25:39 2009 +0200 - - [test] Update pdf reference image for text-transform - - test/text-transform.pdf.ref.png | Bin 3796 -> 5586 bytes - 1 file changed, 0 insertions(+), 0 deletions(-) - -commit 9bc7ab980d6e834dacaf4f48f199e8c95cfba94e -Author: Carlos Garcia Campos <carlosgc@gnome.org> -Date: Tue Jun 30 12:09:50 2009 +0200 - - [test] Update pdf reference image for filter-nearest-transformed - - Remove also argb32 and rgb24 pdf reference images. - - test/Makefile.am | 2 -- - test/filter-nearest-transformed.pdf.argb32.ref.png | Bin 488 -> 0 bytes - test/filter-nearest-transformed.pdf.ref.png | Bin 548 -> 552 bytes - test/filter-nearest-transformed.pdf.rgb24.ref.png | Bin 488 -> 0 bytes - 4 files changed, 2 deletions(-) - -commit 27938f7e3ff357e5fe8a05e547cf83dbad7551ef -Author: Carlos Garcia Campos <carlosgc@gnome.org> -Date: Tue Jun 30 12:04:06 2009 +0200 - - [test] Update pdf reference image for filter-nearest-offset - - Remove also argb32 and rgb24 pdf reference images. - - test/Makefile.am | 2 -- - test/filter-nearest-offset.pdf.argb32.ref.png | Bin 4295 -> 0 bytes - test/filter-nearest-offset.pdf.ref.png | Bin 4537 -> 997 bytes - test/filter-nearest-offset.pdf.rgb24.ref.png | Bin 4295 -> 0 bytes - 4 files changed, 2 deletions(-) - -commit e6576e8912196607fdd3613c6924e26c2ce7a951 -Author: Carlos Garcia Campos <carlosgc@gnome.org> -Date: Tue Jun 30 11:56:18 2009 +0200 - - [test] Update argb32 pdf reference image for clip-operator - - test/clip-operator.pdf.argb32.ref.png | Bin 11604 -> 11603 bytes - 1 file changed, 0 insertions(+), 0 deletions(-) - -commit 13d9374ec13c62233312beb0feb9a47531aec2e3 -Author: Carlos Garcia Campos <carlosgc@gnome.org> -Date: Mon Jun 29 17:36:47 2009 +0200 - - [test] Remove PDF reference images for scale-source-surface-paint - - It works with current poppler now - - test/Makefile.am | 2 -- - test/scale-source-surface-paint.pdf.argb32.ref.png | Bin 182 -> 0 bytes - test/scale-source-surface-paint.pdf.rgb24.ref.png | Bin 198 -> 0 bytes - 3 files changed, 2 deletions(-) - -commit 3710c4184c2e87368dde5ccb25f3648b861b6059 -Author: Carlos Garcia Campos <carlosgc@gnome.org> -Date: Mon Jun 29 17:32:54 2009 +0200 - - [test] Remove PDF reference images for paint-with-alpha - - It works with current poppler now - - test/Makefile.am | 1 - - test/paint-with-alpha.pdf.ref.png | Bin 466 -> 0 bytes - 2 files changed, 1 deletion(-) - -commit 8162acd81a898247f19054a136af95062e3b0e91 -Author: Carlos Garcia Campos <carlosgc@gnome.org> -Date: Mon Jun 29 12:42:52 2009 +0200 - - [test] Remove PDF reference images for paint-source-alpha - - It works with current poppler now - - test/Makefile.am | 2 -- - test/paint-source-alpha.pdf.argb32.ref.png | Bin 471 -> 0 bytes - test/paint-source-alpha.pdf.ref.png | Bin 473 -> 0 bytes - 3 files changed, 2 deletions(-) - -commit 1e1f4fd0920cb2b0882137b4cc500dcbae42d2dc -Author: Carlos Garcia Campos <carlosgc@gnome.org> -Date: Tue Jun 30 11:05:50 2009 +0200 - - [test] Use poppler_page_render with a transparent surface - - Instead of using an opaque surface filled in white, use a transparent - surface and fill it in white by using CAIRO_OPERATOR_DEST_OVER after - rendering. - - test/any2ppm.c | 9 +++++---- - test/pdf2png.c | 9 +++++---- - 2 files changed, 10 insertions(+), 8 deletions(-) - -commit 700a555d194a20c00df69b963cdc5b6153e162a4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jul 1 19:41:42 2009 +0100 - - [surface] Expose a SURFACE_TYPE_MISMATCH nil object - - Gah, yet more error object bloat. Must finish cairo-object. - - src/cairo-surface.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 8f4611a94bda407b5944520b95599441a4ff5327 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jul 1 19:39:57 2009 +0100 - - [perf] Fix use-after-free when retrieving error line number - - We find out the status on destroying the script and then attempt to query - the defunct script for more info about the error. Wrong. - - perf/cairo-perf-trace.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit 7c160dea5456b783d9b04b5c11bbacb9a89fa031 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jul 1 10:12:50 2009 +0100 - - [perf] Unbreak cairo-perf-diff builder - - perf/cairo-perf-diff | 19 ++++++++++--------- - 1 file changed, 10 insertions(+), 9 deletions(-) - -commit 3d88f99668308315db759af3dac789973caa8eae -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jul 1 09:57:56 2009 +0100 - - [perf] Enable cairo-perf-trace in cairo-perf-diff - - Only as a --trace option for now. - - perf/cairo-perf-diff | 51 ++++++++++++++++++++++++++++++++++++--------------- - 1 file changed, 36 insertions(+), 15 deletions(-) - -commit 1564d67d63618e12c58dc1d65c7e68505950e4d4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jun 30 22:22:39 2009 +0100 - - [perf] Exclude the xlib-reference target from cairo-perf - - perf/cairo-perf-trace.c | 3 ++- - perf/cairo-perf.c | 3 ++- - 2 files changed, 4 insertions(+), 2 deletions(-) - -commit e5b4f78bff20903fef5f55a0fcd026590ea444a4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jun 30 22:12:50 2009 +0100 - - [boilerplate] Only include null-test-surface >= cairo-1.9.3 - - boilerplate/cairo-boilerplate-test-surfaces.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -commit e0bdbb437ee699d6f75df34494a6e290dc55aa39 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jun 30 22:04:01 2009 +0100 - - [xlib] Remove redundant checks for src_picture==None - - Before attempting to even set the attributes on the source Picture, we - ensure that it exists. So remove the redundant safe-guards to do nothing - if it doesn't exist. - - src/cairo-xlib-surface.c | 12 +----------- - 1 file changed, 1 insertion(+), 11 deletions(-) - -commit b7f68d3518e25fb02c9d36d14de9dc0c905ffe8f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jun 30 20:46:12 2009 +0100 - - [perf] Enable trace directory recursion. - - I have an idea to categorise traces within their own subdirectories and so - for convenience added path walking to cairo-perf-trace. Principally this - should allow for forests of symlinks of all types. - - perf/cairo-perf-trace.c | 104 +++++++++++++++++++++++++++++++----------------- - perf/cairo-perf.h | 1 + - 2 files changed, 68 insertions(+), 37 deletions(-) - -commit 6102dd0c1c26e289ad08d1cf0cc366e6298f5711 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jun 29 10:50:44 2009 +0100 - - [ft] Correct reference counting for implementation font face - - We are expected to return a new reference from get_implementation(), and - failing to do so was causing use-after-frees (detected by the reference - counting checks). - - src/cairo-ft-font.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 4f745fbe3329a4fd5164c7bd7fe61c0395e8d1ee -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jun 29 10:49:51 2009 +0100 - - [test] Only run fallback-resolution for enabled targets - - A secondary check that both activates CAIRO_TEST_TARGET and prevents a - NULL-deref with the null test surface. - - test/fallback-resolution.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit d80f5580ef371a1d4b1746b4ad54d97274d2d6cd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jun 28 21:11:41 2009 +0100 - - [pattern] Mark _cairo_pattern_nil as static - - Fixes check-def.sh failure. - - src/cairo-pattern.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 758a18b354cefca841536c7d91f8f5758456f72f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jun 28 20:56:33 2009 +0100 - - [test] Timeout support for tests - - Enforce that each test must render within 60 seconds or be considered to - have hit an infinite loop and be reported as a CRASH. The timeout value is - adjustable via CAIRO_TEST_TIMEOUT -- a value of 0 will disable. - - build/configure.ac.system | 3 +++ - test/cairo-test.c | 18 ++++++++++++++++++ - test/cairo-test.h | 2 ++ - 3 files changed, 23 insertions(+) - -commit f7021d8f3e59d1f7fa77135366bbbd6845dff684 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jun 28 20:41:04 2009 +0100 - - [script] Enable error handling for recursive scanners - - It's conceivable that a script could execute another file and so we should - only setjmp on the first invocation. - - util/cairo-script/cairo-script-private.h | 1 + - util/cairo-script/cairo-script-scanner.c | 15 ++++++++++++--- - 2 files changed, 13 insertions(+), 3 deletions(-) - -commit 963664727b4754f92a876c36557922821706f591 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jun 28 10:49:37 2009 +0100 - - [trace] Compile fix for --enable-script - - Silly typo as pointed out by Hans Breuer <hans@breuer.org>. - - util/cairo-trace/trace.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2ecafb025c8b15a86372b655e763d742a0f6ef85 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jun 28 10:09:01 2009 +0100 - - [script] Reuse glyph advance cache over multiple invocations - - Store the metric cache as user-data on the scaled-font so that we can - retrieve it on future calls to show-glyphs and friends. - - util/cairo-script/cairo-script-operators.c | 413 +++++++++-------------------- - 1 file changed, 131 insertions(+), 282 deletions(-) - -commit 663da31bbe7cf6021c8d59a4d4ddd2702cfe860f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jun 28 01:17:13 2009 +0100 - - [boilerplate] Propagate original error from create_from_png() - - During cairo_boilerplate_get_image_surface_from_png() the original status - returned by cairo_image_surface_create_from_png() could have been masked - by inappropriate context construction when flattening or extracting. - Simply check after creating the surface from the png file, and return - immediately if in error. - - boilerplate/cairo-boilerplate.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 2bbb69420289aa372512602db312611369e70f54 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jun 28 00:57:10 2009 +0100 - - [test] Disable fallback16 testing - - Only use the RGB16_565 surface as a source during testing. We presume that - pixman is itself rigorously tested and the output is equivalent to the - image surface. Enabling this test surface would require too large of a - burden to maintain the reference images for the 16-bit backend. - - boilerplate/cairo-boilerplate.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 34ac8673b2d51edeb0b29a4949d7d16c3d07a790 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jun 28 00:48:05 2009 +0100 - - [script] Use setjmp exception handling during scanning - - Save ~5% of overhead by using longjmp on error to terminate scanning - instead of propagating the error, incurring lots of redundant error - checks. - - util/cairo-script/cairo-script-interpreter.c | 14 +- - util/cairo-script/cairo-script-objects.c | 46 +--- - util/cairo-script/cairo-script-private.h | 51 ++-- - util/cairo-script/cairo-script-scanner.c | 390 +++++++++++++-------------- - 4 files changed, 221 insertions(+), 280 deletions(-) - -commit 2b1ec7a4d87399824dacb9803627c9322b12d894 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 27 22:48:19 2009 +0100 - - [cairo] Report true error via pattern from cairo_pop_group() - - Report the correct error via the returned pattern->status rather than - simply returning the NO_MEMORY nil object. - - src/cairo-pattern.c | 4 ++-- - src/cairo.c | 18 +++++++++++------- - src/cairoint.h | 4 +++- - 3 files changed, 16 insertions(+), 10 deletions(-) - -commit 5c3be3ece27b7cf6e4b1262ea18ac51b45c62389 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 27 22:40:15 2009 +0100 - - [cairo] Mark cr->status guard as unlikely - - For correct operation, the context should never be in error, so mark the - error context as being unlikely to optimize the common path. - - src/cairo.c | 199 +++++++++++++++++++++++++++++------------------------------- - 1 file changed, 97 insertions(+), 102 deletions(-) - -commit f3880283331f3bda374e24fd0e1de677d8d368a9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 27 20:18:18 2009 +0100 - - [gstate] Avoid temporary allocation for transformed patterns - - Observe that patterns are not altered during an operation and so we are - safe to use the data from the original pattern without copying. (This is - enforced through the declaration that the backends operate on constant - patterns which are not allowed to be referenced or destroyed.) - - src/cairo-gstate.c | 184 ++++++++++++++++------------------------------------ - src/cairo-pattern.c | 31 +++++++++ - src/cairoint.h | 4 ++ - 3 files changed, 92 insertions(+), 127 deletions(-) - -commit 3759c7b34b662ccdc0486c68798aca0a6438ab7e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 27 19:38:30 2009 +0100 - - [perf] Enable the null-backend for trace replays. - - perf/cairo-perf-trace.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8d4c704129132effa10fb9242239952c2f4b7721 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 27 19:34:20 2009 +0100 - - [ft] Cache the resolved font face - - Keep the resolved font face alive whilst the default FcConfig remains - identical i.e. resolve the pattern again if the system configuration - changes (e.g. a new font is added or the rules are updated). This should - retain the benefits of lazily resolving font patterns whilst improving - performance by reducing the number of calls to FcFontMatch(). - - src/cairo-ft-font.c | 39 ++++++++++++++++++++++++++++++++++----- - 1 file changed, 34 insertions(+), 5 deletions(-) - -commit ddadd41a6c3d6a7cdaa07373b24325f59d3436e3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 27 18:07:36 2009 +0100 - - [test] Remove broken PDF reference images for push-group - - More XFAIL reference images that are now invalidated by changes in - poppler. - - test/Makefile.am | 3 --- - test/push-group.pdf.argb32.ref.png | Bin 2722 -> 0 bytes - test/push-group.pdf.ref.png | Bin 2807 -> 0 bytes - test/push-group.pdf.rgb24.ref.png | Bin 2740 -> 0 bytes - 4 files changed, 3 deletions(-) - -commit 4d233fa4a6a16d400ba959f4c1c5d84fdd26d8fc -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 27 18:04:37 2009 +0100 - - [test] Remove invalid smask PDF reference images - - These need to be recorded using an XFAIL reference. In the meantime, as - the poppler output has changed, just remove all the invalid PDF reference - images. - - test/Makefile.am | 19 ------------------- - test/smask-fill.pdf.argb32.ref.png | Bin 1909 -> 0 bytes - test/smask-fill.pdf.ref.png | Bin 1075 -> 0 bytes - test/smask-fill.pdf.rgb24.ref.png | Bin 1909 -> 0 bytes - test/smask-image-mask.pdf.argb32.ref.png | Bin 1651 -> 0 bytes - test/smask-image-mask.pdf.ref.png | Bin 421 -> 0 bytes - test/smask-image-mask.pdf.rgb24.ref.png | Bin 1651 -> 0 bytes - test/smask-mask.pdf.argb32.ref.png | Bin 4398 -> 0 bytes - test/smask-mask.pdf.ref.png | Bin 3731 -> 0 bytes - test/smask-mask.pdf.rgb24.ref.png | Bin 4398 -> 0 bytes - test/smask-paint.pdf.argb32.ref.png | Bin 4496 -> 0 bytes - test/smask-paint.pdf.ref.png | Bin 3800 -> 0 bytes - test/smask-paint.pdf.rgb24.ref.png | Bin 4496 -> 0 bytes - test/smask-stroke.pdf.argb32.ref.png | Bin 1417 -> 0 bytes - test/smask-stroke.pdf.ref.png | Bin 449 -> 0 bytes - test/smask-stroke.pdf.rgb24.ref.png | Bin 1417 -> 0 bytes - test/smask-text.pdf.ref.png | Bin 1806 -> 0 bytes - test/smask.pdf.argb32.ref.png | Bin 4496 -> 0 bytes - test/smask.pdf.ref.png | Bin 3800 -> 0 bytes - test/smask.pdf.rgb24.ref.png | Bin 4496 -> 0 bytes - 20 files changed, 19 deletions(-) - -commit 86624627e4b196a78cfd9bd642299441e838e0f2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 27 17:53:18 2009 +0100 - - [test] Add group-unaligned - - Test case for: - Bug 22441 -- Unexpected shift with push_group and pop_group - https://bugs.freedesktop.org/show_bug.cgi?id=22441 - - This is a test that demonstrates the error in the pdf backend when using - groups on surfaces with non-integer sizes. In order to create such a - surface, we need to update the boilerplate to use doubles instead of - integers when specifying the surface size. - - boilerplate/cairo-boilerplate-beos-private.h | 16 +++--- - boilerplate/cairo-boilerplate-beos.cpp | 8 +-- - boilerplate/cairo-boilerplate-directfb-private.h | 8 +-- - boilerplate/cairo-boilerplate-directfb.c | 8 +-- - boilerplate/cairo-boilerplate-glitz-agl.c | 8 +-- - boilerplate/cairo-boilerplate-glitz-glx.c | 10 ++-- - boilerplate/cairo-boilerplate-glitz-private.h | 24 ++++----- - boilerplate/cairo-boilerplate-glitz-wgl.c | 8 +-- - boilerplate/cairo-boilerplate-pdf-private.h | 8 +-- - boilerplate/cairo-boilerplate-pdf.c | 14 ++--- - boilerplate/cairo-boilerplate-ps-private.h | 16 +++--- - boilerplate/cairo-boilerplate-ps.c | 30 +++++------ - boilerplate/cairo-boilerplate-qt-private.h | 10 ++-- - boilerplate/cairo-boilerplate-qt.cpp | 8 +-- - boilerplate/cairo-boilerplate-quartz-private.h | 8 +-- - boilerplate/cairo-boilerplate-quartz.c | 8 +-- - boilerplate/cairo-boilerplate-script-private.h | 8 +-- - boilerplate/cairo-boilerplate-script.c | 12 ++--- - boilerplate/cairo-boilerplate-svg-private.h | 16 +++--- - boilerplate/cairo-boilerplate-svg.c | 30 +++++------ - .../cairo-boilerplate-test-surfaces-private.h | 40 +++++++------- - boilerplate/cairo-boilerplate-test-surfaces.c | 40 +++++++------- - boilerplate/cairo-boilerplate-win32-printing.c | 8 +-- - boilerplate/cairo-boilerplate-win32-private.h | 16 +++--- - boilerplate/cairo-boilerplate-win32.c | 8 +-- - boilerplate/cairo-boilerplate-xcb-private.h | 8 +-- - boilerplate/cairo-boilerplate-xcb.c | 8 +-- - boilerplate/cairo-boilerplate-xlib-private.h | 24 ++++----- - boilerplate/cairo-boilerplate-xlib.c | 45 +++++++++------- - boilerplate/cairo-boilerplate.c | 10 ++-- - boilerplate/cairo-boilerplate.h | 8 +-- - test/Makefile.am | 7 +++ - test/Makefile.sources | 1 + - test/cairo-test.c | 2 +- - test/cairo-test.h | 4 +- - test/group-unaligned.c | 60 +++++++++++++++++++++ - test/group-unaligned.pdf.ref.png | Bin 0 -> 414 bytes - test/group-unaligned.ps.ref.png | Bin 0 -> 332 bytes - test/group-unaligned.svg.argb32.ref.png | Bin 0 -> 524 bytes - test/group-unaligned.svg.rgb24.ref.png | Bin 0 -> 434 bytes - test/group-unaligned.xlib-fallback.ref.png | Bin 0 -> 496 bytes - test/group-unaligned.xlib.ref.png | Bin 0 -> 466 bytes - 42 files changed, 312 insertions(+), 235 deletions(-) - -commit c506ddb58612c69b80b08be3a6d14c5bcc1ac21f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 27 16:54:37 2009 +0100 - - [pdf] Restore original surface size after emitting group mask - - A trivial fix to reset the original surface size after emitting the group. - The annoying aspect is that this should have been caught by the test suite. - Alas, no. A gentle reminder that simple line coverage is insufficient. :( - - src/cairo-pdf-surface.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -commit f8a2665840f12ae48798b0ffca49681e276823ba -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 26 07:22:49 2009 +0100 - - [cairo] Trivial code tidy - - src/cairo.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c7cf5317f58b382c47ad2d1b4d8db3133b0c4d4b -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Wed Jun 24 23:33:44 2009 +0100 - - [test] Fix Makefile.am for Solaris make. - - Sun's make doesn't like conditional assignments to variables - in dependencies in the form of "target: VAR+=VAL". This - construct was used to force the test suite run in the foreground - in the check-valgrind target. It is replaced by a more - explicit set of the CAIRO_TEST_MODE environment variable. - - test/Makefile.am | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit b82e7740c102afa7b9184b2556b887cf7a0211b0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jun 21 22:25:08 2009 +0100 - - [atomic] Silence compiler warnings by defining an intptr_t - - Evaulate the integer sizes during configure to find one of the exact same - size as a void* to use in the conversion of the atomic ptr cmpxchg to an - atomic int cmpxchg. - - build/configure.ac.system | 3 +++ - src/cairo-atomic-private.h | 19 ++++++++++++------- - 2 files changed, 15 insertions(+), 7 deletions(-) - -commit a2d4fb50092c0cbb31a5df1bca9111957238139b -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Jun 21 14:09:10 2009 +0100 - - [test] Fix a typo in the _POSIX_SOURCE version number. - - I hope POSIX isn't around in 20000 AD! - - test/cairo-test.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 80990c7f729a666fc646182a36ffd311d7396a1a -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Jun 21 14:02:46 2009 +0100 - - [atomic] Use an integer __sync_val_compare_and_swap() for pointer CAS. - - Fix an implicit pointer/integer cast in _cairo_atomic_ptr_cmpxchg() - when building with LLVM/clang. - - The Intel synchronization primitives __sync_val_compare_and_swap() - are only defined by Intel for types int, long, long long and their - unsigned variants. This patch uses one of those for - _cairo_atomic_ptr_cmpxchg() instead of relying on a gcc extension of - __sync_val_compare_and_swap() to pointer types. - - src/cairo-atomic-private.h | 9 ++++++++- - src/cairo-atomic.c | 6 +++++- - 2 files changed, 13 insertions(+), 2 deletions(-) - -commit d0c1c9282164bffb76f7419873e93608dc6d9876 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jun 21 10:08:21 2009 +0100 - - [boilerplate] Implement a reference xlib surface - - Create an xlib target that uses a separate display, specified by - CAIRO_REFERENCE_DISPLAY, that can be used as a reference implementation - for the normal display. So this can be used by cairo-trace-test to create - a reference surface that mimics exactly the true surface, but if it - targets an Xvfb display will be entirely rendered in software. If - CAIRO_REFERENCE_DISPLAY is not set, the reference surface degrades into an - xlib-fallback surface which is a close approximation (but still has - behavioural differences). - - boilerplate/cairo-boilerplate-xlib-private.h | 11 ++++++ - boilerplate/cairo-boilerplate-xlib.c | 51 ++++++++++++++++++++++++++++ - boilerplate/cairo-boilerplate.c | 14 ++++++-- - 3 files changed, 74 insertions(+), 2 deletions(-) - -commit d2244053dcca687a878b1008e3a8219f11d7bd0d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jun 21 08:58:08 2009 +0100 - - [perf] Force rebuild if make fails - - The build system has a singular failure whereby if a backend disappears - between on compile and the next, automake will fail to reconstruct the - Makefiles - resulting in a broken build. Attempt to fix this by removing - the build dir and recloning, which should work for any corrupt caches but - obviously will fail again at a true build failure. - - perf/cairo-perf-diff | 63 ++++++++++++++++++++++++++++++---------------------- - 1 file changed, 37 insertions(+), 26 deletions(-) - -commit ef0d307d549b9cc7a98cdce2ee4bae40d0fd0bd1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jun 21 08:43:55 2009 +0100 - - [perf] Need to version surface types - - As cairo-perf-diff will execute the current cairo-perf against historical - revisions, any introduced api must be protect in order to compile on old - versions. - - perf/cairo-perf-trace.c | 8 ++++++++ - perf/cairo-perf.c | 6 ++++++ - 2 files changed, 14 insertions(+) - -commit 44b72ba6d7bdcc5f4e431af178bc7c22f13e88e0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 20 13:09:46 2009 +0100 - - [perf] Add a non-build mode to graph - - Add --show to cairo-perf-graph just to graph perf files that currently - exist and not build the missing cases. - - perf/cairo-perf-graph | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit d4dd6fcf3a4e0d7426657592ebb3d65a2ae0bc4a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 20 13:08:50 2009 +0100 - - [perf] Show speedup/slowdownn labels on graph - - Add labels show that it is clear which direction is faster on the graph. - - perf/cairo-perf-graph-widget.c | 166 +++++++++++++++++++++++++++++++++++++---- - 1 file changed, 153 insertions(+), 13 deletions(-) - -commit b71b6ecb59bf83605bb2bb10e3f8acd7dd950242 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 19 21:21:02 2009 +0100 - - [test] Fix the image compare - - Oh, it's a bad sign when I can't even correctly compare a bunch of pixels. - - test/cairo-test-trace.c | 101 +++++++++++++++++++++++++++++++++++++++++------- - 1 file changed, 86 insertions(+), 15 deletions(-) - -commit d544828934e479071fe5246fc0bdbbad33c097e8 -Author: M Joonas Pihlaja <rowan@sal.math.ualberta.ca> -Date: Sat Jun 20 06:16:51 2009 -0600 - - [build] Look for libpng.pc as well when configuring. - - The OpenBSD png package installs only libpng.pc and not - any of libpng{13,12,10}.pc. - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 5733d8d6c35e1a77513a49267a47f6caae68e829 -Author: M Joonas Pihlaja <rowan@sal.math.ualberta.ca> -Date: Sat Jun 20 06:11:44 2009 -0600 - - [build] Remove a level of quoting from CAIRO_PARSE_VERSION. - - The m4 that comes with OpenBSD gets confused by the extra quoting - applied to the version number argument when building the - bodies of the cairo_version_{major,minor,micro} macros using - m4_bpatsubst(). Since we're making sure that the argument is always - a number, we can safely use the unquoted \2 body rather than \[\2\]. - - acinclude.m4 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3bad3efaa2fa00275c1d27c95ccbf1fcdfdfef3e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 19 19:09:03 2009 +0100 - - [test] Add cairo-test-trace to .gitignore - - test/.gitignore | 1 + - 1 file changed, 1 insertion(+) - -commit 62dc0ae46c26652da9a76b851bab594020020115 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 19 19:03:17 2009 +0100 - - [cairo] Offset the current path when pushing/popping groups. - - We need to translate the path in order to compensate for the device offset - applied to the group surface when pushing and popping. (The path is - transformed to device space on creation, and so needs recomputing for the - new device.) - - src/cairo.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit 851c8839622619779c9169299e3efccd108d0395 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 19 19:00:39 2009 +0100 - - [test] Add group-clip - - Larry Ewing found an ancient and nasty bug whereby a path was not - corrected whilst pushing and popping groups. - - AUTHORS | 1 + - test/Makefile.am | 1 + - test/Makefile.sources | 1 + - test/group-clip.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++++ - test/group-clip.ref.png | Bin 0 -> 191 bytes - 5 files changed, 60 insertions(+) - -commit 0a34abace781976b92287dd07daa2b41e168c4f6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 19 18:40:43 2009 +0100 - - [test] Experiment with reference targets - - Specify another boilerplate target to use as the reference for this - target. We then use this in cairo-test-trace in preference to using the - image surface. Still not perfect, though the framework is improving. - - boilerplate/cairo-boilerplate.c | 254 ++++++++++++++++++++++------------------ - boilerplate/cairo-boilerplate.h | 5 + - test/Makefile.am | 6 +- - test/cairo-test-trace.c | 229 ++++++++++++++++++++++++++++++------ - 4 files changed, 341 insertions(+), 153 deletions(-) - -commit cec8579348fb39ca879285bebfb1ee65cbae502d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 19 16:09:26 2009 +0100 - - [xlib] Remove redundant code to query a xrender_format from a visual - - We always query an xrender_format for a Visual upon surface creation, so - checking again in create_similar() is redundant. (It also interferes with - disabling XRender...) - - src/cairo-xlib-surface.c | 9 ++------- - 1 file changed, 2 insertions(+), 7 deletions(-) - -commit dd842a2bed1568000c9727fc35d4683db349e506 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 19 14:59:59 2009 +0100 - - [boilerplate] Missing static on pdf user data key. - - boilerplate/cairo-boilerplate-pdf.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2da906f4764d5fe7cbb08ec238b01e2a03696899 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Fri Jun 19 18:44:23 2009 +0300 - - [script] Include unistd.h if we're twiddling file descriptors. - - Including sys/mman.h doesn't pull in unistd.h on Solaris 9 so - we have to include it explicitly. - - util/cairo-script/cairo-script-operators.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -commit 1b6dbcbbebf18d6239fcc618f3389e9c0fc981f3 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Fri Jun 19 18:39:53 2009 +0300 - - [trace] Compile without fontconfig. - - Use CAIRO_HAS_FC_FONT to decide whether to export - cairo_ft_font_face_create_for_pattern() or not. - - util/cairo-trace/trace.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit d9b5a98a78b712a2ad64408fa47ba6aa34e29f1f -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Fri Jun 19 18:34:34 2009 +0300 - - [build] Require fontconfig >= 2.2.95 if we're using it at all. - - We require at least fontconfig 2.2.95 when we're using - fontconfig because we depend on the FcResultOutOfMemory - error code introduced in that version. - - configure.ac | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 84e587bbfad6586e41fac86c4d19005418115ac5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 19 14:41:39 2009 +0100 - - [trace] Prevent a child process from writing to the same file - - After opening a specific file or fd for ourselves, reset the - CAIRO_TRACE_FD to point to an invalid fd in order to prevent any child - processes (who inherit our environment) from attempting to trace cairo - calls. If we allow them to continue, then the two traces will intermix - and be unreplayable. - - util/cairo-trace/trace.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit 18edea36ba6604e4cbdbda1ed56e6117b5768d94 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 19 14:14:32 2009 +0100 - - [perf] Report line of error during trace - - Query the number of new lines processed so far and report that on hitting - an error. - - perf/cairo-perf-trace.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -commit 55721d380d5a75a9448f522f9ad48cd18a6c2f65 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 19 14:13:34 2009 +0100 - - [script] Report line number - - Count the number of newlines processed in the trace and provide an API for - the user to query. - - util/cairo-script/cairo-script-interpreter.c | 6 ++++++ - util/cairo-script/cairo-script-interpreter.h | 3 +++ - util/cairo-script/cairo-script-private.h | 2 ++ - util/cairo-script/cairo-script-scanner.c | 12 +++++++++--- - 4 files changed, 20 insertions(+), 3 deletions(-) - -commit 030ef4ca0023166fcb82f0a0b1512eb31beb3385 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 19 11:56:14 2009 +0100 - - [trace] Change the threshold at which pixel data is immediately copied - - Embed the pixels for images less than 32*32 as this catches most icons - which are frequently uploaded, but is still an unlikely size for a - destination image surface. - - util/cairo-trace/trace.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit d3330d7beba0e0d2543e40a0e0e4d81ea9a78b45 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 19 11:15:30 2009 +0100 - - [ft] Substitute twin if there are no fonts - - Fixes bug 22356 -- Spurious "out of memory" error on system without fonts - https://bugs.freedesktop.org/show_bug.cgi?id=22356 - - If FcFontMatch() fails, then it means that there are no fonts available on - the system (or it may have been a malloc error, we have no way of telling). - Instead of report NO_MEMORY and disabling all drawing, one of the - rationales for including a builtin font was so that we could continue even - in the face of this error and show *something* to the user. (This being a - last resort (and especially important for demos!) and hopefully easier to - diagnose than no output at all.) - - src/cairo-font-face-twin.c | 75 +++++++++++++++++++++++++++++++++++----------- - src/cairo-ft-font.c | 6 +++- - src/cairoint.h | 3 ++ - 3 files changed, 66 insertions(+), 18 deletions(-) - -commit 6d8b353658da1ad973e3bda9e89799a7467d8182 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Fri Jun 19 02:37:19 2009 +0300 - - [spans] Squash a compiler warning when creating error objects. - - Handle the new CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED status code - in the switch/case of the ..._create_in_error() functions for - creating span renderers or scan converters. - - src/cairo-spans.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 7651227d3dfe4ebf40e95a72106957a9ec51dd3e -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Fri Jun 19 02:03:39 2009 +0300 - - Revert "[test] Make the xlib-fallback use the image refs." - - This reverts commit 903b39c30448d62e2cbf9d075c5256a333bd5d8f. - - The xlib-fallback actually renders mostly via traps at the moment, - so staying with xlib refs is the right thing to do. - - boilerplate/cairo-boilerplate.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 729457b174cb19f4e0750486caed9582c5708930 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sat May 2 23:30:02 2009 +0300 - - [test] Add trap rendered ref images for fill-image. - - The fill code path for the xlib and fallback surfaces use trapezoids - rather than spans, so there's lots of differences due to antialising - differences at the edge of the fill. This patch adds a ref image - for the xlib and test-fallback surfaces. - - test/fill-image.test-fallback.ref.png | Bin 0 -> 1462 bytes - test/fill-image.xlib.ref.png | Bin 0 -> 1462 bytes - 2 files changed, 0 insertions(+), 0 deletions(-) - -commit 8e7f667abb94262b63b4fd589f5ee06cb8974aaf -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sat May 2 19:09:27 2009 +0300 - - [test] Mark scale-offset tests as XFAIL for image, xlib-fallback. - - The scale-offset tests trigger a loss-of-precision bug when - converting double matrices from cairo to pixman format. - - http://lists.cairographics.org/archives/cairo/2008-November/015671.html - - test/Makefile.am | 2 ++ - test/scale-offset-image.c | 2 +- - test/scale-offset-similar.c | 2 +- - 3 files changed, 4 insertions(+), 2 deletions(-) - -commit c12533b1358c9e5c1c3440efca4dc44ba2de9f6d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 18 17:46:14 2009 +0100 - - [pattern] Add _cairo_pattern_fini_snapshot - - Symmetric operation to _cairo_pattern_init_snapshot() this exists simply - to break the circular reference between the meta-surface and snapshot-cow. - - src/cairo-meta-surface.c | 24 ++++++++++++------------ - src/cairo-pattern.c | 17 +++++++++++++++++ - src/cairoint.h | 3 +++ - 3 files changed, 32 insertions(+), 12 deletions(-) - -commit 2213c447373b600c1583b2edd24775c5c031231c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 18 17:14:53 2009 +0100 - - [svg] Break circular snapshot reference by explicit finish - - The svg backend snapshots the meta surface which because of snapshot-cow - creates a circular reference back to the creator. So in order to break the - circular reference when we have finished with the snapshot, we need to - call cairo_surface_finish() in addition to simply destroying the surface. - - src/cairo-svg-surface.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit cd9eef1aad87558d3f2d47cfcfa2f5b9b254692c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 18 16:42:56 2009 +0100 - - [scaled-font] Check the MRU font before resolving the implementor - - This should hide most of the overhead of resolving a frequently used toy font. - - src/cairo-scaled-font.c | 23 +++++++++++++++-------- - 1 file changed, 15 insertions(+), 8 deletions(-) - -commit 5ad64dfda26f97f243f13e9b766567a30fda67a9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 18 16:39:02 2009 +0100 - - [test] Add the sha1sum of the required fonts - - (Note, I think these are currently out-of-date... But it will serve as a - useful reminder to verify and update them in future.) - - test/README | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -commit 3063f0f44c61869bc6bb07d46bf881f1558ac015 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 18 16:33:12 2009 +0100 - - [scaled-font-subset] Check for matching font-face implementors - - Catch toy and user fonts which may have different font-faces for their - implementation than the original ones they were created with. - - src/cairo-scaled-font-subsets.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit 6e78c94615e407d72d4778d5558dc218e0402cbc -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 18 16:30:41 2009 +0100 - - [test] Move calls to the getters from out of the innermost loops. - - Tidy the code slightly by removing excess and unsightly calls to - cairo_test_get_context() and cairo_get_scaled_font(). - - test/show-glyphs-many.c | 19 ++++++++++++------- - 1 file changed, 12 insertions(+), 7 deletions(-) - -commit 3da32e35afa57533379c3de35459f23aef7c3d04 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 18 15:31:27 2009 +0100 - - [analysis] Restore nops for the analysis null surface - - Joonas reported that adding the extra routines to the null-surface as used - by the analysis surface broke user-fonts. So create a separate null - backend to be exported via the test-null surface. - - src/cairo-analysis-surface.c | 57 ++-------------- - src/test-null-surface.c | 157 ++++++++++++++++++++++++++++++++++++++++++- - 2 files changed, 161 insertions(+), 53 deletions(-) - -commit c0e01d9cd71bd958e1b31a03cea4c08a1bdf4926 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 18 14:32:53 2009 +0100 - - [xlib] Improve GC caching efficacy - - Shrink the overall size of the per-screen GC cache, but allow multiple GCs - per depth, as it quite common to need up to two temporary GCs along some - drawing paths. Decrease the number of GCs we obtain in total by returning - clean (i.e. a GC without a clip set) back to the screen pool after use. - Compensate for the increased number of put/get by performing the query - using atomic operations where available. So overall we see a dramatic - reduction on the numbers of XCreateGC and XFreeGC, of even greater benefit - for RENDER-less servers. - - src/cairo-xlib-private.h | 11 +-- - src/cairo-xlib-screen.c | 200 +++++++++++++++++++++++++++++++++++------------ - src/cairo-xlib-surface.c | 58 +++++++++----- - 3 files changed, 197 insertions(+), 72 deletions(-) - -commit 7f238f542441cc5912d14e5c6f9c49ffd0b83fad -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Thu Jun 18 17:13:13 2009 -0400 - - Use the scanline rasterizer in the win32 backend. - - Brings http://people.mozilla.com/~jmuizelaar/world-map.html from 8fps to 13fps - in Vista on a Mac Mini - - src/cairo-win32-surface.c | 146 +++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 144 insertions(+), 2 deletions(-) - -commit d066154e62d6b4ecad15e0eef431aa2f4a56fecb -Author: Jeff Muizelaar <jeff@infidigm.net> -Date: Tue Jun 16 15:55:53 2009 -0400 - - Factor out _cairo_image_surface_span_render_row() - - This allows other backends use the same function for rendering rows. - More specifically, I intend to use this with the win32-backend. - - src/cairo-image-surface.c | 36 +++++++++++++++++++++++------------- - src/cairoint.h | 6 ++++++ - 2 files changed, 29 insertions(+), 13 deletions(-) - -commit fd142d0a6e21c492624ca8bc5019d89b0d7c5457 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Thu Jun 18 16:14:50 2009 +0100 - - [shave] Robuster usage of the test shell built-in. - - Solaris 9 confuses shave, resulting in an empty variable. - This patch papers over the resulting build failure from - the test shell built-in being called with an empty argument - which was unquoted. - - build/shave.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9ecee571c12e4d1645d9db2929280c9b35b1aad4 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Thu Jun 18 16:09:31 2009 +0100 - - [test/build] Don't test Freetype font stuff without Fontconfig. - - Most Freetype hitting tests require Fontconfig to find - them some fonts. - - test/Makefile.am | 2 ++ - 1 file changed, 2 insertions(+) - -commit 742b1ad4b069653a99fc6bd4510f2b6abb6abf95 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun May 24 23:41:28 2009 +0100 - - [test] Fix checking of the fenv.h include. - - This adds a configure check for fenv.h and makes - invalid-matrix.c check for it with HAVE_FENV_H instead - of HAVE_FEDISABLEEXCEPT -- turns out Solaris doesn't - have fedisableexcept(), but it does have feclearexcept(). - - The same issue appears on OSX and was fixed in - ab86662ab499e1f29c0f8c4248771e730c281e3f. This patch - adds some configure magic. - - build/configure.ac.system | 2 +- - test/invalid-matrix.c | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -commit 75f1d11d93236b19d06515b8ed2baf612b0767ab -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun May 24 21:28:04 2009 +0300 - - [test] Fallback to HUGE_VAL in place of INFINITY in invalid-matrix.c. - - GCC 3.4.3 on OpenSolaris does not recognise INFINITY. Use HUGE_VAL - instead for every compiler instead of just MSVC. - - test/invalid-matrix.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit d1994d1ac292cbc896cffd24094ddfa5f2b1e8a9 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun May 24 23:46:13 2009 +0300 - - [test/any2ppm] Daemonize without BSD's daemon(). - - Solaris libc doesn't provide daemon() so implement - any2ppm daemon's detaching without it. - - test/Makefile.am | 2 +- - test/any2ppm.c | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++----- - 2 files changed, 58 insertions(+), 6 deletions(-) - -commit aafff0b9528952fbbe9d04a70bf8c76ee701743f -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun May 24 23:50:03 2009 +0300 - - [boilerplate] Check for connect() in libsocket. - - Solaris requires -lsocket to be able to talk to - the any2ppm daemon over unix domain sockets. - - boilerplate/Makefile.am | 2 ++ - build/configure.ac.system | 4 ++++ - 2 files changed, 6 insertions(+) - -commit c4c06931690226e12622a957bbb6d652134f78b0 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun May 24 16:14:33 2009 +0300 - - [test] Make test constructors without perl. - - Remove the dependency on perl when building the test suite - by replacing the script which makes cairo-test-constructors.c - with a C program. - - test/.gitignore | 1 + - test/Makefile.am | 9 ++- - test/Makefile.win32 | 7 +- - test/make-cairo-test-constructors.c | 153 +++++++++++++++++++++++++++++++++++ - test/make-cairo-test-constructors.pl | 18 ----- - 5 files changed, 165 insertions(+), 23 deletions(-) - -commit cdd27a8d4cc3486867cff4ce81bb4e064eb74d58 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun May 24 16:19:31 2009 +0300 - - [test] Never use gcc __attribute__ magic for constructors. - - The configure test for __attribute__((constructor)) succeeds when - compiling with Sun Studio 12 on OpenSolaris but the attribute - is just ignored and has no actual effect. This causes the test - suite to not run any tests at all. With this patch we revert to - always using make-cairo-test-constructors.pl. - - build/configure.ac.system | 10 ---------- - test/Makefile.am | 7 ++----- - test/cairo-test-private.h | 2 -- - test/cairo-test-runner.c | 2 -- - test/cairo-test.h | 14 -------------- - 5 files changed, 2 insertions(+), 33 deletions(-) - -commit 46eb56a99f72b364e3eabe46f9b2995ed0696bd3 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Thu Jun 18 16:42:53 2009 +0300 - - [cairo-surface] Handle the all clipped out case for regions. - - Explicitly handle a region clip which represents that the - entire surface is clipped out by passing in a temporary - empty region to the backend set_clip_region() method. - Previously the passed in region may have been NULL even - when clip->all_clipped = TRUE. - - Fixes a bug tickled by the clip-all test case which was - brought to light by 394e139213e8f6692115c4c24818bfeb5e6d456a. - - src/cairo-surface.c | 34 +++++++++++++++++++++++++++++++--- - 1 file changed, 31 insertions(+), 3 deletions(-) - -commit 002264d572841f06930869a6c87fa2c987346dd6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jun 17 17:15:26 2009 +0100 - - [clip] Missing {} (coding style) - - Carl spotted that I'd slipped in a little CODING_STYLE violation. - - src/cairo-clip.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit bc87074185592eae367b6c091241957b94202fda -Author: Nis Martensen <nis.martensen@web.de> -Date: Tue Jun 16 23:27:20 2009 +0200 - - [path] Fix missing implicit move-to - - When cairo_curve_to happens to start a new subpath (e.g., after a call - to cairo_new_sub_path()), it also needs to update the last_move_point. - Otherwise the new current point after a close_path() will be at an - unexpected position. - - Therefore, call _cairo_path_fixed_move_to() explicitly. - - AUTHORS | 1 + - src/cairo-path-fixed.c | 6 +++--- - 2 files changed, 4 insertions(+), 3 deletions(-) - -commit 3c5e57e694d1a8a0a48a66e0d61d8257c23a780e -Author: Nis Martensen <nis.martensen@web.de> -Date: Tue Jun 16 23:38:50 2009 +0200 - - [test] Verify current point position after subpath closure - - Make sure cairo_close_path always takes the current point where it - should be. - - test/Makefile.am | 1 + - test/Makefile.sources | 1 + - test/close-path-current-point.c | 95 ++++++++++++++++++++++++++++++++++ - test/close-path-current-point.ref.png | Bin 0 -> 1916 bytes - 4 files changed, 97 insertions(+) - -commit 394e139213e8f6692115c4c24818bfeb5e6d456a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jun 17 14:46:53 2009 +0100 - - [clip] During _clip() limit the extracted traps to the current clip extents - - By applying a tight _cairo_traps_limit() we can reduce the amount of work - we need to do when tessellating the path and extracting the trapezoids. - - src/cairo-clip.c | 39 +++++++++++++++++++++++++++++++++++---- - 1 file changed, 35 insertions(+), 4 deletions(-) - -commit 650b85ec7721fb1302284e3ca4b7f4b72358abed -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jun 17 14:19:19 2009 +0100 - - [clip] Avoid copying region within _cairo_clip_intersect_region() - - Within _cairo_clip_intersect_region() we can simply assign the freshly - extracted traps-region if we previously had no region set. - - src/cairo-clip.c | 12 +++--------- - 1 file changed, 3 insertions(+), 9 deletions(-) - -commit 4bc89e224f74f24272c97dec93d70f0c4dd1963c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jun 16 15:13:46 2009 +0100 - - [NEWS] Add release notes from 1.8.8 - - NEWS | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 68 insertions(+), 1 deletion(-) - -commit 116c93cb7fe8ad55457c53b4652e8d3117581158 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jun 16 11:36:36 2009 +0100 - - [cairo] Remove instance of 'return free()' - - Gah! This is a GCC-ism, so therefore it has to go. - - src/cairo.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 22587f57bd5d1b4440d936cd4655a7e8fcebdf36 -Author: Vladimir Vukicevic <vladimir@pobox.com> -Date: Sun Jun 14 20:43:05 2009 +0100 - - Import Qt backend by Mozilla - - Written by Vladimir Vukicevic to enable integration with Qt embedded - devices, this backend allows cairo code to target QPainter, and use - it as a source for other cairo backends. - - This imports the sources from mozilla-central: - http://mxr.mozilla.org/mozilla-central/find?text=&kind=text&string=cairo-qpainter - renames them from cairo-qpainter to cairo-qt, and integrates the patch - by Oleg Romashin: - https://bugs.freedesktop.org/attachment.cgi?id=18953 - - And then attempts to restore 'make check' to full functionality. - - However: - - C++ does not play well with the PLT symbol hiding, and leaks into the - global namespace. 'make check' fails at check-plt.sh - - - Qt embeds a GUI into QApplication which it requires to construct any - QPainter drawable, i.e. used by the boilerplate to create a cairo-qt - surface, and this leaks fonts (cairo-ft-fonts no less) causing assertion - failures that all cairo objects are accounted for upon destruction. - - [Updated by Chris Wilson] - Acked-by: Jeff Muizelaar <jeff@infidigm.net> - Acked-by: Carl Worth <cworth@cworth.org> - - boilerplate/Makefile.sources | 3 + - boilerplate/Makefile.win32.features | 10 + - boilerplate/cairo-boilerplate-qt-private.h | 60 + - boilerplate/cairo-boilerplate-qt.cpp | 90 ++ - boilerplate/cairo-boilerplate.c | 23 + - boilerplate/cairo-boilerplate.h | 3 + - build/Makefile.win32.features | 1 + - build/Makefile.win32.features-h | 3 + - build/configure.ac.features | 1 + - configure.ac | 11 + - perf/cairo-perf-trace.c | 1 + - perf/cairo-perf.c | 3 +- - src/Makefile.am | 2 +- - src/Makefile.sources | 3 + - src/Makefile.win32.features | 14 + - src/cairo-debug.c | 42 + - src/cairo-qt-surface.cpp | 1876 ++++++++++++++++++++++++++++ - src/cairo-qt.h | 89 ++ - src/cairo-xlib-surface.c | 6 + - src/cairo.h | 4 +- - src/check-def.sh | 7 +- - src/check-preprocessor-syntax.sh | 3 +- - 22 files changed, 2247 insertions(+), 8 deletions(-) - -commit 7d3881114add18d5934073d0b04755d343ea38c6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jun 15 15:13:43 2009 +0100 - - [perf] Report errors during replays - - perf/cairo-perf-trace.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -commit 061e0477e9a894241806eeacbde2f3770b751f34 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jun 15 15:10:50 2009 +0100 - - [perf] Report iteration count - - Show number of discard results by showing the number of statistically - valid samples out of total population count. - - perf/cairo-perf-trace.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit bab8af62e772844f08a244d99f705e318af3f58c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jun 15 15:01:34 2009 +0100 - - [region] Add PLT entry for cairo_region_create_rectangles() - - src/cairo-region.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit 6da9c410d4696ebba0fb563a858f1625bf3b1f9e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jun 15 12:14:51 2009 +0100 - - Missing header file for cairo-test-null-surface. - - src/test-null-surface.h | 46 ++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 46 insertions(+) - -commit e5727e20f52eb0308a8ad1c44a6eb4c7c65d7ff0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jun 15 11:58:58 2009 +0100 - - Expose _cairo_null_surface_create() via a test surface - - Using a null surface is a convenient method to measure the overhead of the - performance testing framework, so export it although as a test-surface so - that it will only be available in development builds and not pollute - distributed libraries. - - .../cairo-boilerplate-test-surfaces-private.h | 10 ++++ - boilerplate/cairo-boilerplate-test-surfaces.c | 16 +++++++ - boilerplate/cairo-boilerplate.c | 9 ++++ - perf/cairo-perf-trace.c | 6 +-- - src/Makefile.sources | 2 + - src/cairo-analysis-surface.c | 56 ++++++++++++++++++++-- - src/test-null-surface.c | 48 +++++++++++++++++++ - test/cairo-test.c | 14 ++++-- - util/cairo-trace/trace.c | 26 ++++++++++ - 9 files changed, 175 insertions(+), 12 deletions(-) - -commit f2057061c67236a79c8bb69b84e44e151109629a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jun 14 09:10:08 2009 +0100 - - [trace] Add sticky bit to (system-wide) trace output dir - - Need to allow user programs to dump their traces into the common output - directory, when using /etc/ld.so.preload to capture traces for the entire - desktop. - - util/cairo-trace/Makefile.am | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 3fe50a77ea21bcddb701a8640b5ecad9f6f5ab01 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 13 22:27:17 2009 +0100 - - [configure] Rephrase warning message for disabling core features. - - "strictly recommended" is an odd phrase and though the stern warning is - appropriate as replacing a system library with a more limited version is - likely to cause mayhem, we are but mere servants and should be reserved in - our parlance. - - build/configure.ac.features | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 5d57aeaa23566739ba01a0fac1c3b90ce27b28cd -Author: Søren Sandmann Pedersen <sandmann@redhat.com> -Date: Tue May 26 17:53:37 2009 -0400 - - Reinstate cairo_region_create_rectangles() - - cairo_region_union_rectangle() is linear in the number of rectangles - in the region. There is no way to make it significantly faster without - losing the ability to return errors synchronously, so a - cairo_region_create_rectangles() is needed to avoid a large - performance regression. - - src/cairo-region.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ - src/cairo-traps.c | 47 ++++++++++++++++++++++++++++------------------- - src/cairo.h | 4 ++++ - src/cairoint.h | 1 + - 4 files changed, 77 insertions(+), 19 deletions(-) - -commit 216a2e24c7375e48677ce30f9fe8fb3d8bbdd10d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 13 21:40:05 2009 +0100 - - [test] Minor tweak to cairo-test-trace - - Cleanse the code of a couple of redundant pointer manipulations. - - test/cairo-test-trace.c | 16 +++++++++------- - 1 file changed, 9 insertions(+), 7 deletions(-) - -commit 2ab4245c866bcefb755a33f7eaa6ef1277f82df1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 13 21:33:09 2009 +0100 - - [test] Need SOURCE when copying image data - - As cairo-test-trace does not clear the image data before reuse, using - the default OVER operator will cause differing results for each process - when inadvertently alpha blending into the shared memory region. As we - essentially want to just copy the source pixels, be explicit and set the - SOURCE operator. - - test/cairo-test-trace.c | 1 + - 1 file changed, 1 insertion(+) - -commit e003d665fe45905606a792e4a783f65fc7e84550 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 13 19:18:11 2009 +0100 - - [test] Disable compilation of cairo-test-trace without shm_open() - - Remember to only add cairo-test-trace to the list of EXTRA_PROGRAM so long - as we can actually compile it. - - test/Makefile.am | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit c092136fe9e5fee71dfe02f945fe5676f43b2d05 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 13 18:59:17 2009 +0100 - - [configure] Check for shm_open() - - As needed for cairo-test-trace. - - build/configure.ac.system | 8 ++++++++ - test/Makefile.am | 4 +++- - 2 files changed, 11 insertions(+), 1 deletion(-) - -commit f298dd92ca0b789a3d2b591753c992e1673b2d87 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 13 18:49:16 2009 +0100 - - [test] Remove dlmalloc - - cairo-test-trace's shared memory allocation pattern is much simpler than - anticipated as it allocates a bunch of images and then frees them all, - and so only needs a simple linear allocator. - - test/Makefile.am | 1 - - test/cairo-test-trace.c | 62 +- - test/dlmalloc.c | 5099 ----------------------------------------------- - 3 files changed, 11 insertions(+), 5151 deletions(-) - -commit 37f32f29518bdc1428c7ec137f212313e377486c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 13 18:31:35 2009 +0100 - - [util] Disable default build of font-view - - It's only a demonstration utility after a all and we do not need to incur - the cost of relinking it everytime we modify the main library. - - util/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0eca1b17b14057ef88ae2df500679e62ffb50118 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 13 17:16:20 2009 +0100 - - [surface] Give ownership of the snapshot to the snapshotter. - - Previously the reference to the newly created snapshot was owned by the - containing pattern. The consequence of this was that when the pattern was - destroyed the snapshot was cleaned up which prevent reuse of the snapshot - across multiple pages. Transferring ownership upon attachment of the - snapshot to the target means that the snapshot stays in existence until - the target itself is destroyed or modified *and* the containing pattern - is consumed. Obvious in hindsight. - - src/cairo-surface.c | 15 ++++++++++++++- - 1 file changed, 14 insertions(+), 1 deletion(-) - -commit a1b3392e60b6b4ff4b650f4d48d56568c1851245 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 13 16:37:43 2009 +0100 - - [surface] Mark cairo_surface_show_page() with begin-modification - - cairo_surface_show_page() clears the surface after presentation, so we - need to discard the snapshots here. - - src/cairo-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1798bdd322e0d25147195198bf0c5e9506c61a15 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sat Jun 13 22:47:41 2009 +0930 - - Fix PDF pattern embedding - - The PDF snapshot cow patch was reusing a previously emitted surface - pattern if the surface unique id matched the current surface. This - resulted in incorrect output as the new pattern may have a different - pattern matrix. - - This patch fixes the PDF backend to always emit a new pattern but - re-use previously emitted image or metasurface XObjects. - - src/cairo-pdf-surface-private.h | 21 +- - src/cairo-pdf-surface.c | 532 +++++++++++++++++++++++++++------------- - 2 files changed, 372 insertions(+), 181 deletions(-) - -commit f115c5479ead934774fea99d74d780e2bb1681c4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 13 15:49:15 2009 +0100 - - [trace] Strip absolute path off name when profiling - - Carl spotted this last night, but I misinterpreted it as an old problem - caused by the application changing its working directory before its first - cairo call - thus causing cairo-trace to attempt to open a file in the new - directory. Instead the problem was attempting to trace an executable with - an absolute path, where we just tagged it with a .lzma extentsion and - attempted to pipe the output there. Obviously this fails for the user - profiling system binaries. So use basename to strip the leading path. - - util/cairo-trace/cairo-trace.in | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit c52eed6680dd13f6bc65dc4a26b6c8eab5a94a54 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 13 15:42:43 2009 +0100 - - [trace] Handle wrapping python - - python lazily loads libcairo.so and so it is not available via RTLD_NEXT, - and we need to dlopen cairo ourselves. Similarly the linker is not able to - resolve any naked function references and so we need to ensure that all of - our own calls into the library are wrapped with DLCALL. - - util/cairo-trace/trace.c | 145 +++++++++++++++++++++++++++-------------------- - 1 file changed, 83 insertions(+), 62 deletions(-) - -commit 606790a86083d31fa50ed5e0cf621eca56c16e33 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 13 14:07:22 2009 +0100 - - [script] Disable compilation of examples - - Now that cairo-perf-trace exists and is a far superior replay tool, use - EXTRA_PROGRAM for the original replay tools. - - util/cairo-script/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 31b7652e1fa2ab2bd9e9df7f5517b7d678faf6aa -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 13 12:19:51 2009 +0100 - - [test] Never, ever, blame a crashing test on external factors. - - test/cairo-test-runner.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3dde883b779b81b95f420039c02b51b029311f78 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 13 10:13:20 2009 +0100 - - [test] Code review after sleep - - Review cairo-test-trace.c and rewrite parts to ease understanding and fix - various bugs - such as failure to notice the slaves crashing and not - releasing our shared memory after an interrupt. - - test/cairo-test-trace.c | 400 ++++++++++++++++++++++++++++-------------------- - 1 file changed, 236 insertions(+), 164 deletions(-) - -commit 1f542965f0310aed493651b8ddc1e98a4192b977 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 13 08:24:22 2009 +0100 - - [perf] Mention cairo-perf-compare-backends in the README - - perf/README | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -commit 3b6e4018c69f88135f8d937724acf90adb003bad -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 12 22:19:56 2009 +0100 - - [test] Add cairo-test-trace - - The basic premise is that we feed the trace to multiple backends in - parallel and compare the output at the end of each context (based on - the premise that contexts demarcate expose events, or their logical - equivalents) with that of the image[1] backend. Each backend is - executed in a separate process, for robustness, with the image data - residing in shared memory and synchronising over a socket. - - [1] Should be reference implementation, currently the image backend is - considered to be the reference for all other backends. - - test/Makefile.am | 16 +- - test/cairo-test-trace.c | 1225 ++++++++++++ - test/dlmalloc.c | 5099 +++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 6339 insertions(+), 1 deletion(-) - -commit a41e1275d28317c88e29b7f142cfc835673c01f5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 12 12:32:51 2009 +0100 - - [boilerplate] Make array of targets const. - - Protect the boilerplate targets from unexpected modifications. - - boilerplate/cairo-boilerplate.c | 8 ++++---- - boilerplate/cairo-boilerplate.h | 4 ++-- - perf/cairo-perf-trace.c | 6 +++--- - perf/cairo-perf.c | 4 ++-- - perf/cairo-perf.h | 4 ++-- - test/cairo-test.h | 2 +- - 6 files changed, 14 insertions(+), 14 deletions(-) - -commit 6aebde6598c629d667b06e20111106832d139c4d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 12 12:25:22 2009 +0100 - - [boilerplate] Export cairo_boilerplate_get_image_target() - - A routine to scan the compiled list of targets and return the entry - corresponding to the image backend. - - boilerplate/cairo-boilerplate.c | 17 +++++++++++++++++ - boilerplate/cairo-boilerplate.h | 3 +++ - 2 files changed, 20 insertions(+) - -commit d008167b9bcd6a24199740183bbfcabcfdccdd63 -Author: Carl Worth <cworth@cworth.org> -Date: Fri Jun 12 12:08:22 2009 -0700 - - Makefile: Fix two typos preventing doc-publish from working - - It seems that everything up to this point in release-publish - worked fine, so with these fixes, hopefully the next run of - make release-publish will work without any snags. - - build/Makefile.am.releasing | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 98eb84cfbbf2cfdb0153c8e924099cef016a412a -Author: Carl Worth <cworth@cworth.org> -Date: Fri Jun 12 12:07:59 2009 -0700 - - Increment version to 1.9.3 after the 1.9.2 snapshot. - - cairo-version.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e9b9d2a7c17ca4b2bc2991fdc4893aed850578db -Author: Carl Worth <cworth@cworth.org> -Date: Thu Jun 11 15:28:59 2009 -0700 - - Update version to 1.9.2 - - In preparation for the (long overdue) 1.9.2 snapshot today. - - cairo-version.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8ac8c5b428d11b11ba9fb55264cd9091368f6acb -Author: Carl Worth <cworth@cworth.org> -Date: Fri Jun 12 11:49:52 2009 -0700 - - NEWS: Fix date and name of 1.9.2 snapshot - - It's a snapshot, not a release, and the broken REFERENCE_IMAGE list - derailed me from finishing yesterday. - - NEWS | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 3f474555dd00b8585ae3db848cf46984d77bd16e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 12 11:19:50 2009 +0100 - - [test] Add jp2.jp2 to EXTRA_DIST - - Required by test/mime-data and so triggering failures during distcheck as - it was not packaged. - - test/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit 7f114b781f5c530d57530e5f76402e41cdabac6b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 12 11:15:16 2009 +0100 - - [doc] Workaround read-only tree during make distcheck - - This looks to be an ugly necessity to work-around the nasty issue that - we currently gtkdoc expect to be run inside the source tree. I'm sure - Behdad will be able to resolve this much more elegantly than this quick - and fragile attempt. - - build/Makefile.am.gtk-doc | 11 ++++++----- - build/configure.ac.features | 2 +- - doc/public/Makefile.am | 5 +++-- - 3 files changed, 10 insertions(+), 8 deletions(-) - -commit 1498c9c333d7579231ac44a91f00f0a49360702d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 12 07:38:00 2009 +0100 - - [script] Also mmap backing storage for the pattern descriptions - - These can be reasonably large and persist for long times due to the - font holdover caches, so manually swap them out to save space on tiny - swapless machines. - - util/cairo-script/cairo-script-operators.c | 14 +++++++++++++- - 1 file changed, 13 insertions(+), 1 deletion(-) - -commit 80ba06803b50cc0f76039939f25372cbbe2e8d81 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 12 08:03:12 2009 +0100 - - [Makefile] Update list of reference images. - - test/Makefile.am | 1432 +++++++++++++++++++++++++++++++----------------------- - 1 file changed, 818 insertions(+), 614 deletions(-) - -commit fb21a0da8730823ff092f8e298af3d5b4e8c90e4 -Author: Carl Worth <cworth@cworth.org> -Date: Thu Jun 11 15:28:02 2009 -0700 - - Update CLEANFILES for 'make distcheck' - - This is a standard part of the release ritual. - - test/Makefile.am | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit a4f023ef2eb041fecba5f3fd2d5a1594975ca211 -Author: Carl Worth <cworth@cworth.org> -Date: Thu Jun 11 14:51:14 2009 -0700 - - NEWS: Update date for snapshot planned for today. - - NEWS | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 82139b42919be1acf6bade733bb2ff489e50812d -Author: Carl Worth <cworth@cworth.org> -Date: Thu Jun 11 14:51:10 2009 -0700 - - NEWS: Explain bovine polaroids a bit more. - - It's a fun joke, but the COW snapshots feature is important enough - that we should actually tell users what it is. - - NEWS | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -commit 4d5f66d5b1f243e58d43dc89568be9240262fd5c -Author: Carl Worth <cworth@cworth.org> -Date: Thu Jun 11 14:42:11 2009 -0700 - - NEWS: Cleanup in preparation for 1.9.2 snapshot - - Mostly just wrapping to a reasonable line length, and some minor - wording changes. - - NEWS | 71 +++++++++++++++++++++++++++++++++++++++++++------------------------- - 1 file changed, 45 insertions(+), 26 deletions(-) - -commit 19630f4b73a4fdfb9855ececd6614493e68d3b95 -Author: Carl Worth <cworth@cworth.org> -Date: Wed Jun 10 17:39:48 2009 -0700 - - Make the warning about the need to --enable-gtk-doc more explicit. - - I must have read it three times and kept thinking, "but I *did* - just install gtk-doc", before I finally understood what it was - trying to tell me. - - build/Makefile.am.gtk-doc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 3aaea453b0f0880d6c8825be21e67821732d1635 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 11 22:36:01 2009 +0100 - - [script] Store fonts inside mmaped files. - - As an aide to tiny swapless systems write the rarely used bytes that - define type42 fonts into a deleted file and mmap them back into our - address space. - - build/configure.ac.system | 3 + - util/cairo-script/cairo-script-operators.c | 91 ++++++++++++++++++++++++------ - 2 files changed, 78 insertions(+), 16 deletions(-) - -commit 6167f27adfd530bdf091a0e7a3e0141d5db66f00 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 11 22:33:00 2009 +0100 - - [script] Fix memleak of duplicated strings from files - - csi_string_new() duplicated the bytes which was not what was desired, so - implement a csi_string_new_for_bytes() to take ownership and prevent the - leak that was occuring, for example, every time we create a new font face. - - util/cairo-script/cairo-script-file.c | 5 +++-- - util/cairo-script/cairo-script-objects.c | 27 +++++++++++++++++++++++++++ - util/cairo-script/cairo-script-private.h | 6 ++++++ - 3 files changed, 36 insertions(+), 2 deletions(-) - -commit 13b56c42bfdb9ad36f9b1bd22f83d7ef3a074ddc -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Thu Jun 11 17:32:23 2009 -0400 - - Fix compilation on OS X when compiling for 64 bit - - OS X doesn't support ATSUI in 64 bit so don't include the cairo ATSUI - API in that case. - - src/cairo-quartz-font.c | 3 ++- - src/cairo-quartz.h | 2 ++ - 2 files changed, 4 insertions(+), 1 deletion(-) - -commit 9e3019ef987f8d3ad424c13ffae5a15b08beb327 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 11 22:27:18 2009 +0100 - - [perf] Add libcairoperf.la to DEPENDENCIES - - It seems adding the explicit dependencies to encourage it to rebuild - components from other parts of the source tree removed the automagic - dependency of libcairoperf.la. So add it to the list. Maybe this is not - the correct solution, but it works again for now. - - perf/Makefile.am | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit 55cbf525479cde8251cc9199f9db89e510d6a9c1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 11 15:40:27 2009 +0100 - - [perf] Fix -i getopt parsing. - - Gah, I presumed that the ':' separated options that required arguments - from stand-alone options. I was wrong. The ':' indicates that the - preceding option takes an argument. So add it back to -i. - - perf/cairo-perf-trace.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 614bfdc0846856653a742b035e70d009b0a716cc -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 11 15:35:05 2009 +0100 - - [xcb] Trivial compile fix. - - Update show_glyphs() interface. - - src/cairo-xcb-surface.c | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - -commit f7dbdf1fd1d7cc14491a9419c316b078247e145e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jun 8 09:39:20 2009 +0100 - - [script] Hide pixman-ops when copying pixels - - Seeing unexpected time inside pixman composite is quite disturbing when - trying to track down the apparent slowness in some benchmarks. Remove one - source of this artefact by simply memcpy'ing pixel data when trivial. - - util/cairo-script/cairo-script-operators.c | 70 +++++++++++++++++++++++------- - 1 file changed, 55 insertions(+), 15 deletions(-) - -commit ecee5663bf900ab97d2bb7ec41ade838f167e1cd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jun 8 01:05:28 2009 +0100 - - [perf] Fixup compare-backends to work with just a single test. - - perf/cairo-perf-compare-backends.c | 17 ++++++----------- - 1 file changed, 6 insertions(+), 11 deletions(-) - -commit 42c0aee1d9ff5e0182c41ed505a2b0f56e564cbb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 11 12:58:05 2009 +0100 - - [perf] Add a -x to exclude traces from a benchmark. - - Read names of traces to exclude from a file specified using -x on the - commandline, i.e. - $ ./cairo-perf-trace -x cairo-traces/tiny.exclude - - This is a convenient method for me to exclude certain traces for - particular machines. For example tiny cannot run - firefox-36-20090609.trace as that has a greater working set than the - available RAM on tiny. - - perf/cairo-perf-trace.c | 135 +++++++++++++++++++++++++++++++++++++++++++++--- - perf/cairo-perf.h | 2 + - 2 files changed, 130 insertions(+), 7 deletions(-) - -commit b40ce402ada8d57c5093715be530df08459d1654 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 11 09:16:29 2009 +0100 - - [NEWS] Add more notes - - NEWS | 50 ++++++++++++++++++++++++++++++++++++++++++++------ - 1 file changed, 44 insertions(+), 6 deletions(-) - -commit 610da573e91810c53305b6bfe02eb7b714e3d08e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jun 10 12:59:36 2009 +0100 - - [win32-font] Non-fatal error from GetGlyphOutlineW(GGO_METRICS) - - If GetGlyphOutlineW(GGO_METRICS) fails to retreive the metrics for the - specified glyph it returns GDI_ERROR. Like ft, do not interpret this as a - fatal error but just mark the glyph as empty. - - Fixes http://bugs.freedesktop.org/show_bug.cgi?id=20255 - Bug 20255 -- cairo_scaled_font_glyph_extents breaks with invalid glyph id - - src/cairo-win32-font.c | 10 ++-------- - 1 file changed, 2 insertions(+), 8 deletions(-) - -commit 81b5dc42b0e754d602506a8ccd231df9afd71593 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jun 10 08:49:39 2009 +0100 - - [perf] Expand the section on cairo-perf-trace in the README - - Promote the information on how to use cairo-perf-trace and include it - immediately after the details on cairo-perf. This should make it much - clearer on how to replay the traces, and the difference between the two - benchmarks. - - perf/README | 37 ++++++++++++++++++++++++++++++++++--- - 1 file changed, 34 insertions(+), 3 deletions(-) - -commit ec92e633edd377747155b60aa225b266c38bc498 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jun 10 08:34:57 2009 +0100 - - [perf] Couple cairo-perf-traces into make perf - - Rather than complicating cairo-perf to extend it to perform both micro- - and macro-benchmarks, simply run the two binaries in succession during - make perf. - - For bonus points, consider whether we should hook cairo-perf-trace into - cairo-perf-diff. - - perf/Makefile.am | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit 0db946cdd9fe601a060b62c5df7df3022ea5e2d6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jun 9 16:19:36 2009 +0100 - - [perf] Add explicit dependences for the local libraries - - Update the build rules and add the dependences for the libraries built in - other parts of cairo. - - perf/Makefile.am | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -commit 844c809698635cf44658fcbfb5da6976890185b9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jun 9 12:45:53 2009 +0100 - - [boilerplate] Print out known targets on error. - - Improve the 'Cannot find target ...' error message for an incorrect - CAIRO_TEST_TARGET by actually listing the targets that have been compiled - into the test suite. - - boilerplate/cairo-boilerplate.c | 15 ++++++++++++++- - 1 file changed, 14 insertions(+), 1 deletion(-) - -commit ac563715506b911f142dd0e4460a6effee45119d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jun 8 23:58:56 2009 +0100 - - [test] Exercise overlapping glyphs - - Quite an expensive test that converts an image into a distorted array of - glyphs, using a perspective transformation taking the intensity of the - pixel as depth. This generates a pretty picture and many overlapping - glyphs. - - test/Makefile.am | 1 + - test/Makefile.sources | 1 + - test/mask-glyphs.c | 175 +++++++++++++++++++++++++++++++++++++++++++++++ - test/mask-glyphs.ref.png | Bin 0 -> 1189352 bytes - 4 files changed, 177 insertions(+) - -commit 015df191ba947e714285145c3a4ead198ba0d07e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jun 8 17:40:16 2009 +0100 - - [trace] Prevent overflowing the operand stack when recreating objects - - Objects like cairo_scaled_font_t may return a reference to a previously - defined scaled-font instead of creating a new token each time. This caused - cairo-trace to overflow its operand stack by pushing a new instance of the - old token every time. Modify the tracer such that a font token can only - appear once on the stack -- for font-faces we remove the old operand and - for scaled-fonts we simply pop, chosen to reflect expected usage. - - util/cairo-trace/trace.c | 89 ++++++++++++++++++++++++++++++++++-------------- - 1 file changed, 63 insertions(+), 26 deletions(-) - -commit 09492288b33c36093e50d39e4e7e632ab659a0e2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jun 8 17:38:14 2009 +0100 - - [trace] Option to re-enable mark-dirty - - Applications such as swfdec have a strictly correct use of mark-dirty and - so we need an option to re-enable mark-dirty tracing in conjunction with - --profile. - - util/cairo-trace/cairo-trace.in | 5 +++++ - 1 file changed, 5 insertions(+) - -commit 39bac6edddb8913d07fb25f14f088967ca846a78 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jun 8 11:52:56 2009 +0100 - - [perf] Mention cairo-perf-trace early on in the README - - perf/README | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 34ccaeae2d3cf1b5bdd8b97581d6e70324494356 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jun 8 00:12:28 2009 +0100 - - [perf] Continuously update the summary for traces - - perf/cairo-perf-trace.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 055e9b0eb650bec6ae8297e5a36f1cac22c43d56 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jun 7 23:35:57 2009 +0100 - - [test] Cache resolved scaled-font - - The intention is to stress test the solid pattern caches, so we can cheat - and avoid repeatedly resolving the toy font. - - test/solid-pattern-cache-stress.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 25c37509396a89deb644cbd6ada99137ba9d3095 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jun 7 19:23:04 2009 +0100 - - [scaled-font] Report the original-font-face - - When queried with cairo_scaled_font_get_font_face() return the original - font-face which matches the one supplied by the user, rather than the - implementation derived face. - - Fixes test/font-face-get-type. - - src/cairo-scaled-font.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 6d693f6bd7c629372cfb6c284ca98dc04619bfe9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jun 7 18:59:36 2009 +0100 - - [ft] Support font_face->get_implementation - - The lazy resolution of patterns was defeating the scaled_font cache as - ft-fonts that resolved to the same unscaled font were being given different - font-faces upon creation. We can keep the lazy resolution by simply asking - the ft backend to create a fully resolved ft-font-face when we need to - create a scaled-font. This font is then keyed by the resolved font-face - and so will match all future lazily resolved identical patterns. - - src/cairo-ft-font.c | 117 ++++++++++++++++++++-------------------------- - src/cairo-scaled-font.c | 20 +++++--- - src/cairo-toy-font-face.c | 41 +++++++++------- - src/cairoint.h | 9 ++-- - 4 files changed, 96 insertions(+), 91 deletions(-) - -commit a29426f4bffc0a3f5bb349a2ba44203394339ae8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jun 7 17:24:40 2009 +0100 - - [ft] Assert that we create an unscaled font for the resolved pattern - - src/cairo-ft-font.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 7d8a0a1cdd62112ccdae2a80bb55ec9cec99b978 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jun 7 17:01:57 2009 +0100 - - [cairo] Keep a small stash of cairo contexts - - A cairo context is meant to be extremely cheap to create such that it can - be used in transient expose events. Thus these are allocated reasonably - frequently and show up malloc profiles. - - src/cairo.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 49 insertions(+), 2 deletions(-) - -commit f08fe5b550d53c93b73c6295f8a85a8dcd4a1f4a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jun 7 15:55:20 2009 +0100 - - [trace] Redirect stdout to /dev/null when compressing - - Otherwise we mix in stdout in with the trace and prevent replay. - - util/cairo-trace/cairo-trace.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 750c1b5b48dcd33ba4a4d5290c50f564bf45bc58 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 6 21:45:18 2009 +0100 - - [configure] Check for FcInit() - - configure.ac | 2 +- - test/cairo-test.c | 2 ++ - 2 files changed, 3 insertions(+), 1 deletion(-) - -commit f7a562a590493904cf10b4fb9af3b42fb3f8a3a2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 6 14:58:46 2009 +0100 - - [configure] Don't attempt to build GTK+ utilities on system without GTK+ - - configure.ac | 3 ++- - util/Makefile.am | 5 ++++- - 2 files changed, 6 insertions(+), 2 deletions(-) - -commit 6a5957475139a7c80a6bb55fb63927e5ec8866f6 -Author: Eric Anholt <eric@anholt.net> -Date: Sun Jun 7 10:43:43 2009 +0000 - - [gl] consolidate the pixman format to GL format/type/internalformat code. - - This means that draw_image gets all the love that the pattern texture code - does. Not that I'm sure it still needs to exist. - - src/cairo-gl-surface.c | 321 ++++++++++++++++++++++++------------------------- - 1 file changed, 158 insertions(+), 163 deletions(-) - -commit cb1e5674cd7a61a2d96bd4ae8895b26686571e78 -Author: Eric Anholt <eric@anholt.net> -Date: Sun Jun 7 10:09:28 2009 +0000 - - [gl] Add support for more 16-bit image formats. - - Fixes test-fallback16-surface-source - - src/cairo-gl-surface.c | 54 ++++++++++++++++++++++++++++++++++++++++++++------ - 1 file changed, 48 insertions(+), 6 deletions(-) - -commit 7a95b2745ae619f6ca4631f3cdb03e12203126f3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 6 21:36:08 2009 +0100 - - [boilerplate] Minor typo in win32-printing - - boilerplate/cairo-boilerplate.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 16eb160c7794ad34c17c5b12ec586d956baf9831 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 6 20:09:15 2009 +0100 - - [script] Enable compilation without fontconfig - - Some insane people actually try compiling cairo with freetype and without - fontconfig... - - util/cairo-script/cairo-script-operators.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit d753ba96aba4dbbcbd0da1823be8824ba233f079 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 5 17:59:38 2009 +0100 - - [script] Manage used entries within hash tables - - Apply the patch from Karl Tomlinson, - https://bugs.freedesktop.org/attachment.cgi?id=19802, to repack the hash - table if the number of free slots falls too low. - - util/cairo-script/cairo-script-hash.c | 109 ++++++++++++++++++++----------- - util/cairo-script/cairo-script-private.h | 1 + - 2 files changed, 73 insertions(+), 37 deletions(-) - -commit 4ccfd474a36f482adcab49a8d38742121817b47e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 6 13:32:21 2009 +0100 - - [perf] Switch to using clock_gettime() - - Try using clock_gettime() for a high resolution stable time source in - preference to the potentially unstable TSC. - - build/configure.ac.system | 9 ++++-- - perf/cairo-perf-posix.c | 72 ++++++++++++++++++++++++++++++++++------------- - 2 files changed, 60 insertions(+), 21 deletions(-) - -commit 867c88ae90e4e69a556c032fa67d94a292f5d817 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 6 12:59:39 2009 +0100 - - [script] Add a finish method to the interpreter - - When using fonts circular references are established between the holdover - font caches and the interpreter which need manual intervention via - cairo_script_interpreter_finish() to break. - - perf/cairo-perf-trace.c | 3 +- - util/cairo-script/cairo-script-interpreter.c | 51 ++++++++++++++++++++++------ - util/cairo-script/cairo-script-interpreter.h | 3 ++ - util/cairo-script/cairo-script-objects.c | 35 ++++++++++++------- - util/cairo-script/cairo-script-private.h | 3 ++ - 5 files changed, 70 insertions(+), 25 deletions(-) - -commit 098822d7ee7f14096dd269c1bc96e39da126622c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jun 6 10:35:19 2009 +0100 - - [script] Fix erroneous error return when rendering type3 glyphs - - Only return a USER_FONT_ERROR if an error occurs whilst rendering the - glyph! - - util/cairo-script/cairo-script-operators.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 24e51dd2ee04884e1f6f9f527b6675ad5f883ee2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 5 18:34:29 2009 +0100 - - [atomic] Hide compiler warnings - - Add uint variants of _cairo_atomic_int_*() to hide the compiler warnings - about sign conversions. - - src/cairo-atomic-private.h | 3 +++ - src/cairo-surface.c | 6 +++--- - 2 files changed, 6 insertions(+), 3 deletions(-) - -commit 4ae5e2d44555a7219eb76ee187a8f588606c112f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 5 18:29:40 2009 +0100 - - [atomic] Provide mutex-based ptr cmpxchg - - To handle those CPUs where we do not have an atomic cmpxchg. - - src/cairo-atomic-private.h | 3 +++ - src/cairo-atomic.c | 13 +++++++++++++ - 2 files changed, 16 insertions(+) - -commit a1d0a06b6275cac3974be84919993e187394fe43 -Author: Thomas Jaeger <ThJaeger@gmail.com> -Date: Thu Feb 19 12:02:41 2009 -0500 - - xlib, xcb: Hand off EXTEND_PAD/EXTEND_REFLECT to Render - - Most drivers and the X server used to have incorrect RepeatPad/RepeatReflect - implementations, forcing cairo to fall back to client-side software rendering, - which is painfully slow due to pixmaps being transfered over the wire. These - issues are mostly fixed in the drivers (with the exception of radeonhd, whose - developers didn't respond) and the RepeatPad software fallback is implemented - correctly as of pixman-0.15.0, so this patch will hand off composite operations - with EXTEND_PAD/EXTEND_REFLECT source patterns to XRender. - - There is no way to detect whether the X server or the drivers use a - broken Render implementation, we make a guess based on the server - version: It's probably safe to assume that 1.7 X servers will use - fixed drivers and a recent enough version of pixman. - - AUTHORS | 1 + - src/cairo-xcb-surface.c | 15 +++++++++++++-- - src/cairo-xlib-display.c | 15 +++++++++++---- - src/cairo-xlib-private.h | 1 + - src/cairo-xlib-surface-private.h | 1 + - src/cairo-xlib-surface.c | 21 ++++++++++++++++++--- - 6 files changed, 45 insertions(+), 9 deletions(-) - -commit 60aefd0d634c531353c92b77b36424b142efeb93 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jun 5 07:30:13 2009 +0100 - - [configure] Bump pixman dependency. - - Reflect was only fixed in the 0.15 series, so require at least that - version of pixman so we can that advantage of that and drop our - workaround. - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9d7a7e76b8bccc2517950976bb8557cd7b955a11 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 4 22:19:31 2009 +0100 - - [scaled-font] Close race from 16d128 - - Whilst waiting for the fontmap lock on destruction another thread may not - only have resurrected the font but also destroyed it acquired the lock - first and inserted into the holdovers before the first thread resumes. So - check that the font is not already in the holdovers array before - inserting. - - src/cairo-scaled-font-private.h | 6 +++--- - src/cairo-scaled-font.c | 33 +++++++++++++++++++++++---------- - 2 files changed, 26 insertions(+), 13 deletions(-) - -commit f4d9a4482fa1bfa37783ca139e3716c8d8649f32 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 4 14:13:06 2009 +0100 - - [pattern] Generalise the freed pattern pool - - Also cache recently freed surface and gradient patterns. With thanks to - Jonathan Morton for the inspiration and initial pointer pool code for - pixman. - - src/cairo-atomic-private.h | 1 + - src/cairo-mutex-list-private.h | 1 - - src/cairo-pattern.c | 170 +++++++++++++++++++++++++++-------------- - 3 files changed, 112 insertions(+), 60 deletions(-) - -commit 132f44dce1884c9beed8c5e6588140ee8fa9cfbe -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 4 14:12:20 2009 +0100 - - valgrindify init/fini routines - - Annotate object init/fini routines to detect use-after-free for - on-stack/embedded objects. - - src/cairo-debug.c | 2 -- - src/cairo-freelist.c | 7 ------- - src/cairo-gstate.c | 7 +++++++ - src/cairo-path-fixed.c | 10 +++------- - src/cairo-pattern.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++- - src/cairo-pen.c | 8 ++++++-- - src/cairo-polygon.c | 4 ++++ - src/cairo-region.c | 5 +++++ - src/cairo-stroke-style.c | 6 ++++++ - src/cairo-traps.c | 4 ++++ - src/cairo.c | 1 + - src/cairoint.h | 4 ++++ - 12 files changed, 88 insertions(+), 19 deletions(-) - -commit e89828c5331579d0d4019b6339df09ba1e2aa32e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jun 3 21:52:02 2009 +0100 - - [freelist] valgrindify freed blocks - - Mark freed blocks as unaccessible upon free() and then as undefined - on alloc(). - - src/cairo-freelist.c | 26 ++++++++++++++++++++++---- - 1 file changed, 22 insertions(+), 4 deletions(-) - -commit 4e11d56f8e5f409ea2476315c9d67116b213b738 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 4 11:16:48 2009 +0100 - - [perf] Update trace summary after each iteration - - Running the macro-benchmarks takes so long, feedback is important. - - perf/cairo-perf-trace.c | 29 ++++++++++++++++++++++++++++- - perf/cairo-perf.h | 1 + - 2 files changed, 29 insertions(+), 1 deletion(-) - -commit 5c2e73e74cb9aef92fdd90a91df44b417a036ebd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jun 4 10:03:45 2009 +0100 - - [perf] Enable traces to be interrupted - - Waiting for a long running benchmark can be very annoying, especially if - you just want a rough-and-ready result. So hook into SIGINT and stop the - current benchmark (after the end of the iteration) on the first ^C. A - second ^C within the same iteration will kill the program as before. - - perf/cairo-perf-trace.c | 20 +++++++++++++++++++- - 1 file changed, 19 insertions(+), 1 deletion(-) - -commit 2eaced24475622e73fbf6e3307ab46e3fe37eaef -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jun 3 21:49:17 2009 +0100 - - [perf] Reconstruct interpreter for each run - - Destroy the interpreter after each run of a trace so that we collect any - left-over garbage. - - perf/cairo-perf-trace.c | 21 ++++++++++----------- - 1 file changed, 10 insertions(+), 11 deletions(-) - -commit 1b92ea250fdaef9add1a68bb8565847e6d56b023 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jun 3 20:28:49 2009 +0100 - - [ft] Don't call FT_Done_Face() on a face we do not own - - _font_map_release_face_lock_held() was being called unconditionally during - _cairo_ft_font_reset_static_data(). This presents two problems. The first - is that we call FT_Done_Face() on an object not owned by cairo, and the - second is that the bookkeeping is then incorrect which will trigger an - assert later. - - src/cairo-ft-font.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 8e5295979fe087fadeff0f56c036f9d002086996 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jun 3 20:17:59 2009 +0100 - - [pattern] Typo in document - - Remove extraneous markup from program-listing. - - https://bugs.freedesktop.org/show_bug.cgi?id=20441 - - src/cairo-pattern.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit fa5d6c7afdb9b742ad653c65e8804e84f2964599 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jun 3 19:29:19 2009 +0100 - - [trace] Add a --profile mode - - To save typing when creating macro-benchmarks --profile disables - mark-dirty and caller-info and compresses the trace using LZMA. Not for - computers short on memory! - - perf/README | 11 +++++++++-- - util/cairo-trace/cairo-trace.in | 18 ++++++++++++++++++ - 2 files changed, 27 insertions(+), 2 deletions(-) - -commit 9451f0b983665d13ad777bc8fd88507fb7a317b4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jun 3 13:26:52 2009 +0100 - - [perf] Drop ticks from trace benchmarks - - Don't report the tick values for the macro-benchmarks as these are so - large as to be meaningless. - - perf/cairo-perf-trace.c | 37 ++++++++++++++++++++----------------- - 1 file changed, 20 insertions(+), 17 deletions(-) - -commit c988dc3719e345f6e1db6b0d656077a6b253b26d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jun 3 10:51:23 2009 +0100 - - [cairo] Doc typo. - - Fix conflicting sentence as pointed out by - https://bugs.freedesktop.org/show_bug.cgi?id=20183 - - src/cairo.c | 4 ---- - 1 file changed, 4 deletions(-) - -commit 35d0dd00c9f21cc4fd392d4627756f8d5b53a11b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jun 3 10:49:16 2009 +0100 - - [image] Doc typo. - - Correct parameter reference as pointed out by - https://bugs.freedesktop.org/show_bug.cgi?id=20182 - - src/cairo-image-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 58459ac6435a2889b90580ddf00e69107361f431 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jun 3 10:45:51 2009 +0100 - - [font-options] Doc typo - - Remove duplicate 'with' as pointed out by - https://bugs.freedesktop.org/show_bug.cgi?id=20180 - - src/cairo-font-options.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8d39dee8e2aea2200fec460e8540838ec29cae5f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jun 3 10:40:38 2009 +0100 - - [cairo] Update documentation for bug 20154 - - Several typographical errors were pointed out in - https://bugs.freedesktop.org/show_bug.cgi?id=20154 - - src/cairo.c | 17 ++++++++--------- - 1 file changed, 8 insertions(+), 9 deletions(-) - -commit 73469e693c02e6a99a32f12ac333737b47408e5e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jun 3 09:51:52 2009 +0100 - - [cairo] Tweak error strings. - - Rewrite a few error strings so that they more closer match the - documentation. Where they differ, I believe I have chosen the more - informative combination of the two texts. - - src/cairo-misc.c | 12 ++++++------ - src/cairo.h | 4 ++-- - 2 files changed, 8 insertions(+), 8 deletions(-) - -commit ab86662ab499e1f29c0f8c4248771e730c281e3f -Author: Andrew Lavin <aj.lavin@gmail.com> -Date: Fri May 22 16:36:40 2009 -0400 - - [test] Compile fix for invalid-matrix - - Fixed test compile error on OS X that caused fenv.h not to be included. - - test/invalid-matrix.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit eec547648439884a464eef832067a363cf1547e2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jun 3 08:57:15 2009 +0100 - - [perf] s/git/anongit/ - - Third time lucky? - - perf/cairo-perf-trace.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ce7e6339428703069f798dffcf23ec3e98cb554f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jun 2 21:54:44 2009 +0100 - - [perf] Warn if no traces were found - - perf/cairo-perf-trace.c | 28 ++++++++++++++++++++-------- - 1 file changed, 20 insertions(+), 8 deletions(-) - -commit f0366f0f3263397181699bf6bf2ed3968ea66403 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jun 2 21:48:26 2009 +0100 - - [perf] Update to point to new toplevel cairo-traces repo - - perf/cairo-perf-trace.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit c9cd2f9ca101c25d04f52578d54be36ae646049e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jun 2 18:47:07 2009 +0100 - - [cairo] PLT symbols for cairo_set_source_rgb - - Added a private use in user-font, but forgot to add a hidden symbol. - - src/cairo.c | 1 + - src/cairoint.h | 1 + - 2 files changed, 2 insertions(+) - -commit 21550a753059b4f880f03ea96148befaa34a6426 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jun 2 18:08:45 2009 +0100 - - [user-font] Set the initial colour to white - - An issue occured when using subpixel antialiasing with user-fonts and - XRender - the glyphs were transparent, as demonstrated by the font-view - example. - - The problem lies in that enabling subpixel antialiasing triggers use of an - ARGB32 image surface for rendering the glyph, but the default colour is - black (so the only information is in the alpha-channel). Given an ARGB32 - glyph XRender treats it as a per-channel mask, but since the R,G,B - channels were uniformly zero, the glyph is rendered as transparent. - - Fix this by setting the initial colour to white before rendering the image - surface for a user-font glyph, which generates the appropiate gray-level - mask by default. - - src/cairo-user-font.c | 1 + - 1 file changed, 1 insertion(+) - -commit b5799e073e4e404aea277b7640eeee2120318823 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jun 2 18:07:31 2009 +0100 - - [xlib] Use bswap_32 - - Byteswap the ARGB32 glyphs using bswap_32 instead of open-coding. - - src/cairo-xlib-surface.c | 30 +++++++++++------------------- - 1 file changed, 11 insertions(+), 19 deletions(-) - -commit 56e9765f82a64940b36a64688267fbe5d1c8919e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 2 14:25:04 2009 +0000 - - [util] Add font-view - - A C variant of Behdad's python example font viewer. - - util/Makefile.am | 5 ++ - util/font-view.c | 184 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 189 insertions(+) - -commit d331dda48017667c15f95bf7d510bce2f38111de -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jun 2 15:41:19 2009 +0100 - - [perf] Missing ')' in output - - perf/cairo-perf-compare-backends.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c9ddaf8e7f0006f308aab0b87cf0425b2690d914 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Sep 7 13:09:09 2008 +0930 - - PDF: Don't embed the same pattern more than once - - The PDF surface now keeps track of all the patterns it is embedding in - a hash table keyed by the unique_id returned by the - _cairo_surface_get_unique_id(). - - src/cairo-pdf-surface-private.h | 13 +++- - src/cairo-pdf-surface.c | 134 +++++++++++++++++++++++++++++++--------- - 2 files changed, 115 insertions(+), 32 deletions(-) - -commit f7613eeecea1218d353a183078fb77bc5cf4e72e -Author: Paolo Bonzini <bonzini@gnu.org> -Date: Tue Nov 25 20:15:15 2008 +0100 - - Add more surface snapshots providers - - This patch adds more implementation of the snapshot method. For - surface types where acquire_source_image is already making a copy - of the bits, doing another one as is the case for the fallback - implementation is a waste. - - src/cairo-glitz-surface.c | 16 +++++++++++++++- - src/cairo-quartz-surface.c | 19 ++++++++++++++++++- - src/cairo-xcb-surface.c | 17 ++++++++++++++++- - src/cairo-xlib-surface.c | 20 +++++++++++++++++++- - 4 files changed, 68 insertions(+), 4 deletions(-) - -commit cffb398f5a484000be458d04ef8f8bce3f6c7e3d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 26 21:07:07 2009 +0100 - - Add a generic cow-snapshotting framework - - Provide a mechanism for backends to attach and remove snapshots. This can - be used by backends to provide a cache for _cairo_surface_clone_similar(), - or by the meta-surfaces to only emit a single pattern for each unique - snapshot. - - In order to prevent stale data being returned upon a snapshot operation, - if the surface is modified (via the 5 high level operations, and on - notification of external modification) we break the association with any - current snapshot of the surface and thus preserve the current data for - their use. - - src/cairo-meta-surface.c | 1 - - src/cairo-surface-fallback.c | 2 +- - src/cairo-surface-private.h | 7 +- - src/cairo-surface.c | 272 +++++++++++++++++++++++++++++++++---------- - src/cairoint.h | 12 ++ - test/mask.c | 12 +- - test/trap-clip.c | 12 +- - 7 files changed, 249 insertions(+), 69 deletions(-) - -commit 7ed050fd435f17d25c7b757b02cfe200f8779fc2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jun 2 13:08:25 2009 +0100 - - [perf] Benchmark traces - - Add a variant of cairo-perf that measures the time to replay traces. - - boilerplate/cairo-boilerplate-system.c | 15 + - boilerplate/cairo-boilerplate-system.h | 4 + - perf/.gitignore | 1 + - perf/Makefile.am | 17 ++ - perf/README | 31 ++ - perf/cairo-perf-compare-backends.c | 10 +- - perf/cairo-perf-trace.c | 530 +++++++++++++++++++++++++++++++++ - 7 files changed, 605 insertions(+), 3 deletions(-) - -commit 403f780b292762aa45056c2fb5a48bb806521173 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jun 2 09:16:16 2009 +0100 - - [perf] Add a verbose flag for summary output with raw - - Use 'cairo-perf -v -r' to have both the summary output along with the raw - values. This gives a progress report whilst benchmarking, very reassuring - with long running tests. - - perf/cairo-perf.c | 82 +++++++++++++++++++++++++++++++++++-------------------- - perf/cairo-perf.h | 3 ++ - 2 files changed, 55 insertions(+), 30 deletions(-) - -commit 70fd2bbce38fca65db6725c632ee591352dfe42c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jun 2 09:00:21 2009 +0100 - - [perf] Exclude similar testing by default - - There are synchronisation issues with similar surfaces (as only the - original target surface is synced) which interferes with making - performance comparisons. (There still maybe some value should you be aware - of the limitations...) - - perf/cairo-perf.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit bc49cb377c70c4c6926ca52e34094e99a4591f14 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat May 30 12:28:23 2009 +0100 - - [perf] Benchmark mixing different masks and sources - - perf/Makefile.am | 1 + - perf/cairo-perf.c | 1 + - perf/cairo-perf.h | 1 + - perf/mask.c | 290 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 293 insertions(+) - -commit 4aca84ddb22bc178cbc9b132b9ce06af3f4b300b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 28 18:05:26 2009 +0100 - - [perf] Add a pure glyphs performance metric - - Use the new API Behdad exposed in 1.8 to precompute a glyph string using - Cairo and then benchmark cairo_show_glyphs(). This is then equivalent to - the text benchmark but without the extra step of converting to glyphs on - every call to cairo_show_text() i.e. it shows the underlying glyph - rendering performance. - - perf/Makefile.am | 1 + - perf/cairo-perf.c | 1 + - perf/cairo-perf.h | 1 + - perf/glyphs.c | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 100 insertions(+) - -commit 55f4e0e4e8c7df59bfc9e6ffea8daa065276e42f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat May 30 16:50:17 2009 +0100 - - [perf] Change seperators from '-' to '.' - - This allows the perf tests to use '-' in the name which is easier to read - and differentiates with using '_' to separate source and operators. - - perf/cairo-perf-compare-backends.c | 22 ++++++++++++---------- - perf/cairo-perf-cover.c | 32 ++++++++++++++++---------------- - perf/cairo-perf-report.c | 16 +++++++++++++--- - perf/cairo-perf.c | 8 ++++---- - perf/mosaic.c | 8 ++++---- - perf/pattern_create_radial.c | 4 ++-- - perf/pythagoras-tree.c | 2 +- - perf/subimage_copy.c | 4 ++-- - perf/unaligned-clip.c | 2 +- - perf/world-map.c | 4 ++-- - perf/zrusin.c | 4 ++-- - 11 files changed, 59 insertions(+), 47 deletions(-) - -commit b7c03d4e400245fc2b2d748fe808a9724e61f22f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed May 27 16:31:51 2009 +0100 - - [ps] Trivial warning fix. - - src/cairo-ps-surface.c | 1 + - 1 file changed, 1 insertion(+) - -commit 99482b17a50a8ae52b7627bf624e358ed3623540 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed May 27 18:34:54 2009 +0100 - - [script] Improve caching of glyph advance - - The glyph advance cache was only enabled for glyph indices < 256, - causing a large number of misses for non-ASCII text. Improve this by - simply applying the modulus of the index to select the cache slot - which - may cause some glyph advances to be overwritten and re-queried, but - improves the hit rate. - - util/cairo-script/cairo-script-operators.c | 39 +++++++++++------------------- - 1 file changed, 14 insertions(+), 25 deletions(-) - -commit 51193f1610c0f6893768e43e90a3395ec96c28fb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 28 14:16:58 2009 +0100 - - [pattern] Pass flags to _cairo_pattern_acquire_surface() - - Allow the caller to choose whether or not various conversions take place. - The first flag is used to disable the expansion of reflected patterns into a - repeating surface. - - src/cairo-directfb-surface.c | 1 + - src/cairo-glitz-surface.c | 1 + - src/cairo-image-surface.c | 3 +++ - src/cairo-pattern.c | 13 +++++++++++-- - src/cairo-xcb-surface.c | 4 ++++ - src/cairo-xlib-surface.c | 5 +++++ - src/cairoint.h | 6 ++++++ - 7 files changed, 31 insertions(+), 2 deletions(-) - -commit 4ec451a2fa4050a60a81d01473d23ff2973f47e6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed May 27 17:35:54 2009 +0100 - - [scaled-font] Cache repeated glyphs during probing device_extents - - Maintain a local on-stack cache of recently queried glyphs to avoid - relatively expensive hash table queries. - - src/cairo-scaled-font.c | 35 +++++++++++++++++++++++------------ - 1 file changed, 23 insertions(+), 12 deletions(-) - -commit ec22ae5b1d7e8ec364813f3b1c73f538018ecb57 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed May 27 11:11:06 2009 +0100 - - [scaled-font] Compare most recently used font directly - - Avoid the relatively expensive _cairo_scaled_font_init_key() operation - when checking against the most recently used font. - - src/cairo-scaled-font.c | 28 +++++++++++++++++++++++----- - 1 file changed, 23 insertions(+), 5 deletions(-) - -commit 16d128c15edf36a6e285fe4fbd6a828b64fd7f87 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed May 27 21:10:04 2009 +0100 - - [scaled-font] Lazily acquire the font_map_lock on font destruction. - - We can defer taking the cairo_scaled_font_map_lock until we drop the - last reference to the scaled font so long as we double check the reference - count after waiting for the lock and not making assumptions about - unreferenced fonts during construction. This is significant as even - acquiring the uncontended cairo_scaled_font_map_lock during - cairo_scaled_font_destroy() was showing up as a couple of percent on text - heavy profiles (e.g. gnome-terminal). - - src/cairo-scaled-font.c | 32 +++++++++++++++++--------------- - 1 file changed, 17 insertions(+), 15 deletions(-) - -commit dc083ab30a5b781e205354c525ee054982364abd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed May 27 14:54:34 2009 +0100 - - [cairo] Track the MRU scaled font - - When observing applications two patterns emerge. The first is due to - Pango, which wraps each glyph run within a context save/restore. This - causes the scaled font to be evicted after every run and reloaded on the - next. This is caught by the MRU slot on the cairo_scaled_font_map and - prevents a relatively costly traversal of the hash table and holdovers. - - The second pattern is by applications that directly manage the rendering - of their own glyphs. The prime example of this is gnome-terminal/vte. Here - the application frequently alternates between a few scaled fonts - which - requires a hash table retrieval every time. - - By introducing a MRU slot on the gstate we are able to directly recover - the scaled font around 90% of the time. - - Of 110,000 set-scaled-fonts: - 4,000 were setting the current font - 96,000 were setting to the previous font - 2,500 were recovered from the MRU on the cairo_scaled_font_map - 7,500 needed a hash retrieval - which compares to ~106,000 hash lookups without the additional MRU slot on - the gstate. - - This translates to an elapsed time saving of ~5% when replaying a - gnome-terminal trace using the drm backend. - - src/cairo-gstate-private.h | 1 + - src/cairo-gstate.c | 18 ++++++++++++++---- - src/cairo.c | 6 ++++++ - 3 files changed, 21 insertions(+), 4 deletions(-) - -commit fda89c56ff484a8cd33cd780e8b9396d3538284d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed May 27 15:59:16 2009 +0100 - - Markup a few more functions as const/pure - - src/cairoint.h | 59 ++++++++++++++++++++++++++++++---------------------------- - 1 file changed, 31 insertions(+), 28 deletions(-) - -commit f59f44c140e5f60d336423e0585d2bb8a6c0ea01 -Merge: 2da78fd46 4232719af -Author: Eric Anholt <eric@anholt.net> -Date: Tue Jun 2 00:37:19 2009 -0700 - - Merge commit 'origin/master' into gl - - Felt like pulling the latest stuff, since I branched back in February. - - Conflicts: - build/configure.ac.features - src/cairo.h - util/cairo-script/csi-replay.c - -commit 2da78fd4666faa27d037ae3625ca83353a6e7629 -Author: Eric Anholt <eric@anholt.net> -Date: Mon Jun 1 14:04:21 2009 -0700 - - [gl] Drop use of packed datatypes where it's disallowed. - - I had naively assumed that GL image specification let you do useful things - and describe the most common datatypes in graphics, since we do things that - way inside of the DRI drivers. Silly me. GL_BGR and GL_RGB can't do - GL_UNSIGNED_INT_8_8_8_8{,_REV}, so no specifying 24-depth 32-bpp data with - implicit alpha. GL_BGR can't even do r5g6b5! - - This fixes 20 regressions in the test suite. - - src/cairo-gl-surface.c | 25 +++++++++++++------------ - 1 file changed, 13 insertions(+), 12 deletions(-) - -commit 69a150b7d8115babf2c60d7c5f7ca340162dc098 -Author: Eric Anholt <eric@anholt.net> -Date: Mon Jun 1 13:36:32 2009 -0700 - - [gl] Initialize has_alpha in the image surface composite fastpath. - - Fixes bilevel-image, set-source, and zero-alpha. - - src/cairo-gl-surface.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 7ee0fee900bf30a7ca0497ab64199c9013f81cdd -Merge: 882f1d5a6 d3a478b6c -Author: Eric Anholt <eric@anholt.net> -Date: Mon Jun 1 10:45:36 2009 -0700 - - Merge branch 'gl' into gl-span-renderer - - Conflicts: - src/cairo-gl-surface.c - -commit d3a478b6c0dca3884a68c5014185cad0a166801c -Author: Eric Anholt <eric@anholt.net> -Date: Mon Jun 1 10:19:24 2009 -0700 - - [gl] Fix check-plt.sh for the GL surface. - - src/cairo-gl-surface.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit 1f7c393a6d63282a632a62264b99e67e26ecf38e -Author: Eric Anholt <eric@anholt.net> -Date: Mon Jun 1 10:10:00 2009 -0700 - - [gl] Fix check-doc-syntax.sh for GL surface. - - src/cairo-gl-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 19bc0f2f1d75b1514b22d0bb737bad67ff8d1ee6 -Author: Eric Anholt <eric@anholt.net> -Date: Mon Jun 1 10:09:16 2009 -0700 - - [gl] Fix check-def.sh for GL surface. - - src/cairo-gl-surface.c | 2 +- - src/cairo-gl.h | 6 ------ - 2 files changed, 1 insertion(+), 7 deletions(-) - -commit e05097c604c607d27b341cd33426001bd2d1f690 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed May 27 16:45:20 2009 +0100 - - [surface] Assign a unique id to the surface. - - Allocate an ever-increasing, non-zero, unique identifier to each surface. - True for the first 4-billion... - - src/cairo-pattern.c | 11 ++++++++--- - src/cairo-surface-private.h | 2 ++ - src/cairo-surface.c | 25 +++++++++++++++++++++++++ - 3 files changed, 35 insertions(+), 3 deletions(-) - -commit 45835f623f5ddda6e3258361b9d6ab27860a9198 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 26 12:46:46 2009 +0100 - - [cache] Expose init/fini methods so that caches can be embedded. - - The structure is already exposed, so just expose the - constructors/destructors in order to enable caches to be embedded and - remove a superfluous malloc. - - src/cairo-cache-private.h | 27 +++++++++--- - src/cairo-cache.c | 104 ++++++++++++++++------------------------------ - src/cairo-scaled-font.c | 35 ++++++++-------- - src/cairo-types-private.h | 14 ------- - 4 files changed, 74 insertions(+), 106 deletions(-) - -commit c3aac9cf49362b726a54a33a46bd8511a10f644f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 26 10:37:30 2009 +0100 - - [image] Eliminate trapezoid array allocation - - By simply iterating over the array cairo_trapezoid_t, converting each one - separately to a pixman_trapezoid_t and rasterizing each one individually - we can avoid the common heap allocation. pixman performs exactly the same - iteration internally so there is no efficiency loss. - - src/cairo-image-surface.c | 92 +++++++++++++++++++++++------------------------ - 1 file changed, 45 insertions(+), 47 deletions(-) - -commit 7b2bc441387abcf3967587f571dc5741d0a53938 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 26 10:41:53 2009 +0100 - - [surface-fallback] Tidy pattern handling. - - Make the treatment of replacing the NULL source pattern with WHITE - consistent. As it is a solid pattern, we can skip _cairo_pattern_fini() - and so make the code more readable, and consistent along the error paths. - - src/cairo-surface-fallback.c | 83 ++++++++++++++++++-------------------------- - 1 file changed, 33 insertions(+), 50 deletions(-) - -commit e83e113eae9e7cb3e09719bfc0ad68450faf3ecd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon May 25 23:25:38 2009 +0100 - - [surface] Speed up cairo_surface_get_mime_data(). - - The number of mime-types attached to a surface is usually small, - typically zero. Therefore it is quicker to do a strcmp() against - each key in the private mime-data array than it is to intern the - string (i.e. compute a hash, search the hash table, and do a final - strcmp). - - src/cairo-array.c | 8 -------- - src/cairo-surface.c | 33 ++++++++++++++++++--------------- - src/cairoint.h | 6 ++++++ - 3 files changed, 24 insertions(+), 23 deletions(-) - -commit 247e76b923d54f639e2ca50c8da945c15b691158 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 26 08:53:45 2009 +0100 - - [script] Speed up floating-point scanner - - Hard-code frequent exponents to reduce number of calls to pow(). - - util/cairo-script/cairo-script-scanner.c | 45 ++++++++++++++++++++++---------- - 1 file changed, 31 insertions(+), 14 deletions(-) - -commit c5e85835b29c7654e1c28a90b2e587afba7b6f0f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 26 15:52:30 2009 +0100 - - [debug] Relax ASSERT_NOT_REACHED - - Need to actually handle random pixman image formats... - For the time being, ignore them. - - src/cairo-debug.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4232719af968ed05636fe34f2ffe2520dc02d737 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Sat May 30 23:03:55 2009 -0400 - - [ft] Fix vertical advance metrics of bitmap fonts (#21985) - - src/cairo-ft-font.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 4314cae874dec2747df6be88859d7b6174eece31 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Wed May 27 17:56:05 2009 +0930 - - Fix typo in comment - - src/cairo-truetype-subset.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 7dbc2fe80a4fe0dcee4a293e47ab6edcefc24e18 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon May 25 20:36:34 2009 +0100 - - [script] Simplify _dictionary_name_equal - - Just a simple return TRUE since all necessary checking is performed by - _csi_hash_table_lookup(). - - util/cairo-script/cairo-script-objects.c | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit 0b5e92e66be94ce7cc9c31e911f23c4cb7ec77af -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon May 25 19:56:57 2009 +0100 - - [script] Check hash value between comparing keys - - util/cairo-script/cairo-script-hash.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -commit a364f71194aa2ea92071662f156c9b2a4d9211b4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon May 25 21:25:27 2009 +0100 - - [trace] Set output location using pwd - - Record the current working directory and pass that along to cairo-trace so - that the trace output is local to the user and not the application. This - is vital if the application is called via a script that changes directory. - - util/cairo-trace/cairo-trace.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a76e09ea656faa63fbfa159e8f52c9c9ec7d35c6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon May 25 21:22:43 2009 +0100 - - [trace] Missing newlines in error messages. - - util/cairo-trace/trace.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit b7f199fde25c960bf87302d5e868a7c2dffa4f5d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon May 25 12:40:35 2009 +0100 - - [pattern] Trim REPEAT source size when applicable. - - Some backends are quite constrained with surface sizes and so trigger - fallbacks when asked to clone large images. To avoid this we attempt - to trim ROIs (as these are often limited to the destination image, and - so can be accommodated by the hardware). This patch allows trimming - REPEAT sources both horizontally and vertically independently. - - src/cairo-pattern.c | 21 ++++++++++++++++++--- - 1 file changed, 18 insertions(+), 3 deletions(-) - -commit e4efc80b8e89b05afc22d74f984f4ec9012bc39b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon May 25 21:15:22 2009 +0100 - - [build] Make valgrind support user-configurable - - As the number of places where we add valgrind client requests grows, it - becomes imperative that we should be able to disable them with a simple - configure time option. - - build/configure.ac.analysis | 37 ++++++++++++++++++++++--------------- - 1 file changed, 22 insertions(+), 15 deletions(-) - -commit d840deb57b51236820dc8c320ecd7540973de873 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon May 25 22:11:22 2009 +0100 - - [in-fill] Fix typo in on-vertex test. - - Eeek! Comparing point->y against in_fill->x is a bad idea. - - src/cairo-path-in-fill.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit cfd484cd01a77b1f91e27daccfc5f240cf7c692d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon May 25 22:10:20 2009 +0100 - - [test] Change test semantics to match new in-fill definition - - The in-fill definition has changed to include queries on the edges and - vertices, so update the test case to match. - - test/in-fill-trapezoid.c | 77 +++++++++++++++++++++++++++++++++++------------- - 1 file changed, 57 insertions(+), 20 deletions(-) - -commit b71b019fe50a9188ddbecd1945606da8ba3bad53 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Feb 27 16:32:21 2009 +0000 - - [in-fill] Treat on-edge queries as inside. - - Jeff Muizelaar noted that the treatment of edges differed with firefox's - canvas definition, which considers a point on any edge as inside. The - current implementation has a similar definition to that of flash, for - which the top and right edges are outside. Arguably, firefox has the more - intuitive definition here... - - src/cairo-path-in-fill.c | 21 ++++++++++++++++++++- - 1 file changed, 20 insertions(+), 1 deletion(-) - -commit efd0f0b2922d0801e4e0e8e75ddf9b9892a2f2e6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed May 20 18:49:28 2009 +0100 - - [xlib] Handle too-large images gracefully. - - Trigger a fallback to an image surface for massive patterns. - - src/cairo-xlib-surface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 3c6838532a62c294e7f18b13b0b7f8da9a1a1e1e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed May 20 18:46:35 2009 +0100 - - [surface] Early return if the backend cannot clone an image - - If the backend cannot create a similar surface to hold the image, then - report back the failure before embarking upon an infinite recursion. - The UNSUPPORTED return should percolate up through the call stack and - trigger a fallback. - - src/cairo-surface.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit bf2c7356d4c955fb770863874a0ea111e9ba02a4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri May 22 12:52:43 2009 +0100 - - [surface] Provide nil-surface for INVALID_SIZE - - So that we can faithfully report back failure if the user tries to create - a surface larger than the backend can support. - - src/cairo-surface.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 6717f0d748000416172057d0aab2471377456e27 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed May 20 17:35:19 2009 +0100 - - [win32] Wrap win32-font usage with CAIRO_HAS_WIN32_FONT - - Bug 19251: --enable-win32=yes and --enable-win32-font=no causes - compilation failure - [https://bugs.freedesktop.org/show_bug.cgi?id=19251] - - Wrap use of the win32 font backend within win32-printing-surface within - CAIRO_HAS_WIN32_FONT ifdefs to prevent compilation failure if the user - explicitly disables the win32 font backend. - - src/cairo-win32-printing-surface.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit c7d2b0de830f4c653fbb5016c4efdc5f0e5af0eb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed May 20 17:34:56 2009 +0100 - - [win32] Typo - - Correct function name in error string. - - src/cairo-win32-printing-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 87b764908a38cbb4159ac76d8b7d1d08a24b838e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 19 15:53:55 2009 +0100 - - [gl] Add EGL target - - Split the GLX context from the GL surface to enable use of an alternative - EGL interface. - - boilerplate/Makefile.win32.features | 20 ++ - boilerplate/cairo-boilerplate-gl.c | 2 +- - build/Makefile.win32.features | 2 + - build/Makefile.win32.features-h | 6 + - build/configure.ac.features | 3 + - configure.ac | 30 ++- - src/Makefile.sources | 4 +- - src/Makefile.win32.features | 28 +++ - src/cairo-egl-context.c | 181 ++++++++++++++++++ - src/cairo-gl-private.h | 88 +++++++++ - src/cairo-gl-surface.c | 191 ++++++++----------- - src/cairo-gl.h | 41 +++-- - src/cairo-glx-context.c | 136 ++++++++++++++ - test/.gitignore | 2 + - test/Makefile.am | 10 + - test/egl-flowers.c | 358 ++++++++++++++++++++++++++++++++++++ - test/glx-flowers.c | 256 ++++++++++++++++++++++++++ - util/cairo-script/.gitignore | 2 + - util/cairo-script/Makefile.am | 15 ++ - util/cairo-script/csi-egl.c | 263 ++++++++++++++++++++++++++ - util/cairo-script/csi-glx.c | 150 +++++++++++++++ - util/cairo-script/csi-replay.c | 61 ++++++ - 22 files changed, 1723 insertions(+), 126 deletions(-) - -commit 6e87e354e42d1a758a252533407e6e1829638544 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun May 17 18:14:28 2009 +0930 - - Correct the comment for the index_to_ucs4 font backend function - - src/cairoint.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 2a34992cccfd77c2acf30fe851311f16137ba32f -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun May 17 18:12:39 2009 +0930 - - Ensure win32 font index_to_ucs4() sets ucs4 to -1 if lookup fails - - src/cairo-win32-font.c | 1 + - 1 file changed, 1 insertion(+) - -commit 4c8e5485a10478c19e8a6cb48595473f5bb8ee8a -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun May 17 18:05:42 2009 +0930 - - Fix win32 build breakage - - that was caused by c25992479aca481d326f72665ebdcf0904273eac - - src/cairo-win32-private.h | 1 + - 1 file changed, 1 insertion(+) - -commit 31596cf2b298054bbd3e340ae77a3388eadc0d8b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri May 15 17:40:26 2009 +0100 - - [debug] Check image contents using memcheck. - - As an aide to tracking down the source of uninitialised reads, run - VALGRIND_CHECK_MEM_IS_DEFINED() over the contents of image surfaces at the - boundary between backends, e.g. upon setting a glyph image or acquiring - a source image. - - src/cairo-debug.c | 42 ++++++++++++++++++++++++++++++++++++++++++ - src/cairo-ft-font.c | 2 ++ - src/cairo-pattern.c | 2 ++ - src/cairo-png.c | 2 ++ - src/cairo-scaled-font.c | 3 +++ - src/cairo-surface.c | 32 +++++++++++++++++++++++--------- - src/cairoint.h | 11 +++++++++++ - 7 files changed, 85 insertions(+), 9 deletions(-) - -commit 791a6fa399894e735d522781b15b7f18c3ecd4d1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri May 15 16:57:49 2009 +0100 - - [memfault] Update macros to avoid namescape collision with memcheck - - Basing the macro names of the memfault skin lead to a namespace - collision with memcheck. After updating the headers, update cairo's usage - to match. - - src/cairo-malloc-private.h | 2 +- - test/cairo-test.c | 62 +++++++++++++++++++++++----------------------- - 2 files changed, 32 insertions(+), 32 deletions(-) - -commit c897f36a6b09f3591d858142e3236f256f0bd6a2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri May 15 20:37:52 2009 +0100 - - [test] Stress the ft from-face cache - - Create a set of font faces using the same FT_Face to stress test the - handling of from-face fonts within the backend cache. - - test/ft-font-create-for-ft-face.c | 109 +++++++++++++++++++++++++++++++++++--- - 1 file changed, 102 insertions(+), 7 deletions(-) - -commit 477df1f5504a507d0c5960aa7e21375284a6f99c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri May 15 10:48:56 2009 +0100 - - [test] Clear expected floating point exceptions - - test/invalid-matrix deliberately feeds garbage into the API to test our - error detection. This causes FPE to be raised during the course of the - test - so they are deliberately disable for the duration. However, the - exceptions were not being cleared and so the FPE could be triggered on - the next floating point operation. This was being masked during make check, - by the fact that each test is run in its own forked process and was only - observed when multiple tests were run in foreground mode. - - build/configure.ac.system | 2 +- - test/invalid-matrix.c | 4 ++++ - 2 files changed, 5 insertions(+), 1 deletion(-) - -commit f47a93ef30249b531e588335045d052c3dcc71bd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat May 9 09:55:49 2009 +0100 - - [test] Check text->path with user-fonts (twin) - - Check behaviour of user-fonts, twin in particular, when using the text as - a path. - - test/twin.c | 11 ++++++++++- - test/twin.ps.ref.png | Bin 1114 -> 2197 bytes - test/twin.ref.png | Bin 1492 -> 4038 bytes - test/twin.svg.ref.png | Bin 1487 -> 3027 bytes - 4 files changed, 10 insertions(+), 1 deletion(-) - -commit 669e7ae5c98812360bf20b798c20024ae2e9810b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri May 8 17:36:01 2009 +0100 - - [test] Relax APPROX_EQUALS condition - - The bounding box of the text is rounded to the nearest pixel boundaries, - so therefore the test must accept a similar level of imprecision. - - test/get-path-extents.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit fe7410c6cdc19bb366bf1e93481bf8287a14d52e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat May 9 19:01:06 2009 +0100 - - [test] Add a note to "Getting the elusive zero failures" - - The test suite depends upon many external factors and in order to achieve - a pass, your system must match that upon which the reference images were - generated. Add a note to read test/README in case of failures so that the - casual user is not unduly alarmed by cairo reportedly failing. - - test/cairo-test-runner.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -commit 2f962799a77faef0e6ad62c79bd7eebc9b8c5a4b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri May 15 18:49:03 2009 +0100 - - [test] Fix typos that excluded backend test sources - - test/Makefile.am | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit c25992479aca481d326f72665ebdcf0904273eac -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat May 9 10:10:14 2009 +0100 - - [xlib] Use minimal depth for similar clones. - - Damian Frank noted - [http://lists.cairographics.org/archives/cairo/2009-May/017095.html] - a performance problem with an older XServer with an - unaccelerated composite - similar problems will be seen with non-XRender - servers which will trigger extraneous fallbacks. The problem he found was - that painting an ARGB32 image onto an RGB24 destination window (using - SOURCE) was going via the RENDER protocol and not core. He was able to - demonstrate that this could be worked around by declaring the pixel data as - an RGB24 image. The issue is that the image is uploaded into a temporary - pixmap of matching depth (i.e. 32 bit for ARGB32 and 24 bit for RGB23 - data), however the core protocol can only blit between Drawables of - matching depth - so without the work-around the Drawables are mismatched - and we either need to use RENDER or fallback. - - This patch adds a content mask to _cairo_surface_clone_similar() to - provide the extra bit of information to the backends for when it is - possible for them to drop channels from the clone. This is used by the - xlib backend to only create a 24 bit source when blitting to a Window. - - src/cairo-clip.c | 1 + - src/cairo-directfb-surface.c | 2 ++ - src/cairo-glitz-surface.c | 3 +++ - src/cairo-image-surface.c | 4 ++++ - src/cairo-pattern.c | 18 +++++++++++++--- - src/cairo-quartz-surface.c | 1 + - src/cairo-surface-fallback-private.h | 1 + - src/cairo-surface-fallback.c | 3 ++- - src/cairo-surface.c | 7 +++++- - src/cairo-win32-surface.c | 3 ++- - src/cairo-xcb-surface.c | 5 +++++ - src/cairo-xlib-surface.c | 42 +++++++++++++++++++++++++++--------- - src/cairoint.h | 4 ++++ - src/test-fallback-surface.c | 1 + - src/test-fallback16-surface.c | 2 ++ - test/surface-source.c | 1 + - 16 files changed, 82 insertions(+), 16 deletions(-) - -commit 0238fe2cafea2e1ed19bb222117bd73ee6898d4d -Author: Karl Tomlinson <karlt+@karlt.net> -Date: Thu May 14 11:46:29 2009 +0100 - - [ft] Resolve mutual referencing problems with zombie faces - - Bug 21706 -- zombie ft_font_face / ft_unscaled_font mutual - referencing problems - [http://bugs.freedesktop.org/show_bug.cgi?id=21706] - - There can be more than one zombie font_face belonging to an unscaled_font, - but only the first is destroyed. This leaks the client's FT_Face - (and associated font data) as release of the FT_Face depends on release - of the font_face. - - (The reason why Firefox ends up with two different font_faces for one - unscaled_font is that load_flags for faces with artificial oblique have - FT_LOAD_NO_BITMAP set. - https://bugzilla.mozilla.org/show_bug.cgi?id=486974) - - Also it's possible for _cairo_ft_font_face_create to pull out a zombie - font_face from the unscaled_font, which would crash - _cairo_ft_font_face_scaled_font_create, as that expects non-null - font_face->unscaled (if !font-face->pattern). - - AUTHORS | 2 +- - src/cairo-ft-font.c | 38 ++++++++++++++++++++++++++++++-------- - 2 files changed, 31 insertions(+), 9 deletions(-) - -commit d6f6ec9082c86b9fd9e2389b9627f08a91c2cdd3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri May 8 16:43:43 2009 +0100 - - [ft] Restore the ability to lazily resolve patterns. - - I broke the ability for the ft font backend to resolve patterns whilst - fixing the font creation to propagate the error status from fontconfig - (be27e8). By adjusting the sequence of error checks we do not confuse - the absence of a match with a fatal error and thereby restoring the - lazy pattern resolution whilst ensuring error propagation. - - src/cairo-ft-font.c | 32 +++++++++++++++++--------------- - 1 file changed, 17 insertions(+), 15 deletions(-) - -commit a352fd46020e18f9d9f839f0c3f3a63c1d8c0ae1 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Fri May 15 15:34:05 2009 -0400 - - Only include <strings.h> for ffs() when we HAVE_FFS - - This fixes breakage caused by 3d3d10a31e04498ef91a288d89b3dec291bfc323 - - src/cairo-skiplist.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 882f1d5a60abfbf83c65fe00b31bb4c8e5c82f62 -Author: Eric Anholt <eric@anholt.net> -Date: Sun May 10 16:56:49 2009 -0700 - - [gl] Use spans directly as geometry instead of rasterizing to a temporary. - - I was hoping for a bigger win than this, but cairogears is now significantly - faster than it was with just traps. One potential problem is that adding - src texture coordinates blew up vertex size from 12 bytes to 20, and we're - emitting quite a few vertices. There's plenty of hope for the future, - though: With shaders we could remove the 2 new texcoords again by stuffing a - position to source coordinate transformation matrix in constants. Then - with EXT_geometry_shader4 plus EXT_gpu_shader4 we should be able to get the - 24 bytes for 2 vertices down to 16 or less. - - src/cairo-gl-surface.c | 316 ++++++++++++++++++++++++++----------------------- - 1 file changed, 171 insertions(+), 145 deletions(-) - -commit 7b4f2d5e6dd37232d4fa764b69065c7d96856dcc -Author: Eric Anholt <eric@anholt.net> -Date: Sun May 10 14:50:22 2009 -0700 - - [gl] Use Enable/DisableClientState for arrays for consistency. - - src/cairo-gl-surface.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 705ee3da1372e8533f25e0b4bde072e4bf76872b -Author: Eric Anholt <eric@anholt.net> -Date: Sat May 9 12:17:12 2009 -0700 - - [gl] Add HW spans implementation using VBOs and GL_LINES. - - This is a minor performance regression over software, but is the basis for - not rasterizing the geometry into a temporary mask, which should be a - significant win. - - src/cairo-gl-surface.c | 145 ++++++++++++++++++++++++++++++++++++++++++------- - 1 file changed, 124 insertions(+), 21 deletions(-) - -commit 934af24ccce9c06fc38ab7735d643d230fb3b8ad -Author: Eric Anholt <eric@anholt.net> -Date: Sat May 9 10:03:06 2009 -0700 - - [gl] Use the span renderer with an image surface temporary. - - This appears to be no performance difference in cairogears versus the traps - fallback before, but is a step towards handing the information off to the - hardware. - - src/cairo-gl-surface.c | 210 ++++++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 208 insertions(+), 2 deletions(-) - -commit 17b41fe7e3b8b493341be6384d816105aadf0cb6 -Author: Eric Anholt <eric@anholt.net> -Date: Sun May 10 10:17:27 2009 -0700 - - [gl] Use filtering of GL_NEAREST to hint to TexImage not to alloc for mipmaps. - - Gl defaults to NEAREST_MIPMAP_LINEAR on new texture objects. - This should save space or bandwidth with DRI drivers, as they'll use the - parameter as a hint, and then not have to either fix up later or waste - space for unused mipmap levels. - - src/cairo-gl-surface.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit a438acd37c5aaedc7e7a05e6a9d8758315931b44 -Author: Eric Anholt <eric@anholt.net> -Date: Sat May 9 11:33:53 2009 -0700 - - [gl] Handle PIXMAN_b8g8r8a and PIXMAN_b8g8r8x8 in the image tex shortcut. - - src/cairo-gl-surface.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 29768c2193b09d3bef54a178c8e3ba6f7e7cebd0 -Author: Eric Anholt <eric@anholt.net> -Date: Sat May 9 11:30:11 2009 -0700 - - [gl] Don't forget that we require ARB_texture_non_power_of_two currently. - - src/cairo-gl-surface.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 088d2a6cc70b01f55d178d235542247180b3e5ee -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 7 11:35:17 2009 +0100 - - [doc] Update identifiers - - doc/public/tmpl/cairo-status.sgml | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit d8fb6a03d3034cf776687bcc1f0625a8a9f2ae07 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 7 14:57:13 2009 +0100 - - [path] Define _BSD_SOURCE to enable hypot() - - hypot() is only declared for BSD/SVID/XOPEN/C99 sources. Choose BSD as - we've used that elsewhere. - - src/cairo-path-stroke.c | 1 + - 1 file changed, 1 insertion(+) - -commit e38f85c5de51016b8858e755e2752816c9995ab2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 7 14:42:15 2009 +0100 - - [script] Pedantic violations - - Fixup a few trivial errors with -pedantic. - - util/cairo-script/cairo-script-operators.c | 2 +- - util/cairo-script/cairo-script-private.h | 8 ++++---- - 2 files changed, 5 insertions(+), 5 deletions(-) - -commit 0c00556990a842e0ee0056134c6e196c2fb372b7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 7 14:11:12 2009 +0100 - - [script] Missing include for INT32_MAX - - Avoid depending upon stdint.h, or rather cut'n'pasting Cairo's portable - defines, by using INT_MAX and limits.h instead. - - util/cairo-script/cairo-script-file.c | 3 ++- - util/cairo-script/cairo-script-objects.c | 3 ++- - util/cairo-script/cairo-script-operators.c | 13 +++++++------ - util/cairo-script/cairo-script-scanner.c | 5 +++-- - util/cairo-script/cairo-script-stack.c | 7 ++++--- - 5 files changed, 18 insertions(+), 13 deletions(-) - -commit 3d3d10a31e04498ef91a288d89b3dec291bfc323 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 7 14:10:47 2009 +0100 - - [skiplist] Missing include for ffs() - - src/cairo-skiplist.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit e5752865ab0ebefec313ab9a6f90451ef2d7af95 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 7 14:58:45 2009 +0100 - - [cairo] Protect typeof against -ansi - - s/typeof/__typeof__/ to allow the [gcc-specific] macro to continue to work - despite -ansi. - - src/cairoint.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 5f4f2ab01ab3fa6b07ac7521dfeaf90a787a5dee -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 7 14:34:47 2009 +0100 - - [cairo] Remove stray semi-colon - - Pedantic finds another victim. - - src/cairoint.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit d86ad461cf7a9d857bd07a6b775c84acbf35647b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 7 14:16:05 2009 +0100 - - [cairo] Convert C99 comments to /* ... */ - - First victim of -pedantic... - - src/cairoint.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 695f648607dd5a78cf29dcc33ed19aa223d0416a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 7 11:16:10 2009 +0100 - - [cairo] Fix errors reported by check-doc - - Identity a few new instances of CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED in - comments with %. - - src/cairo.h | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 849bdee199b5ebba467603a69d30bb519c10bc75 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 7 11:36:38 2009 +0100 - - [check] Quieten output during checking headers-standalone - - Remove the duplication of the compile line and enable shave to replace it - entirely with a "CHECK $header". This should make errors more obvious. - - build/shave.in | 3 +++ - src/Makefile.am.analysis | 2 +- - 2 files changed, 4 insertions(+), 1 deletion(-) - -commit 84fad4b11bc26cfd0847660e3309eb902d783713 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 7 11:31:22 2009 +0100 - - [build] Fix gtk-doc interoperation with shave - - Add --tag=CC to the libtool invocations. - - build/Makefile.am.gtk-doc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit fd72c56af833a738ddc8f188cabe03d9f8b45475 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu May 7 11:27:43 2009 +0100 - - [build] Report status of gtk-doc in summary - - build/configure.ac.features | 1 + - 1 file changed, 1 insertion(+) - -commit 428fb58a4c96391f96f48026be49a4533cd12834 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Tue Apr 28 15:03:53 2009 -0400 - - [user-font] Add CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED - - This is useful for language bindings to signal that a method is not - implemented. - - src/cairo-misc.c | 2 ++ - src/cairo-surface.c | 1 + - src/cairo-user-font.c | 14 +++++++++++--- - src/cairo.h | 23 ++++++++++++++--------- - 4 files changed, 28 insertions(+), 12 deletions(-) - -commit f9573d03dde2c38674d36b783044715ab5104b0a -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Tue Mar 17 19:48:12 2009 -0400 - - Err, make gtk-doc happy again - - doc/public/tmpl/cairo-status.sgml | 2 +- - src/cairo.h | 2 -- - 2 files changed, 1 insertion(+), 3 deletions(-) - -commit 30735f790aa3cef822f132932f43a4738cd8cd95 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 5 18:37:25 2009 +0100 - - [xlib] Use a similar content surface for cloning images - - Simply request a surface with a similar content to the source image when - uploading pixel data. Failing to do so prevents using a 16-bit (or - otherwise non-standard pixman image format) window as a source - in fact - it will trigger an infinite recursion. - - src/cairo-xlib-surface.c | 16 +++++++++------- - 1 file changed, 9 insertions(+), 7 deletions(-) - -commit 60e38d0530443aa9c78e74e47ba5574887ae220c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 5 17:05:39 2009 +0100 - - [surface] Convert FORMAT_INVALID during snapshots - - Currently the surface snapshotting attempts to clone the source using a - new surface of identical format. This will raise an error if the source is - an unusual xserver, for example one operating at 16bpp. The solution to - this is to create the surface using the content type rather than the - format (as elsewhere within the code base). However, we also wish to - preserve FORMAT_A1 (which is lost if we only choose the format based on - _cairo_format_from_content) as the various backends may be able to - trivially special case such bitmaps. - - src/cairo-surface-fallback.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -commit 31f5a2e94d669b9d2785de944d4aee584fd1d76e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 5 15:52:55 2009 +0100 - - [png] Coerce FORMAT_INVALID to a known image format - - It is possible for cairo_surface_write_to_png() to acquire a non-standard - image surface when, for example, we try to dump a low bit-depth XServer. - Handle this scenario by coercing the unknown image format to a standard - type via pixman. - - src/cairo-png.c | 44 ++++++++++++++++++++++++++++++-------------- - 1 file changed, 30 insertions(+), 14 deletions(-) - -commit c488b336449a1a7ca4d3f90785afeec9e21784c3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 5 13:59:07 2009 +0100 - - [test] Create a new fallback surface to exercise 16-bit paths. - - Add a variation of test-fallback-surface that forces the use of a 16-bit - pixman format code instead of the standard 32-bit types. This creates an - image surface akin to the fallbacks used with low bit-depth xservers. - - .../cairo-boilerplate-test-surfaces-private.h | 11 + - boilerplate/cairo-boilerplate-test-surfaces.c | 16 ++ - boilerplate/cairo-boilerplate.c | 18 ++ - src/Makefile.sources | 2 + - src/test-fallback16-surface.c | 234 +++++++++++++++++++++ - src/test-fallback16-surface.h | 52 +++++ - test/Makefile.am | 4 + - test/Makefile.sources | 3 + - test/test-fallback16-surface-source.c | 43 ++++ - test/test-fallback16-surface-source.ref.png | Bin 0 -> 268 bytes - 10 files changed, 383 insertions(+) - -commit 1d609d672273da494fd596606b59ab1c0010ae6d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue May 5 17:11:55 2009 +0100 - - [image] Treat A1 image surfaces as BILEVEL_ALPHA - - Categorise the transparency of FORMAT_A1 image surfaces as BILEVEL_ALPHA. - - src/cairo-image-surface.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -commit aac132a76a2af3719088678295169f1962a555e6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Apr 24 10:14:36 2009 +0100 - - [image] Make _cairo_image_analayze_transparency() more format agnostic - - Use the content in preference to the format to determine - CAIRO_IMAGE_IS_OPAQUE/CAIRO_IMAGE_HAS_ALPHA. - - src/cairo-image-surface.c | 17 +++++++---------- - 1 file changed, 7 insertions(+), 10 deletions(-) - -commit 4be6de9fc6192d59c8d61e8edafed941e868a756 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Apr 24 10:03:20 2009 +0100 - - [image] Return FORMAT_INVALID for an error surface. - - The default error value should be CAIRO_FORMAT_INVALID [-1] not 0 (which - corresponds to CAIRO_FORMAT_ARGB32). - - src/cairo-image-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6675cf558719f81afe2a4331bc6adb3cda637a26 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri May 1 09:31:53 2009 +0100 - - [build] Add lcov-1.7 to known list - - build/configure.ac.analysis | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 526fcdb7e6cc8b522508762b1a68a5585fddf823 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Apr 20 10:56:06 2009 +0100 - - [build] Enable shave support - - shave transforms the messy output of autotools into a pretty (quiet!) - Kbuild-like one. - - Lets see how controversial a simple change can be... - - build/.gitignore | 2 ++ - build/aclocal.dolt.m4 | 1 + - build/aclocal.shave.m4 | 77 ++++++++++++++++++++++++++++++++++++++++++++++++ - build/shave-libtool.in | 69 +++++++++++++++++++++++++++++++++++++++++++ - build/shave.in | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++ - configure.ac | 4 +++ - 6 files changed, 232 insertions(+) - -commit 1ae2ddc1dd4c90d50b8c57c4de677f8ab96b1fa2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Apr 16 17:19:12 2009 +0100 - - [memfault] Manually inject faults when using stack allocations - - Ensure that no assumptions are made that a small allocation will succeed - by manually injecting faults when we may be simply allocating from an - embedded memory pool. - - The main advantage in manual fault injection is improved code coverage - - from within the test suite most allocations are handled by the embedded - memory pools. - - src/cairo-array.c | 3 +++ - src/cairo-bentley-ottmann.c | 3 +++ - src/cairo-gstate.c | 3 +++ - src/cairo-hull.c | 3 +++ - src/cairo-image-surface.c | 6 ++++++ - src/cairo-malloc-private.h | 7 +++++++ - src/cairo-misc.c | 3 +++ - src/cairo-path-stroke.c | 2 ++ - src/cairo-pattern.c | 9 +++++++++ - src/cairo-pen.c | 9 +++++++++ - src/cairo-polygon.c | 5 +++++ - src/cairo-scaled-font.c | 3 +++ - src/cairo-stroke-style.c | 3 +++ - src/cairo-traps.c | 5 +++++ - 14 files changed, 64 insertions(+) - -commit 817589e1967ebdd5e5bda1781eb76010fd8c37dc -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Apr 16 13:01:52 2009 +0100 - - [test] Call FcInit() manually. - - Pre-initialise fontconfig whilst memfault is disabled to avoid a lot of - expensive, redundant testing of FcInit() throughout the test suite. - - test/cairo-test.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit be27e844c83c0f5cf25dee1c62768dbf70897a06 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Apr 16 17:13:52 2009 +0100 - - [ft] Propagate status from font creation - - Return the true error status whel - _cairo_ft_unscaled_font_create_internal(). This ensures that the original - error is not masked and we are able to report the error during fontconfig - pattern resolution. - - src/cairo-ft-font.c | 90 ++++++++++++++++++++++++++++++----------------------- - 1 file changed, 51 insertions(+), 39 deletions(-) - -commit d46c56f18c8a93d3d50be9333292c7c9b0ac0a78 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Apr 16 13:00:59 2009 +0100 - - [ft] Check for pattern duplication failure. - - Check the return of FcPatternDuplicate() for failure, and propagate the - error. - - src/cairo-ft-font.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 50302f156dfba4dcb3639843d7eda819f2c6797c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Apr 16 12:59:36 2009 +0100 - - [ft] Check (correctly!) for pattern duplication failure. - - Check the return from FcPatternDuplicate() for allocation failure (and not - the original pattern)! - - src/cairo-ft-font.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8bf109bd2a9c9bf755671185733def898a4f96f2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Apr 16 17:17:06 2009 +0100 - - [pattern] Silence compiler with impossible case. - - Assert that the pattern is one of the four known types, and return an - error so that the compiler knows that the local variable can not be used - uninitialised. - - src/cairo-pattern.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 5a76c233bffda65140c6ada9b5f2ed7d3bcc999e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Apr 14 11:02:40 2009 +0100 - - [type3] Propagate error from font creation. - - Perform an error check after creating a scaled-font to prevent operations - on a nil-object. - - src/cairo-type3-glyph-surface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit d46bd67c8b3f63d6286845e814f8f1e040f89737 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Apr 10 14:55:24 2009 +0100 - - [type3] Add status checks. - - Propagate error from the stream when creating the surface and add status - guards before writing to the potential nil object. - - src/cairo-type3-glyph-surface.c | 26 +++++++++++++++++++++++--- - 1 file changed, 23 insertions(+), 3 deletions(-) - -commit a6ffb69a54f15659dac7c6b2e1c98bd7893ccdf1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Apr 3 17:28:05 2009 +0100 - - [type3] Check error status before emit_image(). - - Be careful not to pass an error object down to emit_image() hook, - propagate the error instead. This relieves the burden of the error check - from the callee -- which was causing an assertion failure in the ps - backend. - - src/cairo-type3-glyph-surface.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -commit 21d1138da9bcf9c006e0cf3f3d1d50e1c7cec1de -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Apr 10 14:53:55 2009 +0100 - - [scaled-font-subsets] Check for malloc failure. - - Check that the utf8 string is successfully allocated before writing to it, - otherwise propagate the error status back to the callers. - - src/cairo-scaled-font-subsets.c | 63 +++++++++++++++++++++++------------------ - 1 file changed, 35 insertions(+), 28 deletions(-) - -commit 0f0e2d738437176e72317b37ef66fbc56c60ba93 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Apr 10 14:52:48 2009 +0100 - - [pdf] Propagate failure from type3 glyph surface creation. - - Add an early check that we successfully created the glyph surface. - - src/cairo-pdf-surface.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -commit 1496c5cf51a2304dfd4e9d359a0645ff44fadd3e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Apr 10 14:50:26 2009 +0100 - - [analysis] Use _cairo_region_init() - - Avoid secondary allocations of the thin region wrappers during surface - creation by embedding them into the parent structure. This has the - satisfactory side-effect of not requiring status checks which current code - lacks. - - src/cairo-analysis-surface.c | 26 +++++++++++++------------- - 1 file changed, 13 insertions(+), 13 deletions(-) - -commit ad83765a1441cb369c3e7f3de77c243297406c7a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Apr 3 09:23:58 2009 +0100 - - [xlib] Allocate bounded region on stack. - - Eliminate the extremely short-lived and oft unnecessary heap allocation - of the region by first checking to see whether the clip exceeds the - surface bounds and only then intersect the clip with a local - stack-allocated region. - - src/cairo-region.c | 23 +++++++++++++++++++ - src/cairo-xlib-surface.c | 58 +++++++++++++++++++++++++++++++----------------- - src/cairoint.h | 10 +++++++++ - 3 files changed, 71 insertions(+), 20 deletions(-) - -commit 75b06b8bdb5efaf030e063c1f66583d8fde347dc -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Apr 1 11:43:16 2009 +0100 - - [pattern] Do not modify outparam on error path. - - The pdf backend was crashing as a failed pattern copy stored an invalid - pointer with the resource group. - - src/cairo-pattern.c | 21 +++++++++++---------- - 1 file changed, 11 insertions(+), 10 deletions(-) - -commit 82cccb26723697492504f395fed33afba28d84ba -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Apr 14 11:01:39 2009 +0100 - - [test] Handle memfaults during surface-finish-twice - - Check and report memory allocation failures. - - test/surface-finish-twice.c | 17 +++++++++++------ - 1 file changed, 11 insertions(+), 6 deletions(-) - -commit f12d52bfcae0792729b33a1fd1b2d23bd3fc7cf3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Apr 4 19:02:15 2009 +0100 - - [test] Use xmalloc() to evade memfault. - - Do not use the simple malloc() as memfault will inject allocation failures - (unlike xmalloc() for which faults are excluded) - as this is unnecessary - inside the test harness and thus does not exercise any cairo code paths. - - test/show-glyphs-many.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ca501d99bbec432252cbb134d863801d4a792a44 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Apr 1 11:41:59 2009 +0100 - - [test] Disable signal handling under valgrind - - Capturing and handling the signals prevents valgrind from providing - backtraces for fatal signals -- which is often more useful. - - test/cairo-test.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f8539726368141f8b42c7817cfd59b4abfce33f3 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Tue Apr 7 14:50:25 2009 -0400 - - [win32] Fix building with libpng and zlib - - Include zlib and libpng dependencies using something like '$(cairo_dir)/../zlib/zdll.lib' - instead of just 'zdll.lib'. Also, do similarly for the headers. - - build/Makefile.win32.common | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit 1798fc6607a89811929d1f21cc71c751438f5699 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Apr 5 11:17:02 2009 +0930 - - Fix the TrueType subsetting fix in 9b496af5c - - Oops. - - src/cairo-truetype-subset.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit fe97e815e81f4429889fd52bb525c260f9967356 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Apr 5 01:04:12 2009 +1030 - - Fix TrueType subsetting bug - - Fix incorrect counting of arguments in composite glyphs - - src/cairo-truetype-subset-private.h | 2 +- - src/cairo-truetype-subset.c | 12 +++++++----- - 2 files changed, 8 insertions(+), 6 deletions(-) - -commit 9b496af5c214283c297a52c90a04743f9da9f6a3 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Apr 5 00:44:02 2009 +1030 - - Fix buffer size check in TrueType subsetting - - Andrew Cowie reported a problem with the Charis SIL font being - embedded as a fallback font. - - The buffer size check for composite glyphs was incorrect causing the - subsetting to fail for some fonts. - - src/cairo-truetype-subset.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ba2ec8e1d9144c4a27917e59cb15039552eb008c -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Wed Apr 1 13:29:12 2009 -0400 - - Remove trailing comma in cairo_region_overlap_t enum. - - src/cairo.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2d6336624c33e9c674c192b68eb501373a96dc87 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Wed Apr 1 11:32:58 2009 -0400 - - [test-win32] Fix static linking of the test suite. - - Previously, the test suite needed to be dynamically linked to work. - - boilerplate/Makefile.win32 | 2 +- - test/Makefile.win32 | 9 ++++++--- - test/pdiff/Makefile.win32 | 2 +- - 3 files changed, 8 insertions(+), 5 deletions(-) - -commit 0f21893b0510a188439c2d8cd448bcfcf17ef8c6 -Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk> -Date: Wed Apr 1 08:54:30 2009 -0400 - - [region] pixman_region32_contains_point() does not allow NULL for box - - src/cairo-region.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit e46c1d7fa34b4ba89fc3e0fe6f3042a6fa8c0398 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 31 10:39:46 2009 +0100 - - [scaled-font-subset] Cleanup after failure to convert to utf16. - - Avoid leaking the local hashtable and strings after failing to convert the - string to utf16. - - src/cairo-scaled-font-subsets.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 180b964aac4e058e6783778d33772f08e13b3669 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 31 10:37:44 2009 +0100 - - [scaled-font-subset] Propagate error from scaled-font to collection. - - Don't attempt to collect the sub_font if it is in error. - - src/cairo-scaled-font-subsets.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 8362c6f726979abc43ad9f7303bd45fcb03f83b3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 31 10:36:08 2009 +0100 - - [type1] Fixup error path during write_charstrings() - - On the common error path we attempted to unlock a mutex that was not - always held, so reorder the error paths appropriately. - - src/cairo-type1-fallback.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 88956cd42e9cc03cb8b4ec730062993eaaf3938d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 31 10:35:24 2009 +0100 - - [ps] Check for error during stroking. - - Add a missing error status check that caused errors during stroke to be - masked. - - src/cairo-ps-surface.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 043352aa8d1e3aeacf3b877f45e1bc451a676e15 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 31 10:34:41 2009 +0100 - - [pdf] Prevent leak of pad_image on error path. - - Ensure that the local pad_image is destroyed after an error. - - src/cairo-pdf-surface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit b0689f56118dd8ccda6f29901d41cf8f80983aa0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 31 10:27:15 2009 +0100 - - Check for errors during get_mime_data() - - cairo_surface_get_mime_data() may raise an error on the surface, so we - need to check lest it goes unnoticed and we generate a corrupt file. - - src/cairo-pdf-surface.c | 2 ++ - src/cairo-ps-surface.c | 2 ++ - src/cairo-svg-surface.c | 2 ++ - 3 files changed, 6 insertions(+) - -commit 9f63cbb870892253f363ddb7aac908263672c8dc -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 30 19:09:13 2009 +0100 - - [pdf] Free compressed stream after error. - - Ensure that the compressed stream is destroyed after encountering an - error. - - src/cairo-pdf-surface.c | 13 ++++++++----- - 1 file changed, 8 insertions(+), 5 deletions(-) - -commit ba1a0fa601a817ff489bc5373af57977e41eb99f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 30 19:08:41 2009 +0100 - - [truetype] Free local names on failure. - - Ensure that all local allocations are freed on the error path. - - src/cairo-truetype-subset.c | 13 +++++++++---- - 1 file changed, 9 insertions(+), 4 deletions(-) - -commit edce97a750acf4368bd7249ec6b9a195f8584cdf -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 30 16:50:51 2009 +0100 - - [pdf] Remove false assertion. - - The stream itself may be in an error state, so an error could be raised. - - src/cairo-pdf-surface.c | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit b580a4a8d6c056ba8b47be32ea8c5b9a1d90d01e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 30 16:50:10 2009 +0100 - - [test] Improve fault injection coverage - - In order to exercise the meta-surfaces, we need to inject faults into - cairo_surface_finish(). - - boilerplate/cairo-boilerplate.c | 16 +++++++++++++--- - test/cairo-test.c | 35 +++++++++++++++++++++++++++++++++++ - 2 files changed, 48 insertions(+), 3 deletions(-) - -commit 80d5b53b474c94219c51ae16dcc19098a2d86165 -Author: Søren Sandmann Pedersen <sandmann@redhat.com> -Date: Tue Mar 31 05:47:44 2009 -0400 - - [region] Change name of cairo_region_empty() to cairo_region_is_empty() - - src/cairo-clip.c | 2 +- - src/cairo-region.c | 6 +++--- - src/cairo-surface-fallback.c | 2 +- - src/cairo.h | 2 +- - src/cairoint.h | 2 +- - 5 files changed, 7 insertions(+), 7 deletions(-) - -commit 77ee65fd03d06064be023f022d565c5038fe26df -Author: Jonathan Kew <jfkthame@gmail.com> -Date: Mon Mar 30 14:45:48 2009 -0400 - - [win32] Fix horizontal glyph positioning bug - - The _cairo_win32_scaled_font_backend version of show_glyphs collects - glyph runs to hand to ExtTextOutW until the y-offset changes, then flushes the - glyphs buffered so far. As each glyph is buffered, it also calculates and - buffers the dx value for the preceding glyph. - - However, when it sees a change in dy and decides to flush, it should *not* - append an entry to the dx buffer, as this would be the "dx" of the previous - glyph, and instead the new start_x value will be used for the new glyph run - that's being collected. This bug means that after any vertically-offset glyph, - the remaining glyphs in the run will get incorrect dx values (horizontal - escapement). - - Mozilla bug #475092 - - src/cairo-win32-font.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit aee71e2063b1d6d23cd8dcef7789c9cf106af32a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 30 13:41:00 2009 +0100 - - [test] Memfault checks. - - Don't assume an error means the test failed, check for injected allocation - errors. - - test/create-from-png.c | 164 ++++++++++++++++++++++++++++++++++--------------- - 1 file changed, 113 insertions(+), 51 deletions(-) - -commit ea6197c2f5f04d5e8e8035a330c5199b37beb702 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 30 10:54:26 2009 +0100 - - [surface] Propagate region allocation failure. - - Propagate the error status from failing to allocate the region. - - src/cairo-surface.c | 21 ++++++++++----------- - 1 file changed, 10 insertions(+), 11 deletions(-) - -commit c35d226f7d3654b312e18068b8ccb47a51002a39 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 30 10:46:37 2009 +0100 - - [traps] Propagate allocation failure. - - Report failure to allocation region. - - src/cairo-traps.c | 23 ++++++++++------------- - 1 file changed, 10 insertions(+), 13 deletions(-) - -commit e238d10b30e18084bf07eb1643fdf48ef35467ab -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 30 10:22:18 2009 +0100 - - [region] Use const cairo_rectangle_int_t consistently. - - Add the const declaration to a couple of functions. - - src/cairo-region.c | 4 ++-- - src/cairo.h | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit de1612bdd767ca37e01938f8e41d9699531a49d9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 30 10:17:49 2009 +0100 - - [region] Use _cairo_status_is_error - - Replace the open-coded version with the more readable macro. - - src/cairo-region.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f027405429d0133b2840c4b82bc553355fa5f3d2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 30 10:12:41 2009 +0100 - - [region] Add leading underscore to private _cairo_region_set_error() - - Differentiate the private _cairo_region_set_error() function by using a - leading underscore. - - src/cairo-region.c | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - -commit ed7188a471f73abcc4ca3e2a92685088134391c7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 30 10:07:48 2009 +0100 - - [region] Add slim_hidden_def. - - Fixes for check-plt.sh (and a few adjacent whitespace). - - src/cairo-region.c | 244 +++++++++++++++++++++++++++++------------------------ - 1 file changed, 133 insertions(+), 111 deletions(-) - -commit f31c6548f818e1d4e257d94d623705284bcc4274 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Mar 28 19:26:03 2009 +0000 - - Silence compiler warnings for CAIRO_STATUS_LAST_STATUS - - Add ASSERT_NOT_REACHED (or similar) cases to the error handling switches - to silence the compiler. - - src/cairo-misc.c | 5 +++-- - src/cairo-spans.c | 2 ++ - src/cairo-surface.c | 1 + - 3 files changed, 6 insertions(+), 2 deletions(-) - -commit 979337dd4da40abb2ea49968a2c01709d9046aab -Author: Eric Anholt <eric@anholt.net> -Date: Sat Mar 28 21:53:04 2009 -0700 - - [gl] Wire blend factors using dst alpha to constants for CAIRO_CONTENT_COLOR. - - This fixes the operator and operator-alpha tests to rgb24 destinations. - While we request an RGB texture, the returned texture has alpha bits, so when - we blend against it as a renderbuffer, we get the junk alpha values. Whether - or not this is a driver bug, we'll have this problem when we get visuals - with alpha bits for windows despite not requestiong alpha, so we have to - handle it in cairo. - - src/cairo-gl-surface.c | 22 ++++++++++++++++++---- - 1 file changed, 18 insertions(+), 4 deletions(-) - -commit 809f7dc4c83009f0a67bc8af0608b480bf7fb00e -Author: Eric Anholt <eric@anholt.net> -Date: Sat Mar 28 21:30:13 2009 -0700 - - [gl] Make sure test visuals for CAIRO_CONTENT_COLOR_ALPHA have alpha bits. - - Since we're just making FBOs, the visual chosen probably shouldn't matter, - and it doesn't on Intel. But it does seem like the right thing to do. - - boilerplate/cairo-boilerplate-gl.c | 25 ++++++++++++++++++------- - 1 file changed, 18 insertions(+), 7 deletions(-) - -commit 93c437d4b9261bc1ce3daf9cbd02d9cc4d2584cc -Author: Eric Anholt <eric@anholt.net> -Date: Sat Mar 28 20:59:01 2009 -0700 - - [gl] Use GLEW to detect required extension presence. - - configure.ac | 9 +++++++++ - src/cairo-gl-surface.c | 13 +++++++++++++ - 2 files changed, 22 insertions(+) - -commit 62d84847c3b857b8fd5aeea3f4b5c0f2f4c91625 -Author: Søren Sandmann Pedersen <sandmann@redhat.com> -Date: Sat Mar 28 03:58:51 2009 -0400 - - [region] Add documentation for all the new region methods. - - src/cairo-region.c | 260 ++++++++++++++++++++++++++++++++++++++++++++++------- - src/cairo.h | 6 +- - 2 files changed, 232 insertions(+), 34 deletions(-) - -commit 980e9f0dbd4f21c0ccf4cc33b0b0f2f370667290 -Author: Søren Sandmann Pedersen <sandmann@redhat.com> -Date: Sat Mar 28 03:04:28 2009 -0400 - - [region] Fix status propagation for regions - - When an operation fails, store the status code in the destination - region rather than leaving it unchanged. - - src/cairo-region.c | 66 ++++++++++++++++++++++++++++++++++++++++++------------ - 1 file changed, 52 insertions(+), 14 deletions(-) - -commit 64e490a464472cfe06d779503601d41972ed4518 -Author: Søren Sandmann Pedersen <sandmann@redhat.com> -Date: Sat Mar 28 01:10:24 2009 -0400 - - [region] Use signed ints for width and height in cairo_rectangle_int_t - - src/cairo.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 26999e5aa8b5d353596e31d4b3823cafe007125c -Author: Søren Sandmann <sandmann@redhat.com> -Date: Fri Mar 27 08:48:42 2009 -0400 - - [region] Add cairo_region_intersect_rectangle() and _subtract_rectangle() - - Intersecting with and subtracting rectangles is quite common, and we - already have cairo_union_rectangle(). - - src/cairo-clip.c | 27 ++++----------------------- - src/cairo-region.c | 45 ++++++++++++++++++++++++++++++++++++++++++++- - src/cairo-surface.c | 9 +-------- - src/cairo.h | 11 ++++++++++- - src/cairoint.h | 2 ++ - 5 files changed, 61 insertions(+), 33 deletions(-) - -commit 4b3245481cfbf96388c140421a071fd1f79ad601 -Author: Søren Sandmann Pedersen <sandmann@redhat.com> -Date: Sat Feb 21 08:13:25 2009 -0500 - - [region] Expand rect to rectangle in a couple of names - - Specifically, - - cairo_region_union_rect -> cairo_region_union_rectangle - cairo_region_create_rect -> cairo_region_create_rectangle - - Also delete cairo_region_clear() which is not that useful. - - src/cairo-analysis-surface.c | 4 ++-- - src/cairo-clip.c | 4 ++-- - src/cairo-region.c | 16 +++------------- - src/cairo-surface-fallback.c | 2 +- - src/cairo-surface.c | 4 ++-- - src/cairo-traps.c | 2 +- - src/cairo-xlib-surface.c | 2 +- - src/cairo.h | 7 ++----- - src/cairoint.h | 5 ++--- - 9 files changed, 16 insertions(+), 30 deletions(-) - -commit bf6d9bc1758ac1971485b6565d29934d6b06bef2 -Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk> -Date: Wed Feb 18 08:01:19 2009 -0500 - - [region] Delete cairo_region_create_rectangles() - - It was only used in _cairo_traps_extract_region() which could be - simplified significantly by calling cairo_region_union_rect() - repeatedly instead. - - src/cairo-region.c | 44 --------------------------------------- - src/cairo-traps.c | 60 +++++++++++++++++++++--------------------------------- - src/cairo.h | 4 ---- - src/cairoint.h | 1 - - 4 files changed, 23 insertions(+), 86 deletions(-) - -commit e6d82afcab01cc91b88185abc8d1bfb9df5c2c19 -Author: Søren Sandmann <sandmann@redhat.com> -Date: Wed Feb 18 00:20:46 2009 -0500 - - [region] Add slim_hidden_proto for region functions - - src/cairoint.h | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -commit e29103c08189cab9de34f577951219a69bd7c8e2 -Author: Søren Sandmann <sandmann@redhat.com> -Date: Wed Feb 18 00:11:35 2009 -0500 - - [region] Move region function prototypes to cairo.h along with helper types. - - Move struct _cairo_region to cairoint.h and delete - cairo-region-private.h. Delete cairo_private from the function - definitions that had it. - - src/Makefile.sources | 1 - - src/cairo-analysis-surface.c | 1 - - src/cairo-clip-private.h | 1 - - src/cairo-region-private.h | 128 ------------------------------------------- - src/cairo-region.c | 6 +- - src/cairo-types-private.h | 6 -- - src/cairo.h | 75 +++++++++++++++++++++++++ - src/cairoint.h | 6 +- - 8 files changed, 83 insertions(+), 141 deletions(-) - -commit 1cca5a1348d071a3c8e2ba9d3ba0d9670b9564f4 -Author: Søren Sandmann <sandmann@redhat.com> -Date: Tue Feb 17 23:52:18 2009 -0500 - - [region] Remove underscores from _cairo_region_* - - src/cairo-analysis-surface.c | 18 ++++++------- - src/cairo-clip.c | 50 +++++++++++++++++------------------ - src/cairo-directfb-surface.c | 4 +-- - src/cairo-paginated-surface.c | 4 +-- - src/cairo-region-private.h | 36 ++++++++++++------------- - src/cairo-region.c | 61 +++++++++++++++++++++---------------------- - src/cairo-surface-fallback.c | 20 +++++++------- - src/cairo-surface.c | 14 +++++----- - src/cairo-traps.c | 10 +++---- - src/cairo-win32-surface.c | 8 +++--- - src/cairo-xcb-surface.c | 4 +-- - src/cairo-xlib-surface.c | 14 +++++----- - 12 files changed, 120 insertions(+), 123 deletions(-) - -commit fcdca966941f4f7cc908bd46df1ec9a6b0f757c1 -Author: Søren Sandmann <sandmann@redhat.com> -Date: Tue Feb 17 22:52:50 2009 -0500 - - [region] Always define cairo_rectangle_int_t with ints - - Use ints in cairo_rectangle_int_t, no matter the fixed type. - - src/cairo-types-private.h | 38 +++++++++----------------------------- - 1 file changed, 9 insertions(+), 29 deletions(-) - -commit cfa7a384b730289233bef556fe1919f781eac684 -Author: Søren Sandmann <sandmann@redhat.com> -Date: Tue Feb 17 23:40:02 2009 -0500 - - [region] Add _cairo_region_contains_point() - - src/cairo-region-private.h | 5 ++++- - src/cairo-region.c | 15 +++++++++++++-- - src/cairo.h | 1 + - 3 files changed, 18 insertions(+), 3 deletions(-) - -commit 15564d1949778124e553d792f85cae2b031aad45 -Author: Søren Sandmann Pedersen <sandmann@redhat.com> -Date: Tue Feb 17 05:58:34 2009 -0500 - - [region] Add _cairo_region_union - - src/cairo-region-private.h | 4 ++++ - src/cairo-region.c | 16 ++++++++++++++++ - 2 files changed, 20 insertions(+) - -commit df883aa937d2f3ecf52048b60caff48b1c9edac9 -Author: Søren Sandmann Pedersen <sandmann@redhat.com> -Date: Tue Feb 17 06:06:40 2009 -0500 - - [region] Add a cairo_region_overlap_t type - - src/cairo-analysis-surface.c | 4 ++-- - src/cairo-region-private.h | 8 +++++++- - src/cairo-region.c | 33 ++++++++++++++++++++++++--------- - 3 files changed, 33 insertions(+), 12 deletions(-) - -commit ebd0e685ae2d76c3af96d748a33a7194c70749f3 -Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk> -Date: Mon Feb 16 05:41:31 2009 -0500 - - [region] Consistently use rectangles in the API of regions - - Usually, rectangles are more useful than boxes, so regions should only - expose rectangles in their public API. - - Specifically, - _cairo_region_num_boxes becomes _cairo_region_num_rectangles - _cairo_region_get_box becomes _cairo_region_get_rectangle - - Remove the cairo_box_int_t type - - src/cairo-clip.c | 22 ++++++++------------ - src/cairo-directfb-surface.c | 26 +++++++++++------------ - src/cairo-paginated-surface.c | 34 +++++++++++++++--------------- - src/cairo-region-private.h | 14 ++++++------- - src/cairo-region.c | 28 ++++++++++++------------- - src/cairo-surface-fallback.c | 2 +- - src/cairo-surface.c | 25 ++++++++-------------- - src/cairo-traps.c | 31 ++++++++++++++-------------- - src/cairo-types-private.h | 6 ------ - src/cairo-win32-surface.c | 48 +++++++++++++++++++++---------------------- - src/cairo-xcb-surface.c | 24 +++++++++++----------- - src/cairo-xlib-surface.c | 29 +++++++++++++------------- - 12 files changed, 134 insertions(+), 155 deletions(-) - -commit c29aeee2d3569cd43e88adc05662bb6306987b8b -Author: Søren Sandmann <sandmann@redhat.com> -Date: Thu Dec 11 18:37:40 2008 -0500 - - [region] Change sense of _cairo_region_not_empty() to _cairo_region_empty() - - Having "not" in the name causes double negatives. - - src/cairo-clip.c | 2 +- - src/cairo-region-private.h | 2 +- - src/cairo-region.c | 6 +++--- - src/cairo-surface-fallback.c | 2 +- - 4 files changed, 6 insertions(+), 6 deletions(-) - -commit c88321d0a2b9d200b2044674d02fa0683feca74c -Author: Søren Sandmann <sandmann@redhat.com> -Date: Thu Dec 11 16:20:23 2008 -0500 - - [region] Miscellaneous bug fixes. - - - Initialize region->status in _cairo_region_create_boxes() - - Make _cairo_region_copy() actually return a region. - - Fix a bug where a NULL region could be dereferenced - - Also add an assertion that the result of cairo_region_copy() is never - NULL. - - src/cairo-clip.c | 2 ++ - src/cairo-image-surface.c | 2 +- - src/cairo-region.c | 4 +++- - 3 files changed, 6 insertions(+), 2 deletions(-) - -commit 93b285dc2c9c9ec486e0096933c3611f73374fcb -Author: Søren Sandmann <sandmann@redhat.com> -Date: Thu Dec 11 15:50:15 2008 -0500 - - [region] Get rid of clip->has_region - - src/cairo-clip-private.h | 1 - - src/cairo-clip.c | 36 +++++++++++++++--------------------- - src/cairo-surface.c | 2 +- - 3 files changed, 16 insertions(+), 23 deletions(-) - -commit e3e1b35eb9eb3cf90d882a7452580f9efe00b89a -Author: Søren Sandmann <sandmann@redhat.com> -Date: Thu Dec 11 15:29:23 2008 -0500 - - [region] Make cairo_region_t a malloced object. - - src/cairo-analysis-surface.c | 26 ++++--- - src/cairo-clip-private.h | 2 +- - src/cairo-clip.c | 99 +++++++++++++------------ - src/cairo-region-private.h | 42 +++++------ - src/cairo-region.c | 168 ++++++++++++++++++++++++++++++++++--------- - src/cairo-surface-fallback.c | 65 ++++++++--------- - src/cairo-surface.c | 29 ++++---- - src/cairo-traps.c | 14 ++-- - src/cairo-xlib-surface.c | 16 ++--- - src/cairoint.h | 2 +- - 10 files changed, 280 insertions(+), 183 deletions(-) - -commit c2c637cf1d89fc8fdcced4467d602a55ef0b14e0 -Author: Søren Sandmann Pedersen <sandmann@redhat.com> -Date: Sat Mar 28 04:26:10 2009 -0400 - - Simplify _cairo_clip_intersect_region() - - The intermediate intersection region is not necessary because if the - operation fails, clip->region will end up as a pixman error region. - - src/cairo-clip.c | 19 +++++-------------- - 1 file changed, 5 insertions(+), 14 deletions(-) - -commit fe10cd6467f2ec58532dc7c713bb6d08dab08442 -Author: Bertram Felgenhauer <int-e@gmx.de> -Date: Fri Mar 27 07:10:21 2009 +0100 - - [spline] fix wrong sign in _cairo_spline_bound. - - src/cairo-spline.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 53107de63a954105f8820e5b96e2a1956cb7af8c -Author: Bertram Felgenhauer <int-e@gmx.de> -Date: Thu Mar 26 04:56:27 2009 +0100 - - [in_fill] Correctly track current point in curve_to. - - When discarding a bezier path segment, we still need to update the - current point. - - src/cairo-path-in-fill.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -commit 578b06a978d51dc3d1d844ee7eea9ddd8329cc8d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 23 10:56:43 2009 +0000 - - [perf] Use CAIRO_LDFLAGS - - Use CAIRO_LDFLAGS in order to pull in additional link options, such as - --coverage. - - perf/Makefile.am | 2 ++ - 1 file changed, 2 insertions(+) - -commit ac30ced6135c5cf0fb34a67fe8f863030c1fbeb9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Mar 22 19:02:27 2009 +0000 - - [test] Check for surface create failure. - - If the image surface creation fails, the data pointer will be NULL leading - to a segfault -- so check! - - test/user-font-mask.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -commit b5a4a2c4b1b1bab25e2ff0842e3c27205ec73d51 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Mar 22 19:00:04 2009 +0000 - - [test] Early test for memfault. - - Check the error status within after each iteration in - solid-pattern-cache-stress. - - test/solid-pattern-cache-stress.c | 41 ++++++++++++++++++++++++++++----------- - 1 file changed, 30 insertions(+), 11 deletions(-) - -commit 1a7b94f934f8c9a25e60d9466651b0b7fb919656 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Mar 20 11:06:29 2009 +0000 - - [test] Check for errors during get-path-extents. - - Need to check that an error was not raised on the context before checking - whether the extents match expectations. - - test/get-path-extents.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit 3b545330887209c68128fca0d1bb40bf4927c2a6 -Author: Vladimir Vukicevic <vladimir@pobox.com> -Date: Sat Mar 21 11:56:18 2009 -0700 - - [win32] Use _hypot instead of hypot - - The hypot symbol is deprecated on Win32, and nonexistent on Windows CE - - src/cairo-compiler-private.h | 1 + - 1 file changed, 1 insertion(+) - -commit 895fce1632069ddfb8c581d2b23b1b3552e35104 -Author: Stefan Klug <Klug.Stefan@gmx.de> -Date: Fri Mar 20 17:20:22 2009 -0400 - - [wince] Use the official _WIN32_WCE define instead of WINCE - - src/cairo-misc.c | 4 ++-- - src/cairoint.h | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -commit 86a935de42318c4be92a657ce8e8c452693d4414 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Fri Mar 20 17:14:08 2009 -0400 - - [msvc] Fix definition of CAIRO_ENSURE_UNIQUE for non-x86 - - The current definition of CAIRO_ENSURE_UNIQUE uses x86 assembly so make sure we - only compile it when targeting x86. - - src/cairo-compiler-private.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c932a809d6484503d7ee267d934bbc87c8d44092 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 17 12:01:13 2009 +0000 - - [test] Propagate allocation failure. - - Check for memfaults during rel-path test. - - test/rel-path.c | 19 ++++++++++++++++--- - 1 file changed, 16 insertions(+), 3 deletions(-) - -commit 7db55b37d4aef188e04771b45076f6735507c209 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 17 11:58:16 2009 +0000 - - [test] Destroy pattern on error paths. - - Destroy the pattern after encountering an error in pattern-getters test. - - test/pattern-getters.c | 29 +++++++++++++++++++++++++---- - 1 file changed, 25 insertions(+), 4 deletions(-) - -commit dc176d88ac03ae71fc32abb27329a35650801d99 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 17 10:42:37 2009 +0000 - - [test] Trivial leak on error in show-glyphs-many. - - Free the allocated glyph array after failure. - - test/show-glyphs-many.c | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - -commit a4b44ca89eb9975e6af2913e50ec3c3eb566cfdd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 17 14:56:42 2009 +0000 - - [pattern] Report the true error status from getters. - - As the getters actually return an error status, use it to report any - pre-existing error status on the pattern. - - src/cairo-pattern.c | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -commit 496bbcf58233ceecfffc52ae5b1a3a1f07516c67 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Tue Mar 17 19:46:25 2009 -0400 - - Make CAIRO_STATUS_LAST_STATUS public - - doc/public/tmpl/cairo-status.sgml | 1 + - src/cairo.h | 12 ++++++++++-- - src/cairoint.h | 6 ------ - 3 files changed, 11 insertions(+), 8 deletions(-) - -commit 922c108365b940dbabf23358189bbaa8602446c9 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Tue Mar 17 19:22:31 2009 -0400 - - [twin] Reorganize matching code to better reflect the code in Pango - - Makes it easier to update later. - - src/cairo-font-face-twin.c | 179 +++++++++++++++++++++++++++++++++------------ - src/cairoint.h | 4 + - 2 files changed, 138 insertions(+), 45 deletions(-) - -commit 2b4044a36f8b156ca0e58b72614659324a9b022e -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Tue Mar 17 18:52:16 2009 -0400 - - [twin] Update parsed weights and stretches from Pango - - src/cairo-font-face-twin.c | 64 ++++++++++++++++++++++++++++------------------ - 1 file changed, 39 insertions(+), 25 deletions(-) - -commit 3ec94f9b5917b8f71304c982bd153e5a810f3b12 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Tue Mar 17 00:53:30 2009 -0400 - - Support compiling without fontconfig - - Adds a new, fake, fontconfig font backend. Fontconfig can be disabled - using --disable-fc, in which case the toy text API wont find fonts and - the internal font will always be used. - - Also defines the feature macro CAIRO_HAS_FC_FONT. The two fontconfig-specific - functions in cairo-ft.h depend on that macro now. - - boilerplate/Makefile.win32.features | 10 +++++++++ - build/Makefile.win32.features | 1 + - build/Makefile.win32.features-h | 3 +++ - build/configure.ac.features | 1 + - configure.ac | 26 ++++++++++++++-------- - doc/public/cairo-sections.txt | 1 + - doc/public/tmpl/cairo-ft.sgml | 9 ++++++++ - doc/public/tmpl/cairo-status.sgml | 2 +- - src/Makefile.win32.features | 14 ++++++++++++ - src/cairo-ft-font.c | 43 +++++++++++++++++++++++++++++++------ - src/cairo-ft.h | 23 +++++++++++++------- - src/cairo-os2-surface.c | 6 ++++-- - src/cairo-path-fixed.c | 2 +- - src/cairo-scaled-font.c | 4 ++-- - src/cairo-xlib-display.c | 2 -- - src/cairo-xlib-screen.c | 23 +++++++++----------- - 16 files changed, 125 insertions(+), 45 deletions(-) - -commit 0e7bcb5e3793771d50f7d391d7b1e538ef220a80 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 16 21:32:44 2009 +0000 - - [scaled-font] Improve comments. - - Grr. I thought I had merged this in with the previous commit... - - src/cairo-scaled-font.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 9c80392ac415e7f07c71261d280ac4376d3c8471 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 16 19:31:38 2009 +0000 - - [scaled-font] Lean and mean global glyph cache. - - Jeff Muizelaar pointed out that the severe overallocation implicit in the - current version of the glyph cache is obnoxious and prevents him from - accepting the trunk into Mozilla. Jeff captured a trace of scaled font - and glyph usage during a tp run and presented his analysis in - http://lists.cairographics.org/archives/cairo/2009-March/016706.html - - Using that data, the design was changed to allocate pages of glyphs from a - capped global pool but with per-font hash tables. This should allow the - glyph cache to have tight memory bounds with fair allocation according to - usage. Note that both the old design and the 1.8 glyph cache had - essentially unbounded memory constraints, since each scaled font could - cache up to 256 glyphs (1.8) or had a reserved page (old), with no limit - on the number of active fonts. Currently the eviction policy is a simple - random strategy, this gives a 'fair' allotment of the cache, but a LRU - variant might perform better. - - On a sample run of firefox-3.0.7 perusing BBC news in 32 languages: - 1.8: cache allocation 8190x, ~1.2 MiB; elapsed 88.2s - old: cache allocation 771x, ~13.8 MiB; elapsed 81.7s - lean: cache allocation 433x, ~1.8 MiB; elapsed 82.4s - - src/cairo-cache-private.h | 5 +- - src/cairo-cache.c | 39 ++-- - src/cairo-ft-font.c | 4 +- - src/cairo-hash-private.h | 6 +- - src/cairo-hash.c | 55 ------ - src/cairo-scaled-font-private.h | 6 +- - src/cairo-scaled-font.c | 396 ++++++++++++++++++++-------------------- - src/cairo-types-private.h | 3 + - src/cairoint.h | 7 +- - 9 files changed, 232 insertions(+), 289 deletions(-) - -commit 121d4bb656755b7ca89065bf87e3e4e47c49c89d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Mar 16 19:42:47 2009 +0000 - - [scaled-font] Initialise original_font_face - - Eek, attempting to use+free an uninitialised pointer! - - src/cairo-scaled-font.c | 1 + - 1 file changed, 1 insertion(+) - -commit 2df498ba452b188f2f40413c91fec5e5ed9cf967 -Author: Eric Anholt <eric@anholt.net> -Date: Thu Mar 5 23:26:44 2009 -0800 - - [gl] Use triangle fan instead of GL_QUADS for the single quad we draw. - - This saves the driver from converting the quad into tris on its own. We'd - rather be able to specify a rect as 2-3 points and use the rectangular - rendering feature that most of our hardware has, if it was possible, but - it isn't exposed in GL. - - src/cairo-gl-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9099c7e7307a39bc630919faa65bba089fd15104 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Mar 4 09:26:17 2009 +0000 - - [trace] Disable mark dirty tracing. - - Applications like firefox have a very conservative approach and mark - surfaces dirty before every render. As we record the image data every - time, firefox traces can grow very large with redundant data - so allow - the user to disable mark dirty tracing. - - util/cairo-trace/cairo-trace.in | 19 +++++++++++++++---- - util/cairo-trace/trace.c | 27 ++++++++++++++++++++------- - 2 files changed, 35 insertions(+), 11 deletions(-) - -commit addeb32c751ac080fe634ea6f83076d018944e4a -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Tue Mar 3 12:20:47 2009 -0500 - - [pdf] Intialize 'interpolate' - - Intialize 'interpolate' to prevent a gcc warning. Do this instead of adding a - 'default' case to the switch statement so that we still get warnings if new - filter types are added. - - src/cairo-pdf-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a8158d443e6a4bafae28a46b883cbdcfd5789eec -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 3 11:21:35 2009 +0000 - - [truetype] Move the sizeof asserts to compile time. - - Eliminate the need for a runtime test on the sizeof the private structures - by performing the check at compile time. This was provoked by Ginn Chenn - noting that the test was including a private header. - - src/cairo-truetype-subset.c | 15 +++++++++++ - test/Makefile.sources | 1 - - test/truetype-tables.c | 63 --------------------------------------------- - 3 files changed, 15 insertions(+), 64 deletions(-) - -commit e4b1f871e9cbb04590df5dc6f6f7854642fa0340 -Author: Ginn Chen <Ginn.Chen@Sun.COM> -Date: Tue Mar 3 10:27:11 2009 +0000 - - [configure] Detect mkdir variant with non-gcc compilers. - - It doesn't work for non GCC compiler right now, as "-Werror -Wall" is - an error to non GCC compiler. - - I swapped the sequence of build/configure.ac.system and build/ - configure.ac.warnings, then WARN_CFLAGS can be used. - - build/configure.ac.system | 2 +- - configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit f178f55e47013a92a47a24ac04b1041963b03976 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 3 10:25:05 2009 +0000 - - [test/any2ppm] Update the cairo-script-interpreter callback. - - Reflect the current prototype which now specifies the content to use when - creating the surface. - - test/any2ppm.c | 1 + - 1 file changed, 1 insertion(+) - -commit 694f2eea9feecfdc437e6964d1e758fab7315af9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Mar 3 10:24:25 2009 +0000 - - [test/any2ppm] Add feature checks for daemon() - - Add the feature checks for the presence of the daemon() function call. - - test/any2ppm.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit 9304984f4e20beec7b4de6a4141e2fd489130006 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Mar 1 10:10:24 2009 +0000 - - [path] Fix regression introduced with 005436 - - The order of the multiplication of the CTM and device_transform was - reversed. - - src/cairo-path.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit b30de64a8ca3de7632696f45bdb580217bd9f8a1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Mar 1 10:05:16 2009 +0000 - - [test] Add regression test for 005436 - - Jeff Muizelaar found a regression in commit 005436 and submitted this - little test to exercise it. The essence of the bug appears to be wrt to - the product of the CTM and device transform matrices. - - test/Makefile.sources | 1 + - test/path-append.c | 81 +++++++++++++++++++++++++++++++++ - test/path-append.ps.ref.png | Bin 0 -> 4516 bytes - test/path-append.ref.png | Bin 0 -> 6165 bytes - test/path-append.test-fallback.ref.png | Bin 0 -> 6461 bytes - test/path-append.xlib-fallback.ref.png | Bin 0 -> 6357 bytes - test/path-append.xlib.ref.png | Bin 0 -> 6461 bytes - 7 files changed, 82 insertions(+) - -commit e20f1a0c76f2185760ca3a7466e25de6beedeaac -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Feb 27 16:30:05 2009 +0000 - - [in-fill] Close the path, cf fill() - - In order for in-fill treat the path equivalently to a fill, we need to - close the path after interpretation. - - src/cairo-path-in-fill.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 102ddd37bb329d41241f434ede0f9cba8424e71e -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Thu Feb 26 16:04:49 2009 -0500 - - [win32] Include $(OPT) flags when linking cairo.dll - - This will pass in -Zi which causes the /DEBUG flag to be passed to the - linker keeping the debug information from being discarded during link. - - src/Makefile.win32 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit eb2a73ba6d290497cabb0f917c0375eea919178e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Feb 24 20:27:36 2009 +0000 - - [ps] Check the status of _cairo_type3_glyph_surface_create() - - Doing so serves two purposes. The first is to do an early error check and - the second is to clearly initialise the status variable. - - src/cairo-ps-surface.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 6eb0a9d97ff7eaaee69ca10e4081cb950a543ce3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Feb 15 21:27:29 2009 +0000 - - [scaled-font] Hold reference to original font face - - As noted by Carl during his LCA talk, caching of toy fonts was broken - because we create the scaled font using the implementation font face and - lose the reference to the containing font face that is cached by the toy - font face create routines. So the toy fonts were not being preserved for - the duration of the holdover scaled fonts and we recreated a new font - face, new scaled font and new glyph caches every time we needed a font. - - src/cairo-ft-font.c | 2 +- - src/cairo-scaled-font-private.h | 2 ++ - src/cairo-scaled-font.c | 17 +++++++++++++---- - src/cairo-toy-font-face.c | 1 + - 4 files changed, 17 insertions(+), 5 deletions(-) - -commit fe7d5323f5bc734e76179b74d68fcba9b924ba94 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Thu Feb 19 16:00:17 2009 -0500 - - Relanding: Add CAIRO_ENSURE_UNIQUE macro and use it in _cairo_error() - - When using MSVC, _cairo_error() can be folded into other identical functions. - If that happens, _cairo_error isn't really useful anymore. Using the - CAIRO_ENSURE_UNIQUE macro makes sure this doesn't happen. - - Use __asm to serve as a line delimiter. This allows us to use the - __asm{} block in a macro. - - src/cairo-compiler-private.h | 24 ++++++++++++++++++++++++ - src/cairo.c | 1 + - 2 files changed, 25 insertions(+) - -commit 78de0e045ec0c10708052ed48df228e786839ddb -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Thu Feb 19 15:45:11 2009 -0500 - - Revert "Add CAIRO_ENSURE_UNIQUE macro and use it in _cairo_error()" - - This reverts commit 126824f5e6279f56dab0c040394b6c326b848cf7. - - It turns out MSVC doesn't handle line continuation characters in __asm{} - blocks very well, so revert for now until I come up with something that - works. - - src/cairo-compiler-private.h | 24 ------------------------ - src/cairo.c | 1 - - 2 files changed, 25 deletions(-) - -commit 126824f5e6279f56dab0c040394b6c326b848cf7 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Thu Feb 19 13:31:55 2009 -0500 - - Add CAIRO_ENSURE_UNIQUE macro and use it in _cairo_error() - - When using MSVC, _cairo_error() can be folded into other identical functions. If - that happens, _cairo_error isn't really useful anymore. Using the - CAIRO_ENSURE_UNIQUE macro makes sure this doesn't happen. - - src/cairo-compiler-private.h | 24 ++++++++++++++++++++++++ - src/cairo.c | 1 + - 2 files changed, 25 insertions(+) - -commit d4227fc9126ffbb3a967aea1bc9795e7e64ee8e1 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Thu Feb 19 11:45:14 2009 -0500 - - [test] Fix assert on default font family in toy-font-face - - toy-font-face was checking that cairo_toy_font_face_get_family returned "" - which is CAIRO_FONT_FAMILY_DEFAULT when the freetype font backend is the - default. However, when other font backends are the default the returned family - is different. Therefore, instead of checking for "", we check for the appropriate - string depending on the backend. - - test/toy-font-face.c | 19 +++++++++++++++---- - 1 file changed, 15 insertions(+), 4 deletions(-) - -commit 06fa7a8386b267fdbd7635b952adc75a58f62584 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Wed Feb 18 18:43:29 2009 -0500 - - Fix a const warning in _cairo_user_data_array_foreach() - - _cairo_user_data_array_foreach() was taking a function - with a void *key parameter instead of a const void *key - to match cairo_user_data_slot_t. - - src/cairo-array.c | 2 +- - src/cairo-surface.c | 2 +- - src/cairoint.h | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -commit f7b3c9df5885a1cd7981ee12b91962bdbfff47af -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Mon Feb 16 22:28:32 2009 -0500 - - Add test/Makefile.sources - - This lets test/Makefile.am and test/Makefile.win32 share a common list of sources. - It also makes test/Makefile.win32 useful again. - - test/Makefile.am | 251 ++++---------------------------------------------- - test/Makefile.sources | 251 ++++++++++++++++++++++++++++++++++++++++++++++++++ - test/Makefile.win32 | 125 +++++-------------------- - 3 files changed, 293 insertions(+), 334 deletions(-) - -commit e380beae5382df547a1b538de94e90c0e2339141 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Mon Feb 16 14:01:43 2009 +0200 - - [sdl] Remove new backend. - - The SDL backend makes invalid assumptions about SDL_Surface locking - semantics and doesn't deal correctly with the unpremultiplied pixel - format supported by SDL. Removed as per discussion on the mailing list. - - http://lists.cairographics.org/archives/cairo/2009-February/016595.html - - boilerplate/Makefile.sources | 3 - - boilerplate/Makefile.win32.features | 10 - - boilerplate/cairo-boilerplate-sdl-private.h | 56 ---- - boilerplate/cairo-boilerplate-sdl.c | 69 ----- - boilerplate/cairo-boilerplate.c | 15 - - build/Makefile.win32.features | 1 - - build/Makefile.win32.features-h | 3 - - build/configure.ac.features | 1 - - configure.ac | 8 - - doc/public/tmpl/cairo-surface.sgml | 1 - - perf/Makefile.am | 4 - - perf/cairo-perf.c | 4 - - src/Makefile.sources | 3 - - src/Makefile.win32.features | 14 - - src/cairo-sdl-surface.c | 418 ---------------------------- - src/cairo-sdl.h | 54 ---- - src/cairo.h | 2 - - test/Makefile.am | 4 - - test/cairo-test-runner.c | 4 - - test/get-clip.c | 1 - - 20 files changed, 675 deletions(-) - -commit 79a72e63585d7fce7898f2c8bd997c6d88f8895f -Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk> -Date: Mon Feb 16 05:44:15 2009 -0500 - - Delete _cairo_region_boxes_fini() - - src/cairo-region.c | 6 ------ - 1 file changed, 6 deletions(-) - -commit f6daa664c1b2c894ba3baf2e7a72566bda1fd636 -Author: Søren Sandmann <sandmann@daimi.au.dk> -Date: Sun Feb 15 18:55:17 2009 -0500 - - Delete _cairo_region_get_boxes() in favor of _cairo_region_get_box() - - The _cairo_region_get_boxes() interface was difficult to use and often - caused unnecessary memory allocation. With _cairo_region_get_box() it - is possible to access the boxes of a region without allocating a big - temporary array. - - src/cairo-clip.c | 21 ++++++++----------- - src/cairo-directfb-surface.c | 21 ++++++++----------- - src/cairo-paginated-surface.c | 19 ++++++++--------- - src/cairo-region-private.h | 10 +++------ - src/cairo-region.c | 39 +++++++++-------------------------- - src/cairo-sdl-surface.c | 21 ++++++++----------- - src/cairo-surface.c | 44 +++++++++++++++------------------------ - src/cairo-win32-surface.c | 48 +++++++++++++++++++++---------------------- - src/cairo-xcb-surface.c | 26 ++++++++++------------- - src/cairo-xlib-surface.c | 31 ++++++++++++---------------- - 10 files changed, 112 insertions(+), 168 deletions(-) - -commit 54228cb5fe0c41b10f0ec4a206b5fac28823cde6 -Author: Eric Anholt <eric@anholt.net> -Date: Sun Feb 15 14:29:55 2009 -0800 - - [gl] Use textures and not fbo-based surfaces for image surface patterns. - - This cuts the BO allocation overhead for traps in more than half, and reduces - the load on the accelerator. - - src/cairo-gl-surface.c | 191 +++++++++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 176 insertions(+), 15 deletions(-) - -commit fcb13d262c5a09e56dc25c76103ef4ba623929ff -Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk> -Date: Sun Feb 15 15:59:10 2009 -0500 - - Simplify region handling in xlib surface - - src/cairo-xlib-surface.c | 11 +++-------- - 1 file changed, 3 insertions(+), 8 deletions(-) - -commit b43e7aee98a8d69677f7e6d2584fe01f550f896b -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Fri Feb 13 12:15:23 2009 -0500 - - [wince] We don't need cairo_win32_tmpfile on Windows CE - - _cairo_win32_tmpfile() uses _open_osfhandle() which is not available - on Windows CE. However, Windows CE doesn't have the permisions problems - that necessitated _cairo_win32_tmpfile() in the first place so we can just - use tmpfile() on Windows CE. - - src/cairo-misc.c | 5 ++++- - src/cairoint.h | 2 +- - 2 files changed, 5 insertions(+), 2 deletions(-) - -commit fa66291c8862ed592fca469ceab0ac9b1d270835 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jan 28 14:22:58 2009 +0000 - - [perf] Test non-antialiased fill. - - Just because the i915 can special case such fills using a single-pass - tessellation in the stencil buffer. - - perf/fill.c | 21 +++++++++++++++++++++ - 1 file changed, 21 insertions(+) - -commit aab9ed3432f0ea7b8b24990de4aa134bb599a3e5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 30 10:22:47 2009 +0000 - - [perf] Env variable to ignore similar targets whilst benchmarking. - - Use CAIRO_TEST_IGNORE_SIMILAR to skip similar targets. - - perf/cairo-perf.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 655f6987334b991763a5ab7746dbfd73c6b05f3e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Feb 6 20:11:17 2009 +0000 - - [perf] Split can_run? into a separate precondition. - - Allow tests to skip unnecessary setup when pruning the list of perf cases. - - perf/box-outline.c | 3 +++ - perf/cairo-perf.c | 24 ++++++++++++++++-------- - perf/cairo-perf.h | 4 ++++ - perf/composite-checker.c | 3 +++ - perf/dragon.c | 3 +++ - perf/fill.c | 3 +++ - perf/intersections.c | 3 +++ - perf/long-dashed-lines.c | 3 +++ - perf/long-lines.c | 3 +++ - perf/mosaic.c | 3 +++ - perf/paint-with-alpha.c | 3 +++ - perf/paint.c | 3 +++ - perf/pattern_create_radial.c | 3 +++ - perf/pythagoras-tree.c | 3 +++ - perf/rectangles.c | 3 +++ - perf/rounded-rectangles.c | 3 +++ - perf/spiral.c | 3 +++ - perf/stroke.c | 3 +++ - perf/subimage_copy.c | 3 +++ - perf/tessellate.c | 3 +++ - perf/text.c | 3 +++ - perf/twin.c | 3 +++ - perf/unaligned-clip.c | 3 +++ - perf/world-map.c | 3 +++ - perf/zrusin.c | 3 +++ - 25 files changed, 89 insertions(+), 8 deletions(-) - -commit 798581a1b5a8a56ce9d16c5b21eab82851061732 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 30 22:12:49 2009 +0000 - - [perf] Extend range of testing. - - Primarily to test longer glyph runs, but also test large upper bounds for - strokes and fills. - - perf/cairo-perf.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit 1522fac5c71708fc9e98e03da9f51926c1e3769c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Feb 3 17:18:53 2009 +0000 - - [perf] Fix infinite loop in text - - The row would wrap-around with the character index, causing an infinite - loop when trying to fill a window of size 512x512 and above. - - perf/text.c | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -commit 187e3473512e40fa1d046783e797ec3a198b09b2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Feb 13 13:09:32 2009 +0000 - - [test] Free ref_name in fallback-resolution. - - Trivial leak of a few thousand bytes. - - test/fallback-resolution.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 005436758c5679f76cc462841678fb93d6c7e0ac -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Feb 3 10:20:26 2009 +0000 - - [path] Inline path ops during append_to_context() - - By inlining the operations, and most significantly, precomputing the - combined user-to-backend matrix, we can achieve a speed up of over 50%, - which is a noticeable performance boost in swfdec - where append-to-path - accounts for over 35% [inclusive] of the time for a h/w accelerated - backend. - - src/cairo-path.c | 76 ++++++++++++++++++++++++++++++++++++++++++-------------- - 1 file changed, 58 insertions(+), 18 deletions(-) - -commit d295942b9d4da3be3318cd5fe2d3b0b1fe005d11 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jan 31 00:56:45 2009 +0000 - - Inline _cairo_restrict_value() - - This is one instance where the function call overhead dominated the - function call in both time and size. - - src/cairo-misc.c | 9 --------- - src/cairo-pattern.c | 32 ++++++++++++++++---------------- - src/cairo.c | 14 ++++++++------ - src/cairoint.h | 13 +++++++++++-- - 4 files changed, 35 insertions(+), 33 deletions(-) - -commit cc8a09567ca034e7d95e2ef8a3ec833b12c9f87a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Feb 13 13:23:50 2009 +0000 - - [surface] Move the meta-data copy-on-snapshot to the generic layer. - - As pointed out by Paolo Bonzini, copying the meta data for a snapshot is - common for all backends and so should be handled by the generic layer. - - src/cairo-surface-fallback.c | 11 ----------- - src/cairo-surface.c | 30 +++++++++++++++++++++++++++--- - 2 files changed, 27 insertions(+), 14 deletions(-) - -commit adaf70a93f4449e85997bcde531b76c9044758ea -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Feb 13 12:56:46 2009 +0000 - - [surface] Separate the mime-data from the user-data. - - Move the mime-data into its own array so that it cannot be confused with - user-data and we do not need to hard-code the copy list during - snapshotting. The copy-on-snapshotting code becomes far simpler and will - accommodate all future mime-types. - - Keeping mime-data separate from user-data is important due to the - principle of least surprise - the API is different and so it would be - surprising if you queried for user-data and were returned an opaque - mime-data pointer, and vice versa. (Note this should have been prevented - by using interned strings, but conceptually it is cleaner to make the - separation.) Also it aides in trimming the user data arrays which are - linearly searched. - - Based on the original patch by Adrian Johnson: - http://cgit.freedesktop.org/~ajohnson/cairo/commit/?h=metadata&id=37e607cc777523ad12a2d214708d79ecbca5b380 - - src/cairo-array.c | 36 ++++++++++++++++++++++++++++++++++++ - src/cairo-surface-fallback.c | 27 +++++++-------------------- - src/cairo-surface-private.h | 1 + - src/cairo-surface.c | 42 +++++++++++++++++++++--------------------- - src/cairoint.h | 14 ++++++++++++-- - 5 files changed, 77 insertions(+), 43 deletions(-) - -commit 2280de9d0282a599309ec12dc576bae54857f873 -Merge: 17ce8584e de7270cb1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Feb 13 10:08:21 2009 +0000 - - Merge branch '1.8' - -commit de7270cb1e9510cb230e80045c812fa68fcfa585 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Feb 13 10:03:22 2009 +0000 - - [cairo] Describe the restrictions upon cairo_set_tolerance() - - Truc Troung reported that the behaviour of - cairo_set_tolerance()/cairo_get_tolerance() was inconsistent with the - documentation, i.e. we failed to mention that the tolerance would be - restricted to the smalled fixed-point value. - - Add a sentence to the documentation that describes the restriction without - mentioning what that is... Hopefully that is sufficient detail to - accommodate the reporter, without exposing internal implementation details. - - Fixes https://bugs.freedesktop.org/show_bug.cgi?id=20095 - Bug 20095 - The cairo_set_tolerance() function behavior is inconsistency - with the spec - - src/cairo.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 17ce8584e7142d13bd7a777c9570e5548a06a90c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Feb 12 18:26:57 2009 +0000 - - [NEWS] Add API changes. - - Scan the public headers for obvious additions. - - NEWS | 20 +++++++++++++++++++- - 1 file changed, 19 insertions(+), 1 deletion(-) - -commit 2df611a3810eb64c8ed22dfae5f3d3157eef7e6a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Feb 10 10:28:28 2009 +0000 - - [script] Expose a normal xlib window for replay - - Provide a visible surface for replaying scripts against. - - util/cairo-script/csi-replay.c | 122 ++++++++++++++++++++++------------------- - 1 file changed, 66 insertions(+), 56 deletions(-) - -commit 8e1f103540392b17c51b4fb4b3c3480430cbc212 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Thu Feb 12 12:02:17 2009 -0500 - - Divert pclose to _pclose for MSVC - - Commit bf62798b1284533e28b78717dac8070ca6d29e54 added a diversion for - popen but not for pclose. This is needed for linking the boilerplate - with the test suite. - - src/cairo-compiler-private.h | 1 + - 1 file changed, 1 insertion(+) - -commit 4c6e7a16032fb223f4224d4355c2ea046cd8fc4b -Author: Eric Anholt <eric@anholt.net> -Date: Wed Feb 11 05:09:23 2009 -0800 - - [gl] Add support for constant color directly, not through a texture. - - src/cairo-gl-surface.c | 337 ++++++++++++++++++++++++++++++++++++------------- - 1 file changed, 248 insertions(+), 89 deletions(-) - -commit 31fb7382d22c9293c093b60716ee4e393fa0d5cf -Author: Eric Anholt <eric@anholt.net> -Date: Wed Feb 11 05:09:51 2009 -0800 - - [gl] Fix some memory leaks on boilerplate-based runs. - - boilerplate/cairo-boilerplate-gl.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit df96fc1f92b68ef3e76750d0891377980e039b09 -Author: Eric Anholt <eric@anholt.net> -Date: Mon Feb 9 15:42:09 2009 -0800 - - [gl] Avoid re-binding the same draw buffer. - - The driver could be smarter and avoid a lot of the cost, but this is easy - and avoids needing much driver smarts. - - src/cairo-gl-surface.c | 30 ++++++++++++++++++++---------- - 1 file changed, 20 insertions(+), 10 deletions(-) - -commit fb6937565be558e7ff8ba3dd815a427721783cba -Author: Eric Anholt <eric@anholt.net> -Date: Mon Feb 9 15:30:21 2009 -0800 - - [gl] Add interface for creating surfaces from window backbuffers. - - src/cairo-gl-surface.c | 85 +++++++++++++++++++++++++++++++++++++++++++++++--- - src/cairo-gl.h | 9 +++--- - 2 files changed, 85 insertions(+), 9 deletions(-) - -commit 6cc3d8dcc0fe418c56a519180163bd49fbdb9730 -Author: Eric Anholt <eric@anholt.net> -Date: Mon Feb 9 12:30:20 2009 -0800 - - [gl] Fix unantialiased-shapes tests. - - src/cairo-gl-surface.c | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - -commit 23a8c58dc13bd9ff44f235bee8e4e7240831728a -Author: Eric Anholt <eric@anholt.net> -Date: Thu Feb 5 11:00:59 2009 -0800 - - [gl] Fix infinite recursion on compositing A1 images. - - We could do this fast, but let's do it correct first. - - src/cairo-gl-surface.c | 28 ++++++++++++++++++++++++++++ - 1 file changed, 28 insertions(+) - -commit b6dde667fa1c72c6da1970244c4f28c48a38f493 -Author: Eric Anholt <eric@anholt.net> -Date: Mon Feb 2 23:22:49 2009 -0800 - - [gl] Add support for composite and composite_trapezoids. - - This is a simple implementation that uses GL_ARB_texture_env_combine after - converting everything to GL surfaces (FBOs). - - src/cairo-gl-surface.c | 375 ++++++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 373 insertions(+), 2 deletions(-) - -commit 38a1061bbcf3e69acc05c35f2084d462b43f5477 -Merge: b3e2433f1 e7d4bc3d8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Feb 12 10:46:29 2009 +0000 - - Merge branch '1.8' - -commit e7d4bc3d864b1b42bb1cae031036ddf6a4445d3c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Feb 12 10:42:24 2009 +0000 - - [png] Correct documentation to avoid reference to NULL - - As pointed out by Truc Truong, - cairo_image_surface_create_from_png_stream() cannot return NULL and so the - documentation was incorrect. - - Fixes http://bugs.freedesktop.org/show_bug.cgi?id=20075 - Bug 20075 There is a misprint in the spec for - cairo_image_surface_create_from_png_stream() function - - src/cairo-png.c | 17 +++++++++++++++-- - 1 file changed, 15 insertions(+), 2 deletions(-) - -commit b3e2433f1e78e8799a9f57bfb6da108016687fc9 -Author: Søren Sandmann <sandmann@redhat.com> -Date: Wed Feb 11 17:55:15 2009 -0500 - - Correct the reference image for the rotate-image-surface-paint test - - test/rotate-image-surface-paint.ref.png | Bin 190 -> 191 bytes - 1 file changed, 0 insertions(+), 0 deletions(-) - -commit 41cbd935f9dba276db716e2c71ac21dc60505be9 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Wed Feb 11 15:24:20 2009 -0500 - - [test] Add cairo_test_NaN and use it in place of strtod - - strtod("NaN") returns 0.0 with the MSVC runtime so we - need to generate NaN some other way. - - test/cairo-test.h | 15 +++++++++++++++ - test/invalid-matrix.c | 2 +- - test/user-font-rescale.c | 2 +- - 3 files changed, 17 insertions(+), 2 deletions(-) - -commit 70297f257d4dc0accb5183b806d43a033887acb7 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Tue Feb 10 17:58:28 2009 -0500 - - [test] Add crtdbg.h include - - crtdbg.h is required for _CrtSetReportMode() and _CrtSetReportFile(). - - test/cairo-test-runner.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit b9f0c4b25223830ce73f7e3adef85a0e97a31c0e -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Tue Feb 10 17:57:00 2009 -0500 - - Use _cairo_round() instead of round() - - MSVC doesn't have round() and the code probably wants - to round in the same direction regardless of whether - the values are negative or positive. - - src/cairo-font-face-twin.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -commit dffdbd85157395bceb27d30d6426aa47173f6a18 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Tue Feb 10 17:53:39 2009 -0500 - - Add _cairo_round() - - _cairo_round() has the same behaviour as _cairo_lround() except - it returns a double instead of an integer. - - src/cairoint.h | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit 41e46c7754fff3a99927979925300a7588b9962f -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Tue Feb 10 11:44:20 2009 -0500 - - [test] Don't embed preprocessor directives inside macros - - MSVC can't handle this. GCC will warn with -pedantic, but I'm not - sure we want to enable that. - - test/user-font-mask.c | 11 ++++++----- - test/user-font-proxy.c | 10 +++++----- - test/user-font.c | 10 +++++----- - 3 files changed, 16 insertions(+), 15 deletions(-) - -commit fe40d3bdb0d0cb93169b935e44d14b15e014fa6d -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Mon Feb 9 23:43:04 2009 -0500 - - [test] Allocate glyph array with malloc - - Keeping it on the stack causes a stack overflow of Window's - default 1mb stack. - - test/show-glyphs-many.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 50f8c2e4f3407ef237afd94c7317b1e185ccc9dc -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Mon Feb 9 23:39:38 2009 -0500 - - [test] define isnan() on MSVC - - Needed for user-font-rescale.c - - test/cairo-test.h | 4 ++++ - 1 file changed, 4 insertions(+) - -commit dd9fc47418b86610d7896fcf585037c96beaa66f -Author: Jeff Muizelaar <jeff@infidigm.net> -Date: Mon Feb 9 16:31:08 2009 -0500 - - Remove zero size data array for compilation with MSVC - - MSVC doesn't support zero sized arrays very well. For example, zero - sized arrays in arrays. - - src/cairo-tor-scan-converter.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit a6c8f18a391407044b33340cf13c49368a2e810e -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Mon Feb 9 15:59:01 2009 -0500 - - [test] Avoid C99 designated initializers - - MSVC doesn't support these so we shouldn't use them. - - test/path-precision.c | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -commit 3d2fcec948b93f75ba49b898633a84f60d419779 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Mon Feb 9 15:12:41 2009 -0500 - - [test] Define INFINITY on MSVC - - 1./0. produces a compiler error on MSVC so we'll use HUGEVAL instead. - - test/cairo-test.h | 3 --- - test/invalid-matrix.c | 4 ++-- - 2 files changed, 2 insertions(+), 5 deletions(-) - -commit 6fb4c6200c840d438e1c9cdd2c9e7b0f140863d8 -Author: Eric Anholt <eric@anholt.net> -Date: Thu Feb 5 10:29:01 2009 -0800 - - [gl] Clamp surface size to a minimum of (1,1) in create_similar. - - Fixes clip-zero test. - - src/cairo-gl-surface.c | 5 +++++ - 1 file changed, 5 insertions(+) - -commit a8a40810275ff0a59f5767034372523d34fbbd1b -Author: Eric Anholt <eric@anholt.net> -Date: Thu Feb 5 09:43:38 2009 -0800 - - [gl] clear surfaces to transparent on creation - - src/cairo-gl-surface.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit e7eb6dab12b9d622b80e4202d753324f7161b269 -Author: Eric Anholt <eric@anholt.net> -Date: Thu Jan 29 22:31:56 2009 -0800 - - [gl] Hook up fill_rectangles. - - First actual "acceleration" for cairogears. Actually slows things down since - we're now pingponging between cpu and gpu. - - src/cairo-gl-surface.c | 119 ++++++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 118 insertions(+), 1 deletion(-) - -commit 2ad5c3fc8fdb5941bdedcda3c972b3bae426fb32 -Author: Eric Anholt <eric@anholt.net> -Date: Wed Feb 4 13:10:47 2009 -0800 - - [gl] Add a shortcut from image to gl in clone_similar. - - src/cairo-gl-surface.c | 27 +++++++++++++++++++++++++++ - 1 file changed, 27 insertions(+) - -commit d9d56bb2ed552dd40415af53105a98b9d6ba39ab -Author: Eric Anholt <eric@anholt.net> -Date: Wed Feb 4 13:06:31 2009 -0800 - - [gl] Make create_similar actually create similar instead of image. - - src/cairo-gl-surface.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 90b30219b945d6cce941a1b702c9b789a60d8b27 -Author: Eric Anholt <eric@anholt.net> -Date: Thu Jan 29 22:27:39 2009 -0800 - - [gl] Replace all-software implementation with all-GL-read/drawpixels. - - src/cairo-gl-surface.c | 315 +++++++++++++++++++++++++++++++++++++++++++------ - 1 file changed, 282 insertions(+), 33 deletions(-) - -commit c22ca79863a54b4293e607c8e4d515868c216842 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Fri Feb 6 12:56:48 2009 -0500 - - Don't distribute cairo-features.h (#19992) - - Second time I fix this bug. Mabe we should add a test for it! - - src/Makefile.am | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -commit a55655a82de8dee0f171efb2f7dfb1da341ecdd6 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Fri Feb 6 12:47:38 2009 -0500 - - [test] Fix "make dist" - - doc/public/tmpl/cairo-status.sgml | 1 + - test/Makefile.am | 1 - - 2 files changed, 1 insertion(+), 1 deletion(-) - -commit af5ca7249f7628a8b0758f51934e3c1f6d9f4f36 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Thu Feb 5 16:46:50 2009 -0500 - - [test] Fix the definition of INFINITY - - In my defence, even with INFINITY as 0, I was seeing new asserts on win32. - Caught by Jeremy Lea. - - test/invalid-matrix.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 235de8d7a492ccd132fb83f78d33b408bd76aec1 -Author: Eric Anholt <eric@anholt.net> -Date: Thu Jan 29 09:19:01 2009 -0800 - - [gl] Add basics for GL surface backend using test-fallback as base. - - boilerplate/Makefile.sources | 3 + - boilerplate/Makefile.win32.features | 10 + - boilerplate/cairo-boilerplate-gl-private.h | 59 ++++++ - boilerplate/cairo-boilerplate-gl.c | 124 +++++++++++++ - boilerplate/cairo-boilerplate.c | 25 +++ - build/Makefile.win32.features | 1 + - build/Makefile.win32.features-h | 3 + - build/configure.ac.features | 1 + - configure.ac | 7 + - perf/cairo-perf.c | 1 + - src/Makefile.sources | 4 + - src/Makefile.win32.features | 14 ++ - src/cairo-gl-surface.c | 287 +++++++++++++++++++++++++++++ - src/cairo-gl.h | 89 +++++++++ - src/cairo-mutex-list-private.h | 4 + - src/cairo.h | 4 +- - 16 files changed, 635 insertions(+), 1 deletion(-) - -commit 83ec4b16b7b9a27439fee2d84c50e30a1ec2d68c -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Wed Feb 4 14:04:05 2009 -0500 - - Elaborate the meaning of arithmetic rounding as done by _cairo_lround() - - src/cairo-misc.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2676b3bdd6fbeef62d34c100718f76fe5bbe647d -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Tue Feb 3 14:18:44 2009 -0500 - - [test] Define INFINITY if it hasn't been defined. - - This lets us use more of invalid-matrix on win32 - - test/cairo-test.h | 3 +++ - test/invalid-matrix.c | 22 ++-------------------- - 2 files changed, 5 insertions(+), 20 deletions(-) - -commit 6b0c2c8ba61b6fdaad4c77e1a7c02c13c70e03c4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jan 31 11:58:19 2009 +0000 - - [directfb] Don't access the scaled_font->glyphs cache directly - - Not only does it no longer exist, but doing so bypassed the locking - mechanisms and sanity checks! - - Spotted by Lance Hepler. - - src/cairo-directfb-surface.c | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -commit d63c1ab3ffcb64220a05c80e674324f524f29dc2 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Sat Jan 31 22:10:57 2009 -0500 - - [util/malloc-stats] Do a single backtrace_symbols() call - - I was hoping that this may speed things up, but it didn't. :( - - util/malloc-stats.c | 58 +++++++++++++++++++++++++++++++++++++++++++++-------- - 1 file changed, 50 insertions(+), 8 deletions(-) - -commit 64d1c7587041f765b393e1802a10cce02b807ad1 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Sat Jan 31 21:34:21 2009 -0500 - - [util] Fix memset bug in malloc-stats - - util/malloc-stats.c | 9 ++++----- - 1 file changed, 4 insertions(+), 5 deletions(-) - -commit b02aeb367dc4bada5412798fa93ce74f3d861273 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Sat Jan 31 21:33:42 2009 -0500 - - [util] Don't link backtrace-symbols into malloc-stats - - On my rawhide machine, seems like the glibc backgrace-symbols is now as - good as our private backtrace-symbols. - - util/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 7375f4c76bb169cc24d5d714520c337172d3cf69 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 30 21:54:56 2009 +0000 - - Trivial warning fixes. - - Cleanup a few compiler warnings about unused variables and mismatching - pointer types. - - src/cairo-bentley-ottmann.c | 1 - - src/cairo-ps-surface.c | 4 ++-- - 2 files changed, 2 insertions(+), 3 deletions(-) - -commit f10eaadf89fa94172a81c05a59febab3f7e32396 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 30 21:50:24 2009 +0000 - - Revert "[png] Complete the idempotent read_png() -> write_png()" - - This reverts commit 564d64a1323c5cbcde2dd9365ac790fe8aa1c5a6. - - In hindsight, and with further discussion with Jeff Muizelaar, this - behaviour of using the stored contents from the mime-data is completely - the opposite of the users' expectations. When the user calls - cairo_surface_write_to_png(), usually in the course of debugging their - rendering code, they expect the precise contents of the surface to be - saved. - - src/cairo-png.c | 14 -------------- - 1 file changed, 14 deletions(-) - -commit dd11d905a54a123ddf619e5f0194fb1800ba643d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 30 10:09:29 2009 +0000 - - [util] Use a hash-table for malloc-stats. - - At Behdad's request, convert the array of allocators into a simple hash - table (large static number of buckets + chaining) in order to speed up - malloc profiling. - - util/malloc-stats.c | 150 ++++++++++++++++++++++++++++++++++++---------------- - 1 file changed, 103 insertions(+), 47 deletions(-) - -commit 322fb00066cc4655122fcf7d738a0cbbe46fcdd1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jan 29 22:05:06 2009 +0000 - - [test] Compile again without memfault. - - Hide the valgrind macro when not using memfault. - - test/cairo-test.c | 26 ++++++++++++++++---------- - 1 file changed, 16 insertions(+), 10 deletions(-) - -commit 5e6d25e204b681c5d5fba90abfe4d7401f23460f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 17 20:47:09 2008 +0000 - - [skiplist] Provide an initial stack allocated pool. - - Since we only need to allocate elts for intersection events and edges, the - number of elts in flight at any one time is actually quite small and can - usually be accommodated from an embedded pool. - - src/cairo-bentley-ottmann.c | 33 ++++++++++----------------------- - src/cairo-skiplist-private.h | 9 +++++---- - src/cairo-skiplist.c | 13 ++++++------- - 3 files changed, 21 insertions(+), 34 deletions(-) - -commit dd4276c6618aa250637e4499bc7cb0a35b24448c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Nov 30 13:49:24 2008 +0000 - - [stroker] Rectilinear dashing. - - Extend the rectilinear stroker to handle dashes, so that for pixel-aligned - dashed strokes we completely avoid tessellation overhead. - - src/cairo-matrix.c | 3 +- - src/cairo-path-stroke.c | 492 +++++++++++++++++---- - src/cairo-pen.c | 11 +- - src/cairo-stroke-style.c | 18 +- - src/cairoint.h | 11 +- - test/Makefile.am | 4 +- - test/leaky-dashed-rectangle.pdf.ref.png | Bin 0 -> 347 bytes - ...2.ref.png => leaky-dashed-rectangle.ps.ref.png} | Bin - test/leaky-dashed-rectangle.ps3.ref.png | Bin 444 -> 0 bytes - test/leaky-dashed-rectangle.ref.png | Bin 366 -> 347 bytes - 10 files changed, 437 insertions(+), 102 deletions(-) - -commit 7f95288c03a400bf770165d427ef623d924b3b47 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jan 29 09:47:01 2009 +0000 - - [ft] Improve error status propagation. - - Propagate the error status from deep within the bowels, in order to reduce - the number of duplicate _cairo_error() and generally clean up the return - values. - - src/cairo-ft-font.c | 65 ++++++++++++++++++++++++++--------------------------- - 1 file changed, 32 insertions(+), 33 deletions(-) - -commit 53bd2ae2ce27f9b954f34bc9921d798c9a074125 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 26 21:36:27 2009 +0000 - - [ft] Distinguish fatal backend errors whilst constructing scaled fonts. - - We now have the ability to distinguish an error case where the backend is - left in an inconsistent state from a transitory error. For the former we - need to report the error condition via the return value, which will be - propagated to the font-face. For the latter we just construct an in-error - scaled font nil-object which is passed back to the user. - - src/cairo-ft-font.c | 38 ++++++++++++++++++++++++++------------ - 1 file changed, 26 insertions(+), 12 deletions(-) - -commit f17aeedab31753974cce027f92571107425b1bcd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 26 21:11:41 2009 +0000 - - [scaled-font] Differentiate fatal error when creating fonts - - We only want to set the error state on the backend when it implies that - the font-face is in an inconsistent state. For example, this may be due to - a locking error in the backend or that we have detected a corrupt font. - - In contrast, if we merely fail to allocated the scaled font then we just - wish to return that error to the user, without making the font-face itself - inert. - - src/cairo-scaled-font.c | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -commit 58cab06c4c2c49bbecb11efaae6b41d30c06eff0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 26 20:52:29 2009 +0000 - - [scaled-font] Guard against invalid matrices when creating the scaled font. - - Check the user input for validity before passing the values on to the - backend. Currently the error is detected by the backend and the error is - propagated onto the font-face. - - src/cairo-scaled-font.c | 22 ++++++++++++++++++++-- - 1 file changed, 20 insertions(+), 2 deletions(-) - -commit 97c88f2af04b6bc5161fa2b567b5e922d7fd326a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 26 20:51:02 2009 +0000 - - [surface] Fix memleak of along set_mime_data() error path - - Free the mime_data holder if we fail to attach it to the surface. - - src/cairo-surface.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -commit d20e5fc2d95c61ab04e085bf3a99d2cb958421a5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 26 15:08:58 2009 +0000 - - [ps] Free images after emitting patterns. - - Ensure that the temporary images are freed after we finish with the - pattern. - - Note that we are using 3 members of the surface for temporary storage - whilst emitting patterns, this should be reviewed. - - src/cairo-ps-surface-private.h | 3 +++ - src/cairo-ps-surface.c | 18 ++++++++++++++++-- - 2 files changed, 19 insertions(+), 2 deletions(-) - -commit e6102dbe028ca93db936b2f4cd6368e2ba0a2209 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 26 14:00:13 2009 +0000 - - [png] Avoid a double free of the memory stream after error. - - _cairo_memory_stream_destroy() finalizes the stream even if the stream was - in error and that error is reported back to the caller - so ensure we - don't try to free the stream again. - - src/cairo-png.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0f3e366f8bbbaa80b518eb1b0297a6122901ce66 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 26 10:54:45 2009 +0000 - - [font-face] Close a race when resurrecting fonts. - - Paul Messmer provided a thorough analysis of a race between destroying the - final reference on a font and a concurrent recreation of the font - - demonstrating how it is possible for the create() to return the font that - was in the process of being freed. - - To stop the race, we need to recheck the reference count upon taking the - mutex guarding the hash table. - - src/cairo-ft-font.c | 6 ++++++ - src/cairo-toy-font-face.c | 6 ++++++ - 2 files changed, 12 insertions(+) - -commit 312b5680a5754c8e7ee1332206b81449cf9bf8a3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 23 21:13:15 2009 +0000 - - [cff-subset] Free ps_name. - - Ensure ps_name is freed along error paths and by the normal destructor. - - src/cairo-cff-subset.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 5176507fcb61ae1ec1143aa0b6b098bc92575c48 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 23 13:37:54 2009 +0000 - - [truetype] Free font name. - - Remember to free the font name on destruction. - - src/cairo-truetype-subset.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit ab0ac1b8a84b0d259602f0029a3b5552466f35a6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jan 29 09:45:11 2009 +0000 - - [truetype] Initialise font_name - - Ensure the font_name is initialized to NULL. - - src/cairo-cff-subset.c | 2 ++ - src/cairo-truetype-subset.c | 1 + - 2 files changed, 3 insertions(+) - -commit 8388af137841679b7c510980daf3cec1427b6e6b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jan 29 09:50:38 2009 +0000 - - [test] Trivial fixes for error paths. - - Kill a few leaks along error paths in the test code. - - test/create-from-png-stream.c | 36 ++++++++++++++++++++++++++++-------- - test/mime-data.c | 4 ++++ - 2 files changed, 32 insertions(+), 8 deletions(-) - -commit 3752f690b467432ab5b1058d450cb79d719a794a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jan 29 09:49:41 2009 +0000 - - [test] Suppress suppressed memfault report - - Check to see if there are any *unsuppressed* memfaults before declaring - unreported faults. - - test/cairo-test.c | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -commit 8dc4c0da9b13b16c593e874d59c13a89a77a2481 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 23 13:17:24 2009 +0000 - - [toy-font] Fix unwind behaviour following error during construction. - - We failed to cleanup the font face correctly after an allocation failure - during _cairo_toy_font_face_init() leading to memleaks and live entries - being left in the font-face hash tables. - - src/cairo-toy-font-face.c | 43 +++++++++++++++++++++---------------------- - 1 file changed, 21 insertions(+), 22 deletions(-) - -commit 1d52fbc8f4f70e9e2419a6ed66cd907552d1d13b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 23 12:51:52 2009 +0000 - - [tessellator] Memleak on error path. - - Add a missing _cairo_skip_list_fini() after failure to allocate the - events. - - src/cairo-bentley-ottmann.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 6b5d2bf1a742b34a58d65f188fe15ffbf2f83118 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 23 10:42:42 2009 +0000 - - [trace] Comment out the redundant wrapping of FT_Open_Face() - - Remove the left-over debugging spew, but leave a comment to hopefully - clarify the situation with wrapping FT_Open_Face(). - - util/cairo-trace/trace.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit faa004033cde21cd81890c7f82abae8eb766bb4b -Author: Carl Worth <cworth@cworth.org> -Date: Thu Jan 22 11:52:54 2009 +1100 - - cairo-trace: Print name of trace file. - - It's just a lot easier to use cairo-trace if it tells you - what file it just created. - - util/cairo-trace/trace.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit d108b2777fcd6ef4fa45aeeef457dc58522e325b -Author: Daniel Holbert <dholbert@mozilla.com> -Date: Fri Jan 23 10:18:48 2009 +0000 - - Spelling corrections: s/it's/its/ - - As a fun itch to scratch, I've been fixing incorrect uses of the - contraction "it's" in comments within the mozilla source tree (tracked - in https://bugzilla.mozilla.org/show_bug.cgi?id=458167 ), and I ran - across 6 instances of this typo in mozilla's snapshot of cairo. - - Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> - - src/cairo-ft-font.c | 2 +- - src/cairo-matrix.c | 2 +- - src/cairo-mutex-impl-private.h | 2 +- - src/cairo-pdf-operators.c | 2 +- - src/cairo-surface-fallback.c | 2 +- - 5 files changed, 5 insertions(+), 5 deletions(-) - -commit 6394ec3048f31b867d9588853fa400c6c630c6f1 -Author: Paolo Bonzini <bonzini@gnu.org> -Date: Mon Dec 15 09:32:43 2008 +0100 - - [surface] add CAIRO_STATUS_INVALID_SIZE - - Adds an error code replacing CAIRO_STATUS_NO_MEMORY in one case where it - is not really appropriate. CAIRO_STATUS_INVALID_SIZE is used by several - backends that do not support image sizes beyond 2^15 pixels on each side. - - Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> - - src/cairo-misc.c | 4 +++- - src/cairo-os2-surface.c | 9 +++++---- - src/cairo-quartz-image-surface.c | 5 +++-- - src/cairo-quartz-surface.c | 4 ++-- - src/cairo-spans.c | 2 ++ - src/cairo-surface.c | 1 + - src/cairo-xlib-surface.c | 7 +++---- - src/cairo.h | 6 ++++-- - src/cairoint.h | 2 +- - 9 files changed, 24 insertions(+), 16 deletions(-) - -commit 46acfd2e85dd6f7a73e1172d363d509c769376f2 -Author: Paolo Bonzini <bonzini@gnu.org> -Date: Tue Dec 23 08:31:30 2008 +0100 - - [glitz] use image fallback if the cairo_content_t is unsupported - - The agreement on the mailing list was that returning NULL is the right - thing to do, and indeed the callers of _cairo_glitz_surface_create_similar - are prepared to receive NULL and return CAIRO_STATUS_INT_UNSUPPORTED in - that case. - - Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> - - src/cairo-glitz-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 01d20b79daf0abe0f69ccec4ecd5122c5bfe9a4e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 23 10:09:37 2009 +0000 - - [scaled-font] Fix up syntax in doc comments - - The old NULL vs %NULL conflict. - - src/cairo-scaled-font-subsets-private.h | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -commit aaec63d48386ec825cd4d6e67b6adf7c5fd3b167 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Nov 21 15:04:47 2008 +0000 - - [scaled-font] Global glyph cache - - Currently glyphs are cached independently in each font i.e. each font - maintains a cache of up to 256 glyphs, and there can be as many scaled fonts - in use as the application needs and references (we maintain a holdover - cache of 512 scaled fonts as well). - - Alternatively, as in this patch, we can maintain a global pool of glyphs - split between all open fonts. This allows a heavily used individual font - to cache more glyphs than we could allow if we used per-font glyph caches, - but at the same time maintains fairness across all fonts (by using random - replacement) and provides a cap on the maximum number of global glyphs. - - The glyphs are allocated in pages, which are cached in the global pool. - Using pages means we can exploit spatial locality within the font - (nearby indices are typically used in clusters) to reduce frequency of small - allocations and allow the scaled font to reserve a single MRU page of - glyphs. This caching dramatically reduces the cairo overhead during the - cairo-perf benchmarks, and drastically reduces the number of allocations - made by the application (for example browsing multi-lingual site with - firefox). - - boilerplate/cairo-boilerplate.c | 5 +- - src/cairo-cache-private.h | 8 ++ - src/cairo-cache.c | 36 +++-- - src/cairo-hash-private.h | 4 + - src/cairo-hash.c | 117 ++++++++++----- - src/cairo-mutex-list-private.h | 1 + - src/cairo-scaled-font-private.h | 6 +- - src/cairo-scaled-font.c | 306 ++++++++++++++++++++++++++++------------ - src/cairoint.h | 9 +- - 9 files changed, 351 insertions(+), 141 deletions(-) - -commit 54f6a49ebb18cf396823d0d70b95e4e264142171 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 19 15:36:29 2009 +0000 - - [bounds] Skip spline evaluation based on bounding bbox of control points. - - The bounding polygon of the control points, defines the extents of the - spline. Therefore if the control points are entirely contained within the - current path extents, so is the spline and we do not need to evaluate its - tight bounds. - - src/cairo-path-bounds.c | 21 +++++++++++++++++++-- - 1 file changed, 19 insertions(+), 2 deletions(-) - -commit e217c4da7bc5c4817e0d829ff61dd2bd5b3145a6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 19 15:28:05 2009 +0000 - - [in-stroke] Check point against extents before computing path. - - We can avoid tessellating the path entirely by first checking whether the - query point is inside the path extents. - - src/cairo-gstate.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -commit 48f9a0e6da0dd24ea9c809876ef3c745dcfd0d52 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jan 15 00:26:03 2009 +0000 - - [spline] Correct the definition of a cubic Bezier curve. - - Add the missing coefficients for p1 and p2 so the derivation of the - derivative and the solution for its inflection points stands correct. - - src/cairo-spline.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit ee7ac5681fa6a74b68beeae667d96d1421050fc9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jan 21 12:04:06 2009 +0000 - - [path] A degenerate curve_to becomes a line_to. - - Be consistent. - - src/cairo-path-fixed.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 778ced4879b09f7482bd41c398bf2d984754ed0b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jan 14 18:55:32 2009 +0000 - - [path] Rename _cairo_path_fixed_approximate_extents() - - Rename approximate_extents() to approximate_clip_extents() so that it is - consistent with the fill and stroke variants and clearer under what - circumstances you may wish to use it. - - src/cairo-analysis-surface.c | 2 +- - src/cairo-clip.c | 4 ++-- - src/cairo-path-bounds.c | 4 ++-- - src/cairo-surface-fallback.c | 2 +- - src/cairoint.h | 4 ++-- - 5 files changed, 8 insertions(+), 8 deletions(-) - -commit 75f7c420b624049c1f6c51795679f8029cd2231d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jan 21 13:09:41 2009 +0000 - - [perf] Remove a redundant clear during source init. - - After a short wild goose chase to see why - cairo_image_surface_fill_rectangles() was appearing in the profile, - tweak init_and_set_source_surface() to remove the redundant clear and - to propagate any errors in the auxiliary context. - - perf/cairo-perf-cover.c | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) - -commit 706f6de68da65911f434d2065dcb143649fa793e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jan 18 16:47:59 2009 +0000 - - [perf] Add another variation on the many-rectangles case - - This variation aims to show the difference between calling fill once - per-rectangle, or once for all rectangles. - - perf/rectangles.c | 20 ++++++++++++++++++++ - 1 file changed, 20 insertions(+) - -commit ff5d37a8ad063e84e88f453a403715bc85f8a3ec -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jan 29 10:09:11 2009 +0000 - - [mutex] Civilise the comment. - - Note bene that Behdad does not like people shouting. - - src/cairo-mutex-impl-private.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f4ff6128d7fb6e4b5ba361a597fc6c0c88d5ec00 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Wed Jan 28 17:16:32 2009 -0500 - - Avoid "empty body in an if-statement" warning - - Use '(void)expr;' instead of 'if (expr) ;' to avoid getting the warning. - 'if (expr) {}' is an option, however '(void)expr;' seems like a more common - idiom and getting warnings for __attribute__((warn_unsed_result)) functions is - probably prefered. - - src/cairo-mutex-impl-private.h | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit 41feeedcc14bf8caef3c039de49f4f28143712c7 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Wed Dec 3 23:58:22 2008 +1030 - - Use PS font name in PS TrueType fonts - - src/cairo-ps-surface.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -commit b7a9e1d4ac3972bc3d215070124b6a9eda68d3e3 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Wed Dec 3 23:58:05 2008 +1030 - - Embed full font name in PDF TrueType and CFF fonts - - if the full font name was available in the font. - - src/cairo-pdf-surface.c | 32 ++++++++++++++++++++++++-------- - 1 file changed, 24 insertions(+), 8 deletions(-) - -commit 6f2db9a4b07cde2c4932ea481228abc248e90145 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Wed Dec 3 23:57:38 2008 +1030 - - Use PS font name in CFF and TrueType PDF font subsets - - James Cloos found that the font name in embedded fonts should be the - PostScript font name (nameID=6 in the name table). - - http://lists.cairographics.org/archives/cairo/2008-December/015919.html - - src/cairo-cff-subset.c | 70 +++++++++++++++--------- - src/cairo-pdf-surface.c | 16 +++--- - src/cairo-scaled-font-subsets-private.h | 19 +++++-- - src/cairo-truetype-subset.c | 97 +++++++++++++++++++++++---------- - 4 files changed, 136 insertions(+), 66 deletions(-) - -commit 2ed08f7801a2af27e35afcf57f00f4bf5d48384a -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Wed Dec 3 23:56:01 2008 +1030 - - Factor out duplicate code in truetype and cff subsetting - - The code for reading the font name from the name table has been moved - to a new function: _cairo_truetype_read_font_name(). - - src/cairo-cff-subset.c | 60 ++----------- - src/cairo-scaled-font-subsets-private.h | 18 ++++ - src/cairo-truetype-subset.c | 149 +++++++++++++++++++------------- - 3 files changed, 114 insertions(+), 113 deletions(-) - -commit 1deb1e451022b9dd5aa6ecb0b580b006047b630e -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Tue Nov 25 23:11:01 2008 +1030 - - PDF: Include subset tag in font name - - PDF requires font names of subsetted fonts to be preprended with - "XXXXXX+" where XXXXXX is a sequence of 6 uppercase letters unique the - font and the set of glyphs in the subset. - - src/cairo-pdf-surface.c | 112 ++++++++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 104 insertions(+), 8 deletions(-) - -commit c4e54629bb444ed3e850ca8deec175936b90c4e4 -Author: Carl Worth <cworth@cworth.org> -Date: Thu Jan 22 12:26:55 2009 +1100 - - Add details to test/COPYING about license of bundled fonts. - - Just the public-doamin 6x13.pcf file for now, but Adrian will - be bundling more soon. - - test/COPYING | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit 6801f28f6dfeb21eec44052e75156e9d2b82422e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jan 14 13:59:28 2009 +0000 - - [perf] Add a utility to compare backends. - - A minor variation on cairo-perf-diff-files that compares tests with the - same name for multiple backends. - - perf/.gitignore | 1 + - perf/Makefile.am | 8 +- - perf/cairo-perf-compare-backends.c | 393 +++++++++++++++++++++++++++++++++++++ - perf/cairo-perf-diff-files.c | 2 +- - perf/cairo-perf-graph-files.c | 2 +- - perf/cairo-perf-report.c | 43 +++- - perf/cairo-perf.h | 9 +- - 7 files changed, 448 insertions(+), 10 deletions(-) - -commit 4c79cd480db1cf10b6018bce3ea966587efc6081 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Jan 13 12:52:52 2009 +0000 - - [perf] Tweak dragon to hit fill_rectangles(). - - Add a second dragon path that is pixel-aligned and uses a solid pattern, - so that it can be drawn using fill-rectangles. - - perf/dragon.c | 42 +++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 41 insertions(+), 1 deletion(-) - -commit de9e6b5a3f4e4752e0f99e3ae20ac263a5aae4bb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 12 01:00:30 2009 +0000 - - [perf] Cover linear gradient with 3 stops. - - The i915 is able to special case gradients with just 2 color stops to - avoid creating temporary gradient textures, so add a 3 stop linear - gradient to compare the speed difference. - - perf/cairo-perf-cover.c | 36 ++++++++++++++++++++++++++++++++++++ - 1 file changed, 36 insertions(+) - -commit 7cbc55f21624159dfa58a9a50ec004af9368ab3d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jan 10 00:12:06 2009 +0000 - - [perf] Add scaled similar surface sources. - - Cover the similar source with min/mag scale factors as well, so we can - compare the performance impact with scaled image sources. This is useful - to distinguish between transport overhead and transform cost. - - perf/cairo-perf-cover.c | 44 ++++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 40 insertions(+), 4 deletions(-) - -commit afce1cfe987eeec6516aed1eb8fd97c2d3b9b07b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 9 14:22:36 2009 +0000 - - [scaled-font] Avoid repeated lookup of the same unicode during text->glyphs - - Performing the unicode to index is quite expensive, the - FcFreeTypeCharIndex() taking over 12% in the cairo-perf text benchmarks. - By adding a simple cache of translated unicode indices, we save around 25% - of the lookups during benchmarks, with a relative reduction in runtime. - - src/cairo-scaled-font.c | 63 ++++++++++++++++++++++++++++++++----------------- - 1 file changed, 41 insertions(+), 22 deletions(-) - -commit 49eca78a4265432e285af58435219e8b804b38bb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Jan 12 12:42:46 2009 +0000 - - [test] Add a huge-radial test case. - - Also test the handling of radial gradients with large radii. - - test/Makefile.am | 11 ++-- - test/{huge-pattern.c => huge-linear.c} | 6 +- - ...pattern.ps3.ref.png => huge-linear.ps3.ref.png} | Bin - test/{huge-pattern.ref.png => huge-linear.ref.png} | Bin - test/huge-pattern.pdf.argb32.ref.png | Bin 2430 -> 0 bytes - test/huge-pattern.pdf.ref.png | Bin 2716 -> 0 bytes - test/huge-pattern.pdf.rgb24.ref.png | Bin 2817 -> 0 bytes - test/huge-radial.c | 69 +++++++++++++++++++++ - test/huge-radial.ps3.ref.png | Bin 0 -> 18449 bytes - test/huge-radial.ref.png | Bin 0 -> 41702 bytes - 10 files changed, 79 insertions(+), 7 deletions(-) - -commit 7709d1d9d43a42dd8f9293f18141c57c76ca0970 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Jan 7 21:12:21 2009 +0000 - - [test] Add fill-image. - - A filled equivalent of stroke-image, that checks that the pattern - matrices are applied correctly during fills - useful with the - segregation between fills and strokes introduced by spans. - - test/Makefile.am | 2 ++ - test/fill-image.c | 83 ++++++++++++++++++++++++++++++++++++++++++++++++ - test/fill-image.ref.png | Bin 0 -> 1317 bytes - 3 files changed, 85 insertions(+) - -commit 5605e4bfcd0b6e3e34eed3785bc8ae51b24a7385 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Jan 4 11:26:45 2009 +0000 - - [test] Propagate failure from painting large-source-roi - - Use cairo_get_target() to propagate any failure when creating the - large-source. - - test/large-source-roi.c | 28 ++++++++++++++++++++-------- - 1 file changed, 20 insertions(+), 8 deletions(-) - -commit 59a14f622389ae3f34f93c78b709df2ad6d1d624 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Sat Jan 10 13:09:06 2009 -0500 - - Comment win32 maintainer-clean files again - - Makefile.am | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit cc5119173918623ce13363f4b25cd06076fc3fbc -Author: Søren Sandmann Pedersen <sandmann@redhat.com> -Date: Sat Jan 10 12:13:40 2009 -0500 - - Uncomment win32 maintainer-clean files to make Makefile.am syntactically correct - - Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 06deaa98b67f9e674a6933a8f54dae6a45faf6ff -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Fri Jan 9 15:55:24 2009 -0500 - - [build] Include all generated win32 build files in the repo - - So a git clone can be built on win32. The files only change after adding - new backends. - - Makefile.am | 4 +- - boilerplate/.gitignore | 2 +- - boilerplate/Makefile.am | 2 +- - boilerplate/Makefile.win32.features | 233 +++++++++++++++++++++++++++ - build/.gitignore | 4 +- - build/Makefile.win32.features | 22 +++ - build/Makefile.win32.features-h | 70 ++++++++ - src/.gitignore | 3 +- - src/Makefile.am | 2 +- - src/Makefile.win32.features | 311 ++++++++++++++++++++++++++++++++++++ - 10 files changed, 644 insertions(+), 9 deletions(-) - -commit a5c1cdf2b030959309e1645bd115f058f1367296 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Thu Nov 13 12:11:12 2008 +0200 - - [clip] Fix uninitialised status return in _cairo_clip_intersect_mask() for empty extents. - - This fixes the clip-all test case crashing for me. - - src/cairo-clip.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8157bc8a2dc0d555606d19ad52ae7a603471edd6 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sun Jan 4 04:14:28 2009 +0200 - - [test] Stress test using large source images. - - This test attempts to trigger failures in those backend clone_similar - methods that have size restrictions on the resulting image. It also - triggers errors in scaling down large image surfaces as the image - backend also fails this test. - - test/Makefile.am | 2 ++ - test/large-source-roi.c | 64 ++++++++++++++++++++++++++++++++++++++++++ - test/large-source-roi.ref.png | Bin 0 -> 102 bytes - 3 files changed, 66 insertions(+) - -commit 388ae177e4100698289819429fa1f8e6958d1c60 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jan 3 22:51:28 2009 +0000 - - [boilerplate] Remove CAIRO_BOILERPLATE_LOG() - - The variadic macro is only used within boilerplate/ so replace it with a - simple, and portable, call to fprintf. - - boilerplate/cairo-boilerplate-beos.cpp | 19 +++---------------- - boilerplate/cairo-boilerplate-glitz-agl.c | 10 +++++----- - boilerplate/cairo-boilerplate-glitz-glx.c | 6 +++--- - boilerplate/cairo-boilerplate-glitz-wgl.c | 10 +++++----- - boilerplate/cairo-boilerplate-system.c | 16 ++++++++-------- - boilerplate/cairo-boilerplate-xcb.c | 4 ++-- - boilerplate/cairo-boilerplate.h | 4 ---- - test/cairo-test.h | 1 - - 8 files changed, 26 insertions(+), 44 deletions(-) - -commit 5f816ccd25d1cd303fc1e9e44e80c1207b2a424a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jan 3 22:30:55 2009 +0000 - - [boilerplate] Redefine DEBUG() for portability concerns - - Behdad warned that using an empty variadic macro was non-portable. - - boilerplate/cairo-boilerplate-xlib.c | 18 +++++++++--------- - boilerplate/cairo-boilerplate.h | 2 +- - 2 files changed, 10 insertions(+), 10 deletions(-) - -commit acb2717372f3862ddbde8cfdc814132808b71f86 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jan 3 21:50:55 2009 +0000 - - [quartz] Define RTLD_DEFAULT - - RTLD_DEFAULT is a gnu-ism (at least according to the manpage on my linux - system) so declare _GNU_SOURCE before including dlfcn.h and failing that - provide our own definition. - - src/cairo-quartz-surface.c | 5 +++++ - 1 file changed, 5 insertions(+) - -commit ff1f5de5511ba0b7842b53223c26986e4bcdc38a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Jan 3 11:44:58 2009 +0000 - - [boilerplate] Suppress xlib warnings on stderr - - If we cannot test the xlib backend simply because there is no Display, - just report UNTESTED and do not clutter the output with superfluous - warnings [see the output from the buildbots for an example]. However, - keep the warnings around so that a developer can re-enable them - and so simply move them to a new "lower priority" macro. - - boilerplate/cairo-boilerplate-xlib.c | 18 +++++++++--------- - boilerplate/cairo-boilerplate.h | 4 ++++ - 2 files changed, 13 insertions(+), 9 deletions(-) - -commit 75538962c8af11b1ec669caca6259b7769b5cc1d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 2 17:45:26 2009 +0000 - - [boilerplate] Check the return of pclose() - - pclose() returns the child exit status, so we can use that to detect - errors in the convertor process. - - boilerplate/cairo-boilerplate.c | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -commit 333158ec85cf3c610cc8965fc3f99d72b534cc2e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 2 15:36:39 2009 +0000 - - [configure] Replace awk comparator with an aclocal version - - As reported in https://bugs.freedesktop.org/show_bug.cgi?id=19283, the - fallback freetype version compare is broken inside the configure script as - the $1-$3 arguments are interpreted as the script is constructed. To avoid - making that awk comparison any more complicated, we import a version compare - from the autoconf archives - such that we have a reusable macro for the - furture. - - build/aclocal.compare.m4 | 162 +++++++++++++++++++++++++++++++++++++++++++++++ - configure.ac | 18 ++---- - 2 files changed, 168 insertions(+), 12 deletions(-) - -commit dc33ae24619f4602c23716e9e407f8dd4f1b4a1d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 2 14:29:53 2009 +0000 - - [boilerplate] Use pclose() after popen - - Joonas pointed out that we should be using pclose() on a stream returned - by popen(). - - boilerplate/cairo-boilerplate.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f230ce7658910c7f4f8feb722b77a2141824f963 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 2 14:03:35 2009 +0000 - - [path] Fix typo in bounds for empty path. - - We set the width to be zero, twice, and the height not even once! - - src/cairo-path-bounds.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 163c326c82a45c1f3ee84bbfaee2cc2e6dc1fafc -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 2 13:46:16 2009 +0000 - - [test] Free test name - - Adding the missing free for the converted test name. - - test/cairo-test.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit dd65be740c475daf75c602fc79ff25977674d9cf -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 2 13:42:53 2009 +0000 - - [test/pdf-mime-data] Free data on error paths. - - Cleanup the allocated buffers on error. - - test/pdf-mime-data.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 65f9760d661a0eb2edf9e53fb1b74666ce0ba3b9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 2 13:43:33 2009 +0000 - - [toy-font-face] Return defaults for error objects. - - Similar to the behaviour of the other objects, we return the default - conditions if the object is in any error (and not just a nil object). - - src/cairo-toy-font-face.c | 28 ++++++++++++++++++++++++---- - 1 file changed, 24 insertions(+), 4 deletions(-) - -commit d478d5ed5ce7c19a02e11435bcf69e867c6705d9 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Fri Jan 2 06:48:54 2009 -0500 - - [doc] Give a small hint about Twin font - - Though, the details are not documented yet. I'm not sure how much of it - I do want to document. - - src/cairo-toy-font-face.c | 2 +- - src/cairo.c | 7 +++++++ - 2 files changed, 8 insertions(+), 1 deletion(-) - -commit a023104400f7f08775e9e52c304f5df2bc96382d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Jan 2 10:32:39 2009 +0000 - - [trace] Adopt _cairo_dtostr - - In order to have locale-independent output of decimal values, we need to - manually transform such numbers into strings. As this is a solved problem - for cairo, we adopt _cairo_output_stream_printf() and in particular the - _cairo_dtostr() routine for our own printf processing. - - util/cairo-trace/trace.c | 920 ++++++++++++++++++++++++++++------------------- - 1 file changed, 546 insertions(+), 374 deletions(-) - -commit c601f308430f4d33929109fb9170b9322edca3c6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Jan 1 16:55:08 2009 +0000 - - [cairo] Early return if we attempt to set the same colour. - - Profiling a silly video renderer that called set-source; rectangle; fill; - for each pixel, we can shave 5% off the cairo overhead by introducing an - early return if we attempt to reset the current colour. - - src/cairo.c | 30 ++++++++++++++++++++++++++++++ - 1 file changed, 30 insertions(+) - -commit fb3522f33a565576002595bf03e07f6c8b16a471 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Dec 20 19:19:54 2008 +0000 - - [os2] Fix memory leak of surface on error path - - Of we fail to create the mutex, free the surface before returning the - failure. - - Reported: http://bugs.freedesktop.org/show_bug.cgi?id=19208. - - src/cairo-os2-surface.c | 1 + - 1 file changed, 1 insertion(+) - -commit 8d23c3a6c2ab0ae168afb695e2b8c5f121ed2be3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Dec 20 19:17:28 2008 +0000 - - [quartz] Delay allocation of string until after guard. - - Fixes a memory leak should we bail due to the version of Quartz being - insufficient. - - Reported: http://bugs.freedesktop.org/show_bug.cgi?id=19209. - - src/cairo-quartz-font.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit 9c9ed8f0b5ce8bc3036dcb0bf841ffaa24797cfa -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Dec 19 13:04:31 2008 +0000 - - [scaled-font] Post-process hash value. - - Mix the bits within the hash value to reduce clustering. - - src/cairo-scaled-font.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -commit 555dd6b97ec432787d83242727164d25b459cf54 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Dec 19 13:02:00 2008 +0000 - - [scaled-font] Switch to a constant loop for hashing. - - As we only use the FNV hash for hashing matrices, expose the constant size - to the compiler so that it can perform its magic. - - src/cairo-scaled-font.c | 18 ++++++++---------- - 1 file changed, 8 insertions(+), 10 deletions(-) - -commit f5274f5847519208865159fa9bb254d76ba8ddac -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Dec 19 16:31:28 2008 +0000 - - Iterate over hash table using foreach() in destructors. - - Don't use the remarkably inefficient _cairo_hash_table_random_entry() to - remove all entries from the hash table! - - src/cairo-cff-subset.c | 21 +++++++++++---------- - src/cairo-ft-font.c | 47 ++++++++++++++++++++++------------------------- - 2 files changed, 33 insertions(+), 35 deletions(-) - -commit 1c4ea84b24f3f7e480f9c50b5bd77ac703c36ef0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Dec 18 20:32:44 2008 +0000 - - [cairo] Early return if we attempt to set the same scaled_font - - If the application calls cairo_set_scaled_font() with the current - scaled font, we can return early as it is a no-op. - - src/cairo.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit b661f3d27ba77cdf470a86f6320b1bb31d92a9f0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Dec 18 18:34:16 2008 +0000 - - [cairo] Embed a second gstate. - - Experiment with embedding a second gstate into the initial context to - reduce allocations. - - src/cairo-private.h | 2 +- - src/cairo.c | 12 ++++++------ - 2 files changed, 7 insertions(+), 7 deletions(-) - -commit 8abd21bd3afc143501f66fdcdc0c6c4139df490b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Dec 23 15:09:15 2008 +0000 - - [script] Call the context creation hook - - Hook in the creation hook so applications can record or even modify the - contexts used in replay. - - util/cairo-script/cairo-script-operators.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -commit 2c9323d3942cbf93b100f711000f48a3eb869271 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Dec 19 14:11:37 2008 +0000 - - [script] more targets - - util/cairo-script/csi-replay.c | 101 +++++++++++++++++++++++++++++++++++------ - 1 file changed, 88 insertions(+), 13 deletions(-) - -commit fd96cea4fefeeee8bcccde663faa559151e2606e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Dec 19 12:54:53 2008 +0000 - - [script] Improve array construction. - - Limit the memory allocation to the initial array size and perform a direct - copy from the operand stack to the array. - - util/cairo-script/cairo-script-objects.c | 27 +++++++++++++----- - util/cairo-script/cairo-script-operators.c | 45 ++++++++++++------------------ - util/cairo-script/cairo-script-private.h | 1 + - util/cairo-script/cairo-script-scanner.c | 2 +- - util/cairo-script/cairo-script-stack.c | 2 +- - 5 files changed, 41 insertions(+), 36 deletions(-) - -commit ecb8dce27c769158fe4a92432a90b24a96f8afa9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Dec 18 18:32:44 2008 +0000 - - [script] Recreate surface content. - - Use the content recorded in the trace, defaulting to COLOR_ALPHA, to - determine the replayed surface type. - - util/cairo-script/cairo-script-interpreter.h | 1 + - util/cairo-script/cairo-script-operators.c | 8 ++- - util/cairo-script/csi-exec.c | 1 + - util/cairo-script/csi-replay.c | 80 ++++++++++++++++++++-------- - util/cairo-trace/trace.c | 8 ++- - 5 files changed, 74 insertions(+), 24 deletions(-) - -commit d21529b9ef31228182d2f61bb4f7beb6319b10c4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Dec 20 15:38:13 2008 +0000 - - [trace] Correct escaped characters in string literal. - - Laziness caused the control character to be used instead of its - replacement in the escaped string! - - util/cairo-trace/trace.c | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -commit ca39c4bf7f90646b70b2bbe9e7318fcfae99e35e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Dec 20 15:35:40 2008 +0000 - - [trace] Correct a couple of typos. - - A couple of minor typos in the escaped characters strings. - - util/cairo-trace/trace.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 1f2fec7388092c8fea87651f9094ca2e0be2104b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Dec 19 18:04:03 2008 +0000 - - [trace] Fix OBO in emit_glyphs() - - The largest index that will fit within 8 bits is 255 not 256! - - util/cairo-trace/trace.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 7ebe9e68371e4e77139d9abeb7feb390203b1c8e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Dec 18 21:59:16 2008 +0000 - - [trace] Minor tidy. - - Improve scoping of variables. - - util/cairo-trace/trace.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 931556005a1946c5e730afc7977551a2bc5be42c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Dec 18 21:57:19 2008 +0000 - - [trace] Remove the forced switching to C locale - - This interferes with the application being traced. It is not clear from - printf(3) whether "%.f" is locale dependent or not - but until we have a - failure do not break applications unnecessarily! - - util/cairo-trace/cairo-trace.in | 4 ---- - 1 file changed, 4 deletions(-) - -commit d0f41b92bf9a9ee313dde6f451b26fffb65a0906 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Dec 18 17:26:43 2008 +0000 - - [trace] Do not force the output filename. - - Handle the case of tracing an application that spawns it own graphical - children but using the autonaming facility within cairo-trace. Currently - the traced process tree would all attempt to write to the same file, - creating a broken trace. This means sacrificing the display of the output - name, but allows use for a wider range of applications. - - util/cairo-trace/cairo-trace.in | 25 ++++++------------------- - 1 file changed, 6 insertions(+), 19 deletions(-) - -commit 19e8c5c7f4a561f2454380c8f4098a832d716d28 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Dec 20 19:27:33 2008 +0000 - - [test] Fix mismatched free. - - A couple of strings allocated using glib functions but freed with system - malloc. - - Reported: http://bugs.freedesktop.org/show_bug.cgi?id=19210. - - test/pdf2png.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 6662eede2af2da50bff1902e694204c69e84f036 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Dec 20 19:14:23 2008 +0000 - - [perf] Fix errors reported by cppcheck - - Trivial mistakes, identified in bugs - http://bugs.freedesktop.org/show_bug.cgi?id=19206 and - http://bugs.freedesktop.org/show_bug.cgi?id=19207. - - perf/cairo-perf-graph-files.c | 2 +- - perf/cairo-perf-report.c | 7 ++++--- - 2 files changed, 5 insertions(+), 4 deletions(-) - -commit 8419c4f124c6ffa75b44901dccab33df8bb6287a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Dec 20 15:34:41 2008 +0000 - - [perf] Correct another reference to '<cairo>' - - I think that's the last use of the old internal name for twin! - - perf/twin.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 14d94d9354170003ec15847873a273c1752cf9f2 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Fri Jan 2 02:56:38 2009 -0500 - - Fix various README typos - - HACKING | 2 +- - src/README | 4 ++-- - util/README | 6 ++++++ - 3 files changed, 9 insertions(+), 3 deletions(-) - -commit 28a72648ba7abe02ebd4df7234424e333b85dc9c -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Tue Dec 30 13:48:47 2008 -0500 - - [gstate] Change the glyph dropping safety margin from 2em to 10em - - The small margin caused bugs with math fonts. See: - https://bugzilla.mozilla.org/show_bug.cgi?id=460023 - - src/cairo-gstate.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit fa63c43532de4a38d59d2746c34c815d18121062 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Dec 29 16:11:29 2008 +0000 - - [spline] Be pedantic and propagate errors. - - We know that the current users will always return SUCCESS, but propagate - the status return for future users. - - src/cairo-path-bounds.c | 6 ++---- - src/cairo-spline.c | 15 +++++++++++---- - src/cairo-types-private.h | 2 +- - src/cairoint.h | 2 +- - 4 files changed, 15 insertions(+), 10 deletions(-) - -commit 7df082dd8aaa9d31479a8bb1f6f1dfe07f52019a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Dec 29 16:06:36 2008 +0000 - - [test] Update twin reference images - - Subsequent to recent tweaks, update the reference images for twin. - - test/Makefile.am | 6 ++---- - test/twin.c | 2 +- - test/twin.pdf.ref.png | Bin 1669 -> 0 bytes - test/twin.ps.ref.png | Bin 0 -> 1114 bytes - test/twin.ps2.ref.png | Bin 1095 -> 0 bytes - test/twin.ps3.ref.png | Bin 1095 -> 0 bytes - test/twin.ref.png | Bin 1712 -> 1492 bytes - test/twin.svg.ref.png | Bin 0 -> 1487 bytes - test/twin.svg11.argb32.ref.png | Bin 1797 -> 0 bytes - test/twin.svg11.ref.png | Bin 1662 -> 0 bytes - test/twin.svg11.rgb24.ref.png | Bin 1797 -> 0 bytes - test/twin.svg12.argb32.ref.png | Bin 1797 -> 0 bytes - test/twin.svg12.ref.png | Bin 1662 -> 0 bytes - test/twin.svg12.rgb24.ref.png | Bin 1797 -> 0 bytes - 14 files changed, 3 insertions(+), 5 deletions(-) - -commit e10af38799eb77f1a7b5f75e76c733353c7b8622 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Dec 29 12:54:13 2008 +0000 - - make "make check" happy again - - Add the missing scoping that caused check-plt to complain. - - src/cairo-font-face-twin.c | 6 ++++-- - src/cairo-scaled-font.c | 2 ++ - src/cairo.c | 4 ++++ - src/cairoint.h | 8 +++++++- - 4 files changed, 17 insertions(+), 3 deletions(-) - -commit 010085622674bd02098742f401409da8e7c1b1dc -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Dec 29 12:45:13 2008 +0000 - - [path] Remove tolerance from path bounders - - With Behdad's analytical analysis of the spline bbox, tolerance is now - redundant for the path extents and the approximate bounds, so remove it - from the functions parameters. - - src/cairo-analysis-surface.c | 3 +-- - src/cairo-gstate.c | 3 +-- - src/cairo-path-bounds.c | 18 ++++++------------ - src/cairo-surface-fallback.c | 1 - - src/cairoint.h | 5 +---- - 5 files changed, 9 insertions(+), 21 deletions(-) - -commit 84b81388bef4a2f300580081415fe09947edb96e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Dec 29 12:16:53 2008 +0000 - - [test] Draw spline bbox - - Add the stroked extents to the spline-decomposition test. - - test/Makefile.am | 6 +-- - test/spline-decomposition.c | 63 ++++++++++++++++++++++++++++++++ - test/spline-decomposition.pdf.ref.png | Bin 20404 -> 19156 bytes - test/spline-decomposition.ps.ref.png | Bin 0 -> 9090 bytes - test/spline-decomposition.ps2.ref.png | Bin 8957 -> 0 bytes - test/spline-decomposition.ps3.ref.png | Bin 8957 -> 0 bytes - test/spline-decomposition.ref.png | Bin 20402 -> 19107 bytes - test/spline-decomposition.svg.ref.png | Bin 0 -> 19156 bytes - test/spline-decomposition.svg11.ref.png | Bin 20404 -> 0 bytes - test/spline-decomposition.svg12.ref.png | Bin 20404 -> 0 bytes - 10 files changed, 65 insertions(+), 4 deletions(-) - -commit efb17160904eda8fdb21fa1fd10a09081cf5cb3e -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Sun Dec 28 16:06:27 2008 -0500 - - [_cairo_spline_bound] Protect against b == 0 - - src/cairo-spline.c | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit 0b59e29004bb19eb9bd458bbe6a48a7c367f72d0 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Sun Dec 28 02:49:39 2008 -0500 - - [_cairo_spline_bound] Simplify condition - - src/cairo-spline.c | 14 +++++++++----- - 1 file changed, 9 insertions(+), 5 deletions(-) - -commit 3bf1b7d574620b1ab3c1fa50977a23d36ab04a40 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Sun Dec 28 02:41:39 2008 -0500 - - [_cairo_spline_bound] Fix the check for feasible solutions - - Also make it more strict. The only times we call sqrt now is - when a solution in (0,1) exists. - - src/cairo-spline.c | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -commit 7f840d156c1212eeb0fddad4b4a6844a9c070bd5 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Sun Dec 28 02:02:30 2008 -0500 - - [spline] Save a couple more muls - - src/cairo-spline.c | 26 +++++++++++++------------- - 1 file changed, 13 insertions(+), 13 deletions(-) - -commit 3292f9906b3637564c37863dde5d214b0fee2885 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Sun Dec 28 01:59:12 2008 -0500 - - [spline] Do some checks to avoid calling sqrt() if no feasible solution exists - - src/cairo-spline.c | 27 ++++++++++++++++++++------- - 1 file changed, 20 insertions(+), 7 deletions(-) - -commit efe4d2ce99e65f9841951d3ff3e0536973bfb12c -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Sun Dec 28 01:22:40 2008 -0500 - - [spline] Simplify code - - src/cairo-spline.c | 19 +++++++++---------- - 1 file changed, 9 insertions(+), 10 deletions(-) - -commit 8672178bf6c7f3a38e11e224f1d484b1f0c7fd7b -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Sun Dec 28 01:20:37 2008 -0500 - - [spline] Remove duplicated code by using a macro - - src/cairo-spline.c | 50 +++++++++++++++++++++----------------------------- - 1 file changed, 21 insertions(+), 29 deletions(-) - -commit ef0f6c3ca311c41c9062e1298b020eae1212984e -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Sat Dec 27 23:13:45 2008 -0500 - - [spline] Add an analytical bounder for splines - - The way this works is very simple: Once for X, and once for Y, it - takes the derivative of the bezier equation, equals it to zero and - solves to find the extreme points, and if the extreme points are - interesting, adds them to the bounder. - - Not the fastest algorithm out there, but my estimate is that if - _de_casteljau() ends up breaking a stroke in at least 10 pieces, - then the new bounder is faster. Would be good to see some real - perf data. - - src/cairo-path-bounds.c | 18 ++----- - src/cairo-spline.c | 131 ++++++++++++++++++++++++++++++++++++++++++++++++ - src/cairoint.h | 6 +++ - 3 files changed, 141 insertions(+), 14 deletions(-) - -commit f2f62c7c4402a28a65c8171238d163af6b2fb95a -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Fri Dec 26 20:28:54 2008 -0500 - - [twin] Micro-optimize - - src/cairo-font-face-twin.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 50bc2bc0170be2a9c84ae3064525b18190e22b48 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Dec 27 11:46:24 2008 +0000 - - [path] Simply track the current point for bounds. - - The idea is to track always update the current point, but not add it - during a move-to. - - src/cairo-path-bounds.c | 25 +++++++++++-------------- - 1 file changed, 11 insertions(+), 14 deletions(-) - -commit 078ebb01ba0b99ab4973ba479fe438f0674aa102 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Dec 27 11:29:15 2008 +0000 - - [path] Initialise spline from current point - - Joonas spotted that the breakage with the curve bounds was the result of - initialising the spline using the original move to point and not the - current point. - - Fixes: Bug 19256 Gnome Foot in gnome-games rendered incorrectly - (https://bugs.freedesktop.org/show_bug.cgi?id=19256) - - src/cairo-path-bounds.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 4320ea68875cc015dfecdf5ed40195e276efca07 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Dec 26 00:01:01 2008 +0000 - - [trace] Fix up positional arguments - - James Cloos pointed out that the correct form to use is "$@" when - executing the command line. - - util/cairo-trace/cairo-trace.in | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit e76a676c8f3d6dc9199cf0bc0856af0c659f4a16 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Dec 25 09:51:51 2008 +0000 - - [twin] Trivial spelling correction. - - This ain't no decadent descendent of the Hershey font... - - src/cairo-font-face-twin.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9332c0a8eaf266e99555df9ad7769f8b5804cbfd -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Fri Dec 26 16:38:04 2008 -0500 - - [util] Add waterfall - - util/Makefile.am | 3 +- - util/waterfall | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 99 insertions(+), 1 deletion(-) - -commit ab1febbf22a641feb2fda4b21156b2bd45df039b -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Fri Dec 26 16:35:33 2008 -0500 - - [twin] Resnap margin under monospace - - src/cairo-font-face-twin.c | 14 +++++++++++++- - 1 file changed, 13 insertions(+), 1 deletion(-) - -commit 3c91d9f5a2a290653a56242eed6acae4f16e99e3 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Fri Dec 26 16:30:01 2008 -0500 - - [twin] Adjust margins - - src/cairo-font-face-twin.c | 114 ++++++++++++++++++++++++++++----------------- - 1 file changed, 70 insertions(+), 44 deletions(-) - -commit 0b5c60bae1fb0924bbd43daab38932052e10b3be -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Fri Dec 26 15:48:46 2008 -0500 - - [twin] Clean up hinting - - src/cairo-font-face-twin.c | 89 ++++++++++++++++++++++------------------------ - 1 file changed, 42 insertions(+), 47 deletions(-) - -commit 6e7a2c4ce32ddfb0e58a74fcba8c4e46e46d32a4 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Fri Dec 26 15:34:50 2008 -0500 - - [twin] Fix monospace for narrow glyphs - - src/cairo-font-face-twin.c | 23 ++++++++++++++--------- - 1 file changed, 14 insertions(+), 9 deletions(-) - -commit e8e6ae1294f11addcbc8a95db471bb48a50b0b1a -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Fri Dec 26 15:15:15 2008 -0500 - - [twin] Cache pen and other properties on the scaled font - - src/cairo-font-face-twin.c | 170 +++++++++++++++++++++++++++------------------ - 1 file changed, 101 insertions(+), 69 deletions(-) - -commit e133cc14469e8ebb8311bf8db206147f6b07786d -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Fri Dec 26 14:56:32 2008 -0500 - - [twin] Don't stretch pen - - src/cairo-font-face-twin.c | 11 +++++------ - 1 file changed, 5 insertions(+), 6 deletions(-) - -commit dec4d791f4cc626d1fa52d68518f787210240812 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Fri Dec 26 14:24:08 2008 -0500 - - [twin] Minor shuffling - - src/cairo-font-face-twin.c | 142 ++++++++++++++++++++++++++------------------- - 1 file changed, 81 insertions(+), 61 deletions(-) - -commit c3de08ee2fcfb0e092f0299e249b0f5fe56b87bf -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Fri Dec 26 14:11:52 2008 -0500 - - [twin] Further reduce weight - - src/cairo-font-face-twin.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 5c201ef5cfdfdd4e19db7e0995b85fbb3f2e6090 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Fri Dec 26 00:05:19 2008 -0500 - - [scaled-font] Make cairo_debug_reset_static_data() work again - - I broke it in a5983929f8f07f384f78e0b604e22037cf5ed716 - - src/cairo-debug.c | 2 ++ - src/cairo-scaled-font.c | 4 +--- - src/cairoint.h | 3 +++ - 3 files changed, 6 insertions(+), 3 deletions(-) - -commit 730ed68ec1ac10dcb9c7c69759f72fcaa3ea82e5 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Thu Dec 25 23:29:02 2008 -0500 - - [pattern] Fix comment typo - - src/cairo-pattern.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a5f4a97aa4122d8c4b8f31053d421a52c356e270 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Thu Dec 25 02:48:26 2008 -0500 - - [twin] Don't hint pen if hint-style is SLIGHT - - src/cairo-font-face-twin.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 0c7eaf6e0a2c2f0db634f8120fcbc03f7e8fd751 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Thu Dec 25 02:44:19 2008 -0500 - - [twin] Improve glyph hints - - src/cairo-font-face-twin-data.c | 202 +++++++++++++++++++++++----------------- - 1 file changed, 116 insertions(+), 86 deletions(-) - -commit e6205ea5a38c9de4c08b313a1beb70d4a38b0676 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Thu Dec 25 02:10:16 2008 -0500 - - [twin] Improve hinting - - src/cairo-font-face-twin.c | 90 +++++++++++++++++++--------------------------- - 1 file changed, 36 insertions(+), 54 deletions(-) - -commit da8658b67510daaefd542b80e6a997bbdfd82d44 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Thu Dec 25 01:35:36 2008 -0500 - - [twin] Hint dots - - src/cairo-font-face-twin-data.c | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - -commit f4c81e18f85c6a68d682301abfd75e7c208c1e1a -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Thu Dec 25 01:29:41 2008 -0500 - - [twin] Disable pen hinting if hinting is off - - src/cairo-font-face-twin.c | 27 +++++++++++++++++++-------- - 1 file changed, 19 insertions(+), 8 deletions(-) - -commit af91fc1974ce2dfbaab187e22769cdfb9e6279d9 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Thu Dec 25 01:24:46 2008 -0500 - - [twin] Optimize hinting - - src/cairo-font-face-twin.c | 7 +------ - 1 file changed, 1 insertion(+), 6 deletions(-) - -commit 439959d1af1f6c4ce174a3fee524eacfc18a00bd -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Thu Dec 25 01:06:47 2008 -0500 - - [twin] Implement hinting - - src/cairo-font-face-twin.c | 148 +++++++++++++++++++++++++++++++++++++++------ - 1 file changed, 129 insertions(+), 19 deletions(-) - -commit 9f9f5317dca6a9988a0a62aaa60393570157af63 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Wed Dec 24 22:29:59 2008 -0500 - - [util] Fix pangram - - util/cairo-view | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8296bc74c8687a2f52e06174e9dc70d32d1181c8 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Wed Dec 24 18:00:04 2008 -0500 - - [twin] Reduce the weight just a bit, such that bold doesn't look as bad - - src/cairo-font-face-twin.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b2f89625453e2a15da175ea5b4ca5af6c2201d96 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Wed Dec 24 17:29:21 2008 -0500 - - [twin] Adjust baseline - - src/cairo-font-face-twin.c | 11 ++++------- - 1 file changed, 4 insertions(+), 7 deletions(-) - -commit f980d017d2360634f391eb1129317446bfe42cc9 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Wed Dec 24 17:00:43 2008 -0500 - - [twin] Remove serif setting - - I don't think I'm going to implement serif-drawing soon, so, remove the - infrastructure. Can always be added back later. - - src/cairo-font-face-twin.c | 21 ++------------------- - 1 file changed, 2 insertions(+), 19 deletions(-) - -commit 1116febb40cb5e5f7eafe97999d1143347819b3f -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Wed Dec 24 16:32:25 2008 -0500 - - [twin] Implement small-caps - - src/cairo-font-face-twin.c | 27 ++++++++++++++++----------- - 1 file changed, 16 insertions(+), 11 deletions(-) - -commit 6767673961401c7ab7b92eb8dfbb345efb560741 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Wed Dec 24 16:13:12 2008 -0500 - - [twin] Implement stretch - - src/cairo-font-face-twin.c | 27 +++++++++++++++++++++------ - 1 file changed, 21 insertions(+), 6 deletions(-) - -commit 0656e947f11356877014df93bd083123c7313dc3 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Wed Dec 24 15:43:17 2008 -0500 - - [twin] Implement slant - - src/cairo-font-face-twin.c | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -commit 9d493fcd16fb770f21fa732b08834f3a435fe1f2 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Wed Dec 24 15:36:57 2008 -0500 - - [twin] Disable the serif mode - - src/cairo-font-face-twin.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 6c1d21bf8947f5b11702626ddfd9bac18073188d -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Wed Dec 24 03:47:21 2008 -0500 - - [twin] Implement monospace - - src/cairo-font-face-twin.c | 30 +++++++++++++++++++++++------- - 1 file changed, 23 insertions(+), 7 deletions(-) - -commit 5def8c587b2b897bfebc6d77a6a3e13355cae2f2 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Wed Dec 24 03:45:06 2008 -0500 - - [twin] Fix dots - - src/cairo-font-face-twin-data.c | 54 +++++++++++++++++++++++++---------------- - 1 file changed, 33 insertions(+), 21 deletions(-) - -commit a303bbaea332df20b81f068366d701d66913c043 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Tue Dec 23 16:12:56 2008 -0500 - - [font-face-get-type] Fix test to cleanup the surface and context properly - - Destroy the context and the surface even when the test fails. - - I ran into this because cairo_debug_reset_static_data() is called between the - tests on the quartz backend (it doesn't fork) and isn't on other backends? This - is perhaps a mistake... - - test/font-face-get-type.c | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -commit 52cc31a7fa6570e538762631359a92e7b717710e -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Tue Dec 23 13:48:52 2008 -0500 - - [util] Add cairo-view - - util/Makefile.am | 3 +- - util/cairo-view | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 115 insertions(+), 1 deletion(-) - -commit 418c7ef133840c10eb0be7e75c7dd11533fbe897 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Tue Dec 23 02:39:17 2008 -0500 - - [twin] Adjust font extents - - src/cairo-font-face-twin.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 96e41c28e980f313c51a0eed81681e7e48752797 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Sat Dec 20 23:30:59 2008 -0500 - - [twin] Minor cleanup - - src/cairo-font-face-twin.c | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -commit 556f6ce364d81f9309162d21deb86a3d5b8b9a6e -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Sat Dec 20 23:16:53 2008 -0500 - - [twin] close_path the Q - - src/cairo-font-face-twin-data.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6929ed800d19f359af7436636e8adc6203083a10 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Sat Dec 20 20:25:01 2008 -0500 - - [twin] Fix serif option parsing. Also make serif and weight do something - - src/cairo-font-face-twin.c | 20 ++++++++++++++++---- - 1 file changed, 16 insertions(+), 4 deletions(-) - -commit d423339fcef3c41225196c4371fb2c133ca61144 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Sat Dec 20 19:39:58 2008 -0500 - - [twin] Add face properties - - Just parse them now. We don't use them yet. - - src/cairo-font-face-twin.c | 191 +++++++++++++++++++++++++++++++++++++++++++-- - src/cairo-user-font.c | 4 +- - src/cairoint.h | 6 +- - 3 files changed, 189 insertions(+), 12 deletions(-) - -commit 93672d842f2b2c840bb9e73901faa4ce5df9c792 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Dec 23 15:00:47 2008 +0000 - - [test] Fix reference handling in user-font-rescale - - user-font-rescale stored the current font on the context in order to - create a rescaling proxy font. As we failed to take a reference to the - font, it caught us by surprise when the font disappeared as we modified - the context before creating our proxy. Ho hum. - - test/user-font-rescale.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 5ad65dc4be5964265946de59a951f2304d64159e -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Tue Dec 23 14:56:48 2008 +1030 - - Document PDF restrict_to_version API - - doc/public/cairo-sections.txt | 4 ++++ - doc/public/tmpl/cairo-pdf.sgml | 35 +++++++++++++++++++++++++++++++++++ - src/cairo-pdf.h | 2 ++ - 3 files changed, 41 insertions(+) - -commit 1869e0240bcc93c93e8abd1c8f930cf08ca8ee24 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Tue Dec 23 14:37:30 2008 +1030 - - Document cairo_surface_(set|get)_mime_data() and mime types - - doc/public/cairo-sections.txt | 5 ++++ - doc/public/tmpl/cairo-surface.sgml | 50 ++++++++++++++++++++++++++++++++++++-- - 2 files changed, 53 insertions(+), 2 deletions(-) - -commit 1f894033f077731485e1228f7e071e75c37a9947 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Tue Dec 23 03:14:38 2008 +0200 - - [spans] Close open subpaths when filling with a scan converter. - - As reported by Christian Persch, open subpaths weren't being - closed when rendering to an image surface: - - http://bugs.freedesktop.org/show_bug.cgi?id=19240 - - src/cairo-spans.c | 53 +++++++++++++++++++++++++++++++---------------------- - 1 file changed, 31 insertions(+), 22 deletions(-) - -commit 0aa34c6435eaa260292cf10d270ebbf3314c7924 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Tue Dec 23 02:18:14 2008 +0200 - - [svg] Fix build when building only the svg vector surface. - - The SVG vector surface pulls in font subsetting and that in turns - uses the PDF operators in cairo-type3-glyph-surface.c. - - src/cairoint.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 38ec6e302cdd703447f169d95121d434c7495501 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Tue Dec 23 02:05:32 2008 +0200 - - [test] Fix any2ppm build when building without the full complement of surfaces. - - It was complaining about g_init_type () being used without the proper includes - which would have been pulled in by the svg or poppler includes. - - test/any2ppm.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 6ce97907edfa8a7b09abfc090a9c03d235de2ada -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Mon Dec 22 11:09:27 2008 +1030 - - win32-font: truncate instead of fail if toy font name too long - - http://lists.cairographics.org/archives/cairo/2008-December/016109.html - - src/cairo-win32-font.c | 9 ++++----- - 1 file changed, 4 insertions(+), 5 deletions(-) - -commit d99583bae680fea852e957afdf674e2031aa7928 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Dec 21 17:03:17 2008 +1030 - - Fix win32 font breakage - - as a result of the toy font face changes in f7ab65e9b0c0f08be8d294e90131baa2decf1f1d - - src/cairo-win32-font.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -commit a5983929f8f07f384f78e0b604e22037cf5ed716 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Sat Dec 20 01:18:12 2008 -0500 - - [toy-font-face] Move toy font face code in a file of its own - - src/Makefile.sources | 1 + - src/cairo-debug.c | 2 +- - src/cairo-font-face.c | 449 ------------------------------------- - src/cairo-mutex-list-private.h | 2 +- - src/cairo-os2-surface.c | 9 +- - src/cairo-scaled-font.c | 4 +- - src/cairo-toy-font-face.c | 489 +++++++++++++++++++++++++++++++++++++++++ - src/cairoint.h | 5 +- - 8 files changed, 497 insertions(+), 464 deletions(-) - -commit 8bf49b27aeea8179b5862a424fb3ef1934be6e0e -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Fri Dec 19 20:46:36 2008 -0500 - - [font-face] Use cairo_font_face_t instead of toy, for nil objects - - And with a NULL backend. We are not supposed to read the nil objects - afterall. - - If this causes crashes, the crash site should be fixed. - - src/cairo-font-face.c | 55 ++++++++++----------------------------------------- - src/cairoint.h | 2 +- - 2 files changed, 11 insertions(+), 46 deletions(-) - -commit e3675f8ac0acb285b2d669c0a44322623dac5fe9 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Fri Dec 19 08:50:26 2008 -0500 - - Fix definition of _cairo_quartz_font_face_backend - - Removes the NULL so that _cairo_quartz_font_face_scaled_font_create - is in the correct location. - - src/cairo-quartz-font.c | 1 - - 1 file changed, 1 deletion(-) - -commit fa7d96e1236cdfa0016f96e5c7b6bd209c405cba -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Fri Dec 19 08:47:07 2008 -0500 - - Fix compilation of quartz surface. - - Declares _cairo_quartz_scaled_font_backend ahead of time and makes it static. - Also, removes the 'static' from the _cairo_quartz_font_backend definition. - - src/cairo-quartz-font.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit f8886ad1b30ec9c29ec5ac3e9cd5519dbc9e7b65 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Thu Dec 18 20:50:20 2008 -0500 - - [scaled-font-zero-matrix] Destrory scaled font and font options - - Oops. - - test/scaled-font-zero-matrix.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 4567692326daf592ab432670c6d33b49f940dd35 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Thu Dec 18 18:03:40 2008 -0500 - - Add test creating a scaled font with a zero ctm matrix - - test/Makefile.am | 1 + - test/scaled-font-zero-matrix.c | 59 ++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 60 insertions(+) - -commit 18054ef00c69f62804e08734fd2c3286373b451f -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Thu Dec 18 18:01:52 2008 -0500 - - [test] Quartz doesn't like being forked - - When the cairo-test-suite forks CoreFoundation complains with: - "The process has forked and you cannot use this CoreFoundation functionality safely. You MUST exec(). - When forked so avoid doing it in the test suite for now. In the future we should investigate - the possibility of a work around. - - test/cairo-test-runner.c | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -commit b4e0d489bb0317fdd935ad2d29830e48b5ce4f6c -Merge: 813cbf13d f60da9a37 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Thu Dec 18 17:25:17 2008 -0500 - - Merge branch '1.8' - - Conflicts: - NEWS - build/Makefile.am.changelog - cairo-version.h - src/cairo-gstate.c - -commit f60da9a379890a3a4cd74cdad48e73c22cb74160 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Thu Dec 18 17:07:25 2008 -0500 - - Fix _compute_transform to check for nearly degenerate matrices - - If a matrix was something like [0 .000001 0, .000001 0 0] the old code would - assume that xx and yy were greater than 0 and turn the nearly degenerate matrix - into an actual degenerate one. This caused things to blow up later on. Now we - check that our nearly rectangular matrices are not nearly degenerate, and let - the nearly degenerate ones fall through to the non-rectangular path. - - Note: I'm not sure why NEARLY_ZERO(d) is fabs(d) < 1/65536 instead of some - other value. Hopefully, it's a useful definition. - - This problem was found by a test case attached to: - https://bugzilla.mozilla.org/show_bug.cgi?id=467423 - - src/cairo-win32-font.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit 813cbf13ddbd3d4b708b3b362dd6c108966f44d5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Dec 18 14:52:03 2008 +0000 - - [path] Separate the approx. bounds into 3 distinct functions - - Based on feedback from Jeff Muizelaar, there is a case for a very quick - and dirty extents approximation based solely on the curve control points - (for example when computing the clip intersect rectangle of a path) and - by moving the stroke extension into a core function we can clean up the - interface for all users, and centralise the logic of approximating the - stroke extents. - - src/cairo-analysis-surface.c | 32 ++++++-------- - src/cairo-clip.c | 14 +++--- - src/cairo-path-bounds.c | 101 ++++++++++++++++++++++++++++++++++++++++--- - src/cairo-rectangle.c | 10 ----- - src/cairo-surface-fallback.c | 10 ++--- - src/cairoint.h | 19 +++++--- - 6 files changed, 134 insertions(+), 52 deletions(-) - -commit dea40e61babe608315b6d365094cf518814b134e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Dec 18 11:50:00 2008 +0000 - - [path] Return the fixed-point bounds of the path - - When analysing the stroke extents, we need the original fixed-point - extents so that we do not incur an OBO when we round-to-integer a second - time. We also need a more accurate estimate than simply using the control - points of the curve, so pass in tolerance and decompose until someone - discovers a cheaper algorithm to determine the precise aligned bounding - box of a bezier curve. - - src/cairo-analysis-surface.c | 30 +++++++------- - src/cairo-clip.c | 25 +++++++----- - src/cairo-path-bounds.c | 95 ++++++++++++++++++++++---------------------- - src/cairo-rectangle.c | 10 +++++ - src/cairo-surface-fallback.c | 9 +++-- - src/cairoint.h | 9 ++++- - 6 files changed, 98 insertions(+), 80 deletions(-) - -commit 3a53e0261b1b5af21bf37e2a211eefd501bd5358 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Dec 18 11:10:17 2008 +0000 - - [test] Update twin reference images. - - Closing the 'o' in twin has removed a slight artefact - update the reference - images to match. - - test/twin.pdf.ref.png | Bin 1673 -> 1669 bytes - test/twin.ref.png | Bin 1718 -> 1712 bytes - 2 files changed, 0 insertions(+), 0 deletions(-) - -commit c2478de26cc1781b8f8604191a9f75ad29eac746 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Dec 18 10:50:45 2008 +0000 - - [twin] Switch internal users to the new name. - - s/<cairo>/@cairo:/ - - doc/tutorial/src/twin.c | 2 +- - test/twin.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 3424b5f8c8cb1f2ef16b9e8429e64f720106f4d8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Dec 18 10:47:44 2008 +0000 - - [scaled-font] Make check-doc happy - - Replace a structure marker '#' with a macro marker '%'. - - src/cairo-scaled-font.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 449bf0bb7bff38da1c5d0286cb4f22c858bcc3a9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Dec 18 10:45:22 2008 +0000 - - [script] Silence incorrect compiler warnings - - Bah, the compiler failed to do its IPA correctly and wrongly complained - about potential use of uninitialised out-params guarded by the return - value. Silence them! - - util/cairo-script/cairo-script-operators.c | 38 +++++++++++++++--------------- - 1 file changed, 19 insertions(+), 19 deletions(-) - -commit ce0b136a441382b25d0932cd66a906a30a693365 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 17 20:34:45 2008 +0000 - - Query the backend to see if we can repaint the solid pattern. - - If we are dithering on the Xlib backend we can not simply repaint the - surface used for a solid pattern and must recreate it from scratch. - However, for ordinary XRender usage we do not want to have to pay that - price - so query the backend to see if we can reuse the surface. - - src/cairo-analysis-surface.c | 2 ++ - src/cairo-meta-surface.c | 1 + - src/cairo-paginated-surface.c | 1 + - src/cairo-pdf-surface.c | 1 + - src/cairo-script-surface.c | 1 + - src/cairo-surface.c | 41 ++++++++++++++++++++++++----------------- - src/cairo-xlib-surface.c | 12 +++++++++++- - src/cairoint.h | 5 +++++ - src/test-meta-surface.c | 1 + - src/test-paginated-surface.c | 1 + - 10 files changed, 48 insertions(+), 18 deletions(-) - -commit 0df43251d4b4641d16c0a2e2c49d18dd2a9c832e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 17 23:45:39 2008 +0000 - - [replay] Take advantage of unresolved fonts - - As Behdad has changed the underlying ft-font to accept unresolved patterns, - take advantage of that to simplify the replay code. - - util/cairo-script/cairo-script-operators.c | 16 ++-------------- - 1 file changed, 2 insertions(+), 14 deletions(-) - -commit 97a00bdd4eefade8d0808b5572bcdbba26c9c8f3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 17 17:32:07 2008 +0000 - - [cairoint.h] Wrap macro in parenthesis - - Ensure that the stride calculation macro is not influenced by surrounding - precedence issues by enclosing it in a pair of parenthesis. - - src/cairoint.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit aa65e756d496f4c3a8b43d2100e17dc39c2c26b7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Dec 5 11:21:11 2008 +0000 - - [script] Avoid creating 0x0 windows - - XCreateWindow dies if asked to create a 0x0 window, so don't and use a 1x1 - pixel window for a zero-sized surface. - - util/cairo-script/csi-replay.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit 6458903c95c2bba3f1b9ceaaafb6979d180ab039 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 17 10:07:32 2008 +0000 - - [image] Eliminate the short-lived context used for coercing. - - When coercing from one image format to another we performed a paint - operation using a temporary context - this is overkill as we can just call - _cairo_surface_paint() directly. - - src/cairo-image-surface.c | 42 +++++++++++++++++++++++------------------ - src/cairo-scaled-font.c | 40 ++++++++++++++++++++------------------- - src/cairo-svg-surface.c | 18 ++++++++---------- - src/cairo-type3-glyph-surface.c | 20 ++++---------------- - src/cairoint.h | 4 ++-- - 5 files changed, 59 insertions(+), 65 deletions(-) - -commit 9b46d13b6cd58c711010df89a41b216c5cc8c881 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 17 23:52:32 2008 +0000 - - [trace] Runtime version check. - - Check that the application is using cairo >= 1.9 before attempting to - query the mime-data. - - util/cairo-trace/trace.c | 47 +++++++++++++++++++++++++---------------------- - 1 file changed, 25 insertions(+), 22 deletions(-) - -commit 2d790daa957471670f4ae0d3b22da89e4ee7111f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Dec 18 00:47:08 2008 +0000 - - [pattern] Use a solid pattern for a uniform gradient. - - If each color stop in a gradient is identical, replace the gradient - surface with a simple solid surface. As seen in the wild. - - src/cairo-pattern.c | 54 ++++++++++++++++++++++++++++++++++++++--------------- - 1 file changed, 39 insertions(+), 15 deletions(-) - -commit 25a4677200ea6689be0dca9d533842dc7da54837 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 17 09:29:35 2008 +0000 - - [analysis] Use approximate extents. - - Use the approximate path based extents to avoid tessellation. - - src/cairo-analysis-surface.c | 54 ++++++++++++++------------------------------ - 1 file changed, 17 insertions(+), 37 deletions(-) - -commit 18bca91411e9ba6e1e58dbc945a0567d2661568f -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Thu Dec 18 02:12:14 2008 -0500 - - [twin] close_path the 'o' - - src/cairo-font-face-twin-data.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 5ee6aad471d460f960a5e7a5a8e35aca0f0af60e -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Wed Dec 17 18:05:51 2008 -0500 - - [toy] Use twin font if font backend returns UNSUPPORTED - - src/cairo-font-face.c | 19 ++++++++----------- - 1 file changed, 8 insertions(+), 11 deletions(-) - -commit eb069094ea4471b3e63881fe0f8b958ad8924c7d -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Wed Dec 17 17:30:34 2008 -0500 - - Treat any toy family starting with "@cairo:" as request for twin - - src/cairo-font-face.c | 3 ++- - src/cairoint.h | 2 +- - 2 files changed, 3 insertions(+), 2 deletions(-) - -commit 32c66109059398e88f50335bef75fa8c0e51c4c8 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Wed Dec 17 17:43:37 2008 -0500 - - Call _cairo_error when propagating error status from the font_face. - - src/cairo-gstate.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1d72e53c3e99f93aa59967c76f1b1b4c035b9130 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Wed Dec 17 17:42:18 2008 -0500 - - Add a missing _cairo_error() to a bunch of status returns. - - src/cairo-misc.c | 4 ++-- - src/cairo-scaled-font.c | 14 +++++++------- - src/cairo.c | 2 +- - 3 files changed, 10 insertions(+), 10 deletions(-) - -commit af3a892c3ef6a7c1d28d523944bbb67e59edc1de -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Wed Dec 17 16:45:28 2008 -0500 - - [ft] Remove stale comment - - src/cairo-ft-font.c | 4 ---- - 1 file changed, 4 deletions(-) - -commit 0137b9bd320783264d865a397392b0ee14fd69b3 -Author: Karl Tomlinson <karlt+@karlt.net> -Date: Wed Dec 17 16:40:12 2008 -0500 - - [ft] Don't call FT_Done_Face() on faces we did not create - - src/cairo-ft-font.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e4d7c87b5e449a743a68dd256faaa3242f191a44 -Author: Karl Tomlinson <karlt+@karlt.net> -Date: Wed Dec 17 16:40:12 2008 -0500 - - [ft] Don't call FT_Done_Face() on faces we did not create - - src/cairo-ft-font.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6778a5f67ae2e35e809cf4464530e2bb05870378 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Wed Dec 17 16:19:45 2008 -0500 - - [.gitignore] Update - - build/.gitignore | 2 ++ - src/.gitignore | 1 + - 2 files changed, 3 insertions(+) - -commit 26f471999973c538e45db0ae9f0227fbe5dedf24 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Wed Dec 17 16:08:32 2008 -0500 - - [scaled-font] Improve docs - - src/cairo-scaled-font.c | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -commit f7ab65e9b0c0f08be8d294e90131baa2decf1f1d -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Wed Dec 17 06:25:50 2008 -0500 - - Clean up toy font face handling - - This commit moves the toy-to-real mapping from the scaled font creation - time to font face creation. A toy font face will keep an internal ref - to an implementation face. Then cairo_scaled_font_create() will simply - substitute the implementation face before creating anything. - - This also modifies the cairo-ft toy creation in that we now create a - non-resolved pattern and store it in a cairo-ft font-face. We then - do the resolving and unscaled font creation at scaled-font creation - time. This also means that cairo_ft_font_face_create_for_pattern() - now accepts non-resolved patterns too, and does the right thing about - them. As much as that can be called right. - - Some testing of toy font creation performance is in order, as is testing - win32 and quartz font backends. - - src/cairo-font-face.c | 143 +++++++++---------- - src/cairo-ft-font.c | 371 +++++++++++++++++++++++++++++------------------- - src/cairo-quartz-font.c | 208 ++++++++++----------------- - src/cairo-scaled-font.c | 19 ++- - src/cairo-user-font.c | 62 +------- - src/cairo-win32-font.c | 20 +-- - src/cairoint.h | 40 +++--- - 7 files changed, 412 insertions(+), 451 deletions(-) - -commit 43edb4dd7b8d0614a6c2be15dfa72f980dd55f1d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Dec 12 18:10:58 2008 +0000 - - Fix compilation with gcov - - We need to add --coverage to LDFLAGS, so create CAIRO_LDFLAGS and use that - to populate AM_LDFLAGS. - - boilerplate/Makefile.am | 1 + - build/configure.ac.analysis | 6 +++++- - build/configure.ac.features | 1 + - src/Makefile.am | 3 ++- - test/Makefile.am | 17 +++++++++-------- - 5 files changed, 18 insertions(+), 10 deletions(-) - -commit bcea3151d66495f03d67ce71274203d0515caf4c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Dec 12 14:08:11 2008 +0000 - - [test] Add missing joins.ref.png - - Missed this file when adding the reference images for joins. - - test/joins.ref.png | Bin 0 -> 5879 bytes - 1 file changed, 0 insertions(+), 0 deletions(-) - -commit 8cec548854d86dac8f0c99e99461421c8ad653b1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Dec 14 14:06:07 2008 +0000 - - [NEWS] Add notes for 1.8.6 - - Add the historical blurb for 1.8.6. - - NEWS | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 49 insertions(+) - -commit 0a1d194ad85398c8711268fd9ba679f8609206a1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Dec 14 14:53:27 2008 +0000 - - [perf] Fix for git-1.6 - - git-1.6 moved all the subcommands out of the PATH so update our usage. - - perf/cairo-perf-graph | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1c2eba92c16207a48f9c8f52065fbf9a65d16fcd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Dec 14 13:05:01 2008 +0000 - - [RELEASING] Update Makefile for git-1.6 - - Git moved all the subcommands out of the PATH, so we need to update our - usage. - - build/Makefile.am.changelog | 4 ++-- - build/Makefile.am.releasing | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit 2fa6b6353740b7941e90e50bf6b0eb5f06aa11b5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Dec 14 11:40:12 2008 +0000 - - [RELEASING] Correct a few minor typos. - - As I was reading through the instructions, take the opportunity to fix a - few spelling mistakes. - - RELEASING | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit 1950abd14c28d58913c085d3829eb99a078cf2d1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Dec 14 11:26:56 2008 +0000 - - [doc] Fix erroneous doc comment. - - A normal comment was marked as a gtk-doc entry and thus causing gtk-doc to - complain. - - src/cairo-path-fixed.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9485cd947f982ecd1e4f8d948786af3265d6eb74 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Dec 14 16:35:14 2008 +0000 - - Increment version to 1.8.7 after the 1.8.6 release. - - cairo-version.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e2a2eddcfb8fc73f3decdb91c00e8e6d5282e09c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Dec 14 14:07:11 2008 +0000 - - Increment version to 1.8.6 - - In preparation for the next stable release. - - cairo-version.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ef7c42a7d390064b2a5b08e14d5f65b8ea4628e3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Dec 14 14:06:07 2008 +0000 - - [NEWS] Add notes for 1.8.6 - - Add the historical blurb for 1.8.6. - - NEWS | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 50 insertions(+) - -commit ce91e6ac360e1dbe57a4e729b68d84499603e9ae -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Dec 14 14:53:27 2008 +0000 - - [perf] Fix for git-1.6 - - git-1.6 moved all the subcommands out of the PATH so update our usage. - - perf/cairo-perf-graph | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f8372509aff662e9cbabeb99560b01019395c15e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Dec 14 13:05:01 2008 +0000 - - [RELEASING] Update Makefile for git-1.6 - - Git moved all the subcommands out of the PATH, so we need to update our - usage. - - build/Makefile.am.changelog | 4 ++-- - build/Makefile.am.releasing | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit 9faa9a214994fe27a0cb27a298881f23c2050bbe -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Dec 14 11:40:12 2008 +0000 - - [RELEASING] Correct a few minor typos. - - As I was reading through the instructions, take the opportunity to fix a - few spelling mistakes. - - RELEASING | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit b1be4196513263bdbf58944ea6ac87708a399c5f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Dec 14 11:26:56 2008 +0000 - - [doc] Fix erroneous doc comment. - - A normal comment was marked as a gtk-doc entry and thus causing gtk-doc to - complain. - - src/cairo-path-fixed.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 79bd32a6ccb1a882ddd2b1585ab155f568bf5ec7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Dec 6 13:32:37 2008 +0200 - - [perf-diff] Fix cairo-perf-diff for git 1.6 - - Since git 1.6 the plumbing commands aren't installed in the user's - path by default. This patch fixes cairo-perf-diff to find the - git-sh-setup command from git's lib dir. - (cherry picked from commit 0c0f4862c52d68776024f125b003ade455044b27) - - perf/cairo-perf-diff | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 97b5240beeb9206f4dbda6ffce33b51aa16eec2f -Author: Julien Danjou <julien@danjou.info> -Date: Tue Nov 18 10:01:49 2008 +0100 - - [xcb] check for render extension presence - - Otherwise this may leads to an invalid memory access to r. - - Fixes: Bug 18588 - XCB backend fails with missing render. - https://bugs.freedesktop.org/show_bug.cgi?id=18588 - - Signed-off-by: Julien Danjou <julien@danjou.info> - Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> - (cherry picked from commit 834f1d7b7097dcc3a32f6c65d21e87fd272d924a) - - AUTHORS | 1 + - src/cairo-xcb-surface.c | 8 ++++++-- - 2 files changed, 7 insertions(+), 2 deletions(-) - -commit 6fed98c0d3b0708ad5171654179a482fa7d88805 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Dec 5 21:14:45 2008 +0000 - - [gstate] Remove culled glyphs from clusters. - - Sascha Steinbiss reported a bug where the PDF backend was reading beyond - the end of the glyph array: - http://lists.cairographics.org/archives/cairo/2008-December/015976.html. - - It transpires that in the early glyph culling in the gstate we were - not updating the clusters to skip culled glyphs. - - src/cairo-gstate.c | 223 ++++++++++++++++++++++++++++++++++++++++++----------- - 1 file changed, 176 insertions(+), 47 deletions(-) - -commit 2b7c6f361a3cfe309ff0bcb606b808acbf36aa0f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 26 12:33:12 2008 +0000 - - [skiplist] Allocate elements in chunks. - - Use a pool allocator to preallocate a chunk from which to allocate the - skiplist elements (if we failed to reallocate from the freelists). - - src/cairo-bentley-ottmann.c | 33 ++++++++++++----- - src/cairo-skiplist-private.h | 3 +- - src/cairo-skiplist.c | 85 +++++++++++++++++++++++++++++++++++--------- - 3 files changed, 94 insertions(+), 27 deletions(-) - -commit 903b39c30448d62e2cbf9d075c5256a333bd5d8f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Dec 4 15:22:01 2008 +0000 - - [test] Make the xlib-fallback use the image refs. - - The xlib-fallback is closer to the image than the xlib backend, so prefer - not to use the xlib.ref.png. - - boilerplate/cairo-boilerplate.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 792057539bf814cc00447a0a53978e0af3efe270 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 3 10:52:59 2008 +0000 - - [test] Only delete output images beneath output. - - We were using an overly-liberal find that also deleted copied output for - use in CAIRO_REF_DIR if that directory was below test/. So only delete - files below output/ (which should only be used by cairo-test). - - test/Makefile.am | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -commit 913cbad25e08a07c05b8c2e6ddd3c343ca2462b2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Dec 2 13:06:50 2008 +0000 - - [test] Add a simple joins test case - - Exercise joins between short (<LINE_WIDTH) lines - used in debugging - stroke-to-path. - - test/Makefile.am | 3 ++ - test/joins.c | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++ - test/joins.ps.ref.png | Bin 0 -> 5496 bytes - 3 files changed, 112 insertions(+) - -commit 9f4f41de7d20ee46ee8ca06716cbc18e55cfcf86 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Dec 2 13:05:30 2008 +0000 - - [tutorial] Correct twin font name - - We changed the name for the builtin font from "cairo" to "<cairo>" to - reduce possible naming conflicts - update the tutorial to match. - - doc/tutorial/src/twin.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4ff884fe4df64234a7da4635d78ffafabe00f18c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Nov 30 19:18:15 2008 +0000 - - [test] Check idempotency of append_path() -> copy_path() - - The API should preserve the precision across the public interface so that - the user is able to retrieve the co-ordinates that he used to construct - the path. However since we transform the path to a 24.8 fixed-point - internal represent we currently incur a precision-loss - the affects of - which can be seen in the miter-precision test case for example. It is - planned to move to keeping the path as doubles until the backend - explicitly requests the fixed-point coodinates (and some backends, e.g. - pdf, might only ever use the doubles). Then, barring rounding errors - during path transformations, we should be able to return the exact path - the user set (under an identity CTM, of course ;-). - - test/Makefile.am | 1 + - test/path-precision.c | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 109 insertions(+) - -commit fe4af195a7880336894a5fbae86740ef55c14cbf -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Nov 30 13:48:11 2008 +0000 - - [test] Add a rectilinear-dash test case. - - Exercise dashing on pixel-aligned boundaries to test extending the - rectilinear stroker to handle dashes. - - test/Makefile.am | 2 + - test/rectilinear-dash.c | 176 ++++++++++++++++++++++++++++++++++++++++++ - test/rectilinear-dash.ref.png | Bin 0 -> 291 bytes - 3 files changed, 178 insertions(+) - -commit 1d68ee73f8d406671d25a1ab6c3cfb096a7a6ce7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Nov 23 08:59:56 2008 +0000 - - [pattern] Compute the combined color content. - - When multiplying two colors together, the combined content is simply the - or of the their contents. - - src/cairo-pattern.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 30cef3116ed960a94323477154896a03c4fb30bb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Dec 11 01:45:31 2008 +0000 - - [spans] Add a sentinel cell to the cell_list. - - By terminating the list with a cell for INT_MAX, we remove a few - conditionals from the hot-paths. - - src/cairo-tor-scan-converter.c | 25 +++++++++++++++---------- - 1 file changed, 15 insertions(+), 10 deletions(-) - -commit 3b2bb95249afdc3a705d0ce5205019e7d9d31020 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Dec 11 01:22:37 2008 +0000 - - [spans] Embed 64 edge buckets into polygon - - Frequently we only need a few y-buckets, so embed 64 into the parent - structure. - - src/cairo-tor-scan-converter.c | 40 ++++++++++++---------------------------- - 1 file changed, 12 insertions(+), 28 deletions(-) - -commit 70235df72e3f33482527090d7039d8cab7ef6ff9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Dec 11 00:32:13 2008 +0000 - - [spans] Pool capacity is in bytes not elements. - - Set the polygon capacity to a shade under 8k, not 200 bytes, reducing the - number of malloc calls made by the scan convertor by a factor of 40! - - src/cairo-tor-scan-converter.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6f284587a4ef829a1666fe730e590b59e4eedd5e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 10 13:50:23 2008 +0000 - - [script] Add examples - - Add some simple examples to demonstrate CairoScript, courtesy of M Joonas - Philaja. - - configure.ac | 1 + - util/cairo-script/Makefile.am | 2 + - util/cairo-script/examples/Makefile.am | 10 + - util/cairo-script/examples/dragon.cs | 48 + - util/cairo-script/examples/hilbert.cs | 51 + - util/cairo-script/examples/infinichess.cs | 29 + - util/cairo-script/examples/interference.cs | 46 + - util/cairo-script/examples/pythagoras-tree.cs | 53 + - util/cairo-script/examples/sierpinski.cs | 37 + - .../examples/wedgeAnnulus_crop_ybRings.cs | 30 + - util/cairo-script/examples/world-map.cs | 209 +++ - util/cairo-script/examples/zrusin.cs | 1333 ++++++++++++++++++++ - 12 files changed, 1849 insertions(+) - -commit 463dc2891312e3658875d6964a91e7e875de4b38 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 10 21:09:14 2008 +0000 - - [script] Allocate the interned strings from a permanent pool - - Reduce memory fragmentation by allocating the permanent strings from a - single pool. - - util/cairo-script/cairo-script-interpreter.c | 52 ++++++++++++++++++++++------ - util/cairo-script/cairo-script-private.h | 4 +++ - 2 files changed, 45 insertions(+), 11 deletions(-) - -commit adc9c90d79cf4bf5e3789ceadab6a49da746274a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 10 21:00:11 2008 +0000 - - [script] Freed object cache. - - Cache the last freed object to reduce malloc pressure. - - util/cairo-script/cairo-script-hash.c | 3 - - util/cairo-script/cairo-script-interpreter.c | 16 ++-- - util/cairo-script/cairo-script-objects.c | 118 ++++++++++++++++++--------- - util/cairo-script/cairo-script-private.h | 5 +- - 4 files changed, 91 insertions(+), 51 deletions(-) - -commit 1042909796295234d8aadf674824d306d7bcc9b5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 10 17:56:19 2008 +0000 - - [script] Replay multiple files. - - Iterate over the argument vector and replay each file on the command line. - - util/cairo-script/csi-replay.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit c5c04528b51b9025f48fb0f3b1c4a8dc98acb214 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 10 17:30:21 2008 +0000 - - [script] Slab allocator - - Allocate small objects from a pool and maintain a per-size free-list. - - util/cairo-script/cairo-script-interpreter.c | 65 +++++++++++++++++++++++++++- - util/cairo-script/cairo-script-private.h | 22 ++++++++++ - 2 files changed, 85 insertions(+), 2 deletions(-) - -commit 83f0e6cf6245c0b3fd7a9b572e5dcea9b633a644 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 10 16:46:05 2008 +0000 - - [script] Inline the stack push - - Frequently to push an object onto the stack all we need is to simply - perform the struct copy - so inline it and only call the out-of-line - function if we need to enlarge the stack. - - util/cairo-script/cairo-script-interpreter.c | 20 ++++++------- - util/cairo-script/cairo-script-operators.c | 43 +++++++--------------------- - util/cairo-script/cairo-script-private.h | 14 ++++++++- - util/cairo-script/cairo-script-stack.c | 13 ++++----- - 4 files changed, 39 insertions(+), 51 deletions(-) - -commit 565b3d6ad64fe9d35ebddb4f6b46e492740ee59f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 10 15:16:02 2008 +0000 - - [script] Switch to hyphens. - - Using hyphen in the operators is easier to read than underscores. - - src/cairo-script-surface.c | 60 ++++----- - util/cairo-script/cairo-script-operators.c | 189 +++++++++++++++++++---------- - util/cairo-trace/trace.c | 114 ++++++++--------- - 3 files changed, 211 insertions(+), 152 deletions(-) - -commit 3abfd836a021a2950b7eea97f3b30011d58efcc8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 10 14:34:41 2008 +0000 - - [script] Null constructor - - Expose 'null', principally for comparison purposes. - - util/cairo-script/cairo-script-operators.c | 8 +++++++- - util/cairo-script/cairo-script-private.h | 7 +++++++ - 2 files changed, 14 insertions(+), 1 deletion(-) - -commit 7540ac7f23db47ee3f58a557ce91aaf1c0bc72d5 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Tue Dec 9 07:52:21 2008 +0200 - - [script] Reverse direction of bitshift. - - Positive shift counts should shift left according to PostScript. - - util/cairo-script/cairo-script-operators.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 4be479cc63a783da18652528f33bd08427a74fe7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 10 13:20:06 2008 +0000 - - [script] Add simple to integer converter - - Simple operator to coerce the type of the object on top of the stack to - integer. - - util/cairo-script/cairo-script-operators.c | 23 +++++++++++++++++++++++ - 1 file changed, 23 insertions(+) - -commit 6711b591b9efd8f116f2683f17d52e9a9ddfbaba -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 10 12:34:30 2008 +0000 - - [script] Simple replay. - - Basic script executer. - - util/cairo-script/.gitignore | 1 + - util/cairo-script/Makefile.am | 5 ++++- - util/cairo-script/csi-exec.c | 29 +++++++++++++++++++++++++++++ - 3 files changed, 34 insertions(+), 1 deletion(-) - -commit 177a68ef3ecd1717b81c93c53f8c7ae27838e2e5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 10 13:21:19 2008 +0000 - - [script] Add a few mathematical constants - - Just pi and the sqrt(2) for the moment, more to come on demand. - - util/cairo-script/cairo-script-interpreter.c | 26 ++++++++++++++++++++++++++ - util/cairo-script/cairo-script-operators.c | 17 +++++++++++++++++ - util/cairo-script/cairo-script-private.h | 8 ++++++++ - 3 files changed, 51 insertions(+) - -commit 5dfaa22a578ff6561e8d15a8c08546c840476313 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 10 12:26:09 2008 +0000 - - [script] Add repeat operator. - - Simple operator to repeat procedure n times. - - util/cairo-script/cairo-script-operators.c | 37 +++++++++++++++++++++++++++++- - 1 file changed, 36 insertions(+), 1 deletion(-) - -commit 738cb327450821db2d3689e514376c0d9bc55e87 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Tue Dec 9 05:59:19 2008 +0200 - - [script] Fix \t escapes in string literals. - - Typo \r -> \t. - - util/cairo-script/cairo-script-scanner.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 265ebd372a4fd510bc29c749a46393ee7caace41 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Mon Dec 8 10:14:33 2008 +0200 - - [script] Flesh out the relational comparison operators to be more PostScript-like. - - The relational comparison operators can now compare strings vs names - by content as well as performing automatic type promotions on the - numeric types. For other types relational comparisons succeeed - only if the values compare equal according to the eq operator, and - put the interpreter into a type-error state otherwise. - - util/cairo-script/cairo-script-objects.c | 103 +++++++++++++++++++++ - util/cairo-script/cairo-script-operators.c | 144 +++++------------------------ - util/cairo-script/cairo-script-private.h | 5 + - 3 files changed, 132 insertions(+), 120 deletions(-) - -commit 05afec7a8ac590d0d53a254895796f36a8b0eaf3 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Mon Dec 8 10:06:53 2008 +0200 - - [script] Implement the ne operator. - - util/cairo-script/cairo-script-operators.c | 19 ++++++++++++++++++- - 1 file changed, 18 insertions(+), 1 deletion(-) - -commit 1aeb96dc287b516955db1909995e45fe26d4f87a -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Mon Dec 8 10:03:57 2008 +0200 - - [script] Implement PostScript-like semantics for the eq operator. - - The eq operator would only work for some types and put the - interpreter in an error state if passed objects it didn't - know how to compare. It would also not compare strings - by value nor allow strings to be compared to names. - This patch makes any two objects comparable. - - util/cairo-script/cairo-script-objects.c | 92 ++++++++++++++++++++++++++++++ - util/cairo-script/cairo-script-operators.c | 64 +-------------------- - util/cairo-script/cairo-script-private.h | 4 ++ - 3 files changed, 97 insertions(+), 63 deletions(-) - -commit 620028fd19b091f525964b689ebd3a70e1636da2 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Mon Dec 8 09:23:37 2008 +0200 - - [script] Don't segfault when hashing empty strings. - - Check for the empty string. - - util/cairo-script/cairo-script-interpreter.c | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -commit 4ba77f776509caad030edf818a076ea9b071ad23 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Mon Dec 8 07:16:14 2008 +0200 - - [script] Fix dictionary construction to access the right stack slots. - - It bound values to themselves and ignored keys. - - util/cairo-script/cairo-script-operators.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit af53297a97eec505ac2a90768badda72056c6e3b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Dec 11 00:35:20 2008 +0000 - - [cairo] Use a stack buffer for text path. - - First try to allocate glyphs from the stack, similar to cairo_show_text(). - - src/cairo.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -commit 09589e20e14476df609581027d14628f52091e71 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 10 23:45:44 2008 +0000 - - [clip] Intersect to region extents. - - When querying the intersection of a rectangle with the clip region, the - result only depends upon the region extents so we do not need to perform - an expensive region-region intersection computation. - - src/cairo-clip.c | 18 +++++------------- - src/cairo-surface-fallback.c | 1 - - 2 files changed, 5 insertions(+), 14 deletions(-) - -commit c5acb125e9509570c407a069f7e89acfbadda57b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 10 23:06:22 2008 +0000 - - [surface] Avoid a short-lived context during fallback_clone_similar() - - We can paint to the surface directly without need of a temporary context, - so do so. - - src/cairo-surface-fallback.c | 41 +++++++++++++++++++---------------------- - 1 file changed, 19 insertions(+), 22 deletions(-) - -commit 888f62feaa73be326d41a485c0bcf81a3e466ee1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 10 17:42:16 2008 +0000 - - [test] Propagate error from path - - If the path is in error, just append it to the context so that the error - is propagated correctly. - - test/copy-path.c | 5 +++++ - 1 file changed, 5 insertions(+) - -commit f13f63e3d85d28a17a3cb60b7d1a7b552f2b6872 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 10 08:54:03 2008 +0000 - - [test/clip-nesting] Propagate status from sub-context. - - Use cairo_path_append() to propagate an error status from a child context - to it parent so that it is properly reported under memfault. - - test/clip-nesting.c | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -commit e6e33b036f9de5087a72cf1de9c0a4ce97c75812 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Dec 10 08:50:57 2008 +0000 - - [test/solid-pattern-cache-stress] Propagate status from sub-contexts. - - Use a cairo_append_path() to set an arbitrary error status on the parent - context, in order to propagate errors from a child. - - test/solid-pattern-cache-stress.c | 32 +++++++++++++++++++++++++------- - 1 file changed, 25 insertions(+), 7 deletions(-) - -commit bcb2724920aa1bca1a9a82b5017d3180f5f9523e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Dec 9 20:44:25 2008 +0000 - - [path] Mark points as const during _cairo_path_fixed_interpret() - - Use const to document the read-only nature of the arguments passed to the - callbacks. - - src/cairo-path-bounds.c | 33 ++++-------- - src/cairo-path-fill.c | 33 +++--------- - src/cairo-path-fixed.c | 86 ++++++++++++++--------------- - src/cairo-path-in-fill.c | 12 +++-- - src/cairo-path-stroke.c | 108 +++++++++++++------------------------ - src/cairo-path.c | 26 +++++---- - src/cairo-pdf-operators.c | 12 +++-- - src/cairo-pen.c | 4 +- - src/cairo-quartz-surface.c | 11 ++-- - src/cairo-rectangle.c | 6 +-- - src/cairo-scaled-font.c | 12 +++-- - src/cairo-script-surface.c | 12 +++-- - src/cairo-spans.c | 18 +++---- - src/cairo-svg-surface.c | 15 +++--- - src/cairo-type1-fallback.c | 16 +++--- - src/cairo-types-private.h | 3 +- - src/cairo-win32-printing-surface.c | 12 +++-- - src/cairoint.h | 12 ++--- - 18 files changed, 186 insertions(+), 245 deletions(-) - -commit 68b29cafa597128e7cae86608e04ecae6070dad9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Dec 9 20:15:34 2008 +0000 - - [spline] Propagate errors during add point. - - Yikes! The callback could fail so we need to propagate the error status. - - src/cairo-path-fill.c | 11 +++-------- - src/cairo-path-fixed.c | 7 ++----- - src/cairo-path-in-fill.c | 7 ++----- - src/cairo-path-stroke.c | 14 ++++++-------- - src/cairo-pen.c | 23 ++++++++++++----------- - src/cairo-spline.c | 40 ++++++++++++++++++++-------------------- - src/cairo-types-private.h | 6 +++++- - src/cairoint.h | 9 ++------- - 8 files changed, 52 insertions(+), 65 deletions(-) - -commit 2f3905dec38a710234aba30e1983b80ea3066a50 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Dec 9 19:21:35 2008 +0000 - - [image] Set status on error path. - - We failed to set the status after cairo_image_surface_create() returned an - error. - - src/cairo-image-surface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit dfc49a67e62bea359b33413e9b882e92952431de -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Dec 9 14:44:51 2008 +0000 - - [test] Trim the number of fallback resolutions tested. - - Simplify the test matrix to only include testing the fallback-resolution - of a uniform scale in one or both axes. - - test/Makefile.am | 20 --- - test/fallback-resolution.c | 222 ++++++++++++++------------ - test/fallback-resolution.ppi150x150.ref.png | Bin 8043 -> 8058 bytes - test/fallback-resolution.ppi150x300.ref.png | Bin 6848 -> 0 bytes - test/fallback-resolution.ppi150x37.5.ref.png | Bin 13176 -> 0 bytes - test/fallback-resolution.ppi150x600.ref.png | Bin 6338 -> 0 bytes - test/fallback-resolution.ppi150x72.ref.png | Bin 8370 -> 8303 bytes - test/fallback-resolution.ppi150x75.ref.png | Bin 10445 -> 0 bytes - test/fallback-resolution.ppi300x150.ref.png | Bin 6851 -> 0 bytes - test/fallback-resolution.ppi300x300.ref.png | Bin 5637 -> 5639 bytes - test/fallback-resolution.ppi300x37.5.ref.png | Bin 12870 -> 0 bytes - test/fallback-resolution.ppi300x600.ref.png | Bin 4848 -> 0 bytes - test/fallback-resolution.ppi300x72.ref.png | Bin 7053 -> 7014 bytes - test/fallback-resolution.ppi300x75.ref.png | Bin 9617 -> 0 bytes - test/fallback-resolution.ppi37.5x150.ref.png | Bin 12728 -> 0 bytes - test/fallback-resolution.ppi37.5x300.ref.png | Bin 11981 -> 0 bytes - test/fallback-resolution.ppi37.5x37.5.ref.png | Bin 14098 -> 14092 bytes - test/fallback-resolution.ppi37.5x600.ref.png | Bin 11654 -> 0 bytes - test/fallback-resolution.ppi37.5x72.ref.png | Bin 12990 -> 12906 bytes - test/fallback-resolution.ppi37.5x75.ref.png | Bin 13787 -> 0 bytes - test/fallback-resolution.ppi600x150.ref.png | Bin 6096 -> 0 bytes - test/fallback-resolution.ppi600x300.ref.png | Bin 4812 -> 0 bytes - test/fallback-resolution.ppi600x37.5.ref.png | Bin 12401 -> 0 bytes - test/fallback-resolution.ppi600x600.ref.png | Bin 4104 -> 4090 bytes - test/fallback-resolution.ppi600x72.ref.png | Bin 6398 -> 6326 bytes - test/fallback-resolution.ppi600x75.ref.png | Bin 8974 -> 0 bytes - test/fallback-resolution.ppi72x150.ref.png | Bin 8069 -> 8061 bytes - test/fallback-resolution.ppi72x300.ref.png | Bin 6803 -> 6911 bytes - test/fallback-resolution.ppi72x37.5.ref.png | Bin 13147 -> 13167 bytes - test/fallback-resolution.ppi72x600.ref.png | Bin 6245 -> 6214 bytes - test/fallback-resolution.ppi72x72.ref.png | Bin 8409 -> 8416 bytes - test/fallback-resolution.ppi72x75.ref.png | Bin 10628 -> 10620 bytes - test/fallback-resolution.ppi75x150.ref.png | Bin 9940 -> 0 bytes - test/fallback-resolution.ppi75x300.ref.png | Bin 9003 -> 0 bytes - test/fallback-resolution.ppi75x37.5.ref.png | Bin 14020 -> 0 bytes - test/fallback-resolution.ppi75x600.ref.png | Bin 8455 -> 0 bytes - test/fallback-resolution.ppi75x72.ref.png | Bin 10202 -> 10119 bytes - test/fallback-resolution.ppi75x75.ref.png | Bin 12101 -> 12127 bytes - 38 files changed, 121 insertions(+), 121 deletions(-) - -commit 0ebbcd671c362d98a60214872fa48aee1e42dde1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Dec 9 14:30:58 2008 +0000 - - [test] Fix memleak from fallback-resolution. - - The test-name was being recreated for every pass, but was never freed. - - test/fallback-resolution.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit a9697e5fb04d045fe7aaf0cee80c41eb9d09e1c1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Dec 12 11:08:13 2008 +0000 - - [test] Exercise glyph culling. - - Sascha Steinbiss reported an issue with glyph culling, - http://lists.cairographics.org/archives/cairo/2008-December/015976.html, - whereby we failed to update the text clusters upon culling the glyphs in - the gstate and proceeded to read beyond the end of the glyph array in the - PDF backend. This test case setups a similar condition as reported, by - trying to write a wide string into a small box. - - test/Makefile.am | 3 ++ - test/culled-glyphs.c | 62 ++++++++++++++++++++++++++++++++++++++++++ - test/culled-glyphs.ps.ref.png | Bin 0 -> 372 bytes - test/culled-glyphs.ref.png | Bin 0 -> 434 bytes - 4 files changed, 65 insertions(+) - -commit 095a1fd7860bd1f6d4116766ade0ec9a382bb957 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Dec 5 21:14:45 2008 +0000 - - [gstate] Remove culled glyphs from clusters. - - Sascha Steinbiss reported a bug where the PDF backend was reading beyond - the end of the glyph array: - http://lists.cairographics.org/archives/cairo/2008-December/015976.html. - - It transpires that in the early glyph culling in the gstate we were - not updating the clusters to skip culled glyphs. - - src/cairo-gstate.c | 223 ++++++++++++++++++++++++++++++++++++++++++----------- - src/cairo.c | 9 ++- - 2 files changed, 183 insertions(+), 49 deletions(-) - -commit 834f1d7b7097dcc3a32f6c65d21e87fd272d924a -Author: Julien Danjou <julien@danjou.info> -Date: Tue Nov 18 10:01:49 2008 +0100 - - [xcb] check for render extension presence - - Otherwise this may leads to an invalid memory access to r. - - Fixes: Bug 18588 - XCB backend fails with missing render. - https://bugs.freedesktop.org/show_bug.cgi?id=18588 - - Signed-off-by: Julien Danjou <julien@danjou.info> - Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> - - AUTHORS | 1 + - src/cairo-xcb-surface.c | 8 ++++++-- - 2 files changed, 7 insertions(+), 2 deletions(-) - -commit e184bf0d3592c8703b1193d37553cdcdee313139 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Dec 12 10:12:43 2008 +0000 - - Fix compilation with --enable-png=no - - Adrian Johnson spotted that the build was broken if the PNG functions were - disabled. Fix. - - src/cairoint.h | 1 - - util/cairo-script/cairo-script-operators.c | 8 ++++++++ - util/cairo-trace/trace.c | 4 ++++ - 3 files changed, 12 insertions(+), 1 deletion(-) - -commit 391c6026402dee09bb34816637114cea990cd93a -Merge: 2f1b581f5 d93bf10ed -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Thu Dec 11 14:41:01 2008 -0500 - - Merge branch '1.8' - -commit 2f1b581f54713c899f3b03af1e0ac8c38c36c385 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Thu Dec 11 10:34:37 2008 -0500 - - [quartz] Create a copy instead of increasing the reference - - The pattern could be stack allocated so we can't take a reference to it. - - Some testing of quartz shows that it doesn't deal with malloc failure particularily - well. In the best case CGFunctionCreate returns NULL, in the worst case it just crashes. - Quartz does seem to be able to handle a NULL CGFunctionRef, so returning NULL if - we fail to copy the pattern avoids complicating the code to deal with - propagating the failure and shouldn't cause any additional crashes. - - Based on a patch by Paolo Bonzini. - - src/cairo-quartz-surface.c | 16 ++++++++++++++-- - 1 file changed, 14 insertions(+), 2 deletions(-) - -commit f7b3f1b7d70a271575d3bb233b7ee51a21861c05 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Wed Dec 10 17:54:59 2008 -0500 - - [quartz] Propagate const patterns through the casts - - As part of this avoid using cairo_pattern_get_matrix() because it requires a - 'cairo_pattern_t *' instead of 'const cairo_pattern *' - - Also, make a copy of the pattern before pasing it in to cairo_set_source() - - src/cairo-quartz-surface.c | 39 +++++++++++++++++++++++---------------- - 1 file changed, 23 insertions(+), 16 deletions(-) - -commit d93bf10edc7e432349524221a3d1b0f0b2ec8090 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Wed Dec 10 17:02:55 2008 -0500 - - [quartz] Create a copy of the pattern so that the reference counts are balanced - - The pattern could be stack allocated so we can't take a reference to it; - instead make a copy. - - Based on a patch by Paolo Bonzini. - - src/cairo-quartz-surface.c | 16 ++++++++++++++-- - 1 file changed, 14 insertions(+), 2 deletions(-) - -commit db4c427e8460b0e326691bd6d3784178a713eb33 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Tue Dec 9 12:03:11 2008 -0500 - - [quartz] Change some pattern casts to access to the base class - - Avoiding casts gives us some more type safety. - - src/cairo-quartz-surface.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit 5f60e2e00455f2894c7ce3805a029c806f21514a -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Tue Dec 9 11:41:10 2008 -0500 - - Reorganize the (set|get)_antialias prototypes - - Move _cairo_gstate_set_antialias() and _cairo_gstate_get_antialias() into the - gstate section of cairoint.h - - src/cairoint.h | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -commit 673640a3b3931995897b01d49c5dd8d82b50dac2 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Thu Dec 4 17:53:06 2008 -0500 - - [win32] Use MOD instead of the '%' operator - - Repeat should be handled using MOD instead of '%' so that negative numbers - are handled as expected. E.g. -1 mod 600 = 599, not 495 as the '%' operator - gives. This was causing https://bugzilla.mozilla.org/show_bug.cgi?id=466258 - - Patch from Robert O'Callahan - - src/cairo-win32-surface.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -commit 5e06085b483dcaaa7b1b29b13cd2813c7e51e02a -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Fri Aug 1 23:28:15 2008 +0300 - - [cairo-spans] Render clip mask surfaces with spans if we can. - - Generating surface masks for clipping can also benefit from span - rendering sometimes. - - src/cairo-clip.c | 140 +++++++++++++++++++++ - test/clip-fill-rule.pdf.argb32.ref.png | Bin 0 -> 509 bytes - test/clip-fill-rule.rgb24.ref.png | Bin 380 -> 390 bytes - test/clip-fill-rule.test-paginated.rgb24.ref.png | Bin 0 -> 361 bytes - test/clip-fill-rule.xlib.rgb24.ref.png | Bin 0 -> 380 bytes - test/clip-nesting.pdf.argb32.ref.png | Bin 0 -> 850 bytes - test/clip-nesting.rgb24.ref.png | Bin 955 -> 963 bytes - test/clip-nesting.test-fallback.rgb24.ref.png | Bin 0 -> 936 bytes - test/clip-nesting.test-paginated.rgb24.ref.png | Bin 0 -> 936 bytes - test/clip-nesting.xlib.rgb24.ref.png | Bin 0 -> 955 bytes - test/clip-operator.pdf.argb32.ref.png | Bin 11600 -> 11604 bytes - test/clip-operator.ps3.argb32.ref.png | Bin 7574 -> 7576 bytes - test/clip-operator.ref.png | Bin 8247 -> 8210 bytes - test/clip-operator.test-paginated.argb32.ref.png | Bin 0 -> 8247 bytes - test/clip-twice.pdf.argb32.ref.png | Bin 1458 -> 1498 bytes - test/clip-twice.ref.png | Bin 1362 -> 1342 bytes - test/clip-twice.rgb24.ref.png | Bin 1198 -> 1203 bytes - test/clip-twice.test-fallback.argb32.ref.png | Bin 0 -> 1343 bytes - test/clip-twice.test-fallback.rgb24.ref.png | Bin 0 -> 1179 bytes - test/clip-twice.test-paginated.argb32.ref.png | Bin 0 -> 1361 bytes - test/clip-twice.test-paginated.rgb24.ref.png | Bin 0 -> 1199 bytes - test/clip-twice.xlib.ref.png | Bin 0 -> 1362 bytes - test/clip-twice.xlib.rgb24.ref.png | Bin 0 -> 1198 bytes - test/device-offset-fractional.pdf.argb32.ref.png | Bin 0 -> 275 bytes - test/device-offset-fractional.pdf.rgb24.ref.png | Bin 0 -> 275 bytes - test/filter-nearest-offset.pdf.argb32.ref.png | Bin 0 -> 4295 bytes - test/filter-nearest-offset.pdf.rgb24.ref.png | Bin 0 -> 4295 bytes - test/filter-nearest-transformed.pdf.argb32.ref.png | Bin 0 -> 488 bytes - test/filter-nearest-transformed.pdf.rgb24.ref.png | Bin 0 -> 488 bytes - test/linear-gradient.pdf.argb32.ref.png | Bin 1118 -> 1112 bytes - test/linear-gradient.pdf.rgb24.ref.png | Bin 1118 -> 1112 bytes - test/mask.pdf.argb32.ref.png | Bin 9956 -> 9903 bytes - test/mask.ref.png | Bin 8571 -> 8581 bytes - test/mask.svg11.argb32.ref.png | Bin 8625 -> 8682 bytes - test/mask.svg12.argb32.ref.png | Bin 8625 -> 8682 bytes - test/meta-surface-pattern.pdf.argb32.ref.png | Bin 4017 -> 4011 bytes - test/meta-surface-pattern.svg11.argb32.ref.png | Bin 3928 -> 3924 bytes - test/meta-surface-pattern.svg12.argb32.ref.png | Bin 3928 -> 3924 bytes - test/rotate-image-surface-paint.pdf.argb32.ref.png | Bin 209 -> 215 bytes - test/rotate-image-surface-paint.pdf.rgb24.ref.png | Bin 207 -> 215 bytes - test/surface-pattern-scale-down.pdf.argb32.ref.png | Bin 2386 -> 1532 bytes - test/surface-pattern-scale-down.pdf.rgb24.ref.png | Bin 2386 -> 1532 bytes - test/surface-pattern-scale-up.pdf.argb32.ref.png | Bin 4247 -> 3834 bytes - test/surface-pattern-scale-up.pdf.rgb24.ref.png | Bin 4247 -> 3834 bytes - test/surface-pattern.pdf.argb32.ref.png | Bin 0 -> 14808 bytes - test/surface-pattern.pdf.rgb24.ref.png | Bin 0 -> 14808 bytes - test/trap-clip.pdf.rgb24.ref.png | Bin 6642 -> 6621 bytes - test/trap-clip.ref.png | Bin 5865 -> 5829 bytes - test/trap-clip.test-paginated.argb32.ref.png | Bin 0 -> 5865 bytes - 49 files changed, 140 insertions(+) - -commit 18634c37026a2d6147443cb6d991576f62b07e6d -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Thu Jul 24 20:47:14 2008 +0300 - - [cairo-spans] Hook up filling paths with spans to cairo-surface-fallback.c. - - This speeds up the mask generation step in cairo_fill() for the image - surface by up to 10x in especially favourable cases. - - image-rgba twin-800 7757.80 0.20% -> 749.41 0.29%: 10.36x speedup - image-rgba spiral-diag-pixalign-nonzero-fill-512 15.16 0.44% -> 3.45 8.80%: 5.54x speedup - - More typical simple non-rectilinear geometries are sped up by 30-50%. - This patch does not affect any stroking operations or any fill - operations of pixel aligned rectilinear geometries; those are still - rendered using trapezoids. - - src/cairo-surface-fallback.c | 86 ++++++++++++++++++++- - test/clip-fill-rule.test-fallback.rgb24.ref.png | Bin 0 -> 361 bytes - test/clip-operator.pdf.argb32.ref.png | Bin 12125 -> 11600 bytes - test/clip-operator.pdf.rgb24.ref.png | Bin 7367 -> 6882 bytes - test/clip-operator.ps2.rgb24.ref.png | Bin 3624 -> 3736 bytes - test/clip-operator.ps3.argb32.ref.png | Bin 0 -> 7574 bytes - test/clip-operator.ps3.rgb24.ref.png | Bin 3624 -> 3736 bytes - test/clip-operator.ref.png | Bin 8271 -> 8247 bytes - test/clip-operator.rgb24.ref.png | Bin 3258 -> 3279 bytes - test/clip-operator.test-fallback.argb32.ref.png | Bin 0 -> 8252 bytes - test/clip-operator.test-fallback.rgb24.ref.png | Bin 0 -> 3241 bytes - test/clip-operator.xlib-fallback.rgb24.ref.png | Bin 0 -> 3254 bytes - test/clip-operator.xlib.ref.png | Bin 0 -> 8271 bytes - test/clip-operator.xlib.rgb24.ref.png | Bin 0 -> 3258 bytes - test/clip-twice.pdf.argb32.ref.png | Bin 0 -> 1458 bytes - test/clipped-group.pdf.argb32.ref.png | Bin 0 -> 298 bytes - test/clipped-group.pdf.rgb24.ref.png | Bin 0 -> 298 bytes - test/degenerate-arc.ref.png | Bin 616 -> 544 bytes - test/degenerate-arc.test-fallback.argb32.ref.png | Bin 0 -> 547 bytes - test/degenerate-arc.test-fallback.rgb24.ref.png | Bin 0 -> 547 bytes - test/degenerate-arc.xlib.ref.png | Bin 0 -> 616 bytes - test/fill-alpha-pattern.pdf.argb32.ref.png | Bin 3887 -> 3750 bytes - test/fill-alpha-pattern.pdf.rgb24.ref.png | Bin 3840 -> 3758 bytes - test/fill-alpha-pattern.ps3.argb32.ref.png | Bin 0 -> 4070 bytes - test/fill-alpha-pattern.ps3.rgb24.ref.png | Bin 0 -> 4473 bytes - test/fill-alpha-pattern.ref.png | Bin 3653 -> 3374 bytes - ...fill-alpha-pattern.test-fallback.argb32.ref.png | Bin 0 -> 3379 bytes - .../fill-alpha-pattern.test-fallback.rgb24.ref.png | Bin 0 -> 3379 bytes - test/fill-alpha-pattern.xlib.ref.png | Bin 0 -> 3653 bytes - test/fill-alpha.ref.png | Bin 2989 -> 2728 bytes - test/fill-alpha.test-fallback.argb32.ref.png | Bin 0 -> 2824 bytes - test/fill-alpha.test-fallback.rgb24.ref.png | Bin 0 -> 2824 bytes - test/fill-alpha.xlib.ref.png | Bin 0 -> 2989 bytes - test/fill-degenerate-sort-order.ref.png | Bin 2397 -> 2406 bytes - test/fill-degenerate-sort-order.rgb24.ref.png | Bin 2060 -> 2052 bytes - ...enerate-sort-order.test-fallback.argb32.ref.png | Bin 0 -> 2378 bytes - ...generate-sort-order.test-fallback.rgb24.ref.png | Bin 0 -> 2041 bytes - test/fill-degenerate-sort-order.xlib.ref.png | Bin 0 -> 2397 bytes - test/fill-degenerate-sort-order.xlib.rgb24.ref.png | Bin 0 -> 2060 bytes - test/fill-missed-stop.pdf.argb32.ref.png | Bin 0 -> 452 bytes - test/fill-rule.ref.png | Bin 1979 -> 2061 bytes - test/fill-rule.rgb24.ref.png | Bin 1722 -> 1780 bytes - test/fill-rule.test-fallback.argb32.ref.png | Bin 0 -> 1979 bytes - test/fill-rule.test-fallback.rgb24.ref.png | Bin 0 -> 1703 bytes - test/fill-rule.xlib.ref.png | Bin 0 -> 1979 bytes - test/fill-rule.xlib.rgb24.ref.png | Bin 0 -> 1722 bytes - test/finer-grained-fallbacks.ps2.argb32.ref.png | Bin 0 -> 1173 bytes - test/finer-grained-fallbacks.ps2.rgb24.ref.png | Bin 1096 -> 1154 bytes - test/finer-grained-fallbacks.ps3.argb32.ref.png | Bin 0 -> 1173 bytes - test/finer-grained-fallbacks.ps3.rgb24.ref.png | Bin 1096 -> 1154 bytes - test/finer-grained-fallbacks.ref.png | Bin 1111 -> 1069 bytes - test/finer-grained-fallbacks.rgb24.ref.png | Bin 1114 -> 839 bytes - ...-grained-fallbacks.test-fallback.argb32.ref.png | Bin 0 -> 1111 bytes - ...r-grained-fallbacks.test-fallback.rgb24.ref.png | Bin 0 -> 854 bytes - test/finer-grained-fallbacks.xlib.ref.png | Bin 0 -> 1111 bytes - test/finer-grained-fallbacks.xlib.rgb24.ref.png | Bin 0 -> 1114 bytes - test/font-matrix-translation.svg11.argb32.ref.png | Bin 0 -> 857 bytes - test/font-matrix-translation.svg11.rgb24.ref.png | Bin 0 -> 857 bytes - test/font-matrix-translation.svg12.argb32.ref.png | Bin 0 -> 857 bytes - test/font-matrix-translation.svg12.rgb24.ref.png | Bin 0 -> 857 bytes - test/ft-show-glyphs-table.svg11.argb32.ref.png | Bin 0 -> 9953 bytes - test/ft-show-glyphs-table.svg11.rgb24.ref.png | Bin 0 -> 9953 bytes - test/ft-show-glyphs-table.svg12.argb32.ref.png | Bin 0 -> 9953 bytes - test/ft-show-glyphs-table.svg12.rgb24.ref.png | Bin 0 -> 9953 bytes - ...t-text-vertical-layout-type1.pdf.argb32.ref.png | Bin 0 -> 3632 bytes - ...ft-text-vertical-layout-type1.pdf.rgb24.ref.png | Bin 0 -> 3632 bytes - test/ft-text-vertical-layout-type1.ref.png | Bin 3980 -> 3643 bytes - ...text-vertical-layout-type1.svg11.argb32.ref.png | Bin 0 -> 3614 bytes - ...-text-vertical-layout-type1.svg11.rgb24.ref.png | Bin 0 -> 3614 bytes - ...text-vertical-layout-type1.svg12.argb32.ref.png | Bin 0 -> 3614 bytes - ...-text-vertical-layout-type1.svg12.rgb24.ref.png | Bin 0 -> 3614 bytes - ...tical-layout-type1.test-fallback.argb32.ref.png | Bin 0 -> 3639 bytes - ...rtical-layout-type1.test-fallback.rgb24.ref.png | Bin 0 -> 3639 bytes - test/ft-text-vertical-layout-type1.xlib.ref.png | Bin 0 -> 3980 bytes - ...t-text-vertical-layout-type3.pdf.argb32.ref.png | Bin 0 -> 3642 bytes - ...ft-text-vertical-layout-type3.pdf.rgb24.ref.png | Bin 0 -> 3642 bytes - test/ft-text-vertical-layout-type3.ref.png | Bin 3934 -> 3609 bytes - ...text-vertical-layout-type3.svg11.argb32.ref.png | Bin 0 -> 3640 bytes - ...-text-vertical-layout-type3.svg11.rgb24.ref.png | Bin 0 -> 3640 bytes - ...text-vertical-layout-type3.svg12.argb32.ref.png | Bin 0 -> 3640 bytes - ...-text-vertical-layout-type3.svg12.rgb24.ref.png | Bin 0 -> 3640 bytes - ...tical-layout-type3.test-fallback.argb32.ref.png | Bin 0 -> 3605 bytes - ...rtical-layout-type3.test-fallback.rgb24.ref.png | Bin 0 -> 3605 bytes - test/ft-text-vertical-layout-type3.xlib.ref.png | Bin 0 -> 3934 bytes - test/huge-pattern.pdf.argb32.ref.png | Bin 0 -> 2430 bytes - test/linear-gradient.pdf.argb32.ref.png | Bin 0 -> 1118 bytes - test/linear-gradient.pdf.rgb24.ref.png | Bin 0 -> 1118 bytes - test/linear-gradient.ref.png | Bin 1021 -> 983 bytes - test/linear-gradient.svg11.argb32.ref.png | Bin 0 -> 988 bytes - test/linear-gradient.svg11.rgb24.ref.png | Bin 0 -> 988 bytes - test/linear-gradient.svg12.argb32.ref.png | Bin 0 -> 988 bytes - test/linear-gradient.svg12.rgb24.ref.png | Bin 0 -> 988 bytes - test/linear-gradient.test-fallback.argb32.ref.png | Bin 0 -> 923 bytes - test/linear-gradient.test-fallback.rgb24.ref.png | Bin 0 -> 923 bytes - test/linear-gradient.xlib.ref.png | Bin 0 -> 1021 bytes - test/mask-alpha.ref.png | Bin 640 -> 643 bytes - test/mask-alpha.svg11.argb32.ref.png | Bin 615 -> 642 bytes - test/mask-alpha.svg11.rgb24.ref.png | Bin 0 -> 592 bytes - test/mask-alpha.svg12.argb32.ref.png | Bin 615 -> 642 bytes - test/mask-alpha.svg12.rgb24.ref.png | Bin 0 -> 592 bytes - test/mask-alpha.test-fallback.argb32.ref.png | Bin 0 -> 627 bytes - test/mask-alpha.xlib.ref.png | Bin 0 -> 640 bytes - test/mask-alpha.xlib.rgb24.ref.png | Bin 0 -> 599 bytes - test/mask.pdf.argb32.ref.png | Bin 8881 -> 9956 bytes - test/mask.pdf.rgb24.ref.png | Bin 8267 -> 8735 bytes - test/mask.ref.png | Bin 8476 -> 8571 bytes - test/mask.rgb24.ref.png | Bin 7041 -> 7216 bytes - test/mask.svg11.argb32.ref.png | Bin 8527 -> 8625 bytes - test/mask.svg11.rgb24.ref.png | Bin 7935 -> 7203 bytes - test/mask.svg12.argb32.ref.png | Bin 8527 -> 8625 bytes - test/mask.svg12.rgb24.ref.png | Bin 7935 -> 7203 bytes - test/mask.test-fallback.argb32.ref.png | Bin 0 -> 8457 bytes - test/mask.test-fallback.rgb24.ref.png | Bin 0 -> 7058 bytes - test/mask.xlib-fallback.rgb24.ref.png | Bin 0 -> 7216 bytes - test/mask.xlib.ref.png | Bin 0 -> 8476 bytes - test/mask.xlib.rgb24.ref.png | Bin 0 -> 7041 bytes - test/meta-surface-pattern.pdf.argb32.ref.png | Bin 0 -> 4017 bytes - test/meta-surface-pattern.pdf.rgb24.ref.png | Bin 4009 -> 3910 bytes - test/meta-surface-pattern.svg11.argb32.ref.png | Bin 3924 -> 3928 bytes - test/meta-surface-pattern.svg11.rgb24.ref.png | Bin 4593 -> 3914 bytes - test/meta-surface-pattern.svg12.argb32.ref.png | Bin 3924 -> 3928 bytes - test/meta-surface-pattern.svg12.rgb24.ref.png | Bin 4593 -> 3914 bytes - test/operator-clear.pdf.argb32.ref.png | Bin 1614 -> 1607 bytes - test/operator-clear.ps2.argb32.ref.png | Bin 0 -> 1156 bytes - test/operator-clear.ps3.argb32.ref.png | Bin 0 -> 1156 bytes - test/operator-source.pdf.argb32.ref.png | Bin 5149 -> 5112 bytes - test/operator-source.pdf.rgb24.ref.png | Bin 4354 -> 4186 bytes - test/operator-source.ref.png | Bin 4420 -> 4425 bytes - test/operator-source.rgb24.ref.png | Bin 3201 -> 3231 bytes - test/operator-source.test-fallback.argb32.ref.png | Bin 0 -> 4401 bytes - test/operator-source.test-fallback.rgb24.ref.png | Bin 0 -> 3200 bytes - test/operator-source.xlib-fallback.rgb24.ref.png | Bin 0 -> 3193 bytes - test/operator-source.xlib.ref.png | Bin 0 -> 4420 bytes - test/operator-source.xlib.rgb24.ref.png | Bin 0 -> 3201 bytes - test/over-above-source.ps2.argb32.ref.png | Bin 636 -> 558 bytes - test/over-above-source.ps3.argb32.ref.png | Bin 636 -> 558 bytes - test/over-above-source.ref.png | Bin 538 -> 560 bytes - test/over-above-source.rgb24.ref.png | Bin 461 -> 466 bytes - .../over-above-source.test-fallback.argb32.ref.png | Bin 0 -> 533 bytes - test/over-above-source.test-fallback.rgb24.ref.png | Bin 0 -> 450 bytes - test/over-above-source.xlib.ref.png | Bin 0 -> 538 bytes - test/over-above-source.xlib.rgb24.ref.png | Bin 0 -> 461 bytes - test/over-around-source.pdf.argb32.ref.png | Bin 0 -> 585 bytes - test/over-around-source.ps2.argb32.ref.png | Bin 632 -> 522 bytes - test/over-around-source.ps3.argb32.ref.png | Bin 632 -> 522 bytes - test/over-around-source.ref.png | Bin 614 -> 645 bytes - ...over-around-source.test-fallback.argb32.ref.png | Bin 0 -> 610 bytes - test/over-around-source.xlib.ref.png | Bin 0 -> 614 bytes - test/over-around-source.xlib.rgb24.ref.png | Bin 0 -> 503 bytes - test/over-below-source.pdf.argb32.ref.png | Bin 0 -> 464 bytes - test/over-between-source.ps2.argb32.ref.png | Bin 678 -> 551 bytes - test/over-between-source.ps3.argb32.ref.png | Bin 678 -> 551 bytes - test/over-between-source.ref.png | Bin 575 -> 612 bytes - ...ver-between-source.test-fallback.argb32.ref.png | Bin 0 -> 578 bytes - test/over-between-source.xlib.ref.png | Bin 0 -> 575 bytes - test/over-between-source.xlib.rgb24.ref.png | Bin 0 -> 473 bytes - test/push-group.pdf.argb32.ref.png | Bin 0 -> 2722 bytes - test/push-group.pdf.rgb24.ref.png | Bin 2714 -> 2740 bytes - test/push-group.ref.png | Bin 3126 -> 3060 bytes - test/push-group.rgb24.ref.png | Bin 2961 -> 2912 bytes - test/push-group.svg11.argb32.ref.png | Bin 2935 -> 3034 bytes - test/push-group.svg12.argb32.ref.png | Bin 2935 -> 3034 bytes - test/push-group.test-fallback.argb32.ref.png | Bin 0 -> 3107 bytes - test/push-group.test-fallback.rgb24.ref.png | Bin 0 -> 2942 bytes - test/push-group.xlib-fallback.rgb24.ref.png | Bin 0 -> 2912 bytes - test/push-group.xlib.ref.png | Bin 0 -> 3126 bytes - test/push-group.xlib.rgb24.ref.png | Bin 0 -> 2961 bytes - test/radial-gradient.pdf.argb32.ref.png | Bin 0 -> 79601 bytes - test/radial-gradient.pdf.rgb24.ref.png | Bin 0 -> 79601 bytes - test/random-intersections.ref.png | Bin 148722 -> 133462 bytes - ...ndom-intersections.test-fallback.argb32.ref.png | Bin 0 -> 132312 bytes - ...andom-intersections.test-fallback.rgb24.ref.png | Bin 0 -> 132312 bytes - test/random-intersections.xlib.ref.png | Bin 0 -> 148722 bytes - test/smask-fill.pdf.argb32.ref.png | Bin 0 -> 1909 bytes - test/smask-fill.pdf.rgb24.ref.png | Bin 0 -> 1909 bytes - test/smask-fill.ref.png | Bin 1223 -> 1156 bytes - test/smask-fill.svg11.argb32.ref.png | Bin 0 -> 1128 bytes - test/smask-fill.svg11.rgb24.ref.png | Bin 0 -> 1128 bytes - test/smask-fill.svg12.argb32.ref.png | Bin 0 -> 1128 bytes - test/smask-fill.svg12.rgb24.ref.png | Bin 0 -> 1128 bytes - test/smask-fill.test-fallback.argb32.ref.png | Bin 0 -> 1148 bytes - test/smask-fill.test-fallback.rgb24.ref.png | Bin 0 -> 1148 bytes - test/smask-fill.xlib-fallback.ref.png | Bin 0 -> 1156 bytes - test/smask-fill.xlib.ref.png | Bin 0 -> 1223 bytes - test/smask-image-mask.pdf.argb32.ref.png | Bin 0 -> 1651 bytes - test/smask-image-mask.pdf.rgb24.ref.png | Bin 0 -> 1651 bytes - test/smask-mask.pdf.argb32.ref.png | Bin 0 -> 4398 bytes - test/smask-mask.pdf.rgb24.ref.png | Bin 0 -> 4398 bytes - test/smask-paint.pdf.argb32.ref.png | Bin 0 -> 4496 bytes - test/smask-paint.pdf.rgb24.ref.png | Bin 0 -> 4496 bytes - test/smask-stroke.pdf.argb32.ref.png | Bin 0 -> 1417 bytes - test/smask-stroke.pdf.rgb24.ref.png | Bin 0 -> 1417 bytes - test/smask-text.svg11.argb32.ref.png | Bin 0 -> 1791 bytes - test/smask-text.svg11.rgb24.ref.png | Bin 0 -> 1791 bytes - test/smask-text.svg12.argb32.ref.png | Bin 0 -> 1791 bytes - test/smask-text.svg12.rgb24.ref.png | Bin 0 -> 1791 bytes - test/smask.pdf.argb32.ref.png | Bin 0 -> 4496 bytes - test/smask.pdf.rgb24.ref.png | Bin 0 -> 4496 bytes - test/text-pattern.pdf.argb32.ref.png | Bin 1823 -> 2151 bytes - test/text-pattern.svg11.argb32.ref.png | Bin 1733 -> 1743 bytes - test/text-pattern.svg12.argb32.ref.png | Bin 1733 -> 1743 bytes - test/text-rotate.svg11.argb32.ref.png | Bin 0 -> 16942 bytes - test/text-rotate.svg11.rgb24.ref.png | Bin 0 -> 16942 bytes - test/text-rotate.svg12.argb32.ref.png | Bin 0 -> 16942 bytes - test/text-rotate.svg12.rgb24.ref.png | Bin 0 -> 16942 bytes - test/text-transform.svg11.argb32.ref.png | Bin 0 -> 5677 bytes - test/text-transform.svg11.rgb24.ref.png | Bin 0 -> 5677 bytes - test/text-transform.svg12.argb32.ref.png | Bin 0 -> 5677 bytes - test/text-transform.svg12.rgb24.ref.png | Bin 0 -> 5677 bytes - test/trap-clip.pdf.argb32.ref.png | Bin 5809 -> 6720 bytes - test/trap-clip.pdf.rgb24.ref.png | Bin 5768 -> 6642 bytes - test/trap-clip.ps2.argb32.ref.png | Bin 5690 -> 4849 bytes - test/trap-clip.ref.png | Bin 5772 -> 5865 bytes - test/trap-clip.rgb24.ref.png | Bin 5365 -> 5457 bytes - test/trap-clip.test-fallback.argb32.ref.png | Bin 0 -> 5753 bytes - test/trap-clip.test-fallback.rgb24.ref.png | Bin 0 -> 5379 bytes - test/trap-clip.xlib.ref.png | Bin 0 -> 5772 bytes - test/trap-clip.xlib.rgb24.ref.png | Bin 0 -> 5365 bytes - test/twin.svg11.argb32.ref.png | Bin 0 -> 1797 bytes - test/twin.svg11.rgb24.ref.png | Bin 0 -> 1797 bytes - test/twin.svg12.argb32.ref.png | Bin 0 -> 1797 bytes - test/twin.svg12.rgb24.ref.png | Bin 0 -> 1797 bytes - test/unbounded-operator.pdf.argb32.ref.png | Bin 0 -> 2713 bytes - test/unbounded-operator.ps2.argb32.ref.png | Bin 0 -> 2713 bytes - test/unbounded-operator.ps3.argb32.ref.png | Bin 0 -> 2713 bytes - test/unbounded-operator.rgb24.ref.png | Bin 1315 -> 1341 bytes - .../unbounded-operator.test-fallback.rgb24.ref.png | Bin 0 -> 1306 bytes - test/unbounded-operator.xlib.rgb24.ref.png | Bin 0 -> 1315 bytes - test/user-font-proxy.pdf.argb32.ref.png | Bin 0 -> 16937 bytes - test/user-font-proxy.pdf.rgb24.ref.png | Bin 0 -> 16937 bytes - test/user-font-proxy.ref.png | Bin 18121 -> 16937 bytes - test/user-font-proxy.svg11.argb32.ref.png | Bin 0 -> 16836 bytes - test/user-font-proxy.svg11.rgb24.ref.png | Bin 0 -> 16836 bytes - test/user-font-proxy.svg12.argb32.ref.png | Bin 0 -> 16836 bytes - test/user-font-proxy.svg12.rgb24.ref.png | Bin 0 -> 16836 bytes - test/user-font-proxy.test-fallback.argb32.ref.png | Bin 0 -> 16835 bytes - test/user-font-proxy.test-fallback.rgb24.ref.png | Bin 0 -> 16835 bytes - test/user-font-proxy.xlib.ref.png | Bin 0 -> 18121 bytes - test/user-font.ref.png | Bin 6183 -> 6082 bytes - test/user-font.svg11.argb32.ref.png | Bin 0 -> 6411 bytes - test/user-font.svg11.rgb24.ref.png | Bin 0 -> 6411 bytes - test/user-font.svg12.argb32.ref.png | Bin 0 -> 6411 bytes - test/user-font.svg12.rgb24.ref.png | Bin 0 -> 6411 bytes - test/user-font.test-fallback.argb32.ref.png | Bin 0 -> 5601 bytes - test/user-font.test-fallback.rgb24.ref.png | Bin 0 -> 5601 bytes - test/user-font.xlib.ref.png | Bin 0 -> 6183 bytes - 246 files changed, 85 insertions(+), 1 deletion(-) - -commit 85b81a3e59401e2fc68209634f7622694e7d30e1 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Fri Jul 11 13:10:20 2008 +0300 - - [cairo-spans] Implement a span renderer for cairo_image_surface_t. - - This implementation first produces an A8 alpha mask and then - pixman_image_composites the result to the destination with the source. - Clipping is handled by pixman when it is region clipping or by - cairo-surface-fallback when it is something more complex. - - src/cairo-image-surface.c | 273 +++++++++++++++++++++++++++++++++++++++------- - 1 file changed, 233 insertions(+), 40 deletions(-) - -commit 7994fc06ad66e31fcbc16f6e8cd9ad226022ec8c -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Thu Aug 28 22:16:07 2008 +0300 - - [cairo-spans] New cairo_tor_scan_converter_t. - - Imports a new polygon scan converter implementation from the - repository at - - http://cgit.freedesktop.org/~joonas/glitter-paths/ - - Glitter paths is a stand alone polygon rasteriser derived from David - Turner's reimplementation of Tor Anderssons's 15x17 supersampling - rasteriser from the Apparition graphics library. The main new feature - in this implementation is cheaply choosing per-scan line between doing - fully analytical coverage computation for an entire row at a time - vs. using a supersampling approach. - - src/Makefile.sources | 1 + - src/cairo-spans-private.h | 10 + - src/cairo-spans.c | 18 +- - src/cairo-tor-scan-converter.c | 2003 ++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 2027 insertions(+), 5 deletions(-) - -commit 2078e5b20fdff76ada6e13b29b2775b7dcd35439 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Thu Jul 31 01:58:08 2008 +0300 - - [cairo-spans] New _cairo_path_fixed_fill_using_spans(). - - Adds a helper function for backends to use for filling a path using - spans. - - src/cairo-spans-private.h | 10 ++++ - src/cairo-spans.c | 145 ++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 155 insertions(+) - -commit 4a9b274eebe674bbc5c66dc3e33256723cdf9829 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Fri Jul 11 00:59:47 2008 +0300 - - [cairo-spans] Add a check/create_span_renderer backend methods. - - A surface will have the chance to use span rendering at cairo_fill() - time by creating a renderer for a specific combination of - pattern/dst/op before the path is scan converted. The protocol is to - first call check_span_renderer() to see if the surface wants to render - with spans and then later call create_span_renderer() to create the - renderer for real once the extents of the path are known. - - No backends have an implementation yet. - - src/cairo-analysis-surface.c | 4 +++ - src/cairo-beos-surface.cpp | 2 ++ - src/cairo-directfb-surface.c | 2 ++ - src/cairo-glitz-surface.c | 2 ++ - src/cairo-image-surface.c | 2 ++ - src/cairo-meta-surface.c | 2 ++ - src/cairo-os2-surface.c | 2 ++ - src/cairo-paginated-surface.c | 2 ++ - src/cairo-pdf-surface.c | 2 ++ - src/cairo-ps-surface.c | 2 ++ - src/cairo-quartz-image-surface.c | 2 ++ - src/cairo-quartz-surface.c | 2 ++ - src/cairo-script-surface.c | 2 ++ - src/cairo-sdl-surface.c | 2 ++ - src/cairo-surface.c | 53 ++++++++++++++++++++++++++++++++++++++ - src/cairo-svg-surface.c | 2 ++ - src/cairo-type3-glyph-surface.c | 2 ++ - src/cairo-win32-printing-surface.c | 2 ++ - src/cairo-win32-surface.c | 2 ++ - src/cairo-xcb-surface.c | 2 ++ - src/cairo-xlib-surface.c | 2 ++ - src/cairoint.h | 30 +++++++++++++++++++++ - src/test-fallback-surface.c | 2 ++ - src/test-meta-surface.c | 2 ++ - src/test-paginated-surface.c | 2 ++ - 25 files changed, 131 insertions(+) - -commit 948c3526dcdbc440395fff4ce9bf4b7553930d92 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Fri Oct 24 17:37:30 2008 +0300 - - [cairo-spans] New abstract types for scan converting polygons. - - A cairo_span_renderer_t implementation can be provided by a surface if - it wants to render paths as horizontal spans of the alpha component of - a mask. Its job is to composite a source pattern to the destination - surface when given spans of alpha coverage for a row while taking care - of backend specific clipping. - - A cairo_scan_converter_t takes edges of a flattened path and generates - spans for a span renderer to render. - - src/Makefile.sources | 2 + - src/cairo-spans-private.h | 124 ++++++++++++++++++++++++ - src/cairo-spans.c | 242 ++++++++++++++++++++++++++++++++++++++++++++++ - src/cairoint.h | 1 + - 4 files changed, 369 insertions(+) - -commit 4b227143b3daab75148cd54c9e7580d509864e0d -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Thu Jul 31 01:54:53 2008 +0300 - - [cairo-spans] Introduce a type to track which pixels combine in a compositing op. - - A cairo_composite_rectangles_t contains the coordinates of rectangular - windows into each of the source pattern, mask, clip and destination - surface containing the pixels that will combine in a compositing - operation. The idea is to have a uniform way to represent all the - translations involved rather than overloading parameters like src_x/y, - dst_x/y, etc., sometimes with different incompatible meanings across - functions. - - src/cairo-rectangle.c | 21 +++++++++++++++++++++ - src/cairo-types-private.h | 24 ++++++++++++++++++++++++ - src/cairoint.h | 7 +++++++ - 3 files changed, 52 insertions(+) - -commit a370d077bc697588b6dac2556afa0b95ff83a77d -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Fri Jul 25 16:35:14 2008 +0300 - - [path-fixed] New _cairo_path_fixed_is_region(). - - We want to hit the current fast paths for rendering axis aligned - rectilinear paths rather than spans, and for that we need to be able - to identify regional paths. - - src/cairo-path-fixed.c | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++ - src/cairoint.h | 3 ++ - 2 files changed, 99 insertions(+) - -commit 6acb8223930081f70b422ef93a49ea645c2cc12d -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Fri Sep 12 19:32:12 2008 +0300 - - [path-fixed] Avoid extra indirection when iterating already flat paths. - - Perform a plain iteration rather than a flattening one if the path - knows it doesn't have any curves. - - src/cairo-path-fixed.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit 0c0f4862c52d68776024f125b003ade455044b27 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Dec 6 13:32:37 2008 +0200 - - [perf-diff] Fix cairo-perf-diff for git 1.6 - - Since git 1.6 the plumbing commands aren't installed in the user's - path by default. This patch fixes cairo-perf-diff to find the - git-sh-setup command from git's lib dir. - - perf/cairo-perf-diff | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit afba0c312958852586b846ec615cff1bd3e5cde7 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Fri Sep 12 17:41:45 2008 +0300 - - [perf] Add perf tests to hit rectilinear code paths. - - These tests look at the differences in code paths - hit by filling paths that are rectilinear (or not) and - pixel aligned (or not) with the even-odd and non-zero - fill rules. The paths are not simple, so they don't - hit the special case quad/triangle tessellator. - - perf/Makefile.am | 3 +- - perf/cairo-perf.c | 1 + - perf/cairo-perf.h | 1 + - perf/spiral.c | 200 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 204 insertions(+), 1 deletion(-) - -commit 8ec58113df417e1ec1d331ab65267c34e6d32096 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Fri Sep 12 17:32:40 2008 +0300 - - [perf] Explicitly test rendering a path with lots of intersections. - - We don't have one just for this purpose. The only other - path with many intersections that gets actually rendered is zrusin-another, - but that might be sped up in the future (say by identifying - collinearities up front or something like that.) - - perf/Makefile.am | 3 +- - perf/cairo-perf.c | 1 + - perf/cairo-perf.h | 1 + - perf/intersections.c | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 101 insertions(+), 1 deletion(-) - -commit 08b486c9aa1d6ad01f1b17a16dcb4d695e8cbf7d -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Thu Dec 4 17:53:06 2008 -0500 - - [win32] Use MOD instead of the '%' operator - - Repeat should be handled using MOD instead of '%' so that negative numbers - are handled as expected. E.g. -1 mod 600 = 599, not 495 as the '%' operator - gives. This was causing https://bugzilla.mozilla.org/show_bug.cgi?id=466258 - - Patch from Robert O'Callahan - - src/cairo-win32-surface.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -commit 540de34453d16092acd2978b513831a02f01f59f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Oct 26 12:53:29 2008 +0000 - - [matrix] Optimise invert for simple scaling|translation matrices. - - Peter Hercek reported, and provided a very useful test case for, a bug - that caused his applications to crash with Cairo detecting an - non-invertible pattern matrix and thus asserting the impossible happened. - Bisecting revealed that the bug first appeared with 3c18d95 and - disappeared with 0d0c6a1. Since neither of these explain the crash, - further investigation revealed a compiler bug (gcc 4.3.3 20081130, - earlier versions have different bugs!) that caused the matrix inversion - to be invalid iff _cairo_matrix_scalar_multiply() was inlined (i.e. -O0, - or an explicit noinline atttribute on that function prevented the bug, as - did -msse.) So we apply this workaround to hide the bug in the stable - series... - - The matrix is quite often just a simple scale and translate (or even - identity!). For this class of matrix, we can skip the full adjoint - rearrangement and determinant calculation and just compute the inverse - directly. - (cherry picked from commit 0d0c6a199c5b631299c72dce80d66ac0f4936a64) - - src/cairo-matrix.c | 26 +++++++++++++++++++++++++- - 1 file changed, 25 insertions(+), 1 deletion(-) - -commit aff32019a70600fec5040a5a73c4f0b688826064 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Sun Nov 30 23:28:59 2008 -0500 - - [Makefile.am] Use top_srcdir instead of srcdir - - Doesn't make much difference here, but makes our intention clear. - - build/Makefile.am.changelog | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 51a75ad932af4a3c3da96ef98de79328afa200c3 -Author: Luo Jinghua <sunmoon1997@gmail.com> -Date: Sun Nov 30 20:42:49 2008 +0800 - - glitz: Replace specified color with an opaque one if dst surface don't have an alpha channel. - - Otherwise if underlying glitz drawable has an alpha channel, glitz_set_rectangles - will set its alpha channel to specified value instead of opaque one and effects following - composite operations since glitz draws to attached drawable then copies its content to - the dst surface. With this commit, three test cases such as operator, operator-alpha and - unbounded-operator passes now. - - src/cairo-glitz-surface.c | 18 ++++++++++++------ - 1 file changed, 12 insertions(+), 6 deletions(-) - -commit 7247017cf5e6b497a5836d9081ee153d27c6b15e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Nov 29 11:47:25 2008 +0000 - - Fix up a couple of likely(malloc==NULL) - - Adrian Johnson spotted that I marked a few malloc failures as likely, - whoops. - - src/cairo-cff-subset.c | 4 ++-- - src/cairo-clip.c | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -commit 1659db2c1f4cc72e51fb43d119822ec7aaa77ac0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Nov 29 10:37:58 2008 +0000 - - [test] Fix surface leak from device-offset-positive. - - A forgotten cairo_surface_destroy() caused the similar surface to be - leaked during the test. - - test/device-offset-positive.c | 1 + - 1 file changed, 1 insertion(+) - -commit 0d757a793d7fe2860c6a522124a123864fc97f0a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Nov 29 10:36:34 2008 +0000 - - [png] Fix leak of original png data on error path. - - The error path was missing a _cairo_output_stream_destroy() to cleanup a - copy of the incoming PNG data. - - src/cairo-png.c | 15 +++++++++++---- - 1 file changed, 11 insertions(+), 4 deletions(-) - -commit e6963a5bfebda69a1ef0a986cede84bcd955b6d4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 18 17:26:55 2008 +0000 - - Mark allocation failures as unlikely. - - Use the gcc likelihood annotation to indicate that allocation failures are - extremely unlikely. - - src/cairo-analysis-surface.c | 4 +-- - src/cairo-array.c | 4 +-- - src/cairo-base85-stream.c | 2 +- - src/cairo-bentley-ottmann.c | 13 ++++---- - src/cairo-cache.c | 6 ++-- - src/cairo-cff-subset.c | 66 ++++++++++++++++++++--------------------- - src/cairo-clip.c | 8 ++--- - src/cairo-deflate-stream.c | 2 +- - src/cairo-directfb-surface.c | 2 +- - src/cairo-font-face.c | 6 ++-- - src/cairo-ft-font.c | 25 ++++++++-------- - src/cairo-gstate.c | 17 ++++++----- - src/cairo-hash.c | 6 ++-- - src/cairo-hull.c | 2 +- - src/cairo-image-surface.c | 12 ++++---- - src/cairo-lzw.c | 4 +-- - src/cairo-meta-surface.c | 24 +++++++-------- - src/cairo-misc.c | 24 ++++++++++----- - src/cairo-output-stream.c | 14 ++++----- - src/cairo-paginated-surface.c | 2 +- - src/cairo-path-fixed.c | 4 +-- - src/cairo-path-stroke.c | 4 +-- - src/cairo-path.c | 8 ++--- - src/cairo-pattern.c | 36 +++++++++++----------- - src/cairo-pdf-operators.c | 6 ++-- - src/cairo-pdf-surface.c | 34 ++++++++++----------- - src/cairo-pen.c | 8 ++--- - src/cairo-png.c | 14 ++++----- - src/cairo-polygon.c | 2 +- - src/cairo-ps-surface.c | 16 +++++----- - src/cairo-region.c | 2 +- - src/cairo-scaled-font-subsets.c | 28 ++++++++--------- - src/cairo-scaled-font.c | 29 +++++++++--------- - src/cairo-script-surface.c | 14 ++++----- - src/cairo-sdl-surface.c | 2 +- - src/cairo-skiplist.c | 2 +- - src/cairo-stroke-style.c | 2 +- - src/cairo-surface-fallback.c | 2 +- - src/cairo-surface.c | 4 +-- - src/cairo-svg-surface.c | 16 +++++----- - src/cairo-traps.c | 4 +-- - src/cairo-truetype-subset.c | 30 +++++++++---------- - src/cairo-type1-fallback.c | 15 +++++----- - src/cairo-type1-subset.c | 22 +++++++------- - src/cairo-type3-glyph-surface.c | 2 +- - src/cairo-user-font.c | 2 +- - src/cairo-xlib-display.c | 4 +-- - src/cairo-xlib-screen.c | 2 +- - src/cairo-xlib-surface.c | 25 ++++++++-------- - src/cairo-xlib-visual.c | 2 +- - src/cairo.c | 4 +-- - src/test-fallback-surface.c | 2 +- - src/test-meta-surface.c | 2 +- - src/test-paginated-surface.c | 2 +- - 54 files changed, 300 insertions(+), 294 deletions(-) - -commit d1801c23fae3777c7c59e084894a3410f7a1f932 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 18 15:38:37 2008 +0000 - - Mark if(status) as being unlikely. - - The error paths should be hit very rarely during normal operation, so mark - them as being unlikely so gcc may emit better code. - - src/cairo-analysis-surface.c | 24 +-- - src/cairo-array.c | 6 +- - src/cairo-cache.c | 4 +- - src/cairo-cff-subset.c | 208 ++++++++++++------------- - src/cairo-clip.c | 23 ++- - src/cairo-font-face.c | 14 +- - src/cairo-ft-font.c | 44 +++--- - src/cairo-gstate.c | 66 ++++---- - src/cairo-image-surface.c | 16 +- - src/cairo-lzw.c | 4 +- - src/cairo-meta-surface.c | 42 ++--- - src/cairo-misc.c | 6 +- - src/cairo-output-stream.c | 2 +- - src/cairo-paginated-surface.c | 38 ++--- - src/cairo-path-fill.c | 6 +- - src/cairo-path-fixed.c | 14 +- - src/cairo-path-stroke.c | 56 +++---- - src/cairo-path.c | 6 +- - src/cairo-pattern.c | 34 ++-- - src/cairo-pdf-operators.c | 60 ++++---- - src/cairo-pdf-surface.c | 334 ++++++++++++++++++++-------------------- - src/cairo-pen.c | 6 +- - src/cairo-png.c | 14 +- - src/cairo-ps-surface.c | 122 +++++++-------- - src/cairo-scaled-font-subsets.c | 30 ++-- - src/cairo-scaled-font.c | 72 ++++----- - src/cairo-script-surface.c | 160 +++++++++---------- - src/cairo-sdl-surface.c | 4 +- - src/cairo-surface-fallback.c | 82 +++++----- - src/cairo-surface.c | 60 ++++---- - src/cairo-svg-surface.c | 84 +++++----- - src/cairo-traps.c | 12 +- - src/cairo-truetype-subset.c | 98 ++++++------ - src/cairo-type1-fallback.c | 44 +++--- - src/cairo-type1-subset.c | 46 +++--- - src/cairo-type3-glyph-surface.c | 10 +- - src/cairo-user-font.c | 18 +-- - src/cairo-xlib-screen.c | 4 +- - src/cairo-xlib-surface.c | 92 +++++------ - src/cairo.c | 138 ++++++++--------- - 40 files changed, 1053 insertions(+), 1050 deletions(-) - -commit f0804d4856496a46d0b2270d5815856bf63b4cf8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Nov 28 23:58:55 2008 +0000 - - [test] Exercise caps and joins under reflection. - - The nature of the joins depends critically upon whether the joint is - clockwise or counter-clockwise, so extend the basic caps-joins test to - exercise both conditions i.e. repeat the test under a reflection. - - test/Makefile.am | 6 ++- - test/caps-joins-curve.c | 111 +++++++++++++++++++++++++++++++++++++++ - test/caps-joins-curve.ps.ref.png | Bin 0 -> 3728 bytes - test/caps-joins-curve.ref.png | Bin 0 -> 5132 bytes - test/caps-joins.c | 40 +++++++++----- - test/caps-joins.ps.ref.png | Bin 0 -> 2282 bytes - test/caps-joins.ps2.ref.png | Bin 1459 -> 0 bytes - test/caps-joins.ps3.ref.png | Bin 1459 -> 0 bytes - test/caps-joins.ref.png | Bin 1488 -> 2380 bytes - test/dash-curve.ref.png | Bin 39642 -> 39696 bytes - 10 files changed, 143 insertions(+), 14 deletions(-) - -commit f39dd86e292e9af3438acb041a3a7330fb4a3b22 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Nov 27 00:23:11 2008 +0000 - - [test] Add simple cap test. - - Add a test case that only exercises capping, useful for developing - new strokers. - - test/Makefile.am | 3 ++ - test/caps.c | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++ - test/caps.ps.ref.png | Bin 0 -> 1466 bytes - test/caps.ref.png | Bin 0 -> 1601 bytes - 4 files changed, 90 insertions(+) - -commit f2982e103c27cad1edf648dadcfffe1a15763efd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 25 17:23:33 2008 +0000 - - [fill] Allow rectangles to be implicitly closed. - - Also scan for appendages of simple rectangles. - - src/cairo-path-fill.c | 2 +- - src/cairo-path-fixed-private.h | 4 ++-- - src/cairo-path-fixed.c | 14 +++++++++----- - 3 files changed, 12 insertions(+), 8 deletions(-) - -commit d2bcf1d76defda861e1a7f2271046851083ad694 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Nov 28 17:12:03 2008 +0000 - - [path] Carefully check for no more points. - - As the empty path points to an embedded buf, we cannot rely on the buf - pointer being NULL to mark end-of-path. - - src/cairo-path-fixed-private.h | 10 +++++----- - src/cairo-path-fixed.c | 15 ++++++++++++--- - 2 files changed, 17 insertions(+), 8 deletions(-) - -commit 424aba9be558e89b4d42554ca6a5042574e3df75 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 26 20:38:24 2008 +0000 - - [check] Search for the word NOTE - - Add word boundary markers around the regexp so that we only match for the - word NOTE and not on substrings like GL_NOTEQUAL. - - src/check-doc-syntax.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 36147140ce56d8d3492b971a9b6ceff97e212e01 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Nov 28 18:54:02 2008 +0000 - - [perf] Fix build - - If automake detects the use of cairo_perf_LDADD in an unused conditional - that overrides the default - so we need to manually set cairo_perf_LDADD. - - perf/Makefile.am | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit ed6bd4766cb47e97b1a6ecb81eff5bf4673d549b -Author: Luo Jinghua <sunmoon1997@gmail.com> -Date: Fri Nov 28 07:54:41 2008 +0800 - - image: Use unsigned long to compute color masks. - - Use unsigned long in the first place to prevent compiler from - expanding signed bit to all upper bits. e.g, a alpha mask 0xff0000 - will expand to 0xffffffffff00000 on 64 bit platform which is not - what we expected. - - src/cairo-image-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 41cb91d417e7c0dc1cc767ea0fb38a1f8b3f4e43 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Wed Nov 26 23:49:12 2008 +0200 - - [script] Use the in-tree libcairo for csi-replay. - - csi-replay was missing the in-tree libcairo.la so the build was - failing while looking for new symbols from the system libcairo. - - util/cairo-script/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f5634818f1e5cc0adaa326662c099a75f4e615eb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Nov 13 14:56:38 2008 +0000 - - [os2] Move include cairo.h before os2.h - - The defines need to come first, but we specify that cairo.h is the first - header file to be included by files. - - src/cairo-os2.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 2f0f9a1a593db43dd04507c5989cd0af4b1486de -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Thu Nov 13 10:50:41 2008 +0100 - - [os2] Fix includes - - Patch from Dave Yeo to make cairo-os2.h include os2.h directly so the - header is standalone. - - src/cairo-os2-private.h | 11 ----------- - src/cairo-os2-surface.c | 5 ----- - src/cairo-os2.h | 8 ++++++++ - 3 files changed, 8 insertions(+), 16 deletions(-) - -commit 5591cb58fd94483ec3dc7c169ae8cf0a6b7841bd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 26 17:43:22 2008 +0000 - - [script] Only use zlib if available. - - Conditionally link against zlib - replaying a script will fail if the - trace uses a compressed format. - - configure.ac | 5 ++++- - util/cairo-script/Makefile.am | 2 +- - util/cairo-script/cairo-script-file.c | 5 ++++- - util/cairo-script/cairo-script-operators.c | 2 ++ - 4 files changed, 11 insertions(+), 3 deletions(-) - -commit 9432c0c9b89ed6b3d369b377cf884918cd6180db -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 26 17:33:35 2008 +0000 - - [script] Link the interpreter against the built library. - - Ensure we correctly link against the version of cairo just built. - - util/cairo-script/Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 815e5b962ef8477c344da0f0b52c1f85c9854777 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 26 17:30:29 2008 +0000 - - [script] Add a fallback image surface for replay - - If we do not have a native windowing surface compiled into the library, - just replay the script to an image surface. - - util/cairo-script/csi-replay.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit 5e376523628d5e2078e395ea7263a04bacd37c47 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 26 17:26:57 2008 +0000 - - [skiplist] Check for ffs() - - Wine at least does not provide ffs(), so check at configure time and - open-code a replacement. - - build/configure.ac.system | 2 +- - src/cairo-skiplist.c | 11 +++++++++++ - 2 files changed, 12 insertions(+), 1 deletion(-) - -commit 60282b866aab359840b4bcaa6aaccaca2eccd3d2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 26 16:58:29 2008 +0000 - - [glitz] Fix clone_similar(). - - Clone similar open-coded various image surface functions and failed to - clone a sub-region resulting in failures for mask-transformed-* and - large-source. - - src/cairo-glitz-surface.c | 458 ++++++++++++++-------------------------------- - 1 file changed, 137 insertions(+), 321 deletions(-) - -commit 47275c7ece06c0d02f2d7c9aa81d87a7144392b0 -Author: Paolo Bonzini <bonzini@gnu.org> -Date: Wed Nov 26 15:56:48 2008 +0100 - - [test] Fix glitz-surface-source test - - The recent changes to separate glitz/agl broke the compilation of the - glitz-surface-source test. - - test/glitz-surface-source.c | 96 +++++++++++++++++++++++++++++++++- - test/glitz-surface-source.ps2.ref.png | Bin 0 -> 376 bytes - test/glitz-surface-source.ps3.ref.png | Bin 0 -> 376 bytes - 3 files changed, 94 insertions(+), 2 deletions(-) - -commit a84ea7829065b7e1d33d6fed6bcf0c7c8abd383a -Author: Paolo Bonzini <bonzini@gnu.org> -Date: Wed Nov 26 15:49:00 2008 +0100 - - [test] Add quartz-surface-source test - - Add a simple test to exercise using a Quartz surface as a source. - - test/Makefile.am | 6 ++++- - test/quartz-surface-source.c | 42 +++++++++++++++++++++++++++++++++ - test/quartz-surface-source.ps2.ref.png | Bin 0 -> 376 bytes - test/quartz-surface-source.ps3.ref.png | Bin 0 -> 376 bytes - test/quartz-surface-source.ref.png | Bin 0 -> 332 bytes - 5 files changed, 47 insertions(+), 1 deletion(-) - -commit 993941cfd701eb222b81cdddeabf6f7ff2daa150 -Author: Paolo Bonzini <bonzini@gnu.org> -Date: Wed Nov 26 13:32:11 2008 +0000 - - [perf] Fix SDL compilation for MacOS X - - The attached patch makes the SDL tests compile under Mac OS X. The - problem is: - - 1) that <SDL_main.h> should be included in files that define the main - function for SDL Mac OS X programs (this is not true with the upcoming - SDL 1.3 release). - - 2) that -lSDLmain, because it is statically linked, needs the Cocoa - framework in the LDADD of the main program. Again, 1.3 will not require - this. - - perf/Makefile.am | 4 ++++ - perf/cairo-perf.c | 4 ++++ - test/Makefile.am | 4 ++++ - test/cairo-test-runner.c | 4 ++++ - 4 files changed, 16 insertions(+) - -commit 8a5b55ca6c69671a138f65ab15bcf93163f24a37 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 26 13:26:40 2008 +0000 - - [matrix] Impose a maximum number of refinement iterations - - Ensure we do not loop forever trying to minimise the error between the - pixman and cairo matrices - for instance when the FPU is not running at - full precision. - - src/cairo-matrix.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 4218699642c621eb3098a5251ef88d8c7d8a96d2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 26 11:54:29 2008 +0000 - - [skiplist] Use ffs() - - Use ffs() [find-first-set-bit] instead of open-coding, which is about 25% - faster on my test machine. - - src/cairo-skiplist.c | 11 +---------- - 1 file changed, 1 insertion(+), 10 deletions(-) - -commit 039437c9cfaeed7a2cc1977623ab8bda9854b58a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 26 10:31:09 2008 +0000 - - [png] Use FILE* instead of void*. - - Adrian Johnson reported that cygwin complained about the use of the void * - within feof() as it was using a macro and attempted a to deference the - void*... - - src/cairo-png.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit 8fa3cd95641e9138406d651b0734ee84f1da60d2 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Wed Nov 26 06:40:47 2008 +1030 - - Change uint to uint32_t - - src/cairo-image-info.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e828f7330633cd839f094bf8409de0bcff17c95c -Author: Luo Jinghua <sunmoon1997@gmail.com> -Date: Wed Nov 26 00:09:11 2008 +0800 - - glitz: Apply fixup to unbounded operators to clear area outside of mask - - src/cairo-glitz-surface.c | 79 +++++++++++++++++++++++++++++++++++++++-------- - 1 file changed, 66 insertions(+), 13 deletions(-) - -commit 449e7518bee5d0238138176b3b71d137c6fc01e7 -Author: Luo Jinghua <sunmoon1997@gmail.com> -Date: Tue Nov 25 22:55:24 2008 +0800 - - glitz: set correct parameters for linear and radial pattern. - - Glitz expects 16.16 fixed point, but we use 24.8 fixed point by default. - - src/cairo-glitz-surface.c | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -commit 3bde440e00ba19e968b854c1505dc4d1ace83504 -Author: Luo Jinghua <sunmoon1997@gmail.com> -Date: Tue Nov 25 22:36:53 2008 +0800 - - glitz: fixup another stupid bug in fill_rectangles. - - Wny I doesn't notice them before. Without fixes it fills n_rect times of - the first one in the rectangle list. - - src/cairo-glitz-surface.c | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit 4ac38f7c2bde67cab37805cab8a2effb2a8617e4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 25 11:52:01 2008 +0000 - - [fill] Emit rectangles for GdkRegion - - Scan the path for a series of consistently wound rectangles. - - src/cairo-path-fill.c | 85 ++++++++++++++++++++++------ - src/cairo-path-fixed-private.h | 17 ++++++ - src/cairo-path-fixed.c | 124 ++++++++++++++++++++++++++++++++++++++--- - 3 files changed, 201 insertions(+), 25 deletions(-) - -commit 23df74e5ffd6be876f3c19ee9d71683f5a0ed6f4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 25 11:45:30 2008 +0000 - - [xlib] Cosmetic tweak. - - Tightly scope the local rects. - - src/cairo-xlib-surface.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit 06fabd6cbd0ad187f5f9f155d6b7962f76ec5dda -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 25 12:05:26 2008 +0000 - - [path] Fix up extents. - - Forgot to round the box to the integer rectangle and missed why only - testing on image. Very naughty. - - src/cairo-analysis-surface.c | 2 +- - src/cairo-path-bounds.c | 20 +++++++++++--------- - 2 files changed, 12 insertions(+), 10 deletions(-) - -commit 1f44fb97f3973aa90c4f27bcf9341149370c825d -Author: Luo Jinghua <sunmoon1997@gmail.com> -Date: Tue Nov 25 20:45:03 2008 +0800 - - cairo-script: add $(top_builddir)/src to CPPPATH. - - $(top_builddir)/src is needed to find cairo-features.h while - building out of tree. - - util/cairo-script/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 487c708b3b6727eb2f8d3714edeae356a7cbbd40 -Author: Paolo Bonzini <bonzini@gnu.org> -Date: Tue Nov 25 20:40:37 2008 +0800 - - [boilerplate] fix compilation for glitz-agl - - As suggested on the list, this splits the cairo-boilerplate-glitz.c - file in three separate files, one for each backend. Furthermore, - it fixes a few problems in compilation of the AGL backend test harness. - - boilerplate/Makefile.sources | 6 +- - boilerplate/cairo-boilerplate-glitz-agl.c | 166 +++++++++ - boilerplate/cairo-boilerplate-glitz-glx.c | 244 ++++++++++++ - boilerplate/cairo-boilerplate-glitz-private.h | 6 + - boilerplate/cairo-boilerplate-glitz-wgl.c | 164 ++++++++ - boilerplate/cairo-boilerplate-glitz.c | 517 -------------------------- - 6 files changed, 585 insertions(+), 518 deletions(-) - -commit ca80b8c652dde4449216da9d11691202eef97bbd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 25 10:25:24 2008 +0000 - - [pdf] Add a default case to silence the compiler. - - The foolish compiler was emitting a warning about a potential - uninitialized variable even though the switch was fully populated. - - src/cairo-pdf-surface.c | 1 + - 1 file changed, 1 insertion(+) - -commit b8991a1c69ae5d8fb630296a3c689aa8d1546671 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 25 10:11:59 2008 +0000 - - [in-fill] Add the implicit close-path during move-to. - - When interpreting a fixed-path for a fill operation, any move-to - implicitly closes the current path. - - src/cairo-gstate.c | 12 ++++++------ - src/cairo-path-in-fill.c | 23 +++++++++++++---------- - src/cairo.c | 11 ++++------- - src/cairoint.h | 4 ++-- - 4 files changed, 25 insertions(+), 25 deletions(-) - -commit 59de6fb89e80ee6aeeb2984b545ceb9bb9f0f7bb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 25 10:04:50 2008 +0000 - - [path] Compute approximate extents. - - When computing the bounds of the clip path, we care more for a fast result - than absolute precision as the extents are only used as a guide to trim - the future operations. So computing the extents of the path suffices. - - src/cairo-analysis-surface.c | 16 +++-------- - src/cairo-clip.c | 25 +++--------------- - src/cairo-gstate.c | 13 +++------ - src/cairo-path-bounds.c | 63 ++++++++++++++++++++++++++++++++++++++++---- - src/cairo-surface.c | 8 +++--- - src/cairo.c | 10 +++---- - src/cairoint.h | 8 ++++-- - 7 files changed, 82 insertions(+), 61 deletions(-) - -commit b6bf047494fc308fff00d818b2920d8ba4aa7aed -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Nov 21 15:27:31 2008 +0000 - - [clip] Check for error surface - - The update to use a NULL backend with an error surface broke creating a - context from an error surface. - - src/cairo-clip.c | 2 +- - src/cairo.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 721cad9b24c2ad049320950d231ed84046c5b8ab -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Mon Nov 24 22:41:03 2008 +1030 - - Fix typo - - src/cairo-misc.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 70e4c532722bbcad1eca50438e6ab2cdd0ea9b53 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Mon Nov 24 22:38:30 2008 +1030 - - Document location of image format specifications - - src/cairo-image-info.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -commit 4ca644af274bda4603e7d02dbeca8641bbb3ff79 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Mon Nov 24 00:29:54 2008 +1030 - - Win32-print: Add PNG embedding support - - src/cairo-win32-printing-surface.c | 106 +++++++++++++++++++++++++++---------- - src/cairo-win32-private.h | 3 ++ - 2 files changed, 82 insertions(+), 27 deletions(-) - -commit f59a3e03fc91dc4a1769b07bda77a364cc570bc8 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Nov 23 22:27:49 2008 +1030 - - Add PNG get info function - - src/cairo-image-info-private.h | 5 +++++ - src/cairo-image-info.c | 46 ++++++++++++++++++++++++++++++++++++------ - 2 files changed, 45 insertions(+), 6 deletions(-) - -commit 1892907e24d9f9f31942c6962aaa6d2ff9553ce7 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Nov 23 21:36:40 2008 +1030 - - PDF: Disable PDF 1.5 features when version 1.4 is selected - - JPEG 2000 image embedding and ActualText marked content are - PDF 1.5 features. - - src/cairo-pdf-operators-private.h | 5 +++++ - src/cairo-pdf-operators.c | 8 ++++++++ - src/cairo-pdf-surface.c | 7 +++++++ - 3 files changed, 20 insertions(+) - -commit c4a57385fa2e69020f43519bea21b98182bf5fd7 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Nov 23 21:12:08 2008 +1030 - - PDF: Add cairo_pdf_surface_restrict_to_version API - - Now that we are using PDF 1.5 features, add an api to select between - version 1.4 or 1.5. - - src/cairo-pdf-surface-private.h | 2 + - src/cairo-pdf-surface.c | 116 +++++++++++++++++++++++++++++++++++++--- - src/cairo-pdf.h | 24 +++++++++ - 3 files changed, 136 insertions(+), 6 deletions(-) - -commit d85e836911d661275c29f2348a047e5d911f9004 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Nov 23 21:03:22 2008 +1030 - - PDF: Add newline to end of binary streams - - PDF requires white space before the "endstream" - - src/cairo-pdf-surface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit b87d81ef0bb52570385a3c9e331651cbeb87b2bb -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Nov 23 19:29:26 2008 +1030 - - Add image/jp2 to mime-data test - - test/jp2.jp2 | Bin 0 -> 2999 bytes - test/mime-data.c | 7 ++++++- - test/mime-data.pdf.ref.png | Bin 4466 -> 6482 bytes - test/mime-data.ps.ref.png | Bin 4466 -> 4554 bytes - test/mime-data.ref.png | Bin 155 -> 185 bytes - test/mime-data.svg.ref.png | Bin 6153 -> 6264 bytes - 6 files changed, 6 insertions(+), 1 deletion(-) - -commit 7fdb712cbaadc95c02f607a9f6c995f8beb01342 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Nov 23 18:56:12 2008 +1030 - - PDF: Add JPEG2000 image embedding - - Requires increasing the PDF version to 1.5. - - src/cairo-pdf-surface.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 51 insertions(+), 1 deletion(-) - -commit 0746efbf0718095920d9258942d32a7023d22131 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Nov 23 18:47:13 2008 +1030 - - Add JPEG2000 mimetype and image info function - - src/cairo-image-info-private.h | 4 ++ - src/cairo-image-info.c | 100 +++++++++++++++++++++++++++++++++++++++++ - src/cairo-surface-fallback.c | 1 + - src/cairo.h | 1 + - 4 files changed, 106 insertions(+) - -commit 5de1e4de938d03406ce3364c6c1baa958f210410 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Nov 23 18:33:58 2008 +1030 - - Move cairo-jpeg-info.c to cairo-image-info.c - - Other image formats will be added to the same file. - - src/Makefile.sources | 4 ++-- - ...ro-jpeg-info-private.h => cairo-image-info-private.h} | 16 ++++++++-------- - src/{cairo-jpeg-info.c => cairo-image-info.c} | 16 ++++++++-------- - src/cairo-pdf-surface.c | 6 +++--- - src/cairo-ps-surface.c | 6 +++--- - src/cairo-svg-surface.c | 6 +++--- - src/cairo-win32-printing-surface.c | 6 +++--- - 7 files changed, 30 insertions(+), 30 deletions(-) - -commit 63180edf6f7cc81beda626190ca1055efa330fda -Author: Luo Jinghua <sunmoon1997@gmail.com> -Date: Sun Nov 23 11:42:26 2008 +0800 - - glitz: set clone_offset_{x, y} on success in clone_similar. - - With this fix, glitz backend passes 135 test cases and fails 66 test cases. - - src/cairo-glitz-surface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 36c1b3e5919f119a054e425ca03f7ce810d3e7ec -Author: Luo Jinghua <sunmoon1997@gmail.com> -Date: Sun Nov 23 10:27:49 2008 +0800 - - glitz: fixup a stupid bug in get_image. - - _pixman_format_from_masks returns a boolean instead of cairo status code. - Without this fix, get_image bails out over and over again even operations - was completed successfully. :-( - - src/cairo-glitz-surface.c | 14 +++++++++----- - 1 file changed, 9 insertions(+), 5 deletions(-) - -commit c8b70aacc6b5523e2f73bebf4f61e876de1c3b3f -Author: Nicolas Bruguier <gandalfn@club-internet.fr> -Date: Sat Nov 22 18:16:17 2008 +0800 - - glitz: bring glitz backend to more or less working state. - - Thanks Nicolas Bruguier for writing the original patch and - thanks Paolo Bonzini for pointing out. This patch converts 24.8 - fixed point values into 16.16 ones before passing them down to glitz. - And I fixed a use-after-free issue in _cairo_glitz_surface_set_clip_region. - glitz_surface_set_clip_region takes the pointer and doesn't copy the - clip boxes, the original code frees the clip boxes immediately after - setting clip region. Keeping the box around with the life time of clip - region fixes the bug. - - src/cairo-glitz-surface.c | 329 +++++++++++++++++++++++----------------------- - 1 file changed, 163 insertions(+), 166 deletions(-) - -commit 77e60df32fa59328bd32095c77f8c360805b5db7 -Author: Maarten Maathuis <madman2003@gmail.com> -Date: Sat Nov 8 15:29:40 2008 +0100 - - cairo-xcb: avoid leaking memory - - src/cairo-xcb-surface.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 361962b7fb4385f164673991670b6fce0839d32a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 31 08:42:30 2008 +0000 - - [directfb] Compile fix with debug enabled. - - Fix a trivial compile failure reported here: - Bug 18322 - bug in _cairo_directfb_surface_release_source_image function - (http://bugs.freedesktop.org/show_bug.cgi?id=18322) - - src/cairo-directfb-surface.c | 1 + - 1 file changed, 1 insertion(+) - -commit f15b1f26becf28457e9ccf8903257a0dec25d547 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Nov 20 23:19:19 2008 +0000 - - [region] Use the caller supplied array for extracting boxes. - - Allow the user to pass in a pre-allocated array and use it if the number - of boxes permits. This eliminates the frequent allocations during clipping - by toolkits. - - src/cairo-directfb-surface.c | 6 ++++-- - src/cairo-glitz-surface.c | 1 + - src/cairo-paginated-surface.c | 3 +++ - src/cairo-region.c | 11 ++++++----- - src/cairo-sdl-surface.c | 1 + - src/cairo-surface.c | 15 ++++++++------- - src/cairo-win32-surface.c | 3 ++- - src/cairo-xcb-surface.c | 1 + - src/cairo-xlib-surface-private.h | 2 +- - src/cairo-xlib-surface.c | 13 ++++++++----- - 10 files changed, 35 insertions(+), 21 deletions(-) - -commit 9d2c55c661885c06eed44e810004c2ebe07038d3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Nov 20 21:53:34 2008 +0000 - - [traps] Embed sufficient traps to accommodate a stroke rectangle - - Small numbers of traps are frequently generated from either a path of a - single line, or that of a rectangle. Therefore should embed sufficient - storage with cairo_traps_t to accommodate the stroke of a single rectangle - (e.g. a pango unknown glyph hexbox) to avoid frequent allocations. - - src/cairoint.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit a11442154d958d5c9694eb944a715a6c689fda85 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Nov 20 18:00:40 2008 +0000 - - [cairo] Allocate glyphs on the stack for show_text(). - - First try to use a stack buffer for the glyphs and clusters if the user - calls cairo_show_text() - for example, as pango does to draw the unknown hex - box. - - src/cairo.c | 18 ++++++++++++++---- - 1 file changed, 14 insertions(+), 4 deletions(-) - -commit 9556266ffcb1c34187730af90bb847950d6db66e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Nov 20 09:40:25 2008 +0000 - - [surface] Make the error surfaces have a NULL backend. - - By using a NULL backend for the error surfaces, instead of a pointer to - the image surface backend end, we save a few lookup/redirections during - dynamic linking. - - src/cairo-surface.c | 22 ++++++---------------- - 1 file changed, 6 insertions(+), 16 deletions(-) - -commit cfd2c73826f5bf20624fbdf5b16fd08fbe18a914 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Nov 20 09:36:02 2008 +0000 - - [image] Trim image surface size by a few bytes - - Convert an infrequently accessed series of cairo_bool_t and short enums - to a common bitfield. - - src/cairo-image-surface.c | 11 ++++++----- - src/cairoint.h | 7 ++++--- - 2 files changed, 10 insertions(+), 8 deletions(-) - -commit 1f48b36933b5ff082edf3e221563c15c3bf16b75 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Nov 20 12:41:18 2008 +0000 - - [script] Build fix for ! HAS_FT_FONT - - Correct the macro definition used when compiling without FreeType. - - util/cairo-script/cairo-script-operators.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit 0d5e533b6cc43c4ebc030140933247cf160d47cd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 19 17:03:13 2008 +0000 - - [trace] Correctly push font-face onto the operand stack. - - We tried to push a reference to an undefined font-face, now we just copy - from the operand stack. - - util/cairo-trace/trace.c | 61 ++++++++++++++++++++++++++++-------------------- - 1 file changed, 36 insertions(+), 25 deletions(-) - -commit b426346b482e2687081433213ae107cb7b2ebe58 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 19 16:04:57 2008 +0000 - - [trace] Construct matrices directly - - Avoid building a temporary array by constructing the matrix directly. - - util/cairo-trace/trace.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit 727ff2bd7260f26c9390079258c43e6890ef2284 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 19 14:25:20 2008 +0000 - - [xlib] Explicitly track whether the GC has clip_rects. - - Simplify the logic and remove some pessimism from the code by explicitly - tracking when we set clip rectangles on the GC. - - src/cairo-xlib-surface-private.h | 1 + - src/cairo-xlib-surface.c | 6 +++--- - 2 files changed, 4 insertions(+), 3 deletions(-) - -commit 63a86a470fb88ee876414164e7e26789c1065b82 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 19 14:04:01 2008 +0000 - - [surface] Replay meta surfaces to a similar surface. - - When cloning a meta-surface, first attempt to replay it to a similar - surface rather than a full-sized image buffer. - - src/cairo-surface.c | 30 ++++++++++++++++++++++++++++-- - 1 file changed, 28 insertions(+), 2 deletions(-) - -commit 7657bda0172f823fba61db4f66e0166c7619fbd2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Dec 18 11:23:33 2007 +0000 - - [perf/pythagoras_tree] Another fractal. - - Test lots of rectangles and recursion path construction. - - perf/Makefile.am | 3 +- - perf/cairo-perf.c | 1 + - perf/cairo-perf.h | 1 + - perf/pythagoras-tree.c | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 90 insertions(+), 1 deletion(-) - -commit abd0a2627d198eddb628bbc1f2974435a74655a2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Dec 18 10:49:23 2007 +0000 - - [perf/dragon] Add a dragon curve perf case. - - Inspired by http://labs.trolltech.com/blogs/2007/08/31/rasterizing-dragons/ - and http://en.wikipedia.org/wiki/Dragon_curve, add a performance test case - to measure drawing this space-filling fractal curve. - - perf/Makefile.am | 3 +- - perf/cairo-perf.c | 1 + - perf/cairo-perf.h | 1 + - perf/dragon.c | 166 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 170 insertions(+), 1 deletion(-) - -commit 81ef772aa0bf512ec5ad8752da160117498bdb30 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 19 11:00:35 2008 +0000 - - [xlib] Mark GC as dirty if we have an outstanding clip. - - Ginn Chen reported a regression with Firefox where "the whole area of web - page is transparent until it redraws", and bisected it to the change to - lazily clear the clip. - - The bug would appears to be when we have an inconsistent GC clip - i.e. - the clip on the surface has been cleared, but we have not yet used and - thus cleared the GC, so that we did not mark the GC as having a clip set - when we freed it. - - src/cairo-xlib-surface.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit c41b99268dd2424d09ab12ca560d5db30b6b6faf -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 19 11:49:04 2008 +0000 - - Conditionally include byteswap.h - - Fixup compilation by copying the checks from cairo-wideint-private.h to - conditionally include byteswap.h and provide fallback implementations. - - util/cairo-script/cairo-script-interpreter.c | 1 - - util/cairo-script/cairo-script-operators.c | 1 - - util/cairo-script/cairo-script-private.h | 17 +++++++++++++++++ - util/cairo-script/cairo-script-scanner.c | 1 - - util/cairo-trace/trace.c | 17 ++++++++++++++++- - 5 files changed, 33 insertions(+), 4 deletions(-) - -commit 8345fedbe4d4d003c1f26a78ac7c512c04d04173 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 19 11:44:42 2008 +0000 - - [spline] Fix compile. - - Do not return the result of a void function. gcc chose to not warn about - this when removing the return parameter... - - src/cairo-spline.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit b6c371a47f33ec10d4d6130cc15677761df2bdfd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 19 08:44:24 2008 +0000 - - [pattern] Cosmetic. - - surface is equal to pattern->surface at this point. - - src/cairo-pattern.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 7894abbe6d43b10ab2a92d99bdd6a08878e9022c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 19 08:37:26 2008 +0000 - - [test] Support foreground only execution. - - Add an option to prevent forking - which makes it difficult to - valgrind/gdb individual tests. - - test/Makefile.am | 1 + - test/cairo-test-runner.c | 120 ++++++++++++++++++++++++++--------------------- - 2 files changed, 67 insertions(+), 54 deletions(-) - -commit 645df0c6d2a3d9999bb18ddb8bb9995b3d597554 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 18 16:37:59 2008 +0000 - - [scaled-font] Clean-up compiler warning. - - gcc warns that the status may be used uninitialized, so fix it. - - src/cairo-scaled-font-subsets.c | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -commit 2fdee490745a6c3a75691907aadf8ae38c57234c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Nov 17 12:22:39 2008 +0000 - - [compiler] likelihood macros - - Behdad prefers these to be upper-case to be consistent with G_UNLIKELY and - friends. However, as I intend to use these for nearly all instances of - if(status), I suggest that we keep to the short and not so loud: - if (unlikely (status)) - return status; - - src/cairo-compiler-private.h | 8 ++++---- - src/cairo-hash.c | 2 +- - 2 files changed, 5 insertions(+), 5 deletions(-) - -commit 97edc680c189205ac2f4e150009f1f1cbe55ba1a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 18 10:49:27 2008 +0000 - - [twin] Reduce tolerance. - - As the glyphs are rendered to cache, ensure that they are rendered at the - highest quality settings. - - src/cairo-font-face-twin.c | 1 + - src/cairo.c | 1 + - src/cairoint.h | 1 + - test/Makefile.am | 1 + - test/twin.pdf.ref.png | Bin 0 -> 1673 bytes - test/twin.ref.png | Bin 1673 -> 1718 bytes - 6 files changed, 4 insertions(+) - -commit e50538863a2c063eba61b36cc08eff6eeb712956 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 18 10:45:19 2008 +0000 - - [twin] Tweak line width. - - Slightly increase line width to eliminate internal holes in the characters - where the strokes were not quite overlapping. - - src/cairo-font-face-twin.c | 2 +- - test/twin.c | 2 +- - test/twin.ps2.ref.png | Bin 1167 -> 1095 bytes - test/twin.ps3.ref.png | Bin 1167 -> 1095 bytes - test/twin.ref.png | Bin 1836 -> 1673 bytes - test/twin.svg11.ref.png | Bin 1773 -> 1662 bytes - test/twin.svg12.ref.png | Bin 1773 -> 1662 bytes - 7 files changed, 2 insertions(+), 2 deletions(-) - -commit 91c17d33324b51a3876bc6ce778c684111139303 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 18 00:32:54 2008 +0000 - - [trace] Simple unbounded cache for symbol lookups. - - Reparsing the dwarf info for every lookup is very slow, so cache the - symbol lookups. This initial implementation is unbounded in the simple - belief that the actual number of unique lookups during a program's - lifetime should be fairly small. (Extending to a bounded MRU list is left - as an exercise for the reader.) - - util/cairo-trace/lookup-symbol.c | 70 ++++++++++++++++++++++++++++++++++------ - util/cairo-trace/trace.c | 9 +++--- - 2 files changed, 65 insertions(+), 14 deletions(-) - -commit 2839a0e800d6cc12b28da44f30a9e278ceac65aa -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Nov 16 20:04:55 2008 +0000 - - [script] Add a simple replay. - - A very simple replay program for trace replay. - - util/cairo-script/.gitignore | 1 + - util/cairo-script/Makefile.am | 7 +++- - util/cairo-script/csi-replay.c | 85 ++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 92 insertions(+), 1 deletion(-) - -commit b091c5bfcad170fd563699a1c8b11e7d25d159a2 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Tue Nov 18 00:20:38 2008 +0200 - - BIBLIOGRAPHY: Cite Hars & Petruska's Pseudorandom Recursions paper. - - BIBLIOGRAPHY | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -commit 3a82f943988413e0d3fada9932bb385f4cbdb3c7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Nov 16 18:21:52 2008 +0000 - - [test] Add util/cairo-script to include path. - - any2ppm needs the include path for cairo-script-interpreter so that it can - be built without an existing install. - - test/Makefile.am | 3 ++- - test/any2ppm.c | 3 --- - 2 files changed, 2 insertions(+), 4 deletions(-) - -commit 997fa6a7729b72b25d9275929bf190e71eed1b9d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Nov 16 17:43:40 2008 +0000 - - [configure] Remove old line for CairoScript testing. - - CairoScript testing should now be unconditional so remove the surplus - message. - - build/configure.ac.features | 1 - - 1 file changed, 1 deletion(-) - -commit a2eff7c7deb9b41c387472bb91b9a7b9c8f319f0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Nov 16 16:19:25 2008 +0000 - - [test] Add build rule for libcairo-script-interpreter.la - - Add a rule to build the cairo-script-interpreter on behalf of any2ppm. - - test/Makefile.am | 3 +++ - 1 file changed, 3 insertions(+) - -commit bf309aab6072ee1004073e71bccdf3c8040a8ad6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Nov 15 11:36:41 2008 +0000 - - [configure] Delete CAN_TEST_SCRIPT - - A CairoScript interpreter is built under utils and so is always available. - - configure.ac | 3 --- - test/any2ppm.c | 8 -------- - 2 files changed, 11 deletions(-) - -commit d7873eecc598a558a2a862add8e9b056c4a23a4a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Nov 14 17:18:47 2008 +0000 - - [spline] Eliminate intermediate allocations during spline decomposition. - - The spline decomposition code allocates and stores points in a temporary - buffer which is immediately consumed by the caller. If the caller supplies - a callback that handles each point computed along the spline, then we can - use the point immediately and avoid the allocation. - - src/cairo-bentley-ottmann.c | 12 +-- - src/cairo-path-fill.c | 23 ++-- - src/cairo-path-fixed.c | 27 ++--- - src/cairo-path-in-fill.c | 21 ++-- - src/cairo-path-stroke.c | 101 +++++++++--------- - src/cairo-pen.c | 254 +++++++++++++++++++++++++++++--------------- - src/cairo-polygon.c | 23 ++-- - src/cairo-spline.c | 121 ++++----------------- - src/cairo-types-private.h | 13 ++- - src/cairoint.h | 65 ++++++++---- - 10 files changed, 331 insertions(+), 329 deletions(-) - -commit 3bf8379408ce9b1e08d130bcd1076766e36f1bef -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Nov 14 09:50:29 2008 +0000 - - [type1] Propagate fatal NO_MEMORY erro from FreeType. - - If FreeType fails to load the glyph, check for a fatal error before - falling back (and effectively masking the fatal condition). - - src/cairo-type1-subset.c | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -commit db9ed77d8aa4f4b4c8410e52e5bbd16ffa94ee24 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Nov 13 20:36:14 2008 +0000 - - [cairo] FLush surface on cairo_destroy() - - When discussing the implications of snapshot cow, one of the questions - that we raised was what happens on cairo_destroy()? The lifetime of the - context implicitly marks the extents of the drawing operations, typically - the expose event (or perhaps one phase of it). Therefore at the end of the - sequence we implicitly wish to flush the graphics events to the surface. - - src/cairo.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -commit 032be9849dfc32ec8802a4f086619755a3a397f5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Nov 13 16:36:01 2008 +0000 - - [skiplist] Inline testing. - - Add a loop to create a skip list to allow manual checking. - - src/Makefile.am | 5 ++++- - src/cairo-skiplist.c | 36 ++++++++++++++++++++++++++++++++++++ - 2 files changed, 40 insertions(+), 1 deletion(-) - -commit e44c1f26e48cfb2f74834b6a8ef8532b0bd28982 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Sat Oct 18 01:15:44 2008 +0300 - - Use a smaller and faster random number generator. - - The previous LFSR generator used a large table to be speedy. The - replacement generator is the single stage generator (1) from section - 5.4 of [HP2007], requires no tables or extra state. I've run the - generator through Rob Brown's extended Dieharder test suite and it - passes all but one self-proclaimed buggy test (-d2) and the 2D sphere - minimum distance test (-d12). - - [HP2007] Hars L. and Petruska G., ``Pseudorandom Recursions: Small and Fast Pseurodandom Number Generators for Embedded Applications'', - Hindawi Publishing Corporation - EURASIP Journal on Embedded Systems - Volume 2007, Article ID 98417, 13 pages - doi:10.1155/2007/98417 - http://www.hindawi.com/getarticle.aspx?doi=10.1155/2007/98417&e=cta - - src/cairo-skiplist.c | 200 +++------------------------------------------------ - 1 file changed, 11 insertions(+), 189 deletions(-) - -commit a4c5371b5e6d0df71efc75fee6f6a8fe8c6d3488 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Nov 13 14:56:38 2008 +0000 - - [os2] Move include cairo.h before os2.h - - The defines need to come first, but we specify that cairo.h is the first - header file to be included by files. - - src/cairo-os2.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 456252a1c2b00685bee18c01bf27738d6125b4f8 -Merge: 3b11997a2 ab61544b3 -Author: Carl Worth <cworth@cworth.org> -Date: Fri Nov 14 15:27:34 2008 +0100 - - Merge branch '1.8' - - Conflicts: - - NEWS - cairo-version.h - -commit ab61544b30406a49abc1f559d81129edce6d41ec -Author: Carl Worth <cworth@cworth.org> -Date: Fri Nov 14 13:17:01 2008 +0100 - - Increment version to 1.8.5 after the 1.8.4 release. - - cairo-version.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 66e8f142e381501d114888c2d1fc1e7f6d6a9857 -Author: Carl Worth <cworth@cworth.org> -Date: Fri Nov 14 11:08:40 2008 +0100 - - Increment version to 1.8.4 - - cairo-version.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b9c1344ad82d38bb86fa85fbb565b2de64aa0e35 -Author: Carl Worth <cworth@cworth.org> -Date: Fri Nov 14 11:07:10 2008 +0100 - - NEWS: Add notes for cairo 1.8.4 - - Just a few bug fixes here. - - NEWS | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 52 insertions(+) - -commit 3b11997a23baa9e38e87b584ee29f4888a5d92f7 -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Thu Nov 13 18:01:47 2008 +0200 - - [cairo-script] Remove outdated #error to allow compilation to succeed. - - The interpreter doesn't depend on the script surface anymore. - - util/cairo-script/cairo-script-interpreter.h | 6 ------ - 1 file changed, 6 deletions(-) - -commit d654d528de16769932131da80f4b925151d50103 -Author: Carl Worth <cworth@cworth.org> -Date: Thu Nov 13 16:45:15 2008 +0100 - - Blacklist "X.Org" < 7.0 with the buggy_repeat workaround. - - This is in response to a report that a 6.9 server crashes with - cairo's extend-reflect test: - - https://bugs.freedesktop.org/show_bug.cgi?id=15628#c2 - - src/cairo-xlib-display.c | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -commit 35a1ba0ddc45f9cc785c6f8a37b6bb49c953e047 -Author: Carl Worth <cworth@cworth.org> -Date: Thu Nov 13 16:36:20 2008 +0100 - - Document the buggy_repeat workaround more carefully. - - It's a confusing condition, so let's be explicit about where - the various numbers come from. - - src/cairo-xlib-display.c | 54 ++++++++++++++++++++++++++++++++++-------------- - 1 file changed, 38 insertions(+), 16 deletions(-) - -commit cdfffc7420e005b2a7d1979feef8bd304183126c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Nov 13 11:07:45 2008 +0000 - - Add CairoScript interpreter - - Add a CairoScript interpreter library and use it to replay the test output - for the CairoScript backend. The library is also used by the currently - standalone Sphinx debugger [git://anongit.freedesktop.org/~ickle/sphinx]. - The syntax/operator semantics are not yet finalized, but are expected to - mature before the next stable release. - - configure.ac | 20 +- - test/Makefile.am | 4 +- - test/any2ppm.c | 41 +- - util/Makefile.am | 2 +- - util/cairo-script/COPYING | 17 + - util/cairo-script/Makefile.am | 21 + - util/cairo-script/cairo-script-file.c | 1018 +++++ - util/cairo-script/cairo-script-hash.c | 448 ++ - util/cairo-script/cairo-script-interpreter.c | 473 +++ - util/cairo-script/cairo-script-interpreter.h | 104 + - util/cairo-script/cairo-script-objects.c | 666 +++ - util/cairo-script/cairo-script-operators.c | 5791 ++++++++++++++++++++++++++ - util/cairo-script/cairo-script-private.h | 853 ++++ - util/cairo-script/cairo-script-scanner.c | 1180 ++++++ - util/cairo-script/cairo-script-stack.c | 196 + - 15 files changed, 10801 insertions(+), 33 deletions(-) - -commit a856371bef496da0e84226f4fd2fc3cb72e955ac -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 4 10:45:34 2008 +0000 - - Add CairoScript backend. - - A new meta-surface backend for serialising drawing operations to a - CairoScript file. The principal use (as currently envisaged) is to provide - a round-trip testing mechanism for CairoScript - i.e. we can generate - script files for every test in the suite and check that we can replay them - with perfect fidelity. (Obviously this does not provide complete coverage - of CairoScript's syntax, but should give reasonable coverage over the - operators.) - - boilerplate/Makefile.sources | 3 + - boilerplate/cairo-boilerplate-script-private.h | 57 + - boilerplate/cairo-boilerplate-script.c | 125 ++ - boilerplate/cairo-boilerplate.c | 16 + - build/configure.ac.features | 2 + - configure.ac | 16 + - doc/public/tmpl/cairo-surface.sgml | 1 + - src/Makefile.sources | 3 + - src/cairo-base85-stream.c | 1 + - src/cairo-cache-private.h | 2 +- - src/cairo-cache.c | 41 +- - src/cairo-deflate-stream.c | 1 + - src/cairo-ft-font.c | 12 + - src/cairo-ft-private.h | 3 + - src/cairo-gstate.c | 3 +- - src/cairo-output-stream-private.h | 19 +- - src/cairo-output-stream.c | 43 +- - src/cairo-path-fixed-private.h | 11 + - src/cairo-path-fixed.c | 164 ++ - src/cairo-pattern.c | 255 +++ - src/cairo-pdf-operators.c | 1 + - src/cairo-ps-surface.c | 2 + - src/cairo-scaled-font-private.h | 9 +- - src/cairo-scaled-font.c | 5 + - src/cairo-script-surface.c | 2598 ++++++++++++++++++++++++ - src/cairo-script.h | 74 + - src/cairo-types-private.h | 1 + - src/cairo.h | 4 +- - src/cairoint.h | 18 + - test/Makefile.am | 4 +- - test/any2ppm.c | 87 +- - test/mime-data.script.ref.png | Bin 0 -> 1982 bytes - 32 files changed, 3540 insertions(+), 41 deletions(-) - -commit 47a56e08501ec9375f75c15e35a68c77b313ada4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 10 16:51:52 2008 +0100 - - [type1] Bind the RD procedure - - As the RD procedure may be called several hundred times for a full font, - it is worth binding. - - src/cairo-type1-fallback.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0769d39d0093ec3bff5b72ecbfcef1bae2f03be2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Nov 13 11:13:22 2008 +0000 - - Add predicate likelihood macros. - - Define the couple of standard macros that we can use to guide gcc - optimisations of which code path will be most likely taken. - - src/cairo-compiler-private.h | 17 +++++++++++++++++ - 1 file changed, 17 insertions(+) - -commit b06c50cc54140a662adacde6336a3e7777f26ac3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Nov 13 11:21:26 2008 +0000 - - [cairoint.h] Remove unused PLT entries. - - Trim the slim_hidden_proto/def to match the currently used functions. - - src/cairo-pattern.c | 1 - - src/cairo.c | 3 --- - src/cairoint.h | 16 ++++++---------- - 3 files changed, 6 insertions(+), 14 deletions(-) - -commit 20fc2a2f92e27082a8806b9acb4b904dc84da672 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 11 11:35:14 2008 +0000 - - [in-fill] Fixup boundary insideness testing - - Benjamin Otte noticed that the top-left vertex was now included within the - fill extents. Having updated the test case to check the insideness - conditions as defined by flash, fix the edge handling to match. - - src/cairo-path-in-fill.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9afad537301529a5a4b4ddf8b7e4425002ea39c7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 11 10:22:17 2008 +0000 - - [test] Expand in-fill-trapezoid - - Test vertices and edges of a rectangle to probe 'corner-cases', using the - insideness conditions from flash. - - test/in-fill-trapezoid.c | 34 ++++++++++++++++++++++++++++++++++ - 1 file changed, 34 insertions(+) - -commit cebc84f367a81eedebf7ab0b6b082691923c3ef7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Nov 8 00:06:38 2008 +0000 - - [hash] Separate out unique patterns of iterating over the table. - - Avoid unnecessary conditionals for the hotpaths by separating out the - iteration over the elements into their distinct modes. - - src/cairo-font-face.c | 2 +- - src/cairo-hash.c | 185 ++++++++++++++++++++++-------------------------- - src/cairo-scaled-font.c | 11 +-- - 3 files changed, 93 insertions(+), 105 deletions(-) - -commit 5f0aa274459fa182d1f82d393224c46ce2b12785 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Nov 13 10:45:15 2008 +0000 - - [trace] Add caller line info. - - Use lookup_symbol() on the return address to identify the caller and emit - useful debug info to the trace. - - util/cairo-trace/cairo-trace.in | 27 +++++++- - util/cairo-trace/lookup-symbol.c | 72 ++++++++++----------- - util/cairo-trace/trace.c | 134 +++++++++++++++++++++++++++++++++++---- - 3 files changed, 178 insertions(+), 55 deletions(-) - -commit 4cd6b0c0b9862f398877cb23c294399b480ac8d0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 12 00:37:40 2008 +0000 - - [trace] Check for an undefined pattern and use index instead. - - util/cairo-trace/trace.c | 20 ++++++++++++++++++-- - 1 file changed, 18 insertions(+), 2 deletions(-) - -commit 76f249a49399744d6d936e36ca4d68ab4a1f3d3b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 11 09:12:50 2008 +0000 - - [trace] Detect and report broken traces. - - We cannot trace the cairo-script-interpreter as that uses Cairo's private - symbols. - - util/cairo-trace/trace.c | 15 ++++++++++++++- - 1 file changed, 14 insertions(+), 1 deletion(-) - -commit 01e2021b2b7b66e7cdb9c4b0326fd5793759848b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Nov 10 16:15:28 2008 +0000 - - [trace] Trace mark-dirty - - Capture the image data on mark dirty and record in the trace. - - util/cairo-trace/cairo-trace.in | 2 +- - util/cairo-trace/trace.c | 121 ++++++++++++++++++++++++++++++++++------ - 2 files changed, 106 insertions(+), 17 deletions(-) - -commit 8f3d0b55f50168f061a01eecfcb4ebecbff0e1c6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 11 09:25:24 2008 +0000 - - [trace] Add unstable warning. - - Add warning that CairoScript is unfinished and I may radically alter the - format/syntax/language before release. - - util/cairo-trace/trace.c | 1 + - 1 file changed, 1 insertion(+) - -commit 7ad2635ebe84ba7c050a7f00c5389cdc31ab1172 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 11 09:46:38 2008 +0000 - - [trace] Disable stdout by default. - - Don't hog the terminal when we save to a trace file anyway. - - util/cairo-trace/cairo-trace.in | 48 +++++++++++++++++++++++++---------------- - 1 file changed, 29 insertions(+), 19 deletions(-) - -commit efa9e1088cbf1b5331cc0bab3348520f3b91ae4b -Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> -Date: Thu Nov 13 12:11:12 2008 +0200 - - [clip] Fix uninitialised status return in _cairo_clip_intersect_mask() for empty extents. - - This fixes the clip-all test case crashing for me. - - src/cairo-clip.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 279a7cef349cf5aa87cdeacb9424413f51117fe8 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Thu Nov 13 10:50:41 2008 +0100 - - [os2] Fix includes - - Patch from Dave Yeo to make cairo-os2.h include os2.h directly so the - header is standalone. - - src/cairo-os2-private.h | 11 ----------- - src/cairo-os2-surface.c | 5 ----- - src/cairo-os2.h | 8 ++++++++ - 3 files changed, 8 insertions(+), 16 deletions(-) - -commit 0a682034a04fa7fc1407e7bc093ae01f4b385ad7 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Tue Nov 11 13:26:09 2008 -0500 - - Make the clipping implementation comment clearer - - When reviewing the spans changes, I reread this comment and it wasn't as clear - as it could be. - - src/cairo-clip.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit 4fdd856569a67636aaf29bc1a76eed44418db484 -Author: Peter Weilbacher <mozilla@weilbacher.org> -Date: Tue Nov 11 15:37:09 2008 +0100 - - README: adapt pixman version requirement to match configure.ac - - README | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9c0042840c70c14e3e608ac3849edf5f1ef99816 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Tue Nov 11 08:41:31 2008 -0500 - - [quartz] Add the proper propagation of extents - - This fixes the problems introduced by d682d275b90f7326df76d2764c513c8b6d5b551b - - src/cairo-quartz-surface.c | 24 +++++++++++++----------- - 1 file changed, 13 insertions(+), 11 deletions(-) - -commit 57551a91168a68399add9e5c324fba03961b7747 -Author: Jeff Muizelaar <jeff@infidigm.net> -Date: Tue Nov 11 08:31:23 2008 -0500 - - [quartz] Fix fallout caused by const cairo_pattern_t * - - 794460186459981cd43ca38f3eba07e3f6bf8908 broke the quartz backend. - Fix it by adding const to the appropriate parameters in the function - declarations and copying the pattern when needed. - - src/cairo-quartz-surface.c | 41 ++++++++++++++++++++++++----------------- - 1 file changed, 24 insertions(+), 17 deletions(-) - -commit 164069b339843837e04e2522a615f03a83b362c0 -Author: Maarten Maathuis <madman2003@gmail.com> -Date: Sat Nov 8 15:29:40 2008 +0100 - - cairo-xcb: avoid leaking memory - - src/cairo-xcb-surface.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 5badcf6e370b9808374a1fa547383b236a9dcd21 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Nov 8 11:17:34 2008 +0000 - - [trace] Use a string literal for the type. - - In order that the string is interned and so is only allocated the once. - - util/cairo-trace/trace.c | 28 ++++++++++++++-------------- - 1 file changed, 14 insertions(+), 14 deletions(-) - -commit 1d0faefbc8700833e9bde8a9c825b02b0f3cf910 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Nov 7 22:48:21 2008 +0000 - - [trace] Record the XID as a number - - Don't waste string constants (which get interned) for a simple number! - - util/cairo-trace/trace.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 899a159b133e22f71e2a176785c91e78838c3fee -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Nov 8 11:16:03 2008 +0000 - - [trace] Remove stray /source - - An accidental /source was pushing pushed onto the operand stack and never - used. - - util/cairo-trace/trace.c | 1 - - 1 file changed, 1 deletion(-) - -commit f1cae5c52a5ee71b7933fca702bb525d98936838 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Nov 7 20:52:08 2008 +0000 - - [ps] Trivial compile warning clenaup. - - Add a missing const to silence the compiler. - - src/cairo-ps-surface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2b32c8b9e572c96ce8ba5c7d43b568f18f6da295 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Nov 7 20:30:33 2008 +0000 - - [hash] Return lookup entry. - - Use the return value to return the result from _cairo_hash_table_lookup() - (as opposed to filling an output parameter on the stack) as this (a) - results in cleaner code (no strict-alias breaking pointer casts), (b) - produces a smaller binary and (c) is measurably faster. - - src/cairo-cache-private.h | 5 ++--- - src/cairo-cache.c | 8 +++---- - src/cairo-cff-subset.c | 24 +++++++++------------ - src/cairo-font-face.c | 9 ++++---- - src/cairo-ft-font.c | 6 +++--- - src/cairo-hash-private.h | 7 +++--- - src/cairo-hash.c | 24 +++++++-------------- - src/cairo-misc.c | 7 +++--- - src/cairo-scaled-font-subsets.c | 47 ++++++++++++++++++++--------------------- - src/cairo-scaled-font.c | 18 +++++++--------- - 10 files changed, 67 insertions(+), 88 deletions(-) - -commit d15fb9344bf86dd52cda0b43d3dfc49397fd84ec -Author: Karl Tomlinson <karlt+@karlt.net> -Date: Fri Nov 7 20:06:35 2008 +0000 - - [hash] Set is_unique when finding an available for inserts - - As we obey the rule in Cairo that we only insert if we know that there is - no existing entry in the hash table, we can therefore perform a much quicker - search knowing that the key is unique. - - src/cairo-hash.c | 16 +++++++--------- - 1 file changed, 7 insertions(+), 9 deletions(-) - -commit cd2e18ddc65959a736fc7b7f6bbd3e76af0495a9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Nov 7 18:35:39 2008 +0000 - - [test] Fix-up rgb byte packing - - Another embarrassing, but thankfully, trivial bug. - - boilerplate/cairo-boilerplate.c | 2 ++ - test/any2ppm.c | 14 +++++++++----- - 2 files changed, 11 insertions(+), 5 deletions(-) - -commit 2554d1759835a174b89107808d81d044c3e2e098 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Nov 7 13:26:46 2008 +0000 - - [surface] Pass a separate closure for the mime-type destroy notifier. - - A limitation of the current API was that the destroy notifier was called - on the mime-data block. This prevents the user from passing in a pointer - to a managed block, for example a mime-data block belonging to a - ref-counted object. We can overcome this by allowing the user to specify - the closure to be used with the destroy notifier. - - src/cairo-png.c | 3 ++- - src/cairo-surface.c | 9 ++++++--- - src/cairo-types-private.h | 1 + - src/cairo.h | 11 ++++++----- - test/mime-data.c | 3 ++- - test/pdf-mime-data.c | 4 +++- - util/cairo-trace/trace.c | 6 ++++-- - 7 files changed, 24 insertions(+), 13 deletions(-) - -commit ff0bd64e9436026f11e85eafcd74e9a0131c8b9f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Nov 6 01:22:39 2008 +0000 - - [NEWS] Add a few notes. - - Help Carl with a speedy snapshot by writing a few notes about what has been - added so far to 1.9. - - NEWS | 42 ++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 42 insertions(+) - -commit 13627b46209f9239d10a155f2de7e53c0585e4c2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Nov 6 01:04:52 2008 +0000 - - [in-fill] Fix transposed arguments. - - Silly typo that escaped the test suite. - - src/cairo-path-in-fill.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9dee7af41f4f5a4c1285e9d7951148e78659c064 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Nov 6 01:02:23 2008 +0000 - - [test] Add off-centre tests to in-fill-trapezoid. - - Reading through the previous commit spotted that the arguments to - edge_compare_for_y_against_x were transposed, but the test-suite had - failed to catch detect it. This is due that in order to actually - solve the equation we need to have a diagonal edge passing near an - off-centre point of interest, which was not among the test cases. So add - some off-centre tests to fully exercise the code. - - test/in-fill-trapezoid.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 66 insertions(+) - -commit f5965cb7d6559e051c2581fe446d0b9f40427eb2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 5 23:48:52 2008 +0000 - - [in-fill] Avoid tessellation by counting number of edge crossing to -∞ - - Benjamin Otte reports that in one particular benchmark cairo_in_fill() is - a hotspot in the profile. Currently we tessellate the entire path and then - search for a containing trapezoid. This is very expensive compared to the - simple method of counting the number of edge crossing between the point of - interest and x=-∞. For example, this speeds tessellate-256 up by almost 3 - orders of magnitude. - - src/Makefile.sources | 1 + - src/cairo-gstate.c | 30 +----- - src/cairo-path-in-fill.c | 264 +++++++++++++++++++++++++++++++++++++++++++++++ - src/cairoint.h | 9 ++ - 4 files changed, 279 insertions(+), 25 deletions(-) - -commit 0ac98461597420d3dfe52e405c6b3322d32f4854 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Nov 6 00:04:11 2008 +0000 - - [test] Add WINDING variants to in-fill test - - Check cairo_in_fill() with some WINDING tests as well as the current - EVEN_ODD. - - test/in-fill-trapezoid.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 56 insertions(+) - -commit 476d5daa9bfc5e9014d1b6572853d1d78ce6a6d9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 5 19:29:04 2008 +0000 - - [trace] Only build if we have zlib. - - Use the configure check for libz and do not attempt to build the trace - unless we have zlib. - - configure.ac | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 34564aa84a4642dceba75efdeef438be6c6896c8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 5 19:27:49 2008 +0000 - - [test/pdf2png] Remove dependency on GdkPixbuf - - It's appears to be dropped from the current poppler trunk, so just use our - own venerable cairo_surface_write_ton_png(). - - configure.ac | 2 +- - test/pdf2png.c | 32 +++++++++++++++++++------------- - 2 files changed, 20 insertions(+), 14 deletions(-) - -commit 564d64a1323c5cbcde2dd9365ac790fe8aa1c5a6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 5 18:47:34 2008 +0000 - - [png] Complete the idempotent read_png() -> write_png() - - Write out the original PNG mime-data if attached to the surface during - cairo_surface_write_to_png(). Similar to how the compressed alternate - representations are handled by the other backends. - - Note: by automatically attaching and using the mime-data in preference to - the image data, we break the read_from_png(); draw(); write_to_png() - cycle. - - src/cairo-png.c | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -commit ec559822cfe6df0006ca2db2aa3a11699326865c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 5 18:11:36 2008 +0000 - - [trace] Use the mime-type image representation - - When emitting image data, first check to see if we have a pre-compressed - alternate representation. - - util/cairo-trace/trace.c | 303 +++++++++++++++++++++++++++++++++-------------- - 1 file changed, 214 insertions(+), 89 deletions(-) - -commit d63267e4e7e148836dcfc4c8e2a8396ddaab70d8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 5 17:18:51 2008 +0000 - - [test] Update mime-data to check image/png - - Add a "image/png" mime-type test. - - test/Makefile.am | 1 + - test/mime-data.c | 67 +++++++++++++++++++++++++++++---------------- - test/mime-data.pdf.ref.png | Bin 4345 -> 4466 bytes - test/mime-data.ps.ref.png | Bin 4345 -> 4466 bytes - test/mime-data.ref.png | Bin 127 -> 155 bytes - test/mime-data.svg.ref.png | Bin 0 -> 6153 bytes - test/png.png | Bin 0 -> 2096 bytes - 7 files changed, 45 insertions(+), 23 deletions(-) - -commit e4ec5c762f6d01cc5af28dc0a256e268a04101aa -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 5 16:44:49 2008 +0000 - - [svg] Embed original PNG data. - - Embed the attached PNG representation of a surface in preference to - re-encoding the surface. - - src/cairo-svg-surface.c | 38 ++++++++++++++++++++++++++++++++++++++ - 1 file changed, 38 insertions(+) - -commit e40d62a0fe96b8b937017a3bc2f18766c411ec41 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 5 16:38:34 2008 +0000 - - [png] Attach the png representation to cairo_surface_create_from_png(). - - Attach the original png data as an alternate representation for image - surfaces created by cairo_surface_create_from_png(). - - src/cairo-output-stream-private.h | 5 ++ - src/cairo-output-stream.c | 28 ++++++++- - src/cairo-png.c | 127 +++++++++++++++++++++++--------------- - src/cairo-surface-fallback.c | 20 +++--- - src/cairo.h | 1 + - 5 files changed, 122 insertions(+), 59 deletions(-) - -commit 89616dee8f11c6a7de3fa476b13661420648786f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 5 16:41:13 2008 +0000 - - [surface] Don't allocate a structure for mime_data == NULL. - - If the user attempts to clear the attached mime data representation, just - clear the user data slot and do not allocate an empty structure. - - src/cairo-surface.c | 17 ++++++++++------- - 1 file changed, 10 insertions(+), 7 deletions(-) - -commit a1ab11df01962bea5752f5a5b53926a26a6f34ae -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Wed Nov 5 11:50:20 2008 -0500 - - Define RepeatNone, etc if the available Render version doesn't (#18385) - - src/cairo-xlib-xrender-private.h | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -commit 43cfaec39cc742ddfbf566b36391d620400e10be -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Wed Nov 5 11:50:20 2008 -0500 - - Define RepeatNone, etc if the available Render version doesn't (#18385) - - src/cairo-xlib-xrender-private.h | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -commit 199c0e71139fe9baf83e74ea69c01629ace5f9a2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 5 15:12:19 2008 +0000 - - [svg] Embed jpeg data. - - Support jpeg embedding for svg output. - - src/cairo-svg-surface.c | 50 +++++++++++++++++++++++++++++++++++++++++++++---- - test/Makefile.am | 1 + - 2 files changed, 47 insertions(+), 4 deletions(-) - -commit 2261590875b4be7aa258c51e766f68974750e9e7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 5 15:11:32 2008 +0000 - - [trace] Trim a few bytes from glyph arrays - - Remove some redundant whitespace from the glyph arrays to improve - readability and shrink the output file size. - - util/cairo-trace/trace.c | 65 ++++++++++++++++++++++++++++-------------------- - 1 file changed, 38 insertions(+), 27 deletions(-) - -commit 248dd97075b50cd91619022098ed5dd35a66b5df -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Thu Nov 6 00:17:53 2008 +1030 - - win32-printing: Implement JPEG support - - src/cairo-win32-printing-surface.c | 91 ++++++++++++++++++++++++++++++++++---- - src/cairo-win32-private.h | 3 ++ - 2 files changed, 85 insertions(+), 9 deletions(-) - -commit 29621bd3995c5269fd6f73ab501383433bd29768 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 5 12:16:47 2008 +0000 - - [matrix] Remove stray offset from previous commit. - - I moved the pixel centre to xc,yc but forgot to remove it during - compensation - as caught by the test suite. - - Refresh a couple of reference images that depend upon exact pixel-centre - rounding conditions. - - src/cairo-matrix.c | 8 ++++---- - test/rotate-image-surface-paint.ref.png | Bin 232 -> 190 bytes - test/surface-pattern.pdf.ref.png | Bin 14776 -> 14791 bytes - test/surface-pattern.ref.png | Bin 11044 -> 11100 bytes - test/surface-pattern.svg.ref.png | Bin 16151 -> 16069 bytes - 5 files changed, 4 insertions(+), 4 deletions(-) - -commit e811173311ebe76d47eebcf5c6c5c798f9d3ea72 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 5 10:59:15 2008 +0000 - - [matrix] Compensate pixman_matrix in device space. - - We wish to reduce the visible error when converting to a pixman matrix, so - perform the compensation in device space instead of pattern space. - - src/cairo-image-surface.c | 4 ++-- - src/cairo-matrix.c | 53 ++++++++++++++++++++++++++++------------------- - 2 files changed, 34 insertions(+), 23 deletions(-) - -commit c95eebc92316ad50840fab1cec6c14b6c3e50fa5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 5 09:56:02 2008 +0000 - - [pattern] Split the translation between the matrix and [xy]_offset - - pixman limits the src] co-ordinates (and thus [xy]_offset] to 16bits, - so we need to be careful how much of the translation vector to push into - [xy]_offset. Since the range is the same for both, split the integer - component between the matrix and the offset. - - test/scale-offset* now at least shows the source image, even if it is - misplaced. - - src/cairo-pattern.c | 7 +++++-- - test/scale-offset-image.ps.ref.png | Bin 7445 -> 7289 bytes - test/scale-offset-image.ref.png | Bin 10005 -> 9953 bytes - test/scale-offset-similar.ps.ref.png | Bin 7819 -> 7860 bytes - test/scale-offset-similar.ref.png | Bin 10005 -> 9953 bytes - 5 files changed, 5 insertions(+), 2 deletions(-) - -commit d1b8186fd75922e73e62ef8f2ebb011e334ebe36 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 5 01:16:25 2008 +0000 - - [trace] Correct emission of set_font_face and set_source - - set_font_face was not consuming it's operand but blithely placing an - undefined font_face onto the operand stack, whereas set_source was - performing invalid exchanges on the stack. - - util/cairo-trace/trace.c | 36 +++++++++++++++++++++++++++--------- - 1 file changed, 27 insertions(+), 9 deletions(-) - -commit 4a4b10271a614ee9bf982994b8f9ec6b6102ee10 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 5 00:02:09 2008 +0000 - - [trace] Capture foreign drawables. - - If we attempt to use a surface as a source before we write to it, record - the surface contents. - - util/cairo-trace/trace.c | 102 ++++++++++++++++++++++++++++++++++++++++++----- - 1 file changed, 93 insertions(+), 9 deletions(-) - -commit 432fe1ec2792153ec2559ef52aece3fcdc9c5df4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 4 15:30:23 2008 +0000 - - [trace] Mark filter mode as immediate. - - Be consistent and use "//" for the filter mode to indicate a constant. - - util/cairo-trace/trace.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 68309481aa9295026e3e7e6407c793f899b5e600 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Nov 5 08:03:01 2008 +0000 - - [test] Mark targets with is_meta? - - Allow tests to skip targets based on whether they are a meta surface or - not. - - boilerplate/cairo-boilerplate.c | 40 ++++++++++++++++++++++++---------------- - boilerplate/cairo-boilerplate.h | 1 + - test/cairo-test.c | 13 ++++++++++++- - 3 files changed, 37 insertions(+), 17 deletions(-) - -commit 8855f9583e84ae2e6d981e21133f590bff2065ab -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 4 20:04:02 2008 +0000 - - [test] Add scale-offset-(similar|image) - - Add a test case for the scaling bug reported by Michel Iwaniec: - http://lists.cairographics.org/archives/cairo/2008-November/015660.html - - test/Makefile.am | 6 ++ - test/scale-offset-image.c | 142 ++++++++++++++++++++++++++++++++++ - test/scale-offset-image.ps.ref.png | Bin 0 -> 7445 bytes - test/scale-offset-image.ref.png | Bin 0 -> 10005 bytes - test/scale-offset-similar.c | 143 +++++++++++++++++++++++++++++++++++ - test/scale-offset-similar.ps.ref.png | Bin 0 -> 7819 bytes - test/scale-offset-similar.ref.png | Bin 0 -> 10005 bytes - 7 files changed, 291 insertions(+) - -commit aad980900314bd032468f41a3216769c66e62097 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 4 19:11:55 2008 +0000 - - [test] Only depend on any2ppm if we build it. - - Do not add a dependency to any2ppm if it has been deconfigured. - - test/Makefile.am | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 59bdeba9abd7bef15c6855d707c4cf92b623cb00 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 4 18:42:05 2008 +0000 - - [matrix] Minimise pixman conversion error. - - Minimise the error of the pixman matrix about the centre of the displayed - area rather than the origin. - - src/cairo-image-surface.c | 25 +++++++++++++++++-------- - src/cairo-matrix.c | 24 ++++++++++++++---------- - src/cairo-pattern.c | 3 ++- - src/cairo-xlib-surface.c | 33 +++++++++++++++++++++++---------- - src/cairoint.h | 4 +++- - test/Makefile.am | 3 +-- - test/surface-pattern.pdf.ref.png | Bin 15996 -> 14776 bytes - test/surface-pattern.ref.png | Bin 11439 -> 11044 bytes - test/surface-pattern.svg.ref.png | Bin 0 -> 16151 bytes - test/surface-pattern.svg11.ref.png | Bin 17663 -> 0 bytes - test/surface-pattern.svg12.ref.png | Bin 17663 -> 0 bytes - 11 files changed, 60 insertions(+), 32 deletions(-) - -commit 068d465bb3541cc0ffc3cb9daa0848365c0a6a24 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 4 14:57:21 2008 +0000 - - [trace] Fix emission of cairo_scaled_font_create() - - In the case where the font face was no longer on the operand stack, the - font face would not have been passed to cairo_scaled_font_create(). - - util/cairo-trace/trace.c | 27 +++++++++++++-------------- - 1 file changed, 13 insertions(+), 14 deletions(-) - -commit a3d56c60e85176526d6cce139441b6921acc9218 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 4 14:06:02 2008 +0000 - - [trace] Use a common directory by default. - - If called directly (e.g. via /etc/ld.so.preload) put the output trace into - a central directory, and not the pwd. - - util/cairo-trace/Makefile.am | 10 ++++++++-- - util/cairo-trace/trace.c | 8 ++++++-- - 2 files changed, 14 insertions(+), 4 deletions(-) - -commit 3f7a21c5c93d8648ded097757852df44fc9fcaeb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 4 13:46:10 2008 +0000 - - [test] Add jpeg.jpg to EXTRA_DIST - - Forgot to add the new file to the distribution with the previous commit. - - test/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit 9900a2adf3e43e752bd421f00e81873b41db4c30 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 4 13:41:02 2008 +0000 - - [test] Update mime-data jpeg reference data. - - <adrianj> ickle_: If we are going to use a different image for jpeg in - mime-data maybe we could create a jpg that contains the text "jpeg". That - way when support for the other image formats is added the mime-data test - could have one image for each type with each image and it is easy to see - that each image is the correct one. - - test/jpeg.jpg | Bin 0 -> 2316 bytes - test/mime-data.c | 6 +++--- - test/mime-data.pdf.ref.png | Bin 96 -> 4345 bytes - test/mime-data.ps.ref.png | Bin 368 -> 4345 bytes - test/mime-data.ref.png | Bin 263 -> 127 bytes - 5 files changed, 3 insertions(+), 3 deletions(-) - -commit c13a09ddb411287224c15728b14f23fef472f7d0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 4 13:00:36 2008 +0000 - - [test] Use a different jpeg image for mime-data - - Detect when we successfully encode the JPEG data from the mime-type by - using a completely image. - - test/Makefile.am | 3 +++ - test/mime-data.c | 6 +++++- - test/mime-data.pdf.ref.png | Bin 0 -> 96 bytes - test/mime-data.ps.ref.png | Bin 0 -> 368 bytes - test/scarab.jpg | Bin 0 -> 9650 bytes - 5 files changed, 8 insertions(+), 1 deletion(-) - -commit 8407470409ad9cb93263a1c2da7dd7446d3f897e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 4 12:45:47 2008 +0000 - - [test] Adapt pdf-mime-data for non-srcdir build. - - Need to look for reference/input images from srcdir as well. - - test/Makefile.am | 2 +- - test/pdf-mime-data.c | 44 ++++++++++++++++++++++++++++++++------------ - 2 files changed, 33 insertions(+), 13 deletions(-) - -commit 8007618837c0292b6ebc6a4f954c5049d4e99d8a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 4 12:31:10 2008 +0000 - - [test] Fix compilation of imagediff. - - imagediff broke once again. - - test/Makefile.am | 3 ++- - test/imagediff.c | 17 +++++++++++++++++ - 2 files changed, 19 insertions(+), 1 deletion(-) - -commit 282d7744275f623ce550638df953ef279d2209f0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 4 12:53:15 2008 +0000 - - [mime-type] Request the mime-data for the source surface, not ourselves! - - Fixup a typo I introduced that caused us to request the jpeg data for the - destination surface and not the source. - - src/cairo-pdf-surface.c | 2 +- - src/cairo-ps-surface.c | 5 ++--- - 2 files changed, 3 insertions(+), 4 deletions(-) - -commit aa616abc9ab02e333cf0cad4f524b15c710bf449 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 4 11:18:22 2008 +0000 - - [png] Use RGB for opaque images. - - If the ARGB32 is opaque, discard the alpha channel - so we should generate - byte identical output to the reference images. - - src/cairo-png.c | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -commit 30976635d7072c06d00e39b106e41be7b08c6c49 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Tue Nov 4 22:52:45 2008 +1030 - - PS: Implement JPEG embedding - - src/cairo-ps-surface.c | 104 +++++++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 101 insertions(+), 3 deletions(-) - -commit 73bc278c7a4630cd9299c974771ffd6e9245d0ac -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Tue Nov 4 22:25:26 2008 +1030 - - Add pdf mime data test - - To test that images in PDF files correctly embedded the mime data. - - test/Makefile.am | 2 + - test/pdf-mime-data.c | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 153 insertions(+) - -commit 3f18d38fbdc661d34e0fd951e0fd3aa1aa2cbcc9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 4 10:31:48 2008 +0000 - - [win32] Compile fix for extend-pad extents. - - Update the show_glyphs() prototype to include the extents argument. - - src/cairo-win32-printing-surface.c | 3 ++- - src/cairo-win32-private.h | 3 ++- - 2 files changed, 4 insertions(+), 2 deletions(-) - -commit 5ba95b7e1287ade0b8a1acf2f5cb73fa1f44c451 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 4 09:22:28 2008 +0000 - - [trace] Convert [1 0 0 1 0 0] to identity - - Simplify the trace/replay by replacing the identity array with the - identity operator. - - util/cairo-trace/trace.c | 34 +++++++++++++++++++++++++--------- - 1 file changed, 25 insertions(+), 9 deletions(-) - -commit 3664b32195b101ebab9a5f9087095306f8969c80 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Nov 4 10:38:41 2008 +0000 - - [trace] Remove more @..@ from Makefile.am - - Use $(..) for make variable substitution as opposed to incorrectly using - @..@ for substitution by configure. - - util/cairo-trace/Makefile.am | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit 1d8ad69abb88f6e0283b6ce2aadc5d801b8e3722 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Tue Nov 4 01:51:06 2008 -0500 - - [aclocal.dolt.m4] Fix build with bash versions <= 3.0 (bug #18363) - - build/aclocal.dolt.m4 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 310026ab42c2078e2749c886c74c5b38cab41671 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Tue Nov 4 01:51:06 2008 -0500 - - [aclocal.dolt.m4] Fix build with bash versions <= 3.0 (bug #18363) - - build/aclocal.dolt.m4 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 90217550120f129004bc555b59ced28b4b25a4d4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Nov 3 23:45:12 2008 +0000 - - [mime-data] Copy a reference to the mime-data on snapshotting. - - Instead of doing a full-copy of the mime data (which can be 10K-100K, - or even larger) just copy a reference to the original mime to the - snapshot surface (as suggested by Behdad). - - src/cairo-surface-fallback.c | 29 +++-------------- - src/cairo-surface.c | 77 +++++++++++++++++++++++++++++++------------- - src/cairo-types-private.h | 2 ++ - src/cairoint.h | 5 +++ - 4 files changed, 66 insertions(+), 47 deletions(-) - -commit 4f032ca35a7086b76775e4b53c6b99ba4e1eb3cb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Nov 3 23:23:09 2008 +0000 - - [trace] Install cairo-trace.so into $(libdir)/cairo - - Install the auxiliary library into the cairo subdirectory within the - lib path, so that it doesn't clutter $(libdir) and sets a precedent for - future auxiliary libraries. - - util/cairo-trace/Makefile.am | 7 ++++--- - util/cairo-trace/cairo-trace.in | 13 ++++++++++--- - 2 files changed, 14 insertions(+), 6 deletions(-) - -commit c80a1c68c19f876c9f55b7c6d62b18ae110b11d0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Nov 3 23:16:09 2008 +0000 - - [configure] Make trace consistent. - - Remove the debianism from the comments for HAVE_BFD and comply with - Behdad's guidelines on using $(...) within Makefile.am. - - configure.ac | 5 ++--- - util/cairo-trace/Makefile.am | 6 +++--- - 2 files changed, 5 insertions(+), 6 deletions(-) - -commit 43e2370b024f66d995c514fd53414d3d8588a481 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Nov 3 14:20:35 2008 +0000 - - [test] Update extend-pad. - - extend-pad was not a clear demonstration of the EXTEND_PAD mode, so revamp - it to show the filter extending a 4 pixel surface to cover the entire - output. However, this hides a discrepancy with the vector surfaces that we - cannot prevent the external renders from applying an interpolation to the - border pixels, so we copy the original test to extend-pad-border to check - the desired behaviour on boundary pixels. - - test/Makefile.am | 4 ++ - test/extend-pad-border.c | 95 ++++++++++++++++++++++++++++++++++++++++ - test/extend-pad-border.ref.png | Bin 0 -> 616 bytes - test/extend-pad-similar.c | 82 ++++++++++++++++++++++++++++++++++ - test/extend-pad-similar.ref.png | Bin 0 -> 315 bytes - test/extend-pad.c | 50 ++++++++------------- - test/extend-pad.ref.png | Bin 616 -> 315 bytes - 7 files changed, 200 insertions(+), 31 deletions(-) - -commit b3462c5616ae24fd391ad0872d2fbb98c6cd0c92 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Nov 3 13:10:42 2008 +0000 - - [test] Convert a few residual '-out.*' - - Catch a few -out.* hiding in boilerplate. - - boilerplate/cairo-boilerplate-pdf.c | 2 +- - boilerplate/cairo-boilerplate-ps.c | 2 +- - boilerplate/cairo-boilerplate-svg.c | 2 +- - boilerplate/cairo-boilerplate-win32-printing.c | 2 +- - test/Makefile.am | 6 +++--- - 5 files changed, 7 insertions(+), 7 deletions(-) - -commit 34586860ef08e6aab988ba227997dfe376f9d319 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Nov 3 12:11:14 2008 +0000 - - [trace] Big-endian compile fixes. - - A few typos. - - util/cairo-trace/trace.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit ca83df55a63eab1821dbc009f65b3b09d61f5b62 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Nov 3 11:46:31 2008 +0000 - - [trace] Wrap test surfaces. - - Wrap the test surfaces to avoid crashes whilst tracing the test suite. - - util/cairo-trace/trace.c | 116 +++++++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 108 insertions(+), 8 deletions(-) - -commit 2c08f3f83b1acd168cd74b300272970658179a0f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Nov 3 11:30:38 2008 +0000 - - [trace] Autodetect -lbfd during configure - - Stop being lazy and detect libbfd during configure. - - configure.ac | 10 ++++++++++ - util/cairo-trace/Makefile.am | 2 +- - util/cairo-trace/lookup-symbol.c | 6 +++--- - 3 files changed, 14 insertions(+), 4 deletions(-) - -commit 8fc3d0ffebea5622332327cdef9222486cc85581 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Nov 3 11:01:22 2008 +0000 - - [mime-data] Allow embedding of arbitrary mime-types. - - Use the surface user-data array allow to store an arbitrary set of - alternate image representations keyed by an interned string (which - ensures that it has a unique key in the user-visible namespace). - - Update the API to mirror that of cairo_surface_set_user_data() [i.e. - return a status indicator] and switch internal users of the mime-data to - the public functions. - - src/cairo-debug.c | 2 + - src/cairo-jpeg-info-private.h | 6 +-- - src/cairo-jpeg-info.c | 19 ++++--- - src/cairo-misc.c | 98 ++++++++++++++++++++++++++++++++++++ - src/cairo-mutex-list-private.h | 1 + - src/cairo-pdf-surface.c | 16 +++--- - src/cairo-surface-fallback.c | 37 ++++++++++---- - src/cairo-surface-private.h | 4 -- - src/cairo-surface.c | 91 ++++++++++++++++++++++++++------- - src/cairo-types-private.h | 7 +++ - src/cairo.h | 4 +- - src/cairoint.h | 8 +++ - test/Makefile.am | 3 ++ - test/mime-data.c | 111 +++++++++++++++++++++++++++++++++++++++++ - test/mime-data.ref.png | Bin 0 -> 263 bytes - test/romedalen.jpg | Bin 0 -> 11400 bytes - util/cairo-trace/trace.c | 2 +- - 17 files changed, 351 insertions(+), 58 deletions(-) - -commit afef83a1fae028b45cefd6b4698e7b32ad4d6fc7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Nov 3 09:40:35 2008 +0000 - - Compile tidy. - - Fix a few minor compiler warnings. - - src/cairo-pdf-surface.c | 2 +- - src/cairo-ps-surface.c | 2 +- - src/cairo-surface.c | 6 +++--- - 3 files changed, 5 insertions(+), 5 deletions(-) - -commit f77723fc88c12ebf6f5bff5a1797649d134ecc5d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Nov 2 19:59:53 2008 +0000 - - [pdf] Missing status check. - - Check that stream was successfully opened before attempting to write to - it. - - src/cairo-pdf-surface.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 04e3bb932eeac4f403b512087b96a164d082d52c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Nov 2 21:51:37 2008 +0000 - - [trace] Emit set_mime_data(). - - Wrap the new cairo_surface_set_mime_data() function. - - util/cairo-trace/trace.c | 30 ++++++++++++++++++++++++++++-- - 1 file changed, 28 insertions(+), 2 deletions(-) - -commit 350fa7b98e5045a4fa05f64a1ad7d8167036be34 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Nov 1 13:12:43 2008 +0000 - - [trace] Fix boundary terminations - - Don't increment the terminator! - - util/cairo-trace/trace.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f3cbc5cf4580da83b7edacfd381afee3d571c659 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 31 23:47:16 2008 +0000 - - [trace] Use utf8 len in show_text_glyphs(). - - Honour the parameter specifying the length of the utf8 string when - emitting show_text_glyphs. - - util/cairo-trace/trace.c | 36 ++++++++++++++++++++---------------- - 1 file changed, 20 insertions(+), 16 deletions(-) - -commit 6434cddb899d750b815d71f8f51ae3e4568dd3c0 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Nov 2 11:42:33 2008 +1030 - - type1-subset: return unsupported on FT errors - - and let type1-fallback handle it. This fixes the bug reported by - Peter Weilbacher in - http://lists.cairographics.org/archives/cairo/2008-October/015569.html - - src/cairo-type1-subset.c | 12 ++++-------- - 1 file changed, 4 insertions(+), 8 deletions(-) - -commit 1685bbee1bf1ebc015ada94f77756d8d10c7818d -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Nov 2 19:50:59 2008 +1030 - - test/README: fix typo - - test/README | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 540ac11113015f0fd6856d016cb38fec5282b6ce -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Nov 2 11:42:33 2008 +1030 - - type1-subset: return unsupported on FT errors - - and let type1-fallback handle it. This fixes the bug reported by - Peter Weilbacher in - http://lists.cairographics.org/archives/cairo/2008-October/015569.html - - src/cairo-type1-subset.c | 12 ++++-------- - 1 file changed, 4 insertions(+), 8 deletions(-) - -commit 3707178fa48e23b85c5640f3cee72e19f49c700b -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Mon Sep 8 10:26:58 2008 +0930 - - PDF: Implement JPEG image embedding - - src/Makefile.sources | 2 + - src/cairo-jpeg-info-private.h | 54 ++++++++++++++++ - src/cairo-jpeg-info.c | 142 ++++++++++++++++++++++++++++++++++++++++++ - src/cairo-pdf-surface.c | 55 ++++++++++++++++ - 4 files changed, 253 insertions(+) - -commit 3c684347f49a581bfba35202ec61a5f6334acd4a -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Sep 7 20:46:20 2008 +0930 - - Add cairo_surface_set_mime_data() - - Currently only handles jpeg data. - - src/cairo-surface-fallback.c | 15 ++++++++++ - src/cairo-surface-private.h | 4 +++ - src/cairo-surface.c | 67 ++++++++++++++++++++++++++++++++++++++++++++ - src/cairo.h | 15 ++++++++++ - 4 files changed, 101 insertions(+) - -commit a39a4f52ac4a057f579e881a9a929029bcc514d1 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Wed Oct 1 21:02:26 2008 +0930 - - PS: meta-surface patterns with EXTEND_PAD are unsupported - - We have to use fallback images for this. - - src/cairo-ps-surface.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -commit 19ee13ca2b5b1e08a7fc965516be514d2fe40232 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Wed Oct 1 21:01:17 2008 +0930 - - PS: Implement EXTEND_PAD for image patterns - - Images with EXTEND_PAD are painted into a new image the size of the - operation extents. The new image is then embedded in the PS file with - the pattern matrix adjusted to ensure the image origin is in the - correct location. - - src/cairo-ps-surface-private.h | 1 + - src/cairo-ps-surface.c | 99 ++++++++++++++++++++++++++++++++++-------- - 2 files changed, 83 insertions(+), 17 deletions(-) - -commit e639b536711c07bc09355205f476ab3f73012268 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Wed Oct 1 21:00:30 2008 +0930 - - PDF: meta-surface patterns with EXTEND_PAD are unsupported - - We have to use fallback images for this. - - src/cairo-pdf-surface.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -commit 6c92edd9a3b0c79857cfa8dee482efa56f40c714 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Wed Oct 1 20:56:49 2008 +0930 - - PDF: Implement EXTEND_PAD for image patterns - - Images with EXTEND_PAD are painted into a new image the size of the - operation extents. The new image is then embedded in the PDF file with - the pattern matrix adjusted to ensure the image origin is in the - correct location. - - src/cairo-pdf-surface.c | 70 +++++++++++++++++++++++++++++++++++++++++++------ - 1 file changed, 62 insertions(+), 8 deletions(-) - -commit d146cb4056ab54cf85454a6fe9d36282ca7a3f2e -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Wed Oct 1 20:56:01 2008 +0930 - - PDF: Store the operation extents in each pattern - - The extents will be used by EXTEND_PAD patterns as well as any other - pattern that can benefit from knowing the extents of the operation it - will be used with. - - src/cairo-pdf-surface-private.h | 1 + - src/cairo-pdf-surface.c | 30 ++++++++++++++++++++++++------ - 2 files changed, 25 insertions(+), 6 deletions(-) - -commit fb7cfdd94d4e436e066d884f6dc294efd896b344 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Wed Oct 1 20:52:08 2008 +0930 - - Make meta-surface store and replay extents of each operation - - To be able to provide the extents of each operation to the backend - during the render phase the meta-surface needs to store the extents - computed by the analysis surface during the analysis phase. - - The extents argument is either a pointer to the extents of the operation - stored in the meta-surface or NULL. During analysis the analysis surface - writes the extents to the meta-surface. During the render phase the extents - is made available to paginated surface backends. - - src/cairo-analysis-surface.c | 12 ++++++++++++ - src/cairo-meta-surface-private.h | 1 + - src/cairo-meta-surface.c | 33 +++++++++++++++++++++++++++------ - 3 files changed, 40 insertions(+), 6 deletions(-) - -commit d682d275b90f7326df76d2764c513c8b6d5b551b -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Wed Oct 1 20:50:53 2008 +0930 - - Add an extents argument to the high level surface backend functions - - Add a "cairo_rectangle_int_t *extents" argument to to the following - backend functions: - paint - mask, - stroke - fill - show_glyphs - show_text_glyphs - - This will be used to pass the extents of each operation computed by - the analysis surface to the backend. This is required for implementing - EXTEND_PAD. - - src/cairo-analysis-surface.c | 49 +++++++++++++++++++++++--------------- - src/cairo-directfb-surface.c | 3 ++- - src/cairo-gstate.c | 12 +++++----- - src/cairo-meta-surface.c | 27 ++++++++++++--------- - src/cairo-paginated-surface.c | 27 ++++++++++++--------- - src/cairo-pdf-surface.c | 18 +++++++++----- - src/cairo-ps-surface.c | 12 ++++++---- - src/cairo-quartz-surface.c | 15 ++++++++---- - src/cairo-surface.c | 45 +++++++++++++++++++--------------- - src/cairo-svg-surface.c | 24 ++++++++++++------- - src/cairo-type3-glyph-surface.c | 17 ++++++++----- - src/cairo-win32-printing-surface.c | 12 ++++++---- - src/cairo-win32-surface.c | 3 ++- - src/cairo-xlib-surface.c | 8 ++++--- - src/cairoint.h | 39 ++++++++++++++++++++---------- - src/test-meta-surface.c | 25 +++++++++++-------- - src/test-paginated-surface.c | 25 +++++++++++-------- - 17 files changed, 223 insertions(+), 138 deletions(-) - -commit ed2081d97401741db10b0244eaba7ff31ae63346 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sun Nov 2 15:05:07 2008 +1030 - - Specify a background color for XFAIL text - - To improve readability on terminals with a white background. - - test/cairo-test.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 81c3009c077ddab40df052bffaa646526e2b8dfc -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Fri Oct 31 16:45:58 2008 -0400 - - [boilerplate/Makefile.win32] Only build source files, not headers - - boilerplate/Makefile.win32 | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit d5f88c28021907ad761a1bf1c311bfd206db617e -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Fri Oct 31 13:43:37 2008 -0400 - - [.gitignore] Add - - util/cairo-trace/.gitignore | 1 + - 1 file changed, 1 insertion(+) - -commit 49bd253fd36dc93219a5414c6e7a6daeaa9c63b9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 31 16:40:49 2008 +0000 - - [tessellator] Refine the math comments. - - First of a simple substitution for -?-, as they are very confusing in - context with other minus signs floating around. - - Carl has promised to go over these docs with me at the HackFest in order - to improve them (and verify them). - - src/cairo-bentley-ottmann.c | 30 +++++++++++++++--------------- - 1 file changed, 15 insertions(+), 15 deletions(-) - -commit ab8a0bfd82f8f474714d7aae4ceff4e7848c9b4b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 31 16:09:13 2008 +0000 - - Add a COPYING file to each aux. source directory - - Include a COPYING inside perf/, test/, util/ to clarify the licensing - conditions beneath the respective directories. This is because cairo - itself (libcairo.so) is LGPL-2.1/MPL-1.1 but that only relates to src/. - The auxiliary source files are under a mix of free licenses and we wish to - be clear just what license applies to each file. - - In particular, cairo-trace needs to include the GPL terms and conditions. - - COPYING | 17 +- - perf/COPYING | 5 + - perf/Makefile.am | 2 +- - test/COPYING | 5 + - test/Makefile.am | 2 +- - util/COPYING | 4 + - util/Makefile.am | 1 + - util/cairo-trace/COPYING | 5 + - util/cairo-trace/COPYING-GPL-3 | 674 +++++++++++++++++++++++++++++++++++++++++ - util/cairo-trace/Makefile.am | 5 +- - 10 files changed, 709 insertions(+), 11 deletions(-) - -commit c554f18d78fff71aff2d79309b19155de407363d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 31 15:37:58 2008 +0000 - - [util] Add cairo-trace. - - This tool can be used to trace all the cairo function calls made by an - applications. This is useful for either extracting a test case triggering - a bug from an application, or simply to get a general idea of how an - application is using cairo. - - After make install, cairo-trace program arguments, will print out all the - cairo calls to the terminal and also capture theme in ./program.$pid.trace - - The format of the output is CairoScript, watch this space for more - cairo-script tools! - - build/configure.ac.system | 2 + - configure.ac | 17 + - util/Makefile.am | 6 + - util/README | 8 - - util/cairo-trace/Makefile.am | 21 + - util/cairo-trace/cairo-trace.in | 58 + - util/cairo-trace/lookup-symbol.c | 290 ++++ - util/cairo-trace/lookup-symbol.h | 24 + - util/cairo-trace/trace.c | 3345 ++++++++++++++++++++++++++++++++++++++ - 9 files changed, 3763 insertions(+), 8 deletions(-) - -commit 992f74d884c9ea83f7b51c6959dd93718027b99a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 31 13:50:55 2008 +0000 - - [test] Use '.' as the field separator in the names - - We frequently use '-' within the test name or format name and so we - encounter confusion as '-' is also used as the field separator. At times - this has caused a new test to break an old test because the new test would - match one of the old test's target specific reference images. So switch - everything over to use '.' between fields (test name, target, format, - subtest, etc.). - - test/.gitignore | 8 +- - test/Makefile.am | 1402 ++++++++++---------- - ...mage-sample-ref.png => a1-image-sample.ref.png} | Bin - test/{a1-mask-ref.png => a1-mask.ref.png} | Bin - ...raps-sample-ref.png => a1-traps-sample.ref.png} | Bin - test/{a8-mask-ref.png => a8-mask.ref.png} | Bin - ...alpha-similar-ref.png => alpha-similar.ref.png} | Bin - ...r-rgb24-ref.png => alpha-similar.rgb24.ref.png} | Bin - .../{big-line-ps2-ref.png => big-line.ps2.ref.png} | Bin - ...s2-rgb24-ref.png => big-line.ps2.rgb24.ref.png} | Bin - .../{big-line-ps3-ref.png => big-line.ps3.ref.png} | Bin - ...s3-rgb24-ref.png => big-line.ps3.rgb24.ref.png} | Bin - ...line-quartz-ref.png => big-line.quartz.ref.png} | Bin - ...rgb24-ref.png => big-line.quartz.rgb24.ref.png} | Bin - test/{big-line-ref.png => big-line.ref.png} | Bin - ...g-line-rgb24-ref.png => big-line.rgb24.ref.png} | Bin - ...bilevel-image-ref.png => bilevel-image.ref.png} | Bin - test/{bitmap-font-ref.png => bitmap-font.ref.png} | Bin - ...ont-rgb24-ref.png => bitmap-font.rgb24.ref.png} | Bin - test/cairo-test.c | 68 +- - test/cairo-test.h | 1 + - ...rtz-ref.png => caps-joins-alpha.quartz.ref.png} | Bin - ...oins-alpha-ref.png => caps-joins-alpha.ref.png} | Bin - ...vg11-ref.png => caps-joins-alpha.svg11.ref.png} | Bin - ...vg12-ref.png => caps-joins-alpha.svg12.ref.png} | Bin - ...ps-joins-ps2-ref.png => caps-joins.ps2.ref.png} | Bin - ...ps-joins-ps3-ref.png => caps-joins.ps3.ref.png} | Bin - test/{caps-joins-ref.png => caps-joins.ref.png} | Bin - ...ps-sub-paths-ref.png => caps-sub-paths.ref.png} | Bin - test/{clip-all-ref.png => clip-all.ref.png} | Bin - test/{clip-empty-ref.png => clip-empty.ref.png} | Bin - ...ef.png => clip-fill-rule-pixel-aligned.ref.png} | Bin - ... => clip-fill-rule-pixel-aligned.rgb24.ref.png} | Bin - ...2-ref.png => clip-fill-rule.ps2.argb32.ref.png} | Bin - ...24-ref.png => clip-fill-rule.ps2.rgb24.ref.png} | Bin - ...2-ref.png => clip-fill-rule.ps3.argb32.ref.png} | Bin - ...24-ref.png => clip-fill-rule.ps3.rgb24.ref.png} | Bin - ...ip-fill-rule-ref.png => clip-fill-rule.ref.png} | Bin - ...-rgb24-ref.png => clip-fill-rule.rgb24.ref.png} | Bin - ...b32-ref.png => clip-nesting.ps2.argb32.ref.png} | Bin - ...gb24-ref.png => clip-nesting.ps2.rgb24.ref.png} | Bin - ...b32-ref.png => clip-nesting.ps3.argb32.ref.png} | Bin - ...gb24-ref.png => clip-nesting.ps3.rgb24.ref.png} | Bin - ...-quartz-ref.png => clip-nesting.quartz.ref.png} | Bin - ...4-ref.png => clip-nesting.quartz.rgb24.ref.png} | Bin - .../{clip-nesting-ref.png => clip-nesting.ref.png} | Bin - ...ng-rgb24-ref.png => clip-nesting.rgb24.ref.png} | Bin - ...32-ref.png => clip-operator.pdf.argb32.ref.png} | Bin - ...b24-ref.png => clip-operator.pdf.rgb24.ref.png} | Bin - ...b24-ref.png => clip-operator.ps2.rgb24.ref.png} | Bin - ...rator-ps3-ref.png => clip-operator.ps3.ref.png} | Bin - ...b24-ref.png => clip-operator.ps3.rgb24.ref.png} | Bin - ...quartz-ref.png => clip-operator.quartz.ref.png} | Bin - ...-ref.png => clip-operator.quartz.rgb24.ref.png} | Bin - ...clip-operator-ref.png => clip-operator.ref.png} | Bin - ...r-rgb24-ref.png => clip-operator.rgb24.ref.png} | Bin - ...-ref.png => clip-push-group.ps2.argb32.ref.png} | Bin - ...4-ref.png => clip-push-group.ps2.rgb24.ref.png} | Bin - ...-ref.png => clip-push-group.ps3.argb32.ref.png} | Bin - ...4-ref.png => clip-push-group.ps3.rgb24.ref.png} | Bin - ...artz-ref.png => clip-push-group.quartz.ref.png} | Bin - ...-push-group-ref.png => clip-push-group.ref.png} | Bin - ...rgb32-ref.png => clip-twice.ps2.argb32.ref.png} | Bin - ...-rgb24-ref.png => clip-twice.ps2.rgb24.ref.png} | Bin - ...rgb32-ref.png => clip-twice.ps3.argb32.ref.png} | Bin - ...-rgb24-ref.png => clip-twice.ps3.rgb24.ref.png} | Bin - ...ce-quartz-ref.png => clip-twice.quartz.ref.png} | Bin - ...b24-ref.png => clip-twice.quartz.rgb24.ref.png} | Bin - test/{clip-twice-ref.png => clip-twice.ref.png} | Bin - ...wice-rgb24-ref.png => clip-twice.rgb24.ref.png} | Bin - ...group-ps2-ref.png => clipped-group.ps2.ref.png} | Bin - ...group-ps3-ref.png => clipped-group.ps3.ref.png} | Bin - ...clipped-group-ref.png => clipped-group.ref.png} | Bin - ...ped-surface-ref.png => clipped-surface.ref.png} | Bin - ...ose-path-ps2-ref.png => close-path.ps2.ref.png} | Bin - ...ose-path-ps3-ref.png => close-path.ps3.ref.png} | Bin - test/{close-path-ref.png => close-path.ref.png} | Bin - ...site-integer-translate-over-repeat.ps2.ref.png} | Bin - ...site-integer-translate-over-repeat.ps3.ref.png} | Bin - ...omposite-integer-translate-over-repeat.ref.png} | Bin - ...> composite-integer-translate-over.ps2.ref.png} | Bin - ...> composite-integer-translate-over.ps3.ref.png} | Bin - ...ng => composite-integer-translate-over.ref.png} | Bin - ...composite-integer-translate-source.ps2.ref.png} | Bin - ...composite-integer-translate-source.ps3.ref.png} | Bin - ... => composite-integer-translate-source.ref.png} | Bin - ...copy-path-ps2-ref.png => copy-path.ps2.ref.png} | Bin - ...copy-path-ps3-ref.png => copy-path.ps3.ref.png} | Bin - test/{copy-path-ref.png => copy-path.ref.png} | Bin - test/create-for-stream.c | 2 +- - test/create-from-png-stream.c | 2 +- - ...ream-ref.png => create-from-png-stream.ref.png} | Bin - ...alpha-ref.png => create-from-png.alpha.ref.png} | Bin - test/create-from-png.c | 16 +- - ...-ref.png => create-from-png.gray-alpha.ref.png} | Bin - ...g-gray-ref.png => create-from-png.gray.ref.png} | Bin - ...f.png => create-from-png.indexed-alpha.ref.png} | Bin - ...xed-ref.png => create-from-png.indexed.ref.png} | Bin - ...te-from-png-ref.png => create-from-png.ref.png} | Bin - ...-ref.png => dash-caps-joins.ps2.argb32.ref.png} | Bin - ...4-ref.png => dash-caps-joins.ps2.rgb24.ref.png} | Bin - ...-ref.png => dash-caps-joins.ps3.argb32.ref.png} | Bin - ...4-ref.png => dash-caps-joins.ps3.rgb24.ref.png} | Bin - ...artz-ref.png => dash-caps-joins.quartz.ref.png} | Bin - ...-caps-joins-ref.png => dash-caps-joins.ref.png} | Bin - ...sh-curve-ps2-ref.png => dash-curve.ps2.ref.png} | Bin - ...sh-curve-ps3-ref.png => dash-curve.ps3.ref.png} | Bin - ...ve-quartz-ref.png => dash-curve.quartz.ref.png} | Bin - test/{dash-curve-ref.png => dash-curve.ref.png} | Bin - .../{dash-no-dash-ref.png => dash-no-dash.ref.png} | Bin - ...gative-ref.png => dash-offset-negative.ref.png} | Bin - ...rgb32-ref.png => dash-scale.ps2.argb32.ref.png} | Bin - ...-rgb24-ref.png => dash-scale.ps2.rgb24.ref.png} | Bin - ...rgb32-ref.png => dash-scale.ps3.argb32.ref.png} | Bin - ...-rgb24-ref.png => dash-scale.ps3.rgb24.ref.png} | Bin - ...le-quartz-ref.png => dash-scale.quartz.ref.png} | Bin - test/{dash-scale-ref.png => dash-scale.ref.png} | Bin - ...sh-state-ps2-ref.png => dash-state.ps2.ref.png} | Bin - ...sh-state-ps3-ref.png => dash-state.ps3.ref.png} | Bin - ...te-quartz-ref.png => dash-state.quartz.ref.png} | Bin - test/{dash-state-ref.png => dash-state.ref.png} | Bin - ...th-ps2-ref.png => dash-zero-length.ps2.ref.png} | Bin - ...-ref.png => dash-zero-length.ps2.rgb24.ref.png} | Bin - ...th-ps3-ref.png => dash-zero-length.ps3.ref.png} | Bin - ...-ref.png => dash-zero-length.ps3.rgb24.ref.png} | Bin - ...ero-length-ref.png => dash-zero-length.ref.png} | Bin - ...gb24-ref.png => dash-zero-length.rgb24.ref.png} | Bin - ...-arc-ps2-ref.png => degenerate-arc.ps2.ref.png} | Bin - ...-arc-ps3-ref.png => degenerate-arc.ps3.ref.png} | Bin - ...generate-arc-ref.png => degenerate-arc.ref.png} | Bin - ...nerate-dash-ref.png => degenerate-dash.ref.png} | Bin - ...-ref.png => degenerate-path.ps2.argb32.ref.png} | Bin - ...4-ref.png => degenerate-path.ps2.rgb24.ref.png} | Bin - ...-ref.png => degenerate-path.ps3.argb32.ref.png} | Bin - ...4-ref.png => degenerate-path.ps3.rgb24.ref.png} | Bin - ...artz-ref.png => degenerate-path.quartz.ref.png} | Bin - ...ef.png => degenerate-path.quartz.rgb24.ref.png} | Bin - ...nerate-path-ref.png => degenerate-path.ref.png} | Bin - ...rgb24-ref.png => degenerate-path.rgb24.ref.png} | Bin - ...-pen-ps2-ref.png => degenerate-pen.ps2.ref.png} | Bin - ...-pen-ps3-ref.png => degenerate-pen.ps3.ref.png} | Bin - ...uartz-ref.png => degenerate-pen.quartz.ref.png} | Bin - ...generate-pen-ref.png => degenerate-pen.ref.png} | Bin - ...ef.png => device-offset-fractional.pdf.ref.png} | Bin - ...ef.png => device-offset-fractional.ps2.ref.png} | Bin - ...ef.png => device-offset-fractional.ps3.ref.png} | Bin - ...al-ref.png => device-offset-fractional.ref.png} | Bin - ...tive-ref.png => device-offset-positive.ref.png} | Bin - ...ef.png => device-offset-positive.rgb24.ref.png} | Bin - ...t-scale-ref.png => device-offset-scale.ref.png} | Bin - ...device-offset-ref.png => device-offset.ref.png} | Bin - ...t-rgb24-ref.png => device-offset.rgb24.ref.png} | Bin - test/{extend-pad-ref.png => extend-pad.ref.png} | Bin - ...-ref.png => extend-reflect-similar.ps2.ref.png} | Bin - ...-ref.png => extend-reflect-similar.ps3.ref.png} | Bin - ...lect-ref.png => extend-reflect-similar.ref.png} | Bin - ...ilar-ps2-ref.png => extend-reflect.ps2.ref.png} | Bin - ...ilar-ps3-ref.png => extend-reflect.ps3.ref.png} | Bin - ...lect-similar-ref.png => extend-reflect.ref.png} | Bin - ...2-ref.png => extend-repeat-similar.ps2.ref.png} | Bin - ...3-ref.png => extend-repeat-similar.ps3.ref.png} | Bin - ...epeat-ref.png => extend-repeat-similar.ref.png} | Bin - ...milar-ps2-ref.png => extend-repeat.ps2.ref.png} | Bin - ...milar-ps3-ref.png => extend-repeat.ps3.ref.png} | Bin - ...epeat-similar-ref.png => extend-repeat.ref.png} | Bin - test/fallback-resolution.c | 11 +- - ....png => fallback-resolution.ppi150x150.ref.png} | Bin - ....png => fallback-resolution.ppi150x300.ref.png} | Bin - ...png => fallback-resolution.ppi150x37.5.ref.png} | Bin - ....png => fallback-resolution.ppi150x600.ref.png} | Bin - ...f.png => fallback-resolution.ppi150x72.ref.png} | Bin - ...f.png => fallback-resolution.ppi150x75.ref.png} | Bin - ....png => fallback-resolution.ppi300x150.ref.png} | Bin - ....png => fallback-resolution.ppi300x300.ref.png} | Bin - ...png => fallback-resolution.ppi300x37.5.ref.png} | Bin - ....png => fallback-resolution.ppi300x600.ref.png} | Bin - ...f.png => fallback-resolution.ppi300x72.ref.png} | Bin - ...f.png => fallback-resolution.ppi300x75.ref.png} | Bin - ...png => fallback-resolution.ppi37.5x150.ref.png} | Bin - ...png => fallback-resolution.ppi37.5x300.ref.png} | Bin - ...ng => fallback-resolution.ppi37.5x37.5.ref.png} | Bin - ...png => fallback-resolution.ppi37.5x600.ref.png} | Bin - ....png => fallback-resolution.ppi37.5x72.ref.png} | Bin - ....png => fallback-resolution.ppi37.5x75.ref.png} | Bin - ....png => fallback-resolution.ppi600x150.ref.png} | Bin - ....png => fallback-resolution.ppi600x300.ref.png} | Bin - ...png => fallback-resolution.ppi600x37.5.ref.png} | Bin - ....png => fallback-resolution.ppi600x600.ref.png} | Bin - ...f.png => fallback-resolution.ppi600x72.ref.png} | Bin - ...f.png => fallback-resolution.ppi600x75.ref.png} | Bin - ...f.png => fallback-resolution.ppi72x150.ref.png} | Bin - ...f.png => fallback-resolution.ppi72x300.ref.png} | Bin - ....png => fallback-resolution.ppi72x37.5.ref.png} | Bin - ...f.png => fallback-resolution.ppi72x600.ref.png} | Bin - ...ef.png => fallback-resolution.ppi72x72.ref.png} | Bin - ...ef.png => fallback-resolution.ppi72x75.ref.png} | Bin - ...f.png => fallback-resolution.ppi75x150.ref.png} | Bin - ...f.png => fallback-resolution.ppi75x300.ref.png} | Bin - ....png => fallback-resolution.ppi75x37.5.ref.png} | Bin - ...f.png => fallback-resolution.ppi75x600.ref.png} | Bin - ...ef.png => fallback-resolution.ppi75x72.ref.png} | Bin - ...ef.png => fallback-resolution.ppi75x75.ref.png} | Bin - ...f.png => fill-alpha-pattern.pdf.argb32.ref.png} | Bin - ...ef.png => fill-alpha-pattern.pdf.rgb24.ref.png} | Bin - ...-ps3-ref.png => fill-alpha-pattern.ps3.ref.png} | Bin - ...-pattern-ref.png => fill-alpha-pattern.ref.png} | Bin - test/{fill-alpha-ref.png => fill-alpha.ref.png} | Bin - ...ng => fill-and-stroke-alpha-add.quartz.ref.png} | Bin - ...d-ref.png => fill-and-stroke-alpha-add.ref.png} | Bin - ...ef.png => fill-and-stroke-alpha.quartz.ref.png} | Bin - ...alpha-ref.png => fill-and-stroke-alpha.ref.png} | Bin - ...-ref.png => fill-and-stroke.ps2.argb32.ref.png} | Bin - ...4-ref.png => fill-and-stroke.ps2.rgb24.ref.png} | Bin - ...-ref.png => fill-and-stroke.ps3.argb32.ref.png} | Bin - ...4-ref.png => fill-and-stroke.ps3.rgb24.ref.png} | Bin - ...artz-ref.png => fill-and-stroke.quartz.ref.png} | Bin - ...ef.png => fill-and-stroke.quartz.rgb24.ref.png} | Bin - ...-and-stroke-ref.png => fill-and-stroke.ref.png} | Bin - ...rgb24-ref.png => fill-and-stroke.rgb24.ref.png} | Bin - ...g => fill-degenerate-sort-order.quartz.ref.png} | Bin - ...ill-degenerate-sort-order.quartz.rgb24.ref.png} | Bin - ...-ref.png => fill-degenerate-sort-order.ref.png} | Bin - ...ng => fill-degenerate-sort-order.rgb24.ref.png} | Bin - ...ref.png => fill-missed-stop.ps2.argb32.ref.png} | Bin - ...-ref.png => fill-missed-stop.ps2.rgb24.ref.png} | Bin - ...ref.png => fill-missed-stop.ps3.argb32.ref.png} | Bin - ...-ref.png => fill-missed-stop.ps3.rgb24.ref.png} | Bin - ...issed-stop-ref.png => fill-missed-stop.ref.png} | Bin - ...gb24-ref.png => fill-missed-stop.rgb24.ref.png} | Bin - ...argb32-ref.png => fill-rule.ps2.argb32.ref.png} | Bin - ...2-rgb24-ref.png => fill-rule.ps2.rgb24.ref.png} | Bin - ...argb32-ref.png => fill-rule.ps3.argb32.ref.png} | Bin - ...3-rgb24-ref.png => fill-rule.ps3.rgb24.ref.png} | Bin - ...ule-quartz-ref.png => fill-rule.quartz.ref.png} | Bin - ...gb24-ref.png => fill-rule.quartz.rgb24.ref.png} | Bin - test/{fill-rule-ref.png => fill-rule.ref.png} | Bin - ...-rule-rgb24-ref.png => fill-rule.rgb24.ref.png} | Bin - ...ref.png => filter-bilinear-extents.pdf.ref.png} | Bin - ...ref.png => filter-bilinear-extents.ps2.ref.png} | Bin - ...ref.png => filter-bilinear-extents.ps3.ref.png} | Bin - ...nts-ref.png => filter-bilinear-extents.ref.png} | Bin - ...f-ref.png => filter-nearest-offset.pdf.ref.png} | Bin - ...2-ref.png => filter-nearest-offset.ps2.ref.png} | Bin - ...3-ref.png => filter-nearest-offset.ps3.ref.png} | Bin - ...ffset-ref.png => filter-nearest-offset.ref.png} | Bin - ...ref.png => filter-nearest-offset.svg11.ref.png} | Bin - ...ref.png => filter-nearest-offset.svg12.ref.png} | Bin - ....png => filter-nearest-transformed.pdf.ref.png} | Bin - ...-ref.png => filter-nearest-transformed.ref.png} | Bin - ...ng => filter-nearest-transformed.svg11.ref.png} | Bin - ...ng => filter-nearest-transformed.svg12.ref.png} | Bin - ...ref.png => finer-grained-fallbacks.ps2.ref.png} | Bin - ...g => finer-grained-fallbacks.ps2.rgb24.ref.png} | Bin - ...ref.png => finer-grained-fallbacks.ps3.ref.png} | Bin - ...g => finer-grained-fallbacks.ps3.rgb24.ref.png} | Bin - ...cks-ref.png => finer-grained-fallbacks.ref.png} | Bin - ...f.png => finer-grained-fallbacks.rgb24.ref.png} | Bin - ... => font-matrix-translation.ps2.argb32.ref.png} | Bin - ...g => font-matrix-translation.ps2.rgb24.ref.png} | Bin - ... => font-matrix-translation.ps3.argb32.ref.png} | Bin - ...g => font-matrix-translation.ps3.rgb24.ref.png} | Bin - ....png => font-matrix-translation.quartz.ref.png} | Bin - ...ion-ref.png => font-matrix-translation.ref.png} | Bin - ...f.png => font-matrix-translation.svg11.ref.png} | Bin - ...f.png => font-matrix-translation.svg12.ref.png} | Bin - ....png => ft-show-glyphs-positioning.pdf.ref.png} | Bin - ....png => ft-show-glyphs-positioning.ps2.ref.png} | Bin - ....png => ft-show-glyphs-positioning.ps3.ref.png} | Bin - ...-ref.png => ft-show-glyphs-positioning.ref.png} | Bin - ...ng => ft-show-glyphs-positioning.svg11.ref.png} | Bin - ...ng => ft-show-glyphs-positioning.svg12.ref.png} | Bin - ...s2-ref.png => ft-show-glyphs-table.ps2.ref.png} | Bin - ...s3-ref.png => ft-show-glyphs-table.ps3.ref.png} | Bin - ...-table-ref.png => ft-show-glyphs-table.ref.png} | Bin - ...g => ft-text-antialias-none.ps2.argb32.ref.png} | Bin - ...g => ft-text-antialias-none.ps3.argb32.ref.png} | Bin - ...none-ref.png => ft-text-antialias-none.ref.png} | Bin - ...g => ft-text-vertical-layout-type1.pdf.ref.png} | Bin - ...g => ft-text-vertical-layout-type1.ps2.ref.png} | Bin - ...g => ft-text-vertical-layout-type1.ps3.ref.png} | Bin - ...f.png => ft-text-vertical-layout-type1.ref.png} | Bin - ...=> ft-text-vertical-layout-type1.svg11.ref.png} | Bin - ...=> ft-text-vertical-layout-type1.svg12.ref.png} | Bin - ...g => ft-text-vertical-layout-type3.pdf.ref.png} | Bin - ...g => ft-text-vertical-layout-type3.ps2.ref.png} | Bin - ...g => ft-text-vertical-layout-type3.ps3.ref.png} | Bin - ...f.png => ft-text-vertical-layout-type3.ref.png} | Bin - ...=> ft-text-vertical-layout-type3.svg11.ref.png} | Bin - ...=> ft-text-vertical-layout-type3.svg12.ref.png} | Bin - ...oup-target-ref.png => get-group-target.ref.png} | Bin - ...source-ref.png => glitz-surface-source.ref.png} | Bin - ...s2-ref.png => glyph-cache-pressure.ps2.ref.png} | Bin - ...s3-ref.png => glyph-cache-pressure.ps3.ref.png} | Bin - ...ref.png => glyph-cache-pressure.quartz.ref.png} | Bin - ...essure-ref.png => glyph-cache-pressure.ref.png} | Bin - ...2-ref.png => gradient-alpha.pdf.argb32.ref.png} | Bin - ...24-ref.png => gradient-alpha.pdf.rgb24.ref.png} | Bin - ...2-ref.png => gradient-alpha.ps2.argb32.ref.png} | Bin - ...24-ref.png => gradient-alpha.ps2.rgb24.ref.png} | Bin - ...2-ref.png => gradient-alpha.ps3.argb32.ref.png} | Bin - ...24-ref.png => gradient-alpha.ps3.rgb24.ref.png} | Bin - ...adient-alpha-ref.png => gradient-alpha.ref.png} | Bin - ...-rgb24-ref.png => gradient-alpha.rgb24.ref.png} | Bin - ... => gradient-constant-alpha.pdf.argb32.ref.png} | Bin - ...g => gradient-constant-alpha.pdf.rgb24.ref.png} | Bin - ...ref.png => gradient-constant-alpha.ps3.ref.png} | Bin - ...g => gradient-constant-alpha.ps3.rgb24.ref.png} | Bin - ...pha-ref.png => gradient-constant-alpha.ref.png} | Bin - ...f.png => gradient-constant-alpha.rgb24.ref.png} | Bin - ...o-stops-ref.png => gradient-zero-stops.ref.png} | Bin - ...4-ref.png => gradient-zero-stops.rgb24.ref.png} | Bin - test/{group-paint-ref.png => group-paint.ref.png} | Bin - ...attern-pdf-ref.png => huge-pattern.pdf.ref.png} | Bin - ...gb24-ref.png => huge-pattern.pdf.rgb24.ref.png} | Bin - ...attern-ps3-ref.png => huge-pattern.ps3.ref.png} | Bin - .../{huge-pattern-ref.png => huge-pattern.ref.png} | Bin - ...s2-ref.png => image-surface-source.ps2.ref.png} | Bin - ...s3-ref.png => image-surface-source.ps3.ref.png} | Bin - ...source-ref.png => image-surface-source.ref.png} | Bin - ...-join-ps2-ref.png => infinite-join.ps2.ref.png} | Bin - ...-join-ps3-ref.png => infinite-join.ps3.ref.png} | Bin - ...infinite-join-ref.png => infinite-join.ref.png} | Bin - test/{large-clip-ref.png => large-clip.ref.png} | Bin - test/{large-font-ref.png => large-font.ref.png} | Bin - .../{large-source-ref.png => large-source.ref.png} | Bin - ...rgb32-ref.png => leaky-dash.ps2.argb32.ref.png} | Bin - ...-rgb24-ref.png => leaky-dash.ps2.rgb24.ref.png} | Bin - ...rgb32-ref.png => leaky-dash.ps3.argb32.ref.png} | Bin - ...-rgb24-ref.png => leaky-dash.ps3.rgb24.ref.png} | Bin - ...sh-quartz-ref.png => leaky-dash.quartz.ref.png} | Bin - test/{leaky-dash-ref.png => leaky-dash.ref.png} | Bin - ...-ref.png => leaky-dashed-rectangle.ps2.ref.png} | Bin - ...-ref.png => leaky-dashed-rectangle.ps3.ref.png} | Bin - ...ngle-ref.png => leaky-dashed-rectangle.ref.png} | Bin - ...ps2-ref.png => leaky-dashed-stroke.ps2.ref.png} | Bin - ...ps3-ref.png => leaky-dashed-stroke.ps3.ref.png} | Bin - ...-stroke-ref.png => leaky-dashed-stroke.ref.png} | Bin - ...lygon-ps2-ref.png => leaky-polygon.ps2.ref.png} | Bin - ...lygon-ps3-ref.png => leaky-polygon.ps3.ref.png} | Bin - ...leaky-polygon-ref.png => leaky-polygon.ref.png} | Bin - ...le-ps2-ref.png => line-width-scale.ps2.ref.png} | Bin - ...le-ps3-ref.png => line-width-scale.ps3.ref.png} | Bin - ...rtz-ref.png => line-width-scale.quartz.ref.png} | Bin - ...idth-scale-ref.png => line-width-scale.ref.png} | Bin - test/{line-width-ref.png => line-width.ref.png} | Bin - ... => linear-gradient-reflect.pdf.argb32.ref.png} | Bin - ...g => linear-gradient-reflect.pdf.rgb24.ref.png} | Bin - ...ref.png => linear-gradient-reflect.ps3.ref.png} | Bin - ....png => linear-gradient-reflect.quartz.ref.png} | Bin - ...ect-ref.png => linear-gradient-reflect.ref.png} | Bin - ...ent-pdf-ref.png => linear-gradient.pdf.ref.png} | Bin - ...ent-ps3-ref.png => linear-gradient.ps3.ref.png} | Bin - ...artz-ref.png => linear-gradient.quartz.ref.png} | Bin - ...ar-gradient-ref.png => linear-gradient.ref.png} | Bin - ...svg11-ref.png => linear-gradient.svg11.ref.png} | Bin - ...svg12-ref.png => linear-gradient.svg12.ref.png} | Bin - ...s-ps2-ref.png => long-dashed-lines.ps2.ref.png} | Bin - ...s-ps3-ref.png => long-dashed-lines.ps3.ref.png} | Bin - ...tz-ref.png => long-dashed-lines.quartz.ref.png} | Bin - ...hed-lines-ref.png => long-dashed-lines.ref.png} | Bin - test/{long-lines-ref.png => long-lines.ref.png} | Bin - ...32-ref.png => mask-alpha.quartz.argb32.ref.png} | Bin - test/{mask-alpha-ref.png => mask-alpha.ref.png} | Bin - ...lpha-rgb24-ref.png => mask-alpha.rgb24.ref.png} | Bin - ...b32-ref.png => mask-alpha.svg11.argb32.ref.png} | Bin - ...b32-ref.png => mask-alpha.svg12.argb32.ref.png} | Bin - test/{mask-ctm-ref.png => mask-ctm.ref.png} | Bin - ...sk-ctm-rgb24-ref.png => mask-ctm.rgb24.ref.png} | Bin - ...rgb32-ref.png => mask-ctm.svg11.argb32.ref.png} | Bin - ...rgb32-ref.png => mask-ctm.svg12.argb32.ref.png} | Bin - ...urface-ctm-ref.png => mask-surface-ctm.ref.png} | Bin - ...gb24-ref.png => mask-surface-ctm.rgb24.ref.png} | Bin - ...f.png => mask-surface-ctm.svg11.argb32.ref.png} | Bin - ...f.png => mask-surface-ctm.svg12.argb32.ref.png} | Bin - ...mage-ref.png => mask-transformed-image.ref.png} | Bin - ...ef.png => mask-transformed-similar.pdf.ref.png} | Bin - ...ar-ref.png => mask-transformed-similar.ref.png} | Bin - ....png => mask-transformed-similar.svg11.ref.png} | Bin - ....png => mask-transformed-similar.svg12.ref.png} | Bin - ...-pdf-argb32-ref.png => mask.pdf.argb32.ref.png} | Bin - ...sk-pdf-rgb24-ref.png => mask.pdf.rgb24.ref.png} | Bin - test/{mask-quartz-ref.png => mask.quartz.ref.png} | Bin - ...rtz-rgb24-ref.png => mask.quartz.rgb24.ref.png} | Bin - test/{mask-ref.png => mask.ref.png} | Bin - test/{mask-rgb24-ref.png => mask.rgb24.ref.png} | Bin - ...11-argb32-ref.png => mask.svg11.argb32.ref.png} | Bin - ...vg11-rgb24-ref.png => mask.svg11.rgb24.ref.png} | Bin - ...12-argb32-ref.png => mask.svg12.argb32.ref.png} | Bin - ...vg12-rgb24-ref.png => mask.svg12.rgb24.ref.png} | Bin - ...df-ref.png => meta-surface-pattern.pdf.ref.png} | Bin - ....png => meta-surface-pattern.pdf.rgb24.ref.png} | Bin - ...png => meta-surface-pattern.ps2.argb32.ref.png} | Bin - ....png => meta-surface-pattern.ps2.rgb24.ref.png} | Bin - ...png => meta-surface-pattern.ps3.argb32.ref.png} | Bin - ....png => meta-surface-pattern.ps3.rgb24.ref.png} | Bin - ...ref.png => meta-surface-pattern.quartz.ref.png} | Bin - ...g => meta-surface-pattern.quartz.rgb24.ref.png} | Bin - ...attern-ref.png => meta-surface-pattern.ref.png} | Bin - ...-ref.png => meta-surface-pattern.rgb24.ref.png} | Bin - ...g => meta-surface-pattern.svg11.argb32.ref.png} | Bin - ...ng => meta-surface-pattern.svg11.rgb24.ref.png} | Bin - ...g => meta-surface-pattern.svg12.argb32.ref.png} | Bin - ...ng => meta-surface-pattern.svg12.rgb24.ref.png} | Bin - ...ion-ps2-ref.png => miter-precision.ps2.ref.png} | Bin - ...ion-ps3-ref.png => miter-precision.ps3.ref.png} | Bin - ...r-precision-ref.png => miter-precision.ref.png} | Bin - ...urface-ref.png => move-to-show-surface.ref.png} | Bin - test/multi-page.c | 4 +- - ...b32-ref.png => new-sub-path.ps2.argb32.ref.png} | Bin - ...gb24-ref.png => new-sub-path.ps2.rgb24.ref.png} | Bin - ...b32-ref.png => new-sub-path.ps3.argb32.ref.png} | Bin - ...gb24-ref.png => new-sub-path.ps3.rgb24.ref.png} | Bin - ...-quartz-ref.png => new-sub-path.quartz.ref.png} | Bin - ...4-ref.png => new-sub-path.quartz.rgb24.ref.png} | Bin - .../{new-sub-path-ref.png => new-sub-path.ref.png} | Bin - ...th-rgb24-ref.png => new-sub-path.rgb24.ref.png} | Bin - test/{nil-surface-ref.png => nil-surface.ref.png} | Bin - ...ace-rgb24-ref.png => nil-surface.rgb24.ref.png} | Bin - ...erator-alpha-ref.png => operator-alpha.ref.png} | Bin - ...-rgb24-ref.png => operator-alpha.rgb24.ref.png} | Bin - ...2-ref.png => operator-clear.pdf.argb32.ref.png} | Bin - ...24-ref.png => operator-clear.pdf.rgb24.ref.png} | Bin - ...uartz-ref.png => operator-clear.quartz.ref.png} | Bin - ...ref.png => operator-clear.quartz.rgb24.ref.png} | Bin - ...erator-clear-ref.png => operator-clear.ref.png} | Bin - ...-rgb24-ref.png => operator-clear.rgb24.ref.png} | Bin - ...-ref.png => operator-source.pdf.argb32.ref.png} | Bin - ...4-ref.png => operator-source.pdf.rgb24.ref.png} | Bin - ...artz-ref.png => operator-source.quartz.ref.png} | Bin - ...ef.png => operator-source.quartz.rgb24.ref.png} | Bin - ...ator-source-ref.png => operator-source.ref.png} | Bin - ...rgb24-ref.png => operator-source.rgb24.ref.png} | Bin - test/{operator-ref.png => operator.ref.png} | Bin - ...erator-rgb24-ref.png => operator.rgb24.ref.png} | Bin - ...ef.png => over-above-source.ps2.argb32.ref.png} | Bin - ...ef.png => over-above-source.ps3.argb32.ref.png} | Bin - ...tz-ref.png => over-above-source.quartz.ref.png} | Bin - ....png => over-above-source.quartz.rgb24.ref.png} | Bin - ...ve-source-ref.png => over-above-source.ref.png} | Bin - ...b24-ref.png => over-above-source.rgb24.ref.png} | Bin - ...f.png => over-around-source.ps2.argb32.ref.png} | Bin - ...ef.png => over-around-source.ps2.rgb24.ref.png} | Bin - ...f.png => over-around-source.ps3.argb32.ref.png} | Bin - ...ef.png => over-around-source.ps3.rgb24.ref.png} | Bin - ...z-ref.png => over-around-source.quartz.ref.png} | Bin - ...png => over-around-source.quartz.rgb24.ref.png} | Bin - ...d-source-ref.png => over-around-source.ref.png} | Bin - ...24-ref.png => over-around-source.rgb24.ref.png} | Bin - ...ef.png => over-below-source.ps2.argb32.ref.png} | Bin - ...ef.png => over-below-source.ps3.argb32.ref.png} | Bin - ...ow-source-ref.png => over-below-source.ref.png} | Bin - ...b24-ref.png => over-below-source.rgb24.ref.png} | Bin - ....png => over-between-source.ps2.argb32.ref.png} | Bin - ....png => over-between-source.ps3.argb32.ref.png} | Bin - ...-ref.png => over-between-source.quartz.ref.png} | Bin - ...ng => over-between-source.quartz.rgb24.ref.png} | Bin - ...-source-ref.png => over-between-source.ref.png} | Bin - ...4-ref.png => over-between-source.rgb24.ref.png} | Bin - .../{paint-repeat-ref.png => paint-repeat.ref.png} | Bin - ...f.png => paint-source-alpha.pdf.argb32.ref.png} | Bin - ...-pdf-ref.png => paint-source-alpha.pdf.ref.png} | Bin - ...ce-alpha-ref.png => paint-source-alpha.ref.png} | Bin - ...11-ref.png => paint-source-alpha.svg11.ref.png} | Bin - ...12-ref.png => paint-source-alpha.svg12.ref.png} | Bin - ...ha-pdf-ref.png => paint-with-alpha.pdf.ref.png} | Bin - ...with-alpha-ref.png => paint-with-alpha.ref.png} | Bin - ...vg11-ref.png => paint-with-alpha.svg11.ref.png} | Bin - ...vg12-ref.png => paint-with-alpha.svg12.ref.png} | Bin - test/{paint-ref.png => paint.ref.png} | Bin - .../{pass-through-ref.png => pass-through.ref.png} | Bin - ...gh-rgb24-ref.png => pass-through.rgb24.ref.png} | Bin - ...ern-getters-ref.png => pattern-getters.ref.png} | Bin - test/pdf-features.c | 2 +- - test/pdf-surface-source.c | 2 +- - ...e-source-ref.png => pdf-surface-source.ref.png} | Bin - ...pixman-rotate-ref.png => pixman-rotate.ref.png} | Bin - ...e-rgb24-ref.png => pixman-rotate.rgb24.ref.png} | Bin - test/png.c | 2 +- - test/ps-features.c | 2 +- - test/ps-surface-source.c | 2 +- - ...ce-source-ref.png => ps-surface-source.ref.png} | Bin - ...sh-group-pdf-ref.png => push-group.pdf.ref.png} | Bin - ...-rgb24-ref.png => push-group.pdf.rgb24.ref.png} | Bin - test/{push-group-ref.png => push-group.ref.png} | Bin - ...roup-rgb24-ref.png => push-group.rgb24.ref.png} | Bin - ...b32-ref.png => push-group.svg11.argb32.ref.png} | Bin - ...b32-ref.png => push-group.svg12.argb32.ref.png} | Bin - ...ent-pdf-ref.png => radial-gradient.pdf.ref.png} | Bin - ...artz-ref.png => radial-gradient.quartz.ref.png} | Bin - ...al-gradient-ref.png => radial-gradient.ref.png} | Bin - ...svg11-ref.png => radial-gradient.svg11.ref.png} | Bin - ...svg12-ref.png => radial-gradient.svg12.ref.png} | Bin - ...s2-ref.png => random-intersections.ps2.ref.png} | Bin - ...s3-ref.png => random-intersections.ps3.ref.png} | Bin - ...ref.png => random-intersections.quartz.ref.png} | Bin - ...ctions-ref.png => random-intersections.ref.png} | Bin - ...or-ref.png => rectangle-rounding-error.ref.png} | Bin - ...inear-fill-ref.png => rectilinear-fill.ref.png} | Bin - ...ref.png => rectilinear-miter-limit.ps2.ref.png} | Bin - ...ref.png => rectilinear-miter-limit.ps3.ref.png} | Bin - ...mit-ref.png => rectilinear-miter-limit.ref.png} | Bin - ...r-stroke-ref.png => rectilinear-stroke.ref.png} | Bin - ...ke-ps2-ref.png => reflected-stroke.ps2.ref.png} | Bin - ...ke-ps3-ref.png => reflected-stroke.ps3.ref.png} | Bin - ...rtz-ref.png => reflected-stroke.quartz.ref.png} | Bin - ...ted-stroke-ref.png => reflected-stroke.ref.png} | Bin - ...s2-rgb24-ref.png => rel-path.ps2.rgb24.ref.png} | Bin - ...s3-rgb24-ref.png => rel-path.ps3.rgb24.ref.png} | Bin - ...path-quartz-ref.png => rel-path.quartz.ref.png} | Bin - ...rgb24-ref.png => rel-path.quartz.rgb24.ref.png} | Bin - test/{rel-path-ref.png => rel-path.ref.png} | Bin - ...l-path-rgb24-ref.png => rel-path.rgb24.ref.png} | Bin - ...re-alpha-ref.png => rgb24-ignore-alpha.ref.png} | Bin - ... rotate-image-surface-paint.pdf.argb32.ref.png} | Bin - ...> rotate-image-surface-paint.pdf.rgb24.ref.png} | Bin - ....png => rotate-image-surface-paint.ps2.ref.png} | Bin - ....png => rotate-image-surface-paint.ps3.ref.png} | Bin - ...g => rotate-image-surface-paint.quartz.ref.png} | Bin - ...-ref.png => rotate-image-surface-paint.ref.png} | Bin - ...ng => rotate-image-surface-paint.svg11.ref.png} | Bin - ...ng => rotate-image-surface-paint.svg12.ref.png} | Bin - ...png => scale-down-source-surface-paint.ref.png} | Bin - ... scale-source-surface-paint.pdf.argb32.ref.png} | Bin - ...> scale-source-surface-paint.pdf.rgb24.ref.png} | Bin - ...-ref.png => scale-source-surface-paint.ref.png} | Bin - ...ng => scale-source-surface-paint.rgb24.ref.png} | Bin - ...cale-source-surface-paint.svg11.argb32.ref.png} | Bin - ...scale-source-surface-paint.svg11.rgb24.ref.png} | Bin - ...cale-source-surface-paint.svg12.argb32.ref.png} | Bin - ...scale-source-surface-paint.svg12.rgb24.ref.png} | Bin - ...ce-ps2-ref.png => select-font-face.ps2.ref.png} | Bin - ...ce-ps3-ref.png => select-font-face.ps3.ref.png} | Bin - ...rtz-ref.png => select-font-face.quartz.ref.png} | Bin - ...-font-face-ref.png => select-font-face.ref.png} | Bin - ...y-overlap-ref.png => self-copy-overlap.ref.png} | Bin - ...b24-ref.png => self-copy-overlap.rgb24.ref.png} | Bin - ...self-copy-ps2-ref.png => self-copy.ps2.ref.png} | Bin - ...self-copy-ps3-ref.png => self-copy.ps3.ref.png} | Bin - test/{self-copy-ref.png => self-copy.ref.png} | Bin - ...ersecting-ref.png => self-intersecting.ref.png} | Bin - ...b24-ref.png => self-intersecting.rgb24.ref.png} | Bin - test/{set-source-ref.png => set-source.ref.png} | Bin - ...urce-rgb24-ref.png => set-source.rgb24.ref.png} | Bin - ...b32-ref.png => set-source.svg11.argb32.ref.png} | Bin - ...b32-ref.png => set-source.svg12.argb32.ref.png} | Bin - ...lyphs-many-ref.png => show-glyphs-many.ref.png} | Bin - ...ref.png => show-text-current-point.ps2.ref.png} | Bin - ...ref.png => show-text-current-point.ps3.ref.png} | Bin - ....png => show-text-current-point.quartz.ref.png} | Bin - ...int-ref.png => show-text-current-point.ref.png} | Bin - ...xtreme-ps2-ref.png => skew-extreme.ps2.ref.png} | Bin - ...xtreme-ps3-ref.png => skew-extreme.ps3.ref.png} | Bin - .../{skew-extreme-ref.png => skew-extreme.ref.png} | Bin - ...ask-fill-pdf-ref.png => smask-fill.pdf.ref.png} | Bin - test/{smask-fill-ref.png => smask-fill.ref.png} | Bin - ...fill-svg11-ref.png => smask-fill.svg11.ref.png} | Bin - ...fill-svg12-ref.png => smask-fill.svg12.ref.png} | Bin - ...sk-pdf-ref.png => smask-image-mask.pdf.ref.png} | Bin - ...image-mask-ref.png => smask-image-mask.ref.png} | Bin - ...ask-mask-pdf-ref.png => smask-mask.pdf.ref.png} | Bin - test/{smask-mask-ref.png => smask-mask.ref.png} | Bin - ...mask-svg11-ref.png => smask-mask.svg11.ref.png} | Bin - ...mask-svg12-ref.png => smask-mask.svg12.ref.png} | Bin - ...k-paint-pdf-ref.png => smask-paint.pdf.ref.png} | Bin - test/{smask-paint-ref.png => smask-paint.ref.png} | Bin - ...int-svg11-ref.png => smask-paint.svg11.ref.png} | Bin - ...int-svg12-ref.png => smask-paint.svg12.ref.png} | Bin - ...stroke-pdf-ref.png => smask-stroke.pdf.ref.png} | Bin - .../{smask-stroke-ref.png => smask-stroke.ref.png} | Bin - ...ask-text-pdf-ref.png => smask-text.pdf.ref.png} | Bin - ...ask-text-ps2-ref.png => smask-text.ps2.ref.png} | Bin - ...ask-text-ps3-ref.png => smask-text.ps3.ref.png} | Bin - test/{smask-text-ref.png => smask-text.ref.png} | Bin - ...text-svg11-ref.png => smask-text.svg11.ref.png} | Bin - ...text-svg12-ref.png => smask-text.svg12.ref.png} | Bin - test/{smask-pdf-ref.png => smask.pdf.ref.png} | Bin - test/{smask-ps2-ref.png => smask.ps2.ref.png} | Bin - test/{smask-ps3-ref.png => smask.ps3.ref.png} | Bin - test/{smask-ref.png => smask.ref.png} | Bin - test/{smask-svg11-ref.png => smask.svg11.ref.png} | Bin - test/{smask-svg12-ref.png => smask.svg12.ref.png} | Bin - ...-ref.png => solid-pattern-cache-stress.ref.png} | Bin - ...e-pdf-ref.png => source-clip-scale.pdf.ref.png} | Bin - ...ef.png => source-clip-scale.ps2.argb32.ref.png} | Bin - ...ref.png => source-clip-scale.ps2.rgb24.ref.png} | Bin - ...ef.png => source-clip-scale.ps3.argb32.ref.png} | Bin - ...ref.png => source-clip-scale.ps3.rgb24.ref.png} | Bin - ...tz-ref.png => source-clip-scale.quartz.ref.png} | Bin - ...lip-scale-ref.png => source-clip-scale.ref.png} | Bin - ...g11-ref.png => source-clip-scale.svg11.ref.png} | Bin - ...g12-ref.png => source-clip-scale.svg12.ref.png} | Bin - test/{source-clip-ref.png => source-clip.ref.png} | Bin - ...-ref.png => source-surface-scale-paint.ref.png} | Bin - ...ng => source-surface-scale-paint.rgb24.ref.png} | Bin - ...df-ref.png => spline-decomposition.pdf.ref.png} | Bin - ...s2-ref.png => spline-decomposition.ps2.ref.png} | Bin - ...s3-ref.png => spline-decomposition.ps3.ref.png} | Bin - ...sition-ref.png => spline-decomposition.ref.png} | Bin - ...-ref.png => spline-decomposition.svg11.ref.png} | Bin - ...-ref.png => spline-decomposition.svg12.ref.png} | Bin - ...aps-ps2-ref.png => stroke-ctm-caps.ps2.ref.png} | Bin - ...aps-ps3-ref.png => stroke-ctm-caps.ps3.ref.png} | Bin - ...artz-ref.png => stroke-ctm-caps.quartz.ref.png} | Bin - ...ke-ctm-caps-ref.png => stroke-ctm-caps.ref.png} | Bin - ...-image-pdf-ref.png => stroke-image.pdf.ref.png} | Bin - ...-image-ps2-ref.png => stroke-image.ps2.ref.png} | Bin - ...-image-ps3-ref.png => stroke-image.ps3.ref.png} | Bin - ...-quartz-ref.png => stroke-image.quartz.ref.png} | Bin - .../{stroke-image-ref.png => stroke-image.ref.png} | Bin - ....png => surface-pattern-big-scale-down.ref.png} | Bin - ... surface-pattern-scale-down.pdf.argb32.ref.png} | Bin - ...> surface-pattern-scale-down.pdf.rgb24.ref.png} | Bin - ....png => surface-pattern-scale-down.ps2.ref.png} | Bin - ....png => surface-pattern-scale-down.ps3.ref.png} | Bin - ...g => surface-pattern-scale-down.quartz.ref.png} | Bin - ...-ref.png => surface-pattern-scale-down.ref.png} | Bin - ...=> surface-pattern-scale-up.pdf.argb32.ref.png} | Bin - ... => surface-pattern-scale-up.pdf.rgb24.ref.png} | Bin - ...ef.png => surface-pattern-scale-up.ps2.ref.png} | Bin - ...ef.png => surface-pattern-scale-up.ps3.ref.png} | Bin - ...up-ref.png => surface-pattern-scale-up.ref.png} | Bin - ...ern-pdf-ref.png => surface-pattern.pdf.ref.png} | Bin - ...ern-ps2-ref.png => surface-pattern.ps2.ref.png} | Bin - ...ern-ps3-ref.png => surface-pattern.ps3.ref.png} | Bin - ...ace-pattern-ref.png => surface-pattern.ref.png} | Bin - ...svg11-ref.png => surface-pattern.svg11.ref.png} | Bin - ...svg12-ref.png => surface-pattern.svg12.ref.png} | Bin - test/svg-clip.c | 2 +- - test/svg-surface-source.c | 2 +- - ...e-source-ref.png => svg-surface-source.ref.png} | Bin - test/svg-surface.c | 2 +- - ...-ref.png => text-antialias-gray.quartz.ref.png} | Bin - ...as-gray-ref.png => text-antialias-gray.ref.png} | Bin - ...-ref.png => text-antialias-none.quartz.ref.png} | Bin - ...as-none-ref.png => text-antialias-none.ref.png} | Bin - ....png => text-antialias-subpixel.quartz.ref.png} | Bin - ...xel-ref.png => text-antialias-subpixel.ref.png} | Bin - ...ge-ps2-ref.png => text-glyph-range.ps2.ref.png} | Bin - ...ge-ps3-ref.png => text-glyph-range.ps3.ref.png} | Bin - ...lyph-range-ref.png => text-glyph-range.ref.png} | Bin - ...b32-ref.png => text-pattern.pdf.argb32.ref.png} | Bin - ...gb24-ref.png => text-pattern.pdf.rgb24.ref.png} | Bin - ...b32-ref.png => text-pattern.ps3.argb32.ref.png} | Bin - ...gb24-ref.png => text-pattern.ps3.rgb24.ref.png} | Bin - ...-quartz-ref.png => text-pattern.quartz.ref.png} | Bin - ...4-ref.png => text-pattern.quartz.rgb24.ref.png} | Bin - .../{text-pattern-ref.png => text-pattern.ref.png} | Bin - ...rn-rgb24-ref.png => text-pattern.rgb24.ref.png} | Bin - ...2-ref.png => text-pattern.svg11.argb32.ref.png} | Bin - ...24-ref.png => text-pattern.svg11.rgb24.ref.png} | Bin - ...2-ref.png => text-pattern.svg12.argb32.ref.png} | Bin - ...24-ref.png => text-pattern.svg12.rgb24.ref.png} | Bin - ...-rotate-pdf-ref.png => text-rotate.pdf.ref.png} | Bin - ...-rotate-ps2-ref.png => text-rotate.ps2.ref.png} | Bin - ...-rotate-ps3-ref.png => text-rotate.ps3.ref.png} | Bin - ...e-quartz-ref.png => text-rotate.quartz.ref.png} | Bin - test/{text-rotate-ref.png => text-rotate.ref.png} | Bin - ...ate-svg11-ref.png => text-rotate.svg11.ref.png} | Bin - ...ate-svg12-ref.png => text-rotate.svg12.ref.png} | Bin - ...form-pdf-ref.png => text-transform.pdf.ref.png} | Bin - ...form-ps2-ref.png => text-transform.ps2.ref.png} | Bin - ...form-ps3-ref.png => text-transform.ps3.ref.png} | Bin - ...xt-transform-ref.png => text-transform.ref.png} | Bin - ...ansforms-ps2-ref.png => transforms.ps2.ref.png} | Bin - ...ansforms-ps3-ref.png => transforms.ps3.ref.png} | Bin - test/{transforms-ref.png => transforms.ref.png} | Bin - ...face-ref.png => translate-show-surface.ref.png} | Bin - ...argb32-ref.png => trap-clip.pdf.argb32.ref.png} | Bin - ...f-rgb24-ref.png => trap-clip.pdf.rgb24.ref.png} | Bin - ...argb32-ref.png => trap-clip.ps2.argb32.ref.png} | Bin - ...2-rgb24-ref.png => trap-clip.ps2.rgb24.ref.png} | Bin - ...argb32-ref.png => trap-clip.ps3.argb32.ref.png} | Bin - ...3-rgb24-ref.png => trap-clip.ps3.rgb24.ref.png} | Bin - ...lip-quartz-ref.png => trap-clip.quartz.ref.png} | Bin - ...gb24-ref.png => trap-clip.quartz.rgb24.ref.png} | Bin - test/{trap-clip-ref.png => trap-clip.ref.png} | Bin - ...-clip-rgb24-ref.png => trap-clip.rgb24.ref.png} | Bin - test/{twin-ps2-ref.png => twin.ps2.ref.png} | Bin - test/{twin-ps3-ref.png => twin.ps3.ref.png} | Bin - test/{twin-ref.png => twin.ref.png} | Bin - test/{twin-svg11-ref.png => twin.svg11.ref.png} | Bin - test/{twin-svg12-ref.png => twin.svg12.ref.png} | Bin - ...ref.png => unantialiased-shapes.quartz.ref.png} | Bin - ...shapes-ref.png => unantialiased-shapes.ref.png} | Bin - ...z-ref.png => unbounded-operator.quartz.ref.png} | Bin - ...png => unbounded-operator.quartz.rgb24.ref.png} | Bin - ...operator-ref.png => unbounded-operator.ref.png} | Bin - ...24-ref.png => unbounded-operator.rgb24.ref.png} | Bin - ...mask-pdf-ref.png => user-font-mask.pdf.ref.png} | Bin - ...mask-ps2-ref.png => user-font-mask.ps2.ref.png} | Bin - ...mask-ps3-ref.png => user-font-mask.ps3.ref.png} | Bin - ...er-font-mask-ref.png => user-font-mask.ref.png} | Bin - ...-svg11-ref.png => user-font-mask.svg11.ref.png} | Bin - ...oxy-pdf-ref.png => user-font-proxy.pdf.ref.png} | Bin - ...oxy-ps2-ref.png => user-font-proxy.ps2.ref.png} | Bin - ...oxy-ps3-ref.png => user-font-proxy.ps3.ref.png} | Bin - ...-font-proxy-ref.png => user-font-proxy.ref.png} | Bin - ...svg11-ref.png => user-font-proxy.svg11.ref.png} | Bin - ...svg12-ref.png => user-font-proxy.svg12.ref.png} | Bin - ...e-ps2-ref.png => user-font-rescale.ps2.ref.png} | Bin - ...e-ps3-ref.png => user-font-rescale.ps3.ref.png} | Bin - ...t-rescale-ref.png => user-font-rescale.ref.png} | Bin - ...g11-ref.png => user-font-rescale.svg11.ref.png} | Bin - ...g12-ref.png => user-font-rescale.svg12.ref.png} | Bin - ...user-font-ps2-ref.png => user-font.ps2.ref.png} | Bin - ...user-font-ps3-ref.png => user-font.ps3.ref.png} | Bin - test/{user-font-ref.png => user-font.ref.png} | Bin - ...-font-svg11-ref.png => user-font.svg11.ref.png} | Bin - ...-font-svg12-ref.png => user-font.svg12.ref.png} | Bin - test/xlib-expose-event.c | 4 +- - ...ose-event-ref.png => xlib-expose-event.ref.png} | Bin - ...ps2-ref.png => xlib-surface-source.ps2.ref.png} | Bin - ...ps3-ref.png => xlib-surface-source.ps3.ref.png} | Bin - ...-source-ref.png => xlib-surface-source.ref.png} | Bin - test/{zero-alpha-ref.png => zero-alpha.ref.png} | Bin - 715 files changed, 782 insertions(+), 752 deletions(-) - -commit e90073f7ddc6f461a935bc360c409b04f1fe9f74 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Sep 3 16:38:03 2008 +0100 - - [test] Build test suite into single binary. - - Avoid calling libtool to link every single test case, by building just one - binary from all the sources. - - This binary is then given the task of choosing tests to run (based on user - selection and individual test requirement), forking each test into its own - process and accumulating the results. - - Makefile.am | 1 + - boilerplate/cairo-boilerplate.c | 658 +++++++++------- - boilerplate/cairo-boilerplate.h | 1 + - build/configure.ac.noversion | 12 + - build/configure.ac.system | 57 ++ - build/configure.ac.version | 8 - - configure.ac | 16 + - doc/public/tmpl/cairo-surface.sgml | 1 + - test/.gitignore | 237 +----- - test/Makefile.am | 572 +++++++------- - test/README | 28 +- - test/a1-image-sample.c | 20 +- - test/a1-mask.c | 38 +- - test/a1-traps-sample.c | 20 +- - test/a8-mask.c | 37 +- - test/alpha-similar.c | 23 +- - test/big-line.c | 22 +- - test/big-trap.c | 22 +- - test/bilevel-image.c | 20 +- - test/bitmap-font.c | 22 +- - test/cairo-test-private.h | 74 ++ - test/cairo-test-runner.c | 907 ++++++++++++++++++++++ - test/cairo-test.c | 594 +++++++------- - test/cairo-test.h | 99 ++- - test/caps-joins-alpha.c | 26 +- - test/caps-joins.c | 27 +- - test/caps-sub-paths.c | 21 +- - test/clip-all.c | 21 +- - test/clip-empty.c | 20 +- - test/clip-fill-rule-pixel-aligned.c | 22 +- - test/clip-fill-rule.c | 20 +- - test/clip-nesting.c | 20 +- - test/clip-operator.c | 21 +- - test/clip-push-group.c | 20 +- - test/clip-twice.c | 20 +- - test/clip-zero.c | 20 +- - test/clipped-group.c | 20 +- - test/clipped-surface.c | 19 +- - test/close-path.c | 18 +- - test/composite-integer-translate-over-repeat.c | 20 +- - test/composite-integer-translate-over.c | 22 +- - test/composite-integer-translate-source.c | 22 +- - test/copy-path.c | 33 +- - test/create-for-stream.c | 53 +- - test/create-from-png-stream.c | 20 +- - test/create-from-png.c | 82 +- - test/dash-caps-joins.c | 26 +- - test/dash-curve.c | 20 +- - test/dash-no-dash.c | 20 +- - test/dash-offset-negative.c | 20 +- - test/dash-scale.c | 26 +- - test/dash-state.c | 22 +- - test/dash-zero-length.c | 20 +- - test/degenerate-arc.c | 20 +- - test/degenerate-dash.c | 20 +- - test/degenerate-path.c | 21 +- - test/degenerate-pen.c | 20 +- - test/device-offset-fractional.c | 20 +- - test/device-offset-positive.c | 20 +- - test/device-offset-scale.c | 21 +- - test/device-offset.c | 20 +- - test/extend-pad.c | 20 +- - test/extend-reflect-similar.c | 22 +- - test/extend-reflect.c | 22 +- - test/extend-repeat-similar.c | 22 +- - test/extend-repeat.c | 22 +- - test/fallback-resolution.c | 28 +- - test/fill-alpha-pattern.c | 20 +- - test/fill-alpha.c | 20 +- - test/fill-and-stroke-alpha-add.c | 20 +- - test/fill-and-stroke-alpha.c | 20 +- - test/fill-and-stroke.c | 20 +- - test/fill-degenerate-sort-order.c | 20 +- - test/fill-missed-stop.c | 19 +- - test/fill-rule.c | 20 +- - test/filter-bilinear-extents.c | 22 +- - test/filter-nearest-offset.c | 21 +- - test/filter-nearest-transformed.c | 19 +- - test/finer-grained-fallbacks.c | 20 +- - test/font-face-get-type.c | 28 +- - test/font-matrix-translation.c | 20 +- - test/font-options.c | 17 +- - test/ft-font-create-for-ft-face.c | 21 +- - test/ft-show-glyphs-positioning.c | 20 +- - test/ft-show-glyphs-table.c | 21 +- - test/ft-text-antialias-none.c | 20 +- - test/ft-text-vertical-layout-type1.c | 23 +- - test/ft-text-vertical-layout-type3.c | 20 +- - test/get-and-set.c | 20 +- - test/get-clip.c | 21 +- - test/get-group-target.c | 20 +- - test/get-path-extents.c | 20 +- - test/get-xrender-format.c | 35 +- - test/glyph-cache-pressure.c | 20 +- - test/gradient-alpha.c | 20 +- - test/gradient-constant-alpha.c | 20 +- - test/gradient-zero-stops.c | 22 +- - test/group-paint.c | 20 +- - test/huge-pattern.c | 21 +- - test/image-surface-source.c | 8 +- - test/in-fill-empty-trapezoid.c | 24 +- - test/in-fill-trapezoid.c | 20 +- - test/infinite-join.c | 22 +- - test/invalid-matrix.c | 20 +- - test/large-clip.c | 22 +- - test/large-font.c | 22 +- - test/large-source.c | 20 +- - test/leaky-dash.c | 22 +- - test/leaky-dashed-rectangle.c | 20 +- - test/leaky-dashed-stroke.c | 20 +- - test/leaky-polygon.c | 20 +- - test/line-width-scale.c | 20 +- - test/line-width-zero.c | 20 +- - test/line-width.c | 20 +- - test/linear-gradient-reflect.c | 21 +- - test/linear-gradient.c | 20 +- - test/long-dashed-lines.c | 20 +- - test/long-lines.c | 24 +- - test/make-cairo-test-constructors.pl | 18 + - test/mask-alpha.c | 20 +- - test/mask-ctm.c | 21 +- - test/mask-surface-ctm.c | 20 +- - test/mask-transformed-image.c | 19 +- - test/mask-transformed-similar.c | 19 +- - test/mask.c | 23 +- - test/meta-surface-pattern.c | 20 +- - test/miter-precision.c | 22 +- - test/move-to-show-surface.c | 20 +- - test/multi-page.c | 30 +- - test/new-sub-path.c | 22 +- - test/nil-surface.c | 20 +- - test/operator-alpha.c | 21 +- - test/operator-clear.c | 20 +- - test/operator-source.c | 20 +- - test/operator.c | 21 +- - test/over-above-source.c | 20 +- - test/over-around-source.c | 20 +- - test/over-below-source.c | 20 +- - test/over-between-source.c | 20 +- - test/paint-repeat.c | 20 +- - test/paint-source-alpha.c | 20 +- - test/paint-with-alpha.c | 20 +- - test/paint.c | 20 +- - test/pattern-get-type.c | 21 +- - test/pattern-getters.c | 20 +- - test/pdf-features.c | 31 +- - test/pdf-surface-source.c | 10 +- - test/pixman-rotate.c | 20 +- - test/png.c | 56 +- - test/ps-features.c | 29 +- - test/ps-surface-source.c | 10 +- - test/pthread-show-text.c | 41 +- - test/push-group.c | 20 +- - test/radial-gradient.c | 22 +- - test/random-intersections.c | 21 +- - test/rectangle-rounding-error.c | 22 +- - test/rectilinear-fill.c | 20 +- - test/rectilinear-miter-limit.c | 20 +- - test/rectilinear-stroke.c | 21 +- - test/reflected-stroke.c | 21 +- - test/rel-path.c | 20 +- - test/rgb24-ignore-alpha.c | 20 +- - test/rotate-image-surface-paint.c | 22 +- - test/scale-down-source-surface-paint.c | 20 +- - test/scale-source-surface-paint.c | 20 +- - test/select-font-face.c | 28 +- - test/select-font-no-show-text.c | 20 +- - test/self-copy-overlap.c | 22 +- - test/self-copy.c | 20 +- - test/self-intersecting.c | 22 +- - test/set-source.c | 20 +- - test/show-glyphs-many.c | 20 +- - test/show-text-current-point.c | 22 +- - test/skew-extreme.c | 20 +- - test/smask-fill.c | 20 +- - test/smask-image-mask.c | 20 +- - test/smask-mask.c | 20 +- - test/smask-paint.c | 20 +- - test/smask-stroke.c | 20 +- - test/smask-text.c | 20 +- - test/smask.c | 20 +- - test/solid-pattern-cache-stress.c | 20 +- - test/source-clip-scale.c | 20 +- - test/source-clip.c | 20 +- - test/source-surface-scale-paint.c | 20 +- - test/spline-decomposition.c | 20 +- - test/stroke-ctm-caps.c | 20 +- - test/stroke-image.c | 20 +- - test/surface-finish-twice.c | 20 +- - test/surface-pattern-big-scale-down.c | 20 +- - test/surface-pattern-scale-down-pdf-rgb24-ref.png | Bin 0 -> 2386 bytes - test/surface-pattern-scale-down.c | 21 +- - test/surface-pattern-scale-up.c | 21 +- - test/surface-pattern.c | 24 +- - test/surface-source.c | 15 +- - test/svg-clip.c | 26 +- - test/svg-surface-source.c | 11 +- - test/svg-surface.c | 26 +- - test/text-antialias-gray.c | 20 +- - test/text-antialias-none.c | 20 +- - test/text-antialias-subpixel.c | 20 +- - test/text-cache-crash.c | 40 +- - test/text-glyph-range-ps2-ref.png | Bin 0 -> 1389 bytes - test/text-glyph-range-ps3-ref.png | Bin 0 -> 1389 bytes - test/text-glyph-range-ref.png | Bin 1810 -> 2211 bytes - test/text-glyph-range-rgb24-ref.png | Bin 1645 -> 0 bytes - test/text-glyph-range.c | 62 +- - test/text-pattern.c | 54 +- - test/text-rotate.c | 22 +- - test/text-transform.c | 22 +- - test/text-zero-len.c | 20 +- - test/toy-font-face.c | 16 +- - test/transforms.c | 20 +- - test/translate-show-surface.c | 20 +- - test/trap-clip.c | 22 +- - test/truetype-tables.c | 18 +- - test/twin.c | 20 +- - test/unantialiased-shapes.c | 20 +- - test/unbounded-operator.c | 20 +- - test/user-data.c | 17 +- - test/user-font-mask.c | 28 +- - test/user-font-proxy.c | 28 +- - test/user-font-rescale.c | 20 +- - test/user-font.c | 28 +- - test/xlib-expose-event.c | 28 +- - test/xlib-surface-source.c | 8 +- - test/xlib-surface.c | 36 +- - test/zero-alpha.c | 20 +- - 228 files changed, 3770 insertions(+), 4123 deletions(-) - -commit 8457972d40088cda165f31fdd7bd9b4c19c6e095 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 31 02:16:54 2008 +0000 - - [type3] Whitespace. - - Tightly scope the output stream. - - src/cairo-type3-glyph-surface.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 08f4d49a9464bc19bc2ca7f2356a6eb8d62f5daf -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 31 02:03:41 2008 +0000 - - [xlib] Intialise clip_dirty. - - Eeek, forgot to set the clip_dirty to 0 on construction. - - src/cairo-xlib-surface.c | 1 + - 1 file changed, 1 insertion(+) - -commit b722d5b2b988d43931648d8377a9433d75f7d95f -Merge: 05fce5bce 710f7d30d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 31 02:24:25 2008 +0000 - - Merge branch '1.8' - -commit 710f7d30d348517602293f123525aef7677d69cf -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 31 02:14:53 2008 +0000 - - [scaled-font] Fix typo that prevented meta_surface lookup. - - test/text-glyph-range was crashing since we requested the meta_surface but - the glyph wrongly believed it already had the meta_surface but was - checking for a path instead. - - src/cairo-scaled-font.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 05fce5bced9718ffa803f5a87df00f96809d1f53 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sat Apr 5 13:32:51 2008 +1030 - - PS/PDF: Set image Interpolation flag - - If the filter mode is anything other than DEFAILT, FAST or NEAREST set the - Interpolate flag in the image dictionary so that a smoothing filter is - applied when rasterising the vector file. - - As we have no control over the implementation of the Interpolate filter - (the PS/PDF specifications leave it undefined) we need to capture the - output of poppler/GS and update our reference images. (For a couple of - tests, the filtering is irrelevant so for those we set the filter to - NEAREST.) - - Note that GhostScript's Interpolate filter does not work on rotated images - (and a variety of other transformations) so several of the PS reference - images have use nearest-neighbour sampling instead of a bilinear filter. - - src/cairo-pdf-surface.c | 28 +++++++++-- - src/cairo-ps-surface.c | 28 +++++++++-- - test/Makefile.am | 54 +++++++++++++++------ - test/bilevel-image.c | 1 + - test/composite-integer-translate-over-ps2-ref.png | Bin 0 -> 15783 bytes - test/composite-integer-translate-over-ps3-ref.png | Bin 0 -> 15783 bytes - ...osite-integer-translate-over-repeat-ps2-ref.png | Bin 0 -> 448 bytes - ...osite-integer-translate-over-repeat-ps3-ref.png | Bin 0 -> 448 bytes - .../composite-integer-translate-source-ps2-ref.png | Bin 0 -> 15783 bytes - .../composite-integer-translate-source-ps3-ref.png | Bin 0 -> 15783 bytes - test/create-from-png-stream.c | 1 + - test/create-from-png.c | 1 + - test/device-offset-fractional-ps2-ref.png | Bin 201 -> 200 bytes - test/device-offset-fractional-ps3-ref.png | Bin 201 -> 200 bytes - test/extend-reflect-ps2-ref.png | Bin 153322 -> 146990 bytes - test/extend-reflect-ps3-ref.png | Bin 153322 -> 146990 bytes - test/extend-reflect-similar-ps2-ref.png | Bin 153322 -> 146990 bytes - test/extend-reflect-similar-ps3-ref.png | Bin 153322 -> 146990 bytes - test/extend-repeat-ps2-ref.png | Bin 0 -> 119246 bytes - test/extend-repeat-ps3-ref.png | Bin 0 -> 119246 bytes - test/extend-repeat-similar-ps2-ref.png | Bin 0 -> 119246 bytes - test/extend-repeat-similar-ps3-ref.png | Bin 0 -> 119246 bytes - test/filter-bilinear-extents-ps2-ref.png | Bin 173 -> 556 bytes - test/filter-bilinear-extents-ps3-ref.png | Bin 173 -> 556 bytes - test/image-surface-source-ps2-ref.png | Bin 0 -> 376 bytes - test/image-surface-source-ps3-ref.png | Bin 0 -> 376 bytes - test/image-surface-source-ref.png | Bin 268 -> 332 bytes - test/stroke-image-ps2-ref.png | Bin 1786 -> 2121 bytes - test/stroke-image-ps3-ref.png | Bin 1786 -> 2121 bytes - test/surface-pattern-pdf-argb32-ref.png | Bin 14880 -> 0 bytes - test/surface-pattern-pdf-ref.png | Bin 0 -> 15996 bytes - test/surface-pattern-ps2-argb32-ref.png | Bin 2520 -> 0 bytes - test/surface-pattern-ps2-ref.png | Bin 0 -> 2364 bytes - test/surface-pattern-ps3-argb32-ref.png | Bin 2520 -> 0 bytes - test/surface-pattern-ps3-ref.png | Bin 0 -> 2364 bytes - test/surface-pattern-scale-down-pdf-argb32-ref.png | Bin 1565 -> 2386 bytes - test/surface-pattern-scale-down-ps2-argb32-ref.png | Bin 1400 -> 0 bytes - test/surface-pattern-scale-down-ps2-ref.png | Bin 0 -> 1324 bytes - test/surface-pattern-scale-down-ps3-argb32-ref.png | Bin 1400 -> 0 bytes - test/surface-pattern-scale-down-ps3-ref.png | Bin 0 -> 1324 bytes - test/surface-pattern-scale-down.c | 3 +- - test/surface-pattern-scale-up-pdf-argb32-ref.png | Bin 3886 -> 4247 bytes - test/surface-pattern-scale-up-pdf-rgb24-ref.png | Bin 0 -> 4247 bytes - test/surface-pattern-scale-up-ps2-argb32-ref.png | Bin 1011 -> 0 bytes - test/surface-pattern-scale-up-ps2-ref.png | Bin 0 -> 943 bytes - test/surface-pattern-scale-up-ps3-argb32-ref.png | Bin 1011 -> 0 bytes - test/surface-pattern-scale-up-ps3-ref.png | Bin 0 -> 943 bytes - test/surface-pattern-scale-up-ref.png | Bin 3825 -> 4061 bytes - test/surface-pattern-scale-up.c | 6 ++- - test/surface-pattern.c | 6 ++- - test/xlib-surface-source-ps2-ref.png | Bin 0 -> 376 bytes - test/xlib-surface-source-ps3-ref.png | Bin 0 -> 376 bytes - 52 files changed, 98 insertions(+), 30 deletions(-) - -commit 2c53bdb82a955c672c8fee2b1b4c991af2654ae0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Sep 29 21:12:53 2008 +0100 - - [paginated] Emit fallback images using FILTER_NEAREST. - - Fallback images should (in theory) be emitted at native resolution, so - disable filtering to avoid introducing potential artifacts into cairo's - ideal output. - - src/cairo-paginated-surface.c | 13 ++++++++----- - 1 file changed, 8 insertions(+), 5 deletions(-) - -commit f03d3f9f7f923730cdc4c5f21364f752f705086a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 30 19:24:29 2008 +0000 - - [boilerplate] Remove #if VERSION>1.9.0 - - Remove the obsolete #if statement. - - boilerplate/cairo-boilerplate.c | 2 -- - 1 file changed, 2 deletions(-) - -commit ef98eb26f7484019b023cd4c93dce44f23e3a594 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 30 19:23:17 2008 +0000 - - [test] Reenable device offset testing. - - Restore device offset testing that was temporarily disable in the run up - to the 1.8 release. - - test/cairo-test.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4f2f46ef1bd793a712df045178b3d00d027e3ba6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 30 19:14:07 2008 +0000 - - Restore the ability to choose the internal font. - - Behdad wants to include the feature with 1.10, so we enable it as early as - possible in 1.9 dev cycle to generate as much feedback as possible. - - The first change is to use "<cairo>" as being a name unlikely to clash - with any real font names. - - This reverts commits: - a824d284be23793a5c48b9ae833dcb7b2d5fff80, - 292233685534aed712dfd45e8ccf498b792ce496, - e0046aaf417a61da008dc6374871fa3687ba94ab, - f534bd549e1e2283735d1eabb60c015a5949a735. - - perf/Makefile.am | 1 + - perf/cairo-perf.c | 1 + - perf/cairo-perf.h | 1 + - perf/twin.c | 50 ++++++++++++++++++++++++++++++++++++++++ - src/cairo-font-face.c | 6 +++-- - src/cairoint.h | 1 + - test/.gitignore | 1 + - test/Makefile.am | 6 +++++ - test/twin-ps2-ref.png | Bin 0 -> 1167 bytes - test/twin-ps3-ref.png | Bin 0 -> 1167 bytes - test/twin-ref.png | Bin 0 -> 1836 bytes - test/twin-svg11-ref.png | Bin 0 -> 1773 bytes - test/twin-svg12-ref.png | Bin 0 -> 1773 bytes - test/twin.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++ - 14 files changed, 125 insertions(+), 2 deletions(-) - -commit 52c3fc58b52c77282998f9ad75657a6bec5956f8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 8 13:04:37 2008 +0100 - - [tessellator] Simplify dequeuing by using a sentinel value. - - Instead of maintaining an index and comparing it to the count, just mark - the last startstop event with NULL and stop dequeuing events upon seeing - that sentinel value. (Removes an unreadable line, and cachegrind hints - that it may be a tiny bit faster.) - - src/cairo-bentley-ottmann.c | 32 ++++++++++++++++---------------- - 1 file changed, 16 insertions(+), 16 deletions(-) - -commit ef9e0a5d1d74ac92a1fcde5a657c866a8e6509e6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 7 22:09:37 2008 +0100 - - [tessellator] Use a combsort for sorting the event queue. - - In my experiments using cairo-perf, the inlined combsort is ~20% quicker - than the library qsort. - - src/Makefile.sources | 1 + - src/cairo-bentley-ottmann.c | 39 ++++++++++++------------ - src/cairo-combsort-private.h | 71 ++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 92 insertions(+), 19 deletions(-) - -commit b1461308416fa83d1de0016a9d4804b68a1f1d8f -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Thu Oct 30 14:18:18 2008 -0400 - - [Makefile.am.releasing] Symlink /manual and /cairo-manual.tar.gz only for releases - - And not for snapshots. Also symlink /cairo-manual-X.Y.Z.tar.gz for all - versions. - - build/Makefile.am.releasing | 13 +++++++++++-- - 1 file changed, 11 insertions(+), 2 deletions(-) - -commit e3a7f522a6b96729b2a0122f8c430c24dc17fc5a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 7 23:33:32 2008 +0100 - - [tessellator] Perform cheap checks before computing intersect. - - First check if we can reject the intersection without having to perform - the full divides, based on analysing: - t * (ady*bdx - bdy*adx) = bdy * (ax - bx) - bdx * (ay - by) - s * (ady*bdx - bdy*adx) = ady * (ax - bx) - adx * (ay - by) - and excluding the result if by inspection we know that - (s, t) <= 0 || (s, t) => 1. - - Doing so virtually eliminates all division and speeds up the strokes (when - performing self-intersection elimination using the tessellator) perf cases - by about 5%. - - src/cairo-bentley-ottmann.c | 51 ++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 50 insertions(+), 1 deletion(-) - -commit 553fde4bb3e913de7e26bf416166d69bae4d02e1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Oct 4 13:15:08 2008 +0100 - - [tessellator] Simplify special cases of edges to compare. - - Use our prior knowledge of the inputs and trivial conditions to simplify - the edge equations and in many common conditions, such as vertical edges - and common points, reduce the operations down to a just returning the - non-degenerate 32 bit value. This adds an overhead of a few conditionals, - but on the fast paths we actually generate fewer branches and many fewer - arithmetic operations such that it improves performance of the fill - performance tests by around 10%. - - src/cairo-bentley-ottmann.c | 132 +++++++++++++++++++++++++++++++++++--------- - 1 file changed, 106 insertions(+), 26 deletions(-) - -commit cc109df2a70e953d71e3e6fc4e6e54cce4ba0d47 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 30 15:50:20 2008 +0000 - - [test] Update .gitignore - - Add a couple of new programs to gitignore. - - test/.gitignore | 2 ++ - 1 file changed, 2 insertions(+) - -commit 7d546bba213c3b89404bb3c58a5665343abfcd51 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 29 15:46:10 2008 +0000 - - [xlib] Eliminate shadowed variable. - - Cleanup a minor -Wshadow warning. - - src/cairo-xlib-surface.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit e3388b8180e38f79e0d5b66cc640c3d5c37db2a8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 29 15:45:09 2008 +0000 - - [cff-subset] Eliminate shadowed variable. - - Cleanup a minor -Wshadow warning. - - src/cairo-cff-subset.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 3e18114aff21acfa73a7d13a419719375ae9b5a6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 29 15:43:23 2008 +0000 - - [user-font] Eliminate shadowed variable - - Cleanup a minor -Wshadow warning. - - src/cairo-user-font.c | 1 - - 1 file changed, 1 deletion(-) - -commit d073537e82b57738068a7e1cf1d36ce452876804 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 29 15:41:44 2008 +0000 - - [scaled-font] Eliminate shadowed variable. - - Cleanup a minor -Wshadow warning. - - src/cairo-scaled-font.c | 1 - - 1 file changed, 1 deletion(-) - -commit 6429e3f39468ef4f865681b3b5988d35906deeb0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 28 17:38:09 2008 +0000 - - [xlib] Only set Picture clip as necessary. - - Only set ClipRectangles on a new Picture, avoiding redundant calls to - clear the non-existent ClipMask otherwise. - - src/cairo-xlib-surface.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit cd45258c5bf6a06f7bd3f2bfaf928e423a9b70e1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 28 16:54:10 2008 +0000 - - [xlib] Only clear the GC clip mask as necessary. - - Avoid redundant calls to XSetClipMask() for clean GCs. - - src/cairo-xlib-private.h | 10 ++++++++-- - src/cairo-xlib-screen.c | 8 ++++++-- - src/cairo-xlib-surface.c | 7 ++++--- - 3 files changed, 18 insertions(+), 7 deletions(-) - -commit d384f864992fbf7513446a70158135a08e704678 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 28 16:33:51 2008 +0000 - - [xlib] Propagate real status from get_screen_info(). - - Return the real error from _cairo_xlib_screen_info_get() in order to avoid - having to create a fake NO_MEMORY error. - - src/cairo-xlib-private.h | 6 +++-- - src/cairo-xlib-screen.c | 66 +++++++++++++++++++++++++++--------------------- - src/cairo-xlib-surface.c | 6 ++--- - 3 files changed, 44 insertions(+), 34 deletions(-) - -commit e25b106e9c33e220fb104afb0929e766647b6de9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 28 16:27:58 2008 +0000 - - [xlib] Propagate real status from get_display() - - Avoid throwing away the error and inventing a new NO_MEMORY error for - _cairo_xlib_display_get(). - - src/cairo-xlib-display.c | 13 ++++++++----- - src/cairo-xlib-private.h | 4 ++-- - src/cairo-xlib-surface.c | 14 ++++++++------ - 3 files changed, 18 insertions(+), 13 deletions(-) - -commit 2555f83b11ee23829cfdeaae703420ca3e572fa1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 28 16:22:49 2008 +0000 - - [xlib] Avoid repeated calls to XRenderQueryVersion - - Use the value determined during display initialisation in order to avoid - redundant XRenderQueryFormats requests. - - src/cairo-xlib-display.c | 6 ++++-- - src/cairo-xlib-private.h | 2 ++ - src/cairo-xlib-surface.c | 7 ++----- - 3 files changed, 8 insertions(+), 7 deletions(-) - -commit 0d0c6a199c5b631299c72dce80d66ac0f4936a64 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Oct 26 12:53:29 2008 +0000 - - [matrix] Optimise invert for simple scaling|translation matrices. - - The matrix is quite often just a simple scale and translate (or even - identity!). For this class of matrix, we can skip the full adjoint - rearrangement and determinant calculation and just compute the inverse - directly. - - src/cairo-matrix.c | 26 +++++++++++++++++++++++++- - 1 file changed, 25 insertions(+), 1 deletion(-) - -commit 74876b00cd969d5cfc209fa903dfad50bda59361 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Oct 25 11:33:52 2008 +0100 - - [xlib] Exploit compaction of XRenderFillRectangle() - - libXrender amalgamates sequences of XRenderFillRectangle() into a single - XRenderFillRectangles request (when permissible). Since it is common for a - cairo application to draw rectangles individually in order to exploit fast - paths within cairo [rectilinear fills], it is a reasonably common pattern. - - src/cairo-xlib-surface.c | 50 +++++++++++++++++++++++++++++++----------------- - 1 file changed, 32 insertions(+), 18 deletions(-) - -commit 64726ccfb99ba964420f3a840fd707998927e902 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 24 17:06:04 2008 +0100 - - [traps] Whitespace. - - Fixup whitespace in line with CODING_STYLE and rest of file. - - src/cairo-region.c | 6 +++--- - src/cairo-traps.c | 33 ++++++++++++++++++++------------- - 2 files changed, 23 insertions(+), 16 deletions(-) - -commit d5543005e7b7cc08f97578f301182ef4807a05fe -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 24 09:00:45 2008 +0100 - - [surface] Only copy font options if the target surface has them. - - No need to copy font options if the similar surface is from the same - backend and no special options have been applied by the user. Doing so - breaks lazy initialisation of backend specific options. - - src/cairo-surface.c | 18 +++++++++++------- - 1 file changed, 11 insertions(+), 7 deletions(-) - -commit a0023758104b700751ba8d7a66d75db139eea6cb -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 24 08:39:29 2008 +0100 - - [xlib] Defer querying of font options until first use - - Constructing the font options cause the initialisation of Xlc and invoke - several round-trips to the X server, significantly delaying the creation - of the first surface. By deferring that operation until the first use of - fonts then we avoid that overhead for very simple applications (like the - test suite) and should improve start-up latency for larger application. - - src/cairo-xlib-private.h | 4 ++++ - src/cairo-xlib-screen.c | 28 +++++++++++++++++++++++++--- - src/cairo-xlib-surface.c | 2 +- - 3 files changed, 30 insertions(+), 4 deletions(-) - -commit 6706590d4e7ad19dae0b8e3efe6f573d5688e19a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Sep 29 16:22:48 2008 +0100 - - [pattern] Reduce likelihood of range overflow with large downscaling. - - Exploit the auxiliary offset vector in the attributes to reduce - likelihood of range overflow in the translation components when converting - the pattern matrix to fixed-point pixman_matrix_t. - - An example of this is bug 9148 - Bug 9148 - invalid rendering when painting large scaled-down surfaces - (https://bugs.freedesktop.org/show_bug.cgi?id=9148) - but the issue is perhaps even more likely with high resolution fallback - images. - - src/cairo-pattern.c | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - -commit c0af8c70635d641fc5770afc0cd6e9285122fd72 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 20 16:49:23 2008 +0100 - - [pattern] Tweak REFLECT HACK - - In order to workaound a directfb bug, tweak the reflect->repeat pattern so - that it covers the destination rectangle. Although the number of paint() - increases, the number of read/written pixels remain the same so that - performance should not deteriorate, but instead be improved by using a - cloned source. The early return of the REFLECT surface is discarded so - that the latter optimisations for surface sources can be applied. One side - effect of this is that acquire_source_image() is removed due to its lax - reference counting which thereby exposes the ROI optimisations for image - destinations as well. - - src/cairo-pattern.c | 279 +++++++++++++++++++++++++--------------------------- - src/cairoint.h | 1 - - 2 files changed, 136 insertions(+), 144 deletions(-) - -commit 234623b3d5884b02a0619de8ddd57bbed36ef4fd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 23 14:55:26 2008 +0100 - - [pattern] Support unbounded surfaces. - - An unbounded surface should just report an infinite pattern extent and not - return UNSUPPORTED from _cairo_pattern_get_extents(). - - src/cairo-pattern.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 2836be6f7565684e86b3cc8a3d2db4ba690b3718 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 23 14:42:47 2008 +0100 - - Cleanup 'status && status != UNSUPPORTED' - - Replace instances of 'status && status != UNSUPPORTED' with the more - readable _cairo_status_is_error(). - - src/cairo-analysis-surface.c | 14 +++++++------- - src/cairo-clip.c | 4 ++-- - src/cairo-pdf-surface.c | 8 ++++---- - src/cairo-ps-surface.c | 4 ++-- - src/cairo-scaled-font-subsets.c | 4 ++-- - 5 files changed, 17 insertions(+), 17 deletions(-) - -commit 13ba43eb8ffc3bb6c8881d91824102a8df86d928 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 23 12:28:25 2008 +0100 - - [matrix] Optimize finding the bounding box under an orthogonal matrix. - - We frequently need to find the bounds of a pattern under an identity - matrix, or a simple scale+translation. For these cases we do not need to - transform each corner and search for the bounds as the matrix is x/y - separable and so allows us to inspect the results for the extreme x/y - points independently. - - src/cairo-matrix.c | 42 +++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 41 insertions(+), 1 deletion(-) - -commit 6ed957fc242d7890117f4dea121c03ec2523470c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 22 22:02:05 2008 +0100 - - [gstate] Use _cairo_pattern_black for the default source. - - Avoid allocating a default source pattern by using the static black pattern - object. The one complication is that we need to ensure that the static - pattern does leak to the application, so we replace it with an allocated - solid pattern within _cairo_gstate_get_source(). - - src/cairo-gstate.c | 9 +++++++-- - src/cairo-pattern.c | 12 +++++++----- - src/cairo.c | 6 +++--- - src/cairoint.h | 2 +- - 4 files changed, 18 insertions(+), 11 deletions(-) - -commit 794460186459981cd43ca38f3eba07e3f6bf8908 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 22 19:24:44 2008 +0100 - - [pattern] Avoid needless copying of patterns. - - Only copy the pattern if we need to modify it, e.g. preserve a copy in a - snapshot or a soft-mask, or to modify the matrix. Otherwise we can - continue to use the original pattern and mark it as const in order to - generate compiler warnings if we do attempt to write to it. - - src/cairo-analysis-surface.c | 37 +++---- - src/cairo-directfb-surface.c | 33 +++---- - src/cairo-glitz-surface.c | 42 ++++---- - src/cairo-gstate.c | 117 ++++++++++++++-------- - src/cairo-image-surface.c | 6 +- - src/cairo-meta-surface.c | 12 +-- - src/cairo-paginated-surface.c | 12 +-- - src/cairo-pattern.c | 70 ++++++-------- - src/cairo-pdf-surface.c | 88 +++++++++++------ - src/cairo-ps-surface.c | 39 ++++---- - src/cairo-quartz-surface.c | 10 +- - src/cairo-scaled-font.c | 2 +- - src/cairo-sdl-surface.c | 22 ++--- - src/cairo-surface-fallback-private.h | 45 ++++----- - src/cairo-surface-fallback.c | 65 ++++++------- - src/cairo-surface.c | 181 +++++++++++++++++++++-------------- - src/cairo-svg-surface.c | 50 +++++----- - src/cairo-type3-glyph-surface.c | 18 ++-- - src/cairo-win32-font.c | 26 ++--- - src/cairo-win32-printing-surface.c | 51 +++++----- - src/cairo-win32-private.h | 2 +- - src/cairo-win32-surface.c | 6 +- - src/cairo-xcb-surface.c | 42 ++++---- - src/cairo-xlib-surface.c | 14 +-- - src/cairoint.h | 74 +++++++------- - src/test-meta-surface.c | 28 +++--- - src/test-paginated-surface.c | 40 ++++---- - 27 files changed, 605 insertions(+), 527 deletions(-) - -commit 9d2189afbd2aa1413f620a4d35016ef3be3fc0e9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 22 18:29:02 2008 +0100 - - [pattern] Do not recompute the inverse if setting an identical matrix. - - More micro-optimisation. - - src/cairo-pattern.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 2c277ddbea42222130b8b1c2a2b4934503b40188 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 22 18:17:49 2008 +0100 - - [matrix] Avoid error correction overhead for translation matrices. - - We can only correct rounding errors between cairo and pixman matrices for - scaled matrices - so skip the inversion and point transformation overhead - for simple translation matrices. - - src/cairo-matrix.c | 11 ++++++++--- - 1 file changed, 8 insertions(+), 3 deletions(-) - -commit 57a1d932f3e9d79f3259a536ec2f45f020d46de5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 22 18:12:10 2008 +0100 - - [array] Rearrange user_data_fini() to optimize common case. - - Micro-optimisation to avoid the _cairo_array_index() for the common case - of 0 elements. - - src/cairo-array.c | 16 ++++++++++------ - 1 file changed, 10 insertions(+), 6 deletions(-) - -commit 2852127c72fa6cfe246e6ece0433be6c3f2a93ab -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 22 18:04:30 2008 +0100 - - [cairoint] Add a few cairo_pure. - - Start marking up the prototypes with function attributes - first the - obvious pure functions. - - src/cairoint.h | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit cf072c7203dfce989ee60e56352f548329d3d616 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 30 14:35:49 2008 +0000 - - [sdl] Add new backend. - - Add a new backend to allow easy interoperability with the Simple - DirectMedia Layer. - - boilerplate/Makefile.sources | 3 + - boilerplate/cairo-boilerplate-sdl-private.h | 56 ++++ - boilerplate/cairo-boilerplate-sdl.c | 69 +++++ - boilerplate/cairo-boilerplate.c | 13 + - build/configure.ac.features | 1 + - configure.ac | 8 + - src/Makefile.sources | 3 + - src/cairo-sdl-surface.c | 418 ++++++++++++++++++++++++++++ - src/cairo-sdl.h | 54 ++++ - src/cairo.h | 4 +- - 10 files changed, 628 insertions(+), 1 deletion(-) - -commit 31ada1ea15d14c0a843728b105340c270e4e4613 -Merge: 30f2df1de ab15d7627 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 30 16:56:07 2008 +0000 - - Merge branch '1.8' - -commit ab15d7627506a837fea7101661425bb923ef5b4f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 30 16:54:23 2008 +0000 - - [test] Remove XFAIL from user-font-mask - - user-font-mask should PASS modulo the scaling anomalies in the external - renderers, so remove it from the XFAIL list. - - test/Makefile.am | 15 ++++++--------- - test/user-font-mask-pdf-ref.png | Bin 0 -> 1927 bytes - test/user-font-mask-ps2-ref.png | Bin 0 -> 1927 bytes - test/user-font-mask-ps3-ref.png | Bin 0 -> 1927 bytes - test/user-font-mask-svg11-ref.png | Bin 0 -> 2224 bytes - 5 files changed, 6 insertions(+), 9 deletions(-) - -commit 540f555840ba4076e3ab86669daf9bee5695afa2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 23 14:38:44 2008 +0100 - - [analysis] Only limit to mask extends if bounded by mask. - - The extents of cairo_mask() is only limited to the mask if the operation - is bounded by the mask. - - src/cairo-analysis-surface.c | 8 ++++++-- - test/clip-operator-pdf-argb32-ref.png | Bin 11145 -> 12125 bytes - test/clip-operator-pdf-rgb24-ref.png | Bin 6530 -> 7367 bytes - test/operator-clear-pdf-argb32-ref.png | Bin 1438 -> 1614 bytes - test/operator-clear-pdf-rgb24-ref.png | Bin 1170 -> 1402 bytes - test/operator-source-pdf-argb32-ref.png | Bin 4694 -> 5149 bytes - test/operator-source-pdf-rgb24-ref.png | Bin 3848 -> 4354 bytes - 7 files changed, 6 insertions(+), 2 deletions(-) - -commit 4b2998893930e4bab19646e6f0a0c8d2a47f12a2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 23 14:34:30 2008 +0100 - - Review users of cairo_rectangle_int_t for incorrect unsigned promotion. - - Adrian Johnson discovered cases where we mistakenly compared the result - of unsigned arithmetic where we need signed quantities. Look for similar - cases in the users of cairo_rectangle_int_t. - - src/cairo-analysis-surface.c | 48 +++++++++++++++++++++++-------------- - src/cairo-clip.c | 43 +++++++++++++++++----------------- - src/cairo-gstate.c | 4 ++-- - src/cairo-pattern.c | 13 ++++++---- - src/cairo-rectangle.c | 6 ++++- - src/cairo-region-private.h | 3 ++- - src/cairo-region.c | 3 ++- - src/cairo-surface-fallback.c | 31 +++++++++++++++--------- - src/cairo-surface.c | 27 +++++++++++---------- - src/cairo-win32-surface.c | 4 ++-- - src/cairo-xcb-surface.c | 56 ++++++++++++++------------------------------ - src/cairo-xlib-surface.c | 52 ++++++++++++++-------------------------- - src/cairoint.h | 2 +- - 13 files changed, 144 insertions(+), 148 deletions(-) - -commit 0e4156121f05b14f800289ea34c5382de1f20869 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 23 13:37:41 2008 +0100 - - [rectangle] Fix unsigned promotion whilst computing intersect. - - _cairo_rectangle_intersect() incorrectly allows unsigned promotion during - its arithmetic. - - src/cairo-rectangle.c | 31 +++++++++++++++++-------------- - src/cairoint.h | 3 ++- - 2 files changed, 19 insertions(+), 15 deletions(-) - -commit 2464b8a0a9f7db7421c257eb4e3ac0d98af34761 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 23 13:36:19 2008 +0100 - - [pattern] Allow the projected surface extents to be negative. - - In order to handle projection of analysis surface with user-fonts we need - to accommodate patterns extending into negative coordinate space. - - src/cairo-pattern.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit d5d29075bdbb7f412fa6dc182573da18fd81af54 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 23 15:24:13 2008 +0100 - - [gstate] Allocate temporary variable for backend_to_user transform. - - _cairo_gstate_backend_to_user_rectangle() requires that its input - arguments are non-NULL and describe the input rectangle to be transformed. - However, we were passing through output parameters from the public API - which were allowed to be NULL. So we need to allocate temporary variables - in which to compute the output rectangle, but only copy them as required. - - src/cairo-gstate.c | 69 +++++++++++++++++++++++++++++++++++++++--------------- - 1 file changed, 50 insertions(+), 19 deletions(-) - -commit 30f2df1dec419a10408b53ecd26cebfcf607bf27 -Author: Carl Worth <cworth@cworth.org> -Date: Thu Oct 30 08:40:35 2008 -0700 - - Fix typo in bug URL. - - Thanks to AndrewR in IRC for pointing out the typo. - - NEWS | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b598dcd1b1726184506de6a9d253f6091a000922 -Author: Carl Worth <cworth@cworth.org> -Date: Thu Oct 30 08:29:51 2008 -0700 - - Fix release-publish to also update the current manual. - - That is, the vesion that appears as: - - http://cairographics.org/manual - and: - http://cairographics.org/cairo-manual.tar.gz - - It was silly that we previously required a manual step to - upload the documentation (which we regularly forgot to do) - and that it uploaded with a date in the name rather than a - version. So we just drop the old doc-publish Makefile target - now as it's just not useful anymore. - - RELEASING | 3 ++- - build/Makefile.am.releasing | 18 ++++-------------- - 2 files changed, 6 insertions(+), 15 deletions(-) - -commit 91183a503e3b7bed11e0149783d3974e26daf623 -Author: Carl Worth <cworth@cworth.org> -Date: Thu Oct 30 08:26:55 2008 -0700 - - RELEASING: Mention that a versioned manual is uploaded. - - RELEASING | 2 ++ - 1 file changed, 2 insertions(+) - -commit 5037fa238e820419824773fa2ea475c949e23a8c -Author: Carl Worth <cworth@cworth.org> -Date: Thu Oct 30 08:23:06 2008 -0700 - - Increment version to 1.9.1 - - We're finalyl opening the 1.9 development series in order to land - lots of exciting new features that people have been working on. - - cairo-version.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit d53537e8b5e3a8345983d8a0529cb230fa2886d1 -Author: Carl Worth <cworth@cworth.org> -Date: Thu Oct 30 08:20:59 2008 -0700 - - Increment version to 1.8.3 after the 1.8.2 release. - - Thanks to Chris Wilson (who else?) for the last-minute bug fix. - - cairo-version.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f7c958d97221375fdcbb6c58c3b58c07676b7589 -Author: Carl Worth <cworth@cworth.org> -Date: Wed Oct 29 21:02:04 2008 -0700 - - Increment cairo version to 1.8.2. - - Hurrah! We're finally there. - - cairo-version.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 42711a5586cba5db5451ce2400ee5fe655700391 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 30 09:54:47 2008 +0000 - - [xlib] Fix _draw_image_surface() with opaque images. - - If the image was opaque with no alpha channel, we filled the output alpha - with 0. Typically, the destination surface for dithering is an RGB window, - so this bug went unnoticed. However, test/xlib-expose-event is an example - where we generate an intermediate alpha-only pixmap for use as a stencil - and this was failing as the mask was left completely transparent. The - simple solution is to ensure that for opaque images, the output alpha is - set to the maximum permissible value. - - src/cairo-xlib-surface.c | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -commit c3940d342ac506055c2ce6b7e9b27f92d8a63999 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 30 09:59:48 2008 +0000 - - [xlib] whitespace - - Tweak the whitespace to lose some unnecessary line wrapping, casts and - blanks. - - src/cairo-xlib-surface.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit e51648b601de274559800c63575c7f7e0288f596 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Thu Oct 30 04:43:45 2008 -0400 - - [test/xlib-expose-event] Save the output image to disk - - test/xlib-expose-event.c | 1 + - 1 file changed, 1 insertion(+) - -commit f534bd549e1e2283735d1eabb60c015a5949a735 -Author: Carl Worth <cworth@cworth.org> -Date: Wed Oct 29 21:28:56 2008 -0700 - - Remove test/twin-ref.png. - - I missed this in a previous commit, (I think I had used a - pattern of twin-*-ref.png which of course didn't match - this file). - - test/twin-ref.png | Bin 1836 -> 0 bytes - 1 file changed, 0 insertions(+), 0 deletions(-) - -commit cf97966c07bc64ff4b169d1d8239407883a26747 -Author: Carl Worth <cworth@cworth.org> -Date: Wed Oct 29 21:01:01 2008 -0700 - - NEWS: Finish the entry for the 1.8.2 release. - - Add some summarizing paragraphs and organize bug-fixes and optimizations - into separate sections. - - NEWS | 89 ++++++++++++++++++++++++++++++++++++++++++++++---------------------- - 1 file changed, 60 insertions(+), 29 deletions(-) - -commit b6741cffef6e86d59fa4809d32de14b9c5e8afbf -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 30 01:15:45 2008 +0000 - - [NEWS] Spot another couple of typos. - - Proof-reading is difficult, even with the squiggly lines. - - NEWS | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit d20cc827791e177eb73a9003c6704b7a5bc49f71 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 30 01:06:08 2008 +0000 - - [NEWS] Correct a couple of typos. - - Whilst Carl's not looking, fix a couple of typos -- in particular the one - calling me a bug! ;-) - - NEWS | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit 0ceda81dfdfc4adcec28c71be7822caa0627d818 -Author: Carl Worth <cworth@cworth.org> -Date: Wed Oct 29 17:38:36 2008 -0700 - - NEWS: Add long list of bugs fixed for 1.8.2. - - (Still need to add a paragraph or two summarizing the release.) - - NEWS | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 110 insertions(+) - -commit e0046aaf417a61da008dc6374871fa3687ba94ab -Author: Carl Worth <cworth@cworth.org> -Date: Wed Oct 29 16:25:00 2008 -0700 - - Remove twin perf case. - - This performance test relied on the recently-removed ability - to select the internal twin-based font family with a name of - "cairo". - - Presumably, we'll want to bring this performance case back when - some other means of requesting that font face is added. - - perf/Makefile.am | 1 - - perf/cairo-perf.c | 1 - - perf/cairo-perf.h | 1 - - perf/twin.c | 50 -------------------------------------------------- - 4 files changed, 53 deletions(-) - -commit 292233685534aed712dfd45e8ccf498b792ce496 -Author: Carl Worth <cworth@cworth.org> -Date: Wed Oct 29 16:25:00 2008 -0700 - - Remove twin test case. - - This test relied on the recently-removed ability to select - the internal twin-based font family with a name of "cairo". - - Presumably, we'll want to bring this test case back when - some other means of requesting that font face is added. - - test/.gitignore | 1 - - test/Makefile.am | 6 ----- - test/twin-ps2-ref.png | Bin 1167 -> 0 bytes - test/twin-ps3-ref.png | Bin 1167 -> 0 bytes - test/twin-svg11-ref.png | Bin 1773 -> 0 bytes - test/twin-svg12-ref.png | Bin 1773 -> 0 bytes - test/twin.c | 60 ------------------------------------------------ - 7 files changed, 67 deletions(-) - -commit a824d284be23793a5c48b9ae833dcb7b2d5fff80 -Author: Carl Worth <cworth@cworth.org> -Date: Wed Oct 29 16:21:42 2008 -0700 - - Remove the ability to select the internal font face with a name of "cairo". - - It's not fair to steal this name from the namespace of family names. - There are definitely cairo.ttf files that exist out there, and people - may already be using these, (or may use them in the future), with - cairo_select_font_face and a family name of "cairo". - - In place of this, we'll want to come up with some other new, and - documented API for selecting the internal font face. - - src/cairo-font-face.c | 6 ++---- - src/cairoint.h | 1 - - 2 files changed, 2 insertions(+), 5 deletions(-) - -commit f039da8d9172a6fb60082901c8dc56c7159ecd24 -Author: Carl Worth <cworth@cworth.org> -Date: Wed Oct 29 16:17:24 2008 -0700 - - Add doltcompile and doltlibtool to .gitignore. - - These generated files were recently added to our build system. - We definitely don't want to see them in git-status output. - - .gitignore | 2 ++ - 1 file changed, 2 insertions(+) - -commit 81439b3bc8656b34c13b3cc7b5b6a9f03a3c8c54 -Author: Carl Worth <cworth@cworth.org> -Date: Wed Oct 29 16:15:12 2008 -0700 - - Add missing files to CLEANFILES and DISTCLEANFILES. - - Without these files in these lists, "make distcheck" is unhappy. - - Makefile.am | 4 +++- - test/Makefile.am | 9 +++++++++ - 2 files changed, 12 insertions(+), 1 deletion(-) - -commit dd0416f5d47a946498219616f53abdad81d4fc38 -Author: Carl Worth <cworth@cworth.org> -Date: Tue Oct 28 18:01:09 2008 -0700 - - Add recently added reference images to REFERENCE_IMAGES list. - - This is just part of the make-distcheck routine for me. I know - Behdad added a test to check for missing images in the list, but - it doesn't seem to be getting run automatically as part of - 'make test' nor 'make distcheck', (or if it it, then I'm not - noticing its output). - - test/Makefile.am | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 9cd9644c1d993f86c6eb7bee692fe642d6d280b1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 29 21:56:36 2008 +0000 - - [test] Add a pass-through test. - - Check that colour values are correctly passed through all the backends. - Simple test of the most fundamental functionality. - - test/.gitignore | 1 + - test/Makefile.am | 3 ++ - test/pass-through-ref.png | Bin 0 -> 221 bytes - test/pass-through-rgb24-ref.png | Bin 0 -> 179 bytes - test/pass-through.c | 99 ++++++++++++++++++++++++++++++++++++++++ - 5 files changed, 103 insertions(+) - -commit cec689eab628b59ee1d69e241c5d336760304ea0 -Author: Carl Worth <cworth@cworth.org> -Date: Tue Oct 28 17:18:34 2008 -0700 - - RELEASING: Suggest running 'make distcheck' against Xvfb. - - This avoids hitting driver-specific bugs in the X server, and is - better than doing 'DISPLAY= make distcheck' which simply disables - all xlib testing completely. - - RELEASING | 5 +++++ - 1 file changed, 5 insertions(+) - -commit 0ca6ba18e398db7ed8f8bca5faa93d48aa3a4878 -Author: Carl Worth <cworth@cworth.org> -Date: Tue Oct 28 17:15:42 2008 -0700 - - Add note to test/README on running with Xvfb. - - This X server has been tested to run through the test suite with - no unexpected failures, and it avoids hitting any X-driver-specific - bugs. - - test/README | 17 +++++++++++++++++ - 1 file changed, 17 insertions(+) - -commit eed67717649c343e42ce102a4d78a245dba48925 -Author: Carl Worth <cworth@cworth.org> -Date: Tue Oct 28 17:12:15 2008 -0700 - - Disable the svg12 target in boilerplate. - - This target was added to the boilerplate during 1.8.1. It currently - shows many failures in the test suite. These failures likely fall - into three different classes: - - * Tests needing new svg12-specific reference images - - * Tests exercising bugs in librsvg - - * Tests exercising existing cairo bugs - - We haven't gone through the effort to separate these, but even for - the tests that are exercising actual cairo bugs, these are likely - bugs that existed in the cairo 1.8.0 release and not regressions. - - Because of that, in this commit I'm conditionally disabling the - testing of the svg12 target. As soon as we increment the cairo - version to 1.9.0 or higher, this target will get re-enabled - automatically and we can begin the work to separate the tests as - described above and also fix the bugs. - - boilerplate/cairo-boilerplate.c | 5 +++++ - 1 file changed, 5 insertions(+) - -commit a94928ddfa066f6e6824775b9d0b6008f3fcbf26 -Author: Carl Worth <cworth@cworth.org> -Date: Tue Oct 28 15:55:38 2008 -0700 - - Add svg-specific reference images for the twin test. - - A bit annoying that I have to add the same image as both -svg11 - and -svg12 but that's all the support we have in the current - test suite. I suppose I could avoid doing that by figuring out - why this test case cannot successfully roundtrip through librsvg - and back through cairo. - - test/twin-svg11-ref.png | Bin 0 -> 1773 bytes - test/twin-svg12-ref.png | Bin 0 -> 1773 bytes - 2 files changed, 0 insertions(+), 0 deletions(-) - -commit 53554ea8892893098b29a27a23c069f0ee584a06 -Author: Carl Worth <cworth@cworth.org> -Date: Tue Oct 28 15:50:44 2008 -0700 - - Add ps2-specific reference images for trap-clip test. - - These are quite similar to the existing ps3-specific reference images. - I definitely don't see any reason why this output should be considered - a failure. - - test/trap-clip-ps2-argb32-ref.png | Bin 0 -> 5690 bytes - test/trap-clip-ps2-rgb24-ref.png | Bin 0 -> 5617 bytes - 2 files changed, 0 insertions(+), 0 deletions(-) - -commit 10fd16a05d8549753179ab5cca855539fb7dec94 -Author: Carl Worth <cworth@cworth.org> -Date: Tue Oct 28 15:41:40 2008 -0700 - - Mark user-font-mask as XFAIL. - - This test is expected to fail due to a couple of known bugs. Chris - has fixes for both bugs, but is holding off on them until after 1.8.2 - to prevent introducing any possible new bugs with his fixes. - - test/Makefile.am | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -commit 655546243f57ae2a5c1813bd45994b18061f1c74 -Author: Carl Worth <cworth@cworth.org> -Date: Tue Oct 28 15:35:35 2008 -0700 - - Rename user-font-image test to user-font-mask. - - Otherwise the reference image (user-font-image-ref.png) gets - interpreted as an image-specific reference image for the - user-font test case resulting in a bogus failure. - - test/Makefile.am | 4 ++-- - test/{user-font-image-ref.png => user-font-mask-ref.png} | Bin - test/{user-font-image.c => user-font-mask.c} | 4 ++-- - 3 files changed, 4 insertions(+), 4 deletions(-) - -commit 42d2d1b6d3b187b5dbdb630783d7c9bf90c66fb2 -Author: Carl Worth <cworth@cworth.org> -Date: Tue Oct 28 12:48:03 2008 -0700 - - Correct NEWS to say 'release' instead of 'snapshot' for 1.8.0 - - A copy-and-paste bug strikes again. - - NEWS | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 1327ec232cfca675647fb03876487c92fb638354 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 28 10:00:38 2008 +0000 - - [image] Remove invalid assert. - - The assert can fail for an error surface. - - TODO: Decide what values should be returned from getters for error - surfaces. - - src/cairo-image-surface.c | 2 -- - 1 file changed, 2 deletions(-) - -commit 9481d999df8d399543bdbb45b85bd24b1725bece -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 28 09:59:01 2008 +0000 - - [image] Check create_for_data() to ensure a valid minimum stride. - - Double check that the user is not being silly by passing in a stride that - is too small for the width. evince/poppler is one such example... - - src/cairo-image-surface.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -commit 88f628b3972819c0f6ce8e5f06d0f7e6abb9d661 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 28 09:11:23 2008 +0000 - - [perf] Fix rectangular case of unaligned-clip. - - Janoos spotted that the unaligned clip actually degenerated to an empty - clip due to a typo when constructing the second rectangle. Simply use a - cairo_rectangle() instead. - - perf/unaligned-clip.c | 9 +++------ - 1 file changed, 3 insertions(+), 6 deletions(-) - -commit 1522805f39c505ff05231e67de5a6e6686081d46 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Mon Oct 27 20:57:56 2008 -0400 - - [Makefile.am.releasing] Fix typo - - build/Makefile.am.releasing | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3386794d96d2b1616af9db5b7df1fc5c7a5796a7 -Author: Carl Worth <cworth@cworth.org> -Date: Mon Oct 27 14:09:19 2008 -0700 - - Add creation of a versioned manual to the release-publish target. - - This arranges so that a versioned manual will be available of the form: - - http://cairographics.org/manual-X.Y.Z - - for all future releases and snapshots. We're going through the process - of manually doing all former releases, such as: - - http://cairographics.org/manual-1.2.0/ - - which the LSB folks wanted to reference. - - build/Makefile.am.releasing | 27 ++++++++++++++++++--------- - 1 file changed, 18 insertions(+), 9 deletions(-) - -commit a1a7ec6a056fa36389a48c0f53884ae7e92ebc1a -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Mon Oct 27 23:13:05 2008 +1030 - - Change ps to ps3 in test/README - - The ps target no longer exists. - - test/README | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 670d942fe3dafbed5ceca234e760f29f793233cb -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Mon Oct 27 23:04:16 2008 +1030 - - Change user-font-image test to use a pattern - - This can be used to expose a bug in _cairo_rectangle_intersect() by - changing: - - fixed_scale = 1024 to 1 in cairo-user-font.c - - and - - cairo_matrix_translate (&matrix, 0, -8) to (&matrix, 0, -9) in - user-font-image.c - - This will cause cairo_text_extents (cr, text, &extents) in - user-font-image.c to return a height of 8388683. - - test/user-font-image-ref.png | Bin 5502 -> 6011 bytes - test/user-font-image.c | 13 +++++++++++-- - 2 files changed, 11 insertions(+), 2 deletions(-) - -commit cdacf55e1b16a6982c681fab212405fc4af4f1db -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Mon Oct 27 22:07:04 2008 +1030 - - Add user-font-image test - - Draws bitmap glyphs using cairo_mask(). This test exposes a bug in the - calculation of the glyph extents. - - test/Makefile.am | 2 + - test/user-font-image-ref.png | Bin 0 -> 5502 bytes - test/user-font-image.c | 245 +++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 247 insertions(+) - -commit 22e2dac819de3c082424ebf3ce8f64c9c4797e8a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Oct 26 10:21:37 2008 +0000 - - [stroke] Ensure we record the first face for a dashed path. - - If the first face was outside the bounds then we skipped it, and so a - close would incorrectly connect to the first visible face. - - src/cairo-path-stroke.c | 1 + - 1 file changed, 1 insertion(+) - -commit 64fb3290f00bafc4a10e6432226f669a51fa0bc6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Oct 26 09:54:03 2008 +0000 - - [stroke] _cairo_stroker_line_to_dashed() whitespace - - A couple of comment spelling mistakes and rearrange whitespace to more - closely match CODING_STYLE. - - src/cairo-path-stroke.c | 57 +++++++++++++++++++++++++++++++++---------------- - 1 file changed, 39 insertions(+), 18 deletions(-) - -commit 88935947d11762c91e282fb129c493afc6f2f1a6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Oct 26 08:19:31 2008 +0000 - - [test] Add leaky-dashed-stroke - - A test case for a leak whilst closing a dashed stroke extracted from the - report by Jeff Muizelaar who found the artifact whilst looking at - firefox http://people.mozilla.com/~jmuizelaar/BerlinDistricts-check.svg - - test/.gitignore | 1 + - test/Makefile.am | 4 + - test/leaky-dashed-stroke-ps2-ref.png | Bin 0 -> 5511 bytes - test/leaky-dashed-stroke-ps3-ref.png | Bin 0 -> 5511 bytes - test/leaky-dashed-stroke-ref.png | Bin 0 -> 9214 bytes - test/leaky-dashed-stroke.c | 174 +++++++++++++++++++++++++++++++++++ - 6 files changed, 179 insertions(+) - -commit 195fd27cc64c7aaf18a6d48ccd9d94548331fd4d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 22 22:04:53 2008 +0100 - - [build] Use AC_LINK_IFELSE for testing linker flags. - - Richard Hult reported that -Wl,--allow-shlib-undefined was incorrectly - being identified as supported by gcc under Mac OS/X: - - configure:25103: checking whether gcc supports -Wl,--allow-shlib-undefined - configure:25117: gcc -c -Werror -Wl,--allow-shlib-undefined conftest.c - >&5 - i686-apple-darwin9-gcc-4.0.1: --allow-shlib-undefined: linker input file - unused because linking not done - - So instead of just checking whether the compiler accepts the flag, check - that we can actually link a dummy file. - - build/aclocal.cairo.m4 | 20 ++++++++++++++++++++ - build/configure.ac.warnings | 2 +- - 2 files changed, 21 insertions(+), 1 deletion(-) - -commit d692284ab8f90d7402621f1a07aaddcf11d87ef5 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Thu Oct 23 01:45:35 2008 -0400 - - [test/user-font] Exercise glyph 0 - - Previously there was a bug in cairo and/or poppler causing glyph 0 of - user fonts to not show up. This is fixed now, so we exercise glyph 0. - - test/user-font.c | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -commit e6219f7116311d999054dc31df081aa66a0cd2d3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 22 17:53:05 2008 +0100 - - [win32] Correct error paths in text_to_glyphs(). - - Carl spotted that 1db894 introduced an error into text_to_glyphs() such - that following an allocation error the code would attempt to thaw an - unfrozen glyph cache, leading to an attempt to unlock an unlocked mutex - - which causes a deadlock under win32. - - src/cairo-win32-font.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit 09651a1c1a4856607423e9b06c1f7c397ba4f304 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 8 22:39:48 2008 +0100 - - Twin perf case - - perf/Makefile.am | 3 ++- - perf/cairo-perf.c | 1 + - perf/cairo-perf.h | 1 + - perf/twin.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 54 insertions(+), 1 deletion(-) - -commit 954ebacb71071c53c4e4092b469417f01478bc2d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 22 15:43:56 2008 +0100 - - Map toy font face to implementation. - - Quartz fonts and user fonts use an indirect font face when creating a - scaled font for the toy font face. This means that they insert a scaled - font into the font map that has a different font face to the one that is - initially searched upon. The result is that when we try to create an - identical scaled font, we fail to find the existing scaled font and - attempt to insert a duplicate into the hash table - which triggers an - assert. - - In order to avoid creating duplicate fonts, we add a new method to the - font backends that allows cairo_scaled_font_create() to peek at the - font_face that will be used to actually implement the scaled font - constructor - thus we are able to use the correct font_face as part of the - hash key. - - src/cairo-font-face.c | 34 ++++++++++++++++++++++++++++++ - src/cairo-ft-font.c | 2 ++ - src/cairo-quartz-font.c | 55 +++++++++++++++++++++++++++++++++++++++---------- - src/cairo-scaled-font.c | 11 +++++++++- - src/cairo-user-font.c | 37 +++++++++++++++++++++++++-------- - src/cairo-win32-font.c | 2 ++ - src/cairoint.h | 8 +++++++ - 7 files changed, 128 insertions(+), 21 deletions(-) - -commit 5e4a1cb0b830f069d99c9512563c82ad628587e3 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Wed Oct 22 21:36:42 2008 +1030 - - Don't add a notdef glyph to Type 3 font subsets - - This allows user-fonts to use glyph 0 when embedding in PS/PDF. - According to ISO32000 Type 3 fonts do not require a notdef glyph. - - src/cairo-pdf-surface.c | 19 ++++------- - src/cairo-ps-surface.c | 21 ++++-------- - src/cairo-scaled-font-subsets.c | 59 +++++++++++++++++++-------------- - src/cairo-type3-glyph-surface-private.h | 6 ---- - src/cairo-type3-glyph-surface.c | 16 --------- - 5 files changed, 48 insertions(+), 73 deletions(-) - -commit 170686d4b0ed913a1a175f3f354ec5796814b416 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 22 01:01:06 2008 +0100 - - [cairoint] Remove the duplicate prototype. - - In the previous commit I added comments and a duplicate prototype. Remove - the duplicate - but keep the comments. - - src/cairoint.h | 3 --- - 1 file changed, 3 deletions(-) - -commit 1db8949f2baf1e620e1d5ef73a66de211420bd0a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 21 22:48:17 2008 +0100 - - Ensure that the scaled font is frozen for the lifetime of the scaled glyph. - - After discussing the scaled font locking with Behdad, it transpired that it - is not sufficient for a font to be locked for the lifetime of a scaled glyph, - but that the scaled font's glyph cache must be frozen for the glyph' - lifetime. If the cache is not frozen, then there is a possibility that the - glyph may be evicted before the reference goes out of scope i.e. the glyph - becomes invalid whilst we are trying to use it. - - Since the freezing of the cache is the stronger barrier, we remove the - locking/unlocking of the mutex from the backends and instead move the - mutex acquisition into the freeze/thaw routines. Then update the rule on - acquiring glyphs to enforce that the cache is frozen and review the usage - of freeze/thaw by all the backends to ensure that the cache is frozen for - the lifetime of the glyph. - - src/cairo-directfb-surface.c | 4 +- - src/cairo-glitz-surface.c | 2 +- - src/cairo-gstate.c | 4 - - src/cairo-meta-surface.c | 2 - - src/cairo-mutex-impl-private.h | 3 +- - src/cairo-mutex-type-private.h | 3 + - src/cairo-paginated-surface.c | 2 - - src/cairo-pdf-surface.c | 2 - - src/cairo-scaled-font-subsets.c | 30 +++--- - src/cairo-scaled-font.c | 81 ++++++++++----- - src/cairo-surface-fallback.c | 1 + - src/cairo-surface.c | 4 - - src/cairo-svg-surface.c | 4 +- - src/cairo-type1-fallback.c | 9 +- - src/cairo-type3-glyph-surface.c | 18 ++-- - src/cairo-user-font.c | 1 - - src/cairo-win32-font.c | 12 ++- - src/cairo-xcb-surface.c | 216 ++++++++++++++++++++++++---------------- - src/cairo-xlib-surface.c | 57 ++++++----- - src/cairoint.h | 4 + - src/test-meta-surface.c | 25 +---- - src/test-paginated-surface.c | 25 +---- - 22 files changed, 280 insertions(+), 229 deletions(-) - -commit b2cbbceb4ca57816a498c2c1e676b19182c34e12 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 21 19:44:42 2008 +0100 - - [test/meta-surface-pattern] Propagate errors. - - Use cairo_get_target() to propagate any errors from the secondary context. - - test/meta-surface-pattern.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit 9d4262ebe07bacacd6e743dea616b37ac51eac01 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Tue Oct 21 17:44:47 2008 -0400 - - [build] Use dolt - - Dolt is a hack to speed up libtool-based build systems: - - http://dolt.freedesktop.org/ - - It's completely transparent to the user. Brings make time - of cairo from 70s down to 20s. Yay! - - build/aclocal.dolt.m4 | 177 ++++++++++++++++++++++++++++++++++++++++++++++++++ - configure.ac | 1 + - 2 files changed, 178 insertions(+) - -commit 5a822046cc66d8405618370c1071433016969020 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 21 11:22:48 2008 +0100 - - [test/xlib-expose-event] Propagate errors. - - Use cairo_get_target() to propagate errors from secondary contexts. - - test/xlib-expose-event.c | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -commit 21223cc12ca00c52c0b39dc60db410f29e4e76c9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 21 11:29:12 2008 +0100 - - [test/unbounded-operator] Propagate errors. - - Use cairo_get_target() to propagate errors from secondary contexts. - - test/unbounded-operator.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -commit 4c8de6d99d337338d6fd57134247515f9815b5e5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 21 11:21:37 2008 +0100 - - [test/surface-pattern-scale-up] Propagate errors. - - Use cairo_get_target() to propagate errors from the secondary context. - - test/surface-pattern-scale-up.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit e8de7d1c3605fa6d89640fb4e0631c07e5366348 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 21 11:20:54 2008 +0100 - - [test/surface-pattern-scale-down] Propagate errors. - - Use cairo_get_target() to propagate errors from the secondary context. - - test/surface-pattern-scale-down.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit b5551cfce2969358746dadae90cbe1add012e29c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 21 11:19:40 2008 +0100 - - [test/rotate-image-surface-paint] Proapgate errors. - - Use cairo_get_target() to propagate errors from the secondary context. - - test/rotate-image-surface-paint.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit 6d41ffbbed2ad3bab2b1a58e1e5d9e1570a37926 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 21 11:18:37 2008 +0100 - - [test/pixman-rotate] Propagate errors - - Use cairo_get_target() to propagate errors from the secondary context. - - test/pixman-rotate.c | 33 ++++++++++++++++----------------- - 1 file changed, 16 insertions(+), 17 deletions(-) - -commit 64949b81735ee4e43772224d10031f7edfbc8068 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 21 11:17:13 2008 +0100 - - [test/operator-source] Propagate errors. - - Use cairo_get_target() to propagate errors from the secondary context. - - test/operator-source.c | 12 ++++-------- - 1 file changed, 4 insertions(+), 8 deletions(-) - -commit 971f030b7dca7ce24e54d0465900e6984020345e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 21 11:27:17 2008 +0100 - - [test/operator-clear] Propagate errors. - - Use cairo_get_target() to propagate errors from secondary contexts. - - test/operator-clear.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -commit 9b919b0e91b6c64acbcbfc05c72610188327be67 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 21 11:14:51 2008 +0100 - - [test/extend-pad] Propagate errors. - - Use cairo_get_target() to propagate errors from the secondary context. - - test/extend-pad.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit 69415b4fc6387acda7498847f8181c802c8b0982 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 21 11:25:38 2008 +0100 - - [test/device-offset-scale] Propagate errors - - Use cairo_get_target() to propagate errors from the secondary contexts. - - test/device-offset-scale.c | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -commit 9ab296123ef49259a67e8dc43708023da2759283 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 21 11:14:01 2008 +0100 - - [test/device-offset-positive] Propagate errors. - - Use cairo_get_target() to propagate errors from the secondary context. - - test/device-offset-positive.c | 12 +++++------- - 1 file changed, 5 insertions(+), 7 deletions(-) - -commit 594fa0836f2526e0a7f44fc7184f7f09de7dd41f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 21 11:12:11 2008 +0100 - - [test/device-offset] Propagate error. - - Use cairo_get_target() to propagate errors from the secondary context. - - test/device-offset.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 29da47be60b0373ff93769f9f373a20b15a01e0f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 21 10:42:41 2008 +0100 - - [ps] Check for an empty font subset. - - Return early before trying to emit an empty subset into the document - - avoids a potential use of an uninitialised status variable. - - src/cairo-ps-surface.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit fd1f3c27e093b1f51f0c1a381cc02cbf8f9889d7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 21 09:17:56 2008 +0100 - - [configure] Check for atomic xchg. - - Bug 18140 identifies a case where we have an atomic increment, but not an - atomic exchange. We need both to implement atomic reference counting, so - add a second check to detect whether __sync_val_compare_and_swap - generates a non-atomic instruction. - - Fixes http://bugs.freedesktop.org/show_bug.cgi?id=18140. - - build/aclocal.cairo.m4 | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 71e4f7e3a10e6c9794360473d0114b27b42bcead -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 20 23:54:57 2008 +0100 - - Add API documentation for NULL filenames and write_funcs. - - Mention in the API docs that you can pass a NULL filename to - cairo_(pdf|ps|svg)_surface_create in order to construct a queryable - surface without generating any temporary files. Similarly when passing a - NULL write_func to cairo_pdf_surface_create_for_stream et al. - - src/cairo-pdf-surface.c | 10 ++++++++-- - src/cairo-ps-surface.c | 10 ++++++++-- - src/cairo-svg-surface.c | 10 ++++++++-- - 3 files changed, 24 insertions(+), 6 deletions(-) - -commit 6cb2b29434ffd5e718868d90e31cb050904b3ea7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 20 23:22:16 2008 +0100 - - [mutex] s/HOLDS_MUTEX/MUTEX_IS_LOCKED/ - - Behdad prefers the latter to keep a clean namespace. - - src/cairo-mutex-impl-private.h | 2 +- - src/cairo-mutex-type-private.h | 4 ++-- - src/cairo-scaled-font.c | 18 +++++++++--------- - 3 files changed, 12 insertions(+), 12 deletions(-) - -commit ae9d17c015867002895c8aa4e1c6dd1ef370dd20 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 20 22:31:17 2008 +0100 - - [directfb] Unbounded operators are unsupported. - - Currently the emulation of Porter-Duff operators does not correctly - handle the unbounded operators. - - src/cairo-directfb-surface.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit 1f35f31c4ee50dcc2f7c8616b9bbb5c45b4ed707 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 20 22:14:41 2008 +0100 - - [directfb] Fallback for SATURATE - - We're unable to satisfactorily emulate SATURATE using the src/dst blend - modes, so fallback. (Might just be a bug in libdirectfb...) - - src/cairo-directfb-surface.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit c7951c4a368baaeeadca4e2a18d3ad45225380a0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 20 22:04:58 2008 +0100 - - [directfb] Perfom text fallback if emulating clip regions. - - Fallback if we have a clip that is not a simple region. - - src/cairo-directfb-surface.c | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -commit 98933fd4b8579b68623a8212015769b058db43f5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 20 20:59:14 2008 +0100 - - [directfb] When blitting check if we need the un-premultiplied color. - - When blitting whether we need to use the premultiplied color is dependent - upon the destination surface capabilities. - - src/cairo-color.c | 3 ++ - src/cairo-directfb-surface.c | 75 ++++++++++++++++++++++++++++++-------------- - 2 files changed, 54 insertions(+), 24 deletions(-) - -commit 4af8aa5f4d31141a6a4ba914cc860aff5d342d5b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 20 20:15:12 2008 +0100 - - [directfb] Apply clip to release_dest_image() - - We need to respect the current clip when copying the fallback image back to - the target surface. - - src/cairo-directfb-surface.c | 23 ++++++++++++++--------- - 1 file changed, 14 insertions(+), 9 deletions(-) - -commit 0ba5085ba06fd1c0ff1ebc88111d4573675a2e17 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 20 19:41:20 2008 +0100 - - [directfb] Fix OBO in clip. - - DirectFB seems to use inclusive upper bounds. - - src/cairo-directfb-surface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 2743e84171fd2a548ac37b1fdd3611d319acded0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 20 19:32:21 2008 +0100 - - [directfb] Force NEAREST. - - The current version of DirectFB does not support any filters, so set - NEAREST on the source patterns so that we can fully optimize the pattern - inside core. - - src/cairo-directfb-surface.c | 5 +++++ - 1 file changed, 5 insertions(+) - -commit f1669d31c0064b8ffbc7db2527fed85488fb305c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 20 19:03:33 2008 +0100 - - [directfb] Track the empty clip rectangle. - - A region with no extents means everything should be clipped out, so we - need an extra flag to disambiguate when we have 0 clip rectangles. - - src/cairo-directfb-surface.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit ebe3048f9b74ff949795a807a7076ec756150ede -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 20 18:59:03 2008 +0100 - - [directfb] Cap the maximum surface size to use for the font cache. - - Fallback if we need to create a cache larger than the maximum usable - surface. - - src/cairo-directfb-surface.c | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -commit 6f35c2d13e4cb736634bf446d3b8ee38cc6a6b9b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 20 18:39:45 2008 +0100 - - [directfb] Only use the pure BLIT for integer translations. - - If we have non-integer translation on a source pattern then we need to use - STRECTHBLIT (the core takes care to optimize NEAREST patterns to integer - translations so that this will only be used when interpolation is - required). - - src/cairo-directfb-surface.c | 30 +++++++++++++++++++++++------- - 1 file changed, 23 insertions(+), 7 deletions(-) - -commit 55bb7087b0236fe27980efda829f7b72e047b316 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 20 16:47:41 2008 +0100 - - [directfb] Tweak _categorize_operation(). - - Explicitly list the extend modes that are supported/unsupported and - immediately check for an unsupported operation. - - src/cairo-directfb-surface.c | 37 +++++++++++++++++++++++++------------ - 1 file changed, 25 insertions(+), 12 deletions(-) - -commit edb65213ec975e517165bc3b623f676a12917d0c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 20 16:46:08 2008 +0100 - - [directfb] Support ROI cloning. - - Only clone the ROI in order to efficiently handle large sources. - - src/cairo-directfb-surface.c | 11 ++++------- - 1 file changed, 4 insertions(+), 7 deletions(-) - -commit 4006e49ac1e96a983346f97be97bfd850f247ab0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 20 16:45:06 2008 +0100 - - [directfb] Rename backend structure. - - Use _cairo_directfb_surface_backend for consistency with other backends. - - src/cairo-directfb-surface.c | 37 ++++++++++++++++++++++++------------- - 1 file changed, 24 insertions(+), 13 deletions(-) - -commit 7e31ddbb08a6a7cf1db06c950c3768e54a5f4cfa -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 20 13:04:20 2008 +0100 - - [directfb] Whitespace. - - Trim lots of trailing whitespace and fix up according to CODING_STYLE. - - src/cairo-directfb-surface.c | 1478 +++++++++++++++++++++--------------------- - 1 file changed, 733 insertions(+), 745 deletions(-) - -commit d49563280b80dd85275057b6442d2f4ece8d724c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 20 12:49:52 2008 +0100 - - [directfb] Simplify return from _directfb_get_operator(). - - Used only as a predicate, so simply return a boolean. - - src/cairo-directfb-surface.c | 138 +++++++++++++++++++++---------------------- - 1 file changed, 68 insertions(+), 70 deletions(-) - -commit b17d0ded8cd42d84e97ca2c1fbd4aefedd570b8e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 20 12:48:02 2008 +0100 - - [directfb] Use the solid pattern cache. - - The dfb backend recreated a solid color surface for every colour, - completely bypassing the solid pattern cache. - - src/cairo-directfb-surface.c | 72 +++++++++++--------------------------------- - 1 file changed, 18 insertions(+), 54 deletions(-) - -commit 786bea48df0dc6d76b2ad00409804a803fe2f4b6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 20 12:19:50 2008 +0100 - - [boilerplate/directfb] Create ARGB surfaces on demand. - - Create an RGB or ARGB surface depending upon the content type of the test - target, with the result that the directfb rgb24 target no longer - unconditionally fails. - - boilerplate/cairo-boilerplate-directfb.c | 23 +++++++++++++---------- - 1 file changed, 13 insertions(+), 10 deletions(-) - -commit 4ba9ccc6ab5926d59696f86193f42df2195d7cda -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 20 23:07:38 2008 +0100 - - [configure.ac.analysis] s/safe/_save/ - - Rename the temporary variable in line with the convention used by the rest - of the build system. - - build/configure.ac.analysis | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 3a45b07af9743a26305c2576f838b4f3ef83bbb8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 20 10:37:46 2008 +0100 - - [perf] Free images for composite-checker - - Fix memleak of the image surfaces. - - perf/composite-checker.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 86356a9578dc248a755aceb7a04aef67a6c529b3 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 20 17:12:21 2008 +0100 - - [test] Add degenerate-dash to XFAIL. - - PS (ghostscript) interprets the degenerate end-caps quite differently, and - perhaps slightly more rationally... Add this to XFAIL, until we have a - definitive specification on how we should behave. - - test/Makefile.am | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 83d2552e4cafc9f86a8055abdf6caa685ed4922b -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Mon Oct 20 17:59:09 2008 -0400 - - Remove CAIRO_BEGIN_DECLS uses that ickle introduced while merging - - src/cairo-mutex-impl-private.h | 2 -- - src/cairo-mutex-type-private.h | 2 -- - 2 files changed, 4 deletions(-) - -commit eab37f76b0f26a7b007dd51debf4d4901310c8b0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Oct 19 22:12:18 2008 +0100 - - [directfb] Return an error surface on create() failure. - - Do not return NULL but an NO_MEMORY error surface if we fail to allocate - the surface during creation. - - src/cairo-directfb-surface.c | 21 ++++++++++----------- - 1 file changed, 10 insertions(+), 11 deletions(-) - -commit 6a02f53dd191605986b15e4757b16f599fe8de5f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Oct 19 14:21:15 2008 +0100 - - [directfb] Simplifiy ADD_TRI - - Simplify the ADD_TRI macro to make the code more readable. - - src/cairo-directfb-surface.c | 30 +++++++++++++----------------- - 1 file changed, 13 insertions(+), 17 deletions(-) - -commit aba457fe64f12598043b11ae076f0a93fe05eba7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Oct 19 14:03:24 2008 +0100 - - [directfb] Add missing error status - - We jumped to the ERROR path without setting an error status - assume - NO_MEMORY. - - src/cairo-directfb-surface.c | 1 + - 1 file changed, 1 insertion(+) - -commit 610451e4a7b079d30a73384a76f0aaab250c2970 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Oct 19 12:45:45 2008 +0100 - - [directfb] Correct fixed-to-double conversion. - - The trapezoid calculations had not been updated after the 16.16->24.8 - switch. Use _cairo_fixed_to_double() rather than open-coding. - - src/cairo-directfb-surface.c | 110 +++++++++++++++++++++---------------------- - 1 file changed, 54 insertions(+), 56 deletions(-) - -commit 8e0950ced8837a35b9dc0254860250f9fa1a9613 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Oct 19 12:11:13 2008 +0100 - - [boilerplate/directfb] Gracefully handle failure to create surface. - - Simply return NULL indicating failure to create the target surface rather - than aborting the test (allowing other targets to be tested). - - boilerplate/cairo-boilerplate-directfb.c | 230 +++++++++++++++++-------------- - 1 file changed, 130 insertions(+), 100 deletions(-) - -commit 801df1b87a585ebf71e6d3d74b815f3470b81ae9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Oct 19 11:55:20 2008 +0100 - - [directfb] Fix error propagation from surface_create() - - Do not mask fatal errors, but correctly propagate the error status. - - src/cairo-directfb-surface.c | 208 ++++++++++++++++++++++++------------------- - 1 file changed, 114 insertions(+), 94 deletions(-) - -commit 476d17fa788fcf173e58b963540c6557f846ceed -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Oct 19 11:35:27 2008 +0100 - - [directfb] Compile fix. - - Fixup compilation after 901f0b. - - src/cairo-directfb-surface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit d72969289db62b38ca024a41c0d8e0df480e7f8c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Oct 19 09:47:33 2008 +0100 - - [image] Remove unused variable. - - Cleanup the compiler warning for the unused status after code shuffling. - - src/cairo-image-surface.c | 1 - - 1 file changed, 1 deletion(-) - -commit f2ff7944264c23cbec856be3e85f240a93184f80 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 16 11:56:19 2008 +0100 - - [perf] A crude tool to visualise performance changes across a series. - - Generate a cairo-perf-diff graph for a series of commits in order to be - able to identify significant commits. Still very crude, but minimally - functional. - - configure.ac | 3 + - perf/.gitignore | 1 + - perf/Makefile.am | 26 +- - perf/Makefile.win32 | 6 +- - perf/cairo-perf-diff | 12 +- - perf/cairo-perf-diff-files.c | 458 ------------------------------- - perf/cairo-perf-graph | 205 ++++++++++++++ - perf/cairo-perf-graph-files.c | 593 +++++++++++++++++++++++++++++++++++++++++ - perf/cairo-perf-graph-widget.c | 450 +++++++++++++++++++++++++++++++ - perf/cairo-perf-graph.h | 63 +++++ - perf/cairo-perf-report.c | 456 +++++++++++++++++++++++++++++++ - perf/cairo-perf.c | 1 + - perf/cairo-perf.h | 61 ++++- - perf/cairo-stats.h | 8 - - 14 files changed, 1865 insertions(+), 478 deletions(-) - -commit 41c8eefc6d432ab213f6f405c3d6346adb7f7931 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 15 22:24:32 2008 +0100 - - [output-stream] Protect against NULL write_func. - - Allow the user to specify a NULL write_func for the output stream so that - a dummy surface can be created, for example, for querying target font - options or font extents. - - Currently we do not perform any sanity checks at the user entry point and - will generate a mysterious SEGV during cairo_surface_finish() - which may - not immediately be obvious that it is due to a NULL write_func. - - src/cairo-output-stream.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 84e4a825fffe3d78e95dec3406a86da6a23144c2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 15 22:15:17 2008 +0100 - - [output-stream] Accept a NULL filename - - Principally to support creating a dummy vector surface (i.e. - cairo_ps_surface_create (NULL, 1, 1)) that can be used to determine font - extents (or target font options) before opening an output file, but also - because we currently fail to do any sanity checking at the entry point. - - src/cairo-output-stream.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 52ea38f97b1b90e395c667619770482b10e5672e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Oct 18 00:44:29 2008 +0100 - - [meta] Acquire scaled_font mutex for glyph_path(). - - The caller of _cairo_scaled_font_glyph_path() is expected to be holding - the scaled_font->mutex. - - src/cairo-meta-surface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 299ea0580a646dc55fd0156f1904fe4b45ec5725 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Oct 18 00:37:38 2008 +0100 - - [user-font] Review locks under error conditions. - - Simplify the error handling by only relinquishing the global - scaled_font_map mutex if we successfully insert the placeholder font. The - result is that on the error path, there are no changes to global state and - thus we can entirely skip the user-font initialisation and - re-registration. - - src/cairo-scaled-font.c | 44 ++++++++++++++++++++++---------------------- - src/cairo-user-font.c | 39 +++++++++++++++++++++++---------------- - src/cairoint.h | 2 +- - 3 files changed, 46 insertions(+), 39 deletions(-) - -commit c76a8481f372fab8981231b257fdcc69466263d2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Oct 18 00:36:34 2008 +0100 - - [analysis] Check for error surfaces. - - If the target surface is an error surface, ensure that we return the - appropriate error surface. Likewise, avoid writing to error surfaces. - - src/cairo-analysis-surface.c | 16 +++++++++++++--- - 1 file changed, 13 insertions(+), 3 deletions(-) - -commit 5b28b0b903cb2fdb8a5614659d528bf12488389e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Oct 18 00:35:48 2008 +0100 - - [ps] Destroy type3 surface on error. - - After an error, ensure that the local type3 surface is destroyed. - - src/cairo-ps-surface.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 6b17c6da47c42dd04ed2acad723c25b6da41b51c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Oct 18 00:34:17 2008 +0100 - - [type3] Acquire scaled_font mutex whilst looking up glyphs. - - When looking up the glyph in the shared scaled_font glyph cache, the - caller is required to have taken the scaled_font->mutex. - - src/cairo-type3-glyph-surface.c | 50 ++++++++++++++++++++++++----------------- - 1 file changed, 30 insertions(+), 20 deletions(-) - -commit f56cf93181e73b4ba74f25ce14f7ed6c7cf36e83 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 17 22:13:53 2008 +0100 - - [user-font] Check for error objects. - - Check that the user has not passed in an inert error object before any - attempts to write to it and return the default values. - - src/cairo-user-font.c | 71 ++++++++++++++++++++++++++++++++++++++++++--------- - 1 file changed, 59 insertions(+), 12 deletions(-) - -commit 1f9f9d936b296dbe796b1436c7da7fa3462f7d59 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 17 15:39:56 2008 +0100 - - [pdf] Acquire scaled_font mutex for show_text_glyphs(). - - We need to be holding the scaled font mutex over a call to draw text - glyphs from within an smask group. - - src/cairo-pdf-surface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 12fb8c9b7c808ab20bee466aa28ee368559fd902 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 17 15:33:07 2008 +0100 - - [type1] Acquire scaled_font mutex. - - In order to perform glyph lookups we need to be holding the mutex for the - scaled_font. - - src/cairo-type1-fallback.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit ca5f868a73b35eda737ae6596efff91f82eeea75 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 17 15:26:20 2008 +0100 - - [scaled-font] Zero font extents for an error surface. - - Do not attempt to read from the error object, but just return zero - extents. - - src/cairo-scaled-font.c | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -commit 1ddf0b2a5c1f3d20b9a91acf7aae021f6b738485 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 17 10:35:38 2008 +0100 - - [surface] Reorder asserts to make no assumptions about error objects. - - If the surface is in error, then we cannot assume anything about the - validity of its contents other than the error status (and reference - count). This is for the cases were the surface is replaced by a nil - surface, and in future where the error surface may be replaced by a tiny - error object. - - src/cairo-surface.c | 94 ++++++++++++++++++++++++++--------------------------- - 1 file changed, 47 insertions(+), 47 deletions(-) - -commit 644e78ca4e6f72499fcf763acd53fa7235b0226d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 16 20:34:13 2008 +0100 - - [svg] Lock the scaled_font whilst emitting glyphs. - - We need to hold the scaled_font mutex whilst looking upon glyphs so lock - the font whilst iterating over the font subset. - - src/cairo-svg-surface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 4587e9e4f5c46656108b05f7a4841f78df14de26 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 16 19:11:09 2008 +0100 - - [scaled-font-subsets] Add locking to unscaled font. - - During map_glyph() we are passed a locked scaled_font for which we are - asked to add a glyph from that font into the active subsets for the - surface. This means that we eventually call scaled_glyph_lookup() to load - the glyph. But first, we attempt to find an existing an existing sub_font - for glyph, creating a new sub_font as necessary (possibly using an - entirely different unhinted scaled font). So before accessing the glyph - cache we need to make sure that we are holding the appropriate mutexes. - - src/cairo-scaled-font-subsets.c | 23 +++++++++++++++++------ - 1 file changed, 17 insertions(+), 6 deletions(-) - -commit d3a6651237a276c410885578c41fb505f83372ed -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 16 14:37:42 2008 +0100 - - [xlib] Set return code after failing to allocate glyph surface. - - Although we checked for an allocation error, we missed propagating the - status to the return error code. - - src/cairo-xlib-surface.c | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit bfc3a72cff1a3f9641dae7c9f121598a14eb9a5a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 16 14:06:03 2008 +0100 - - [gstate] Propagate error from clip. - - During clip transformation we query the clip extents which can trigger a - fatal error. Check and propagate. - - src/cairo-gstate.c | 33 +++++++++++++++++++++++---------- - 1 file changed, 23 insertions(+), 10 deletions(-) - -commit 7975cf3f2c0bc28b8b3c916d5ba725abb38b300d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 16 13:21:28 2008 +0100 - - [paginated] Free local reference to target on error path. - - On the error path we must destroy the local reference to the target - surface. - - src/cairo-paginated-surface.c | 1 + - 1 file changed, 1 insertion(+) - -commit 4662204a2a02d50e674f121d82bbb4fe1b8f1436 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 16 12:44:45 2008 +0100 - - [test-paginated] Fix double free of surface along error path. - - The ownership of the surface is transferred to the paginated surface, so - we do not need to destroy it ourselves along the error path. - - src/test-paginated-surface.c | 16 +++++++++------- - 1 file changed, 9 insertions(+), 7 deletions(-) - -commit bf3202fcfd281be3fa62c2d6719377a8f2a0dec4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 16 12:33:22 2008 +0100 - - [xlib] Fix double free of Pixmap along error path. - - If the paint fails then we attempt to free the Pixmap ourselves and via - the cairo_surface_destroy (as it also believes that it owns the Pixmap). - - src/cairo-xlib-surface.c | 16 ++++++++++------ - 1 file changed, 10 insertions(+), 6 deletions(-) - -commit 901f0b540c764e131dd9745def329308af61b3d5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 16 12:19:09 2008 +0100 - - Review backend->create_similar() - - Avoid masking fatal errors by enforcing any error to be returned via an - error surface, so that the NULL return only means UNSUPPORTED. A few - backends called their create_similar() directly, without correctly checking - for a potential NULL (for example, the directfb backend was a timebomb, - since it used NULL to indicate out-of-memory). - - src/cairo-directfb-surface.c | 18 ++++++++++-------- - src/cairo-glitz-surface.c | 17 +++++++++++------ - src/cairo-quartz-surface.c | 4 ++-- - src/cairo-surface.c | 8 ++------ - src/cairo-win32-surface.c | 16 ++++++++++++---- - src/cairo-xcb-surface.c | 2 ++ - 6 files changed, 39 insertions(+), 26 deletions(-) - -commit 9529699028a5c7a3b0f81f945d25f26285247a11 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Oct 19 09:35:07 2008 +0100 - - [test/user-font-rescale] Check and propagate errors. - - We need to check the error status on set_user_data() to be sure that the - data has been set and error otherwise. - - test/user-font-rescale.c | 63 ++++++++++++++++++++++++++++++------------------ - 1 file changed, 40 insertions(+), 23 deletions(-) - -commit 683de2fea2d8cdeea9759cbf3ab7492d634e7af2 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Oct 18 00:01:39 2008 +0100 - - [test/user-font[-proxy]] Check for error from set_user_data(). - - Check in case we fail to attach our user_data. - - test/user-font-proxy.c | 69 ++++++++++++++++++++++++++++---------------------- - test/user-font.c | 24 ++++++++++++++---- - 2 files changed, 58 insertions(+), 35 deletions(-) - -commit 198392990082e01443bbda5c0cbe6dc8bf090baf -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 17 22:14:49 2008 +0100 - - [test/bitmap] Leak on error path. - - Free the FcPattern on error. - - test/bitmap-font.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit 0409be426cb7f67974346a93213dd4675b59776c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 16 14:26:15 2008 +0100 - - [test/font-matrix-translation] Check for OOM - - First check that querying the extents did not trigger NO_MEMORY. - - test/font-matrix-translation.c | 5 +++++ - 1 file changed, 5 insertions(+) - -commit 21360bf6748b30cf58d54561e40a1aa711d8d7af -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 17 20:44:51 2008 +0100 - - [test/source-surface-big-scaled-down] Propagate error. - - Propagate error to source. - - test/surface-pattern-big-scale-down.c | 43 ++++++++++++++++++++--------------- - 1 file changed, 25 insertions(+), 18 deletions(-) - -commit 794160c35baf39593942ba71b45e4e75d2a87103 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 17 20:37:43 2008 +0100 - - [test/surface-pattern] Propagate error. - - Use cairo_get_target() to propagate error from secondary context. - - test/surface-pattern.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit 0f48cce8d90cf95afcf86d71a932ab4e504b909b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 17 20:31:57 2008 +0100 - - [test/source-clip-scale] Propagate error. - - Use cairo_get_target() to propagate error from secondary context. - - test/source-clip-scale.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 6cdbd132ceba159bb7e3ac5612aa79293b21e95a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 17 20:22:49 2008 +0100 - - [test/source-clip] Propagate error. - - Use cairo_get_target() to propagate error from the secondary context. - - test/source-clip.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit f86f233b3e49c3f401b2fa02987b2193485e8be5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 17 20:14:06 2008 +0100 - - [test/smask] Propagate error. - - Use cairo_get_target() to propagate errors from the secondary context. - - test/smask.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 4490a6c363a8745ba89bfa890519a570d098086e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 17 19:15:17 2008 +0100 - - [test/stroke-image] Propagate error - - Use cairo_get_target() to propagate errors from the secondary context. - - test/stroke-image.c | 19 +++++++++++-------- - 1 file changed, 11 insertions(+), 8 deletions(-) - -commit 6e6d7e52a3c16787633e5059ae36f2fb0d03148a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 17 19:02:31 2008 +0100 - - [test/mask] Propagate error from secondary context. - - Reset the source every time so that the error is propagate from the - secondary context using cairo_get_target(). - - test/mask.c | 6 +----- - 1 file changed, 1 insertion(+), 5 deletions(-) - -commit a56d4530d6149e2c4fc884a5cfeede2d6ff6d3b6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 17 15:54:21 2008 +0100 - - [test/smask-text] Propagate error. - - Use cairo_get_target() to propagate error from the secondary context. - - test/smask-text.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit b1e884cd89ab2b83d3b8e072414e4e3f63e3a023 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 17 15:52:55 2008 +0100 - - [test/smask-stroke] Propagate error. - - Use cairo_get_target() to propagate the error from the secondary context. - - test/smask-stroke.c | 13 ++++++------- - 1 file changed, 6 insertions(+), 7 deletions(-) - -commit 546fbc2c0cf87abd627477056bf19063c5aa001a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 17 15:50:25 2008 +0100 - - [test/smask-paint] Propagate error. - - Use cairo_get_target() to propagate errors from the secondary context. - - test/smask-paint.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 8bd69132827fa539d9dfb65bd00e00c079827360 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 17 15:49:02 2008 +0100 - - [test/smask-mask] Propagate error. - - Use cairo_get_target() to propagate errors from the secondary contexts. - - test/smask-mask.c | 46 ++++++++++++++++++++++------------------------ - 1 file changed, 22 insertions(+), 24 deletions(-) - -commit 9c0fe6c61e92044e8599f49e75d38edcdd6be960 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 17 15:45:07 2008 +0100 - - [test/smask-image-mask] Propagate error. - - Use cairo_get_target() to propagate any error status from the secondary - context. - - test/smask-image-mask.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit 373d6c76b65e826f81873b51461bdf3c30024c06 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 17 15:43:26 2008 +0100 - - [test/smask-fill] Propagate error status. - - Use cairo_get_target() to propagate the error from the secondary context. - - test/smask-fill.c | 13 ++++++------- - 1 file changed, 6 insertions(+), 7 deletions(-) - -commit bb05beaab626d2fca6d219bfd8148dde71073b39 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 17 15:27:11 2008 +0100 - - [test/show-glyphs-many] Check for NO_MEMORY - - As we do a manual status check, we need to perform a full check. - - test/show-glyphs-many.c | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - -commit c0a4ef76e17dfd43d248c13b7f0665da9b847316 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 17 14:57:42 2008 +0100 - - [test/composite-integer-translate-over-repeat] Propagate error. - - Use cairo_get_target() to propagate any errors from the secondary context. - - test/composite-integer-translate-over-repeat.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit 4a9e0f0e5ba17a322bbf0f38b2fb418211571d48 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 16 16:50:32 2008 +0100 - - [test/mask] Propagate error from secondary context. - - Use cairo_get_target() to infect the primary context with any errors - raised whilst drawing the mask. - - test/mask.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -commit eaec1caa94ac871eb881ac354c4442ddd2a308ea -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 16 16:20:28 2008 +0100 - - [test/ft-text-*] Check for errors from fontconfig. - - If a match cannot be found, or if any other error occured, then fontconfig - will return NULL. Check and propagate. - - test/ft-text-antialias-none.c | 31 ++++++++++++++++++++++++++----- - test/ft-text-vertical-layout-type1.c | 31 ++++++++++++++++++++++++++----- - test/ft-text-vertical-layout-type3.c | 31 ++++++++++++++++++++++++++----- - 3 files changed, 78 insertions(+), 15 deletions(-) - -commit 336eddfdbb31865e3669ceb775089c63ce1db27f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 16 17:19:12 2008 +0100 - - [test/get-clip] Check the status on the secondary context. - - As we solely use a secondary context, we must manually report NO_MEMORY - errors whilst running under memfault. - - test/cairo-test.c | 14 +++++++- - test/cairo-test.h | 4 +++ - test/get-clip.c | 98 ++++++++++++++++++++++++++++--------------------------- - 3 files changed, 67 insertions(+), 49 deletions(-) - -commit d48f9340514c258cfece1b72d2f7e3f7b2d3c7b1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 16 14:05:14 2008 +0100 - - [test/clip-operator] Propagate error from secondary context. - - Use the cairo_get_target() to propagate any errors from the secondary - context. - - test/clip-operator.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -commit d11014386f739f43ec5f290714d7c51cc638f172 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 5 13:37:07 2007 +0100 - - Add support for lockdep. - - lockdep is a valgrind skin which performs pthread locking correctness - validation. In particular it allows one to write assert(HOLDS_LOCK(mutex)) - which both documents the preconditions for a function and enforces them - when the program is run under lockdep. - - As an aide to lockdep (as it works by intercepting the pthread functions), - all the mutexes should be initialised and destroyed using - pthread_mutex_init() and pthread_mutex_destroy() rather than using static - initializers and no-ops. - - src/cairo-mutex-impl-private.h | 14 ++++++++++++++ - src/cairo-mutex-type-private.h | 6 +++++- - src/cairo-scaled-font.c | 13 +++++++++++++ - 3 files changed, 32 insertions(+), 1 deletion(-) - -commit bccfdf7d93c2a92a342127fc212770f4053cb2cf -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 16 13:47:27 2008 +0100 - - [test] Add support for memfault. - - Add the core support to cairo-test for running the test-suite under a - malloc fault injector. This commit contains the adjustments to - cairo_test_run() to repeat the test if it detects a failure due to fault - injection and complains if it detects unreported faults or memory leaks. - - build/configure.ac.analysis | 17 +++ - test/cairo-test.c | 271 ++++++++++++++++++++++++++++++++++---------- - test/cairo-test.h | 10 +- - 3 files changed, 239 insertions(+), 59 deletions(-) - -commit 974fabfe059f9744116d20fd9f8b59f1b8c34b70 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 17 18:52:51 2008 +0100 - - [ft] Add more comments about FT_Face lifetime issues. - - Currently we only have an example of how to call FT_Done after the last - reference to the FT cairo_font_face_t has been dropped, but do not - actually explain why this needs to be done. So add a couple of sentences - to clarify the likely lifetime of the FT_Face once exposed to cairo. - - src/cairo-ft-font.c | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -commit 5fcfc7ebc9a2d1d947898d269be7ba91d27c5261 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 16 17:13:45 2008 +0100 - - [test/README] Document all fonts used. - - Do a little leg-work to answer a query in a bug report and document the - results. - - test/README | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -commit c1164a574d3e2cc4746384875d5c2781114c0ea4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Oct 16 08:49:13 2008 +0100 - - [type1] Add comment to warn about read() as macro. - - In case we are ever tempted to simplify the function pointer, warn that it - may alias with a macro. - - src/cairo-type1-subset.c | 5 +++++ - 1 file changed, 5 insertions(+) - -commit ff9ee74b37a88cba2e996bf0cdae1af6b6c6fe30 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Thu Oct 16 17:29:33 2008 +1030 - - Revert unintended changes to test/fallback-resolution.c in the previous commit - - test/fallback-resolution.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 5911c6966de832fa350a6e9a4d587b7c3b3b4825 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Thu Oct 16 17:22:48 2008 +1030 - - Use correct inverse ctm for stroke in meta surface replay - - This fixes #9189 Dashed strokes too long in fallback images - - src/cairo-meta-surface.c | 2 +- - test/fallback-resolution.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 6afcd821182137e8c3f128f9600e97cff79978b8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 15 22:41:26 2008 +0100 - - [test] Add a spline test. - - Test the decomposition of 5 different types of spline curve. Useful test - for future experiments in improving the decomposition algorithm. - - Note: the vector targets all need separate reference images due to their - lack of support for cairo_set_tolerance(). Also GS strokes the Bezier - curve differently using offset curves and opposed to transcribing the - outline of a pen. - - test/.gitignore | 1 + - test/Makefile.am | 7 + - test/spline-decomposition-pdf-ref.png | Bin 0 -> 20404 bytes - test/spline-decomposition-ps2-ref.png | Bin 0 -> 8957 bytes - test/spline-decomposition-ps3-ref.png | Bin 0 -> 8957 bytes - test/spline-decomposition-ref.png | Bin 0 -> 20402 bytes - test/spline-decomposition-svg11-ref.png | Bin 0 -> 20404 bytes - test/spline-decomposition-svg12-ref.png | Bin 0 -> 20404 bytes - test/spline-decomposition.c | 416 ++++++++++++++++++++++++++++++++ - 9 files changed, 424 insertions(+) - -commit 91b0dc92c8ede189d942188f92068f189907e239 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 15 22:27:53 2008 +0100 - - [build] Add -fno-common. - - Generate a warning if two files define a global variable with the same - name, instead of silently merging them to reference the same location. - - build/configure.ac.warnings | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b94b600b34793cecd9a66d37dd34a6619738e2c2 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Wed Oct 15 13:41:03 2008 -0400 - - [quartz] Completely remove CAIRO_HAS_QUARTZ_IMAGE_SURFACE check - - Instead of fixing the check in d36b02dc662e623bee58a69c32b149a242cbf52b, just - remove it. Conditionally compilation will keep cairo-quartz-image-surface.c - from being compiled in when it is not configured to be. Suggested by Behdad. - - src/cairo-quartz-image-surface.c | 4 ---- - 1 file changed, 4 deletions(-) - -commit d36b02dc662e623bee58a69c32b149a242cbf52b -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Wed Oct 15 12:45:11 2008 -0400 - - [quartz] Rebalance 'CAIRO_HAS_QUARTZ_IMAGE_SURFACE' #ifdef - - Fixes compilation by re-adding '#ifdef CAIRO_HAS_QUARTZ_IMAGE_SURFACE' which - was, I assume, unintentionally removed by - 2cf4b3161c19b9b0349bd2aa94855fd0822968be. - - src/cairo-quartz-image-surface.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 83162360a44c4d4701f0ade2e2ee813f79186439 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Wed Oct 15 10:34:12 2008 -0400 - - Fix quratz_image typo in Makefile.sources. - - src/Makefile.sources | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 877e77fa3e85c09c29e64ca5ae7329346db029cc -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 15 12:20:00 2008 +0100 - - [glitz] Disable caching of solid surfaces. - - glitz currently has no mechanism to release resources upon connection - closure (ala XCloseDisplay) and so will attempt invalid accesses when - evicting old surfaces from the solid pattern cache. - - src/cairo-glitz-surface.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit fc04a1e0dbc3cefa51c7602e0a23dba886813fe5 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 15 12:13:40 2008 +0100 - - [boilerplate] Fixup compilation for gliitz. - - Convert a few old references to cairo_boilerplate_surface_set_user_data. - - boilerplate/cairo-boilerplate-glitz.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit e17f02add019d9acf461a1ad1245ba5be00cf336 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 15 10:52:33 2008 +0100 - - [type1] Protect against read macro - - POSIX allows for any of its functions to be implemented as a macro, - inflicting damage upon innocent function pointers that happen to share - the same name. - - face->stream->read() is one such example. - - As it's outside of our control (being a FT_Face) we cannot simply rename - the data member, so we need to explicitly dereference it as a function - pointer in order to disambiguate it for the compiler. - - src/cairo-type1-subset.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit bc872a5f5fb9b6318dc78d132da46a6b201f75c7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 15 10:21:05 2008 +0100 - - [xlib] Handle 4,20,24,28 depth XImages - - Bug 9102 cairo doesn't support 24 bits per pixel mode on X11 - (https://bugs.freedesktop.org/show_bug.cgi?id=9102) - is a reminder that that we need to support many obscure XImage formats. - With Carl's and Behdad's work to support psuedocolor we have a mechanism - in place to handle any format that is not natively handled by pixman. The - only piece we were missing was extending the swapper to handle all-known - formats and putting in defensive checks that pixels were correctly aligned - in accordance with pixman's requirements. - - src/cairo-image-surface.c | 13 ++++----- - src/cairo-xlib-surface.c | 70 +++++++++++++++++++++++++++++++++++++++-------- - src/cairoint.h | 2 +- - 3 files changed, 66 insertions(+), 19 deletions(-) - -commit 1728fa352011c570ce1bcc3bd14897e789c85252 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 15 09:23:01 2008 +0100 - - [svg] Add notes about why we shouldn't add DOCTYPE. - - Emmanuel Pacaud did some research into adding DOCTYPE after we had a - complaint that our SVG output failed to be validated by batik. The - conclusion he came to was that the validation of SVG was incomplete and - misleading, i.e. our output might generate false negatives leading to more - confusion. - - src/cairo-svg-surface.c | 22 ++++++++++++++++++++++ - 1 file changed, 22 insertions(+) - -commit e9f5ee6efe7725c1e0e32fa9e85cca61ecb93440 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 14 14:42:48 2008 +0100 - - [doc] Fix a few gtk-doc errors. - - gtk-doc insists on a non-empty long description, even for trivial - functions that are fully described by their input arguments and return - value. Grrr. - - src/cairo-gstate.c | 4 ++++ - src/cairo-os2-surface.c | 2 ++ - src/cairo-scaled-font.c | 14 +++++++------- - src/cairo-surface.c | 4 +++- - src/cairo-unicode.c | 6 ++++-- - 5 files changed, 20 insertions(+), 10 deletions(-) - -commit 595414bb787d570ac95fc91c58c370558e9d5a54 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 14 14:24:49 2008 +0100 - - [test/fallback-resolution] Extend to cover separate ppi x/y. - - Adrian Johnson proposed a hack that fixed the current test by simply - scaling the dashed stroke by device_transform.xx. Obviously this exposes a - deficiency in the test case. So add an outer loop to iterate over several - common ppi for both x and y and in doing so reveal more ugly artifacts in - the current fallback code. - - test/Makefile.am | 42 ++++- - ....png => fallback-resolution-ppi150x150-ref.png} | Bin - test/fallback-resolution-ppi150x300-ref.png | Bin 0 -> 6848 bytes - test/fallback-resolution-ppi150x37.5-ref.png | Bin 0 -> 13176 bytes - test/fallback-resolution-ppi150x600-ref.png | Bin 0 -> 6338 bytes - test/fallback-resolution-ppi150x72-ref.png | Bin 0 -> 8370 bytes - test/fallback-resolution-ppi150x75-ref.png | Bin 0 -> 10445 bytes - test/fallback-resolution-ppi300x150-ref.png | Bin 0 -> 6851 bytes - ....png => fallback-resolution-ppi300x300-ref.png} | Bin - test/fallback-resolution-ppi300x37.5-ref.png | Bin 0 -> 12870 bytes - test/fallback-resolution-ppi300x600-ref.png | Bin 0 -> 4848 bytes - test/fallback-resolution-ppi300x72-ref.png | Bin 0 -> 7053 bytes - test/fallback-resolution-ppi300x75-ref.png | Bin 0 -> 9617 bytes - test/fallback-resolution-ppi37.5x150-ref.png | Bin 0 -> 12728 bytes - test/fallback-resolution-ppi37.5x300-ref.png | Bin 0 -> 11981 bytes - ...ng => fallback-resolution-ppi37.5x37.5-ref.png} | Bin - test/fallback-resolution-ppi37.5x600-ref.png | Bin 0 -> 11654 bytes - test/fallback-resolution-ppi37.5x72-ref.png | Bin 0 -> 12990 bytes - test/fallback-resolution-ppi37.5x75-ref.png | Bin 0 -> 13787 bytes - test/fallback-resolution-ppi600x150-ref.png | Bin 0 -> 6096 bytes - test/fallback-resolution-ppi600x300-ref.png | Bin 0 -> 4812 bytes - test/fallback-resolution-ppi600x37.5-ref.png | Bin 0 -> 12401 bytes - ....png => fallback-resolution-ppi600x600-ref.png} | Bin - test/fallback-resolution-ppi600x72-ref.png | Bin 0 -> 6398 bytes - test/fallback-resolution-ppi600x75-ref.png | Bin 0 -> 8974 bytes - test/fallback-resolution-ppi72x150-ref.png | Bin 0 -> 8069 bytes - test/fallback-resolution-ppi72x300-ref.png | Bin 0 -> 6803 bytes - test/fallback-resolution-ppi72x37.5-ref.png | Bin 0 -> 13147 bytes - test/fallback-resolution-ppi72x600-ref.png | Bin 0 -> 6245 bytes - ...ef.png => fallback-resolution-ppi72x72-ref.png} | Bin - test/fallback-resolution-ppi72x75-ref.png | Bin 0 -> 10628 bytes - test/fallback-resolution-ppi75x150-ref.png | Bin 0 -> 9940 bytes - test/fallback-resolution-ppi75x300-ref.png | Bin 0 -> 9003 bytes - test/fallback-resolution-ppi75x37.5-ref.png | Bin 0 -> 14020 bytes - test/fallback-resolution-ppi75x600-ref.png | Bin 0 -> 8455 bytes - test/fallback-resolution-ppi75x72-ref.png | Bin 0 -> 10202 bytes - ...ef.png => fallback-resolution-ppi75x75-ref.png} | Bin - test/fallback-resolution.c | 199 +++++++++++---------- - 38 files changed, 139 insertions(+), 102 deletions(-) - -commit 0d3e152d2fe28b22a27dd6b9f82e2047aea3be94 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 14 13:44:47 2008 +0100 - - [check-doc-syntax.sh] Allow quoting. - - func_regexp was incorrectly complaining that cairo_pure was a function without - parenthesis. The simplest solution appeared to be allow quoting of - 'cairo_pure'. - - src/cairo-compiler-private.h | 22 +++++++++++----------- - src/check-doc-syntax.sh | 6 +++--- - 2 files changed, 14 insertions(+), 14 deletions(-) - -commit 02a7ca80f9f9b62deff6c8ba4dc58fee0cebcaa6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 14 11:08:43 2008 +0100 - - [pattern] Correctly optimize away fractional translations. - - As is so often the case, reading the commit log gives you fresh insight in - the problem - often called confessional debugging... - - We can simplify the problem by ignoring attr->[xy]_offset, for the time - being, and focus on computing the correct matrix. This is comparatively - simple as all we need to do is perform the appropriate rounding on the - translation vector. - - src/cairo-pattern.c | 18 ++++++++++-------- - 1 file changed, 10 insertions(+), 8 deletions(-) - -commit 9886cb3353eb02ce5b99d555a35b13b8347f8e87 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 14 10:23:41 2008 +0100 - - [pattern] Only perform non-integer optimization for identity matrices. - - A complication I realised after pushing 3eb4bc3 was handling larger - sampled areas. Extending the test case revealed that the optimization - was broken for anything but the identity transform (after removing the - translation). Correctness first, leaving the "pixel-exact" solution for - interested reader... - - src/cairo-pattern.c | 16 ++++++---------- - test/filter-nearest-transformed-pdf-ref.png | Bin 373 -> 548 bytes - test/filter-nearest-transformed-ref.png | Bin 151 -> 570 bytes - test/filter-nearest-transformed-svg11-ref.png | Bin 217 -> 559 bytes - test/filter-nearest-transformed-svg12-ref.png | Bin 217 -> 559 bytes - test/filter-nearest-transformed.c | 24 ++++++++++++++++++++++++ - 6 files changed, 30 insertions(+), 10 deletions(-) - -commit 8dc3deecb8e0ca2f84d996096230f27ab4c24c18 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 14 08:17:23 2008 +0100 - - Add documentation for function attributes 'pure' and 'const'. - - Carl suggested that cairo_pure and cairo_const are pretty opaque, even to - the developer who added them, so it is extremely important that they have - a good description so that they are used correctly and perhaps ported to - other compilers. - - src/cairo-compiler-private.h | 20 ++++++++++++++++++++ - 1 file changed, 20 insertions(+) - -commit 6aa1143d5a8ec45fc793102a64e956d7d1c7ad01 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 13 23:49:17 2008 +0100 - - Update documentation to remove references to cairo_has_show_text_glyphs(). - - With the addition of cairo_show_text_glyphs() came a couple of functions - to query whether the target supported the extended attributes. However, - at Carl's request cairo_has_show_text_glyphs() was removed - but the - documentation was not updated to reflect that. - - NEWS | 2 +- - src/cairo-surface.c | 3 --- - src/cairo.c | 6 +++--- - 3 files changed, 4 insertions(+), 7 deletions(-) - -commit b2053945df35d4d7eea9fe3200e9c018705309d1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 13 23:39:47 2008 +0100 - - [scaled-font] Correct documentation for cairo_scaled_font_create(). - - Fix the documentation not to suggest that NULL is a legal value for - font_options (as we temporarily made it during the 1.[57] dev cycle). - - src/cairo-scaled-font.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 3eb4bc37577e905d93a1935e7a9cd33ae8dbda15 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 13 23:26:04 2008 +0100 - - [pattern] Optimize away fractional translation for NEAREST patterns. - - As identified in bug 15479, - Unpredictable performance of cairo-xlib with non-integer translations of a - source surface pattern - (https://bugs.freedesktop.org/show_bug.cgi?id=15479), - source surfaces with a fractional translation hit slow paths for some - drivers, causing seemingly random performance variations. As a work-around - Owen Taylor proposed that cairo could convert non-integer translations on - NEAREST sources patterns to their integer equivalents. - - The messy detail involved here is replicating the rounding mode used by - pixman for the sample offset, but otherwise the conversion is fairly - trivial. - - src/cairo-pattern.c | 35 +++++++++ - test/.gitignore | 1 + - test/Makefile.am | 5 ++ - test/filter-nearest-transformed-pdf-ref.png | Bin 0 -> 373 bytes - test/filter-nearest-transformed-ref.png | Bin 0 -> 151 bytes - test/filter-nearest-transformed-svg11-ref.png | Bin 0 -> 217 bytes - test/filter-nearest-transformed-svg12-ref.png | Bin 0 -> 217 bytes - test/filter-nearest-transformed.c | 103 ++++++++++++++++++++++++++ - 8 files changed, 144 insertions(+) - -commit ceab32e2c3d51c0dd29b105a5a390cdd8aa58f8f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Oct 12 12:11:12 2008 +0100 - - [win32] win32 also uses font subsets. - - Include win32 in the list of font subset users, fixes build when - cross-compiling. - - src/cairoint.h | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 1d3453eee50e4343995c5d3f225d18289fbcebec -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Oct 12 11:21:14 2008 +0100 - - [pattern] Rescale the linear pattern matrix to avoid overflow. - - As proof-of-principle, compute a scale factor to avoid overflow when - converting a linear pattern to pixman_fixed_t. Fixes test/huge-pattern, - but the principle should be extended to handle more cases of overflow. - - src/cairo-pattern.c | 48 +++++++++++++++++++++++++++++++----- - test/Makefile.am | 5 ++-- - test/huge-pattern-pdf-ref.png | Bin 0 -> 2716 bytes - test/huge-pattern-pdf-rgb24-ref.png | Bin 0 -> 2817 bytes - test/huge-pattern-ps3-ref.png | Bin 0 -> 1786 bytes - 5 files changed, 45 insertions(+), 8 deletions(-) - -commit ab1d106cba7aa4abe5f7253c089aadd15e0bb06d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Oct 11 19:52:28 2008 +0100 - - [xlib] Use the cached xrender formats. - - Use the cached formats for consistency and simplify several double pointer - dereferences. - - src/cairo-xlib-surface.c | 64 ++++++++++++++++++++++++++++++------------------ - 1 file changed, 40 insertions(+), 24 deletions(-) - -commit 6736faba3ebe4eae4c1d2aeeb3153eb6f12a32de -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Oct 11 18:10:16 2008 +0100 - - [test/any2ppm] Do not attempt to compile PS without spectre - - Since CAN_TEST_PS_SURFACE does not currently require spectre, we were - attempting to compile in spectre support for any2ppm even on systems - without libspectre installed. Fix that by adding a separate flag for - CAIRO_HAS_SPECTRE. - - configure.ac | 5 ++++- - test/Makefile.am | 2 +- - test/any2ppm.c | 28 ++++++++++++++++++++-------- - 3 files changed, 25 insertions(+), 10 deletions(-) - -commit b35871116243724b59738fce00b512818c83ea17 -Author: Benjamin Otte <otte@gnome.org> -Date: Sat Oct 11 00:18:11 2008 +0100 - - [test] Add huge pattern. - - Add a test case to exercise range overflow during gradient construction. - - test/.gitignore | 1 + - test/Makefile.am | 4 +++ - test/huge-pattern-ref.png | Bin 0 -> 1619 bytes - test/huge-pattern.c | 74 ++++++++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 79 insertions(+) - -commit 77070270813d2ca40d422e5301f75222d19e1d8f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 10 22:24:01 2008 +0100 - - [test] Use _POSIX_C_SOURCE for flockfile. - - From bug 18010 (https://bugs.freedesktop.org/show_bug.cgi?id=18010), - in order to make flockfile() available we need to set _POSIX_C_SOURCE and - according to the man page, the appropriate feature check is - _POSIX_THREAD_SAFE_FUNCTIONS. - - test/cairo-test.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit 34ff7e4ac42acfb2ab9921da21933113518bd8a0 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sat Oct 11 23:44:37 2008 +1030 - - Check that reads in truetype_reverse_cmap are within valid data - - Bulia Byak reported a bug where cairo was crashing with a particular - font. The font had an incorrect entry in the cmap table that caused - cairo to read from outside of the buffer allocated for the cmap. - - src/cairo-truetype-subset.c | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -commit a16ef6ead2b02120ca482aa3d2667e51b0c67e78 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 10 18:03:49 2008 +0100 - - [INSTALL] Mention pkg-config requirement - - Mention that building the configure script requires at least version 0.16 - of pkg-config. - - See the old bug: - Bug 4702 PKG_PROG_PKG_CONFIG: command not found - (https://bugs.freedesktop.org/show_bug.cgi?id=4702) - - INSTALL | 1 + - 1 file changed, 1 insertion(+) - -commit eba9d87d541d89804f70e56874538a249de08502 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 10 16:51:07 2008 +0100 - - [image] Warn about a potential NULL return after finish(). - - Improve the wording as suggested by - https://bugs.freedesktop.org/show_bug.cgi?id=12659 - to warn about the possibility of returning NULL even if the passed in - surface was an image surface. - - src/cairo-image-surface.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit ac3e4b4bea574c94de77ec15878d116b619ee3f4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Oct 10 14:00:32 2008 +0100 - - [xlib] Disable XRender support if the surface has no xrender_format - - Bug 11734: - XRender crashes due to NULL pointer from Cairo on SGI O2 - (https://bugs.freedesktop.org/show_bug.cgi?id=1173) - is an example of a case where we try to perform an XRender operation on a - surface with a format that was not supported by the XRender extension. By - marking the extension version as -1 on those surfaces, the current checks - for SURFACE_RENDER_HAS_* always correctly return false and prevent us try - to create a Picture with a NULL xrender_format. - - src/cairo-xlib-surface.c | 37 ++++++++++++++++++++++++------------- - 1 file changed, 24 insertions(+), 13 deletions(-) - -commit 8ac8e8c523abaa5db24c5303c671ff3487bf0801 -Author: Carlos Garcia Campos <carlosgc@gnome.org> -Date: Sun Sep 21 14:29:30 2008 +0200 - - [test] Add ps2png check program using libspectre - - Add a simple program to compliment pdf2png and svg2png. - - configure.ac | 1 + - test/Makefile.am | 8 ++++ - test/ps2png.c | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 122 insertions(+) - -commit 3e6afb353da1fee624b519f5a96b3303c7eb91ae -Author: Carlos Garcia Campos <carlosgc@gnome.org> -Date: Thu Oct 9 12:11:51 2008 +0100 - - [test/any2ppm] Enable PS conversion using libspectre. - - Complete the vector trilogy using libspectre to provide a similar - interface (to poppler and librsvg) around GhostScript. - - AUTHORS | 1 + - configure.ac | 20 ++++++++++++---- - test/Makefile.am | 4 ++-- - test/any2ppm.c | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- - 4 files changed, 90 insertions(+), 8 deletions(-) - -commit ddd1615a1777181c6e8db1dbafacb68535ed163a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 8 23:13:03 2008 +0100 - - [pattern] Remove incorrect assert. - - It's possible to reach that point without setting the filter to NEAREST, - for example if using FAST or GAUSSIAN. - - src/cairo-pattern.c | 1 - - 1 file changed, 1 deletion(-) - -commit c647c0bbca8694a14f5f5807b8349f0b0bb4987d -Author: Benjamin Otte <otte@gnome.org> -Date: Thu Oct 9 13:21:27 2008 +0200 - - [TEST] make imagediff work again - - It seems to have bitrotten - - test/imagediff.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -commit f644d78dc138a7ba920a108dfb058e9f0fdb5302 -Author: Björn Lindqvist <bjourne@gmail.com> -Date: Wed Oct 8 20:08:25 2008 +0100 - - [perf] Add composite performance test. - - Add a new test case to Cairo for checking the performance of Cairo's - equivalent to GDK's gdk_pixbuf_composite_color() operation. That is an - operation that happens to be extremely useful when viewing or editing - transparent images so I think it is important that it is as fast as - possible. - - AUTHORS | 1 + - perf/Makefile.am | 1 + - perf/cairo-perf.c | 1 + - perf/cairo-perf.h | 1 + - perf/composite-checker.c | 108 +++++++++++++++++++++++++++++++++++++++++++++++ - 5 files changed, 112 insertions(+) - -commit 96b083d3f0e47f919cb6d0f06735427eaea21565 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 8 18:53:46 2008 +0100 - - [test] Exercise degenerate dashes. - - Add a test case to capture the current behaviour when a segment ends on - an off/on dash transition. - - Originally filed as bug: - Miter artifacts for dashed strokes - https://bugs.freedesktop.org/show_bug.cgi?id=17973 - - test/.gitignore | 1 + - test/Makefile.am | 2 + - test/degenerate-dash-ref.png | Bin 0 -> 2005 bytes - test/degenerate-dash.c | 97 +++++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 100 insertions(+) - -commit 6487a147a2129f588aae900b048b2a801ef95ec0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 8 15:26:03 2008 +0100 - - [cairo.h] Be defensive when checking for _MSC_VER - - Since cairo.h is a public header file, we need to be careful so that it - can be compiled by random compilers and even users specifying "-Werror - -Wundef" (mentioning no names, Company). So replace the bare (and legal) - #if _MSC_VER - with - #if defined (_MSC_VER) - just in case. - - src/cairo.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 59141e56a723f741c87e2eaa37bf96e243ac5728 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 8 13:50:28 2008 +0100 - - [win32] Restore fine-grained fallback support for printing. - - Missed updating win32 when implementing the new paginated API to query - support for the fine-grained fallbacks. - - (Thanks to Adrian for spotting this oversight.) - - src/cairo-win32-printing-surface.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit 565c02a37e2d140a20867081eea9bb5de9999b1c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 8 11:06:42 2008 +0100 - - [svg] Use finer-grained fallbacks for SVG 1.2 - - The use of fine-grained fallbacks requires the native support of the - SOURCE operator applied to an image on the target surface. SVG 1.2 - introduces the "comp-op:src" mode fulfilling this criteria - so we can - enable fine-grained fallbacks for 1.2+. - - Update test/fine-grained-fallbacks to exercise this pathway in SVG 1.2 - - as SVG natively supported all the current operations within that test. - This reveals yet another librsvg bug in handling SVG 1.2. - - src/cairo-paginated-private.h | 9 ++- - src/cairo-paginated-surface.c | 47 +++++--------- - src/cairo-pdf-surface.c | 14 ++++- - src/cairo-ps-surface.c | 8 +++ - src/cairo-svg-surface.c | 34 +++++++--- - test/Makefile.am | 4 +- - test/finer-grained-fallbacks-ps2-argb32-ref.png | Bin 1047 -> 0 bytes - test/finer-grained-fallbacks-ps2-ref.png | Bin 0 -> 1356 bytes - test/finer-grained-fallbacks-ps2-rgb24-ref.png | Bin 819 -> 1096 bytes - test/finer-grained-fallbacks-ps3-argb32-ref.png | Bin 1047 -> 0 bytes - test/finer-grained-fallbacks-ps3-ref.png | Bin 0 -> 1356 bytes - test/finer-grained-fallbacks-ps3-rgb24-ref.png | Bin 819 -> 1096 bytes - test/finer-grained-fallbacks-ref.png | Bin 796 -> 1111 bytes - test/finer-grained-fallbacks-rgb24-ref.png | Bin 590 -> 1114 bytes - test/finer-grained-fallbacks.c | 79 +++++++++++++++++++++++- - 15 files changed, 147 insertions(+), 48 deletions(-) - -commit 0c777a3e0de0d48289432a3d66be68f8779b08a0 -Author: Vladimir Vukicevic <vladimir@pobox.com> -Date: Tue Oct 7 15:20:33 2008 -0700 - - [win32] Use wide-char versions of some API functions, for compat with Windows Mobile - - src/cairo-win32-surface.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit cf572b58e1197dac0ff1795b27b142c3e044cf45 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 7 09:55:03 2008 +0100 - - [tessellator] Compile fixes for !HAVE_INT64_T - - Fixup a couple of instances of implicit down-casting to 32bits from a - 64bit wide integer and add a new is_zero() predicate. - - src/cairo-bentley-ottmann.c | 14 +++++++------- - src/cairo-wideint-private.h | 10 +++++++++- - 2 files changed, 16 insertions(+), 8 deletions(-) - -commit 6b8c0559620ab23c4df1f381d2e95ffc307d2e2f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 7 09:43:45 2008 +0100 - - [tessellator] Avoid implicit promotion to 64bit integer. - - Avoid passing a 32bit integer as a cairo_int64_t in case we do not have a - 64bit native integral type. As a side-effect this means we can also use a - narrower multiply. - - src/cairo-bentley-ottmann.c | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -commit eaa4bd13926728e9da97a23df8a465ef2296049a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 7 21:09:16 2008 +0100 - - [pattern] After cloning adjust [xy]_offset if possible. - - For the simple case where the pattern matrix only contains an integer - translation then care is taken to convert that to a identity source matrix - with the translation applied to the [xy]_offsets. 5b97ee6525 broke this - guarantee by applying the clone offsets to the source matrix. So when the - source matrix is identity we can simply adjust the [xy]_offsets and - preserve the identity matrix. (This idea can be extended further by - removing any integer translation from the source matrix and storing it in - the [xy]_offsets as a means to extend the limited precision in - pixman_matrix_t - encountered when downscaling large images offset onto - the target surface.) - - src/cairo-pattern.c | 16 +++++++++++++--- - 1 file changed, 13 insertions(+), 3 deletions(-) - -commit 552cc09e6be2b704dc32f986c84640d50316c25c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 7 21:05:57 2008 +0100 - - [xlib] Check integer translation for XCopyArea. - - A precondition for using the core XCopyArea protocol is that the source - attributes contain only integer translations. However, we failed to apply - any integer translations from the source matrix to the XCopyArea offsets. - This worked prior to 5b97ee6525 as - _cairo_pattern_acquire_surface_for_surface() was careful to only generate - an identity matrix if the pattern matrix only contained an integer - translation (and thus we would use XCopyArea in the xlib backend). - - src/cairo-xlib-surface.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -commit 308485a3fc70bc4455a01990443c1f954b8a66f8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Oct 7 20:19:10 2008 +0100 - - [test] Add a test for a reported regression by Michael Natterer. - - mitch reported on irc that expose events in the gimp were suffering from - artifacts which he tracked down to a bug with clipping and source - surfaces. This is the cairo test case for that regression. - - test/.gitignore | 1 + - test/Makefile.am | 2 ++ - test/clipped-surface-ref.png | Bin 0 -> 401 bytes - test/clipped-surface.c | 70 +++++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 73 insertions(+) - -commit 28a3b546b91290f3377777adedcf7ab71e599188 -Author: Vladimir Vukicevic <vladimir@pobox.com> -Date: Tue Oct 7 10:25:46 2008 -0700 - - [win32] create_similar should fall back to DIBs if DDB creation fail - - src/cairo-win32-surface.c | 43 +++++++++++++++++-------------------------- - 1 file changed, 17 insertions(+), 26 deletions(-) - -commit 4ae37a97b3e415591caa611533f44db5a29cfb72 -Author: Vladimir Vukicevic <vladimir@pobox.com> -Date: Tue Oct 7 10:18:41 2008 -0700 - - [quartz] initialize do_reflect field correctly for pattern draws - - src/cairo-quartz-surface.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 8cf399b944294645833088ee2ac1313093948b66 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 6 18:59:15 2008 +0100 - - [test] Add a test to exercise the internal twin font - - Although Behdad promises that the rendering is subject to improvement, - introduce a test to check consistency across platforms and update as - required. - - test/.gitignore | 1 + - test/Makefile.am | 4 ++++ - test/twin-ps2-ref.png | Bin 0 -> 1167 bytes - test/twin-ps3-ref.png | Bin 0 -> 1167 bytes - test/twin-ref.png | Bin 0 -> 1836 bytes - test/twin.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++ - 6 files changed, 65 insertions(+) - -commit 1f813ff04022a36a91bf9d1b0f7f2ae1c63b399f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 6 17:55:37 2008 +0100 - - [array] Silence gtk-doc complaints. - - gtk-doc fails make check for array as it insists that even the simplest - functions must have a long description and cannot be entirely described by - their arguments and return value. - - src/cairo-array.c | 26 ++++++++++++++++++++------ - 1 file changed, 20 insertions(+), 6 deletions(-) - -commit 7cb9ccb4cb2106bb59e181ee284f8dcc5504eb7a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 6 17:44:03 2008 +0100 - - Fixup a couple of trivials doc warnings. - - Correct the 'Returns' statement to match what gtk-doc expects. - - src/cairo-cache.c | 3 +-- - src/cairo-pattern.c | 5 ++--- - 2 files changed, 3 insertions(+), 5 deletions(-) - -commit d6f0351b6cbb0d542a069eb5d0a7377eb85a6e4e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 6 17:17:04 2008 +0100 - - [skiplist] Avoid repeated calls to compare on the same element when inserting. - - During insertion we must traverse the skiplist in order to find the - insertion point for the new element. As we descend each level, the next - element in the chain for this level is sometimes the same as the one we - just compared against (and know that the new element is greater than). - Hence we can skip the search on that level and descend to the next. During - world_map this reduces the number of calls into _sweep_line_elt_compare() - by ~2.5% (and when performing trapezoidation on strokes gives a similar - speed up of about 2% - not bad for the addition of a single line.) - - src/cairo-skiplist.c | 16 ++++++++++------ - 1 file changed, 10 insertions(+), 6 deletions(-) - -commit 1440399625ae0579d0748475fc924cfe74339a21 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 6 16:15:29 2008 +0100 - - [hull] Replace open-coding of 64bit arithmetic. - - Use primitives from cairo-wideint-private.h - in this case it helps to - make the code more readable as well as reduce dependence on native 64bit - integers. - - src/cairo-hull.c | 31 +++++++++++++++++++------------ - 1 file changed, 19 insertions(+), 12 deletions(-) - -commit c6a6bf580fa7036e4c28137f8c038beb5c347244 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 6 16:13:21 2008 +0100 - - [slope] Replace open-coding 64bit integer arithmetic. - - Prefer to use the operations form cairo-wideint-private.h in order to - improve readability and reduce our assumptions on the availability of - 64bit integers. - - src/cairo-slope.c | 14 ++++++-------- - 1 file changed, 6 insertions(+), 8 deletions(-) - -commit 5e3fcb7934f568bb7e304a1c434a9370b693df17 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Oct 6 17:02:54 2008 +0100 - - [wideint] Declare the wideint arithmetic functions as const. - - 'const' is a stricter form of 'pure' in that functions declared with that - attribute do not access any values other than their arguments (in - contrast to 'pure' which is allowed to read from global memory). - - src/cairo-compiler-private.h | 2 ++ - src/cairo-wideint-private.h | 2 +- - 2 files changed, 3 insertions(+), 1 deletion(-) - -commit 9430bf57ebc86c79e28128e54aeb5a194c9cad03 -Author: Carl Worth <cworth@cworth.org> -Date: Mon Oct 6 14:00:37 2008 -0700 - - Fix scrambled version number in generated documentation. - - In the cairo 1.8.0 release the documentation would get generated with - the second and third version components transposed, (so it would say - 1.0.8). Fix the obviously mistaken transposition. - - doc/public/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 5beae8f530fe7056fa965cb5ca7b345a667e8122 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Mon Oct 6 12:43:42 2008 -0400 - - [Makefile.am.releasing] Make 'make snapshot' print a banner when done - - Copied from "make distcheck" implementation. Prints something like: - - ============================================================= - cairo-1.8.1-20081006-38de89 archives ready for distribution: - cairo-1.8.1-20081006-38de89.tar.gz - ============================================================= - - build/Makefile.am.releasing | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -commit 38de895d3863bd2e6fe921ad6cc6eeff15102701 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Mon Oct 6 12:11:18 2008 -0400 - - [RELEASING] Fix sample distcheck output to reflect current versioning - - RELEASING | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit f8018cf193823356270c8e7f21f3108fbe44679c -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Mon Oct 6 11:45:08 2008 -0400 - - [boilerplate] Fix "make dist" - - The cairo-boilerplate-ps/pdf/svg.h files where removed in commit - 9841d9d58ea286f798626d325d50a85bf3f02c8f but the Makefile.sources - listing was not updated. - - boilerplate/Makefile.sources | 3 --- - 1 file changed, 3 deletions(-) - -commit 6578ac148ecdd236b0860923e5dee87291c9966c -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Mon Oct 6 11:39:47 2008 -0400 - - [twin-font] Make the stroke lighter - - I'm still to fine-tune the font and add hinting and bold/oblique support. - In the mean time though, a lighter stroke produces much nicer glyphs. - - src/cairo-font-face-twin.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2fb7753903daf5c207b22034682a250161af22ad -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Mon Oct 6 11:39:00 2008 -0400 - - [Makefile.am.releasing] Exclude uid/gid from tarball - - By setting GNU tar options --owner=0 --group=0 - - build/Makefile.am.releasing | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit 589564c3b02d5b0505806924bd051323717791a3 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Sat Oct 4 01:36:07 2008 -0400 - - [user-font] Fix comment re backend interface - - src/cairo-user-font.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c98c1cb5325bbc05c88ea350ff99d6eaf56fd339 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Oct 5 10:39:10 2008 +0100 - - [wideint] Mark functions as pure - - Take advantage of the gcc function attribute 'pure', which tells gcc that - the function result only depends upon its arguments and it has zero side - effects (e.g. it does not clobber memory). This gives gcc greater - opportunity to rearrange and optimize the wideint arithmetic. - - src/cairo-compiler-private.h | 6 ++++++ - src/cairo-wideint-private.h | 2 +- - 2 files changed, 7 insertions(+), 1 deletion(-) - -commit 76dd4603d01068b1b377312ced6b44fe5419794f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Oct 5 10:15:49 2008 +0100 - - [tessellator] Replace open-coding _cairo_int64_cmp(). - - We often use the construct: - if (_cairo_int64_lt (A, B) - return -1; - if (_cairo_int64_gt (A, B) - return 1; - return 0; - to compare two large integers (int64, or int128) which does twice the - required work on CPUs without large integer support. So replace it with a - single wideint function _cairo_int64_cmp() and therefore allow - opportunities to both shrink the code size and write a more efficient - comparison. (The primarily motivation is to simply replace each block with - a single more expressive line.) - - src/cairo-bentley-ottmann.c | 19 +++--------------- - src/cairo-wideint-private.h | 10 +++++++++- - src/cairo-wideint.c | 48 +++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 60 insertions(+), 17 deletions(-) - -commit 6eead4a5f746e182eabfcda9959cd9cc53d95a89 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Oct 4 12:39:21 2008 +0100 - - [stroke] Simplify dash-off logic. - - Remove a redundant level of if-else branching (and remove a duplicate - code) block by testing dash_on first. - - src/cairo-path-stroke.c | 65 +++++++++++++++++++++---------------------------- - 1 file changed, 28 insertions(+), 37 deletions(-) - -commit 4aa0991a11f03a47735dcfafe43d9505b939554e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Oct 4 20:22:18 2008 +0100 - - [test] Mark fallback-resolution as XFAIL. - - There appears to be no simple solution here, as it seems to be a - fundamental flaw in the design of the meta-surface wrt to replaying into - a fallback image. (I may be wrong, but if Carl found no easy solution then - I feel no shame for my own failure ;-) - - test/Makefile.am | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -commit ae87382a84770f8656c369d258f705b8ac20049c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Oct 4 10:54:25 2008 +0100 - - [tessellator] Special case edge comparisons when on either end-point. - - If the sweep-line is currently on an end-point of a line, - then we know its precise x value and can use a cheaper comparator. - Considering that we often need to compare events at end-points (for - instance on a start event), this happens frequently enough to warrant - special casing. - - src/cairo-bentley-ottmann.c | 100 ++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 96 insertions(+), 4 deletions(-) - -commit ab23c2995356821537b9a0facdff87c339a05d2a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 1 12:18:16 2008 +0100 - - [tessellator] Direct comparison of result in edges_compare_x_for_y. - - We need to compare the x-coordinate of a line at a for a particular y, - without loss of precision. - - The x-coordinate along an edge for a given y is: - X = A_x + (Y - A_y) * A_dx / A_dy - - So the inequality we wish to test is: - A_x + (Y - A_y) * A_dx / A_dy -?- B_x + (Y - B_y) * B_dx / B_dy, - where -?- is our inequality operator. - - By construction we know that A_dy and B_dy (and (Y - A_y), (Y - B_y)) are - all positive, so we can rearrange it thus without causing a sign - change: - A_dy * B_dy * (A_x - B_x) -?- (Y - B_y) * B_dx * A_dy - - (Y - A_y) * A_dx * B_dy - - Given the assumption that all the deltas fit within 32 bits, we can compute - this comparison directly using 128 bit arithmetic. - - src/cairo-bentley-ottmann.c | 97 +++++++++++++++++++++++++-------------------- - src/cairo-wideint-private.h | 1 + - 2 files changed, 56 insertions(+), 42 deletions(-) - -commit 7db03ac68cd556c903c07a2e2f8b75ec51263d12 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 1 12:34:36 2008 +0100 - - [tessellator] Use abort() instead of exit(). - - More friendly when debugging, as the debug will (by default) catch the - SIGTRAP and break at the offending test. - - src/cairo-bentley-ottmann.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 59e569576d00e9c1cb66a77cf447c3cc3fb038e7 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Sep 28 19:04:39 2008 +0100 - - [traps] Discard trivially empty trapezoid. - - The convex_quad tessellator (and possibly even the more general polygon - tessellator) will generate empty trapezoids when given a - rectangle which can be trivially discarded before inserting into traps. - - src/cairo-traps.c | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -commit 7a2329e9c8afbfecb88c6c50bd63aa03ea7f9f81 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 1 09:49:45 2008 +0100 - - [traps] Reset extents on clearing. - - When clearing the array of current trapezoids, reset the extents to - infinite so that they are properly recomputed. - - src/cairo-traps.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 8ec24a443d45b012df9b1a14b00a0b5b1c43e2ea -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Sep 30 23:19:01 2008 +0100 - - [xlib] Share the common conditions for starting a new xGlyphElt using a macro. - - Move the predicate for starting a new glyph elt into a macro so that it - can be shared between _cairo_xlib_surface_emit_glyphs() and - _emit_glyph_chunks() without code duplication. - - src/cairo-xlib-surface.c | 39 ++++++++++++++++++++++----------------- - 1 file changed, 22 insertions(+), 17 deletions(-) - -commit a593338b2c2cdaff808947436f8fb9a52d74c695 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 1 16:24:33 2008 +0100 - - [xcb] Return false from _cairo_xcb_surface_is_similar(). - - _cairo_xcb_surface_is_similar() is currently only used by the pattern - cache to determine whether to keep the surface in the solid color cache. - This is fundamentally broken without hooking into Display closure as it - keeps a reference to an expired picture. So in order to prevent spurious - application crashes, disable the caching for xcb. - - src/cairo-xcb-surface.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 65f1575f6b2392d59410f40281a52654053bd2a8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed Oct 1 16:16:45 2008 +0100 - - [xcb] Compile fix. - - Must compile xcb more often. Especially after copying code over from xlib. - - src/cairo-xcb-surface.c | 41 ++++++++++++++++++++++++----------------- - 1 file changed, 24 insertions(+), 17 deletions(-) - -commit e76432f7544d5b3b9157f09e18acc167d9ee90a3 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Sat Oct 4 00:35:43 2008 -0400 - - [win32] Use -MDd and -LDd instead of -MD and -LD for debug build - - As reported by Damian Frank: - - "I ran into a hitch with the Makefile.win32 infrastructure. It uses -MD and - -LD when linking regardless of the config, but it should be using -MDd and - -LDd for the debug config. I believe both the Makefile.win32.common and - src/Makefile.win32 files include erroneous declarations. This produces - warnings at link time about a mismatch when linking against properly created - debug libs (for instance, I had a zlib built as "LIB ASM Debug" that linked - properly against the debug runtime). - - This problem applies to pixman too; can you pass this along to the - maintainer?" - - Would be delighted to if someone commits a fix to pixman reading this - commit message. - - build/Makefile.win32.common | 8 ++++++-- - src/Makefile.win32 | 2 +- - 2 files changed, 7 insertions(+), 3 deletions(-) - -commit 8ea9cb187a198c64bfb79af8001d95eab29715b4 -Author: Carl Worth <cworth@cworth.org> -Date: Wed Oct 1 14:12:18 2008 -0700 - - Use symbolic constants for Render repeat modes. - - Names like RepeatNone and RepeatNormal are much easier to - read and understand than bare 0 and 1. - - src/cairo-xlib-surface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 2c58a2c3851afac0386fcf0bf8504a937231185c -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Tue Sep 30 17:55:01 2008 -0400 - - [xlib] Start a new glyph element every 128 glyphs - - Xrender has limits at 252 glyphs. We play safe and fast and limit - elements to 128 glyphs. That's plenty, no measurable performance - hit expected. - - src/cairo-xlib-surface.c | 26 ++++++++++++++++++++++---- - 1 file changed, 22 insertions(+), 4 deletions(-) - -commit fd7e09c7e66876b8492424e1c7d1260c12cc17f3 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Tue Sep 30 17:46:06 2008 -0400 - - [xlib] Allow room for glyph element padding - - Xrender pads glyph elements to 4byte boundaries. We didn't consider - that in our request size calculations. We do now. - - src/cairo-xlib-surface.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -commit c01fb77abbaf28c03aa6a21ebb997638dbdf950b -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Tue Sep 30 17:41:51 2008 -0400 - - [xlib] s/_cairo_xlib_surface_emit_glyphs_chunk/_emit_glyphs_chunk/ - - For readability's sake. - - src/cairo-xlib-surface.c | 34 +++++++++++++++++----------------- - 1 file changed, 17 insertions(+), 17 deletions(-) - -commit c2ba25df1aec1cebfc4ce85e06a4187950675820 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Tue Sep 30 17:40:56 2008 -0400 - - [xlib] Add comment about glyph chunk invariant - - src/cairo-xlib-surface.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit e983458e1fba15153815430c83619da53929139d -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Tue Sep 30 17:26:46 2008 -0400 - - Revert "[xlib] Correct calculation of XRenderComposite* request size." - - This reverts commit 0eb0c26474a19477554bfd580aa5f8ae77c29779. - The change was too drastic and overlooked some subleties of the old - code, but the main reason for the revert is that it introduced an - ugly duplicated glyph flush block. I'm working on a more incremental - fix. - - src/cairo-xlib-surface.c | 123 +++++++++++++++++------------------------------ - 1 file changed, 45 insertions(+), 78 deletions(-) - -commit 32a158528884562f4b22a81da3fa352ee1061835 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Tue Sep 30 15:20:36 2008 -0400 - - [configure.ac] Require autoconf >= 2.59 and automake >= 1.9.6 - - These are the versions available on RHEL5 (two years old now), and - we know cairo works with them. There's evidence that our build system - does not work with older automake, and we've been requiring autoconf 2.58 - but no one ever tested 2.58 with the new build system. It's very likely - that 2.58 doesn't work and needs some macro backporting. In any case, - no one reported that they have 2.58 when I asked on the list. - - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 0eb0c26474a19477554bfd580aa5f8ae77c29779 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Sep 30 13:33:25 2008 +0100 - - [xlib] Correct calculation of XRenderComposite* request size. - - show-glyphs-many is triggering an assertion failure within xlib. The cause - appears to be that we are submitting an overlong request. - - Reviewing the code and comparing with libXrender/src/Glyph.c I found two - points to address. - - 1. When encountering the first 2-byte, or 4-byte glyph and thus triggering - the recalculation of the current request_size, we did not check that there - was enough room for the expanded request. In case there is not, we need to - emit the current request (before expansion) and reset. - - 2. Subtleties in how XRenderCompositeText* constructs the binary protocol - buffer require that xGlyphElts are aligned to 32-bit boundaries and that - it inserts an additional xGlyphElt every 252 glyphs when width==1 or - every 254 glyphs for width==2 || width==4. Thus we need to explicitly - compute how many bytes would be required to add this glyph in accordance - with the above. - - Considering the complexity (and apparent fragility since we require tight - coupling to XRender) of the code, I'm sure there are more bugs to be - found. - - src/cairo-xlib-surface.c | 123 ++++++++++++++++++++++++++++++----------------- - 1 file changed, 78 insertions(+), 45 deletions(-) - -commit 02a56a4c84cd07a2c33134974680bad7f17f733d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Sep 30 15:08:54 2008 +0100 - - [test/show-glyphs-many] Exercise xlib boundary conditions. - - Within _cairo_xlib_surface_emit_glyphs() there are a number of - complications to do with packing as many glyphs as possible into a - single XRenderCompositeGlyph*() call. Essentially these consist of - choosing the right function and packing for the current glyphs, describing - runs of glyphs and ensuring that we do not exceed the maximum request size - within a single call. So we add to the test case we an attempt to show 64k - 2-byte glyphs and an attempt to mix 64k 1-byte and 2-byte glyphs, with the - change-over point chosen to overflow the maximum request size, should - _cairo_xlib_surface_emit_glyphs() naively resize the current request. - - test/show-glyphs-many.c | 83 ++++++++++++++++++++++++++++++++++++++----------- - 1 file changed, 64 insertions(+), 19 deletions(-) - -commit 2a347a92b0a27a42840f9538cb98f792be12b277 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Sep 30 13:29:35 2008 +0100 - - [test/show-glyphs-many] Re-enable test to trigger crash in xlib. - - Moral of this story is bugs cluster. If we made a mistake, especially in a - complicated bit of code that is interfacing with another library, then we - are likely to make a similar mistake in future. Disabling this test hid a - regression between 1.4 and 1.6. - - test/Makefile.am | 15 +-------------- - test/show-glyphs-many.c | 9 +++++++++ - 2 files changed, 10 insertions(+), 14 deletions(-) - -commit fade54e71a48919cc3e8311e202960c66eab74bf -Author: Torsten Schönfeld <kaffeetisch@gmx.de> -Date: Tue Sep 30 11:47:53 2008 +0100 - - [doc] Add links to solid pattern constructors. - - Add links for the solid pattern constructors to the language bindings - guidelines in line with the other pattern types. - - doc/public/language-bindings.xml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit d9f50d7841fa0216df157ba632483c8b27c50119 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Sep 30 11:03:29 2008 +0100 - - [test/filter-nearest-offset] Remove XFAIL status - - I swear that when I said that it was a rounding error, I was looking at an - image where the squares were overlapping the lines and had a listing of - all the coordinates used. However, the current output on all the machines - I have to hand is correct so I believe the underlying bug to be fixed. - - Update the reference images for the external renderers because (a) GS - exhibits the same bug cairo had and (b) librvsg/PDF do not use NEAREST - when applying surface patterns, so the squares are blurred as a result. - - test/Makefile.am | 8 +++++--- - test/filter-nearest-offset-pdf-ref.png | Bin 0 -> 4537 bytes - test/filter-nearest-offset-ps2-ref.png | Bin 0 -> 255 bytes - test/filter-nearest-offset-ps3-ref.png | Bin 0 -> 255 bytes - test/filter-nearest-offset-svg11-ref.png | Bin 0 -> 4739 bytes - test/filter-nearest-offset-svg12-ref.png | Bin 0 -> 4739 bytes - test/filter-nearest-offset.c | 3 +-- - 7 files changed, 6 insertions(+), 5 deletions(-) - -commit 7d5e6a18d5e72366e19cb806cbdad5ed180b53da -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Sep 30 10:04:12 2008 +0100 - - [test/filter-nearest-offset] Paint a grey background - - Avoid requiring (an absent!) rgb24 ref image by using an opaque grey - background. Confirm the reference image is identical to the old one - (modulo the background change) using GIMP. - - test/filter-nearest-offset-ref.png | Bin 254 -> 248 bytes - test/filter-nearest-offset.c | 6 ++++++ - 2 files changed, 6 insertions(+) - -commit 35be08715595aa0bda48ce0b3cb11711eee55c64 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue Sep 30 10:54:45 2008 +0100 - - [Makefile.am] Only rerun headers-standalone if a header file has changed - - Use a stamp to mark the time that the headers were last checked and only - rerun the test if any have been modified since. - - src/.gitignore | 1 + - src/Makefile.am.analysis | 4 +++- - 2 files changed, 4 insertions(+), 1 deletion(-) - -commit 6da8d8ea62399d94281a2a262a630ef113062d0c -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Sep 29 17:56:34 2008 +0100 - - [pattern] Fix up OBO introduced to cloned area - - In the midst of porting 5eec3e378afd6ff9991cea8e42b8478eb3e79773 I failed - to include the pad in the floor() and ceil() which introduces two - potential off-by-one errors into each dimension of the region of interest - of the source surface. - - src/cairo-pattern.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit e3f9e40df74b0334c2b544790fd3485ba527bd55 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Mon Sep 29 11:49:04 2008 -0400 - - Fix residues of the Makefile.*.config Makefile.*.features renaming - - They just don't seem to want to die... - - boilerplate/Makefile.win32 | 2 +- - src/Makefile.sources | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit d703f964aa7d1d4c8ec0b8a5dee437c222ce8629 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Sep 29 16:37:35 2008 +0100 - - Clean up compile warnings. - - A couple of unchecked status returns (which should always be - CAIRO_STATUS_SUCCESS) and an unused variable. - - src/cairo-surface.c | 8 ++++++-- - src/cairo-svg-surface.c | 1 - - 2 files changed, 6 insertions(+), 3 deletions(-) - -commit 1310df44edcf0b9fee648c8f8688d4a1177cde68 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Mon Sep 29 11:34:19 2008 -0400 - - [text_to_glyphs] Further enhance the docs - - The most complex public cairo API deserves more doc love... - - src/cairo-scaled-font.c | 8 +++++--- - src/cairo-user-font.c | 5 +++++ - src/cairo.h | 2 +- - 3 files changed, 11 insertions(+), 4 deletions(-) - -commit 41c66a9dfa9f4e7b9839db9dc362f5fa48797561 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Sep 29 15:28:28 2008 +0100 - - [test/xlib-surface-source] Fix ill-timed XCloseDisplay - - Sigh - finding a crasher in xlib seemed too good to be true. And it was. - The bug is due to the coupling of the XCloseDisplay with the user_data on - the source surface. - - This was an externally trigger XCloseDisplay whilst the user had live - surfaces, so I consider this a gross application bug and therefore does - not require graceful handling within cairo-xlib. However, I'm willing to - listen to reason... - - test/surface-source.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 63ee963c63a73cf6d9272e15a7d8f7b63f12e77b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Sep 29 15:09:23 2008 +0100 - - [user-font] Rewrite text_to_glyphs allocation instructions. - - Resolve the seemingly conflicting two paragraphs that instruct the writer - of a user-font on when to allocate the glyphs array during text_to_glyphs, - so that it is consistent with itself and the code. In particular, I could - find no indication in the code that num_glyphs is preset to -1 (it should - be a user parameter reflecting the number of entries in the supplied glyph - buffer) and the callback must allocate the array using - cairo_glyph_allocate(). - - src/cairo.h | 33 ++++++++++++++------------------- - 1 file changed, 14 insertions(+), 19 deletions(-) - -commit c23dbc4c616aed05dfe71901ce7ac0cadcbfb13d -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Sep 29 13:54:12 2008 +0100 - - [test/surface-source] Modify to trigger a crash. - - Whilst investigating: - Bug 7360 painting huge surfaces fails - https://bugs.freedesktop.org/show_bug.cgi?id=7360 - I found a particular combination of operations that cause a crash within - xlib, so I'm committing the test for posterity. - - test/surface-source.c | 50 ++++++++++++++++++++++++++++++++++++++------------ - 1 file changed, 38 insertions(+), 12 deletions(-) - -commit 3b33d49d37a5751e7848516c468b323e19c34bea -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Sep 29 08:14:24 2008 +0100 - - [test/filter-bilinear-extents] Remove XFAIL. - - With the reintroduction of Carl Worth's and Owen Taylor's work to expand - pattern extents as necessary to include extra samples due to the filter - radius, we expect filter-bilinear-extents to PASS. This patch series is - important as it factors out our assumptions about filter radius into a - single function and cleans up the code in its wake. - - However, since the external PS/PDF renderers do not necessarily use the same - filter as cairo (and currently they only use NEAREST due to lack of - /Interpolate emission in those backends) we can expect differences in test - output. So add the respective reference images to capture current - expectations and to highlight future changes. - - Fixes bugs: - Bug 15349 - bad clipping with EXTEND_NONE - [https://bugs.freedesktop.org/show_bug.cgi?id=15349], - Bug 15367 -Improve filtering handling in cairo-pattern.c - [https://bugs.freedesktop.org/show_bug.cgi?id=15367] - - test/Makefile.am | 35 ++++++++++++++++++++++++++++++- - test/filter-bilinear-extents-pdf-ref.png | Bin 0 -> 798 bytes - test/filter-bilinear-extents-ps2-ref.png | Bin 0 -> 173 bytes - test/filter-bilinear-extents-ps3-ref.png | Bin 0 -> 173 bytes - 4 files changed, 34 insertions(+), 1 deletion(-) - -commit 5eec3e378afd6ff9991cea8e42b8478eb3e79773 -Author: Owen W. Taylor <otaylor@fishsoup.net> -Date: Mon Sep 29 00:53:59 2008 +0100 - - [pattern] Improve handling of filter radius and optimize when possible. - - Factor out common filter analysis code from _cairo_pattern_get_extents() - so that we can share it with _cairo_pattern_acquire_surface_for_surface() - as well. During the analysis of the filter determine whether the pattern - matrix maps source pixels exactly onto destination pixels and if so convert - the filter to NEAREST - generalising the existing conversion to NEAREST. - - (Patch ported to master by Chris Wilson, all bugs are his.) - - src/cairo-matrix.c | 29 ++++++++++++++ - src/cairo-pattern.c | 113 ++++++++++++++++++++++++++++++++++++---------------- - src/cairoint.h | 3 ++ - 3 files changed, 110 insertions(+), 35 deletions(-) - -commit 7d7057cf8896a3558fadc35d160d3bc667972800 -Author: Carl Worth <cworth@cworth.org> -Date: Fri Apr 4 19:00:28 2008 -0700 - - _cairo_pattern_get_extents: Fix to allow for expansion based on filter - - This fixes the filter-bilinear-extents test case and the - related bug entry: - - bad clipping with EXTEND_NONE - http://bugs.freedesktop.org/show_bug.cgi?id=15349 - - Though there are still differences in the PDF and PostScript - backends, (primarily because we can't capture cairo's filter - modes in those file formats). - - src/cairo-pattern.c | 22 +++++++++++++++++++++ - test/paint-source-alpha-svg11-ref.png | Bin 505 -> 756 bytes - ...scale-source-surface-paint-svg11-argb32-ref.png | Bin 182 -> 229 bytes - .../scale-source-surface-paint-svg11-rgb24-ref.png | Bin 192 -> 243 bytes - ...scale-source-surface-paint-svg12-argb32-ref.png | Bin 182 -> 229 bytes - .../scale-source-surface-paint-svg12-rgb24-ref.png | Bin 192 -> 243 bytes - 6 files changed, 22 insertions(+) - -commit 6ef4bd4ecfa30f00ad0fe6e5e5f1d1a0a5dfe8e3 -Author: Owen W. Taylor <otaylor@fishsoup.net> -Date: Sun Sep 28 23:30:22 2008 +0100 - - [pattern] Fix acquiring outside of source bounds - - Restrict the area we acquire from the source image to the bounds of - the source image, even when we have an identity matrix. This handles - circumstances where the pattern extents may be enlarged due to - filtering, for example when applying a bilinear filter. - - This patch replaces the open-coded rectangle intersection which has - already proven itself to be a source of bugs. - - (Patch ported to master by Chris Wilson, all bugs are his.) - - src/cairo-pattern.c | 63 +++++++++++++++++++++++++++-------------------------- - 1 file changed, 32 insertions(+), 31 deletions(-) - -commit 6d0f2c4421e34a078469a81646a52dfa47b4dcf1 -Author: Owen W. Taylor <otaylor@fishsoup.net> -Date: Mon Sep 29 00:02:18 2008 +0100 - - [pattern] Remove the hack to support cloning surface patterns. - - Remove instances (abuses) of calling _cairo_pattern_acquire_surface() on - a known-surface-pattern with a hack to say "give me the entire surface". - If you know you just want the entire surface as an image surface, that - can be done more simply. - - (Split from original patch on - https://bugs.freedesktop.org/attachment.cgi?id=15703, by Chris Wilson - - as usual all bugs are his.) - - src/cairo-pattern.c | 5 +---- - src/cairo-svg-surface.c | 16 ++------------- - src/cairo-win32-printing-surface.c | 41 ++++++++++++++++++-------------------- - 3 files changed, 22 insertions(+), 40 deletions(-) - -commit 117f643e49615295eb37af24efffd8327429cbf9 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Sep 28 22:42:30 2008 +0100 - - [test/filter-bilinear-extents] Extend testing. - - First, explicitly set the filter mode to BILINEAR in case the default should - ever change. And then draw a second pattern with extents that in theory - are larger than the source surface in order to test handling of acquiring - out-of-bounds extents. - - test/filter-bilinear-extents.c | 45 +++++++++++++++++++++++++++++------------- - 1 file changed, 31 insertions(+), 14 deletions(-) - -commit 3ff86a4510b718a3154b56b052be786f9495a3b0 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Sep 29 08:38:31 2008 +0100 - - [test] Disable caching of SVG fail/pass surfaces. - - As we use cairo to convert SVG files back to an image, that process is - dependent upon changes within our library and so we cannot skip the - conversion if the SVG file happens to match a previous run. Fortunately, - librsvg is quick enough that this is not a major issue. - - boilerplate/cairo-boilerplate.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 24b22f0d2161f7a4ce75ceb2a86a77737027ee56 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon Sep 29 07:52:09 2008 +0100 - - [glitz] Compile fix for typo. - - I wonder whether merely fixing a compile error in glitz will do anything - towards its utility... Anyway fix the missing comma as reported by - Shunichi Fuji and correct the asserts. - - src/cairo-glitz-surface.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 4f449107afba8ca96cd16e8dec283db124105dc8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Sep 28 21:05:36 2008 +0100 - - [test/fallback-resolution] Exercise a couple of outstanding bugs. - - Use dashes to exercise bugs: - https://bugs.freedesktop.org/show_bug.cgi?id=9189 - https://bugs.freedesktop.org/show_bug.cgi?id=17223 - Note bug 17223 indicates that this is still relevant for win32 printing - where fallbacks are used if the dash offset is non-zero. - - And use a pattern to exercise the (fixed) regression: - https://bugs.launchpad.net/inkscape/+bug/234546 - - test/fallback-resolution-ppi150-ref.png | Bin 2397 -> 8043 bytes - test/fallback-resolution-ppi300-ref.png | Bin 1591 -> 5637 bytes - test/fallback-resolution-ppi37.5-ref.png | Bin 4681 -> 14098 bytes - test/fallback-resolution-ppi600-ref.png | Bin 1121 -> 4104 bytes - test/fallback-resolution-ppi72-ref.png | Bin 2497 -> 8409 bytes - test/fallback-resolution-ppi75-ref.png | Bin 3575 -> 12101 bytes - test/fallback-resolution.c | 40 +++++++++++++++++++++++++++++-- - 7 files changed, 38 insertions(+), 2 deletions(-) - -commit 0a7d781ab020171e70bd1dc66ff1556106e5be3f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Sep 28 18:57:15 2008 +0100 - - [perf] Add rounded rectangle perf case. - - Add the performance test case to compare the speed of filling a rounded - rectangle (one with camphered corners) as opposed to an ordinary - rectangle. Since the majority of the pixels are identical, ideally the two - cases would take similar times (modulo the additional overhead in the more - complex path). - - perf/Makefile.am | 1 + - perf/cairo-perf.c | 1 + - perf/cairo-perf.h | 1 + - perf/rectangles.c | 22 ++++++++- - perf/rounded-rectangles.c | 111 ++++++++++++++++++++++++++++++++++++++++++++++ - 5 files changed, 135 insertions(+), 1 deletion(-) - -commit d52b55cb1b2a4e9b5fd8dd12592a227f8f6a93fc -Author: Karl Tomlinson <karlt+@karlt.net> -Date: Sun Sep 28 17:51:23 2008 +0100 - - [xlib] _surfaces_compatible() can return true for different picture formats - - _surfaces_compatible in cairo-xlib-surface returns true for surfaces with - different xrender_format when each has the same depth and no (NULL) - visual. - - Common picture formats will not have the same depth, but - it is possible to create a surface with a non-standard xrender_format - having the same depth as another xrender_format with - cairo_xlib_surface_create_with_xrender_format. - - Both cairo_xlib_surface_create_with_xrender_format and - _cairo_xlib_surface_create_similar_with_format create surfaces with no - visual. - - The same issue exists in the xcb backend. - - Fixes bug https://bugs.freedesktop.org/show_bug.cgi?id=16564. - - AUTHORS | 1 + - src/cairo-xcb-surface.c | 4 +++- - src/cairo-xlib-surface.c | 4 +++- - 3 files changed, 7 insertions(+), 2 deletions(-) - -commit b6b54e2f2736bfa9f76b7b6fc0da5d35a71fe846 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Sep 28 17:13:11 2008 +0100 - - [svg] Compile fix for last commit. - - Sorry - badly merged patch (missed a chunk). - - src/cairo-svg-surface.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit cff3bcba68233101c5518801b64e37d2f0e70ae8 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Sep 28 17:06:32 2008 +0100 - - [svg] Check that the mask is supported. - - During the analyze phase we also need to check whether we can emit the mask - without requiring fallbacks. - - src/cairo-svg-surface.c | 17 +++++++++++++++-- - 1 file changed, 15 insertions(+), 2 deletions(-) - -commit 8ad3031359d74bdff4b1e3ef8d0af047821f1795 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Sep 28 17:04:15 2008 +0100 - - [svg] Enable the assertion that paint() is supported. - - The XXX comment before the disabled assert is misleading as the final - fallback image paint operation should never trigger UNSUPPORTED. - - src/cairo-svg-surface.c | 13 ++++--------- - 1 file changed, 4 insertions(+), 9 deletions(-) - -commit 95e637f9ac9e4256f7ba73e8f048f8e559631c82 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Sep 28 16:54:59 2008 +0100 - - [paginated] Set paginated mode before every replay. - - Previously we were replaying full page fallbacks without updating the - mode - this was upsetting SVG. - - src/cairo-paginated-surface.c | 23 ++++++++++++++--------- - 1 file changed, 14 insertions(+), 9 deletions(-) - -commit 36b98589911ab57762317ec95cbff41681c1e0b6 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Sep 28 16:24:40 2008 +0100 - - [svg] Kill _cairo_svg_surface_force_fallbacks. - - It is not used, but refuses to die! - - src/cairo-svg-surface.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit 57851464f920d52444d19d25e78293fa0f40c5f9 -Author: Benjamin Otte <otte@gnome.org> -Date: Sun Sep 28 17:02:23 2008 +0200 - - [SVG] make backend handle new operators gracefully - - Previously, the SVG backend would rash when new operators were added to - cairo.h, now it returns UNSUPPORTED. - Also unsupported operators can now be set as NULL, so image fallbacks can - be used properly. - Should use fallbacks instead of color-dodge for CAIRO_OPERATOR_STURATE? - - src/cairo-svg-surface.c | 45 +++++++++++++++++++++++++++++++-------------- - 1 file changed, 31 insertions(+), 14 deletions(-) - -commit fda80cc852a109fe60e3277a1847bc5c24f35d8e -Author: Benjamin Otte <otte@gnome.org> -Date: Sun Sep 28 14:57:49 2008 +0200 - - [SVG] use _cairo_operator_bounded_by_source() - - previously, the code was duplicating its functionality - - src/cairo-svg-surface.c | 27 ++++++++++++--------------- - 1 file changed, 12 insertions(+), 15 deletions(-) - -commit 3c18d95b293eddaa25232bc06398c78bc8043cb4 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Sep 28 15:57:37 2008 +0100 - - Compute device_transform_inverse. - - Because we can independently set either the device scale or the device - offset, we need to be careful and recompute the inverse rather than simply - assuming that the original contents of the device transform is identity. - - Fixes regression https://bugs.launchpad.net/inkscape/+bug/234546. - - src/cairo-surface.c | 10 ++++------ - 1 file changed, 4 insertions(+), 6 deletions(-) - -commit 9841d9d58ea286f798626d325d50a85bf3f02c8f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun Sep 28 13:34:50 2008 +0100 - - Automate error checking for fallback-resolution. - - For this we extend the boilerplate get_image() routines to extract a - single page out of a paginated document and then proceed to manually - check each page of the fallback-resolution test. - - (Well that's the theory, in practice SVG doesn't support multiple pages - and so we just generate a new surface for each resolution. But the - infrastructure is in place so that we can automate other tests, - e.g. test/multi-pages.) - - boilerplate/cairo-boilerplate-pdf-private.h | 5 + - boilerplate/cairo-boilerplate-pdf.c | 29 +- - boilerplate/cairo-boilerplate-pdf.h | 33 -- - boilerplate/cairo-boilerplate-ps-private.h | 9 +- - boilerplate/cairo-boilerplate-ps.c | 33 +- - boilerplate/cairo-boilerplate-ps.h | 33 -- - boilerplate/cairo-boilerplate-svg-private.h | 5 + - boilerplate/cairo-boilerplate-svg.c | 36 +- - boilerplate/cairo-boilerplate-svg.h | 33 -- - .../cairo-boilerplate-test-surfaces-private.h | 1 + - boilerplate/cairo-boilerplate-test-surfaces.c | 7 +- - boilerplate/cairo-boilerplate-win32-printing.c | 5 + - boilerplate/cairo-boilerplate-win32-private.h | 1 + - boilerplate/cairo-boilerplate.c | 74 ++-- - boilerplate/cairo-boilerplate.h | 7 + - src/cairo-svg-surface.c | 6 +- - test/Makefile.am | 6 + - test/cairo-test.c | 36 +- - test/cairo-test.h | 12 + - test/fallback-resolution-ppi150-ref.png | Bin 0 -> 2397 bytes - test/fallback-resolution-ppi300-ref.png | Bin 0 -> 1591 bytes - test/fallback-resolution-ppi37.5-ref.png | Bin 0 -> 4681 bytes - test/fallback-resolution-ppi600-ref.png | Bin 0 -> 1121 bytes - test/fallback-resolution-ppi72-ref.png | Bin 0 -> 2497 bytes - test/fallback-resolution-ppi75-ref.png | Bin 0 -> 3575 bytes - test/fallback-resolution.c | 413 +++++++++++++++------ - 26 files changed, 486 insertions(+), 298 deletions(-) - -commit cca1fc6358e9d0213dd2b41a5bfd1629eec6511e -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Sep 27 21:53:21 2008 +0100 - - [test] Fix target specific tests for recent SVG/PS version split. - - A few tests explicitly checked whether the "ps" or "svg" target was - enabled and this broke because of the name change. So fixup, to run - the generic test if either PS or SVG target is enabled as appropriate. - - test/create-for-stream.c | 8 ++++++-- - test/fallback-resolution.c | 8 ++++++-- - test/multi-page.c | 4 +++- - test/ps-features.c | 4 +++- - test/svg-clip.c | 4 +++- - test/svg-surface.c | 4 +++- - 6 files changed, 24 insertions(+), 8 deletions(-) - -commit 39e4a0bcd04191eecfc593653a4ba32a28fcac6a -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Sep 27 19:33:51 2008 +0100 - - [test] Update list of REFERENCE_IMAGES - - A few typos, deletions and additions from the inclusion of versioned - SVG/PS testing. - - test/Makefile.am | 50 +++++++++++++++++++++++++++++++------------------- - 1 file changed, 31 insertions(+), 19 deletions(-) - -commit 260362e5728e2591bb50f565ef04ba951d95de79 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Sep 27 19:16:34 2008 +0100 - - [cairo-test] Fix cairo_test_file_is_older(). - - It did not even compile, so no longer it wasn't deleting cached results - if you updated the reference images. - - test/cairo-test.c | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -commit ffbb67303c1a4d986096ba046bb3256314b9f1b1 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Sep 27 18:54:45 2008 +0100 - - [test/gradient-constant-alpha] Remove ps2 reference images. - - PostScript level 2 has no support for gradients and so should uses image - fallbacks and hence do not require the GS specific reference images. - - test/Makefile.am | 2 -- - test/gradient-constant-alpha-ps2-ref.png | Bin 124 -> 0 bytes - test/gradient-constant-alpha-ps2-rgb24-ref.png | Bin 124 -> 0 bytes - 3 files changed, 2 deletions(-) - -commit 4fa9f8c0608c137d9aa277039cb286c8294e6a2f -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Sep 27 17:42:06 2008 +0100 - - [test/large-source] Remove stale comment. - - Delete a reference to an old limitation of pixman. - - test/large-source.c | 3 --- - 1 file changed, 3 deletions(-) - -commit 35f1e2fa4f15c562e5cc41578b413c6874e131bc -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Sep 27 17:37:32 2008 +0100 - - [test/operator*] Remove XFAIL descriptions. - - The tests should now pass, so remove the line claiming that they fail - for unknown reasons. - - test/operator-alpha.c | 3 +-- - test/operator.c | 3 +-- - 2 files changed, 2 insertions(+), 4 deletions(-) - -commit 871f683367b1a1647b607f9221e1fc2eddc6e5dd -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Sep 27 17:24:57 2008 +0100 - - clone_similar(): s/device_offset/clone_offset/ - - A little bit of sleep and reflection suggested that the use of - device_offset_[xy] was confusing and clone_offset_[xy] more consistent - with the function naming. - - src/cairo-directfb-surface.c | 12 ++++++------ - src/cairo-glitz-surface.c | 18 +++++++++--------- - src/cairo-image-surface.c | 6 +++--- - src/cairo-pattern.c | 6 +++--- - src/cairo-quartz-surface.c | 16 ++++++++-------- - src/cairo-surface-fallback-private.h | 4 ++-- - src/cairo-surface-fallback.c | 8 ++++---- - src/cairo-surface.c | 16 ++++++++-------- - src/cairo-win32-private.h | 4 ++-- - src/cairo-win32-surface.c | 8 ++++---- - src/cairo-xcb-surface.c | 12 ++++++------ - src/cairo-xlib-surface.c | 12 ++++++------ - src/cairoint.h | 10 +++++----- - src/test-fallback-surface.c | 8 ++++---- - 14 files changed, 70 insertions(+), 70 deletions(-) - -commit 95c3c069326a77a28eb49053c0ace9f1977e0378 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Sep 27 17:13:32 2008 +0100 - - [surface] Only return early for no traps if the operator is bounded by a mask. - - If the operator is unbounded, then its area of effect extends beyond - the definition of the mask by the trapezoids and so we must always perform - the image composition. - - Fixes test/operator*. - - src/cairo-surface-fallback.c | 4 +--- - test/Makefile.am | 2 -- - 2 files changed, 1 insertion(+), 5 deletions(-) - -commit 922a5801164c2b2340a7b4a950820b07e72adadc -Merge: 0c4317085 1e45da48b -Author: Emmanuel Pacaud <emmanuel.pacaud@free.fr> -Date: Sat Sep 27 11:55:50 2008 +0200 - - Merge branch 'master' of git+ssh://emmanuel@git.cairographics.org/git/cairo - -commit 0c4317085ecfc112214cdfe2abd66d9df8038282 -Author: Emmanuel Pacaud <emmanuel.pacaud@free.fr> -Date: Sat Sep 27 11:47:32 2008 +0200 - - [svg] Fix comp-op for paint, mask and show_glyphs operations. - - In paint and show_glyphs, the compositing operator was not emitted at all. - In mask, the operator was also emitted for the mask itself, which is - wrong. - - SVG clear and source differ from cairo as it also affects the - destination if the source pixel are completely transparent. We need to emit - an additional clip-to-self property. - - Librsvg does not support clip-to-self, so it renders the SVG - test outputs incorrectly. - - This patch also remove a lot of useless spaces in the style property - strings (I know, this should go in another commit). - - src/cairo-svg-surface.c | 196 ++++++++++++++++++++++++++++-------------------- - 1 file changed, 113 insertions(+), 83 deletions(-) - -commit 1e45da48b555b707225c1521068011cabbcc976f -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sat Sep 27 14:38:22 2008 +0930 - - Update ref images in Makefile.am - - test/Makefile.am | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit c0535e8e3394f0b78867785e65cf89dbb31875d5 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Sat Sep 27 14:31:50 2008 +0930 - - Remove miter-precision from XFAIL - - The miter-precision PS output prints correctly on my LaserJet 4050. So - file a Ghostscript bug, supply PS ref images and remove from XFAIL. - - test/Makefile.am | 1 - - test/README | 5 +++++ - test/miter-precision-ps2-ref.png | Bin 0 -> 865 bytes - test/miter-precision-ps3-ref.png | Bin 0 -> 865 bytes - test/miter-precision.c | 2 +- - 5 files changed, 6 insertions(+), 2 deletions(-) - -commit 5b97ee65259cafb335c1a2c53f1a55dfcb175e20 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Sep 27 00:18:07 2008 +0100 - - Allow cloning sub-regions of similar surfaces. - - Previously the rule for clone_similar() was that the returned surface - had exactly the same size as the original, but only the contents within - the region of interest needed to be copied. This caused failures for very - large images in the xlib-backend (see test/large-source). - - The obvious solution to allow cloning only the region of interest seemed - to be to simply set the device offset on the cloned surface. However, this - fails as a) nothing respects the device offset on the surface at that - layer in the compositing stack and b) possibly returning references to the - original source surface provides further confusion by mixing in another - source of device offset. - - The second method was to add extra out parameters so that the - device offset could be returned separately and, for example, mixed into - the pattern matrix. Not as elegant, a couple of extra warts to the - interface, but it works - one less XFAIL... - - src/cairo-clip.c | 6 ++++++ - src/cairo-directfb-surface.c | 14 +++++++++----- - src/cairo-glitz-surface.c | 10 ++++++++++ - src/cairo-image-surface.c | 3 +++ - src/cairo-pattern.c | 15 +++++++++++++-- - src/cairo-quartz-surface.c | 10 +++++++++- - src/cairo-surface-fallback-private.h | 2 ++ - src/cairo-surface-fallback.c | 8 ++++++-- - src/cairo-surface.c | 24 ++++++++++++++++++------ - src/cairo-win32-private.h | 2 ++ - src/cairo-win32-surface.c | 8 ++++++-- - src/cairo-xcb-surface.c | 18 ++++++++++++++---- - src/cairo-xlib-surface.c | 21 +++++++++++++++------ - src/cairoint.h | 11 +++++++++-- - src/test-fallback-surface.c | 4 ++++ - test/Makefile.am | 1 - - 16 files changed, 126 insertions(+), 31 deletions(-) - -commit 7f3a48f90b409653a2d4fb802779ecb7508e4d6e -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Fri Sep 26 13:27:42 2008 -0400 - - [cairo.h] Don't define cairo_public to __declspec(dllimport) for static build - - That define should target win32 DLL builds only. We can't tell though, - so we require user to define CAIRO_WIN32_STATIC_BUILD to signal that. - - src/cairo-system.c | 2 +- - src/cairo.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit b6e910f4b636e947cefb310125979ce742e87730 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Fri Sep 26 12:36:33 2008 -0400 - - [README.win32] Update wording from Tor Lillqvist - - README.win32 | 19 ++++++++++++------- - 1 file changed, 12 insertions(+), 7 deletions(-) - -commit fc12267405e98497c9f086d49fa6501d8f671a68 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Sep 26 17:10:52 2008 +0100 - - [scaled-font] Spelling fix. - - Arbitrary spelling fix. - - src/cairo-scaled-font.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e0f214710760a0e0332207cb3009e3119867bd13 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Sep 26 16:49:57 2008 +0100 - - [boilerplate] Add a PS 2 target. - - Ensure that we can generate PS2 output when required by creating a PS - level 2 target and using GhostScript for conformance testing. - - boilerplate/cairo-boilerplate-ps-private.h | 29 ++- - boilerplate/cairo-boilerplate-ps.c | 55 +++- - boilerplate/cairo-boilerplate.c | 23 +- - test/Makefile.am | 286 ++++++++++++++------- - test/{big-line-ps-ref.png => big-line-ps2-ref.png} | Bin - ...ps-rgb24-ref.png => big-line-ps2-rgb24-ref.png} | Bin - test/big-line-ps3-ref.png | Bin 0 -> 1148 bytes - test/big-line-ps3-rgb24-ref.png | Bin 0 -> 830 bytes - ...aps-joins-ps-ref.png => caps-joins-ps2-ref.png} | Bin - test/caps-joins-ps3-ref.png | Bin 0 -> 1459 bytes - ...2-ref.png => clip-fill-rule-ps2-argb32-ref.png} | Bin - ...24-ref.png => clip-fill-rule-ps2-rgb24-ref.png} | Bin - test/clip-fill-rule-ps3-argb32-ref.png | Bin 0 -> 310 bytes - test/clip-fill-rule-ps3-rgb24-ref.png | Bin 0 -> 302 bytes - ...b32-ref.png => clip-nesting-ps2-argb32-ref.png} | Bin - ...gb24-ref.png => clip-nesting-ps2-rgb24-ref.png} | Bin - test/clip-nesting-ps3-argb32-ref.png | Bin 0 -> 651 bytes - test/clip-nesting-ps3-rgb24-ref.png | Bin 0 -> 636 bytes - ...b24-ref.png => clip-operator-ps2-rgb24-ref.png} | Bin - test/clip-operator-ps3-ref.png | Bin 0 -> 8188 bytes - test/clip-operator-ps3-rgb24-ref.png | Bin 0 -> 3624 bytes - ...-ref.png => clip-push-group-ps2-argb32-ref.png} | Bin - ...4-ref.png => clip-push-group-ps2-rgb24-ref.png} | Bin - test/clip-push-group-ps3-argb32-ref.png | Bin 0 -> 179 bytes - test/clip-push-group-ps3-rgb24-ref.png | Bin 0 -> 179 bytes - ...rgb32-ref.png => clip-twice-ps2-argb32-ref.png} | Bin - ...-rgb24-ref.png => clip-twice-ps2-rgb24-ref.png} | Bin - test/clip-twice-ps3-argb32-ref.png | Bin 0 -> 575 bytes - test/clip-twice-ps3-rgb24-ref.png | Bin 0 -> 541 bytes - ...-group-ps-ref.png => clipped-group-ps2-ref.png} | Bin - test/clipped-group-ps3-ref.png | Bin 0 -> 343 bytes - ...lose-path-ps-ref.png => close-path-ps2-ref.png} | Bin - test/close-path-ps3-ref.png | Bin 0 -> 309 bytes - ...{copy-path-ps-ref.png => copy-path-ps2-ref.png} | Bin - test/copy-path-ps3-ref.png | Bin 0 -> 474 bytes - ...-ref.png => dash-caps-joins-ps2-argb32-ref.png} | Bin - ...4-ref.png => dash-caps-joins-ps2-rgb24-ref.png} | Bin - test/dash-caps-joins-ps3-argb32-ref.png | Bin 0 -> 3870 bytes - test/dash-caps-joins-ps3-rgb24-ref.png | Bin 0 -> 3870 bytes - ...ash-curve-ps-ref.png => dash-curve-ps2-ref.png} | Bin - test/dash-curve-ps3-ref.png | Bin 0 -> 27293 bytes - ...rgb32-ref.png => dash-scale-ps2-argb32-ref.png} | Bin - ...-rgb24-ref.png => dash-scale-ps2-rgb24-ref.png} | Bin - test/dash-scale-ps3-argb32-ref.png | Bin 0 -> 6318 bytes - test/dash-scale-ps3-rgb24-ref.png | Bin 0 -> 6316 bytes - ...ash-state-ps-ref.png => dash-state-ps2-ref.png} | Bin - test/dash-state-ps3-ref.png | Bin 0 -> 10219 bytes - ...gth-ps-ref.png => dash-zero-length-ps2-ref.png} | Bin - ...-ref.png => dash-zero-length-ps2-rgb24-ref.png} | Bin - test/dash-zero-length-ps3-ref.png | Bin 0 -> 319 bytes - test/dash-zero-length-ps3-rgb24-ref.png | Bin 0 -> 304 bytes - ...e-arc-ps-ref.png => degenerate-arc-ps2-ref.png} | Bin - test/degenerate-arc-ps3-ref.png | Bin 0 -> 585 bytes - ...-ref.png => degenerate-path-ps2-argb32-ref.png} | Bin - ...4-ref.png => degenerate-path-ps2-rgb24-ref.png} | Bin - test/degenerate-path-ps3-argb32-ref.png | Bin 0 -> 390 bytes - test/degenerate-path-ps3-rgb24-ref.png | Bin 0 -> 358 bytes - ...e-pen-ps-ref.png => degenerate-pen-ps2-ref.png} | Bin - test/degenerate-pen-ps3-ref.png | Bin 0 -> 865 bytes - ...ef.png => device-offset-fractional-ps2-ref.png} | Bin - test/device-offset-fractional-ps3-ref.png | Bin 0 -> 201 bytes - ...flect-ps-ref.png => extend-reflect-ps2-ref.png} | Bin - ...milar-ps-ref.png => extend-reflect-ps3-ref.png} | Bin - test/extend-reflect-similar-ps2-ref.png | Bin 0 -> 153322 bytes - test/extend-reflect-similar-ps3-ref.png | Bin 0 -> 153322 bytes - ...n-ps-ref.png => fill-alpha-pattern-ps3-ref.png} | Bin - ...-ref.png => fill-and-stroke-ps2-argb32-ref.png} | Bin - ...4-ref.png => fill-and-stroke-ps2-rgb24-ref.png} | Bin - test/fill-and-stroke-ps3-argb32-ref.png | Bin 0 -> 310 bytes - test/fill-and-stroke-ps3-rgb24-ref.png | Bin 0 -> 319 bytes - ...ref.png => fill-missed-stop-ps2-argb32-ref.png} | Bin - ...-ref.png => fill-missed-stop-ps2-rgb24-ref.png} | Bin - test/fill-missed-stop-ps3-argb32-ref.png | Bin 0 -> 564 bytes - test/fill-missed-stop-ps3-rgb24-ref.png | Bin 0 -> 531 bytes - ...argb32-ref.png => fill-rule-ps2-argb32-ref.png} | Bin - ...s-rgb24-ref.png => fill-rule-ps2-rgb24-ref.png} | Bin - test/fill-rule-ps3-argb32-ref.png | Bin 0 -> 2253 bytes - test/fill-rule-ps3-rgb24-ref.png | Bin 0 -> 2031 bytes - ... => finer-grained-fallbacks-ps2-argb32-ref.png} | Bin - ...g => finer-grained-fallbacks-ps2-rgb24-ref.png} | Bin - test/finer-grained-fallbacks-ps3-argb32-ref.png | Bin 0 -> 1047 bytes - test/finer-grained-fallbacks-ps3-rgb24-ref.png | Bin 0 -> 819 bytes - ... => font-matrix-translation-ps2-argb32-ref.png} | Bin - ...g => font-matrix-translation-ps2-rgb24-ref.png} | Bin - test/font-matrix-translation-ps3-argb32-ref.png | Bin 0 -> 748 bytes - test/font-matrix-translation-ps3-rgb24-ref.png | Bin 0 -> 748 bytes - ....png => ft-show-glyphs-positioning-ps2-ref.png} | Bin - test/ft-show-glyphs-positioning-ps3-ref.png | Bin 0 -> 2269 bytes - ...ps-ref.png => ft-show-glyphs-table-ps2-ref.png} | Bin - test/ft-show-glyphs-table-ps3-ref.png | Bin 0 -> 5687 bytes - ...g => ft-text-antialias-none-ps2-argb32-ref.png} | Bin - test/ft-text-antialias-none-ps3-argb32-ref.png | Bin 0 -> 335 bytes - ...g => ft-text-vertical-layout-type1-ps2-ref.png} | Bin - test/ft-text-vertical-layout-type1-ps3-ref.png | Bin 0 -> 1846 bytes - ...g => ft-text-vertical-layout-type3-ps2-ref.png} | Bin - test/ft-text-vertical-layout-type3-ps3-ref.png | Bin 0 -> 1804 bytes - ...ps-ref.png => glyph-cache-pressure-ps2-ref.png} | Bin - test/glyph-cache-pressure-ps3-ref.png | Bin 0 -> 1454 bytes - ...2-ref.png => gradient-alpha-ps2-argb32-ref.png} | Bin - ...24-ref.png => gradient-alpha-ps2-rgb24-ref.png} | Bin - test/gradient-alpha-ps3-argb32-ref.png | Bin 0 -> 134 bytes - test/gradient-alpha-ps3-rgb24-ref.png | Bin 0 -> 130 bytes - ...ref.png => gradient-constant-alpha-ps2-ref.png} | Bin - ...g => gradient-constant-alpha-ps2-rgb24-ref.png} | Bin - test/gradient-constant-alpha-ps3-ref.png | Bin 0 -> 124 bytes - test/gradient-constant-alpha-ps3-rgb24-ref.png | Bin 0 -> 124 bytes - ...e-join-ps-ref.png => infinite-join-ps2-ref.png} | Bin - test/infinite-join-ps3-ref.png | Bin 0 -> 218 bytes - ...rgb32-ref.png => leaky-dash-ps2-argb32-ref.png} | Bin - ...-rgb24-ref.png => leaky-dash-ps2-rgb24-ref.png} | Bin - test/leaky-dash-ps3-argb32-ref.png | Bin 0 -> 286 bytes - test/leaky-dash-ps3-rgb24-ref.png | Bin 0 -> 284 bytes - ...-ref.png => leaky-dashed-rectangle-ps2-ref.png} | Bin - test/leaky-dashed-rectangle-ps3-ref.png | Bin 0 -> 444 bytes - ...olygon-ps-ref.png => leaky-polygon-ps2-ref.png} | Bin - test/leaky-polygon-ps3-ref.png | Bin 0 -> 354 bytes - ...ale-ps-ref.png => line-width-scale-ps2-ref.png} | Bin - test/line-width-scale-ps3-ref.png | Bin 0 -> 3911 bytes - ...ient-ps-ref.png => linear-gradient-ps3-ref.png} | Bin - ...ref.png => linear-gradient-reflect-ps3-ref.png} | Bin - ...es-ps-ref.png => long-dashed-lines-ps2-ref.png} | Bin - test/long-dashed-lines-ps3-ref.png | Bin 0 -> 1516 bytes - ...png => meta-surface-pattern-ps2-argb32-ref.png} | Bin - ....png => meta-surface-pattern-ps2-rgb24-ref.png} | Bin - test/meta-surface-pattern-ps3-argb32-ref.png | Bin 0 -> 3257 bytes - test/meta-surface-pattern-ps3-rgb24-ref.png | Bin 0 -> 3873 bytes - ...b32-ref.png => new-sub-path-ps2-argb32-ref.png} | Bin - ...gb24-ref.png => new-sub-path-ps2-rgb24-ref.png} | Bin - test/new-sub-path-ps3-argb32-ref.png | Bin 0 -> 556 bytes - test/new-sub-path-ps3-rgb24-ref.png | Bin 0 -> 423 bytes - ...ef.png => over-above-source-ps2-argb32-ref.png} | Bin - test/over-above-source-ps3-argb32-ref.png | Bin 0 -> 636 bytes - ...f.png => over-around-source-ps2-argb32-ref.png} | Bin - ...ef.png => over-around-source-ps2-rgb24-ref.png} | Bin - test/over-around-source-ps3-argb32-ref.png | Bin 0 -> 632 bytes - test/over-around-source-ps3-rgb24-ref.png | Bin 0 -> 538 bytes - ...ef.png => over-below-source-ps2-argb32-ref.png} | Bin - test/over-below-source-ps3-argb32-ref.png | Bin 0 -> 503 bytes - ....png => over-between-source-ps2-argb32-ref.png} | Bin - test/over-between-source-ps3-argb32-ref.png | Bin 0 -> 678 bytes - ...ps-ref.png => random-intersections-ps2-ref.png} | Bin - test/random-intersections-ps3-ref.png | Bin 0 -> 89253 bytes - ...ref.png => rectilinear-miter-limit-ps2-ref.png} | Bin - test/rectilinear-miter-limit-ps3-ref.png | Bin 0 -> 221 bytes - ...oke-ps-ref.png => reflected-stroke-ps2-ref.png} | Bin - test/reflected-stroke-ps3-ref.png | Bin 0 -> 3898 bytes - ...ps-rgb24-ref.png => rel-path-ps2-rgb24-ref.png} | Bin - test/rel-path-ps3-rgb24-ref.png | Bin 0 -> 243 bytes - ....png => rotate-image-surface-paint-ps2-ref.png} | Bin - test/rotate-image-surface-paint-ps3-ref.png | Bin 0 -> 212 bytes - ...ace-ps-ref.png => select-font-face-ps2-ref.png} | Bin - test/select-font-face-ps3-ref.png | Bin 0 -> 959 bytes - ...{self-copy-ps-ref.png => self-copy-ps2-ref.png} | Bin - test/self-copy-ps3-ref.png | Bin 0 -> 335 bytes - ...ref.png => show-text-current-point-ps2-ref.png} | Bin - test/show-text-current-point-ps3-ref.png | Bin 0 -> 1356 bytes - ...extreme-ps-ref.png => skew-extreme-ps2-ref.png} | Bin - test/skew-extreme-ps3-ref.png | Bin 0 -> 1048 bytes - test/{smask-ps-ref.png => smask-ps2-ref.png} | Bin - test/smask-ps3-ref.png | Bin 0 -> 3669 bytes - ...mask-text-ps-ref.png => smask-text-ps2-ref.png} | Bin - test/smask-text-ps3-ref.png | Bin 0 -> 2023 bytes - ...ef.png => source-clip-scale-ps2-argb32-ref.png} | Bin - ...ref.png => source-clip-scale-ps2-rgb24-ref.png} | Bin - test/source-clip-scale-ps3-argb32-ref.png | Bin 0 -> 183 bytes - test/source-clip-scale-ps3-rgb24-ref.png | Bin 0 -> 183 bytes - ...caps-ps-ref.png => stroke-ctm-caps-ps2-ref.png} | Bin - test/stroke-ctm-caps-ps3-ref.png | Bin 0 -> 1079 bytes - ...e-image-ps-ref.png => stroke-image-ps2-ref.png} | Bin - test/stroke-image-ps3-ref.png | Bin 0 -> 1786 bytes - ...-ref.png => surface-pattern-ps2-argb32-ref.png} | Bin - test/surface-pattern-ps3-argb32-ref.png | Bin 0 -> 2520 bytes - ... surface-pattern-scale-down-ps2-argb32-ref.png} | Bin - test/surface-pattern-scale-down-ps3-argb32-ref.png | Bin 0 -> 1400 bytes - ...=> surface-pattern-scale-up-ps2-argb32-ref.png} | Bin - test/surface-pattern-scale-up-ps3-argb32-ref.png | Bin 0 -> 1011 bytes - ...b32-ref.png => text-pattern-ps3-argb32-ref.png} | Bin - ...gb24-ref.png => text-pattern-ps3-rgb24-ref.png} | Bin - ...t-rotate-ps-ref.png => text-rotate-ps2-ref.png} | Bin - test/text-rotate-ps3-ref.png | Bin 0 -> 6851 bytes - ...sform-ps-ref.png => text-transform-ps2-ref.png} | Bin - test/text-transform-ps3-ref.png | Bin 0 -> 4154 bytes - ...ransforms-ps-ref.png => transforms-ps2-ref.png} | Bin - test/transforms-ps3-ref.png | Bin 0 -> 418 bytes - ...argb32-ref.png => trap-clip-ps3-argb32-ref.png} | Bin - ...s-rgb24-ref.png => trap-clip-ps3-rgb24-ref.png} | Bin - ...roxy-ps-ref.png => user-font-proxy-ps2-ref.png} | Bin - test/user-font-proxy-ps3-ref.png | Bin 0 -> 8171 bytes - ...{user-font-ps-ref.png => user-font-ps2-ref.png} | Bin - test/user-font-ps3-ref.png | Bin 0 -> 5043 bytes - ...le-ps-ref.png => user-font-rescale-ps2-ref.png} | Bin - test/user-font-rescale-ps3-ref.png | Bin 0 -> 8041 bytes - 192 files changed, 277 insertions(+), 116 deletions(-) - -commit 0c030d3b768718eac5d429d0c819934f32896b25 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri Sep 26 15:26:40 2008 +0100 - - [boilerplate] Add svg-1.2 target. - - SVG 1.2 is sufficiently different from 1.1 that it has separate code - paths within cairo-svg-surface and so justifies its own boilerplate - target. - - boilerplate/cairo-boilerplate-svg-private.h | 30 +++++++--- - boilerplate/cairo-boilerplate-svg.c | 48 +++++++++++++-- - boilerplate/cairo-boilerplate.c | 24 ++++++-- - test/Makefile.am | 66 ++++++++++++++------- - ...-svg-ref.png => caps-joins-alpha-svg11-ref.png} | Bin - test/caps-joins-alpha-svg12-ref.png | Bin 0 -> 2454 bytes - ...f.png => font-matrix-translation-svg11-ref.png} | Bin - test/font-matrix-translation-svg12-ref.png | Bin 0 -> 970 bytes - ...ng => ft-show-glyphs-positioning-svg11-ref.png} | Bin - test/ft-show-glyphs-positioning-svg12-ref.png | Bin 0 -> 6590 bytes - ...=> ft-text-vertical-layout-type1-svg11-ref.png} | Bin - test/ft-text-vertical-layout-type1-svg12-ref.png | Bin 0 -> 3973 bytes - ...=> ft-text-vertical-layout-type3-svg11-ref.png} | Bin - test/ft-text-vertical-layout-type3-svg12-ref.png | Bin 0 -> 3957 bytes - ...t-svg-ref.png => linear-gradient-svg11-ref.png} | Bin - test/linear-gradient-svg12-ref.png | Bin 0 -> 1000 bytes - ...b32-ref.png => mask-alpha-svg11-argb32-ref.png} | Bin - test/mask-alpha-svg12-argb32-ref.png | Bin 0 -> 615 bytes - ...rgb32-ref.png => mask-ctm-svg11-argb32-ref.png} | Bin - ...rgb32-ref.png => mask-ctm-svg12-argb32-ref.png} | Bin - test/mask-surface-ctm-svg11-argb32-ref.png | Bin 0 -> 108 bytes - test/mask-surface-ctm-svg12-argb32-ref.png | Bin 0 -> 108 bytes - ...vg-argb32-ref.png => mask-svg11-argb32-ref.png} | Bin - ...-svg-rgb24-ref.png => mask-svg11-rgb24-ref.png} | Bin - test/mask-svg12-argb32-ref.png | Bin 0 -> 8527 bytes - test/mask-svg12-rgb24-ref.png | Bin 0 -> 7935 bytes - ....png => mask-transformed-similar-svg11-ref.png} | Bin - test/mask-transformed-similar-svg12-ref.png | Bin 0 -> 4051 bytes - ...g => meta-surface-pattern-svg11-argb32-ref.png} | Bin - ...ng => meta-surface-pattern-svg11-rgb24-ref.png} | Bin - test/meta-surface-pattern-svg12-argb32-ref.png | Bin 0 -> 3924 bytes - test/meta-surface-pattern-svg12-rgb24-ref.png | Bin 0 -> 4593 bytes - ...vg-ref.png => paint-source-alpha-svg11-ref.png} | Bin - test/paint-source-alpha-svg12-ref.png | Bin 0 -> 505 bytes - ...-svg-ref.png => paint-with-alpha-svg11-ref.png} | Bin - test/paint-with-alpha-svg12-ref.png | Bin 0 -> 516 bytes - ...b32-ref.png => push-group-svg11-argb32-ref.png} | Bin - test/push-group-svg12-argb32-ref.png | Bin 0 -> 2935 bytes - ...t-svg-ref.png => radial-gradient-svg11-ref.png} | Bin - test/radial-gradient-svg12-ref.png | Bin 0 -> 91039 bytes - ...ng => rotate-image-surface-paint-svg11-ref.png} | Bin - test/rotate-image-surface-paint-svg12-ref.png | Bin 0 -> 248 bytes - ...cale-source-surface-paint-svg11-argb32-ref.png} | Bin - ...scale-source-surface-paint-svg11-rgb24-ref.png} | Bin - ...scale-source-surface-paint-svg12-argb32-ref.png | Bin 0 -> 182 bytes - .../scale-source-surface-paint-svg12-rgb24-ref.png | Bin 0 -> 192 bytes - ...b32-ref.png => set-source-svg11-argb32-ref.png} | Bin - test/set-source-svg12-argb32-ref.png | Bin 0 -> 104 bytes - ...k-fill-svg-ref.png => smask-fill-svg11-ref.png} | Bin - test/smask-fill-svg12-ref.png | Bin 0 -> 1166 bytes - ...k-mask-svg-ref.png => smask-mask-svg11-ref.png} | Bin - test/smask-mask-svg12-ref.png | Bin 0 -> 2529 bytes - ...paint-svg-ref.png => smask-paint-svg11-ref.png} | Bin - test/smask-paint-svg12-ref.png | Bin 0 -> 2612 bytes - test/{smask-svg-ref.png => smask-svg11-ref.png} | Bin - test/smask-svg12-ref.png | Bin 0 -> 3634 bytes - ...k-text-svg-ref.png => smask-text-svg11-ref.png} | Bin - test/smask-text-svg12-ref.png | Bin 0 -> 1886 bytes - ...svg-ref.png => source-clip-scale-svg11-ref.png} | Bin - test/source-clip-scale-svg12-ref.png | Bin 0 -> 119 bytes - ...n-svg-ref.png => surface-pattern-svg11-ref.png} | Bin - test/surface-pattern-svg12-ref.png | Bin 0 -> 17663 bytes - ...2-ref.png => text-pattern-svg11-argb32-ref.png} | Bin - ...24-ref.png => text-pattern-svg11-rgb24-ref.png} | Bin - test/text-pattern-svg12-argb32-ref.png | Bin 0 -> 1733 bytes - test/text-pattern-svg12-rgb24-ref.png | Bin 0 -> 1563 bytes - ...otate-svg-ref.png => text-rotate-svg11-ref.png} | Bin - test/text-rotate-svg12-ref.png | Bin 0 -> 18301 bytes - ...y-svg-ref.png => user-font-proxy-svg11-ref.png} | Bin - test/user-font-proxy-svg12-ref.png | Bin 0 -> 17902 bytes - ...svg-ref.png => user-font-rescale-svg11-ref.png} | Bin - test/user-font-rescale-svg12-ref.png | Bin 0 -> 15741 bytes - ...er-font-svg-ref.png => user-font-svg11-ref.png} | Bin - test/user-font-svg12-ref.png | Bin 0 -> 6134 bytes - 74 files changed, 128 insertions(+), 40 deletions(-) - -commit 86e57671dd21078215505202ef8aa2141d10fb9c -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Fri Sep 26 11:08:22 2008 -0400 - - [check-*.sh] Redirect error reports to stderr - - doc/public/check-doc-coverage.sh | 6 +++--- - src/check-def.sh | 2 +- - src/check-doc-syntax.sh | 8 ++++---- - src/check-headers.sh | 2 +- - src/check-plt.sh | 2 +- - src/check-preprocessor-syntax.sh | 10 +++++----- - 6 files changed, 15 insertions(+), 15 deletions(-) - -commit 096f9def0f599e527d97bb979f7cafbc87dcddc6 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Fri Sep 26 10:55:44 2008 -0400 - - Add slim markers to make check-plt.sh happy - - src/cairo-font-face.c | 4 ++++ - src/cairo-user-font.c | 4 ++++ - src/cairo.c | 5 +++++ - src/cairoint.h | 13 +++++++++++++ - 4 files changed, 26 insertions(+) - -commit 1de059b33bd2e6121e35ccf1c4a35ba7755c44d8 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Fri Sep 26 09:49:50 2008 -0400 - - [RELEASING] Add ftp-release@lists.freedesktop.org - - That list is monitored by various distros to pick up new releases. - We should CC release announcements there. - - RELEASING | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit 9662be8ee77e219908b64b82e828d577dcf120f0 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Fri Sep 26 00:22:00 2008 -0400 - - [twin-font] Adjust ascent/descent - - The font data uses a 64 int high font space with baseline at 50. - - src/cairo-font-face-twin.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 3883a371f2ba78b17a1302ba8c5df1a79f3e4075 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Fri Sep 26 00:20:21 2008 -0400 - - [scaled-font] Use full ctm matrix when comparing scaled-font keys - - We use the full matrix in hash computation, but only compare the - non-translation items in equality check. This is no bug though, - as we set the ctm translation components of a scaled font to zero - explicitly. But the change makes the hash and equal functions - consistent, which is good. - - src/cairo-scaled-font.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 48099af9fed7497a230992e41d559a19c5dbdc60 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Sep 25 13:24:58 2008 +0100 - - [boilerplate] Retry conversion in process if first attempt fails. - - One possibility for a read failure whilst converting the image is if the - external utility crashed. This information is important for the test suite - as knowing input that causes the converter to crash is just as vital as - identifying a crash within the library. - - boilerplate/cairo-boilerplate-pdf.c | 11 +---------- - boilerplate/cairo-boilerplate-svg.c | 11 +---------- - boilerplate/cairo-boilerplate.c | 35 +++++++++++++++++++++++++++++++++-- - boilerplate/cairo-boilerplate.h | 11 +++++++++-- - 4 files changed, 44 insertions(+), 24 deletions(-) - -commit f2c484d73ce61012a2d9925f15b55e7c51e34b85 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Sep 25 00:16:45 2008 +0100 - - [test/any2ppm] Handle short reads/writes. - - No excuse other than simple laziness - it manifested itself with random - "error whilst reading" failures. - - boilerplate/cairo-boilerplate.c | 24 +++++++++++++++++--- - test/any2ppm.c | 50 +++++++++++++++++++++++++++++++++++------ - 2 files changed, 64 insertions(+), 10 deletions(-) - -commit 681424cbaf94556bf1804547b42ad642c0a066ab -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Sep 25 10:40:32 2008 +0100 - - [analysis] Merge two analysis status codes. - - Since there is an implicit precedence in the ranking of the analysis - return codes, provide a function to centralize the logic within the - analysis surface and isolate the backends from the complexity. - - src/cairo-analysis-surface-private.h | 3 +++ - src/cairo-analysis-surface.c | 50 +++++++++++++++++++++++++++--------- - src/cairo-pdf-surface.c | 31 +++++++--------------- - 3 files changed, 50 insertions(+), 34 deletions(-) - -commit 06f0cc81d227a571e011e83cc192050a34d6ea13 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Sep 25 10:29:27 2008 +0100 - - Add a macro to determine whether a status is a fatal error. - - In a few places we need to check whether we have a fatal error or an - internal return code, so provide a utility macro to centralise the check. - - src/cairo.c | 3 +-- - src/cairoint.h | 3 +++ - 2 files changed, 4 insertions(+), 2 deletions(-) - -commit ba18d57339dbedbbdb7f3ca35b06ce6b5dbcd972 -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu Sep 25 09:39:41 2008 +0100 - - [pdf] Propagate status - - Check and return a few forgotten error codes from static functions. - - src/cairo-pdf-operators.c | 14 +++++++++++--- - src/cairo-pdf-surface.c | 6 +++++- - 2 files changed, 16 insertions(+), 4 deletions(-) - -commit 907f550a1b13b0a388f9ff22663911d4aabbe2d8 -Author: Adrian Johnson <ajohnson@redneon.com> -Date: Fri Sep 26 20:26:55 2008 +0930 - - Fix bitmap-font XFAIL - - Images in PDF are scaled to a unit square. In PS we set the - ImageMatrix to do the same. When the image is painted we scale the - graphics state to paint the image at the right size. In the case of - Type 3 fonts consisting of bitmap images we want to paint the images - at their original size so we scale the graphics state by the image - width and height. - - The bug was that we were scaling by the width/height in the glyph - metrics. For non rotated fonts this worked. However for rotated fonts - the width/height of the glyph images may be larger than the - width/height in the glyph metrics. This resulted in a Type 3 font - where the glyph images were scaled slightly smaller than they should - have been. - - src/cairo-type3-glyph-surface.c | 10 +++------- - test/Makefile.am | 1 - - test/bitmap-font-pdf-argb32-ref.png | Bin 1064 -> 0 bytes - 3 files changed, 3 insertions(+), 8 deletions(-) - -commit f8542dc9dd4dd0685f68381f21fa72dbddd8d682 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Thu Sep 25 19:08:24 2008 -0400 - - [twin-font] Clean up font data by joining lines and closing paths - - Two changes here: - - * Replace move_to;line_to;move_to;line_to sequences with - move_to;line_to;line_to when feasible. - - * Close paths for round glyphs. - - Both improve the stroke rendering of the joint. - - The first change also saves 3 bytes per joint (33 such joints). - Which we have just left unused for now. To reclaim them one need - to update the charset table. Something for a lazy Sunday afternoon - scripting task. - - In the saving department, we can save further by: - - - Getting rid of the left/ascent/descent values as we compute - glyph bounding box automatically. Then we can liberally use - the right value to adjust glyph advance width. Saves three - bytes per glyph (there's 96 glyphs in the font). - - - First operation is always a move_to. So we can remove the 'm' - for that. Ugly though. - - And the charset has zeros for the first 32 entries. Can get rid of - that too at the expense of handling it in the code... - - In total, combining the above we can save some 500 bytes. The font - currently takes about 3.7kb. - - src/cairo-font-face-twin-data.c | 154 ++++++++++++++++++++-------------------- - src/cairo-font-face-twin.c | 18 +++-- - 2 files changed, 91 insertions(+), 81 deletions(-) - -commit d5a998387bcee6569d33375d592190f480f12712 -Author: Behdad Esfahbod <behdad@behdad.org> -Date: Thu Sep 25 04:27:11 2008 -0400 - - Add an internal font face - - The font data and rendering is adapted from Keith Packard's Twin - window system. The hinting stuff is not ported yet, but hey, it renders! - - The implementation uses user fonts, and the user font backend is modified - to use this font face (which we call "twin" font face internally) when - a toy font is needed. - - The font face layer is then modified to use this font if: - - - The toy font face "cairo" is asked for, or - - - No native font backend is available, or - - - The preferred native font backend fails to return a font with - STATUS_UNSUPPORTED. No font backend does this right now but - the idea is to change FreeType to return it if no fonts found - on the system. - - We also allow building with no font backends now! - - The new doc/tutorial/src/twin.c file tests the twin face at various - sizes. - - build/configure.ac.features | 26 +- - doc/tutorial/src/twin.c | 39 ++ - src/Makefile.sources | 2 + - src/cairo-font-face-twin-data.c | 1030 +++++++++++++++++++++++++++++++++++++++ - src/cairo-font-face-twin.c | 199 ++++++++ - src/cairo-font-face.c | 33 +- - src/cairo-user-font.c | 53 +- - src/cairoint.h | 18 +- - 8 files changed, 1371 insertions(+), 29 deletions(-) - -commit dd7e2461ce748403e121a5de5e4e4c8890e39236 -Author: Carl Worth <cworth@cworth.org> -Date: Thu Sep 25 16:06:19 2008 -0700 - - Increment cairo version to 1.8.1 after the 1.8.0 release. - - cairo-version.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) |