diff options
Diffstat (limited to 'libs/cairo-1.16.0/ChangeLog.pre-1.12')
-rw-r--r-- | libs/cairo-1.16.0/ChangeLog.pre-1.12 | 29378 |
1 files changed, 29378 insertions, 0 deletions
diff --git a/libs/cairo-1.16.0/ChangeLog.pre-1.12 b/libs/cairo-1.16.0/ChangeLog.pre-1.12 new file mode 100644 index 0000000..b306e5b --- /dev/null +++ b/libs/cairo-1.16.0/ChangeLog.pre-1.12 @@ -0,0 +1,29378 @@ +commit a0bf6d25b5b68c897d63580d1ca9ee182f04cce1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Mar 23 19:33:07 2012 +0000 + + version: bump for 1.12.0 release! + + NEWS | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + cairo-version.h | 4 +-- + 2 files changed, 82 insertions(+), 2 deletions(-) + +commit 9cb7586fb05f72d4b10b33c9a8e8870ee4865af5 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Mar 23 18:08:40 2012 +0000 + + cairo: Add some missing doc entries for cairo_raster_source_pattern_t + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-raster-source-pattern.c | 2 ++ + src/cairo.h | 9 ++++++++- + 2 files changed, 10 insertions(+), 1 deletion(-) + +commit 8416b40f4357d0660ccb9f5b24b07b4d2f663fbc +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Mar 23 14:22:22 2012 +0000 + + win32: mark-dirty cannot assume the fallback has been discarded + + Flushing only releases the fallback if we flush twice with no + intervening damage (the theory is to try and reduce readbacks). So it is + possible for a correctly behaving application to call mark-dirty and there + still be a fallback. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/win32/cairo-win32-display-surface.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 21218870300bfb4050b87c9a872b7664ce44d94e +Author: Igor Oliveira <igor.o@sisa.samsung.com> +Date: Fri Mar 23 16:54:22 2012 +0000 + + gl: GL_UNPACK_ROW_LENGTH does not accept negative values + + Use the slow fallback path if passed an image with a negative stride. + + Fixes negative-stride-image. + + src/cairo-gl-surface.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +commit 60549f7a56d2b021ab612a6b66e720d31f3400ad +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Mar 23 13:03:27 2012 +0000 + + win32: Copy back the fallback damage to the right location + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/win32/cairo-win32-display-surface.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +commit c5b8cfab87754a0b7b41a257fdaa1b0776537cf8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Mar 23 12:26:12 2012 +0000 + + test: Tweak the results summary + + Fix up the rules for the new directory structure. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.am | 16 +++++++++------- + 1 file changed, 9 insertions(+), 7 deletions(-) + +commit 8a65d8e2de7d26bf285953a327b24a667eee62da +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Mar 23 00:31:58 2012 +0000 + + image: Fix leak of white solid color for masked composition of CLEAR + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit bc97bcf0efec761dff3e77499e1dfa42fdefef59 +Author: Henry Song <henry.song@samsung.com> +Date: Tue Mar 20 00:32:01 2012 +0000 + + gl: use direct mode for uploading gradient texture + + The gradient is relatively small and any differences between upload + methods should be hidden by the caching. As it stands, using pbo with + the gradient fails with fglrx. As the workaround to use a simple + TexImage2D is inconsequential (may even be a minute win) and simplifies + the code, just do it. + + src/cairo-gl-gradient.c | 52 +++++++++++++++++++------------------------------ + 1 file changed, 20 insertions(+), 32 deletions(-) + +commit 02e3b6bc80f1903352676d03102b6ca5f8def0b4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Mar 22 14:27:31 2012 +0000 + + directfb: Tweak, tweak, tweak. + + A couple of mistakes, such as inverting the logic as to when to flush + damage back from the shadow, meant that nothing happened when drawing to + the directfb surface. + + Again still only compile tested. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-directfb-surface.c | 88 ++++++++------------------------------------ + 1 file changed, 16 insertions(+), 72 deletions(-) + +commit be8a5f13b712920940c4819af59b77a291153870 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Mar 22 12:25:58 2012 +0000 + + win32: Remove obsolete font rendering routines + + These are now done by cairo-win32-gdi-compositor. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/win32/cairo-win32-font.c | 187 ------------------------------------------- + 1 file changed, 187 deletions(-) + +commit 28b38312235c73aa436e8c1887db3d31620158ec +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Mar 22 12:07:06 2012 +0000 + + win32: Hook up glyph creation again + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/win32/cairo-win32-font.c | 80 +++++++++++++++++++++++++++++++++----------- + 1 file changed, 61 insertions(+), 19 deletions(-) + +commit 9bb5b02694e1bbd5c0cdd28606d80fb2d2d701ee +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Mar 21 20:08:15 2012 +0000 + + win32: Fix damage flushing + + The damage wasn't being created on the right surface, so the damage to + the fallback image surface was not being tracked. Perform a little bit + of juggling so that we track dirty regions on the fallback surface itself. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/win32/cairo-win32-display-surface.c | 42 ++++++++++++++++++++++++--------- + src/win32/cairo-win32-gdi-compositor.c | 5 ++-- + 2 files changed, 34 insertions(+), 13 deletions(-) + +commit c504dba5a76def6358a5b309ad5bc4a8dfe6199e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Mar 21 20:07:00 2012 +0000 + + damage: Fix memcpy size + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-damage.c | 18 ++++++++++++++++-- + 1 file changed, 16 insertions(+), 2 deletions(-) + +commit eafa127001319942e2a5e2009979e3ffd36320ed +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Mar 21 20:07:55 2012 +0000 + + compositor: Add tracing for damage + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-compositor.c | 35 ++++++++++++++++++++++++++++++----- + 1 file changed, 30 insertions(+), 5 deletions(-) + +commit 86a89a8c1de88f279b306ac8e3461773895aa7a2 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Mar 20 19:14:28 2012 +0000 + + win32: Check for damage before blitting + + During the surface flush, we reduce any pending damage and then blit. If + no damage had been accrued then the damage->region would be NULL leading + to a segfault. + + Patch suggested by Szuromi Gábor. + + Reported-by: Szuromi Gábor <kukkerman@gmail.com> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47605 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/win32/cairo-win32-display-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 0a778d974f2dca2555711ef79e738cb0614b2a3f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Mar 19 19:42:01 2012 +0000 + + stroke: Adapt rectilinear stroker to handle separable non-unity scaling + + Reported-by: Christos Sotiriou <csotiriou@gmail.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-matrix.c | 15 ---- + src/cairo-path-stroke-boxes.c | 125 ++++++++++++++++-------------- + src/cairoint.h | 23 +++++- + test/reference/text-rotate.argb32.ref.png | Bin 16655 -> 0 bytes + test/reference/text-rotate.ref.png | Bin 14682 -> 16667 bytes + test/reference/text-rotate.rgb24.ref.png | Bin 16655 -> 0 bytes + 6 files changed, 84 insertions(+), 79 deletions(-) + +commit 1e4f385dec03083b2453205bf5f4bef25b3af806 +Author: Henry (Yu) Song <hsong@sisa.samsung.com> +Date: Tue Mar 13 22:06:46 2012 +0000 + + boilerplate/gl: set width and height to be at least 1 + + boilerplate/cairo-boilerplate-egl.c | 5 +++++ + 1 file changed, 5 insertions(+) + +commit a473c035676168d21cd3b2fb61eaad2117b40057 +Author: Dongyeon Kim <dy5.kim@samsung.com> +Date: Fri Mar 16 10:31:05 2012 +0900 + + trace: Wrap GL surfaces + + util/cairo-trace/trace.c | 183 +++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 183 insertions(+) + +commit a3612610b15c5c2b6155cfb7e54d6eacae7a0d92 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Mar 19 10:30:58 2012 +0000 + + gl: Manually invert images without MESA_pack_invert extension + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-surface.c | 29 +++++++++++++++++++++++++++-- + 1 file changed, 27 insertions(+), 2 deletions(-) + +commit cc98926cdea02ce4c11ed2c0d792429c25e7b5fa +Author: Kouhei Sutou <kou@clear-code.com> +Date: Mon Mar 19 10:28:56 2012 +0000 + + skia: add a missing header into archive + + src/Makefile.sources | 1 + + 1 file changed, 1 insertion(+) + +commit f5b5fad66e9c545f332a5f5cf8bd86c7d77caa93 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Mar 15 11:58:51 2012 +0000 + + trace: Add breadcrumb for cairo_image_surface_get_data() + + Just emit a marker for when cairo_image_surface_get_data() is called on + a surface so that we have a breadcrumb for when the pixels are first + exported. (Though note that pointer may be kept around and used much + later.) + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-trace/trace.c | 22 ++++++++++++++++++++++ + 1 file changed, 22 insertions(+) + +commit efb2018309aa7ad81b6a71dfa322fb871d94c36d +Author: Henry (Yu) Song <hsong@sisa.samsung.com> +Date: Tue Mar 13 16:35:21 2012 +0000 + + scaled-font: Ignore empty glyphs when checking for potential overlap + + A zero-sized box contains no pixels and so cannot overlap, but it does + still need to contribute to the extents. + + src/cairo-scaled-font.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 91113a9e4583fac275cc0fa01fc957abd9b7dc0e +Author: Chuanbo Weng <strgnm@gmail.com> +Date: Tue Mar 13 11:19:23 2012 +0000 + + subsurface: Avoid potential crash when subsurface's size is less than 0 + + When cairo_surface_create_for_rectangle() is given non-integer parameters, + the subsurface's size may be negative(e.g x = 0.2, width = 0.7, the + final width will be -1). This illegal surface may cause crash somewhere + upon later use, and although the fractional subsurface is ill-defined, + we should never crash! + + src/cairo-surface-subsurface.c | 5 +++++ + 1 file changed, 5 insertions(+) + +commit d67f02e23e008b21425e319b5c95022348363749 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Mar 13 11:16:39 2012 +0000 + + spans-compositor: Only destroy the clip if we made the copy + + The extents->clip may be replaced elsewhere and so we cannot assume that + simply because it changed from the stashed value, that it was us that + made that copy. So becareful to only free our copy. + + Fixes a double-free of a clip after a complex fallback operation. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-spans-compositor.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 94a9e06a930ba985de461826ea3e64fd7c222bc6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Mar 12 18:41:45 2012 +0000 + + clip: Intialise polygon fill-rule prior to use + + The earliest use of the clip path's polygon fill rule is now for + intersecting the original polygon with the plurality of clip boxes. + However, the initialisation of the fill rule remained after the + intersection. + + ==8968== Conditional jump or move depends on uninitialised value(s) + ==8968== at 0x4C99449: _cairo_polygon_intersect (cairo-polygon-intersect.c:1382) + ==8968== by 0x4C9B788: _cairo_polygon_intersect_with_boxes.part.12 (cairo-polygon-intersect.c:1520) + ==8968== by 0x4C6AE6E: _cairo_clip_get_polygon (cairo-clip-polygon.c:104) + ==8968== by 0x4CAA667: clip_and_composite_boxes.part.13 (cairo-spans-compositor.c:773) + ==8968== by 0x4CAAD1D: clip_and_composite_boxes (cairo-spans-compositor.c:758) + ==8968== by 0x4CAB25C: _cairo_spans_compositor_fill (cairo-spans-compositor.c:1023) + ==8968== by 0x4C6CB69: _cairo_compositor_fill (cairo-compositor.c:184) + ==8968== by 0x4C7CE3E: _cairo_image_surface_fill (cairo-image-surface.c:945) + ==8968== by 0x4CAE2B6: _cairo_surface_fill (cairo-surface.c:2047) + ==8968== by 0x4C74AB7: _cairo_gstate_fill (cairo-gstate.c:1268) + ==8968== by 0x4C6E6D3: _cairo_default_context_fill (cairo-default-context.c:1009) + ==8968== by 0x4C67944: cairo_fill (cairo.c:2105) + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-clip-polygon.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit ea0703524f1a508b4c60c7a3ea5b5da3c40bca2f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Mar 12 18:20:16 2012 +0000 + + image: Support SRC compositing with in the inline span-compositor + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 106 +++++++++++++++++++++++--- + test/reference/operator-source.argb32.ref.png | Bin 5630 -> 5625 bytes + test/reference/operator-source.rgb24.ref.png | Bin 4000 -> 3967 bytes + 3 files changed, 96 insertions(+), 10 deletions(-) + +commit e0be011207a2efdd81f9fdededa6f6ec2031cbf1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Mar 10 11:02:13 2012 +0000 + + skia: Setup opacity for cairo_paint_with_alpha() + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/skia/cairo-skia-context.cpp | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +commit f7897e7cbd43e6ed01b5fe13ae76a65c1d4a5e83 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Mar 12 10:11:17 2012 +0000 + + version: Post-release version bump to 1.11.5 + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit a8dbc68056af9f32b6ebc6c1a0191e9ca7ec2e7d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Mar 12 09:00:50 2012 +0000 + + version: Bump for snapshot 1.11.4 + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + NEWS | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + cairo-version.h | 2 +- + 2 files changed, 89 insertions(+), 1 deletion(-) + +commit 49f03c2738f3984a7bd93687973fd20e9fe4ba5c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Mar 12 09:24:36 2012 +0000 + + test: Restore 'release-verify-sane-tests' makefile target + + Empty for the moment as there is no need to cross-reference the files in + git against the list in the Makefile anymore, but the release process + still requires it - and it may prove to be useful again in the future. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.am | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit ab0e224b999c005c0d59b887188fddf34189a74a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Mar 10 10:46:39 2012 +0000 + + skia: compile fix + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/skia/cairo-skia-surface.cpp | 1 + + 1 file changed, 1 insertion(+) + +commit f7d4653c1b945c93d394541e5c32397c90c2c139 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Mar 9 14:06:58 2012 +0000 + + stroke: Do not initialise the pen if will not use it + + The pen is only used for ensuring that we generate consist vertices + around a fan used for end-capping or line-joining when set to ROUND. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-stroke-polygon.c | 30 +++++++++++++++++++----------- + 1 file changed, 19 insertions(+), 11 deletions(-) + +commit 5ff689c01771165d26cc272d65e01dfb1a1fd57e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Mar 9 14:06:06 2012 +0000 + + mono-scan-converter: Use edge->is_vertical flag + + The earlier bug found in edge advancement was actually due to the missed + opportunity of not performing the increment when we know the step is + zero. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-mono-scan-converter.c | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +commit 07b540fd35d7312bbfb362f22dac20f57f6900e6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Mar 9 00:14:48 2012 +0000 + + bentley-ottmann: Sort by edge bounding boxes before computing x + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-bentley-ottmann.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit 247c42357c2aaccfbcccd0656b22fc73c0303194 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Mar 9 00:01:21 2012 +0000 + + bentley-ottmann: Skip intersection check if the bounds do not overlap + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-bentley-ottmann.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 2ab171467be53f190239e8cee083b2687ca66025 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Mar 8 20:30:45 2012 +0000 + + hash: Keep a simple lut in front of the main hash + + Whilst we wait for IvyBridge with its fast integer divide, in the + meantime avoid the overhead by inspecting a smaller simpler cache before + doing the full hash table lookup. + + Shaves around 10% off glyph microbenchmarks for -image. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-hash.c | 26 ++++++++++++++++++++------ + 1 file changed, 20 insertions(+), 6 deletions(-) + +commit 002a3d8b95e5aaf795d95cdfccd16a6e78c36d6e +Author: Nis Martensen <nis.martensen@web.de> +Date: Sun Mar 4 17:22:56 2012 +0100 + + doc: fix broken link + + cairo_win32_scaled_font_create_for_logfontw() does not exist. Probably + cairo_win32_font_face_create_for_logfontw() was meant instead. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/win32/cairo-win32-font.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ed89a3eeb08d200eb91fd003d52b6f40bb2f0a06 +Author: Nis Martensen <nis.martensen@web.de> +Date: Sun Mar 4 17:04:15 2012 +0100 + + doc/xcb: document cairo_xcb_device_get_connection + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-connection.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +commit e44186fdfe1334354152744c25894e1e08dd9f81 +Author: Nis Martensen <nis.martensen@web.de> +Date: Sun Mar 4 16:52:22 2012 +0100 + + doc/xlib/xcb: document get/set_precision API + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-connection.c | 21 ++++++++++++++++++++- + src/cairo-xlib-display.c | 20 ++++++++++++++++++++ + 2 files changed, 40 insertions(+), 1 deletion(-) + +commit 423990ba7065da8f204723cdce6e4d10af1ae4fd +Author: Nis Martensen <nis.martensen@web.de> +Date: Sun Mar 4 17:52:58 2012 +0100 + + doc/ps-surface: minor improvements + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-ps-surface.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +commit 70af9e68514accd63ec9ce8fee0344e1eefe04ee +Author: Nis Martensen <nis.martensen@web.de> +Date: Sun Mar 4 15:36:34 2012 +0100 + + doc/ft-font: add reference to cairo_ft_synthesize_t + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-ft-font.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit f22ecd3568ec8e0f0be2549e688f12d79f6053e0 +Author: Nis Martensen <nis.martensen@web.de> +Date: Sun Mar 4 13:49:17 2012 +0100 + + doc: describe cairo_recording_surface_get_extents + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-recording-surface.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +commit 2184bd6672ccc3dbd29799ae3d8890d36f64a3ab +Author: Nis Martensen <nis.martensen@web.de> +Date: Sun Mar 4 13:20:15 2012 +0100 + + doc: avoid confusing gtk-doc by double asterisks + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/drm/cairo-drm-i915-private.h | 24 +++--- + src/drm/cairo-drm-i965-shader.c | 4 +- + src/drm/cairo-drm-intel-brw-eu.c | 26 +++---- + src/drm/cairo-drm-intel-brw-eu.h | 50 ++++++------- + src/drm/cairo-drm-intel-ioctl-private.h | 126 ++++++++++++++++---------------- + 5 files changed, 115 insertions(+), 115 deletions(-) + +commit 6d2582a22ab00f4f87966bb1f965c86d94c4f077 +Author: Nis Martensen <nis.martensen@web.de> +Date: Sun Mar 4 12:45:04 2012 +0100 + + doc: move value descriptions up + + to make gtk-doc happy + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-ft.h | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +commit 16d6b938c876065afb4a3b63a521b7d4d5ea17cf +Author: Nis Martensen <nis.martensen@web.de> +Date: Sat Mar 3 23:43:56 2012 +0100 + + doc: ensure "compatibility" spelling + + This changes not only comments, but also code! + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-cogl-gradient-private.h | 6 +++--- + src/cairo-cogl-gradient.c | 22 +++++++++++----------- + src/cairo-xlib-surface.c | 2 +- + 3 files changed, 15 insertions(+), 15 deletions(-) + +commit 6ce412e15a22db588a9fe690724d6bee64fdb667 +Author: Nis Martensen <nis.martensen@web.de> +Date: Sat Mar 3 23:31:25 2012 +0100 + + doc: symbol names in header and comment must match + + The names of the function arguments in the function prototype and + in the description comment must match, otherwise gtk-doc is confused. + When the argument names differ between function prototype and + definition, use the names from the prototype. + + Also add a missing colon. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-ft.h | 4 ++-- + src/cairo-quartz-image-surface.c | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +commit b42270a3f14774c6557d798b8cc4c310785f4e70 +Author: Nis Martensen <nis.martensen@web.de> +Date: Sat Mar 3 23:19:20 2012 +0100 + + doc: preserve whitespace by using docbook screen tag + + Using the programlisting tag is not appropriate everywhere. Use the + screen tag where the formatting shall be preserved and the text is no + code listing. + + Also add whitespace to prevent gtk-doc from inserting paragraph breaks. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-pattern.c | 4 ++-- + src/cairo-version.c | 18 +++++++++--------- + 2 files changed, 11 insertions(+), 11 deletions(-) + +commit 77da76ac6c31709962e81b2683d984bc58c412d6 +Author: Nis Martensen <nis.martensen@web.de> +Date: Sat Mar 3 23:00:54 2012 +0100 + + doc: fix a few typos found by codespell + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + perf/README | 4 ++-- + src/cairo-beos-surface.cpp | 2 +- + src/cairo-cogl-context.c | 2 +- + src/cairo-cogl-surface.c | 4 ++-- + src/cairo-ft-font.c | 2 +- + src/cairo-mesh-pattern-rasterizer.c | 2 +- + src/cairo-os2-surface.c | 2 +- + src/cairo-region.c | 2 +- + src/cairo-types-private.h | 2 +- + src/cairo-wideint-private.h | 2 +- + src/cairo-xcb-shm.c | 2 +- + src/cairo.c | 2 +- + src/drm/cairo-drm-intel-brw-eu-emit.c | 2 +- + src/win32/cairo-win32-font.c | 2 +- + test/Makefile.am | 2 +- + test/README | 2 +- + test/dash-offset.c | 2 +- + test/glyph-cache-pressure.c | 2 +- + util/cairo-trace/cairo-trace.in | 2 +- + 19 files changed, 21 insertions(+), 21 deletions(-) + +commit 4a1d4205580b793f46101aafe432e9eaf39cf8f2 +Author: Nis Martensen <nis.martensen@web.de> +Date: Sun Mar 4 17:46:10 2012 +0100 + + doc: script_mode_t needs at least one line of text + + Gtk-doc recognizes documentation only if there is additional text. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-script.h | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 344d62b011a9b4ef77b76c9d4377b73133a01cfc +Author: Nis Martensen <nis.martensen@web.de> +Date: Sat Mar 3 22:06:56 2012 +0100 + + doc: Add colon to Returns statement + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-ft-font.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 6b2d12e78a80dd8687b927defbe0704df9cdecf1 +Author: Nis Martensen <nis.martensen@web.de> +Date: Sat Mar 3 22:06:33 2012 +0100 + + doc: do not confuse gtk-doc by @ and double * + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-gl.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit e1c9e7acfcea89e7e0bd5c425968b1ef8840dc4d +Author: Nis Martensen <nis.martensen@web.de> +Date: Sat Mar 3 21:43:27 2012 +0100 + + doc: add missing _face to function names + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-ft-font.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 95ba71812de7c754939e8e15f784ecb65d129fd6 +Author: Nis Martensen <nis.martensen@web.de> +Date: Sat Mar 3 21:38:39 2012 +0100 + + doc: add colon to .._padded_image_from_image + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-ps-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 914448c30454e77f0204a78cae8eef8fd85c4d25 +Author: Nis Martensen <nis.martensen@web.de> +Date: Sat Mar 3 20:45:05 2012 +0100 + + doc: add index of new symbols in 1.12 + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + doc/public/cairo-docs.xml | 3 +++ + 1 file changed, 3 insertions(+) + +commit acf50966e63598c9ef2a1479048fe2554828ad43 +Author: Nis Martensen <nis.martensen@web.de> +Date: Sat Mar 3 20:31:12 2012 +0100 + + doc: typo + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-pattern.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 4353eafa32e396093f845e32c1d015c044f589fe +Author: Nis Martensen <nis.martensen@web.de> +Date: Sat Mar 3 20:28:47 2012 +0100 + + doc: add missing colons to since tags + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-ft-font.c | 12 ++++++------ + src/cairo-ft.h | 2 +- + 2 files changed, 7 insertions(+), 7 deletions(-) + +commit c0eaaa1680ff95abb1b897cd98266a4ed5ce6287 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Mar 8 15:27:03 2012 +0000 + + test: Refresh the fallback-resolution reference images + + Despite copying across the font options from the PDF backend, it still + looks like the image surface is override the glyph placement... Odd. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/fallback-resolution.c | 20 +++++++++++++++++++- + .../fallback-resolution.ppi144x144.ref.png | Bin 8697 -> 8746 bytes + .../reference/fallback-resolution.ppi144x72.ref.png | Bin 8445 -> 8531 bytes + .../reference/fallback-resolution.ppi288x72.ref.png | Bin 7166 -> 7203 bytes + .../reference/fallback-resolution.ppi576x72.ref.png | Bin 6432 -> 6457 bytes + .../reference/fallback-resolution.ppi72x144.ref.png | Bin 8677 -> 8710 bytes + .../reference/fallback-resolution.ppi72x288.ref.png | Bin 7231 -> 7224 bytes + .../reference/fallback-resolution.ppi72x576.ref.png | Bin 6523 -> 6604 bytes + test/reference/fallback-resolution.ppi72x72.ref.png | Bin 8510 -> 8579 bytes + 9 files changed, 19 insertions(+), 1 deletion(-) + +commit 1952fec8294b6473cb1c0719d1ef0fb0b864b6b6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Mar 8 15:11:40 2012 +0000 + + surface: Relax assertion about not rendering to a snapshot + + Recently I began using the surface->snapshot_of member of a subsurface + to cache a target representation of the current subsurface. More + recently, I discovered this caused an assertion failure in epiphany, and + probably other GTK3 based programs. + + Throwaway the assertion and trust that the programmer doesn't make any + mistakes... + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 04108ce4925f7de8211e3b06dcf351e4ad2700c5 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Tue Mar 6 14:28:52 2012 -0800 + + gl/msaa: Do not attach a depth-stencil attachment to the default framebuffer + + Only texture surfaces need to have a depth-stencil attachment. + The default framebuffer is responsible for managing its own + depth and stencil attachments. + + src/cairo-gl-device.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 345460445973548374c171e30e6add02de1e1922 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Mar 6 21:05:40 2012 +0000 + + xlib: Apply the glyph offset + + The (dst_x, dst_y) parameters passed to the XRenderCompositeText are + misleading and do not perform any adjustment, so we have to do it + ourselves. + + Fixes clip-operator + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-render-compositor.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit ad758280b6e7d9f7bcc3b02796b3a1d9df908471 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Mar 6 21:03:02 2012 +0000 + + traps: The CompositeTrapezoids requires the unbounded fixup for clipping + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-traps-compositor.c | 70 +++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 69 insertions(+), 1 deletion(-) + +commit 753007ea0097ecd3ea9611dba69e995f755d5f5c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Mar 6 15:01:05 2012 +0000 + + traps: Avoid double application of unaligned clip boxes + + Both combine-with-clip functions now take care of any intersection with + clip boxes so the result would be to have overdrawn the unaligned clip + box mask twice. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-traps-compositor.c | 59 +++++++++++++++++++++++++++----------------- + 1 file changed, 37 insertions(+), 22 deletions(-) + +commit d40b90a577f3dd159d3871185ed8d649a03a2a4e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Mar 6 14:59:44 2012 +0000 + + clip: Use the boxes-intersection routine for computing the clip polygon + + If we have more than a single box, run the boxes intersection as a + post-processing step on the clip polygon, as it should be faster than + doing it inline. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-clip-polygon.c | 26 ++++++++++++++++++-------- + 1 file changed, 18 insertions(+), 8 deletions(-) + +commit f8f0510f8929980f9b8da7ef0f39d231dfe24686 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Mar 6 14:42:19 2012 +0000 + + image: Add unbounded support to the mono rasteriser fast-paths + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 120 +++++++++++++++++++++++++++++++++++-------- + 1 file changed, 100 insertions(+), 20 deletions(-) + +commit 5bd29eda63ee54daecfdfe36b12a1b6c4b592740 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Mar 6 14:11:49 2012 +0000 + + surface-wrapper: Only apply the wrapped transform to the scaled-font + + And not the device_transform of the target. This smells fishy, but + appears to make the test suite happy. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-wrapper.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +commit c65ed9c79dea9c906db5f34d074500c821ad3228 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Mar 5 14:23:57 2012 +0000 + + image: Try performing span composition a row at a time + + In theory, this should be more cache efficient and allow us to trim the + operation to the width of row, shaving a few texel fetches. The cost is + that we cause pixman to evaluate the composite operation per-row. This + should only be a temporary solution until we can do something better + through pixman... + + On a i5-2520m, ymmv, + + firefox-fishtank 64585.38 -> 56823.41: 1.14x speedup + swfdec-fill-rate 1383.24 -> 1665.88: 1.20x slowdown + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 137 +++++++++++++++++++++++++++++++++++-------- + 1 file changed, 114 insertions(+), 23 deletions(-) + +commit c19bf1499a95bed5fb1be145eefd8e0c6ee2a634 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Mar 5 10:06:49 2012 +0000 + + image: Add a simple inplace blitter for spans + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 148 ++++++++++++++++----- + .../recording-surface-extend-none.rgb24.ref.png | Bin 3133 -> 3128 bytes + .../reference/recording-surface-over.rgb24.ref.png | Bin 3133 -> 3128 bytes + 3 files changed, 116 insertions(+), 32 deletions(-) + +commit 9f83ac5c63684d6576fcbd6c902ee127c457f724 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Mar 5 05:15:52 2012 +0000 + + image: Perform the simple solid-fill spans inplace + + Reducing the number of passes has the usual change in the antialiasing + side-effects, as well as the boon of being faster (and theorectically more + accurate through reduced loss of dynamic range.) + + On an i5-2520m: + swfdec-giant-steps-full 3240.43 -> 2651.36: 1.22x speedup + grads-heat-map 166.84 -> 136.79: 1.22x speedup + swfdec-giant-steps 940.19 -> 796.24: 1.18x speedup + ocitysmap 953.51 -> 831.96: 1.15x speedup + webkit-canvas-alpha 13924.01 -> 13115.70: 1.06x speedup + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 349 ++++++++++++++++++++- + test/reference/clip-operator.argb32.ref.png | Bin 8245 -> 8216 bytes + test/reference/clip-operator.rgb24.ref.png | Bin 3333 -> 3293 bytes + test/reference/fallback.argb32.ref.png | Bin 4070 -> 4059 bytes + test/reference/fallback.rgb24.ref.png | Bin 3141 -> 3139 bytes + test/reference/hatchings.ref.png | Bin 93586 -> 95333 bytes + test/reference/operator-source.argb32.ref.png | Bin 5612 -> 5630 bytes + test/reference/operator-source.rgb24.ref.png | Bin 3975 -> 4000 bytes + test/reference/overlapping-boxes.argb32.ref.png | Bin 187 -> 192 bytes + test/reference/overlapping-boxes.rgb24.ref.png | Bin 179 -> 185 bytes + .../recording-surface-extend-none.rgb24.ref.png | Bin 3128 -> 3133 bytes + .../reference/recording-surface-over.rgb24.ref.png | Bin 3128 -> 3133 bytes + 12 files changed, 348 insertions(+), 1 deletion(-) + +commit e572ae253a9fe62ba5d61bc6e98c9efc502d7414 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Mar 5 11:49:50 2012 +0000 + + spans: Handle fallbacks from upload-boxes by reverting to the normal composite + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-spans-compositor.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit ac80097a31098a9ac746c3d14c1eeaa2198dbef8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Mar 4 19:01:45 2012 +0000 + + traps: First attempt to convert curvy unantialiased polygon to scanlines + + If we have a curvy polygon, we can expect to generate lots of short + trapezoids. However, we may be able to reduce the transport size by + converting them into a set of boxes instead. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-boxes-private.h | 5 ++++ + src/cairo-boxes.c | 59 ++++++++++++++++++++++++++++++++++++++++++++ + src/cairo-traps-compositor.c | 14 +++++++++++ + 3 files changed, 78 insertions(+) + +commit c45822886aae53def2e76ef582aac167adf7fd56 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Mar 4 18:31:20 2012 +0000 + + traps: Use the mono-scan-converter to reduce the number of traps + + This trick only seems effective with mono-rasterisation, with a win of + about 10% for tiger-demo --antialias=none. At other antialias setting, + performance is reduced. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-traps-compositor.c | 31 +++++++++++++++++++--- + src/cairo-traps-private.h | 6 +++++ + src/cairo-traps.c | 62 ++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 95 insertions(+), 4 deletions(-) + +commit 38a242a380d24c669f10dd542c3bab606434b8ad +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Mar 4 17:59:28 2012 +0000 + + spans,image,gl: Add fast-path for simple copies + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-spans-compositor.c | 65 +++++++++++++++++++++++++++++++++++- + src/cairo-image-compositor.c | 2 ++ + src/cairo-spans-compositor-private.h | 11 ++++++ + src/cairo-spans-compositor.c | 47 ++++++++++++++++++++++++-- + 4 files changed, 121 insertions(+), 4 deletions(-) + +commit aed5a1cf1e38ae451d2aeaf0a56aa1248b42c0fa +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Mar 4 17:22:38 2012 +0000 + + spans: Reduce composite_aligned_boxes with over to source for opaque patterns + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-spans-compositor.c | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +commit cc13379ee37cc077cd728588dfbb15a38980c23c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Mar 4 16:51:02 2012 +0000 + + image: Add a fast-path for mono-rasterised blits + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 195 ++++++++++++++++++++++++++++++++----------- + 1 file changed, 144 insertions(+), 51 deletions(-) + +commit 937325d6640aed9c1367627260f80a47b9ed7042 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Mar 4 16:16:38 2012 +0000 + + image: Perform the general composite operation inplace for mono rasterisation + + We suffer from the large overhead in calling pixman_image_composite32 + per-span, but even will that overhead it is a net win with the usual + caveat about cache efficiency and function call overhead. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 120 ++++++++++++++++++++++++++++++--------- + test/reference/hatchings.ref.png | Bin 93764 -> 93586 bytes + 2 files changed, 92 insertions(+), 28 deletions(-) + +commit bda545dee47e6ddc4a82406262a8f2c75413fc75 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Mar 4 16:15:43 2012 +0000 + + spans: Retrim extents to clipped polygon + + After combining the mask polygon with the clip polygon, recompute the + extents of the operation. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-spans-compositor.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 61cb5539fa81bc543781b8a3a8f1b7a2d5df9f35 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Mar 4 15:07:24 2012 +0000 + + image: Add a fast path for solid-filled polygons + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-composite-rectangles.c | 1 + + src/cairo-image-compositor.c | 209 ++++++++++++++++++++++++++++++++++++++- + 2 files changed, 207 insertions(+), 3 deletions(-) + +commit b55e7c776fadb3e730b2a5970736a2f84a1fefdc +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Mar 4 14:15:22 2012 +0000 + + spans: Pass antialiasing hint down to the backends + + The actual span rasterisers may be able to specialise if they know that + the spans will be pixel aligned. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-spans-compositor.c | 1 + + src/cairo-image-compositor.c | 1 + + src/cairo-spans-compositor-private.h | 1 + + src/cairo-spans-compositor.c | 6 ++++-- + src/test-null-compositor-surface.c | 3 ++- + 5 files changed, 9 insertions(+), 3 deletions(-) + +commit a77db2f6e290b2c06c22b7050a04276f3054f52b +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Mar 3 15:10:41 2012 +0100 + + xlib-xcb: Fix make check + + cairo_xcb_device_debug_cap_xrender_version is called by xlib-xcb's + cairo_xlib_device_debug_cap_xrender_version and thus must be marked slim_hidden. + + Checking .libs/libcairo.so for local PLT entries + 0000000000306ff8 0000024200000007 R_X86_64_JUMP_SLOT + 000000000009e720 cairo_xcb_device_debug_cap_xrender_version + 0 + FAIL: check-plt.sh + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-connection.c | 3 +++ + src/cairo-xcb-private.h | 1 + + 2 files changed, 4 insertions(+) + +commit f905f7100663f34542d782f97d35639ae9208d99 +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Mar 3 13:45:59 2012 +0100 + + Fix docs for cairo_xlib_device_debug_cap_xrender_version + + The documentation was apparently copied from + cairo_xcb_device_debug_cap_xrender_version without changing "XCB" into "Xlib". + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xlib-display.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 03df52a833f6d4845394e7e657dbbc5619079be7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Mar 3 12:33:24 2012 +0000 + + image: Correct origin of unbound recording surface source + + Clearly demonstrated by using the test-base with the recording surfaces + and exemplified by the fallback-resolution with PDF, which is *almost* + fixed! + + We're very close to making a release candidate for 1.12 now... + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-source.c | 29 ++++++++++++--------- + .../record-extend-none-similar.base.argb32.ref.png | Bin 0 -> 293 bytes + .../record-extend-none-similar.base.rgb24.ref.png | Bin 0 -> 293 bytes + .../record-extend-none.base.argb32.ref.png | Bin 0 -> 293 bytes + .../record-extend-none.base.rgb24.ref.png | Bin 0 -> 293 bytes + .../record-extend-pad-similar.base.argb32.ref.png | Bin 0 -> 298 bytes + .../record-extend-pad-similar.base.rgb24.ref.png | Bin 0 -> 298 bytes + .../record-extend-pad.base.argb32.ref.png | Bin 0 -> 298 bytes + .../reference/record-extend-pad.base.rgb24.ref.png | Bin 0 -> 298 bytes + ...cord-extend-reflect-similar.base.argb32.ref.png | Bin 0 -> 335 bytes + ...ecord-extend-reflect-similar.base.rgb24.ref.png | Bin 0 -> 335 bytes + .../record-extend-reflect.base.argb32.ref.png | Bin 0 -> 335 bytes + .../record-extend-reflect.base.rgb24.ref.png | Bin 0 -> 335 bytes + ...ecord-extend-repeat-similar.base.argb32.ref.png | Bin 0 -> 286 bytes + ...record-extend-repeat-similar.base.rgb24.ref.png | Bin 0 -> 286 bytes + .../record-extend-repeat.base.argb32.ref.png | Bin 0 -> 286 bytes + .../record-extend-repeat.base.rgb24.ref.png | Bin 0 -> 286 bytes + .../record-fill-alpha.base.argb32.ref.png | Bin 0 -> 2824 bytes + .../reference/record-fill-alpha.base.rgb24.ref.png | Bin 0 -> 2824 bytes + test/reference/record-fill-alpha.base.xfail.png | Bin 0 -> 2853 bytes + test/reference/record-mesh.base.argb32.ref.png | Bin 0 -> 15229 bytes + test/reference/record-mesh.base.rgb24.ref.png | Bin 0 -> 15229 bytes + ...ecord-paint-alpha-clip-mask.base.argb32.ref.png | Bin 0 -> 330 bytes + ...record-paint-alpha-clip-mask.base.rgb24.ref.png | Bin 0 -> 330 bytes + .../record-paint-alpha-clip-mask.base.xfail.png | Bin 0 -> 337 bytes + .../record-paint-alpha-clip.base.argb32.ref.png | Bin 0 -> 269 bytes + .../record-paint-alpha-clip.base.rgb24.ref.png | Bin 0 -> 269 bytes + ...cord-paint-alpha-solid-clip.base.argb32.ref.png | Bin 0 -> 248 bytes + ...ecord-paint-alpha-solid-clip.base.rgb24.ref.png | Bin 0 -> 248 bytes + .../record-paint-alpha.base.argb32.ref.png | Bin 0 -> 224 bytes + .../record-paint-alpha.base.rgb24.ref.png | Bin 0 -> 224 bytes + test/reference/record-paint.base.argb32.ref.png | Bin 0 -> 93 bytes + test/reference/record-paint.base.rgb24.ref.png | Bin 0 -> 93 bytes + .../record-select-font-face.base.argb32.ref.png | Bin 0 -> 2250 bytes + .../record-select-font-face.base.rgb24.ref.png | Bin 0 -> 2250 bytes + .../record-self-intersecting.base.argb32.ref.png | Bin 0 -> 208 bytes + .../record-self-intersecting.base.rgb24.ref.png | Bin 0 -> 208 bytes + .../record-text-transform.base.argb32.ref.png | Bin 0 -> 5579 bytes + .../record-text-transform.base.rgb24.ref.png | Bin 0 -> 5579 bytes + .../record1414x-fill-alpha.base.argb32.ref.png | Bin 0 -> 4191 bytes + .../record1414x-fill-alpha.base.rgb24.ref.png | Bin 0 -> 4191 bytes + .../record1414x-fill-alpha.base.xfail.png | Bin 0 -> 4138 bytes + ...1414x-paint-alpha-clip-mask.base.argb32.ref.png | Bin 0 -> 466 bytes + ...d1414x-paint-alpha-clip-mask.base.rgb24.ref.png | Bin 0 -> 466 bytes + ...ecord1414x-paint-alpha-clip.base.argb32.ref.png | Bin 0 -> 380 bytes + ...record1414x-paint-alpha-clip.base.rgb24.ref.png | Bin 0 -> 380 bytes + ...414x-paint-alpha-solid-clip.base.argb32.ref.png | Bin 0 -> 317 bytes + ...1414x-paint-alpha-solid-clip.base.rgb24.ref.png | Bin 0 -> 317 bytes + .../record1414x-paint-alpha.base.argb32.ref.png | Bin 0 -> 265 bytes + .../record1414x-paint-alpha.base.rgb24.ref.png | Bin 0 -> 265 bytes + .../record1414x-paint.base.argb32.ref.png | Bin 0 -> 95 bytes + .../reference/record1414x-paint.base.rgb24.ref.png | Bin 0 -> 95 bytes + ...ecord1414x-select-font-face.base.argb32.ref.png | Bin 0 -> 3177 bytes + ...record1414x-select-font-face.base.rgb24.ref.png | Bin 0 -> 3177 bytes + ...cord1414x-self-intersecting.base.argb32.ref.png | Bin 0 -> 353 bytes + ...ecord1414x-self-intersecting.base.rgb24.ref.png | Bin 0 -> 353 bytes + .../record1414x-text-transform.base.argb32.ref.png | Bin 0 -> 8706 bytes + .../record1414x-text-transform.base.rgb24.ref.png | Bin 0 -> 8706 bytes + .../record2x-fill-alpha.base.argb32.ref.png | Bin 0 -> 5896 bytes + .../record2x-fill-alpha.base.rgb24.ref.png | Bin 0 -> 5896 bytes + test/reference/record2x-fill-alpha.base.xfail.png | Bin 0 -> 5724 bytes + ...ord2x-paint-alpha-clip-mask.base.argb32.ref.png | Bin 0 -> 488 bytes + ...cord2x-paint-alpha-clip-mask.base.rgb24.ref.png | Bin 0 -> 488 bytes + .../record2x-paint-alpha-clip.base.argb32.ref.png | Bin 0 -> 322 bytes + .../record2x-paint-alpha-clip.base.rgb24.ref.png | Bin 0 -> 322 bytes + ...rd2x-paint-alpha-solid-clip.base.argb32.ref.png | Bin 0 -> 281 bytes + ...ord2x-paint-alpha-solid-clip.base.rgb24.ref.png | Bin 0 -> 281 bytes + .../record2x-paint-alpha.base.argb32.ref.png | Bin 0 -> 291 bytes + .../record2x-paint-alpha.base.rgb24.ref.png | Bin 0 -> 291 bytes + test/reference/record2x-paint.base.argb32.ref.png | Bin 0 -> 98 bytes + test/reference/record2x-paint.base.rgb24.ref.png | Bin 0 -> 98 bytes + .../record2x-select-font-face.base.argb32.ref.png | Bin 0 -> 4407 bytes + .../record2x-select-font-face.base.rgb24.ref.png | Bin 0 -> 4407 bytes + .../record2x-self-intersecting.base.argb32.ref.png | Bin 0 -> 171 bytes + .../record2x-self-intersecting.base.rgb24.ref.png | Bin 0 -> 171 bytes + .../record2x-text-transform.base.argb32.ref.png | Bin 0 -> 13476 bytes + .../record2x-text-transform.base.rgb24.ref.png | Bin 0 -> 13476 bytes + .../record90-fill-alpha.base.argb32.ref.png | Bin 0 -> 2658 bytes + .../record90-fill-alpha.base.rgb24.ref.png | Bin 0 -> 2658 bytes + ...ord90-paint-alpha-clip-mask.base.argb32.ref.png | Bin 0 -> 332 bytes + ...cord90-paint-alpha-clip-mask.base.rgb24.ref.png | Bin 0 -> 332 bytes + .../record90-paint-alpha-clip.base.argb32.ref.png | Bin 0 -> 279 bytes + .../record90-paint-alpha-clip.base.rgb24.ref.png | Bin 0 -> 279 bytes + ...rd90-paint-alpha-solid-clip.base.argb32.ref.png | Bin 0 -> 254 bytes + ...ord90-paint-alpha-solid-clip.base.rgb24.ref.png | Bin 0 -> 254 bytes + .../record90-paint-alpha.base.argb32.ref.png | Bin 0 -> 105 bytes + .../record90-paint-alpha.base.rgb24.ref.png | Bin 0 -> 105 bytes + test/reference/record90-paint.base.argb32.ref.png | Bin 0 -> 93 bytes + test/reference/record90-paint.base.rgb24.ref.png | Bin 0 -> 93 bytes + .../record90-select-font-face.base.argb32.ref.png | Bin 0 -> 2272 bytes + .../record90-select-font-face.base.rgb24.ref.png | Bin 0 -> 2272 bytes + .../record90-self-intersecting.base.argb32.ref.png | Bin 0 -> 208 bytes + .../record90-self-intersecting.base.rgb24.ref.png | Bin 0 -> 208 bytes + .../record90-text-transform.base.argb32.ref.png | Bin 0 -> 5811 bytes + .../record90-text-transform.base.rgb24.ref.png | Bin 0 -> 5811 bytes + 95 files changed, 16 insertions(+), 13 deletions(-) + +commit 8968f010356fc946193aa1ee0a28af39730b8338 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Mar 1 23:24:55 2012 +0000 + + base: Remove the double application of the clip boxes + + The clipping code was modified to handle partial boxes itself, so update + the base compositor to simply use the core clipping code and avoid + double application. + + src/test-base-compositor-surface.c | 174 ++++++--------------- + .../clip-disjoint-hatching.base.argb32.ref.png | Bin 8021 -> 7948 bytes + .../clip-disjoint-hatching.base.rgb24.ref.png | Bin 8021 -> 7948 bytes + .../clip-fill-eo-unbounded.base.argb32.ref.png | Bin 3693 -> 3735 bytes + .../clip-fill-eo-unbounded.base.rgb24.ref.png | Bin 3198 -> 3224 bytes + .../clip-fill-nz-unbounded.base.argb32.ref.png | Bin 3693 -> 3735 bytes + .../clip-fill-nz-unbounded.base.rgb24.ref.png | Bin 3198 -> 3224 bytes + test/reference/clip-fill-rule.base.argb32.ref.png | Bin 412 -> 437 bytes + test/reference/clip-fill-rule.base.rgb24.ref.png | Bin 361 -> 393 bytes + test/reference/clip-fill.base.argb32.ref.png | Bin 1049 -> 1039 bytes + test/reference/clip-fill.base.rgb24.ref.png | Bin 1049 -> 1039 bytes + .../clip-group-shapes-circles.base.argb32.ref.png | Bin 1534 -> 1511 bytes + .../clip-group-shapes-circles.base.rgb24.ref.png | Bin 1534 -> 1511 bytes + ...shapes-unaligned-rectangles.base.argb32.ref.png | Bin 431 -> 415 bytes + ...-shapes-unaligned-rectangles.base.rgb24.ref.png | Bin 431 -> 415 bytes + test/reference/clip-image.base.argb32.ref.png | Bin 2686 -> 2677 bytes + test/reference/clip-image.base.rgb24.ref.png | Bin 2686 -> 2677 bytes + test/reference/clip-intersect.base.argb32.ref.png | Bin 193 -> 200 bytes + test/reference/clip-intersect.base.rgb24.ref.png | Bin 193 -> 200 bytes + test/reference/clip-nesting.base.argb32.ref.png | Bin 1031 -> 1044 bytes + test/reference/clip-nesting.base.rgb24.ref.png | Bin 936 -> 937 bytes + test/reference/clip-operator.base.argb32.ref.png | Bin 8179 -> 8182 bytes + test/reference/clip-operator.base.rgb24.ref.png | Bin 3243 -> 3244 bytes + test/reference/clip-polygons.base.argb32.ref.png | Bin 1296 -> 1336 bytes + test/reference/clip-polygons.base.rgb24.ref.png | Bin 1296 -> 1336 bytes + test/reference/clip-push-group.base.argb32.ref.png | Bin 155 -> 164 bytes + test/reference/clip-push-group.base.rgb24.ref.png | Bin 155 -> 164 bytes + .../reference/clip-rectilinear.base.argb32.ref.png | Bin 440 -> 439 bytes + test/reference/clip-rectilinear.base.rgb24.ref.png | Bin 440 -> 439 bytes + test/reference/clip-shape.base.argb32.ref.png | Bin 2943 -> 2916 bytes + test/reference/clip-shape.base.rgb24.ref.png | Bin 2943 -> 2916 bytes + .../clip-stroke-unbounded.base.argb32.ref.png | Bin 3617 -> 3655 bytes + .../clip-stroke-unbounded.base.rgb24.ref.png | Bin 3108 -> 3135 bytes + test/reference/clip-stroke.base.argb32.ref.png | Bin 1491 -> 1444 bytes + test/reference/clip-stroke.base.rgb24.ref.png | Bin 1491 -> 1444 bytes + test/reference/clip-text.base.argb32.ref.png | Bin 899 -> 921 bytes + test/reference/clip-text.base.rgb24.ref.png | Bin 899 -> 921 bytes + test/reference/clip-twice.base.argb32.ref.png | Bin 1343 -> 1341 bytes + test/reference/clip-twice.base.rgb24.ref.png | Bin 1179 -> 1194 bytes + test/reference/clipped-group.base.argb32.ref.png | Bin 316 -> 316 bytes + test/reference/clipped-group.base.rgb24.ref.png | Bin 316 -> 316 bytes + test/reference/hatchings.base.argb32.ref.png | Bin 90611 -> 94196 bytes + test/reference/hatchings.base.rgb24.ref.png | Bin 90611 -> 94196 bytes + test/reference/mask.base.argb32.ref.png | Bin 8451 -> 8439 bytes + test/reference/mask.base.rgb24.ref.png | Bin 7058 -> 7044 bytes + .../paint-with-alpha-clip-mask.base.argb32.ref.png | Bin 305 -> 330 bytes + .../paint-with-alpha-clip-mask.base.rgb24.ref.png | Bin 305 -> 330 bytes + .../paint-with-alpha-clip.base.argb32.ref.png | Bin 303 -> 269 bytes + .../paint-with-alpha-clip.base.rgb24.ref.png | Bin 303 -> 269 bytes + ...paint-with-alpha-solid-clip.base.argb32.ref.png | Bin 266 -> 248 bytes + .../paint-with-alpha-solid-clip.base.rgb24.ref.png | Bin 266 -> 248 bytes + .../pdf-isolated-group.base.argb32.ref.png | Bin 0 -> 217 bytes + .../pdf-isolated-group.base.rgb24.ref.png | Bin 0 -> 217 bytes + test/reference/random-clip.base.argb32.ref.png | Bin 521040 -> 521821 bytes + test/reference/random-clip.base.rgb24.ref.png | Bin 521040 -> 521821 bytes + ...te-clip-image-surface-paint.base.argb32.ref.png | Bin 303 -> 331 bytes + ...ate-clip-image-surface-paint.base.rgb24.ref.png | Bin 303 -> 331 bytes + test/reference/rotated-clip.base.argb32.ref.png | Bin 3922 -> 3912 bytes + test/reference/rotated-clip.base.rgb24.ref.png | Bin 3922 -> 3912 bytes + test/reference/tighten-bounds.base.argb32.ref.png | Bin 8486 -> 8490 bytes + test/reference/tighten-bounds.base.rgb24.ref.png | Bin 7856 -> 7847 bytes + test/reference/trap-clip.base.argb32.ref.png | Bin 5753 -> 5651 bytes + test/reference/trap-clip.base.rgb24.ref.png | Bin 5379 -> 5351 bytes + 63 files changed, 49 insertions(+), 125 deletions(-) + +commit 705cd6e1c642863a06b9cfc269572ceb473ac87a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Mar 2 12:22:22 2012 +0000 + + test/record1414: Pixel align the clip for replay + + In order to match the reference image we need complete coverage, and the + purpose of the test is to check non-integer scaling of replays rather + than handling of the clip pixels. That partial coverage is better tested + elsewhere. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/record1414x.c | 1 + + test/reference/record1414x-fill-alpha.xfail.png | Bin 0 -> 4216 bytes + 2 files changed, 1 insertion(+) + +commit b8a6019e0c5f93d59faaec12de4bec454e9d8f9d +Author: Zhigang Gong <zhigang.gong@linux.intel.com> +Date: Thu Mar 1 14:38:30 2012 +0000 + + mono: Always bias initial edge advancement + + Even for a vertical edge, we still need to bias the error term otherwise + later we will find the error term is too larger and advance a pixel on + every row. + + Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-mono-scan-converter.c | 2 +- + test/reference/a1-bug.argb32.ref.png | Bin 3735 -> 0 bytes + test/reference/a1-bug.ref.png | Bin 3220 -> 3736 bytes + test/reference/a1-bug.rgb24.ref.png | Bin 3735 -> 0 bytes + 4 files changed, 1 insertion(+), 1 deletion(-) + +commit cdbf4c60fe373c896ac71e2f681e42744bcbd7e3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 29 14:38:13 2012 +0000 + + spans,traps-compositor: Check for all-clipped after intersecting clip with boxes + + If the mask does not intersect the clip, then there is no drawing to be + performed and we can report NOTHING_TO_DO. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-spans-compositor.c | 3 +++ + src/cairo-traps-compositor.c | 3 +++ + 2 files changed, 6 insertions(+) + +commit 300e32a4a9d79c26077f33e9b67bad2106071849 +Author: Seongwon Cho <seongwon1.cho@samsung.com> +Date: Wed Feb 29 18:59:34 2012 +0900 + + mono-scan-convertor: Include space for the closing span + + When estimating the maximum number of spans required for a particular + width, we need to include a closing span. + + Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-mono-scan-converter.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit 2587b9dfd391fc1dc6e20eaa4c2d64fafe2e809b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 29 11:51:02 2012 +0000 + + ft: Export FreeType synthesis options + + Currently you can only specify that a cairo_ft_font_face_t should + synthesize a font (to make a bold variant) through an FcPattern. That is + direct consumers of the public cairo-ft API have no control over the + synthesize options. + + Rectify this by creating some public API to allow control over the + synthesis flags, and include the ability to construct an oblique as + well an embolden font. + + Based on a patch by Deokjin Kim <deokjin81.kim@samsung.com>. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + configure.ac | 2 +- + src/cairo-ft-font.c | 108 +++++++++++++++++++++++++++++++++++++++++----------- + src/cairo-ft.h | 37 ++++++++++++++++++ + 3 files changed, 124 insertions(+), 23 deletions(-) + +commit 231f0e32b916d436465fe16cfa38da27eb4df698 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 29 11:21:28 2012 +0000 + + ft: Remove unused HINT_METRICS from ft_font.extra-flags + + This is handled through the normal cairo_font_options_t and was not + used. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-ft-font.c | 15 ++++++--------- + 1 file changed, 6 insertions(+), 9 deletions(-) + +commit a49a26f961bc284d496ea7e16dd79e0ddb36c98e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 29 10:03:00 2012 +0000 + + gl: Various fixes for glyphs + + Not 100% improvement, there are still a variety of failures with + GLXWindows, but getting there. At least it fixes more things than its + breaks... + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-compositor.c | 5 +++++ + src/cairo-fallback-compositor.c | 5 +++++ + src/cairo-gl-composite.c | 3 +-- + src/cairo-gl-glyphs.c | 47 ++++++++++++++++++++++------------------- + src/cairo-gl-msaa-compositor.c | 6 ++---- + src/cairo-gl-operand.c | 13 ++++++++++-- + src/cairo-gl-private.h | 7 ++++-- + src/cairo-gl-source.c | 1 + + src/cairo-gl-spans-compositor.c | 43 ++++++++++++++++++++++--------------- + src/cairo-gl-surface.c | 4 ++-- + src/cairo-gl-traps-compositor.c | 12 +++++------ + src/cairo-spans-compositor.c | 13 ++++++++++++ + src/cairo-surface.c | 6 ++++++ + 13 files changed, 108 insertions(+), 57 deletions(-) + +commit 3c665102c2b7ccd69aec7658e398ce6dd6dae38b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Feb 28 22:27:18 2012 +0000 + + spans+image: Fix clipping with polygons and spans + + Fixes: clip-source, random-clip + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 1 + + src/cairo-clip-private.h | 3 + + src/cairo-clip.c | 18 ++ + src/cairo-compositor-private.h | 4 + + src/cairo-image-compositor.c | 36 ++- + src/cairo-image-spans-compositor.c | 131 -------- + src/cairo-shape-mask-compositor.c | 337 +++++++++++++++++++++ + src/cairo-spans-compositor.c | 49 ++- + test/reference/a1-tiger.argb32.ref.png | Bin 20328 -> 0 bytes + test/reference/a1-tiger.rgb24.ref.png | Bin 20328 -> 0 bytes + test/reference/clip-disjoint.argb32.ref.png | Bin 5399 -> 0 bytes + test/reference/clip-disjoint.ref.png | Bin 3934 -> 5438 bytes + test/reference/clip-disjoint.rgb24.ref.png | Bin 5399 -> 0 bytes + test/reference/clip-operator.argb32.ref.png | Bin 8158 -> 8245 bytes + test/reference/clip-operator.rgb24.ref.png | Bin 3231 -> 3333 bytes + test/reference/clip-stroke.argb32.ref.png | Bin 1522 -> 0 bytes + test/reference/clip-stroke.ref.png | Bin 1206 -> 1445 bytes + test/reference/clip-stroke.rgb24.ref.png | Bin 1522 -> 0 bytes + test/reference/degenerate-arc.argb32.ref.png | Bin 653 -> 0 bytes + test/reference/degenerate-arc.ref.png | Bin 690 -> 646 bytes + test/reference/degenerate-arc.rgb24.ref.png | Bin 653 -> 0 bytes + .../finer-grained-fallbacks.argb32.ref.png | Bin 1167 -> 1068 bytes + .../finer-grained-fallbacks.rgb24.ref.png | Bin 891 -> 837 bytes + test/reference/hatchings.argb32.ref.png | Bin 92730 -> 0 bytes + test/reference/hatchings.ref.png | Bin 45496 -> 93764 bytes + test/reference/hatchings.rgb24.ref.png | Bin 92730 -> 0 bytes + test/reference/operator-source.argb32.ref.png | Bin 5585 -> 5612 bytes + test/reference/operator-source.rgb24.ref.png | Bin 3954 -> 3975 bytes + test/reference/over-around-source.argb32.ref.png | Bin 618 -> 633 bytes + test/reference/over-around-source.rgb24.ref.png | Bin 501 -> 499 bytes + test/reference/over-below-source.argb32.ref.png | Bin 443 -> 447 bytes + test/reference/over-below-source.rgb24.ref.png | Bin 377 -> 385 bytes + test/reference/over-between-source.argb32.ref.png | Bin 593 -> 596 bytes + test/reference/over-between-source.rgb24.ref.png | Bin 460 -> 463 bytes + test/reference/overlapping-boxes.argb32.ref.png | Bin 210 -> 187 bytes + test/reference/overlapping-boxes.rgb24.ref.png | Bin 201 -> 179 bytes + test/reference/random-clip.ref.png | Bin 523342 -> 529871 bytes + test/reference/tighten-bounds.argb32.ref.png | Bin 9127 -> 9115 bytes + test/reference/tighten-bounds.rgb24.ref.png | Bin 8433 -> 8256 bytes + 39 files changed, 420 insertions(+), 159 deletions(-) + +commit be5ab6df68cba1bd0709fa4319e29141d4491d94 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Feb 28 18:11:22 2012 +0000 + + surface-wrapper: Apply the scaled-font ctm and non-default font-options + + Improves record*-text-transform. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-matrix.c | 15 +++++++++++++++ + src/cairo-surface-wrapper.c | 18 ++++++++++++++++-- + src/cairoint.h | 5 +++++ + 3 files changed, 36 insertions(+), 2 deletions(-) + +commit 2c908f8a42456ab0ec6f12c36a2cf68523287ba7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Feb 28 17:55:41 2012 +0000 + + test: Regenerate reference images for vanilla record tests + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/record.c | 6 ++++++ + .../record-extend-none-similar.argb32.ref.png | Bin 0 -> 293 bytes + .../record-extend-none-similar.image16.rgb24.ref.png | Bin 0 -> 293 bytes + .../record-extend-none-similar.rgb24.ref.png | Bin 0 -> 293 bytes + test/reference/record-extend-none.argb32.ref.png | Bin 0 -> 293 bytes + .../record-extend-none.image16.rgb24.ref.png | Bin 0 -> 293 bytes + test/reference/record-extend-none.rgb24.ref.png | Bin 0 -> 293 bytes + .../record-extend-pad-similar.argb32.ref.png | Bin 0 -> 298 bytes + .../record-extend-pad-similar.image16.rgb24.ref.png | Bin 0 -> 298 bytes + .../reference/record-extend-pad-similar.rgb24.ref.png | Bin 0 -> 298 bytes + test/reference/record-extend-pad.argb32.ref.png | Bin 0 -> 298 bytes + .../reference/record-extend-pad.image16.rgb24.ref.png | Bin 0 -> 298 bytes + test/reference/record-extend-pad.rgb24.ref.png | Bin 0 -> 298 bytes + .../record-extend-reflect-similar.argb32.ref.png | Bin 0 -> 335 bytes + ...ecord-extend-reflect-similar.image16.rgb24.ref.png | Bin 0 -> 335 bytes + .../record-extend-reflect-similar.rgb24.ref.png | Bin 0 -> 335 bytes + test/reference/record-extend-reflect.argb32.ref.png | Bin 0 -> 335 bytes + .../record-extend-reflect.image16.rgb24.ref.png | Bin 0 -> 335 bytes + test/reference/record-extend-reflect.rgb24.ref.png | Bin 0 -> 335 bytes + .../record-extend-repeat-similar.argb32.ref.png | Bin 0 -> 286 bytes + ...record-extend-repeat-similar.image16.rgb24.ref.png | Bin 0 -> 286 bytes + .../record-extend-repeat-similar.rgb24.ref.png | Bin 0 -> 286 bytes + test/reference/record-extend-repeat.argb32.ref.png | Bin 0 -> 286 bytes + .../record-extend-repeat.image16.rgb24.ref.png | Bin 0 -> 286 bytes + test/reference/record-extend-repeat.rgb24.ref.png | Bin 0 -> 286 bytes + test/reference/record-fill-alpha.argb32.ref.png | Bin 0 -> 2736 bytes + .../reference/record-fill-alpha.image16.rgb24.ref.png | Bin 0 -> 2232 bytes + test/reference/record-fill-alpha.rgb24.ref.png | Bin 0 -> 2736 bytes + test/reference/record-fill-alpha.xfail.png | Bin 0 -> 2839 bytes + test/reference/record-mesh.argb32.ref.png | Bin 0 -> 15229 bytes + test/reference/record-mesh.image16.rgb24.ref.png | Bin 0 -> 9027 bytes + test/reference/record-mesh.rgb24.ref.png | Bin 0 -> 15229 bytes + .../record-paint-alpha-clip-mask.argb32.ref.png | Bin 0 -> 340 bytes + ...record-paint-alpha-clip-mask.image16.rgb24.ref.png | Bin 0 -> 352 bytes + .../record-paint-alpha-clip-mask.rgb24.ref.png | Bin 0 -> 340 bytes + test/reference/record-paint-alpha-clip-mask.xfail.png | Bin 0 -> 333 bytes + test/reference/record-paint-alpha-clip.argb32.ref.png | Bin 0 -> 290 bytes + .../record-paint-alpha-clip.image16.rgb24.ref.png | Bin 0 -> 313 bytes + test/reference/record-paint-alpha-clip.rgb24.ref.png | Bin 0 -> 290 bytes + .../record-paint-alpha-solid-clip.argb32.ref.png | Bin 0 -> 248 bytes + ...ecord-paint-alpha-solid-clip.image16.rgb24.ref.png | Bin 0 -> 274 bytes + .../record-paint-alpha-solid-clip.rgb24.ref.png | Bin 0 -> 248 bytes + test/reference/record-paint-alpha.argb32.ref.png | Bin 0 -> 224 bytes + .../record-paint-alpha.image16.rgb24.ref.png | Bin 0 -> 253 bytes + test/reference/record-paint-alpha.rgb24.ref.png | Bin 0 -> 224 bytes + test/reference/record-paint.argb32.ref.png | Bin 0 -> 93 bytes + test/reference/record-paint.image16.rgb24.ref.png | Bin 0 -> 93 bytes + test/reference/record-paint.rgb24.ref.png | Bin 0 -> 93 bytes + test/reference/record-select-font-face.argb32.ref.png | Bin 0 -> 2250 bytes + .../record-select-font-face.image16.rgb24.ref.png | Bin 0 -> 1236 bytes + test/reference/record-select-font-face.ref.png | Bin 2473 -> 2245 bytes + test/reference/record-select-font-face.rgb24.ref.png | Bin 0 -> 2250 bytes + .../reference/record-self-intersecting.argb32.ref.png | Bin 0 -> 168 bytes + .../record-self-intersecting.image16.rgb24.ref.png | Bin 0 -> 228 bytes + test/reference/record-self-intersecting.rgb24.ref.png | Bin 0 -> 168 bytes + test/reference/record-text-transform.argb32.ref.png | Bin 0 -> 5579 bytes + .../record-text-transform.image16.rgb24.ref.png | Bin 0 -> 2688 bytes + test/reference/record-text-transform.rgb24.ref.png | Bin 0 -> 5579 bytes + 58 files changed, 6 insertions(+) + +commit ef7e57f0fd1aaf96be87cc73b4d51d6ce55f231b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Feb 28 17:44:15 2012 +0000 + + scaled-font: Assign a temporary hash value for the placeholder + + Fixes [large-]twin-antialias-mixed. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-scaled-font.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +commit 050c246174e480a3e27b1665e70f1958d02d9008 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Feb 28 17:38:21 2012 +0000 + + test: Add record90 to exercise replaying a rotated recording surface + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.sources | 1 + + test/record90.c | 495 +++++++++++++++++++++ + test/reference/record90-fill-alpha.argb32.ref.png | Bin 0 -> 2651 bytes + test/reference/record90-fill-alpha.rgb24.ref.png | Bin 0 -> 2651 bytes + test/reference/record90-fill-alpha.xfail.png | Bin 0 -> 2654 bytes + .../record90-paint-alpha-clip-mask.argb32.ref.png | Bin 0 -> 343 bytes + .../record90-paint-alpha-clip-mask.rgb24.ref.png | Bin 0 -> 343 bytes + .../record90-paint-alpha-clip-mask.xfail.png | Bin 0 -> 324 bytes + .../record90-paint-alpha-clip.argb32.ref.png | Bin 0 -> 296 bytes + .../record90-paint-alpha-clip.rgb24.ref.png | Bin 0 -> 296 bytes + test/reference/record90-paint-alpha-clip.xfail.png | Bin 0 -> 327 bytes + .../record90-paint-alpha-solid-clip.argb32.ref.png | Bin 0 -> 254 bytes + .../record90-paint-alpha-solid-clip.rgb24.ref.png | Bin 0 -> 254 bytes + test/reference/record90-paint-alpha.argb32.ref.png | Bin 0 -> 105 bytes + test/reference/record90-paint-alpha.rgb24.ref.png | Bin 0 -> 105 bytes + test/reference/record90-paint.argb32.ref.png | Bin 0 -> 93 bytes + test/reference/record90-paint.rgb24.ref.png | Bin 0 -> 93 bytes + .../record90-select-font-face.argb32.ref.png | Bin 0 -> 2272 bytes + .../record90-select-font-face.rgb24.ref.png | Bin 0 -> 2272 bytes + .../record90-self-intersecting.argb32.ref.png | Bin 0 -> 167 bytes + .../record90-self-intersecting.rgb24.ref.png | Bin 0 -> 167 bytes + .../record90-text-transform.argb32.ref.png | Bin 0 -> 5811 bytes + .../record90-text-transform.rgb24.ref.png | Bin 0 -> 5811 bytes + 23 files changed, 496 insertions(+) + +commit 4429c7a3016622f9a31af6b6b9ff353e896885db +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Feb 28 15:05:57 2012 +0000 + + scaled-font: Refactor the hash computation + + Remove the cut'n'paste duplication and replace the hash computation with + a proper function. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-scaled-font.c | 54 +++++++++++++++++++++---------------------------- + 1 file changed, 23 insertions(+), 31 deletions(-) + +commit da381da7f324497132ca547246c5299708fb968e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Feb 28 14:50:16 2012 +0000 + + scaled-font: Key the cache on the original font face + + Complete the task started in cd4b2d843b2a8c06ba78c15ff65763b5bdf54dc6 by + remembering to compute the insertion hash on the original font face as + well as the lookup hashes. Also take advantage by deferring resolution + of the implementation for the font face until after we fail to find an + already constructed scaled font. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-scaled-font.c | 181 +++++++++++++++++++++++++----------------------- + 1 file changed, 94 insertions(+), 87 deletions(-) + +commit 1cfd27851e4700270204bb39d48827eaa33b849d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Feb 27 15:04:58 2012 +0000 + + test: Set record2x-fill-alpha as an xfail + + As the path is converted to fixed-point prior to application of the + replay scale factor, we currently do anticipate some loss in precision + and slight difference in antialiasing. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/reference/record2x-fill-alpha.xfail.png | Bin 0 -> 5978 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit 668e8eac3af27ddad050c0975d1aa43b2ccca01a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Feb 27 15:02:30 2012 +0000 + + test/record: Fix typo in record*-text-transform + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/record.c | 2 +- + test/record1414x.c | 2 +- + test/record2x.c | 2 +- + test/reference/record-text-transform.ref.png | Bin 6200 -> 5281 bytes + .../record1414x-text-transform.argb32.ref.png | Bin 5459 -> 0 bytes + test/reference/record1414x-text-transform.ref.png | Bin 0 -> 8706 bytes + .../record1414x-text-transform.rgb24.ref.png | Bin 5459 -> 0 bytes + test/reference/record2x-text-transform.argb32.ref.png | Bin 8267 -> 0 bytes + test/reference/record2x-text-transform.ref.png | Bin 0 -> 13476 bytes + test/reference/record2x-text-transform.rgb24.ref.png | Bin 8267 -> 0 bytes + 10 files changed, 3 insertions(+), 3 deletions(-) + +commit b1b5e9b9087ff3e0679f850b36314ca38986a11d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Feb 27 14:25:39 2012 +0000 + + surface-wrapper: Apply replay transforms to scaled font + + Improves: record2x-select-font-face, record2x-text-transform + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-wrapper.c | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +commit 78aeb0d14c7941964c232f4fc199d6d277835a79 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Feb 27 14:46:02 2012 +0000 + + test: Verify scaled replay of a recording surface + + After this works, we may also like to check simple rotations and an + affine transform. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.sources | 2 + + test/record1414x.c | 497 +++++++++++++++++++++ + test/record2x.c | 493 ++++++++++++++++++++ + .../record1414x-fill-alpha.argb32.ref.png | Bin 0 -> 4129 bytes + .../reference/record1414x-fill-alpha.rgb24.ref.png | Bin 0 -> 4129 bytes + ...ecord1414x-paint-alpha-clip-mask.argb32.ref.png | Bin 0 -> 473 bytes + ...record1414x-paint-alpha-clip-mask.rgb24.ref.png | Bin 0 -> 473 bytes + .../record1414x-paint-alpha-clip.argb32.ref.png | Bin 0 -> 378 bytes + .../record1414x-paint-alpha-clip.rgb24.ref.png | Bin 0 -> 378 bytes + ...cord1414x-paint-alpha-solid-clip.argb32.ref.png | Bin 0 -> 317 bytes + ...ecord1414x-paint-alpha-solid-clip.rgb24.ref.png | Bin 0 -> 317 bytes + .../record1414x-paint-alpha.argb32.ref.png | Bin 0 -> 265 bytes + .../record1414x-paint-alpha.rgb24.ref.png | Bin 0 -> 265 bytes + test/reference/record1414x-paint.argb32.ref.png | Bin 0 -> 95 bytes + test/reference/record1414x-paint.rgb24.ref.png | Bin 0 -> 95 bytes + .../record1414x-select-font-face.argb32.ref.png | Bin 0 -> 3177 bytes + .../record1414x-select-font-face.rgb24.ref.png | Bin 0 -> 3177 bytes + .../record1414x-self-intersecting.argb32.ref.png | Bin 0 -> 394 bytes + .../record1414x-self-intersecting.rgb24.ref.png | Bin 0 -> 394 bytes + .../record1414x-text-transform.argb32.ref.png | Bin 0 -> 5459 bytes + .../record1414x-text-transform.rgb24.ref.png | Bin 0 -> 5459 bytes + test/reference/record2x-fill-alpha.argb32.ref.png | Bin 0 -> 5715 bytes + test/reference/record2x-fill-alpha.rgb24.ref.png | Bin 0 -> 5715 bytes + .../record2x-paint-alpha-clip-mask.argb32.ref.png | Bin 0 -> 503 bytes + .../record2x-paint-alpha-clip-mask.rgb24.ref.png | Bin 0 -> 503 bytes + .../record2x-paint-alpha-clip.argb32.ref.png | Bin 0 -> 322 bytes + .../record2x-paint-alpha-clip.rgb24.ref.png | Bin 0 -> 322 bytes + .../record2x-paint-alpha-solid-clip.argb32.ref.png | Bin 0 -> 281 bytes + .../record2x-paint-alpha-solid-clip.rgb24.ref.png | Bin 0 -> 281 bytes + test/reference/record2x-paint-alpha.argb32.ref.png | Bin 0 -> 291 bytes + test/reference/record2x-paint-alpha.rgb24.ref.png | Bin 0 -> 291 bytes + test/reference/record2x-paint.argb32.ref.png | Bin 0 -> 98 bytes + test/reference/record2x-paint.rgb24.ref.png | Bin 0 -> 98 bytes + .../record2x-select-font-face.argb32.ref.png | Bin 0 -> 4407 bytes + .../record2x-select-font-face.rgb24.ref.png | Bin 0 -> 4407 bytes + .../record2x-self-intersecting.argb32.ref.png | Bin 0 -> 171 bytes + .../record2x-self-intersecting.rgb24.ref.png | Bin 0 -> 171 bytes + .../record2x-text-transform.argb32.ref.png | Bin 0 -> 8267 bytes + .../record2x-text-transform.rgb24.ref.png | Bin 0 -> 8267 bytes + 39 files changed, 992 insertions(+) + +commit 2d3a1c7318df67347f65b0098cb9ea091ed93b3a +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Feb 25 16:56:08 2012 +1030 + + pdf: ensure all transparency groups are isolated + + src/cairo-pdf-surface.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 2de75b1a3453f734feeb67de1c09d70d640c7b24 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Feb 25 16:53:26 2012 +1030 + + test: add test to check that pdf transparency groups are non-isolated + + test/Makefile.sources | 1 + + test/pdf-isolated-group.c | 73 ++++++++++++++++++++++++++++++ + test/reference/pdf-isolated-group.ref.png | Bin 0 -> 217 bytes + 3 files changed, 74 insertions(+) + +commit 589216c1e36a2925de08929702615c593a31eff4 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Feb 25 09:52:10 2012 +1030 + + win32: fix compilation on cygwin + + boilerplate/cairo-boilerplate-win32-printing.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 7154f646d30132104f69098b1d0c2f903c32ed53 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Feb 24 16:15:31 2012 +0000 + + pdf,ps: The device offset only needs to taken into account for raster patterns + + Ordinary patterns have their device offsets pre-baked into the pattern + matrix. The difference with raster patterns is that the surface is + generated upon use by the pdf,ps and so its device offset is not known + until then. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-pdf-surface.c | 2 -- + src/cairo-ps-surface.c | 3 +-- + 2 files changed, 1 insertion(+), 4 deletions(-) + +commit 99ec915b97e36a7576e30c45160cc2b90d0cc92f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Feb 24 14:30:14 2012 +0000 + + test: a1-line-width is a test of rasterisation, so skip for the vector backends + + PDF/PS do not have the concept of aliased rendering, so like many of the + other rasterisation tests, a1-line-width cannot be tested satisfactorily + on those backends. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/line-width.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 513841263e27502646af45fad7f34e96b7f3322e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Feb 24 14:07:10 2012 +0000 + + recording: Remove superfluous reset + + When merging the two-clauses, I forgot to remove the second + _cairo_recording_surface_reset() + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface.c | 1 - + 1 file changed, 1 deletion(-) + +commit 61050f5445000be014764cedb6da36cb357bf434 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Feb 24 13:56:41 2012 +0000 + + test: Add a couple of reference images for the recording surface + + In tests where we apply a scale factor to a similar source, the + recording surface will produce different results to image as the scaling + of the source is performed on the geometry and not on a raster image and + so avoids scaling artefacts. + + .../reference/mask-transformed-similar.recording.ref.png | Bin 0 -> 3528 bytes + test/reference/source-clip-scale.recording.ref.png | Bin 0 -> 116 bytes + 2 files changed, 0 insertions(+), 0 deletions(-) + +commit c39cb77d64afdeff522a74d31af6386f5fd3c10f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Feb 24 13:00:44 2012 +0000 + + subsurface: Fix typo in snapshot creation + + I need to remember that the translation for the pattern matrix is the + inverse of the translation for drawing. + + Fixes: subsurface-modify-parent + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-subsurface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit b2cb9ec31ea580164a3d5a267bff334a0c6b4dc5 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Feb 24 13:45:44 2012 +0000 + + recording: Optimize a copy of one recording surface onto another + + Rather than store a command to copy from a reference of another recording + surface onto this, just replay the other recording surface. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface.c | 21 ++++++++++++++++++++- + 1 file changed, 20 insertions(+), 1 deletion(-) + +commit 8028f04a919d1e6afe95c21cd16172c367f05392 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Feb 24 13:46:54 2012 +0000 + + debug: Add some TRACE statements for recording surfaces and snapshots + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface.c | 10 ++++++++++ + src/cairo-surface-snapshot.c | 7 +++++++ + src/cairo-surface-subsurface.c | 7 +++++++ + 3 files changed, 24 insertions(+) + +commit 6b5199645af00a11e445e0ebdf74d8a9f6a3718a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Feb 24 13:44:52 2012 +0000 + + image: Handle recursive drawing of recording surface + + Borrow the technique for installing a proxy-snapshot developed for + acquiring the image from a recording surface. + + This prevents the cairo from exploding and using up all memory due to + infinite recursion, but it does break a few tests that perform + self-copies with differing transformations. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-source.c | 89 +++++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 88 insertions(+), 1 deletion(-) + +commit 080bcfcb1a8f1c17340529e51b0d9dfaa9a66fa7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Feb 24 12:12:24 2012 +0000 + + {mask,traps}-composite: Restore unsetting of the is-clear flags for the mask + + I forgot that creating any image by defaults results in pixman + calloc'ing the pixel data and so cairo helpfully sets the is-clear flag + on the surface. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-mask-compositor.c | 3 ++- + src/cairo-traps-compositor.c | 3 ++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +commit b079f18fade93472db83b4decf086e30711a86d3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Feb 23 13:39:37 2012 +0000 + + xlib: Handle window-to-window copies by avoiding the use of a clip region + + Rather than compress the copies into a clip + copy, iterate over and + perform each copy separately so as to avoid the confusion for + window-to-window copies and the solitary GC->pCompositeClip. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-render-compositor.c | 96 +++++++++++++++++++++----------------- + 1 file changed, 54 insertions(+), 42 deletions(-) + +commit cc09b29752e857e55879a7d773b8be1317eb2001 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Feb 23 13:40:59 2012 +0000 + + xlib: Tidy conversion of xrender format to cairo_content_t + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface.c | 22 +++++++++------------- + 1 file changed, 9 insertions(+), 13 deletions(-) + +commit d95cf87c03f2b4f2677450cae1d0be3aa15c0a97 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Feb 22 23:50:21 2012 +0100 + + boilerplate: Use any2ppm from ANY2PPM env variable + + If the environment variable ANY2PPM is set, use it as the path to the + any2ppm program. Otherwise, default to "./any2ppm" as before. + + This makes it possible to set the ANY2PPM variable in the + Makefile.win32 build system, which makes it possible to use the "test" + target on the script backend. + + boilerplate/cairo-boilerplate.c | 11 +++++++++-- + test/Makefile.win32 | 2 +- + 2 files changed, 10 insertions(+), 3 deletions(-) + +commit 716a79bfcbc97401a9c43434783068b40da9a1f4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 22 21:33:43 2012 +0000 + + xlib-xcb: Wrap cairo_xlib_device_debug_cap_xrender_version + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-xcb-surface.c | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +commit 7e3c9631915b85acd915161cb2ba00cb24033e58 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 22 19:55:22 2012 +0000 + + surface-wrapper: Transform the clip by the device-transform correctly + + Fixes paginated fallbacks. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-wrapper.c | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +commit d6908135f4fc98496bc1e9a1d48a3ae95cc30594 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 22 19:54:12 2012 +0000 + + image: Tidy reduction to EXTEND_NONE for replay surfaces + + As _cairo_surface_get_source() returns the limits of the source, a chunk + of code to query the source extents became redundant. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-source.c | 13 +------------ + 1 file changed, 1 insertion(+), 12 deletions(-) + +commit 58639857f9fbe99f4fca6ab2b1d13306ffbfe8d8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 22 17:42:16 2012 +0000 + + script: Update mesh pattern for earlier change of csi operators + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-script-surface.c | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +commit 1b1b1ecc6f4343295aad177d127c95af0a5e8611 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 22 15:57:36 2012 +0000 + + traps-compositor: add a missing release() + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-traps-compositor.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +commit e5cb567f5d7c87faf09e240fc1649eebf0b1f0f6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 22 15:49:34 2012 +0000 + + xlib: Trim the ximage to match the trimming of the intermediate + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 1111cc50d3311fa47b0828e28085388ef746322a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 22 15:43:55 2012 +0000 + + xlib: Make the core compositor actually paint + + It helps to actually set the fill colour when drawing... + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-core-compositor.c | 49 ++++++++++++++++++++++++++++++++++++---- + 1 file changed, 44 insertions(+), 5 deletions(-) + +commit 5b107587e7f67f1b6829b3eb64f9238a65a16528 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 22 15:13:26 2012 +0000 + + xlib: Correct the device-offset applied to the map-to-image result + + A typo, a typo surely, to use extents->y twice instead of the more + normal x, y. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface.c | 2 +- + src/cairo-xlib-surface.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 85110d9ce1a5ffd1cf274cf4233538fb55949078 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 22 15:04:45 2012 +0000 + + xlib: Trim the intermediate upload image to match the upload extents + + Rather than transform the whole image, just convert the region of + interest. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface.c | 16 +++++++--------- + 1 file changed, 7 insertions(+), 9 deletions(-) + +commit 89fddc38ebc3cd6f02dd09cd071ef7ba0a94631d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 22 12:57:12 2012 +0000 + + traps-compositor: Reduce a complex clip generation to an ADD operator + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-traps-compositor.c | 126 ++++++++++++++++++++++++++++++++++--------- + 1 file changed, 100 insertions(+), 26 deletions(-) + +commit 9e640c7ae2cc968cbf4607efdf7f7ab26e5c0bb8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 22 11:42:15 2012 +0000 + + mask-compositor: Acquire the target surface when creating the composite mask + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-mask-compositor.c | 52 ++++++++++++++++++++++++++++++++------------ + src/cairo-traps-compositor.c | 39 +++++++++++++++++++++++---------- + 2 files changed, 65 insertions(+), 26 deletions(-) + +commit 605f23d15562d28138ade7f0717cbcf3d01147bf +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 22 11:27:05 2012 +0000 + + xlib: Hook up copy_boxes for the mask compositor + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-render-compositor.c | 1 + + 1 file changed, 1 insertion(+) + +commit 6ab1deb5c6377828877253a7ec0ca43d97ca4a99 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 22 11:03:54 2012 +0000 + + boilerplate/xlib: Exercise the mask based compositor for xrender version 0.0 + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + boilerplate/cairo-boilerplate-xlib.c | 73 +++++++++++++++++++++++++++++++++++- + 1 file changed, 72 insertions(+), 1 deletion(-) + +commit 08de30d8b5700040d3ff953bae8d801a4a05aff0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 22 10:51:30 2012 +0000 + + test: Add a set of reference images for the mask-based compositor + + Serves as another reference for some xlib targets. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/reference/a1-bug.mask.argb32.ref.png | Bin 0 -> 3735 bytes + test/reference/a1-bug.mask.rgb24.ref.png | Bin 0 -> 3735 bytes + test/reference/a1-clip-fill-equal.mask.argb32.ref.png | Bin 0 -> 120 bytes + test/reference/a1-clip-fill-equal.mask.rgb24.ref.png | Bin 0 -> 120 bytes + test/reference/a1-clip-fill-rule.mask.argb32.ref.png | Bin 0 -> 236 bytes + test/reference/a1-clip-fill-rule.mask.rgb24.ref.png | Bin 0 -> 218 bytes + test/reference/a1-clip-fill.mask.argb32.ref.png | Bin 0 -> 120 bytes + test/reference/a1-clip-fill.mask.rgb24.ref.png | Bin 0 -> 120 bytes + test/reference/a1-clip-paint.mask.argb32.ref.png | Bin 0 -> 120 bytes + test/reference/a1-clip-paint.mask.rgb24.ref.png | Bin 0 -> 120 bytes + test/reference/a1-clip-stroke.mask.argb32.ref.png | Bin 0 -> 120 bytes + test/reference/a1-clip-stroke.mask.rgb24.ref.png | Bin 0 -> 120 bytes + test/reference/a1-fill.base.argb32.ref.png | Bin 0 -> 328 bytes + test/reference/a1-fill.base.rgb24.ref.png | Bin 0 -> 328 bytes + test/reference/a1-fill.mask.argb32.ref.png | Bin 0 -> 328 bytes + test/reference/a1-fill.mask.rgb24.ref.png | Bin 0 -> 328 bytes + test/reference/a1-fill.traps.argb32.ref.png | Bin 0 -> 328 bytes + test/reference/a1-fill.traps.rgb24.ref.png | Bin 0 -> 328 bytes + test/reference/a1-image-sample.mask.argb32.ref.png | Bin 0 -> 122 bytes + test/reference/a1-image-sample.mask.rgb24.ref.png | Bin 0 -> 122 bytes + test/reference/a1-line-width.mask.argb32.ref.png | Bin 0 -> 154 bytes + test/reference/a1-line-width.mask.rgb24.ref.png | Bin 0 -> 154 bytes + test/reference/a1-mask-sample.mask.argb32.ref.png | Bin 0 -> 122 bytes + test/reference/a1-mask-sample.mask.rgb24.ref.png | Bin 0 -> 122 bytes + test/reference/a1-mask.mask.argb32.ref.png | Bin 0 -> 106 bytes + test/reference/a1-mask.mask.rgb24.ref.png | Bin 0 -> 106 bytes + .../a1-rasterisation-rectangles.mask.argb32.ref.png | Bin 0 -> 1729 bytes + .../a1-rasterisation-rectangles.mask.rgb24.ref.png | Bin 0 -> 1729 bytes + .../a1-rasterisation-triangles.mask.argb32.ref.png | Bin 0 -> 1729 bytes + .../a1-rasterisation-triangles.mask.rgb24.ref.png | Bin 0 -> 1729 bytes + test/reference/a1-rectilinear-grid.mask.argb32.ref.png | Bin 0 -> 207 bytes + test/reference/a1-rectilinear-grid.mask.rgb24.ref.png | Bin 0 -> 207 bytes + test/reference/a1-sample.mask.argb32.ref.png | Bin 0 -> 786 bytes + test/reference/a1-sample.mask.rgb24.ref.png | Bin 0 -> 786 bytes + test/reference/a1-tiger.mask.argb32.ref.png | Bin 0 -> 20328 bytes + test/reference/a1-tiger.mask.rgb24.ref.png | Bin 0 -> 20328 bytes + test/reference/a1-traps-sample.mask.argb32.ref.png | Bin 0 -> 120 bytes + test/reference/a1-traps-sample.mask.rgb24.ref.png | Bin 0 -> 120 bytes + test/reference/a8-clear.mask.argb32.ref.png | Bin 0 -> 271 bytes + test/reference/a8-clear.mask.rgb24.ref.png | Bin 0 -> 271 bytes + test/reference/a8-mask.mask.argb32.ref.png | Bin 0 -> 103 bytes + test/reference/a8-mask.mask.rgb24.ref.png | Bin 0 -> 103 bytes + test/reference/aliasing.mask.argb32.ref.png | Bin 0 -> 104324 bytes + test/reference/aliasing.mask.rgb24.ref.png | Bin 0 -> 104324 bytes + test/reference/alpha-similar.mask.argb32.ref.png | Bin 0 -> 99 bytes + test/reference/alpha-similar.mask.rgb24.ref.png | Bin 0 -> 88 bytes + test/reference/api-special-cases.mask.argb32.ref.png | Bin 0 -> 95 bytes + test/reference/api-special-cases.mask.rgb24.ref.png | Bin 0 -> 95 bytes + test/reference/arc-direction.base.argb32.ref.png | Bin 0 -> 5864 bytes + test/reference/arc-direction.base.rgb24.ref.png | Bin 0 -> 5864 bytes + test/reference/arc-direction.mask.argb32.ref.png | Bin 0 -> 6380 bytes + test/reference/arc-direction.mask.rgb24.ref.png | Bin 0 -> 6380 bytes + test/reference/arc-direction.traps.argb32.ref.png | Bin 0 -> 6380 bytes + test/reference/arc-direction.traps.rgb24.ref.png | Bin 0 -> 6380 bytes + test/reference/arc-infinite-loop.mask.argb32.ref.png | Bin 0 -> 96 bytes + test/reference/arc-infinite-loop.mask.rgb24.ref.png | Bin 0 -> 96 bytes + test/reference/arc-looping-dash.mask.argb32.ref.png | Bin 0 -> 464 bytes + test/reference/arc-looping-dash.mask.rgb24.ref.png | Bin 0 -> 464 bytes + test/reference/big-empty-triangle.mask.argb32.ref.png | Bin 0 -> 111 bytes + test/reference/big-empty-triangle.mask.rgb24.ref.png | Bin 0 -> 108 bytes + test/reference/big-line.mask.argb32.ref.png | Bin 0 -> 977 bytes + test/reference/big-line.mask.rgb24.ref.png | Bin 0 -> 977 bytes + test/reference/big-little-box.mask.argb32.ref.png | Bin 0 -> 169 bytes + test/reference/big-little-box.mask.rgb24.ref.png | Bin 0 -> 160 bytes + test/reference/big-little-triangle.mask.argb32.ref.png | Bin 0 -> 409 bytes + test/reference/big-little-triangle.mask.rgb24.ref.png | Bin 0 -> 328 bytes + test/reference/big-trap.mask.argb32.ref.png | Bin 0 -> 319 bytes + test/reference/big-trap.mask.rgb24.ref.png | Bin 0 -> 319 bytes + test/reference/bilevel-image.mask.argb32.ref.png | Bin 0 -> 105 bytes + test/reference/bilevel-image.mask.rgb24.ref.png | Bin 0 -> 105 bytes + test/reference/bitmap-font.mask.argb32.ref.png | Bin 0 -> 931 bytes + test/reference/bitmap-font.mask.rgb24.ref.png | Bin 0 -> 871 bytes + test/reference/bug-40410.mask.argb32.ref.png | Bin 0 -> 429 bytes + test/reference/bug-40410.mask.rgb24.ref.png | Bin 0 -> 429 bytes + test/reference/bug-bo-rectangular.mask.argb32.ref.png | Bin 0 -> 950 bytes + test/reference/bug-bo-rectangular.mask.rgb24.ref.png | Bin 0 -> 950 bytes + test/reference/bug-bo-ricotz.base.argb32.ref.png | Bin 0 -> 2125 bytes + test/reference/bug-bo-ricotz.base.rgb24.ref.png | Bin 0 -> 2125 bytes + test/reference/bug-bo-ricotz.mask.argb32.ref.png | Bin 0 -> 2128 bytes + test/reference/bug-bo-ricotz.mask.rgb24.ref.png | Bin 0 -> 2128 bytes + test/reference/bug-bo-ricotz.traps.argb32.ref.png | Bin 0 -> 2128 bytes + test/reference/bug-bo-ricotz.traps.rgb24.ref.png | Bin 0 -> 2128 bytes + test/reference/bug-extents.mask.argb32.ref.png | Bin 0 -> 9251 bytes + test/reference/bug-extents.mask.rgb24.ref.png | Bin 0 -> 9251 bytes + test/reference/bug-seams.mask.argb32.ref.png | Bin 0 -> 1647 bytes + test/reference/bug-seams.mask.rgb24.ref.png | Bin 0 -> 1647 bytes + test/reference/caps-joins-alpha.mask.argb32.ref.png | Bin 0 -> 2662 bytes + test/reference/caps-joins-alpha.mask.rgb24.ref.png | Bin 0 -> 2662 bytes + test/reference/caps-joins-curve.mask.argb32.ref.png | Bin 0 -> 6217 bytes + test/reference/caps-joins-curve.mask.rgb24.ref.png | Bin 0 -> 6217 bytes + test/reference/caps-joins.mask.argb32.ref.png | Bin 0 -> 2893 bytes + test/reference/caps-joins.mask.rgb24.ref.png | Bin 0 -> 2893 bytes + test/reference/caps-sub-paths.mask.argb32.ref.png | Bin 0 -> 168 bytes + test/reference/caps-sub-paths.mask.rgb24.ref.png | Bin 0 -> 168 bytes + test/reference/caps-tails-curve.mask.argb32.ref.png | Bin 0 -> 53311 bytes + test/reference/caps-tails-curve.mask.rgb24.ref.png | Bin 0 -> 53311 bytes + test/reference/caps.mask.argb32.ref.png | Bin 0 -> 2115 bytes + test/reference/caps.mask.rgb24.ref.png | Bin 0 -> 2115 bytes + test/reference/checkerboard.mask.argb32.ref.png | Bin 0 -> 142 bytes + test/reference/checkerboard.mask.rgb24.ref.png | Bin 0 -> 142 bytes + test/reference/clear-source.mask.argb32.ref.png | Bin 0 -> 882 bytes + test/reference/clear-source.mask.rgb24.ref.png | Bin 0 -> 882 bytes + test/reference/clear.mask.argb32.ref.png | Bin 0 -> 692 bytes + test/reference/clear.mask.rgb24.ref.png | Bin 0 -> 617 bytes + test/reference/clip-all.mask.argb32.ref.png | Bin 0 -> 95 bytes + test/reference/clip-all.mask.rgb24.ref.png | Bin 0 -> 95 bytes + .../clip-complex-shape-eo-aa.mask.argb32.ref.png | Bin 0 -> 325 bytes + .../clip-complex-shape-eo-aa.mask.rgb24.ref.png | Bin 0 -> 325 bytes + .../clip-complex-shape-eo-mono.mask.argb32.ref.png | Bin 0 -> 325 bytes + .../clip-complex-shape-eo-mono.mask.rgb24.ref.png | Bin 0 -> 325 bytes + test/reference/clip-contexts.mask.argb32.ref.png | Bin 0 -> 98 bytes + test/reference/clip-contexts.mask.rgb24.ref.png | Bin 0 -> 98 bytes + test/reference/clip-device-offset.mask.argb32.ref.png | Bin 0 -> 175 bytes + test/reference/clip-device-offset.mask.rgb24.ref.png | Bin 0 -> 168 bytes + .../clip-disjoint-hatching.mask.argb32.ref.png | Bin 0 -> 8789 bytes + .../clip-disjoint-hatching.mask.rgb24.ref.png | Bin 0 -> 8789 bytes + test/reference/clip-disjoint.mask.argb32.ref.png | Bin 0 -> 5399 bytes + test/reference/clip-disjoint.mask.rgb24.ref.png | Bin 0 -> 5399 bytes + test/reference/clip-empty-group.mask.argb32.ref.png | Bin 0 -> 103 bytes + test/reference/clip-empty-group.mask.rgb24.ref.png | Bin 0 -> 103 bytes + test/reference/clip-empty-save.mask.argb32.ref.png | Bin 0 -> 95 bytes + test/reference/clip-empty-save.mask.rgb24.ref.png | Bin 0 -> 95 bytes + test/reference/clip-empty.mask.argb32.ref.png | Bin 0 -> 95 bytes + test/reference/clip-empty.mask.rgb24.ref.png | Bin 0 -> 95 bytes + .../clip-fill-eo-unbounded.mask.argb32.ref.png | Bin 0 -> 3769 bytes + .../clip-fill-eo-unbounded.mask.rgb24.ref.png | Bin 0 -> 3211 bytes + test/reference/clip-fill-no-op.mask.argb32.ref.png | Bin 0 -> 152 bytes + test/reference/clip-fill-no-op.mask.rgb24.ref.png | Bin 0 -> 152 bytes + .../clip-fill-nz-unbounded.mask.argb32.ref.png | Bin 0 -> 3764 bytes + .../clip-fill-nz-unbounded.mask.rgb24.ref.png | Bin 0 -> 3215 bytes + .../clip-fill-rule-pixel-aligned.mask.argb32.ref.png | Bin 0 -> 176 bytes + .../clip-fill-rule-pixel-aligned.mask.rgb24.ref.png | Bin 0 -> 165 bytes + test/reference/clip-fill-rule.mask.argb32.ref.png | Bin 0 -> 437 bytes + test/reference/clip-fill-rule.mask.rgb24.ref.png | Bin 0 -> 393 bytes + test/reference/clip-fill.mask.argb32.ref.png | Bin 0 -> 1039 bytes + test/reference/clip-fill.mask.rgb24.ref.png | Bin 0 -> 1039 bytes + ...group-shapes-aligned-rectangles.mask.argb32.ref.png | Bin 0 -> 378 bytes + ...-group-shapes-aligned-rectangles.mask.rgb24.ref.png | Bin 0 -> 378 bytes + .../clip-group-shapes-circles.mask.argb32.ref.png | Bin 0 -> 1511 bytes + .../clip-group-shapes-circles.mask.rgb24.ref.png | Bin 0 -> 1511 bytes + ...oup-shapes-unaligned-rectangles.mask.argb32.ref.png | Bin 0 -> 431 bytes + ...roup-shapes-unaligned-rectangles.mask.rgb24.ref.png | Bin 0 -> 431 bytes + test/reference/clip-image.mask.argb32.ref.png | Bin 0 -> 2678 bytes + test/reference/clip-image.mask.rgb24.ref.png | Bin 0 -> 2678 bytes + test/reference/clip-intersect.mask.argb32.ref.png | Bin 0 -> 200 bytes + test/reference/clip-intersect.mask.rgb24.ref.png | Bin 0 -> 200 bytes + .../reference/clip-mixed-antialias.mask.argb32.ref.png | Bin 0 -> 1084 bytes + test/reference/clip-mixed-antialias.mask.rgb24.ref.png | Bin 0 -> 1084 bytes + test/reference/clip-nesting.mask.argb32.ref.png | Bin 0 -> 1044 bytes + test/reference/clip-nesting.mask.rgb24.ref.png | Bin 0 -> 937 bytes + test/reference/clip-operator.mask.argb32.ref.png | Bin 0 -> 8680 bytes + test/reference/clip-operator.mask.rgb24.ref.png | Bin 0 -> 3519 bytes + test/reference/clip-polygons.base.argb32.ref.png | Bin 0 -> 1296 bytes + test/reference/clip-polygons.base.rgb24.ref.png | Bin 0 -> 1296 bytes + test/reference/clip-polygons.mask.argb32.ref.png | Bin 0 -> 1336 bytes + test/reference/clip-polygons.mask.rgb24.ref.png | Bin 0 -> 1336 bytes + test/reference/clip-polygons.traps.argb32.ref.png | Bin 0 -> 1336 bytes + test/reference/clip-polygons.traps.rgb24.ref.png | Bin 0 -> 1336 bytes + test/reference/clip-push-group.mask.argb32.ref.png | Bin 0 -> 164 bytes + test/reference/clip-push-group.mask.rgb24.ref.png | Bin 0 -> 164 bytes + test/reference/clip-rectilinear.base.argb32.ref.png | Bin 0 -> 440 bytes + test/reference/clip-rectilinear.base.rgb24.ref.png | Bin 0 -> 440 bytes + test/reference/clip-rectilinear.mask.argb32.ref.png | Bin 0 -> 440 bytes + test/reference/clip-rectilinear.mask.rgb24.ref.png | Bin 0 -> 440 bytes + test/reference/clip-rectilinear.traps.argb32.ref.png | Bin 0 -> 440 bytes + test/reference/clip-rectilinear.traps.rgb24.ref.png | Bin 0 -> 440 bytes + ...clip-rotate-image-surface-paint.mask.argb32.ref.png | Bin 0 -> 202 bytes + .../clip-rotate-image-surface-paint.mask.rgb24.ref.png | Bin 0 -> 202 bytes + test/reference/clip-shape.mask.argb32.ref.png | Bin 0 -> 3094 bytes + test/reference/clip-shape.mask.rgb24.ref.png | Bin 0 -> 3094 bytes + test/reference/clip-stroke-no-op.mask.argb32.ref.png | Bin 0 -> 152 bytes + test/reference/clip-stroke-no-op.mask.rgb24.ref.png | Bin 0 -> 152 bytes + .../clip-stroke-unbounded.mask.argb32.ref.png | Bin 0 -> 3991 bytes + .../reference/clip-stroke-unbounded.mask.rgb24.ref.png | Bin 0 -> 3372 bytes + test/reference/clip-stroke.mask.argb32.ref.png | Bin 0 -> 1500 bytes + test/reference/clip-stroke.mask.rgb24.ref.png | Bin 0 -> 1500 bytes + test/reference/clip-text.mask.argb32.ref.png | Bin 0 -> 918 bytes + test/reference/clip-text.mask.rgb24.ref.png | Bin 0 -> 918 bytes + .../reference/clip-twice-rectangle.mask.argb32.ref.png | Bin 0 -> 323 bytes + test/reference/clip-twice-rectangle.mask.rgb24.ref.png | Bin 0 -> 323 bytes + test/reference/clip-twice.mask.argb32.ref.png | Bin 0 -> 1306 bytes + test/reference/clip-twice.mask.rgb24.ref.png | Bin 0 -> 1215 bytes + test/reference/clip-unbounded.mask.argb32.ref.png | Bin 0 -> 100 bytes + test/reference/clip-unbounded.mask.rgb24.ref.png | Bin 0 -> 97 bytes + test/reference/clipped-group.mask.argb32.ref.png | Bin 0 -> 336 bytes + test/reference/clipped-group.mask.rgb24.ref.png | Bin 0 -> 336 bytes + test/reference/clipped-surface.mask.argb32.ref.png | Bin 0 -> 345 bytes + test/reference/clipped-surface.mask.rgb24.ref.png | Bin 0 -> 345 bytes + .../close-path-current-point.mask.argb32.ref.png | Bin 0 -> 2324 bytes + .../close-path-current-point.mask.rgb24.ref.png | Bin 0 -> 2324 bytes + test/reference/close-path.mask.argb32.ref.png | Bin 0 -> 294 bytes + test/reference/close-path.mask.rgb24.ref.png | Bin 0 -> 294 bytes + ...e-integer-translate-over-repeat.mask.argb32.ref.png | Bin 0 -> 334 bytes + ...te-integer-translate-over-repeat.mask.rgb24.ref.png | Bin 0 -> 334 bytes + ...omposite-integer-translate-over.mask.argb32.ref.png | Bin 0 -> 13998 bytes + ...composite-integer-translate-over.mask.rgb24.ref.png | Bin 0 -> 13998 bytes + ...posite-integer-translate-source.mask.argb32.ref.png | Bin 0 -> 13998 bytes + ...mposite-integer-translate-source.mask.rgb24.ref.png | Bin 0 -> 13998 bytes + test/reference/copy-disjoint.base.argb32.ref.png | Bin 0 -> 1098 bytes + test/reference/copy-disjoint.base.rgb24.ref.png | Bin 0 -> 1098 bytes + test/reference/copy-disjoint.mask.argb32.ref.png | Bin 0 -> 1098 bytes + test/reference/copy-disjoint.mask.rgb24.ref.png | Bin 0 -> 1098 bytes + test/reference/copy-disjoint.traps.argb32.ref.png | Bin 0 -> 1098 bytes + test/reference/copy-disjoint.traps.rgb24.ref.png | Bin 0 -> 1098 bytes + test/reference/copy-path.mask.argb32.ref.png | Bin 0 -> 616 bytes + test/reference/copy-path.mask.rgb24.ref.png | Bin 0 -> 616 bytes + .../create-from-png-stream.mask.argb32.ref.png | Bin 0 -> 96 bytes + .../create-from-png-stream.mask.rgb24.ref.png | Bin 0 -> 96 bytes + test/reference/create-from-png.mask.argb32.ref.png | Bin 0 -> 96 bytes + test/reference/create-from-png.mask.rgb24.ref.png | Bin 0 -> 96 bytes + test/reference/create-from-png.traps.argb32.ref.png | Bin 0 -> 96 bytes + test/reference/create-from-png.traps.rgb24.ref.png | Bin 0 -> 96 bytes + test/reference/culled-glyphs.mask.argb32.ref.png | Bin 0 -> 440 bytes + test/reference/culled-glyphs.mask.rgb24.ref.png | Bin 0 -> 440 bytes + test/reference/curve-to-as-line-to.mask.argb32.ref.png | Bin 0 -> 109 bytes + test/reference/curve-to-as-line-to.mask.rgb24.ref.png | Bin 0 -> 109 bytes + test/reference/dash-caps-joins.mask.argb32.ref.png | Bin 0 -> 5157 bytes + test/reference/dash-caps-joins.mask.rgb24.ref.png | Bin 0 -> 5157 bytes + test/reference/dash-curve.mask.argb32.ref.png | Bin 0 -> 41040 bytes + test/reference/dash-curve.mask.rgb24.ref.png | Bin 0 -> 41040 bytes + test/reference/dash-infinite-loop.mask.argb32.ref.png | Bin 0 -> 877 bytes + test/reference/dash-infinite-loop.mask.rgb24.ref.png | Bin 0 -> 877 bytes + test/reference/dash-no-dash.mask.argb32.ref.png | Bin 0 -> 119 bytes + test/reference/dash-no-dash.mask.rgb24.ref.png | Bin 0 -> 119 bytes + .../reference/dash-offset-negative.mask.argb32.ref.png | Bin 0 -> 129 bytes + test/reference/dash-offset-negative.mask.rgb24.ref.png | Bin 0 -> 129 bytes + test/reference/dash-offset.mask.argb32.ref.png | Bin 0 -> 794 bytes + test/reference/dash-offset.mask.rgb24.ref.png | Bin 0 -> 794 bytes + test/reference/dash-scale.mask.argb32.ref.png | Bin 0 -> 8913 bytes + test/reference/dash-scale.mask.rgb24.ref.png | Bin 0 -> 8913 bytes + test/reference/dash-state.mask.argb32.ref.png | Bin 0 -> 8027 bytes + test/reference/dash-state.mask.rgb24.ref.png | Bin 0 -> 8027 bytes + test/reference/dash-zero-length.mask.argb32.ref.png | Bin 0 -> 230 bytes + test/reference/dash-zero-length.mask.rgb24.ref.png | Bin 0 -> 210 bytes + test/reference/degenerate-arc.mask.argb32.ref.png | Bin 0 -> 653 bytes + test/reference/degenerate-arc.mask.rgb24.ref.png | Bin 0 -> 653 bytes + test/reference/degenerate-arcs.mask.argb32.ref.png | Bin 0 -> 120 bytes + test/reference/degenerate-arcs.mask.rgb24.ref.png | Bin 0 -> 120 bytes + test/reference/degenerate-curve-to.mask.argb32.ref.png | Bin 0 -> 280 bytes + test/reference/degenerate-curve-to.mask.rgb24.ref.png | Bin 0 -> 280 bytes + test/reference/degenerate-dash.mask.argb32.ref.png | Bin 0 -> 2086 bytes + test/reference/degenerate-dash.mask.rgb24.ref.png | Bin 0 -> 2086 bytes + .../degenerate-linear-gradient.mask.argb32.ref.png | Bin 0 -> 336 bytes + .../degenerate-linear-gradient.mask.rgb24.ref.png | Bin 0 -> 336 bytes + test/reference/degenerate-path.mask.argb32.ref.png | Bin 0 -> 250 bytes + test/reference/degenerate-path.mask.rgb24.ref.png | Bin 0 -> 219 bytes + test/reference/degenerate-pen.mask.argb32.ref.png | Bin 0 -> 1019 bytes + test/reference/degenerate-pen.mask.rgb24.ref.png | Bin 0 -> 1019 bytes + .../degenerate-radial-gradient.mask.argb32.ref.png | Bin 0 -> 428 bytes + .../degenerate-radial-gradient.mask.rgb24.ref.png | Bin 0 -> 428 bytes + .../degenerate-rel-curve-to.mask.argb32.ref.png | Bin 0 -> 277 bytes + .../degenerate-rel-curve-to.mask.rgb24.ref.png | Bin 0 -> 277 bytes + .../device-offset-fractional.mask.argb32.ref.png | Bin 0 -> 266 bytes + .../device-offset-fractional.mask.rgb24.ref.png | Bin 0 -> 266 bytes + .../device-offset-positive.mask.argb32.ref.png | Bin 0 -> 120 bytes + .../device-offset-positive.mask.rgb24.ref.png | Bin 0 -> 111 bytes + test/reference/device-offset-scale.mask.argb32.ref.png | Bin 0 -> 109 bytes + test/reference/device-offset-scale.mask.rgb24.ref.png | Bin 0 -> 109 bytes + test/reference/device-offset.mask.argb32.ref.png | Bin 0 -> 118 bytes + test/reference/device-offset.mask.rgb24.ref.png | Bin 0 -> 111 bytes + test/reference/drunkard-tails.mask.argb32.ref.png | Bin 0 -> 6116 bytes + test/reference/drunkard-tails.mask.rgb24.ref.png | Bin 0 -> 6116 bytes + test/reference/extend-pad-border.mask.argb32.ref.png | Bin 0 -> 495 bytes + test/reference/extend-pad-border.mask.rgb24.ref.png | Bin 0 -> 495 bytes + test/reference/extend-pad-similar.mask.argb32.ref.png | Bin 0 -> 279 bytes + test/reference/extend-pad-similar.mask.rgb24.ref.png | Bin 0 -> 279 bytes + test/reference/extend-pad.mask.argb32.ref.png | Bin 0 -> 279 bytes + test/reference/extend-pad.mask.rgb24.ref.png | Bin 0 -> 279 bytes + .../extend-reflect-similar.mask.argb32.ref.png | Bin 0 -> 133406 bytes + .../extend-reflect-similar.mask.rgb24.ref.png | Bin 0 -> 133406 bytes + test/reference/extend-reflect.mask.argb32.ref.png | Bin 0 -> 133406 bytes + test/reference/extend-reflect.mask.rgb24.ref.png | Bin 0 -> 133406 bytes + .../extend-repeat-similar.mask.argb32.ref.png | Bin 0 -> 108603 bytes + .../reference/extend-repeat-similar.mask.rgb24.ref.png | Bin 0 -> 108603 bytes + test/reference/extend-repeat.mask.argb32.ref.png | Bin 0 -> 108603 bytes + test/reference/extend-repeat.mask.rgb24.ref.png | Bin 0 -> 108603 bytes + .../extended-blend-alpha-mask.mask.argb32.ref.png | Bin 0 -> 9221 bytes + .../extended-blend-alpha-mask.mask.rgb24.ref.png | Bin 0 -> 4597 bytes + .../reference/extended-blend-alpha.mask.argb32.ref.png | Bin 0 -> 9406 bytes + test/reference/extended-blend-alpha.mask.rgb24.ref.png | Bin 0 -> 5740 bytes + test/reference/extended-blend-mask.mask.argb32.ref.png | Bin 0 -> 3971 bytes + test/reference/extended-blend-mask.mask.rgb24.ref.png | Bin 0 -> 3643 bytes + .../extended-blend-solid-alpha.mask.argb32.ref.png | Bin 0 -> 9406 bytes + .../extended-blend-solid-alpha.mask.rgb24.ref.png | Bin 0 -> 5740 bytes + .../reference/extended-blend-solid.mask.argb32.ref.png | Bin 0 -> 4063 bytes + test/reference/extended-blend-solid.mask.rgb24.ref.png | Bin 0 -> 3775 bytes + test/reference/extended-blend.mask.argb32.ref.png | Bin 0 -> 4063 bytes + test/reference/extended-blend.mask.rgb24.ref.png | Bin 0 -> 3775 bytes + test/reference/fallback.base.argb32.ref.png | Bin 0 -> 4156 bytes + test/reference/fallback.base.rgb24.ref.png | Bin 0 -> 3332 bytes + test/reference/fallback.mask.argb32.ref.png | Bin 0 -> 4070 bytes + test/reference/fallback.mask.rgb24.ref.png | Bin 0 -> 3141 bytes + test/reference/fallback.traps.argb32.ref.png | Bin 0 -> 4070 bytes + test/reference/fallback.traps.rgb24.ref.png | Bin 0 -> 3141 bytes + test/reference/fill-alpha-pattern.mask.argb32.ref.png | Bin 0 -> 3381 bytes + test/reference/fill-alpha-pattern.mask.rgb24.ref.png | Bin 0 -> 3381 bytes + test/reference/fill-alpha.mask.argb32.ref.png | Bin 0 -> 2736 bytes + test/reference/fill-alpha.mask.rgb24.ref.png | Bin 0 -> 2736 bytes + .../fill-and-stroke-alpha-add.mask.argb32.ref.png | Bin 0 -> 556 bytes + .../fill-and-stroke-alpha-add.mask.rgb24.ref.png | Bin 0 -> 556 bytes + .../fill-and-stroke-alpha.mask.argb32.ref.png | Bin 0 -> 508 bytes + .../reference/fill-and-stroke-alpha.mask.rgb24.ref.png | Bin 0 -> 508 bytes + test/reference/fill-and-stroke.mask.argb32.ref.png | Bin 0 -> 312 bytes + test/reference/fill-and-stroke.mask.rgb24.ref.png | Bin 0 -> 283 bytes + .../fill-degenerate-sort-order.mask.argb32.ref.png | Bin 0 -> 2400 bytes + .../fill-degenerate-sort-order.mask.rgb24.ref.png | Bin 0 -> 2049 bytes + test/reference/fill-disjoint.base.argb32.ref.png | Bin 0 -> 1098 bytes + test/reference/fill-disjoint.base.rgb24.ref.png | Bin 0 -> 1098 bytes + test/reference/fill-disjoint.mask.argb32.ref.png | Bin 0 -> 1098 bytes + test/reference/fill-disjoint.mask.rgb24.ref.png | Bin 0 -> 1098 bytes + test/reference/fill-disjoint.traps.argb32.ref.png | Bin 0 -> 1098 bytes + test/reference/fill-disjoint.traps.rgb24.ref.png | Bin 0 -> 1098 bytes + test/reference/fill-empty.mask.argb32.ref.png | Bin 0 -> 99 bytes + test/reference/fill-empty.mask.rgb24.ref.png | Bin 0 -> 97 bytes + test/reference/fill-image.mask.argb32.ref.png | Bin 0 -> 1315 bytes + test/reference/fill-image.mask.rgb24.ref.png | Bin 0 -> 1315 bytes + test/reference/fill-missed-stop.mask.argb32.ref.png | Bin 0 -> 455 bytes + test/reference/fill-missed-stop.mask.rgb24.ref.png | Bin 0 -> 382 bytes + test/reference/fill-rule.mask.argb32.ref.png | Bin 0 -> 2065 bytes + test/reference/fill-rule.mask.rgb24.ref.png | Bin 0 -> 1803 bytes + .../filter-bilinear-extents.mask.argb32.ref.png | Bin 0 -> 1210 bytes + .../filter-bilinear-extents.mask.rgb24.ref.png | Bin 0 -> 1210 bytes + .../filter-nearest-offset.mask.argb32.ref.png | Bin 0 -> 201 bytes + .../reference/filter-nearest-offset.mask.rgb24.ref.png | Bin 0 -> 201 bytes + .../filter-nearest-transformed.mask.argb32.ref.png | Bin 0 -> 514 bytes + .../filter-nearest-transformed.mask.rgb24.ref.png | Bin 0 -> 514 bytes + .../finer-grained-fallbacks.mask.argb32.ref.png | Bin 0 -> 1167 bytes + .../finer-grained-fallbacks.mask.rgb24.ref.png | Bin 0 -> 891 bytes + .../font-matrix-translation.mask.argb32.ref.png | Bin 0 -> 865 bytes + .../font-matrix-translation.mask.rgb24.ref.png | Bin 0 -> 865 bytes + .../font-matrix-translation.traps.argb32.ref.png | Bin 0 -> 865 bytes + .../font-matrix-translation.traps.rgb24.ref.png | Bin 0 -> 865 bytes + .../ft-show-glyphs-positioning.mask.argb32.ref.png | Bin 0 -> 3243 bytes + .../ft-show-glyphs-positioning.mask.rgb24.ref.png | Bin 0 -> 3243 bytes + .../ft-show-glyphs-positioning.traps.argb32.ref.png | Bin 0 -> 3243 bytes + .../ft-show-glyphs-positioning.traps.rgb24.ref.png | Bin 0 -> 3243 bytes + .../reference/ft-show-glyphs-table.mask.argb32.ref.png | Bin 0 -> 9975 bytes + test/reference/ft-show-glyphs-table.mask.rgb24.ref.png | Bin 0 -> 9975 bytes + .../ft-show-glyphs-table.traps.argb32.ref.png | Bin 0 -> 9975 bytes + .../reference/ft-show-glyphs-table.traps.rgb24.ref.png | Bin 0 -> 9975 bytes + .../ft-text-antialias-none.mask.argb32.ref.png | Bin 0 -> 295 bytes + .../ft-text-antialias-none.mask.rgb24.ref.png | Bin 0 -> 295 bytes + .../ft-text-vertical-layout-type1.mask.argb32.ref.png | Bin 0 -> 3062 bytes + .../ft-text-vertical-layout-type1.mask.rgb24.ref.png | Bin 0 -> 3062 bytes + .../ft-text-vertical-layout-type3.mask.argb32.ref.png | Bin 0 -> 3610 bytes + .../ft-text-vertical-layout-type3.mask.rgb24.ref.png | Bin 0 -> 3610 bytes + test/reference/get-group-target.mask.argb32.ref.png | Bin 0 -> 113 bytes + test/reference/get-group-target.mask.rgb24.ref.png | Bin 0 -> 113 bytes + test/reference/gl-surface-source.base.argb32.ref.png | Bin 0 -> 377 bytes + test/reference/gl-surface-source.base.rgb24.ref.png | Bin 0 -> 301 bytes + test/reference/gl-surface-source.mask.argb32.ref.png | Bin 0 -> 377 bytes + test/reference/gl-surface-source.mask.rgb24.ref.png | Bin 0 -> 301 bytes + test/reference/gl-surface-source.traps.argb32.ref.png | Bin 0 -> 377 bytes + test/reference/gl-surface-source.traps.rgb24.ref.png | Bin 0 -> 301 bytes + .../reference/glyph-cache-pressure.mask.argb32.ref.png | Bin 0 -> 2858 bytes + test/reference/glyph-cache-pressure.mask.rgb24.ref.png | Bin 0 -> 2858 bytes + .../glyph-cache-pressure.traps.argb32.ref.png | Bin 0 -> 2858 bytes + .../reference/glyph-cache-pressure.traps.rgb24.ref.png | Bin 0 -> 2858 bytes + test/reference/gradient-alpha.mask.argb32.ref.png | Bin 0 -> 125 bytes + test/reference/gradient-alpha.mask.rgb24.ref.png | Bin 0 -> 119 bytes + .../gradient-constant-alpha.mask.argb32.ref.png | Bin 0 -> 111 bytes + .../gradient-constant-alpha.mask.rgb24.ref.png | Bin 0 -> 106 bytes + .../gradient-zero-stops-mask.mask.argb32.ref.png | Bin 0 -> 86 bytes + .../gradient-zero-stops-mask.mask.rgb24.ref.png | Bin 0 -> 86 bytes + test/reference/gradient-zero-stops.mask.argb32.ref.png | Bin 0 -> 86 bytes + test/reference/gradient-zero-stops.mask.rgb24.ref.png | Bin 0 -> 86 bytes + test/reference/group-clip.mask.argb32.ref.png | Bin 0 -> 191 bytes + test/reference/group-clip.mask.rgb24.ref.png | Bin 0 -> 191 bytes + test/reference/group-paint.mask.argb32.ref.png | Bin 0 -> 95 bytes + test/reference/group-paint.mask.rgb24.ref.png | Bin 0 -> 95 bytes + test/reference/group-unaligned.mask.argb32.ref.png | Bin 0 -> 427 bytes + test/reference/group-unaligned.mask.rgb24.ref.png | Bin 0 -> 427 bytes + test/reference/halo-transform.mask.argb32.ref.png | Bin 0 -> 15063 bytes + test/reference/halo-transform.mask.rgb24.ref.png | Bin 0 -> 15063 bytes + test/reference/halo-transform.traps.argb32.ref.png | Bin 0 -> 15063 bytes + test/reference/halo-transform.traps.rgb24.ref.png | Bin 0 -> 15063 bytes + test/reference/halo.mask.argb32.ref.png | Bin 0 -> 8726 bytes + test/reference/halo.mask.rgb24.ref.png | Bin 0 -> 8726 bytes + test/reference/halo.traps.argb32.ref.png | Bin 0 -> 8726 bytes + test/reference/halo.traps.rgb24.ref.png | Bin 0 -> 8726 bytes + test/reference/hatchings.mask.argb32.ref.png | Bin 0 -> 94631 bytes + test/reference/hatchings.mask.rgb24.ref.png | Bin 0 -> 94631 bytes + test/reference/horizontal-clip.mask.argb32.ref.png | Bin 0 -> 113 bytes + test/reference/horizontal-clip.mask.rgb24.ref.png | Bin 0 -> 113 bytes + test/reference/huge-linear.mask.argb32.ref.png | Bin 0 -> 1600 bytes + test/reference/huge-linear.mask.rgb24.ref.png | Bin 0 -> 1600 bytes + test/reference/huge-radial.mask.argb32.ref.png | Bin 0 -> 41702 bytes + test/reference/huge-radial.mask.rgb24.ref.png | Bin 0 -> 41702 bytes + .../image-bug-710072-aligned.mask.argb32.ref.png | Bin 0 -> 151 bytes + .../image-bug-710072-aligned.mask.rgb24.ref.png | Bin 0 -> 151 bytes + .../image-bug-710072-unaligned.mask.argb32.ref.png | Bin 0 -> 212 bytes + .../image-bug-710072-unaligned.mask.rgb24.ref.png | Bin 0 -> 212 bytes + .../reference/image-surface-source.mask.argb32.ref.png | Bin 0 -> 377 bytes + test/reference/image-surface-source.mask.rgb24.ref.png | Bin 0 -> 301 bytes + test/reference/implicit-close.mask.argb32.ref.png | Bin 0 -> 251 bytes + test/reference/implicit-close.mask.rgb24.ref.png | Bin 0 -> 251 bytes + test/reference/infinite-join.mask.argb32.ref.png | Bin 0 -> 164 bytes + test/reference/infinite-join.mask.rgb24.ref.png | Bin 0 -> 164 bytes + test/reference/inverse-text.base.argb32.ref.png | Bin 0 -> 2162 bytes + test/reference/inverse-text.base.rgb24.ref.png | Bin 0 -> 2162 bytes + test/reference/inverse-text.mask.argb32.ref.png | Bin 0 -> 2162 bytes + test/reference/inverse-text.mask.rgb24.ref.png | Bin 0 -> 2162 bytes + test/reference/inverse-text.traps.argb32.ref.png | Bin 0 -> 2162 bytes + test/reference/inverse-text.traps.rgb24.ref.png | Bin 0 -> 2162 bytes + test/reference/joins-loop.mask.argb32.ref.png | Bin 0 -> 4492 bytes + test/reference/joins-loop.mask.rgb24.ref.png | Bin 0 -> 4492 bytes + test/reference/joins-retrace.mask.argb32.ref.png | Bin 0 -> 4997 bytes + test/reference/joins-retrace.mask.rgb24.ref.png | Bin 0 -> 4997 bytes + test/reference/joins-star.mask.argb32.ref.png | Bin 0 -> 4914 bytes + test/reference/joins-star.mask.rgb24.ref.png | Bin 0 -> 4914 bytes + test/reference/joins.mask.argb32.ref.png | Bin 0 -> 6970 bytes + test/reference/joins.mask.rgb24.ref.png | Bin 0 -> 6970 bytes + test/reference/large-clip.mask.argb32.ref.png | Bin 0 -> 305 bytes + test/reference/large-clip.mask.rgb24.ref.png | Bin 0 -> 305 bytes + test/reference/large-font.mask.argb32.ref.png | Bin 0 -> 6117 bytes + test/reference/large-font.mask.rgb24.ref.png | Bin 0 -> 6117 bytes + test/reference/large-source-roi.mask.argb32.ref.png | Bin 0 -> 93 bytes + test/reference/large-source-roi.mask.rgb24.ref.png | Bin 0 -> 93 bytes + test/reference/large-source.mask.argb32.ref.png | Bin 0 -> 112 bytes + test/reference/large-source.mask.rgb24.ref.png | Bin 0 -> 112 bytes + .../large-twin-antialias-mixed.mask.argb32.ref.png | Bin 0 -> 16660 bytes + .../large-twin-antialias-mixed.mask.rgb24.ref.png | Bin 0 -> 16660 bytes + test/reference/leaky-dash.mask.argb32.ref.png | Bin 0 -> 197 bytes + test/reference/leaky-dash.mask.rgb24.ref.png | Bin 0 -> 197 bytes + .../leaky-dashed-rectangle.mask.argb32.ref.png | Bin 0 -> 357 bytes + .../leaky-dashed-rectangle.mask.rgb24.ref.png | Bin 0 -> 357 bytes + test/reference/leaky-dashed-stroke.mask.argb32.ref.png | Bin 0 -> 9387 bytes + test/reference/leaky-dashed-stroke.mask.rgb24.ref.png | Bin 0 -> 9387 bytes + test/reference/leaky-polygon.mask.argb32.ref.png | Bin 0 -> 337 bytes + test/reference/leaky-polygon.mask.rgb24.ref.png | Bin 0 -> 337 bytes + ...line-width-large-overlap-dashed.base.argb32.ref.png | Bin 0 -> 338 bytes + .../line-width-large-overlap-dashed.base.rgb24.ref.png | Bin 0 -> 338 bytes + ...line-width-large-overlap-dashed.mask.argb32.ref.png | Bin 0 -> 343 bytes + .../line-width-large-overlap-dashed.mask.rgb24.ref.png | Bin 0 -> 343 bytes + ...ine-width-large-overlap-dashed.traps.argb32.ref.png | Bin 0 -> 343 bytes + ...line-width-large-overlap-dashed.traps.rgb24.ref.png | Bin 0 -> 343 bytes + ...ine-width-large-overlap-flipped.base.argb32.ref.png | Bin 0 -> 305 bytes + ...line-width-large-overlap-flipped.base.rgb24.ref.png | Bin 0 -> 305 bytes + ...ine-width-large-overlap-flipped.mask.argb32.ref.png | Bin 0 -> 305 bytes + ...line-width-large-overlap-flipped.mask.rgb24.ref.png | Bin 0 -> 305 bytes + ...ne-width-large-overlap-flipped.traps.argb32.ref.png | Bin 0 -> 305 bytes + ...ine-width-large-overlap-flipped.traps.rgb24.ref.png | Bin 0 -> 305 bytes + ...ine-width-large-overlap-flopped.base.argb32.ref.png | Bin 0 -> 305 bytes + ...line-width-large-overlap-flopped.base.rgb24.ref.png | Bin 0 -> 305 bytes + ...ine-width-large-overlap-flopped.mask.argb32.ref.png | Bin 0 -> 305 bytes + ...line-width-large-overlap-flopped.mask.rgb24.ref.png | Bin 0 -> 305 bytes + ...ne-width-large-overlap-flopped.traps.argb32.ref.png | Bin 0 -> 305 bytes + ...ine-width-large-overlap-flopped.traps.rgb24.ref.png | Bin 0 -> 305 bytes + ...line-width-large-overlap-offset.base.argb32.ref.png | Bin 0 -> 305 bytes + .../line-width-large-overlap-offset.base.rgb24.ref.png | Bin 0 -> 305 bytes + ...line-width-large-overlap-offset.mask.argb32.ref.png | Bin 0 -> 305 bytes + .../line-width-large-overlap-offset.mask.rgb24.ref.png | Bin 0 -> 305 bytes + ...ine-width-large-overlap-offset.traps.argb32.ref.png | Bin 0 -> 305 bytes + ...line-width-large-overlap-offset.traps.rgb24.ref.png | Bin 0 -> 305 bytes + ...ine-width-large-overlap-rotated.base.argb32.ref.png | Bin 0 -> 404 bytes + ...line-width-large-overlap-rotated.base.rgb24.ref.png | Bin 0 -> 404 bytes + ...ine-width-large-overlap-rotated.mask.argb32.ref.png | Bin 0 -> 427 bytes + ...line-width-large-overlap-rotated.mask.rgb24.ref.png | Bin 0 -> 427 bytes + ...ne-width-large-overlap-rotated.traps.argb32.ref.png | Bin 0 -> 427 bytes + ...ine-width-large-overlap-rotated.traps.rgb24.ref.png | Bin 0 -> 427 bytes + .../line-width-large-overlap.base.argb32.ref.png | Bin 0 -> 305 bytes + .../line-width-large-overlap.base.rgb24.ref.png | Bin 0 -> 305 bytes + .../line-width-large-overlap.mask.argb32.ref.png | Bin 0 -> 305 bytes + .../line-width-large-overlap.mask.rgb24.ref.png | Bin 0 -> 305 bytes + .../line-width-large-overlap.traps.argb32.ref.png | Bin 0 -> 305 bytes + .../line-width-large-overlap.traps.rgb24.ref.png | Bin 0 -> 305 bytes + .../line-width-overlap-dashed.mask.argb32.ref.png | Bin 0 -> 401 bytes + .../line-width-overlap-dashed.mask.rgb24.ref.png | Bin 0 -> 401 bytes + .../line-width-overlap-flipped.mask.argb32.ref.png | Bin 0 -> 324 bytes + .../line-width-overlap-flipped.mask.rgb24.ref.png | Bin 0 -> 324 bytes + .../line-width-overlap-flopped.mask.argb32.ref.png | Bin 0 -> 324 bytes + .../line-width-overlap-flopped.mask.rgb24.ref.png | Bin 0 -> 324 bytes + .../line-width-overlap-offset.mask.argb32.ref.png | Bin 0 -> 348 bytes + .../line-width-overlap-offset.mask.rgb24.ref.png | Bin 0 -> 348 bytes + .../line-width-overlap-offset.traps.argb32.ref.png | Bin 0 -> 365 bytes + .../line-width-overlap-offset.traps.rgb24.ref.png | Bin 0 -> 365 bytes + .../line-width-overlap-rotated.mask.argb32.ref.png | Bin 0 -> 828 bytes + .../line-width-overlap-rotated.mask.rgb24.ref.png | Bin 0 -> 828 bytes + test/reference/line-width-overlap.mask.argb32.ref.png | Bin 0 -> 324 bytes + test/reference/line-width-overlap.mask.rgb24.ref.png | Bin 0 -> 324 bytes + test/reference/line-width-scale.mask.argb32.ref.png | Bin 0 -> 5721 bytes + test/reference/line-width-scale.mask.rgb24.ref.png | Bin 0 -> 5721 bytes + .../reference/line-width-tolerance.mask.argb32.ref.png | Bin 0 -> 168 bytes + test/reference/line-width-tolerance.mask.rgb24.ref.png | Bin 0 -> 168 bytes + test/reference/line-width.mask.argb32.ref.png | Bin 0 -> 178 bytes + test/reference/line-width.mask.rgb24.ref.png | Bin 0 -> 178 bytes + .../linear-gradient-extend.mask.argb32.ref.png | Bin 0 -> 371 bytes + .../linear-gradient-extend.mask.rgb24.ref.png | Bin 0 -> 371 bytes + .../linear-gradient-large.mask.argb32.ref.png | Bin 0 -> 4076 bytes + .../reference/linear-gradient-large.mask.rgb24.ref.png | Bin 0 -> 4076 bytes + .../linear-gradient-one-stop.mask.argb32.ref.png | Bin 0 -> 225 bytes + .../linear-gradient-one-stop.mask.rgb24.ref.png | Bin 0 -> 174 bytes + .../linear-gradient-reflect.mask.argb32.ref.png | Bin 0 -> 185 bytes + .../linear-gradient-reflect.mask.rgb24.ref.png | Bin 0 -> 185 bytes + .../linear-gradient-subset.mask.argb32.ref.png | Bin 0 -> 820 bytes + .../linear-gradient-subset.mask.rgb24.ref.png | Bin 0 -> 820 bytes + test/reference/linear-gradient.mask.argb32.ref.png | Bin 0 -> 974 bytes + test/reference/linear-gradient.mask.rgb24.ref.png | Bin 0 -> 974 bytes + .../reference/linear-step-function.mask.argb32.ref.png | Bin 0 -> 118 bytes + test/reference/linear-step-function.mask.rgb24.ref.png | Bin 0 -> 118 bytes + test/reference/linear-uniform.mask.argb32.ref.png | Bin 0 -> 128 bytes + test/reference/linear-uniform.mask.rgb24.ref.png | Bin 0 -> 128 bytes + test/reference/long-dashed-lines.mask.argb32.ref.png | Bin 0 -> 2548 bytes + test/reference/long-dashed-lines.mask.rgb24.ref.png | Bin 0 -> 2548 bytes + test/reference/long-lines.mask.argb32.ref.png | Bin 0 -> 201 bytes + test/reference/long-lines.mask.rgb24.ref.png | Bin 0 -> 201 bytes + test/reference/map-all-to-image.mask.argb32.ref.png | Bin 0 -> 86 bytes + test/reference/map-all-to-image.mask.rgb24.ref.png | Bin 0 -> 86 bytes + test/reference/map-bit-to-image.mask.argb32.ref.png | Bin 0 -> 103 bytes + test/reference/map-bit-to-image.mask.rgb24.ref.png | Bin 0 -> 103 bytes + test/reference/map-to-image-fill.mask.argb32.ref.png | Bin 0 -> 103 bytes + test/reference/map-to-image-fill.mask.rgb24.ref.png | Bin 0 -> 103 bytes + test/reference/mask-alpha.mask.argb32.ref.png | Bin 0 -> 632 bytes + test/reference/mask-alpha.mask.rgb24.ref.png | Bin 0 -> 589 bytes + test/reference/mask-ctm.mask.argb32.ref.png | Bin 0 -> 110 bytes + test/reference/mask-ctm.mask.rgb24.ref.png | Bin 0 -> 105 bytes + test/reference/mask-surface-ctm.mask.argb32.ref.png | Bin 0 -> 110 bytes + test/reference/mask-surface-ctm.mask.rgb24.ref.png | Bin 0 -> 105 bytes + .../mask-transformed-image.mask.argb32.ref.png | Bin 0 -> 3812 bytes + .../mask-transformed-image.mask.rgb24.ref.png | Bin 0 -> 3812 bytes + .../mask-transformed-similar.mask.argb32.ref.png | Bin 0 -> 3812 bytes + .../mask-transformed-similar.mask.rgb24.ref.png | Bin 0 -> 3812 bytes + test/reference/mask.mask.argb32.ref.png | Bin 0 -> 8565 bytes + test/reference/mask.mask.rgb24.ref.png | Bin 0 -> 7135 bytes + .../mesh-pattern-accuracy.mask.argb32.ref.png | Bin 0 -> 8086 bytes + .../reference/mesh-pattern-accuracy.mask.rgb24.ref.png | Bin 0 -> 8086 bytes + .../reference/mesh-pattern-conical.mask.argb32.ref.png | Bin 0 -> 8655 bytes + test/reference/mesh-pattern-conical.mask.rgb24.ref.png | Bin 0 -> 8655 bytes + .../mesh-pattern-control-points.mask.argb32.ref.png | Bin 0 -> 10665 bytes + .../mesh-pattern-control-points.mask.rgb24.ref.png | Bin 0 -> 10665 bytes + test/reference/mesh-pattern-fold.mask.argb32.ref.png | Bin 0 -> 52980 bytes + test/reference/mesh-pattern-fold.mask.rgb24.ref.png | Bin 0 -> 52980 bytes + .../reference/mesh-pattern-overlap.mask.argb32.ref.png | Bin 0 -> 9129 bytes + test/reference/mesh-pattern-overlap.mask.rgb24.ref.png | Bin 0 -> 9129 bytes + .../mesh-pattern-transformed.mask.argb32.ref.png | Bin 0 -> 14463 bytes + .../mesh-pattern-transformed.mask.rgb24.ref.png | Bin 0 -> 14463 bytes + test/reference/mesh-pattern.mask.argb32.ref.png | Bin 0 -> 19566 bytes + test/reference/mesh-pattern.mask.rgb24.ref.png | Bin 0 -> 19566 bytes + test/reference/mime-data.mask.argb32.ref.png | Bin 0 -> 185 bytes + test/reference/mime-data.mask.rgb24.ref.png | Bin 0 -> 185 bytes + test/reference/miter-precision.mask.argb32.ref.png | Bin 0 -> 1030 bytes + test/reference/miter-precision.mask.rgb24.ref.png | Bin 0 -> 1030 bytes + .../reference/move-to-show-surface.mask.argb32.ref.png | Bin 0 -> 96 bytes + test/reference/move-to-show-surface.mask.rgb24.ref.png | Bin 0 -> 96 bytes + .../negative-stride-image.base.argb32.ref.png | Bin 0 -> 81121 bytes + .../reference/negative-stride-image.base.rgb24.ref.png | Bin 0 -> 81121 bytes + .../negative-stride-image.mask.argb32.ref.png | Bin 0 -> 81121 bytes + .../reference/negative-stride-image.mask.rgb24.ref.png | Bin 0 -> 81121 bytes + .../negative-stride-image.traps.argb32.ref.png | Bin 0 -> 81121 bytes + .../negative-stride-image.traps.rgb24.ref.png | Bin 0 -> 81121 bytes + test/reference/new-sub-path.mask.argb32.ref.png | Bin 0 -> 408 bytes + test/reference/new-sub-path.mask.rgb24.ref.png | Bin 0 -> 371 bytes + test/reference/nil-surface.mask.argb32.ref.png | Bin 0 -> 88 bytes + test/reference/nil-surface.mask.rgb24.ref.png | Bin 0 -> 87 bytes + .../reference/operator-alpha-alpha.mask.argb32.ref.png | Bin 0 -> 3441 bytes + test/reference/operator-alpha-alpha.mask.rgb24.ref.png | Bin 0 -> 3441 bytes + test/reference/operator-alpha.mask.argb32.ref.png | Bin 0 -> 280 bytes + test/reference/operator-alpha.mask.rgb24.ref.png | Bin 0 -> 205 bytes + test/reference/operator-clear.mask.argb32.ref.png | Bin 0 -> 1071 bytes + test/reference/operator-clear.mask.rgb24.ref.png | Bin 0 -> 947 bytes + test/reference/operator-source.mask.argb32.ref.png | Bin 0 -> 5612 bytes + test/reference/operator-source.mask.rgb24.ref.png | Bin 0 -> 3975 bytes + test/reference/operator.mask.argb32.ref.png | Bin 0 -> 238 bytes + test/reference/operator.mask.rgb24.ref.png | Bin 0 -> 189 bytes + test/reference/over-above-source.mask.argb32.ref.png | Bin 0 -> 564 bytes + test/reference/over-above-source.mask.rgb24.ref.png | Bin 0 -> 465 bytes + test/reference/over-around-source.mask.argb32.ref.png | Bin 0 -> 633 bytes + test/reference/over-around-source.mask.rgb24.ref.png | Bin 0 -> 499 bytes + test/reference/over-below-source.mask.argb32.ref.png | Bin 0 -> 447 bytes + test/reference/over-below-source.mask.rgb24.ref.png | Bin 0 -> 385 bytes + test/reference/over-between-source.mask.argb32.ref.png | Bin 0 -> 596 bytes + test/reference/over-between-source.mask.rgb24.ref.png | Bin 0 -> 463 bytes + test/reference/overlapping-boxes.mask.argb32.ref.png | Bin 0 -> 179 bytes + test/reference/overlapping-boxes.mask.rgb24.ref.png | Bin 0 -> 170 bytes + .../overlapping-dash-caps.mask.argb32.ref.png | Bin 0 -> 3986 bytes + .../reference/overlapping-dash-caps.mask.rgb24.ref.png | Bin 0 -> 3986 bytes + test/reference/overlapping-glyphs.mask.argb32.ref.png | Bin 0 -> 2717 bytes + test/reference/overlapping-glyphs.mask.rgb24.ref.png | Bin 0 -> 1663 bytes + test/reference/paint-clip-fill-aa.mask.argb32.ref.png | Bin 0 -> 327 bytes + test/reference/paint-clip-fill-aa.mask.rgb24.ref.png | Bin 0 -> 327 bytes + .../reference/paint-clip-fill-mono.mask.argb32.ref.png | Bin 0 -> 327 bytes + test/reference/paint-clip-fill-mono.mask.rgb24.ref.png | Bin 0 -> 327 bytes + test/reference/paint-repeat.mask.argb32.ref.png | Bin 0 -> 122 bytes + test/reference/paint-repeat.mask.rgb24.ref.png | Bin 0 -> 122 bytes + test/reference/paint-source-alpha.mask.argb32.ref.png | Bin 0 -> 224 bytes + test/reference/paint-source-alpha.mask.rgb24.ref.png | Bin 0 -> 224 bytes + .../paint-with-alpha-clip-mask.mask.argb32.ref.png | Bin 0 -> 330 bytes + .../paint-with-alpha-clip-mask.mask.rgb24.ref.png | Bin 0 -> 330 bytes + .../paint-with-alpha-clip.mask.argb32.ref.png | Bin 0 -> 269 bytes + .../reference/paint-with-alpha-clip.mask.rgb24.ref.png | Bin 0 -> 269 bytes + .../paint-with-alpha-solid-clip.mask.argb32.ref.png | Bin 0 -> 266 bytes + .../paint-with-alpha-solid-clip.mask.rgb24.ref.png | Bin 0 -> 266 bytes + test/reference/paint-with-alpha.mask.argb32.ref.png | Bin 0 -> 224 bytes + test/reference/paint-with-alpha.mask.rgb24.ref.png | Bin 0 -> 224 bytes + test/reference/paint.mask.argb32.ref.png | Bin 0 -> 93 bytes + test/reference/paint.mask.rgb24.ref.png | Bin 0 -> 93 bytes + .../partial-clip-text-bottom.mask.argb32.ref.png | Bin 0 -> 261 bytes + .../partial-clip-text-bottom.mask.rgb24.ref.png | Bin 0 -> 261 bytes + .../partial-clip-text-left.mask.argb32.ref.png | Bin 0 -> 301 bytes + .../partial-clip-text-left.mask.rgb24.ref.png | Bin 0 -> 301 bytes + .../partial-clip-text-right.mask.argb32.ref.png | Bin 0 -> 155 bytes + .../partial-clip-text-right.mask.rgb24.ref.png | Bin 0 -> 155 bytes + .../partial-clip-text-right.traps.argb32.ref.png | Bin 0 -> 155 bytes + .../partial-clip-text-right.traps.rgb24.ref.png | Bin 0 -> 155 bytes + .../partial-clip-text-top.mask.argb32.ref.png | Bin 0 -> 181 bytes + .../reference/partial-clip-text-top.mask.rgb24.ref.png | Bin 0 -> 181 bytes + .../partial-clip-text-top.traps.argb32.ref.png | Bin 0 -> 181 bytes + .../partial-clip-text-top.traps.rgb24.ref.png | Bin 0 -> 181 bytes + ...partial-coverage-half-reference.mask.argb32.ref.png | Bin 0 -> 189 bytes + .../partial-coverage-half-reference.mask.rgb24.ref.png | Bin 0 -> 189 bytes + .../partial-coverage-reference.mask.argb32.ref.png | Bin 0 -> 202 bytes + .../partial-coverage-reference.mask.rgb24.ref.png | Bin 0 -> 202 bytes + ...overage-three-quarter-reference.mask.argb32.ref.png | Bin 0 -> 186 bytes + ...coverage-three-quarter-reference.mask.rgb24.ref.png | Bin 0 -> 186 bytes + test/reference/pass-through.base.argb32.ref.png | Bin 0 -> 221 bytes + test/reference/pass-through.base.rgb24.ref.png | Bin 0 -> 158 bytes + test/reference/pass-through.mask.argb32.ref.png | Bin 0 -> 221 bytes + test/reference/pass-through.mask.rgb24.ref.png | Bin 0 -> 158 bytes + test/reference/pass-through.traps.argb32.ref.png | Bin 0 -> 221 bytes + test/reference/pass-through.traps.rgb24.ref.png | Bin 0 -> 158 bytes + test/reference/path-append.mask.argb32.ref.png | Bin 0 -> 6144 bytes + test/reference/path-append.mask.rgb24.ref.png | Bin 0 -> 6144 bytes + test/reference/path-stroke-twice.mask.argb32.ref.png | Bin 0 -> 240 bytes + test/reference/path-stroke-twice.mask.rgb24.ref.png | Bin 0 -> 240 bytes + test/reference/pattern-getters.mask.argb32.ref.png | Bin 0 -> 87 bytes + test/reference/pattern-getters.mask.rgb24.ref.png | Bin 0 -> 87 bytes + test/reference/pdf-surface-source.mask.argb32.ref.png | Bin 0 -> 377 bytes + test/reference/pdf-surface-source.mask.rgb24.ref.png | Bin 0 -> 301 bytes + test/reference/pixman-rotate.mask.argb32.ref.png | Bin 0 -> 260 bytes + test/reference/pixman-rotate.mask.rgb24.ref.png | Bin 0 -> 225 bytes + test/reference/ps-surface-source.mask.argb32.ref.png | Bin 0 -> 377 bytes + test/reference/ps-surface-source.mask.rgb24.ref.png | Bin 0 -> 301 bytes + test/reference/pthread-same-source.mask.argb32.ref.png | Bin 0 -> 1000 bytes + test/reference/pthread-same-source.mask.rgb24.ref.png | Bin 0 -> 1000 bytes + test/reference/pthread-show-text.mask.argb32.ref.png | Bin 0 -> 30199 bytes + test/reference/pthread-show-text.mask.rgb24.ref.png | Bin 0 -> 30199 bytes + test/reference/pthread-show-text.traps.argb32.ref.png | Bin 0 -> 30199 bytes + test/reference/pthread-show-text.traps.rgb24.ref.png | Bin 0 -> 30199 bytes + test/reference/pthread-similar.mask.argb32.ref.png | Bin 0 -> 170 bytes + test/reference/pthread-similar.mask.rgb24.ref.png | Bin 0 -> 170 bytes + test/reference/push-group-color.mask.argb32.ref.png | Bin 0 -> 2892 bytes + test/reference/push-group-color.mask.rgb24.ref.png | Bin 0 -> 2892 bytes + .../push-group-path-offset.mask.argb32.ref.png | Bin 0 -> 186 bytes + .../push-group-path-offset.mask.rgb24.ref.png | Bin 0 -> 186 bytes + test/reference/push-group.mask.argb32.ref.png | Bin 0 -> 3062 bytes + test/reference/push-group.mask.rgb24.ref.png | Bin 0 -> 2899 bytes + .../radial-gradient-extend.mask.argb32.ref.png | Bin 0 -> 466 bytes + .../radial-gradient-extend.mask.rgb24.ref.png | Bin 0 -> 466 bytes + .../radial-gradient-mask-source.mask.argb32.ref.png | Bin 0 -> 145713 bytes + .../radial-gradient-mask-source.mask.rgb24.ref.png | Bin 0 -> 150945 bytes + .../reference/radial-gradient-mask.mask.argb32.ref.png | Bin 0 -> 286065 bytes + test/reference/radial-gradient-mask.mask.rgb24.ref.png | Bin 0 -> 286065 bytes + .../radial-gradient-one-stop.mask.argb32.ref.png | Bin 0 -> 6306 bytes + .../radial-gradient-one-stop.mask.rgb24.ref.png | Bin 0 -> 6306 bytes + .../radial-gradient-source.mask.argb32.ref.png | Bin 0 -> 408848 bytes + .../radial-gradient-source.mask.rgb24.ref.png | Bin 0 -> 263908 bytes + test/reference/radial-gradient.mask.argb32.ref.png | Bin 0 -> 382283 bytes + test/reference/radial-gradient.mask.rgb24.ref.png | Bin 0 -> 382283 bytes + test/reference/radial-outer-focus.base.argb32.ref.png | Bin 0 -> 38310 bytes + test/reference/radial-outer-focus.base.rgb24.ref.png | Bin 0 -> 38310 bytes + test/reference/radial-outer-focus.mask.argb32.ref.png | Bin 0 -> 38310 bytes + test/reference/radial-outer-focus.mask.rgb24.ref.png | Bin 0 -> 38310 bytes + test/reference/radial-outer-focus.traps.argb32.ref.png | Bin 0 -> 38310 bytes + test/reference/radial-outer-focus.traps.rgb24.ref.png | Bin 0 -> 38310 bytes + test/reference/random-clip.base.argb32.ref.png | Bin 0 -> 521040 bytes + test/reference/random-clip.base.rgb24.ref.png | Bin 0 -> 521040 bytes + test/reference/random-clip.mask.argb32.ref.png | Bin 0 -> 550190 bytes + test/reference/random-clip.mask.rgb24.ref.png | Bin 0 -> 550190 bytes + .../random-intersections-curves-eo.mask.argb32.ref.png | Bin 0 -> 245848 bytes + .../random-intersections-curves-eo.mask.rgb24.ref.png | Bin 0 -> 245848 bytes + .../random-intersections-curves-nz.mask.argb32.ref.png | Bin 0 -> 265249 bytes + .../random-intersections-curves-nz.mask.rgb24.ref.png | Bin 0 -> 265249 bytes + .../random-intersections-eo.mask.argb32.ref.png | Bin 0 -> 136632 bytes + .../random-intersections-eo.mask.rgb24.ref.png | Bin 0 -> 136632 bytes + .../random-intersections-nonzero.mask.argb32.ref.png | Bin 0 -> 142139 bytes + .../random-intersections-nonzero.mask.rgb24.ref.png | Bin 0 -> 142139 bytes + test/reference/raster-source.mask.argb32.ref.png | Bin 0 -> 1209 bytes + test/reference/raster-source.mask.rgb24.ref.png | Bin 0 -> 1209 bytes + .../rectangle-rounding-error.mask.argb32.ref.png | Bin 0 -> 212 bytes + .../rectangle-rounding-error.mask.rgb24.ref.png | Bin 0 -> 212 bytes + test/reference/rectilinear-dash.mask.argb32.ref.png | Bin 0 -> 291 bytes + test/reference/rectilinear-dash.mask.rgb24.ref.png | Bin 0 -> 291 bytes + test/reference/rectilinear-fill.mask.argb32.ref.png | Bin 0 -> 151 bytes + test/reference/rectilinear-fill.mask.rgb24.ref.png | Bin 0 -> 151 bytes + test/reference/rectilinear-grid.mask.argb32.ref.png | Bin 0 -> 569 bytes + test/reference/rectilinear-grid.mask.rgb24.ref.png | Bin 0 -> 569 bytes + .../rectilinear-miter-limit.mask.argb32.ref.png | Bin 0 -> 145 bytes + .../rectilinear-miter-limit.mask.rgb24.ref.png | Bin 0 -> 145 bytes + test/reference/rectilinear-stroke.mask.argb32.ref.png | Bin 0 -> 172 bytes + test/reference/rectilinear-stroke.mask.rgb24.ref.png | Bin 0 -> 172 bytes + test/reference/reflected-stroke.mask.argb32.ref.png | Bin 0 -> 5119 bytes + test/reference/reflected-stroke.mask.rgb24.ref.png | Bin 0 -> 5119 bytes + test/reference/rel-path.mask.argb32.ref.png | Bin 0 -> 197 bytes + test/reference/rel-path.mask.rgb24.ref.png | Bin 0 -> 216 bytes + test/reference/rgb24-ignore-alpha.mask.argb32.ref.png | Bin 0 -> 97 bytes + test/reference/rgb24-ignore-alpha.mask.rgb24.ref.png | Bin 0 -> 97 bytes + ...rotate-clip-image-surface-paint.mask.argb32.ref.png | Bin 0 -> 331 bytes + .../rotate-clip-image-surface-paint.mask.rgb24.ref.png | Bin 0 -> 331 bytes + .../rotate-image-surface-paint.mask.argb32.ref.png | Bin 0 -> 220 bytes + .../rotate-image-surface-paint.mask.rgb24.ref.png | Bin 0 -> 220 bytes + test/reference/rotated-clip.mask.argb32.ref.png | Bin 0 -> 3697 bytes + test/reference/rotated-clip.mask.rgb24.ref.png | Bin 0 -> 3697 bytes + .../rounded-rectangle-fill.mask.argb32.ref.png | Bin 0 -> 787 bytes + .../rounded-rectangle-fill.mask.rgb24.ref.png | Bin 0 -> 787 bytes + .../rounded-rectangle-stroke.mask.argb32.ref.png | Bin 0 -> 951 bytes + .../rounded-rectangle-stroke.mask.rgb24.ref.png | Bin 0 -> 951 bytes + ...scale-down-source-surface-paint.mask.argb32.ref.png | Bin 0 -> 96 bytes + .../scale-down-source-surface-paint.mask.rgb24.ref.png | Bin 0 -> 96 bytes + test/reference/scale-offset-image.mask.argb32.ref.png | Bin 0 -> 9748 bytes + test/reference/scale-offset-image.mask.rgb24.ref.png | Bin 0 -> 9748 bytes + .../reference/scale-offset-similar.mask.argb32.ref.png | Bin 0 -> 9748 bytes + test/reference/scale-offset-similar.mask.rgb24.ref.png | Bin 0 -> 9748 bytes + .../scale-source-surface-paint.mask.argb32.ref.png | Bin 0 -> 128 bytes + .../scale-source-surface-paint.mask.rgb24.ref.png | Bin 0 -> 117 bytes + test/reference/select-font-face.mask.argb32.ref.png | Bin 0 -> 2250 bytes + test/reference/select-font-face.mask.rgb24.ref.png | Bin 0 -> 2250 bytes + test/reference/select-font-face.traps.argb32.ref.png | Bin 0 -> 2250 bytes + test/reference/select-font-face.traps.rgb24.ref.png | Bin 0 -> 2250 bytes + test/reference/self-copy-overlap.mask.argb32.ref.png | Bin 0 -> 1140 bytes + test/reference/self-copy-overlap.mask.rgb24.ref.png | Bin 0 -> 213 bytes + test/reference/self-copy.mask.argb32.ref.png | Bin 0 -> 257 bytes + test/reference/self-copy.mask.rgb24.ref.png | Bin 0 -> 257 bytes + test/reference/self-intersecting.mask.argb32.ref.png | Bin 0 -> 168 bytes + test/reference/self-intersecting.mask.rgb24.ref.png | Bin 0 -> 168 bytes + test/reference/set-source.mask.argb32.ref.png | Bin 0 -> 101 bytes + test/reference/set-source.mask.rgb24.ref.png | Bin 0 -> 101 bytes + .../reference/shape-general-convex.mask.argb32.ref.png | Bin 0 -> 2742 bytes + test/reference/shape-general-convex.mask.rgb24.ref.png | Bin 0 -> 2742 bytes + test/reference/shape-sierpinski.mask.argb32.ref.png | Bin 0 -> 63714 bytes + test/reference/shape-sierpinski.mask.rgb24.ref.png | Bin 0 -> 63714 bytes + test/reference/show-glyphs-advance.mask.argb32.ref.png | Bin 0 -> 1394 bytes + test/reference/show-glyphs-advance.mask.rgb24.ref.png | Bin 0 -> 1394 bytes + .../reference/show-glyphs-advance.traps.argb32.ref.png | Bin 0 -> 1394 bytes + test/reference/show-glyphs-advance.traps.rgb24.ref.png | Bin 0 -> 1394 bytes + test/reference/show-glyphs-many.mask.argb32.ref.png | Bin 0 -> 96 bytes + test/reference/show-glyphs-many.mask.rgb24.ref.png | Bin 0 -> 96 bytes + .../show-text-current-point.mask.argb32.ref.png | Bin 0 -> 2151 bytes + .../show-text-current-point.mask.rgb24.ref.png | Bin 0 -> 2151 bytes + .../show-text-current-point.traps.argb32.ref.png | Bin 0 -> 2151 bytes + .../show-text-current-point.traps.rgb24.ref.png | Bin 0 -> 2151 bytes + test/reference/skew-extreme.mask.argb32.ref.png | Bin 0 -> 799 bytes + test/reference/skew-extreme.mask.rgb24.ref.png | Bin 0 -> 799 bytes + test/reference/smask-fill.mask.argb32.ref.png | Bin 0 -> 1197 bytes + test/reference/smask-fill.mask.rgb24.ref.png | Bin 0 -> 1197 bytes + test/reference/smask-image-mask.mask.argb32.ref.png | Bin 0 -> 619 bytes + test/reference/smask-image-mask.mask.rgb24.ref.png | Bin 0 -> 619 bytes + test/reference/smask-mask.mask.argb32.ref.png | Bin 0 -> 2353 bytes + test/reference/smask-mask.mask.rgb24.ref.png | Bin 0 -> 2353 bytes + test/reference/smask-paint.mask.argb32.ref.png | Bin 0 -> 2469 bytes + test/reference/smask-paint.mask.rgb24.ref.png | Bin 0 -> 2469 bytes + test/reference/smask-stroke.mask.argb32.ref.png | Bin 0 -> 1709 bytes + test/reference/smask-stroke.mask.rgb24.ref.png | Bin 0 -> 1709 bytes + test/reference/smask-text.mask.argb32.ref.png | Bin 0 -> 1660 bytes + test/reference/smask-text.mask.rgb24.ref.png | Bin 0 -> 1660 bytes + test/reference/smask-text.traps.argb32.ref.png | Bin 0 -> 1661 bytes + test/reference/smask-text.traps.rgb24.ref.png | Bin 0 -> 1661 bytes + test/reference/smask.mask.argb32.ref.png | Bin 0 -> 3413 bytes + test/reference/smask.mask.rgb24.ref.png | Bin 0 -> 3413 bytes + test/reference/smask.traps.argb32.ref.png | Bin 0 -> 3393 bytes + test/reference/smask.traps.rgb24.ref.png | Bin 0 -> 3393 bytes + .../solid-pattern-cache-stress.mask.argb32.ref.png | Bin 0 -> 87 bytes + .../solid-pattern-cache-stress.mask.rgb24.ref.png | Bin 0 -> 87 bytes + test/reference/source-clip-scale.mask.argb32.ref.png | Bin 0 -> 136 bytes + test/reference/source-clip-scale.mask.rgb24.ref.png | Bin 0 -> 136 bytes + test/reference/source-clip.mask.argb32.ref.png | Bin 0 -> 111 bytes + test/reference/source-clip.mask.rgb24.ref.png | Bin 0 -> 111 bytes + .../source-surface-scale-paint.mask.argb32.ref.png | Bin 0 -> 120 bytes + .../source-surface-scale-paint.mask.rgb24.ref.png | Bin 0 -> 114 bytes + .../reference/spline-decomposition.mask.argb32.ref.png | Bin 0 -> 19520 bytes + test/reference/spline-decomposition.mask.rgb24.ref.png | Bin 0 -> 19520 bytes + test/reference/stride-12-image.base.argb32.ref.png | Bin 0 -> 81121 bytes + test/reference/stride-12-image.base.rgb24.ref.png | Bin 0 -> 81121 bytes + test/reference/stride-12-image.mask.argb32.ref.png | Bin 0 -> 81121 bytes + test/reference/stride-12-image.mask.rgb24.ref.png | Bin 0 -> 81121 bytes + test/reference/stride-12-image.traps.argb32.ref.png | Bin 0 -> 81121 bytes + test/reference/stride-12-image.traps.rgb24.ref.png | Bin 0 -> 81121 bytes + test/reference/stroke-ctm-caps.mask.argb32.ref.png | Bin 0 -> 942 bytes + test/reference/stroke-ctm-caps.mask.rgb24.ref.png | Bin 0 -> 942 bytes + test/reference/stroke-image.mask.argb32.ref.png | Bin 0 -> 1424 bytes + test/reference/stroke-image.mask.rgb24.ref.png | Bin 0 -> 1424 bytes + test/reference/stroke-open-box.mask.argb32.ref.png | Bin 0 -> 148 bytes + test/reference/stroke-open-box.mask.rgb24.ref.png | Bin 0 -> 148 bytes + test/reference/stroke-pattern.base.argb32.ref.png | Bin 0 -> 1487 bytes + test/reference/stroke-pattern.base.rgb24.ref.png | Bin 0 -> 1487 bytes + test/reference/stroke-pattern.mask.argb32.ref.png | Bin 0 -> 1491 bytes + test/reference/stroke-pattern.mask.rgb24.ref.png | Bin 0 -> 1491 bytes + test/reference/stroke-pattern.traps.argb32.ref.png | Bin 0 -> 1487 bytes + test/reference/stroke-pattern.traps.rgb24.ref.png | Bin 0 -> 1487 bytes + .../subsurface-image-repeat.mask.argb32.ref.png | Bin 0 -> 915 bytes + .../subsurface-image-repeat.mask.rgb24.ref.png | Bin 0 -> 915 bytes + .../subsurface-modify-child.mask.argb32.ref.png | Bin 0 -> 197 bytes + .../subsurface-modify-child.mask.rgb24.ref.png | Bin 0 -> 197 bytes + .../subsurface-modify-parent.mask.argb32.ref.png | Bin 0 -> 197 bytes + .../subsurface-modify-parent.mask.rgb24.ref.png | Bin 0 -> 197 bytes + .../subsurface-outside-target.mask.argb32.ref.png | Bin 0 -> 2063 bytes + .../subsurface-outside-target.mask.rgb24.ref.png | Bin 0 -> 1648 bytes + .../subsurface-outside-target.traps.argb32.ref.png | Bin 0 -> 2063 bytes + .../subsurface-outside-target.traps.rgb24.ref.png | Bin 0 -> 1648 bytes + test/reference/subsurface-pad.mask.argb32.ref.png | Bin 0 -> 181 bytes + test/reference/subsurface-pad.mask.rgb24.ref.png | Bin 0 -> 181 bytes + test/reference/subsurface-reflect.mask.argb32.ref.png | Bin 0 -> 210 bytes + test/reference/subsurface-reflect.mask.rgb24.ref.png | Bin 0 -> 210 bytes + test/reference/subsurface-repeat.mask.argb32.ref.png | Bin 0 -> 197 bytes + test/reference/subsurface-repeat.mask.rgb24.ref.png | Bin 0 -> 197 bytes + test/reference/subsurface-scale.base.argb32.ref.png | Bin 0 -> 5921 bytes + test/reference/subsurface-scale.base.rgb24.ref.png | Bin 0 -> 5921 bytes + test/reference/subsurface-scale.mask.argb32.ref.png | Bin 0 -> 5921 bytes + test/reference/subsurface-scale.mask.rgb24.ref.png | Bin 0 -> 5921 bytes + test/reference/subsurface-scale.traps.argb32.ref.png | Bin 0 -> 5921 bytes + test/reference/subsurface-scale.traps.rgb24.ref.png | Bin 0 -> 5921 bytes + .../subsurface-similar-repeat.mask.argb32.ref.png | Bin 0 -> 197 bytes + .../subsurface-similar-repeat.mask.rgb24.ref.png | Bin 0 -> 197 bytes + test/reference/subsurface.mask.argb32.ref.png | Bin 0 -> 1811 bytes + test/reference/subsurface.mask.rgb24.ref.png | Bin 0 -> 1811 bytes + .../surface-pattern-big-scale-down.mask.argb32.ref.png | Bin 0 -> 191 bytes + .../surface-pattern-big-scale-down.mask.rgb24.ref.png | Bin 0 -> 191 bytes + .../surface-pattern-operator.mask.argb32.ref.png | Bin 0 -> 5217 bytes + .../surface-pattern-operator.mask.rgb24.ref.png | Bin 0 -> 1942 bytes + ...-pattern-scale-down-extend-none.mask.argb32.ref.png | Bin 0 -> 329 bytes + ...e-pattern-scale-down-extend-none.mask.rgb24.ref.png | Bin 0 -> 329 bytes + ...e-pattern-scale-down-extend-pad.mask.argb32.ref.png | Bin 0 -> 320 bytes + ...ce-pattern-scale-down-extend-pad.mask.rgb24.ref.png | Bin 0 -> 320 bytes + ...ttern-scale-down-extend-reflect.mask.argb32.ref.png | Bin 0 -> 328 bytes + ...attern-scale-down-extend-reflect.mask.rgb24.ref.png | Bin 0 -> 328 bytes + ...attern-scale-down-extend-repeat.mask.argb32.ref.png | Bin 0 -> 330 bytes + ...pattern-scale-down-extend-repeat.mask.rgb24.ref.png | Bin 0 -> 330 bytes + .../surface-pattern-scale-down.mask.argb32.ref.png | Bin 0 -> 1326 bytes + .../surface-pattern-scale-down.mask.rgb24.ref.png | Bin 0 -> 1326 bytes + .../surface-pattern-scale-up.mask.argb32.ref.png | Bin 0 -> 4020 bytes + .../surface-pattern-scale-up.mask.rgb24.ref.png | Bin 0 -> 4020 bytes + test/reference/surface-pattern.mask.argb32.ref.png | Bin 0 -> 11088 bytes + test/reference/surface-pattern.mask.rgb24.ref.png | Bin 0 -> 11088 bytes + test/reference/svg-surface-source.mask.argb32.ref.png | Bin 0 -> 377 bytes + test/reference/svg-surface-source.mask.rgb24.ref.png | Bin 0 -> 301 bytes + test/reference/text-antialias-gray.mask.argb32.ref.png | Bin 0 -> 966 bytes + test/reference/text-antialias-gray.mask.rgb24.ref.png | Bin 0 -> 966 bytes + .../reference/text-antialias-gray.traps.argb32.ref.png | Bin 0 -> 966 bytes + test/reference/text-antialias-gray.traps.rgb24.ref.png | Bin 0 -> 966 bytes + test/reference/text-antialias-none.mask.argb32.ref.png | Bin 0 -> 265 bytes + test/reference/text-antialias-none.mask.rgb24.ref.png | Bin 0 -> 265 bytes + .../reference/text-antialias-none.traps.argb32.ref.png | Bin 0 -> 265 bytes + test/reference/text-antialias-none.traps.rgb24.ref.png | Bin 0 -> 265 bytes + .../text-antialias-subpixel-bgr.base.argb32.ref.png | Bin 0 -> 917 bytes + .../text-antialias-subpixel-bgr.base.rgb24.ref.png | Bin 0 -> 917 bytes + .../text-antialias-subpixel-bgr.mask.argb32.ref.png | Bin 0 -> 917 bytes + .../text-antialias-subpixel-bgr.mask.rgb24.ref.png | Bin 0 -> 917 bytes + .../text-antialias-subpixel-bgr.traps.argb32.ref.png | Bin 0 -> 1005 bytes + .../text-antialias-subpixel-bgr.traps.rgb24.ref.png | Bin 0 -> 1005 bytes + .../text-antialias-subpixel-rgb.base.argb32.ref.png | Bin 0 -> 917 bytes + .../text-antialias-subpixel-rgb.base.rgb24.ref.png | Bin 0 -> 917 bytes + .../text-antialias-subpixel-rgb.mask.argb32.ref.png | Bin 0 -> 917 bytes + .../text-antialias-subpixel-rgb.mask.rgb24.ref.png | Bin 0 -> 917 bytes + .../text-antialias-subpixel-rgb.traps.argb32.ref.png | Bin 0 -> 1013 bytes + .../text-antialias-subpixel-rgb.traps.rgb24.ref.png | Bin 0 -> 1013 bytes + .../text-antialias-subpixel-vbgr.base.argb32.ref.png | Bin 0 -> 932 bytes + .../text-antialias-subpixel-vbgr.base.rgb24.ref.png | Bin 0 -> 932 bytes + .../text-antialias-subpixel-vbgr.mask.argb32.ref.png | Bin 0 -> 932 bytes + .../text-antialias-subpixel-vbgr.mask.rgb24.ref.png | Bin 0 -> 932 bytes + .../text-antialias-subpixel-vbgr.traps.argb32.ref.png | Bin 0 -> 985 bytes + .../text-antialias-subpixel-vbgr.traps.rgb24.ref.png | Bin 0 -> 985 bytes + .../text-antialias-subpixel-vrgb.base.argb32.ref.png | Bin 0 -> 932 bytes + .../text-antialias-subpixel-vrgb.base.rgb24.ref.png | Bin 0 -> 932 bytes + .../text-antialias-subpixel-vrgb.mask.argb32.ref.png | Bin 0 -> 932 bytes + .../text-antialias-subpixel-vrgb.mask.rgb24.ref.png | Bin 0 -> 932 bytes + .../text-antialias-subpixel-vrgb.traps.argb32.ref.png | Bin 0 -> 1009 bytes + .../text-antialias-subpixel-vrgb.traps.rgb24.ref.png | Bin 0 -> 1009 bytes + .../text-antialias-subpixel.base.argb32.ref.png | Bin 0 -> 917 bytes + .../text-antialias-subpixel.base.rgb24.ref.png | Bin 0 -> 917 bytes + .../text-antialias-subpixel.mask.argb32.ref.png | Bin 0 -> 917 bytes + .../text-antialias-subpixel.mask.rgb24.ref.png | Bin 0 -> 917 bytes + .../text-antialias-subpixel.traps.argb32.ref.png | Bin 0 -> 1013 bytes + .../text-antialias-subpixel.traps.rgb24.ref.png | Bin 0 -> 1013 bytes + test/reference/text-glyph-range.mask.argb32.ref.png | Bin 0 -> 1928 bytes + test/reference/text-glyph-range.mask.rgb24.ref.png | Bin 0 -> 1928 bytes + test/reference/text-glyph-range.traps.argb32.ref.png | Bin 0 -> 1979 bytes + test/reference/text-glyph-range.traps.rgb24.ref.png | Bin 0 -> 1979 bytes + test/reference/text-pattern.mask.argb32.ref.png | Bin 0 -> 3455 bytes + test/reference/text-pattern.mask.rgb24.ref.png | Bin 0 -> 2684 bytes + test/reference/text-rotate.mask.argb32.ref.png | Bin 0 -> 16655 bytes + test/reference/text-rotate.mask.rgb24.ref.png | Bin 0 -> 16655 bytes + test/reference/text-rotate.traps.argb32.ref.png | Bin 0 -> 16597 bytes + test/reference/text-rotate.traps.rgb24.ref.png | Bin 0 -> 16597 bytes + test/reference/text-transform.mask.argb32.ref.png | Bin 0 -> 5579 bytes + test/reference/text-transform.mask.rgb24.ref.png | Bin 0 -> 5579 bytes + test/reference/tiger.mask.argb32.ref.png | Bin 0 -> 93916 bytes + test/reference/tiger.mask.rgb24.ref.png | Bin 0 -> 93916 bytes + test/reference/transforms.mask.argb32.ref.png | Bin 0 -> 348 bytes + test/reference/transforms.mask.rgb24.ref.png | Bin 0 -> 348 bytes + .../translate-show-surface.mask.argb32.ref.png | Bin 0 -> 96 bytes + .../translate-show-surface.mask.rgb24.ref.png | Bin 0 -> 96 bytes + test/reference/trap-clip.mask.argb32.ref.png | Bin 0 -> 6162 bytes + test/reference/trap-clip.mask.rgb24.ref.png | Bin 0 -> 5606 bytes + test/reference/twin-antialias-gray.mask.argb32.ref.png | Bin 0 -> 3990 bytes + test/reference/twin-antialias-gray.mask.rgb24.ref.png | Bin 0 -> 3990 bytes + .../reference/twin-antialias-mixed.mask.argb32.ref.png | Bin 0 -> 2230 bytes + test/reference/twin-antialias-mixed.mask.rgb24.ref.png | Bin 0 -> 2230 bytes + test/reference/twin-antialias-none.mask.argb32.ref.png | Bin 0 -> 690 bytes + test/reference/twin-antialias-none.mask.rgb24.ref.png | Bin 0 -> 690 bytes + .../twin-antialias-subpixel.mask.argb32.ref.png | Bin 0 -> 3990 bytes + .../twin-antialias-subpixel.mask.rgb24.ref.png | Bin 0 -> 3990 bytes + test/reference/twin.mask.argb32.ref.png | Bin 0 -> 3990 bytes + test/reference/twin.mask.rgb24.ref.png | Bin 0 -> 3990 bytes + test/reference/unaligned-box.mask.argb32.ref.png | Bin 0 -> 496 bytes + test/reference/unaligned-box.mask.rgb24.ref.png | Bin 0 -> 496 bytes + .../reference/unantialiased-shapes.mask.argb32.ref.png | Bin 0 -> 3926 bytes + test/reference/unantialiased-shapes.mask.rgb24.ref.png | Bin 0 -> 3926 bytes + test/reference/unbounded-operator.mask.argb32.ref.png | Bin 0 -> 2666 bytes + test/reference/unbounded-operator.mask.rgb24.ref.png | Bin 0 -> 1300 bytes + test/reference/unclosed-strokes.mask.argb32.ref.png | Bin 0 -> 1901 bytes + test/reference/unclosed-strokes.mask.rgb24.ref.png | Bin 0 -> 1901 bytes + test/reference/user-font-mask.mask.argb32.ref.png | Bin 0 -> 5476 bytes + test/reference/user-font-mask.mask.rgb24.ref.png | Bin 0 -> 5476 bytes + test/reference/user-font-proxy.mask.argb32.ref.png | Bin 0 -> 16941 bytes + test/reference/user-font-proxy.mask.rgb24.ref.png | Bin 0 -> 16941 bytes + test/reference/user-font-proxy.traps.argb32.ref.png | Bin 0 -> 16854 bytes + test/reference/user-font-proxy.traps.rgb24.ref.png | Bin 0 -> 16854 bytes + test/reference/user-font-rescale.mask.argb32.ref.png | Bin 0 -> 14883 bytes + test/reference/user-font-rescale.mask.rgb24.ref.png | Bin 0 -> 14883 bytes + test/reference/user-font-rescale.traps.argb32.ref.png | Bin 0 -> 14883 bytes + test/reference/user-font-rescale.traps.rgb24.ref.png | Bin 0 -> 14883 bytes + test/reference/user-font.mask.argb32.ref.png | Bin 0 -> 6478 bytes + test/reference/user-font.mask.rgb24.ref.png | Bin 0 -> 6478 bytes + test/reference/white-in-noop.mask.argb32.ref.png | Bin 0 -> 95 bytes + test/reference/white-in-noop.mask.rgb24.ref.png | Bin 0 -> 95 bytes + test/reference/world-map-fill.mask.argb32.ref.png | Bin 0 -> 57308 bytes + test/reference/world-map-fill.mask.rgb24.ref.png | Bin 0 -> 57308 bytes + test/reference/world-map-stroke.mask.argb32.ref.png | Bin 0 -> 65149 bytes + test/reference/world-map-stroke.mask.rgb24.ref.png | Bin 0 -> 65149 bytes + test/reference/world-map.mask.argb32.ref.png | Bin 0 -> 70474 bytes + test/reference/world-map.mask.rgb24.ref.png | Bin 0 -> 70474 bytes + test/reference/xcb-huge-image-shm.mask.argb32.ref.png | Bin 0 -> 97 bytes + test/reference/xcb-huge-image-shm.mask.rgb24.ref.png | Bin 0 -> 97 bytes + test/reference/xcb-snapshot-assert.mask.argb32.ref.png | Bin 0 -> 97 bytes + test/reference/xcb-snapshot-assert.mask.rgb24.ref.png | Bin 0 -> 97 bytes + test/reference/xcb-stress-cache.mask.argb32.ref.png | Bin 0 -> 97 bytes + test/reference/xcb-stress-cache.mask.rgb24.ref.png | Bin 0 -> 97 bytes + test/reference/xcb-surface-source.mask.argb32.ref.png | Bin 0 -> 377 bytes + test/reference/xcb-surface-source.mask.rgb24.ref.png | Bin 0 -> 301 bytes + .../xcomposite-projection.mask.argb32.ref.png | Bin 0 -> 1109 bytes + .../reference/xcomposite-projection.mask.rgb24.ref.png | Bin 0 -> 1109 bytes + test/reference/xlib-expose-event.mask.argb32.ref.png | Bin 0 -> 40717 bytes + test/reference/xlib-expose-event.mask.rgb24.ref.png | Bin 0 -> 40717 bytes + test/reference/xlib-surface-source.mask.argb32.ref.png | Bin 0 -> 377 bytes + test/reference/xlib-surface-source.mask.rgb24.ref.png | Bin 0 -> 301 bytes + test/reference/zero-alpha.mask.argb32.ref.png | Bin 0 -> 91 bytes + test/reference/zero-alpha.mask.rgb24.ref.png | Bin 0 -> 91 bytes + test/reference/zero-mask.mask.argb32.ref.png | Bin 0 -> 402 bytes + test/reference/zero-mask.mask.rgb24.ref.png | Bin 0 -> 382 bytes + 948 files changed, 0 insertions(+), 0 deletions(-) + +commit 3d499ea901b3a76cd765ddce9f4e7d3acebd1bd3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 22 10:41:37 2012 +0000 + + xlib: Replace obsolete disable-xrender with shiny new device debug interface + + As prototyped with xcb. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + boilerplate/cairo-boilerplate-xlib.c | 54 +++++----------------------------- + src/cairo-xlib-display.c | 57 +++++++++++++++++++++++++++++++----- + src/cairo-xlib.h | 5 ++++ + test/get-xrender-format.c | 10 ------- + test/xlib-surface.c | 23 ++------------- + 5 files changed, 66 insertions(+), 83 deletions(-) + +commit 73df8eb8db521585f1ac6abb053843b5717cd27e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 22 10:19:18 2012 +0000 + + test/xlib: Remove stale reference images + + We know have a swrast reference compositor for xlib (test-traps) and so + should not need these old xlib specific reference images. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/reference/a1-image-sample.xlib.argb32.ref.png | Bin 122 -> 0 bytes + test/reference/a1-image-sample.xlib.rgb24.ref.png | Bin 122 -> 0 bytes + test/reference/arc-direction.xlib.ref.png | Bin 5864 -> 0 bytes + .../clip-rotate-image-surface-paint.xlib.argb32.ref.png | Bin 202 -> 0 bytes + .../clip-rotate-image-surface-paint.xlib.rgb24.ref.png | Bin 202 -> 0 bytes + .../image-bug-710072-aligned.xlib.argb32.ref.png | Bin 151 -> 0 bytes + .../image-bug-710072-aligned.xlib.rgb24.ref.png | Bin 151 -> 0 bytes + .../image-bug-710072-unaligned.xlib.argb32.ref.png | Bin 219 -> 0 bytes + .../image-bug-710072-unaligned.xlib.rgb24.ref.png | Bin 219 -> 0 bytes + test/reference/image-surface-source.xlib.argb32.ref.png | Bin 377 -> 0 bytes + test/reference/image-surface-source.xlib.rgb24.ref.png | Bin 301 -> 0 bytes + test/reference/map-to-image-fill.xlib.argb32.ref.png | Bin 103 -> 0 bytes + test/reference/map-to-image-fill.xlib.rgb24.ref.png | Bin 103 -> 0 bytes + .../rotate-clip-image-surface-paint.xlib.argb32.ref.png | Bin 303 -> 0 bytes + .../rotate-clip-image-surface-paint.xlib.rgb24.ref.png | Bin 303 -> 0 bytes + .../rotate-image-surface-paint.xlib.argb32.ref.png | Bin 220 -> 0 bytes + .../rotate-image-surface-paint.xlib.rgb24.ref.png | Bin 220 -> 0 bytes + test/reference/smask-image-mask.xlib.argb32.ref.png | Bin 619 -> 0 bytes + test/reference/smask-image-mask.xlib.rgb24.ref.png | Bin 619 -> 0 bytes + .../subsurface-image-repeat.xlib.argb32.ref.png | Bin 915 -> 0 bytes + .../reference/subsurface-image-repeat.xlib.rgb24.ref.png | Bin 915 -> 0 bytes + test/reference/xcb-huge-image-shm.xlib.argb32.ref.png | Bin 97 -> 0 bytes + test/reference/xcb-huge-image-shm.xlib.rgb24.ref.png | Bin 97 -> 0 bytes + 23 files changed, 0 insertions(+), 0 deletions(-) + +commit b2132eed79c60b3a70b88e5b5bbac7c541355735 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 22 10:18:56 2012 +0000 + + boilerplate/xlib: The xlib-fallback should be visually identical to image + + boilerplate/cairo-boilerplate-xlib.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit cd4fd8a8028f3233dbfbfde283bca894700c833d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 22 10:11:16 2012 +0000 + + test: Update traps for changes in reference font + + test/reference/clear-source.traps.argb32.ref.png | Bin 779 -> 882 bytes + test/reference/clear-source.traps.rgb24.ref.png | Bin 779 -> 882 bytes + test/reference/culled-glyphs.traps.argb32.ref.png | Bin 435 -> 440 bytes + test/reference/culled-glyphs.traps.rgb24.ref.png | Bin 435 -> 440 bytes + test/reference/fill-image.traps.argb32.ref.png | Bin 1455 -> 1458 bytes + test/reference/fill-image.traps.rgb24.ref.png | Bin 1455 -> 1458 bytes + ...large-twin-antialias-mixed.traps.argb32.ref.png | Bin 10740 -> 16660 bytes + .../large-twin-antialias-mixed.traps.rgb24.ref.png | Bin 10740 -> 16660 bytes + .../overlapping-glyphs.traps.argb32.ref.png | Bin 2684 -> 2715 bytes + .../overlapping-glyphs.traps.rgb24.ref.png | Bin 1647 -> 1661 bytes + .../partial-clip-text-bottom.traps.argb32.ref.png | Bin 259 -> 261 bytes + .../partial-clip-text-bottom.traps.rgb24.ref.png | Bin 259 -> 261 bytes + .../partial-clip-text-left.traps.argb32.ref.png | Bin 293 -> 301 bytes + .../partial-clip-text-left.traps.rgb24.ref.png | Bin 293 -> 301 bytes + test/reference/random-clip.traps.argb32.ref.png | Bin 523342 -> 523346 bytes + test/reference/random-clip.traps.rgb24.ref.png | Bin 523342 -> 523346 bytes + test/reference/stroke-image.traps.argb32.ref.png | Bin 1458 -> 1467 bytes + test/reference/stroke-image.traps.rgb24.ref.png | Bin 1458 -> 1467 bytes + test/reference/subsurface.traps.argb32.ref.png | Bin 1281 -> 1811 bytes + test/reference/subsurface.traps.rgb24.ref.png | Bin 1281 -> 1811 bytes + .../twin-antialias-gray.traps.argb32.ref.png | Bin 4053 -> 4392 bytes + .../twin-antialias-gray.traps.rgb24.ref.png | Bin 4053 -> 4392 bytes + .../twin-antialias-mixed.traps.argb32.ref.png | Bin 1639 -> 2230 bytes + .../twin-antialias-mixed.traps.rgb24.ref.png | Bin 1639 -> 2230 bytes + .../twin-antialias-none.traps.argb32.ref.png | Bin 747 -> 738 bytes + .../twin-antialias-none.traps.rgb24.ref.png | Bin 747 -> 738 bytes + .../twin-antialias-subpixel.traps.argb32.ref.png | Bin 4053 -> 4392 bytes + .../twin-antialias-subpixel.traps.rgb24.ref.png | Bin 4053 -> 4392 bytes + test/reference/twin.traps.argb32.ref.png | Bin 4053 -> 4392 bytes + test/reference/twin.traps.rgb24.ref.png | Bin 4053 -> 4392 bytes + test/reference/user-font.traps.argb32.ref.png | Bin 5439 -> 6080 bytes + test/reference/user-font.traps.rgb24.ref.png | Bin 5439 -> 6080 bytes + 32 files changed, 0 insertions(+), 0 deletions(-) + +commit c9f18bb034c31b37692b80db47b663f14f441f6a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 22 10:09:05 2012 +0000 + + test: Update base reference images for new reference font + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/reference/clear-source.base.argb32.ref.png | Bin 779 -> 882 bytes + test/reference/clear-source.base.rgb24.ref.png | Bin 779 -> 882 bytes + test/reference/clip-operator.base.argb32.ref.png | Bin 8171 -> 8179 bytes + test/reference/clip-operator.base.rgb24.ref.png | Bin 3231 -> 3243 bytes + test/reference/clip-text.base.argb32.ref.png | Bin 899 -> 899 bytes + test/reference/clip-text.base.rgb24.ref.png | Bin 899 -> 899 bytes + test/reference/culled-glyphs.base.argb32.ref.png | Bin 435 -> 440 bytes + test/reference/culled-glyphs.base.rgb24.ref.png | Bin 435 -> 440 bytes + test/reference/fill-image.base.argb32.ref.png | Bin 1455 -> 1458 bytes + test/reference/fill-image.base.rgb24.ref.png | Bin 1455 -> 1458 bytes + .../font-matrix-translation.base.argb32.ref.png | Bin 874 -> 865 bytes + .../font-matrix-translation.base.rgb24.ref.png | Bin 874 -> 865 bytes + .../ft-show-glyphs-positioning.base.argb32.ref.png | Bin 3297 -> 3243 bytes + .../ft-show-glyphs-positioning.base.rgb24.ref.png | Bin 3297 -> 3243 bytes + .../ft-show-glyphs-table.base.argb32.ref.png | Bin 9893 -> 9975 bytes + .../ft-show-glyphs-table.base.rgb24.ref.png | Bin 9893 -> 9975 bytes + .../glyph-cache-pressure.base.argb32.ref.png | Bin 2863 -> 2858 bytes + .../glyph-cache-pressure.base.rgb24.ref.png | Bin 2863 -> 2858 bytes + test/reference/halo-transform.base.argb32.ref.png | Bin 15118 -> 15122 bytes + test/reference/halo-transform.base.rgb24.ref.png | Bin 15118 -> 15122 bytes + test/reference/halo.base.argb32.ref.png | Bin 8800 -> 8594 bytes + test/reference/halo.base.rgb24.ref.png | Bin 8800 -> 8594 bytes + .../large-twin-antialias-mixed.base.argb32.ref.png | Bin 10740 -> 16660 bytes + .../large-twin-antialias-mixed.base.rgb24.ref.png | Bin 10740 -> 16660 bytes + test/reference/operator-clear.base.argb32.ref.png | Bin 1070 -> 1071 bytes + test/reference/operator-clear.base.rgb24.ref.png | Bin 950 -> 950 bytes + test/reference/operator-source.base.argb32.ref.png | Bin 5630 -> 5625 bytes + test/reference/operator-source.base.rgb24.ref.png | Bin 3979 -> 3979 bytes + .../overlapping-glyphs.base.argb32.ref.png | Bin 2684 -> 2715 bytes + .../reference/overlapping-glyphs.base.rgb24.ref.png | Bin 1647 -> 1661 bytes + .../partial-clip-text-bottom.base.argb32.ref.png | Bin 259 -> 261 bytes + .../partial-clip-text-bottom.base.rgb24.ref.png | Bin 259 -> 261 bytes + .../partial-clip-text-left.base.argb32.ref.png | Bin 293 -> 301 bytes + .../partial-clip-text-left.base.rgb24.ref.png | Bin 293 -> 301 bytes + .../partial-clip-text-right.base.argb32.ref.png | Bin 155 -> 155 bytes + .../partial-clip-text-right.base.rgb24.ref.png | Bin 155 -> 155 bytes + .../partial-clip-text-top.base.argb32.ref.png | Bin 173 -> 181 bytes + .../partial-clip-text-top.base.rgb24.ref.png | Bin 173 -> 181 bytes + .../reference/pthread-show-text.base.argb32.ref.png | Bin 29759 -> 30199 bytes + test/reference/pthread-show-text.base.rgb24.ref.png | Bin 29759 -> 30199 bytes + test/reference/select-font-face.base.argb32.ref.png | Bin 2245 -> 2250 bytes + test/reference/select-font-face.base.rgb24.ref.png | Bin 2245 -> 2250 bytes + .../show-glyphs-advance.base.argb32.ref.png | Bin 1395 -> 1394 bytes + .../show-glyphs-advance.base.rgb24.ref.png | Bin 1395 -> 1394 bytes + .../show-text-current-point.base.argb32.ref.png | Bin 2185 -> 2151 bytes + .../show-text-current-point.base.rgb24.ref.png | Bin 2185 -> 2151 bytes + test/reference/smask-text.base.argb32.ref.png | Bin 1624 -> 1660 bytes + test/reference/smask-text.base.rgb24.ref.png | Bin 1624 -> 1660 bytes + test/reference/smask.base.argb32.ref.png | Bin 3404 -> 3393 bytes + test/reference/smask.base.rgb24.ref.png | Bin 3404 -> 3393 bytes + test/reference/stroke-image.base.argb32.ref.png | Bin 1458 -> 1467 bytes + test/reference/stroke-image.base.rgb24.ref.png | Bin 1458 -> 1467 bytes + .../subsurface-outside-target.base.argb32.ref.png | Bin 1149 -> 2063 bytes + .../subsurface-outside-target.base.rgb24.ref.png | Bin 1005 -> 1648 bytes + test/reference/subsurface.base.argb32.ref.png | Bin 1281 -> 1811 bytes + test/reference/subsurface.base.rgb24.ref.png | Bin 1281 -> 1811 bytes + .../text-antialias-gray.base.argb32.ref.png | Bin 975 -> 966 bytes + .../text-antialias-gray.base.rgb24.ref.png | Bin 975 -> 966 bytes + test/reference/text-glyph-range.base.argb32.ref.png | Bin 1991 -> 1979 bytes + test/reference/text-glyph-range.base.rgb24.ref.png | Bin 1991 -> 1979 bytes + test/reference/text-pattern.base.argb32.ref.png | Bin 1695 -> 3497 bytes + test/reference/text-pattern.base.rgb24.ref.png | Bin 1397 -> 2707 bytes + test/reference/text-rotate.base.argb32.ref.png | Bin 16599 -> 16597 bytes + test/reference/text-rotate.base.rgb24.ref.png | Bin 16599 -> 16597 bytes + .../twin-antialias-gray.base.argb32.ref.png | Bin 4053 -> 4392 bytes + .../twin-antialias-gray.base.rgb24.ref.png | Bin 4053 -> 4392 bytes + .../twin-antialias-mixed.base.argb32.ref.png | Bin 1639 -> 2230 bytes + .../twin-antialias-mixed.base.rgb24.ref.png | Bin 1639 -> 2230 bytes + .../twin-antialias-none.base.argb32.ref.png | Bin 747 -> 738 bytes + .../twin-antialias-none.base.rgb24.ref.png | Bin 747 -> 738 bytes + .../twin-antialias-subpixel.base.argb32.ref.png | Bin 4053 -> 4392 bytes + .../twin-antialias-subpixel.base.rgb24.ref.png | Bin 4053 -> 4392 bytes + test/reference/twin.base.argb32.ref.png | Bin 4053 -> 4392 bytes + test/reference/twin.base.rgb24.ref.png | Bin 4053 -> 4392 bytes + .../unbounded-operator.base.argb32.ref.png | Bin 2756 -> 2764 bytes + .../reference/unbounded-operator.base.rgb24.ref.png | Bin 1289 -> 1302 bytes + test/reference/user-font-proxy.base.argb32.ref.png | Bin 16798 -> 16854 bytes + test/reference/user-font-proxy.base.rgb24.ref.png | Bin 16798 -> 16854 bytes + .../reference/user-font-rescale.base.argb32.ref.png | Bin 14852 -> 14883 bytes + test/reference/user-font-rescale.base.rgb24.ref.png | Bin 14852 -> 14883 bytes + test/reference/user-font.base.argb32.ref.png | Bin 5439 -> 6080 bytes + test/reference/user-font.base.rgb24.ref.png | Bin 5439 -> 6080 bytes + 82 files changed, 0 insertions(+), 0 deletions(-) + +commit da8841cc5ea0b45daba6b91227a2b7058a0120b7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 22 09:30:32 2012 +0000 + + test/README: Update sha1sums for fonts used + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/README | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 2d74eaf92f086a1e6119241b7dd34f44bf795967 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Feb 20 21:02:55 2012 +0000 + + image: Add the get-font-options callback again. + + In the midst of trying to simply export the + _cairo_image_surface_get_font_options() for subclassing, I accidentally + decoupled it from the image surface backend. Mea culpa. + + Fixes regression from 8bea52bb (Add preliminary damage tracking), which + should not have even touched the backend structure except for an ugly + rebasing. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 58f79a85b0d37ab9ccf9e6d706c202a6078e9140 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Feb 19 18:25:06 2012 +0100 + + perf: Don't use a boolean value as integer + + Although in this case the boolean values are guaranteed to be 1/0, + using them as true/false (in an if condition) seems much saner than + using them to limit the number of iterations on a for loop. + + Fixes: + + cairo-perf-micro.c:221:5: warning: cannot optimize possibly infinite + loops [-Wunsafe-loop-optimizations] + + perf/cairo-perf-micro.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +commit 86a7533d0a2bd5d3c9ce0c18074d11ed633162df +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Feb 19 18:21:35 2012 +0100 + + stroke-style: Silence gcc warning + + and make it more obvious that we're not doing OOB accesses. + + They were not possible because of the parity constraint, but by + guarding the highest index with which we access the data in the loop, + the correctness information is completely contained in the loop code. + + Fixes: + + cairo-stroke-style.c:199:2: warning: cannot optimize loop, the loop + counter may overflow [-Wunsafe-loop-optimizations] + + src/cairo-stroke-style.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d3b6e151a26de7cdf5b00cf3942e25185f4b6892 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Feb 19 17:20:49 2012 +0100 + + path-fixed: Silence gcc warnings + + _cairo_path_fixed_last_op() contains an assertion, which gcc doesn't + like to inline. Since it is a static function, which basically + accesses a value, gcc will inline it anyway when assertions are + disabled, so remove the "inline" hint to reduce gcc warning noise when + doing debug builds. + + Fixes: + + cairo-path-fixed.c: In function '_cairo_path_fixed_drop_line_to': + cairo-path-fixed.c:373:1: warning: inlining failed in call to + '_cairo_path_fixed_last_op.isra.5.part.6': call is unlikely and code + size would grow [-Winline] + cairo-path-fixed.c:400:1: warning: called from here [-Winline] + ... + + src/cairo-path-fixed.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f4908b3848aac2b66a7acafc60eeab0066bc1b1d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Feb 20 11:24:17 2012 +0000 + + test: Refresh reference images for antialiasing fix + + Having discovered that I had recreated the references images with a + buggy rasteriser, we now need to recreate them with the correct reference + settings. + + test/reference/a1-bug.argb32.ref.png | Bin 0 -> 3735 bytes + test/reference/a1-bug.rgb24.ref.png | Bin 0 -> 3735 bytes + test/reference/a1-clip-fill-equal.argb32.ref.png | Bin 0 -> 120 bytes + test/reference/a1-clip-fill-equal.rgb24.ref.png | Bin 0 -> 120 bytes + test/reference/a1-clip-fill.argb32.ref.png | Bin 0 -> 120 bytes + test/reference/a1-clip-fill.rgb24.ref.png | Bin 0 -> 120 bytes + test/reference/a1-clip-paint.argb32.ref.png | Bin 0 -> 120 bytes + test/reference/a1-clip-paint.rgb24.ref.png | Bin 0 -> 120 bytes + test/reference/a1-clip-stroke.argb32.ref.png | Bin 0 -> 120 bytes + test/reference/a1-clip-stroke.rgb24.ref.png | Bin 0 -> 120 bytes + test/reference/a1-fill.argb32.ref.png | Bin 0 -> 328 bytes + test/reference/a1-fill.rgb24.ref.png | Bin 0 -> 328 bytes + test/reference/a1-image-sample.argb32.ref.png | Bin 0 -> 122 bytes + test/reference/a1-image-sample.rgb24.ref.png | Bin 0 -> 122 bytes + .../a1-image-sample.xlib-fallback.rgb24.ref.png | Bin 0 -> 122 bytes + .../a1-image-sample.xlib-window.rgb24.ref.png | Bin 0 -> 122 bytes + test/reference/a1-image-sample.xlib.argb32.ref.png | Bin 0 -> 122 bytes + test/reference/a1-image-sample.xlib.rgb24.ref.png | Bin 0 -> 122 bytes + test/reference/a1-line-width.argb32.ref.png | Bin 0 -> 154 bytes + test/reference/a1-line-width.rgb24.ref.png | Bin 0 -> 154 bytes + test/reference/a1-mask-sample.argb32.ref.png | Bin 0 -> 122 bytes + test/reference/a1-mask-sample.rgb24.ref.png | Bin 0 -> 122 bytes + test/reference/a1-mask.argb32.ref.png | Bin 0 -> 106 bytes + test/reference/a1-mask.rgb24.ref.png | Bin 0 -> 106 bytes + .../a1-rasterisation-rectangles.argb32.ref.png | Bin 0 -> 1729 bytes + .../a1-rasterisation-rectangles.rgb24.ref.png | Bin 0 -> 1729 bytes + .../a1-rasterisation-triangles.argb32.ref.png | Bin 0 -> 1729 bytes + .../a1-rasterisation-triangles.rgb24.ref.png | Bin 0 -> 1729 bytes + test/reference/a1-rectilinear-grid.argb32.ref.png | Bin 0 -> 207 bytes + test/reference/a1-rectilinear-grid.rgb24.ref.png | Bin 0 -> 207 bytes + test/reference/a1-sample.argb32.ref.png | Bin 0 -> 786 bytes + test/reference/a1-sample.rgb24.ref.png | Bin 0 -> 786 bytes + test/reference/a1-tiger.argb32.ref.png | Bin 0 -> 20328 bytes + test/reference/a1-tiger.rgb24.ref.png | Bin 0 -> 20328 bytes + test/reference/a1-traps-sample.argb32.ref.png | Bin 0 -> 120 bytes + test/reference/a1-traps-sample.rgb24.ref.png | Bin 0 -> 120 bytes + test/reference/a8-clear.argb32.ref.png | Bin 0 -> 271 bytes + test/reference/a8-clear.rgb24.ref.png | Bin 0 -> 271 bytes + test/reference/a8-mask.argb32.ref.png | Bin 0 -> 103 bytes + test/reference/a8-mask.rgb24.ref.png | Bin 0 -> 103 bytes + test/reference/aliasing.argb32.ref.png | Bin 0 -> 104324 bytes + test/reference/aliasing.rgb24.ref.png | Bin 0 -> 104324 bytes + test/reference/alpha-similar.argb32.ref.png | Bin 0 -> 99 bytes + test/reference/alpha-similar.rgb24.ref.png | Bin 99 -> 88 bytes + test/reference/api-special-cases.argb32.ref.png | Bin 0 -> 95 bytes + test/reference/api-special-cases.rgb24.ref.png | Bin 0 -> 95 bytes + test/reference/arc-direction.argb32.ref.png | Bin 0 -> 6380 bytes + test/reference/arc-direction.rgb24.ref.png | Bin 0 -> 6380 bytes + test/reference/arc-infinite-loop.argb32.ref.png | Bin 0 -> 96 bytes + test/reference/arc-infinite-loop.rgb24.ref.png | Bin 0 -> 96 bytes + test/reference/arc-looping-dash.argb32.ref.png | Bin 0 -> 464 bytes + test/reference/arc-looping-dash.rgb24.ref.png | Bin 0 -> 464 bytes + test/reference/big-line.argb32.ref.png | Bin 0 -> 977 bytes + test/reference/big-line.rgb24.ref.png | Bin 0 -> 977 bytes + test/reference/big-little-triangle.argb32.ref.png | Bin 408 -> 409 bytes + test/reference/big-little-triangle.rgb24.ref.png | Bin 324 -> 328 bytes + test/reference/bilevel-image.argb32.ref.png | Bin 0 -> 105 bytes + test/reference/bilevel-image.rgb24.ref.png | Bin 0 -> 105 bytes + test/reference/bilevel-xlib-fallback.rgb24.ref.png | Bin 0 -> 105 bytes + test/reference/bilevel-xlib-window.rgb24.ref.png | Bin 0 -> 105 bytes + test/reference/bilevel-xlib.argb32.ref.png | Bin 0 -> 105 bytes + test/reference/bilevel-xlib.rgb24.ref.png | Bin 0 -> 105 bytes + test/reference/bitmap-font.argb32.ref.png | Bin 0 -> 931 bytes + test/reference/bitmap-font.rgb24.ref.png | Bin 890 -> 871 bytes + test/reference/bug-40410.argb32.ref.png | Bin 0 -> 429 bytes + test/reference/bug-40410.rgb24.ref.png | Bin 0 -> 429 bytes + test/reference/bug-bo-rectangular.argb32.ref.png | Bin 0 -> 950 bytes + test/reference/bug-bo-rectangular.rgb24.ref.png | Bin 0 -> 950 bytes + test/reference/bug-bo-ricotz.argb32.ref.png | Bin 0 -> 2128 bytes + test/reference/bug-bo-ricotz.rgb24.ref.png | Bin 0 -> 2128 bytes + test/reference/bug-extents.argb32.ref.png | Bin 0 -> 9251 bytes + test/reference/bug-extents.rgb24.ref.png | Bin 0 -> 9251 bytes + test/reference/bug-seams.argb32.ref.png | Bin 0 -> 1647 bytes + test/reference/bug-seams.rgb24.ref.png | Bin 0 -> 1647 bytes + test/reference/caps-joins-alpha.argb32.ref.png | Bin 0 -> 2662 bytes + test/reference/caps-joins-alpha.rgb24.ref.png | Bin 0 -> 2662 bytes + test/reference/caps-joins-curve.argb32.ref.png | Bin 0 -> 6217 bytes + test/reference/caps-joins-curve.rgb24.ref.png | Bin 0 -> 6217 bytes + test/reference/caps-joins.argb32.ref.png | Bin 0 -> 2893 bytes + test/reference/caps-joins.rgb24.ref.png | Bin 0 -> 2893 bytes + test/reference/caps-sub-paths.argb32.ref.png | Bin 0 -> 168 bytes + test/reference/caps-sub-paths.rgb24.ref.png | Bin 0 -> 168 bytes + test/reference/caps-tails-curve.argb32.ref.png | Bin 0 -> 53311 bytes + test/reference/caps-tails-curve.rgb24.ref.png | Bin 0 -> 53311 bytes + test/reference/caps.argb32.ref.png | Bin 0 -> 2115 bytes + test/reference/caps.rgb24.ref.png | Bin 0 -> 2115 bytes + test/reference/checkerboard.argb32.ref.png | Bin 0 -> 142 bytes + test/reference/checkerboard.rgb24.ref.png | Bin 0 -> 142 bytes + test/reference/clear-source.argb32.ref.png | Bin 0 -> 882 bytes + test/reference/clear-source.rgb24.ref.png | Bin 0 -> 882 bytes + test/reference/clear.argb32.ref.png | Bin 539 -> 692 bytes + test/reference/clear.rgb24.ref.png | Bin 484 -> 617 bytes + test/reference/clip-all.argb32.ref.png | Bin 0 -> 95 bytes + test/reference/clip-all.rgb24.ref.png | Bin 0 -> 95 bytes + .../reference/clip-complex-shape-eo-aa.argb32.ref.png | Bin 0 -> 325 bytes + test/reference/clip-complex-shape-eo-aa.rgb24.ref.png | Bin 0 -> 325 bytes + .../clip-complex-shape-eo-mono.argb32.ref.png | Bin 0 -> 325 bytes + .../clip-complex-shape-eo-mono.rgb24.ref.png | Bin 0 -> 325 bytes + test/reference/clip-contexts.argb32.ref.png | Bin 0 -> 98 bytes + test/reference/clip-contexts.rgb24.ref.png | Bin 0 -> 98 bytes + test/reference/clip-disjoint-hatching.argb32.ref.png | Bin 0 -> 9022 bytes + test/reference/clip-disjoint-hatching.rgb24.ref.png | Bin 0 -> 9022 bytes + test/reference/clip-disjoint.argb32.ref.png | Bin 0 -> 5399 bytes + test/reference/clip-disjoint.rgb24.ref.png | Bin 0 -> 5399 bytes + test/reference/clip-empty-group.argb32.ref.png | Bin 0 -> 103 bytes + test/reference/clip-empty-group.rgb24.ref.png | Bin 0 -> 103 bytes + test/reference/clip-empty-save.argb32.ref.png | Bin 0 -> 95 bytes + test/reference/clip-empty-save.rgb24.ref.png | Bin 0 -> 95 bytes + test/reference/clip-empty.argb32.ref.png | Bin 0 -> 95 bytes + test/reference/clip-empty.rgb24.ref.png | Bin 0 -> 95 bytes + test/reference/clip-fill-eo-unbounded.argb32.ref.png | Bin 3970 -> 4197 bytes + test/reference/clip-fill-eo-unbounded.rgb24.ref.png | Bin 3409 -> 3551 bytes + test/reference/clip-fill-no-op.argb32.ref.png | Bin 0 -> 152 bytes + test/reference/clip-fill-no-op.rgb24.ref.png | Bin 0 -> 152 bytes + test/reference/clip-fill-nz-unbounded.argb32.ref.png | Bin 3970 -> 4197 bytes + test/reference/clip-fill-nz-unbounded.rgb24.ref.png | Bin 3409 -> 3551 bytes + .../clip-fill-rule-pixel-aligned.argb32.ref.png | Bin 0 -> 176 bytes + .../clip-fill-rule-pixel-aligned.rgb24.ref.png | Bin 184 -> 165 bytes + test/reference/clip-fill-rule.argb32.ref.png | Bin 371 -> 437 bytes + test/reference/clip-fill-rule.rgb24.ref.png | Bin 338 -> 393 bytes + test/reference/clip-fill.argb32.ref.png | Bin 0 -> 1031 bytes + test/reference/clip-fill.rgb24.ref.png | Bin 0 -> 1031 bytes + ...lip-group-shapes-aligned-rectangles.argb32.ref.png | Bin 0 -> 378 bytes + ...clip-group-shapes-aligned-rectangles.rgb24.ref.png | Bin 0 -> 378 bytes + .../clip-group-shapes-circles.argb32.ref.png | Bin 0 -> 1525 bytes + .../reference/clip-group-shapes-circles.rgb24.ref.png | Bin 0 -> 1525 bytes + ...p-group-shapes-unaligned-rectangles.argb32.ref.png | Bin 0 -> 415 bytes + ...ip-group-shapes-unaligned-rectangles.rgb24.ref.png | Bin 0 -> 415 bytes + test/reference/clip-image.argb32.ref.png | Bin 0 -> 2677 bytes + test/reference/clip-image.rgb24.ref.png | Bin 0 -> 2677 bytes + test/reference/clip-intersect.argb32.ref.png | Bin 0 -> 200 bytes + test/reference/clip-intersect.rgb24.ref.png | Bin 0 -> 200 bytes + test/reference/clip-mixed-antialias.argb32.ref.png | Bin 0 -> 1084 bytes + test/reference/clip-mixed-antialias.rgb24.ref.png | Bin 0 -> 1084 bytes + test/reference/clip-nesting.argb32.ref.png | Bin 1080 -> 1044 bytes + test/reference/clip-nesting.rgb24.ref.png | Bin 954 -> 937 bytes + test/reference/clip-polygons.argb32.ref.png | Bin 0 -> 1352 bytes + test/reference/clip-polygons.rgb24.ref.png | Bin 0 -> 1352 bytes + test/reference/clip-push-group.argb32.ref.png | Bin 0 -> 164 bytes + test/reference/clip-push-group.rgb24.ref.png | Bin 0 -> 164 bytes + test/reference/clip-rectilinear.argb32.ref.png | Bin 0 -> 439 bytes + test/reference/clip-rectilinear.rgb24.ref.png | Bin 0 -> 439 bytes + .../clip-rotate-image-surface-paint.argb32.ref.png | Bin 0 -> 202 bytes + .../clip-rotate-image-surface-paint.rgb24.ref.png | Bin 0 -> 202 bytes + ...te-image-surface-paint.xlib-fallback.rgb24.ref.png | Bin 0 -> 202 bytes + ...tate-image-surface-paint.xlib-window.rgb24.ref.png | Bin 0 -> 202 bytes + ...lip-rotate-image-surface-paint.xlib.argb32.ref.png | Bin 0 -> 202 bytes + ...clip-rotate-image-surface-paint.xlib.rgb24.ref.png | Bin 0 -> 202 bytes + test/reference/clip-shape.argb32.ref.png | Bin 0 -> 3073 bytes + test/reference/clip-shape.rgb24.ref.png | Bin 0 -> 3073 bytes + test/reference/clip-stroke-no-op.argb32.ref.png | Bin 0 -> 152 bytes + test/reference/clip-stroke-no-op.rgb24.ref.png | Bin 0 -> 152 bytes + test/reference/clip-stroke-unbounded.argb32.ref.png | Bin 3887 -> 4128 bytes + test/reference/clip-stroke-unbounded.rgb24.ref.png | Bin 3408 -> 3546 bytes + test/reference/clip-stroke.argb32.ref.png | Bin 0 -> 1522 bytes + test/reference/clip-stroke.rgb24.ref.png | Bin 0 -> 1522 bytes + test/reference/clip-text.argb32.ref.png | Bin 0 -> 928 bytes + test/reference/clip-text.rgb24.ref.png | Bin 0 -> 928 bytes + test/reference/clip-twice-rectangle.argb32.ref.png | Bin 0 -> 323 bytes + test/reference/clip-twice-rectangle.rgb24.ref.png | Bin 0 -> 323 bytes + test/reference/clip-twice.argb32.ref.png | Bin 1068 -> 1358 bytes + test/reference/clip-twice.rgb24.ref.png | Bin 1022 -> 1195 bytes + test/reference/clip-unbounded.argb32.ref.png | Bin 0 -> 100 bytes + test/reference/clip-xlib-fallback.rgb24.ref.png | Bin 0 -> 2686 bytes + test/reference/clip-xlib-window.rgb24.ref.png | Bin 0 -> 2686 bytes + test/reference/clip-xlib.argb32.ref.png | Bin 0 -> 2686 bytes + test/reference/clip-xlib.rgb24.ref.png | Bin 0 -> 2686 bytes + test/reference/clipped-group.argb32.ref.png | Bin 0 -> 342 bytes + test/reference/clipped-group.rgb24.ref.png | Bin 0 -> 342 bytes + test/reference/clipped-surface.argb32.ref.png | Bin 0 -> 345 bytes + test/reference/clipped-surface.rgb24.ref.png | Bin 0 -> 345 bytes + .../reference/close-path-current-point.argb32.ref.png | Bin 0 -> 2324 bytes + test/reference/close-path-current-point.rgb24.ref.png | Bin 0 -> 2324 bytes + test/reference/close-path.argb32.ref.png | Bin 0 -> 294 bytes + test/reference/close-path.rgb24.ref.png | Bin 0 -> 294 bytes + ...osite-integer-translate-over-repeat.argb32.ref.png | Bin 0 -> 334 bytes + ...posite-integer-translate-over-repeat.rgb24.ref.png | Bin 0 -> 334 bytes + .../composite-integer-translate-over.argb32.ref.png | Bin 0 -> 13998 bytes + .../composite-integer-translate-over.rgb24.ref.png | Bin 0 -> 13998 bytes + .../composite-integer-translate-source.argb32.ref.png | Bin 0 -> 13998 bytes + .../composite-integer-translate-source.rgb24.ref.png | Bin 0 -> 13998 bytes + test/reference/copy-disjoint.argb32.ref.png | Bin 0 -> 1098 bytes + test/reference/copy-disjoint.rgb24.ref.png | Bin 0 -> 1098 bytes + test/reference/copy-path.argb32.ref.png | Bin 0 -> 616 bytes + test/reference/copy-path.rgb24.ref.png | Bin 0 -> 616 bytes + test/reference/create-from-png-stream.argb32.ref.png | Bin 0 -> 96 bytes + test/reference/create-from-png-stream.rgb24.ref.png | Bin 0 -> 96 bytes + test/reference/create-from-png.argb32.ref.png | Bin 0 -> 96 bytes + test/reference/create-from-png.rgb24.ref.png | Bin 0 -> 96 bytes + test/reference/culled-glyphs.argb32.ref.png | Bin 0 -> 440 bytes + test/reference/culled-glyphs.rgb24.ref.png | Bin 0 -> 440 bytes + test/reference/curve-to-as-line-to.argb32.ref.png | Bin 0 -> 109 bytes + test/reference/curve-to-as-line-to.rgb24.ref.png | Bin 0 -> 109 bytes + test/reference/dash-caps-joins.argb32.ref.png | Bin 0 -> 5157 bytes + test/reference/dash-caps-joins.rgb24.ref.png | Bin 0 -> 5157 bytes + test/reference/dash-curve.argb32.ref.png | Bin 0 -> 41040 bytes + test/reference/dash-curve.rgb24.ref.png | Bin 0 -> 41040 bytes + test/reference/dash-infinite-loop.argb32.ref.png | Bin 0 -> 877 bytes + test/reference/dash-infinite-loop.rgb24.ref.png | Bin 0 -> 877 bytes + test/reference/dash-no-dash.argb32.ref.png | Bin 0 -> 119 bytes + test/reference/dash-no-dash.rgb24.ref.png | Bin 0 -> 119 bytes + test/reference/dash-offset-negative.argb32.ref.png | Bin 0 -> 129 bytes + test/reference/dash-offset-negative.rgb24.ref.png | Bin 0 -> 129 bytes + test/reference/dash-offset.argb32.ref.png | Bin 0 -> 794 bytes + test/reference/dash-offset.rgb24.ref.png | Bin 0 -> 794 bytes + test/reference/dash-scale.argb32.ref.png | Bin 0 -> 8913 bytes + test/reference/dash-scale.rgb24.ref.png | Bin 0 -> 8913 bytes + test/reference/dash-state.argb32.ref.png | Bin 0 -> 8027 bytes + test/reference/dash-state.rgb24.ref.png | Bin 0 -> 8027 bytes + test/reference/dash-zero-length.argb32.ref.png | Bin 0 -> 230 bytes + test/reference/dash-zero-length.rgb24.ref.png | Bin 218 -> 210 bytes + test/reference/degenerate-arc.argb32.ref.png | Bin 0 -> 653 bytes + test/reference/degenerate-arc.rgb24.ref.png | Bin 0 -> 653 bytes + test/reference/degenerate-arcs.argb32.ref.png | Bin 0 -> 120 bytes + test/reference/degenerate-arcs.rgb24.ref.png | Bin 0 -> 120 bytes + test/reference/degenerate-curve-to.argb32.ref.png | Bin 0 -> 280 bytes + test/reference/degenerate-curve-to.rgb24.ref.png | Bin 0 -> 280 bytes + test/reference/degenerate-dash.argb32.ref.png | Bin 0 -> 2086 bytes + test/reference/degenerate-dash.rgb24.ref.png | Bin 0 -> 2086 bytes + .../degenerate-linear-gradient.argb32.ref.png | Bin 0 -> 336 bytes + .../degenerate-linear-gradient.rgb24.ref.png | Bin 0 -> 336 bytes + test/reference/degenerate-path.argb32.ref.png | Bin 253 -> 250 bytes + test/reference/degenerate-path.rgb24.ref.png | Bin 212 -> 219 bytes + test/reference/degenerate-pen.argb32.ref.png | Bin 0 -> 1019 bytes + test/reference/degenerate-pen.rgb24.ref.png | Bin 0 -> 1019 bytes + .../degenerate-radial-gradient.argb32.ref.png | Bin 0 -> 428 bytes + .../degenerate-radial-gradient.rgb24.ref.png | Bin 0 -> 428 bytes + test/reference/degenerate-rel-curve-to.argb32.ref.png | Bin 0 -> 277 bytes + test/reference/degenerate-rel-curve-to.rgb24.ref.png | Bin 0 -> 277 bytes + .../reference/device-offset-fractional.argb32.ref.png | Bin 0 -> 266 bytes + test/reference/device-offset-fractional.rgb24.ref.png | Bin 0 -> 266 bytes + test/reference/device-offset-positive.argb32.ref.png | Bin 0 -> 120 bytes + test/reference/device-offset-positive.rgb24.ref.png | Bin 130 -> 111 bytes + test/reference/device-offset-scale.argb32.ref.png | Bin 0 -> 109 bytes + test/reference/device-offset-scale.rgb24.ref.png | Bin 0 -> 109 bytes + test/reference/device-offset.argb32.ref.png | Bin 0 -> 118 bytes + test/reference/device-offset.rgb24.ref.png | Bin 130 -> 111 bytes + test/reference/drunkard-tails.argb32.ref.png | Bin 0 -> 6116 bytes + test/reference/drunkard-tails.rgb24.ref.png | Bin 0 -> 6116 bytes + test/reference/extend-pad-border.argb32.ref.png | Bin 0 -> 495 bytes + test/reference/extend-pad-border.rgb24.ref.png | Bin 0 -> 495 bytes + test/reference/extend-pad-similar.argb32.ref.png | Bin 0 -> 279 bytes + test/reference/extend-pad-similar.rgb24.ref.png | Bin 0 -> 279 bytes + test/reference/extend-pad.argb32.ref.png | Bin 0 -> 279 bytes + test/reference/extend-pad.rgb24.ref.png | Bin 0 -> 279 bytes + test/reference/extend-reflect-similar.argb32.ref.png | Bin 0 -> 133406 bytes + test/reference/extend-reflect-similar.rgb24.ref.png | Bin 0 -> 133406 bytes + test/reference/extend-reflect.argb32.ref.png | Bin 0 -> 133406 bytes + test/reference/extend-reflect.rgb24.ref.png | Bin 0 -> 133406 bytes + test/reference/extend-repeat-similar.argb32.ref.png | Bin 0 -> 108603 bytes + test/reference/extend-repeat-similar.rgb24.ref.png | Bin 0 -> 108603 bytes + test/reference/extend-repeat.argb32.ref.png | Bin 0 -> 108603 bytes + test/reference/extend-repeat.rgb24.ref.png | Bin 0 -> 108603 bytes + test/reference/extended-blend-solid.argb32.ref.png | Bin 4071 -> 4063 bytes + test/reference/extended-blend.argb32.ref.png | Bin 4071 -> 4063 bytes + test/reference/fallback.argb32.ref.png | Bin 3139 -> 4070 bytes + test/reference/fallback.image16.rgb24.ref.png | Bin 0 -> 2642 bytes + test/reference/fallback.rgb24.ref.png | Bin 2490 -> 3141 bytes + test/reference/fill-alpha-pattern.argb32.ref.png | Bin 0 -> 3381 bytes + test/reference/fill-alpha-pattern.rgb24.ref.png | Bin 0 -> 3381 bytes + test/reference/fill-alpha.argb32.ref.png | Bin 0 -> 2736 bytes + test/reference/fill-alpha.rgb24.ref.png | Bin 0 -> 2736 bytes + .../fill-and-stroke-alpha-add.argb32.ref.png | Bin 0 -> 556 bytes + .../reference/fill-and-stroke-alpha-add.rgb24.ref.png | Bin 0 -> 556 bytes + test/reference/fill-and-stroke-alpha.argb32.ref.png | Bin 0 -> 508 bytes + test/reference/fill-and-stroke-alpha.rgb24.ref.png | Bin 0 -> 508 bytes + test/reference/fill-and-stroke.argb32.ref.png | Bin 269 -> 312 bytes + test/reference/fill-and-stroke.rgb24.ref.png | Bin 252 -> 283 bytes + .../fill-degenerate-sort-order.argb32.ref.png | Bin 1929 -> 2400 bytes + .../fill-degenerate-sort-order.rgb24.ref.png | Bin 1689 -> 2049 bytes + test/reference/fill-disjoint.argb32.ref.png | Bin 0 -> 1098 bytes + test/reference/fill-disjoint.rgb24.ref.png | Bin 0 -> 1098 bytes + test/reference/fill-image.argb32.ref.png | Bin 0 -> 1315 bytes + test/reference/fill-image.rgb24.ref.png | Bin 0 -> 1315 bytes + test/reference/fill-missed-stop.argb32.ref.png | Bin 0 -> 455 bytes + test/reference/fill-missed-stop.rgb24.ref.png | Bin 382 -> 382 bytes + test/reference/fill-rule.argb32.ref.png | Bin 0 -> 2065 bytes + test/reference/fill-rule.rgb24.ref.png | Bin 1591 -> 1803 bytes + test/reference/fill-xlib-fallback.rgb24.ref.png | Bin 0 -> 1458 bytes + test/reference/fill-xlib-window.rgb24.ref.png | Bin 0 -> 1458 bytes + test/reference/fill-xlib.argb32.ref.png | Bin 0 -> 1458 bytes + test/reference/fill-xlib.rgb24.ref.png | Bin 0 -> 1458 bytes + test/reference/filter-bilinear-extents.argb32.ref.png | Bin 0 -> 1210 bytes + test/reference/filter-bilinear-extents.rgb24.ref.png | Bin 0 -> 1210 bytes + test/reference/filter-nearest-offset.argb32.ref.png | Bin 0 -> 201 bytes + test/reference/filter-nearest-offset.rgb24.ref.png | Bin 0 -> 201 bytes + .../filter-nearest-transformed.argb32.ref.png | Bin 0 -> 514 bytes + .../filter-nearest-transformed.rgb24.ref.png | Bin 0 -> 514 bytes + test/reference/finer-grained-fallbacks.argb32.ref.png | Bin 993 -> 1167 bytes + test/reference/finer-grained-fallbacks.rgb24.ref.png | Bin 786 -> 891 bytes + test/reference/font-matrix-translation.argb32.ref.png | Bin 0 -> 865 bytes + test/reference/font-matrix-translation.rgb24.ref.png | Bin 0 -> 865 bytes + .../ft-show-glyphs-positioning.argb32.ref.png | Bin 0 -> 3243 bytes + .../ft-show-glyphs-positioning.rgb24.ref.png | Bin 0 -> 3243 bytes + test/reference/ft-show-glyphs-table.argb32.ref.png | Bin 0 -> 9975 bytes + test/reference/ft-show-glyphs-table.rgb24.ref.png | Bin 0 -> 9975 bytes + test/reference/ft-text-antialias-none.argb32.ref.png | Bin 0 -> 295 bytes + test/reference/ft-text-antialias-none.rgb24.ref.png | Bin 0 -> 295 bytes + .../ft-text-vertical-layout-type1.argb32.ref.png | Bin 0 -> 3062 bytes + .../ft-text-vertical-layout-type1.rgb24.ref.png | Bin 0 -> 3062 bytes + .../ft-text-vertical-layout-type3.argb32.ref.png | Bin 0 -> 3610 bytes + .../ft-text-vertical-layout-type3.rgb24.ref.png | Bin 0 -> 3610 bytes + test/reference/get-group-target.argb32.ref.png | Bin 0 -> 113 bytes + test/reference/get-group-target.rgb24.ref.png | Bin 0 -> 113 bytes + test/reference/glyph-cache-pressure.argb32.ref.png | Bin 0 -> 2858 bytes + test/reference/glyph-cache-pressure.rgb24.ref.png | Bin 0 -> 2858 bytes + test/reference/gradient-alpha.argb32.ref.png | Bin 0 -> 125 bytes + test/reference/gradient-constant-alpha.argb32.ref.png | Bin 0 -> 111 bytes + test/reference/gradient-zero-stops.argb32.ref.png | Bin 0 -> 86 bytes + test/reference/gradient-zero-stops.rgb24.ref.png | Bin 105 -> 86 bytes + test/reference/group-clip.argb32.ref.png | Bin 0 -> 191 bytes + test/reference/group-clip.rgb24.ref.png | Bin 0 -> 191 bytes + test/reference/group-paint.argb32.ref.png | Bin 0 -> 95 bytes + test/reference/group-paint.rgb24.ref.png | Bin 0 -> 95 bytes + test/reference/group-unaligned.argb32.ref.png | Bin 0 -> 427 bytes + test/reference/group-unaligned.rgb24.ref.png | Bin 0 -> 427 bytes + test/reference/halo-transform.argb32.ref.png | Bin 0 -> 15063 bytes + test/reference/halo-transform.rgb24.ref.png | Bin 0 -> 15063 bytes + test/reference/halo.argb32.ref.png | Bin 0 -> 8726 bytes + test/reference/halo.rgb24.ref.png | Bin 0 -> 8726 bytes + test/reference/hatchings.argb32.ref.png | Bin 0 -> 92730 bytes + test/reference/hatchings.rgb24.ref.png | Bin 0 -> 92730 bytes + test/reference/horizontal-clip.argb32.ref.png | Bin 0 -> 113 bytes + test/reference/horizontal-clip.rgb24.ref.png | Bin 0 -> 113 bytes + test/reference/huge-linear.argb32.ref.png | Bin 0 -> 1600 bytes + test/reference/huge-linear.rgb24.ref.png | Bin 0 -> 1600 bytes + test/reference/huge-radial.argb32.ref.png | Bin 0 -> 41702 bytes + test/reference/huge-radial.rgb24.ref.png | Bin 0 -> 41702 bytes + .../reference/image-bug-710072-aligned.argb32.ref.png | Bin 0 -> 151 bytes + test/reference/image-bug-710072-aligned.rgb24.ref.png | Bin 0 -> 151 bytes + ...age-bug-710072-aligned.xlib-fallback.rgb24.ref.png | Bin 0 -> 151 bytes + ...image-bug-710072-aligned.xlib-window.rgb24.ref.png | Bin 0 -> 151 bytes + .../image-bug-710072-aligned.xlib.argb32.ref.png | Bin 0 -> 151 bytes + .../image-bug-710072-aligned.xlib.rgb24.ref.png | Bin 0 -> 151 bytes + .../image-bug-710072-unaligned.argb32.ref.png | Bin 0 -> 212 bytes + .../image-bug-710072-unaligned.rgb24.ref.png | Bin 0 -> 212 bytes + ...e-bug-710072-unaligned.xlib-fallback.rgb24.ref.png | Bin 0 -> 219 bytes + ...age-bug-710072-unaligned.xlib-window.rgb24.ref.png | Bin 0 -> 219 bytes + .../image-bug-710072-unaligned.xlib.argb32.ref.png | Bin 0 -> 219 bytes + .../image-bug-710072-unaligned.xlib.rgb24.ref.png | Bin 0 -> 219 bytes + .../image-surface-source.xlib-fallback.rgb24.ref.png | Bin 0 -> 301 bytes + .../image-surface-source.xlib-window.rgb24.ref.png | Bin 0 -> 301 bytes + .../image-surface-source.xlib.argb32.ref.png | Bin 0 -> 377 bytes + .../reference/image-surface-source.xlib.rgb24.ref.png | Bin 0 -> 301 bytes + test/reference/implicit-close.argb32.ref.png | Bin 0 -> 251 bytes + test/reference/implicit-close.rgb24.ref.png | Bin 0 -> 251 bytes + test/reference/infinite-join.argb32.ref.png | Bin 0 -> 164 bytes + test/reference/infinite-join.rgb24.ref.png | Bin 0 -> 164 bytes + test/reference/joins-loop.argb32.ref.png | Bin 0 -> 4492 bytes + test/reference/joins-loop.rgb24.ref.png | Bin 0 -> 4492 bytes + test/reference/joins-retrace.argb32.ref.png | Bin 0 -> 4997 bytes + test/reference/joins-retrace.rgb24.ref.png | Bin 0 -> 4997 bytes + test/reference/joins-star.argb32.ref.png | Bin 0 -> 4914 bytes + test/reference/joins-star.rgb24.ref.png | Bin 0 -> 4914 bytes + test/reference/joins.argb32.ref.png | Bin 0 -> 6970 bytes + test/reference/joins.rgb24.ref.png | Bin 0 -> 6970 bytes + test/reference/large-clip.argb32.ref.png | Bin 0 -> 305 bytes + test/reference/large-clip.rgb24.ref.png | Bin 0 -> 305 bytes + test/reference/large-font.argb32.ref.png | Bin 0 -> 6117 bytes + test/reference/large-font.rgb24.ref.png | Bin 0 -> 6117 bytes + test/reference/large-source-roi.argb32.ref.png | Bin 0 -> 93 bytes + test/reference/large-source-roi.rgb24.ref.png | Bin 0 -> 93 bytes + test/reference/large-source.argb32.ref.png | Bin 0 -> 112 bytes + test/reference/large-source.rgb24.ref.png | Bin 0 -> 112 bytes + .../large-twin-antialias-mixed.argb32.ref.png | Bin 0 -> 16660 bytes + .../large-twin-antialias-mixed.rgb24.ref.png | Bin 0 -> 16660 bytes + test/reference/leaky-dash.argb32.ref.png | Bin 0 -> 197 bytes + test/reference/leaky-dash.rgb24.ref.png | Bin 0 -> 197 bytes + test/reference/leaky-dashed-rectangle.argb32.ref.png | Bin 0 -> 357 bytes + test/reference/leaky-dashed-rectangle.rgb24.ref.png | Bin 0 -> 357 bytes + test/reference/leaky-dashed-stroke.argb32.ref.png | Bin 0 -> 9387 bytes + test/reference/leaky-dashed-stroke.rgb24.ref.png | Bin 0 -> 9387 bytes + test/reference/leaky-polygon.argb32.ref.png | Bin 0 -> 337 bytes + test/reference/leaky-polygon.rgb24.ref.png | Bin 0 -> 337 bytes + .../line-width-large-overlap-flipped.argb32.ref.png | Bin 0 -> 305 bytes + .../line-width-large-overlap-flipped.rgb24.ref.png | Bin 0 -> 305 bytes + .../line-width-large-overlap-flopped.argb32.ref.png | Bin 0 -> 305 bytes + .../line-width-large-overlap-flopped.rgb24.ref.png | Bin 0 -> 305 bytes + .../line-width-large-overlap-offset.argb32.ref.png | Bin 0 -> 305 bytes + .../line-width-large-overlap-offset.rgb24.ref.png | Bin 0 -> 305 bytes + .../line-width-large-overlap-rotated.argb32.ref.png | Bin 0 -> 427 bytes + .../line-width-large-overlap-rotated.rgb24.ref.png | Bin 0 -> 427 bytes + .../reference/line-width-large-overlap.argb32.ref.png | Bin 0 -> 305 bytes + test/reference/line-width-large-overlap.rgb24.ref.png | Bin 0 -> 305 bytes + .../line-width-overlap-flipped.argb32.ref.png | Bin 0 -> 324 bytes + .../line-width-overlap-flipped.rgb24.ref.png | Bin 0 -> 324 bytes + .../line-width-overlap-flopped.argb32.ref.png | Bin 0 -> 324 bytes + .../line-width-overlap-flopped.rgb24.ref.png | Bin 0 -> 324 bytes + .../line-width-overlap-offset.argb32.ref.png | Bin 0 -> 348 bytes + .../reference/line-width-overlap-offset.rgb24.ref.png | Bin 0 -> 348 bytes + .../line-width-overlap-rotated.argb32.ref.png | Bin 0 -> 828 bytes + .../line-width-overlap-rotated.rgb24.ref.png | Bin 0 -> 828 bytes + test/reference/line-width-overlap.argb32.ref.png | Bin 0 -> 324 bytes + test/reference/line-width-overlap.rgb24.ref.png | Bin 0 -> 324 bytes + test/reference/line-width-scale.argb32.ref.png | Bin 0 -> 5721 bytes + test/reference/line-width-scale.rgb24.ref.png | Bin 0 -> 5721 bytes + test/reference/line-width-tolerance.argb32.ref.png | Bin 0 -> 168 bytes + test/reference/line-width-tolerance.rgb24.ref.png | Bin 0 -> 168 bytes + test/reference/line-width.argb32.ref.png | Bin 0 -> 178 bytes + test/reference/line-width.rgb24.ref.png | Bin 0 -> 178 bytes + test/reference/linear-gradient-extend.argb32.ref.png | Bin 0 -> 371 bytes + test/reference/linear-gradient-extend.rgb24.ref.png | Bin 0 -> 371 bytes + test/reference/linear-gradient-large.argb32.ref.png | Bin 0 -> 4076 bytes + test/reference/linear-gradient-large.rgb24.ref.png | Bin 0 -> 4076 bytes + test/reference/linear-gradient-reflect.argb32.ref.png | Bin 0 -> 185 bytes + test/reference/linear-gradient-reflect.rgb24.ref.png | Bin 0 -> 185 bytes + test/reference/linear-gradient-subset.argb32.ref.png | Bin 0 -> 820 bytes + test/reference/linear-gradient-subset.rgb24.ref.png | Bin 0 -> 820 bytes + test/reference/linear-gradient.argb32.ref.png | Bin 0 -> 974 bytes + test/reference/linear-gradient.rgb24.ref.png | Bin 0 -> 974 bytes + test/reference/linear-uniform.argb32.ref.png | Bin 0 -> 128 bytes + test/reference/linear-uniform.rgb24.ref.png | Bin 0 -> 128 bytes + test/reference/long-dashed-lines.argb32.ref.png | Bin 0 -> 2548 bytes + test/reference/long-dashed-lines.rgb24.ref.png | Bin 0 -> 2548 bytes + test/reference/map-all-to-image.argb32.ref.png | Bin 0 -> 86 bytes + test/reference/map-all-to-image.rgb24.ref.png | Bin 0 -> 86 bytes + test/reference/map-all-to-xlib-fallback.rgb24.ref.png | Bin 0 -> 86 bytes + test/reference/map-all-to-xlib-window.rgb24.ref.png | Bin 0 -> 86 bytes + test/reference/map-all-to-xlib.argb32.ref.png | Bin 0 -> 86 bytes + test/reference/map-all-to-xlib.rgb24.ref.png | Bin 0 -> 86 bytes + test/reference/map-bit-to-image.argb32.ref.png | Bin 0 -> 103 bytes + test/reference/map-bit-to-image.rgb24.ref.png | Bin 0 -> 103 bytes + test/reference/map-bit-to-xlib-fallback.rgb24.ref.png | Bin 0 -> 103 bytes + test/reference/map-bit-to-xlib-window.rgb24.ref.png | Bin 0 -> 103 bytes + test/reference/map-bit-to-xlib.argb32.ref.png | Bin 0 -> 103 bytes + test/reference/map-bit-to-xlib.rgb24.ref.png | Bin 0 -> 103 bytes + test/reference/map-to-image-fill.argb32.ref.png | Bin 0 -> 103 bytes + test/reference/map-to-image-fill.rgb24.ref.png | Bin 0 -> 103 bytes + .../map-to-image-fill.xlib-fallback.rgb24.ref.png | Bin 0 -> 103 bytes + .../map-to-image-fill.xlib-window.rgb24.ref.png | Bin 0 -> 103 bytes + test/reference/map-to-image-fill.xlib.argb32.ref.png | Bin 0 -> 103 bytes + test/reference/map-to-image-fill.xlib.rgb24.ref.png | Bin 0 -> 103 bytes + test/reference/mask-alpha.argb32.ref.png | Bin 596 -> 632 bytes + test/reference/mask-alpha.rgb24.ref.png | Bin 546 -> 589 bytes + test/reference/mask-ctm.argb32.ref.png | Bin 0 -> 110 bytes + test/reference/mask-ctm.rgb24.ref.png | Bin 124 -> 105 bytes + test/reference/mask-surface-ctm.argb32.ref.png | Bin 0 -> 110 bytes + test/reference/mask-surface-ctm.rgb24.ref.png | Bin 124 -> 105 bytes + test/reference/mask-transformed-image.argb32.ref.png | Bin 0 -> 3812 bytes + test/reference/mask-transformed-image.rgb24.ref.png | Bin 0 -> 3812 bytes + .../reference/mask-transformed-similar.argb32.ref.png | Bin 0 -> 3812 bytes + test/reference/mask-transformed-similar.rgb24.ref.png | Bin 0 -> 3812 bytes + .../mask-transformed-xlib-fallback.rgb24.ref.png | Bin 0 -> 3809 bytes + .../mask-transformed-xlib-window.rgb24.ref.png | Bin 0 -> 3809 bytes + test/reference/mask-transformed-xlib.argb32.ref.png | Bin 0 -> 3809 bytes + test/reference/mask-transformed-xlib.rgb24.ref.png | Bin 0 -> 3809 bytes + test/reference/mask.argb32.ref.png | Bin 8193 -> 8579 bytes + test/reference/mask.rgb24.ref.png | Bin 6985 -> 7127 bytes + test/reference/mesh-pattern-accuracy.argb32.ref.png | Bin 0 -> 8086 bytes + test/reference/mesh-pattern-accuracy.rgb24.ref.png | Bin 0 -> 8086 bytes + test/reference/mesh-pattern-conical.argb32.ref.png | Bin 0 -> 8655 bytes + test/reference/mesh-pattern-conical.rgb24.ref.png | Bin 0 -> 8655 bytes + .../mesh-pattern-control-points.argb32.ref.png | Bin 0 -> 10665 bytes + .../mesh-pattern-control-points.rgb24.ref.png | Bin 0 -> 10665 bytes + test/reference/mesh-pattern-fold.argb32.ref.png | Bin 0 -> 52980 bytes + test/reference/mesh-pattern-fold.rgb24.ref.png | Bin 0 -> 52980 bytes + test/reference/mesh-pattern-overlap.argb32.ref.png | Bin 0 -> 9129 bytes + test/reference/mesh-pattern-overlap.rgb24.ref.png | Bin 0 -> 9129 bytes + .../reference/mesh-pattern-transformed.argb32.ref.png | Bin 0 -> 14463 bytes + test/reference/mesh-pattern-transformed.rgb24.ref.png | Bin 0 -> 14463 bytes + test/reference/mesh-pattern.argb32.ref.png | Bin 0 -> 19566 bytes + test/reference/mesh-pattern.rgb24.ref.png | Bin 0 -> 19566 bytes + test/reference/mime-data.argb32.ref.png | Bin 0 -> 185 bytes + test/reference/mime-data.rgb24.ref.png | Bin 0 -> 185 bytes + test/reference/miter-precision.argb32.ref.png | Bin 0 -> 1030 bytes + test/reference/miter-precision.rgb24.ref.png | Bin 0 -> 1030 bytes + test/reference/move-to-show-surface.argb32.ref.png | Bin 0 -> 96 bytes + test/reference/move-to-show-surface.rgb24.ref.png | Bin 0 -> 96 bytes + test/reference/negative-stride-image.argb32.ref.png | Bin 0 -> 81121 bytes + test/reference/negative-stride-image.rgb24.ref.png | Bin 0 -> 81121 bytes + test/reference/new-sub-path.argb32.ref.png | Bin 331 -> 408 bytes + test/reference/new-sub-path.rgb24.ref.png | Bin 303 -> 371 bytes + test/reference/nil-surface.argb32.ref.png | Bin 0 -> 88 bytes + test/reference/nil-surface.rgb24.ref.png | Bin 106 -> 87 bytes + test/reference/operator-alpha-alpha.argb32.ref.png | Bin 0 -> 3441 bytes + test/reference/operator-alpha-alpha.rgb24.ref.png | Bin 0 -> 3441 bytes + test/reference/operator-alpha.argb32.ref.png | Bin 0 -> 280 bytes + test/reference/operator-alpha.rgb24.ref.png | Bin 229 -> 205 bytes + test/reference/operator-clear.argb32.ref.png | Bin 1080 -> 1071 bytes + test/reference/operator-clear.rgb24.ref.png | Bin 948 -> 947 bytes + test/reference/operator-source.argb32.ref.png | Bin 5538 -> 5585 bytes + test/reference/operator-source.rgb24.ref.png | Bin 3876 -> 3954 bytes + test/reference/operator.argb32.ref.png | Bin 0 -> 238 bytes + test/reference/operator.rgb24.ref.png | Bin 217 -> 189 bytes + test/reference/over-above-source.argb32.ref.png | Bin 0 -> 564 bytes + test/reference/over-above-source.rgb24.ref.png | Bin 421 -> 465 bytes + test/reference/over-around-source.argb32.ref.png | Bin 0 -> 618 bytes + test/reference/over-around-source.rgb24.ref.png | Bin 454 -> 501 bytes + test/reference/over-below-source.argb32.ref.png | Bin 0 -> 443 bytes + test/reference/over-below-source.rgb24.ref.png | Bin 372 -> 377 bytes + test/reference/over-between-source.argb32.ref.png | Bin 0 -> 593 bytes + test/reference/over-between-source.rgb24.ref.png | Bin 440 -> 460 bytes + test/reference/overlapping-boxes.argb32.ref.png | Bin 179 -> 210 bytes + test/reference/overlapping-boxes.rgb24.ref.png | Bin 170 -> 201 bytes + test/reference/overlapping-dash-caps.argb32.ref.png | Bin 0 -> 3986 bytes + test/reference/overlapping-dash-caps.rgb24.ref.png | Bin 0 -> 3986 bytes + test/reference/overlapping-glyphs.argb32.ref.png | Bin 2258 -> 2717 bytes + test/reference/overlapping-glyphs.rgb24.ref.png | Bin 1390 -> 1663 bytes + test/reference/paint-clip-fill-aa.argb32.ref.png | Bin 0 -> 327 bytes + test/reference/paint-clip-fill-aa.rgb24.ref.png | Bin 0 -> 327 bytes + test/reference/paint-clip-fill-mono.argb32.ref.png | Bin 0 -> 327 bytes + test/reference/paint-clip-fill-mono.rgb24.ref.png | Bin 0 -> 327 bytes + test/reference/paint-repeat.argb32.ref.png | Bin 0 -> 122 bytes + test/reference/paint-repeat.rgb24.ref.png | Bin 0 -> 122 bytes + test/reference/paint-source-alpha.argb32.ref.png | Bin 0 -> 224 bytes + test/reference/paint-source-alpha.rgb24.ref.png | Bin 0 -> 224 bytes + .../paint-with-alpha-clip-mask.argb32.ref.png | Bin 0 -> 340 bytes + .../paint-with-alpha-clip-mask.rgb24.ref.png | Bin 0 -> 340 bytes + test/reference/paint-with-alpha-clip.argb32.ref.png | Bin 0 -> 290 bytes + test/reference/paint-with-alpha-clip.rgb24.ref.png | Bin 0 -> 290 bytes + .../paint-with-alpha-solid-clip.argb32.ref.png | Bin 0 -> 248 bytes + .../paint-with-alpha-solid-clip.rgb24.ref.png | Bin 0 -> 248 bytes + test/reference/paint-with-alpha.argb32.ref.png | Bin 0 -> 224 bytes + test/reference/paint-with-alpha.rgb24.ref.png | Bin 0 -> 224 bytes + test/reference/paint.argb32.ref.png | Bin 0 -> 93 bytes + test/reference/paint.rgb24.ref.png | Bin 0 -> 93 bytes + .../reference/partial-clip-text-bottom.argb32.ref.png | Bin 0 -> 261 bytes + test/reference/partial-clip-text-bottom.rgb24.ref.png | Bin 0 -> 261 bytes + test/reference/partial-clip-text-left.argb32.ref.png | Bin 0 -> 301 bytes + test/reference/partial-clip-text-left.rgb24.ref.png | Bin 0 -> 301 bytes + test/reference/partial-clip-text-right.argb32.ref.png | Bin 0 -> 155 bytes + test/reference/partial-clip-text-right.rgb24.ref.png | Bin 0 -> 155 bytes + test/reference/partial-clip-text-top.argb32.ref.png | Bin 0 -> 181 bytes + test/reference/partial-clip-text-top.rgb24.ref.png | Bin 0 -> 181 bytes + .../partial-coverage-half-reference.argb32.ref.png | Bin 0 -> 189 bytes + .../partial-coverage-half-reference.rgb24.ref.png | Bin 0 -> 189 bytes + .../partial-coverage-reference.argb32.ref.png | Bin 0 -> 202 bytes + .../partial-coverage-reference.rgb24.ref.png | Bin 0 -> 202 bytes + ...al-coverage-three-quarter-reference.argb32.ref.png | Bin 0 -> 186 bytes + ...ial-coverage-three-quarter-reference.rgb24.ref.png | Bin 0 -> 186 bytes + test/reference/pass-through.argb32.ref.png | Bin 0 -> 221 bytes + test/reference/pass-through.rgb24.ref.png | Bin 179 -> 158 bytes + test/reference/path-append.argb32.ref.png | Bin 0 -> 6144 bytes + test/reference/path-append.rgb24.ref.png | Bin 0 -> 6144 bytes + test/reference/path-stroke-twice.argb32.ref.png | Bin 0 -> 240 bytes + test/reference/path-stroke-twice.rgb24.ref.png | Bin 0 -> 240 bytes + test/reference/pattern-getters.argb32.ref.png | Bin 0 -> 87 bytes + test/reference/pattern-getters.rgb24.ref.png | Bin 0 -> 87 bytes + test/reference/pixman-rotate.argb32.ref.png | Bin 0 -> 260 bytes + test/reference/pixman-rotate.rgb24.ref.png | Bin 244 -> 225 bytes + test/reference/pthread-same-source.argb32.ref.png | Bin 0 -> 1000 bytes + test/reference/pthread-same-source.rgb24.ref.png | Bin 0 -> 1000 bytes + test/reference/pthread-show-text.argb32.ref.png | Bin 0 -> 30199 bytes + test/reference/pthread-show-text.rgb24.ref.png | Bin 0 -> 30199 bytes + test/reference/pthread-similar.argb32.ref.png | Bin 0 -> 170 bytes + test/reference/pthread-similar.rgb24.ref.png | Bin 0 -> 170 bytes + test/reference/push-group-color.argb32.ref.png | Bin 0 -> 2892 bytes + test/reference/push-group-color.rgb24.ref.png | Bin 0 -> 2892 bytes + test/reference/push-group-path-offset.argb32.ref.png | Bin 0 -> 186 bytes + test/reference/push-group-path-offset.rgb24.ref.png | Bin 0 -> 186 bytes + test/reference/push-group.argb32.ref.png | Bin 0 -> 3062 bytes + test/reference/push-group.rgb24.ref.png | Bin 2684 -> 2899 bytes + test/reference/radial-gradient-mask.argb32.ref.png | Bin 0 -> 286065 bytes + test/reference/radial-gradient-mask.rgb24.ref.png | Bin 0 -> 286065 bytes + .../reference/radial-gradient-one-stop.argb32.ref.png | Bin 0 -> 6306 bytes + test/reference/radial-gradient-one-stop.rgb24.ref.png | Bin 0 -> 6306 bytes + test/reference/radial-gradient.argb32.ref.png | Bin 0 -> 382283 bytes + test/reference/radial-gradient.rgb24.ref.png | Bin 0 -> 382283 bytes + .../random-intersections-curves-eo.argb32.ref.png | Bin 0 -> 245848 bytes + .../random-intersections-curves-eo.rgb24.ref.png | Bin 0 -> 245848 bytes + .../random-intersections-curves-nz.argb32.ref.png | Bin 0 -> 265249 bytes + .../random-intersections-curves-nz.rgb24.ref.png | Bin 0 -> 265249 bytes + test/reference/random-intersections-eo.argb32.ref.png | Bin 0 -> 136632 bytes + test/reference/random-intersections-eo.rgb24.ref.png | Bin 0 -> 136632 bytes + .../random-intersections-nonzero.argb32.ref.png | Bin 0 -> 142139 bytes + .../random-intersections-nonzero.rgb24.ref.png | Bin 0 -> 142139 bytes + test/reference/raster-source.argb32.ref.png | Bin 0 -> 1209 bytes + test/reference/raster-source.rgb24.ref.png | Bin 0 -> 1209 bytes + test/reference/record-fill-alpha.ref.png | Bin 2171 -> 2839 bytes + test/reference/record-paint-alpha-clip-mask.ref.png | Bin 340 -> 333 bytes + .../reference/rectangle-rounding-error.argb32.ref.png | Bin 0 -> 212 bytes + test/reference/rectangle-rounding-error.rgb24.ref.png | Bin 0 -> 212 bytes + test/reference/rectilinear-dash.argb32.ref.png | Bin 0 -> 291 bytes + test/reference/rectilinear-dash.rgb24.ref.png | Bin 0 -> 291 bytes + test/reference/rectilinear-fill.argb32.ref.png | Bin 0 -> 151 bytes + test/reference/rectilinear-fill.rgb24.ref.png | Bin 0 -> 151 bytes + test/reference/rectilinear-grid.argb32.ref.png | Bin 0 -> 569 bytes + test/reference/rectilinear-grid.rgb24.ref.png | Bin 0 -> 569 bytes + test/reference/rectilinear-miter-limit.argb32.ref.png | Bin 0 -> 145 bytes + test/reference/rectilinear-miter-limit.rgb24.ref.png | Bin 0 -> 145 bytes + test/reference/rectilinear-stroke.argb32.ref.png | Bin 0 -> 172 bytes + test/reference/rectilinear-stroke.rgb24.ref.png | Bin 0 -> 172 bytes + test/reference/reflected-stroke.argb32.ref.png | Bin 0 -> 5119 bytes + test/reference/reflected-stroke.rgb24.ref.png | Bin 0 -> 5119 bytes + test/reference/rel-path.argb32.ref.png | Bin 0 -> 197 bytes + test/reference/rel-path.rgb24.ref.png | Bin 183 -> 216 bytes + test/reference/rgb24-ignore-alpha.argb32.ref.png | Bin 0 -> 97 bytes + test/reference/rgb24-ignore-alpha.rgb24.ref.png | Bin 0 -> 97 bytes + .../rotate-clip-image-surface-paint.argb32.ref.png | Bin 0 -> 331 bytes + .../rotate-clip-image-surface-paint.rgb24.ref.png | Bin 0 -> 331 bytes + ...ip-image-surface-paint.xlib-fallback.rgb24.ref.png | Bin 0 -> 303 bytes + ...clip-image-surface-paint.xlib-window.rgb24.ref.png | Bin 0 -> 303 bytes + ...otate-clip-image-surface-paint.xlib.argb32.ref.png | Bin 0 -> 303 bytes + ...rotate-clip-image-surface-paint.xlib.rgb24.ref.png | Bin 0 -> 303 bytes + .../rotate-image-surface-paint.argb32.ref.png | Bin 0 -> 220 bytes + .../rotate-image-surface-paint.rgb24.ref.png | Bin 0 -> 220 bytes + ...te-image-surface-paint.xlib-fallback.rgb24.ref.png | Bin 0 -> 220 bytes + ...tate-image-surface-paint.xlib-window.rgb24.ref.png | Bin 0 -> 220 bytes + .../rotate-image-surface-paint.xlib.argb32.ref.png | Bin 0 -> 220 bytes + .../rotate-image-surface-paint.xlib.rgb24.ref.png | Bin 0 -> 220 bytes + test/reference/rotated-clip.argb32.ref.png | Bin 0 -> 3773 bytes + test/reference/rotated-clip.rgb24.ref.png | Bin 0 -> 3773 bytes + test/reference/rounded-rectangle-fill.argb32.ref.png | Bin 0 -> 787 bytes + test/reference/rounded-rectangle-fill.rgb24.ref.png | Bin 0 -> 787 bytes + .../reference/rounded-rectangle-stroke.argb32.ref.png | Bin 0 -> 951 bytes + test/reference/rounded-rectangle-stroke.rgb24.ref.png | Bin 0 -> 951 bytes + .../scale-down-source-surface-paint.argb32.ref.png | Bin 0 -> 96 bytes + .../scale-down-source-surface-paint.rgb24.ref.png | Bin 0 -> 96 bytes + test/reference/scale-offset-image.argb32.ref.png | Bin 0 -> 9748 bytes + test/reference/scale-offset-image.rgb24.ref.png | Bin 0 -> 9748 bytes + test/reference/scale-offset-similar.argb32.ref.png | Bin 0 -> 9748 bytes + test/reference/scale-offset-similar.rgb24.ref.png | Bin 0 -> 9748 bytes + .../scale-offset-xlib-fallback.rgb24.ref.png | Bin 0 -> 9120 bytes + test/reference/scale-offset-xlib-window.rgb24.ref.png | Bin 0 -> 9120 bytes + test/reference/scale-offset-xlib.argb32.ref.png | Bin 0 -> 9120 bytes + test/reference/scale-offset-xlib.rgb24.ref.png | Bin 0 -> 9120 bytes + .../scale-source-surface-paint.argb32.ref.png | Bin 0 -> 128 bytes + .../scale-source-surface-paint.rgb24.ref.png | Bin 136 -> 117 bytes + test/reference/select-font-face.argb32.ref.png | Bin 0 -> 2250 bytes + test/reference/select-font-face.rgb24.ref.png | Bin 0 -> 2250 bytes + test/reference/self-copy.argb32.ref.png | Bin 0 -> 257 bytes + test/reference/self-copy.rgb24.ref.png | Bin 0 -> 257 bytes + test/reference/self-intersecting.argb32.ref.png | Bin 0 -> 168 bytes + test/reference/self-intersecting.rgb24.ref.png | Bin 0 -> 168 bytes + test/reference/set-source.argb32.ref.png | Bin 0 -> 101 bytes + test/reference/set-source.rgb24.ref.png | Bin 120 -> 101 bytes + test/reference/shape-general-convex.argb32.ref.png | Bin 0 -> 2742 bytes + test/reference/shape-general-convex.rgb24.ref.png | Bin 0 -> 2742 bytes + test/reference/shape-sierpinski.argb32.ref.png | Bin 0 -> 63714 bytes + test/reference/shape-sierpinski.rgb24.ref.png | Bin 0 -> 63714 bytes + test/reference/show-glyphs-advance.argb32.ref.png | Bin 0 -> 1394 bytes + test/reference/show-glyphs-advance.rgb24.ref.png | Bin 0 -> 1394 bytes + test/reference/show-glyphs-many.argb32.ref.png | Bin 0 -> 96 bytes + test/reference/show-glyphs-many.rgb24.ref.png | Bin 0 -> 96 bytes + test/reference/show-text-current-point.argb32.ref.png | Bin 0 -> 2151 bytes + test/reference/show-text-current-point.rgb24.ref.png | Bin 0 -> 2151 bytes + test/reference/skew-extreme.argb32.ref.png | Bin 0 -> 799 bytes + test/reference/skew-extreme.rgb24.ref.png | Bin 0 -> 799 bytes + test/reference/smask-fill.argb32.ref.png | Bin 0 -> 1197 bytes + test/reference/smask-fill.rgb24.ref.png | Bin 0 -> 1197 bytes + test/reference/smask-image-mask.argb32.ref.png | Bin 0 -> 619 bytes + test/reference/smask-image-mask.rgb24.ref.png | Bin 0 -> 619 bytes + .../smask-image-mask.xlib-fallback.rgb24.ref.png | Bin 0 -> 619 bytes + .../smask-image-mask.xlib-window.rgb24.ref.png | Bin 0 -> 619 bytes + test/reference/smask-image-mask.xlib.argb32.ref.png | Bin 0 -> 619 bytes + test/reference/smask-image-mask.xlib.rgb24.ref.png | Bin 0 -> 619 bytes + test/reference/smask-mask.argb32.ref.png | Bin 0 -> 2353 bytes + test/reference/smask-mask.rgb24.ref.png | Bin 0 -> 2353 bytes + test/reference/smask-paint.argb32.ref.png | Bin 0 -> 2469 bytes + test/reference/smask-paint.rgb24.ref.png | Bin 0 -> 2469 bytes + test/reference/smask-stroke.argb32.ref.png | Bin 0 -> 1709 bytes + test/reference/smask-stroke.rgb24.ref.png | Bin 0 -> 1709 bytes + test/reference/smask-text.argb32.ref.png | Bin 0 -> 1661 bytes + test/reference/smask-text.rgb24.ref.png | Bin 0 -> 1661 bytes + test/reference/smask.argb32.ref.png | Bin 0 -> 3414 bytes + test/reference/smask.rgb24.ref.png | Bin 0 -> 3414 bytes + .../solid-pattern-cache-stress.argb32.ref.png | Bin 0 -> 87 bytes + .../solid-pattern-cache-stress.rgb24.ref.png | Bin 0 -> 87 bytes + test/reference/source-clip-scale.argb32.ref.png | Bin 0 -> 136 bytes + test/reference/source-clip-scale.rgb24.ref.png | Bin 0 -> 136 bytes + test/reference/source-clip.argb32.ref.png | Bin 0 -> 111 bytes + test/reference/source-clip.rgb24.ref.png | Bin 0 -> 111 bytes + .../source-surface-scale-paint.argb32.ref.png | Bin 0 -> 120 bytes + .../source-surface-scale-paint.rgb24.ref.png | Bin 133 -> 114 bytes + test/reference/spline-decomposition.argb32.ref.png | Bin 0 -> 19520 bytes + test/reference/spline-decomposition.rgb24.ref.png | Bin 0 -> 19520 bytes + test/reference/stride-12-image.argb32.ref.png | Bin 0 -> 81121 bytes + test/reference/stride-12-image.rgb24.ref.png | Bin 0 -> 81121 bytes + test/reference/stride-12-xlib-fallback.rgb24.ref.png | Bin 0 -> 81121 bytes + test/reference/stride-12-xlib-window.rgb24.ref.png | Bin 0 -> 81121 bytes + test/reference/stride-12-xlib.argb32.ref.png | Bin 0 -> 81121 bytes + test/reference/stride-12-xlib.rgb24.ref.png | Bin 0 -> 81121 bytes + test/reference/stroke-ctm-caps.argb32.ref.png | Bin 0 -> 942 bytes + test/reference/stroke-ctm-caps.rgb24.ref.png | Bin 0 -> 942 bytes + test/reference/stroke-image.argb32.ref.png | Bin 0 -> 1424 bytes + test/reference/stroke-image.rgb24.ref.png | Bin 0 -> 1424 bytes + test/reference/stroke-open-box.argb32.ref.png | Bin 0 -> 148 bytes + test/reference/stroke-open-box.rgb24.ref.png | Bin 0 -> 148 bytes + test/reference/stroke-pattern.argb32.ref.png | Bin 0 -> 1491 bytes + test/reference/stroke-pattern.rgb24.ref.png | Bin 0 -> 1491 bytes + test/reference/stroke-xlib-fallback.rgb24.ref.png | Bin 0 -> 1467 bytes + test/reference/stroke-xlib-window.rgb24.ref.png | Bin 0 -> 1467 bytes + test/reference/stroke-xlib.argb32.ref.png | Bin 0 -> 1467 bytes + test/reference/stroke-xlib.rgb24.ref.png | Bin 0 -> 1467 bytes + test/reference/subsurface-image-repeat.argb32.ref.png | Bin 0 -> 915 bytes + test/reference/subsurface-image-repeat.rgb24.ref.png | Bin 0 -> 915 bytes + ...ubsurface-image-repeat.xlib-fallback.rgb24.ref.png | Bin 0 -> 915 bytes + .../subsurface-image-repeat.xlib-window.rgb24.ref.png | Bin 0 -> 915 bytes + .../subsurface-image-repeat.xlib.argb32.ref.png | Bin 0 -> 915 bytes + .../subsurface-image-repeat.xlib.rgb24.ref.png | Bin 0 -> 915 bytes + test/reference/subsurface-modify-child.argb32.ref.png | Bin 0 -> 197 bytes + test/reference/subsurface-modify-child.rgb24.ref.png | Bin 0 -> 197 bytes + .../reference/subsurface-modify-parent.argb32.ref.png | Bin 0 -> 197 bytes + test/reference/subsurface-modify-parent.rgb24.ref.png | Bin 0 -> 197 bytes + test/reference/subsurface-pad.argb32.ref.png | Bin 0 -> 181 bytes + test/reference/subsurface-pad.rgb24.ref.png | Bin 0 -> 181 bytes + test/reference/subsurface-reflect.argb32.ref.png | Bin 0 -> 210 bytes + test/reference/subsurface-reflect.rgb24.ref.png | Bin 0 -> 210 bytes + test/reference/subsurface-repeat.argb32.ref.png | Bin 0 -> 197 bytes + test/reference/subsurface-repeat.rgb24.ref.png | Bin 0 -> 197 bytes + test/reference/subsurface-scale.argb32.ref.png | Bin 0 -> 5921 bytes + test/reference/subsurface-scale.rgb24.ref.png | Bin 0 -> 5921 bytes + .../subsurface-similar-repeat.argb32.ref.png | Bin 0 -> 197 bytes + .../reference/subsurface-similar-repeat.rgb24.ref.png | Bin 0 -> 197 bytes + test/reference/subsurface.argb32.ref.png | Bin 0 -> 1811 bytes + test/reference/subsurface.rgb24.ref.png | Bin 0 -> 1811 bytes + .../surface-pattern-big-scale-down.argb32.ref.png | Bin 0 -> 191 bytes + .../surface-pattern-big-scale-down.rgb24.ref.png | Bin 0 -> 191 bytes + .../reference/surface-pattern-operator.argb32.ref.png | Bin 4807 -> 5217 bytes + test/reference/surface-pattern-operator.rgb24.ref.png | Bin 1866 -> 1942 bytes + ...face-pattern-scale-down-extend-none.argb32.ref.png | Bin 0 -> 329 bytes + ...rface-pattern-scale-down-extend-none.rgb24.ref.png | Bin 0 -> 329 bytes + ...rface-pattern-scale-down-extend-pad.argb32.ref.png | Bin 0 -> 320 bytes + ...urface-pattern-scale-down-extend-pad.rgb24.ref.png | Bin 0 -> 320 bytes + ...e-pattern-scale-down-extend-reflect.argb32.ref.png | Bin 0 -> 328 bytes + ...ce-pattern-scale-down-extend-reflect.rgb24.ref.png | Bin 0 -> 328 bytes + ...ce-pattern-scale-down-extend-repeat.argb32.ref.png | Bin 0 -> 330 bytes + ...ace-pattern-scale-down-extend-repeat.rgb24.ref.png | Bin 0 -> 330 bytes + .../surface-pattern-scale-down.argb32.ref.png | Bin 0 -> 1326 bytes + .../surface-pattern-scale-down.rgb24.ref.png | Bin 0 -> 1326 bytes + .../reference/surface-pattern-scale-up.argb32.ref.png | Bin 0 -> 4020 bytes + test/reference/surface-pattern-scale-up.rgb24.ref.png | Bin 0 -> 4020 bytes + test/reference/surface-pattern.argb32.ref.png | Bin 0 -> 11088 bytes + test/reference/surface-pattern.rgb24.ref.png | Bin 0 -> 11088 bytes + test/reference/text-antialias-gray.argb32.ref.png | Bin 0 -> 966 bytes + test/reference/text-antialias-gray.rgb24.ref.png | Bin 0 -> 966 bytes + test/reference/text-antialias-none.argb32.ref.png | Bin 0 -> 265 bytes + test/reference/text-antialias-none.rgb24.ref.png | Bin 0 -> 265 bytes + .../text-antialias-subpixel-bgr.argb32.ref.png | Bin 0 -> 1005 bytes + .../text-antialias-subpixel-bgr.rgb24.ref.png | Bin 0 -> 1005 bytes + .../text-antialias-subpixel-rgb.argb32.ref.png | Bin 0 -> 1013 bytes + .../text-antialias-subpixel-rgb.rgb24.ref.png | Bin 0 -> 1013 bytes + .../text-antialias-subpixel-vbgr.argb32.ref.png | Bin 0 -> 985 bytes + .../text-antialias-subpixel-vbgr.rgb24.ref.png | Bin 0 -> 985 bytes + .../text-antialias-subpixel-vrgb.argb32.ref.png | Bin 0 -> 1009 bytes + .../text-antialias-subpixel-vrgb.rgb24.ref.png | Bin 0 -> 1009 bytes + test/reference/text-antialias-subpixel.argb32.ref.png | Bin 0 -> 1013 bytes + test/reference/text-antialias-subpixel.rgb24.ref.png | Bin 0 -> 1013 bytes + test/reference/text-glyph-range.argb32.ref.png | Bin 0 -> 1928 bytes + test/reference/text-glyph-range.rgb24.ref.png | Bin 0 -> 1928 bytes + test/reference/text-pattern.argb32.ref.png | Bin 0 -> 3455 bytes + test/reference/text-pattern.rgb24.ref.png | Bin 0 -> 2684 bytes + test/reference/text-rotate.argb32.ref.png | Bin 0 -> 16655 bytes + test/reference/text-rotate.rgb24.ref.png | Bin 0 -> 16655 bytes + test/reference/text-transform.argb32.ref.png | Bin 0 -> 5579 bytes + test/reference/text-transform.rgb24.ref.png | Bin 0 -> 5579 bytes + test/reference/tiger.argb32.ref.png | Bin 0 -> 93916 bytes + test/reference/tiger.rgb24.ref.png | Bin 0 -> 93916 bytes + test/reference/tighten-bounds.argb32.ref.png | Bin 8972 -> 9127 bytes + test/reference/tighten-bounds.rgb24.ref.png | Bin 8188 -> 8433 bytes + test/reference/transforms.argb32.ref.png | Bin 0 -> 348 bytes + test/reference/transforms.rgb24.ref.png | Bin 0 -> 348 bytes + test/reference/translate-show-surface.argb32.ref.png | Bin 0 -> 96 bytes + test/reference/translate-show-surface.rgb24.ref.png | Bin 0 -> 96 bytes + test/reference/trap-clip.argb32.ref.png | Bin 0 -> 5810 bytes + test/reference/trap-clip.rgb24.ref.png | Bin 5328 -> 5433 bytes + test/reference/twin-antialias-gray.argb32.ref.png | Bin 0 -> 3990 bytes + test/reference/twin-antialias-gray.rgb24.ref.png | Bin 0 -> 3990 bytes + test/reference/twin-antialias-mixed.argb32.ref.png | Bin 0 -> 2230 bytes + test/reference/twin-antialias-mixed.rgb24.ref.png | Bin 0 -> 2230 bytes + test/reference/twin-antialias-none.argb32.ref.png | Bin 0 -> 690 bytes + test/reference/twin-antialias-none.rgb24.ref.png | Bin 0 -> 690 bytes + test/reference/twin-antialias-subpixel.argb32.ref.png | Bin 0 -> 3990 bytes + test/reference/twin-antialias-subpixel.rgb24.ref.png | Bin 0 -> 3990 bytes + test/reference/twin.argb32.ref.png | Bin 0 -> 3990 bytes + test/reference/twin.rgb24.ref.png | Bin 0 -> 3990 bytes + test/reference/unaligned-box.argb32.ref.png | Bin 0 -> 496 bytes + test/reference/unaligned-box.rgb24.ref.png | Bin 0 -> 496 bytes + test/reference/unantialiased-shapes.argb32.ref.png | Bin 0 -> 3926 bytes + test/reference/unantialiased-shapes.rgb24.ref.png | Bin 0 -> 3926 bytes + test/reference/unbounded-operator.argb32.ref.png | Bin 2618 -> 2666 bytes + test/reference/unbounded-operator.rgb24.ref.png | Bin 1223 -> 1300 bytes + test/reference/unclosed-strokes.argb32.ref.png | Bin 0 -> 1901 bytes + test/reference/unclosed-strokes.rgb24.ref.png | Bin 0 -> 1901 bytes + test/reference/user-font-mask.argb32.ref.png | Bin 0 -> 5476 bytes + test/reference/user-font-mask.rgb24.ref.png | Bin 0 -> 5476 bytes + test/reference/user-font-proxy.argb32.ref.png | Bin 0 -> 16941 bytes + test/reference/user-font-proxy.rgb24.ref.png | Bin 0 -> 16941 bytes + test/reference/user-font-rescale.argb32.ref.png | Bin 0 -> 14883 bytes + test/reference/user-font-rescale.rgb24.ref.png | Bin 0 -> 14883 bytes + test/reference/user-font.argb32.ref.png | Bin 0 -> 6478 bytes + test/reference/user-font.rgb24.ref.png | Bin 0 -> 6478 bytes + test/reference/white-in-noop.argb32.ref.png | Bin 0 -> 95 bytes + test/reference/white-in-noop.rgb24.ref.png | Bin 0 -> 95 bytes + test/reference/world-map-fill.argb32.ref.png | Bin 0 -> 57308 bytes + test/reference/world-map-fill.rgb24.ref.png | Bin 0 -> 57308 bytes + test/reference/world-map-stroke.argb32.ref.png | Bin 0 -> 65152 bytes + test/reference/world-map-stroke.rgb24.ref.png | Bin 0 -> 65152 bytes + test/reference/world-map.argb32.ref.png | Bin 0 -> 70463 bytes + test/reference/world-map.rgb24.ref.png | Bin 0 -> 70463 bytes + test/reference/xcb-huge-image-shm.argb32.ref.png | Bin 0 -> 97 bytes + test/reference/xcb-huge-image-shm.rgb24.ref.png | Bin 0 -> 97 bytes + .../xcb-huge-image-shm.xlib-fallback.rgb24.ref.png | Bin 0 -> 97 bytes + .../xcb-huge-image-shm.xlib-window.rgb24.ref.png | Bin 0 -> 97 bytes + test/reference/xcb-huge-image-shm.xlib.argb32.ref.png | Bin 0 -> 97 bytes + test/reference/xcb-huge-image-shm.xlib.rgb24.ref.png | Bin 0 -> 97 bytes + test/reference/xcb-snapshot-assert.argb32.ref.png | Bin 0 -> 97 bytes + test/reference/xcb-snapshot-assert.rgb24.ref.png | Bin 0 -> 97 bytes + test/reference/xcb-stress-cache.argb32.ref.png | Bin 0 -> 97 bytes + test/reference/xcb-stress-cache.rgb24.ref.png | Bin 0 -> 97 bytes + test/reference/xcomposite-projection.argb32.ref.png | Bin 0 -> 1108 bytes + test/reference/xcomposite-projection.rgb24.ref.png | Bin 0 -> 1108 bytes + test/reference/xlib-expose-event.argb32.ref.png | Bin 0 -> 40717 bytes + test/reference/xlib-expose-event.rgb24.ref.png | Bin 0 -> 40717 bytes + test/reference/zero-alpha.argb32.ref.png | Bin 0 -> 91 bytes + test/reference/zero-alpha.rgb24.ref.png | Bin 0 -> 91 bytes + test/reference/zero-mask.argb32.ref.png | Bin 0 -> 402 bytes + 807 files changed, 0 insertions(+), 0 deletions(-) + +commit 01ea2d31cbbc12dafbe7831ef8c08a1bc78046a7 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Feb 18 21:46:31 2012 +1030 + + type1-subset: ensure additional glyphs required by seac operator are parsed + + src/cairo-type1-subset.c | 25 +++++++++++++------------ + 1 file changed, 13 insertions(+), 12 deletions(-) + +commit 09b90611a1bca771968417c589df00c0b2d3c0e6 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Feb 18 17:10:55 2012 +1030 + + type1-subset: some fonts have "noaccess put" instead of NP in the Subrs + + src/cairo-type1-subset.c | 47 +++++++++++++++++++++++++++++++++++++---------- + 1 file changed, 37 insertions(+), 10 deletions(-) + +commit 6a90b407aafe6e7f4ed614fbcd1228c46b0af2a2 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Feb 18 08:55:59 2012 +0100 + + build: Make 'all' the default target in the base Makefile.win32 build + + Having the 'inform' target as default is misleading. + + Makefile.win32 | 2 ++ + 1 file changed, 2 insertions(+) + +commit 93b0fcffc7a098333aa219ce0d59b7f9d1ac35e6 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Feb 16 19:53:56 2012 +0100 + + test: Create output directory even on Win32 + + This avoids cluttering the test directory with thousands of PNG files + and makes the behavior more consistent with other OSes. + + test/cairo-test.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 80c46d400b0bc329ca3b09eb87684920ec1045ef +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Nov 11 18:16:04 2011 +0100 + + test: Fix any2ppm on MSVC + + C99 initialization is not allowed. + + Error macros are used even in the non-daemon version, hence errno.h + should always be included. + + Fixes: + + any2ppm.c(107) : error C2065: 'EINTR' : undeclared identifier + any2ppm.c(107) : error C2051: case expression not constant + any2ppm.c(108) : error C2065: 'EAGAIN' : undeclared identifier + any2ppm.c(108) : error C2051: case expression not constant + any2ppm.c(271) : error C2059: syntax error : '.' + + test/any2ppm.c | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +commit b2d978a8150cb3f5bb66b3c3971fadc908d82e82 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Nov 11 18:14:44 2011 +0100 + + test: Compile any2ppm on Windows + + any2ppm is required in order to test the script backend. + + test/Makefile.win32 | 28 ++++++++++++++++++++++++---- + 1 file changed, 24 insertions(+), 4 deletions(-) + +commit ed803a193585544d2c4a290e95700cf9b68d0f10 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Feb 16 19:21:47 2012 +0100 + + build: Add 'clean' target to Makefile.win32 build system + + The Makefile.win32 in the subdirectories provide a working 'clean' + target (defined in Makefile.win32.common), the central Makefile.win32 + 'clean' target does not do anything. + + Replace the noop 'clean' target with one that cleans all the subdirs. + + Makefile.am | 1 + + Makefile.win32 | 8 +++++++- + build/Makefile.win32.common | 15 +-------------- + build/Makefile.win32.inform | 13 +++++++++++++ + 4 files changed, 22 insertions(+), 15 deletions(-) + +commit c60627e8af240189a16d7118230bf6df6d300f21 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Feb 15 23:37:30 2012 +0100 + + device: Minor documentation fixes + + Do not list CAIRO_DEVICE_TYPE_INVALID twice. + + CAIRO_DEVICE_TYPE_WIN32 does not indicate that the type is cogl, but + win32. + + src/cairo.h | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 83af31f0f31bee5570148f51d9371e848b716486 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 15 19:48:07 2012 +0000 + + win32: Cast the surface to an image-surface to find its parent (compile fix) + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/win32/cairo-win32-display-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit df608e0fab542562eb00b4f3c84735946289226a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 15 18:25:35 2012 +0000 + + win32: Fix lifetime tracking of create_similar_image() + + As we return the child image to the user and so perform the reference + tracking on it and not the parent win32 display surface, we need to add + a call to destroy the parent from the image surface. This of course + complicates the normal scenario of destroying the parent first, and so + in that case we need to unhook the image->parent before freeing the + surface->image. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-surface-private.h | 13 +++++++++++++ + src/cairo-image-surface.c | 5 +++++ + src/win32/cairo-win32-display-surface.c | 6 +++++- + 3 files changed, 23 insertions(+), 1 deletion(-) + +commit dfb8b131f54752462b7888fe6401b239aab89ff8 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Feb 15 19:05:09 2012 +0100 + + win32: Fix Makefile.win32 build + + The Makefile.win32 build system assumes that the files are in the same + directory level. If this is not the case, the compiler fails when it + tries to write the object files to a non-existing directory. + + This can be fixed simply by making sure that the destination directory + always exists. + + Fixes: + + fatal error C1083: Cannot open compiler generated file: + 'release/win32/cairo-win32-debug.obj': No such file or directory + + build/Makefile.win32.common | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit ae3319890eacd1c8282ca6df7b263ac74abb5f8d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Feb 12 11:25:07 2012 +0000 + + win32: Rebase on the new compositor infrastructure + + Try and undo all the damage that has acrued over the years by plugging + into the compositor pipeline. + + References: https://bugs.freedesktop.org/show_bug.cgi?id=42739 + References: https://bugs.freedesktop.org/show_bug.cgi?id=42821 + References: https://bugs.freedesktop.org/show_bug.cgi?id=33081 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 6 +- + src/cairo-image-compositor.c | 39 + + src/cairo-image-source.c | 25 + + src/cairo-image-surface-private.h | 9 + + src/cairo-image-surface.c | 25 +- + src/cairo-surface-backend-private.h | 10 + + src/cairo-surface-private.h | 10 + + src/cairo-surface.c | 20 + + src/cairo-traps-compositor.c | 62 + + src/cairo.h | 2 + + src/cairoint.h | 6 + + src/win32/cairo-win32-debug.c | 87 + + src/win32/cairo-win32-device.c | 189 ++ + src/win32/cairo-win32-display-surface.c | 1031 ++++++++++ + src/win32/cairo-win32-font.c | 23 +- + src/win32/cairo-win32-gdi-compositor.c | 646 +++++++ + src/win32/cairo-win32-printing-surface.c | 324 ++-- + src/win32/cairo-win32-private.h | 183 +- + src/win32/cairo-win32-surface.c | 1960 +------------------- + src/{cairo-system.c => win32/cairo-win32-system.c} | 8 - + 20 files changed, 2534 insertions(+), 2131 deletions(-) + +commit 92c0b37d04f9df8df53a455c8e8dda1946c84c87 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Feb 12 10:17:12 2012 +0000 + + win32: Move to separate directoy + + I suspect I may split the win32 code into a few more files, so move it + to its own directory to reduce the clutter. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 12 ++++++++---- + src/{ => win32}/cairo-win32-font.c | 0 + src/{ => win32}/cairo-win32-printing-surface.c | 0 + src/{ => win32}/cairo-win32-private.h | 0 + src/{ => win32}/cairo-win32-surface.c | 23 ++++++----------------- + 5 files changed, 14 insertions(+), 21 deletions(-) + +commit 8bea52bb0b55e2b041fbd43bc36221b5eb07b863 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Feb 12 12:32:49 2012 +0000 + + Add preliminary damage tracking + + This is initially based around the requirements for handling internal + fallbacks to the image compositor and reducing the number of pixels + required to be transferred. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 2 + + src/cairo-compositor.c | 21 +++++ + src/cairo-damage-private.h | 82 +++++++++++++++++ + src/cairo-damage.c | 214 ++++++++++++++++++++++++++++++++++++++++++++ + src/cairo-image-surface.c | 6 +- + src/cairo-region-private.h | 6 ++ + src/cairo-region.c | 32 +++++++ + src/cairo-surface-private.h | 1 + + src/cairo-surface.c | 17 ++++ + src/cairo-types-private.h | 1 + + 10 files changed, 379 insertions(+), 3 deletions(-) + +commit c7d8ec72e6d14236d20b068a404d166496872a54 +Author: Nis Martensen <nis.martensen@web.de> +Date: Sun Feb 12 10:36:17 2012 +0100 + + doc: fix typo + + The pattern creation function call in the example code has one _mesh too + much. This hopefully fixes the mesh mismatch mess :) + + Signed-off-by: Nis Martensen <nis.martensen@web.de> + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-pattern.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 4f81940749b680c6e48d393fd13108775efa38eb +Author: Oleg Romashin <romaxa@gmail.com> +Date: Sun Feb 12 01:34:34 2012 -0500 + + qt: Fix compilation, also minor fix for building against Qt5 + + Update to latest surface backend structure, removed obsolete functions + and fixed functions API in order to be compatible with backend definition. + + Fixed compilation with Qt5 + + boilerplate/cairo-boilerplate-qt.cpp | 4 +- + src/cairo-default-context-private.h | 4 + + src/cairo-qt-surface.cpp | 184 ++++------------------------------- + 3 files changed, 25 insertions(+), 167 deletions(-) + +commit 76df401263a45881fec557396dd4895d0af540a3 +Author: Nis Martensen <nis.martensen@web.de> +Date: Sat Feb 11 23:24:27 2012 +0100 + + doc: Fix pattern name mismatch + + In the example code, the mesh pattern variable was named "mesh" and + "pattern". Just use "pattern". + + Signed-off-by: Andrea Canciani <ranma42@gmail.com> + + src/cairo-pattern.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit 469994ac199179b40bafee951c92595706256cea +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Jan 30 15:34:10 2012 +0100 + + observer: Silence gcc warning + + GCC complains that: + + cairo-surface-observer.c:289:26: warning: ignoring return value of + 'cairo_device_acquire', declared with attribute warn_unused_result + [-Wunused-result] + + Explain why it's safe to ignore it in a comment. + + src/cairo-surface-observer.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit f2567e95a164d3874909baf09b94b45288604e53 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Jan 30 15:12:57 2012 +0100 + + observer: Return status when printing the observed data + + Making cairo_surface_observer_print() and + cairo_device_observer_print() return the status of the observer or of + the stream makes it possible to correctly track what kind of error + happens if the print is not successful. + + This makes the functions more consistent with existing API with a + similar signature like cairo_surface_write_to_png_stream(). + + src/cairo-surface-observer.c | 24 ++++++++++++------------ + src/cairo.h | 4 ++-- + 2 files changed, 14 insertions(+), 14 deletions(-) + +commit f7eaf37f0432952ce12708e32e0641fa97bfd715 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Feb 10 18:00:01 2012 +0100 + + Wrapper: Don't translate clips extents' origin + + If a bounded recording surface doesn't have its extents .x and .y at the + surface's origin, this code was translating all clips to make up for that. + However, the clip already is in device space. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41583 + + Signed-off-by: Uli Schlachter <psychon@znc.in> + Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-wrapper.c | 4 ---- + 1 file changed, 4 deletions(-) + +commit 2f4645db84215f38ca0a19886de56971ce4f2d79 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Feb 10 17:52:45 2012 +0100 + + xlib-xcb: Make this compile again + + There was a typo in commit 2061cd81f26. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xlib-xcb-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 154e6b052bca4189ef067dc9385b224803e6f053 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Feb 10 09:20:21 2012 +0000 + + quartz: Add missing source hook + + Regression from 2061cd81f2. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45866 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-quartz-surface.c | 1 + + 1 file changed, 1 insertion(+) + +commit 8960a5d0d0ca3f92b9e727d5e35caaefd68ecd59 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Feb 10 00:03:51 2012 +0000 + + analysis: replace open-coded _cairo_box_add_box() + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-analysis-surface.c | 13 +++---------- + 1 file changed, 3 insertions(+), 10 deletions(-) + +commit e809cea6d055cb91fff7913985a7eba967d58818 +Author: Henry (Yu) Song <hsong@sisa.samsung.com> +Date: Thu Feb 9 23:38:37 2012 +0000 + + gl: initialize temporary surface with size same as subsurface + + Rather than the operation extents which may be larger. It would be + beneficial to trim to the intersection instead and tweak the pattern + matrices - however this is the fallback path and so hopefully less + frequently trod! + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-operand.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 38bf7a6526e378175b62b9c0eb92ce65c5d0e630 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Feb 9 23:26:14 2012 +0000 + + gl: Transfer ownership of trapezoid mask to operand + + Signed-off-by: Henry (Yu) Song <hsong@sisa.samsung.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-traps-compositor.c | 15 ++++++++++----- + 1 file changed, 10 insertions(+), 5 deletions(-) + +commit 2886df60b040c6c8e7255a4385da5fb85531cbf3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Feb 9 22:44:47 2012 +0000 + + polygon-intersection: The edge direction is immaterial + + When checking for continuations on the right-hand edge, the actual + direction of the edge is immaterial as it is sorted into ascending + y-order and the direction is fixed up when emitting into the output + polygon. + + Fixes assertion introduced with 658fa75a5c78c8. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-polygon-intersect.c | 1 - + 1 file changed, 1 deletion(-) + +commit bb86e332da9a7837b6fd6476efd9be77572dd706 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Feb 9 22:11:24 2012 +0000 + + traps: composite_boxes() is not a mask constructor + + Since it doesn't combine the clip in a single pass, don't claim to. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-traps-compositor.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 3443ad903d2ccff7d63a9116df7629d69d87d673 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Feb 9 22:08:41 2012 +0000 + + spans: Pass unbounded operations to the spans compositors + + Only bail if we need to combine clipping with the spans (either for a + bounded or unbounded operation). + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-spans-compositor.c | 16 +++++----------- + 1 file changed, 5 insertions(+), 11 deletions(-) + +commit 3023ff86d58f97f3b2d3304c337920647bc8a147 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Feb 9 22:08:08 2012 +0000 + + clip: Apply the partial boxes for clip_combine_with_surface + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-clip-surface.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +commit fb3a193959bbfa71308338182f208e3221ddfa04 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Feb 9 22:06:18 2012 +0000 + + clip: Check whether an extents only clip contains the box + + If we steal the boxes, we leave behind an extents-only clip, i.e. only + without a path or boxes, in which case do not return FALSE for the + is-contained check on a rectangle. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-clip-boxes.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit bbdb17fc1826ca50bdfc4e2666249d3e8e1fca4d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Feb 9 19:43:18 2012 +0000 + + tor: Restore the 256x15 sampling of the original rasteriser + + A quick hack escaped into the wild, as this was superseded by the + separate tor22 rasteriser. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-tor-scan-converter.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +commit 658fa75a5c78c8ca08bc5c1f8f29d50a9da0aaf5 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Feb 9 19:40:26 2012 +0000 + + polygon: Extend intersection edges to cover entire range + + By simply swapping the continuation edges, we end up with a set of edges + that are defined over a shorter range than their extents. Whilst this is + numerically stable at our normal precision we start to encounter issues + when using a coarser grid during rasterisation as the derivative of the + edge becomes unstable. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44722 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-polygon-intersect.c | 13 +++++++++++-- + 1 file changed, 11 insertions(+), 2 deletions(-) + +commit a349a312dcf3322d835bc3c58cecedff8914a55a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Feb 9 16:20:26 2012 +0000 + + directfb: Discard long broken code and return to basics + + Rewrite the directfb backend as nothing more than a simpler image + compositor onto a shadowfb that is flushed back to the dfb surface as + required. Future refinements would be to add damage tracking, and to mix + the useful directfb operations (such as solid fills and alpha blends). + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-directfb-surface.c | 2052 ++++++------------------------------- + src/cairo-image-surface-private.h | 46 + + src/cairo-image-surface.c | 10 +- + 3 files changed, 389 insertions(+), 1719 deletions(-) + +commit f4309795e90c638e1049f194e1bff30d172b52ce +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Feb 9 13:31:54 2012 +0000 + + test: Referesh traps (xlib) reference images for font updates + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/reference/clip-operator.traps.argb32.ref.png | Bin 8153 -> 8160 bytes + test/reference/clip-operator.traps.rgb24.ref.png | Bin 3232 -> 3245 bytes + test/reference/clip-text.traps.argb32.ref.png | Bin 899 -> 899 bytes + test/reference/clip-text.traps.rgb24.ref.png | Bin 899 -> 899 bytes + .../font-matrix-translation.traps.argb32.ref.png | Bin 874 -> 0 bytes + .../reference/font-matrix-translation.traps.ref.png | Bin 0 -> 865 bytes + .../font-matrix-translation.traps.rgb24.ref.png | Bin 874 -> 0 bytes + .../ft-show-glyphs-positioning.traps.argb32.ref.png | Bin 3297 -> 0 bytes + .../ft-show-glyphs-positioning.traps.ref.png | Bin 0 -> 3243 bytes + .../ft-show-glyphs-positioning.traps.rgb24.ref.png | Bin 3297 -> 0 bytes + .../ft-show-glyphs-table.traps.argb32.ref.png | Bin 9893 -> 0 bytes + test/reference/ft-show-glyphs-table.traps.ref.png | Bin 0 -> 9975 bytes + .../ft-show-glyphs-table.traps.rgb24.ref.png | Bin 9893 -> 0 bytes + .../glyph-cache-pressure.traps.argb32.ref.png | Bin 2863 -> 0 bytes + test/reference/glyph-cache-pressure.traps.ref.png | Bin 0 -> 2858 bytes + .../glyph-cache-pressure.traps.rgb24.ref.png | Bin 2863 -> 0 bytes + test/reference/halo-transform.traps.argb32.ref.png | Bin 15118 -> 0 bytes + test/reference/halo-transform.traps.ref.png | Bin 0 -> 15122 bytes + test/reference/halo-transform.traps.rgb24.ref.png | Bin 15118 -> 0 bytes + test/reference/halo.traps.argb32.ref.png | Bin 8800 -> 0 bytes + test/reference/halo.traps.ref.png | Bin 0 -> 8594 bytes + test/reference/halo.traps.rgb24.ref.png | Bin 8800 -> 0 bytes + test/reference/inverse-text.base.argb32.ref.png | Bin 2166 -> 0 bytes + test/reference/inverse-text.base.rgb24.ref.png | Bin 2166 -> 0 bytes + test/reference/inverse-text.image16.ref.png | Bin 1863 -> 0 bytes + test/reference/inverse-text.ps.ref.png | Bin 776 -> 0 bytes + test/reference/inverse-text.quartz.ref.png | Bin 2565 -> 0 bytes + test/reference/inverse-text.ref.png | Bin 2166 -> 0 bytes + test/reference/inverse-text.traps.argb32.ref.png | Bin 2166 -> 0 bytes + test/reference/inverse-text.traps.ref.png | Bin 0 -> 2162 bytes + test/reference/inverse-text.traps.rgb24.ref.png | Bin 2166 -> 0 bytes + test/reference/operator-clear.traps.argb32.ref.png | Bin 1070 -> 1071 bytes + test/reference/operator-clear.traps.rgb24.ref.png | Bin 950 -> 950 bytes + test/reference/operator-source.traps.argb32.ref.png | Bin 5630 -> 5625 bytes + test/reference/operator-source.traps.rgb24.ref.png | Bin 3979 -> 3979 bytes + .../partial-clip-text-right.traps.argb32.ref.png | Bin 155 -> 0 bytes + .../reference/partial-clip-text-right.traps.ref.png | Bin 0 -> 155 bytes + .../partial-clip-text-right.traps.rgb24.ref.png | Bin 155 -> 0 bytes + .../partial-clip-text-top.traps.argb32.ref.png | Bin 173 -> 0 bytes + test/reference/partial-clip-text-top.traps.ref.png | Bin 0 -> 181 bytes + .../partial-clip-text-top.traps.rgb24.ref.png | Bin 173 -> 0 bytes + .../pthread-show-text.traps.argb32.ref.png | Bin 29759 -> 0 bytes + test/reference/pthread-show-text.traps.ref.png | Bin 0 -> 30199 bytes + .../reference/pthread-show-text.traps.rgb24.ref.png | Bin 29759 -> 0 bytes + .../radial-gradient-mask-source.traps.rgb24.ref.png | Bin 7747 -> 150945 bytes + .../reference/select-font-face.traps.argb32.ref.png | Bin 2245 -> 0 bytes + test/reference/select-font-face.traps.ref.png | Bin 0 -> 2250 bytes + test/reference/select-font-face.traps.rgb24.ref.png | Bin 2245 -> 0 bytes + .../show-glyphs-advance.traps.argb32.ref.png | Bin 1395 -> 0 bytes + test/reference/show-glyphs-advance.traps.ref.png | Bin 0 -> 1394 bytes + .../show-glyphs-advance.traps.rgb24.ref.png | Bin 1395 -> 0 bytes + .../show-text-current-point.traps.argb32.ref.png | Bin 2185 -> 0 bytes + .../reference/show-text-current-point.traps.ref.png | Bin 0 -> 2151 bytes + .../show-text-current-point.traps.rgb24.ref.png | Bin 2185 -> 0 bytes + test/reference/smask-text.traps.argb32.ref.png | Bin 1623 -> 0 bytes + test/reference/smask-text.traps.ref.png | Bin 0 -> 1661 bytes + test/reference/smask-text.traps.rgb24.ref.png | Bin 1623 -> 0 bytes + test/reference/smask.traps.argb32.ref.png | Bin 3404 -> 0 bytes + test/reference/smask.traps.ref.png | Bin 0 -> 3393 bytes + test/reference/smask.traps.rgb24.ref.png | Bin 3404 -> 0 bytes + test/reference/stroke-pattern.traps.ref.png | Bin 0 -> 1487 bytes + .../text-antialias-gray.traps.argb32.ref.png | Bin 975 -> 0 bytes + test/reference/text-antialias-gray.traps.ref.png | Bin 0 -> 966 bytes + .../text-antialias-gray.traps.rgb24.ref.png | Bin 975 -> 0 bytes + ...32.ref.png => text-antialias-none.traps.ref.png} | Bin + .../text-antialias-none.traps.rgb24.ref.png | Bin 265 -> 0 bytes + .../text-antialias-subpixel-bgr.traps.ref.png | Bin 0 -> 1005 bytes + .../text-antialias-subpixel-rgb.traps.ref.png | Bin 0 -> 1013 bytes + .../text-antialias-subpixel-vbgr.traps.ref.png | Bin 0 -> 985 bytes + .../text-antialias-subpixel-vrgb.traps.ref.png | Bin 0 -> 1009 bytes + .../text-antialias-subpixel.traps.argb32.ref.png | Bin 1004 -> 0 bytes + .../reference/text-antialias-subpixel.traps.ref.png | Bin 0 -> 1013 bytes + .../text-antialias-subpixel.traps.rgb24.ref.png | Bin 1004 -> 0 bytes + .../reference/text-glyph-range.traps.argb32.ref.png | Bin 1991 -> 0 bytes + test/reference/text-glyph-range.traps.ref.png | Bin 0 -> 1979 bytes + test/reference/text-glyph-range.traps.rgb24.ref.png | Bin 1991 -> 0 bytes + test/reference/text-pattern.traps.argb32.ref.png | Bin 1695 -> 3497 bytes + test/reference/text-pattern.traps.rgb24.ref.png | Bin 1397 -> 2707 bytes + test/reference/text-rotate.traps.argb32.ref.png | Bin 16599 -> 0 bytes + test/reference/text-rotate.traps.ref.png | Bin 0 -> 16597 bytes + test/reference/text-rotate.traps.rgb24.ref.png | Bin 16599 -> 0 bytes + .../unbounded-operator.traps.argb32.ref.png | Bin 2640 -> 2648 bytes + .../unbounded-operator.traps.rgb24.ref.png | Bin 1254 -> 1269 bytes + test/reference/user-font-proxy.traps.argb32.ref.png | Bin 16798 -> 0 bytes + test/reference/user-font-proxy.traps.ref.png | Bin 0 -> 16854 bytes + test/reference/user-font-proxy.traps.rgb24.ref.png | Bin 16798 -> 0 bytes + .../user-font-rescale.traps.argb32.ref.png | Bin 14852 -> 0 bytes + test/reference/user-font-rescale.traps.ref.png | Bin 0 -> 14883 bytes + .../reference/user-font-rescale.traps.rgb24.ref.png | Bin 14852 -> 0 bytes + 89 files changed, 0 insertions(+), 0 deletions(-) + +commit 2061cd81f26c04deb5a7092744295caab7bac077 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Feb 9 13:01:17 2012 +0000 + + Replace the ad-hoc surface unwrappers with a function pointer + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-analysis-surface.c | 2 ++ + src/cairo-cogl-surface.c | 1 + + src/cairo-directfb-surface.c | 1 + + src/cairo-gl-surface.c | 14 ++++++++++++++ + src/cairo-image-source.c | 12 +++--------- + src/cairo-image-surface-private.h | 5 +++++ + src/cairo-image-surface.c | 14 ++++++++++++++ + src/cairo-mask-compositor.c | 25 ++++++++----------------- + src/cairo-os2-surface.c | 1 + + src/cairo-paginated-surface.c | 9 +++++++++ + src/cairo-pattern-private.h | 8 ++++++++ + src/cairo-pdf-surface.c | 1 + + src/cairo-ps-surface.c | 1 + + src/cairo-qt-surface.cpp | 1 + + src/cairo-quartz-image-surface.c | 1 + + src/cairo-recording-surface.c | 2 ++ + src/cairo-script-surface.c | 14 ++++++++++++++ + src/cairo-spans-compositor.c | 18 ++++++------------ + src/cairo-surface-backend-private.h | 8 ++++++++ + src/cairo-surface-observer.c | 9 +++++++++ + src/cairo-surface-private.h | 4 ++++ + src/cairo-surface-snapshot.c | 9 +++++++++ + src/cairo-surface-subsurface.c | 14 ++++++++++++++ + src/cairo-surface.c | 16 ++++++++++++++++ + src/cairo-svg-surface.c | 1 + + src/cairo-tee-surface.c | 9 +++++++++ + src/cairo-traps-compositor.c | 26 +++++++++----------------- + src/cairo-type3-glyph-surface.c | 1 + + src/cairo-vg-surface.c | 1 + + src/cairo-win32-printing-surface.c | 1 + + src/cairo-win32-surface.c | 1 + + src/cairo-xcb-surface.c | 14 ++++++++++++++ + src/cairo-xlib-source.c | 17 +++++------------ + src/cairo-xlib-surface.c | 14 ++++++++++++++ + src/cairo-xlib-xcb-surface.c | 9 +++++++++ + src/cairo-xml-surface.c | 1 + + src/drm/cairo-drm-gallium-surface.c | 1 + + src/drm/cairo-drm-i915-surface.c | 2 ++ + src/drm/cairo-drm-i965-surface.c | 2 ++ + src/drm/cairo-drm-intel-surface.c | 3 +++ + src/drm/cairo-drm-radeon-surface.c | 3 +++ + src/test-compositor-surface.c | 1 + + src/test-null-compositor-surface.c | 1 + + src/test-paginated-surface.c | 1 + + 44 files changed, 232 insertions(+), 67 deletions(-) + +commit 7c34997a3ba89f2e957953aeb4bffa910dbf375b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Feb 9 11:30:34 2012 +0000 + + gl: Just flush the context upon operand destroy + + Replace the assertion that the context is flushed when we destroy the + operation and jfdi. Easiest way to resolve it rather than untangle just + why we end up there with an unflushed context. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-composite.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 8c3b86787acf525df24a3b147da73398b7d1571c +Author: Martin Robinson <mrobinson@igalia.com> +Date: Fri Jan 27 15:30:12 2012 -0800 + + gl: Fix gl-source-surface test + + When painting a GL surface pattern from one context to a + a surface of another context, be careful to manage the + multiple contexts so that they do not stomp on each other. + + [ickle: Preserve fast path for GL subsurfaces] + + src/cairo-gl-operand.c | 47 ++++++++++++++++++++++++++++++++++++++++------- + 1 file changed, 40 insertions(+), 7 deletions(-) + +commit b52296a4356a52de0f5de72d90aa1e6addb3b595 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Feb 4 16:22:40 2012 +1030 + + ps: fix extend-pad-border test failure + + src/cairo-ps-surface.c | 15 +++++++++------ + 1 file changed, 9 insertions(+), 6 deletions(-) + +commit 477bcd89d716be372ebecc2b89381f4d9745f5e2 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Feb 2 22:58:06 2012 +1030 + + ps: ensure shading domain is [ 0 1 ] + + Printing to a printer with an Adobe PostScript 3 interpreter fails + with rangecheck when the shading domain is not [ 0 1 ]. Workaround + this by using a type 3 function to map from [ 0 1] to the required + domain. + + src/cairo-ps-surface.c | 20 +++++++++++++++----- + 1 file changed, 15 insertions(+), 5 deletions(-) + +commit a004fe85291f8f941248ae5d02213c5c490a232a +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Feb 2 20:48:09 2012 +1030 + + ps: add missing 'Q' to end of page + + src/cairo-ps-surface.c | 27 +++++++-------------------- + 1 file changed, 7 insertions(+), 20 deletions(-) + +commit c6c02f519457299909c76cd116f6392c6d0e3a84 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Feb 2 02:06:45 2012 +0000 + + xlib: Only reduce a readback of an uninitialised source for pixmaps + + For a foreign drawable, we have to assume to that is dirty upon creation + or otherwise we fail to read back the correct pixel data when copying to + an image. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 24445f94684a10eeaebb3794dc7c4b20539d873b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Feb 2 01:46:56 2012 +0000 + + xlib: Set IncludeInferiors when acquiring the source image + + If we need to fallback and perform a copy first to a pixmap for a + partially unviewable Window, we need to copy its inferiors as well. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +commit b454db4b138872121ac003d4ba953f44e1a1dc60 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Feb 2 01:07:27 2012 +0000 + + xlib: Set IncludeInferiors when using CopyArea + + cairo-xlib semantics state that we copy the contents of a Window's + children when we use a Window as a source in a cairo operation. This + requires that we set the IncludeInferiors SubwindowMode on the GC. + However, we can only set one SubwindowMode for an operation and our + semantics are that drawing performed by cairo onto a Window are clipped + by its children (the ClipByChildren SubwindowMode). Therefore if we have + to copy between two Window, we can not use CopyArea. Furthermore, we + cannot tell if an external Drawable is a Window or a Pixmap, therefore + we treat all foriegn Drawables as Window. + + Failure here means falling back to a render path, where we can + independently control the subwindow mode on the source and destination, + or to a GetImage/PutImage if the xserver does not support render. + + Reported-by: Benjamin Otte <otte@redhat.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-core-compositor.c | 37 ++++++++++++++++++++++++++++++++----- + src/cairo-xlib-render-compositor.c | 26 ++++++++++++++++++++++++++ + 2 files changed, 58 insertions(+), 5 deletions(-) + +commit d95172858bbf12ff4596493c49c4eefe562cd81c +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Wed Feb 1 21:38:07 2012 +1030 + + ps: avoid using ps patterns to paint/fill gradients + + Patterns are slower and use more memory to print. For painting and + filling we can use the shading operator to draw gradients. + + src/cairo-ps-surface.c | 220 ++++++++++++++++++++++++++++++++----------------- + 1 file changed, 144 insertions(+), 76 deletions(-) + +commit 46ca65895fb84ab70f9506e02bca5e5bc915f750 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Jan 31 22:29:01 2012 +1030 + + ps: support RASTER_SOURCE patterns + + src/cairo-ps-surface-private.h | 5 - + src/cairo-ps-surface.c | 601 +++++++++++++++++++++----------- + test/reference/raster-source.ps.ref.png | Bin 0 -> 1894 bytes + 3 files changed, 389 insertions(+), 217 deletions(-) + +commit 0f40cdea1bdeedc730dde7814cdf056a12efb2cc +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Wed Jan 18 22:13:10 2012 +1030 + + api: add cairo_surface_supports_mime_type + + to allow querying if a surface supports a particular mime type. + + src/cairo-paginated-surface.c | 14 +++++++++++++- + src/cairo-pdf-surface.c | 14 ++++++++++++++ + src/cairo-ps-surface.c | 13 +++++++++++++ + src/cairo-surface-backend-private.h | 3 +++ + src/cairo-surface.c | 30 ++++++++++++++++++++++++++++++ + src/cairo-svg-surface.c | 18 ++++++++++++++++++ + src/cairo-win32-printing-surface.c | 16 ++++++++++++++++ + src/cairo.h | 4 ++++ + src/cairoint.h | 1 + + 9 files changed, 112 insertions(+), 1 deletion(-) + +commit a7c9c75ffae2e17288d131eac7e719c72fcd30b0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 17 12:37:48 2012 +0000 + + xlib: Improve choice of bits-per-pixel for depth + + The only reliable method would be to query the xserver for the + matching bpp for a particular depth. In the absence of such information, + simply chose the next higher power-of-two(depth). + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface.c | 25 +++++++++++++++---------- + 1 file changed, 15 insertions(+), 10 deletions(-) + +commit a2f419b546f620ede105b5a6b5958260925d9a50 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Jan 7 16:19:43 2012 +0100 + + rectangle: Implement _cairo_rectangle_contains_rectangle() + + And reuse it. + + src/cairo-clip-boxes.c | 7 +------ + src/cairo-image-source.c | 10 ++-------- + src/cairo-pattern.c | 26 ++++++-------------------- + src/cairo-spans-compositor.c | 10 +--------- + src/cairo-surface.c | 5 +---- + src/cairo-traps-compositor.c | 10 +--------- + src/cairoint.h | 10 ++++++++++ + 7 files changed, 22 insertions(+), 56 deletions(-) + +commit 2808bf5b95e84f3a4d8ee7b56c340860d0348a8a +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Jan 7 16:44:48 2012 +0100 + + pattern: Infinite color-only sources are always opaque + + No matter what the sampling extents are, infinite color-only sources + are opaque. + + src/cairo-pattern.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit 11493eea9bcf2f100f25fc771533b79cf245be63 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Jan 15 16:49:08 2012 +0100 + + raster-source: Do not return value in void function + + Both MSVC and Sun Studio Compiler complain about void values being + returned. + + Fixes: + cairo-raster-source-pattern.c(93) : warning C4098: + '_cairo_raster_source_pattern_release' : 'void' function returning a + value + + src/cairo-raster-source-pattern.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit c1c9424a3db1485f1529d0982af0075c1af844ff +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Jan 7 10:16:28 2012 +0100 + + quartz: Do not export private functions + + Private functions must be marked cairo_private to avoid exporting + them. + + src/cairo-quartz-private.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 7058e8c18135eddcb10fbb9fc9784c87f61f6953 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Jan 6 16:55:06 2012 +0100 + + quartz: Make glyph antialiasing consistent with quartz-font + + CAIRO_ANTIALIAS_{FAST,GOOD,BEST} were introduced and used in + cairo-quartz-font.c by commit 70cd3b473d09e9ad3d803014a904a22639db1a24. + + Fixes the warnings: + + cairo-quartz-surface.c: In function '_cairo_quartz_cg_glyphs': + cairo-quartz-surface.c:1976: warning: enumeration value 'CAIRO_ANTIALIAS_FAST' not handled in switch + cairo-quartz-surface.c:1976: warning: enumeration value 'CAIRO_ANTIALIAS_GOOD' not handled in switch + cairo-quartz-surface.c:1976: warning: enumeration value 'CAIRO_ANTIALIAS_BEST' not handled in switch + + src/cairo-quartz-surface.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 29145f4e483db8126aab36bf8686d41eb49a31b4 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Jan 6 17:17:30 2012 +0100 + + quartz: Fix building with QUARTZ_DEBUG + + Multiple code refactorings broke the debugging code. + + src/cairo-quartz-surface.c | 13 +++++++++---- + 1 file changed, 9 insertions(+), 4 deletions(-) + +commit 2bb441fd11ba494b3a750f6412d21b720e4b5a3d +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Jan 12 14:29:50 2012 +0100 + + test: Add stride-12-image + + Add a test to check that all the backends can handle images with a + stride that is not width * 4. + + test/Makefile.sources | 1 + + test/reference/stride-12-image.image16.ref.png | Bin 0 -> 61197 bytes + test/reference/stride-12-image.ps.ref.png | Bin 0 -> 77159 bytes + test/reference/stride-12-image.ref.png | Bin 0 -> 81121 bytes + test/stride-12-image.c | 71 +++++++++++++++++++++++++ + 5 files changed, 72 insertions(+) + +commit 88d589aa47995e724a7723b6114ee64a0d0ed0d2 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Jan 15 21:29:15 2012 +1030 + + ps: handle different x/y fallback resolution in Fallback Image comment + + src/cairo-ps-surface.c | 26 +++++++++++++++++++------- + 1 file changed, 19 insertions(+), 7 deletions(-) + +commit 284cba1f3776b9d9e80f6f0acdca67e4828861c1 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Jan 15 20:56:25 2012 +1030 + + test: add push/pop group to fallback test + + test/fallback.c | 25 ++++++++++++++++++++----- + test/reference/fallback.argb32.ref.png | Bin 2407 -> 3139 bytes + test/reference/fallback.rgb24.ref.png | Bin 1131 -> 2490 bytes + 3 files changed, 20 insertions(+), 5 deletions(-) + +commit 9a199fd4031986dfba99e7d6ceb63ec7cea81cad +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Jan 12 20:31:16 2012 +0100 + + xcb: Use int instead of uint16_t for rowstride + + Fixes negative-stride-image + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-connection-core.c | 2 +- + src/cairo-xcb-private.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 45d9659665fbce3484228ce5d4d94ac483f894e6 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Jan 6 16:41:41 2012 +0100 + + test: Add negative-stride-image + + Add a test to check that all the backends can handle images with + negative stride. + + test/Makefile.sources | 1 + + test/negative-stride-image.c | 71 +++++++++++++++++++++ + .../negative-stride-image.image16.ref.png | Bin 0 -> 61197 bytes + test/reference/negative-stride-image.ps.ref.png | Bin 0 -> 77159 bytes + test/reference/negative-stride-image.ref.png | Bin 0 -> 81121 bytes + 5 files changed, 72 insertions(+) + +commit 738be215dae1a98af39f68cc9ac5c338a2e44e38 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jan 11 12:45:41 2012 +0000 + + xlib: Fix typo in 5045155de6, lack of closing ';' + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-core-compositor.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit dc80e8328ce8be6414d6483a51bce074f6e740b0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jan 11 12:42:53 2012 +0000 + + subsurface: Add guards for creating similar surface + + If the target backend doesn't provide the entry points, just return NULL + (unsupported). + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-subsurface.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +commit 9e4fb906b8ab3ac3ddf5372257112bc2afa62df1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jan 11 12:39:17 2012 +0000 + + xcb: Add dimension guards to create-similar-image + + Just create a image wrapper for a 0x0 surface, and do not try to create + an image surface that is larger than the maximum X coordinate. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit 5045155de6fa7fcafc345365320f97d6a87ee063 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Jan 9 09:43:31 2012 +0000 + + xlib: Do not upload inplace if the image does not match the surface format + + Currently we perform the conversion using XPutPixel which is hideously + slow and so it is faster to create a new surface that matches the + format correctly, upload and allow X to perform the conversion. In other + words disable the "fast" path for format mismatches. + + Based on a patch by Ginn Chen <ginn.chen@oracle.com> + + Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=716462 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-core-compositor.c | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +commit 20a1676c28e57686dda3f7afab035d40228c0f6f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 8 09:51:15 2012 +0000 + + test: Add arc-direction + + A simple example of how to draw arcs. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.sources | 1 + + test/arc-direction.c | 105 +++++++++++++++++++++++++++++ + test/reference/arc-direction.base.ref.png | Bin 0 -> 5864 bytes + test/reference/arc-direction.ps.ref.png | Bin 0 -> 3295 bytes + test/reference/arc-direction.ref.png | Bin 0 -> 4124 bytes + test/reference/arc-direction.traps.ref.png | Bin 0 -> 5864 bytes + test/reference/arc-direction.xlib.ref.png | Bin 0 -> 5864 bytes + 7 files changed, 106 insertions(+) + +commit 42ad7a2385604d6c2715bc2e638e1c75245c8ffe +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jan 4 11:03:07 2012 +0000 + + perf/chart: Make the columns transculent so that the label behind is visible + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-chart.c | 48 ++++++++++++++++++++++++++++++++++++++++++++---- + 1 file changed, 44 insertions(+), 4 deletions(-) + +commit 23ca558a051ad7557476c77e6d53b5a76f3eb798 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jan 4 10:53:28 2012 +0000 + + perf/chart: Show values next to the column if too small to fit inside + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-chart.c | 20 ++++++++++++++------ + 1 file changed, 14 insertions(+), 6 deletions(-) + +commit 56a835eb9df7055922dccbc77ba48bd12e07f342 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jan 4 10:26:04 2012 +0000 + + perf/chart: Tweak labels on right not to fall off the edge + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/.gitignore | 1 + + perf/cairo-perf-chart.c | 16 ++++++++-------- + 2 files changed, 9 insertions(+), 8 deletions(-) + +commit 0a10982f8c4f08018f50ec73663761ccf7b9c839 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Jan 10 00:11:41 2012 +1030 + + pdf: support RASTER_SOURCE patterns + + src/cairo-pdf-surface-private.h | 4 + + src/cairo-pdf-surface.c | 473 +++++++++++++++++++++++++++------------- + 2 files changed, 323 insertions(+), 154 deletions(-) + +commit fefc273c53c39c750b27d35964ec250547b948af +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Jan 8 21:12:17 2012 +1030 + + test: add fallback + + to get a fallback resolution test included in index.html + + test/Makefile.sources | 1 + + test/fallback.c | 64 +++++++++++++++++++++++++++++++++ + test/reference/fallback.argb32.ref.png | Bin 0 -> 2407 bytes + test/reference/fallback.rgb24.ref.png | Bin 0 -> 1131 bytes + 4 files changed, 65 insertions(+) + +commit 6816f70da54e730e88b98c8592aa6fc84e082928 +Author: Martin Robinson <mrobinson@webkit.org> +Date: Thu Dec 15 17:42:42 2011 -0800 + + gl: Fix the offset of non-texture source surfaces + + src/cairo-gl-operand.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 4c3276e94f1eb8b6cbe4069be3d1d89f00bbbc0d +Author: Pekka Paalanen <ppaalanen@gmail.com> +Date: Fri Dec 16 16:27:40 2011 +0200 + + egl: do not destroy dummy_surface if it does not exist + + On deleting an EGL device, it is possible that + cairo_egl_context_t::dummy_surface is EGL_NO_SURFACE. In that case + calling eglDestroySurface() on it will lead to EGL_BAD_SURFACE error. + + Check dummy_surface before destroying it. + + Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-egl-context.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit b845a191d55bb8ed07acdd06cbf3e47b3b7dd202 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Thu Dec 15 17:41:50 2011 -0800 + + gl/msaa: Scissor simple rectangular clips + + Instead of using the stencil buffer to perform simple + rectangular clips, just scissor the clip rectangle. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + [ickle: fixed application to master] + + src/cairo-gl-msaa-compositor.c | 80 ++++++++++++++++++++++++++++-------------- + 1 file changed, 53 insertions(+), 27 deletions(-) + +commit 5ce6e0279308736420654fa49b47f0bdf5f782eb +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Dec 15 13:04:02 2011 -0800 + + test: Use fork() on MacOS X + + MacOS X 10.7 (and maybe some previous versions, too) can fork() + processes which use CoreGraphics. This makes it possible for + cairo-test-suite to withstand a test crash without killing the whole + suite. + + The old behavior is still available using the '-f' (foreground) + option. + + test/cairo-test-runner.c | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +commit bbe692372d593a70d80de9fdb0de521a9f012f08 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Thu Dec 15 10:49:27 2011 -0800 + + gl/msaa: Ignore the antialiasing property of the clip. + + If the clip suggests anti-aliasing and we don't support it, + draw the clip anyway. Currently disabling anti-aliasing does + not disable anti-aliasing on certain clips. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-msaa-compositor.c | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +commit b98c8c126989e1158c3f78d8e5f20834a2af10b2 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Thu Dec 15 10:48:16 2011 -0800 + + gl/msaa: If stenciling the clip fails, reset the color mask. + + If the clip failed, not resetting the color mask leaves the GL context + in a state in which we cannot draw anything. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-msaa-compositor.c | 1 + + 1 file changed, 1 insertion(+) + +commit 8f74159d9295c8570c244c6e3c454937c842b9d3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Dec 15 19:12:00 2011 +0000 + + gl: Disable the msaa compositor by default (for release testing) + + One of the remaining issues with msaa is Cairo's insistence on + allocating a depth-stencil for every target. These cause massive + overallocation and prevents my machines from completing + cairo-perf-trace. So for the time being switch back to the old + fashioned span-based compositor. + + To continue development of msaa, or indeed other compositors, we + introduce the CAIRO_GL_COMPOSITOR env variable to allow the default + compositor to be selected. Use CAIRO_GL_COMPOSITOR=msaa to continue to + use the msaa compositor for instance. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-device.c | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +commit 909f4a4a7f0a6082f4f1e9edaba8034a819a12ec +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Dec 12 13:52:27 2011 +0000 + + gl: Set the destination for swap buffers, required by EGL at least + + EGL mandates that the current context be valid for a call to + swapbuffers, and does not just operate upon the drawable passed in. The + current code prevents this as a side effect of calling flush decouples + the current context (so that the state can be clobbered by the + application without impacting upon Cairo). So when we try to swap, EGL + complains. + + We can get the desired behaviour by setting the surface upon the + context, thus calling MakeCurrent as necessary, and then flushing any + pending operations before swapping. This has the positive side-effect + of not clobbering our own state unnecessarily. + + Reported-by: Pekka Paalanen <ppaalanen@gmail.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-surface.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 8025fcc4d38db1e2f7adabe732dbde481b6aeade +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Dec 11 13:58:10 2011 +0100 + + xcb: Add a special case for recording surface + + An unbounded recording surface will complain loudly when you call + acquire_source_image on it and thus we need a special case which draws the + recording surface to a temporary surface and then proceeds with that. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 70 ++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 70 insertions(+) + +commit 420110d12bd74969f84d6a1979b33f1d71d63c43 +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Dec 11 13:41:39 2011 +0100 + + xcb: Move the surface picture setup into its own function + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 52 ++++++++++++++++++++++++------------------ + 1 file changed, 30 insertions(+), 22 deletions(-) + +commit fe04df11ed491db719f299213665bfe8be83c971 +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Dec 11 11:17:06 2011 +0100 + + xcb: Silence compiler warnings about ignored return values + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-connection.c | 10 ++++++++-- + src/cairo-xcb-surface-render.c | 1 + + 2 files changed, 9 insertions(+), 2 deletions(-) + +commit b6fcf0768c361b15db09d5732b92613a41168a25 +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Dec 11 11:10:20 2011 +0100 + + xcb: Silence a compiler warning for mixing type and internal type enums + + cairo-xcb-surface-render.c:1134:35: warning: comparison between + 'cairo_surface_type_t' and 'enum _cairo_internal_surface_type' [-Wenum-compare] + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit be288ce016e4f56fac298bae603a5e5fa5f26df5 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Dec 10 00:40:54 2011 +1030 + + doc: fix typos + + src/cairo.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit c7ea92907a7eaaf62136755d0b6c60da913d1057 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Dec 9 23:52:00 2011 +1030 + + ps: simplify the EPS save and restore + + userdict is not permitted in EPS files. Since the PS surface does not + leave extra operators or dictionaries on the stack the EPS prolog and + trailer can be reduced to: + + save + 50 dict begin + + .... + + end + restore + + The save/restore pair is required to remove fonts and restore the + graphics state. As "restore" does not restore the dictionary stack, + using a new current dictionary for the EPS file allows the cairo dict + entries to be cleaned up at the end the EPS. + + Bug 43634 + + src/cairo-ps-surface.c | 10 +++------- + 1 file changed, 3 insertions(+), 7 deletions(-) + +commit f446e57f350190f3ecc4758fe5cc2c6e949ff7b9 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Dec 9 09:20:23 2011 +0000 + + gl: Track surface references through operands + + In the case where we created a surface to handle an operand, it needs to + be freed when we release the operand. However, we also have to be + careful not to introduce reference cycles into ordinary surfaces, so + always remember to teardown the composite setup! + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-operand.c | 4 ++++ + src/cairo-gl-private.h | 1 + + 2 files changed, 5 insertions(+) + +commit 8d4425053d126ead3087fe59c69063bce3b42cb5 +Author: Chuanbo Weng <strgnm@gmail.com> +Date: Fri Dec 9 16:13:59 2011 +0800 + + gl: fix bug in _cairo_gl_surface_embedded_operand_init() + + The operand->texture.surface should be set to right value, not + NULL. Otherwise, when doing _cairo_gl_surface_operand_init(), + the texture.surface in operand struct will also be NULL, which + is incorrect. This fix regression suite in 43 test cases(such + as source-clip) in cairo/test/. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-operand.c | 1 - + src/cairo-gl-surface.c | 2 +- + 2 files changed, 1 insertion(+), 2 deletions(-) + +commit 2a60e8deecd8f63671cd595012843a665187d695 +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Dec 8 22:41:10 2011 +0100 + + xcb: Fix invalid casts from cairo_content_t to cairo_format_t + + This was introduced in a69335a84e when the second argument of + _cairo_xcb_surface_create_similar_image was changed from content to format. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit d828c724c06cea151fc87ef2bb98e57be0cdba46 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Dec 7 17:47:34 2011 +0000 + + gl: Decouple the glyph upon eviction + + In order to decouple the texture node from the scaled glyph cache, we + need to add a callback from the rtree for when the node is removed. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-composite.c | 4 ++ + src/cairo-gl-glyphs.c | 55 +++++++++++++------------- + src/cairo-gl-private.h | 7 ++++ + src/cairo-rtree-private.h | 6 ++- + src/cairo-rtree.c | 99 ++++++++++++++++++----------------------------- + 5 files changed, 81 insertions(+), 90 deletions(-) + +commit 98335b43907b25585c597ae0ff657fdb45c29b05 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Dec 7 13:14:58 2011 +0000 + + doc: Add documentation for cairo_raster_source_pattern + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + doc/public/cairo-sections.txt | 20 +++++ + src/cairo-raster-source-pattern.c | 151 ++++++++++++++++++++++++++++++++++++++ + src/cairo.h | 70 ++++++++++++++++++ + 3 files changed, 241 insertions(+) + +commit cff0097954657a459707e2af30c0bc49643cd289 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Dec 7 11:56:38 2011 +0000 + + gl: Prevent leak of the white source used with glyph masks + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-glyphs.c | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +commit 5613b210fffccd74dc2c3039ca0f1b628e306411 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Dec 7 10:19:37 2011 +0000 + + gl: Defer stencil allocation until use + + Allocating a stencil and a depth buffer for every destination surface is + simply too expensive and causes major resource issues. So defer the + allocation and attachment of a stencil buffer until just prior to first + use. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-device.c | 55 ++++++++++++++++++++++++++++-------------- + src/cairo-gl-msaa-compositor.c | 2 +- + src/cairo-gl-private.h | 4 +++ + 3 files changed, 42 insertions(+), 19 deletions(-) + +commit c7565eeda0bde4f388745c3c235053054059c1fa +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Dec 6 19:00:26 2011 +0000 + + test: Exercise copy/filling unsorted rectangles + + Exercise the bug Keith found in the xlib backend, which claimed the + output from the rectangular tessellator would always be sorted. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.sources | 2 + + test/copy-disjoint.c | 87 +++++++++++++++++++++++++++++++++++ + test/fill-disjoint.c | 63 +++++++++++++++++++++++++ + test/reference/copy-disjoint.ref.png | Bin 0 -> 1098 bytes + test/reference/fill-disjoint.ref.png | Bin 0 -> 1098 bytes + 5 files changed, 152 insertions(+) + +commit 950021f8811cfc1f2394c5c5dcaf2371bb4419e7 +Author: Keith Packard <keithp@keithp.com> +Date: Tue Dec 6 09:58:18 2011 -0800 + + Clip rectangles are not necessarily YSorted + + None of the cairo clipping computations guarantee that the resulting + list of rectangles are constructed in any particular order. Promising + that they are results in an X error (BadMatch) which generally causes + applications to crash. + + I suspect this may well be implicated in many (many) bug reports about + applications which use cairo. + + Signed-off-by: Keith Packard <keithp@keithp.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-render-compositor.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d60a2930e1743ad634794472c66a303595ce1290 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Dec 6 14:56:49 2011 +0000 + + test: reference ref images after tweaking polygon clipping + + test/reference/a1-tiger.ref.png | Bin 20330 -> 20326 bytes + test/reference/clip-nesting.argb32.ref.png | Bin 1072 -> 1080 bytes + test/reference/clip-nesting.rgb24.ref.png | Bin 949 -> 954 bytes + test/reference/clip-operator.argb32.ref.png | Bin 8180 -> 8158 bytes + test/reference/clip-operator.rgb24.ref.png | Bin 3199 -> 3231 bytes + test/reference/hatchings.ref.png | Bin 46499 -> 45496 bytes + test/reference/mask.argb32.ref.png | Bin 8218 -> 8193 bytes + test/reference/mask.rgb24.ref.png | Bin 7007 -> 6985 bytes + .../random-intersections-curves-eo.ref.png | Bin 156582 -> 156491 bytes + .../random-intersections-curves-nz.ref.png | Bin 151330 -> 151310 bytes + test/reference/record-fill-alpha.ref.png | Bin 2173 -> 2171 bytes + .../reference/record-paint-alpha-clip-mask.ref.png | Bin 325 -> 340 bytes + test/reference/rel-path.rgb24.ref.png | Bin 184 -> 183 bytes + test/reference/scale-offset-image.ref.png | Bin 7695 -> 7688 bytes + test/reference/scale-offset-similar.ref.png | Bin 7695 -> 7688 bytes + test/reference/tiger.ref.png | Bin 71110 -> 71094 bytes + 16 files changed, 0 insertions(+), 0 deletions(-) + +commit 291efa76de7572720e82b25cc105bb94fd351cd4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Dec 6 14:45:27 2011 +0000 + + polygon: Tweak the y-coordinates of the edge so that it is inside the clip + + As we evaluate the line first using y-for-x to find the clipped + vertical range and then rasterise the line using x-for-y, we can incur + severe rounding errors that cause us to draw beyond the clipped region. + The first simple attempt at a fix is to tweak the clipped vertical range + such that the evaluated extents of the line are contained. + + Reported-by: Taekyun Kim <tkq.kim@samsung.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-polygon.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +commit 19dd6e7e530275aa1ee37dea922c8396b1077758 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Dec 6 14:44:57 2011 +0000 + + polygon: Assert that we add edges that are wholly contained by the clip + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-polygon.c | 43 ++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 42 insertions(+), 1 deletion(-) + +commit 6b472e12ae11f7b68289cdfd616e765be9a25a98 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Dec 6 10:27:17 2011 +0000 + + gl: Re-enable the CLEAR optimisation + + It was temporarily disabled whilst the surface API was in flux. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-surface.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +commit a8cbb007844b04937b36cc387d5ad29b5fc70119 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Dec 6 20:47:14 2011 +1030 + + pdf: avoid using pdf patterns to paint/fill translucent linear/radial gradients + + src/cairo-pdf-surface.c | 93 ++++++++++++++++++++++++++++++------------------- + 1 file changed, 58 insertions(+), 35 deletions(-) + +commit 79f430e7ada4384390dc03caab2af0ffc1603885 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Dec 6 20:46:49 2011 +1030 + + pdf: avoid using pdf patterns to paint/fill opaque linear/radial gradients + + Patterns are slower and use more memory to print. For painting and + filling we can use the shading operator to draw gradients. + + src/cairo-pdf-surface-private.h | 2 + + src/cairo-pdf-surface.c | 237 ++++++++++++++++++++++++++++++++++------ + 2 files changed, 205 insertions(+), 34 deletions(-) + +commit dee48f0dcadf96e88872894a1cef280905cd255f +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Dec 6 20:46:35 2011 +1030 + + ps: allow embedding of cmyk jpeg images + + src/cairo-ps-surface.c | 26 +++++++++++++++++++++----- + 1 file changed, 21 insertions(+), 5 deletions(-) + +commit 74c0a06105e3d08b057a770e0545849836f6babb +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Dec 6 20:46:21 2011 +1030 + + pdf: allow embedding of cmyk jpeg images + + src/cairo-pdf-surface.c | 18 +++++++++++++++--- + 1 file changed, 15 insertions(+), 3 deletions(-) + +commit 25e35b46bfd2a71a8cf0484e51351961ad1c82a3 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Dec 6 20:45:31 2011 +1030 + + ps: avoid padding images if the padding is not required to fill the extents + + src/cairo-ps-surface.c | 59 ++++++++++++++++++++++++++++++-------------------- + 1 file changed, 35 insertions(+), 24 deletions(-) + +commit c7ce1b68d5370f6e804a6edbf5be4bca3a5b7c57 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Dec 6 20:45:14 2011 +1030 + + pdf: don't use patterns with padded images + + and avoid padding if the padding is not required to fill the extents. + + src/cairo-pdf-surface.c | 246 ++++++++++++++++++++++++++---------------------- + 1 file changed, 131 insertions(+), 115 deletions(-) + +commit 346b8fe3984acd2127285f4a57516a3deda5df25 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Dec 6 20:44:50 2011 +1030 + + type1-subset: remove unused variables + + src/cairo-type1-subset.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit ed7157d705ba9bfe3cc95f1e7b0ea11a91df7fa3 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Dec 6 20:44:22 2011 +1030 + + truetype-subset: remove unused variable + + src/cairo-truetype-subset.c | 2 -- + 1 file changed, 2 deletions(-) + +commit 3ebe0ca876c10425b88033683d7f85dcddcc09be +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Dec 5 22:55:58 2011 +0100 + + xlib-xcb: Implement surface_set_drawable + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xlib-xcb-surface.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 9ec5e9fee64cb9dd835477e3565170c522863ea9 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Dec 5 22:48:56 2011 +0100 + + xcb: Fixup some internal state in set_{drawable,size} + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-surface.c | 2 +- + src/cairo-xcb-surface.c | 28 +++++++++++++++++++++++++--- + src/cairoint.h | 3 +++ + test/api-special-cases.c | 8 ++++++++ + 4 files changed, 37 insertions(+), 4 deletions(-) + +commit 3dbb0f17a74e98ecf790e9d2c9fb8622e3928486 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Dec 5 18:32:58 2011 +0000 + + gl: Unbreak the glyph cache + + Use the embedded operand on the surface instead of copying it across and + trying to then wrap the surface from it - as it would then unref the + glyph cache surface after the operation and so we would lose the glyphs. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-glyphs.c | 24 +++++++++++------------- + src/cairo-gl-private.h | 2 +- + 2 files changed, 12 insertions(+), 14 deletions(-) + +commit e68eb874e9cdeb087834a65cc356e94d9bbbeeb8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Dec 5 16:38:05 2011 +0000 + + fallback: fix the offset for painting + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-fallback-compositor.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit dd73add00c7886467d60e27cca8311e3cf5ee2e2 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Dec 5 16:20:53 2011 +0000 + + gl: Set the device offset on map-to-image + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-surface.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit f7daaa8fce8dd399500551d84cf6207824e5c28e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Dec 5 16:07:45 2011 +0000 + + gl: Propagate clip region + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-composite.c | 1 + + src/cairo-gl-private.h | 2 ++ + src/cairo-gl-traps-compositor.c | 2 +- + 3 files changed, 4 insertions(+), 1 deletion(-) + +commit 3b1151f60d28d4e0de7160043cf24579751425cc +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Dec 5 15:41:23 2011 +0000 + + gl: Substitute the white source for the default pattern + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-source.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 0ce8dad9a2330575276b28a37098fe6cc4bf877f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Dec 5 15:39:03 2011 +0000 + + gl: Decouple glyphs on shutdown from the scaled font caches + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-glyphs.c | 24 ++++++++++++++---------- + src/cairo-rtree-private.h | 5 +++++ + src/cairo-rtree.c | 28 ++++++++++++++++++++++++++++ + 3 files changed, 47 insertions(+), 10 deletions(-) + +commit 31c0726f682159e6465719c389975ec8885fa38b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Dec 5 15:28:10 2011 +0000 + + gl: Embed the operand rather than a pattern into the glyph cache + + Use the native encoding for patterns. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-glyphs.c | 48 ++++++++++++++++++------------------------------ + src/cairo-gl-private.h | 2 +- + 2 files changed, 19 insertions(+), 31 deletions(-) + +commit 16038150b3691d4d4a320a727afc107cd0937ac6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Dec 5 15:03:43 2011 +0000 + + gl: Use the embedded operand to allow passing sources around + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 1 + + src/cairo-gl-glyphs.c | 7 --- + src/cairo-gl-operand.c | 79 +++++------------------------- + src/cairo-gl-private.h | 16 +++++- + src/cairo-gl-source.c | 106 ++++++++++++++++++++++++++++++++++++++++ + src/cairo-gl-spans-compositor.c | 75 +--------------------------- + src/cairo-gl-surface.c | 2 +- + src/cairo-gl-traps-compositor.c | 59 +--------------------- + 8 files changed, 136 insertions(+), 209 deletions(-) + +commit 65cd7d3bebe12e0db61b2739a7950d1ed49c20f3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Dec 5 16:02:51 2011 +0000 + + gl: Propagate surface texture to embedded operand + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d7dcf9d28fdf05c8acabd8ed3dc25e0cf279e61e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Dec 5 14:42:15 2011 +0000 + + gl: Check against user-provided invalid sizes + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-egl-context.c | 3 +++ + src/cairo-glx-context.c | 3 +++ + src/cairo-wgl-context.c | 3 +++ + 3 files changed, 9 insertions(+) + +commit 3edf369eade8b587aeaa162bd3bbeb3546c35b84 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Dec 5 14:40:19 2011 +0000 + + gl: Make the backend struct static + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-private.h | 2 -- + src/cairo-gl-surface.c | 7 +++++-- + 2 files changed, 5 insertions(+), 4 deletions(-) + +commit 934a3dcc6b218056b685885ef7d373578378caf5 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Dec 2 16:19:48 2011 +0000 + + doc: Drop the gtk-doc markup from _cairo_radial_pattern_focus_is_inside + + Stop confusing gtk-doc with this private function. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-pattern.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit aa5a9c46e1b1b8e93db8762fec1c902704ed44a9 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Dec 2 16:17:18 2011 +0000 + + doc: add CAIRO_DEVICE_TYPE_COGL + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo.h | 1 + + 1 file changed, 1 insertion(+) + +commit 4a0913eb52be9aa0c8bda89652f47a5e17f4eeb6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Dec 2 16:16:32 2011 +0000 + + doc: Add new antialias symbols + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo.h | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit d6440f2d661446e2f70047b0c986e572ab5d7336 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Dec 2 16:12:02 2011 +0000 + + script: Add documentation + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-script-surface.c | 160 +++++++++++++++++++++++++++++++++++++++------ + src/cairo-script.h | 11 +++- + 2 files changed, 148 insertions(+), 23 deletions(-) + +commit d86ce9ca2f39f2d39dcde632179d0be55a38abdc +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Dec 2 15:35:42 2011 +0000 + + doc: Add sections for cairo-script + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + doc/public/cairo-sections.txt | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +commit 498ca4bf74b5c6202e74a71f2134baae9f5cad69 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Dec 2 15:16:11 2011 +0000 + + doc: Add similar-image, map-to-image, unmap-image + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + doc/public/cairo-sections.txt | 3 +++ + 1 file changed, 3 insertions(+) + +commit 9156339295e0223f8c806baaefa293c98a37ba93 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Dec 2 15:08:40 2011 +0000 + + xcb: Silence a compiler warning for mixing status and internal status enums + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit b9d4a5f1068ac038ca47fdad7dcf05dfa21b211b +Author: Keith Packard <keithp@keithp.com> +Date: Fri Dec 2 14:57:24 2011 +0000 + + Add cairo_xcb_surface_set_drawable + + Mirrors cairo_xlib_surface_set_drawable, allowing the drawable + targeted by a surface to be changed on the fly. + + Signed-off-by: Keith Packard <keithp@keithp.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + doc/public/cairo-sections.txt | 1 + + src/cairo-xcb-private.h | 1 + + src/cairo-xcb-surface.c | 68 +++++++++++++++++++++++++++++++++++++++++++ + src/cairo-xcb.h | 6 ++++ + 4 files changed, 76 insertions(+) + +commit a30013f72a4096085d1ddd60180644132ae87522 +Author: Keith Packard <keithp@keithp.com> +Date: Fri Dec 2 14:57:23 2011 +0000 + + Create XCB documentation. + + Signed-off-by: Keith Packard <keithp@keithp.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + doc/public/cairo-docs.xml | 2 +- + doc/public/cairo-sections.txt | 9 +++++++++ + 2 files changed, 10 insertions(+), 1 deletion(-) + +commit d5c7d2e2f4e201166e3f0df4ae326f10bdcfe07c +Author: Keith Packard <keithp@keithp.com> +Date: Fri Dec 2 14:57:22 2011 +0000 + + cairo-xcb: gtk-doc doesn't like _ in parameter names + + Any function documented with gtk-doc must not have _ in any parameter + names, or at least that's what I've found. This patch simply renames + parameters as needed to make things work. + + Signed-off-by: Keith Packard <keithp@keithp.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface.c | 48 ++++++++++++++++++++++++------------------------ + 1 file changed, 24 insertions(+), 24 deletions(-) + +commit a6def3874ccb80b8e64ab1c750221f5525c09d0e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Nov 25 12:29:51 2011 +0000 + + gl: Even repeating subsurfaces need to be cloned + + As we can't reuse the existing surface definition for a repetition of + the subsurface. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-operand.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +commit f308ba7a444741b2cb26f7b09f86553723d7a22f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Nov 25 12:22:56 2011 +0000 + + subsurface: Replace any existing snapshot + + Only allow one owner to keep their snapshot on the subsurface, and + so automatically replace any previous snapshot. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-operand.c | 2 +- + src/cairo-surface-subsurface.c | 4 +++- + src/cairo-xlib-source.c | 2 +- + 3 files changed, 5 insertions(+), 3 deletions(-) + +commit 03be2019cd12936cf86d304a9391b5be2bf6e39e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Nov 25 12:21:18 2011 +0000 + + gl: And enable subsurface caching of the clones + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-operand.c | 55 ++++++++++++++++++++++++++++---------------------- + 1 file changed, 31 insertions(+), 24 deletions(-) + +commit 5f6d3fe40b52785c80f210c6597328311c987eb3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Nov 25 12:15:31 2011 +0000 + + gl: Temporarily clone a subsurface as required + + When the sample extents exceed the subsurface bounds we need to clone + the subsurface into a regular surface in order to correctly handle the + CAIRO_EXTEND_NONE extend mode (i.e prevent sampling out-of-bounds). + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-operand.c | 77 +++++++++++++++++++++++++++++++++++++++++++++++--- + 1 file changed, 73 insertions(+), 4 deletions(-) + +commit 4713562eda23c299b6065bd2cca9cb29d08e0763 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Nov 25 10:50:21 2011 +0000 + + trace: Remove the warning about the unstable format + + We're stuck with the PostScript style for this generation now. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-trace/trace.c | 1 - + 1 file changed, 1 deletion(-) + +commit f5f303f10dd9c698e5d81d17b3fd8336508fd586 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Nov 25 10:48:50 2011 +0000 + + script: Prefer polymorphorism for mesh path construction + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-script/cairo-script-operators.c | 158 +++++++++-------------------- + 1 file changed, 47 insertions(+), 111 deletions(-) + +commit 8844d50308e03e7eb1d6e1530bb4bd98be490cea +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Nov 25 00:59:31 2011 +0000 + + Convert cairo_mime_surface_t to cairo_raster_source_pattern_t + + As discussed, overloading the cairo_surface_t semantics to include + sources (i.e. read-only surfaces) was duplicating the definition of + cairo_pattern_t. So rather than introduce a new surface type with + pattern semantics, start along the thorny road of extensible pattern + types. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 2 +- + src/cairo-gl-operand.c | 55 +-- + src/cairo-image-source.c | 95 +++++ + src/cairo-mime-surface.c | 405 --------------------- + src/cairo-pattern-private.h | 41 ++- + src/cairo-pattern.c | 130 ++++++- + src/cairo-pdf-surface.c | 4 +- + src/cairo-ps-surface.c | 5 + + src/cairo-raster-source-pattern.c | 280 ++++++++++++++ + src/cairo-script-surface.c | 32 +- + src/cairo-surface-observer.c | 6 +- + src/cairo-svg-surface.c | 1 + + src/cairo-xcb-surface-core.c | 1 + + src/cairo-xcb-surface-render.c | 3 +- + src/cairo.h | 90 +++-- + test/Makefile.sources | 2 +- + test/{mime-surface.c => raster-source.c} | 90 ++--- + ...2.ref.png => raster-source.base.argb32.ref.png} | Bin + ...24.ref.png => raster-source.base.rgb24.ref.png} | Bin + ...{mime-surface.ref.png => raster-source.ref.png} | Bin + ....ref.png => raster-source.traps.argb32.ref.png} | Bin + ...4.ref.png => raster-source.traps.rgb24.ref.png} | Bin + util/cairo-trace/trace.c | 27 +- + 23 files changed, 692 insertions(+), 577 deletions(-) + +commit 2c4f6bbfbcaacea41386c36f42210120ee815055 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Nov 24 01:08:30 2011 +0000 + + gl: Prevent the traps compositor from exploding + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-compositor-private.h | 3 ++ + src/cairo-gl-composite.c | 5 +-- + src/cairo-gl-glyphs.c | 10 ++++-- + src/cairo-gl-operand.c | 2 ++ + src/cairo-gl-surface.c | 2 ++ + src/cairo-gl-traps-compositor.c | 62 ++++++++++++++++++++++++++------------ + src/cairo-image-compositor.c | 8 ++++- + src/cairo-traps-compositor.c | 20 ++++++++++++ + src/cairo-xlib-render-compositor.c | 13 +++++++- + src/test-null-compositor-surface.c | 8 ++++- + 10 files changed, 105 insertions(+), 28 deletions(-) + +commit 5e4a0bd892263a5801fdaaa9fa5dbbcfc14c211a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Nov 23 23:05:14 2011 +0000 + + gl: Embed a operand into the surface for pass-through + + The traps compositor expects to be able to pass either in a surface or a + source to its composite functions, so make it so. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-private.h | 93 ++++++++++++++++++++++++++------------------------ + src/cairo-gl-surface.c | 24 +++++++++++++ + 2 files changed, 72 insertions(+), 45 deletions(-) + +commit 4cf001244a589b5bf1b3745327948f87c397c22f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Nov 23 22:53:50 2011 +0000 + + gl: Avoid cleaning up an uninitialised composite upon UNSUPPORTED + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-spans-compositor.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 5edb3a29b9210fda9e2dc95f7a999675402b471c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Nov 23 22:08:03 2011 +0000 + + gl: Fallback for complex subsurfaces + + In the process we need to supply the sampled area and operation extents + into the operands. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-composite.c | 24 +++----- + src/cairo-gl-glyphs.c | 3 +- + src/cairo-gl-msaa-compositor.c | 16 ++---- + src/cairo-gl-operand.c | 119 +++++++++++++++++++++++++++------------- + src/cairo-gl-private.h | 17 +++--- + src/cairo-gl-spans-compositor.c | 23 +++----- + src/cairo-gl-traps-compositor.c | 7 +-- + 7 files changed, 113 insertions(+), 96 deletions(-) + +commit 12b8f941612d131793cc053d49cd7759aa5c97ca +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Nov 23 21:39:25 2011 +0000 + + gl: Correctly offset sub-image uploads + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-surface.c | 33 +++++++++++++++++++++------------ + 1 file changed, 21 insertions(+), 12 deletions(-) + +commit e280e67b86040b5c0b256d24c0cc644f13761d89 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Nov 23 21:20:21 2011 +0000 + + gl: Update glyphs to use cairo_gl_source_t + + It was being passed into the function but then interpreted as a + cairo_pattern_t. Fix it! + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-glyphs.c | 24 +++++++++++------------- + src/cairo-gl-private.h | 9 +++++++++ + src/cairo-gl-spans-compositor.c | 25 +++++++++++++++++++------ + src/cairo-gl-traps-compositor.c | 6 ------ + 4 files changed, 39 insertions(+), 25 deletions(-) + +commit d99ebe9862743c99ebe263ea0e8526a5a082d6db +Author: Martin Robinson <mrobinson@igalia.com> +Date: Fri Nov 11 14:25:56 2011 -0800 + + gl: Properly prepare the source when compositing glyphs with a mask. + + After the architecture rewrite, glyph compositing via a mask was + disabled. This change reinstates that. + + src/cairo-gl-glyphs.c | 22 +++++++++++++--------- + 1 file changed, 13 insertions(+), 9 deletions(-) + +commit 33c59030b566ef647c007858b81af6317a8d8740 +Author: Martin Robinson <mrobinson@webkit.org> +Date: Thu Oct 13 15:52:57 2011 -0700 + + gl: Fix offset for non-texture surface patterns + + Instead of drawing only a portion of the image into the intermediate + texture, draw the entire image and adjust the translation matrix to + compensate. + + src/cairo-gl-operand.c | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +commit c94c3eede088fed36866c934a2637ea49e687a1c +Author: Martin Robinson <mrobinson@igalia.com> +Date: Thu Oct 27 11:50:18 2011 -0700 + + gl/msaa: Fix scissor bounds + + Scissor bounds should depend on both the height and y coordinate + of the bounding box. Also remove _cairo_gl_y_flip() since we were + the last caller. + + src/cairo-gl-msaa-compositor.c | 5 +++-- + src/cairo-gl-private.h | 9 --------- + 2 files changed, 3 insertions(+), 11 deletions(-) + +commit e3ec127e39bfa567f5d5d795216523f334e76850 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Nov 23 20:15:55 2011 +0100 + + subsurface: Fix 'make check' + + 2fb4a0e119b075921442dd2266f4dcc24c9f12e7 made the + _cairo_surface_subsurface_set_snapshot available with default + visibility. + + 'make check' correctly points out that it should be marked as private. + + src/cairo-surface-subsurface-private.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 6a2b754ec9d2e6dd52b9e51fd674531b3a7e2320 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Nov 23 18:22:59 2011 +0000 + + xlib: Eliminate redundant copies of subsurfaces + + If the sample is wholly contained within the subsurface of the original, + we can simply use the original with an offset; thereby only copying the + data if we are sampling outside the subsurface bounds. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-source.c | 207 +++++++++++++++++++++++++----------------------- + 1 file changed, 106 insertions(+), 101 deletions(-) + +commit 49d3a6a95e52876a8660855589d01bd0ec8ab473 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Nov 23 17:34:29 2011 +0000 + + xlib: Cache the subsurface Picture + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-source.c | 79 ++++++++++++++++++++++++++++++++----------------- + 1 file changed, 52 insertions(+), 27 deletions(-) + +commit 763d98071e2bdcddb7694e993905d27345b54b2d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Nov 23 17:32:53 2011 +0000 + + surface: Bump reference count around finish + + In order to handle reference cycles during finish (through snapshots) we + need to bump the reference on the surface first. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface.c | 53 ++++++++++++++++++++++++++++++-------------------- + src/cairo-xcb-screen.c | 4 ---- + 2 files changed, 32 insertions(+), 25 deletions(-) + +commit 2fb4a0e119b075921442dd2266f4dcc24c9f12e7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Nov 23 15:49:53 2011 +0000 + + subsurface: Support caching for cloned subsurfaces + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-subsurface-private.h | 4 ++++ + src/cairo-surface-subsurface.c | 28 ++++++++++++++++++++++++++++ + 2 files changed, 32 insertions(+) + +commit 894d8c8bf7cd83be8775c79233f21d9c11c14b2a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Nov 23 15:40:15 2011 +0000 + + xlib: Handle subsurfaces correctly + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-source.c | 99 +++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 99 insertions(+) + +commit e217677ce6a3f853144d1bc2b33423e1e0a64773 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Nov 23 14:57:35 2011 +0000 + + xlib: ADD only reduces to SOURCE for alpha-only targets + + Fixes operator. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-render-compositor.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +commit 44a868b552f0cbf22f35e8a4e4e0daee555344a3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Nov 23 14:28:27 2011 +0000 + + subsurface: And remove the dead code for releasing complex source + + Following the previous commit, we only allocate a simple image when + acquiring the source so we only need to unreference it upon release. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-subsurface.c | 14 -------------- + 1 file changed, 14 deletions(-) + +commit 1fe16f75b1c7707949eaa9f5c34f908784990b60 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Nov 23 14:12:50 2011 +0000 + + image: Remove dubious "optimisations" for acquired source images + + By this point we have already paid the penalty for acquiring the source + image, so kiss. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-source.c | 29 ----------------------------- + 1 file changed, 29 deletions(-) + +commit c52129feb429863f820928434185b6605dd4f1a6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Nov 23 12:25:59 2011 +0000 + + subsurface: Simplify acquire_source_image + + Remove all of the special casing and simply extract the source. The time + for special casing is to avoid calling the generic acquire in the first + place, so kiss. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-subsurface.c | 136 +++++++---------------------------------- + 1 file changed, 21 insertions(+), 115 deletions(-) + +commit 73dc2c4e272f52dfffb2c268f4e8ee5ff0d57639 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Nov 23 12:05:43 2011 +0000 + + image: Only unwrap a subsurface if the sample is fully contained + + In order to handle out-of-bounds sampling of a subsurface target we need + to first avoid incorrectly unwrapping it. + + Fixes crash in subsurface-outside-target + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-source.c | 30 ++++++++++++++++-------------- + 1 file changed, 16 insertions(+), 14 deletions(-) + +commit 8d989d2b2dfe74884e0233fbaefb02064b19ca8c +Author: Murray Cumming <murrayc@murrayc.com> +Date: Fri Nov 18 10:56:55 2011 +0100 + + cairo_surface_observer_mode_t: Remove trailing comma. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 56746110fe0a83979ceb51f7b186b2b74f7ff974 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Nov 21 16:57:42 2011 +0000 + + polygon-intersection: Finish any edges upon intersection + + In order to keep the bookkeeping in order, and so prevent a later + assert, we need to clear any edges when swapping the active edge order + upon an intersection event. The active edges are then reconstructed. + + Fixes evince http://www.horizonhobby.com/pdf/BLH3500-Manual_EN.pdf + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-polygon-intersect.c | 13 +++++++++---- + 1 file changed, 9 insertions(+), 4 deletions(-) + +commit adb5eb6f69db3fa26abb7cfe64cad84f82eb96bb +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Nov 18 12:23:02 2011 +0100 + + xcb: Fix typo + + src/cairo-xcb-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 9ecc3aafca25cdf215ce74fe1edbddfdf18b3e10 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Nov 18 10:04:12 2011 +0000 + + perf: Compile fix, add the index to cairo_perf_report_load() + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-graph-files.c | 2 +- + perf/cairo-perf-print.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 2283ab969801ef6c610ad20a58693a5b55382c8a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Nov 18 10:01:55 2011 +0000 + + xcb: Handle SHM exhaustion gracefully + + Avoid the assertion failure of creating an error surface for an internal + status by handling the expected UNSUPPORTED condition. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +commit c8dca5dad678258ee1bf7d60f5a6f766060c7fce +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Nov 18 09:59:34 2011 +0000 + + Revert "xcb: Fix xcb-huge-image-shm" + + This reverts commit 3a94f4c7091ea6262007e7960e4cd915e17b33c0. + + We need to fallback to pushing large images over the wire if we exhaust + the SHM space. + + src/cairo-xcb-shm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 3a94f4c7091ea6262007e7960e4cd915e17b33c0 +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Nov 15 19:46:46 2011 +0100 + + xcb: Fix xcb-huge-image-shm + + The test failed with the following message: + + cairo-surface.c:2265: _cairo_surface_create_in_error: Assertion `status < + CAIRO_STATUS_LAST_STATUS' failed. + + _cairo_xcb_surface_create_shm_image() passed the error from + _cairo_xcb_connection_allocate_shm_info() to _create_in_error(). + + Fix this by never returning CAIRO_INT_STATUS_UNSUPPORTED from + _allocate_shm_info(). All other error cases in that function return + CAIRO_STATUS_NO_MEMORY, too. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-shm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit edc238b40fba2e0e10b09521d87775edbf6f7814 +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Nov 15 19:10:50 2011 +0100 + + xcb: Fix some invalid casts + + cairo-xcb was deciding which type to cast a surface to based on its "type" + member. This is wrong, it should use "backend->type". + + This bug was hit via xlib-xcb. This was painting a subsurface of a xlib-xcb + surface to an xcb surface. Because surface->type said "xlib", the code was + trying to check if the xcb surface had a fallback. However, this was done on the + subsurface. The end result was dereferencing a pointer to 0x28. + + This was noticed while looking into + https://bugs.freedesktop.org/show_bug.cgi?id=42889 + + No test for this bug since I didn't manage to come up with one. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 20 +++++++++++--------- + 1 file changed, 11 insertions(+), 9 deletions(-) + +commit 1501c86536fcf21ce168644de58bfbc27ff6e710 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Nov 1 18:02:15 2011 +0100 + + test: Do not open files in non-existing dirs + + The output directory should be made before trying to open log files in + it. + + Fixes the bug causing cairo-test-suite to log to stderr on the first + run (i.e. when test/output does not exist). + + test/cairo-test.c | 38 ++++++++++++++++++++------------------ + 1 file changed, 20 insertions(+), 18 deletions(-) + +commit 603ea229b54c858d12ffc80a478f1fb0f4023a72 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Oct 28 15:04:59 2011 +0200 + + test: Use cairo_test_list_t for the main test list + + Instead of embedding the pointer in the test structure, consistently + use the cairo_test_list_t structure for test lists. + + This cleans up the code as the reverse-list operation can be reused. + + Moreover this makes the code clearer, because each test list is now + independent and has no way to know about other test lists. + + test/cairo-test-runner.c | 24 ++++++------------------ + test/cairo-test.h | 3 +-- + 2 files changed, 7 insertions(+), 20 deletions(-) + +commit abced5b88281a2ada819ccfe670616024765b7f7 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Oct 28 17:31:00 2011 +0200 + + boilerplate: Fix svg extension + + The svg backend produces .svg files. Using the appropriate extension + allows the test suite to check the vector output in addition to the + PNG images. + + boilerplate/cairo-boilerplate-svg.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit de6a1e68fe89140d37fb4b64374c12a56b64f305 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Oct 28 11:31:12 2011 +0200 + + Remove useless checks for NULL before freeing + + This patch has been generated by the following Coccinelle semantic patch: + + // Remove useless checks for NULL before freeing + // + // free (NULL) is a no-op, so there is no need to avoid it + + @@ + expression E; + @@ + + free (E); + + E = NULL; + - if (unlikely (E != NULL)) { + - free(E); + ( + - E = NULL; + | + - E = 0; + ) + ... + - } + + @@ + expression E; + @@ + + free (E); + - if (unlikely (E != NULL)) { + - free (E); + - } + + src/cairo-cogl-gradient.c | 3 +-- + src/cairo-cogl-surface.c | 12 ++++------ + test/cairo-test.c | 59 +++++++++++++++-------------------------------- + 3 files changed, 24 insertions(+), 50 deletions(-) + +commit c65d4e35dcdebc21d80c440944c11e1067743a8f +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Oct 26 17:46:53 2011 +0200 + + Use xstrdup instead of xmalloc when possible + + Don't open code xstrdup, just use it. + + perf/cairo-perf-report.c | 6 ++---- + test/cairo-test.c | 10 ++-------- + 2 files changed, 4 insertions(+), 12 deletions(-) + +commit 6dfb12c7d7c4ada716c86dbb9af3446d9880ed36 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Oct 27 09:49:25 2011 +0200 + + test: Reuse cairo_test_logv() + + cairo_test_log() can be implemented on top of cairo_test_logv() to + ensure that their behavior is consistent. + + test/cairo-test.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 549b1f8d4bf6e20cecd281343f5e4630938697cc +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Oct 26 19:16:17 2011 +0200 + + boilerplate: Remove unused thread id parameter + + The thread id is not used anymore (it is always == 0), so it can be + removed. + + boilerplate/cairo-boilerplate-cogl.c | 2 -- + boilerplate/cairo-boilerplate-directfb.c | 1 - + boilerplate/cairo-boilerplate-drm.c | 1 - + boilerplate/cairo-boilerplate-egl.c | 1 - + boilerplate/cairo-boilerplate-glx.c | 3 -- + boilerplate/cairo-boilerplate-pdf.c | 1 - + boilerplate/cairo-boilerplate-ps.c | 7 ++-- + boilerplate/cairo-boilerplate-qt.cpp | 1 - + boilerplate/cairo-boilerplate-quartz.c | 1 - + boilerplate/cairo-boilerplate-script.c | 1 - + boilerplate/cairo-boilerplate-skia.c | 1 - + boilerplate/cairo-boilerplate-svg.c | 7 ++-- + boilerplate/cairo-boilerplate-test-surfaces.c | 9 ------ + boilerplate/cairo-boilerplate-vg.c | 2 -- + boilerplate/cairo-boilerplate-wgl.c | 2 -- + boilerplate/cairo-boilerplate-win32-printing.c | 1 - + boilerplate/cairo-boilerplate-win32.c | 1 - + boilerplate/cairo-boilerplate-xcb.c | 5 --- + boilerplate/cairo-boilerplate-xlib.c | 45 +++----------------------- + boilerplate/cairo-boilerplate.c | 3 -- + boilerplate/cairo-boilerplate.h | 1 - + perf/cairo-analyse-trace.c | 1 - + perf/cairo-perf-micro.c | 1 - + perf/cairo-perf-trace.c | 1 - + test/cairo-test-trace.c | 1 - + test/cairo-test.c | 2 -- + test/fallback-resolution.c | 2 -- + test/ps-eps.c | 1 - + util/cairo-sphinx/sphinx.c | 2 +- + 29 files changed, 9 insertions(+), 98 deletions(-) + +commit b07b242220daab5b9252d9f0d889886ad74bd31d +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Oct 26 18:17:03 2011 +0200 + + test: Remove unused thread field + + The multi-threaded test path does not exist anymore and the ctx->thread + field is always 0, hence it can be removed. + + test/cairo-test.c | 310 ++++++++++++++++++++++-------------------------------- + test/cairo-test.h | 2 - + 2 files changed, 123 insertions(+), 189 deletions(-) + +commit 6ef9779a6f5cb86fc0e858ce017a5d2c9efbaa43 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Oct 26 17:24:37 2011 +0200 + + test: Remove dead code + + This code is unused and can be removed. + + test/cairo-test-private.h | 6 -- + test/cairo-test.c | 184 ---------------------------------------------- + test/cairo-test.h | 4 - + 3 files changed, 194 deletions(-) + +commit 97b219a5e74a30c5cb80dc7012cab8d118dd753a +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Oct 26 17:16:06 2011 +0200 + + test: Re-enable pass-through + + The pass-through test was not updated to the current test conventions + and was not enabled in the Makefiles. + + test/Makefile.sources | 1 + + test/pass-through.c | 20 ++++++-------------- + 2 files changed, 7 insertions(+), 14 deletions(-) + +commit c8b5d270f6a9f36e14d6e1462dfd589475926be8 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Oct 2 16:50:37 2011 -0700 + + Improve the documentation of the flags + + Some utilities were providing incorrect or incomplete usage + information. + + perf/cairo-analyse-trace.c | 11 +++++------ + perf/cairo-perf-micro.c | 10 +++++----- + perf/cairo-perf-trace.c | 13 +++++++------ + test/cairo-test-runner.c | 9 ++++----- + test/cairo-test-trace.c | 7 +++---- + 5 files changed, 24 insertions(+), 26 deletions(-) + +commit 6a0ba303035997fcd5f28bcd32297f9bc21bd45a +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Oct 2 16:15:59 2011 -0700 + + Sort option flags + + Keep the option flags in alphabetical order. This makes it easier to + check for collisions or missing handlers. + + Avoids an internal error when passing flags -c, -r or -v to + cairo-analyse-trace. + + perf/cairo-analyse-trace.c | 2 +- + perf/cairo-perf-micro.c | 12 ++++++------ + perf/cairo-perf-trace.c | 24 ++++++++++++------------ + test/cairo-test-runner.c | 16 ++++++++-------- + test/cairo-test-trace.c | 2 +- + 5 files changed, 28 insertions(+), 28 deletions(-) + +commit 0e18cc6d27e59e42c6632b21c5502174c8a9eb08 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Nov 11 12:20:28 2011 +0100 + + boilerplate: Provide close callback after opening any2ppm output + + cairo_boilerplate_open_any2ppm() returns a FILE* obtined from popen() + or fdopen(). It should hence be closed using pclose() or fclose() + respectively. + + Fixes the crash on every script test on MacOS X. + + boilerplate/cairo-boilerplate.c | 11 ++++++++--- + boilerplate/cairo-boilerplate.h | 4 +++- + 2 files changed, 11 insertions(+), 4 deletions(-) + +commit 90b2fd34fbd8b13b0daea7780051546d1c603a33 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Nov 9 14:15:49 2011 +0100 + + cairo-script: Don't ask for inlining of a cold-path function + + Silences a lot of warnings: + + inlining failed in call to 'scan_read.part.9': call is unlikely and + code size would grow + + util/cairo-script/cairo-script-scanner.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f96e78fa546d5d9f5016fa30fb60ce5dcf9a0a8e +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Nov 9 13:56:50 2011 +0100 + + Silence some 'unused var' warnings + + boilerplate/cairo-boilerplate.c | 2 -- + perf/cairo-stats.c | 2 +- + test/mask-glyphs.c | 2 -- + 3 files changed, 1 insertion(+), 5 deletions(-) + +commit d883775f690ec9e6f89a1ae16cb7d9c2e7a15897 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Nov 9 13:46:47 2011 +0100 + + xml: Fix backend structure + + The xml backend structure was being initialized with the wrong + functions, resulting in multiple "initialization from incompatible + pointer type" warnings. + + src/cairo-xml-surface.c | 37 +++++++++++-------------------------- + 1 file changed, 11 insertions(+), 26 deletions(-) + +commit 26d5bb0eccb05de7d34056d63802736301f31b9c +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Nov 9 13:34:53 2011 +0100 + + default-context: Fix 'make check' + + 'make check' reports: + + Checking that .libs/libcairo.so has the same symbol list as cairo.def + 1a2,3 + > _cairo_default_context_fini + > _cairo_default_context_init + + Checking .libs/libcairo.so for local PLT entries + 0011a274 00025f07 R_386_JUMP_SLOT 00026350 _cairo_default_context_fini + 0011a494 00027607 R_386_JUMP_SLOT 00026480 _cairo_default_context_init + + Marking these functions as cairo_private fixes the problem. + + src/cairo-default-context-private.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit f5c00042b03c96616b5ae16e294c8b5bb220cf15 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Nov 9 12:28:31 2011 +0100 + + cogl: Fix 'make check' + + 'make check' reports: + + ./cairo-cogl-context.c: * cairo_path_fixed_t in user coordinates that we can use to create a + ./cairo-cogl-context.c: * We use this hash to lookup a cairo_cogl_path_meta_t struct which + ./cairo-cogl-context.c: * need to use the cairo_path_fixed_t api to describe a rectangle in terms of + ./cairo-cogl-context.c: * passed the current cairo_t context we don't have a good way + Error: some type names in the docs are not prefixed by hash sign, + neither are the only token in the doc line followed by colon. + Fix this by searching for the following regexp in the above files: + '^[^:]*:[/ ][*]\( .*[^#']\| \|^\)\<cairo[0-9a-z_]*_t\>\($\|[^:]$\|[^:].\)' + + ./cairo-cogl-context.c: * cairo_path_fixed_t in user coordinates that we can use to create a + ./cairo-cogl-context.c: * We use this hash to lookup a cairo_cogl_path_meta_t struct which + ./cairo-cogl-context.c: * need to use the cairo_path_fixed_t api to describe a rectangle in terms of + ./cairo-cogl-context.c: * passed the current cairo_t context we don't have a good way + Error: some function names in the docs are not followed by parentheses. + Fix this by searching for the following regexp in the above files: + '^[^:]*:[/ ][*]\(\|[ ].*\)\([^#']\|^\)\<\(cairo_[][<>/0-9a-z_]*\>[^][<>(]\)' + + Checking that source files #include "cairoint.h" first (or none) + cairo-cogl-context.c:#include "cairo-cogl-context-private.h" + + These are fixed trivially by this patch. + + src/cairo-cogl-context.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +commit 7688da22450efeb0f612495489e17828830c4db1 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Nov 9 12:13:53 2011 +0100 + + vg: Fix build + + Add the missing includes, fix a typo and some changes in the + signatures of the backend functions. + + The dest acquisition functions can be removed as they are not used + anymore in the new compositor architecture (this will probably cause + failures when fallbacks are tried because of unsupported operations). + + src/cairo-vg-surface.c | 151 +++++++++++-------------------------------------- + 1 file changed, 34 insertions(+), 117 deletions(-) + +commit 54c8a08f3e1d1ee90903e3b58f4d16202f16eff4 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Nov 9 11:25:32 2011 +0100 + + quartz-image: Fix build + + Add missing headers and fix some minor things (typos, missing + arguments, changed function name). + + Map and unmap now rely on the generic path. + + src/cairo-quartz-image-surface.c | 56 +++++++++++++++++++++++----------------- + 1 file changed, 32 insertions(+), 24 deletions(-) + +commit f9aa85f5fe8015204fdab228c6a7b9b0e99b277f +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Nov 2 13:10:18 2011 +0100 + + stroke: Fix typos + + The condition was comparing out with itself (always resulting in a + true result) instead of out and in. + + Pointed out by Clang as "idempotent operation". + + src/cairo-path-stroke-polygon.c | 4 ++-- + src/cairo-path-stroke-tristrip.c | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +commit c64ec4e49c1f06a451187d5f8360df09a777f61c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Nov 2 11:00:40 2011 +0000 + + gl: Initialize spans on the context + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-composite.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +commit 2a453ee7df543441986b0a52ec2c2de72005c091 +Merge: ba855a12e 8ddecc08a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Oct 27 19:00:58 2011 +0100 + + Merge branch 'master' of git://cairographics.org/git/cairo + +commit 8ddecc08a5e4fc43368c01e4e85215962b009b92 +Author: Carlos Garcia Campos <cgarcia@igalia.com> +Date: Thu Oct 27 18:09:23 2011 +0200 + + xlib: Check pixman format before trying to create an image surface for it + + src/cairo-xlib-surface.c | 15 +++++++++------ + 1 file changed, 9 insertions(+), 6 deletions(-) + +commit 5c3156667898a1b111ae586c69c66378b7dafed6 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Oct 26 15:10:59 2011 +0200 + + rectangle: Fix warning + + In 545f3085.. the cairo_spline_add_point_func_t type was modified to + accept the tangent in the point, but cairo-rectangle.c was not updated + accordingly. + + Fixes: + + cairo-rectangle.c: In function '_cairo_box_add_curve_to': + cairo-rectangle.c:297:11: warning: passing argument 1 of + '_cairo_spline_bound' from incompatible pointer type + + src/cairo-rectangle.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 26c9994393f590c43714ba8d799093b84dd94dc6 +Author: Ehsan Akhgari <ehsan@mozilla.com> +Date: Mon Oct 17 10:48:50 2011 -0400 + + Avoid defining inline when compling C++ on MSVC. + + Cairo fails to build with VC11 because it tries to #define inline, + which is a keyword in C++. VC11's xkeycheck.h catches this with an #error. + https://bugzilla.mozilla.org/show_bug.cgi?id=694797 + + src/cairo-compiler-private.h | 2 ++ + 1 file changed, 2 insertions(+) + +commit 3813066f134d6dde7ff75f3909575beeddc685ed +Author: Martin Robinson <mrobinson@igalia.com> +Date: Sat Oct 15 09:05:19 2011 +0100 + + gl/msaa: Fix glScissor bounds + + When scissoring the compositing extents for windows, flip + the y coordinate as windows use a projection matrix that + does the same. + + src/cairo-gl-msaa-compositor.c | 20 ++++++++++++-------- + 1 file changed, 12 insertions(+), 8 deletions(-) + +commit cc3f06a58a91bf52ca4f958c96ee1e598cdaa62d +Merge: 571a27b4f 10ebda869 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Oct 15 08:59:35 2011 +0100 + + Merge branch 'master' of git://cairographics.org/git/cairo + +commit ba855a12e8d686f2137f82d317791f3ec4a68fc0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Oct 14 16:01:27 2011 +0100 + + xlib-xp + + src/cairo-surface-subsurface.c | 2 ++ + src/cairo-xlib-source.c | 17 ++++++++++------- + 2 files changed, 12 insertions(+), 7 deletions(-) + +commit 10ebda8698425a23f07b3062233500ec22ebc347 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Oct 14 13:21:40 2011 +0100 + + xlib: Reduce the composite traps operator for when the dest is clear + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-render-compositor.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit a8c3a22f2d98d0d1e9fd182857222d304d83dc22 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Oct 14 13:14:14 2011 +0100 + + gl/msaa: Markup the new symbols as private for PLT hiding + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-private.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit e8dd13c8fa39c1e3118a4f197ee8865237be7e09 +Author: Taekyun Kim <tkq.kim@samsung.com> +Date: Wed Oct 12 20:31:33 2011 +0900 + + image: Maximum number of spans can be upto (extents->width + 1) + + The range of span's x coordinate is between xmin and xmax. So we + have to allocate the span array with size of xmax - xmin + 1. + + src/cairo-tor-scan-converter.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +commit c25027f2a1570b78c314896a127e518db370645c +Author: Martin Robinson <mrobinson@webkit.org> +Date: Fri Oct 7 15:34:13 2011 -0700 + + gl/msaa: Support for solid color strokes. + + Add support for basic solid color strokes using the fixed path + stroke shaper. Currently components of the stroke overlap, but + that will be handled in the following patch. + + src/cairo-gl-composite.c | 17 +++++- + src/cairo-gl-msaa-compositor.c | 131 ++++++++++++++++++++++++++++++++++++++++- + src/cairo-gl-private.h | 7 ++- + 3 files changed, 151 insertions(+), 4 deletions(-) + +commit 32aa361c5ea0c761e26bc6fd94acfddd8df3b759 +Author: Martin Robinson <mrobinson@webkit.org> +Date: Tue Sep 27 08:42:36 2011 -0700 + + gl/msaa: Add clipping support + + Adds basic clipping to the OpenGL MSAA compositor via the + depth and stencil buffers. Stenciling and depth bits are + stored in a renderbuffer. + + Note that we only attach renderbuffers to surfaces created by ourselves + and not for foreign drawables (e.g. X Windows). + + src/cairo-gl-device.c | 27 ++++++++++- + src/cairo-gl-dispatch-private.h | 5 ++ + src/cairo-gl-msaa-compositor.c | 102 +++++++++++++++++++++++++++++++++++++--- + src/cairo-gl-private.h | 11 ++++- + src/cairo-gl-surface.c | 4 +- + 5 files changed, 139 insertions(+), 10 deletions(-) + +commit 13d9d07ccd92454f8eb0a1f2d59c8829ac471cb4 +Author: Martin Robinson <mrobinson@webkit.org> +Date: Mon Sep 26 14:45:23 2011 -0700 + + gl/msaa: Implement basic solid color fill + + Introduce the very basic functionality of an MSAA compositor + for OpenGL. For this first patch only solid fills are supported. + + src/cairo-gl-composite.c | 167 ++++++++++++++++++++++++++++++++++++++--- + src/cairo-gl-device.c | 7 +- + src/cairo-gl-msaa-compositor.c | 101 ++++++++++++++++++++++++- + src/cairo-gl-private.h | 11 +++ + 4 files changed, 274 insertions(+), 12 deletions(-) + +commit 9f85eb52d834200802a05ac1dd5fa045217adf5f +Author: Martin Robinson <mrobinson@webkit.org> +Date: Tue Oct 11 09:37:51 2011 -0700 + + gl/msaa: Introduce an MSAA compositor for OpenGL + + The MSAA compositor will composite OpenGL primitives directly and + anti-alias via the GPU. + + src/Makefile.sources | 1 + + src/cairo-gl-msaa-compositor.c | 110 +++++++++++++++++++++++++++++++++++++++++ + src/cairo-gl-private.h | 3 ++ + 3 files changed, 114 insertions(+) + +commit 7df2c113b16666d4b1f3e4c6f4cb045c40929c4f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Oct 13 13:02:51 2011 +0100 + + ft: Add missing break to enable BGR subpixel rendering + + Reported-by: Ingo Ruhnke <grumbel@gmx.de> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=40456 + Original-patch-by: Simon Elmir <nerd65536+freedesktop@gmail.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-ft-font.c | 15 ++++++++------- + 1 file changed, 8 insertions(+), 7 deletions(-) + +commit 9208df1630a535d473f656575c61a0ccf0c2a89c +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Oct 13 12:46:03 2011 +0200 + + test: Add text-antialias-subpixel-{,v}{bgr,rgb} + + There were no tests for any subpixel order but rgb, so let's write something for + all four possibilities. + + This is mostly copy&paste from test/text-antialias.c (and + text-antialias-subpixel-rgb does the same thing as text-antialias-subpixel). + + Test for: https://bugs.freedesktop.org/show_bug.cgi?id=40456 + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/Makefile.sources | 1 + + .../text-antialias-subpixel-bgr.image16.ref.png | Bin 0 -> 863 bytes + test/reference/text-antialias-subpixel-bgr.ref.png | Bin 0 -> 1001 bytes + .../text-antialias-subpixel-rgb.image16.ref.png | Bin 0 -> 863 bytes + test/reference/text-antialias-subpixel-rgb.ref.png | Bin 0 -> 1004 bytes + .../text-antialias-subpixel-vbgr.image16.ref.png | Bin 0 -> 864 bytes + .../reference/text-antialias-subpixel-vbgr.ref.png | Bin 0 -> 992 bytes + .../text-antialias-subpixel-vrgb.image16.ref.png | Bin 0 -> 862 bytes + .../reference/text-antialias-subpixel-vrgb.ref.png | Bin 0 -> 1004 bytes + test/text-antialias-subpixel.c | 123 +++++++++++++++++++++ + 10 files changed, 124 insertions(+) + +commit 282cfff15663a0c1ee5f3c8e53745d2c7f47539e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Oct 12 17:12:09 2011 +0100 + + recording-surface: Initialize optimize-clears before use in snapshotting + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface.c | 1 + + 1 file changed, 1 insertion(+) + +commit f84f6ecaa46d6e6ab1ebdf024fddc46bfacf2c0c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Oct 12 17:09:12 2011 +0100 + + gstate: Prevent leak of old clip when creating a group with translation + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gstate.c | 1 + + 1 file changed, 1 insertion(+) + +commit 8f34fa033e741eed040ff8895fcb94b8507903b8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Oct 12 17:04:16 2011 +0100 + + spans: Refresh polygon limits after trimming the composite extents + + Trimming the composite extents may result in the clip being + reconstructed, but we the polygon continued to hold a reference into the + freed clip's array of boxes. So if we intend to reuse the polygon limits + after performing the clip we need to refresh them. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-polygon.c | 44 +++++++++++++++++++++++++++++++------------- + src/cairo-spans-compositor.c | 3 +++ + src/cairoint.h | 9 +++++++++ + 3 files changed, 43 insertions(+), 13 deletions(-) + +commit d576319e1346712a54802f372f742a24dbcdadd9 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Oct 12 16:28:30 2011 +0100 + + recording-surface: Optimize away anything below an opaque fill + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +commit 8f5736b8b15eb2280cde6935c00171cda5c03a29 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Oct 12 16:19:58 2011 +0100 + + recording-surface: Free the contents of the command array when clearing + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface.c | 18 ++++++++++++++++-- + 1 file changed, 16 insertions(+), 2 deletions(-) + +commit 9c63168b5f4cccdda5cad939f6d3f0745202069d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Oct 12 16:19:33 2011 +0100 + + clip: Replace the original clip when transforming + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-clip.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 17173f961369fe4210588a8cf56f9b8276d1e10f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Oct 12 16:01:42 2011 +0100 + + clip: Free the freed clip pool on reset + + To keep valgrind happy. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-clip.c | 1 + + 1 file changed, 1 insertion(+) + +commit a7d04703579fae9c2d944feb02116fc33f86f45f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Oct 12 15:56:36 2011 +0100 + + surface-clipper: Fix path leak due to typo + + When finishing the path, it is better to call fini() rather than init() + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-clipper.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ea50ca68832fd49e06aba2b60490175ee66f4412 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Oct 12 15:10:10 2011 +0100 + + test: Add clip-polygons + + To exercise the recent bug found in handling empty clip surfaces. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.sources | 1 + + test/clip-polygons.c | 112 +++++++++++++++++++++++++++++ + test/reference/clip-polygons.base.ref.png | Bin 0 -> 1296 bytes + test/reference/clip-polygons.ref.png | Bin 0 -> 1355 bytes + test/reference/clip-polygons.traps.ref.png | Bin 0 -> 1268 bytes + 5 files changed, 113 insertions(+) + +commit b2aa687de6f6c3bf915c492126101311395e2692 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Oct 12 14:50:41 2011 +0100 + + spans: Propagate internal status when retrieving the clip surface + + Including the information that there is nothing to do due to being + all-clipped-out. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-spans-compositor.c | 8 ++++++-- + src/cairo-surface-private.h | 3 +++ + src/cairo-surface.c | 21 +++++++++++++++++++++ + 3 files changed, 30 insertions(+), 2 deletions(-) + +commit 5d1a17f354987140719f439c6c105c05c9510839 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Oct 12 14:26:08 2011 +0100 + + mono: Silence valgrind by placing a sentinel value in the sorted buckets + + If the edges finish before we complete the last scanline, we will + attempt to skip over the remaining lines using min_height of the + sentinel edge (MAX_INT). This causes us to read beyond the end of the + array of insertion buckets, unless we place a sentinel value in there to + break the loop. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-mono-scan-converter.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 88a1b83177ecaf044a3425abc8faa571ca2b41f5 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Oct 11 13:49:36 2011 +0100 + + observer: Fix typo and handle the condition of no script device + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-observer.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit c8bfa8c0888b16747c5e07ca4b844d5feabd8756 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Oct 11 12:44:25 2011 +0100 + + xcb: Re-enable glyph rendering + + I lost the '&& 0' I put in to disable the glyph rendering until I had + the glyph cache integration working again. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface-render.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit a09f70586df52d9d3156d64de5fbc6a2b92a1cce +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Oct 11 12:01:31 2011 +0100 + + gl: Remove unused alpha argument from operand_emit + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-composite.c | 6 +++--- + src/cairo-gl-operand.c | 3 +-- + src/cairo-gl-private.h | 3 +-- + 3 files changed, 5 insertions(+), 7 deletions(-) + +commit 4f5d42f6e59010ceaa68bff9be4353aa5f4d2e53 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Oct 11 11:42:45 2011 +0100 + + gl: Spans start after the mask, not coincident! + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-composite.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 41633913229fac2833edb6f10ab8d39d4df16aed +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Oct 11 11:30:47 2011 +0100 + + gl: Include use-coverage in shader hash + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-shaders.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 571a27b4fcfe11fec2b33c31525c353eb30c0ad7 +Author: Robert Bragg <robert@linux.intel.com> +Date: Thu Jul 21 12:15:05 2011 +0100 + + backends: Adds a new Cogl based backend + + This adds a new GPU accelerated backend for Cairo based on the Cogl 3D + graphics API. + + This backend aims to support Cairo in a way that translates as naturally + as possible to using a GPU, it does not strive to compete with the + anti-aliasing quality of the image backend if it can't be done + efficiently using the GPU - raw performance isn't the only metric of + concern, so is power usage. + + As an overview of how the backend works: + - fills are handled by tessellating paths into triangles + - the backend has an extra fill_rectangle drawing operation so we have + a fast-path for drawing rectangles which are so common. + - strokes are also tessellated into triangles. + - stroke and fill tessellations are cached to avoid the cpu overhead + of tessellation and cost of upload given that its common for apps to + re-draw the same path multiple times. The tessellations can survive + translations and rotations increasing the probability that they can be + re-used. + - sources and masks are handled using multi-texturing. + - clipping is handled with a scissor and the stencil buffer which + we're careful to only update when they really change. + - linear gradients are rendered to a 1d texture using a triangle + strip + interpolating color attributes. All cairo extend modes + are handled by corresponding texture sampler wrap modes without + needing programmable fragment processing. + - antialiasing should be handled using Cogl's multisampling API + + XXX: This is a work in progress!! + TODO: + - handle at least basic radial gradients (No need to handle full + pdf semantics, since css, svg and canvas only allow radial gradients + defined as one circle + a point that must lie within the first + circle.) - currently we fall back to pixman for radial gradients. + - support glyph rendering with a decent glyph cache design. The + current plan is a per scaled-font growable cache texture + a + scratch cache for one-shot/short-lived glyphs. + - decide how to handle npot textures when lacking hardware support. + Current plan is to add a transparent border to npot textures and use + CLAMP_TO_EDGE for the default EXTEND_NONE semantics. For anything else + we can allocate a shadow npot texture and scale the original to fit + that so we can map extend modes to texture sampler modes. + + boilerplate/Makefile.sources | 1 + + boilerplate/Makefile.win32.features | 12 + + boilerplate/cairo-boilerplate-cogl.c | 208 +++ + build/Makefile.win32.features | 1 + + build/Makefile.win32.features-h | 3 + + build/configure.ac.features | 1 + + configure.ac | 6 + + src/Makefile.sources | 10 + + src/Makefile.win32.features | 16 + + src/cairo-clip-private.h | 3 + + src/cairo-clip.c | 2 +- + src/cairo-cogl-context-private.h | 52 + + src/cairo-cogl-context.c | 820 ++++++++++ + src/cairo-cogl-gradient-private.h | 89 ++ + src/cairo-cogl-gradient.c | 643 ++++++++ + src/cairo-cogl-private.h | 164 ++ + src/cairo-cogl-surface.c | 2802 ++++++++++++++++++++++++++++++++++ + src/cairo-cogl-utils-private.h | 54 + + src/cairo-cogl-utils.c | 126 ++ + src/cairo-cogl.h | 69 + + src/cairo-debug.c | 4 + + src/cairo-default-context-private.h | 6 + + src/cairo-default-context.c | 36 +- + src/cairo-image-source.c | 4 +- + src/cairo-image-surface-private.h | 15 + + src/cairo.h | 5 +- + src/cairoint.h | 5 + + 27 files changed, 5141 insertions(+), 16 deletions(-) + +commit 5783bbfc750c73a4b36ad30a054de59a7ee99f34 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Oct 9 19:53:56 2011 +0100 + + debug-traps + + src/cairo-traps.c | 35 +++++++++++++++++++++++++++++++++++ + src/cairoint.h | 3 +++ + 2 files changed, 38 insertions(+) + +commit 2cb4eb53feb9223db8db66c9f86d962cc7248f27 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Oct 9 19:53:16 2011 +0100 + + perf + + perf/cairo-perf-chart.c | 61 ++++++++++++++++++++++++++++++++++--------------- + 1 file changed, 42 insertions(+), 19 deletions(-) + +commit 3d51ec8a7928f313d73023cabe0d760cf1946458 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Oct 10 15:22:37 2011 +0100 + + botor: Remove a couple of inlines to cleanup -Winline + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-botor-scan-converter.c | 2 +- + src/cairo-freelist-private.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 34f507a919b0709caa2c0be30e43719356293dd1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Oct 8 13:54:28 2011 +0100 + + gl: Need to increment reference count when copying operands + + Or else watch everything die with use-after-free of the cached + gradients. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-composite.c | 6 ++---- + src/cairo-gl-gradient.c | 6 +++--- + src/cairo-gl-operand.c | 24 ++++++++++++++++++++++++ + src/cairo-gl-private.h | 4 ++++ + 4 files changed, 33 insertions(+), 7 deletions(-) + +commit a6c27b500ba8f910ff2a731eb6989c96e8977339 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Oct 8 11:08:43 2011 +0100 + + gl: Basic fixes to get cairo-gl running again + + Let there be textures! + + Unbreak the setup of surface operands after my lazy convertion to the + new compositor interface. This is still only the first step, but it gets + the essentials up and running again, enough to keep me happy whilst + sitting in the airport. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-gradient.c | 2 +- + src/cairo-gl-operand.c | 151 ++++++++++++++++++++++++++++++---------- + src/cairo-gl-private.h | 6 ++ + src/cairo-gl-spans-compositor.c | 2 +- + src/cairo-gl-surface.c | 9 ++- + 5 files changed, 126 insertions(+), 44 deletions(-) + +commit 22c485017df7979c47e9c4ba708279c8c35e5149 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Oct 8 05:57:49 2011 +0100 + + gl: Declare coverage input for fragment shaders. + + The most minor of oversights which prevented compilation of any spans + based compositors. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-shaders.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit d825f6a263f9f9b27fa8160243e8a0a7c2778293 +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Oct 9 09:39:25 2011 +0200 + + clip_intersect_boxes: Fix memleak + + There were two code path were we already had called + _cairo_boxes_init_for_array() on a local variable, but we tried to return + without going through _cairo_boxes_fini(). + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-clip-boxes.c | 15 ++++++++++----- + 1 file changed, 10 insertions(+), 5 deletions(-) + +commit dca4e6c2dd6ebed73abbeb1dd87cb26a3b09685a +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Oct 9 09:37:03 2011 +0200 + + clip: Fix clip-double-free + + If the call to _cairo_clip_set_all_clipped() right after this is hit, + clip->boxes was freed twice. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-clip-boxes.c | 1 + + 1 file changed, 1 insertion(+) + +commit 4092e90be5aaedb1182650aa0aee0cae89883ea9 +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Oct 9 09:26:28 2011 +0200 + + test: Add clip-double-free + + This test tries to exercise a double free bug in the clipping code. + + My webkit-based browser recently crashed a lot. Here is the reason why. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/Makefile.sources | 1 + + test/clip-double-free.c | 87 +++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 88 insertions(+) + +commit a419d00fbecf18736f5566e1c4e3786cc7b4586c +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Oct 8 13:40:11 2011 +0200 + + flush: Detach mime data + + Drawing directly to a surface has to be surrounded with cairo_surface_flush() + and cairo_surface_mark_dirty(). + + However, if the surface has mime data associated, this would hit the following + assert: + + lt-cairo-test-suite: cairo-surface.c:1381: cairo_surface_mark_dirty_rectangle: + Assertion `! _cairo_surface_has_mime_data (surface)' failed. + + This is now fixed by detaching all mime data in cairo_surface_flush(). + + Buzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41409 + + Fixes: create-from-png, create-from-png-stream + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-surface.c | 1 + + 1 file changed, 1 insertion(+) + +commit b9e5cd9572c09fb34153449163945dddda59468b +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Oct 8 13:37:20 2011 +0200 + + create-from-png*: Test mark_dirty with mime data + + This currently hits the following assertion: + + lt-cairo-test-suite: cairo-surface.c:1381: cairo_surface_mark_dirty_rectangle: + Assertion `! _cairo_surface_has_mime_data (surface)' failed. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41409 + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/create-from-png-stream.c | 4 ++++ + test/create-from-png.c | 4 ++++ + 2 files changed, 8 insertions(+) + +commit 61fdaaf7e59a6238dec22feeed03b1a56b614a9d +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Oct 9 15:25:42 2011 +1030 + + cff: fallback if seac style endchar is found + + Bug 41548 + + src/cairo-cff-subset.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit e2dca74edf4c8f3cd66385b8ed931a412fc9698e +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Oct 9 14:55:46 2011 +1030 + + cff: in CID fonts the CID is the glyph index + + Need to use charset to map CID to GID. + + Bug 41548 + + src/cairo-cff-subset.c | 98 ++++++++++++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 95 insertions(+), 3 deletions(-) + +commit 5f3fd8c09c9542259d5c278eb7c0a2ef79f6e369 +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Oct 8 10:48:26 2011 +0200 + + xlib: Fix compilation with --disable-xlib-xrender + + The boilerplate code tries to set PolyModePrecise on the xlib device. However, + because xrender is disabled, cairo-xlib-xrender.h wasn't included and didn't + include the needed xrender headers for this define. + + This define is copied from cairo-xlib-xrender-private.h + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + boilerplate/cairo-boilerplate-xlib.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 960ae5ab2ee7910c9ef7b0b7df824d701c4d1729 +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Oct 4 15:03:27 2011 +0200 + + Make the new mime-surface-api succeed + + When removing mime data, _cairo_user_data_array_set_data () is called with a + NULL argument. This leaves behind an entry with key == NULL in the user data + array. Skip those entries instead of dereferencing NULL. + + (The NULL entry in the array let's us avoid moving data around and/or doing a + memory allocation later, so I guess it might be a good idea to keep that) + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 38ce0850b8dba23c398faebb58905b5942e9c024 +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Oct 4 14:58:41 2011 +0200 + + test: Add mime-surface-api + + This test checks if setting and unsetting mime data works correctly. E.g. this + verifies that we get the same pointer back which we passed in (=no copy made). + + This test currently crashes in its last call to cairo_surface_get_mime_data(). + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/Makefile.sources | 1 + + test/mime-surface-api.c | 151 ++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 152 insertions(+) + +commit 8664df767cb9dbe48647f9853e3dcf551701d3ca +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Sep 3 09:39:24 2011 -0700 + + quartz: Fix the 32-bits build on MacOSX 10.7 + + FMGetATSFontRefFromFont() is not public on Lion nor on 64-bits + Frameworks, but it seems to be available in the dynamic libs, hence we + can dlsym() it just like other private functions. + + Works around the error: + cairo-quartz-font.c: In function 'cairo_quartz_font_face_create_for_atsu_font_id': + cairo-quartz-font.c:830: error: implicit declaration of function 'FMGetATSFontRefFromFont' + + Fixes https://bugs.freedesktop.org/show_bug.cgi?id=39493 + + src/cairo-quartz-font.c | 26 ++++++++++++++++++-------- + src/cairo-quartz.h | 2 -- + 2 files changed, 18 insertions(+), 10 deletions(-) + +commit 80fff70e6c20f36cf871494391b8987294aff4a7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 30 16:30:15 2011 +0100 + + test: Add clip-rectilinear + + Exercise the clipping code with a rectilinear path (rather than a set of + boxes as per usual). + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.sources | 1 + + test/clip-rectilinear.c | 90 ++++++++++++++++++++++++++ + test/reference/clip-rectilinear.base.ref.png | Bin 0 -> 440 bytes + test/reference/clip-rectilinear.ref.png | Bin 0 -> 439 bytes + test/reference/clip-rectilinear.traps.ref.png | Bin 0 -> 440 bytes + 5 files changed, 91 insertions(+) + +commit 538fa0d6fbfe5f03b325e2dfb296538295f3b409 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 30 15:58:14 2011 +0100 + + fill: Fix unantialiased rectilinear-fill-to-boxes + + We were calling the antialias close function from the unantialiased + paths - a function that operates on a completely different structure to + the one passed in. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-clip-boxes.c | 6 ++++-- + src/cairo-image-compositor.c | 2 +- + src/cairo-path-fill.c | 16 +++++++++++----- + src/cairo-traps-compositor.c | 16 +++++++++++++--- + util/cairo-script/csi-exec.c | 20 +++++++++++++++----- + 5 files changed, 44 insertions(+), 16 deletions(-) + +commit 719bef0c90b73850e373c70d627fa1f730be84a1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 27 12:27:49 2011 +0100 + + image: Enable use of LERP_SRC for masked source composition + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 32 +++++++++++++++++++++++++++++++- + src/cairo-spans-compositor-private.h | 3 +++ + src/cairo-spans-compositor.c | 17 ++++++----------- + 3 files changed, 40 insertions(+), 12 deletions(-) + +commit 2994b0c634158f681d3ac2894270d609ed5af424 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 28 23:54:00 2011 +0100 + + stroke: Use the tessellator to resolve overlapping strokes + + If the stroke is too large, the strokes around the box overlap and we + fail to generate the canonical form of the boxes. So if we detect that + the boxes overlap, feed them through the tessellator to reduce them to + canonical form. + + Fixes line-width-overlap. + + Based on a patch by Paulo Zanoni <paulo.r.zanoni@intel.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-stroke-boxes.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 30eac7b2c5a3a2a9c5de4886cdd38666ef19cddb +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 29 00:22:34 2011 +0100 + + test: Add line-width-large-overlap + + Exercise the case of stroking a box with a pen wider than the box + itself, a variation on line-width-overlap suggested by Paulo Zanoni. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.sources | 1 + + test/line-width-large-overlap.c | 149 +++++++++++++++++++++ + .../clip-fill-nz-unbounded.traps.rgb24.ref.png | Bin 0 -> 3198 bytes + .../line-width-large-overlap-dashed.ref.png | Bin 0 -> 338 bytes + .../line-width-large-overlap-dashed.xfail.png | Bin 0 -> 343 bytes + .../line-width-large-overlap-flipped.ref.png | Bin 0 -> 305 bytes + .../line-width-large-overlap-flopped.ref.png | Bin 0 -> 305 bytes + .../line-width-large-overlap-offset.ref.png | Bin 0 -> 305 bytes + .../line-width-large-overlap-rotated.base.ref.png | Bin 0 -> 404 bytes + .../line-width-large-overlap-rotated.ref.png | Bin 0 -> 406 bytes + .../line-width-large-overlap-rotated.traps.ref.png | Bin 0 -> 404 bytes + test/reference/line-width-large-overlap.ref.png | Bin 0 -> 305 bytes + .../line-width-overlap-offset.traps.argb32.ref.png | Bin 408 -> 0 bytes + .../line-width-overlap-offset.traps.ref.png | Bin 0 -> 365 bytes + .../line-width-overlap-offset.traps.rgb24.ref.png | Bin 408 -> 0 bytes + 15 files changed, 150 insertions(+) + +commit 82a7eac1de6a9f6896e382e55b2061cd17bf4dd6 +Author: Rob Bradford <rob@linux.intel.com> +Date: Tue Sep 27 15:29:06 2011 +0100 + + build: Specify the reference images as a directory for EXTRA_DIST + + Rather than having the reference images individually listed in + test/Makefile.refs the whole directory can be included in the EXTRA_DIST + block. + + This removes the need to have the check-ref-missing Makefile target. + + test/Makefile.am | 35 +- + test/Makefile.refs | 2922 ---------------------------------------------------- + 2 files changed, 2 insertions(+), 2955 deletions(-) + +commit add9a4092b69ba359917407e0e7f584c5dbfdc81 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 27 14:55:57 2011 +0100 + + trace: Emit an stack operation to create a pattern from an undefined surface + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-trace/trace.c | 17 ++++++++++++++--- + 1 file changed, 14 insertions(+), 3 deletions(-) + +commit b8ae60f619d030dab48995fc6cb540b7935eb5cf +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Sep 26 14:55:03 2011 +0100 + + test: Refresh reference images + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/reference/clip-group-shapes-circles.ref.png | Bin 1180 -> 1178 bytes + test/reference/clip-operator.argb32.ref.png | Bin 8210 -> 8180 bytes + test/reference/clip-operator.rgb24.ref.png | Bin 3212 -> 3199 bytes + test/reference/clip-stroke.ref.png | Bin 1207 -> 1206 bytes + test/reference/clip-twice.argb32.ref.png | Bin 1077 -> 1068 bytes + test/reference/clip-twice.rgb24.ref.png | Bin 976 -> 1022 bytes + test/reference/hatchings.ref.png | Bin 44151 -> 46499 bytes + .../random-intersections-curves-nz.ref.png | Bin 151318 -> 151330 bytes + test/reference/rotated-clip.ref.png | Bin 2786 -> 2713 bytes + test/reference/scale-offset-image.ref.png | Bin 7688 -> 7695 bytes + test/reference/scale-offset-similar.ref.png | Bin 7688 -> 7695 bytes + test/reference/tiger.ref.png | Bin 71094 -> 71110 bytes + 12 files changed, 0 insertions(+), 0 deletions(-) + +commit 303893681f284c734a078012e6521ebb627a54d6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Sep 26 13:26:33 2011 +0100 + + test/random-clips: Paint clip to highlight the issues + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 4 ++-- + test/random-clips.c | 15 +++++++++++++++ + test/reference/random-clip.base.argb32.ref.png | Bin 313008 -> 0 bytes + test/reference/random-clip.base.argb32.xfail.png | Bin 0 -> 525726 bytes + test/reference/random-clip.base.rgb24.ref.png | Bin 313008 -> 0 bytes + test/reference/random-clip.base.rgb24.xfail.png | Bin 0 -> 525726 bytes + test/reference/random-clip.ref.png | Bin 311369 -> 523342 bytes + test/reference/random-clip.traps.argb32.ref.png | Bin 311369 -> 523342 bytes + test/reference/random-clip.traps.rgb24.ref.png | Bin 311369 -> 523342 bytes + 9 files changed, 17 insertions(+), 2 deletions(-) + +commit 9fe7022790478cfcd10a13390a6686497f2c9339 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Sep 26 13:25:58 2011 +0100 + + polygon-intersect: Remove surplus edge direction + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-polygon-intersect.c | 28 +++++----------------------- + 1 file changed, 5 insertions(+), 23 deletions(-) + +commit 1a1b39a9c35f8857e8ad36dc02c02ea5eae26021 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Sep 26 10:51:03 2011 +0100 + + script: compile without + + The surface observer gained a dependency on script, make it optional. + + src/cairo-surface-observer.c | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +commit bbacfc4e836ab09896b0ca3da9d90b582e35748c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Sep 26 10:27:23 2011 +0100 + + win32: Compile, but broken + + First step: just make it compile again but crash upon usage. + + src/cairo-win32-font.c | 16 +-- + src/cairo-win32-printing-surface.c | 13 +- + src/cairo-win32-private.h | 16 +-- + src/cairo-win32-surface.c | 246 ++----------------------------------- + 4 files changed, 18 insertions(+), 273 deletions(-) + +commit 4790bbf59681553bd3850c90e409311076431786 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Sep 26 11:51:27 2011 +0100 + + boilerplate: Skip testing of null surfaces + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + boilerplate/cairo-boilerplate-test-surfaces.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +commit 9c56df3904a9f6aa5c3dce1b91ab34038fc9eeb2 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 23 23:34:29 2011 +0100 + + test: Mark the record-select-font-face as XFAIL + + The recording surface has no knowledge of the target surface when it + generates the scaled font and informs the client about the kerning and + metrics. This results in an unfortunate slight misalignment when + replaying the glyphs against the ideal case. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 1 + + test/reference/record-select-font-face.xfail.png | Bin 0 -> 1448 bytes + 2 files changed, 1 insertion(+) + +commit 70ac21f7bbd31799437f1152c7174468f9684df4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 23 23:32:37 2011 +0100 + + test: Refresh rotated-clip reference + + test/reference/rotated-clip.ref.png | Bin 2743 -> 2786 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit 606e9e1c9e9b70fd3ac840f398faad5f4a06e19d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 23 23:28:50 2011 +0100 + + test: Refresh tighten-bounds reference image + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 3 ++- + test/reference/tighten-bounds.argb32.ref.png | Bin 0 -> 8972 bytes + test/reference/tighten-bounds.ref.png | Bin 7958 -> 0 bytes + test/reference/tighten-bounds.rgb24.ref.png | Bin 0 -> 8188 bytes + 4 files changed, 2 insertions(+), 1 deletion(-) + +commit d71ce5e0ddd871777b5d82619a847cab6c8bc2aa +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 23 23:24:25 2011 +0100 + + spans: Fix empty polygon unbounded fixup + + There is a subtle flaw in the current querying of polygon extents; it + simply returns the limits and not the point extremeties and certainly + not the tessellation extents. Computing that is likely to take long than + rendering the polygon. This does mean that we need to also fixup the + extents prior to performing the empty unbounded fast path. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-spans-compositor.c | 15 ++++++--------- + 1 file changed, 6 insertions(+), 9 deletions(-) + +commit 9a366cff2cc486818ab3ace61aeb22a2bdcfe5cd +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 23 22:48:46 2011 +0100 + + test: Redefine success for miter-precision + + On review, that segment does exist and should not have been removed by + numerical errors! + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/reference/miter-precision.ref.png | Bin 931 -> 878 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit 2c34f028a787a7e33e3410f09d6cc00caacf0a08 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 23 13:37:51 2011 +0100 + + test: Exercise scaling from an atlas through a subsurface + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 3 +- + test/Makefile.sources | 1 + + test/reference/subsurface-scale.base.ref.png | Bin 0 -> 5216 bytes + test/reference/subsurface-scale.ref.png | Bin 0 -> 5216 bytes + test/subsurface-scale.c | 93 +++++++++++++++++++++++++++ + 5 files changed, 96 insertions(+), 1 deletion(-) + +commit 9b3b84976ac255a5d1ce472ff4bcb623e34d5fc3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 23 13:20:32 2011 +0100 + + test: refresh text-pattern reference + + test/reference/text-pattern.ref.png | Bin 3442 -> 3444 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit 7e5e2dd5e184c73264dd2359ca151cc0689c63d6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 23 13:20:14 2011 +0100 + + test/create-from-png: Update to point to new reference/ images + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/create-from-png.c | 29 +++++++++++++---------------- + 1 file changed, 13 insertions(+), 16 deletions(-) + +commit f162f7ebb47fe87ffadade15456699ef2b556fbf +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Sep 22 22:03:46 2011 +0200 + + xcb: Fix device offsets with unmap_image() + + The source and target x/y coordinates were swapped. No idea why this only now + caused a test suite failure, perhaps something recently started using SHM? + + Fixes: map-bit-to-image, map-to-image-fill + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 880321ae9d678eac10e336513e7d83096683cd3a +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Sep 22 20:46:24 2011 +0200 + + xcb: Fix a "incompatible pointer" compiler warning + + cairo-xcb-surface.c:790:2: warning: return from incompatible pointer type + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit aa16e3e66621099f4edc59802614d804e86e63ec +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Sep 22 21:18:57 2011 +0200 + + xcb: Honor clips for defer clear + + This bug was accidentally introduced in fd613cb9f94daff0c8d4fdb27ff89894d41682a. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 87fdc4356f5ba48c84269c956fecb9467b95f1af +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Sep 22 20:46:24 2011 +0200 + + xcb: Don't try to fallback more than once + + This fixes the following assert for pretty much every single xcb-fallback test: + + cairo-xcb-surface.c:320: _get_image: Assertion `surface->fallback == ((void *)0)' failed. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface.c | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +commit d43f6d74599984162cad5a4b522c4b70596056f5 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Sep 22 23:16:53 2011 +0930 + + test: make text-pattern draw with both opaque and translucent patterns + + Poppler renders the translucent PDF output of this test correctly with + cairo 1.10.2 but fails with current git. + + test/reference/text-pattern.ref.png | Bin 1685 -> 3442 bytes + test/reference/text-pattern.rgb24.ref.png | Bin 1392 -> 0 bytes + test/text-pattern.c | 22 +++++++++++++++------- + 3 files changed, 15 insertions(+), 7 deletions(-) + +commit b30b0c14cba102a9e4f5f04226fbdbecc2268a77 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Sep 22 22:43:07 2011 +0930 + + test: Add stroke-pattern + + Poppler renders the PDF output of this test correctly with cairo 1.10.2 but fails with current git. + + Commenting out the cairo_translate makes the PDF output render correctly with current git. + + test/Makefile.refs | 1 + + test/Makefile.sources | 1 + + test/reference/stroke-pattern.ref.png | Bin 0 -> 1417 bytes + test/stroke-pattern.c | 68 ++++++++++++++++++++++++++++++++++ + 4 files changed, 70 insertions(+) + +commit 0e95215c01b5d7124d950f0b21fd2b0e343a34af +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 21 11:18:24 2011 +0100 + + test/trace: Hack to dump out per-context images and traces + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/cairo-test-trace.c | 17 ++++++++++++++--- + 1 file changed, 14 insertions(+), 3 deletions(-) + +commit f8c4686310b2b538cebb59f64b2ab8c6def86628 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 20 14:34:23 2011 +0100 + + image: don't offset by device transform for replay onto source surface + + It is already captured by the pattern extents. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-source.c | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +commit 5f0dcf610f8714dcffe49c3ea6edea479590c34b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 20 14:05:31 2011 +0100 + + image: clip the replay to the sample extents in device space + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-source.c | 29 +++++++++++++++++++++++------ + 1 file changed, 23 insertions(+), 6 deletions(-) + +commit da95bdfcd77c56a52e08544946786cff8a33ca1e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 20 14:04:29 2011 +0100 + + wrapper: transform the clip into device space + + We need more than just mere translation! + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-clip-private.h | 3 ++ + src/cairo-clip.c | 107 ++++++++++++++++++++++++++++++++++++++++++++ + src/cairo-surface-wrapper.c | 8 +--- + 3 files changed, 111 insertions(+), 7 deletions(-) + +commit a810b012cf68ea56defd76556a7780c6d6aaaf08 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Sep 20 00:02:18 2011 +0930 + + subsets: latin char map needs to belong to the font, not the subset + + src/cairo-scaled-font-subsets.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +commit fd613cb9f94daff0c8d4fdb27ff89894d41682a3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 2 13:51:30 2011 +0100 + + xcb: track fallback damage + + And only upload the parts of the image that are modified during the + fallback. I have to keep reminding myself that the goal is always to + reduce the amount of fallbacks required... + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-composite-rectangles-private.h | 4 + + src/cairo-composite-rectangles.c | 18 ++ + src/cairo-xcb-connection.c | 6 +- + src/cairo-xcb-private.h | 14 +- + src/cairo-xcb-surface-render.c | 122 ++++-------- + src/cairo-xcb-surface.c | 314 ++++++++++++++++++++++++------- + 6 files changed, 310 insertions(+), 168 deletions(-) + +commit 36a14230453a1fd282671a4ab7ac072b69b9a5f6 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Sep 16 23:20:46 2011 +0200 + + xcb: Remove an unused variable + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 6 ------ + 1 file changed, 6 deletions(-) + +commit cdd75ec407f1f9148acc4267b07a874245c1ddf7 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Sep 16 19:31:32 2011 +0200 + + xcb: Use a mask in _composite_boxes() when needed + + This doesn't just need a clip without any path, it also needs pixel aligned + boxes. + + This improves the result for unaligned boxes in tighten-bounds. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit e580565e28c3c2999199bee1f83be60905cba8d5 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Sep 16 18:28:10 2011 +0200 + + xcb: Stop using _cairo_clip_get_surface() + + This function changed its behavior and no longer does what we want. Instead, + this now uses its own function which uses _cairo_clip_combine_with_surface(). + + This fixes crashes in the tighten-bounds and random-clip tests. These happened + because cairo-xcb was trying to be clever. ;-) + + Since _cairo_clip_get_surface() did less, the resulting surface had + deferred_clear == true and picture == XCB_NONE. The code then tried using this + evil picture and either ran into an assert() or caused a BadPicture error. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 51 +++++++++++++++++++++++++++++++++--------- + 1 file changed, 40 insertions(+), 11 deletions(-) + +commit 6fb4c3ae3521fa789aa63b3b37f17336e5b7b617 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Sep 16 18:16:01 2011 +0200 + + _cairo_clip_get_surface(): Don't lose errors + + If one of the _cairo_surface_fill() calls failed, this function would stop and + return an intermediate result, thus hiding the error that happened. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-clip-surface.c | 5 +++++ + 1 file changed, 5 insertions(+) + +commit 74e7f3b441e02cdb003ec235eb6ec4c86e412357 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Sep 18 09:09:50 2011 -0700 + + quartz-font: Fix scaled font backend hooks + + In af9fbd176b145f042408ef5391eef2a51d7531f8 the show_glyphs hook has + been removed from cairo_scaled_backend_t, but quartz-font was not + updated. + + Fixes: + + cairo-quartz-font.c:798: warning: initialization from incompatible pointer type + + src/cairo-quartz-font.c | 1 - + 1 file changed, 1 deletion(-) + +commit f8e4657d8a45cdb35c9ccdcba1d002e8a3aac5bb +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Sep 18 08:54:00 2011 -0700 + + Make cairo-missing a static library + + It was meant to be static, but my autotools-fu was not good enough. + + util/cairo-missing/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 7827f46d7cafd6429088c7837fa2104734fa1c4a +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Sep 18 07:22:19 2011 -0700 + + quartz: Fix build + + Fix a bunch of typos and "wrong number of arguments" errors. + Clean up some "unused variable" errors. + + src/cairo-quartz-surface.c | 58 +++++++++++++++++++++------------------------- + 1 file changed, 27 insertions(+), 31 deletions(-) + +commit 1b4030408750a705b365ccfb6386be7e15d490bd +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Sep 18 09:28:17 2011 +0100 + + traps: use the customised _cairo_clip_get_surface + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-traps-compositor.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 2209ec5a15f535b1fae19c84b796f3d11a12de00 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Sep 18 08:52:46 2011 +0100 + + test: Make cairo_test_suite depend upon the any2ppm exectuable on all platforms + + On some platforms, executables have an extension which confuses + automake into building an entirely different binary. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit a7b2c28adf920333322a45bf25e2d80e44391d4f +Author: Dave Yeo <dave.r.yeo@gmail.com> +Date: Tue Sep 6 20:36:32 2011 -0700 + + On OS/2, WIFSIGNALED and WTERMSIG are prototyped in sys/wait.h + + boilerplate/cairo-boilerplate-pdf.c | 4 ++++ + boilerplate/cairo-boilerplate-ps.c | 4 ++++ + boilerplate/cairo-boilerplate-svg.c | 4 ++++ + build/configure.ac.system | 2 +- + 4 files changed, 13 insertions(+), 1 deletions(-) + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + boilerplate/cairo-boilerplate-pdf.c | 4 ++++ + boilerplate/cairo-boilerplate-ps.c | 4 ++++ + boilerplate/cairo-boilerplate-svg.c | 4 ++++ + build/configure.ac.system | 2 +- + 4 files changed, 13 insertions(+), 1 deletion(-) + +commit fdd54d2b791fbd461a6cac67ea10eb8decaf5f5c +Author: Dave Yeo <daveryeo@telus.net> +Date: Tue Sep 6 19:42:32 2011 -0700 + + Fix the number of parameters for cairo_os2_surface_set_size() + + test/error-setters.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/error-setters.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 222f0846e6c1c2769f1216c87caee906c5813664 +Author: Dave Yeo <dave.r.yeo@gmail.com> +Date: Tue Sep 6 19:40:20 2011 -0700 + + os2-surface needs to include cairo-image-surface-private.h + + src/cairo-os2-surface.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-os2-surface.c | 1 + + 1 file changed, 1 insertion(+) + +commit 59a5c9d34c01e398dd56c3ca9afa6a08427c1270 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Sep 18 08:47:28 2011 +0100 + + os2: Blindly update os2 to the new fallback compositor + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-os2-surface.c | 195 ++++++++++++++++-------------------------------- + 1 file changed, 63 insertions(+), 132 deletions(-) + +commit e4ebee1cf47f5c211abb79b8e3a3bc5ff7a5cc4b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Sep 18 08:25:11 2011 +0100 + + pdf: Use the helper functions to update the composite rectangles + + These functions also know to update the clip and recompute the sample + areas and other derived information. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-pdf-surface.c | 17 +++++++++++++---- + 1 file changed, 13 insertions(+), 4 deletions(-) + +commit 6c6bd6fb292c7168b60f1cc0580c52292f99ae86 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Sep 18 08:26:42 2011 +0100 + + composite-rectangle: Add a helper to refine source extents + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-composite-rectangles-private.h | 4 +++ + src/cairo-composite-rectangles.c | 57 ++++++++++++++++++++++++++++++-- + 2 files changed, 58 insertions(+), 3 deletions(-) + +commit b13c2270f5b7546453f81dd0e1ebdc7fb8e4b630 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Sep 18 13:30:12 2011 +0930 + + test: refresh pdf mask ref images + + test/reference/mask.pdf.argb32.ref.png | Bin 7866 -> 7554 bytes + test/reference/mask.pdf.rgb24.ref.png | Bin 7336 -> 7043 bytes + 2 files changed, 0 insertions(+), 0 deletions(-) + +commit a01cc10fe16caf4fbadf9540c745dd58a75df38d +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Sep 18 13:19:57 2011 +0930 + + pdf: ensure ink extents is not larger than bounded extents + + fixes mask test pdf output + + src/cairo-pdf-surface.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit fc011bfcb98cfcc86b8ab81a247608e13ed70cdc +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Sep 17 12:28:33 2011 +0100 + + test: Record the current status of radial-outer-focus as xfail + + Debate rages as to the correct way to handle this. In some ways the + current output is expected due to the numerical instability in handling + the inner-focus-on-the-outer-circle. However, the result looks less than + desirable so some solution (which may not be inside cairo per-se) is + sought. + + test/Makefile.refs | 1 + + test/radial-outer-focus.c | 3 +++ + test/reference/radial-outer-focus.xfail.png | Bin 0 -> 34234 bytes + 3 files changed, 4 insertions(+) + +commit cea41a61c104f235c1f896207115507aed93d9ea +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Sep 17 12:01:49 2011 +0100 + + image: intersect the source extents with the replay extents for EXTEND_NONE + + Fixes up the boundary on EXTEND_NONE replays. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-source.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 09b42c748e9dbcc923560c7d8bf5298fbffe95ef +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Sep 17 12:00:49 2011 +0100 + + wrapper: intersect with target extents + + Treat the target extents as an implicit clip for computing the maximal + operation extents. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-wrapper.c | 49 +++++++++++++++++++++++++++------------------ + 1 file changed, 30 insertions(+), 19 deletions(-) + +commit 242fbb010efffb3a75f2e824bbdbb3a75ad51d12 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 16 21:55:05 2011 +0100 + + image: Use the recording surface content for the recording source + + The previous commit should have been a enormous warning that something + was horribly wrong. I was determined to preserve the optimisation of + replaying onto the matching format, however, we need to provide an alpha + channel if required. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-source.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +commit ab924b11a805caaa6e7a1e39ce69f0a9a31e1405 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 16 19:29:27 2011 +0100 + + image: Use A8 for creating a mask from a recording surface + + When applying masks, typically it is useful to have an alpha channel. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-source.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 3fde219487362e1aca8207843dd75a62827a71a7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 16 17:42:46 2011 +0100 + + test: Refresh reference images for spans/traps + + I found a bug in my SSE2 lerp implementation which resolved quite a few + failures. + + test/Makefile.refs | 7 ++++++- + test/reference/clip-fill-eo-unbounded.rgb24.ref.png | Bin 3201 -> 3409 bytes + .../clip-fill-eo-unbounded.traps.rgb24.ref.png | Bin 0 -> 3198 bytes + test/reference/clip-fill-nz-unbounded.rgb24.ref.png | Bin 3201 -> 3409 bytes + test/reference/clip-operator.rgb24.ref.png | Bin 3244 -> 3212 bytes + test/reference/clip-operator.traps.rgb24.ref.png | Bin 0 -> 3232 bytes + test/reference/clip-stroke-unbounded.rgb24.ref.png | Bin 3063 -> 3408 bytes + .../clip-stroke-unbounded.traps.rgb24.ref.png | Bin 0 -> 3108 bytes + test/reference/hatchings.traps.rgb24.ref.png | Bin 0 -> 89997 bytes + test/reference/operator-source.argb32.ref.png | Bin 0 -> 5538 bytes + test/reference/operator-source.ref.png | Bin 5745 -> 0 bytes + test/reference/operator-source.rgb24.ref.png | Bin 4639 -> 3876 bytes + test/reference/operator-source.traps.argb32.ref.png | Bin 5803 -> 5630 bytes + test/reference/operator-source.traps.rgb24.ref.png | Bin 1854 -> 3979 bytes + test/reference/over-around-source.rgb24.ref.png | Bin 257 -> 454 bytes + test/reference/over-around-source.traps.rgb24.ref.png | Bin 245 -> 492 bytes + test/reference/over-below-source.rgb24.ref.png | Bin 322 -> 372 bytes + test/reference/over-below-source.traps.rgb24.ref.png | Bin 340 -> 378 bytes + test/reference/over-between-source.rgb24.ref.png | Bin 406 -> 440 bytes + .../reference/over-between-source.traps.rgb24.ref.png | Bin 430 -> 461 bytes + test/reference/overlapping-boxes.rgb24.ref.png | Bin 204 -> 170 bytes + test/reference/overlapping-boxes.traps.rgb24.ref.png | Bin 201 -> 204 bytes + test/reference/tighten-bounds.traps.rgb24.ref.png | Bin 0 -> 8179 bytes + 23 files changed, 6 insertions(+), 1 deletion(-) + +commit 84d1eac61fd8b5515711bd23b2ac886efd86a42f +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Sep 16 18:00:21 2011 +0200 + + path: Fix a minor oversight in 1ce5d4707cf26061 + + The plan was "path: Skip calls to zero-length memcpy". However, this skipped + calls if the buffer was still empty, which means that it skipped all calls. + + Fixes: Half the test suite, lots of assertion failures + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-path-fixed.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit a1be14693bb53f1818be2dee90f642143002d6d5 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Sep 16 10:49:28 2011 +0200 + + boilerplate-xcb: Print sequence numbers + + The boilerplate code will now also print the low 16 bits of the sequence number + for errors and events. This should make it a lot easier to find errors in e.g. + a long xtrace output. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + boilerplate/cairo-boilerplate-xcb.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +commit 7ba28ff563ab8a8e77213789860b2d412577a309 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Sep 16 10:43:44 2011 +0200 + + cairo-xcb: Require libxcb 1.6 + + Since commit 968eb30bba1dc94, we use xcb_discard_reply(). This function was + added in libxcb 1.6. + + "Fixes": https://bugs.freedesktop.org/show_bug.cgi?id=40925 + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + boilerplate/cairo-boilerplate-xcb.c | 6 ------ + configure.ac | 5 +---- + 2 files changed, 1 insertion(+), 10 deletions(-) + +commit b6c3fea672592a77b0b6fa487b403c981921b13a +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Sep 15 16:27:20 2011 +0200 + + xcb: Improve error cases in _clip_and_composite_combine + + This makes sure that errors from _cairo_clip_get_surface() aren't lost and that + we really got an xcb surface. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +commit f3a9a0c9e646ca684ee8e7bd65506cf2793178d2 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 16 16:24:23 2011 +0100 + + test: Add a1-fill + + Capture the bug report: + https://bugs.freedesktop.org/show_bug.cgi?id=31604 + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 3 ++ + test/Makefile.sources | 1 + + test/a1-fill.c | 67 +++++++++++++++++++++++++++++++++++ + test/reference/a1-fill.base.ref.png | Bin 0 -> 328 bytes + test/reference/a1-fill.ref.png | Bin 0 -> 328 bytes + test/reference/a1-fill.traps.ref.png | Bin 0 -> 328 bytes + 6 files changed, 71 insertions(+) + +commit 1ce5d4707cf260618bd4d61f39aad4371ffa3336 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 16 16:11:42 2011 +0100 + + path: Skip calls to zero-length memcpy + + We attempt to copy 0 points onto the array of path points for a + close-path. This is pointless and an unnecessary function call under + MSVC at least. + + Based on a patch by Steve Snyder, incorporating Behdad's review + comments. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=37836 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-fixed.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit f09361cff16776b49e9159c60eea4e8a049865d6 +Author: Krzysztof Kosinski <tweenk.pl@gmail.com> +Date: Fri Sep 16 15:59:38 2011 +0100 + + test: Add radial-outer-focus + + Numerical instability in the computation of gradients leads to random + results. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=40918 + + test/Makefile.sources | 1 + + test/radial-outer-focus.c | 69 +++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 70 insertions(+) + +commit 26e8fa03cb411d5d6d1df32c7a5435eaaa15ffd2 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 16 15:02:37 2011 +0100 + + base: Make sure we have fuzzy clip boxes! + + _cairo_clip_get_surface() expects the caller to handle unaligned clip + boxes in order to avoid recursion. The baseline renderer ignored this + basic tenet and so ended up with only sharp clip regions. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/test-base-compositor-surface.c | 60 +++++++++++++++++++++++++++++++++----- + 1 file changed, 52 insertions(+), 8 deletions(-) + +commit c5295981c65dcd548bc391f7194e1e378e288e21 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 16 15:01:11 2011 +0100 + + test: Update reference images for test-base + + Uli Schlachter spotted that I had create reference images with sharp + edges for his tighten-bounds test case, exactly as if I had ignored + unaligned clip boxes... + + Turns out I had removed the code to handle them... + + test/reference/random-clip.base.argb32.ref.png | Bin 308138 -> 313008 bytes + test/reference/random-clip.base.rgb24.ref.png | Bin 308138 -> 313008 bytes + test/reference/tighten-bounds.base.argb32.ref.png | Bin 8457 -> 8486 bytes + test/reference/tighten-bounds.base.rgb24.ref.png | Bin 7832 -> 7856 bytes + 4 files changed, 0 insertions(+), 0 deletions(-) + +commit f1c8c00f16d3e14360c44c92a2edc4269c782ff1 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Sep 16 23:04:53 2011 +0930 + + test: refresh some pdf/ps refs + + test/Makefile.refs | 6 ++++++ + test/reference/scale-offset-image.pdf.argb32.ref.png | Bin 9981 -> 7643 bytes + test/reference/scale-offset-image.pdf.rgb24.ref.png | Bin 9981 -> 7643 bytes + .../scale-offset-similar.pdf.argb32.ref.png | Bin 11027 -> 8419 bytes + .../reference/scale-offset-similar.pdf.rgb24.ref.png | Bin 11027 -> 8419 bytes + test/reference/scale-offset-similar.ps.ref.png | Bin 7860 -> 6850 bytes + test/reference/shape-general-convex.ps.ref.png | Bin 0 -> 1632 bytes + test/reference/shape-sierpinski.pdf.argb32.ref.png | Bin 0 -> 39520 bytes + test/reference/shape-sierpinski.pdf.rgb24.ref.png | Bin 0 -> 39520 bytes + test/reference/shape-sierpinski.ps.ref.png | Bin 0 -> 39965 bytes + test/reference/shape-sierpinski.ps3.argb32.ref.png | Bin 0 -> 39965 bytes + test/reference/shape-sierpinski.ps3.rgb24.ref.png | Bin 0 -> 39965 bytes + 12 files changed, 6 insertions(+) + +commit 12ee7989a0c1d499a0c228d5312dffbab50eea3f +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Sep 16 22:50:59 2011 +0930 + + test: refresh some pdf/ps refs + + test/Makefile.refs | 6 ++++-- + test/reference/smask-fill.pdf.ref.png | Bin 0 -> 1105 bytes + test/reference/smask-image-mask.pdf.ref.png | Bin 0 -> 615 bytes + test/reference/smask-mask.pdf.ref.png | Bin 0 -> 2308 bytes + test/reference/smask-mask.pdf.xfail.png | Bin 4401 -> 0 bytes + test/reference/smask-paint.pdf.ref.png | Bin 0 -> 2431 bytes + test/reference/smask-paint.pdf.xfail.png | Bin 4513 -> 0 bytes + test/reference/stroke-image.pdf.ref.png | Bin 1475 -> 1006 bytes + test/reference/stroke-image.ps.ref.png | Bin 1682 -> 1535 bytes + 9 files changed, 4 insertions(+), 2 deletions(-) + +commit a0ec977944b7659a3fee7a97ce2e650d775bdf8e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 16 12:35:45 2011 +0100 + + bentley-ottman: End subsumed colinear traps + + I'm not quite sure how we end up with a pair of colinear edges both with + a deferred trap... + + Fixes crash in bug-bo-ricotz + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-bentley-ottmann.c | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +commit 0aabde231431d94eec50304b3f3b428965f83a39 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 16 13:46:09 2011 +0100 + + test: Add bug-bo-ricotz + + Exercises an assertion failure found by Rico Tzschichholz. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 3 ++ + test/Makefile.sources | 1 + + test/bug-bo-ricotz.c | 74 +++++++++++++++++++++++++++++ + test/reference/bug-bo-ricotz.base.ref.png | Bin 0 -> 2125 bytes + test/reference/bug-bo-ricotz.ref.png | Bin 0 -> 2108 bytes + test/reference/bug-bo-ricotz.traps.ref.png | Bin 0 -> 2125 bytes + 6 files changed, 78 insertions(+) + +commit e7bcf1fd79ba96ef46ec297f82facee9c8d73e20 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 16 13:45:11 2011 +0100 + + test: Hack cairo-test-trace to write at trace for all contexts + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/cairo-test-trace.c | 39 +++++++++++++++++++++++++++++---------- + 1 file changed, 29 insertions(+), 10 deletions(-) + +commit 35f41d253ff09a7c144ace833901b28e961c8e14 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 16 13:47:17 2011 +0100 + + fdr,tee: Reorder master/slave invocation to capture death-upon-signals + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-tee-surface.c | 84 +++++++++++++++++++------------------------------ + util/cairo-fdr/fdr.c | 26 +++++++++++++++ + 2 files changed, 58 insertions(+), 52 deletions(-) + +commit 983cfb2f54b6636b38744932122d43ef8ad7a12d +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Sep 16 21:37:58 2011 +0930 + + test: add mask-alpha ps ref + + test/Makefile.refs | 1 + + test/reference/mask-alpha.ps.ref.png | Bin 0 -> 594 bytes + 2 files changed, 1 insertion(+) + +commit d118ae5f648f2171754c877d27211730e6a003d8 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Sep 16 20:51:30 2011 +0930 + + analysis mask: unwrap recording surface snapshot + + fixes mask-alpha test + + src/cairo-analysis-surface.c | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +commit 898e63bfc196cb80cdd5845e32ecb03bafd44f03 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 16 11:50:50 2011 +0100 + + test: Replace xlib reference images with the traps references + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 107 --------------------- + test/reference/a1-bug.xlib.ref.png | Bin 3362 -> 0 bytes + test/reference/aliasing.xlib.ref.png | Bin 104315 -> 0 bytes + test/reference/big-line.xlib.ref.png | Bin 933 -> 0 bytes + test/reference/bug-extents.xlib.ref.png | Bin 9234 -> 0 bytes + test/reference/bug-seams.xlib.ref.png | Bin 1606 -> 0 bytes + test/reference/caps-joins-alpha.xlib.ref.png | Bin 2278 -> 0 bytes + test/reference/caps-joins-curve.xlib.ref.png | Bin 5126 -> 0 bytes + test/reference/clip-disjoint.xlib.ref.png | Bin 5395 -> 0 bytes + .../clip-fill-eo-unbounded.xlib.argb32.ref.png | Bin 3693 -> 0 bytes + .../clip-fill-eo-unbounded.xlib.rgb24.ref.png | Bin 3198 -> 0 bytes + .../clip-fill-nz-unbounded.xlib.argb32.ref.png | Bin 3693 -> 0 bytes + .../clip-fill-nz-unbounded.xlib.rgb24.ref.png | Bin 3198 -> 0 bytes + test/reference/clip-fill-rule.xlib.rgb24.ref.png | Bin 380 -> 0 bytes + test/reference/clip-fill.xlib.ref.png | Bin 1049 -> 0 bytes + .../clip-group-shapes-circles.xlib.ref.png | Bin 1534 -> 0 bytes + ...-group-shapes-unaligned-rectangles.xlib.ref.png | Bin 431 -> 0 bytes + test/reference/clip-nesting.xlib.rgb24.ref.png | Bin 955 -> 0 bytes + test/reference/clip-operator.xlib.ref.png | Bin 8271 -> 0 bytes + test/reference/clip-operator.xlib.rgb24.ref.png | Bin 3258 -> 0 bytes + test/reference/clip-push-group.xlib.ref.png | Bin 155 -> 0 bytes + test/reference/clip-shape.xlib.ref.png | Bin 2944 -> 0 bytes + .../clip-stroke-unbounded.xlib.argb32.ref.png | Bin 3620 -> 0 bytes + .../clip-stroke-unbounded.xlib.rgb24.ref.png | Bin 3109 -> 0 bytes + test/reference/clip-stroke.xlib.ref.png | Bin 1491 -> 0 bytes + test/reference/clip-text.xlib.ref.png | Bin 900 -> 0 bytes + test/reference/clip-twice.xlib.ref.png | Bin 1362 -> 0 bytes + test/reference/clip-twice.xlib.rgb24.ref.png | Bin 1198 -> 0 bytes + test/reference/clipped-group.xlib.ref.png | Bin 289 -> 0 bytes + test/reference/dash-curve.xlib.ref.png | Bin 40109 -> 0 bytes + test/reference/degenerate-arc.xlib.ref.png | Bin 616 -> 0 bytes + test/reference/degenerate-dash.xlib.ref.png | Bin 1898 -> 0 bytes + test/reference/degenerate-pen.xlib.ref.png | Bin 997 -> 0 bytes + test/reference/fill-alpha-pattern.xlib.ref.png | Bin 3653 -> 0 bytes + test/reference/fill-alpha.xlib.ref.png | Bin 2989 -> 0 bytes + test/reference/fill-and-stroke.xlib.argb32.ref.png | Bin 322 -> 0 bytes + test/reference/fill-and-stroke.xlib.rgb24.ref.png | Bin 291 -> 0 bytes + .../fill-degenerate-sort-order.xlib.ref.png | Bin 2397 -> 0 bytes + .../fill-degenerate-sort-order.xlib.rgb24.ref.png | Bin 2060 -> 0 bytes + test/reference/fill-image.xlib.ref.png | Bin 1460 -> 0 bytes + test/reference/fill-rule.xlib.ref.png | Bin 1979 -> 0 bytes + test/reference/fill-rule.xlib.rgb24.ref.png | Bin 1722 -> 0 bytes + .../reference/finer-grained-fallbacks.xlib.ref.png | Bin 1110 -> 0 bytes + .../finer-grained-fallbacks.xlib.rgb24.ref.png | Bin 856 -> 0 bytes + .../ft-text-vertical-layout-type1.xlib.ref.png | Bin 3625 -> 0 bytes + .../ft-text-vertical-layout-type3.xlib.ref.png | Bin 3597 -> 0 bytes + test/reference/group-unaligned.xlib.ref.png | Bin 466 -> 0 bytes + test/reference/halo-transform.xlib.ref.png | Bin 15346 -> 0 bytes + test/reference/halo.xlib.ref.png | Bin 8835 -> 0 bytes + test/reference/hatchings.xlib.ref.png | Bin 92532 -> 0 bytes + .../image-bug-710072-unaligned.xlib.ref.png | Bin 219 -> 0 bytes + .../large-twin-antialias-mixed.xlib.ref.png | Bin 14655 -> 0 bytes + test/reference/leaky-dashed-rectangle.xlib.ref.png | Bin 344 -> 0 bytes + test/reference/leaky-dashed-stroke.xlib.ref.png | Bin 9305 -> 0 bytes + test/reference/linear-gradient-subset.xlib.ref.png | Bin 782 -> 0 bytes + test/reference/linear-gradient.xlib.ref.png | Bin 1021 -> 0 bytes + test/reference/mask-alpha.xlib.ref.png | Bin 640 -> 0 bytes + test/reference/mask-alpha.xlib.rgb24.ref.png | Bin 599 -> 0 bytes + test/reference/mask.xlib.ref.png | Bin 8476 -> 0 bytes + test/reference/mask.xlib.rgb24.ref.png | Bin 7041 -> 0 bytes + test/reference/operator-clear.xlib.argb32.ref.png | Bin 1071 -> 0 bytes + test/reference/operator-clear.xlib.rgb24.ref.png | Bin 951 -> 0 bytes + test/reference/operator-source.xlib.ref.png | Bin 5721 -> 0 bytes + test/reference/operator-source.xlib.rgb24.ref.png | Bin 4447 -> 0 bytes + test/reference/over-above-source.xlib.ref.png | Bin 538 -> 0 bytes + .../reference/over-above-source.xlib.rgb24.ref.png | Bin 461 -> 0 bytes + test/reference/over-around-source.xlib.ref.png | Bin 614 -> 0 bytes + .../over-around-source.xlib.rgb24.ref.png | Bin 503 -> 0 bytes + test/reference/over-between-source.xlib.ref.png | Bin 575 -> 0 bytes + .../over-between-source.xlib.rgb24.ref.png | Bin 473 -> 0 bytes + test/reference/paint-with-alpha-clip.xlib.ref.png | Bin 303 -> 0 bytes + test/reference/path-append.xlib.ref.png | Bin 6461 -> 0 bytes + test/reference/push-group-color.xlib.ref.png | Bin 2964 -> 0 bytes + test/reference/push-group.xlib.ref.png | Bin 3126 -> 0 bytes + test/reference/push-group.xlib.rgb24.ref.png | Bin 2961 -> 0 bytes + ...radial-gradient-mask-source.xlib.argb32.ref.png | Bin 145801 -> 0 bytes + .../radial-gradient-mask-source.xlib.rgb24.ref.png | Bin 150362 -> 0 bytes + .../random-intersections-curves-eo.xlib.ref.png | Bin 244255 -> 0 bytes + .../random-intersections-curves-nz.xlib.ref.png | Bin 264277 -> 0 bytes + .../reference/random-intersections-eo.xlib.ref.png | Bin 134655 -> 0 bytes + .../random-intersections-nonzero.xlib.ref.png | Bin 141548 -> 0 bytes + .../recording-surface-over.xlib.argb32.ref.png | Bin 3055 -> 0 bytes + .../recording-surface-over.xlib.rgb24.ref.png | Bin 3124 -> 0 bytes + test/reference/rotated-clip.xlib.ref.png | Bin 3922 -> 0 bytes + test/reference/rounded-rectangle-fill.xlib.ref.png | Bin 890 -> 0 bytes + .../rounded-rectangle-stroke.xlib.ref.png | Bin 860 -> 0 bytes + test/reference/scale-offset-image.xlib.ref.png | Bin 9136 -> 0 bytes + test/reference/self-intersecting.xlib.ref.png | Bin 208 -> 0 bytes + test/reference/smask-fill.xlib.ref.png | Bin 1223 -> 0 bytes + test/reference/smask-stroke.xlib.ref.png | Bin 1707 -> 0 bytes + test/reference/smask-text.xlib.ref.png | Bin 1672 -> 0 bytes + test/reference/smask.xlib.ref.png | Bin 3386 -> 0 bytes + test/reference/spline-decomposition.xlib.ref.png | Bin 19158 -> 0 bytes + test/reference/stroke-image.xlib.ref.png | Bin 1440 -> 0 bytes + test/reference/subsurface.xlib.ref.png | Bin 1782 -> 0 bytes + .../surface-pattern-operator.xlib.argb32.ref.png | Bin 5171 -> 0 bytes + .../surface-pattern-operator.xlib.rgb24.ref.png | Bin 1913 -> 0 bytes + test/reference/text-rotate.xlib.ref.png | Bin 16646 -> 0 bytes + test/reference/trap-clip.xlib.ref.png | Bin 5772 -> 0 bytes + test/reference/trap-clip.xlib.rgb24.ref.png | Bin 5365 -> 0 bytes + test/reference/twin-antialias-gray.xlib.ref.png | Bin 3863 -> 0 bytes + test/reference/twin-antialias-mixed.xlib.ref.png | Bin 1760 -> 0 bytes + test/reference/twin-antialias-none.xlib.ref.png | Bin 745 -> 0 bytes + .../reference/twin-antialias-subpixel.xlib.ref.png | Bin 3863 -> 0 bytes + test/reference/twin.xlib.ref.png | Bin 4435 -> 0 bytes + .../unbounded-operator.xlib.rgb24.ref.png | Bin 1315 -> 0 bytes + test/reference/user-font-proxy.xlib.ref.png | Bin 18121 -> 0 bytes + test/reference/user-font.xlib.ref.png | Bin 5884 -> 0 bytes + 108 files changed, 107 deletions(-) + +commit fcea0f8e08e2fbd448a990b60be0cf16535b45a5 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 16 11:09:22 2011 +0100 + + test: Use the test-traps as the reference images for xlib/xcb + + The test-traps provides a reference implementation of the + traps-compositor as used by xlib, so we can use it to generate the + reference images as well. (Of course checking that test-traps is itself + correct and only differs in the renderer! ;-) + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + boilerplate/cairo-boilerplate-test-surfaces.c | 2 +- + boilerplate/cairo-boilerplate-xcb.c | 8 +- + boilerplate/cairo-boilerplate-xlib.c | 6 +- + test/Makefile.refs | 779 ++++++++++++++++++++- + test/reference/a1-bug.traps.argb32.ref.png | Bin 0 -> 3362 bytes + test/reference/a1-bug.traps.rgb24.ref.png | Bin 0 -> 3362 bytes + .../a1-clip-fill-equal.traps.argb32.ref.png | Bin 0 -> 120 bytes + .../a1-clip-fill-equal.traps.rgb24.ref.png | Bin 0 -> 120 bytes + .../a1-clip-fill-rule.traps.argb32.ref.png | Bin 0 -> 236 bytes + .../a1-clip-fill-rule.traps.rgb24.ref.png | Bin 0 -> 218 bytes + test/reference/a1-clip-fill.traps.argb32.ref.png | Bin 0 -> 120 bytes + test/reference/a1-clip-fill.traps.rgb24.ref.png | Bin 0 -> 120 bytes + test/reference/a1-clip-paint.traps.argb32.ref.png | Bin 0 -> 120 bytes + test/reference/a1-clip-paint.traps.rgb24.ref.png | Bin 0 -> 120 bytes + test/reference/a1-clip-stroke.traps.argb32.ref.png | Bin 0 -> 120 bytes + test/reference/a1-clip-stroke.traps.rgb24.ref.png | Bin 0 -> 120 bytes + .../reference/a1-image-sample.traps.argb32.ref.png | Bin 0 -> 122 bytes + test/reference/a1-image-sample.traps.rgb24.ref.png | Bin 0 -> 122 bytes + test/reference/a1-line-width.traps.argb32.ref.png | Bin 0 -> 154 bytes + test/reference/a1-line-width.traps.rgb24.ref.png | Bin 0 -> 154 bytes + test/reference/a1-mask-sample.traps.argb32.ref.png | Bin 0 -> 122 bytes + test/reference/a1-mask-sample.traps.rgb24.ref.png | Bin 0 -> 122 bytes + test/reference/a1-mask.traps.argb32.ref.png | Bin 0 -> 106 bytes + test/reference/a1-mask.traps.rgb24.ref.png | Bin 0 -> 106 bytes + ...1-rasterisation-rectangles.traps.argb32.ref.png | Bin 0 -> 1729 bytes + ...a1-rasterisation-rectangles.traps.rgb24.ref.png | Bin 0 -> 1729 bytes + ...a1-rasterisation-triangles.traps.argb32.ref.png | Bin 0 -> 1729 bytes + .../a1-rasterisation-triangles.traps.rgb24.ref.png | Bin 0 -> 1729 bytes + .../a1-rectilinear-grid.traps.argb32.ref.png | Bin 0 -> 207 bytes + .../a1-rectilinear-grid.traps.rgb24.ref.png | Bin 0 -> 207 bytes + test/reference/a1-sample.traps.argb32.ref.png | Bin 0 -> 786 bytes + test/reference/a1-sample.traps.rgb24.ref.png | Bin 0 -> 786 bytes + test/reference/a1-tiger.traps.argb32.ref.png | Bin 0 -> 20406 bytes + test/reference/a1-tiger.traps.rgb24.ref.png | Bin 0 -> 20406 bytes + .../reference/a1-traps-sample.traps.argb32.ref.png | Bin 0 -> 120 bytes + test/reference/a1-traps-sample.traps.rgb24.ref.png | Bin 0 -> 120 bytes + test/reference/a8-clear.traps.argb32.ref.png | Bin 0 -> 248 bytes + test/reference/a8-clear.traps.rgb24.ref.png | Bin 0 -> 248 bytes + test/reference/a8-mask.traps.argb32.ref.png | Bin 0 -> 103 bytes + test/reference/a8-mask.traps.rgb24.ref.png | Bin 0 -> 103 bytes + test/reference/aliasing.traps.argb32.ref.png | Bin 0 -> 103722 bytes + test/reference/aliasing.traps.rgb24.ref.png | Bin 0 -> 103722 bytes + test/reference/alpha-similar.traps.argb32.ref.png | Bin 0 -> 99 bytes + test/reference/alpha-similar.traps.rgb24.ref.png | Bin 0 -> 88 bytes + .../api-special-cases.traps.argb32.ref.png | Bin 0 -> 95 bytes + .../api-special-cases.traps.rgb24.ref.png | Bin 0 -> 95 bytes + .../arc-infinite-loop.traps.argb32.ref.png | Bin 0 -> 96 bytes + .../arc-infinite-loop.traps.rgb24.ref.png | Bin 0 -> 96 bytes + .../arc-looping-dash.traps.argb32.ref.png | Bin 0 -> 470 bytes + .../reference/arc-looping-dash.traps.rgb24.ref.png | Bin 0 -> 470 bytes + test/reference/big-empty-box.traps.argb32.ref.png | Bin 0 -> 111 bytes + test/reference/big-empty-box.traps.rgb24.ref.png | Bin 0 -> 108 bytes + .../big-empty-triangle.traps.argb32.ref.png | Bin 0 -> 111 bytes + .../big-empty-triangle.traps.rgb24.ref.png | Bin 0 -> 108 bytes + test/reference/big-line.traps.argb32.ref.png | Bin 0 -> 933 bytes + test/reference/big-line.traps.rgb24.ref.png | Bin 0 -> 933 bytes + test/reference/big-little-box.traps.argb32.ref.png | Bin 0 -> 169 bytes + test/reference/big-little-box.traps.rgb24.ref.png | Bin 0 -> 160 bytes + .../big-little-triangle.traps.argb32.ref.png | Bin 0 -> 399 bytes + .../big-little-triangle.traps.rgb24.ref.png | Bin 0 -> 320 bytes + test/reference/big-trap.traps.argb32.ref.png | Bin 0 -> 319 bytes + test/reference/big-trap.traps.rgb24.ref.png | Bin 0 -> 319 bytes + test/reference/bilevel-image.traps.argb32.ref.png | Bin 0 -> 105 bytes + test/reference/bilevel-image.traps.rgb24.ref.png | Bin 0 -> 105 bytes + test/reference/bitmap-font.traps.argb32.ref.png | Bin 0 -> 931 bytes + test/reference/bitmap-font.traps.rgb24.ref.png | Bin 0 -> 871 bytes + test/reference/bug-40410.traps.argb32.ref.png | Bin 0 -> 428 bytes + test/reference/bug-40410.traps.rgb24.ref.png | Bin 0 -> 428 bytes + .../bug-bo-rectangular.traps.argb32.ref.png | Bin 0 -> 950 bytes + .../bug-bo-rectangular.traps.rgb24.ref.png | Bin 0 -> 950 bytes + test/reference/bug-extents.traps.argb32.ref.png | Bin 0 -> 9250 bytes + test/reference/bug-extents.traps.rgb24.ref.png | Bin 0 -> 9250 bytes + test/reference/bug-seams.traps.argb32.ref.png | Bin 0 -> 1606 bytes + test/reference/bug-seams.traps.rgb24.ref.png | Bin 0 -> 1606 bytes + .../caps-joins-alpha.traps.argb32.ref.png | Bin 0 -> 2278 bytes + .../reference/caps-joins-alpha.traps.rgb24.ref.png | Bin 0 -> 2278 bytes + .../caps-joins-curve.traps.argb32.ref.png | Bin 0 -> 5368 bytes + .../reference/caps-joins-curve.traps.rgb24.ref.png | Bin 0 -> 5368 bytes + test/reference/caps-joins.traps.argb32.ref.png | Bin 0 -> 2374 bytes + test/reference/caps-joins.traps.rgb24.ref.png | Bin 0 -> 2374 bytes + test/reference/caps-sub-paths.traps.argb32.ref.png | Bin 0 -> 166 bytes + test/reference/caps-sub-paths.traps.rgb24.ref.png | Bin 0 -> 166 bytes + .../caps-tails-curve.traps.argb32.ref.png | Bin 0 -> 50228 bytes + .../reference/caps-tails-curve.traps.rgb24.ref.png | Bin 0 -> 50228 bytes + test/reference/caps.traps.argb32.ref.png | Bin 0 -> 1601 bytes + test/reference/caps.traps.rgb24.ref.png | Bin 0 -> 1601 bytes + test/reference/checkerboard.traps.argb32.ref.png | Bin 0 -> 142 bytes + test/reference/checkerboard.traps.rgb24.ref.png | Bin 0 -> 142 bytes + test/reference/clear-source.traps.argb32.ref.png | Bin 0 -> 779 bytes + test/reference/clear-source.traps.rgb24.ref.png | Bin 0 -> 779 bytes + test/reference/clear.traps.argb32.ref.png | Bin 0 -> 673 bytes + test/reference/clear.traps.rgb24.ref.png | Bin 0 -> 614 bytes + test/reference/clip-all.traps.argb32.ref.png | Bin 0 -> 95 bytes + test/reference/clip-all.traps.rgb24.ref.png | Bin 0 -> 95 bytes + .../clip-complex-shape-eo-aa.traps.argb32.ref.png | Bin 0 -> 325 bytes + .../clip-complex-shape-eo-aa.traps.rgb24.ref.png | Bin 0 -> 325 bytes + ...clip-complex-shape-eo-mono.traps.argb32.ref.png | Bin 0 -> 325 bytes + .../clip-complex-shape-eo-mono.traps.rgb24.ref.png | Bin 0 -> 325 bytes + test/reference/clip-contexts.traps.argb32.ref.png | Bin 0 -> 98 bytes + test/reference/clip-contexts.traps.rgb24.ref.png | Bin 0 -> 98 bytes + .../clip-device-offset.traps.argb32.ref.png | Bin 0 -> 175 bytes + .../clip-device-offset.traps.rgb24.ref.png | Bin 0 -> 168 bytes + .../clip-disjoint-hatching.traps.argb32.ref.png | Bin 0 -> 7953 bytes + .../clip-disjoint-hatching.traps.rgb24.ref.png | Bin 0 -> 7953 bytes + test/reference/clip-disjoint.traps.argb32.ref.png | Bin 0 -> 5411 bytes + test/reference/clip-disjoint.traps.rgb24.ref.png | Bin 0 -> 5411 bytes + .../clip-empty-group.traps.argb32.ref.png | Bin 0 -> 103 bytes + .../reference/clip-empty-group.traps.rgb24.ref.png | Bin 0 -> 103 bytes + .../reference/clip-empty-save.traps.argb32.ref.png | Bin 0 -> 95 bytes + test/reference/clip-empty-save.traps.rgb24.ref.png | Bin 0 -> 95 bytes + test/reference/clip-empty.traps.argb32.ref.png | Bin 0 -> 95 bytes + test/reference/clip-empty.traps.rgb24.ref.png | Bin 0 -> 95 bytes + .../clip-fill-eo-unbounded.traps.argb32.ref.png | Bin 0 -> 3693 bytes + .../reference/clip-fill-no-op.traps.argb32.ref.png | Bin 0 -> 152 bytes + test/reference/clip-fill-no-op.traps.rgb24.ref.png | Bin 0 -> 152 bytes + .../clip-fill-nz-unbounded.traps.argb32.ref.png | Bin 0 -> 3693 bytes + ...ip-fill-rule-pixel-aligned.traps.argb32.ref.png | Bin 0 -> 176 bytes + ...lip-fill-rule-pixel-aligned.traps.rgb24.ref.png | Bin 0 -> 165 bytes + test/reference/clip-fill-rule.traps.argb32.ref.png | Bin 0 -> 412 bytes + test/reference/clip-fill-rule.traps.rgb24.ref.png | Bin 0 -> 361 bytes + test/reference/clip-fill.traps.argb32.ref.png | Bin 0 -> 1049 bytes + test/reference/clip-fill.traps.rgb24.ref.png | Bin 0 -> 1049 bytes + ...-shapes-aligned-rectangles.traps.argb32.ref.png | Bin 0 -> 378 bytes + ...p-shapes-aligned-rectangles.traps.rgb24.ref.png | Bin 0 -> 378 bytes + .../clip-group-shapes-circles.traps.argb32.ref.png | Bin 0 -> 1530 bytes + .../clip-group-shapes-circles.traps.rgb24.ref.png | Bin 0 -> 1530 bytes + ...hapes-unaligned-rectangles.traps.argb32.ref.png | Bin 0 -> 431 bytes + ...shapes-unaligned-rectangles.traps.rgb24.ref.png | Bin 0 -> 431 bytes + test/reference/clip-image.traps.argb32.ref.png | Bin 0 -> 2686 bytes + test/reference/clip-image.traps.rgb24.ref.png | Bin 0 -> 2686 bytes + test/reference/clip-intersect.traps.argb32.ref.png | Bin 0 -> 193 bytes + test/reference/clip-intersect.traps.rgb24.ref.png | Bin 0 -> 193 bytes + .../clip-mixed-antialias.traps.argb32.ref.png | Bin 0 -> 1094 bytes + .../clip-mixed-antialias.traps.rgb24.ref.png | Bin 0 -> 1094 bytes + test/reference/clip-nesting.traps.argb32.ref.png | Bin 0 -> 1031 bytes + test/reference/clip-nesting.traps.rgb24.ref.png | Bin 0 -> 936 bytes + test/reference/clip-operator.traps.argb32.ref.png | Bin 0 -> 8153 bytes + .../reference/clip-push-group.traps.argb32.ref.png | Bin 0 -> 155 bytes + test/reference/clip-push-group.traps.rgb24.ref.png | Bin 0 -> 155 bytes + ...rotate-image-surface-paint.traps.argb32.ref.png | Bin 0 -> 202 bytes + ...-rotate-image-surface-paint.traps.rgb24.ref.png | Bin 0 -> 202 bytes + test/reference/clip-shape.traps.argb32.ref.png | Bin 0 -> 2944 bytes + test/reference/clip-shape.traps.rgb24.ref.png | Bin 0 -> 2944 bytes + .../clip-stroke-no-op.traps.argb32.ref.png | Bin 0 -> 152 bytes + .../clip-stroke-no-op.traps.rgb24.ref.png | Bin 0 -> 152 bytes + .../clip-stroke-unbounded.traps.argb32.ref.png | Bin 0 -> 3617 bytes + test/reference/clip-stroke.traps.argb32.ref.png | Bin 0 -> 1492 bytes + test/reference/clip-stroke.traps.rgb24.ref.png | Bin 0 -> 1492 bytes + test/reference/clip-text.traps.argb32.ref.png | Bin 0 -> 899 bytes + test/reference/clip-text.traps.rgb24.ref.png | Bin 0 -> 899 bytes + .../clip-twice-rectangle.traps.argb32.ref.png | Bin 0 -> 323 bytes + .../clip-twice-rectangle.traps.rgb24.ref.png | Bin 0 -> 323 bytes + test/reference/clip-twice.traps.argb32.ref.png | Bin 0 -> 1328 bytes + test/reference/clip-twice.traps.rgb24.ref.png | Bin 0 -> 1173 bytes + test/reference/clip-unbounded.traps.argb32.ref.png | Bin 0 -> 100 bytes + test/reference/clip-unbounded.traps.rgb24.ref.png | Bin 0 -> 97 bytes + test/reference/clipped-group.traps.argb32.ref.png | Bin 0 -> 289 bytes + test/reference/clipped-group.traps.rgb24.ref.png | Bin 0 -> 289 bytes + .../reference/clipped-surface.traps.argb32.ref.png | Bin 0 -> 345 bytes + test/reference/clipped-surface.traps.rgb24.ref.png | Bin 0 -> 345 bytes + .../close-path-current-point.traps.argb32.ref.png | Bin 0 -> 2008 bytes + .../close-path-current-point.traps.rgb24.ref.png | Bin 0 -> 2008 bytes + test/reference/close-path.traps.argb32.ref.png | Bin 0 -> 284 bytes + test/reference/close-path.traps.rgb24.ref.png | Bin 0 -> 284 bytes + ...eger-translate-over-repeat.traps.argb32.ref.png | Bin 0 -> 334 bytes + ...teger-translate-over-repeat.traps.rgb24.ref.png | Bin 0 -> 334 bytes + ...ite-integer-translate-over.traps.argb32.ref.png | Bin 0 -> 13998 bytes + ...site-integer-translate-over.traps.rgb24.ref.png | Bin 0 -> 13998 bytes + ...e-integer-translate-source.traps.argb32.ref.png | Bin 0 -> 13998 bytes + ...te-integer-translate-source.traps.rgb24.ref.png | Bin 0 -> 13998 bytes + test/reference/copy-path.traps.argb32.ref.png | Bin 0 -> 588 bytes + test/reference/copy-path.traps.rgb24.ref.png | Bin 0 -> 588 bytes + .../create-from-png-stream.traps.argb32.ref.png | Bin 0 -> 96 bytes + .../create-from-png-stream.traps.rgb24.ref.png | Bin 0 -> 96 bytes + test/reference/culled-glyphs.traps.argb32.ref.png | Bin 0 -> 435 bytes + test/reference/culled-glyphs.traps.rgb24.ref.png | Bin 0 -> 435 bytes + .../curve-to-as-line-to.traps.argb32.ref.png | Bin 0 -> 107 bytes + .../curve-to-as-line-to.traps.rgb24.ref.png | Bin 0 -> 107 bytes + .../reference/dash-caps-joins.traps.argb32.ref.png | Bin 0 -> 4521 bytes + test/reference/dash-caps-joins.traps.rgb24.ref.png | Bin 0 -> 4521 bytes + test/reference/dash-curve.traps.argb32.ref.png | Bin 0 -> 40040 bytes + test/reference/dash-curve.traps.rgb24.ref.png | Bin 0 -> 40040 bytes + .../dash-infinite-loop.traps.argb32.ref.png | Bin 0 -> 835 bytes + .../dash-infinite-loop.traps.rgb24.ref.png | Bin 0 -> 835 bytes + test/reference/dash-no-dash.traps.argb32.ref.png | Bin 0 -> 119 bytes + test/reference/dash-no-dash.traps.rgb24.ref.png | Bin 0 -> 119 bytes + .../dash-offset-negative.traps.argb32.ref.png | Bin 0 -> 151 bytes + .../dash-offset-negative.traps.rgb24.ref.png | Bin 0 -> 151 bytes + test/reference/dash-offset.traps.argb32.ref.png | Bin 0 -> 794 bytes + test/reference/dash-offset.traps.rgb24.ref.png | Bin 0 -> 794 bytes + test/reference/dash-scale.traps.argb32.ref.png | Bin 0 -> 7621 bytes + test/reference/dash-scale.traps.rgb24.ref.png | Bin 0 -> 7621 bytes + test/reference/dash-state.traps.argb32.ref.png | Bin 0 -> 7628 bytes + test/reference/dash-state.traps.rgb24.ref.png | Bin 0 -> 7628 bytes + .../dash-zero-length.traps.argb32.ref.png | Bin 0 -> 219 bytes + .../reference/dash-zero-length.traps.rgb24.ref.png | Bin 0 -> 199 bytes + test/reference/degenerate-arc.traps.argb32.ref.png | Bin 0 -> 547 bytes + test/reference/degenerate-arc.traps.rgb24.ref.png | Bin 0 -> 547 bytes + .../reference/degenerate-arcs.traps.argb32.ref.png | Bin 0 -> 120 bytes + test/reference/degenerate-arcs.traps.rgb24.ref.png | Bin 0 -> 120 bytes + .../degenerate-curve-to.traps.argb32.ref.png | Bin 0 -> 283 bytes + .../degenerate-curve-to.traps.rgb24.ref.png | Bin 0 -> 283 bytes + .../reference/degenerate-dash.traps.argb32.ref.png | Bin 0 -> 1898 bytes + test/reference/degenerate-dash.traps.rgb24.ref.png | Bin 0 -> 1898 bytes + ...degenerate-linear-gradient.traps.argb32.ref.png | Bin 0 -> 336 bytes + .../degenerate-linear-gradient.traps.rgb24.ref.png | Bin 0 -> 336 bytes + .../reference/degenerate-path.traps.argb32.ref.png | Bin 0 -> 249 bytes + test/reference/degenerate-path.traps.rgb24.ref.png | Bin 0 -> 217 bytes + test/reference/degenerate-pen.traps.argb32.ref.png | Bin 0 -> 1000 bytes + test/reference/degenerate-pen.traps.rgb24.ref.png | Bin 0 -> 1000 bytes + ...degenerate-radial-gradient.traps.argb32.ref.png | Bin 0 -> 428 bytes + .../degenerate-radial-gradient.traps.rgb24.ref.png | Bin 0 -> 428 bytes + .../degenerate-rel-curve-to.traps.argb32.ref.png | Bin 0 -> 278 bytes + .../degenerate-rel-curve-to.traps.rgb24.ref.png | Bin 0 -> 278 bytes + .../device-offset-fractional.traps.argb32.ref.png | Bin 0 -> 266 bytes + .../device-offset-fractional.traps.rgb24.ref.png | Bin 0 -> 266 bytes + .../device-offset-positive.traps.argb32.ref.png | Bin 0 -> 120 bytes + .../device-offset-positive.traps.rgb24.ref.png | Bin 0 -> 111 bytes + .../device-offset-scale.traps.argb32.ref.png | Bin 0 -> 109 bytes + .../device-offset-scale.traps.rgb24.ref.png | Bin 0 -> 109 bytes + test/reference/device-offset.traps.argb32.ref.png | Bin 0 -> 118 bytes + test/reference/device-offset.traps.rgb24.ref.png | Bin 0 -> 111 bytes + test/reference/drunkard-tails.traps.argb32.ref.png | Bin 0 -> 6036 bytes + test/reference/drunkard-tails.traps.rgb24.ref.png | Bin 0 -> 6036 bytes + .../extend-pad-border.traps.argb32.ref.png | Bin 0 -> 495 bytes + .../extend-pad-border.traps.rgb24.ref.png | Bin 0 -> 495 bytes + .../extend-pad-similar.traps.argb32.ref.png | Bin 0 -> 279 bytes + .../extend-pad-similar.traps.rgb24.ref.png | Bin 0 -> 279 bytes + test/reference/extend-pad.traps.argb32.ref.png | Bin 0 -> 279 bytes + test/reference/extend-pad.traps.rgb24.ref.png | Bin 0 -> 279 bytes + .../extend-reflect-similar.traps.argb32.ref.png | Bin 0 -> 133406 bytes + .../extend-reflect-similar.traps.rgb24.ref.png | Bin 0 -> 133406 bytes + test/reference/extend-reflect.traps.argb32.ref.png | Bin 0 -> 133406 bytes + test/reference/extend-reflect.traps.rgb24.ref.png | Bin 0 -> 133406 bytes + .../extend-repeat-similar.traps.argb32.ref.png | Bin 0 -> 108603 bytes + .../extend-repeat-similar.traps.rgb24.ref.png | Bin 0 -> 108603 bytes + test/reference/extend-repeat.traps.argb32.ref.png | Bin 0 -> 108603 bytes + test/reference/extend-repeat.traps.rgb24.ref.png | Bin 0 -> 108603 bytes + .../extended-blend-alpha-mask.traps.argb32.ref.png | Bin 0 -> 9221 bytes + .../extended-blend-alpha-mask.traps.rgb24.ref.png | Bin 0 -> 4597 bytes + .../extended-blend-alpha.traps.argb32.ref.png | Bin 0 -> 9406 bytes + .../extended-blend-alpha.traps.rgb24.ref.png | Bin 0 -> 5740 bytes + .../extended-blend-mask.traps.argb32.ref.png | Bin 0 -> 3971 bytes + .../extended-blend-mask.traps.rgb24.ref.png | Bin 0 -> 3643 bytes + ...extended-blend-solid-alpha.traps.argb32.ref.png | Bin 0 -> 9406 bytes + .../extended-blend-solid-alpha.traps.rgb24.ref.png | Bin 0 -> 5740 bytes + .../extended-blend-solid.traps.argb32.ref.png | Bin 0 -> 4063 bytes + .../extended-blend-solid.traps.rgb24.ref.png | Bin 0 -> 3775 bytes + test/reference/extended-blend.traps.argb32.ref.png | Bin 0 -> 4063 bytes + test/reference/extended-blend.traps.rgb24.ref.png | Bin 0 -> 3775 bytes + .../fill-alpha-pattern.traps.argb32.ref.png | Bin 0 -> 3379 bytes + .../fill-alpha-pattern.traps.rgb24.ref.png | Bin 0 -> 3379 bytes + test/reference/fill-alpha.traps.argb32.ref.png | Bin 0 -> 2824 bytes + test/reference/fill-alpha.traps.rgb24.ref.png | Bin 0 -> 2824 bytes + .../fill-and-stroke-alpha-add.traps.argb32.ref.png | Bin 0 -> 552 bytes + .../fill-and-stroke-alpha-add.traps.rgb24.ref.png | Bin 0 -> 552 bytes + .../fill-and-stroke-alpha.traps.argb32.ref.png | Bin 0 -> 507 bytes + .../fill-and-stroke-alpha.traps.rgb24.ref.png | Bin 0 -> 507 bytes + .../reference/fill-and-stroke.traps.argb32.ref.png | Bin 0 -> 321 bytes + test/reference/fill-and-stroke.traps.rgb24.ref.png | Bin 0 -> 293 bytes + ...fill-degenerate-sort-order.traps.argb32.ref.png | Bin 0 -> 2378 bytes + .../fill-degenerate-sort-order.traps.rgb24.ref.png | Bin 0 -> 2041 bytes + test/reference/fill-empty.traps.argb32.ref.png | Bin 0 -> 99 bytes + test/reference/fill-empty.traps.rgb24.ref.png | Bin 0 -> 97 bytes + test/reference/fill-image.traps.argb32.ref.png | Bin 0 -> 1455 bytes + test/reference/fill-image.traps.rgb24.ref.png | Bin 0 -> 1455 bytes + .../fill-missed-stop.traps.argb32.ref.png | Bin 0 -> 447 bytes + .../reference/fill-missed-stop.traps.rgb24.ref.png | Bin 0 -> 375 bytes + test/reference/fill-rule.traps.argb32.ref.png | Bin 0 -> 1979 bytes + test/reference/fill-rule.traps.rgb24.ref.png | Bin 0 -> 1703 bytes + .../filter-bilinear-extents.traps.argb32.ref.png | Bin 0 -> 1210 bytes + .../filter-bilinear-extents.traps.rgb24.ref.png | Bin 0 -> 1210 bytes + .../filter-nearest-offset.traps.argb32.ref.png | Bin 0 -> 201 bytes + .../filter-nearest-offset.traps.rgb24.ref.png | Bin 0 -> 201 bytes + ...filter-nearest-transformed.traps.argb32.ref.png | Bin 0 -> 514 bytes + .../filter-nearest-transformed.traps.rgb24.ref.png | Bin 0 -> 514 bytes + .../finer-grained-fallbacks.traps.argb32.ref.png | Bin 0 -> 1110 bytes + .../finer-grained-fallbacks.traps.rgb24.ref.png | Bin 0 -> 856 bytes + .../font-matrix-translation.traps.argb32.ref.png | Bin 0 -> 874 bytes + .../font-matrix-translation.traps.rgb24.ref.png | Bin 0 -> 874 bytes + ...ft-show-glyphs-positioning.traps.argb32.ref.png | Bin 0 -> 3297 bytes + .../ft-show-glyphs-positioning.traps.rgb24.ref.png | Bin 0 -> 3297 bytes + .../ft-show-glyphs-table.traps.argb32.ref.png | Bin 0 -> 9893 bytes + .../ft-show-glyphs-table.traps.rgb24.ref.png | Bin 0 -> 9893 bytes + .../ft-text-antialias-none.traps.argb32.ref.png | Bin 0 -> 295 bytes + .../ft-text-antialias-none.traps.rgb24.ref.png | Bin 0 -> 295 bytes + ...text-vertical-layout-type1.traps.argb32.ref.png | Bin 0 -> 3066 bytes + ...-text-vertical-layout-type1.traps.rgb24.ref.png | Bin 0 -> 3066 bytes + ...text-vertical-layout-type3.traps.argb32.ref.png | Bin 0 -> 3597 bytes + ...-text-vertical-layout-type3.traps.rgb24.ref.png | Bin 0 -> 3597 bytes + .../get-group-target.traps.argb32.ref.png | Bin 0 -> 113 bytes + .../reference/get-group-target.traps.rgb24.ref.png | Bin 0 -> 113 bytes + .../glyph-cache-pressure.traps.argb32.ref.png | Bin 0 -> 2863 bytes + .../glyph-cache-pressure.traps.rgb24.ref.png | Bin 0 -> 2863 bytes + test/reference/gradient-alpha.traps.argb32.ref.png | Bin 0 -> 125 bytes + test/reference/gradient-alpha.traps.rgb24.ref.png | Bin 0 -> 119 bytes + .../gradient-constant-alpha.traps.argb32.ref.png | Bin 0 -> 111 bytes + .../gradient-constant-alpha.traps.rgb24.ref.png | Bin 0 -> 106 bytes + .../gradient-zero-stops-mask.traps.argb32.ref.png | Bin 0 -> 86 bytes + .../gradient-zero-stops-mask.traps.rgb24.ref.png | Bin 0 -> 86 bytes + .../gradient-zero-stops.traps.argb32.ref.png | Bin 0 -> 86 bytes + .../gradient-zero-stops.traps.rgb24.ref.png | Bin 0 -> 86 bytes + test/reference/group-clip.traps.argb32.ref.png | Bin 0 -> 191 bytes + test/reference/group-clip.traps.rgb24.ref.png | Bin 0 -> 191 bytes + test/reference/group-paint.traps.argb32.ref.png | Bin 0 -> 95 bytes + test/reference/group-paint.traps.rgb24.ref.png | Bin 0 -> 95 bytes + .../reference/group-unaligned.traps.argb32.ref.png | Bin 0 -> 468 bytes + test/reference/group-unaligned.traps.rgb24.ref.png | Bin 0 -> 468 bytes + test/reference/halo-transform.traps.argb32.ref.png | Bin 0 -> 15118 bytes + test/reference/halo-transform.traps.rgb24.ref.png | Bin 0 -> 15118 bytes + test/reference/halo.traps.argb32.ref.png | Bin 0 -> 8800 bytes + test/reference/halo.traps.rgb24.ref.png | Bin 0 -> 8800 bytes + test/reference/hatchings.traps.argb32.ref.png | Bin 0 -> 89997 bytes + .../reference/horizontal-clip.traps.argb32.ref.png | Bin 0 -> 113 bytes + test/reference/horizontal-clip.traps.rgb24.ref.png | Bin 0 -> 113 bytes + test/reference/huge-linear.traps.argb32.ref.png | Bin 0 -> 1600 bytes + test/reference/huge-linear.traps.rgb24.ref.png | Bin 0 -> 1600 bytes + test/reference/huge-radial.traps.argb32.ref.png | Bin 0 -> 41702 bytes + test/reference/huge-radial.traps.rgb24.ref.png | Bin 0 -> 41702 bytes + .../image-bug-710072-aligned.traps.argb32.ref.png | Bin 0 -> 151 bytes + .../image-bug-710072-aligned.traps.rgb24.ref.png | Bin 0 -> 151 bytes + ...image-bug-710072-unaligned.traps.argb32.ref.png | Bin 0 -> 219 bytes + .../image-bug-710072-unaligned.traps.rgb24.ref.png | Bin 0 -> 219 bytes + .../image-surface-source.traps.argb32.ref.png | Bin 0 -> 377 bytes + .../image-surface-source.traps.rgb24.ref.png | Bin 0 -> 301 bytes + test/reference/implicit-close.traps.argb32.ref.png | Bin 0 -> 251 bytes + test/reference/implicit-close.traps.rgb24.ref.png | Bin 0 -> 251 bytes + test/reference/infinite-join.traps.argb32.ref.png | Bin 0 -> 160 bytes + test/reference/infinite-join.traps.rgb24.ref.png | Bin 0 -> 160 bytes + test/reference/inverse-text.traps.argb32.ref.png | Bin 0 -> 2166 bytes + test/reference/inverse-text.traps.rgb24.ref.png | Bin 0 -> 2166 bytes + test/reference/joins-loop.traps.argb32.ref.png | Bin 0 -> 4202 bytes + test/reference/joins-loop.traps.rgb24.ref.png | Bin 0 -> 4202 bytes + test/reference/joins-retrace.traps.argb32.ref.png | Bin 0 -> 4667 bytes + test/reference/joins-retrace.traps.rgb24.ref.png | Bin 0 -> 4667 bytes + test/reference/joins-star.traps.argb32.ref.png | Bin 0 -> 3583 bytes + test/reference/joins-star.traps.rgb24.ref.png | Bin 0 -> 3583 bytes + test/reference/joins.traps.argb32.ref.png | Bin 0 -> 5684 bytes + test/reference/joins.traps.rgb24.ref.png | Bin 0 -> 5684 bytes + test/reference/large-clip.traps.argb32.ref.png | Bin 0 -> 305 bytes + test/reference/large-clip.traps.rgb24.ref.png | Bin 0 -> 305 bytes + test/reference/large-font.traps.argb32.ref.png | Bin 0 -> 6117 bytes + test/reference/large-font.traps.rgb24.ref.png | Bin 0 -> 6117 bytes + .../large-source-roi.traps.argb32.ref.png | Bin 0 -> 93 bytes + .../reference/large-source-roi.traps.rgb24.ref.png | Bin 0 -> 93 bytes + test/reference/large-source.traps.argb32.ref.png | Bin 0 -> 112 bytes + test/reference/large-source.traps.rgb24.ref.png | Bin 0 -> 112 bytes + ...large-twin-antialias-mixed.traps.argb32.ref.png | Bin 0 -> 10740 bytes + .../large-twin-antialias-mixed.traps.rgb24.ref.png | Bin 0 -> 10740 bytes + test/reference/leaky-dash.traps.argb32.ref.png | Bin 0 -> 197 bytes + test/reference/leaky-dash.traps.rgb24.ref.png | Bin 0 -> 197 bytes + .../leaky-dashed-rectangle.traps.argb32.ref.png | Bin 0 -> 344 bytes + .../leaky-dashed-rectangle.traps.rgb24.ref.png | Bin 0 -> 344 bytes + .../leaky-dashed-stroke.traps.argb32.ref.png | Bin 0 -> 9303 bytes + .../leaky-dashed-stroke.traps.rgb24.ref.png | Bin 0 -> 9303 bytes + test/reference/leaky-polygon.traps.argb32.ref.png | Bin 0 -> 325 bytes + test/reference/leaky-polygon.traps.rgb24.ref.png | Bin 0 -> 325 bytes + .../line-width-overlap-dashed.traps.argb32.ref.png | Bin 0 -> 401 bytes + .../line-width-overlap-dashed.traps.rgb24.ref.png | Bin 0 -> 401 bytes + ...line-width-overlap-flipped.traps.argb32.ref.png | Bin 0 -> 324 bytes + .../line-width-overlap-flipped.traps.rgb24.ref.png | Bin 0 -> 324 bytes + ...line-width-overlap-flopped.traps.argb32.ref.png | Bin 0 -> 324 bytes + .../line-width-overlap-flopped.traps.rgb24.ref.png | Bin 0 -> 324 bytes + .../line-width-overlap-offset.traps.argb32.ref.png | Bin 0 -> 408 bytes + .../line-width-overlap-offset.traps.rgb24.ref.png | Bin 0 -> 408 bytes + ...line-width-overlap-rotated.traps.argb32.ref.png | Bin 0 -> 628 bytes + .../line-width-overlap-rotated.traps.rgb24.ref.png | Bin 0 -> 628 bytes + .../line-width-overlap.traps.argb32.ref.png | Bin 0 -> 324 bytes + .../line-width-overlap.traps.rgb24.ref.png | Bin 0 -> 324 bytes + .../line-width-scale.traps.argb32.ref.png | Bin 0 -> 5692 bytes + .../reference/line-width-scale.traps.rgb24.ref.png | Bin 0 -> 5692 bytes + .../line-width-tolerance.traps.argb32.ref.png | Bin 0 -> 163 bytes + .../line-width-tolerance.traps.rgb24.ref.png | Bin 0 -> 163 bytes + test/reference/line-width.traps.argb32.ref.png | Bin 0 -> 180 bytes + test/reference/line-width.traps.rgb24.ref.png | Bin 0 -> 180 bytes + .../linear-gradient-extend.traps.argb32.ref.png | Bin 0 -> 371 bytes + .../linear-gradient-extend.traps.rgb24.ref.png | Bin 0 -> 371 bytes + .../linear-gradient-large.traps.argb32.ref.png | Bin 0 -> 4076 bytes + .../linear-gradient-large.traps.rgb24.ref.png | Bin 0 -> 4076 bytes + .../linear-gradient-one-stop.traps.argb32.ref.png | Bin 0 -> 225 bytes + .../linear-gradient-one-stop.traps.rgb24.ref.png | Bin 0 -> 174 bytes + .../linear-gradient-reflect.traps.argb32.ref.png | Bin 0 -> 185 bytes + .../linear-gradient-reflect.traps.rgb24.ref.png | Bin 0 -> 185 bytes + .../linear-gradient-subset.traps.argb32.ref.png | Bin 0 -> 773 bytes + .../linear-gradient-subset.traps.rgb24.ref.png | Bin 0 -> 773 bytes + .../reference/linear-gradient.traps.argb32.ref.png | Bin 0 -> 914 bytes + test/reference/linear-gradient.traps.rgb24.ref.png | Bin 0 -> 914 bytes + .../linear-step-function.traps.argb32.ref.png | Bin 0 -> 118 bytes + .../linear-step-function.traps.rgb24.ref.png | Bin 0 -> 118 bytes + test/reference/linear-uniform.traps.argb32.ref.png | Bin 0 -> 128 bytes + test/reference/linear-uniform.traps.rgb24.ref.png | Bin 0 -> 128 bytes + .../long-dashed-lines.traps.argb32.ref.png | Bin 0 -> 2071 bytes + .../long-dashed-lines.traps.rgb24.ref.png | Bin 0 -> 2071 bytes + test/reference/long-lines.traps.argb32.ref.png | Bin 0 -> 201 bytes + test/reference/long-lines.traps.rgb24.ref.png | Bin 0 -> 201 bytes + .../map-all-to-image.traps.argb32.ref.png | Bin 0 -> 86 bytes + .../reference/map-all-to-image.traps.rgb24.ref.png | Bin 0 -> 86 bytes + .../map-bit-to-image.traps.argb32.ref.png | Bin 0 -> 103 bytes + .../reference/map-bit-to-image.traps.rgb24.ref.png | Bin 0 -> 103 bytes + .../map-to-image-fill.traps.argb32.ref.png | Bin 0 -> 103 bytes + .../map-to-image-fill.traps.rgb24.ref.png | Bin 0 -> 103 bytes + test/reference/mask-alpha.traps.argb32.ref.png | Bin 0 -> 627 bytes + test/reference/mask-alpha.traps.rgb24.ref.png | Bin 0 -> 588 bytes + test/reference/mask-ctm.traps.argb32.ref.png | Bin 0 -> 110 bytes + test/reference/mask-ctm.traps.rgb24.ref.png | Bin 0 -> 105 bytes + .../mask-surface-ctm.traps.argb32.ref.png | Bin 0 -> 110 bytes + .../reference/mask-surface-ctm.traps.rgb24.ref.png | Bin 0 -> 105 bytes + .../mask-transformed-image.traps.argb32.ref.png | Bin 0 -> 3812 bytes + .../mask-transformed-image.traps.rgb24.ref.png | Bin 0 -> 3812 bytes + .../mask-transformed-similar.traps.argb32.ref.png | Bin 0 -> 3812 bytes + .../mask-transformed-similar.traps.rgb24.ref.png | Bin 0 -> 3812 bytes + test/reference/mask.traps.argb32.ref.png | Bin 0 -> 8451 bytes + test/reference/mask.traps.rgb24.ref.png | Bin 0 -> 7058 bytes + .../mesh-pattern-accuracy.traps.argb32.ref.png | Bin 0 -> 8086 bytes + .../mesh-pattern-accuracy.traps.rgb24.ref.png | Bin 0 -> 8086 bytes + .../mesh-pattern-conical.traps.argb32.ref.png | Bin 0 -> 8655 bytes + .../mesh-pattern-conical.traps.rgb24.ref.png | Bin 0 -> 8655 bytes + ...esh-pattern-control-points.traps.argb32.ref.png | Bin 0 -> 10665 bytes + ...mesh-pattern-control-points.traps.rgb24.ref.png | Bin 0 -> 10665 bytes + .../mesh-pattern-fold.traps.argb32.ref.png | Bin 0 -> 52980 bytes + .../mesh-pattern-fold.traps.rgb24.ref.png | Bin 0 -> 52980 bytes + .../mesh-pattern-overlap.traps.argb32.ref.png | Bin 0 -> 9129 bytes + .../mesh-pattern-overlap.traps.rgb24.ref.png | Bin 0 -> 9129 bytes + .../mesh-pattern-transformed.traps.argb32.ref.png | Bin 0 -> 14463 bytes + .../mesh-pattern-transformed.traps.rgb24.ref.png | Bin 0 -> 14463 bytes + test/reference/mesh-pattern.traps.argb32.ref.png | Bin 0 -> 19566 bytes + test/reference/mesh-pattern.traps.rgb24.ref.png | Bin 0 -> 19566 bytes + test/reference/mime-data.traps.argb32.ref.png | Bin 0 -> 185 bytes + test/reference/mime-data.traps.rgb24.ref.png | Bin 0 -> 185 bytes + test/reference/mime-surface.traps.argb32.ref.png | Bin 0 -> 1209 bytes + test/reference/mime-surface.traps.rgb24.ref.png | Bin 0 -> 1209 bytes + .../reference/miter-precision.traps.argb32.ref.png | Bin 0 -> 818 bytes + test/reference/miter-precision.traps.rgb24.ref.png | Bin 0 -> 818 bytes + .../move-to-show-surface.traps.argb32.ref.png | Bin 0 -> 96 bytes + .../move-to-show-surface.traps.rgb24.ref.png | Bin 0 -> 96 bytes + test/reference/new-sub-path.traps.argb32.ref.png | Bin 0 -> 415 bytes + test/reference/new-sub-path.traps.rgb24.ref.png | Bin 0 -> 378 bytes + test/reference/nil-surface.traps.argb32.ref.png | Bin 0 -> 88 bytes + test/reference/nil-surface.traps.rgb24.ref.png | Bin 0 -> 87 bytes + .../operator-alpha-alpha.traps.argb32.ref.png | Bin 0 -> 3441 bytes + .../operator-alpha-alpha.traps.rgb24.ref.png | Bin 0 -> 3441 bytes + test/reference/operator-alpha.traps.argb32.ref.png | Bin 0 -> 280 bytes + test/reference/operator-alpha.traps.rgb24.ref.png | Bin 0 -> 205 bytes + test/reference/operator-clear.traps.argb32.ref.png | Bin 0 -> 1070 bytes + test/reference/operator-clear.traps.rgb24.ref.png | Bin 0 -> 950 bytes + .../reference/operator-source.traps.argb32.ref.png | Bin 0 -> 5803 bytes + test/reference/operator-source.traps.rgb24.ref.png | Bin 0 -> 1854 bytes + test/reference/operator.traps.argb32.ref.png | Bin 0 -> 238 bytes + test/reference/operator.traps.rgb24.ref.png | Bin 0 -> 189 bytes + .../over-above-source.traps.argb32.ref.png | Bin 0 -> 533 bytes + .../over-above-source.traps.rgb24.ref.png | Bin 0 -> 450 bytes + .../over-around-source.traps.argb32.ref.png | Bin 0 -> 610 bytes + .../over-around-source.traps.rgb24.ref.png | Bin 0 -> 245 bytes + .../over-below-source.traps.argb32.ref.png | Bin 0 -> 436 bytes + .../over-below-source.traps.rgb24.ref.png | Bin 0 -> 340 bytes + .../over-between-source.traps.argb32.ref.png | Bin 0 -> 578 bytes + .../over-between-source.traps.rgb24.ref.png | Bin 0 -> 430 bytes + .../overlapping-boxes.traps.argb32.ref.png | Bin 0 -> 216 bytes + .../overlapping-boxes.traps.rgb24.ref.png | Bin 0 -> 201 bytes + .../overlapping-dash-caps.traps.argb32.ref.png | Bin 0 -> 3952 bytes + .../overlapping-dash-caps.traps.rgb24.ref.png | Bin 0 -> 3952 bytes + .../overlapping-glyphs.traps.argb32.ref.png | Bin 0 -> 2684 bytes + .../overlapping-glyphs.traps.rgb24.ref.png | Bin 0 -> 1647 bytes + .../paint-clip-fill-aa.traps.argb32.ref.png | Bin 0 -> 327 bytes + .../paint-clip-fill-aa.traps.rgb24.ref.png | Bin 0 -> 327 bytes + .../paint-clip-fill-mono.traps.argb32.ref.png | Bin 0 -> 327 bytes + .../paint-clip-fill-mono.traps.rgb24.ref.png | Bin 0 -> 327 bytes + test/reference/paint-repeat.traps.argb32.ref.png | Bin 0 -> 122 bytes + test/reference/paint-repeat.traps.rgb24.ref.png | Bin 0 -> 122 bytes + .../paint-source-alpha.traps.argb32.ref.png | Bin 0 -> 224 bytes + .../paint-source-alpha.traps.rgb24.ref.png | Bin 0 -> 224 bytes + ...paint-with-alpha-clip-mask.traps.argb32.ref.png | Bin 0 -> 305 bytes + .../paint-with-alpha-clip-mask.traps.rgb24.ref.png | Bin 0 -> 305 bytes + .../paint-with-alpha-clip.traps.argb32.ref.png | Bin 0 -> 269 bytes + .../paint-with-alpha-clip.traps.rgb24.ref.png | Bin 0 -> 269 bytes + ...aint-with-alpha-solid-clip.traps.argb32.ref.png | Bin 0 -> 266 bytes + ...paint-with-alpha-solid-clip.traps.rgb24.ref.png | Bin 0 -> 266 bytes + .../paint-with-alpha.traps.argb32.ref.png | Bin 0 -> 224 bytes + .../reference/paint-with-alpha.traps.rgb24.ref.png | Bin 0 -> 224 bytes + test/reference/paint.traps.argb32.ref.png | Bin 0 -> 93 bytes + test/reference/paint.traps.rgb24.ref.png | Bin 0 -> 93 bytes + .../partial-clip-text-bottom.traps.argb32.ref.png | Bin 0 -> 259 bytes + .../partial-clip-text-bottom.traps.rgb24.ref.png | Bin 0 -> 259 bytes + .../partial-clip-text-left.traps.argb32.ref.png | Bin 0 -> 293 bytes + .../partial-clip-text-left.traps.rgb24.ref.png | Bin 0 -> 293 bytes + .../partial-clip-text-right.traps.argb32.ref.png | Bin 0 -> 155 bytes + .../partial-clip-text-right.traps.rgb24.ref.png | Bin 0 -> 155 bytes + .../partial-clip-text-top.traps.argb32.ref.png | Bin 0 -> 173 bytes + .../partial-clip-text-top.traps.rgb24.ref.png | Bin 0 -> 173 bytes + ...al-coverage-half-reference.traps.argb32.ref.png | Bin 0 -> 189 bytes + ...ial-coverage-half-reference.traps.rgb24.ref.png | Bin 0 -> 189 bytes + ...partial-coverage-reference.traps.argb32.ref.png | Bin 0 -> 202 bytes + .../partial-coverage-reference.traps.rgb24.ref.png | Bin 0 -> 202 bytes + ...ge-three-quarter-reference.traps.argb32.ref.png | Bin 0 -> 186 bytes + ...age-three-quarter-reference.traps.rgb24.ref.png | Bin 0 -> 186 bytes + test/reference/path-append.traps.argb32.ref.png | Bin 0 -> 6463 bytes + test/reference/path-append.traps.rgb24.ref.png | Bin 0 -> 6463 bytes + .../path-stroke-twice.traps.argb32.ref.png | Bin 0 -> 205 bytes + .../path-stroke-twice.traps.rgb24.ref.png | Bin 0 -> 205 bytes + .../reference/pattern-getters.traps.argb32.ref.png | Bin 0 -> 87 bytes + test/reference/pattern-getters.traps.rgb24.ref.png | Bin 0 -> 87 bytes + .../pdf-surface-source.traps.argb32.ref.png | Bin 0 -> 377 bytes + .../pdf-surface-source.traps.rgb24.ref.png | Bin 0 -> 301 bytes + test/reference/pixman-rotate.traps.argb32.ref.png | Bin 0 -> 260 bytes + test/reference/pixman-rotate.traps.rgb24.ref.png | Bin 0 -> 225 bytes + .../ps-surface-source.traps.argb32.ref.png | Bin 0 -> 377 bytes + .../ps-surface-source.traps.rgb24.ref.png | Bin 0 -> 301 bytes + .../pthread-same-source.traps.argb32.ref.png | Bin 0 -> 1000 bytes + .../pthread-same-source.traps.rgb24.ref.png | Bin 0 -> 1000 bytes + .../pthread-show-text.traps.argb32.ref.png | Bin 0 -> 29759 bytes + .../pthread-show-text.traps.rgb24.ref.png | Bin 0 -> 29759 bytes + .../reference/pthread-similar.traps.argb32.ref.png | Bin 0 -> 170 bytes + test/reference/pthread-similar.traps.rgb24.ref.png | Bin 0 -> 170 bytes + .../push-group-color.traps.argb32.ref.png | Bin 0 -> 2902 bytes + .../reference/push-group-color.traps.rgb24.ref.png | Bin 0 -> 2902 bytes + .../push-group-path-offset.traps.argb32.ref.png | Bin 0 -> 186 bytes + .../push-group-path-offset.traps.rgb24.ref.png | Bin 0 -> 186 bytes + test/reference/push-group.traps.argb32.ref.png | Bin 0 -> 3110 bytes + test/reference/push-group.traps.rgb24.ref.png | Bin 0 -> 2947 bytes + .../radial-gradient-extend.traps.argb32.ref.png | Bin 0 -> 466 bytes + .../radial-gradient-extend.traps.rgb24.ref.png | Bin 0 -> 466 bytes + .../radial-gradient-mask-source.rgb24.ref.png | Bin 150945 -> 0 bytes + ...adial-gradient-mask-source.traps.argb32.ref.png | Bin 0 -> 145713 bytes + ...radial-gradient-mask-source.traps.rgb24.ref.png | Bin 0 -> 7747 bytes + .../radial-gradient-mask.traps.argb32.ref.png | Bin 0 -> 286065 bytes + .../radial-gradient-mask.traps.rgb24.ref.png | Bin 0 -> 286065 bytes + .../radial-gradient-one-stop.traps.argb32.ref.png | Bin 0 -> 6306 bytes + .../radial-gradient-one-stop.traps.rgb24.ref.png | Bin 0 -> 6306 bytes + .../radial-gradient-source.traps.argb32.ref.png | Bin 0 -> 408848 bytes + .../radial-gradient-source.traps.rgb24.ref.png | Bin 0 -> 263908 bytes + .../reference/radial-gradient.traps.argb32.ref.png | Bin 0 -> 382283 bytes + test/reference/radial-gradient.traps.rgb24.ref.png | Bin 0 -> 382283 bytes + test/reference/random-clip.traps.argb32.ref.png | Bin 0 -> 311369 bytes + test/reference/random-clip.traps.rgb24.ref.png | Bin 0 -> 311369 bytes + ...om-intersections-curves-eo.traps.argb32.ref.png | Bin 0 -> 244476 bytes + ...dom-intersections-curves-eo.traps.rgb24.ref.png | Bin 0 -> 244476 bytes + ...om-intersections-curves-nz.traps.argb32.ref.png | Bin 0 -> 263669 bytes + ...dom-intersections-curves-nz.traps.rgb24.ref.png | Bin 0 -> 263669 bytes + .../random-intersections-eo.traps.argb32.ref.png | Bin 0 -> 134729 bytes + .../random-intersections-eo.traps.rgb24.ref.png | Bin 0 -> 134729 bytes + ...ndom-intersections-nonzero.traps.argb32.ref.png | Bin 0 -> 141616 bytes + ...andom-intersections-nonzero.traps.rgb24.ref.png | Bin 0 -> 141616 bytes + ...record-extend-none-similar.traps.argb32.ref.png | Bin 0 -> 293 bytes + .../record-extend-none-similar.traps.rgb24.ref.png | Bin 0 -> 293 bytes + .../record-extend-none.traps.argb32.ref.png | Bin 0 -> 293 bytes + .../record-extend-none.traps.rgb24.ref.png | Bin 0 -> 293 bytes + .../record-extend-pad-similar.traps.argb32.ref.png | Bin 0 -> 298 bytes + .../record-extend-pad-similar.traps.rgb24.ref.png | Bin 0 -> 298 bytes + .../record-extend-pad.traps.argb32.ref.png | Bin 0 -> 298 bytes + .../record-extend-pad.traps.rgb24.ref.png | Bin 0 -> 298 bytes + ...ord-extend-reflect-similar.traps.argb32.ref.png | Bin 0 -> 335 bytes + ...cord-extend-reflect-similar.traps.rgb24.ref.png | Bin 0 -> 335 bytes + .../record-extend-reflect.traps.argb32.ref.png | Bin 0 -> 335 bytes + .../record-extend-reflect.traps.rgb24.ref.png | Bin 0 -> 335 bytes + ...cord-extend-repeat-similar.traps.argb32.ref.png | Bin 0 -> 286 bytes + ...ecord-extend-repeat-similar.traps.rgb24.ref.png | Bin 0 -> 286 bytes + .../record-extend-repeat.traps.argb32.ref.png | Bin 0 -> 286 bytes + .../record-extend-repeat.traps.rgb24.ref.png | Bin 0 -> 286 bytes + .../record-fill-alpha.traps.argb32.ref.png | Bin 0 -> 2824 bytes + .../record-fill-alpha.traps.rgb24.ref.png | Bin 0 -> 2824 bytes + test/reference/record-mesh.traps.argb32.ref.png | Bin 0 -> 15229 bytes + test/reference/record-mesh.traps.rgb24.ref.png | Bin 0 -> 15229 bytes + ...cord-paint-alpha-clip-mask.traps.argb32.ref.png | Bin 0 -> 305 bytes + ...ecord-paint-alpha-clip-mask.traps.rgb24.ref.png | Bin 0 -> 305 bytes + .../record-paint-alpha-clip.traps.argb32.ref.png | Bin 0 -> 269 bytes + .../record-paint-alpha-clip.traps.rgb24.ref.png | Bin 0 -> 269 bytes + ...ord-paint-alpha-solid-clip.traps.argb32.ref.png | Bin 0 -> 266 bytes + ...cord-paint-alpha-solid-clip.traps.rgb24.ref.png | Bin 0 -> 266 bytes + .../record-paint-alpha.traps.argb32.ref.png | Bin 0 -> 224 bytes + .../record-paint-alpha.traps.rgb24.ref.png | Bin 0 -> 224 bytes + test/reference/record-paint.traps.argb32.ref.png | Bin 0 -> 93 bytes + test/reference/record-paint.traps.rgb24.ref.png | Bin 0 -> 93 bytes + ...ording-surface-extend-none.traps.argb32.ref.png | Bin 0 -> 3055 bytes + ...cording-surface-extend-none.traps.rgb24.ref.png | Bin 0 -> 3124 bytes + ...cording-surface-extend-pad.traps.argb32.ref.png | Bin 0 -> 10832 bytes + ...ecording-surface-extend-pad.traps.rgb24.ref.png | Bin 0 -> 12496 bytes + ...ing-surface-extend-reflect.traps.argb32.ref.png | Bin 0 -> 23617 bytes + ...ding-surface-extend-reflect.traps.rgb24.ref.png | Bin 0 -> 24139 bytes + ...ding-surface-extend-repeat.traps.argb32.ref.png | Bin 0 -> 24112 bytes + ...rding-surface-extend-repeat.traps.rgb24.ref.png | Bin 0 -> 24029 bytes + .../recording-surface-over.traps.argb32.ref.png | Bin 0 -> 3055 bytes + .../recording-surface-over.traps.rgb24.ref.png | Bin 0 -> 3124 bytes + .../recording-surface-source.traps.argb32.ref.png | Bin 0 -> 3049 bytes + .../recording-surface-source.traps.rgb24.ref.png | Bin 0 -> 3121 bytes + .../rectangle-rounding-error.traps.argb32.ref.png | Bin 0 -> 212 bytes + .../rectangle-rounding-error.traps.rgb24.ref.png | Bin 0 -> 212 bytes + .../rectilinear-dash.traps.argb32.ref.png | Bin 0 -> 291 bytes + .../reference/rectilinear-dash.traps.rgb24.ref.png | Bin 0 -> 291 bytes + .../rectilinear-fill.traps.argb32.ref.png | Bin 0 -> 151 bytes + .../reference/rectilinear-fill.traps.rgb24.ref.png | Bin 0 -> 151 bytes + .../rectilinear-grid.traps.argb32.ref.png | Bin 0 -> 610 bytes + .../reference/rectilinear-grid.traps.rgb24.ref.png | Bin 0 -> 610 bytes + .../rectilinear-miter-limit.traps.argb32.ref.png | Bin 0 -> 145 bytes + .../rectilinear-miter-limit.traps.rgb24.ref.png | Bin 0 -> 145 bytes + .../rectilinear-stroke.traps.argb32.ref.png | Bin 0 -> 172 bytes + .../rectilinear-stroke.traps.rgb24.ref.png | Bin 0 -> 172 bytes + .../reflected-stroke.traps.argb32.ref.png | Bin 0 -> 4994 bytes + .../reference/reflected-stroke.traps.rgb24.ref.png | Bin 0 -> 4994 bytes + test/reference/rel-path.traps.argb32.ref.png | Bin 0 -> 189 bytes + test/reference/rel-path.traps.rgb24.ref.png | Bin 0 -> 206 bytes + .../rgb24-ignore-alpha.traps.argb32.ref.png | Bin 0 -> 97 bytes + .../rgb24-ignore-alpha.traps.rgb24.ref.png | Bin 0 -> 97 bytes + ...e-clip-image-surface-paint.traps.argb32.ref.png | Bin 0 -> 303 bytes + ...te-clip-image-surface-paint.traps.rgb24.ref.png | Bin 0 -> 303 bytes + ...rotate-image-surface-paint.traps.argb32.ref.png | Bin 0 -> 220 bytes + .../rotate-image-surface-paint.traps.rgb24.ref.png | Bin 0 -> 220 bytes + test/reference/rotated-clip.traps.argb32.ref.png | Bin 0 -> 3922 bytes + test/reference/rotated-clip.traps.rgb24.ref.png | Bin 0 -> 3922 bytes + .../rounded-rectangle-fill.traps.argb32.ref.png | Bin 0 -> 890 bytes + .../rounded-rectangle-fill.traps.rgb24.ref.png | Bin 0 -> 890 bytes + .../rounded-rectangle-stroke.traps.argb32.ref.png | Bin 0 -> 1060 bytes + .../rounded-rectangle-stroke.traps.rgb24.ref.png | Bin 0 -> 1060 bytes + ...-down-source-surface-paint.traps.argb32.ref.png | Bin 0 -> 96 bytes + ...e-down-source-surface-paint.traps.rgb24.ref.png | Bin 0 -> 96 bytes + .../scale-offset-image.traps.argb32.ref.png | Bin 0 -> 9048 bytes + .../scale-offset-image.traps.rgb24.ref.png | Bin 0 -> 9048 bytes + .../scale-offset-similar.traps.argb32.ref.png | Bin 0 -> 9048 bytes + .../scale-offset-similar.traps.rgb24.ref.png | Bin 0 -> 9048 bytes + ...scale-source-surface-paint.traps.argb32.ref.png | Bin 0 -> 128 bytes + .../scale-source-surface-paint.traps.rgb24.ref.png | Bin 0 -> 117 bytes + .../select-font-face.traps.argb32.ref.png | Bin 0 -> 2245 bytes + .../reference/select-font-face.traps.rgb24.ref.png | Bin 0 -> 2245 bytes + .../self-copy-overlap.traps.argb32.ref.png | Bin 0 -> 1140 bytes + .../self-copy-overlap.traps.rgb24.ref.png | Bin 0 -> 213 bytes + test/reference/self-copy.traps.argb32.ref.png | Bin 0 -> 257 bytes + test/reference/self-copy.traps.rgb24.ref.png | Bin 0 -> 257 bytes + .../self-intersecting.traps.argb32.ref.png | Bin 0 -> 208 bytes + .../self-intersecting.traps.rgb24.ref.png | Bin 0 -> 208 bytes + test/reference/set-source.traps.argb32.ref.png | Bin 0 -> 101 bytes + test/reference/set-source.traps.rgb24.ref.png | Bin 0 -> 101 bytes + .../shape-general-convex.traps.argb32.ref.png | Bin 0 -> 2532 bytes + .../shape-general-convex.traps.rgb24.ref.png | Bin 0 -> 2532 bytes + .../shape-sierpinski.traps.argb32.ref.png | Bin 0 -> 54485 bytes + .../reference/shape-sierpinski.traps.rgb24.ref.png | Bin 0 -> 54485 bytes + .../show-glyphs-advance.traps.argb32.ref.png | Bin 0 -> 1395 bytes + .../show-glyphs-advance.traps.rgb24.ref.png | Bin 0 -> 1395 bytes + .../show-glyphs-many.traps.argb32.ref.png | Bin 0 -> 96 bytes + .../reference/show-glyphs-many.traps.rgb24.ref.png | Bin 0 -> 96 bytes + .../show-text-current-point.traps.argb32.ref.png | Bin 0 -> 2185 bytes + .../show-text-current-point.traps.rgb24.ref.png | Bin 0 -> 2185 bytes + test/reference/skew-extreme.traps.argb32.ref.png | Bin 0 -> 935 bytes + test/reference/skew-extreme.traps.rgb24.ref.png | Bin 0 -> 935 bytes + test/reference/smask-fill.traps.argb32.ref.png | Bin 0 -> 1170 bytes + test/reference/smask-fill.traps.rgb24.ref.png | Bin 0 -> 1170 bytes + .../smask-image-mask.traps.argb32.ref.png | Bin 0 -> 619 bytes + .../reference/smask-image-mask.traps.rgb24.ref.png | Bin 0 -> 619 bytes + test/reference/smask-mask.traps.argb32.ref.png | Bin 0 -> 2353 bytes + test/reference/smask-mask.traps.rgb24.ref.png | Bin 0 -> 2353 bytes + test/reference/smask-paint.traps.argb32.ref.png | Bin 0 -> 2469 bytes + test/reference/smask-paint.traps.rgb24.ref.png | Bin 0 -> 2469 bytes + test/reference/smask-stroke.traps.argb32.ref.png | Bin 0 -> 1703 bytes + test/reference/smask-stroke.traps.rgb24.ref.png | Bin 0 -> 1703 bytes + test/reference/smask-text.traps.argb32.ref.png | Bin 0 -> 1623 bytes + test/reference/smask-text.traps.rgb24.ref.png | Bin 0 -> 1623 bytes + test/reference/smask.traps.argb32.ref.png | Bin 0 -> 3404 bytes + test/reference/smask.traps.rgb24.ref.png | Bin 0 -> 3404 bytes + ...solid-pattern-cache-stress.traps.argb32.ref.png | Bin 0 -> 87 bytes + .../solid-pattern-cache-stress.traps.rgb24.ref.png | Bin 0 -> 87 bytes + .../source-clip-scale.traps.argb32.ref.png | Bin 0 -> 136 bytes + .../source-clip-scale.traps.rgb24.ref.png | Bin 0 -> 136 bytes + test/reference/source-clip.traps.argb32.ref.png | Bin 0 -> 111 bytes + test/reference/source-clip.traps.rgb24.ref.png | Bin 0 -> 111 bytes + ...source-surface-scale-paint.traps.argb32.ref.png | Bin 0 -> 120 bytes + .../source-surface-scale-paint.traps.rgb24.ref.png | Bin 0 -> 114 bytes + .../spline-decomposition.traps.argb32.ref.png | Bin 0 -> 19075 bytes + .../spline-decomposition.traps.rgb24.ref.png | Bin 0 -> 19075 bytes + .../reference/stroke-ctm-caps.traps.argb32.ref.png | Bin 0 -> 873 bytes + test/reference/stroke-ctm-caps.traps.rgb24.ref.png | Bin 0 -> 873 bytes + test/reference/stroke-image.traps.argb32.ref.png | Bin 0 -> 1458 bytes + test/reference/stroke-image.traps.rgb24.ref.png | Bin 0 -> 1458 bytes + .../reference/stroke-open-box.traps.argb32.ref.png | Bin 0 -> 148 bytes + test/reference/stroke-open-box.traps.rgb24.ref.png | Bin 0 -> 148 bytes + .../subsurface-image-repeat.traps.argb32.ref.png | Bin 0 -> 915 bytes + .../subsurface-image-repeat.traps.rgb24.ref.png | Bin 0 -> 915 bytes + .../subsurface-modify-child.traps.argb32.ref.png | Bin 0 -> 197 bytes + .../subsurface-modify-child.traps.rgb24.ref.png | Bin 0 -> 197 bytes + .../subsurface-modify-parent.traps.argb32.ref.png | Bin 0 -> 197 bytes + .../subsurface-modify-parent.traps.rgb24.ref.png | Bin 0 -> 197 bytes + test/reference/subsurface-pad.traps.argb32.ref.png | Bin 0 -> 181 bytes + test/reference/subsurface-pad.traps.rgb24.ref.png | Bin 0 -> 181 bytes + .../subsurface-reflect.traps.argb32.ref.png | Bin 0 -> 210 bytes + .../subsurface-reflect.traps.rgb24.ref.png | Bin 0 -> 210 bytes + .../subsurface-repeat.traps.argb32.ref.png | Bin 0 -> 197 bytes + .../subsurface-repeat.traps.rgb24.ref.png | Bin 0 -> 197 bytes + .../subsurface-similar-repeat.traps.argb32.ref.png | Bin 0 -> 197 bytes + .../subsurface-similar-repeat.traps.rgb24.ref.png | Bin 0 -> 197 bytes + test/reference/subsurface.traps.argb32.ref.png | Bin 0 -> 1281 bytes + test/reference/subsurface.traps.rgb24.ref.png | Bin 0 -> 1281 bytes + ...ace-pattern-big-scale-down.traps.argb32.ref.png | Bin 0 -> 191 bytes + ...face-pattern-big-scale-down.traps.rgb24.ref.png | Bin 0 -> 191 bytes + .../surface-pattern-operator.traps.argb32.ref.png | Bin 0 -> 5184 bytes + .../surface-pattern-operator.traps.rgb24.ref.png | Bin 0 -> 1913 bytes + ...ern-scale-down-extend-none.traps.argb32.ref.png | Bin 0 -> 329 bytes + ...tern-scale-down-extend-none.traps.rgb24.ref.png | Bin 0 -> 329 bytes + ...tern-scale-down-extend-pad.traps.argb32.ref.png | Bin 0 -> 320 bytes + ...ttern-scale-down-extend-pad.traps.rgb24.ref.png | Bin 0 -> 320 bytes + ...-scale-down-extend-reflect.traps.argb32.ref.png | Bin 0 -> 328 bytes + ...n-scale-down-extend-reflect.traps.rgb24.ref.png | Bin 0 -> 328 bytes + ...n-scale-down-extend-repeat.traps.argb32.ref.png | Bin 0 -> 330 bytes + ...rn-scale-down-extend-repeat.traps.rgb24.ref.png | Bin 0 -> 330 bytes + ...surface-pattern-scale-down.traps.argb32.ref.png | Bin 0 -> 1326 bytes + .../surface-pattern-scale-down.traps.rgb24.ref.png | Bin 0 -> 1326 bytes + .../surface-pattern-scale-up.traps.argb32.ref.png | Bin 0 -> 4020 bytes + .../surface-pattern-scale-up.traps.rgb24.ref.png | Bin 0 -> 4020 bytes + .../reference/surface-pattern.traps.argb32.ref.png | Bin 0 -> 11088 bytes + test/reference/surface-pattern.traps.rgb24.ref.png | Bin 0 -> 11088 bytes + .../svg-surface-source.traps.argb32.ref.png | Bin 0 -> 377 bytes + .../svg-surface-source.traps.rgb24.ref.png | Bin 0 -> 301 bytes + .../text-antialias-gray.traps.argb32.ref.png | Bin 0 -> 975 bytes + .../text-antialias-gray.traps.rgb24.ref.png | Bin 0 -> 975 bytes + .../text-antialias-none.traps.argb32.ref.png | Bin 0 -> 265 bytes + .../text-antialias-none.traps.rgb24.ref.png | Bin 0 -> 265 bytes + .../text-antialias-subpixel.traps.argb32.ref.png | Bin 0 -> 1004 bytes + .../text-antialias-subpixel.traps.rgb24.ref.png | Bin 0 -> 1004 bytes + .../text-glyph-range.traps.argb32.ref.png | Bin 0 -> 1991 bytes + .../reference/text-glyph-range.traps.rgb24.ref.png | Bin 0 -> 1991 bytes + test/reference/text-pattern.traps.argb32.ref.png | Bin 0 -> 1695 bytes + test/reference/text-pattern.traps.rgb24.ref.png | Bin 0 -> 1397 bytes + test/reference/text-rotate.traps.argb32.ref.png | Bin 0 -> 16599 bytes + test/reference/text-rotate.traps.rgb24.ref.png | Bin 0 -> 16599 bytes + test/reference/text-transform.traps.argb32.ref.png | Bin 0 -> 5579 bytes + test/reference/text-transform.traps.rgb24.ref.png | Bin 0 -> 5579 bytes + test/reference/tiger.traps.argb32.ref.png | Bin 0 -> 94370 bytes + test/reference/tiger.traps.rgb24.ref.png | Bin 0 -> 94370 bytes + test/reference/tighten-bounds.traps.argb32.ref.png | Bin 0 -> 8769 bytes + test/reference/transforms.traps.argb32.ref.png | Bin 0 -> 299 bytes + test/reference/transforms.traps.rgb24.ref.png | Bin 0 -> 299 bytes + .../translate-show-surface.traps.argb32.ref.png | Bin 0 -> 96 bytes + .../translate-show-surface.traps.rgb24.ref.png | Bin 0 -> 96 bytes + test/reference/trap-clip.traps.argb32.ref.png | Bin 0 -> 5755 bytes + test/reference/trap-clip.traps.rgb24.ref.png | Bin 0 -> 5379 bytes + .../twin-antialias-gray.traps.argb32.ref.png | Bin 0 -> 4053 bytes + .../twin-antialias-gray.traps.rgb24.ref.png | Bin 0 -> 4053 bytes + .../twin-antialias-mixed.traps.argb32.ref.png | Bin 0 -> 1639 bytes + .../twin-antialias-mixed.traps.rgb24.ref.png | Bin 0 -> 1639 bytes + .../twin-antialias-none.traps.argb32.ref.png | Bin 0 -> 747 bytes + .../twin-antialias-none.traps.rgb24.ref.png | Bin 0 -> 747 bytes + .../twin-antialias-subpixel.traps.argb32.ref.png | Bin 0 -> 4053 bytes + .../twin-antialias-subpixel.traps.rgb24.ref.png | Bin 0 -> 4053 bytes + test/reference/twin.traps.argb32.ref.png | Bin 0 -> 4053 bytes + test/reference/twin.traps.rgb24.ref.png | Bin 0 -> 4053 bytes + test/reference/unaligned-box.traps.argb32.ref.png | Bin 0 -> 526 bytes + test/reference/unaligned-box.traps.rgb24.ref.png | Bin 0 -> 526 bytes + .../unantialiased-shapes.traps.argb32.ref.png | Bin 0 -> 3977 bytes + .../unantialiased-shapes.traps.rgb24.ref.png | Bin 0 -> 3977 bytes + .../unbounded-operator.traps.argb32.ref.png | Bin 0 -> 2640 bytes + .../unbounded-operator.traps.rgb24.ref.png | Bin 0 -> 1254 bytes + .../unclosed-strokes.traps.argb32.ref.png | Bin 0 -> 1482 bytes + .../reference/unclosed-strokes.traps.rgb24.ref.png | Bin 0 -> 1482 bytes + test/reference/user-font-mask.traps.argb32.ref.png | Bin 0 -> 5476 bytes + test/reference/user-font-mask.traps.rgb24.ref.png | Bin 0 -> 5476 bytes + .../reference/user-font-proxy.traps.argb32.ref.png | Bin 0 -> 16798 bytes + test/reference/user-font-proxy.traps.rgb24.ref.png | Bin 0 -> 16798 bytes + .../user-font-rescale.traps.argb32.ref.png | Bin 0 -> 14852 bytes + .../user-font-rescale.traps.rgb24.ref.png | Bin 0 -> 14852 bytes + test/reference/user-font.traps.argb32.ref.png | Bin 0 -> 5439 bytes + test/reference/user-font.traps.rgb24.ref.png | Bin 0 -> 5439 bytes + test/reference/white-in-noop.traps.argb32.ref.png | Bin 0 -> 95 bytes + test/reference/white-in-noop.traps.rgb24.ref.png | Bin 0 -> 95 bytes + test/reference/world-map-fill.traps.argb32.ref.png | Bin 0 -> 57451 bytes + test/reference/world-map-fill.traps.rgb24.ref.png | Bin 0 -> 57451 bytes + .../world-map-stroke.traps.argb32.ref.png | Bin 0 -> 65217 bytes + .../reference/world-map-stroke.traps.rgb24.ref.png | Bin 0 -> 65217 bytes + test/reference/world-map.traps.argb32.ref.png | Bin 0 -> 70536 bytes + test/reference/world-map.traps.rgb24.ref.png | Bin 0 -> 70536 bytes + .../xcb-huge-image-shm.traps.argb32.ref.png | Bin 0 -> 97 bytes + .../xcb-huge-image-shm.traps.rgb24.ref.png | Bin 0 -> 97 bytes + .../xcb-snapshot-assert.traps.argb32.ref.png | Bin 0 -> 97 bytes + .../xcb-snapshot-assert.traps.rgb24.ref.png | Bin 0 -> 97 bytes + .../xcb-stress-cache.traps.argb32.ref.png | Bin 0 -> 97 bytes + .../reference/xcb-stress-cache.traps.rgb24.ref.png | Bin 0 -> 97 bytes + .../xcb-surface-source.traps.argb32.ref.png | Bin 0 -> 377 bytes + .../xcb-surface-source.traps.rgb24.ref.png | Bin 0 -> 301 bytes + .../xcomposite-projection.traps.argb32.ref.png | Bin 0 -> 1112 bytes + .../xcomposite-projection.traps.rgb24.ref.png | Bin 0 -> 1112 bytes + .../xlib-expose-event.traps.argb32.ref.png | Bin 0 -> 40717 bytes + .../xlib-expose-event.traps.rgb24.ref.png | Bin 0 -> 40717 bytes + .../xlib-surface-source.traps.argb32.ref.png | Bin 0 -> 377 bytes + .../xlib-surface-source.traps.rgb24.ref.png | Bin 0 -> 301 bytes + test/reference/zero-alpha.traps.argb32.ref.png | Bin 0 -> 91 bytes + test/reference/zero-alpha.traps.rgb24.ref.png | Bin 0 -> 91 bytes + test/reference/zero-mask.traps.argb32.ref.png | Bin 0 -> 402 bytes + test/reference/zero-mask.traps.rgb24.ref.png | Bin 0 -> 382 bytes + 783 files changed, 786 insertions(+), 9 deletions(-) + +commit 62e1ded35c4d8d3139152661afea61b628152d47 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 15 17:10:43 2011 +0100 + + test: Update couple of refs for the improved mono rasteriser + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/reference/hatchings.ref.png | Bin 45398 -> 44151 bytes + test/reference/twin-antialias-none.ref.png | Bin 747 -> 694 bytes + 2 files changed, 0 insertions(+), 0 deletions(-) + +commit e5d890e1ea5c3b0ec68126ecde4b957a924bc165 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 15 17:06:51 2011 +0100 + + test: Update refernece dir for create-from-png-stream + + It tries to load its reference image and fails because I moved it. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/create-from-png-stream.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 8e827e2cbbd6920d0c2bbd87e7e40a265ac5dba1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 15 17:02:12 2011 +0100 + + test: Record the failure of recent freetype libraries for type1 vertical layout + + test/Makefile.refs | 1 + + test/reference/ft-text-vertical-layout-type1.xfail.png | Bin 0 -> 2683 bytes + 2 files changed, 1 insertion(+) + +commit 36dc0971eaf3bf5d6cdbd826a5f92988031a3074 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 15 16:59:33 2011 +0100 + + test: refresh clip-operator ref.png + + test/Makefile.refs | 2 +- + test/reference/clip-operator.argb32.ref.png | Bin 0 -> 8210 bytes + test/reference/clip-operator.ref.png | Bin 8126 -> 0 bytes + 3 files changed, 1 insertion(+), 1 deletion(-) + +commit af6ee4e82e912eec5ae0e20ed54a868d1abe98d3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 15 16:57:52 2011 +0100 + + image: Invert recording matrix before replay + + Hmm, still not quite right but an improvement. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-source.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +commit 9bf21c74aea1110091c9c9edec8d2d0a40e3453d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 15 15:55:52 2011 +0100 + + check: Make the newly added privates pass make check + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-backend-private.h | 3 +++ + src/test-compositor-surface-private.h | 3 +++ + 2 files changed, 6 insertions(+) + +commit d4c59d6a8c87e02807dc9ac52a59a873daa4671c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 15 15:50:29 2011 +0100 + + build: Another missing private.h + + src/Makefile.sources | 1 + + 1 file changed, 1 insertion(+) + +commit ca95e37412f7bc3a4293d24eac2f573c64e6d658 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 15 15:35:14 2011 +0100 + + build: Add missing cairo-surface-backend-private.h to sources + + src/Makefile.sources | 1 + + 1 file changed, 1 insertion(+) + +commit e6e672387135bb13cf166827a7e1ce281dc30fe7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 15 15:27:59 2011 +0100 + + test: Fix reference image for unbounded operator + + Comparing against the baseline reference highlights the error in the + previous ref.png. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 2 +- + test/reference/unbounded-operator.argb32.ref.png | Bin 0 -> 2618 bytes + test/reference/unbounded-operator.ref.png | Bin 2777 -> 0 bytes + test/reference/unbounded-operator.rgb24.ref.png | Bin 1341 -> 1223 bytes + 4 files changed, 1 insertion(+), 1 deletion(-) + +commit f2a49e93299d89ec5734858fa9fc6d8668c0211e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 15 15:23:41 2011 +0100 + + script: Tag the similar surface rather than snapshot + + As we discard the snapshot immediately upon drawing to it, it serves no + purpose. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-script-surface.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +commit 1b2709d8c0933af254372c9b0d4fa5c011ef4586 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 15 15:09:24 2011 +0100 + + composite: Reduce an unaligned clip + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-composite-rectangles.c | 9 +++------ + 1 file changed, 3 insertions(+), 6 deletions(-) + +commit c0016e6ac9ca1382a7861d67f752dea9d66935de +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 15 14:56:17 2011 +0100 + + test: Mark some more raster-only tests + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/bug-40410.c | 2 +- + test/clip-fill-rule.c | 2 +- + test/rectilinear-grid.c | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +commit a349564e3c4ef179cb65671aa389fc8e1b514305 +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Sep 15 16:15:23 2011 +0200 + + Revert "xcb: Error on 0x0 source surfaces" + + This reverts commit 8f8149a2073e1e290b6f854595caaf27bd16a80b. + + src/cairo-xcb-surface-render.c | 5 ----- + 1 file changed, 5 deletions(-) + +commit c00e4c66714d72a524dd14e5f66add4ecc77e8fe +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Sep 15 10:42:33 2011 +0200 + + Tee: compile fix for recent compositor API + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-tee-surface.c | 21 +++++---------------- + 1 file changed, 5 insertions(+), 16 deletions(-) + +commit 088d483043c67f0ee7795749f40a32015f4838b4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 15 14:50:11 2011 +0100 + + ps: Check earlier for a supported mask + + Fixes crash in fill-and-stroke-alpha. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-ps-surface.c | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +commit 13bd9592d8d22fd1ad6fd2b8c6ef1e8f4c810845 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 15 14:28:53 2011 +0100 + + ps: Fix return value for mask_supported and ps2 + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-ps-surface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 5f8ee79b40483bc93b448f9dbfc241d3090cb07c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 15 14:07:00 2011 +0100 + + test: Write the individual test logs to output/ + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.am | 2 +- + test/cairo-test-private.h | 3 ++- + test/cairo-test-runner.c | 2 +- + test/cairo-test.c | 21 ++++++++++++--------- + test/cairo-test.h | 1 + + test/testtable.js | 6 +++--- + 6 files changed, 20 insertions(+), 15 deletions(-) + +commit 768d39f034f47679492abfeaf6f5cf2ec9929c13 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 15 14:05:10 2011 +0100 + + test: Move all the reference images to their own directory + + With over two thousand references images now, it is starting to make the + test directory look cluttered! + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 4444 ++++++++++---------- + test/cairo-test.c | 12 +- + test/generate_refs.sh | 2 +- + test/{ => reference}/a1-bug.base.argb32.ref.png | Bin + test/{ => reference}/a1-bug.base.rgb24.ref.png | Bin + test/{ => reference}/a1-bug.image16.ref.png | Bin + test/{ => reference}/a1-bug.quartz.xfail.png | Bin + test/{ => reference}/a1-bug.ref.png | Bin + test/{ => reference}/a1-bug.xlib.ref.png | Bin + .../a1-clip-fill-equal.base.argb32.ref.png | Bin + .../a1-clip-fill-equal.base.rgb24.ref.png | Bin + test/{ => reference}/a1-clip-fill-equal.ref.png | Bin + .../a1-clip-fill-rule.argb32.ref.png | Bin + .../a1-clip-fill-rule.base.argb32.ref.png | Bin + .../a1-clip-fill-rule.base.rgb24.ref.png | Bin + .../a1-clip-fill-rule.rgb24.ref.png | Bin + .../a1-clip-fill.base.argb32.ref.png | Bin + .../a1-clip-fill.base.rgb24.ref.png | Bin + test/{ => reference}/a1-clip-fill.ref.png | Bin + .../a1-clip-paint.base.argb32.ref.png | Bin + .../a1-clip-paint.base.rgb24.ref.png | Bin + test/{ => reference}/a1-clip-paint.ref.png | Bin + .../a1-clip-stroke.base.argb32.ref.png | Bin + .../a1-clip-stroke.base.rgb24.ref.png | Bin + test/{ => reference}/a1-clip-stroke.ref.png | Bin + .../a1-image-sample.base.argb32.ref.png | Bin + .../a1-image-sample.base.rgb24.ref.png | Bin + test/{ => reference}/a1-image-sample.gl.xfail.png | Bin + test/{ => reference}/a1-image-sample.ref.png | Bin + .../a1-line-width.base.argb32.ref.png | Bin + .../a1-line-width.base.rgb24.ref.png | Bin + test/{ => reference}/a1-line-width.pdf.ref.png | Bin + test/{ => reference}/a1-line-width.ps.ref.png | Bin + test/{ => reference}/a1-line-width.ref.png | Bin + .../a1-mask-sample.base.argb32.ref.png | Bin + .../a1-mask-sample.base.rgb24.ref.png | Bin + test/{ => reference}/a1-mask-sample.ref.png | Bin + test/{ => reference}/a1-mask.base.argb32.ref.png | Bin + test/{ => reference}/a1-mask.base.rgb24.ref.png | Bin + test/{ => reference}/a1-mask.pdf.ref.png | Bin + test/{ => reference}/a1-mask.ps.ref.png | Bin + test/{ => reference}/a1-mask.ref.png | Bin + ...a1-rasterisation-rectangles.base.argb32.ref.png | Bin + .../a1-rasterisation-rectangles.base.rgb24.ref.png | Bin + .../a1-rasterisation-rectangles.quartz.xfail.png | Bin + .../a1-rasterisation-rectangles.ref.png | Bin + .../a1-rasterisation-triangles.base.argb32.ref.png | Bin + .../a1-rasterisation-triangles.base.rgb24.ref.png | Bin + .../a1-rasterisation-triangles.quartz.xfail.png | Bin + .../a1-rasterisation-triangles.ref.png | Bin + .../a1-rectilinear-grid.base.argb32.ref.png | Bin + .../a1-rectilinear-grid.base.rgb24.ref.png | Bin + test/{ => reference}/a1-rectilinear-grid.ref.png | Bin + test/{ => reference}/a1-sample.base.argb32.ref.png | Bin + test/{ => reference}/a1-sample.base.rgb24.ref.png | Bin + test/{ => reference}/a1-sample.ref.png | Bin + test/{ => reference}/a1-tiger.base.argb32.ref.png | Bin + test/{ => reference}/a1-tiger.base.rgb24.ref.png | Bin + test/{ => reference}/a1-tiger.ref.png | Bin + .../a1-traps-sample.base.argb32.ref.png | Bin + .../a1-traps-sample.base.rgb24.ref.png | Bin + .../a1-traps-sample.quartz.xfail.png | Bin + test/{ => reference}/a1-traps-sample.ref.png | Bin + test/{ => reference}/a8-clear.base.argb32.ref.png | Bin + test/{ => reference}/a8-clear.base.rgb24.ref.png | Bin + test/{ => reference}/a8-clear.quartz.ref.png | Bin + test/{ => reference}/a8-clear.ref.png | Bin + test/{ => reference}/a8-mask.base.argb32.ref.png | Bin + test/{ => reference}/a8-mask.base.rgb24.ref.png | Bin + test/{ => reference}/a8-mask.ref.png | Bin + test/{ => reference}/aliasing.base.argb32.ref.png | Bin + test/{ => reference}/aliasing.base.rgb24.ref.png | Bin + test/{ => reference}/aliasing.image16.ref.png | Bin + test/{ => reference}/aliasing.quartz.ref.png | Bin + test/{ => reference}/aliasing.ref.png | Bin + test/{ => reference}/aliasing.xlib.ref.png | Bin + .../alpha-similar.base.argb32.ref.png | Bin + .../alpha-similar.base.rgb24.ref.png | Bin + .../alpha-similar.gl.argb32.xfail.png | Bin + .../alpha-similar.gl.rgb24.xfail.png | Bin + .../alpha-similar.pdf.argb32.xfail.png | Bin + .../alpha-similar.pdf.rgb24.xfail.png | Bin + .../alpha-similar.ps.argb32.xfail.png | Bin + .../alpha-similar.ps.rgb24.xfail.png | Bin + test/{ => reference}/alpha-similar.ref.png | Bin + test/{ => reference}/alpha-similar.rgb24.ref.png | Bin + .../alpha-similar.svg.argb32.xfail.png | Bin + .../alpha-similar.svg.rgb24.xfail.png | Bin + .../api-special-cases.base.argb32.ref.png | Bin + .../api-special-cases.base.rgb24.ref.png | Bin + test/{ => reference}/api-special-cases.ref.png | Bin + .../arc-infinite-loop.base.argb32.ref.png | Bin + .../arc-infinite-loop.base.rgb24.ref.png | Bin + test/{ => reference}/arc-infinite-loop.ref.png | Bin + .../arc-looping-dash.base.argb32.ref.png | Bin + .../arc-looping-dash.base.rgb24.ref.png | Bin + .../arc-looping-dash.image16.ref.png | Bin + test/{ => reference}/arc-looping-dash.ps.ref.png | Bin + .../arc-looping-dash.quartz.ref.png | Bin + test/{ => reference}/arc-looping-dash.ref.png | Bin + test/{ => reference}/big-empty-box.argb32.ref.png | Bin + .../big-empty-box.base.argb32.ref.png | Bin + .../big-empty-box.base.rgb24.ref.png | Bin + test/{ => reference}/big-empty-box.rgb24.ref.png | Bin + .../big-empty-triangle.argb32.ref.png | Bin + .../big-empty-triangle.base.argb32.ref.png | Bin + .../big-empty-triangle.base.rgb24.ref.png | Bin + .../big-empty-triangle.rgb24.ref.png | Bin + test/{ => reference}/big-line.base.argb32.ref.png | Bin + test/{ => reference}/big-line.base.rgb24.ref.png | Bin + test/{ => reference}/big-line.image16.ref.png | Bin + test/{ => reference}/big-line.ps.ref.png | Bin + test/{ => reference}/big-line.quartz.ref.png | Bin + test/{ => reference}/big-line.ref.png | Bin + test/{ => reference}/big-line.xlib.ref.png | Bin + test/{ => reference}/big-little-box.argb32.ref.png | Bin + .../big-little-box.base.argb32.ref.png | Bin + .../big-little-box.base.rgb24.ref.png | Bin + test/{ => reference}/big-little-box.rgb24.ref.png | Bin + .../big-little-triangle.argb32.ref.png | Bin + .../big-little-triangle.base.argb32.ref.png | Bin + .../big-little-triangle.base.rgb24.ref.png | Bin + .../big-little-triangle.rgb24.ref.png | Bin + test/{ => reference}/big-trap.base.argb32.ref.png | Bin + test/{ => reference}/big-trap.base.rgb24.ref.png | Bin + .../bilevel-image.base.argb32.ref.png | Bin + .../bilevel-image.base.rgb24.ref.png | Bin + test/{ => reference}/bilevel-image.ref.png | Bin + .../bitmap-font.base.argb32.ref.png | Bin + .../{ => reference}/bitmap-font.base.rgb24.ref.png | Bin + test/{ => reference}/bitmap-font.ref.png | Bin + test/{ => reference}/bitmap-font.rgb24.ref.png | Bin + test/{ => reference}/bug-40410.base.argb32.ref.png | Bin + test/{ => reference}/bug-40410.base.rgb24.ref.png | Bin + test/{ => reference}/bug-40410.ref.png | Bin + .../bug-bo-rectangular.base.argb32.ref.png | Bin + .../bug-bo-rectangular.base.rgb24.ref.png | Bin + .../bug-bo-rectangular.image16.ref.png | Bin + .../bug-bo-rectangular.ps.xfail.png | Bin + test/{ => reference}/bug-bo-rectangular.ref.png | Bin + .../bug-extents.base.argb32.ref.png | Bin + .../{ => reference}/bug-extents.base.rgb24.ref.png | Bin + test/{ => reference}/bug-extents.image16.ref.png | Bin + test/{ => reference}/bug-extents.ps.ref.png | Bin + test/{ => reference}/bug-extents.quartz.ref.png | Bin + test/{ => reference}/bug-extents.ref.png | Bin + test/{ => reference}/bug-extents.xlib.ref.png | Bin + test/{ => reference}/bug-seams.base.argb32.ref.png | Bin + test/{ => reference}/bug-seams.base.rgb24.ref.png | Bin + test/{ => reference}/bug-seams.ref.png | Bin + .../bug-seams.xlib-fallback.ref.png | Bin + test/{ => reference}/bug-seams.xlib.ref.png | Bin + .../caps-joins-alpha.base.argb32.ref.png | Bin + .../caps-joins-alpha.base.rgb24.ref.png | Bin + .../caps-joins-alpha.image16.ref.png | Bin + .../caps-joins-alpha.quartz.ref.png | Bin + test/{ => reference}/caps-joins-alpha.ref.png | Bin + test/{ => reference}/caps-joins-alpha.xlib.ref.png | Bin + .../caps-joins-curve.base.argb32.ref.png | Bin + .../caps-joins-curve.base.rgb24.ref.png | Bin + .../caps-joins-curve.image16.ref.png | Bin + test/{ => reference}/caps-joins-curve.ps.ref.png | Bin + .../caps-joins-curve.quartz.ref.png | Bin + test/{ => reference}/caps-joins-curve.ref.png | Bin + test/{ => reference}/caps-joins-curve.xlib.ref.png | Bin + .../{ => reference}/caps-joins.base.argb32.ref.png | Bin + test/{ => reference}/caps-joins.base.rgb24.ref.png | Bin + test/{ => reference}/caps-joins.image16.ref.png | Bin + test/{ => reference}/caps-joins.ps.ref.png | Bin + test/{ => reference}/caps-joins.ref.png | Bin + .../caps-sub-paths.base.argb32.ref.png | Bin + .../caps-sub-paths.base.rgb24.ref.png | Bin + .../{ => reference}/caps-sub-paths.image16.ref.png | Bin + test/{ => reference}/caps-sub-paths.ps.ref.png | Bin + test/{ => reference}/caps-sub-paths.ref.png | Bin + .../caps-tails-curve.base.argb32.ref.png | Bin + .../caps-tails-curve.base.rgb24.ref.png | Bin + test/{ => reference}/caps-tails-curve.ps.ref.png | Bin + test/{ => reference}/caps-tails-curve.ref.png | Bin + test/{ => reference}/caps.base.argb32.ref.png | Bin + test/{ => reference}/caps.base.rgb24.ref.png | Bin + test/{ => reference}/caps.image16.ref.png | Bin + test/{ => reference}/caps.ps.ref.png | Bin + test/{ => reference}/caps.ref.png | Bin + .../checkerboard.base.argb32.ref.png | Bin + .../checkerboard.base.rgb24.ref.png | Bin + test/{ => reference}/checkerboard.ref.png | Bin + .../clear-source.base.argb32.ref.png | Bin + .../clear-source.base.rgb24.ref.png | Bin + test/{ => reference}/clear-source.image16.ref.png | Bin + test/{ => reference}/clear-source.pdf.xfail.png | Bin + test/{ => reference}/clear-source.ps.xfail.png | Bin + test/{ => reference}/clear-source.ref.png | Bin + test/{ => reference}/clear.argb32.ref.png | Bin + test/{ => reference}/clear.base.argb32.ref.png | Bin + test/{ => reference}/clear.base.rgb24.ref.png | Bin + test/{ => reference}/clear.pdf.argb32.ref.png | Bin + test/{ => reference}/clear.ps.argb32.ref.png | Bin + test/{ => reference}/clear.quartz.argb32.ref.png | Bin + test/{ => reference}/clear.quartz.rgb24.ref.png | Bin + test/{ => reference}/clear.rgb24.ref.png | Bin + test/{ => reference}/clear.svg12.argb32.xfail.png | Bin + test/{ => reference}/clear.svg12.rgb24.xfail.png | Bin + test/{ => reference}/clip-all.base.argb32.ref.png | Bin + test/{ => reference}/clip-all.base.rgb24.ref.png | Bin + test/{ => reference}/clip-all.ref.png | Bin + .../clip-complex-shape-eo-aa.base.argb32.ref.png | Bin + .../clip-complex-shape-eo-aa.base.rgb24.ref.png | Bin + .../clip-complex-shape-eo-aa.ref.png | Bin + .../clip-complex-shape-eo-mono.base.argb32.ref.png | Bin + .../clip-complex-shape-eo-mono.base.rgb24.ref.png | Bin + .../clip-complex-shape-eo-mono.ref.png | Bin + .../clip-contexts.base.argb32.ref.png | Bin + .../clip-contexts.base.rgb24.ref.png | Bin + test/{ => reference}/clip-contexts.ref.png | Bin + .../clip-device-offset.argb32.ref.png | Bin + .../clip-device-offset.base.argb32.ref.png | Bin + .../clip-device-offset.base.rgb24.ref.png | Bin + .../clip-device-offset.rgb24.ref.png | Bin + .../clip-disjoint-hatching.base.argb32.ref.png | Bin + .../clip-disjoint-hatching.base.rgb24.ref.png | Bin + .../{ => reference}/clip-disjoint-hatching.ref.png | Bin + .../clip-disjoint.base.argb32.ref.png | Bin + .../clip-disjoint.base.rgb24.ref.png | Bin + test/{ => reference}/clip-disjoint.image16.ref.png | Bin + test/{ => reference}/clip-disjoint.ps.ref.png | Bin + test/{ => reference}/clip-disjoint.quartz.ref.png | Bin + test/{ => reference}/clip-disjoint.ref.png | Bin + test/{ => reference}/clip-disjoint.xlib.ref.png | Bin + .../clip-empty-group.base.argb32.ref.png | Bin + .../clip-empty-group.base.rgb24.ref.png | Bin + test/{ => reference}/clip-empty-group.ref.png | Bin + .../clip-empty-save.base.argb32.ref.png | Bin + .../clip-empty-save.base.rgb24.ref.png | Bin + test/{ => reference}/clip-empty-save.ref.png | Bin + .../{ => reference}/clip-empty.base.argb32.ref.png | Bin + test/{ => reference}/clip-empty.base.rgb24.ref.png | Bin + test/{ => reference}/clip-empty.ref.png | Bin + .../clip-fill-eo-unbounded.argb32.ref.png | Bin + .../clip-fill-eo-unbounded.base.argb32.ref.png | Bin + .../clip-fill-eo-unbounded.base.rgb24.ref.png | Bin + .../clip-fill-eo-unbounded.image16.ref.png | Bin + .../clip-fill-eo-unbounded.quartz.argb32.ref.png | Bin + .../clip-fill-eo-unbounded.quartz.rgb24.ref.png | Bin + .../clip-fill-eo-unbounded.rgb24.ref.png | Bin + .../clip-fill-eo-unbounded.svg12.rgb24.xfail.png | Bin + ...p-fill-eo-unbounded.xlib-fallback.rgb24.ref.png | Bin + .../clip-fill-eo-unbounded.xlib.argb32.ref.png | Bin + .../clip-fill-eo-unbounded.xlib.rgb24.ref.png | Bin + .../clip-fill-no-op.base.argb32.ref.png | Bin + .../clip-fill-no-op.base.rgb24.ref.png | Bin + .../clip-fill-no-op.image16.ref.png | Bin + test/{ => reference}/clip-fill-no-op.ref.png | Bin + .../clip-fill-nz-unbounded.argb32.ref.png | Bin + .../clip-fill-nz-unbounded.base.argb32.ref.png | Bin + .../clip-fill-nz-unbounded.base.rgb24.ref.png | Bin + .../clip-fill-nz-unbounded.image16.ref.png | Bin + .../clip-fill-nz-unbounded.quartz.argb32.ref.png | Bin + .../clip-fill-nz-unbounded.quartz.rgb24.ref.png | Bin + .../clip-fill-nz-unbounded.rgb24.ref.png | Bin + .../clip-fill-nz-unbounded.svg12.rgb24.xfail.png | Bin + ...p-fill-nz-unbounded.xlib-fallback.rgb24.ref.png | Bin + .../clip-fill-nz-unbounded.xlib.argb32.ref.png | Bin + .../clip-fill-nz-unbounded.xlib.rgb24.ref.png | Bin + ...lip-fill-rule-pixel-aligned.base.argb32.ref.png | Bin + ...clip-fill-rule-pixel-aligned.base.rgb24.ref.png | Bin + .../clip-fill-rule-pixel-aligned.ref.png | Bin + .../clip-fill-rule-pixel-aligned.rgb24.ref.png | Bin + test/{ => reference}/clip-fill-rule.argb32.ref.png | Bin + .../clip-fill-rule.base.argb32.ref.png | Bin + .../clip-fill-rule.base.rgb24.ref.png | Bin + .../{ => reference}/clip-fill-rule.image16.ref.png | Bin + .../clip-fill-rule.pdf.argb32.ref.png | Bin + .../clip-fill-rule.ps.argb32.ref.png | Bin + .../clip-fill-rule.ps.rgb24.ref.png | Bin + .../clip-fill-rule.quartz.rgb24.ref.png | Bin + test/{ => reference}/clip-fill-rule.rgb24.ref.png | Bin + .../clip-fill-rule.test-paginated.rgb24.ref.png | Bin + .../clip-fill-rule.xlib.rgb24.ref.png | Bin + test/{ => reference}/clip-fill.base.argb32.ref.png | Bin + test/{ => reference}/clip-fill.base.rgb24.ref.png | Bin + test/{ => reference}/clip-fill.image16.ref.png | Bin + test/{ => reference}/clip-fill.ps.xfail.png | Bin + test/{ => reference}/clip-fill.quartz.ref.png | Bin + test/{ => reference}/clip-fill.ref.png | Bin + .../clip-fill.xlib-fallback.ref.png | Bin + test/{ => reference}/clip-fill.xlib.ref.png | Bin + ...p-shapes-aligned-rectangles.base.argb32.ref.png | Bin + ...up-shapes-aligned-rectangles.base.rgb24.ref.png | Bin + .../clip-group-shapes-aligned-rectangles.ref.png | Bin + .../clip-group-shapes-circles.base.argb32.ref.png | Bin + .../clip-group-shapes-circles.base.rgb24.ref.png | Bin + .../clip-group-shapes-circles.ps.ref.png | Bin + .../clip-group-shapes-circles.quartz.ref.png | Bin + .../clip-group-shapes-circles.ref.png | Bin + .../clip-group-shapes-circles.xlib.ref.png | Bin + ...shapes-unaligned-rectangles.base.argb32.ref.png | Bin + ...-shapes-unaligned-rectangles.base.rgb24.ref.png | Bin + .../clip-group-shapes-unaligned-rectangles.ref.png | Bin + ...-group-shapes-unaligned-rectangles.xlib.ref.png | Bin + .../{ => reference}/clip-image.base.argb32.ref.png | Bin + test/{ => reference}/clip-image.base.rgb24.ref.png | Bin + test/{ => reference}/clip-image.image16.ref.png | Bin + test/{ => reference}/clip-image.ps.ref.png | Bin + test/{ => reference}/clip-image.ref.png | Bin + .../clip-intersect.base.argb32.ref.png | Bin + .../clip-intersect.base.rgb24.ref.png | Bin + test/{ => reference}/clip-intersect.ref.png | Bin + .../clip-mixed-antialias.base.argb32.ref.png | Bin + .../clip-mixed-antialias.base.rgb24.ref.png | Bin + test/{ => reference}/clip-mixed-antialias.ref.png | Bin + test/{ => reference}/clip-nesting.argb32.ref.png | Bin + .../clip-nesting.base.argb32.ref.png | Bin + .../clip-nesting.base.rgb24.ref.png | Bin + .../clip-nesting.pdf.argb32.ref.png | Bin + .../{ => reference}/clip-nesting.ps.argb32.ref.png | Bin + test/{ => reference}/clip-nesting.ps.rgb24.ref.png | Bin + .../clip-nesting.quartz.argb32.ref.png | Bin + .../clip-nesting.quartz.rgb24.ref.png | Bin + test/{ => reference}/clip-nesting.rgb24.ref.png | Bin + .../clip-nesting.test-paginated.rgb24.ref.png | Bin + .../clip-nesting.xlib.rgb24.ref.png | Bin + .../clip-operator.base.argb32.ref.png | Bin + .../clip-operator.base.rgb24.ref.png | Bin + .../clip-operator.gl.argb32.ref.png | Bin + test/{ => reference}/clip-operator.image16.ref.png | Bin + .../clip-operator.pdf.argb32.ref.png | Bin + .../clip-operator.pdf.rgb24.ref.png | Bin + .../clip-operator.ps2.rgb24.ref.png | Bin + .../clip-operator.ps3.argb32.ref.png | Bin + test/{ => reference}/clip-operator.ps3.ref.png | Bin + .../clip-operator.ps3.rgb24.ref.png | Bin + .../clip-operator.quartz.argb32.ref.png | Bin + .../clip-operator.quartz.rgb24.ref.png | Bin + test/{ => reference}/clip-operator.ref.png | Bin + test/{ => reference}/clip-operator.rgb24.ref.png | Bin + .../clip-operator.svg12.argb32.xfail.png | Bin + .../clip-operator.svg12.rgb24.xfail.png | Bin + .../clip-operator.test-paginated.argb32.ref.png | Bin + .../clip-operator.xlib-fallback.ref.png | Bin + test/{ => reference}/clip-operator.xlib.ref.png | Bin + .../clip-operator.xlib.rgb24.ref.png | Bin + .../clip-push-group.base.argb32.ref.png | Bin + .../clip-push-group.base.rgb24.ref.png | Bin + .../clip-push-group.image16.ref.png | Bin + test/{ => reference}/clip-push-group.pdf.ref.png | Bin + test/{ => reference}/clip-push-group.ps.ref.png | Bin + .../{ => reference}/clip-push-group.quartz.ref.png | Bin + test/{ => reference}/clip-push-group.ref.png | Bin + test/{ => reference}/clip-push-group.svg.ref.png | Bin + test/{ => reference}/clip-push-group.xlib.ref.png | Bin + ...-rotate-image-surface-paint.base.argb32.ref.png | Bin + ...p-rotate-image-surface-paint.base.rgb24.ref.png | Bin + .../clip-rotate-image-surface-paint.ref.png | Bin + .../{ => reference}/clip-shape.base.argb32.ref.png | Bin + test/{ => reference}/clip-shape.base.rgb24.ref.png | Bin + test/{ => reference}/clip-shape.image16.ref.png | Bin + test/{ => reference}/clip-shape.ps.ref.png | Bin + test/{ => reference}/clip-shape.quartz.ref.png | Bin + test/{ => reference}/clip-shape.ref.png | Bin + .../clip-shape.xlib-fallback.ref.png | Bin + test/{ => reference}/clip-shape.xlib.ref.png | Bin + .../clip-stroke-no-op.base.argb32.ref.png | Bin + .../clip-stroke-no-op.base.rgb24.ref.png | Bin + .../clip-stroke-no-op.image16.ref.png | Bin + test/{ => reference}/clip-stroke-no-op.ref.png | Bin + .../clip-stroke-unbounded.argb32.ref.png | Bin + .../clip-stroke-unbounded.base.argb32.ref.png | Bin + .../clip-stroke-unbounded.base.rgb24.ref.png | Bin + .../clip-stroke-unbounded.image16.rgb24.ref.png | Bin + .../clip-stroke-unbounded.quartz.argb32.ref.png | Bin + .../clip-stroke-unbounded.quartz.rgb24.ref.png | Bin + .../clip-stroke-unbounded.rgb24.ref.png | Bin + .../clip-stroke-unbounded.svg12.rgb24.xfail.png | Bin + ...ip-stroke-unbounded.xlib-fallback.rgb24.ref.png | Bin + .../clip-stroke-unbounded.xlib.argb32.ref.png | Bin + .../clip-stroke-unbounded.xlib.rgb24.ref.png | Bin + .../clip-stroke.base.argb32.ref.png | Bin + .../{ => reference}/clip-stroke.base.rgb24.ref.png | Bin + test/{ => reference}/clip-stroke.image16.ref.png | Bin + test/{ => reference}/clip-stroke.ps.xfail.png | Bin + test/{ => reference}/clip-stroke.quartz.ref.png | Bin + test/{ => reference}/clip-stroke.ref.png | Bin + .../clip-stroke.xlib-fallback.ref.png | Bin + test/{ => reference}/clip-stroke.xlib.ref.png | Bin + test/{ => reference}/clip-text.base.argb32.ref.png | Bin + test/{ => reference}/clip-text.base.rgb24.ref.png | Bin + test/{ => reference}/clip-text.image16.ref.png | Bin + test/{ => reference}/clip-text.ps.xfail.png | Bin + test/{ => reference}/clip-text.quartz.ref.png | Bin + test/{ => reference}/clip-text.ref.png | Bin + test/{ => reference}/clip-text.svg.ref.png | Bin + test/{ => reference}/clip-text.xlib.ref.png | Bin + .../clip-twice-rectangle.base.argb32.ref.png | Bin + .../clip-twice-rectangle.base.rgb24.ref.png | Bin + test/{ => reference}/clip-twice-rectangle.ref.png | Bin + test/{ => reference}/clip-twice.argb32.ref.png | Bin + .../{ => reference}/clip-twice.base.argb32.ref.png | Bin + test/{ => reference}/clip-twice.base.rgb24.ref.png | Bin + test/{ => reference}/clip-twice.image16.ref.png | Bin + test/{ => reference}/clip-twice.pdf.argb32.ref.png | Bin + test/{ => reference}/clip-twice.ps.argb32.ref.png | Bin + test/{ => reference}/clip-twice.ps.rgb24.ref.png | Bin + .../clip-twice.quartz.argb32.ref.png | Bin + .../clip-twice.quartz.rgb24.ref.png | Bin + test/{ => reference}/clip-twice.rgb24.ref.png | Bin + .../clip-twice.test-paginated.argb32.ref.png | Bin + .../clip-twice.test-paginated.rgb24.ref.png | Bin + test/{ => reference}/clip-twice.xlib.ref.png | Bin + test/{ => reference}/clip-twice.xlib.rgb24.ref.png | Bin + .../clip-unbounded.base.argb32.ref.png | Bin + .../clip-unbounded.base.rgb24.ref.png | Bin + .../clip-unbounded.pdf.argb32.xfail.png | Bin + .../clip-unbounded.pdf.rgb24.xfail.png | Bin + test/{ => reference}/clip-unbounded.ref.png | Bin + test/{ => reference}/clip-unbounded.rgb24.ref.png | Bin + .../clip-unbounded.svg12.rgb24.xfail.png | Bin + .../clipped-group.base.argb32.ref.png | Bin + .../clipped-group.base.rgb24.ref.png | Bin + test/{ => reference}/clipped-group.image16.ref.png | Bin + test/{ => reference}/clipped-group.pdf.ref.png | Bin + test/{ => reference}/clipped-group.ps2.ref.png | Bin + test/{ => reference}/clipped-group.ps3.ref.png | Bin + test/{ => reference}/clipped-group.quartz.ref.png | Bin + test/{ => reference}/clipped-group.ref.png | Bin + test/{ => reference}/clipped-group.svg.ref.png | Bin + .../clipped-group.xlib-fallback.ref.png | Bin + test/{ => reference}/clipped-group.xlib.ref.png | Bin + .../clipped-surface.base.argb32.ref.png | Bin + .../clipped-surface.base.rgb24.ref.png | Bin + .../clipped-surface.image16.ref.png | Bin + test/{ => reference}/clipped-surface.ref.png | Bin + test/{ => reference}/clipped-trapezoids.ref.png | Bin + .../close-path-current-point.base.argb32.ref.png | Bin + .../close-path-current-point.base.rgb24.ref.png | Bin + .../close-path-current-point.image16.ref.png | Bin + .../close-path-current-point.ps.ref.png | Bin + .../close-path-current-point.ref.png | Bin + .../{ => reference}/close-path.base.argb32.ref.png | Bin + test/{ => reference}/close-path.base.rgb24.ref.png | Bin + test/{ => reference}/close-path.ps2.ref.png | Bin + test/{ => reference}/close-path.ps3.ref.png | Bin + test/{ => reference}/close-path.ref.png | Bin + ...teger-translate-over-repeat.base.argb32.ref.png | Bin + ...nteger-translate-over-repeat.base.rgb24.ref.png | Bin + ...osite-integer-translate-over-repeat.ps2.ref.png | Bin + ...osite-integer-translate-over-repeat.ps3.ref.png | Bin + ...composite-integer-translate-over-repeat.ref.png | Bin + ...site-integer-translate-over.base.argb32.ref.png | Bin + ...osite-integer-translate-over.base.rgb24.ref.png | Bin + ...omposite-integer-translate-over.image16.ref.png | Bin + .../composite-integer-translate-over.ps2.ref.png | Bin + .../composite-integer-translate-over.ps3.ref.png | Bin + .../composite-integer-translate-over.ref.png | Bin + ...te-integer-translate-source.base.argb32.ref.png | Bin + ...ite-integer-translate-source.base.rgb24.ref.png | Bin + ...posite-integer-translate-source.image16.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 + ...integer-translate-source.svg12.argb32.xfail.png | Bin + ...-integer-translate-source.svg12.rgb24.xfail.png | Bin + test/{ => reference}/copy-path.base.argb32.ref.png | Bin + test/{ => reference}/copy-path.base.rgb24.ref.png | Bin + test/{ => reference}/copy-path.image16.ref.png | Bin + test/{ => reference}/copy-path.ps.ref.png | Bin + test/{ => reference}/copy-path.ref.png | Bin + .../coverage-column-triangles.ref.png | Bin + .../coverage-column-triangles.xlib.xfail.png | Bin + .../coverage-intersecting-quads.ref.png | Bin + .../coverage-intersecting-quads.xlib.xfail.png | Bin + .../coverage-intersecting-triangles.ref.png | Bin + .../coverage-intersecting-triangles.xlib.xfail.png | Bin + test/{ => reference}/coverage-rectangles.ref.png | Bin + .../coverage-rectangles.xlib.xfail.png | Bin + .../{ => reference}/coverage-row-triangles.ref.png | Bin + .../coverage-row-triangles.xlib.xfail.png | Bin + test/{ => reference}/coverage-triangles.ref.png | Bin + .../coverage-triangles.xlib.xfail.png | Bin + .../create-from-png-stream.base.argb32.ref.png | Bin + .../create-from-png-stream.base.rgb24.ref.png | Bin + .../{ => reference}/create-from-png-stream.ref.png | Bin + test/{ => reference}/create-from-png.alpha.ref.png | Bin + .../create-from-png.base.argb32.ref.png | Bin + .../create-from-png.base.rgb24.ref.png | Bin + .../create-from-png.gray-alpha.ref.png | Bin + test/{ => reference}/create-from-png.gray.ref.png | Bin + .../create-from-png.indexed-alpha.ref.png | Bin + .../create-from-png.indexed.ref.png | Bin + test/{ => reference}/create-from-png.ref.png | Bin + .../culled-glyphs.base.argb32.ref.png | Bin + .../culled-glyphs.base.rgb24.ref.png | Bin + test/{ => reference}/culled-glyphs.image16.ref.png | Bin + test/{ => reference}/culled-glyphs.ps.ref.png | Bin + test/{ => reference}/culled-glyphs.quartz.ref.png | Bin + test/{ => reference}/culled-glyphs.ref.png | Bin + .../curve-to-as-line-to.base.argb32.ref.png | Bin + .../curve-to-as-line-to.base.rgb24.ref.png | Bin + .../curve-to-as-line-to.ps.xfail.png | Bin + test/{ => reference}/curve-to-as-line-to.ref.png | Bin + .../dash-caps-joins.base.argb32.ref.png | Bin + .../dash-caps-joins.base.rgb24.ref.png | Bin + .../dash-caps-joins.image16.ref.png | Bin + test/{ => reference}/dash-caps-joins.ps.ref.png | Bin + .../dash-caps-joins.quartz.xfail.png | Bin + test/{ => reference}/dash-caps-joins.ref.png | Bin + .../{ => reference}/dash-curve.base.argb32.ref.png | Bin + test/{ => reference}/dash-curve.base.rgb24.ref.png | Bin + test/{ => reference}/dash-curve.image16.ref.png | Bin + test/{ => reference}/dash-curve.ps2.ref.png | Bin + test/{ => reference}/dash-curve.ps3.ref.png | Bin + test/{ => reference}/dash-curve.quartz.xfail.png | Bin + test/{ => reference}/dash-curve.ref.png | Bin + test/{ => reference}/dash-curve.xlib.ref.png | Bin + .../dash-infinite-loop.base.argb32.ref.png | Bin + .../dash-infinite-loop.base.rgb24.ref.png | Bin + test/{ => reference}/dash-infinite-loop.ps.ref.png | Bin + test/{ => reference}/dash-infinite-loop.ref.png | Bin + .../dash-no-dash.base.argb32.ref.png | Bin + .../dash-no-dash.base.rgb24.ref.png | Bin + test/{ => reference}/dash-no-dash.ref.png | Bin + .../dash-offset-negative.base.argb32.ref.png | Bin + .../dash-offset-negative.base.rgb24.ref.png | Bin + .../dash-offset-negative.pdf.ref.png | Bin + test/{ => reference}/dash-offset-negative.ref.png | Bin + .../dash-offset.base.argb32.ref.png | Bin + .../{ => reference}/dash-offset.base.rgb24.ref.png | Bin + test/{ => reference}/dash-offset.ref.png | Bin + .../{ => reference}/dash-scale.base.argb32.ref.png | Bin + test/{ => reference}/dash-scale.base.rgb24.ref.png | Bin + test/{ => reference}/dash-scale.image16.ref.png | Bin + test/{ => reference}/dash-scale.ps.ref.png | Bin + test/{ => reference}/dash-scale.quartz.ref.png | Bin + test/{ => reference}/dash-scale.ref.png | Bin + .../{ => reference}/dash-state.base.argb32.ref.png | Bin + test/{ => reference}/dash-state.base.rgb24.ref.png | Bin + test/{ => reference}/dash-state.image16.ref.png | Bin + test/{ => reference}/dash-state.ps2.ref.png | Bin + test/{ => reference}/dash-state.ps3.ref.png | Bin + test/{ => reference}/dash-state.quartz.xfail.png | Bin + test/{ => reference}/dash-state.ref.png | Bin + .../dash-zero-length.base.argb32.ref.png | Bin + .../dash-zero-length.base.rgb24.ref.png | Bin + test/{ => reference}/dash-zero-length.ps2.ref.png | Bin + .../dash-zero-length.ps2.rgb24.ref.png | Bin + test/{ => reference}/dash-zero-length.ps3.ref.png | Bin + .../dash-zero-length.ps3.rgb24.ref.png | Bin + test/{ => reference}/dash-zero-length.ref.png | Bin + .../{ => reference}/dash-zero-length.rgb24.ref.png | Bin + .../degenerate-arc.base.argb32.ref.png | Bin + .../degenerate-arc.base.rgb24.ref.png | Bin + .../{ => reference}/degenerate-arc.image16.ref.png | Bin + test/{ => reference}/degenerate-arc.ps2.ref.png | Bin + test/{ => reference}/degenerate-arc.ps3.ref.png | Bin + test/{ => reference}/degenerate-arc.quartz.ref.png | Bin + test/{ => reference}/degenerate-arc.ref.png | Bin + test/{ => reference}/degenerate-arc.xlib.ref.png | Bin + .../degenerate-arcs.base.argb32.ref.png | Bin + .../degenerate-arcs.base.rgb24.ref.png | Bin + .../degenerate-arcs.image16.ref.png | Bin + test/{ => reference}/degenerate-arcs.ref.png | Bin + .../degenerate-curve-to.base.argb32.ref.png | Bin + .../degenerate-curve-to.base.rgb24.ref.png | Bin + .../degenerate-curve-to.image16.ref.png | Bin + .../degenerate-curve-to.ps.xfail.png | Bin + .../degenerate-curve-to.quartz.ref.png | Bin + test/{ => reference}/degenerate-curve-to.ref.png | Bin + .../degenerate-dash.base.argb32.ref.png | Bin + .../degenerate-dash.base.rgb24.ref.png | Bin + test/{ => reference}/degenerate-dash.ps.xfail.png | Bin + .../degenerate-dash.quartz.xfail.png | Bin + test/{ => reference}/degenerate-dash.ref.png | Bin + test/{ => reference}/degenerate-dash.xlib.ref.png | Bin + .../degenerate-linear-gradient.base.argb32.ref.png | Bin + .../degenerate-linear-gradient.base.rgb24.ref.png | Bin + .../degenerate-linear-gradient.ref.png | Bin + .../{ => reference}/degenerate-path.argb32.ref.png | Bin + .../degenerate-path.base.argb32.ref.png | Bin + .../degenerate-path.base.rgb24.ref.png | Bin + .../degenerate-path.ps.argb32.xfail.png | Bin + .../degenerate-path.ps.rgb24.xfail.png | Bin + .../degenerate-path.quartz.argb32.xfail.png | Bin + .../degenerate-path.quartz.rgb24.xfail.png | Bin + test/{ => reference}/degenerate-path.rgb24.ref.png | Bin + .../degenerate-pen.base.argb32.ref.png | Bin + .../degenerate-pen.base.rgb24.ref.png | Bin + .../{ => reference}/degenerate-pen.image16.ref.png | Bin + test/{ => reference}/degenerate-pen.ps.ref.png | Bin + test/{ => reference}/degenerate-pen.ref.png | Bin + test/{ => reference}/degenerate-pen.xlib.ref.png | Bin + .../degenerate-radial-gradient.base.argb32.ref.png | Bin + .../degenerate-radial-gradient.base.rgb24.ref.png | Bin + .../degenerate-radial-gradient.ref.png | Bin + .../degenerate-rel-curve-to.base.argb32.ref.png | Bin + .../degenerate-rel-curve-to.base.rgb24.ref.png | Bin + .../degenerate-rel-curve-to.image16.ref.png | Bin + .../degenerate-rel-curve-to.ps.ref.png | Bin + .../degenerate-rel-curve-to.quartz.ref.png | Bin + .../degenerate-rel-curve-to.ref.png | Bin + .../device-offset-fractional.base.argb32.ref.png | Bin + .../device-offset-fractional.base.rgb24.ref.png | Bin + .../device-offset-fractional.gl.xfail.png | Bin + .../device-offset-fractional.pdf.xfail.png | Bin + .../device-offset-fractional.ps2.ref.png | Bin + .../device-offset-fractional.ps3.ref.png | Bin + .../device-offset-fractional.ref.png | Bin + .../device-offset-positive.base.argb32.ref.png | Bin + .../device-offset-positive.base.rgb24.ref.png | Bin + .../{ => reference}/device-offset-positive.ref.png | Bin + .../device-offset-positive.rgb24.ref.png | Bin + .../device-offset-scale.base.argb32.ref.png | Bin + .../device-offset-scale.base.rgb24.ref.png | Bin + test/{ => reference}/device-offset-scale.ref.png | Bin + .../device-offset-scale.svg.xfail.png | Bin + .../device-offset.base.argb32.ref.png | Bin + .../device-offset.base.rgb24.ref.png | Bin + test/{ => reference}/device-offset.ref.png | Bin + test/{ => reference}/device-offset.rgb24.ref.png | Bin + .../drunkard-tails.base.argb32.ref.png | Bin + .../drunkard-tails.base.rgb24.ref.png | Bin + test/{ => reference}/drunkard-tails.ps.ref.png | Bin + test/{ => reference}/drunkard-tails.ref.png | Bin + .../extend-pad-border.base.argb32.ref.png | Bin + .../extend-pad-border.base.rgb24.ref.png | Bin + .../extend-pad-border.image16.ref.png | Bin + test/{ => reference}/extend-pad-border.pdf.ref.png | Bin + test/{ => reference}/extend-pad-border.ps.ref.png | Bin + .../extend-pad-border.quartz.ref.png | Bin + test/{ => reference}/extend-pad-border.ref.png | Bin + .../extend-pad-border.svg.xfail.png | Bin + .../extend-pad-similar.base.argb32.ref.png | Bin + .../extend-pad-similar.base.rgb24.ref.png | Bin + .../extend-pad-similar.quartz.xfail.png | Bin + test/{ => reference}/extend-pad-similar.ref.png | Bin + .../extend-pad-similar.svg.xfail.png | Bin + .../{ => reference}/extend-pad.base.argb32.ref.png | Bin + test/{ => reference}/extend-pad.base.rgb24.ref.png | Bin + test/{ => reference}/extend-pad.ps.ref.png | Bin + test/{ => reference}/extend-pad.quartz.xfail.png | Bin + test/{ => reference}/extend-pad.ref.png | Bin + test/{ => reference}/extend-pad.svg.xfail.png | Bin + .../extend-reflect-similar.base.argb32.ref.png | Bin + .../extend-reflect-similar.base.rgb24.ref.png | Bin + .../extend-reflect-similar.image16.ref.png | Bin + .../extend-reflect-similar.ps2.ref.png | Bin + .../extend-reflect-similar.ps3.ref.png | Bin + .../{ => reference}/extend-reflect-similar.ref.png | Bin + .../extend-reflect.base.argb32.ref.png | Bin + .../extend-reflect.base.rgb24.ref.png | Bin + .../{ => reference}/extend-reflect.image16.ref.png | Bin + test/{ => reference}/extend-reflect.ps2.ref.png | Bin + test/{ => reference}/extend-reflect.ps3.ref.png | Bin + test/{ => reference}/extend-reflect.ref.png | Bin + .../extend-repeat-similar.base.argb32.ref.png | Bin + .../extend-repeat-similar.base.rgb24.ref.png | Bin + .../extend-repeat-similar.image16.ref.png | Bin + .../extend-repeat-similar.ps2.ref.png | Bin + .../extend-repeat-similar.ps3.ref.png | Bin + test/{ => reference}/extend-repeat-similar.ref.png | Bin + .../extend-repeat.base.argb32.ref.png | Bin + .../extend-repeat.base.rgb24.ref.png | Bin + test/{ => reference}/extend-repeat.image16.ref.png | Bin + test/{ => reference}/extend-repeat.ps2.ref.png | Bin + test/{ => reference}/extend-repeat.ps3.ref.png | Bin + test/{ => reference}/extend-repeat.ref.png | Bin + .../extended-blend-alpha-mask.argb32.ref.png | Bin + .../extended-blend-alpha-mask.base.argb32.ref.png | Bin + .../extended-blend-alpha-mask.base.rgb24.ref.png | Bin + .../extended-blend-alpha-mask.rgb24.ref.png | Bin + .../extended-blend-alpha.argb32.ref.png | Bin + .../extended-blend-alpha.base.argb32.ref.png | Bin + .../extended-blend-alpha.base.rgb24.ref.png | Bin + .../extended-blend-alpha.image16.ref.png | Bin + .../extended-blend-alpha.quartz.argb32.ref.png | Bin + .../extended-blend-alpha.quartz.rgb24.ref.png | Bin + .../extended-blend-alpha.rgb24.ref.png | Bin + .../extended-blend-alpha.svg12.argb32.xfail.png | Bin + .../extended-blend-alpha.svg12.rgb24.xfail.png | Bin + .../extended-blend-mask.argb32.ref.png | Bin + .../extended-blend-mask.base.argb32.ref.png | Bin + .../extended-blend-mask.base.rgb24.ref.png | Bin + .../extended-blend-mask.rgb24.ref.png | Bin + .../extended-blend-solid-alpha.argb32.ref.png | Bin + .../extended-blend-solid-alpha.base.argb32.ref.png | Bin + .../extended-blend-solid-alpha.base.rgb24.ref.png | Bin + .../extended-blend-solid-alpha.image16.ref.png | Bin + .../extended-blend-solid-alpha.rgb24.ref.png | Bin + .../extended-blend-solid.argb32.ref.png | Bin + .../extended-blend-solid.base.argb32.ref.png | Bin + .../extended-blend-solid.base.rgb24.ref.png | Bin + .../extended-blend-solid.image16.ref.png | Bin + .../extended-blend-solid.rgb24.ref.png | Bin + test/{ => reference}/extended-blend.argb32.ref.png | Bin + .../extended-blend.base.argb32.ref.png | Bin + .../extended-blend.base.rgb24.ref.png | Bin + .../{ => reference}/extended-blend.image16.ref.png | Bin + .../extended-blend.quartz.argb32.ref.png | Bin + .../extended-blend.quartz.rgb24.ref.png | Bin + test/{ => reference}/extended-blend.rgb24.ref.png | Bin + .../extended-blend.svg12.argb32.xfail.png | Bin + .../extended-blend.svg12.rgb24.xfail.png | Bin + .../fallback-resolution.ppi144x144.ps.ref.png | Bin + .../fallback-resolution.ppi144x144.ref.png | Bin + .../fallback-resolution.ppi144x72.ps.ref.png | Bin + .../fallback-resolution.ppi144x72.ref.png | Bin + .../fallback-resolution.ppi288x288.pdf.ref.png | Bin + .../fallback-resolution.ppi288x288.ps.ref.png | Bin + .../fallback-resolution.ppi288x288.svg.ref.png | Bin + .../fallback-resolution.ppi288x72.ps.ref.png | Bin + .../fallback-resolution.ppi288x72.ref.png | Bin + .../fallback-resolution.ppi576x576.pdf.ref.png | Bin + .../fallback-resolution.ppi576x576.ps.ref.png | Bin + .../fallback-resolution.ppi576x576.svg.ref.png | Bin + .../fallback-resolution.ppi576x72.ps.ref.png | Bin + .../fallback-resolution.ppi576x72.ref.png | Bin + .../fallback-resolution.ppi72x144.ps.ref.png | Bin + .../fallback-resolution.ppi72x144.ref.png | Bin + .../fallback-resolution.ppi72x288.ps.ref.png | Bin + .../fallback-resolution.ppi72x288.ref.png | Bin + .../fallback-resolution.ppi72x576.ps.ref.png | Bin + .../fallback-resolution.ppi72x576.ref.png | Bin + .../fallback-resolution.ppi72x72.ref.png | Bin + .../fill-alpha-pattern.base.argb32.ref.png | Bin + .../fill-alpha-pattern.base.rgb24.ref.png | Bin + .../fill-alpha-pattern.image16.ref.png | Bin + .../{ => reference}/fill-alpha-pattern.pdf.ref.png | Bin + .../fill-alpha-pattern.ps3.argb32.ref.png | Bin + .../fill-alpha-pattern.quartz.ref.png | Bin + test/{ => reference}/fill-alpha-pattern.ref.png | Bin + .../fill-alpha-pattern.xlib.ref.png | Bin + .../{ => reference}/fill-alpha.base.argb32.ref.png | Bin + test/{ => reference}/fill-alpha.base.rgb24.ref.png | Bin + test/{ => reference}/fill-alpha.image16.ref.png | Bin + test/{ => reference}/fill-alpha.ps.argb32.ref.png | Bin + test/{ => reference}/fill-alpha.quartz.ref.png | Bin + test/{ => reference}/fill-alpha.ref.png | Bin + test/{ => reference}/fill-alpha.xlib.ref.png | Bin + .../fill-and-stroke-alpha-add.base.argb32.ref.png | Bin + .../fill-and-stroke-alpha-add.base.rgb24.ref.png | Bin + .../fill-and-stroke-alpha-add.image16.ref.png | Bin + .../fill-and-stroke-alpha-add.quartz.ref.png | Bin + .../fill-and-stroke-alpha-add.ref.png | Bin + .../fill-and-stroke-alpha-add.svg12.xfail.png | Bin + .../fill-and-stroke-alpha.base.argb32.ref.png | Bin + .../fill-and-stroke-alpha.base.rgb24.ref.png | Bin + .../fill-and-stroke-alpha.image16.ref.png | Bin + test/{ => reference}/fill-and-stroke-alpha.ref.png | Bin + .../{ => reference}/fill-and-stroke.argb32.ref.png | Bin + .../fill-and-stroke.base.argb32.ref.png | Bin + .../fill-and-stroke.base.rgb24.ref.png | Bin + .../fill-and-stroke.image16.ref.png | Bin + .../fill-and-stroke.ps.argb32.ref.png | Bin + .../fill-and-stroke.ps.rgb24.ref.png | Bin + .../fill-and-stroke.quartz.argb32.ref.png | Bin + .../fill-and-stroke.quartz.rgb24.ref.png | Bin + test/{ => reference}/fill-and-stroke.rgb24.ref.png | Bin + .../fill-and-stroke.xlib.argb32.ref.png | Bin + .../fill-and-stroke.xlib.rgb24.ref.png | Bin + .../fill-degenerate-sort-order.argb32.ref.png | Bin + .../fill-degenerate-sort-order.base.argb32.ref.png | Bin + .../fill-degenerate-sort-order.base.rgb24.ref.png | Bin + .../fill-degenerate-sort-order.image16.ref.png | Bin + .../fill-degenerate-sort-order.ps.argb32.xfail.png | Bin + .../fill-degenerate-sort-order.ps.rgb24.xfail.png | Bin + ...ill-degenerate-sort-order.quartz.argb32.ref.png | Bin + ...fill-degenerate-sort-order.quartz.rgb24.ref.png | Bin + .../fill-degenerate-sort-order.rgb24.ref.png | Bin + .../fill-degenerate-sort-order.xlib.ref.png | Bin + .../fill-degenerate-sort-order.xlib.rgb24.ref.png | Bin + test/{ => reference}/fill-empty.argb32.ref.png | Bin + .../{ => reference}/fill-empty.base.argb32.ref.png | Bin + test/{ => reference}/fill-empty.base.rgb24.ref.png | Bin + test/{ => reference}/fill-empty.rgb24.ref.png | Bin + .../fill-empty.svg12.rgb24.xfail.png | Bin + .../{ => reference}/fill-image.base.argb32.ref.png | Bin + test/{ => reference}/fill-image.base.rgb24.ref.png | Bin + test/{ => reference}/fill-image.image16.ref.png | Bin + test/{ => reference}/fill-image.ps.ref.png | Bin + test/{ => reference}/fill-image.quartz.ref.png | Bin + test/{ => reference}/fill-image.ref.png | Bin + test/{ => reference}/fill-image.xlib.ref.png | Bin + .../fill-missed-stop.base.argb32.ref.png | Bin + .../fill-missed-stop.base.rgb24.ref.png | Bin + .../fill-missed-stop.pdf.argb32.ref.png | Bin + .../fill-missed-stop.ps2.argb32.ref.png | Bin + .../fill-missed-stop.ps2.rgb24.ref.png | Bin + .../fill-missed-stop.ps3.argb32.ref.png | Bin + .../fill-missed-stop.ps3.rgb24.ref.png | Bin + test/{ => reference}/fill-missed-stop.ref.png | Bin + .../{ => reference}/fill-missed-stop.rgb24.ref.png | Bin + test/{ => reference}/fill-rule.base.argb32.ref.png | Bin + test/{ => reference}/fill-rule.base.rgb24.ref.png | Bin + test/{ => reference}/fill-rule.image16.ref.png | Bin + test/{ => reference}/fill-rule.ps2.argb32.ref.png | Bin + test/{ => reference}/fill-rule.ps2.rgb24.ref.png | Bin + test/{ => reference}/fill-rule.ps3.argb32.ref.png | Bin + test/{ => reference}/fill-rule.ps3.rgb24.ref.png | Bin + .../fill-rule.quartz.argb32.ref.png | Bin + .../{ => reference}/fill-rule.quartz.rgb24.ref.png | Bin + test/{ => reference}/fill-rule.ref.png | Bin + test/{ => reference}/fill-rule.rgb24.ref.png | Bin + test/{ => reference}/fill-rule.xlib.ref.png | Bin + test/{ => reference}/fill-rule.xlib.rgb24.ref.png | Bin + .../filter-bilinear-extents.base.argb32.ref.png | Bin + .../filter-bilinear-extents.base.rgb24.ref.png | Bin + .../filter-bilinear-extents.image16.ref.png | Bin + .../filter-bilinear-extents.pdf.xfail.png | Bin + .../filter-bilinear-extents.ps2.ref.png | Bin + .../filter-bilinear-extents.ps3.ref.png | Bin + .../filter-bilinear-extents.quartz.xfail.png | Bin + .../filter-bilinear-extents.ref.png | Bin + .../filter-nearest-offset.base.argb32.ref.png | Bin + .../filter-nearest-offset.base.rgb24.ref.png | Bin + .../filter-nearest-offset.gl.xfail.png | Bin + .../filter-nearest-offset.pdf.xfail.png | Bin + .../filter-nearest-offset.ps2.ref.png | Bin + .../filter-nearest-offset.ps3.ref.png | Bin + test/{ => reference}/filter-nearest-offset.ref.png | Bin + .../filter-nearest-offset.svg.xfail.png | Bin + .../filter-nearest-transformed.base.argb32.ref.png | Bin + .../filter-nearest-transformed.base.rgb24.ref.png | Bin + .../filter-nearest-transformed.gl.xfail.png | Bin + .../filter-nearest-transformed.image16.ref.png | Bin + .../filter-nearest-transformed.pdf.xfail.png | Bin + .../filter-nearest-transformed.quartz.xfail.png | Bin + .../filter-nearest-transformed.ref.png | Bin + .../filter-nearest-transformed.svg.xfail.png | Bin + .../finer-grained-fallbacks.argb32.ref.png | Bin + .../finer-grained-fallbacks.base.argb32.ref.png | Bin + .../finer-grained-fallbacks.base.rgb24.ref.png | Bin + .../finer-grained-fallbacks.gl.argb32.ref.png | Bin + .../finer-grained-fallbacks.image16.ref.png | Bin + .../finer-grained-fallbacks.ps2.argb32.ref.png | Bin + .../finer-grained-fallbacks.ps2.ref.png | Bin + .../finer-grained-fallbacks.ps2.rgb24.ref.png | Bin + .../finer-grained-fallbacks.ps3.argb32.ref.png | Bin + .../finer-grained-fallbacks.ps3.ref.png | Bin + .../finer-grained-fallbacks.ps3.rgb24.ref.png | Bin + .../finer-grained-fallbacks.quartz.argb32.ref.png | Bin + .../finer-grained-fallbacks.quartz.rgb24.ref.png | Bin + .../finer-grained-fallbacks.rgb24.ref.png | Bin + .../finer-grained-fallbacks.svg12.argb32.ref.png | Bin + .../finer-grained-fallbacks.svg12.rgb24.ref.png | Bin + .../finer-grained-fallbacks.xlib-fallback.ref.png | Bin + .../finer-grained-fallbacks.xlib.ref.png | Bin + .../finer-grained-fallbacks.xlib.rgb24.ref.png | Bin + .../font-matrix-translation.base.argb32.ref.png | Bin + .../font-matrix-translation.base.rgb24.ref.png | Bin + .../font-matrix-translation.image16.ref.png | Bin + .../font-matrix-translation.ps2.argb32.ref.png | Bin + .../font-matrix-translation.ps2.rgb24.ref.png | Bin + .../font-matrix-translation.ps3.argb32.ref.png | Bin + .../font-matrix-translation.ps3.rgb24.ref.png | Bin + .../font-matrix-translation.quartz.ref.png | Bin + .../font-matrix-translation.ref.png | Bin + .../font-matrix-translation.svg.ref.png | Bin + .../ft-show-glyphs-positioning.base.argb32.ref.png | Bin + .../ft-show-glyphs-positioning.base.rgb24.ref.png | Bin + .../ft-show-glyphs-positioning.image16.ref.png | Bin + .../ft-show-glyphs-positioning.pdf.ref.png | Bin + .../ft-show-glyphs-positioning.ps2.ref.png | Bin + .../ft-show-glyphs-positioning.ps3.ref.png | Bin + .../ft-show-glyphs-positioning.ref.png | Bin + .../ft-show-glyphs-positioning.svg.ref.png | Bin + .../ft-show-glyphs-table.base.argb32.ref.png | Bin + .../ft-show-glyphs-table.base.rgb24.ref.png | Bin + .../ft-show-glyphs-table.image16.ref.png | Bin + .../ft-show-glyphs-table.ps2.ref.png | Bin + .../ft-show-glyphs-table.ps3.ref.png | Bin + .../ft-show-glyphs-table.quartz.xfail.png | Bin + test/{ => reference}/ft-show-glyphs-table.ref.png | Bin + .../ft-show-glyphs-table.svg.ref.png | Bin + .../ft-text-antialias-none.base.argb32.ref.png | Bin + .../ft-text-antialias-none.base.rgb24.ref.png | Bin + .../ft-text-antialias-none.ps2.argb32.ref.png | Bin + .../ft-text-antialias-none.ps3.argb32.ref.png | Bin + .../{ => reference}/ft-text-antialias-none.ref.png | Bin + ...-text-vertical-layout-type1.base.argb32.ref.png | Bin + ...t-text-vertical-layout-type1.base.rgb24.ref.png | Bin + .../ft-text-vertical-layout-type1.image16.ref.png | Bin + .../ft-text-vertical-layout-type1.pdf.ref.png | Bin + .../ft-text-vertical-layout-type1.ps.ref.png | Bin + .../ft-text-vertical-layout-type1.quartz.xfail.png | Bin + .../ft-text-vertical-layout-type1.ref.png | Bin + .../ft-text-vertical-layout-type1.svg.ref.png | Bin + .../ft-text-vertical-layout-type1.xlib.ref.png | Bin + ...-text-vertical-layout-type3.base.argb32.ref.png | Bin + ...t-text-vertical-layout-type3.base.rgb24.ref.png | Bin + .../ft-text-vertical-layout-type3.image16.ref.png | Bin + .../ft-text-vertical-layout-type3.pdf.ref.png | Bin + .../ft-text-vertical-layout-type3.ps.ref.png | Bin + .../ft-text-vertical-layout-type3.quartz.ref.png | Bin + .../ft-text-vertical-layout-type3.ref.png | Bin + .../ft-text-vertical-layout-type3.svg.ref.png | Bin + .../ft-text-vertical-layout-type3.xlib.ref.png | Bin + .../get-group-target.base.argb32.ref.png | Bin + .../get-group-target.base.rgb24.ref.png | Bin + test/{ => reference}/get-group-target.ref.png | Bin + .../gl-surface-source.argb32.ref.png | Bin + .../gl-surface-source.image16.ref.png | Bin + .../gl-surface-source.rgb24.ref.png | Bin + .../glyph-cache-pressure.base.argb32.ref.png | Bin + .../glyph-cache-pressure.base.rgb24.ref.png | Bin + .../glyph-cache-pressure.image16.ref.png | Bin + .../glyph-cache-pressure.ps2.ref.png | Bin + .../glyph-cache-pressure.ps3.ref.png | Bin + .../glyph-cache-pressure.quartz.ref.png | Bin + test/{ => reference}/glyph-cache-pressure.ref.png | Bin + .../gradient-alpha.base.argb32.ref.png | Bin + .../gradient-alpha.base.rgb24.ref.png | Bin + .../gradient-alpha.ps2.argb32.ref.png | Bin + .../gradient-alpha.ps2.rgb24.ref.png | Bin + .../gradient-alpha.ps3.argb32.ref.png | Bin + .../gradient-alpha.ps3.rgb24.ref.png | Bin + test/{ => reference}/gradient-alpha.ref.png | Bin + test/{ => reference}/gradient-alpha.rgb24.ref.png | Bin + .../gradient-constant-alpha.base.argb32.ref.png | Bin + .../gradient-constant-alpha.base.rgb24.ref.png | Bin + .../gradient-constant-alpha.ps3.ref.png | Bin + .../gradient-constant-alpha.ps3.rgb24.ref.png | Bin + .../gradient-constant-alpha.quartz.argb32.ref.png | Bin + .../gradient-constant-alpha.ref.png | Bin + .../gradient-constant-alpha.rgb24.ref.png | Bin + .../gradient-zero-stops-mask.argb32.ref.png | Bin + .../gradient-zero-stops-mask.base.argb32.ref.png | Bin + .../gradient-zero-stops-mask.base.rgb24.ref.png | Bin + .../gradient-zero-stops-mask.rgb24.ref.png | Bin + .../gradient-zero-stops.base.argb32.ref.png | Bin + .../gradient-zero-stops.base.rgb24.ref.png | Bin + test/{ => reference}/gradient-zero-stops.ref.png | Bin + .../gradient-zero-stops.rgb24.ref.png | Bin + .../{ => reference}/group-clip.base.argb32.ref.png | Bin + test/{ => reference}/group-clip.base.rgb24.ref.png | Bin + test/{ => reference}/group-clip.image16.ref.png | Bin + test/{ => reference}/group-clip.ref.png | Bin + .../group-paint.base.argb32.ref.png | Bin + .../{ => reference}/group-paint.base.rgb24.ref.png | Bin + test/{ => reference}/group-paint.ref.png | Bin + .../group-unaligned.base.argb32.ref.png | Bin + .../group-unaligned.base.rgb24.ref.png | Bin + .../group-unaligned.image16.ref.png | Bin + test/{ => reference}/group-unaligned.ps.ref.png | Bin + .../group-unaligned.ps.rgb24.xfail.png | Bin + .../{ => reference}/group-unaligned.quartz.ref.png | Bin + test/{ => reference}/group-unaligned.ref.png | Bin + .../group-unaligned.svg.argb32.xfail.png | Bin + .../group-unaligned.svg.rgb24.xfail.png | Bin + .../group-unaligned.xlib-fallback.ref.png | Bin + test/{ => reference}/group-unaligned.xlib.ref.png | Bin + .../halo-transform.base.argb32.ref.png | Bin + .../halo-transform.base.rgb24.ref.png | Bin + .../{ => reference}/halo-transform.image16.ref.png | Bin + test/{ => reference}/halo-transform.ps.ref.png | Bin + test/{ => reference}/halo-transform.quartz.ref.png | Bin + test/{ => reference}/halo-transform.ref.png | Bin + test/{ => reference}/halo-transform.xlib.ref.png | Bin + test/{ => reference}/halo.base.argb32.ref.png | Bin + test/{ => reference}/halo.base.rgb24.ref.png | Bin + test/{ => reference}/halo.image16.ref.png | Bin + test/{ => reference}/halo.ps.ref.png | Bin + test/{ => reference}/halo.quartz.ref.png | Bin + test/{ => reference}/halo.ref.png | Bin + test/{ => reference}/halo.xlib.ref.png | Bin + test/{ => reference}/hatchings.base.argb32.ref.png | Bin + test/{ => reference}/hatchings.base.rgb24.ref.png | Bin + test/{ => reference}/hatchings.ref.png | Bin + test/{ => reference}/hatchings.xlib.ref.png | Bin + .../horizontal-clip.base.argb32.ref.png | Bin + .../horizontal-clip.base.rgb24.ref.png | Bin + test/{ => reference}/horizontal-clip.ref.png | Bin + .../huge-linear.base.argb32.ref.png | Bin + .../{ => reference}/huge-linear.base.rgb24.ref.png | Bin + test/{ => reference}/huge-linear.image16.ref.png | Bin + test/{ => reference}/huge-linear.pdf.ref.png | Bin + test/{ => reference}/huge-linear.ps3.ref.png | Bin + test/{ => reference}/huge-linear.quartz.ref.png | Bin + test/{ => reference}/huge-linear.ref.png | Bin + .../huge-radial.base.argb32.ref.png | Bin + .../{ => reference}/huge-radial.base.rgb24.ref.png | Bin + test/{ => reference}/huge-radial.image16.ref.png | Bin + .../{ => reference}/huge-radial.pdf.argb32.ref.png | Bin + test/{ => reference}/huge-radial.pdf.rgb24.ref.png | Bin + test/{ => reference}/huge-radial.ps3.ref.png | Bin + test/{ => reference}/huge-radial.quartz.ref.png | Bin + test/{ => reference}/huge-radial.ref.png | Bin + .../image-bug-710072-aligned.base.argb32.ref.png | Bin + .../image-bug-710072-aligned.base.rgb24.ref.png | Bin + .../image-bug-710072-aligned.ref.png | Bin + .../image-bug-710072-unaligned.base.argb32.ref.png | Bin + .../image-bug-710072-unaligned.base.rgb24.ref.png | Bin + .../image-bug-710072-unaligned.ref.png | Bin + .../image-bug-710072-unaligned.xlib.ref.png | Bin + .../image-surface-source.argb32.ref.png | Bin + .../image-surface-source.base.argb32.ref.png | Bin + .../image-surface-source.base.rgb24.ref.png | Bin + .../image-surface-source.image16.ref.png | Bin + .../image-surface-source.ps2.ref.png | Bin + .../image-surface-source.ps3.ref.png | Bin + .../image-surface-source.rgb24.ref.png | Bin + .../image-surface-source.svg12.argb32.xfail.png | Bin + .../image-surface-source.svg12.rgb24.xfail.png | Bin + .../implicit-close.base.argb32.ref.png | Bin + .../implicit-close.base.rgb24.ref.png | Bin + test/{ => reference}/implicit-close.ps.ref.png | Bin + test/{ => reference}/implicit-close.ref.png | Bin + .../infinite-join.base.argb32.ref.png | Bin + .../infinite-join.base.rgb24.ref.png | Bin + test/{ => reference}/infinite-join.ps2.ref.png | Bin + test/{ => reference}/infinite-join.ps3.ref.png | Bin + test/{ => reference}/infinite-join.ref.png | Bin + .../inverse-text.base.argb32.ref.png | Bin + .../inverse-text.base.rgb24.ref.png | Bin + test/{ => reference}/inverse-text.image16.ref.png | Bin + test/{ => reference}/inverse-text.ps.ref.png | Bin + test/{ => reference}/inverse-text.quartz.ref.png | Bin + test/{ => reference}/inverse-text.ref.png | Bin + .../{ => reference}/joins-loop.base.argb32.ref.png | Bin + test/{ => reference}/joins-loop.base.rgb24.ref.png | Bin + test/{ => reference}/joins-loop.ref.png | Bin + .../joins-retrace.base.argb32.ref.png | Bin + .../joins-retrace.base.rgb24.ref.png | Bin + test/{ => reference}/joins-retrace.ref.png | Bin + .../{ => reference}/joins-star.base.argb32.ref.png | Bin + test/{ => reference}/joins-star.base.rgb24.ref.png | Bin + test/{ => reference}/joins-star.ref.png | Bin + test/{ => reference}/joins.base.argb32.ref.png | Bin + test/{ => reference}/joins.base.rgb24.ref.png | Bin + test/{ => reference}/joins.image16.ref.png | Bin + test/{ => reference}/joins.ps.ref.png | Bin + test/{ => reference}/joins.quartz.ref.png | Bin + test/{ => reference}/joins.ref.png | Bin + .../{ => reference}/large-clip.base.argb32.ref.png | Bin + test/{ => reference}/large-clip.base.rgb24.ref.png | Bin + test/{ => reference}/large-clip.ref.png | Bin + .../{ => reference}/large-font.base.argb32.ref.png | Bin + test/{ => reference}/large-font.base.rgb24.ref.png | Bin + test/{ => reference}/large-font.image16.ref.png | Bin + test/{ => reference}/large-font.ref.png | Bin + .../large-source-roi.base.argb32.ref.png | Bin + .../large-source-roi.base.rgb24.ref.png | Bin + test/{ => reference}/large-source-roi.ref.png | Bin + .../large-source.base.argb32.ref.png | Bin + .../large-source.base.rgb24.ref.png | Bin + test/{ => reference}/large-source.ref.png | Bin + .../large-twin-antialias-mixed.base.argb32.ref.png | Bin + .../large-twin-antialias-mixed.base.rgb24.ref.png | Bin + .../large-twin-antialias-mixed.image16.ref.png | Bin + .../large-twin-antialias-mixed.ref.png | Bin + .../large-twin-antialias-mixed.xlib.ref.png | Bin + .../{ => reference}/leaky-dash.base.argb32.ref.png | Bin + test/{ => reference}/leaky-dash.base.rgb24.ref.png | Bin + test/{ => reference}/leaky-dash.ps2.argb32.ref.png | Bin + test/{ => reference}/leaky-dash.ps2.rgb24.ref.png | Bin + test/{ => reference}/leaky-dash.ps3.argb32.ref.png | Bin + test/{ => reference}/leaky-dash.ps3.rgb24.ref.png | Bin + test/{ => reference}/leaky-dash.quartz.ref.png | Bin + test/{ => reference}/leaky-dash.ref.png | Bin + .../leaky-dashed-rectangle.base.argb32.ref.png | Bin + .../leaky-dashed-rectangle.base.rgb24.ref.png | Bin + .../leaky-dashed-rectangle.image16.ref.png | Bin + .../leaky-dashed-rectangle.pdf.ref.png | Bin + .../leaky-dashed-rectangle.ps.ref.png | Bin + .../leaky-dashed-rectangle.quartz.ref.png | Bin + .../{ => reference}/leaky-dashed-rectangle.ref.png | Bin + .../leaky-dashed-rectangle.xlib.ref.png | Bin + .../leaky-dashed-stroke.base.argb32.ref.png | Bin + .../leaky-dashed-stroke.base.rgb24.ref.png | Bin + .../leaky-dashed-stroke.image16.ref.png | Bin + .../{ => reference}/leaky-dashed-stroke.ps.ref.png | Bin + .../leaky-dashed-stroke.quartz.ref.png | Bin + test/{ => reference}/leaky-dashed-stroke.ref.png | Bin + .../leaky-dashed-stroke.xlib.ref.png | Bin + .../leaky-polygon.base.argb32.ref.png | Bin + .../leaky-polygon.base.rgb24.ref.png | Bin + test/{ => reference}/leaky-polygon.image16.ref.png | Bin + test/{ => reference}/leaky-polygon.ps.ref.png | Bin + test/{ => reference}/leaky-polygon.ref.png | Bin + .../line-width-overlap-dashed.base.argb32.ref.png | Bin + .../line-width-overlap-dashed.base.rgb24.ref.png | Bin + .../line-width-overlap-flipped.base.argb32.ref.png | Bin + .../line-width-overlap-flipped.base.rgb24.ref.png | Bin + .../line-width-overlap-flipped.ref.png | Bin + .../line-width-overlap-flopped.base.argb32.ref.png | Bin + .../line-width-overlap-flopped.base.rgb24.ref.png | Bin + .../line-width-overlap-flopped.ref.png | Bin + .../line-width-overlap-offset.base.argb32.ref.png | Bin + .../line-width-overlap-offset.base.rgb24.ref.png | Bin + .../line-width-overlap-offset.ref.png | Bin + .../line-width-overlap-rotated.base.argb32.ref.png | Bin + .../line-width-overlap-rotated.base.rgb24.ref.png | Bin + .../line-width-overlap-rotated.ref.png | Bin + .../line-width-overlap.base.argb32.ref.png | Bin + .../line-width-overlap.base.rgb24.ref.png | Bin + test/{ => reference}/line-width-overlap.ref.png | Bin + .../line-width-scale.base.argb32.ref.png | Bin + .../line-width-scale.base.rgb24.ref.png | Bin + .../line-width-scale.image16.ref.png | Bin + test/{ => reference}/line-width-scale.ps2.ref.png | Bin + test/{ => reference}/line-width-scale.ps3.ref.png | Bin + .../line-width-scale.quartz.ref.png | Bin + test/{ => reference}/line-width-scale.ref.png | Bin + .../line-width-tolerance.base.argb32.ref.png | Bin + .../line-width-tolerance.base.rgb24.ref.png | Bin + test/{ => reference}/line-width-tolerance.ref.png | Bin + .../{ => reference}/line-width.base.argb32.ref.png | Bin + test/{ => reference}/line-width.base.rgb24.ref.png | Bin + test/{ => reference}/line-width.ref.png | Bin + .../linear-gradient-extend.base.argb32.ref.png | Bin + .../linear-gradient-extend.base.rgb24.ref.png | Bin + .../{ => reference}/linear-gradient-extend.ref.png | Bin + .../linear-gradient-large.base.argb32.ref.png | Bin + .../linear-gradient-large.base.rgb24.ref.png | Bin + .../linear-gradient-large.quartz.ref.png | Bin + test/{ => reference}/linear-gradient-large.ref.png | Bin + .../linear-gradient-one-stop.argb32.ref.png | Bin + .../linear-gradient-one-stop.base.argb32.ref.png | Bin + .../linear-gradient-one-stop.base.rgb24.ref.png | Bin + .../linear-gradient-one-stop.rgb24.ref.png | Bin + .../linear-gradient-reflect.base.argb32.ref.png | Bin + .../linear-gradient-reflect.base.rgb24.ref.png | Bin + .../linear-gradient-reflect.image16.ref.png | Bin + .../linear-gradient-reflect.pdf.argb32.ref.png | Bin + .../linear-gradient-reflect.pdf.rgb24.ref.png | Bin + .../linear-gradient-reflect.ps3.ref.png | Bin + .../linear-gradient-reflect.quartz.ref.png | Bin + .../linear-gradient-reflect.ref.png | Bin + .../linear-gradient-subset.base.argb32.ref.png | Bin + .../linear-gradient-subset.base.rgb24.ref.png | Bin + .../linear-gradient-subset.image16.ref.png | Bin + .../linear-gradient-subset.ps3.ref.png | Bin + .../linear-gradient-subset.quartz.ref.png | Bin + .../{ => reference}/linear-gradient-subset.ref.png | Bin + .../linear-gradient-subset.xlib.ref.png | Bin + .../linear-gradient.base.argb32.ref.png | Bin + .../linear-gradient.base.rgb24.ref.png | Bin + .../linear-gradient.image16.ref.png | Bin + test/{ => reference}/linear-gradient.ps3.ref.png | Bin + .../{ => reference}/linear-gradient.quartz.ref.png | Bin + test/{ => reference}/linear-gradient.ref.png | Bin + test/{ => reference}/linear-gradient.xlib.ref.png | Bin + .../linear-step-function.base.argb32.ref.png | Bin + .../linear-step-function.base.rgb24.ref.png | Bin + .../{ => reference}/linear-step-function.xfail.png | Bin + .../linear-uniform.base.argb32.ref.png | Bin + .../linear-uniform.base.rgb24.ref.png | Bin + .../{ => reference}/linear-uniform.image16.ref.png | Bin + test/{ => reference}/linear-uniform.ref.png | Bin + .../long-dashed-lines.base.argb32.ref.png | Bin + .../long-dashed-lines.base.rgb24.ref.png | Bin + .../long-dashed-lines.image16.ref.png | Bin + test/{ => reference}/long-dashed-lines.ps2.ref.png | Bin + test/{ => reference}/long-dashed-lines.ps3.ref.png | Bin + .../long-dashed-lines.quartz.ref.png | Bin + test/{ => reference}/long-dashed-lines.ref.png | Bin + .../{ => reference}/long-lines.base.argb32.ref.png | Bin + test/{ => reference}/long-lines.base.rgb24.ref.png | Bin + .../map-all-to-image.base.argb32.ref.png | Bin + .../map-all-to-image.base.rgb24.ref.png | Bin + test/{ => reference}/map-all-to-image.ref.png | Bin + .../map-bit-to-image.base.argb32.ref.png | Bin + .../map-bit-to-image.base.rgb24.ref.png | Bin + test/{ => reference}/map-bit-to-image.ref.png | Bin + .../map-to-image-fill.base.argb32.ref.png | Bin + .../map-to-image-fill.base.rgb24.ref.png | Bin + test/{ => reference}/map-to-image-fill.ref.png | Bin + test/{ => reference}/mask-alpha.argb32.ref.png | Bin + .../{ => reference}/mask-alpha.base.argb32.ref.png | Bin + test/{ => reference}/mask-alpha.base.rgb24.ref.png | Bin + test/{ => reference}/mask-alpha.image16.ref.png | Bin + .../mask-alpha.quartz.argb32.ref.png | Bin + test/{ => reference}/mask-alpha.rgb24.ref.png | Bin + .../{ => reference}/mask-alpha.svg.rgb24.xfail.png | Bin + test/{ => reference}/mask-alpha.xlib.ref.png | Bin + test/{ => reference}/mask-alpha.xlib.rgb24.ref.png | Bin + test/{ => reference}/mask-ctm.base.argb32.ref.png | Bin + test/{ => reference}/mask-ctm.base.rgb24.ref.png | Bin + test/{ => reference}/mask-ctm.ref.png | Bin + test/{ => reference}/mask-ctm.rgb24.ref.png | Bin + test/{ => reference}/mask-glyphs.gl.ref.png | Bin + test/{ => reference}/mask-glyphs.image16.ref.png | Bin + test/{ => reference}/mask-glyphs.pdf.ref.png | Bin + test/{ => reference}/mask-glyphs.ref.png | Bin + test/{ => reference}/mask-glyphs.svg.ref.png | Bin + .../mask-surface-ctm.base.argb32.ref.png | Bin + .../mask-surface-ctm.base.rgb24.ref.png | Bin + test/{ => reference}/mask-surface-ctm.ref.png | Bin + .../{ => reference}/mask-surface-ctm.rgb24.ref.png | Bin + .../mask-transformed-image.base.argb32.ref.png | Bin + .../mask-transformed-image.base.rgb24.ref.png | Bin + .../mask-transformed-image.image16.ref.png | Bin + .../mask-transformed-image.pdf.ref.png | Bin + .../mask-transformed-image.quartz.ref.png | Bin + .../{ => reference}/mask-transformed-image.ref.png | Bin + .../mask-transformed-similar.base.argb32.ref.png | Bin + .../mask-transformed-similar.base.rgb24.ref.png | Bin + .../mask-transformed-similar.image16.ref.png | Bin + .../mask-transformed-similar.pdf.ref.png | Bin + .../mask-transformed-similar.quartz.ref.png | Bin + .../mask-transformed-similar.ref.png | Bin + .../mask-transformed-similar.svg.ref.png | Bin + test/{ => reference}/mask.argb32.ref.png | Bin + test/{ => reference}/mask.base.argb32.ref.png | Bin + test/{ => reference}/mask.base.rgb24.ref.png | Bin + test/{ => reference}/mask.image16.ref.png | Bin + test/{ => reference}/mask.pdf.argb32.ref.png | Bin + test/{ => reference}/mask.pdf.rgb24.ref.png | Bin + test/{ => reference}/mask.quartz.argb32.ref.png | Bin + test/{ => reference}/mask.quartz.rgb24.ref.png | Bin + test/{ => reference}/mask.rgb24.ref.png | Bin + test/{ => reference}/mask.svg.argb32.xfail.png | Bin + test/{ => reference}/mask.svg.rgb24.xfail.png | Bin + test/{ => reference}/mask.xlib.ref.png | Bin + test/{ => reference}/mask.xlib.rgb24.ref.png | Bin + .../mesh-pattern-accuracy.base.argb32.ref.png | Bin + .../mesh-pattern-accuracy.base.rgb24.ref.png | Bin + .../mesh-pattern-accuracy.image16.ref.png | Bin + test/{ => reference}/mesh-pattern-accuracy.ref.png | Bin + .../mesh-pattern-conical.base.argb32.ref.png | Bin + .../mesh-pattern-conical.base.rgb24.ref.png | Bin + .../mesh-pattern-conical.image16.ref.png | Bin + test/{ => reference}/mesh-pattern-conical.ref.png | Bin + ...mesh-pattern-control-points.base.argb32.ref.png | Bin + .../mesh-pattern-control-points.base.rgb24.ref.png | Bin + .../mesh-pattern-control-points.image16.ref.png | Bin + .../mesh-pattern-control-points.ref.png | Bin + .../mesh-pattern-fold.base.argb32.ref.png | Bin + .../mesh-pattern-fold.base.rgb24.ref.png | Bin + .../mesh-pattern-fold.image16.ref.png | Bin + test/{ => reference}/mesh-pattern-fold.ref.png | Bin + .../mesh-pattern-overlap.base.argb32.ref.png | Bin + .../mesh-pattern-overlap.base.rgb24.ref.png | Bin + .../mesh-pattern-overlap.image16.ref.png | Bin + test/{ => reference}/mesh-pattern-overlap.ref.png | Bin + .../mesh-pattern-transformed.base.argb32.ref.png | Bin + .../mesh-pattern-transformed.base.rgb24.ref.png | Bin + .../mesh-pattern-transformed.image16.ref.png | Bin + .../mesh-pattern-transformed.ref.png | Bin + .../mesh-pattern.base.argb32.ref.png | Bin + .../mesh-pattern.base.rgb24.ref.png | Bin + test/{ => reference}/mesh-pattern.image16.ref.png | Bin + test/{ => reference}/mesh-pattern.ref.png | Bin + test/{ => reference}/mime-data.base.argb32.ref.png | Bin + test/{ => reference}/mime-data.base.rgb24.ref.png | Bin + test/{ => reference}/mime-data.pdf.ref.png | Bin + test/{ => reference}/mime-data.ps.ref.png | Bin + test/{ => reference}/mime-data.ref.png | Bin + test/{ => reference}/mime-data.script.ref.png | Bin + test/{ => reference}/mime-data.svg.ref.png | Bin + .../mime-surface.base.argb32.ref.png | Bin + .../mime-surface.base.rgb24.ref.png | Bin + test/{ => reference}/mime-surface.ref.png | Bin + .../miter-precision.base.argb32.ref.png | Bin + .../miter-precision.base.rgb24.ref.png | Bin + test/{ => reference}/miter-precision.ps2.ref.png | Bin + test/{ => reference}/miter-precision.ps3.ref.png | Bin + test/{ => reference}/miter-precision.ref.png | Bin + .../move-to-show-surface.base.argb32.ref.png | Bin + .../move-to-show-surface.base.rgb24.ref.png | Bin + test/{ => reference}/move-to-show-surface.ref.png | Bin + test/{ => reference}/new-sub-path.argb32.ref.png | Bin + .../new-sub-path.base.argb32.ref.png | Bin + .../new-sub-path.base.rgb24.ref.png | Bin + .../new-sub-path.pdf.argb32.ref.png | Bin + .../new-sub-path.ps2.argb32.ref.png | Bin + .../{ => reference}/new-sub-path.ps2.rgb24.ref.png | Bin + .../new-sub-path.ps3.argb32.ref.png | Bin + .../{ => reference}/new-sub-path.ps3.rgb24.ref.png | Bin + test/{ => reference}/new-sub-path.quartz.ref.png | Bin + test/{ => reference}/new-sub-path.rgb24.ref.png | Bin + .../nil-surface.base.argb32.ref.png | Bin + .../{ => reference}/nil-surface.base.rgb24.ref.png | Bin + test/{ => reference}/nil-surface.ref.png | Bin + test/{ => reference}/nil-surface.rgb24.ref.png | Bin + .../operator-alpha-alpha.base.argb32.ref.png | Bin + .../operator-alpha-alpha.base.rgb24.ref.png | Bin + .../operator-alpha-alpha.image16.ref.png | Bin + .../operator-alpha-alpha.pdf.xfail.png | Bin + .../operator-alpha-alpha.ps.xfail.png | Bin + test/{ => reference}/operator-alpha-alpha.ref.png | Bin + .../operator-alpha-alpha.svg.xfail.png | Bin + .../operator-alpha.base.argb32.ref.png | Bin + .../operator-alpha.base.rgb24.ref.png | Bin + test/{ => reference}/operator-alpha.ref.png | Bin + test/{ => reference}/operator-alpha.rgb24.ref.png | Bin + .../operator-alpha.svg12.argb32.xfail.png | Bin + .../operator-alpha.svg12.rgb24.xfail.png | Bin + test/{ => reference}/operator-clear.argb32.ref.png | Bin + .../operator-clear.base.argb32.ref.png | Bin + .../operator-clear.base.rgb24.ref.png | Bin + .../operator-clear.ps2.argb32.ref.png | Bin + .../operator-clear.ps3.argb32.ref.png | Bin + .../operator-clear.quartz.argb32.ref.png | Bin + .../operator-clear.quartz.rgb24.ref.png | Bin + test/{ => reference}/operator-clear.rgb24.ref.png | Bin + .../operator-clear.svg12.argb32.xfail.png | Bin + .../operator-clear.svg12.rgb24.xfail.png | Bin + .../operator-clear.xlib.argb32.ref.png | Bin + .../operator-clear.xlib.rgb24.ref.png | Bin + .../operator-source.base.argb32.ref.png | Bin + .../operator-source.base.rgb24.ref.png | Bin + .../operator-source.image16.ref.png | Bin + test/{ => reference}/operator-source.ref.png | Bin + test/{ => reference}/operator-source.rgb24.ref.png | Bin + .../operator-source.xlib-fallback.ref.png | Bin + test/{ => reference}/operator-source.xlib.ref.png | Bin + .../operator-source.xlib.rgb24.ref.png | Bin + test/{ => reference}/operator.base.argb32.ref.png | Bin + test/{ => reference}/operator.base.rgb24.ref.png | Bin + test/{ => reference}/operator.ref.png | Bin + test/{ => reference}/operator.rgb24.ref.png | Bin + .../operator.svg12.argb32.xfail.png | Bin + .../{ => reference}/operator.svg12.rgb24.xfail.png | Bin + .../over-above-source.base.argb32.ref.png | Bin + .../over-above-source.base.rgb24.ref.png | Bin + .../over-above-source.ps2.argb32.ref.png | Bin + .../over-above-source.ps3.argb32.ref.png | Bin + .../over-above-source.quartz.argb32.ref.png | Bin + .../over-above-source.quartz.rgb24.ref.png | Bin + test/{ => reference}/over-above-source.ref.png | Bin + .../over-above-source.rgb24.ref.png | Bin + .../over-above-source.svg12.rgb24.xfail.png | Bin + .../{ => reference}/over-above-source.xlib.ref.png | Bin + .../over-above-source.xlib.rgb24.ref.png | Bin + .../over-around-source.base.argb32.ref.png | Bin + .../over-around-source.base.rgb24.ref.png | Bin + .../over-around-source.image16.ref.png | Bin + .../over-around-source.pdf.argb32.ref.png | Bin + .../over-around-source.ps2.argb32.ref.png | Bin + .../over-around-source.ps2.rgb24.ref.png | Bin + .../over-around-source.ps3.argb32.ref.png | Bin + .../over-around-source.ps3.rgb24.ref.png | Bin + .../over-around-source.quartz.argb32.ref.png | Bin + test/{ => reference}/over-around-source.ref.png | Bin + .../over-around-source.rgb24.ref.png | Bin + .../over-around-source.svg12.argb32.xfail.png | Bin + .../over-around-source.svg12.rgb24.xfail.png | Bin + .../over-around-source.xlib.ref.png | Bin + .../over-around-source.xlib.rgb24.ref.png | Bin + .../over-below-source.base.argb32.ref.png | Bin + .../over-below-source.base.rgb24.ref.png | Bin + .../over-below-source.pdf.argb32.ref.png | Bin + .../over-below-source.ps2.argb32.ref.png | Bin + .../over-below-source.ps2.rgb24.ref.png | Bin + .../over-below-source.ps3.argb32.ref.png | Bin + .../over-below-source.ps3.rgb24.ref.png | Bin + test/{ => reference}/over-below-source.ref.png | Bin + .../over-below-source.rgb24.ref.png | Bin + .../over-below-source.svg12.argb32.xfail.png | Bin + .../over-below-source.svg12.rgb24.xfail.png | Bin + .../over-between-source.base.argb32.ref.png | Bin + .../over-between-source.base.rgb24.ref.png | Bin + .../over-between-source.ps2.argb32.ref.png | Bin + .../over-between-source.ps3.argb32.ref.png | Bin + .../over-between-source.quartz.argb32.ref.png | Bin + test/{ => reference}/over-between-source.ref.png | Bin + .../over-between-source.rgb24.ref.png | Bin + .../over-between-source.svg12.argb32.xfail.png | Bin + .../over-between-source.svg12.rgb24.xfail.png | Bin + .../over-between-source.xlib.ref.png | Bin + .../over-between-source.xlib.rgb24.ref.png | Bin + .../overlapping-boxes.argb32.ref.png | Bin + .../overlapping-boxes.base.argb32.ref.png | Bin + .../overlapping-boxes.base.rgb24.ref.png | Bin + .../overlapping-boxes.rgb24.ref.png | Bin + .../overlapping-dash-caps.base.argb32.ref.png | Bin + .../overlapping-dash-caps.base.rgb24.ref.png | Bin + test/{ => reference}/overlapping-dash-caps.ref.png | Bin + .../overlapping-glyphs.argb32.ref.png | Bin + .../overlapping-glyphs.base.argb32.ref.png | Bin + .../overlapping-glyphs.base.rgb24.ref.png | Bin + .../overlapping-glyphs.pdf.argb32.xfail.png | Bin + .../overlapping-glyphs.pdf.rgb24.xfail.png | Bin + .../overlapping-glyphs.quartz.argb32.ref.png | Bin + .../overlapping-glyphs.quartz.rgb24.ref.png | Bin + .../overlapping-glyphs.rgb24.ref.png | Bin + .../overlapping-glyphs.svg.argb32.ref.png | Bin + .../overlapping-glyphs.svg.rgb24.ref.png | Bin + .../paint-clip-fill-aa.base.argb32.ref.png | Bin + .../paint-clip-fill-aa.base.rgb24.ref.png | Bin + test/{ => reference}/paint-clip-fill-aa.ref.png | Bin + .../paint-clip-fill-mono.base.argb32.ref.png | Bin + .../paint-clip-fill-mono.base.rgb24.ref.png | Bin + test/{ => reference}/paint-clip-fill-mono.ref.png | Bin + .../paint-repeat.base.argb32.ref.png | Bin + .../paint-repeat.base.rgb24.ref.png | Bin + test/{ => reference}/paint-repeat.ref.png | Bin + .../paint-source-alpha.base.argb32.ref.png | Bin + .../paint-source-alpha.base.rgb24.ref.png | Bin + .../paint-source-alpha.image16.ref.png | Bin + test/{ => reference}/paint-source-alpha.ref.png | Bin + .../{ => reference}/paint-source-alpha.svg.ref.png | Bin + .../paint-with-alpha-clip-mask.base.argb32.ref.png | Bin + .../paint-with-alpha-clip-mask.base.rgb24.ref.png | Bin + .../paint-with-alpha-clip-mask.ref.png | Bin + .../paint-with-alpha-clip.base.argb32.ref.png | Bin + .../paint-with-alpha-clip.base.rgb24.ref.png | Bin + test/{ => reference}/paint-with-alpha-clip.ref.png | Bin + .../paint-with-alpha-clip.xlib.ref.png | Bin + ...paint-with-alpha-solid-clip.base.argb32.ref.png | Bin + .../paint-with-alpha-solid-clip.base.rgb24.ref.png | Bin + .../paint-with-alpha-solid-clip.ref.png | Bin + .../paint-with-alpha.base.argb32.ref.png | Bin + .../paint-with-alpha.base.rgb24.ref.png | Bin + .../paint-with-alpha.image16.ref.png | Bin + test/{ => reference}/paint-with-alpha.ref.png | Bin + test/{ => reference}/paint-with-alpha.svg.ref.png | Bin + test/{ => reference}/paint.base.argb32.ref.png | Bin + test/{ => reference}/paint.base.rgb24.ref.png | Bin + test/{ => reference}/paint.ref.png | Bin + .../partial-clip-text-bottom.base.argb32.ref.png | Bin + .../partial-clip-text-bottom.base.rgb24.ref.png | Bin + .../partial-clip-text-bottom.ref.png | Bin + .../partial-clip-text-left.base.argb32.ref.png | Bin + .../partial-clip-text-left.base.rgb24.ref.png | Bin + .../{ => reference}/partial-clip-text-left.ref.png | Bin + .../partial-clip-text-right.base.argb32.ref.png | Bin + .../partial-clip-text-right.base.rgb24.ref.png | Bin + .../partial-clip-text-right.ref.png | Bin + .../partial-clip-text-top.base.argb32.ref.png | Bin + .../partial-clip-text-top.base.rgb24.ref.png | Bin + .../partial-clip-text-top.ps.ref.png | Bin + .../partial-clip-text-top.quartz.ref.png | Bin + test/{ => reference}/partial-clip-text-top.ref.png | Bin + .../partial-clip-text-top.svg.ref.png | Bin + ...ial-coverage-half-reference.base.argb32.ref.png | Bin + ...tial-coverage-half-reference.base.rgb24.ref.png | Bin + .../partial-coverage-half-reference.ref.png | Bin + .../partial-coverage-half-triangles.ref.png | Bin + .../partial-coverage-intersecting-quads.ref.png | Bin + .../partial-coverage-intersecting-quads.xfail.png | Bin + ...partial-coverage-intersecting-triangles.ref.png | Bin + ...tial-coverage-overlap-half-triangles-eo.ref.png | Bin + ...partial-coverage-overlap-half-triangles.ref.png | Bin + ...overage-overlap-three-quarter-triangles.ref.png | Bin + .../partial-coverage-rectangles.ref.png | Bin + .../partial-coverage-reference.base.argb32.ref.png | Bin + .../partial-coverage-reference.base.rgb24.ref.png | Bin + .../partial-coverage-reference.ref.png | Bin + ...age-three-quarter-reference.base.argb32.ref.png | Bin + ...rage-three-quarter-reference.base.rgb24.ref.png | Bin + ...artial-coverage-three-quarter-reference.ref.png | Bin + .../partial-coverage-triangles.ref.png | Bin + test/{ => reference}/pass-through.ref.png | Bin + test/{ => reference}/pass-through.rgb24.ref.png | Bin + .../path-append.base.argb32.ref.png | Bin + .../{ => reference}/path-append.base.rgb24.ref.png | Bin + test/{ => reference}/path-append.image16.ref.png | Bin + test/{ => reference}/path-append.ps.ref.png | Bin + test/{ => reference}/path-append.quartz.ref.png | Bin + test/{ => reference}/path-append.ref.png | Bin + .../path-append.test-fallback.ref.png | Bin + .../path-append.xlib-fallback.ref.png | Bin + test/{ => reference}/path-append.xlib.ref.png | Bin + .../path-stroke-twice.base.argb32.ref.png | Bin + .../path-stroke-twice.base.rgb24.ref.png | Bin + .../path-stroke-twice.image16.ref.png | Bin + test/{ => reference}/path-stroke-twice.ps.ref.png | Bin + test/{ => reference}/path-stroke-twice.ref.png | Bin + .../pattern-getters.base.argb32.ref.png | Bin + .../pattern-getters.base.rgb24.ref.png | Bin + test/{ => reference}/pattern-getters.ref.png | Bin + .../pdf-surface-source.argb32.ref.png | Bin + .../pdf-surface-source.base.argb32.ref.png | Bin + .../pdf-surface-source.base.rgb24.ref.png | Bin + .../pdf-surface-source.image16.ref.png | Bin + .../pdf-surface-source.rgb24.ref.png | Bin + .../pdf-surface-source.svg12.argb32.xfail.png | Bin + .../pdf-surface-source.svg12.rgb24.xfail.png | Bin + .../pixman-rotate.base.argb32.ref.png | Bin + .../pixman-rotate.base.rgb24.ref.png | Bin + .../pixman-rotate.ps.argb32.ref.png | Bin + test/{ => reference}/pixman-rotate.ref.png | Bin + test/{ => reference}/pixman-rotate.rgb24.ref.png | Bin + test/{ => reference}/ps-eps.ref.png | Bin + .../ps-surface-source.argb32.ref.png | Bin + .../ps-surface-source.base.argb32.ref.png | Bin + .../ps-surface-source.base.rgb24.ref.png | Bin + .../ps-surface-source.image16.ref.png | Bin + .../ps-surface-source.rgb24.ref.png | Bin + .../ps-surface-source.svg12.argb32.xfail.png | Bin + .../ps-surface-source.svg12.rgb24.xfail.png | Bin + .../pthread-same-source.base.argb32.ref.png | Bin + .../pthread-same-source.base.rgb24.ref.png | Bin + .../pthread-same-source.image16.ref.png | Bin + .../pthread-same-source.quartz.xfail.png | Bin + test/{ => reference}/pthread-same-source.ref.png | Bin + .../pthread-show-text.base.argb32.ref.png | Bin + .../pthread-show-text.base.rgb24.ref.png | Bin + .../pthread-show-text.image16.ref.png | Bin + test/{ => reference}/pthread-show-text.pdf.ref.png | Bin + test/{ => reference}/pthread-show-text.ps.ref.png | Bin + .../pthread-show-text.quartz.ref.png | Bin + test/{ => reference}/pthread-show-text.ref.png | Bin + .../pthread-show-text.xlib-fallback.ref.png | Bin + .../pthread-similar.base.argb32.ref.png | Bin + .../pthread-similar.base.rgb24.ref.png | Bin + test/{ => reference}/pthread-similar.ref.png | Bin + .../push-group-color.base.argb32.ref.png | Bin + .../push-group-color.base.rgb24.ref.png | Bin + .../push-group-color.image16.ref.png | Bin + test/{ => reference}/push-group-color.ps2.ref.png | Bin + test/{ => reference}/push-group-color.ps3.ref.png | Bin + .../push-group-color.quartz.ref.png | Bin + test/{ => reference}/push-group-color.ref.png | Bin + test/{ => reference}/push-group-color.xlib.ref.png | Bin + .../push-group-path-offset.base.argb32.ref.png | Bin + .../push-group-path-offset.base.rgb24.ref.png | Bin + .../{ => reference}/push-group-path-offset.ref.png | Bin + .../{ => reference}/push-group.base.argb32.ref.png | Bin + test/{ => reference}/push-group.base.rgb24.ref.png | Bin + test/{ => reference}/push-group.image16.ref.png | Bin + .../push-group.quartz.argb32.ref.png | Bin + .../push-group.quartz.rgb24.ref.png | Bin + test/{ => reference}/push-group.ref.png | Bin + test/{ => reference}/push-group.rgb24.ref.png | Bin + test/{ => reference}/push-group.xlib.ref.png | Bin + test/{ => reference}/push-group.xlib.rgb24.ref.png | Bin + .../quartz-surface-source.argb32.ref.png | Bin + .../quartz-surface-source.ps2.ref.png | Bin + .../quartz-surface-source.ps3.ref.png | Bin + .../quartz-surface-source.rgb24.ref.png | Bin + .../radial-gradient-extend.base.argb32.ref.png | Bin + .../radial-gradient-extend.base.rgb24.ref.png | Bin + .../radial-gradient-extend.ps3.ref.png | Bin + .../{ => reference}/radial-gradient-extend.ref.png | Bin + .../radial-gradient-mask-source.argb32.ref.png | Bin + ...radial-gradient-mask-source.base.argb32.ref.png | Bin + .../radial-gradient-mask-source.base.rgb24.ref.png | Bin + .../radial-gradient-mask-source.image16.ref.png | Bin + ...dial-gradient-mask-source.quartz.argb32.ref.png | Bin + ...adial-gradient-mask-source.quartz.rgb24.ref.png | Bin + .../radial-gradient-mask-source.rgb24.ref.png | Bin + ...radial-gradient-mask-source.xlib.argb32.ref.png | Bin + .../radial-gradient-mask-source.xlib.rgb24.ref.png | Bin + .../radial-gradient-mask.base.argb32.ref.png | Bin + .../radial-gradient-mask.base.rgb24.ref.png | Bin + .../radial-gradient-mask.image16.ref.png | Bin + .../radial-gradient-mask.quartz.ref.png | Bin + test/{ => reference}/radial-gradient-mask.ref.png | Bin + .../radial-gradient-one-stop.base.argb32.ref.png | Bin + .../radial-gradient-one-stop.base.rgb24.ref.png | Bin + .../radial-gradient-one-stop.quartz.ref.png | Bin + .../radial-gradient-one-stop.ref.png | Bin + .../radial-gradient-source.argb32.ref.png | Bin + .../radial-gradient-source.base.argb32.ref.png | Bin + .../radial-gradient-source.base.rgb24.ref.png | Bin + .../radial-gradient-source.image16.ref.png | Bin + .../radial-gradient-source.quartz.argb32.ref.png | Bin + .../radial-gradient-source.quartz.rgb24.ref.png | Bin + .../radial-gradient-source.rgb24.ref.png | Bin + .../radial-gradient.base.argb32.ref.png | Bin + .../radial-gradient.base.rgb24.ref.png | Bin + .../radial-gradient.image16.ref.png | Bin + .../{ => reference}/radial-gradient.quartz.ref.png | Bin + test/{ => reference}/radial-gradient.ref.png | Bin + .../random-clip.base.argb32.ref.png | Bin + .../{ => reference}/random-clip.base.rgb24.ref.png | Bin + test/{ => reference}/random-clip.ref.png | Bin + ...dom-intersections-curves-eo.base.argb32.ref.png | Bin + ...ndom-intersections-curves-eo.base.rgb24.ref.png | Bin + .../random-intersections-curves-eo.image16.ref.png | Bin + .../random-intersections-curves-eo.pdf.ref.png | Bin + .../random-intersections-curves-eo.ps.ref.png | Bin + .../random-intersections-curves-eo.quartz.ref.png | Bin + .../random-intersections-curves-eo.ref.png | Bin + ...m-intersections-curves-eo.xlib-fallback.ref.png | Bin + .../random-intersections-curves-eo.xlib.ref.png | Bin + ...dom-intersections-curves-nz.base.argb32.ref.png | Bin + ...ndom-intersections-curves-nz.base.rgb24.ref.png | Bin + .../random-intersections-curves-nz.image16.ref.png | Bin + .../random-intersections-curves-nz.pdf.ref.png | Bin + .../random-intersections-curves-nz.ps.ref.png | Bin + .../random-intersections-curves-nz.quartz.ref.png | Bin + .../random-intersections-curves-nz.ref.png | Bin + ...m-intersections-curves-nz.xlib-fallback.ref.png | Bin + .../random-intersections-curves-nz.xlib.ref.png | Bin + .../random-intersections-eo.base.argb32.ref.png | Bin + .../random-intersections-eo.base.rgb24.ref.png | Bin + .../random-intersections-eo.image16.ref.png | Bin + .../random-intersections-eo.ps.ref.png | Bin + .../random-intersections-eo.quartz.ref.png | Bin + .../random-intersections-eo.ref.png | Bin + .../random-intersections-eo.xlib.ref.png | Bin + ...andom-intersections-nonzero.base.argb32.ref.png | Bin + ...random-intersections-nonzero.base.rgb24.ref.png | Bin + .../random-intersections-nonzero.image16.ref.png | Bin + .../random-intersections-nonzero.ps.ref.png | Bin + .../random-intersections-nonzero.quartz.ref.png | Bin + .../random-intersections-nonzero.ref.png | Bin + .../random-intersections-nonzero.xlib.ref.png | Bin + .../record-extend-none-similar.ref.png | Bin + test/{ => reference}/record-extend-none.ref.png | Bin + .../record-extend-pad-similar.ref.png | Bin + test/{ => reference}/record-extend-pad.ref.png | Bin + .../record-extend-reflect-similar.ref.png | Bin + test/{ => reference}/record-extend-reflect.ref.png | Bin + .../record-extend-repeat-similar.ref.png | Bin + test/{ => reference}/record-extend-repeat.ref.png | Bin + test/{ => reference}/record-fill-alpha.ref.png | Bin + test/{ => reference}/record-mesh.ref.png | Bin + .../record-paint-alpha-clip-mask.ref.png | Bin + .../record-paint-alpha-clip.ref.png | Bin + .../record-paint-alpha-solid-clip.ref.png | Bin + test/{ => reference}/record-paint-alpha.ref.png | Bin + test/{ => reference}/record-paint.ref.png | Bin + .../record-select-font-face.ref.png | Bin + .../record-self-intersecting.ref.png | Bin + test/{ => reference}/record-text-transform.ref.png | Bin + .../recording-surface-extend-none.argb32.ref.png | Bin + ...cording-surface-extend-none.base.argb32.ref.png | Bin + ...ecording-surface-extend-none.base.rgb24.ref.png | Bin + .../recording-surface-extend-none.rgb24.ref.png | Bin + .../recording-surface-extend-pad.argb32.ref.png | Bin + ...ecording-surface-extend-pad.base.argb32.ref.png | Bin + ...recording-surface-extend-pad.base.rgb24.ref.png | Bin + .../recording-surface-extend-pad.rgb24.ref.png | Bin + ...recording-surface-extend-reflect.argb32.ref.png | Bin + ...ding-surface-extend-reflect.base.argb32.ref.png | Bin + ...rding-surface-extend-reflect.base.rgb24.ref.png | Bin + .../recording-surface-extend-reflect.rgb24.ref.png | Bin + .../recording-surface-extend-repeat.argb32.ref.png | Bin + ...rding-surface-extend-repeat.base.argb32.ref.png | Bin + ...ording-surface-extend-repeat.base.rgb24.ref.png | Bin + .../recording-surface-extend-repeat.rgb24.ref.png | Bin + .../recording-surface-over.base.argb32.ref.png | Bin + .../recording-surface-over.base.rgb24.ref.png | Bin + .../recording-surface-over.gl.argb32.ref.png | Bin + .../recording-surface-over.image16.ref.png | Bin + .../recording-surface-over.pdf.argb32.ref.png | Bin + .../recording-surface-over.pdf.rgb24.ref.png | Bin + .../recording-surface-over.ps.argb32.ref.png | Bin + .../recording-surface-over.ps.rgb24.ref.png | Bin + .../recording-surface-over.quartz.argb32.ref.png | Bin + .../recording-surface-over.quartz.rgb24.ref.png | Bin + .../{ => reference}/recording-surface-over.ref.png | Bin + .../recording-surface-over.rgb24.ref.png | Bin + .../recording-surface-over.svg.argb32.ref.png | Bin + .../recording-surface-over.svg.rgb24.ref.png | Bin + .../recording-surface-over.xlib.argb32.ref.png | Bin + .../recording-surface-over.xlib.rgb24.ref.png | Bin + .../recording-surface-source.argb32.ref.png | Bin + .../recording-surface-source.base.argb32.ref.png | Bin + .../recording-surface-source.base.rgb24.ref.png | Bin + .../recording-surface-source.rgb24.ref.png | Bin + .../rectangle-rounding-error.base.argb32.ref.png | Bin + .../rectangle-rounding-error.base.rgb24.ref.png | Bin + .../rectangle-rounding-error.ref.png | Bin + .../rectilinear-dash.base.argb32.ref.png | Bin + .../rectilinear-dash.base.rgb24.ref.png | Bin + .../rectilinear-dash.quartz.xfail.png | Bin + test/{ => reference}/rectilinear-dash.ref.png | Bin + .../rectilinear-fill.base.argb32.ref.png | Bin + .../rectilinear-fill.base.rgb24.ref.png | Bin + test/{ => reference}/rectilinear-fill.ref.png | Bin + .../rectilinear-grid.base.argb32.ref.png | Bin + .../rectilinear-grid.base.rgb24.ref.png | Bin + .../rectilinear-grid.image16.ref.png | Bin + test/{ => reference}/rectilinear-grid.ref.png | Bin + .../rectilinear-miter-limit.base.argb32.ref.png | Bin + .../rectilinear-miter-limit.base.rgb24.ref.png | Bin + .../rectilinear-miter-limit.ps2.ref.png | Bin + .../rectilinear-miter-limit.ps3.ref.png | Bin + .../rectilinear-miter-limit.ref.png | Bin + .../rectilinear-stroke.base.argb32.ref.png | Bin + .../rectilinear-stroke.base.rgb24.ref.png | Bin + .../rectilinear-stroke.quartz.xfail.png | Bin + test/{ => reference}/rectilinear-stroke.ref.png | Bin + .../reflected-stroke.base.argb32.ref.png | Bin + .../reflected-stroke.base.rgb24.ref.png | Bin + .../reflected-stroke.image16.ref.png | Bin + test/{ => reference}/reflected-stroke.ps.ref.png | Bin + test/{ => reference}/reflected-stroke.ref.png | Bin + test/{ => reference}/rel-path.base.argb32.ref.png | Bin + test/{ => reference}/rel-path.base.rgb24.ref.png | Bin + test/{ => reference}/rel-path.ps2.rgb24.ref.png | Bin + test/{ => reference}/rel-path.ps3.rgb24.ref.png | Bin + test/{ => reference}/rel-path.ref.png | Bin + test/{ => reference}/rel-path.rgb24.ref.png | Bin + .../rgb24-ignore-alpha.base.argb32.ref.png | Bin + .../rgb24-ignore-alpha.base.rgb24.ref.png | Bin + test/{ => reference}/rgb24-ignore-alpha.ref.png | Bin + ...te-clip-image-surface-paint.base.argb32.ref.png | Bin + ...ate-clip-image-surface-paint.base.rgb24.ref.png | Bin + .../rotate-clip-image-surface-paint.ref.png | Bin + .../rotate-image-surface-paint.base.argb32.ref.png | Bin + .../rotate-image-surface-paint.base.rgb24.ref.png | Bin + .../rotate-image-surface-paint.pdf.xfail.png | Bin + .../rotate-image-surface-paint.ps.ref.png | Bin + .../rotate-image-surface-paint.quartz.ref.png | Bin + .../rotate-image-surface-paint.ref.png | Bin + .../rotate-image-surface-paint.svg.ref.png | Bin + .../rotate-image-surface-paint.svg.xfail.png | Bin + .../rotated-clip.base.argb32.ref.png | Bin + .../rotated-clip.base.rgb24.ref.png | Bin + test/{ => reference}/rotated-clip.image16.ref.png | Bin + test/{ => reference}/rotated-clip.ps.ref.png | Bin + test/{ => reference}/rotated-clip.quartz.ref.png | Bin + test/{ => reference}/rotated-clip.ref.png | Bin + test/{ => reference}/rotated-clip.xlib.ref.png | Bin + .../rounded-rectangle-fill.base.argb32.ref.png | Bin + .../rounded-rectangle-fill.base.rgb24.ref.png | Bin + .../rounded-rectangle-fill.image16.ref.png | Bin + .../rounded-rectangle-fill.ps.ref.png | Bin + .../rounded-rectangle-fill.quartz.ref.png | Bin + .../{ => reference}/rounded-rectangle-fill.ref.png | Bin + .../rounded-rectangle-fill.xlib.ref.png | Bin + .../rounded-rectangle-stroke.base.argb32.ref.png | Bin + .../rounded-rectangle-stroke.base.rgb24.ref.png | Bin + .../rounded-rectangle-stroke.image16.ref.png | Bin + .../rounded-rectangle-stroke.ps.ref.png | Bin + .../rounded-rectangle-stroke.ref.png | Bin + .../rounded-rectangle-stroke.xlib.ref.png | Bin + ...e-down-source-surface-paint.base.argb32.ref.png | Bin + ...le-down-source-surface-paint.base.rgb24.ref.png | Bin + .../scale-down-source-surface-paint.ref.png | Bin + .../scale-offset-image.base.argb32.ref.png | Bin + .../scale-offset-image.base.rgb24.ref.png | Bin + test/{ => reference}/scale-offset-image.gl.ref.png | Bin + .../scale-offset-image.image16.ref.png | Bin + .../scale-offset-image.pdf.argb32.ref.png | Bin + .../scale-offset-image.pdf.rgb24.ref.png | Bin + test/{ => reference}/scale-offset-image.ps.ref.png | Bin + .../scale-offset-image.quartz.ref.png | Bin + test/{ => reference}/scale-offset-image.ref.png | Bin + .../scale-offset-image.script.xfail.png | Bin + test/{ => reference}/scale-offset-image.xfail.png | Bin + .../scale-offset-image.xlib-fallback.xfail.png | Bin + .../scale-offset-image.xlib.ref.png | Bin + .../scale-offset-similar.base.argb32.ref.png | Bin + .../scale-offset-similar.base.rgb24.ref.png | Bin + .../scale-offset-similar.gl.ref.png | Bin + .../scale-offset-similar.image16.ref.png | Bin + .../scale-offset-similar.pdf.argb32.ref.png | Bin + .../scale-offset-similar.pdf.rgb24.ref.png | Bin + .../scale-offset-similar.ps.ref.png | Bin + .../scale-offset-similar.quartz.ref.png | Bin + .../scale-offset-similar.recording.xfail.png | Bin + test/{ => reference}/scale-offset-similar.ref.png | Bin + .../scale-offset-similar.script.xfail.png | Bin + .../{ => reference}/scale-offset-similar.xfail.png | Bin + .../scale-offset-similar.xlib-fallback.xfail.png | Bin + .../scale-offset-similar.xlib.xfail.png | Bin + .../scale-source-surface-paint.base.argb32.ref.png | Bin + .../scale-source-surface-paint.base.rgb24.ref.png | Bin + ...scale-source-surface-paint.pdf.argb32.xfail.png | Bin + .../scale-source-surface-paint.pdf.rgb24.xfail.png | Bin + .../scale-source-surface-paint.ref.png | Bin + .../scale-source-surface-paint.rgb24.ref.png | Bin + ...scale-source-surface-paint.svg.argb32.xfail.png | Bin + .../scale-source-surface-paint.svg.rgb24.xfail.png | Bin + .../select-font-face.base.argb32.ref.png | Bin + .../select-font-face.base.rgb24.ref.png | Bin + .../select-font-face.image16.ref.png | Bin + test/{ => reference}/select-font-face.ps2.ref.png | Bin + test/{ => reference}/select-font-face.ps3.ref.png | Bin + .../select-font-face.quartz.ref.png | Bin + test/{ => reference}/select-font-face.ref.png | Bin + .../self-copy-overlap.base.argb32.ref.png | Bin + .../self-copy-overlap.base.rgb24.ref.png | Bin + test/{ => reference}/self-copy.base.argb32.ref.png | Bin + test/{ => reference}/self-copy.base.rgb24.ref.png | Bin + test/{ => reference}/self-copy.ps2.ref.png | Bin + test/{ => reference}/self-copy.ps3.ref.png | Bin + test/{ => reference}/self-copy.ref.png | Bin + .../self-intersecting.base.argb32.ref.png | Bin + .../self-intersecting.base.rgb24.ref.png | Bin + test/{ => reference}/self-intersecting.ps.ref.png | Bin + .../self-intersecting.quartz.xfail.png | Bin + test/{ => reference}/self-intersecting.ref.png | Bin + .../{ => reference}/self-intersecting.xlib.ref.png | Bin + .../{ => reference}/set-source.base.argb32.ref.png | Bin + test/{ => reference}/set-source.base.rgb24.ref.png | Bin + test/{ => reference}/set-source.ref.png | Bin + test/{ => reference}/set-source.rgb24.ref.png | Bin + .../shape-general-convex.base.argb32.ref.png | Bin + .../shape-general-convex.base.rgb24.ref.png | Bin + test/{ => reference}/shape-general-convex.ref.png | Bin + .../shape-sierpinski.base.argb32.ref.png | Bin + .../shape-sierpinski.base.rgb24.ref.png | Bin + test/{ => reference}/shape-sierpinski.ref.png | Bin + .../show-glyphs-advance.base.argb32.ref.png | Bin + .../show-glyphs-advance.base.rgb24.ref.png | Bin + .../show-glyphs-advance.image16.ref.png | Bin + .../{ => reference}/show-glyphs-advance.ps.ref.png | Bin + .../show-glyphs-advance.quartz.ref.png | Bin + test/{ => reference}/show-glyphs-advance.ref.png | Bin + .../show-glyphs-advance.svg.ref.png | Bin + .../show-glyphs-many.base.argb32.ref.png | Bin + .../show-glyphs-many.base.rgb24.ref.png | Bin + test/{ => reference}/show-glyphs-many.ref.png | Bin + .../show-text-current-point.base.argb32.ref.png | Bin + .../show-text-current-point.base.rgb24.ref.png | Bin + .../show-text-current-point.image16.ref.png | Bin + .../show-text-current-point.ps2.ref.png | Bin + .../show-text-current-point.ps3.ref.png | Bin + .../show-text-current-point.quartz.ref.png | Bin + .../show-text-current-point.ref.png | Bin + .../skew-extreme.base.argb32.ref.png | Bin + .../skew-extreme.base.rgb24.ref.png | Bin + test/{ => reference}/skew-extreme.ps2.ref.png | Bin + test/{ => reference}/skew-extreme.ps3.ref.png | Bin + test/{ => reference}/skew-extreme.ref.png | Bin + .../{ => reference}/smask-fill.base.argb32.ref.png | Bin + test/{ => reference}/smask-fill.base.rgb24.ref.png | Bin + test/{ => reference}/smask-fill.image16.ref.png | Bin + test/{ => reference}/smask-fill.quartz.ref.png | Bin + test/{ => reference}/smask-fill.ref.png | Bin + test/{ => reference}/smask-fill.svg.ref.png | Bin + test/{ => reference}/smask-fill.xlib.ref.png | Bin + .../smask-image-mask.base.argb32.ref.png | Bin + .../smask-image-mask.base.rgb24.ref.png | Bin + test/{ => reference}/smask-image-mask.ref.png | Bin + .../{ => reference}/smask-mask.base.argb32.ref.png | Bin + test/{ => reference}/smask-mask.base.rgb24.ref.png | Bin + test/{ => reference}/smask-mask.image16.ref.png | Bin + test/{ => reference}/smask-mask.pdf.xfail.png | Bin + test/{ => reference}/smask-mask.quartz.ref.png | Bin + test/{ => reference}/smask-mask.ref.png | Bin + test/{ => reference}/smask-mask.svg.ref.png | Bin + .../smask-paint.base.argb32.ref.png | Bin + .../{ => reference}/smask-paint.base.rgb24.ref.png | Bin + test/{ => reference}/smask-paint.image16.ref.png | Bin + test/{ => reference}/smask-paint.pdf.xfail.png | Bin + test/{ => reference}/smask-paint.quartz.ref.png | Bin + test/{ => reference}/smask-paint.ref.png | Bin + test/{ => reference}/smask-paint.svg.ref.png | Bin + .../smask-stroke.base.argb32.ref.png | Bin + .../smask-stroke.base.rgb24.ref.png | Bin + test/{ => reference}/smask-stroke.image16.ref.png | Bin + test/{ => reference}/smask-stroke.pdf.xfail.png | Bin + test/{ => reference}/smask-stroke.quartz.ref.png | Bin + test/{ => reference}/smask-stroke.ref.png | Bin + test/{ => reference}/smask-stroke.xlib.ref.png | Bin + .../{ => reference}/smask-text.base.argb32.ref.png | Bin + test/{ => reference}/smask-text.base.rgb24.ref.png | Bin + test/{ => reference}/smask-text.image16.ref.png | Bin + test/{ => reference}/smask-text.pdf.ref.png | Bin + test/{ => reference}/smask-text.ps2.ref.png | Bin + test/{ => reference}/smask-text.ps3.ref.png | Bin + test/{ => reference}/smask-text.quartz.ref.png | Bin + test/{ => reference}/smask-text.ref.png | Bin + test/{ => reference}/smask-text.script.ref.png | Bin + test/{ => reference}/smask-text.svg.ref.png | Bin + .../smask-text.xlib-fallback.ref.png | Bin + test/{ => reference}/smask-text.xlib.ref.png | Bin + test/{ => reference}/smask.base.argb32.ref.png | Bin + test/{ => reference}/smask.base.rgb24.ref.png | Bin + test/{ => reference}/smask.image16.ref.png | Bin + test/{ => reference}/smask.pdf.xfail.png | Bin + test/{ => reference}/smask.ps.ref.png | Bin + test/{ => reference}/smask.quartz.ref.png | Bin + test/{ => reference}/smask.ref.png | Bin + test/{ => reference}/smask.script.ref.png | Bin + test/{ => reference}/smask.svg.ref.png | Bin + test/{ => reference}/smask.xlib-fallback.ref.png | Bin + test/{ => reference}/smask.xlib.ref.png | Bin + .../solid-pattern-cache-stress.base.argb32.ref.png | Bin + .../solid-pattern-cache-stress.base.rgb24.ref.png | Bin + .../solid-pattern-cache-stress.ref.png | Bin + .../source-clip-scale.base.argb32.ref.png | Bin + .../source-clip-scale.base.rgb24.ref.png | Bin + test/{ => reference}/source-clip-scale.gl.ref.png | Bin + test/{ => reference}/source-clip-scale.pdf.ref.png | Bin + .../source-clip-scale.ps2.argb32.ref.png | Bin + .../source-clip-scale.ps2.rgb24.ref.png | Bin + .../source-clip-scale.ps3.argb32.ref.png | Bin + .../source-clip-scale.ps3.rgb24.ref.png | Bin + .../source-clip-scale.quartz.ref.png | Bin + test/{ => reference}/source-clip-scale.ref.png | Bin + test/{ => reference}/source-clip-scale.svg.ref.png | Bin + .../source-clip.base.argb32.ref.png | Bin + .../{ => reference}/source-clip.base.rgb24.ref.png | Bin + test/{ => reference}/source-clip.ref.png | Bin + .../source-surface-scale-paint.base.argb32.ref.png | Bin + .../source-surface-scale-paint.base.rgb24.ref.png | Bin + .../source-surface-scale-paint.ref.png | Bin + .../source-surface-scale-paint.rgb24.ref.png | Bin + .../spline-decomposition.base.argb32.ref.png | Bin + .../spline-decomposition.base.rgb24.ref.png | Bin + .../spline-decomposition.image16.ref.png | Bin + .../spline-decomposition.pdf.ref.png | Bin + .../spline-decomposition.ps.ref.png | Bin + .../spline-decomposition.quartz.xfail.png | Bin + test/{ => reference}/spline-decomposition.ref.png | Bin + .../spline-decomposition.svg.ref.png | Bin + .../spline-decomposition.xlib.ref.png | Bin + .../stroke-ctm-caps.base.argb32.ref.png | Bin + .../stroke-ctm-caps.base.rgb24.ref.png | Bin + .../stroke-ctm-caps.image16.ref.png | Bin + test/{ => reference}/stroke-ctm-caps.ps2.ref.png | Bin + test/{ => reference}/stroke-ctm-caps.ps3.ref.png | Bin + .../{ => reference}/stroke-ctm-caps.quartz.ref.png | Bin + test/{ => reference}/stroke-ctm-caps.ref.png | Bin + .../stroke-image.base.argb32.ref.png | Bin + .../stroke-image.base.rgb24.ref.png | Bin + test/{ => reference}/stroke-image.image16.ref.png | Bin + test/{ => reference}/stroke-image.pdf.ref.png | Bin + test/{ => reference}/stroke-image.ps.ref.png | Bin + test/{ => reference}/stroke-image.quartz.ref.png | Bin + test/{ => reference}/stroke-image.ref.png | Bin + test/{ => reference}/stroke-image.xlib.ref.png | Bin + .../stroke-open-box.base.argb32.ref.png | Bin + .../stroke-open-box.base.rgb24.ref.png | Bin + test/{ => reference}/stroke-open-box.ref.png | Bin + .../subsurface-image-repeat.base.argb32.ref.png | Bin + .../subsurface-image-repeat.base.rgb24.ref.png | Bin + .../subsurface-image-repeat.image16.ref.png | Bin + .../subsurface-image-repeat.ref.png | Bin + .../subsurface-modify-child.base.argb32.ref.png | Bin + .../subsurface-modify-child.base.rgb24.ref.png | Bin + .../subsurface-modify-child.ref.png | Bin + .../subsurface-modify-parent.base.argb32.ref.png | Bin + .../subsurface-modify-parent.base.rgb24.ref.png | Bin + .../subsurface-modify-parent.ref.png | Bin + .../subsurface-outside-target.argb32.ref.png | Bin + .../subsurface-outside-target.base.argb32.ref.png | Bin + .../subsurface-outside-target.base.rgb24.ref.png | Bin + .../subsurface-outside-target.rgb24.ref.png | Bin + .../subsurface-pad.base.argb32.ref.png | Bin + .../subsurface-pad.base.rgb24.ref.png | Bin + .../subsurface-pad.quartz.xfail.png | Bin + test/{ => reference}/subsurface-pad.ref.png | Bin + .../subsurface-reflect.base.argb32.ref.png | Bin + .../subsurface-reflect.base.rgb24.ref.png | Bin + test/{ => reference}/subsurface-reflect.ref.png | Bin + .../subsurface-repeat.base.argb32.ref.png | Bin + .../subsurface-repeat.base.rgb24.ref.png | Bin + test/{ => reference}/subsurface-repeat.ref.png | Bin + .../subsurface-similar-repeat.base.argb32.ref.png | Bin + .../subsurface-similar-repeat.base.rgb24.ref.png | Bin + .../subsurface-similar-repeat.ref.png | Bin + .../{ => reference}/subsurface.base.argb32.ref.png | Bin + test/{ => reference}/subsurface.base.rgb24.ref.png | Bin + test/{ => reference}/subsurface.image16.ref.png | Bin + test/{ => reference}/subsurface.ps.ref.png | Bin + test/{ => reference}/subsurface.ref.png | Bin + test/{ => reference}/subsurface.xlib.ref.png | Bin + ...face-pattern-big-scale-down.base.argb32.ref.png | Bin + ...rface-pattern-big-scale-down.base.rgb24.ref.png | Bin + .../surface-pattern-big-scale-down.ps.ref.png | Bin + .../surface-pattern-big-scale-down.quartz.ref.png | Bin + .../surface-pattern-big-scale-down.ref.png | Bin + .../surface-pattern-operator.argb32.ref.png | Bin + .../surface-pattern-operator.base.argb32.ref.png | Bin + .../surface-pattern-operator.base.rgb24.ref.png | Bin + .../surface-pattern-operator.image16.ref.png | Bin + .../surface-pattern-operator.pdf.argb32.xfail.png | Bin + .../surface-pattern-operator.pdf.rgb24.xfail.png | Bin + .../surface-pattern-operator.quartz.argb32.ref.png | Bin + .../surface-pattern-operator.quartz.rgb24.ref.png | Bin + .../surface-pattern-operator.rgb24.ref.png | Bin + .../surface-pattern-operator.xlib.argb32.ref.png | Bin + .../surface-pattern-operator.xlib.rgb24.ref.png | Bin + ...tern-scale-down-extend-none.base.argb32.ref.png | Bin + ...ttern-scale-down-extend-none.base.rgb24.ref.png | Bin + ...e-pattern-scale-down-extend-none.quartz.ref.png | Bin + .../surface-pattern-scale-down-extend-none.ref.png | Bin + ...ttern-scale-down-extend-pad.base.argb32.ref.png | Bin + ...attern-scale-down-extend-pad.base.rgb24.ref.png | Bin + ...-pattern-scale-down-extend-pad.quartz.xfail.png | Bin + .../surface-pattern-scale-down-extend-pad.ref.png | Bin + ...n-scale-down-extend-reflect.base.argb32.ref.png | Bin + ...rn-scale-down-extend-reflect.base.rgb24.ref.png | Bin + ...attern-scale-down-extend-reflect.quartz.ref.png | Bin + ...rface-pattern-scale-down-extend-reflect.ref.png | Bin + ...rn-scale-down-extend-repeat.base.argb32.ref.png | Bin + ...ern-scale-down-extend-repeat.base.rgb24.ref.png | Bin + ...pattern-scale-down-extend-repeat.quartz.ref.png | Bin + ...urface-pattern-scale-down-extend-repeat.ref.png | Bin + .../surface-pattern-scale-down.base.argb32.ref.png | Bin + .../surface-pattern-scale-down.base.rgb24.ref.png | Bin + .../surface-pattern-scale-down.image16.ref.png | Bin + .../surface-pattern-scale-down.pdf.ref.png | Bin + .../surface-pattern-scale-down.ps2.ref.png | Bin + .../surface-pattern-scale-down.ps3.ref.png | Bin + .../surface-pattern-scale-down.quartz.ref.png | Bin + .../surface-pattern-scale-down.ref.png | Bin + .../surface-pattern-scale-up.base.argb32.ref.png | Bin + .../surface-pattern-scale-up.base.rgb24.ref.png | Bin + .../surface-pattern-scale-up.image16.ref.png | Bin + .../surface-pattern-scale-up.pdf.ref.png | Bin + .../surface-pattern-scale-up.ps2.ref.png | Bin + .../surface-pattern-scale-up.ps3.ref.png | Bin + .../surface-pattern-scale-up.quartz.xfail.png | Bin + .../surface-pattern-scale-up.ref.png | Bin + .../surface-pattern.base.argb32.ref.png | Bin + .../surface-pattern.base.rgb24.ref.png | Bin + .../surface-pattern.image16.ref.png | Bin + test/{ => reference}/surface-pattern.pdf.xfail.png | Bin + test/{ => reference}/surface-pattern.ps.xfail.png | Bin + .../surface-pattern.quartz.xfail.png | Bin + test/{ => reference}/surface-pattern.ref.png | Bin + test/{ => reference}/surface-pattern.svg.xfail.png | Bin + .../svg-surface-source.argb32.ref.png | Bin + .../svg-surface-source.base.argb32.ref.png | Bin + .../svg-surface-source.base.rgb24.ref.png | Bin + .../svg-surface-source.image16.ref.png | Bin + .../svg-surface-source.rgb24.ref.png | Bin + .../svg-surface-source.svg12.argb32.xfail.png | Bin + .../svg-surface-source.svg12.rgb24.xfail.png | Bin + .../text-antialias-gray.base.argb32.ref.png | Bin + .../text-antialias-gray.base.rgb24.ref.png | Bin + .../text-antialias-gray.image16.ref.png | Bin + .../text-antialias-gray.quartz.ref.png | Bin + test/{ => reference}/text-antialias-gray.ref.png | Bin + .../text-antialias-none.base.argb32.ref.png | Bin + .../text-antialias-none.base.rgb24.ref.png | Bin + .../text-antialias-none.quartz.ref.png | Bin + test/{ => reference}/text-antialias-none.ref.png | Bin + .../text-antialias-subpixel.base.argb32.xfail.png | Bin + .../text-antialias-subpixel.base.rgb24.xfail.png | Bin + .../text-antialias-subpixel.image16.ref.png | Bin + .../text-antialias-subpixel.quartz.ref.png | Bin + .../text-antialias-subpixel.ref.png | Bin + .../text-glyph-range.base.argb32.ref.png | Bin + .../text-glyph-range.base.rgb24.ref.png | Bin + .../text-glyph-range.image16.ref.png | Bin + test/{ => reference}/text-glyph-range.ps.ref.png | Bin + .../text-glyph-range.quartz.ref.png | Bin + test/{ => reference}/text-glyph-range.ref.png | Bin + .../text-pattern.base.argb32.ref.png | Bin + .../text-pattern.base.rgb24.ref.png | Bin + .../text-pattern.pdf.argb32.ref.png | Bin + .../{ => reference}/text-pattern.pdf.rgb24.ref.png | Bin + .../text-pattern.ps2.argb32.ref.png | Bin + .../{ => reference}/text-pattern.ps2.rgb24.ref.png | Bin + .../text-pattern.ps3.argb32.ref.png | Bin + .../{ => reference}/text-pattern.ps3.rgb24.ref.png | Bin + .../text-pattern.quartz.argb32.ref.png | Bin + .../text-pattern.quartz.rgb24.ref.png | Bin + test/{ => reference}/text-pattern.ref.png | Bin + test/{ => reference}/text-pattern.rgb24.ref.png | Bin + .../text-pattern.svg.argb32.ref.png | Bin + .../{ => reference}/text-pattern.svg.rgb24.ref.png | Bin + .../text-rotate.base.argb32.ref.png | Bin + .../{ => reference}/text-rotate.base.rgb24.ref.png | Bin + test/{ => reference}/text-rotate.image16.ref.png | Bin + test/{ => reference}/text-rotate.pdf.ref.png | Bin + test/{ => reference}/text-rotate.ps.ref.png | Bin + test/{ => reference}/text-rotate.quartz.ref.png | Bin + test/{ => reference}/text-rotate.ref.png | Bin + test/{ => reference}/text-rotate.svg.ref.png | Bin + .../text-rotate.xlib-fallback.ref.png | Bin + test/{ => reference}/text-rotate.xlib.ref.png | Bin + .../text-transform.base.argb32.ref.png | Bin + .../text-transform.base.rgb24.ref.png | Bin + .../{ => reference}/text-transform.image16.ref.png | Bin + .../text-transform.pdf.argb32.ref.png | Bin + .../text-transform.pdf.rgb24.ref.png | Bin + test/{ => reference}/text-transform.ps2.ref.png | Bin + test/{ => reference}/text-transform.ps3.ref.png | Bin + test/{ => reference}/text-transform.ref.png | Bin + test/{ => reference}/text-transform.svg.ref.png | Bin + test/{ => reference}/tiger.base.argb32.ref.png | Bin + test/{ => reference}/tiger.base.rgb24.ref.png | Bin + test/{ => reference}/tiger.ref.png | Bin + .../tighten-bounds.base.argb32.ref.png | Bin + .../tighten-bounds.base.rgb24.ref.png | Bin + test/{ => reference}/tighten-bounds.ref.png | Bin + .../{ => reference}/transforms.base.argb32.ref.png | Bin + test/{ => reference}/transforms.base.rgb24.ref.png | Bin + test/{ => reference}/transforms.image16.ref.png | Bin + test/{ => reference}/transforms.ps2.ref.png | Bin + test/{ => reference}/transforms.ps3.ref.png | Bin + test/{ => reference}/transforms.ref.png | Bin + .../translate-show-surface.base.argb32.ref.png | Bin + .../translate-show-surface.base.rgb24.ref.png | Bin + .../{ => reference}/translate-show-surface.ref.png | Bin + test/{ => reference}/trap-clip.base.argb32.ref.png | Bin + test/{ => reference}/trap-clip.base.rgb24.ref.png | Bin + test/{ => reference}/trap-clip.image16.ref.png | Bin + test/{ => reference}/trap-clip.ps2.argb32.ref.png | Bin + test/{ => reference}/trap-clip.ps2.rgb24.ref.png | Bin + test/{ => reference}/trap-clip.ps3.argb32.ref.png | Bin + test/{ => reference}/trap-clip.ps3.rgb24.ref.png | Bin + .../trap-clip.quartz.argb32.ref.png | Bin + .../{ => reference}/trap-clip.quartz.rgb24.ref.png | Bin + test/{ => reference}/trap-clip.ref.png | Bin + test/{ => reference}/trap-clip.rgb24.ref.png | Bin + .../trap-clip.test-paginated.argb32.ref.png | Bin + test/{ => reference}/trap-clip.xlib.ref.png | Bin + test/{ => reference}/trap-clip.xlib.rgb24.ref.png | Bin + .../twin-antialias-gray.base.argb32.ref.png | Bin + .../twin-antialias-gray.base.rgb24.ref.png | Bin + .../twin-antialias-gray.image16.ref.png | Bin + test/{ => reference}/twin-antialias-gray.ref.png | Bin + .../twin-antialias-gray.xlib.ref.png | Bin + .../twin-antialias-mixed.base.argb32.ref.png | Bin + .../twin-antialias-mixed.base.rgb24.ref.png | Bin + .../twin-antialias-mixed.image16.ref.png | Bin + test/{ => reference}/twin-antialias-mixed.ref.png | Bin + .../twin-antialias-mixed.xlib.ref.png | Bin + .../twin-antialias-none.base.argb32.ref.png | Bin + .../twin-antialias-none.base.rgb24.ref.png | Bin + test/{ => reference}/twin-antialias-none.ref.png | Bin + .../twin-antialias-none.xlib.ref.png | Bin + .../twin-antialias-subpixel.base.argb32.ref.png | Bin + .../twin-antialias-subpixel.base.rgb24.ref.png | Bin + .../twin-antialias-subpixel.image16.ref.png | Bin + .../twin-antialias-subpixel.ref.png | Bin + .../twin-antialias-subpixel.xlib.ref.png | Bin + test/{ => reference}/twin.base.argb32.ref.png | Bin + test/{ => reference}/twin.base.rgb24.ref.png | Bin + test/{ => reference}/twin.image16.ref.png | Bin + test/{ => reference}/twin.ps.ref.png | Bin + test/{ => reference}/twin.ref.png | Bin + test/{ => reference}/twin.svg.ref.png | Bin + test/{ => reference}/twin.xlib.ref.png | Bin + .../unaligned-box.base.argb32.ref.png | Bin + .../unaligned-box.base.rgb24.ref.png | Bin + test/{ => reference}/unaligned-box.ref.png | Bin + .../unantialiased-shapes.base.argb32.ref.png | Bin + .../unantialiased-shapes.base.rgb24.ref.png | Bin + .../unantialiased-shapes.quartz.ref.png | Bin + test/{ => reference}/unantialiased-shapes.ref.png | Bin + .../unbounded-operator.base.argb32.ref.png | Bin + .../unbounded-operator.base.rgb24.ref.png | Bin + .../unbounded-operator.gl.argb32.xfail.png | Bin + .../unbounded-operator.gl.rgb24.xfail.png | Bin + .../unbounded-operator.image16.ref.png | Bin + .../unbounded-operator.pdf.argb32.ref.png | Bin + .../unbounded-operator.ps2.argb32.ref.png | Bin + .../unbounded-operator.ps3.argb32.ref.png | Bin + .../unbounded-operator.quartz.argb32.ref.png | Bin + .../unbounded-operator.quartz.rgb24.ref.png | Bin + test/{ => reference}/unbounded-operator.ref.png | Bin + .../unbounded-operator.rgb24.ref.png | Bin + .../unbounded-operator.svg12.argb32.ref.png | Bin + .../unbounded-operator.svg12.rgb24.xfail.png | Bin + .../unbounded-operator.xlib.rgb24.ref.png | Bin + .../unclosed-strokes.base.argb32.ref.png | Bin + .../unclosed-strokes.base.rgb24.ref.png | Bin + test/{ => reference}/unclosed-strokes.ref.png | Bin + .../user-font-mask.base.argb32.ref.png | Bin + .../user-font-mask.base.rgb24.ref.png | Bin + .../{ => reference}/user-font-mask.image16.ref.png | Bin + test/{ => reference}/user-font-mask.pdf.ref.png | Bin + test/{ => reference}/user-font-mask.ps2.ref.png | Bin + test/{ => reference}/user-font-mask.ps3.ref.png | Bin + test/{ => reference}/user-font-mask.ref.png | Bin + test/{ => reference}/user-font-mask.svg.ref.png | Bin + .../user-font-proxy.base.argb32.ref.png | Bin + .../user-font-proxy.base.rgb24.ref.png | Bin + .../user-font-proxy.image16.ref.png | Bin + .../user-font-proxy.pdf.argb32.ref.png | Bin + test/{ => reference}/user-font-proxy.pdf.ref.png | Bin + .../user-font-proxy.pdf.rgb24.ref.png | Bin + test/{ => reference}/user-font-proxy.ps.ref.png | Bin + .../{ => reference}/user-font-proxy.quartz.ref.png | Bin + test/{ => reference}/user-font-proxy.ref.png | Bin + test/{ => reference}/user-font-proxy.svg.ref.png | Bin + test/{ => reference}/user-font-proxy.xlib.ref.png | Bin + .../user-font-rescale.base.argb32.ref.png | Bin + .../user-font-rescale.base.rgb24.ref.png | Bin + .../user-font-rescale.image16.ref.png | Bin + test/{ => reference}/user-font-rescale.ps.ref.png | Bin + .../user-font-rescale.quartz.ref.png | Bin + test/{ => reference}/user-font-rescale.ref.png | Bin + test/{ => reference}/user-font-rescale.svg.ref.png | Bin + test/{ => reference}/user-font.base.argb32.ref.png | Bin + test/{ => reference}/user-font.base.rgb24.ref.png | Bin + test/{ => reference}/user-font.image16.ref.png | Bin + test/{ => reference}/user-font.pdf.ref.png | Bin + test/{ => reference}/user-font.ps.ref.png | Bin + test/{ => reference}/user-font.quartz.ref.png | Bin + test/{ => reference}/user-font.ref.png | Bin + test/{ => reference}/user-font.svg.ref.png | Bin + test/{ => reference}/user-font.xlib.ref.png | Bin + .../white-in-noop.base.argb32.ref.png | Bin + .../white-in-noop.base.rgb24.ref.png | Bin + test/{ => reference}/white-in-noop.ref.png | Bin + .../world-map-fill.base.argb32.ref.png | Bin + .../world-map-fill.base.rgb24.ref.png | Bin + .../{ => reference}/world-map-fill.image16.ref.png | Bin + test/{ => reference}/world-map-fill.ref.png | Bin + .../world-map-stroke.base.argb32.ref.png | Bin + .../world-map-stroke.base.rgb24.ref.png | Bin + .../world-map-stroke.image16.ref.png | Bin + test/{ => reference}/world-map-stroke.ref.png | Bin + test/{ => reference}/world-map.base.argb32.ref.png | Bin + test/{ => reference}/world-map.base.rgb24.ref.png | Bin + test/{ => reference}/world-map.image16.ref.png | Bin + test/{ => reference}/world-map.ref.png | Bin + .../xcb-huge-image-shm.base.argb32.ref.png | Bin + .../xcb-huge-image-shm.base.rgb24.ref.png | Bin + test/{ => reference}/xcb-huge-image-shm.ref.png | Bin + .../xcb-snapshot-assert.base.argb32.ref.png | Bin + .../xcb-snapshot-assert.base.rgb24.ref.png | Bin + test/{ => reference}/xcb-snapshot-assert.ref.png | Bin + .../xcb-stress-cache.base.argb32.ref.png | Bin + .../xcb-stress-cache.base.rgb24.ref.png | Bin + test/{ => reference}/xcb-stress-cache.ref.png | Bin + .../xcb-surface-source.argb32.ref.png | Bin + .../xcb-surface-source.base.argb32.ref.png | Bin + .../xcb-surface-source.base.rgb24.ref.png | Bin + .../xcb-surface-source.image16.ref.png | Bin + .../xcb-surface-source.ps.argb32.ref.png | Bin + .../xcb-surface-source.ps.rgb24.ref.png | Bin + .../xcb-surface-source.rgb24.ref.png | Bin + .../xcomposite-projection.base.argb32.ref.png | Bin + .../xcomposite-projection.base.rgb24.ref.png | Bin + .../xcomposite-projection.image16.ref.png | Bin + .../xcomposite-projection.quartz.ref.png | Bin + test/{ => reference}/xcomposite-projection.ref.png | Bin + .../xlib-expose-event.base.argb32.ref.png | Bin + .../xlib-expose-event.base.rgb24.ref.png | Bin + .../xlib-expose-event.image16.ref.png | Bin + test/{ => reference}/xlib-expose-event.ps.ref.png | Bin + test/{ => reference}/xlib-expose-event.ref.png | Bin + .../xlib-surface-source.argb32.ref.png | Bin + .../xlib-surface-source.base.argb32.ref.png | Bin + .../xlib-surface-source.base.rgb24.ref.png | Bin + .../xlib-surface-source.image16.ref.png | Bin + .../xlib-surface-source.ps.argb32.ref.png | Bin + .../xlib-surface-source.ps.rgb24.ref.png | Bin + .../xlib-surface-source.rgb24.ref.png | Bin + .../xlib-surface-source.svg12.argb32.xfail.png | Bin + .../xlib-surface-source.svg12.rgb24.xfail.png | Bin + .../{ => reference}/zero-alpha.base.argb32.ref.png | Bin + test/{ => reference}/zero-alpha.base.rgb24.ref.png | Bin + test/{ => reference}/zero-alpha.ref.png | Bin + test/{ => reference}/zero-mask.base.argb32.ref.png | Bin + test/{ => reference}/zero-mask.base.rgb24.ref.png | Bin + test/{ => reference}/zero-mask.ref.png | Bin + test/{ => reference}/zero-mask.rgb24.ref.png | Bin + 2225 files changed, 2229 insertions(+), 2229 deletions(-) + +commit 1eaab086f36aeeacdcb12d377e1fd8746a2c7b79 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 15 13:53:15 2011 +0100 + + ps: Set transparency for stencil_masks + + Fixes crash in a8-mask. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-ps-surface.c | 24 ++++++++++-------------- + 1 file changed, 10 insertions(+), 14 deletions(-) + +commit 47e16d0e565fcb579148285394bafd45b53ecaff +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Sep 15 21:52:26 2011 +0930 + + subsetting: Support unicode fontnames + + Most fonts use Window platform specific encoded font names since they + allow unicode names. + + - Make _cairo_truetype_read_font_name() read the Windows platform + names first. If this fails, fallback to reading he the Mac platform + MacRoman encoded name. + + - Use the PDF method of encoding non ASCII PS font names. Poppler will + correctly extract the unicode name. + + - Make PDF embed the font family name as AsciiHex if the name is not ASCII. + + src/cairo-cff-subset.c | 12 +- + src/cairo-pdf-surface.c | 81 +++++++++++- + src/cairo-scaled-font-subsets-private.h | 4 +- + src/cairo-truetype-subset.c | 225 ++++++++++++++++++++++++-------- + 4 files changed, 253 insertions(+), 69 deletions(-) + +commit 1e67fb4490c19085def6f7d77314cc66449288b5 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 15 12:57:18 2011 +0100 + + test: Complete set of baseline reference images + + test-base basically implements rendering ala cairo-1.0 and so serves as + a useful baseline for comparing enhancements and to regression test the + core libraries. + + boilerplate/cairo-boilerplate-test-surfaces.c | 4 +- + test/Makefile.refs | 758 +++++++++++++++++++++ + test/a1-bug.base.argb32.ref.png | Bin 0 -> 3362 bytes + test/a1-bug.base.rgb24.ref.png | Bin 0 -> 3362 bytes + test/a1-clip-fill-equal.base.argb32.ref.png | Bin 0 -> 120 bytes + test/a1-clip-fill-equal.base.rgb24.ref.png | Bin 0 -> 120 bytes + test/a1-clip-fill-rule.base.argb32.ref.png | Bin 0 -> 236 bytes + test/a1-clip-fill-rule.base.rgb24.ref.png | Bin 0 -> 218 bytes + test/a1-clip-fill.base.argb32.ref.png | Bin 0 -> 120 bytes + test/a1-clip-fill.base.rgb24.ref.png | Bin 0 -> 120 bytes + test/a1-clip-paint.base.argb32.ref.png | Bin 0 -> 120 bytes + test/a1-clip-paint.base.rgb24.ref.png | Bin 0 -> 120 bytes + test/a1-clip-stroke.base.argb32.ref.png | Bin 0 -> 120 bytes + test/a1-clip-stroke.base.rgb24.ref.png | Bin 0 -> 120 bytes + test/a1-image-sample.base.argb32.ref.png | Bin 0 -> 122 bytes + test/a1-image-sample.base.rgb24.ref.png | Bin 0 -> 122 bytes + test/a1-line-width.base.argb32.ref.png | Bin 0 -> 154 bytes + test/a1-line-width.base.rgb24.ref.png | Bin 0 -> 154 bytes + test/a1-mask-sample.base.argb32.ref.png | Bin 0 -> 122 bytes + test/a1-mask-sample.base.rgb24.ref.png | Bin 0 -> 122 bytes + test/a1-mask.base.argb32.ref.png | Bin 0 -> 106 bytes + test/a1-mask.base.rgb24.ref.png | Bin 0 -> 106 bytes + ...a1-rasterisation-rectangles.base.argb32.ref.png | Bin 0 -> 1729 bytes + .../a1-rasterisation-rectangles.base.rgb24.ref.png | Bin 0 -> 1729 bytes + .../a1-rasterisation-triangles.base.argb32.ref.png | Bin 0 -> 1729 bytes + test/a1-rasterisation-triangles.base.rgb24.ref.png | Bin 0 -> 1729 bytes + test/a1-rectilinear-grid.base.argb32.ref.png | Bin 0 -> 207 bytes + test/a1-rectilinear-grid.base.rgb24.ref.png | Bin 0 -> 207 bytes + test/a1-sample.base.argb32.ref.png | Bin 0 -> 786 bytes + test/a1-sample.base.rgb24.ref.png | Bin 0 -> 786 bytes + test/a1-tiger.base.argb32.ref.png | Bin 0 -> 20406 bytes + test/a1-tiger.base.rgb24.ref.png | Bin 0 -> 20406 bytes + test/a1-traps-sample.base.argb32.ref.png | Bin 0 -> 120 bytes + test/a1-traps-sample.base.rgb24.ref.png | Bin 0 -> 120 bytes + test/a8-clear.base.argb32.ref.png | Bin 0 -> 248 bytes + test/a8-clear.base.rgb24.ref.png | Bin 0 -> 248 bytes + test/a8-mask.base.argb32.ref.png | Bin 0 -> 103 bytes + test/a8-mask.base.rgb24.ref.png | Bin 0 -> 103 bytes + test/aliasing.base.argb32.ref.png | Bin 0 -> 103722 bytes + test/aliasing.base.rgb24.ref.png | Bin 0 -> 103722 bytes + test/alpha-similar.base.argb32.ref.png | Bin 0 -> 99 bytes + test/alpha-similar.base.rgb24.ref.png | Bin 0 -> 88 bytes + test/api-special-cases.base.argb32.ref.png | Bin 0 -> 95 bytes + test/api-special-cases.base.rgb24.ref.png | Bin 0 -> 95 bytes + test/arc-infinite-loop.base.argb32.ref.png | Bin 0 -> 96 bytes + test/arc-infinite-loop.base.rgb24.ref.png | Bin 0 -> 96 bytes + test/arc-looping-dash.base.argb32.ref.png | Bin 0 -> 470 bytes + test/arc-looping-dash.base.rgb24.ref.png | Bin 0 -> 470 bytes + test/big-empty-box.base.argb32.ref.png | Bin 0 -> 111 bytes + test/big-empty-box.base.rgb24.ref.png | Bin 0 -> 108 bytes + test/big-empty-triangle.base.argb32.ref.png | Bin 0 -> 111 bytes + test/big-empty-triangle.base.rgb24.ref.png | Bin 0 -> 108 bytes + test/big-line.base.argb32.ref.png | Bin 0 -> 933 bytes + test/big-line.base.rgb24.ref.png | Bin 0 -> 933 bytes + test/big-little-box.base.argb32.ref.png | Bin 0 -> 169 bytes + test/big-little-box.base.rgb24.ref.png | Bin 0 -> 160 bytes + test/big-little-triangle.base.argb32.ref.png | Bin 0 -> 399 bytes + test/big-little-triangle.base.rgb24.ref.png | Bin 0 -> 320 bytes + test/big-trap.base.argb32.ref.png | Bin 0 -> 319 bytes + test/big-trap.base.rgb24.ref.png | Bin 0 -> 319 bytes + test/bilevel-image.base.argb32.ref.png | Bin 0 -> 105 bytes + test/bilevel-image.base.rgb24.ref.png | Bin 0 -> 105 bytes + test/bitmap-font.base.argb32.ref.png | Bin 0 -> 931 bytes + test/bitmap-font.base.rgb24.ref.png | Bin 0 -> 871 bytes + test/bug-40410.base.argb32.ref.png | Bin 0 -> 428 bytes + test/bug-40410.base.rgb24.ref.png | Bin 0 -> 428 bytes + test/bug-bo-rectangular.base.argb32.ref.png | Bin 0 -> 950 bytes + test/bug-bo-rectangular.base.rgb24.ref.png | Bin 0 -> 950 bytes + test/bug-extents.base.argb32.ref.png | Bin 0 -> 9250 bytes + test/bug-extents.base.rgb24.ref.png | Bin 0 -> 9250 bytes + test/bug-seams.base.argb32.ref.png | Bin 0 -> 1606 bytes + test/bug-seams.base.rgb24.ref.png | Bin 0 -> 1606 bytes + test/caps-joins-alpha.base.argb32.ref.png | Bin 0 -> 2278 bytes + test/caps-joins-alpha.base.rgb24.ref.png | Bin 0 -> 2278 bytes + test/caps-joins-curve.base.argb32.ref.png | Bin 0 -> 5368 bytes + test/caps-joins-curve.base.rgb24.ref.png | Bin 0 -> 5368 bytes + test/caps-joins.base.argb32.ref.png | Bin 0 -> 2374 bytes + test/caps-joins.base.rgb24.ref.png | Bin 0 -> 2374 bytes + test/caps-sub-paths.base.argb32.ref.png | Bin 0 -> 166 bytes + test/caps-sub-paths.base.rgb24.ref.png | Bin 0 -> 166 bytes + test/caps-tails-curve.base.argb32.ref.png | Bin 0 -> 50228 bytes + test/caps-tails-curve.base.rgb24.ref.png | Bin 0 -> 50228 bytes + test/caps.base.argb32.ref.png | Bin 0 -> 1601 bytes + test/caps.base.rgb24.ref.png | Bin 0 -> 1601 bytes + test/checkerboard.base.argb32.ref.png | Bin 0 -> 142 bytes + test/checkerboard.base.rgb24.ref.png | Bin 0 -> 142 bytes + test/clear-source.base.argb32.ref.png | Bin 0 -> 779 bytes + test/clear-source.base.rgb24.ref.png | Bin 0 -> 779 bytes + test/clear.base.argb32.ref.png | Bin 0 -> 673 bytes + test/clear.base.rgb24.ref.png | Bin 0 -> 614 bytes + test/clip-all.base.argb32.ref.png | Bin 0 -> 95 bytes + test/clip-all.base.rgb24.ref.png | Bin 0 -> 95 bytes + test/clip-complex-shape-eo-aa.base.argb32.ref.png | Bin 0 -> 325 bytes + test/clip-complex-shape-eo-aa.base.rgb24.ref.png | Bin 0 -> 325 bytes + .../clip-complex-shape-eo-mono.base.argb32.ref.png | Bin 0 -> 325 bytes + test/clip-complex-shape-eo-mono.base.rgb24.ref.png | Bin 0 -> 325 bytes + test/clip-contexts.base.argb32.ref.png | Bin 0 -> 98 bytes + test/clip-contexts.base.rgb24.ref.png | Bin 0 -> 98 bytes + test/clip-device-offset.base.argb32.ref.png | Bin 0 -> 175 bytes + test/clip-device-offset.base.rgb24.ref.png | Bin 0 -> 168 bytes + test/clip-disjoint-hatching.base.argb32.ref.png | Bin 0 -> 8021 bytes + test/clip-disjoint-hatching.base.rgb24.ref.png | Bin 0 -> 8021 bytes + test/clip-disjoint.base.argb32.ref.png | Bin 0 -> 5411 bytes + test/clip-disjoint.base.rgb24.ref.png | Bin 0 -> 5411 bytes + test/clip-empty-group.base.argb32.ref.png | Bin 0 -> 103 bytes + test/clip-empty-group.base.rgb24.ref.png | Bin 0 -> 103 bytes + test/clip-empty-save.base.argb32.ref.png | Bin 0 -> 95 bytes + test/clip-empty-save.base.rgb24.ref.png | Bin 0 -> 95 bytes + test/clip-empty.base.argb32.ref.png | Bin 0 -> 95 bytes + test/clip-empty.base.rgb24.ref.png | Bin 0 -> 95 bytes + test/clip-fill-eo-unbounded.base.argb32.ref.png | Bin 0 -> 3693 bytes + test/clip-fill-eo-unbounded.base.rgb24.ref.png | Bin 0 -> 3198 bytes + test/clip-fill-no-op.base.argb32.ref.png | Bin 0 -> 152 bytes + test/clip-fill-no-op.base.rgb24.ref.png | Bin 0 -> 152 bytes + test/clip-fill-nz-unbounded.base.argb32.ref.png | Bin 0 -> 3693 bytes + test/clip-fill-nz-unbounded.base.rgb24.ref.png | Bin 0 -> 3198 bytes + ...lip-fill-rule-pixel-aligned.base.argb32.ref.png | Bin 0 -> 176 bytes + ...clip-fill-rule-pixel-aligned.base.rgb24.ref.png | Bin 0 -> 165 bytes + test/clip-fill-rule.base.argb32.ref.png | Bin 0 -> 412 bytes + test/clip-fill-rule.base.rgb24.ref.png | Bin 0 -> 361 bytes + test/clip-fill.base.argb32.ref.png | Bin 0 -> 1049 bytes + test/clip-fill.base.rgb24.ref.png | Bin 0 -> 1049 bytes + ...p-shapes-aligned-rectangles.base.argb32.ref.png | Bin 0 -> 378 bytes + ...up-shapes-aligned-rectangles.base.rgb24.ref.png | Bin 0 -> 378 bytes + test/clip-group-shapes-circles.base.argb32.ref.png | Bin 0 -> 1534 bytes + test/clip-group-shapes-circles.base.rgb24.ref.png | Bin 0 -> 1534 bytes + ...shapes-unaligned-rectangles.base.argb32.ref.png | Bin 0 -> 431 bytes + ...-shapes-unaligned-rectangles.base.rgb24.ref.png | Bin 0 -> 431 bytes + test/clip-image.base.argb32.ref.png | Bin 0 -> 2686 bytes + test/clip-image.base.rgb24.ref.png | Bin 0 -> 2686 bytes + test/clip-intersect.base.argb32.ref.png | Bin 0 -> 193 bytes + test/clip-intersect.base.rgb24.ref.png | Bin 0 -> 193 bytes + test/clip-mixed-antialias.base.argb32.ref.png | Bin 0 -> 1094 bytes + test/clip-mixed-antialias.base.rgb24.ref.png | Bin 0 -> 1094 bytes + test/clip-nesting.base.argb32.ref.png | Bin 0 -> 1031 bytes + test/clip-nesting.base.rgb24.ref.png | Bin 0 -> 936 bytes + test/clip-operator.base.argb32.ref.png | Bin 0 -> 8171 bytes + test/clip-operator.base.rgb24.ref.png | Bin 0 -> 3231 bytes + test/clip-push-group.base.argb32.ref.png | Bin 0 -> 155 bytes + test/clip-push-group.base.rgb24.ref.png | Bin 0 -> 155 bytes + ...-rotate-image-surface-paint.base.argb32.ref.png | Bin 0 -> 202 bytes + ...p-rotate-image-surface-paint.base.rgb24.ref.png | Bin 0 -> 202 bytes + test/clip-shape.base.argb32.ref.png | Bin 0 -> 2943 bytes + test/clip-shape.base.rgb24.ref.png | Bin 0 -> 2943 bytes + test/clip-stroke-no-op.base.argb32.ref.png | Bin 0 -> 152 bytes + test/clip-stroke-no-op.base.rgb24.ref.png | Bin 0 -> 152 bytes + test/clip-stroke-unbounded.base.argb32.ref.png | Bin 0 -> 3617 bytes + test/clip-stroke-unbounded.base.rgb24.ref.png | Bin 0 -> 3108 bytes + test/clip-stroke.base.argb32.ref.png | Bin 0 -> 1491 bytes + test/clip-stroke.base.rgb24.ref.png | Bin 0 -> 1491 bytes + test/clip-text.base.argb32.ref.png | Bin 0 -> 899 bytes + test/clip-text.base.rgb24.ref.png | Bin 0 -> 899 bytes + test/clip-twice-rectangle.base.argb32.ref.png | Bin 0 -> 323 bytes + test/clip-twice-rectangle.base.rgb24.ref.png | Bin 0 -> 323 bytes + test/clip-twice.base.argb32.ref.png | Bin 0 -> 1343 bytes + test/clip-twice.base.rgb24.ref.png | Bin 0 -> 1179 bytes + test/clip-unbounded.base.argb32.ref.png | Bin 0 -> 100 bytes + test/clip-unbounded.base.rgb24.ref.png | Bin 0 -> 97 bytes + test/clipped-group.base.argb32.ref.png | Bin 0 -> 316 bytes + test/clipped-group.base.rgb24.ref.png | Bin 0 -> 316 bytes + test/clipped-surface.base.argb32.ref.png | Bin 0 -> 345 bytes + test/clipped-surface.base.rgb24.ref.png | Bin 0 -> 345 bytes + test/close-path-current-point.base.argb32.ref.png | Bin 0 -> 2008 bytes + test/close-path-current-point.base.rgb24.ref.png | Bin 0 -> 2008 bytes + test/close-path.base.argb32.ref.png | Bin 0 -> 284 bytes + test/close-path.base.rgb24.ref.png | Bin 0 -> 284 bytes + ...teger-translate-over-repeat.base.argb32.ref.png | Bin 0 -> 334 bytes + ...nteger-translate-over-repeat.base.rgb24.ref.png | Bin 0 -> 334 bytes + ...site-integer-translate-over.base.argb32.ref.png | Bin 0 -> 13998 bytes + ...osite-integer-translate-over.base.rgb24.ref.png | Bin 0 -> 13998 bytes + ...te-integer-translate-source.base.argb32.ref.png | Bin 0 -> 13998 bytes + ...ite-integer-translate-source.base.rgb24.ref.png | Bin 0 -> 13998 bytes + test/copy-path.base.argb32.ref.png | Bin 0 -> 588 bytes + test/copy-path.base.rgb24.ref.png | Bin 0 -> 588 bytes + test/create-from-png-stream.base.argb32.ref.png | Bin 0 -> 96 bytes + test/create-from-png-stream.base.rgb24.ref.png | Bin 0 -> 96 bytes + test/create-from-png.base.argb32.ref.png | Bin 0 -> 96 bytes + test/create-from-png.base.rgb24.ref.png | Bin 0 -> 96 bytes + test/culled-glyphs.base.argb32.ref.png | Bin 0 -> 435 bytes + test/culled-glyphs.base.rgb24.ref.png | Bin 0 -> 435 bytes + test/curve-to-as-line-to.base.argb32.ref.png | Bin 0 -> 107 bytes + test/curve-to-as-line-to.base.rgb24.ref.png | Bin 0 -> 107 bytes + test/dash-caps-joins.base.argb32.ref.png | Bin 0 -> 4521 bytes + test/dash-caps-joins.base.rgb24.ref.png | Bin 0 -> 4521 bytes + test/dash-curve.base.argb32.ref.png | Bin 0 -> 40040 bytes + test/dash-curve.base.rgb24.ref.png | Bin 0 -> 40040 bytes + test/dash-infinite-loop.base.argb32.ref.png | Bin 0 -> 835 bytes + test/dash-infinite-loop.base.rgb24.ref.png | Bin 0 -> 835 bytes + test/dash-no-dash.base.argb32.ref.png | Bin 0 -> 119 bytes + test/dash-no-dash.base.rgb24.ref.png | Bin 0 -> 119 bytes + test/dash-offset-negative.base.argb32.ref.png | Bin 0 -> 151 bytes + test/dash-offset-negative.base.rgb24.ref.png | Bin 0 -> 151 bytes + test/dash-offset.base.argb32.ref.png | Bin 0 -> 794 bytes + test/dash-offset.base.rgb24.ref.png | Bin 0 -> 794 bytes + test/dash-scale.base.argb32.ref.png | Bin 0 -> 7621 bytes + test/dash-scale.base.rgb24.ref.png | Bin 0 -> 7621 bytes + test/dash-state.base.argb32.ref.png | Bin 0 -> 7628 bytes + test/dash-state.base.rgb24.ref.png | Bin 0 -> 7628 bytes + test/dash-zero-length.base.argb32.ref.png | Bin 0 -> 219 bytes + test/dash-zero-length.base.rgb24.ref.png | Bin 0 -> 199 bytes + test/degenerate-arc.base.argb32.ref.png | Bin 0 -> 547 bytes + test/degenerate-arc.base.rgb24.ref.png | Bin 0 -> 547 bytes + test/degenerate-arcs.base.argb32.ref.png | Bin 0 -> 120 bytes + test/degenerate-arcs.base.rgb24.ref.png | Bin 0 -> 120 bytes + test/degenerate-curve-to.base.argb32.ref.png | Bin 0 -> 283 bytes + test/degenerate-curve-to.base.rgb24.ref.png | Bin 0 -> 283 bytes + test/degenerate-dash.base.argb32.ref.png | Bin 0 -> 1898 bytes + test/degenerate-dash.base.rgb24.ref.png | Bin 0 -> 1898 bytes + .../degenerate-linear-gradient.base.argb32.ref.png | Bin 0 -> 336 bytes + test/degenerate-linear-gradient.base.rgb24.ref.png | Bin 0 -> 336 bytes + test/degenerate-path.base.argb32.ref.png | Bin 0 -> 249 bytes + test/degenerate-path.base.rgb24.ref.png | Bin 0 -> 217 bytes + test/degenerate-pen.base.argb32.ref.png | Bin 0 -> 1000 bytes + test/degenerate-pen.base.rgb24.ref.png | Bin 0 -> 1000 bytes + .../degenerate-radial-gradient.base.argb32.ref.png | Bin 0 -> 428 bytes + test/degenerate-radial-gradient.base.rgb24.ref.png | Bin 0 -> 428 bytes + test/degenerate-rel-curve-to.base.argb32.ref.png | Bin 0 -> 278 bytes + test/degenerate-rel-curve-to.base.rgb24.ref.png | Bin 0 -> 278 bytes + test/device-offset-fractional.base.argb32.ref.png | Bin 0 -> 266 bytes + test/device-offset-fractional.base.rgb24.ref.png | Bin 0 -> 266 bytes + test/device-offset-positive.base.argb32.ref.png | Bin 0 -> 120 bytes + test/device-offset-positive.base.rgb24.ref.png | Bin 0 -> 111 bytes + test/device-offset-scale.base.argb32.ref.png | Bin 0 -> 109 bytes + test/device-offset-scale.base.rgb24.ref.png | Bin 0 -> 109 bytes + test/device-offset.base.argb32.ref.png | Bin 0 -> 118 bytes + test/device-offset.base.rgb24.ref.png | Bin 0 -> 111 bytes + test/drunkard-tails.base.argb32.ref.png | Bin 0 -> 6036 bytes + test/drunkard-tails.base.rgb24.ref.png | Bin 0 -> 6036 bytes + test/extend-pad-border.base.argb32.ref.png | Bin 0 -> 495 bytes + test/extend-pad-border.base.rgb24.ref.png | Bin 0 -> 495 bytes + test/extend-pad-similar.base.argb32.ref.png | Bin 0 -> 279 bytes + test/extend-pad-similar.base.rgb24.ref.png | Bin 0 -> 279 bytes + test/extend-pad.base.argb32.ref.png | Bin 0 -> 279 bytes + test/extend-pad.base.rgb24.ref.png | Bin 0 -> 279 bytes + test/extend-reflect-similar.base.argb32.ref.png | Bin 0 -> 133406 bytes + test/extend-reflect-similar.base.rgb24.ref.png | Bin 0 -> 133406 bytes + test/extend-reflect.base.argb32.ref.png | Bin 0 -> 133406 bytes + test/extend-reflect.base.rgb24.ref.png | Bin 0 -> 133406 bytes + test/extend-repeat-similar.base.argb32.ref.png | Bin 0 -> 108603 bytes + test/extend-repeat-similar.base.rgb24.ref.png | Bin 0 -> 108603 bytes + test/extend-repeat.base.argb32.ref.png | Bin 0 -> 108603 bytes + test/extend-repeat.base.rgb24.ref.png | Bin 0 -> 108603 bytes + test/extended-blend-alpha-mask.base.argb32.ref.png | Bin 0 -> 9221 bytes + test/extended-blend-alpha-mask.base.rgb24.ref.png | Bin 0 -> 4597 bytes + test/extended-blend-alpha.base.argb32.ref.png | Bin 0 -> 9406 bytes + test/extended-blend-alpha.base.rgb24.ref.png | Bin 0 -> 5740 bytes + test/extended-blend-mask.base.argb32.ref.png | Bin 0 -> 3971 bytes + test/extended-blend-mask.base.rgb24.ref.png | Bin 0 -> 3643 bytes + .../extended-blend-solid-alpha.base.argb32.ref.png | Bin 0 -> 9406 bytes + test/extended-blend-solid-alpha.base.rgb24.ref.png | Bin 0 -> 5740 bytes + test/extended-blend-solid.base.argb32.ref.png | Bin 0 -> 4063 bytes + test/extended-blend-solid.base.rgb24.ref.png | Bin 0 -> 3775 bytes + test/extended-blend.base.argb32.ref.png | Bin 0 -> 4063 bytes + test/extended-blend.base.rgb24.ref.png | Bin 0 -> 3775 bytes + test/fill-alpha-pattern.base.argb32.ref.png | Bin 0 -> 3379 bytes + test/fill-alpha-pattern.base.rgb24.ref.png | Bin 0 -> 3379 bytes + test/fill-alpha.base.argb32.ref.png | Bin 0 -> 2824 bytes + test/fill-alpha.base.rgb24.ref.png | Bin 0 -> 2824 bytes + test/fill-and-stroke-alpha-add.base.argb32.ref.png | Bin 0 -> 552 bytes + test/fill-and-stroke-alpha-add.base.rgb24.ref.png | Bin 0 -> 552 bytes + test/fill-and-stroke-alpha.base.argb32.ref.png | Bin 0 -> 507 bytes + test/fill-and-stroke-alpha.base.rgb24.ref.png | Bin 0 -> 507 bytes + test/fill-and-stroke.base.argb32.ref.png | Bin 0 -> 321 bytes + test/fill-and-stroke.base.rgb24.ref.png | Bin 0 -> 293 bytes + .../fill-degenerate-sort-order.base.argb32.ref.png | Bin 0 -> 2378 bytes + test/fill-degenerate-sort-order.base.rgb24.ref.png | Bin 0 -> 2041 bytes + test/fill-empty.base.argb32.ref.png | Bin 0 -> 99 bytes + test/fill-empty.base.rgb24.ref.png | Bin 0 -> 97 bytes + test/fill-image.base.argb32.ref.png | Bin 0 -> 1455 bytes + test/fill-image.base.rgb24.ref.png | Bin 0 -> 1455 bytes + test/fill-missed-stop.base.argb32.ref.png | Bin 0 -> 447 bytes + test/fill-missed-stop.base.rgb24.ref.png | Bin 0 -> 375 bytes + test/fill-rule.base.argb32.ref.png | Bin 0 -> 1979 bytes + test/fill-rule.base.rgb24.ref.png | Bin 0 -> 1703 bytes + test/filter-bilinear-extents.base.argb32.ref.png | Bin 0 -> 1210 bytes + test/filter-bilinear-extents.base.rgb24.ref.png | Bin 0 -> 1210 bytes + test/filter-nearest-offset.base.argb32.ref.png | Bin 0 -> 201 bytes + test/filter-nearest-offset.base.rgb24.ref.png | Bin 0 -> 201 bytes + .../filter-nearest-transformed.base.argb32.ref.png | Bin 0 -> 514 bytes + test/filter-nearest-transformed.base.rgb24.ref.png | Bin 0 -> 514 bytes + test/finer-grained-fallbacks.base.argb32.ref.png | Bin 0 -> 1110 bytes + test/finer-grained-fallbacks.base.rgb24.ref.png | Bin 0 -> 856 bytes + test/font-matrix-translation.base.argb32.ref.png | Bin 0 -> 874 bytes + test/font-matrix-translation.base.rgb24.ref.png | Bin 0 -> 874 bytes + .../ft-show-glyphs-positioning.base.argb32.ref.png | Bin 0 -> 3297 bytes + test/ft-show-glyphs-positioning.base.rgb24.ref.png | Bin 0 -> 3297 bytes + test/ft-show-glyphs-table.base.argb32.ref.png | Bin 0 -> 9893 bytes + test/ft-show-glyphs-table.base.rgb24.ref.png | Bin 0 -> 9893 bytes + test/ft-text-antialias-none.base.argb32.ref.png | Bin 0 -> 295 bytes + test/ft-text-antialias-none.base.rgb24.ref.png | Bin 0 -> 295 bytes + ...-text-vertical-layout-type1.base.argb32.ref.png | Bin 0 -> 3066 bytes + ...t-text-vertical-layout-type1.base.rgb24.ref.png | Bin 0 -> 3066 bytes + ...-text-vertical-layout-type3.base.argb32.ref.png | Bin 0 -> 3597 bytes + ...t-text-vertical-layout-type3.base.rgb24.ref.png | Bin 0 -> 3597 bytes + test/get-group-target.base.argb32.ref.png | Bin 0 -> 113 bytes + test/get-group-target.base.rgb24.ref.png | Bin 0 -> 113 bytes + test/glyph-cache-pressure.base.argb32.ref.png | Bin 0 -> 2863 bytes + test/glyph-cache-pressure.base.rgb24.ref.png | Bin 0 -> 2863 bytes + test/gradient-alpha.base.argb32.ref.png | Bin 0 -> 125 bytes + test/gradient-alpha.base.rgb24.ref.png | Bin 0 -> 119 bytes + test/gradient-constant-alpha.base.argb32.ref.png | Bin 0 -> 111 bytes + test/gradient-constant-alpha.base.rgb24.ref.png | Bin 0 -> 106 bytes + test/gradient-zero-stops-mask.base.argb32.ref.png | Bin 0 -> 86 bytes + test/gradient-zero-stops-mask.base.rgb24.ref.png | Bin 0 -> 86 bytes + test/gradient-zero-stops.base.argb32.ref.png | Bin 0 -> 86 bytes + test/gradient-zero-stops.base.rgb24.ref.png | Bin 0 -> 86 bytes + test/group-clip.base.argb32.ref.png | Bin 0 -> 191 bytes + test/group-clip.base.rgb24.ref.png | Bin 0 -> 191 bytes + test/group-paint.base.argb32.ref.png | Bin 0 -> 95 bytes + test/group-paint.base.rgb24.ref.png | Bin 0 -> 95 bytes + test/group-unaligned.base.argb32.ref.png | Bin 0 -> 468 bytes + test/group-unaligned.base.rgb24.ref.png | Bin 0 -> 468 bytes + test/halo-transform.base.argb32.ref.png | Bin 0 -> 15118 bytes + test/halo-transform.base.rgb24.ref.png | Bin 0 -> 15118 bytes + test/halo.base.argb32.ref.png | Bin 0 -> 8800 bytes + test/halo.base.rgb24.ref.png | Bin 0 -> 8800 bytes + test/hatchings.base.argb32.ref.png | Bin 0 -> 90611 bytes + test/hatchings.base.rgb24.ref.png | Bin 0 -> 90611 bytes + test/horizontal-clip.base.argb32.ref.png | Bin 0 -> 113 bytes + test/horizontal-clip.base.rgb24.ref.png | Bin 0 -> 113 bytes + test/huge-linear.base.argb32.ref.png | Bin 0 -> 1600 bytes + test/huge-linear.base.rgb24.ref.png | Bin 0 -> 1600 bytes + test/huge-radial.base.argb32.ref.png | Bin 0 -> 41702 bytes + test/huge-radial.base.rgb24.ref.png | Bin 0 -> 41702 bytes + test/image-bug-710072-aligned.base.argb32.ref.png | Bin 0 -> 151 bytes + test/image-bug-710072-aligned.base.rgb24.ref.png | Bin 0 -> 151 bytes + .../image-bug-710072-unaligned.base.argb32.ref.png | Bin 0 -> 219 bytes + test/image-bug-710072-unaligned.base.rgb24.ref.png | Bin 0 -> 219 bytes + test/image-surface-source.base.argb32.ref.png | Bin 0 -> 377 bytes + test/image-surface-source.base.rgb24.ref.png | Bin 0 -> 301 bytes + test/implicit-close.base.argb32.ref.png | Bin 0 -> 251 bytes + test/implicit-close.base.rgb24.ref.png | Bin 0 -> 251 bytes + test/infinite-join.base.argb32.ref.png | Bin 0 -> 160 bytes + test/infinite-join.base.rgb24.ref.png | Bin 0 -> 160 bytes + test/inverse-text.base.argb32.ref.png | Bin 0 -> 2166 bytes + test/inverse-text.base.rgb24.ref.png | Bin 0 -> 2166 bytes + test/joins-loop.base.argb32.ref.png | Bin 0 -> 4202 bytes + test/joins-loop.base.rgb24.ref.png | Bin 0 -> 4202 bytes + test/joins-retrace.base.argb32.ref.png | Bin 0 -> 4667 bytes + test/joins-retrace.base.rgb24.ref.png | Bin 0 -> 4667 bytes + test/joins-star.base.argb32.ref.png | Bin 0 -> 3583 bytes + test/joins-star.base.rgb24.ref.png | Bin 0 -> 3583 bytes + test/joins.base.argb32.ref.png | Bin 0 -> 5684 bytes + test/joins.base.rgb24.ref.png | Bin 0 -> 5684 bytes + test/large-clip.base.argb32.ref.png | Bin 0 -> 305 bytes + test/large-clip.base.rgb24.ref.png | Bin 0 -> 305 bytes + test/large-font.base.argb32.ref.png | Bin 0 -> 6117 bytes + test/large-font.base.rgb24.ref.png | Bin 0 -> 6117 bytes + test/large-source-roi.base.argb32.ref.png | Bin 0 -> 93 bytes + test/large-source-roi.base.rgb24.ref.png | Bin 0 -> 93 bytes + test/large-source.base.argb32.ref.png | Bin 0 -> 112 bytes + test/large-source.base.rgb24.ref.png | Bin 0 -> 112 bytes + .../large-twin-antialias-mixed.base.argb32.ref.png | Bin 0 -> 10740 bytes + test/large-twin-antialias-mixed.base.rgb24.ref.png | Bin 0 -> 10740 bytes + test/leaky-dash.base.argb32.ref.png | Bin 0 -> 197 bytes + test/leaky-dash.base.rgb24.ref.png | Bin 0 -> 197 bytes + test/leaky-dashed-rectangle.base.argb32.ref.png | Bin 0 -> 345 bytes + test/leaky-dashed-rectangle.base.rgb24.ref.png | Bin 0 -> 345 bytes + test/leaky-dashed-stroke.base.argb32.ref.png | Bin 0 -> 9303 bytes + test/leaky-dashed-stroke.base.rgb24.ref.png | Bin 0 -> 9303 bytes + test/leaky-polygon.base.argb32.ref.png | Bin 0 -> 325 bytes + test/leaky-polygon.base.rgb24.ref.png | Bin 0 -> 325 bytes + test/line-width-overlap-dashed.base.argb32.ref.png | Bin 0 -> 397 bytes + test/line-width-overlap-dashed.base.rgb24.ref.png | Bin 0 -> 397 bytes + .../line-width-overlap-flipped.base.argb32.ref.png | Bin 0 -> 324 bytes + test/line-width-overlap-flipped.base.rgb24.ref.png | Bin 0 -> 324 bytes + .../line-width-overlap-flopped.base.argb32.ref.png | Bin 0 -> 324 bytes + test/line-width-overlap-flopped.base.rgb24.ref.png | Bin 0 -> 324 bytes + test/line-width-overlap-offset.base.argb32.ref.png | Bin 0 -> 365 bytes + test/line-width-overlap-offset.base.rgb24.ref.png | Bin 0 -> 365 bytes + .../line-width-overlap-rotated.base.argb32.ref.png | Bin 0 -> 628 bytes + test/line-width-overlap-rotated.base.rgb24.ref.png | Bin 0 -> 628 bytes + test/line-width-overlap.base.argb32.ref.png | Bin 0 -> 324 bytes + test/line-width-overlap.base.rgb24.ref.png | Bin 0 -> 324 bytes + test/line-width-scale.base.argb32.ref.png | Bin 0 -> 5692 bytes + test/line-width-scale.base.rgb24.ref.png | Bin 0 -> 5692 bytes + test/line-width-tolerance.base.argb32.ref.png | Bin 0 -> 163 bytes + test/line-width-tolerance.base.rgb24.ref.png | Bin 0 -> 163 bytes + test/line-width.base.argb32.ref.png | Bin 0 -> 180 bytes + test/line-width.base.rgb24.ref.png | Bin 0 -> 180 bytes + test/linear-gradient-extend.base.argb32.ref.png | Bin 0 -> 371 bytes + test/linear-gradient-extend.base.rgb24.ref.png | Bin 0 -> 371 bytes + test/linear-gradient-large.base.argb32.ref.png | Bin 0 -> 4076 bytes + test/linear-gradient-large.base.rgb24.ref.png | Bin 0 -> 4076 bytes + test/linear-gradient-one-stop.base.argb32.ref.png | Bin 0 -> 225 bytes + test/linear-gradient-one-stop.base.rgb24.ref.png | Bin 0 -> 174 bytes + test/linear-gradient-reflect.base.argb32.ref.png | Bin 0 -> 185 bytes + test/linear-gradient-reflect.base.rgb24.ref.png | Bin 0 -> 185 bytes + test/linear-gradient-subset.base.argb32.ref.png | Bin 0 -> 773 bytes + test/linear-gradient-subset.base.rgb24.ref.png | Bin 0 -> 773 bytes + test/linear-gradient.base.argb32.ref.png | Bin 0 -> 914 bytes + test/linear-gradient.base.rgb24.ref.png | Bin 0 -> 914 bytes + test/linear-step-function.base.argb32.ref.png | Bin 0 -> 118 bytes + test/linear-step-function.base.rgb24.ref.png | Bin 0 -> 118 bytes + test/linear-uniform.base.argb32.ref.png | Bin 0 -> 128 bytes + test/linear-uniform.base.rgb24.ref.png | Bin 0 -> 128 bytes + test/long-dashed-lines.base.argb32.ref.png | Bin 0 -> 2071 bytes + test/long-dashed-lines.base.rgb24.ref.png | Bin 0 -> 2071 bytes + test/long-lines.base.argb32.ref.png | Bin 0 -> 201 bytes + test/long-lines.base.rgb24.ref.png | Bin 0 -> 201 bytes + test/map-all-to-image.base.argb32.ref.png | Bin 0 -> 86 bytes + test/map-all-to-image.base.rgb24.ref.png | Bin 0 -> 86 bytes + test/map-bit-to-image.base.argb32.ref.png | Bin 0 -> 103 bytes + test/map-bit-to-image.base.rgb24.ref.png | Bin 0 -> 103 bytes + test/map-to-image-fill.base.argb32.ref.png | Bin 0 -> 103 bytes + test/map-to-image-fill.base.rgb24.ref.png | Bin 0 -> 103 bytes + test/mask-alpha.base.argb32.ref.png | Bin 0 -> 627 bytes + test/mask-alpha.base.rgb24.ref.png | Bin 0 -> 588 bytes + test/mask-ctm.base.argb32.ref.png | Bin 0 -> 110 bytes + test/mask-ctm.base.rgb24.ref.png | Bin 0 -> 105 bytes + test/mask-surface-ctm.base.argb32.ref.png | Bin 0 -> 110 bytes + test/mask-surface-ctm.base.rgb24.ref.png | Bin 0 -> 105 bytes + test/mask-transformed-image.base.argb32.ref.png | Bin 0 -> 3812 bytes + test/mask-transformed-image.base.rgb24.ref.png | Bin 0 -> 3812 bytes + test/mask-transformed-similar.base.argb32.ref.png | Bin 0 -> 3812 bytes + test/mask-transformed-similar.base.rgb24.ref.png | Bin 0 -> 3812 bytes + test/mask.base.argb32.ref.png | Bin 0 -> 8451 bytes + test/mask.base.rgb24.ref.png | Bin 0 -> 7058 bytes + test/mesh-pattern-accuracy.base.argb32.ref.png | Bin 0 -> 8086 bytes + test/mesh-pattern-accuracy.base.rgb24.ref.png | Bin 0 -> 8086 bytes + test/mesh-pattern-conical.base.argb32.ref.png | Bin 0 -> 8655 bytes + test/mesh-pattern-conical.base.rgb24.ref.png | Bin 0 -> 8655 bytes + ...mesh-pattern-control-points.base.argb32.ref.png | Bin 0 -> 10665 bytes + .../mesh-pattern-control-points.base.rgb24.ref.png | Bin 0 -> 10665 bytes + test/mesh-pattern-fold.base.argb32.ref.png | Bin 0 -> 52980 bytes + test/mesh-pattern-fold.base.rgb24.ref.png | Bin 0 -> 52980 bytes + test/mesh-pattern-overlap.base.argb32.ref.png | Bin 0 -> 9129 bytes + test/mesh-pattern-overlap.base.rgb24.ref.png | Bin 0 -> 9129 bytes + test/mesh-pattern-transformed.base.argb32.ref.png | Bin 0 -> 14463 bytes + test/mesh-pattern-transformed.base.rgb24.ref.png | Bin 0 -> 14463 bytes + test/mesh-pattern.base.argb32.ref.png | Bin 0 -> 19566 bytes + test/mesh-pattern.base.rgb24.ref.png | Bin 0 -> 19566 bytes + test/mime-data.base.argb32.ref.png | Bin 0 -> 185 bytes + test/mime-data.base.rgb24.ref.png | Bin 0 -> 185 bytes + test/mime-surface.base.argb32.ref.png | Bin 0 -> 1209 bytes + test/mime-surface.base.rgb24.ref.png | Bin 0 -> 1209 bytes + test/miter-precision.base.argb32.ref.png | Bin 0 -> 818 bytes + test/miter-precision.base.rgb24.ref.png | Bin 0 -> 818 bytes + test/move-to-show-surface.base.argb32.ref.png | Bin 0 -> 96 bytes + test/move-to-show-surface.base.rgb24.ref.png | Bin 0 -> 96 bytes + test/new-sub-path.base.argb32.ref.png | Bin 0 -> 415 bytes + test/new-sub-path.base.rgb24.ref.png | Bin 0 -> 378 bytes + test/nil-surface.base.argb32.ref.png | Bin 0 -> 88 bytes + test/nil-surface.base.rgb24.ref.png | Bin 0 -> 87 bytes + test/operator-alpha-alpha.base.argb32.ref.png | Bin 0 -> 3441 bytes + test/operator-alpha-alpha.base.rgb24.ref.png | Bin 0 -> 3441 bytes + test/operator-alpha.base.argb32.ref.png | Bin 0 -> 280 bytes + test/operator-alpha.base.rgb24.ref.png | Bin 0 -> 205 bytes + test/operator-clear.base.argb32.ref.png | Bin 0 -> 1070 bytes + test/operator-clear.base.rgb24.ref.png | Bin 0 -> 950 bytes + test/operator-source.base.argb32.ref.png | Bin 0 -> 5630 bytes + test/operator-source.base.rgb24.ref.png | Bin 0 -> 3979 bytes + test/operator.base.argb32.ref.png | Bin 0 -> 238 bytes + test/operator.base.rgb24.ref.png | Bin 0 -> 189 bytes + test/over-above-source.base.argb32.ref.png | Bin 0 -> 533 bytes + test/over-above-source.base.rgb24.ref.png | Bin 0 -> 450 bytes + test/over-around-source.base.argb32.ref.png | Bin 0 -> 610 bytes + test/over-around-source.base.rgb24.ref.png | Bin 0 -> 492 bytes + test/over-below-source.base.argb32.ref.png | Bin 0 -> 436 bytes + test/over-below-source.base.rgb24.ref.png | Bin 0 -> 378 bytes + test/over-between-source.base.argb32.ref.png | Bin 0 -> 578 bytes + test/over-between-source.base.rgb24.ref.png | Bin 0 -> 461 bytes + test/overlapping-boxes.base.argb32.ref.png | Bin 0 -> 216 bytes + test/overlapping-boxes.base.rgb24.ref.png | Bin 0 -> 204 bytes + test/overlapping-dash-caps.base.argb32.ref.png | Bin 0 -> 3952 bytes + test/overlapping-dash-caps.base.rgb24.ref.png | Bin 0 -> 3952 bytes + test/overlapping-glyphs.base.argb32.ref.png | Bin 0 -> 2684 bytes + test/overlapping-glyphs.base.rgb24.ref.png | Bin 0 -> 1647 bytes + test/paint-clip-fill-aa.base.argb32.ref.png | Bin 0 -> 327 bytes + test/paint-clip-fill-aa.base.rgb24.ref.png | Bin 0 -> 327 bytes + test/paint-clip-fill-mono.base.argb32.ref.png | Bin 0 -> 327 bytes + test/paint-clip-fill-mono.base.rgb24.ref.png | Bin 0 -> 327 bytes + test/paint-repeat.base.argb32.ref.png | Bin 0 -> 122 bytes + test/paint-repeat.base.rgb24.ref.png | Bin 0 -> 122 bytes + test/paint-source-alpha.base.argb32.ref.png | Bin 0 -> 224 bytes + test/paint-source-alpha.base.rgb24.ref.png | Bin 0 -> 224 bytes + .../paint-with-alpha-clip-mask.base.argb32.ref.png | Bin 0 -> 305 bytes + test/paint-with-alpha-clip-mask.base.rgb24.ref.png | Bin 0 -> 305 bytes + test/paint-with-alpha-clip.base.argb32.ref.png | Bin 0 -> 303 bytes + test/paint-with-alpha-clip.base.rgb24.ref.png | Bin 0 -> 303 bytes + ...paint-with-alpha-solid-clip.base.argb32.ref.png | Bin 0 -> 266 bytes + .../paint-with-alpha-solid-clip.base.rgb24.ref.png | Bin 0 -> 266 bytes + test/paint-with-alpha.base.argb32.ref.png | Bin 0 -> 224 bytes + test/paint-with-alpha.base.rgb24.ref.png | Bin 0 -> 224 bytes + test/paint.base.argb32.ref.png | Bin 0 -> 93 bytes + test/paint.base.rgb24.ref.png | Bin 0 -> 93 bytes + test/partial-clip-text-bottom.base.argb32.ref.png | Bin 0 -> 259 bytes + test/partial-clip-text-bottom.base.rgb24.ref.png | Bin 0 -> 259 bytes + test/partial-clip-text-left.base.argb32.ref.png | Bin 0 -> 293 bytes + test/partial-clip-text-left.base.rgb24.ref.png | Bin 0 -> 293 bytes + test/partial-clip-text-right.base.argb32.ref.png | Bin 0 -> 155 bytes + test/partial-clip-text-right.base.rgb24.ref.png | Bin 0 -> 155 bytes + test/partial-clip-text-top.base.argb32.ref.png | Bin 0 -> 173 bytes + test/partial-clip-text-top.base.rgb24.ref.png | Bin 0 -> 173 bytes + ...ial-coverage-half-reference.base.argb32.ref.png | Bin 0 -> 189 bytes + ...tial-coverage-half-reference.base.rgb24.ref.png | Bin 0 -> 189 bytes + .../partial-coverage-reference.base.argb32.ref.png | Bin 0 -> 202 bytes + test/partial-coverage-reference.base.rgb24.ref.png | Bin 0 -> 202 bytes + ...age-three-quarter-reference.base.argb32.ref.png | Bin 0 -> 186 bytes + ...rage-three-quarter-reference.base.rgb24.ref.png | Bin 0 -> 186 bytes + test/path-append.base.argb32.ref.png | Bin 0 -> 6463 bytes + test/path-append.base.rgb24.ref.png | Bin 0 -> 6463 bytes + test/path-stroke-twice.base.argb32.ref.png | Bin 0 -> 205 bytes + test/path-stroke-twice.base.rgb24.ref.png | Bin 0 -> 205 bytes + test/pattern-getters.base.argb32.ref.png | Bin 0 -> 87 bytes + test/pattern-getters.base.rgb24.ref.png | Bin 0 -> 87 bytes + test/pdf-surface-source.base.argb32.ref.png | Bin 0 -> 377 bytes + test/pdf-surface-source.base.rgb24.ref.png | Bin 0 -> 301 bytes + test/pixman-rotate.base.argb32.ref.png | Bin 0 -> 260 bytes + test/pixman-rotate.base.rgb24.ref.png | Bin 0 -> 225 bytes + test/ps-surface-source.base.argb32.ref.png | Bin 0 -> 377 bytes + test/ps-surface-source.base.rgb24.ref.png | Bin 0 -> 301 bytes + test/pthread-same-source.base.argb32.ref.png | Bin 0 -> 1000 bytes + test/pthread-same-source.base.rgb24.ref.png | Bin 0 -> 1000 bytes + test/pthread-show-text.base.argb32.ref.png | Bin 0 -> 29759 bytes + test/pthread-show-text.base.rgb24.ref.png | Bin 0 -> 29759 bytes + test/pthread-similar.base.argb32.ref.png | Bin 0 -> 170 bytes + test/pthread-similar.base.rgb24.ref.png | Bin 0 -> 170 bytes + test/push-group-color.base.argb32.ref.png | Bin 0 -> 2902 bytes + test/push-group-color.base.rgb24.ref.png | Bin 0 -> 2902 bytes + test/push-group-path-offset.base.argb32.ref.png | Bin 0 -> 186 bytes + test/push-group-path-offset.base.rgb24.ref.png | Bin 0 -> 186 bytes + test/push-group.base.argb32.ref.png | Bin 0 -> 3110 bytes + test/push-group.base.rgb24.ref.png | Bin 0 -> 2947 bytes + test/radial-gradient-extend.base.argb32.ref.png | Bin 0 -> 466 bytes + test/radial-gradient-extend.base.rgb24.ref.png | Bin 0 -> 466 bytes + ...radial-gradient-mask-source.base.argb32.ref.png | Bin 0 -> 145713 bytes + .../radial-gradient-mask-source.base.rgb24.ref.png | Bin 0 -> 150945 bytes + test/radial-gradient-mask.base.argb32.ref.png | Bin 0 -> 286065 bytes + test/radial-gradient-mask.base.rgb24.ref.png | Bin 0 -> 286065 bytes + test/radial-gradient-one-stop.base.argb32.ref.png | Bin 0 -> 6306 bytes + test/radial-gradient-one-stop.base.rgb24.ref.png | Bin 0 -> 6306 bytes + test/radial-gradient-source.base.argb32.ref.png | Bin 0 -> 408848 bytes + test/radial-gradient-source.base.rgb24.ref.png | Bin 0 -> 263908 bytes + test/radial-gradient.base.argb32.ref.png | Bin 0 -> 382283 bytes + test/radial-gradient.base.rgb24.ref.png | Bin 0 -> 382283 bytes + test/random-clip.base.argb32.ref.png | Bin 0 -> 308138 bytes + test/random-clip.base.rgb24.ref.png | Bin 0 -> 308138 bytes + ...dom-intersections-curves-eo.base.argb32.ref.png | Bin 0 -> 244476 bytes + ...ndom-intersections-curves-eo.base.rgb24.ref.png | Bin 0 -> 244476 bytes + ...dom-intersections-curves-nz.base.argb32.ref.png | Bin 0 -> 263669 bytes + ...ndom-intersections-curves-nz.base.rgb24.ref.png | Bin 0 -> 263669 bytes + test/random-intersections-eo.base.argb32.ref.png | Bin 0 -> 134729 bytes + test/random-intersections-eo.base.rgb24.ref.png | Bin 0 -> 134729 bytes + ...andom-intersections-nonzero.base.argb32.ref.png | Bin 0 -> 141616 bytes + ...random-intersections-nonzero.base.rgb24.ref.png | Bin 0 -> 141616 bytes + ...cording-surface-extend-none.base.argb32.ref.png | Bin 0 -> 3055 bytes + ...ecording-surface-extend-none.base.rgb24.ref.png | Bin 0 -> 3124 bytes + ...ecording-surface-extend-pad.base.argb32.ref.png | Bin 0 -> 10832 bytes + ...recording-surface-extend-pad.base.rgb24.ref.png | Bin 0 -> 12496 bytes + ...ding-surface-extend-reflect.base.argb32.ref.png | Bin 0 -> 23617 bytes + ...rding-surface-extend-reflect.base.rgb24.ref.png | Bin 0 -> 24139 bytes + ...rding-surface-extend-repeat.base.argb32.ref.png | Bin 0 -> 24112 bytes + ...ording-surface-extend-repeat.base.rgb24.ref.png | Bin 0 -> 24029 bytes + test/recording-surface-over.base.argb32.ref.png | Bin 0 -> 3055 bytes + test/recording-surface-over.base.rgb24.ref.png | Bin 0 -> 3124 bytes + test/recording-surface-source.base.argb32.ref.png | Bin 0 -> 3049 bytes + test/recording-surface-source.base.rgb24.ref.png | Bin 0 -> 3121 bytes + test/rectangle-rounding-error.base.argb32.ref.png | Bin 0 -> 212 bytes + test/rectangle-rounding-error.base.rgb24.ref.png | Bin 0 -> 212 bytes + test/rectilinear-dash.base.argb32.ref.png | Bin 0 -> 291 bytes + test/rectilinear-dash.base.rgb24.ref.png | Bin 0 -> 291 bytes + test/rectilinear-fill.base.argb32.ref.png | Bin 0 -> 151 bytes + test/rectilinear-fill.base.rgb24.ref.png | Bin 0 -> 151 bytes + test/rectilinear-grid.base.argb32.ref.png | Bin 0 -> 610 bytes + test/rectilinear-grid.base.rgb24.ref.png | Bin 0 -> 610 bytes + test/rectilinear-miter-limit.base.argb32.ref.png | Bin 0 -> 145 bytes + test/rectilinear-miter-limit.base.rgb24.ref.png | Bin 0 -> 145 bytes + test/rectilinear-stroke.base.argb32.ref.png | Bin 0 -> 172 bytes + test/rectilinear-stroke.base.rgb24.ref.png | Bin 0 -> 172 bytes + test/reflected-stroke.base.argb32.ref.png | Bin 0 -> 4994 bytes + test/reflected-stroke.base.rgb24.ref.png | Bin 0 -> 4994 bytes + test/rel-path.base.argb32.ref.png | Bin 0 -> 189 bytes + test/rel-path.base.rgb24.ref.png | Bin 0 -> 206 bytes + test/rgb24-ignore-alpha.base.argb32.ref.png | Bin 0 -> 97 bytes + test/rgb24-ignore-alpha.base.rgb24.ref.png | Bin 0 -> 97 bytes + ...te-clip-image-surface-paint.base.argb32.ref.png | Bin 0 -> 303 bytes + ...ate-clip-image-surface-paint.base.rgb24.ref.png | Bin 0 -> 303 bytes + .../rotate-image-surface-paint.base.argb32.ref.png | Bin 0 -> 220 bytes + test/rotate-image-surface-paint.base.rgb24.ref.png | Bin 0 -> 220 bytes + test/rotated-clip.base.argb32.ref.png | Bin 0 -> 3922 bytes + test/rotated-clip.base.rgb24.ref.png | Bin 0 -> 3922 bytes + test/rounded-rectangle-fill.base.argb32.ref.png | Bin 0 -> 890 bytes + test/rounded-rectangle-fill.base.rgb24.ref.png | Bin 0 -> 890 bytes + test/rounded-rectangle-stroke.base.argb32.ref.png | Bin 0 -> 1060 bytes + test/rounded-rectangle-stroke.base.rgb24.ref.png | Bin 0 -> 1060 bytes + ...e-down-source-surface-paint.base.argb32.ref.png | Bin 0 -> 96 bytes + ...le-down-source-surface-paint.base.rgb24.ref.png | Bin 0 -> 96 bytes + test/scale-offset-image.base.argb32.ref.png | Bin 0 -> 9048 bytes + test/scale-offset-image.base.rgb24.ref.png | Bin 0 -> 9048 bytes + test/scale-offset-similar.base.argb32.ref.png | Bin 0 -> 9048 bytes + test/scale-offset-similar.base.rgb24.ref.png | Bin 0 -> 9048 bytes + .../scale-source-surface-paint.base.argb32.ref.png | Bin 0 -> 128 bytes + test/scale-source-surface-paint.base.rgb24.ref.png | Bin 0 -> 117 bytes + test/select-font-face.base.argb32.ref.png | Bin 0 -> 2245 bytes + test/select-font-face.base.rgb24.ref.png | Bin 0 -> 2245 bytes + test/self-copy-overlap.base.argb32.ref.png | Bin 0 -> 1140 bytes + test/self-copy-overlap.base.rgb24.ref.png | Bin 0 -> 213 bytes + test/self-copy.base.argb32.ref.png | Bin 0 -> 257 bytes + test/self-copy.base.rgb24.ref.png | Bin 0 -> 257 bytes + test/self-intersecting.base.argb32.ref.png | Bin 0 -> 208 bytes + test/self-intersecting.base.rgb24.ref.png | Bin 0 -> 208 bytes + test/set-source.base.argb32.ref.png | Bin 0 -> 101 bytes + test/set-source.base.rgb24.ref.png | Bin 0 -> 101 bytes + test/shape-general-convex.base.argb32.ref.png | Bin 0 -> 2532 bytes + test/shape-general-convex.base.rgb24.ref.png | Bin 0 -> 2532 bytes + test/shape-sierpinski.base.argb32.ref.png | Bin 0 -> 54485 bytes + test/shape-sierpinski.base.rgb24.ref.png | Bin 0 -> 54485 bytes + test/show-glyphs-advance.base.argb32.ref.png | Bin 0 -> 1395 bytes + test/show-glyphs-advance.base.rgb24.ref.png | Bin 0 -> 1395 bytes + test/show-glyphs-many.base.argb32.ref.png | Bin 0 -> 96 bytes + test/show-glyphs-many.base.rgb24.ref.png | Bin 0 -> 96 bytes + test/show-text-current-point.base.argb32.ref.png | Bin 0 -> 2185 bytes + test/show-text-current-point.base.rgb24.ref.png | Bin 0 -> 2185 bytes + test/skew-extreme.base.argb32.ref.png | Bin 0 -> 935 bytes + test/skew-extreme.base.rgb24.ref.png | Bin 0 -> 935 bytes + test/smask-fill.base.argb32.ref.png | Bin 0 -> 1170 bytes + test/smask-fill.base.rgb24.ref.png | Bin 0 -> 1170 bytes + test/smask-image-mask.base.argb32.ref.png | Bin 0 -> 619 bytes + test/smask-image-mask.base.rgb24.ref.png | Bin 0 -> 619 bytes + test/smask-mask.base.argb32.ref.png | Bin 0 -> 2353 bytes + test/smask-mask.base.rgb24.ref.png | Bin 0 -> 2353 bytes + test/smask-paint.base.argb32.ref.png | Bin 0 -> 2469 bytes + test/smask-paint.base.rgb24.ref.png | Bin 0 -> 2469 bytes + test/smask-stroke.base.argb32.ref.png | Bin 0 -> 1703 bytes + test/smask-stroke.base.rgb24.ref.png | Bin 0 -> 1703 bytes + test/smask-text.base.argb32.ref.png | Bin 0 -> 1624 bytes + test/smask-text.base.rgb24.ref.png | Bin 0 -> 1624 bytes + test/smask.base.argb32.ref.png | Bin 0 -> 3404 bytes + test/smask.base.rgb24.ref.png | Bin 0 -> 3404 bytes + .../solid-pattern-cache-stress.base.argb32.ref.png | Bin 0 -> 87 bytes + test/solid-pattern-cache-stress.base.rgb24.ref.png | Bin 0 -> 87 bytes + test/source-clip-scale.base.argb32.ref.png | Bin 0 -> 136 bytes + test/source-clip-scale.base.rgb24.ref.png | Bin 0 -> 136 bytes + test/source-clip.base.argb32.ref.png | Bin 0 -> 111 bytes + test/source-clip.base.rgb24.ref.png | Bin 0 -> 111 bytes + .../source-surface-scale-paint.base.argb32.ref.png | Bin 0 -> 120 bytes + test/source-surface-scale-paint.base.rgb24.ref.png | Bin 0 -> 114 bytes + test/spline-decomposition.base.argb32.ref.png | Bin 0 -> 19075 bytes + test/spline-decomposition.base.rgb24.ref.png | Bin 0 -> 19075 bytes + test/stroke-ctm-caps.base.argb32.ref.png | Bin 0 -> 873 bytes + test/stroke-ctm-caps.base.rgb24.ref.png | Bin 0 -> 873 bytes + test/stroke-image.base.argb32.ref.png | Bin 0 -> 1458 bytes + test/stroke-image.base.rgb24.ref.png | Bin 0 -> 1458 bytes + test/stroke-open-box.base.argb32.ref.png | Bin 0 -> 148 bytes + test/stroke-open-box.base.rgb24.ref.png | Bin 0 -> 148 bytes + test/subsurface-image-repeat.base.argb32.ref.png | Bin 0 -> 915 bytes + test/subsurface-image-repeat.base.rgb24.ref.png | Bin 0 -> 915 bytes + test/subsurface-modify-child.base.argb32.ref.png | Bin 0 -> 197 bytes + test/subsurface-modify-child.base.rgb24.ref.png | Bin 0 -> 197 bytes + test/subsurface-modify-parent.base.argb32.ref.png | Bin 0 -> 197 bytes + test/subsurface-modify-parent.base.rgb24.ref.png | Bin 0 -> 197 bytes + test/subsurface-outside-target.base.argb32.ref.png | Bin 0 -> 1149 bytes + test/subsurface-outside-target.base.rgb24.ref.png | Bin 0 -> 1005 bytes + test/subsurface-pad.base.argb32.ref.png | Bin 0 -> 181 bytes + test/subsurface-pad.base.rgb24.ref.png | Bin 0 -> 181 bytes + test/subsurface-reflect.base.argb32.ref.png | Bin 0 -> 210 bytes + test/subsurface-reflect.base.rgb24.ref.png | Bin 0 -> 210 bytes + test/subsurface-repeat.base.argb32.ref.png | Bin 0 -> 197 bytes + test/subsurface-repeat.base.rgb24.ref.png | Bin 0 -> 197 bytes + test/subsurface-similar-repeat.base.argb32.ref.png | Bin 0 -> 197 bytes + test/subsurface-similar-repeat.base.rgb24.ref.png | Bin 0 -> 197 bytes + test/subsurface.base.argb32.ref.png | Bin 0 -> 1281 bytes + test/subsurface.base.rgb24.ref.png | Bin 0 -> 1281 bytes + ...face-pattern-big-scale-down.base.argb32.ref.png | Bin 0 -> 191 bytes + ...rface-pattern-big-scale-down.base.rgb24.ref.png | Bin 0 -> 191 bytes + test/surface-pattern-operator.base.argb32.ref.png | Bin 0 -> 5184 bytes + test/surface-pattern-operator.base.rgb24.ref.png | Bin 0 -> 1913 bytes + ...tern-scale-down-extend-none.base.argb32.ref.png | Bin 0 -> 329 bytes + ...ttern-scale-down-extend-none.base.rgb24.ref.png | Bin 0 -> 329 bytes + ...ttern-scale-down-extend-pad.base.argb32.ref.png | Bin 0 -> 320 bytes + ...attern-scale-down-extend-pad.base.rgb24.ref.png | Bin 0 -> 320 bytes + ...n-scale-down-extend-reflect.base.argb32.ref.png | Bin 0 -> 328 bytes + ...rn-scale-down-extend-reflect.base.rgb24.ref.png | Bin 0 -> 328 bytes + ...rn-scale-down-extend-repeat.base.argb32.ref.png | Bin 0 -> 330 bytes + ...ern-scale-down-extend-repeat.base.rgb24.ref.png | Bin 0 -> 330 bytes + .../surface-pattern-scale-down.base.argb32.ref.png | Bin 0 -> 1326 bytes + test/surface-pattern-scale-down.base.rgb24.ref.png | Bin 0 -> 1326 bytes + test/surface-pattern-scale-up.base.argb32.ref.png | Bin 0 -> 4020 bytes + test/surface-pattern-scale-up.base.rgb24.ref.png | Bin 0 -> 4020 bytes + test/surface-pattern.base.argb32.ref.png | Bin 0 -> 11088 bytes + test/surface-pattern.base.rgb24.ref.png | Bin 0 -> 11088 bytes + test/svg-surface-source.base.argb32.ref.png | Bin 0 -> 377 bytes + test/svg-surface-source.base.rgb24.ref.png | Bin 0 -> 301 bytes + test/text-antialias-gray.base.argb32.ref.png | Bin 0 -> 975 bytes + test/text-antialias-gray.base.rgb24.ref.png | Bin 0 -> 975 bytes + test/text-antialias-none.base.argb32.ref.png | Bin 0 -> 265 bytes + test/text-antialias-none.base.rgb24.ref.png | Bin 0 -> 265 bytes + test/text-antialias-subpixel.base.argb32.xfail.png | Bin 0 -> 925 bytes + test/text-antialias-subpixel.base.rgb24.xfail.png | Bin 0 -> 925 bytes + test/text-glyph-range.base.argb32.ref.png | Bin 0 -> 1991 bytes + test/text-glyph-range.base.rgb24.ref.png | Bin 0 -> 1991 bytes + test/text-pattern.base.argb32.ref.png | Bin 0 -> 1695 bytes + test/text-pattern.base.rgb24.ref.png | Bin 0 -> 1397 bytes + test/text-rotate.base.argb32.ref.png | Bin 0 -> 16599 bytes + test/text-rotate.base.rgb24.ref.png | Bin 0 -> 16599 bytes + test/text-transform.base.argb32.ref.png | Bin 0 -> 5579 bytes + test/text-transform.base.rgb24.ref.png | Bin 0 -> 5579 bytes + test/tiger.base.argb32.ref.png | Bin 0 -> 94370 bytes + test/tiger.base.rgb24.ref.png | Bin 0 -> 94370 bytes + test/tighten-bounds.base.argb32.ref.png | Bin 0 -> 8457 bytes + test/tighten-bounds.base.rgb24.ref.png | Bin 0 -> 7832 bytes + test/transforms.base.argb32.ref.png | Bin 0 -> 299 bytes + test/transforms.base.rgb24.ref.png | Bin 0 -> 299 bytes + test/translate-show-surface.base.argb32.ref.png | Bin 0 -> 96 bytes + test/translate-show-surface.base.rgb24.ref.png | Bin 0 -> 96 bytes + test/trap-clip.base.argb32.ref.png | Bin 0 -> 5753 bytes + test/trap-clip.base.rgb24.ref.png | Bin 0 -> 5379 bytes + test/twin-antialias-gray.base.argb32.ref.png | Bin 0 -> 4053 bytes + test/twin-antialias-gray.base.rgb24.ref.png | Bin 0 -> 4053 bytes + test/twin-antialias-mixed.base.argb32.ref.png | Bin 0 -> 1639 bytes + test/twin-antialias-mixed.base.rgb24.ref.png | Bin 0 -> 1639 bytes + test/twin-antialias-none.base.argb32.ref.png | Bin 0 -> 747 bytes + test/twin-antialias-none.base.rgb24.ref.png | Bin 0 -> 747 bytes + test/twin-antialias-subpixel.base.argb32.ref.png | Bin 0 -> 4053 bytes + test/twin-antialias-subpixel.base.rgb24.ref.png | Bin 0 -> 4053 bytes + test/twin.base.argb32.ref.png | Bin 0 -> 4053 bytes + test/twin.base.rgb24.ref.png | Bin 0 -> 4053 bytes + test/unaligned-box.base.argb32.ref.png | Bin 0 -> 526 bytes + test/unaligned-box.base.rgb24.ref.png | Bin 0 -> 526 bytes + test/unantialiased-shapes.base.argb32.ref.png | Bin 0 -> 3977 bytes + test/unantialiased-shapes.base.rgb24.ref.png | Bin 0 -> 3977 bytes + test/unbounded-operator.base.argb32.ref.png | Bin 0 -> 2756 bytes + test/unbounded-operator.base.rgb24.ref.png | Bin 0 -> 1289 bytes + test/unclosed-strokes.base.argb32.ref.png | Bin 0 -> 1482 bytes + test/unclosed-strokes.base.rgb24.ref.png | Bin 0 -> 1482 bytes + test/user-font-mask.base.argb32.ref.png | Bin 0 -> 5476 bytes + test/user-font-mask.base.rgb24.ref.png | Bin 0 -> 5476 bytes + test/user-font-proxy.base.argb32.ref.png | Bin 0 -> 16798 bytes + test/user-font-proxy.base.rgb24.ref.png | Bin 0 -> 16798 bytes + test/user-font-rescale.base.argb32.ref.png | Bin 0 -> 14852 bytes + test/user-font-rescale.base.rgb24.ref.png | Bin 0 -> 14852 bytes + test/user-font.base.argb32.ref.png | Bin 0 -> 5439 bytes + test/user-font.base.rgb24.ref.png | Bin 0 -> 5439 bytes + test/white-in-noop.base.argb32.ref.png | Bin 0 -> 95 bytes + test/white-in-noop.base.rgb24.ref.png | Bin 0 -> 95 bytes + test/world-map-fill.base.argb32.ref.png | Bin 0 -> 57451 bytes + test/world-map-fill.base.rgb24.ref.png | Bin 0 -> 57451 bytes + test/world-map-stroke.base.argb32.ref.png | Bin 0 -> 65217 bytes + test/world-map-stroke.base.rgb24.ref.png | Bin 0 -> 65217 bytes + test/world-map.base.argb32.ref.png | Bin 0 -> 70536 bytes + test/world-map.base.rgb24.ref.png | Bin 0 -> 70536 bytes + test/xcb-huge-image-shm.base.argb32.ref.png | Bin 0 -> 97 bytes + test/xcb-huge-image-shm.base.rgb24.ref.png | Bin 0 -> 97 bytes + test/xcb-snapshot-assert.base.argb32.ref.png | Bin 0 -> 97 bytes + test/xcb-snapshot-assert.base.rgb24.ref.png | Bin 0 -> 97 bytes + test/xcb-stress-cache.base.argb32.ref.png | Bin 0 -> 97 bytes + test/xcb-stress-cache.base.rgb24.ref.png | Bin 0 -> 97 bytes + test/xcb-surface-source.base.argb32.ref.png | Bin 0 -> 377 bytes + test/xcb-surface-source.base.rgb24.ref.png | Bin 0 -> 301 bytes + test/xcomposite-projection.base.argb32.ref.png | Bin 0 -> 1112 bytes + test/xcomposite-projection.base.rgb24.ref.png | Bin 0 -> 1112 bytes + test/xlib-expose-event.base.argb32.ref.png | Bin 0 -> 40717 bytes + test/xlib-expose-event.base.rgb24.ref.png | Bin 0 -> 40717 bytes + test/xlib-surface-source.base.argb32.ref.png | Bin 0 -> 377 bytes + test/xlib-surface-source.base.rgb24.ref.png | Bin 0 -> 301 bytes + test/zero-alpha.base.argb32.ref.png | Bin 0 -> 91 bytes + test/zero-alpha.base.rgb24.ref.png | Bin 0 -> 91 bytes + test/zero-mask.base.argb32.ref.png | Bin 0 -> 402 bytes + test/zero-mask.base.rgb24.ref.png | Bin 0 -> 382 bytes + 760 files changed, 760 insertions(+), 2 deletions(-) + +commit f1ea9dd8368b77907d8cf2edf486e8c983e65731 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 15 11:08:04 2011 +0100 + + test: Use the trapezoid reference image for random-clip + + Oh dear it looks like we have a bug in image's polygon clipping. + + test/random-clip.ref.png | Bin 204789 -> 311369 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit ffbf6158be101553cd88eb3ad5dbcebac00a3774 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 15 10:13:40 2011 +0100 + + perf: Add an a1-pixel variant + + Just to measure the overhead and differences when switching between + antialiasing paths. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-micro.c | 1 + + perf/cairo-perf.h | 1 + + perf/micro/pixel.c | 22 ++++++++++++++++++++++ + 3 files changed, 24 insertions(+) + +commit 9ab9d635cd54b36c701bed29b6029b002e9bcc36 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 14 23:08:19 2011 +0100 + + test: Add ref image for random-clip + + After applying geometric clip intersection, this is the acceptable + result. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 1 + + test/random-clip.ref.png | Bin 0 -> 204789 bytes + 2 files changed, 1 insertion(+) + +commit 8f9691f2b7e51ba1d88a879f887e4c97b069e5fa +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 14 23:06:31 2011 +0100 + + test: Fix ref images for a1-clip-* + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/a1-clip-fill-equal.ref.png | Bin 148 -> 120 bytes + test/a1-clip-fill.ref.png | Bin 148 -> 120 bytes + test/a1-clip-paint.ref.png | Bin 148 -> 120 bytes + test/a1-clip-stroke.ref.png | Bin 148 -> 120 bytes + 4 files changed, 0 insertions(+), 0 deletions(-) + +commit 472e4515de8896abfa605fda35d6c18bfa6958d2 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 14 20:17:02 2011 +0100 + + image: fix compilation of spans with LERP + + src/cairo-image-compositor.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +commit 872e1c87b31a1e8199ec6aa4cf5c0b0647ceb0ea +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 14 20:15:40 2011 +0100 + + skia: fix compilation + + src/skia/cairo-skia-surface.cpp | 1 - + 1 file changed, 1 deletion(-) + +commit cf71821a331f0b5243d828c66c92a26822151d03 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 14 19:03:05 2011 +0100 + + mono: Amalgamate adjacent spans + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-mono-scan-converter.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit db41096b38d4a9a18e534ac829d566b294576c8f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 14 19:21:45 2011 +0100 + + perf/micro: Add the PS tiger as a measure for the antialias hints + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-micro.c | 1 + + perf/cairo-perf.h | 1 + + perf/micro/Makefile.sources | 1 + + perf/micro/tiger.c | 115 ++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 118 insertions(+) + +commit 9f605b0c8469db24931bd44bb7e5339fd7b902ef +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 14 18:59:32 2011 +0100 + + test: Add the PS tiger + + The classic tiger's head; a simple example of a reasonably complex shape + consisting of multiple layers. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.am | 2 +- + test/Makefile.refs | 23 +- + test/Makefile.sources | 1 + + test/a1-tiger.ref.png | Bin 0 -> 20330 bytes + test/tiger.c | 85 ++ + test/tiger.inc | 2316 +++++++++++++++++++++++++++++++++++++++++++++++++ + test/tiger.ref.png | Bin 0 -> 71094 bytes + 7 files changed, 2422 insertions(+), 5 deletions(-) + +commit 8a80bbf78d3c3933d7a3012b26fbd2801af14031 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 14 19:03:59 2011 +0100 + + image: Adapt to updated pixman lerp operators + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +commit e3131242b25d2d875f1e725f74912fadc8cd43d5 +Author: Uli Schlachter <psychon@znc.in> +Date: Wed Sep 14 15:50:19 2011 +0200 + + xlib-xcb: Make this compile again + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xlib-core-compositor.c | 4 ++++ + src/cairo-xlib-render-compositor.c | 4 ++++ + src/cairo-xlib-xcb-surface.c | 26 ++++++-------------------- + 3 files changed, 14 insertions(+), 20 deletions(-) + +commit af11d26752d73b5530f84478da7cc14a80cd9421 +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Sep 3 14:09:58 2011 +0200 + + xcb: Remove some dead code + + surface->use_pixmap always had the value 0. This code is taken from cairo-xlib. + However, in cairo-xlib use_pixmap is set to 20 if XGetImage() fails. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-private.h | 1 - + src/cairo-xcb-surface.c | 24 +++++++++++------------- + 2 files changed, 11 insertions(+), 14 deletions(-) + +commit cd69c8ef68496f6c6c78e375f831a81ac99c12e4 +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Sep 3 14:05:44 2011 +0200 + + cairo_clip_path_t: Remove extents + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-clip-private.h | 2 -- + 1 file changed, 2 deletions(-) + +commit 7cf7ee5e299bf03f1efd100739545f66a4acc24b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 14 12:44:27 2011 +0100 + + traps: Skip compositing an empty bounded regions + + Fixes the cairo-xlib crash with tighten-bounds. (I thought I had fixed + it earlier, but I was obviously wrong.) + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-traps-compositor.c | 23 ++++++++++++++--------- + 1 file changed, 14 insertions(+), 9 deletions(-) + +commit dc2ed6dca26ca97372d2d44b953a983907650168 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Sep 13 22:25:38 2011 +0930 + + Refresh some pdf/ps ref images + + configure.ac | 5 ++--- + test/README | 8 +------- + test/a1-line-width.pdf.ref.png | Bin 0 -> 177 bytes + test/a1-line-width.ps.ref.png | Bin 0 -> 179 bytes + test/a1-mask.pdf.ref.png | Bin 0 -> 106 bytes + test/a1-mask.ps.ref.png | Bin 0 -> 106 bytes + test/caps-tails-curve.ps.ref.png | Bin 0 -> 39753 bytes + test/clip-disjoint.ps.ref.png | Bin 4680 -> 4037 bytes + test/clip-group-shapes-circles.ps.ref.png | Bin 0 -> 678 bytes + test/dash-caps-joins.ps.ref.png | Bin 3669 -> 3648 bytes + test/dash-infinite-loop.ps.ref.png | Bin 617 -> 601 bytes + test/dash-offset-negative.pdf.ref.png | Bin 0 -> 129 bytes + test/degenerate-pen.ps.ref.png | Bin 759 -> 753 bytes + test/drunkard-tails.ps.ref.png | Bin 0 -> 3780 bytes + test/extend-pad-border.pdf.ref.png | Bin 0 -> 495 bytes + test/fill-alpha-pattern.pdf.ref.png | Bin 0 -> 2945 bytes + test/fill-alpha-pattern.ps3.argb32.ref.png | Bin 4070 -> 3484 bytes + test/fill-alpha-pattern.ps3.ref.png | Bin 4380 -> 0 bytes + test/fill-alpha-pattern.ps3.rgb24.ref.png | Bin 4473 -> 0 bytes + test/fill-alpha.ps.argb32.ref.png | Bin 0 -> 2248 bytes + test/text-pattern.pdf.argb32.ref.png | Bin 1810 -> 1515 bytes + test/text-pattern.pdf.rgb24.ref.png | Bin 1559 -> 1339 bytes + test/text-pattern.ps2.argb32.ref.png | Bin 0 -> 1646 bytes + test/text-pattern.ps2.rgb24.ref.png | Bin 0 -> 1646 bytes + test/text-pattern.ps3.argb32.ref.png | Bin 966 -> 881 bytes + test/text-pattern.ps3.rgb24.ref.png | Bin 924 -> 862 bytes + test/text-transform.pdf.argb32.ref.png | Bin 0 -> 5507 bytes + test/text-transform.pdf.ref.png | Bin 5586 -> 0 bytes + test/text-transform.pdf.rgb24.ref.png | Bin 0 -> 5507 bytes + test/text-transform.ps.ref.png | Bin 3430 -> 0 bytes + test/text-transform.ps2.ref.png | Bin 0 -> 3943 bytes + test/text-transform.ps3.ref.png | Bin 0 -> 3943 bytes + 32 files changed, 3 insertions(+), 10 deletions(-) + +commit 3e655f081921c8caa0b6d2bedfbe5f6174e999a1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 13 09:39:42 2011 +0100 + + traps: Send unaligned boxes as trapezoids + + According to the little fishies this performs significantly better. + As a bonus, it did not handle overlapping boxes correctly... + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-mono-scan-converter.c | 2 +- + src/cairo-traps-compositor.c | 32 ++++++++++++-------------------- + 2 files changed, 13 insertions(+), 21 deletions(-) + +commit 05a73434fc5ce8157af70b4950ca9de4c6dd7a46 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 13 09:40:35 2011 +0100 + + perf/stats: Avoid overflow when summing time-squared + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-stats.c | 13 ++++++------- + 1 file changed, 6 insertions(+), 7 deletions(-) + +commit 8218f5278e99a4f82113b6290500f0661402019e +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Sep 13 18:52:50 2011 +0930 + + ps: turn off debug + + src/cairo-ps-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 4f2c7b8cf8cf85c485b5a41ab5bc6c589d347eaa +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Sep 12 15:49:13 2011 +0100 + + mono-scan-converter: Decrement height as we skip straight edges + + Fixes paint-clip-fill-mono. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-mono-scan-converter.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit a6a48e05597e700df74384a5063f787de45a8d83 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Sep 12 15:43:42 2011 +0100 + + test: Update ref images + + First pass after the recent turmoil in clip and antialias handling. + + perf/cairo-perf-micro.c | 6 ++++-- + test/Makefile.refs | 14 +++++++------- + test/a1-bug.ref.png | Bin 3736 -> 3220 bytes + test/a8-clear.ref.png | Bin 271 -> 272 bytes + test/aliasing.ref.png | Bin 104672 -> 76314 bytes + test/arc-looping-dash.ref.png | Bin 464 -> 348 bytes + test/big-line.ref.png | Bin 977 -> 897 bytes + test/big-little-triangle.argb32.ref.png | Bin 409 -> 408 bytes + test/big-little-triangle.rgb24.ref.png | Bin 328 -> 324 bytes + test/bug-extents.ref.png | Bin 9162 -> 6364 bytes + test/bug-seams.ref.png | Bin 1604 -> 1364 bytes + test/caps-joins-alpha.ref.png | Bin 2570 -> 2345 bytes + test/caps-joins-curve.ref.png | Bin 5725 -> 4527 bytes + test/caps-joins.ref.png | Bin 2380 -> 2621 bytes + test/caps-sub-paths.ref.png | Bin 197 -> 176 bytes + test/caps-tails-curve.ref.png | Bin 52888 -> 41476 bytes + test/caps.ref.png | Bin 1601 -> 1687 bytes + test/clear-source.ref.png | Bin 881 -> 779 bytes + test/clear.argb32.ref.png | Bin 695 -> 539 bytes + test/clear.rgb24.ref.png | Bin 618 -> 484 bytes + test/clip-disjoint-hatching.ref.png | Bin 8794 -> 4390 bytes + test/clip-disjoint.ref.png | Bin 5520 -> 3934 bytes + test/clip-fill-eo-unbounded.argb32.ref.png | Bin 3668 -> 3970 bytes + test/clip-fill-nz-unbounded.argb32.ref.png | Bin 3668 -> 3970 bytes + test/clip-fill-rule.argb32.ref.png | Bin 0 -> 371 bytes + test/clip-fill-rule.ref.png | Bin 431 -> 0 bytes + test/clip-fill-rule.rgb24.ref.png | Bin 390 -> 338 bytes + test/clip-fill.ref.png | Bin 1035 -> 836 bytes + test/clip-group-shapes-circles.ref.png | Bin 1511 -> 1180 bytes + test/clip-image.ref.png | Bin 2679 -> 2679 bytes + test/clip-intersect.ref.png | Bin 201 -> 201 bytes + test/clip-mixed-antialias.ref.png | Bin 1085 -> 981 bytes + test/clip-nesting.argb32.ref.png | Bin 0 -> 1072 bytes + test/clip-nesting.ref.png | Bin 1050 -> 0 bytes + test/clip-nesting.rgb24.ref.png | Bin 963 -> 949 bytes + test/clip-push-group.ref.png | Bin 164 -> 166 bytes + test/clip-shape.ref.png | Bin 3094 -> 2249 bytes + test/clip-stroke-unbounded.argb32.ref.png | Bin 3545 -> 3887 bytes + test/clip-stroke.ref.png | Bin 1439 -> 1207 bytes + test/clip-text.ref.png | Bin 928 -> 796 bytes + test/clip-twice.argb32.ref.png | Bin 0 -> 1077 bytes + test/clip-twice.ref.png | Bin 1342 -> 0 bytes + test/clip-twice.rgb24.ref.png | Bin 1203 -> 976 bytes + test/close-path-current-point.ref.png | Bin 1893 -> 1675 bytes + test/close-path.ref.png | Bin 312 -> 271 bytes + test/copy-path.ref.png | Bin 579 -> 513 bytes + test/dash-caps-joins.ref.png | Bin 4520 -> 4030 bytes + test/dash-curve.ref.png | Bin 41284 -> 22615 bytes + test/dash-infinite-loop.ref.png | Bin 642 -> 626 bytes + test/dash-scale.ref.png | Bin 7616 -> 6314 bytes + test/dash-state.ref.png | Bin 9389 -> 7642 bytes + test/dash-zero-length.ref.png | Bin 238 -> 232 bytes + test/dash-zero-length.rgb24.ref.png | Bin 218 -> 218 bytes + test/degenerate-arc.ref.png | Bin 646 -> 690 bytes + test/degenerate-curve-to.ref.png | Bin 276 -> 227 bytes + test/degenerate-dash.ref.png | Bin 2086 -> 1845 bytes + test/degenerate-path.argb32.ref.png | Bin 240 -> 253 bytes + test/degenerate-path.rgb24.ref.png | Bin 210 -> 212 bytes + test/degenerate-pen.ref.png | Bin 997 -> 752 bytes + test/degenerate-rel-curve-to.ref.png | Bin 270 -> 227 bytes + test/drunkard-tails.ref.png | Bin 6273 -> 3853 bytes + test/extended-blend-alpha-mask.rgb24.ref.png | Bin 4594 -> 4597 bytes + test/extended-blend-alpha.rgb24.ref.png | Bin 5743 -> 5740 bytes + test/extended-blend-solid-alpha.rgb24.ref.png | Bin 5743 -> 5740 bytes + test/extended-blend-solid.rgb24.ref.png | Bin 3772 -> 3775 bytes + test/extended-blend.rgb24.ref.png | Bin 3772 -> 3775 bytes + test/fill-alpha-pattern.ref.png | Bin 3374 -> 2962 bytes + test/fill-alpha.ref.png | Bin 2728 -> 2167 bytes + test/fill-and-stroke-alpha-add.ref.png | Bin 562 -> 536 bytes + test/fill-and-stroke-alpha.ref.png | Bin 515 -> 462 bytes + test/fill-and-stroke.argb32.ref.png | Bin 313 -> 269 bytes + test/fill-and-stroke.rgb24.ref.png | Bin 287 -> 252 bytes + test/fill-degenerate-sort-order.argb32.ref.png | Bin 0 -> 1929 bytes + test/fill-degenerate-sort-order.ref.png | Bin 2399 -> 0 bytes + test/fill-degenerate-sort-order.rgb24.ref.png | Bin 2052 -> 1689 bytes + test/fill-image.ref.png | Bin 1317 -> 972 bytes + test/fill-missed-stop.ref.png | Bin 466 -> 455 bytes + test/fill-missed-stop.rgb24.ref.png | Bin 394 -> 382 bytes + test/fill-rule.ref.png | Bin 2065 -> 1769 bytes + test/fill-rule.rgb24.ref.png | Bin 1780 -> 1591 bytes + test/finer-grained-fallbacks.argb32.ref.png | Bin 1068 -> 993 bytes + test/finer-grained-fallbacks.rgb24.ref.png | Bin 837 -> 786 bytes + test/font-matrix-translation.ref.png | Bin 1006 -> 874 bytes + test/ft-show-glyphs-positioning.ref.png | Bin 3444 -> 3297 bytes + test/ft-show-glyphs-table.ref.png | Bin 11439 -> 9893 bytes + test/ft-text-vertical-layout-type3.ref.png | Bin 3616 -> 3222 bytes + test/glyph-cache-pressure.ref.png | Bin 3223 -> 2863 bytes + test/gradient-alpha.rgb24.ref.png | Bin 142 -> 119 bytes + test/gradient-constant-alpha.rgb24.ref.png | Bin 116 -> 106 bytes + test/group-unaligned.ref.png | Bin 434 -> 325 bytes + test/halo-transform.ref.png | Bin 15086 -> 11313 bytes + test/halo.ref.png | Bin 8839 -> 7297 bytes + test/hatchings.ref.png | Bin 99316 -> 45398 bytes + test/infinite-join.ref.png | Bin 194 -> 142 bytes + test/inverse-text.ref.png | Bin 2150 -> 2166 bytes + test/joins-loop.ref.png | Bin 4646 -> 3112 bytes + test/joins-retrace.ref.png | Bin 4787 -> 3951 bytes + test/joins-star.ref.png | Bin 4362 -> 4028 bytes + test/joins.ref.png | Bin 5708 -> 4880 bytes + test/large-twin-antialias-mixed.ref.png | Bin 16668 -> 10740 bytes + test/leaky-dashed-stroke.ref.png | Bin 9387 -> 5627 bytes + test/leaky-polygon.ref.png | Bin 368 -> 281 bytes + test/line-width-overlap-rotated.ref.png | Bin 866 -> 719 bytes + test/line-width-overlap.ref.png | Bin 296 -> 324 bytes + test/line-width-scale.ref.png | Bin 5716 -> 3568 bytes + test/linear-gradient-subset.ref.png | Bin 825 -> 802 bytes + test/linear-gradient.ref.png | Bin 983 -> 961 bytes + test/long-dashed-lines.ref.png | Bin 2070 -> 1453 bytes + test/mask-alpha.argb32.ref.png | Bin 0 -> 596 bytes + test/mask-alpha.ref.png | Bin 632 -> 0 bytes + test/mask-alpha.rgb24.ref.png | Bin 599 -> 546 bytes + test/mask.argb32.ref.png | Bin 0 -> 8218 bytes + test/mask.ref.png | Bin 8603 -> 0 bytes + test/mask.rgb24.ref.png | Bin 7216 -> 7007 bytes + test/new-sub-path.argb32.ref.png | Bin 421 -> 331 bytes + test/new-sub-path.rgb24.ref.png | Bin 381 -> 303 bytes + test/operator-clear.argb32.ref.png | Bin 0 -> 1080 bytes + test/operator-clear.ref.png | Bin 1070 -> 0 bytes + test/operator-clear.rgb24.ref.png | Bin 965 -> 948 bytes + test/over-above-source.ref.png | Bin 560 -> 511 bytes + test/over-above-source.rgb24.ref.png | Bin 466 -> 421 bytes + test/over-around-source.ref.png | Bin 645 -> 578 bytes + test/over-around-source.rgb24.ref.png | Bin 503 -> 257 bytes + test/over-below-source.ref.png | Bin 434 -> 413 bytes + test/over-below-source.rgb24.ref.png | Bin 392 -> 322 bytes + test/over-between-source.ref.png | Bin 612 -> 561 bytes + test/over-between-source.rgb24.ref.png | Bin 473 -> 406 bytes + test/overlapping-boxes.argb32.ref.png | Bin 216 -> 179 bytes + test/overlapping-dash-caps.ref.png | Bin 3982 -> 2424 bytes + test/overlapping-glyphs.argb32.ref.png | Bin 2696 -> 2258 bytes + test/overlapping-glyphs.rgb24.ref.png | Bin 1650 -> 1390 bytes + test/paint-with-alpha-clip-mask.ref.png | Bin 333 -> 348 bytes + test/paint-with-alpha-clip.ref.png | Bin 302 -> 290 bytes + test/partial-clip-text-bottom.ref.png | Bin 263 -> 259 bytes + test/partial-clip-text-left.ref.png | Bin 303 -> 293 bytes + test/partial-clip-text-right.ref.png | Bin 156 -> 155 bytes + test/path-append.ref.png | Bin 6165 -> 4424 bytes + test/path-stroke-twice.ref.png | Bin 206 -> 209 bytes + test/pthread-show-text.ref.png | Bin 29885 -> 29759 bytes + test/push-group-color.ref.png | Bin 2902 -> 2676 bytes + test/push-group.ref.png | Bin 3060 -> 2829 bytes + test/push-group.rgb24.ref.png | Bin 2912 -> 2684 bytes + test/random-intersections-curves-eo.ref.png | Bin 245762 -> 156582 bytes + test/random-intersections-curves-nz.ref.png | Bin 264545 -> 151318 bytes + test/random-intersections-eo.ref.png | Bin 136018 -> 85197 bytes + test/random-intersections-nonzero.ref.png | Bin 141154 -> 83247 bytes + test/record-fill-alpha.ref.png | Bin 2728 -> 2173 bytes + test/record-paint-alpha-clip-mask.ref.png | Bin 333 -> 325 bytes + test/record-paint-alpha-clip.ref.png | Bin 302 -> 299 bytes + test/recording-surface-over.rgb24.ref.png | Bin 3162 -> 3128 bytes + test/rectilinear-miter-limit.ref.png | Bin 177 -> 145 bytes + test/reflected-stroke.ref.png | Bin 4978 -> 3410 bytes + test/rel-path.ref.png | Bin 198 -> 177 bytes + test/rel-path.rgb24.ref.png | Bin 214 -> 184 bytes + test/rotate-clip-image-surface-paint.ref.png | Bin 331 -> 312 bytes + test/rotated-clip.ref.png | Bin 3761 -> 2743 bytes + test/rounded-rectangle-fill.ref.png | Bin 787 -> 563 bytes + test/rounded-rectangle-stroke.ref.png | Bin 871 -> 569 bytes + test/scale-offset-image.ref.png | Bin 9953 -> 7688 bytes + test/scale-offset-similar.ref.png | Bin 9953 -> 7688 bytes + test/select-font-face.ref.png | Bin 2473 -> 2245 bytes + test/self-copy.ref.png | Bin 291 -> 258 bytes + test/shape-general-convex.ref.png | Bin 3470 -> 1869 bytes + test/shape-sierpinski.ref.png | Bin 54485 -> 43504 bytes + test/show-glyphs-advance.ref.png | Bin 1410 -> 1395 bytes + test/show-text-current-point.ref.png | Bin 2411 -> 2185 bytes + test/skew-extreme.ref.png | Bin 1012 -> 904 bytes + test/smask-fill.ref.png | Bin 1156 -> 1134 bytes + test/smask-stroke.ref.png | Bin 1714 -> 1598 bytes + test/smask-text.ref.png | Bin 1672 -> 1623 bytes + test/smask.ref.png | Bin 3396 -> 3401 bytes + test/spline-decomposition.ref.png | Bin 19569 -> 10005 bytes + test/stroke-ctm-caps.ref.png | Bin 873 -> 921 bytes + test/stroke-image.ref.png | Bin 1344 -> 972 bytes + test/subsurface.ref.png | Bin 1811 -> 1281 bytes + test/surface-pattern-operator.argb32.ref.png | Bin 5217 -> 4807 bytes + test/surface-pattern-operator.rgb24.ref.png | Bin 1942 -> 1866 bytes + test/text-antialias-gray.ref.png | Bin 1084 -> 975 bytes + test/text-antialias-subpixel.ref.png | Bin 1102 -> 1004 bytes + test/text-glyph-range.ref.png | Bin 2211 -> 1729 bytes + test/text-pattern.ref.png | Bin 1717 -> 1685 bytes + test/text-pattern.rgb24.ref.png | Bin 1414 -> 1392 bytes + test/text-rotate.ref.png | Bin 16722 -> 14682 bytes + test/transforms.ref.png | Bin 361 -> 341 bytes + test/trap-clip.ref.png | Bin 5820 -> 5741 bytes + test/trap-clip.rgb24.ref.png | Bin 5457 -> 5328 bytes + test/twin-antialias-gray.ref.png | Bin 3979 -> 2292 bytes + test/twin-antialias-mixed.ref.png | Bin 2338 -> 1639 bytes + test/twin-antialias-none.ref.png | Bin 718 -> 747 bytes + test/twin-antialias-subpixel.ref.png | Bin 3979 -> 2292 bytes + test/twin.ref.png | Bin 3979 -> 2292 bytes + test/unantialiased-shapes.ref.png | Bin 3968 -> 3926 bytes + test/unclosed-strokes.ref.png | Bin 1689 -> 1432 bytes + test/user-font-mask.ref.png | Bin 6011 -> 5476 bytes + test/user-font-proxy.ref.png | Bin 16937 -> 14023 bytes + test/user-font-rescale.ref.png | Bin 15937 -> 14852 bytes + test/user-font.ref.png | Bin 6270 -> 4939 bytes + test/world-map-fill.ref.png | Bin 57308 -> 45440 bytes + test/world-map-stroke.ref.png | Bin 65219 -> 43370 bytes + test/world-map.ref.png | Bin 70611 -> 65880 bytes + test/xcomposite-projection.ref.png | Bin 1112 -> 1108 bytes + 201 files changed, 11 insertions(+), 9 deletions(-) + +commit 0f26f75eda317efc9e448c875110b846b224d463 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Sep 12 13:18:29 2011 +0100 + + perf/micro: Add measurement of setting the pixel directly using pixman + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/micro/pixel.c | 38 ++++++++++++++++++++++++++++++++++++++ + 1 file changed, 38 insertions(+) + +commit 7b6586a7385a529d7bfaa463541715f74f4a904d +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Mon Sep 12 21:46:55 2011 +0930 + + scaled-subsets: ensure different glyphs with same utf8 mapping are not merged together + + If a glyph maps to a latin char that is already assigned in the latin + subset, put the glyph in a non latin subset. + + src/cairo-scaled-font-subsets.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +commit 497258a4cf62e526f88e44c177eec6d9adf74ed0 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Mon Sep 12 22:01:09 2011 +0930 + + ft: fix warning + + src/cairo-ft-font.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit b0d9b4ce539477bc14724369c445acde1d1f4bd6 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Mon Sep 12 21:53:59 2011 +0930 + + pdf: add status check + + src/cairo-pdf-surface.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +commit 65a954d5bab9ab6fed15bd98b7018aca2fc50107 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Sep 12 11:39:59 2011 +0100 + + test-surfaces: compilation fixes + + Update to the last minute changes in the traps compositor API. + + And so it begins. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/test-base-compositor-surface.c | 86 -------------------------------------- + src/test-null-compositor-surface.c | 8 ---- + 2 files changed, 94 deletions(-) + +commit af9fbd176b145f042408ef5391eef2a51d7531f8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Jul 30 17:28:21 2011 +0100 + + Introduce a new compositor architecture + + Having spent the last dev cycle looking at how we could specialize the + compositors for various backends, we once again look for the + commonalities in order to reduce the duplication. In part this is + motivated by the idea that spans is a good interface for both the + existent GL backend and pixman, and so they deserve a dedicated + compositor. xcb/xlib target an identical rendering system and so they + should be using the same compositor, and it should be possible to run + that same compositor locally against pixman to generate reference tests. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + P.S. This brings massive upheaval (read breakage) I've tried delaying in + order to fix as many things as possible but now this one patch does far, + far, far too much. Apologies in advance for breaking your favourite + backend, but trust me in that the end result will be much better. :) + + boilerplate/cairo-boilerplate-test-surfaces.c | 351 +- + boilerplate/cairo-boilerplate-xlib.c | 3 +- + boilerplate/cairo-boilerplate.c | 14 +- + configure.ac | 4 +- + perf/Makefile.sources | 3 +- + perf/cairo-perf-compare-backends.c | 6 +- + perf/cairo-perf-diff-files.c | 47 +- + perf/cairo-perf-micro.c | 108 +- + perf/cairo-perf-report.c | 7 +- + perf/cairo-perf-trace.c | 136 +- + perf/cairo-perf.h | 16 +- + perf/cairo-stats.c | 66 +- + perf/micro/Makefile.sources | 5 + + perf/micro/a1-curve.c | 112 + + perf/micro/a1-line.c | 223 ++ + perf/micro/box-outline.c | 119 +- + perf/micro/composite-checker.c | 9 +- + perf/micro/curve.c | 9 +- + perf/micro/disjoint.c | 6 + + perf/micro/dragon.c | 9 +- + perf/micro/fill-clip.c | 126 + + perf/micro/fill.c | 9 +- + perf/micro/glyphs.c | 9 +- + perf/micro/hash-table.c | 9 +- + perf/micro/hatching.c | 9 +- + perf/micro/intersections.c | 9 +- + perf/micro/line.c | 9 +- + perf/micro/long-dashed-lines.c | 9 +- + perf/micro/long-lines.c | 9 +- + perf/micro/many-curves.c | 9 +- + perf/micro/many-fills.c | 9 +- + perf/micro/many-strokes.c | 13 +- + perf/micro/mask.c | 6 + + perf/micro/mosaic.c | 9 +- + perf/micro/paint-with-alpha.c | 9 +- + perf/micro/paint.c | 9 +- + perf/micro/pattern_create_radial.c | 9 +- + perf/micro/pixel.c | 177 + + perf/micro/pythagoras-tree.c | 9 +- + perf/micro/rectangles.c | 9 +- + perf/micro/rounded-rectangles.c | 9 +- + perf/micro/sierpinski.c | 94 + + perf/micro/spiral.c | 9 +- + perf/micro/stroke.c | 9 +- + perf/micro/subimage_copy.c | 9 +- + perf/micro/tessellate.c | 9 +- + perf/micro/text.c | 9 +- + perf/micro/twin.c | 9 +- + perf/micro/unaligned-clip.c | 9 +- + perf/micro/wave.c | 9 +- + perf/micro/wide-fills.c | 9 +- + perf/micro/wide-strokes.c | 9 +- + perf/micro/world-map.c | 9 +- + perf/micro/zrusin.c | 8 +- + src/Makefile.sources | 42 +- + src/cairo-analysis-surface.c | 77 +- + src/cairo-array-private.h | 90 + + src/cairo-array.c | 11 +- + src/cairo-atomic-private.h | 5 + + src/cairo-bentley-ottmann-rectangular.c | 55 +- + src/cairo-bentley-ottmann-rectilinear.c | 69 +- + src/cairo-bentley-ottmann.c | 154 +- + src/cairo-botor-scan-converter.c | 5 +- + src/cairo-box-private.h | 48 +- + src/cairo-boxes-intersect.c | 47 +- + src/cairo-boxes-private.h | 16 +- + src/cairo-boxes.c | 77 +- + src/cairo-cff-subset.c | 8 +- + src/cairo-clip-boxes.c | 42 +- + src/cairo-clip-private.h | 23 +- + src/cairo-clip-region.c | 8 +- + src/cairo-clip-surface.c | 39 +- + src/cairo-clip-tor-scan-converter.c | 1845 +++++++++ + src/cairo-clip.c | 20 +- + src/cairo-composite-rectangles-private.h | 38 +- + src/cairo-composite-rectangles.c | 179 +- + src/cairo-compositor-private.h | 355 ++ + src/cairo-compositor.c | 213 + + src/cairo-default-context.c | 3 +- + src/cairo-fallback-compositor.c | 174 + + src/cairo-freed-pool-private.h | 6 +- + src/cairo-ft-font.c | 1 - + src/cairo-gl-composite.c | 1148 +----- + src/cairo-gl-device.c | 20 +- + src/cairo-gl-glyphs.c | 382 +- + src/cairo-gl-operand.c | 538 +++ + src/cairo-gl-private.h | 106 +- + src/cairo-gl-shaders.c | 69 +- + src/cairo-gl-spans-compositor.c | 502 +++ + src/cairo-gl-surface.c | 1021 +---- + src/cairo-gl-traps-compositor.c | 550 +++ + src/cairo-gstate.c | 341 +- + src/cairo-image-compositor.c | 1545 +++++++ + src/cairo-image-mask-compositor.c | 408 ++ + src/cairo-image-source.c | 975 +++++ + src/cairo-image-spans-compositor.c | 131 + + src/cairo-image-surface-private.h | 88 +- + src/cairo-image-surface.c | 4213 +------------------- + src/cairo-mask-compositor.c | 1412 +++++++ + src/cairo-matrix.c | 6 + + src/cairo-mesh-pattern-rasterizer.c | 1 + + src/cairo-mime-surface.c | 18 +- + src/cairo-mono-scan-converter.c | 607 +++ + src/cairo-no-compositor.c | 107 + + src/cairo-output-stream.c | 2 + + src/cairo-paginated-surface.c | 29 +- + src/cairo-path-bounds.c | 28 +- + src/cairo-path-fill.c | 69 +- + src/cairo-path-fixed-private.h | 4 + + src/cairo-path-fixed.c | 57 + + src/cairo-path-stroke-boxes.c | 90 +- + src/cairo-path-stroke-polygon.c | 71 +- + src/cairo-path-stroke-tristrip.c | 1088 +++++ + src/cairo-path-stroke.c | 10 +- + src/cairo-pattern-private.h | 58 +- + src/cairo-pattern.c | 1137 +----- + src/cairo-pdf-operators.c | 2 +- + src/cairo-pdf-shading.c | 2 + + src/cairo-pdf-surface.c | 83 +- + src/cairo-polygon-intersect.c | 69 +- + src/cairo-polygon.c | 52 +- + src/cairo-ps-surface.c | 211 +- + src/cairo-quartz-image-surface.c | 160 +- + src/cairo-quartz-surface.c | 802 ++-- + src/cairo-recording-surface-private.h | 6 + + src/cairo-recording-surface.c | 131 +- + src/cairo-rectangular-scan-converter.c | 75 +- + src/cairo-reference-count-private.h | 1 + + src/cairo-scaled-font-private.h | 68 +- + src/cairo-scaled-font.c | 111 +- + src/cairo-script-private.h | 3 +- + src/cairo-script-surface.c | 179 +- + src/cairo-slope.c | 4 +- + src/cairo-spans-compositor-private.h | 96 + + src/cairo-spans-compositor.c | 1007 +++++ + src/cairo-spans-private.h | 55 +- + src/cairo-spans.c | 108 - + src/cairo-spline.c | 53 +- + src/cairo-stroke-style.c | 10 +- + src/cairo-surface-backend-private.h | 196 + + src/cairo-surface-fallback-private.h | 112 +- + src/cairo-surface-fallback.c | 1563 +------- + src/cairo-surface-observer-private.h | 24 +- + src/cairo-surface-observer.c | 227 +- + src/cairo-surface-private.h | 1 + + src/cairo-surface-snapshot-private.h | 3 +- + src/cairo-surface-snapshot.c | 17 +- + src/cairo-surface-subsurface-private.h | 22 +- + src/cairo-surface-subsurface.c | 21 +- + src/cairo-surface-wrapper-private.h | 1 + + src/cairo-surface-wrapper.c | 6 +- + src/cairo-surface.c | 1212 +----- + src/cairo-svg-surface.c | 26 +- + src/cairo-time-private.h | 19 +- + src/cairo-time.c | 37 +- + src/cairo-tor-scan-converter.c | 265 +- + src/cairo-tor22-scan-converter.c | 1707 ++++++++ + src/cairo-traps-compositor.c | 2032 ++++++++++ + src/cairo-traps-private.h | 126 + + src/cairo-traps.c | 61 + + src/cairo-tristrip-private.h | 94 + + src/cairo-tristrip.c | 185 + + src/cairo-truetype-subset.c | 2 + + src/cairo-type1-fallback.c | 2 + + src/cairo-type1-subset.c | 2 + + src/cairo-type3-glyph-surface.c | 35 +- + src/cairo-types-private.h | 34 +- + src/cairo-wideint-private.h | 6 + + src/cairo-wideint.c | 16 + + src/cairo-win32-printing-surface.c | 19 +- + src/cairo-win32-surface.c | 2 +- + src/cairo-xcb-connection.c | 2 +- + src/cairo-xcb-private.h | 4 +- + src/cairo-xcb-surface-core.c | 1 + + src/cairo-xcb-surface-render.c | 507 +-- + src/cairo-xcb-surface.c | 33 +- + src/cairo-xlib-core-compositor.c | 524 +++ + src/cairo-xlib-display.c | 243 +- + ...-surface.h => cairo-xlib-fallback-compositor.c} | 30 +- + src/cairo-xlib-private.h | 254 +- + src/cairo-xlib-render-compositor.c | 1685 ++++++++ + src/cairo-xlib-screen.c | 20 +- + src/cairo-xlib-source.c | 938 +++++ + src/cairo-xlib-surface-private.h | 71 +- + src/cairo-xlib-surface.c | 4210 ++++--------------- + src/cairo.c | 1 + + src/cairo.h | 45 +- + src/cairoint.h | 631 +-- + src/skia/cairo-skia-context.cpp | 1 + + src/skia/cairo-skia-surface.cpp | 220 +- + src/test-base-compositor-surface.c | 942 +++++ + ...surface.h => test-compositor-surface-private.h} | 22 +- + src/test-compositor-surface.c | 259 ++ + ...allback-surface.h => test-compositor-surface.h} | 39 +- + src/test-fallback-surface.c | 244 -- + src/test-fallback16-surface.c | 241 -- + src/test-null-compositor-surface.c | 480 +++ + ...16-surface.h => test-null-compositor-surface.h} | 28 +- + src/test-null-surface.c | 195 - + src/test-paginated-surface.c | 24 +- + src/test-wrapping-surface.c | 281 -- + test/Makefile.refs | 9 +- + test/Makefile.sources | 5 +- + test/a1-clip-fill-rule.argb32.ref.png | Bin 0 -> 236 bytes + test/a1-clip-fill-rule.rgb24.ref.png | Bin 0 -> 218 bytes + test/a1-rectilinear-grid.ref.png | Bin 0 -> 207 bytes + test/cairo-test-trace.c | 195 +- + test/clear-source.c | 2 +- + test/clip-fill-rule.c | 13 + + test/map-to-image.c | 4 +- + test/overlapping-boxes.argb32.ref.png | Bin 0 -> 216 bytes + test/overlapping-boxes.c | 96 + + test/overlapping-boxes.rgb24.ref.png | Bin 0 -> 204 bytes + test/rectilinear-grid.c | 14 + + test/shape-sierpinski.c | 85 + + test/shape-sierpinski.ref.png | Bin 0 -> 54485 bytes + test/test-fallback16-surface-source.c | 43 - + test/test-fallback16-surface-source.ps.ref.png | Bin 292 -> 0 bytes + ...allback16-surface-source.svg12.argb32.xfail.png | Bin 278 -> 0 bytes + ...fallback16-surface-source.svg12.rgb24.xfail.png | Bin 278 -> 0 bytes + test/zero-mask.c | 6 +- + util/cairo-script/cairo-script-interpreter.c | 1 + + util/cairo-script/cairo-script-operators.c | 12 +- + util/cairo-trace/trace.c | 114 +- + util/show-polygon.c | 31 +- + 225 files changed, 28084 insertions(+), 18494 deletions(-) + +commit 0540bf384aed344899417d3b0313bd6704679c1c +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Sep 10 23:39:15 2011 +0930 + + ps: improve formatting of fallback image comment + + src/cairo-ps-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 2d887d99c74f2097021a1f4f7c1d2306b8f9b429 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Sep 10 23:21:28 2011 +0930 + + ps: use reusable stream for mesh pattern data + + File data used by a shading pattern must reusable since the pattern + may read the file multiple times. As currentfile is not reusable, use + the /ReusableStreamDecode to make it reusable. + + src/cairo-ps-surface.c | 29 ++++++++++++++++++----------- + 1 file changed, 18 insertions(+), 11 deletions(-) + +commit d8ac76bcec6518f99b21feb0981c4887e89700b7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 9 19:43:48 2011 +0100 + + perf/Makefile.am: Add missing '\' line continuation + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/Makefile.am | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit ee15e030d8c76df1163706b99369151a93a03524 +Author: Paulo Zanoni <paulo.r.zanoni@intel.com> +Date: Fri Sep 9 14:17:39 2011 -0300 + + cairo-test-runner: don't leak argv + + If CAIRO_TESTS is set, argv will be replaced by a xmaloc'ed variable. We + need to free it. + + This can be easily detected by running: + CAIRO_TESTS=user-font make check-valgrind TARGETS=image + + Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/cairo-test-runner.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +commit 572479ec20c967f91c22a4e49e705c105d37a1dc +Author: Paulo Zanoni <paulo.r.zanoni@intel.com> +Date: Fri Sep 9 14:16:21 2011 -0300 + + test/README: add missing "S" + + Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/README | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 669242c2c8009b2a257131ba1a3cf497b9472cc4 +Author: Paulo Zanoni <paulo.r.zanoni@intel.com> +Date: Fri Sep 9 14:14:48 2011 -0300 + + test: fix append_argv() + + When I ran "CAIRO_TESTS=a1-bug make test", no test executed because of a + bug in append_argv(). The "olen" variable was assuming that we always + only append a single argument to argv and the resulting argc was also + wrong. + + Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/cairo-test-runner.c | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +commit 166be70cb8f7232b71916261d5e2b14f709c08bf +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Sep 9 22:30:49 2011 +0930 + + pdf: latin text must use character codes in the toUnicode CMap, not glyph indices + + src/cairo-pdf-surface.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 80fc566eaf9ba0307d3f556e20b4a20c47b37afc +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Sep 8 19:29:16 2011 +0930 + + cff: strip subset tag when reading font name + + so we don't end up with two subset tags in the font name when cairo + appends its own subset tag. + + src/cairo-cff-subset.c | 21 ++++++++++++++++++--- + 1 file changed, 18 insertions(+), 3 deletions(-) + +commit 7dca94fbc48b20280fa0a27cd46b00dba42aea97 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Sep 6 23:50:46 2011 +0930 + + pdf: use interpolate in image smask + + src/cairo-pdf-surface.c | 37 ++++++++++++++++++++----------------- + 1 file changed, 20 insertions(+), 17 deletions(-) + +commit d47e05f8c222c0b7641af85d7ed6f50ee03297c4 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Sep 6 23:41:12 2011 +0930 + + ps/pdf: fix the polarity of stencil masks + + src/cairo-pdf-surface.c | 3 ++- + src/cairo-ps-surface.c | 2 +- + 2 files changed, 3 insertions(+), 2 deletions(-) + +commit a7ed3dd9143601c4e70696cece6d2b78f2c6053a +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Sep 6 23:21:35 2011 +0930 + + ps: support stencil masks + + When the mask is an A1 image (or can be reduced to A1) use the imagemask operator. + + src/cairo-ps-surface.c | 295 ++++++++++++++++++++++++++++++++++--------------- + 1 file changed, 206 insertions(+), 89 deletions(-) + +commit c34d6adfccfe9dc7f76a0ab970914dd8f6e626b0 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Sep 6 21:36:54 2011 +0930 + + pdf: use _emit_smask() instead of _emit_imagemask to emit stencil mask + + Now that _emit_smask() can generate A1 masks, the _emit_imagemask() + code can be removed and emit_smask() used instead. An additional + benefit is stencil masks can be generated from ARGB32 and A8 images as + well as A1 providing that the analysis of the transparency shows that + the image is opaque or has bilevel alpha. + + src/cairo-pdf-surface-private.h | 2 +- + src/cairo-pdf-surface.c | 143 +++++++++++++++++++--------------------- + 2 files changed, 68 insertions(+), 77 deletions(-) + +commit d6d3825b51f51f5897099ffd7989fa7ca4cb0378 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Mon Sep 5 22:31:53 2011 +0930 + + ps: each row of 1-bit image data needs to begin on a byte boundary + + src/cairo-ps-surface.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 3614892d8d4d527cc98e44f72a9caaff05c8f86b +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Mon Sep 5 22:30:15 2011 +0930 + + pdf: each row of 1-bit image data needs to begin on a byte boundary + + src/cairo-pdf-surface.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +commit 42fecf37dc2e8f63fbe4c9560f224fe141c59f3b +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Sep 4 22:39:57 2011 +0930 + + pdf: use ink extents in content stream XObjects + + src/cairo-pdf-surface.c | 67 ++++++++++++++++++++++++++----------------------- + 1 file changed, 36 insertions(+), 31 deletions(-) + +commit d1f146b54f2c13c8786e389eb4d731dfc33d8bb7 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Sep 4 20:52:02 2011 +0930 + + pdf: use ink extents for pattern bbox + + src/cairo-pdf-surface-private.h | 1 + + src/cairo-pdf-surface.c | 89 ++++++++++++++++++++++++++--------------- + 2 files changed, 57 insertions(+), 33 deletions(-) + +commit 37a22669d80cf970dab3aa3e7a8ec673c1462342 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Sep 4 20:43:07 2011 +0930 + + pdf: use ink extents for smask bbox + + There are some inkscape bugs reporting very slow rendering of inkscape + generated PDFs (inkscape uses cairo for PDF output). These bugs are + caused by cairo specifying a page sized bounding box in XObjects and + Patterns. PDF renderers usually use the BBox as the image size when + compositing. As PDFs generated from SVG tends to use a lot of XObjects + and Patterns this can lead to very long rendering times. + + These three patches tighten up all the BBoxes in PDF output. + + src/cairo-pattern.c | 44 +++++++++++++++++ + src/cairo-pdf-surface-private.h | 2 + + src/cairo-pdf-surface.c | 102 ++++++++++++++++++++++++++++++---------- + src/cairo-types-private.h | 5 ++ + src/cairoint.h | 4 ++ + 5 files changed, 132 insertions(+), 25 deletions(-) + +commit 6ad63946d4374ad30ef7fbdad421d85bfd8da423 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Sep 4 15:19:21 2011 -0700 + + cairo-missing: Fix build + + The cairo-missing code contains multiple typos and uses + _cairo_*alloc*() functions without including cairo-malloc-private.h + + util/cairo-missing/Makefile.win32 | 4 ++-- + util/cairo-missing/getline.c | 9 +++++---- + util/cairo-missing/strndup.c | 7 +++++-- + 3 files changed, 12 insertions(+), 8 deletions(-) + +commit ed84cb522cc9a65ac89b2b008010ecfe78dde7de +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Sep 4 15:18:34 2011 -0700 + + wideint: Fix build on suncc + + "static cairo_private" means nothing and suncc complains loudly about + it. The visibility of _cairo_double_to_uint64() and + _cairo_uint64_to_double() should just be "static". + + src/cairo-wideint-private.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 01729606fb5026ca5b4c8ac67a083c065be8d7a0 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Sep 4 15:17:20 2011 -0700 + + malloc: Fix build on suncc + + cairo-malloc-private.h depends on malloc() and realloc() being + declared, hence it should include stdlib.h. + + src/cairo-malloc-private.h | 1 + + 1 file changed, 1 insertion(+) + +commit 761ef7ae8bad6d76f0f5e550882c5991fc0f92b1 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Sep 4 15:16:30 2011 -0700 + + cairo-missing: Fix and cleanup ssize_t type definition + + The definition of ssize_t is needed in cairo-missing.h and can be + dropped from files which include it. + + perf/cairo-analyse-trace.c | 2 -- + perf/cairo-perf-report.c | 6 ------ + perf/cairo-perf-trace.c | 2 -- + util/cairo-missing/cairo-missing.h | 8 ++++++++ + 4 files changed, 8 insertions(+), 10 deletions(-) + +commit 60e04ff49eb818e9628c2e1421f5368655c61bea +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Sep 4 14:09:54 2011 -0700 + + observer: Fix build on suncc + + Returning a void value is an error on suncc and causes a warning on msvc: + cairo-surface-observer.c(1273) : warning C4098: + '_cairo_surface_observer_release_source_image' : 'void' function + returning a value + + src/cairo-surface-observer.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit b0aec95c8e43622c942c08d6dd8f6ab032983ed5 +Author: Jesse van den Kieboom <jessevdk@gnome.org> +Date: Sun Aug 14 18:12:28 2011 +0200 + + quartz: Rename declaration of _cairo_quartz_create_cgimage + + The function was renamed in 81efbc1847c4b9c08440d76bbc1636b21cac16d8 + but the prototype was not updated. + + Silences the warning: + cairo-quartz-surface.c:165: warning: no previous prototype for 'CairoQuartzCreateCGImage' + + Along with 0c620080afa892f7bb642cc90fb72aafbebad16d, fixes + https://bugs.freedesktop.org/show_bug.cgi?id=40082 + + src/cairo-quartz-private.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 968eb30bba1dc942ccd31e4450fdd3bb74c83cb6 +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Sep 1 13:34:43 2011 +0200 + + xcb: Steal from the pending list for GetImage + + Before using some piece of SHM again, we must be sure that the X11 server is no + longer working with it. For this, we send a GetInputFocus when we are done with + the SHM locally and will only use the memory again when the reply comes in. + + However, if we are allocating the memory for SHM GetImage, then we can re-use + memory earlier, because the server processes requests in order. So it will only + start writing to the memory after it is done with earlier requests for this + memory. So instead of using GetInputFocus for synchronisation, the SHM GetImage + request will automatically do this for us. + + Thanks to Chris Wilson for this idea. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-private.h | 2 ++ + src/cairo-xcb-shm.c | 18 ++++++++++++++++++ + src/cairo-xcb-surface-core.c | 4 ++-- + src/cairo-xcb-surface.c | 3 +++ + 4 files changed, 25 insertions(+), 2 deletions(-) + +commit ea5255653176dfab0fdfe78a3186587b01559735 +Author: Uli Schlachter <psychon@znc.in> +Date: Wed Aug 31 12:24:20 2011 +0200 + + xcb: Fix fixup_unbounded_with_mask + + This code was casting a pixman_box32_t* to cairo_box_t*. However, a box uses + fixed point numbers while the pixman box uses integers which means the result + was off by factor 256. + + The fix is to replace the use of _cairo_boxes_limit() with + _cairo_boxes_init_with_clip(). However, this means this function no needs to be + passed a clip instead of a clip region which causes some minor changes to + _composite_boxes(). + + This improves the result for tighten-bounds again. Out of the tested + combinations, 10 are fixed by this. This bug was hit by code similar to this + (Repeating here since that test has so many different cases): + + cairo_set_operator (cr, CAIRO_OPERATOR_IN); + cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD); + cairo_rectangle (cr, 0, 0, SIZE, SIZE); + cairo_rectangle (cr, 0, 0, SIZE, SIZE); + cairo_rectangle (cr, SIZE / 4, SIZE / 4, SIZE / 2, SIZE / 2); + cairo_clip_preserve (cr); + cairo_fill (cr); + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +commit ed7f992c1345e46aadf7b5b60350e483c11bf518 +Author: Uli Schlachter <psychon@znc.in> +Date: Wed Aug 31 11:41:00 2011 +0200 + + xcb: Skip drawing if bounded extents are empty + + This only wraps the whole code block in an if which checks if the bounded + extents are empty. No other changes are done in here. + + This fixes the failed assertion from the tighten-bounds test. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 52 ++++++++++++++++++++++-------------------- + 1 file changed, 27 insertions(+), 25 deletions(-) + +commit 1bcc27985fe76a674ea5b8a24b1bad544390b301 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Sep 2 12:51:10 2011 +0200 + + perf: Fix win32 build + + Microsoft C Compiler complains about: + + hash-table.c(44) : error C2466: cannot allocate an array of constant + size 0 + + Adding an unused element makes it happy. + + perf/micro/hash-table.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +commit b1a1dfcdcfb865a4867541f91897f7dda556d206 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Sep 2 12:34:04 2011 +0200 + + win32: Fix linking + + round() is not available on win32 and causes the linking to fail with: + + cairo-surface-observer.obj : error LNK2019: unresolved external symbol + round referenced in function percent + + src/cairo-surface-observer.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 04a7bad9237a1e0f2887328860ba29695ad32199 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Sep 2 12:25:48 2011 +0200 + + surface: Fix make check + + cairo_surface_map_to_image() and cairo_surface_unmap_image() are + called by cairo-surface-observer but they are not slim_hidden: + + Checking .libs/libcairo.so for local PLT entries + 00000000002e27a8 0000019d00000007 R_X86_64_JUMP_SLOT + 000000000005df30 cairo_surface_unmap_image + 0 + 00000000002e2b90 0000026100000007 R_X86_64_JUMP_SLOT + 000000000005f5c0 cairo_surface_map_to_image + 0 + + src/cairo-surface.c | 2 ++ + src/cairoint.h | 2 ++ + 2 files changed, 4 insertions(+) + +commit 14fab8f84a18aca57d0426944b161fe85cc51444 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Sep 2 12:25:02 2011 +0200 + + script: Fix make check + + make check fails because cairo-script-private.h cannot be compiled + standalone: + + ./cairo-script-private.h:45:1: error: unknown type name ‘cairo_private’ + ... + + ./cairo-script-private.h:48:40: error: unknown type name ‘cairo_output_stream_t’ + + src/cairo-script-private.h | 2 ++ + 1 file changed, 2 insertions(+) + +commit 297aa4d4a0a007461f998588e80b9fbde1718876 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Aug 31 17:08:27 2011 +0200 + + perf: Fix readme + + The README in perf/ was not updated when cairo-perf.c was renamed to + cairo-perf-micro.c + + perf/README | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit dcd3e2cde13dcf56c3281911c98b2356b41ae877 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Aug 31 17:03:33 2011 +0200 + + perf: Get rid of cairo_perf_ticks_per_second() + + The cairo_time_from_s() and cairo_time_to_s() functions should be used + instead. + + perf/cairo-perf-micro.c | 16 ++++++++-------- + perf/cairo-perf-trace.c | 46 +++++++++++++++++++++++----------------------- + perf/cairo-perf.c | 6 ------ + perf/cairo-perf.h | 3 --- + 4 files changed, 31 insertions(+), 40 deletions(-) + +commit 9172e2aec0bfd7ac9ae464726bc79ace2d4d7113 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Aug 31 17:55:07 2011 +0200 + + perf: Drop cairo_perf_ticks_t in favor of cairo_time_t + + cairo_time_t offers a superset of the functions provided by + cairo_perf_ticks_t. + + perf/README | 2 +- + perf/cairo-perf-micro.c | 6 +++--- + perf/cairo-perf-report.c | 8 ++++---- + perf/cairo-perf-trace.c | 4 ++-- + perf/cairo-perf.h | 16 +++++++--------- + perf/cairo-stats.c | 9 ++++----- + perf/cairo-stats.h | 6 +++--- + perf/micro/box-outline.c | 4 ++-- + perf/micro/composite-checker.c | 2 +- + perf/micro/curve.c | 4 ++-- + perf/micro/disjoint.c | 2 +- + perf/micro/dragon.c | 16 ++++++++-------- + perf/micro/fill.c | 6 +++--- + perf/micro/glyphs.c | 4 ++-- + perf/micro/hash-table.c | 2 +- + perf/micro/hatching.c | 16 ++++++++-------- + perf/micro/intersections.c | 12 ++++++------ + perf/micro/line.c | 30 +++++++++++++++--------------- + perf/micro/long-dashed-lines.c | 2 +- + perf/micro/long-lines.c | 10 +++++----- + perf/micro/many-curves.c | 8 ++++---- + perf/micro/many-fills.c | 10 +++++----- + perf/micro/many-strokes.c | 10 +++++----- + perf/micro/mask.c | 18 +++++++++--------- + perf/micro/mosaic.c | 10 +++++----- + 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 | 34 +++++++++++++++++----------------- + perf/micro/stroke.c | 4 ++-- + perf/micro/subimage_copy.c | 2 +- + perf/micro/tessellate.c | 8 ++++---- + perf/micro/text.c | 2 +- + perf/micro/twin.c | 2 +- + perf/micro/unaligned-clip.c | 2 +- + perf/micro/wave.c | 2 +- + perf/micro/wide-fills.c | 10 +++++----- + perf/micro/wide-strokes.c | 10 +++++----- + perf/micro/world-map.c | 8 ++++---- + perf/micro/zrusin.c | 4 ++-- + 43 files changed, 161 insertions(+), 164 deletions(-) + +commit 2855ff4666922f2c38505414270d47f659b0d499 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Aug 31 16:42:03 2011 +0200 + + perf: Reuse cairo-time + + Instead of redefining time getters, use the generic one provided by + _cairo_time_*. + + perf/Makefile.am | 1 + + perf/Makefile.sources | 7 +- + perf/cairo-perf-posix.c | 257 -------------------------------- + perf/cairo-perf-win32.c | 93 ------------ + perf/{cairo-perf-os2.c => cairo-perf.c} | 80 +++++----- + perf/cairo-perf.h | 3 +- + perf/cairo-stats.c | 46 +++--- + 7 files changed, 66 insertions(+), 421 deletions(-) + +commit 6d6bfbd641bbb4de62df704e724e507a7e55b883 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Aug 30 16:16:04 2011 +0200 + + Introduce the cairo-missing library + + The cairo-missing library provides the functions which are needed in + order to correctly compile cairo (or its utilities) and which were not + found during configuration. + + Fixes the build on MacOS X Lion, which failed because of collisons + between the cairo internal getline and strndup and those in libc: + + cairo-analyse-trace.c:282: error: static declaration of ‘getline’ follows non-static declaration + /usr/include/stdio.h:449: error: previous declaration of ‘getline’ was here + cairo-analyse-trace.c:307: error: static declaration of ‘strndup’ follows non-static declaration + ... + + build/configure.ac.system | 2 +- + configure.ac | 1 + + perf/Makefile.am | 5 +++ + perf/cairo-analyse-trace.c | 52 +--------------------- + perf/cairo-perf-report.c | 67 +--------------------------- + perf/cairo-perf-trace.c | 52 +--------------------- + test/Makefile.am | 6 ++- + test/cairo-test-trace.c | 47 +------------------- + util/Makefile.am | 2 +- + util/cairo-missing/Makefile.am | 10 +++++ + util/cairo-missing/Makefile.sources | 8 ++++ + util/cairo-missing/Makefile.win32 | 10 +++++ + util/cairo-missing/cairo-missing.h | 49 ++++++++++++++++++++ + util/cairo-missing/getline.c | 89 +++++++++++++++++++++++++++++++++++++ + util/cairo-missing/strndup.c | 54 ++++++++++++++++++++++ + 15 files changed, 237 insertions(+), 217 deletions(-) + +commit 0101a545793291d0fe76b765ba8392ade5faa1a1 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Aug 30 16:15:28 2011 +0200 + + time: Add cairo_time_t type + + Add the cairo_time_t type (currently based on cairo_uint64_t) and use + it in cairo-observer and in the perf suite. + + Fixes the build on MacOS X (for the src/ subdir) and Win32, whch + failed because they don't provide clock_gettime: + + cairo-surface-observer.c:629: error: implicit declaration of function 'clock_gettime' + cairo-surface-observer.c:629: warning: nested extern declaration of 'clock_gettime' + cairo-surface-observer.c:629: error: 'CLOCK_MONOTONIC' undeclared (first use in this function) + ... + + build/configure.ac.system | 7 +- + configure.ac | 2 +- + perf/Makefile.am | 1 - + src/Makefile.sources | 2 + + src/cairo-surface-observer-private.h | 13 ++- + src/cairo-surface-observer.c | 169 ++++++++++++--------------- + src/cairo-time-private.h | 93 +++++++++++++++ + src/cairo-time.c | 215 +++++++++++++++++++++++++++++++++++ + src/cairo-wideint-private.h | 12 ++ + src/cairo-wideint.c | 16 +++ + 10 files changed, 421 insertions(+), 109 deletions(-) + +commit e7204a3631d29d334511f291db8c31ce0026e2ce +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Sep 1 07:16:43 2011 -0700 + + win32: Fix compilation + + cairo-image-surface-private.h is needed in order to access + cairo_image_surface_t fields. + + Fixes multiple build errors: + + error C2037: left of '...' specifies undefined struct/union + '_cairo_image_surface' + + src/cairo-win32-font.c | 1 + + src/cairo-win32-printing-surface.c | 1 + + src/cairo-win32-surface.c | 1 + + 3 files changed, 3 insertions(+) + +commit 0c620080afa892f7bb642cc90fb72aafbebad16d +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Aug 30 16:15:57 2011 +0200 + + quartz: Fix compilation + + cairo-image-surface-private.h is needed in order to access + cairo_image_surface_t fields. + + Fixes multiple build errors: dereferencing pointer to incomplete type + + src/cairo-quartz-font.c | 1 + + src/cairo-quartz-surface.c | 1 + + 2 files changed, 2 insertions(+) + +commit 6fd174b4233f92fd4a2f490728cbff824c8d404a +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Aug 31 18:29:40 2011 +0200 + + perf: Silence gcc warning + + Silence: + + dragon.c: In function 'do_dragon_solid': + dragon.c:167: warning: unused variable 'r' + + perf/micro/dragon.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d66d9cd777c362e2f99a41aa77bbe3428cf0c60d +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Aug 30 22:19:33 2011 +0200 + + xcb: Fix fallback for *_shm_put_image + + This function shouldn't ever be called is xcb-shm is disabled. However, it is + still defined to avoid lots of #ifdefs. + + Additionally, this removes the only use of uint64_t from cairo-xcb. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-private.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 5f45f696d0a82dd9f9d4534d135fe75ce11b5223 +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Aug 30 22:10:34 2011 +0200 + + xcb: Add an assert for the tighten-bounds test + + This code casts the result of _cairo_xcb_surface_create_similar() to + cairo_xcb_surface_t*. However, the tighten-bounds test makes this run with + bounded extents of size 0x0 and thus _cairo_xcb_surface_create_similar() falls + back to an image surface. Ugly. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 70118ee119c352322860926bd7ce3d0af7c1a3a4 +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Aug 30 22:03:33 2011 +0200 + + test: Add tighten-bounds + + In the spirit of the new big-{little,empty}-{box,triangle} tests, this test + combines various paths. However, these paths are not only filled but also used + for clipping, resulting in 120 different combinations. + + No backend currently succeeds the test. The reference image is a gimp-ination of + the image and test-fallback results and thus certainly wrong. Feel free to fix. + + Additionally, this makes the xcb backend die with an ugly failed assert. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/Makefile.refs | 1 + + test/Makefile.sources | 1 + + test/tighten-bounds.c | 172 ++++++++++++++++++++++++++++++++++++++++++++ + test/tighten-bounds.ref.png | Bin 0 -> 7958 bytes + 4 files changed, 174 insertions(+) + +commit 7df796433357ec1bb9e448406ded9ba48c6d839f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 30 15:17:41 2011 +0100 + + observer: Add missing return codes + + Upon detecting the user error, supply an error code! + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-observer.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 70cd3b473d09e9ad3d803014a904a22639db1a24 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 30 14:24:12 2011 +0100 + + api: Extend cairo_antialias_t to include performace/quality hints + + The existing API only described the method to be used for performing + rasterisation and unlike other API provided no opportunity for the user + to give a hint as to how to trade off performance against speed. So in + order to no be overly prescriptive, we extend the NONE/GRAY/SUBPIXEL + methods with FAST/GOOD/BEST hints and leave the backend to decide how + best to achieve those goals. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-ft-font.c | 3 +++ + src/cairo-quartz-font.c | 3 +++ + src/cairo-script-surface.c | 5 ++++- + src/cairo-surface-observer-private.h | 2 +- + src/cairo-surface-observer.c | 5 ++++- + src/cairo-user-font.c | 3 +++ + src/cairo-vg-surface.c | 5 ++++- + src/cairo-win32-font.c | 3 +++ + src/cairo-xcb-surface-render.c | 3 +++ + src/cairo-xlib-surface.c | 21 ++++++--------------- + src/cairo-xml-surface.c | 11 +++++++---- + src/cairo.h | 25 ++++++++++++++++++++++++- + util/cairo-gobject/cairo-gobject-enums.c | 6 ++++++ + util/cairo-script/cairo-script-operators.c | 3 +++ + util/cairo-trace/trace.c | 5 +++++ + 15 files changed, 79 insertions(+), 24 deletions(-) + +commit 6b1daace578673c72a22a2fac72df9af2312cb10 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Aug 25 18:43:02 2011 +0100 + + perf: Print a summary of each operation for a trace (using '-s') + + In order for this to be effective on small system we also need to + disable the recording of the long traces which exhaust all memory... + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-analyse-trace.c | 4 +- + perf/cairo-perf-trace.c | 117 ++++++++++++++++++----- + src/cairo-surface-observer.c | 219 ++++++++++++++++++++++++++++++------------- + src/cairo.h | 23 ++++- + 4 files changed, 276 insertions(+), 87 deletions(-) + +commit 7ae2708fc8cf5a4983b4a805a4abe3b018b4aff4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 29 15:56:46 2011 +0100 + + test: Add big-empty-triangle + + One last variant to make sure we handle the case of the disappearing + unbounded triangle. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 2 + + test/Makefile.sources | 1 + + test/big-empty-triangle.argb32.ref.png | Bin 0 -> 111 bytes + test/big-empty-triangle.c | 75 +++++++++++++++++++++++++++++++++ + test/big-empty-triangle.rgb24.ref.png | Bin 0 -> 108 bytes + 5 files changed, 78 insertions(+) + +commit f71cfe84fe14959f41be0658db04a260bfb091e9 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 29 15:54:11 2011 +0100 + + test: Add big-empty-box + + Another variant on big-little-box, to make sure we trim the extents + before doing the empty unbounded fixup. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 2 ++ + test/Makefile.sources | 1 + + test/big-empty-box.argb32.ref.png | Bin 0 -> 111 bytes + test/big-empty-box.c | 64 ++++++++++++++++++++++++++++++++++++++ + test/big-empty-box.rgb24.ref.png | Bin 0 -> 108 bytes + 5 files changed, 67 insertions(+) + +commit 249c89c313598487b5eab1a93a06ac9ebcc173b3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 29 15:48:42 2011 +0100 + + test: Add big-little-triangle + + A variant on big-little-triangle to exercise the non-rectangular paths. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 2 + + test/Makefile.sources | 1 + + test/big-little-triangle.argb32.ref.png | Bin 0 -> 409 bytes + test/big-little-triangle.c | 76 ++++++++++++++++++++++++++++++++ + test/big-little-triangle.rgb24.ref.png | Bin 0 -> 328 bytes + 5 files changed, 79 insertions(+) + +commit 2927d13ab260562dc269dc249fb5275da0b82d63 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Mon Aug 29 21:31:09 2011 +0930 + + pdf: use a new clipper object in recording_subsurface + + src/cairo-pdf-surface.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit c317e215fb743e81b82f359022b845ddee4c97ba +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Mon Aug 29 21:27:23 2011 +0930 + + ps/pdf: use a new clipper object when emitting a recording surface + + src/cairo-pdf-surface.c | 6 ++++++ + src/cairo-ps-surface.c | 14 ++++++++++++++ + 2 files changed, 20 insertions(+) + +commit 8d91de49261662bc920739bbb91d22a49016eb81 +Author: Krzysztof Kosiński <tweenk.pl@gmail.com> +Date: Fri Aug 26 22:59:01 2011 +0100 + + test: Add test case from bug-40410 + + Exercises a case where we failed to fill a rectangle... + + test/Makefile.refs | 1 + + test/Makefile.sources | 1 + + test/bug-40410.c | 72 +++++++++++++++++++++++++++++++++++++++++++++++++ + test/bug-40410.ref.png | Bin 0 -> 428 bytes + 4 files changed, 74 insertions(+) + +commit 09d8fc926f685a834020c0c6ae2c26798f770650 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 26 09:36:53 2011 +0100 + + test: Add clip-mixed-antialias + + The wonders one sees when looking at webpages. Who knew people would be + so inventive with clips? + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 6 +- + test/Makefile.sources | 1 + + test/clip-mixed-antialias.c | 128 ++++++++++++++++++++++++++++++++++++++ + test/clip-mixed-antialias.ref.png | Bin 0 -> 1085 bytes + 4 files changed, 134 insertions(+), 1 deletion(-) + +commit bd4445513137821c6165461210372d02a72f72bb +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Wed Aug 24 20:35:10 2011 +0930 + + font-subsets: fix wrong string length + + src/cairo-scaled-font-subsets.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c13249c63af865823c4a6fd940a6f39084eff8c6 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon May 2 13:22:58 2011 -0400 + + [ft] Minor + + src/cairo-ft-font.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 6cdad1931a585e2f1a6a11c7a9a4687660037cd2 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 23 14:39:20 2011 +0100 + + observe: Provide the sum of the elapsed time of the individual operations + + We can use the elapsed time of the indiividual operations to profile the + synchronous throughput of a trace and eliminate all replay overhead. At + the cost of running the trace synchronously of course. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-compare-backends.c | 3 +-- + perf/cairo-perf-trace.c | 36 +++++++++++++++++++++----- + perf/cairo-perf.h | 1 + + src/cairo-surface-observer.c | 52 +++++++++++++++++++++++++++++++++----- + src/cairo.h | 5 ++++ + 5 files changed, 83 insertions(+), 14 deletions(-) + +commit ba1060fbbc62bd364d65787bb0c88281c67a534a +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Aug 23 00:32:51 2011 +0930 + + cff-subset: fix decoding of real numbers + + src/cairo-cff-subset.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit cdb00dec4231d2dd3c2f9c98c3533a716d71cf8c +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Aug 21 20:12:42 2011 +0930 + + cff-subset: don't easily give up parsing a charstring if we already have the width + + The 2 byte operators can be ignored of we don't need or have already found + the width. + + src/cairo-cff-subset.c | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +commit 23dfd92b29508623fce8570fc625a79df12bd883 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Aug 21 18:27:07 2011 +0930 + + cff-subset: fallback when parsing the charstrings in bare cff fonts fails + + We need to parse all used charstrings in bare CFF fonts to extract the widths. + + src/cairo-cff-subset.c | 23 +++++++++++++++++------ + 1 file changed, 17 insertions(+), 6 deletions(-) + +commit c3e990ea7ddc59d73d27d65420062855de265b72 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 20 16:29:00 2011 +0100 + + observer: correct classification of aligned paths + + We were misclassifying rectilinear paths as aligned strokes, which is + bogus until we analyse the offset path. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-observer.c | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +commit bb3d06a5dc6cd1eef368a9679a67ff8341860ac1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 20 16:00:13 2011 +0100 + + test: Add shape-general-concave + + A discussion that we've been having is the use of contours in filling, + and for optimizing for convex contours in particular. A devious mind + quickly generates a shape using a convex "contour" whose hull is larger + than its area. This is due to the self-intersection of the "contour" + which if properly excised causes the contour to be classed as concave. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 4 +- + test/Makefile.sources | 1 + + test/shape-general-convex.c | 88 ++++++++++++++++++++++++++++++++++++++ + test/shape-general-convex.ref.png | Bin 0 -> 3470 bytes + 4 files changed, 90 insertions(+), 3 deletions(-) + +commit 2134306eaf3fda10ca89f0acac9ef6d69888690e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 19 12:22:52 2011 +0100 + + test: Extend rotate-image-surface-paint + + Apply two common clipping methods just to add a little bit of further + complication. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 5 ++ + test/clip-rotate-image-surface-paint.ref.png | Bin 0 -> 202 bytes + test/rotate-clip-image-surface-paint.ref.png | Bin 0 -> 331 bytes + test/rotate-image-surface-paint.c | 73 +++++++++++++++++++++++++++ + 4 files changed, 78 insertions(+) + +commit 9f6820210d992a860c88e2a42c1f4bcd4a2de816 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 19 13:30:46 2011 +0100 + + test: Extend record-extend to exercise similar surface sources + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 4 ++ + test/record-extend-none-similar.ref.png | Bin 0 -> 293 bytes + test/record-extend-pad-similar.ref.png | Bin 0 -> 298 bytes + test/record-extend-reflect-similar.ref.png | Bin 0 -> 335 bytes + test/record-extend-repeat-similar.ref.png | Bin 0 -> 286 bytes + test/record-extend.c | 112 +++++++++++++++++++++++------ + 6 files changed, 94 insertions(+), 22 deletions(-) + +commit f8f25f52ecbe5934e17eb6ba6dcea9f9359ba83c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 19 12:52:33 2011 +0100 + + test: Add record-mesh + + Test capture and replay of mesh patterns. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 1 + + test/Makefile.sources | 1 + + test/record-mesh.c | 166 +++++++++++++++++++++++++++++++++++++++++++++++ + test/record-mesh.ref.png | Bin 0 -> 15229 bytes + 4 files changed, 168 insertions(+) + +commit 4226bfd695d39cff758491eb792bb85c5395b5dc +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 19 15:02:11 2011 +0100 + + test: Add big-little-box + + This exercises the bug + + https://bugzilla.mozilla.org/show_bug.cgi?id=668921 + + which is caused by a failure to tighten the extents after tessellating + the path and the unbounded fixup is skipped as it is believed the path + covers the whole area. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 2 ++ + test/Makefile.sources | 1 + + test/big-little-box.argb32.ref.png | Bin 0 -> 169 bytes + test/big-little-box.c | 69 +++++++++++++++++++++++++++++++++++++ + test/big-little-box.rgb24.ref.png | Bin 0 -> 160 bytes + 5 files changed, 72 insertions(+) + +commit 2eeae45cc71817a803c911f2fba4771bc40d3045 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 19 09:53:40 2011 +0100 + + test: Add checkerboard + + Simply tests the rendering of the checkerboard commonly used as a + background in the test suite. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 4 +--- + test/Makefile.sources | 1 + + test/checkerboard.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++ + test/checkerboard.ref.png | Bin 0 -> 142 bytes + 4 files changed, 50 insertions(+), 3 deletions(-) + +commit 4d6c62514ccd9604af29df0d24e74e5d24f4607d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 20 13:02:00 2011 +0100 + + observer: bypass surface mid-layer and call into recording surface directly + + As we want to record the exact command pass to us, we want to bypass any + further optimisations that the surface mid-layer might perform before + passing the operation to the recording surface. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-observer.c | 115 ++++++++++++++++++++++++++----------------- + 1 file changed, 69 insertions(+), 46 deletions(-) + +commit f49dae8013cf089e18b333a686a7e30c212e4fae +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 20 13:01:01 2011 +0100 + + observer: copy glyphs around call into backend + + As the backend is allowed to modify the glyph array, we need to copy it + for recoding. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-observer.c | 19 ++++++++++++++----- + 1 file changed, 14 insertions(+), 5 deletions(-) + +commit cb243acee59be4802153d7e18ef25d24815bb2e4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 20 12:48:25 2011 +0100 + + recording: optionally disable optimise away clears + + The observer wants to get an accurate recording of all operations, + including clears. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-composite-rectangles.c | 2 -- + src/cairo-recording-surface-private.h | 1 + + src/cairo-recording-surface.c | 12 ++++++------ + src/cairo-surface-observer.c | 25 +++++++++++++++++++++---- + 4 files changed, 28 insertions(+), 12 deletions(-) + +commit 236cb8aa22f780b24e1d1485dc1f5384946fe181 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 20 12:01:09 2011 +0100 + + xlib: Fix typo in snapshotting. + + We want to only copy up to the maximum height, not width... + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 0efdc8d27e40c72b426407b83291a28e5553ffa7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 20 09:36:07 2011 +0100 + + observer: record all operations and their timings + + The immediate use of this is to print out the slowest operation of each + type in a replayable manner. A continuing demonstration of how we may + analyse traces... + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-analyse-trace.c | 2 - + src/Makefile.sources | 1 + + src/cairo-recording-surface-private.h | 5 + + src/cairo-recording-surface.c | 90 ++++++++++ + src/cairo-script-private.h | 56 +++++++ + src/cairo-script-surface.c | 51 +++++- + src/cairo-surface-observer-private.h | 9 + + src/cairo-surface-observer.c | 307 ++++++++++++++++++++++++++++------ + 8 files changed, 464 insertions(+), 57 deletions(-) + +commit 713c8069bea1f2391679cbfa611727703a78eb7e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 19 21:13:42 2011 +0100 + + perf: Cleanup target after each run + + As the trace may leak surfaces over its lifetime, we are forced to + teardown the connection between runs. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-trace.c | 351 ++++++++++++++++++++++++------------------------ + 1 file changed, 172 insertions(+), 179 deletions(-) + +commit 5d92ce3a181c439e0b5a160a5820bf20ccaf5414 +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Aug 18 15:37:13 2011 +0200 + + xcb-shm: Fix a logic error while allocating mem + + The "continue;" in the old code never worked, because it first checked the loop + condition. Since "FALSE" (hopefully) never evaluates to true, the loop was still + left. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-shm.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +commit 73e7391e6e53b894f763f4715590d3be7e7ec243 +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Aug 18 15:20:35 2011 +0200 + + xcb: Handle SHM exhaustion via falling back + + When we couldn't get an image from the X11 server via SHM because we ran out + shared memory, we should try again via a normal GetImage request. + + Fixes: xcb-huge-image-shm + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +commit aeba5acbad463db3a9eeb44e26a15979d1831472 +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Aug 18 15:10:47 2011 +0200 + + test: Add a test that maps a huge surface + + This test currently fails in the xcb backend if xcb-shm is enabled. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/Makefile.refs | 1 + + test/Makefile.sources | 1 + + test/xcb-huge-image-shm.c | 67 ++++++++++++++++++++++++++++++++++++++++ + test/xcb-huge-image-shm.ref.png | Bin 0 -> 97 bytes + 4 files changed, 69 insertions(+) + +commit 8951c51d9e63dc175bc1eff6592833de627bce74 +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Aug 18 12:51:28 2011 +0200 + + xcb: Merge two functions for creating shm images + + This merges most of _cairo_xcb_surface_create_similar_image() into + _cairo_xcb_shm_image_create(). + + These two functions where already doing almost the same thing with only some + differences in error handling. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-private.h | 2 ++ + src/cairo-xcb-surface-core.c | 3 +++ + src/cairo-xcb-surface.c | 46 +++++--------------------------------------- + 3 files changed, 10 insertions(+), 41 deletions(-) + +commit 0da3d3efd21e4a8bf1356c0829ac5b0a30f2df88 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Aug 8 22:35:20 2011 +0200 + + xcb: Fallback to image if allocating SHM fails + + This turns an !!!ERROR!!! for scale-offset-similar with xcb-fallback into a + failed test and might fix other problems. However, since the problem here partly + is a race, those other problems might only be hit sometimes. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 2f020c4ade1d26a01605cd908bdaa983e7fe1106 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Aug 18 14:10:20 2011 +0100 + + obsever: include the operation timings + + Seeing the relative amounts of time spent in each operation and the + slowest one of each, gives further insight into the peculiarities of a + trace. And hopefully point out areas of improvement. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + configure.ac | 2 +- + src/cairo-surface-observer-private.h | 29 ++ + src/cairo-surface-observer.c | 646 ++++++++++++++++++++++++++++------- + 3 files changed, 554 insertions(+), 123 deletions(-) + +commit 4d5502503c2c6f3c04cf21750ba71caafecf06d8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Aug 18 12:41:20 2011 +0100 + + observer: put a comma between array items when printing + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-observer.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit d03b0057b2865b2d51f80d874f030e52ee0c4aca +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Aug 18 12:37:57 2011 +0100 + + observer: further classify general clips + + A clip with only a single path or can be reduced to a single polygon are + easier to handle than a clip containing a mixture of paths (typically + ANTIALIAS_NONE vs ANTIALIAS_DEFAULT). + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-clip-polygon.c | 17 +++++++++++++++++ + src/cairo-clip-private.h | 3 +++ + src/cairo-surface-observer-private.h | 2 +- + src/cairo-surface-observer.c | 11 ++++++++--- + 4 files changed, 29 insertions(+), 4 deletions(-) + +commit 76a3d0dc11624049115cf84859eec5168194e873 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 16 17:20:00 2011 +0100 + + observer: only print out the non-zero clip types + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-observer.c | 15 +++++++++------ + 1 file changed, 9 insertions(+), 6 deletions(-) + +commit a8232ff77cc6eff866494c5a408d914907d643ad +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 16 17:18:09 2011 +0100 + + observer: only print out the non-zero path types + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-observer.c | 17 ++++++++++------- + 1 file changed, 10 insertions(+), 7 deletions(-) + +commit e4b4b6bfd92000dee2d8384ad64d2e2cfd998bf5 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 16 17:15:37 2011 +0100 + + obverser: only print out the active patterns + + I prefer the reduced output as exemplified by the operator message. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-observer.c | 28 +++++++++++++++------------- + 1 file changed, 15 insertions(+), 13 deletions(-) + +commit e8ed203da3d132d98c2c1ac73a0ca9955907313e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 16 17:07:52 2011 +0100 + + observer: print path antialias modes + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-observer.c | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +commit 75b32d6196ae985434a8fbb0fd0ce63da249cf53 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Aug 16 22:42:35 2011 +0930 + + pdf: change end of line in pdf output from \r\n to \n + + src/cairo-pdf-surface.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit c715d52af547741f5e57182331ccd566efcd8835 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 15 11:50:44 2011 +0100 + + snapshot: restore the order of detach vs callback + + Mucking around in 99fa5ff6c211, I tweaked the order to mark the + snapshot as detached before calling the callback. xcb relies on the old + ordering so that it can correctly update its fallbacks. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 2a694a969ca795979c572fd08b877680f579e765 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 15 11:27:24 2011 +0100 + + observer: print stroke caps/joins frequencies + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-observer.c | 65 ++++++++++++++++++++++++++++++++++++-------- + 1 file changed, 54 insertions(+), 11 deletions(-) + +commit f3b414abfad24219d0fbff531ed994b766a48e0f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 15 11:19:56 2011 +0100 + + observer: print operator frequencies + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-observer.c | 67 ++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 67 insertions(+) + +commit 7ad4c8e711cc4bdae7b22332fb2d4d95ad484e79 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 15 11:06:17 2011 +0100 + + observer: report number of solid patterns first + + As these tend to be the quickest, and putting them first keeps the reports + are in an estimated fast->slow order. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-observer.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 545f30856aac98199a49cf66c72dbcb66c1f3a4f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 15 09:44:03 2011 +0100 + + stroke: Convert the outlines into contour and then into a polygon + + In step 1 of speeding up stroking, we introduce contours as a means for + tracking the connected edges around the stroke. By keeping track of + these chains, we can analyse the edges as we proceed and eliminate + redundant vertices speeding up rasterisation. + + Coincidentally fixes line-width-tolerance (looks like a combination of + using spline tangent vectors and tolerance). + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 2 + + src/cairo-contour-private.h | 159 ++++++ + src/cairo-contour.c | 453 +++++++++++++++ + src/cairo-path-fixed.c | 2 +- + src/cairo-path-in-fill.c | 2 +- + src/cairo-path-stroke-polygon.c | 1205 +++++++++++++++++++++++++-------------- + src/cairo-path-stroke.c | 2 +- + src/cairo-polygon.c | 48 +- + src/cairo-spline.c | 27 +- + src/cairo-types-private.h | 6 +- + src/cairoint.h | 6 + + util/.gitignore | 2 + + util/Makefile.am | 7 +- + util/show-contour.c | 667 ++++++++++++++++++++++ + util/show-polygon.c | 4 + + 15 files changed, 2143 insertions(+), 449 deletions(-) + +commit bbe704406ca97cd51ed1fcc76da7648abde36331 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 15 08:23:38 2011 +0100 + + stroke: move normal stroker to new file + + Step 1 of enhancing the speed of the stroker is to segregate from the + rest of the complex code. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 1 + + src/cairo-path-stroke-polygon.c | 1002 +++++++++++++++++++++++++++++++++++++++ + src/cairo-path-stroke.c | 12 +- + src/cairoint.h | 8 + + 4 files changed, 1017 insertions(+), 6 deletions(-) + +commit 2e1726a05b7283bc515e215a10c1bfa6ffe33a17 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 15 00:34:35 2011 +0100 + + recording: Defend against bad user-input + + Adjusting the _cairo_surface_is_recording() to check the value + in the backend exposed us to a potential NULL pointer dereference + on validating user-input. So add an explicit status check which + has the added bonus of being more correct! + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit edf2d3e8b21e2bcc1bebb7159d71a4f9e4979a6c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 15 00:26:09 2011 +0100 + + check: make check-headers happy + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-composite-rectangles-private.h | 1 + + src/cairo-pattern-private.h | 1 + + src/cairo-pdf-operators-private.h | 1 + + src/cairo-rtree-private.h | 1 + + src/cairo-surface-observer-private.h | 2 ++ + src/cairo-surface-snapshot-private.h | 2 ++ + src/cairo-surface-subsurface-private.h | 2 ++ + 7 files changed, 10 insertions(+) + +commit 2220693a40a4f8d13603b3fb29273ec59fd433bc +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 2 22:31:49 2011 +0100 + + Introduce cairo_mime_surface_t + + The mime surface is a user-callback surface designed for interfacing + cairo with an opaque data source. For instance, in a web browser, the + incoming page may be laid out and rendered to a recording surface before + all the image data has finished being downloaded. In this circumstance + we need to pass a place holder to cairo and to supply the image data + later upon demand. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + boilerplate/Makefile.win32.features | 10 + + build/Makefile.win32.features-h | 1 + + build/configure.ac.features | 1 + + configure.ac | 1 + + src/Makefile.sources | 1 + + src/Makefile.win32.features | 10 + + src/cairo-mime-surface.c | 411 ++++++++++++++++++++++++++++++++++++ + src/cairo.c | 11 +- + src/cairo.h | 89 ++++++-- + test/Makefile.refs | 1 + + test/Makefile.sources | 1 + + test/mime-surface.c | 174 +++++++++++++++ + test/mime-surface.ref.png | Bin 0 -> 1209 bytes + util/cairo-trace/trace.c | 49 +++++ + 14 files changed, 739 insertions(+), 21 deletions(-) + +commit eed1f2efdf36173e23b7177bb34ab9a5f015fb2a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 14 21:02:08 2011 +0100 + + xml: Include 'cairo-image-surface-private.h' + + Reported-by: James Cloos <cloos@jhcloos.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xml-surface.c | 1 + + 1 file changed, 1 insertion(+) + +commit 08627ed0f3992de44ed622dea5c4c76117ac24cc +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 14 21:01:42 2011 +0100 + + tee: compile fix for migration of _cairo_is_recording_surface() + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-tee-surface.c | 1 + + 1 file changed, 1 insertion(+) + +commit 62e48b01b456ee07081c14ed8f3a1f5475db3b57 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 14 20:56:15 2011 +0100 + + script: enable by default + + I'm willing to make this a supported backend as I find it to be an + invaluable debugging tool... + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + 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 eee66899cdbd2d431b08b468ac2b285bb855e6da +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 14 18:11:26 2011 +0100 + + Introduce cairo_surface_observer_t for performance analysis + + Another logging passthrough surface that records the style of operations + performed trying to categorise what is slow/fast/important. + + In combination with perf/cairo-analyse-trace it is very useful for + understanding what a trace does. The next steps for this tool would be + to identify the slow operations that the trace does. Baby steps. + + This should be generally useful in similar situations outside of perf/ + and should be extensible to become an online performance probe. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + boilerplate/Makefile.win32.features | 10 + + build/Makefile.win32.features-h | 1 + + build/configure.ac.features | 1 + + configure.ac | 1 + + perf/.gitignore | 1 + + perf/Makefile.am | 35 +- + perf/Makefile.sources | 3 + + perf/cairo-analyse-trace.c | 646 ++++++++++++++++++++++ + src/Makefile.sources | 2 + + src/Makefile.win32.features | 10 + + src/cairo-surface-observer-private.h | 168 ++++++ + src/cairo-surface-observer.c | 1009 ++++++++++++++++++++++++++++++++++ + src/cairo-surface.c | 12 +- + src/cairo-types-private.h | 6 + + src/cairo.h | 13 + + 15 files changed, 1905 insertions(+), 13 deletions(-) + +commit f6fc6f1ad0315d51b6b395749f8035fb7dcccbbc +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 14 15:29:08 2011 +0100 + + gstate: Copy clusters for an untransformed unbounded surface + + Fixes record-select-font-face + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gstate.c | 2 ++ + src/cairo.c | 18 +++++++++++------- + 2 files changed, 13 insertions(+), 7 deletions(-) + +commit 5bc7c059fdbfa4d3c89389f2272a3781c0a4e75e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 14 14:57:41 2011 +0100 + + script: Hook image caching into the snapshot mechanism + + So that we remember to forget the old image when the surface is dirtied. + + Fixes filter-bilinear-extents. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-script-surface.c | 74 +++++----------------------------------------- + 1 file changed, 7 insertions(+), 67 deletions(-) + +commit d4a32baed1ffd409a7f46651d6bc7bf7acf43c91 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 14 14:49:56 2011 +0100 + + surface: Rearrange nothing_to_do? to catch OVER + clear source + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface.c | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +commit 0053a44f6b9806eb61452859ba1eb2ca8c72f564 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 14 14:45:00 2011 +0100 + + record: Offset the clip by the replay transformation as well + + Fixes push-group-offset which reduces to a replay of a recording surface + inside a recording surface and forgot to offset the clip imposed by the + extents of the first recording surface into device space. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface-private.h | 15 +++++++++++++-- + src/cairo-recording-surface.c | 14 -------------- + src/cairo-surface-wrapper.c | 15 +++++++++++---- + src/cairoint.h | 3 --- + 4 files changed, 24 insertions(+), 23 deletions(-) + +commit eb09a686388b889f67f3a9b2c820575a1cfbc304 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 14 13:52:11 2011 +0100 + + xlib: Move the Display pointer nullify into destroy from finish + + Oops, should have checked with more than just the one test before + claiming victory. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-display.c | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +commit 84a3b6e2d0b8103cdc17558b502ecfc4c99b98a3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 14 13:47:14 2011 +0100 + + xlib: Mark surfaces as finished when the Display is finished/destroyed/closed. + + Fixes xlib-surface-source with the recording-surface + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-snapshot.c | 5 +- + src/cairo-xlib-display.c | 107 ++++++++++++++++++++------------------- + src/cairo-xlib-private.h | 2 + + src/cairo-xlib-screen.c | 10 ++++ + src/cairo-xlib-surface-private.h | 1 + + src/cairo-xlib-surface.c | 4 ++ + 6 files changed, 76 insertions(+), 53 deletions(-) + +commit 2c885a275349c65ec831738ed917ecd16fdd8c65 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 14 12:31:12 2011 +0100 + + script: Missed break for creating unbounded recording surfaces. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-script/cairo-script-operators.c | 1 + + 1 file changed, 1 insertion(+) + +commit 0c6b892ce355466b9b7098aadfece0383346de54 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 14 12:08:42 2011 +0100 + + script: take advantage of the polymorphism of the interpreter + + If a function expects a surface but receives a context, it automatically + queries the context's target. We can take advantage of this to short-cut + a few operations. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-script-surface.c | 35 +++++++++++++++++++---------------- + 1 file changed, 19 insertions(+), 16 deletions(-) + +commit 9dc9f24884e1b580448f12ccd50909b6aee3cb53 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 14 11:33:27 2011 +0100 + + script: leave the tail of the RGB24 data unmolested + + We clear past the end of the row so that we don't trigger valgrind + warning leaving harmless uninitialised bits inside the input image. + However, for RGB24 the input rowlen is 3*width, whereas we write 4*width + of data, so we need to take account of that and ensure we clear beyond + the end of the written data, not the read data. + + Fixes reading of RGB24 input. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-script/cairo-script-operators.c | 15 ++++++++------- + 1 file changed, 8 insertions(+), 7 deletions(-) + +commit 23b1a82e88aab0413f832dbf445df5e302f1c30a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 14 10:25:29 2011 +0100 + + pdf: If the recording surface is unbounded, limit the pattern to the ink extents + + It is better than crashing! + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-pdf-surface.c | 15 +++++++++++---- + 1 file changed, 11 insertions(+), 4 deletions(-) + +commit 3db39deee2f32f005cb4824669e57c56c0e4ca03 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 14 09:47:04 2011 +0100 + + wrapper: Use the backend->snapshot function + + Create the snapshot now, rather than a new lazy snapshot surface. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-wrapper.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 320f40ef89cc310c932399f54741987b0683af9f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 14 09:46:26 2011 +0100 + + paginated: Use the backend->snapshot + + The high-level function creates a new lazy snapshot which is not what we + what - we want a snapshot now! + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-paginated-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 47874aaceaa49f7b08adaf57e7accb0723668f71 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 14 09:46:01 2011 +0100 + + snapshot: Assert that we do not generate a snapshot clone + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-analysis-surface.c | 6 ++---- + src/cairo-surface-snapshot.c | 3 ++- + 2 files changed, 4 insertions(+), 5 deletions(-) + +commit 161836ab499237d1b1a1c5e0a51af15997a7ea0f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 14 01:56:43 2011 +0100 + + ps: unwrap recording surface snapshots + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-ps-surface.c | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +commit b8f09f08c4ca3569581a3e39056adb0b5a6752ae +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 14 01:41:44 2011 +0100 + + analysis: prevent recursion whilst analysing recording patterns + + Thanks to subsurface recursion. There's a pattern here, but no clean + solution has yet presented itself. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-analysis-surface.c | 73 ++++++++++++++++++++++++++++++++++++-------- + 1 file changed, 61 insertions(+), 12 deletions(-) + +commit 8f99e926c8b1a8fa7f7e0d828a96bac6dc1fe39c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 14 01:21:42 2011 +0100 + + paginated: unwrap subsurfaces during context creation + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-paginated-surface.c | 8 +++++++- + src/cairo-surface-subsurface-private.h | 12 ++++++++++++ + 2 files changed, 19 insertions(+), 1 deletion(-) + +commit 6b3d53646eb7aa3f13a0a6d133ec2ffcd1df8fdd +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 14 00:43:09 2011 +0100 + + image: peek through a snapshot to the recording surface behind + + Fixes record-* after the recent overhaul. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-analysis-surface.c | 2 +- + src/cairo-image-surface.c | 8 ++++++-- + src/cairo-pdf-surface.c | 8 ++++---- + src/cairo-script-surface.c | 2 +- + src/cairo-surface-snapshot-private.h | 6 ++++++ + src/cairo-surface-subsurface.c | 2 +- + src/cairo-xcb-surface-render.c | 2 +- + src/cairo-xlib-surface.c | 2 +- + 8 files changed, 21 insertions(+), 11 deletions(-) + +commit 8a90b22897b6460b3396b9959383131039bd9ce2 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 14 00:25:15 2011 +0100 + + subsurface+recording: handle recursion + + Ouch, a nasty bug surfaces after rearranging code to fix the others. + Another self-copy loop this time through a subsurface of a recording + surface. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface.c | 111 ++++++++++++++++++++++++++++++----- + src/cairo-script-surface.c | 129 ++++++++++++++++++++++------------------- + src/cairo-surface-snapshot.c | 12 ++++ + src/cairo-surface-subsurface.c | 105 ++++++++++++++++++--------------- + 4 files changed, 238 insertions(+), 119 deletions(-) + +commit 7971c678f18b9a078dc921e8c9a9d8175038cd1c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 13 21:47:19 2011 +0100 + + subsurface: call the high-level cairo_surface_flush + + And not the backend directly as this bypasses the extra steps taken in + the higher level to do common actions such as detach snapshots. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-subsurface.c | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +commit bca9400aec5c11e402758a2e06c8be560e64b78f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 13 21:22:21 2011 +0100 + + recording: break self-copy loop + + This is the root cause of the issue why we never succeeded in + implementing deferred snapshot correctly; that is we decoupled the + source from the target in the upper layers before we make the coupling + inside the lowest level of recording surface. By deferring the copy, we + never saw the detach-snapshot in time. + + Fortunately this was only an issue for backends that implemented strong + immutable source semantics! The oversight implies that we need to push + down a similar flush mechanism into all backends. + + Fixes self-copy. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface.c | 24 +++++++++++++++++++----- + 1 file changed, 19 insertions(+), 5 deletions(-) + +commit 9f6428c517d222d7e222a5407e6f0b1fe1647c12 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 13 21:15:39 2011 +0100 + + recording: remove the duplicate 'content' field + + Just use the member in the base class. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface-private.h | 2 -- + src/cairo-recording-surface.c | 6 ++---- + src/cairo-script-surface.c | 4 ++-- + src/cairo-surface-subsurface.c | 2 +- + src/cairo-svg-surface.c | 4 ++-- + 5 files changed, 7 insertions(+), 11 deletions(-) + +commit 4a990925e91a91c1d9d5a81f5ad91c1000bf5cce +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 13 20:29:22 2011 +0100 + + script: Support unbounded native recording surfaces + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface-private.h | 12 +++++ + src/cairo-script-surface.c | 98 +++++++++++++++++++---------------- + 2 files changed, 66 insertions(+), 44 deletions(-) + +commit 99fa5ff6c211b96326484f80fe91ead0860c3a23 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 13 20:07:57 2011 +0100 + + snapshot: Defer acquisition + + Fixes 'xlib-expose-event' but triggers an infinite loop in self-copy. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-analysis-surface.c | 3 + + src/cairo-image-surface.c | 33 ++++++++- + src/cairo-pdf-surface.c | 19 ++++-- + src/cairo-script-surface.c | 128 +++++++++++++++++++++++++++-------- + src/cairo-surface-snapshot-private.h | 12 ++++ + src/cairo-surface-snapshot.c | 73 +++++--------------- + src/cairo-surface.c | 6 +- + 7 files changed, 181 insertions(+), 93 deletions(-) + +commit 79aa04fd50463629b3ab2e2efbcd8084038f6c09 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Aug 14 19:19:34 2011 +0930 + + ps: use deflate compression for ps level 3 + + src/cairo-ps-surface.c | 109 +++++++++++++++++++++++++++++++++---------------- + 1 file changed, 74 insertions(+), 35 deletions(-) + +commit 0f4cc1f11804137fb6df8688451fe97428eab47a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 13 17:39:25 2011 +0100 + + script: Emit sequences of boxes to as 'rectangle' for clarity + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-script-surface.c | 93 +++++++++++++++++++++++++++++++++++----------- + 1 file changed, 72 insertions(+), 21 deletions(-) + +commit 6b7539d96b0968a00cf91d9d7a780727d37bdd34 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 13 17:24:28 2011 +0100 + + test/xlib-expose-event: Be kinder to recording surfaces + + And only create the source image once. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/xlib-expose-event.c | 27 +++++++++++++++------------ + 1 file changed, 15 insertions(+), 12 deletions(-) + +commit bc34c1c4efb2e252f4263e3fef0024ba92e8d326 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 13 20:46:21 2011 +0100 + + Add missing 'cairo-image-surface-private.h' + + It was supposed to be the centre point of e849e7c92, but I had a little + battle with git and lost... + + Reported-by: James Cloos <cloos@jhcloos.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-surface-private.h | 86 +++++++++++++++++++++++++++++++++++++++ + 1 file changed, 86 insertions(+) + +commit ba406866be320c3a344b4e4a8d4bd19f48fa158d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 13 15:20:03 2011 +0100 + + stroke: Rely on the tessellator to remove self-intersections + + As handling joins/caps between line segments shorter than + half_line_width is tricky. + + Rather than also fixing the bug in traps, remove that code. The plan is + to avoiding hitting the traps code, short-circuiting several steps along + the fast rectangular paths. + + Fixes line-width-overlap. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 3 + + src/cairo-path-fill.c | 245 ------------ + src/cairo-path-stroke-boxes.c | 658 ++++++++++++++++++++++++++++++++ + src/cairo-path-stroke.c | 812 +--------------------------------------- + src/cairo-stroke-dash-private.h | 70 ++++ + src/cairo-stroke-dash.c | 96 +++++ + src/cairo-surface-fallback.c | 116 +++--- + src/cairoint.h | 13 - + 8 files changed, 884 insertions(+), 1129 deletions(-) + +commit 54c8e8ccfc242fd17144c64202f628c87edbb6f4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 13 13:24:52 2011 +0100 + + test: Add a couple of variants to line-width-overlap + + The bug may be in only the fast-path, but future bugs may lie elsewhere. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 4 ++ + test/line-width-overlap-flipped.ref.png | Bin 0 -> 296 bytes + test/line-width-overlap-flopped.ref.png | Bin 0 -> 296 bytes + test/line-width-overlap-offset.ref.png | Bin 0 -> 348 bytes + test/line-width-overlap-rotated.ref.png | Bin 0 -> 866 bytes + test/line-width-overlap.c | 81 +++++++++++++++++++++++++++++++- + 6 files changed, 83 insertions(+), 2 deletions(-) + +commit 829eabfc9531a3e4490760b6bbd33286cd280e95 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 13 16:13:41 2011 +0100 + + test/line-width: Refactor and tidy + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/line-width.c | 27 +++------------------------ + 1 file changed, 3 insertions(+), 24 deletions(-) + +commit 279f6ceb595412bef165a808f05caa3044ef102c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 13 12:33:21 2011 +0100 + + Only reduce the clip if it is not in active use for the operation + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-composite-rectangles-private.h | 12 +++++++++--- + src/cairo-composite-rectangles.c | 26 +++++++++++++++++++++++++- + src/cairo-pdf-surface.c | 17 ++++------------- + src/cairo-ps-surface.c | 18 ++++-------------- + src/cairo-recording-surface.c | 7 ++----- + 5 files changed, 44 insertions(+), 36 deletions(-) + +commit d391f0908c404344aa6873fbca2b7bd6499009e0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 13 12:26:30 2011 +0100 + + pdf: composite-rectangles now require freeing after use + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-pdf-surface.c | 301 ++++++++++++++++++++++++++++++------------------ + 1 file changed, 191 insertions(+), 110 deletions(-) + +commit afe84fa77f392a9748319efee01db6b3c6d870fb +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 13 12:09:08 2011 +0100 + + pdf: Compute fill-stroke extents first before trying to use it to set the clip + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-pdf-surface.c | 47 ++++++++++++++++++++++------------------------- + 1 file changed, 22 insertions(+), 25 deletions(-) + +commit 487c5e4d3a5aa5e723bd7b5d418a6b7a9313f5a8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 13 11:54:19 2011 +0100 + + recording: replay_all is meant to mean REPLAY && ALL! + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 73b87334a401a7705f674429d55bb5d0bc559c17 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 13 11:48:37 2011 +0100 + + surface: Don't modify operator + + Specifically don't transform SOURCE into a CLEAR as the paginated + backends may not be able to handle the new operator. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface.c | 49 +++++++++++++++++++++---------------------------- + 1 file changed, 21 insertions(+), 28 deletions(-) + +commit a37ed264ed96d1b9f5ebc634d64137b71872c762 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 13 11:38:03 2011 +0100 + + pdf: Propagate NOTHING_TO_DO + + It is taken care of by the higher layers. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-pdf-surface.c | 50 +++++++++---------------------------------------- + 1 file changed, 9 insertions(+), 41 deletions(-) + +commit dea24ef012360877d8c363d283834e76d9938dbb +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 13 11:30:25 2011 +0100 + + surface: propagate internal statuses + + They are internal and used as such, but we still need to prevent them + from escaping into the public domain. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface.c | 16 +++++++++++----- + src/cairoint.h | 4 ++-- + 2 files changed, 13 insertions(+), 7 deletions(-) + +commit ed324fb3a114faeab4b7844869d2269892a2417e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 13 11:21:20 2011 +0100 + + recording-surface: Don't store the transient error when returning the path + + As we report the status back to the caller who then decides whether to + take appropriate action. + + "Fixes" user-font. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 7a17e4362e3b149ccb3590df690b91974416bfdf +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 13 11:05:45 2011 +0100 + + boilerplate: improve fidelity of surface extraction + + Create an image surface of equivalent content to the original. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + boilerplate/cairo-boilerplate.c | 18 +++++++++++++++--- + 1 file changed, 15 insertions(+), 3 deletions(-) + +commit 9d5d46e8466f9417febfdefef6707bae9818b02d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 13 10:59:12 2011 +0100 + + bo-rect: One step too far... + + Fixes a1-rasterisation-rectangles. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-bentley-ottmann-rectangular.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 4862aadb0fd1e5b7ea2710d56ff4984f3761611d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 13 10:48:21 2011 +0100 + + surface-wrapper: Initialise clip to NULL + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-wrapper.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 6d1c0e6d28ef61efbfa8f06f13840fd151cfb07e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 13 10:04:33 2011 +0100 + + Fix pollution from skia commit + + I forgot to proof-read the patch before pushing and forgot I had left in + some damage from trying to get skia to link using libtool. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + build/Makefile.am.changelog | 2 +- + configure.ac | 3 +-- + perf/Makefile.am | 5 ++--- + 3 files changed, 4 insertions(+), 6 deletions(-) + +commit 1ccd269a3f33684bfbedcd94ad9bca56b1404143 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Apr 24 00:50:33 2010 +0100 + + skia: Update to use cairo_backend_t interface + + Still hopelessly broken. Requires compiling cairo to use static linking + and then still requires manual linkage to workaround libtool. Lots of + functionality is still absent - we need to either find analogues to some + Cairo operations or implement fallbacks - but it is sufficient to + investigate how Skia functions in direct comparison with Cairo for + tessellation/rasterisation. + + Caveat emptor. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + build/Makefile.am.changelog | 2 +- + configure.ac | 15 +- + perf/Makefile.am | 5 +- + src/Makefile.sources | 5 +- + src/cairo-arc-private.h | 4 + + src/cairo-backend-private.h | 1 + + src/cairo-clip-private.h | 1 + + src/cairo-composite-rectangles-private.h | 2 + + src/cairo-error-private.h | 8 +- + src/cairo-freed-pool-private.h | 4 + + src/cairo-skia.h | 18 - + src/cairo-types-private.h | 11 +- + src/cairoint.h | 1 + + src/skia/cairo-skia-context.cpp | 1740 ++++++++++++++++++++++++++++++ + src/skia/cairo-skia-private.h | 110 ++ + src/skia/cairo-skia-surface.cpp | 525 +++++++++ + test/Makefile.am | 4 +- + 17 files changed, 2422 insertions(+), 34 deletions(-) + +commit e849e7c9291d57c3749f499c7e410e7be452b455 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Aug 4 00:19:42 2011 +0100 + + image: move surface definition to new header for subclassing + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 1 + + src/cairo-debug.c | 1 + + src/cairo-ft-font.c | 1 + + src/cairo-gl-composite.c | 4 +- + src/cairo-gl-glyphs.c | 1 + + src/cairo-gl-surface.c | 4 +- + src/cairo-image-surface.c | 47 +++++++++++--------- + src/cairo-paginated-surface.c | 1 + + src/cairo-pattern.c | 1 + + src/cairo-pdf-surface.c | 1 + + src/cairo-png.c | 1 + + src/cairo-ps-surface.c | 1 + + src/cairo-recording-surface.c | 1 + + src/cairo-scaled-font.c | 1 + + src/cairo-script-surface.c | 1 + + src/cairo-surface-fallback.c | 1 + + src/cairo-surface-snapshot.c | 1 + + src/cairo-surface-subsurface.c | 1 + + src/cairo-surface.c | 1 + + src/cairo-svg-surface.c | 1 + + src/cairo-type3-glyph-surface.c | 1 + + src/cairo-xcb-private.h | 2 +- + src/cairo-xcb-surface-core.c | 1 + + src/cairo-xcb-surface-render.c | 1 + + src/cairo-xcb-surface.c | 98 ++++++++++++++++++++--------------------- + src/cairo-xlib-surface.c | 1 + + src/cairo-xlib-xcb-surface.c | 1 + + src/cairoint.h | 28 ++---------- + 28 files changed, 107 insertions(+), 98 deletions(-) + +commit ee001b0b9fcafe14e0650d7b5c6f5e133f9d1e46 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 12 23:26:03 2011 +0100 + + bo-rect: Micro-optimisation + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-bentley-ottmann-rectangular.c | 51 ++++++++++++++------------------- + 1 file changed, 22 insertions(+), 29 deletions(-) + +commit 2e545672ba14fb49455ce501ded21efd18df1a65 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 12 23:49:12 2011 +0100 + + perf/micro: diagonal lines + + The ideal benchmark for spans?... + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-micro.c | 3 +- + perf/cairo-perf.h | 1 + + perf/micro/Makefile.sources | 1 + + perf/micro/line.c | 219 ++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 223 insertions(+), 1 deletion(-) + +commit e9d41054f954e84b317ca756edb4cd58dcad6362 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 12 21:58:55 2011 +0100 + + perf/micro: Test wide vs hairline strokes + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-micro.c | 8 +- + perf/cairo-perf.h | 2 + + perf/micro/Makefile.sources | 2 + + perf/micro/many-curves.c | 19 ++++- + perf/micro/many-fills.c | 10 +-- + perf/micro/many-strokes.c | 10 +-- + perf/micro/wide-fills.c | 184 +++++++++++++++++++++++++++++++++++++++++++ + perf/micro/wide-strokes.c | 185 ++++++++++++++++++++++++++++++++++++++++++++ + 8 files changed, 404 insertions(+), 16 deletions(-) + +commit ccbd7281b25f4b25a4c324aa815b94d7de76ac90 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 13 09:22:15 2011 +0100 + + test/line-width: Add a non-antialiased variant + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 1 + + test/a1-line-width.ref.png | Bin 0 -> 154 bytes + test/line-width.c | 38 ++++++++++++++++++++++++++++++++++++-- + 3 files changed, 37 insertions(+), 2 deletions(-) + +commit be1ff2f45fdbc69537e513834fcffa0435e63073 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 12 20:36:13 2011 +0100 + + xlib: Set the clip_region for glyphs + + Broken (never set!) since the clipping overhaul. We could emulate the + xcb code to avoid setting it unnecessarily... + + Fixes partial-clip-test. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface.c | 35 ++--------------------------------- + 1 file changed, 2 insertions(+), 33 deletions(-) + +commit e7fcbed63ac19d894cb94fd0a7589f4580a072f1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Aug 11 18:43:56 2011 +0100 + + bo: Perform an initial bucket sort on the start events + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-bentley-ottmann.c | 47 ++++++++++++++++++++++++++++++++++++--------- + 1 file changed, 38 insertions(+), 9 deletions(-) + +commit 64bcabfe4bcc5d95ee47e0bc7eed5b4544640279 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Aug 11 23:12:44 2011 +0100 + + tor: Micro-optimise + + Inline sub-step edges and combine non-zero/even-odd paths by using a + winding_mask. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-tor-scan-converter.c | 583 ++++++++++++++++------------------------- + 1 file changed, 222 insertions(+), 361 deletions(-) + +commit 02da8c7efb007d046f95456734968d7e9335a7af +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Aug 11 13:46:16 2011 +0100 + + default-context: Tidy push-group + + Fix a couple of instances of the older style clipping code. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-default-context.c | 15 ++++++++------- + 1 file changed, 8 insertions(+), 7 deletions(-) + +commit a3d2d5b42b769241e888a34c3edd015619560431 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 12 19:02:35 2011 +0100 + + script: Remove reference to image-surface-private + + That header doesn't exist yet. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-script-surface.c | 1 - + 1 file changed, 1 deletion(-) + +commit e7bd4c93e320325b09e6a2cc8c3d9547c7b0d1f2 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 12 20:15:19 2011 +0100 + + util/show-traps: Cache the rendering of the traps+edges + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/show-traps.c | 100 ++++++++++++++++++++++++++++++++++++++++++++++-------- + 1 file changed, 86 insertions(+), 14 deletions(-) + +commit b8e8c4cf9a10834923d7185d379d6457687912a1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Aug 11 23:12:32 2011 +0100 + + util/show-polygon: Show end-points + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/show-polygon.c | 23 +++++++++++++++++------ + 1 file changed, 17 insertions(+), 6 deletions(-) + +commit 99c129dd1302faaa1b10dca494d414a5738ddaf3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Aug 10 14:51:25 2011 +0100 + + test: Add record-extend + + Exercise the extend modes with a clipped paint, because once upon a time + we had a bug... + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 4 + + test/Makefile.sources | 1 + + test/record-extend-none.ref.png | Bin 0 -> 293 bytes + test/record-extend-pad.ref.png | Bin 0 -> 298 bytes + test/record-extend-reflect.ref.png | Bin 0 -> 335 bytes + test/record-extend-repeat.ref.png | Bin 0 -> 286 bytes + test/record-extend.c | 220 +++++++++++++++++++++++++++++++++++++ + 7 files changed, 225 insertions(+) + +commit deb88cca133b4f6ae89061662c06bca0c0573d0e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Aug 10 14:03:10 2011 +0100 + + recording: do not reduce required clips + + When painting with an unbound source, we would miss that the clip + extents were smaller than the mask extents and remove the solitary clip + (believing we were bound by a tight mask). For painting this is + obviously wrong, and due to a combination of bugs that set the mask to + the bound extents and then the failure to spot when that mask was larger + than the clip. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-composite-rectangles.c | 2 +- + src/cairo-recording-surface.c | 2 ++ + 2 files changed, 3 insertions(+), 1 deletion(-) + +commit 69c1ec9f131936ca5fcdb48bd0f957b2c1f6d52c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Aug 10 13:22:58 2011 +0100 + + script: Compile fix + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-script-surface.c | 3 ++- + src/cairo-surface-wrapper.c | 7 +++++-- + 2 files changed, 7 insertions(+), 3 deletions(-) + +commit b13266ba0fcd275a5936f31f69405b7e25853ef6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Aug 10 12:50:04 2011 +0100 + + script: Include an operator to replay a recording surface to a file + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-script/cairo-script-operators.c | 42 ++++++++++++++++++++++++++++++ + 1 file changed, 42 insertions(+) + +commit 40fa6c867cf371bad4a169abe9a4cea74c431680 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Aug 10 12:43:49 2011 +0100 + + trace: Pop the surface after write-to-png + + It is convenient if the user can simply enable the use of the commented + write-to-png operation just by removing the preceding '%'. However, to + do so we need to make sure that the line is stack-neutral and so need to + pop the surface that we place onto the stack after writing the png. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-trace/trace.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 34ce4680d12aecc5565e09fcc6a6a9103e1c752d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 9 23:39:07 2011 +0100 + + fixed: Allow the implicit close of the last fill path to complete a fill-box + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-fixed.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit f8a30380084ae3d6ac4aa7b18d738d6e6980cb05 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 9 22:21:33 2011 +0100 + + tor: update is-vertical along with min-height + + Similar to the minimum height property, is-vertical can only change + after an insertion or deletion event. So we only need to update the + flags after one of those events, so simply update it along side + min-height. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-tor-scan-converter.c | 24 ++++++++++-------------- + 1 file changed, 10 insertions(+), 14 deletions(-) + +commit d22cf3dfbeebcdd03fc17f367f54b7d2ebed2075 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 9 20:12:42 2011 +0100 + + perf: add curve + + Time how long it takes to stroke and fill a single Bezier curve. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-micro.c | 1 + + perf/cairo-perf.h | 1 + + perf/micro/Makefile.sources | 1 + + perf/micro/curve.c | 108 ++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 111 insertions(+) + +commit aa6df71228719a5c9f254a58677e3c36b8f7c3b1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 9 19:46:21 2011 +0100 + + perf: add many-curves + + Continuing the theme of stressing the tessellators, draw lots of Bezier + curves! + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-micro.c | 1 + + perf/cairo-perf.h | 1 + + perf/micro/Makefile.sources | 1 + + perf/micro/many-curves.c | 119 ++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 122 insertions(+) + +commit 2ef3a50a842b580f0ccd502e321bc32fb5bcff54 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 9 19:00:32 2011 +0100 + + tor: Fix mergesort to handle doubly-linked list + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-tor-scan-converter.c | 36 ++++++++++++++---------------------- + 1 file changed, 14 insertions(+), 22 deletions(-) + +commit b823d4d28fa2d96bd9385809bf9b95466f922f16 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 9 00:42:04 2011 +0100 + + tor: trivial changes + + Some trivial cleanups that escaped my noticed during a tired review. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-tor-scan-converter.c | 14 +++++--------- + 1 file changed, 5 insertions(+), 9 deletions(-) + +commit 17e34b6eab1faecf46795ae7bf51eee9ffea5d75 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 9 17:57:43 2011 +0100 + + bo-rectangular: Correctly mergesort a doubly-linked list + + Saves having to fixup the pointers afterwards by only having to update + them on the list boundaries during merge. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-bentley-ottmann-rectangular.c | 25 +++++++++++++------------ + 1 file changed, 13 insertions(+), 12 deletions(-) + +commit a4e4e2bdd74bd686e24f95839a095e1afd280a13 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 9 14:32:09 2011 +0100 + + bo-rectangular: Use a mergesort to speedup insertion + + However, this is only useful for inserting multiple boxes within the + pixel, so we maintain the cached insert cursor as this speeds up the + general case (and aides this optimisation as well). + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-bentley-ottmann-rectangular.c | 244 +++++++++++++++++++++++--------- + 1 file changed, 178 insertions(+), 66 deletions(-) + +commit 014e5e5ec19d1a315e279a6d618ed832f2bd1346 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 9 13:47:50 2011 +0100 + + bo-rectangular: Eliminate allocation for pqueue + + Since we only allocate a pointer to the rectangle after it is started + and so decoupled from the start queue, we reuse the memory allocated for + the start queue for the stop binary heap. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-bentley-ottmann-rectangular.c | 260 ++++++++++---------------------- + 1 file changed, 82 insertions(+), 178 deletions(-) + +commit 323e48f8ec2b6de467971d4e4a7fb45f56416e1e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 9 15:15:41 2011 +0100 + + fill: A horizontal/vertical line is also a degenerate fill box + + Since we discard empty fill boxes whilst filling, we can also treat + horizontal/vertical lines as a filled box and so proceed with the + rectangular fast path in the presence of + cairo_rectangle (x, y, w, h) + with w == 0 || h == 0. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-fixed.c | 34 +++++++++++++++++++++------------- + 1 file changed, 21 insertions(+), 13 deletions(-) + +commit 786d4b2a2af53efc6121fd4be04038f2262adf39 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 9 11:10:52 2011 +0100 + + perf: Add many-fills + + A variant of many-strokes tries to answer the question of how much + overhead is there in stroking, i.e. if we fill an equivalent path to a + set of strokes, do we see an equivalence in performance? + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-micro.c | 1 + + perf/cairo-perf.h | 1 + + perf/micro/Makefile.sources | 1 + + perf/micro/many-fills.c | 184 ++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 187 insertions(+) + +commit 2d8c63671a5eeca2703cab7506ad59144fe74219 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 9 16:06:02 2011 +0100 + + build: Add a missing cairo-backend-private.h + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 1 + + 1 file changed, 1 insertion(+) + +commit 7b97533221aa5713168b9ddefb4a647cff98c510 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Aug 5 21:32:03 2011 +0200 + + map-to-image: Handle non-32bpp formats + + Fixes: map-all-to-image, map-bit-to-image for image16 + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/map-to-image.c | 42 ++++++++++++++++++++++++++++++++++++------ + 1 file changed, 36 insertions(+), 6 deletions(-) + +commit 5a26018313f40a832a1ec378c1a137ee4a852742 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Aug 5 22:03:19 2011 +0200 + + map_to_image: Verify the given extents + + User shouldn't be able to use extents that are not completely inside of the + surface's extents. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-surface.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +commit 03cda5c0e51ec6ef78ee56cb4d72b6213d6d89e4 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Aug 5 21:07:38 2011 +0200 + + xlib-xcb: Fix a double free in surface_unmap + + cairo_surface_unmap_image() destroys the image that was passed to it. Since + xlib-xcb calls cairo_surface_unmap_image() again for the underlying xcb surface, + the surface was destroyed twice. + + Work around this problem by incrementing the image's reference count via + cairo_surface_reference(). + + No idea why I didn't catch this problem when implementing these functions, I'm + sure I ran the relevant tests. :-( + + lt-cairo-test-suite: cairo-surface.c:853: cairo_surface_destroy: Assertion + `((*&(&surface->ref_count)->ref_count) > 0)' failed. + + Fixes: map-to-image-fill map-bit-to-image map-all-to-image + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xlib-xcb-surface.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 73e93078554849673c54d82b229f76bfb918b7d0 +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Aug 4 22:51:37 2011 +0200 + + cairo.h: Document CAIRO_DEVICE_TYPE_INVALID + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo.h | 1 + + 1 file changed, 1 insertion(+) + +commit 2d79276c495cd0dba330575ebc11e22646242dd6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 7 21:58:28 2011 +0100 + + tor: Inline reverse insertion sort for handling intersections + + The majority of intersections are with the nearest neighbour only, or + within a few neighbours (in a dense intersection of lines) so if walk + the active list backwards and find the new place to insert upon an + intersection it is faster than performing a mergesort afterwards. + + Given enough intersections, the win is quite huge (15-20% on many-strokes). + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-tor-scan-converter.c | 286 +++++++++++++++++++++-------------------- + 1 file changed, 146 insertions(+), 140 deletions(-) + +commit 221c117f5d949896e70b01150249b2111e4b2003 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 7 21:05:40 2011 +0100 + + tor: First perform a bucket sort before merge the sub-edges from the polygon + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-tor-scan-converter.c | 66 +++++++++++++++++++----------------------- + 1 file changed, 29 insertions(+), 37 deletions(-) + +commit f646cb07a93975a67ed3b9ba1b468b014fcf1675 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 7 12:26:41 2011 +0100 + + perf: add the usual special cases to many-strokes + + For completeness, also compare [aligned] horizontal and vertical + strokes. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/micro/many-strokes.c | 110 +++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 109 insertions(+), 1 deletion(-) + +commit d953161f881d1e5646574362d296a80afc0ff6e2 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 7 12:12:10 2011 +0100 + + perf: Add many-strokes + + An intersection variant to exercise the stroker with many, many lines. A + silly benchmark, but a popular one in the wild. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-micro.c | 1 + + perf/cairo-perf.h | 1 + + perf/micro/Makefile.sources | 1 + + perf/micro/many-strokes.c | 75 +++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 78 insertions(+) + +commit 4236821d11407eb4af5a02bac78aff1fc19be017 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 6 22:40:32 2011 +0100 + + test: Add unclosed-strokes + + Checks that coincident end-points are not converted to joins. It briefly + passed through my mind that was a good thing... + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 1 + + test/Makefile.sources | 3 +- + test/unclosed-strokes.c | 83 ++++++++++++++++++++++++++++++++++++++++++ + test/unclosed-strokes.ref.png | Bin 0 -> 1689 bytes + 4 files changed, 86 insertions(+), 1 deletion(-) + +commit 37e1a1b3ed8ab698d5b58573e1c6a25edc3f1cde +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 6 22:32:47 2011 +0100 + + test: Add a1-sample + + Ensures that only a box that covers the centre pixel is filled with + antialiasing disabled. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 1 + + test/Makefile.sources | 1 + + test/a1-sample.c | 59 +++++++++++++++++++++++++++++++++++++++++++++++++ + test/a1-sample.ref.png | Bin 0 -> 786 bytes + 4 files changed, 61 insertions(+) + +commit 307cb2a9738374f31d2900e62103524fdf27df42 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 7 09:00:56 2011 +0100 + + util: Add show-polygons + + Another variant of the utility apps that understand the output of + _cairo_debug_print_polygon(). + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-debug.c | 3 +- + util/Makefile.am | 7 +- + util/show-polygon.c | 560 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 568 insertions(+), 2 deletions(-) + +commit 61c0f67ee0376e3a2f0d1fbe431d901d9b8cb2c0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 6 11:10:26 2011 +0100 + + test: Add joins-retrace + + The complexity in this shape is that the stroke is reversed upon + itself and retraces the same path in the opposite direction. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 1 + + test/Makefile.sources | 1 + + test/joins-retrace.c | 109 +++++++++++++++++++++++++++++++++++++++++++++ + test/joins-retrace.ref.png | Bin 0 -> 4787 bytes + 4 files changed, 111 insertions(+) + +commit 93c9d4cefb0bfa7846f33e57f395e6944ae878e3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 6 10:25:59 2011 +0100 + + test: Add an loopy I-bar stroker test + + A second relatively simple closed concave shape, all the better for + debugging with. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 1 + + test/Makefile.sources | 1 + + test/joins-loop.c | 100 ++++++++++++++++++++++++++++++++++++++++++++++++ + test/joins-loop.ref.png | Bin 0 -> 4646 bytes + 4 files changed, 102 insertions(+) + +commit b280114c5e87490baf3a0f99fe9d6e051168a6a9 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 6 09:15:57 2011 +0100 + + test: Add join-star, another stroker exercise + + A simple convex shape, useful for debugging. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 1 + + test/Makefile.sources | 1 + + test/joins-star.c | 99 ++++++++++++++++++++++++++++++++++++++++++++++++ + test/joins-star.ref.png | Bin 0 -> 4362 bytes + 4 files changed, 101 insertions(+) + +commit 588e5a24fad80269437aebc36dc316616504edab +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Aug 5 19:44:33 2011 +0200 + + clipper: Fix crashes + + The end of the clip path list is marked with NULL, so we should stop + iterating paths when we reach it. + + The assertion was meant to check if paths had the same content, not if + they have the same address. + + Fixes clip-fill-rule and clip-twice in cairo-quartz. + + src/cairo-surface-clipper.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 9ef003c5fce30956fefb2f4d9a1ded85cb296b4f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 5 18:21:26 2011 +0100 + + clipper: Don't emit an empty clip-path for no clip boxes + + If there are no clip boxes, we do not need to emit an empty clip which + only confuses the users of the surface-clipper. + + Spotted by Andrea Canciani and cairo-quartz + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-clipper.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 3424e91ec767c8a8f1c4adb3917759e6c59d409a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 5 17:04:08 2011 +0100 + + test: Add a couple of tests to exercise stroking of short tail segments + + Are the reference images correct? Discuss. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 2 + + test/Makefile.sources | 2 + + test/caps-tails-curve.c | 127 +++++++++++++++++++++++++++++++++++++++ + test/caps-tails-curve.ref.png | Bin 0 -> 52888 bytes + test/drunkard-tails.c | 135 ++++++++++++++++++++++++++++++++++++++++++ + test/drunkard-tails.ref.png | Bin 0 -> 6273 bytes + 6 files changed, 266 insertions(+) + +commit 8a6d7643f09946b31d14e9bd57276747b025604a +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Aug 6 00:24:55 2011 +0930 + + subsets: use show_text_glyphs supplied utf8 to determine latin character + + PS files printed from PDF do not have a cmap in the subsetted + fonts. If the unicode mapping has ben supplied by _show_text_glyphs we + should use this instead of the reverse lookup to determine if the + glyph is a latin chartacter. + + src/cairo-scaled-font-subsets.c | 33 +++++++++++++++++++++++++++++---- + 1 file changed, 29 insertions(+), 4 deletions(-) + +commit 1a4714b61f194d6b69855cfd48dd1a6aff4efda5 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Aug 6 00:23:14 2011 +0930 + + ps: use show_text_glyphs + + to ensure that when the PS is converted to PDF the text can be extracted. + + src/cairo-ps-surface.c | 41 +++++++++++++++++++++++++++++------------ + 1 file changed, 29 insertions(+), 12 deletions(-) + +commit b11b89e8e0c6cb0a05c9de69e3235bedc0c27756 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Aug 5 22:09:57 2011 +0930 + + pdf: check if smask is bilevel and encode as such + + src/cairo-pdf-surface.c | 64 ++++++++++++++++++++++++++----------------------- + 1 file changed, 34 insertions(+), 30 deletions(-) + +commit 16bc8d93615ce3e92c86dcbd7fbbcd6de0890ce8 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Aug 5 21:15:21 2011 +0930 + + image: check if A8 image is bilevel when analyzing transparency + + src/cairo-image-surface.c | 15 +++++++++++++-- + 1 file changed, 13 insertions(+), 2 deletions(-) + +commit dd73fe9262d206e9dabb2ac8dba84b297248003b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 5 09:45:41 2011 +0100 + + test: Add world-map from the perf-suite + + As we use this a performance benchmark, it behooves us to check that we + are rendering it correctly. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 6 ++ + test/Makefile.sources | 5 +- + test/world-map-fill.image16.ref.png | Bin 0 -> 36582 bytes + test/world-map-fill.ref.png | Bin 0 -> 57308 bytes + test/world-map-stroke.image16.ref.png | Bin 0 -> 41885 bytes + test/world-map-stroke.ref.png | Bin 0 -> 65219 bytes + test/world-map.c | 151 ++++++++++++++++++++++++++ + test/world-map.h | 196 ++++++++++++++++++++++++++++++++++ + test/world-map.image16.ref.png | Bin 0 -> 48377 bytes + test/world-map.ref.png | Bin 0 -> 70611 bytes + 10 files changed, 357 insertions(+), 1 deletion(-) + +commit 1e8d56ceeb7ca3114651ec7c98a69510c9dcc4ff +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Aug 3 15:57:18 2011 +0100 + + perf: Add stroke/fill variants to world-map + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/micro/world-map.c | 42 ++++++++++++++++++++++++++++++++++++------ + 1 file changed, 36 insertions(+), 6 deletions(-) + +commit 5ab1eced5f82c9e54f171afe5bf9a2b72c778e71 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 2 14:38:50 2011 +0100 + + bo-rectangular: handle in==out specifically for the single box case + + In this case we do not need to copy anything, but may still need to + re-orientate the box. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-bentley-ottmann-rectangular.c | 30 ++++++++++++++++++++---------- + 1 file changed, 20 insertions(+), 10 deletions(-) + +commit 0e135d9f5aa5402ac3566c1fdd1bd13f0e343946 +Author: Nis Martensen <nis.martensen@web.de> +Date: Thu Aug 4 22:08:19 2011 +0200 + + Mark the new API as such + + cairo_surface_create_similar_image, cairo_surface_map_to_image and + cairo_surface_unmap_image were added in + a69335a84eb9225b477cc8c753470eb3805b852c. + + src/cairo-surface.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 95d6235bbecc7a646590edac07d6a68f150b1b8b +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Aug 4 21:18:13 2011 +0200 + + Clarify the API docs for the newest functions + + Recently cairo_surface_create_similar_image(), cairo_surface_map_to_image() and + cairo_surface_unmap_image() were introduced. However, the documentation was + slightly misleading and recommended a wrong usage. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-surface.c | 29 +++++++++++++++-------------- + 1 file changed, 15 insertions(+), 14 deletions(-) + +commit 971d42302cf52fa5007fc1faa94542fcad9bacfb +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Aug 4 21:06:53 2011 +0200 + + perf: Also build the code in perf/micro + + This fixes weird and occasional build failures when updating the source, e.g.: + + cairo-perf-micro.o:(.rodata+0xb0): undefined reference to `hash_table' + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + perf/Makefile.am | 2 ++ + 1 file changed, 2 insertions(+) + +commit 78f7db1a7f668dbcc80366511ecaf9ff30b77a98 +Author: Uli Schlachter <psychon@znc.in> +Date: Wed Aug 3 22:29:42 2011 +0200 + + xlib-xcb: Implement the new backend functions + + This implements create_similar_image, map_to_image and unmap. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xlib-xcb-surface.c | 41 ++++++++++++++++++++++++++++++++++++++--- + 1 file changed, 38 insertions(+), 3 deletions(-) + +commit 51faa5a1c2d3d13b2d4b63c92ad1f12f63277d10 +Author: Uli Schlachter <psychon@znc.in> +Date: Wed Aug 3 21:38:27 2011 +0200 + + surface_unmap_image: Fix fallback + + The fallback code assumed that the caller mapped the complete surface to an + image. If only parts of a surface were mapped, the code didn't correctly + translate and clip its operations. + + Fixes map-bit-to-image for xlib-xcb and improves the result for recording. + + Thanks to Chris Wilson for some simplifications. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-surface.c | 19 ++++++++++++++++++- + 1 file changed, 18 insertions(+), 1 deletion(-) + +commit 61ae9867ab091c4862cf5481b3c354e02878ea36 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Aug 4 20:49:16 2011 +0930 + + ps: check if images are grayscale or monochrome and encode as such + + Printing PDFs with large monochrome or grayscale images would result + in the images being blown up to 24-bit color images. Some printers are + very slow to print huge color images. + + src/cairo-ps-surface.c | 162 +++++++++++++++++++++++++++++++++---------------- + 1 file changed, 110 insertions(+), 52 deletions(-) + +commit 372ded27c9b9773a34bb8a076d11b13c51532f76 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Aug 4 21:16:14 2011 +0930 + + image: fix bug in analyze_color + + src/cairo-image-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 3fbfa1beed291c58daa56b0a962c30b81c4248cb +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Aug 2 10:50:51 2011 +0200 + + hash: Code cleanup + + Simplify arrangements by keeping only table sizes, remove some useless + code and fix make check. + + src/cairo-hash.c | 114 +++++++++++++++++++++++++------------------------------ + 1 file changed, 52 insertions(+), 62 deletions(-) + +commit aaa10fbf125a80e5379172b8564384a945728cba +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Aug 2 10:50:00 2011 +0200 + + hash: Improve handling of dead entries + + When there are no free entries to terminate a search, checking that a + key is not in the table requires probing every entry in the table, + i.e. it degenerates in an O(n) operation. + + Rehashing when the number of free entries is less than 25% makes the + expected lookup time O(1). + + The hash-table micro benchmark become 4-6x faster. + + Fixes https://bugs.freedesktop.org/show_bug.cgi?id=17399 + + src/cairo-hash.c | 91 +++++++++++++++++++++++++++++++++----------------------- + 1 file changed, 53 insertions(+), 38 deletions(-) + +commit 374b26ff03b9f36a7be974e65e42938a3c11b04c +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Aug 3 09:49:08 2011 +0200 + + perf: Add hash table benchmark + + A benchmark to test the speed of hash tables when inserting and + removing a huge number of elements. + + Although originally hash tables were assumed not to get many + deletions, in practice they are now being used as caches in multiple + places. This means that they often have a fixed number of live + elements and an element is evicted whenever a new element is inserted + (this happens explicitly for cairo_cache_t objects, but also, for + example, in scaled_font_map + holdovers). This access pattern is very + inefficient with the current implementation. + + perf/cairo-perf-micro.c | 1 + + perf/cairo-perf.h | 1 + + perf/micro/Makefile.sources | 1 + + perf/micro/hash-table.c | 107 ++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 110 insertions(+) + +commit 7b5b29cc0ffc44066589d371d872e355ce56343b +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Aug 2 22:34:54 2011 +0200 + + xcb: Handle deferred clear in _upload_image_inplace + + Fixes: clip-device-offset, image-surface-source, + composite-integer-translate-source, move-to-show-surface, + source-surface-scale-paint, translate-show-surface, perhaps even more? + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +commit d356deb18201dd8054cff158c95c6fd6f0f38dcd +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 2 15:37:50 2011 +0100 + + test: Add a second ring to overlapping-dash-caps + + Demonstrate a second artefact when using SQUARE. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/overlapping-dash-caps.c | 17 +++++++++++++---- + test/overlapping-dash-caps.ref.png | Bin 3127 -> 3982 bytes + 2 files changed, 13 insertions(+), 4 deletions(-) + +commit 3f2126f092d86d3a217fe256df682bb45ee6ab2a +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Aug 2 23:10:17 2011 +0930 + + pdf: check if images are grayscale or monochrome and encode as such + + Printing PDFs with large monochrome or grayscale images would result + in the images being blown up to 24-bit color images. Some printers are + very slow to print huge color images. + + src/cairo-image-surface.c | 59 +++++++++++++++++++++++++++++++ + src/cairo-pdf-surface.c | 90 +++++++++++++++++++++++++++++++++++------------ + src/cairo-types-private.h | 8 +++++ + src/cairoint.h | 4 +++ + 4 files changed, 138 insertions(+), 23 deletions(-) + +commit 953a4a2e55e304be4ec1f91aec5131edd02f53f3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 2 14:35:36 2011 +0100 + + test: Add an test case to exercise overlapping caps between dash segments + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 1 + + test/Makefile.sources | 1 + + test/overlapping-dash-caps.c | 58 +++++++++++++++++++++++++++++++++++++ + test/overlapping-dash-caps.ref.png | Bin 0 -> 3127 bytes + 4 files changed, 60 insertions(+) + +commit 1e02ffd9a99f0f4917a4bb7c0755cc81f88fc80f +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Aug 1 13:56:10 2011 +0200 + + scaled-font: Make unscaled font utility functions static + + They are only used within cairo-scaled-font.c + + src/cairo-ft-font.c | 16 +++++++++++++--- + src/cairo-ft-private.h | 9 --------- + 2 files changed, 13 insertions(+), 12 deletions(-) + +commit daca1d999f487fd089421591061f9bf36d47f11f +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Aug 1 10:47:01 2011 +0200 + + scaled-font: Remove _cairo_ft_scaled_font_get_unscaled_font() + + It is unused since 068df654daa74cdf516657af432002471a03c161. + + src/cairo-ft-font.c | 12 ------------ + src/cairo-ft-private.h | 3 --- + 2 files changed, 15 deletions(-) + +commit 400d055f3cd2eecd2cc4b91a40eac4146ec61932 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Aug 1 19:01:16 2011 +0200 + + hash: Compare hash values before calling keys_equal + + If the hash value is different, the keys cannot be equal. Testing this + beforehand can avoid a few function calls and shares this optimization + across all cairo-hash uses. + + src/cairo-hash.c | 31 ++++++++++++++++++++++++++++--- + src/cairo-scaled-font-subsets.c | 11 +---------- + src/cairo-scaled-font.c | 14 +------------- + src/cairo-xcb-connection.c | 11 ++--------- + src/cairo-xcb-screen.c | 6 ------ + 5 files changed, 32 insertions(+), 41 deletions(-) + +commit 02665975d3ef0204bc512de1be55f898637f2d21 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Aug 1 18:18:31 2011 +0200 + + hash: Improve double hashing + + Instead of artificially introducing collisions in the step value by + replacing 0 with 1 (which causes the value 1 to have twice the + frequency of any other value), the step value can simply be computed + as an uniformly distributed value in the range [1, rehash], extremes + included. + + This is safe because any step value smaller than the hash modulus is + co-prime with it, hence induces an orbit which includes every integer + in [0, table_size - 1]. + + src/cairo-hash.c | 18 +++++------------- + 1 file changed, 5 insertions(+), 13 deletions(-) + +commit c5405f732410fe851b8d4c73365336ec2490358b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 1 12:59:11 2011 +0100 + + perf: Save/restore gstate across runs + + Reset the cairo_t to the initial state so that subsequent tests are not + affected by earlier tests. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-micro.c | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +commit c4f4c5726194c9cd800e5d6d9a09c7d01a4dadd7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 1 00:12:24 2011 +0100 + + bo-rectangular: perform an incremental sort + + Bucketing the rectangles together on their top-scanline and then sorting + within that scanline is significantly faster for dragon despite the extra + passes. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-bentley-ottmann-rectangular.c | 54 ++++++++++++++++++++++++++++++--- + 1 file changed, 50 insertions(+), 4 deletions(-) + +commit fec80f11990adbb4c1220d444186ed600082956d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jul 31 22:29:48 2011 +0100 + + perf: Add a few more variations to dragon to exercise unaligned lines/spans + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/micro/dragon.c | 34 ++++++++++++++++++++++++++++++++++ + 1 file changed, 34 insertions(+) + +commit 4a8f638c9a7772e9e8eaa7246b892eedb1d784d9 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jul 31 21:48:47 2011 +0100 + + tor: Suppress repeated spans + + Under certain circumstances we will emit identical spans for when the + edge covers the entire pixel and then for the subsequent pixels. These + can be squashed into a single span. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-tor-scan-converter.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit c0407e84e919bca08f8cd2e1e350e54f36122968 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jul 31 18:10:40 2011 +0100 + + test: Extend PDF blend tests to include an opacity mask + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 4 +++ + test/extended-blend-alpha-mask.argb32.ref.png | Bin 0 -> 9221 bytes + test/extended-blend-alpha-mask.rgb24.ref.png | Bin 0 -> 4594 bytes + test/extended-blend-mask.argb32.ref.png | Bin 0 -> 3971 bytes + test/extended-blend-mask.rgb24.ref.png | Bin 0 -> 3643 bytes + test/extended-blend.c | 45 ++++++++++++++++++++++++++ + 6 files changed, 49 insertions(+) + +commit 3520aecfe5567d4f99e299aefec3346879f982aa +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jul 31 11:24:20 2011 +0100 + + image: the boxes are already pixel-aligned so skip the extra rounding step + + src/cairo-image-surface.c | 24 ++++++++++++------------ + 1 file changed, 12 insertions(+), 12 deletions(-) + +commit d5537547069babb338e7e27b97d219aace4d348a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jul 31 12:28:33 2011 +0100 + + tor: Sort the initial edge correctly + + Don't assume that the initial edge on the active list has the lower + position. + + src/cairo-tor-scan-converter.c | 40 ++++++++++++++++++++++++++++------------ + 1 file changed, 28 insertions(+), 12 deletions(-) + +commit bca402a8e362f1f93a0866de5dabdca132c04684 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 1 11:45:11 2011 +0100 + + clip: Mark __cairo_clip_all as private and do not export + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-clip-private.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit e04e3687485a1988fd4084cca07ca4db4e2e7b96 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Jul 30 11:04:16 2011 +0200 + + Remove useless checks for NULL before freeing + + This patch has been generated by the following Coccinelle semantic patch: + // Remove useless checks for NULL before freeing + // + // free (NULL) is a no-op, so there is no need to avoid it + + @@ + expression E; + @@ + + free (E); + + E = NULL; + - if (unlikely (E != NULL)) { + - free(E); + ( + - E = NULL; + | + - E = 0; + ) + ... + - } + + @@ + expression E; + @@ + + free (E); + - if (unlikely (E != NULL)) { + - free (E); + - } + + perf/cairo-perf-report.c | 3 +-- + perf/cairo-perf-trace.c | 3 +-- + src/cairo-cff-subset.c | 54 +++++++++++++------------------------- + src/cairo-directfb-surface.c | 6 ++--- + src/cairo-ft-font.c | 6 ++--- + src/cairo-gl-surface.c | 3 +-- + src/cairo-gstate.c | 3 +-- + src/cairo-misc.c | 6 ++--- + src/cairo-path.c | 3 +-- + src/cairo-pdf-surface.c | 15 ++++------- + src/cairo-png.c | 6 ++--- + src/cairo-quartz-surface.c | 6 ++--- + src/cairo-scaled-font-subsets.c | 21 +++++---------- + src/cairo-scaled-font.c | 6 ++--- + src/cairo-script-surface.c | 20 ++++++-------- + src/cairo-stroke-style.c | 7 +++-- + src/cairo-surface-fallback.c | 3 +-- + src/cairo-surface.c | 3 +-- + src/cairo-truetype-subset.c | 18 +++++-------- + src/cairo-type1-subset.c | 9 +++---- + src/cairo-win32-font.c | 25 +++++++----------- + src/cairo-win32-printing-surface.c | 3 +-- + src/cairo-xcb-connection-core.c | 3 +-- + src/cairo-xcb-surface-render.c | 3 +-- + src/cairo-xlib-surface.c | 6 ++--- + test/cairo-test-trace.c | 6 ++--- + util/backtrace-symbols.c | 6 ++--- + util/cairo-trace/lookup-symbol.c | 3 +-- + 28 files changed, 88 insertions(+), 168 deletions(-) + +commit 8f8da19fd47a51724e035a076628d38fde48863c +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Jul 30 18:29:29 2011 +0200 + + font-face: Cleanup backend-specific destruction code + + The check for NULL and nil font faces is performed in the shared + code. There is no need to duplicate it (in fact, quartz-font and + ft-font don't do it). + + src/cairo-toy-font-face.c | 4 ---- + src/cairo-win32-font.c | 4 ---- + 2 files changed, 8 deletions(-) + +commit 1f2dc2e06a2c2daabeefbea4c32cdf55bdf6b338 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Jul 18 11:19:35 2011 +0200 + + pattern: Do not provide type field in cairo_pattern_union_t + + The type field is accessible through the base.type field. This makes + it possible to change the layout of cairo_pattern_t and move the type + field without breaking cairo_pattern_union_t. + + src/cairo-gstate.c | 2 +- + src/cairo-pattern-private.h | 1 - + src/cairo-pattern.c | 2 +- + 3 files changed, 2 insertions(+), 3 deletions(-) + +commit b39d3d4b53951f951a3af188dd55acf2e0fa8eda +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Jul 30 15:35:24 2011 +0200 + + surface: Set errors through _cairo_surface_set_status() + + The status should never be set directly. Instead, it should be set by + _cairo_surface_set_status(). + + src/cairo-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ed928c51fb33d36619d74367b1ebd06300f80417 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Jul 30 11:44:12 2011 +0200 + + Tighten error validation + + CAIRO_STATUS_LAST_STATUS is not an error, it is just the number of + possible status values. + + src/cairo-error-private.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 90216cfde01900839a722424ae0047f1fbd0c01f +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Jul 30 15:37:45 2011 +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 + + src/cairo-backend-private.h | 2 +- + src/cairo-default-context-private.h | 2 +- + src/cairo-pattern-private.h | 2 +- + src/cairo-pdf-shading-private.h | 2 +- + src/cairo-pdf-shading.c | 2 +- + 5 files changed, 5 insertions(+), 5 deletions(-) + +commit f6b30686ca637b504d6caabb40773f1aadcee3fe +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Jul 30 18:14:51 2011 +0200 + + Fix make check + + This fixes multiple failures when checking if headers can be used + standalone. + + src/cairo-boxes-private.h | 3 +++ + src/cairo-error-private.h | 1 + + src/cairo-surface-wrapper-private.h | 1 + + src/cairo-types-private.h | 1 + + src/cairoint.h | 4 ++-- + 5 files changed, 8 insertions(+), 2 deletions(-) + +commit 5e223c1c73a7c3af550987a30246e7f1761808f5 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jul 29 23:06:48 2011 +0100 + + image: Reduce compositing bounded boxes with a clip-mask to a polygon + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-surface.c | 42 ++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 42 insertions(+) + +commit 7ca1d87645930a2f5e4be36819859928f4e6e601 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jul 31 00:44:06 2011 +0100 + + tor: Use longjmp to throw an error whilst generating spans + + Similar to the technique used by the other span converters, we can avoid + the frequent error checking by instead throwing an error from the deep + malloc. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-tor-scan-converter.c | 505 ++++++++++++++--------------------------- + 1 file changed, 165 insertions(+), 340 deletions(-) + +commit 1c3b0ebb32eb35d07a7d8b9a4c6849edfc88e3f7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Jul 30 18:46:50 2011 +0100 + + spans: fast-path common case of a single box. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-rectangular-scan-converter.c | 71 ++++++++++++++++++++++++++++++++++ + 1 file changed, 71 insertions(+) + +commit b231bb0a0b971a9b424292be065229ffe234352e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jul 29 23:34:58 2011 +0100 + + test: Exercise extend modes with recording patterns + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 8 + + test/Makefile.sources | 1 + + test/recording-surface-extend-none.argb32.ref.png | Bin 0 -> 3051 bytes + test/recording-surface-extend-none.rgb24.ref.png | Bin 0 -> 3128 bytes + test/recording-surface-extend-pad.argb32.ref.png | Bin 0 -> 10822 bytes + test/recording-surface-extend-pad.rgb24.ref.png | Bin 0 -> 12582 bytes + ...recording-surface-extend-reflect.argb32.ref.png | Bin 0 -> 23518 bytes + .../recording-surface-extend-reflect.rgb24.ref.png | Bin 0 -> 23881 bytes + .../recording-surface-extend-repeat.argb32.ref.png | Bin 0 -> 24047 bytes + test/recording-surface-extend-repeat.rgb24.ref.png | Bin 0 -> 24038 bytes + test/recording-surface-extend.c | 174 +++++++++++++++++++++ + 11 files changed, 183 insertions(+) + +commit f3a3c29e2bc1f834089747994b8aba171f4d81d9 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jul 29 23:21:00 2011 +0100 + + paginated: Remove an impossible test + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-paginated-surface.c | 9 +++------ + 1 file changed, 3 insertions(+), 6 deletions(-) + +commit c13324311137a01286d1712ac8a33644f294c1ad +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Jul 30 10:54:07 2011 +0200 + + clip: Fix copy of clip rectangles list + + _cairo_clip_get_region() returns NULL both for non-region clips and + for memory allocaiton failures. They must be distinguished by checking + _cairo_clip_is_region(). + + Fixes get-clip. + + src/cairo-clip.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 6155348966b89a216d2e5ee0b4784507a0226a9f +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Jul 30 09:46:33 2011 +0200 + + default-context: Do not allow restoring pushed gstates + + The brackets defined by push/pop and save/restore are independent ad + should match properly. + + This means that cairo_push()-ed gstates cannot be cairo_restore()-d + and cairo_save()-d gstates cannot be cairo_pop()-ed. + + Fixes group-state. + + src/cairo-default-context.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 0ae32437af5e73ad61eba1447dd32dd525c39808 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jul 29 22:00:10 2011 +0100 + + image: Free clip_surface after use + + The clip surface is no longer cached on the clip and the caller is + responsible for destroying it after use. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-surface.c | 23 ++++++++++++++--------- + 1 file changed, 14 insertions(+), 9 deletions(-) + +commit 2342e4da4fdbeed5672d586742fa19cf1018264c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jul 29 18:36:52 2011 +0100 + + image: extend support of direct replay for paginated surfaces + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-surface.c | 72 +++++++++++++++++++++++++++++++++++-------- + src/cairo-paginated-private.h | 3 ++ + src/cairo-paginated-surface.c | 12 +++++++- + 3 files changed, 74 insertions(+), 13 deletions(-) + +commit d2ea8bd070f3bff87ec952af490093375cbc1f05 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Jul 29 19:12:55 2011 +0200 + + build: Respect CFLAGS and LIBS env settings + + The build system does not honor the flags set externally and replaces + it with the pthread-only flags when detecting pthread + availability. This breaks the configuration of cairo in some + cross-compilation environments: + + conftest.c:1: note: someone does not honour COPTS correctly, passed 0 times + + The test for pthread should append the new flags to the old one. + + build/configure.ac.pthread | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit b2ee7d9a21df56bf68851930448bc91f49a93e3d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jul 29 17:14:42 2011 +0100 + + trace: Emit the content type for image surfaces + + Currently we only emit the format, but if you want to later convert + the images to a normal surface for replay it is handy to have the + content. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-trace/trace.c | 23 ++++++++++++++++++++++- + 1 file changed, 22 insertions(+), 1 deletion(-) + +commit 6448022a05682eb77f69d621c76532c4447f6a27 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jul 29 16:29:10 2011 +0100 + + xcb: Convert the box back to integer coordinates for uploading the image + + Silly bug of the day. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface-render.c | 40 ++++++++++++++++++++++------------------ + 1 file changed, 22 insertions(+), 18 deletions(-) + +commit 0660f62fe5ffdd86eedf8262f3ac50fb039491c1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jul 29 15:28:49 2011 +0100 + + gl: Rectilinear fast path + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-composite.c | 186 ++++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 185 insertions(+), 1 deletion(-) + +commit c2150b344123823098a57a0653b9857f7dc8c8d6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jul 29 15:06:20 2011 +0100 + + gl: Rectangular fast path + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-compiler-private.h | 13 +- + src/cairo-gl-composite.c | 331 ++++++++++++++++++++++++++++++++++++++++++ + src/cairo-gl-private.h | 20 +++ + src/cairo-gl-surface.c | 137 ++++++++++------- + src/cairo-recording-surface.c | 10 +- + 5 files changed, 443 insertions(+), 68 deletions(-) + +commit 7fbe430e2a6aa8131b11f874731507be28c629b1 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Jul 29 21:51:04 2011 +0930 + + ps: remove unnecessary flush + + that was preventing string of glyphs from separate calls to + cairo_show_glyphs() being merged. + + src/cairo-ps-surface.c | 4 ---- + 1 file changed, 4 deletions(-) + +commit 488c94220d46f10a0fa8fa4dfb1beda88d80988e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jul 29 13:12:48 2011 +0100 + + ps: Apply the clip reduction techniques from pdf + + If the clip wholly covers the operation, we do not need to set one, and + if the current clip similarly covers the operation we do not to unset + it. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-ps-surface.c | 36 ++++++++++++++++++++++++++++++++---- + 1 file changed, 32 insertions(+), 4 deletions(-) + +commit ccf67c7d748aa10005fb47b4d565c34e41c1a327 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jul 29 13:06:49 2011 +0100 + + pdf: Don't remove the current clip if redundant + + If the surface already has a clip set and that clip does not interfere + with the operation then we can leave it set. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-pdf-surface.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +commit 6ed0c6224b763e9cbcfb0d46f188883d8425bab5 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jul 29 13:03:59 2011 +0100 + + pdf: Remove redundant clip regions + + If the extents of the operation is wholly contained within the clip + region, then we can safely not invoke any clipping. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-pdf-surface.c | 27 +++++++++++++++++++++------ + 1 file changed, 21 insertions(+), 6 deletions(-) + +commit 29a302cc4bc7734129bca8fe242dc7ecb626895d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jul 29 12:57:31 2011 +0100 + + clipper: Also need to guard against the incoming clip being NULL + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-clipper.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit fb9ed9bb0d3a4d4ac71f5d472f63a04ffbc4c110 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jul 29 12:35:36 2011 +0100 + + clip: Fix clip-equal to handle one or the other being NULL/all-clipped + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-clip.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +commit 7c6e1b8db89420fa69ebd8d2ba12dde1aeb47ea8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jul 29 12:33:07 2011 +0100 + + xcb: Short-circuit multiplying the alpha mask by 1.0 + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface-render.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 4032c86127a5f1658c2bddbf1c642fb62e21a208 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jul 29 12:31:14 2011 +0100 + + fallback: Prevent recursion when combining with the clip + + We need to special case the handling of unaligned clip regions in order + to prevent the treatment of those as a general path requiring a + clip+mask... + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-fallback.c | 129 ++++++++++++++++++++++++++++++++++++------- + 1 file changed, 109 insertions(+), 20 deletions(-) + +commit 2787ef4e73fe668edbb938aa82ab569789a39116 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Jan 22 17:58:14 2011 +0100 + + pattern: Complete the list of possible pattern errors + + A mesh pattern is put in CAIRO_STATUS_INVALID_MESH_CONSTRUCTION when + an invalid patch construction operation is performed. + + A mesh pattern is put in CAIRO_STATUS_INVALID_INDEX when an operation + is performed with an out-of-bound index. + + Any pattern is put in CAIRO_STATUS_INVALID_MATRIX when its matrix is + set to a singular matrix. + + src/cairo-pattern.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit c1b0e73578fe2528c8e68e309fd602acaef42e67 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jul 29 12:06:02 2011 +0100 + + record: Only reduce fill+stroke if the clip doesn't change between the commands + + Pointed out by Adrian Johnson. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 6ec24760b32da5ca1f0a67f6ff344b91f8bc020c +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jul 5 21:37:40 2011 +0200 + + device: Flush on a finished device is a no-op + + In order to have a behavior which is coherent with that of surfaces, + flushing a finished devices should be a no-op and should not affect + the status of the device. + + src/cairo-device.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 74a86a76a9c32a74d63712b718c90669889820e6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jul 29 11:57:01 2011 +0100 + + clipper: Detect a incremental change in the general clip-path + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-clipper.c | 34 ++++++++++++++++++++++++++++++---- + 1 file changed, 30 insertions(+), 4 deletions(-) + +commit aac9b261762cdb8039daedfe63a56a83faa0155f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jul 29 11:42:59 2011 +0100 + + clip: Fix cairo_clip_equal() + + In haste, I completely removed the implementation... + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-clip.c | 36 +++++++++++++++++++++++++++++++++++- + 1 file changed, 35 insertions(+), 1 deletion(-) + +commit ecafad7149cb80bad56cc042ced4bb06c106ce1a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jul 29 11:18:36 2011 +0100 + + record: Assume recording surface targets are clear + + The replay of the recording surface will not function correctly unless + the target surface region is already clear. So assume that is and + optimise away the initial clear. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface-private.h | 2 -- + src/cairo-recording-surface.c | 39 ++++++++++++++++------------------- + 2 files changed, 18 insertions(+), 23 deletions(-) + +commit 81efbc1847c4b9c08440d76bbc1636b21cac16d8 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Jul 29 11:33:46 2011 +0200 + + quartz: Silence some clang warnings + + Clang static analysis relies on the Core Foundation naming convention + for the object ownership tracking. + + Functions that return an object whose ownership is given to the + caller, should contain "Create" or "Copy" in their name. + + src/cairo-quartz-surface.c | 50 ++++++++++++++++++++++------------------------ + 1 file changed, 24 insertions(+), 26 deletions(-) + +commit 93c8b1090b887847c44780ea0e311a454e7978c1 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Jul 29 11:56:40 2011 +0200 + + cff-subset: Do not use garbage values + + The code incorrectly initialized the fields of the data structure, + which are about to be overwritten, instead of the temporary variables + which are used to compute them. + + src/cairo-cff-subset.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit ad3ef3a8fb560a2bd528ccd15469bbe9a1ddcee8 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Jul 29 10:46:42 2011 +0200 + + Silence Clang static analyzer reports + + Clang static analysis triggers some reports in non-buggy code. + + Silence them trying to follow better coding practices. + + src/cairo-script-surface.c | 2 ++ + src/cairo-xcb-shm.c | 6 +++++- + src/cairo-xcb-surface-render.c | 3 +-- + src/cairo-xcb-surface.c | 2 +- + 4 files changed, 9 insertions(+), 4 deletions(-) + +commit e8e765605c2ae69710affadd3f450aef17932258 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Jul 29 10:46:14 2011 +0200 + + Silence gcc warnings + + perf/micro/dragon.c | 1 - + 1 file changed, 1 deletion(-) + +commit 15b6b2832b373cd09986d2f9595f9930b256894d +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Jul 29 10:44:57 2011 +0200 + + directfb: Unbreak compilation + + The recent changes to the clip code caused build failure in directfb. + + src/cairo-directfb-surface.c | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +commit 89cb071d14f02f062d6960b9c49bced8212d032b +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Jul 29 10:39:43 2011 +0200 + + script: Initialize recording extents + + The 2-arguments recording operator was passing a garbage pointer to + the surface creation function. + + Spotted by the clang static analyzer. + + util/cairo-script/cairo-script-operators.c | 1 + + 1 file changed, 1 insertion(+) + +commit e06a3b97618ec19a26003fd02bc6054f11039ef4 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Jul 29 10:27:31 2011 +0200 + + xcb: Handle fallback in map_to_image + + Fixes (for xcb-fallback): map-all-to-image map-bit-to-image map-to-image-fill + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit 27702768bf684ed7c91b505451414237af0f5853 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Jul 29 10:18:55 2011 +0200 + + xcb: _get_image only works without fallback + + This turns the test suite-failures for map-all-to-image map-bit-to-image + map-to-image-fill with xcb-fallback into failed assertions. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface.c | 1 + + 1 file changed, 1 insertion(+) + +commit 1beab6cca431c0c4a9e9feda6121922fa7f71623 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Jul 29 10:09:10 2011 +0200 + + xcb: Handle deferred clear in map_to_image + + Fixes: map-all-to-image map-bit-to-image map-to-image-fill + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface.c | 26 +++++++++++++++++++++++++- + 1 file changed, 25 insertions(+), 1 deletion(-) + +commit 8f8149a2073e1e290b6f854595caaf27bd16a80b +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Jul 28 18:18:07 2011 +0200 + + xcb: Error on 0x0 source surfaces + + Recording surfaces can be unbounded which causes + _cairo_surface_acquire_source_image to return a 0x0 image surface for them. + Since X11 doesn't like anything with a size of 0x0, we should reject such source + images. Users might still try to mess with 0x0 surfaces, so we will eventually + need a better idea for handling this. + + Instead of failing the assertion that was added in the previous commit, this + commit makes cairo-xcb return an error. + + This makes the recording-* tests fail instead of crash. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 5 +++++ + 1 file changed, 5 insertions(+) + +commit 5d72e59982edc21f3e15c46dc77408bce849e4f3 +Author: Uli Schlachter <psychon@znc.in> +Date: Wed Jul 27 20:30:12 2011 +0200 + + xcb: Assert that pixmap sizes are positive + + Currently, all the recording-* tests fail with an X11 error. This commit turns + those errors into failed assertions. Now someone just has to figure out why this + happens in the first place... + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-connection-core.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit ec74912eeeb08a32170bbbf3a83290f21171c730 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jul 28 17:21:33 2011 +0100 + + record: Recording surfaces need an explicit clear + + As a recording surface will be replayed onto a destination target, it is + unknown at the time of creation as to whether or not the target is + clear. So we need to make sure to record any initial clear in order + to replay that clear onto the destination. (If the destination is clear + anyway it will be suppressed.) + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 65e13cd20154f1f19b2d06ea7cf8779b0fb2158b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jul 28 17:16:25 2011 +0100 + + record: We can only skip the clear so long as we know the destination is clear + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d7abdab931c1219314c07c0ecf21b0afef19108a +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jul 27 18:58:03 2011 +0200 + + polygon: Fix generic case of edge clipping + + The edge clipper is more complicated than it should be and contains a + subtle bug: when an edge is almost horizontal, it is always considered + as having a positive slope. + + Explain what should be done and do it in a simpler way. + + Fixes horizontal-clip. + + src/cairo-polygon.c | 127 +++++++++++++++++++++------------------------------- + 1 file changed, 51 insertions(+), 76 deletions(-) + +commit 6aa6b7daa8277785f431a07fe3d8d492d62df946 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jul 27 18:57:59 2011 +0200 + + polygon: Simplify code for edge clipping + + Add some comments about what's going on and clean up the branches by + sharing common computations. + + src/cairo-polygon.c | 80 ++++++++++++++++++++++------------------------------- + 1 file changed, 33 insertions(+), 47 deletions(-) + +commit de25fec06bbdbb3cf458aefb4e3b9d2271022b9c +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jul 27 21:50:45 2011 +0200 + + test: Improve horizontal-clip + + The bug pointed out by this test now causes failures in xcb and xlib. + + test/horizontal-clip.c | 39 ++++++++++++++++++++------------------- + test/horizontal-clip.ref.png | Bin 115 -> 129 bytes + 2 files changed, 20 insertions(+), 19 deletions(-) + +commit 80b7a1aa9b600aa3cc746d662b4090e76838f17a +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jul 27 22:13:44 2011 +0200 + + test: Update image references + + Makefile.refs was missing some images. + + test/Makefile.refs | 4 ++++ + 1 file changed, 4 insertions(+) + +commit aad2c3dd0f7a512e6d3db087bf94ab53e30e92ed +Author: Matt Peterson <revcompgeek@gmail.com> +Date: Wed Jul 27 14:48:31 2011 -0600 + + gl: Use cairo_rectangle_int_t + + src/cairo-gl-glyphs.c | 10 ++++++++-- + src/cairo-gl-surface.c | 12 +++++++----- + 2 files changed, 15 insertions(+), 7 deletions(-) + +commit 96abd9b887a4d663950b79d055572f9f2f09efbe +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jul 28 16:42:41 2011 +0100 + + record: And remember to offset the index of unbounded playback + + When we don't generate the set of visible indices, we need to iterate + over all the currently active commands and so need to offset the + iterator to the start of those commands. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit fe34d7041aae57af5a49ba7b6e8ca64ff774dcad +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jul 26 19:03:11 2011 +0100 + + record: Use a bbtree to reduce is-visible checking overheads + + By using a bounding-box rtree, we are able to reject invisible branches + of the tree and so find the visible leafs with fewer intersection + checks. Overhead reduction is strongly dependent upon the ability to + spatially partition the geometry and so performance correlates with + small tiles and small operations. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-combsort-private.h | 23 +++ + src/cairo-recording-surface-private.h | 11 ++ + src/cairo-recording-surface.c | 321 ++++++++++++++++++++++++++++++++-- + 3 files changed, 344 insertions(+), 11 deletions(-) + +commit 1b888c4c3a3f7002dc092fd48088cd0b5031e12c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jul 27 19:48:36 2011 +0100 + + test: Add horizontal clip test + + Doesn't actually hit the code path but it should... + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.sources | 1 + + test/horizontal-clip.c | 76 +++++++++++++++++++++++++++++++++++++++++++ + test/horizontal-clip.ref.png | Bin 0 -> 115 bytes + 3 files changed, 77 insertions(+) + +commit 44140e3dd692938ac3823eb6f4f295788716bb8b +Author: Uli Schlachter <psychon@znc.in> +Date: Wed Jul 27 19:54:30 2011 +0200 + + Make _cairo_xcb_surface_get_extents no_warn + + This function never fails. However, since it's used to implement a operation for + cairo_surface_backend_t, the return value can't be void. This commit instead + uses cairo_private_no_warn to get rid of the warnings. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-private.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 8877ca23f5781741669bd5a7e072840a5c6658b5 +Author: Uli Schlachter <psychon@znc.in> +Date: Wed Jul 27 19:52:58 2011 +0200 + + xcb: Check that the extents are inside our surface + + The previous commit fixed a bug in cairo-xlib found by a similar assert, so this + seems to be a good idea to have. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface.c | 5 +++++ + 1 file changed, 5 insertions(+) + +commit 73e8384ac82ef7721096a78db998d6a658a44c33 +Author: Uli Schlachter <psychon@znc.in> +Date: Wed Jul 27 18:30:37 2011 +0200 + + xlib: Fix a typo + + This was introduced in a69335a84eb9225b477cc8c75. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=39581 + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xlib-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit cac96c8083214f8e5aa65e9a527f9fa3e813b149 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jul 27 17:02:53 2011 +0100 + + polygon: Fix clipping of edges outside of their range + + Uli Schlachter analysed the error behind the polygon reduction and + discovered that it was due to the clipping of a line which intersects + the clip box (p1, p2) but is range limited by (top, bottom) to be inside + the clip box. + + Fixes hatching + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-polygon.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 030de5144d6c84b2b690e178ecc03a9bddb52181 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jul 27 17:00:48 2011 +0100 + + polygon: Don't skip clipped horizontal edges + + As Andrea Canciani pointed out even if it is horizontal within the clip + box, it may still have vertical extents outside of the clip box for + which we need to project onto the clip boundary in order to maintain + the correct polygon winding. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-polygon.c | 3 --- + 1 file changed, 3 deletions(-) + +commit fc98fd9db5a619013ffcd671aacb5b8494443c8d +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jul 27 09:22:31 2011 +0200 + + win32: Fix typos in documentation + + The documentation of the win32 surface backend contained a typo, + pointed out by Andrej Mitrovic in + http://lists.cairographics.org/archives/cairo/2011-July/022084.html + + Another imprecision was found reviewing the public API documentation. + + src/cairo-win32-surface.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 2fd20e5c1e3a54cfe060820f1841b92743891607 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jul 27 09:10:19 2011 +0200 + + surface: Check image parameter in cairo_surface_unmap_image() + + The image argument must be a cairo-image surface. + + src/cairo-surface.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 3f9717347eebbb0f0d517b215f763d738c4a476c +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jul 27 09:10:34 2011 +0200 + + win32: Constify + + Silences some compiler warnings. + + src/cairo-surface-subsurface.c | 2 +- + src/cairo-win32-printing-surface.c | 6 +++--- + src/cairoint.h | 2 +- + 3 files changed, 5 insertions(+), 5 deletions(-) + +commit 9ef178ff350b68c7a7983429e07ff10f4ea0b265 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jul 26 22:14:22 2011 +0200 + + win32: Fix compilation + + a69335a84eb9225b477cc8c753470eb3805b852c broke compilaiton of win32 + surfaces because of some typos. + + src/cairo-win32-surface.c | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +commit 87016112c5ce486607b5e28ad873cda3d1db65ec +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jul 26 20:48:55 2011 +0200 + + Fix surface backend structures + + a69335a84eb9225b477cc8c753470eb3805b852c introduced some new members + in the backend structure, but quartz, qt and xlib-xcb were not + updated. + + src/cairo-qt-surface.cpp | 7 ++++++- + src/cairo-quartz-surface.c | 7 ++++++- + src/cairo-xlib-xcb-surface.c | 7 ++++++- + 3 files changed, 18 insertions(+), 3 deletions(-) + +commit ca53fed93953821f3bc95e1d8b142128c8c1bba8 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jul 26 20:51:30 2011 +0200 + + quartz: Silence const cast warnings + + b132fae5e843c329d1414d1a65b2e8d66b99852f const-ified some arguments, + but missed others. + + src/cairo-quartz-surface.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit b492b69d4f6e4fba41558b1ca066203c4e88c856 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jul 26 16:37:29 2011 +0100 + + wrapper: translate the clip by the device transform + + A stepping stone, the translation was accidentally dropped when + changing the clipping to be performed first. + + Fixes twin. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-wrapper.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 91faf9c1cf79f44b48c0f14d2d551a68bf38b5a5 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jul 26 15:50:32 2011 +0100 + + composite: Pass unbounded extents to initialisation + + For an unbounded surface we cannot assume (0, 0, surface_width, + surface_height) as that is wrong and causes the operation to appear + clipped. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-composite-rectangles-private.h | 24 +++++++------- + src/cairo-composite-rectangles.c | 33 ++++++++----------- + src/cairo-image-surface.c | 56 ++++++++++++++++---------------- + src/cairo-pdf-surface.c | 42 +++++++++++++----------- + src/cairo-ps-surface.c | 29 ++++++++++------- + src/cairo-recording-surface.c | 21 +++--------- + src/cairo-surface-fallback.c | 19 +++-------- + src/cairo-xcb-private.h | 4 +++ + src/cairo-xcb-surface-render.c | 29 +++++++++-------- + src/cairo-xcb-surface.c | 2 +- + 10 files changed, 123 insertions(+), 136 deletions(-) + +commit a69335a84eb9225b477cc8c753470eb3805b852c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jul 22 00:36:03 2011 +0100 + + API: map-to-image and create-similar-image + + A common requirement is the fast upload of pixel data. In order to + allocate the most appropriate image buffer, we need knowledge of the + destination. The most obvious example is that we could use a + shared-memory region for the image to avoid the transfer cost of + uploading the pixels to the X server. Similarly, gl, win32, quartz... + + The other side of the equation is that for manual modification of a + remote surface, it would be more efficient if we can create a similar + image to reduce the transfer costs. This strategy is already followed + for the destination fallbacks and this merely exposes the same + capability for the application fallbacks. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-analysis-surface.c | 12 +- + src/cairo-directfb-surface.c | 7 +- + src/cairo-error-private.h | 9 + + src/cairo-gl-surface.c | 5 +- + src/cairo-image-surface.c | 37 ++- + src/cairo-os2-surface.c | 6 +- + src/cairo-paginated-surface.c | 7 +- + src/cairo-pdf-surface.c | 7 +- + src/cairo-ps-surface.c | 7 +- + src/cairo-quartz-image-surface.c | 7 +- + src/cairo-recording-surface.c | 7 +- + src/cairo-rectangle.c | 10 + + src/cairo-script-surface.c | 7 +- + src/cairo-surface-snapshot.c | 5 +- + src/cairo-surface-subsurface.c | 80 +++++- + src/cairo-surface.c | 182 +++++++++++++ + src/cairo-svg-surface.c | 7 +- + src/cairo-tee-surface.c | 7 +- + src/cairo-type3-glyph-surface.c | 7 +- + src/cairo-vg-surface.c | 5 +- + src/cairo-win32-printing-surface.c | 7 +- + src/cairo-win32-surface.c | 66 ++++- + src/cairo-xcb-private.h | 9 +- + src/cairo-xcb-surface-core.c | 2 - + src/cairo-xcb-surface-render.c | 2 - + src/cairo-xcb-surface.c | 422 ++++++++++++++--------------- + src/cairo-xlib-surface.c | 133 ++++----- + src/cairo-xml-surface.c | 6 +- + src/cairo.h | 93 ++++--- + src/cairoint.h | 24 +- + src/test-fallback-surface.c | 6 +- + src/test-fallback16-surface.c | 6 +- + src/test-null-surface.c | 6 +- + src/test-paginated-surface.c | 6 +- + src/test-wrapping-surface.c | 6 +- + test/Makefile.sources | 1 + + test/map-all-to-image.ref.png | Bin 0 -> 86 bytes + test/map-bit-to-image.ref.png | Bin 0 -> 103 bytes + test/map-to-image-fill.ref.png | Bin 0 -> 103 bytes + test/map-to-image.c | 126 +++++++++ + util/cairo-script/cairo-script-operators.c | 96 +++++++ + util/cairo-trace/trace.c | 92 +++++++ + 42 files changed, 1169 insertions(+), 361 deletions(-) + +commit c6812c6a3679c3b8b9584e119e0d7fd93e09ae49 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jul 26 12:00:53 2011 +0100 + + rectangle: speed up the is-intersecting test. + + cut'n'paste before coffee. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairoint.h | 16 ++++------------ + 1 file changed, 4 insertions(+), 12 deletions(-) + +commit 168b5a5348beb66977e5948c43a1e4855c24d95b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jul 26 09:03:37 2011 +0100 + + wrapper: target to recording needs the inverse transform + + Gah, I thought about this and noted that I need the inverse of the + normal transformation, yet failed to remember to actually use it. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-wrapper.c | 25 +++++++++++++++++++++++-- + 1 file changed, 23 insertions(+), 2 deletions(-) + +commit c596483f854a14840ee591304ce08dee3f0edeee +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jul 26 08:33:09 2011 +0100 + + record: Check the operation against the target device extents. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface.c | 11 ++++++++-- + src/cairo-surface-wrapper-private.h | 4 ++++ + src/cairo-surface-wrapper.c | 44 +++++++++++++++++++++++++++++++++++++ + src/cairoint.h | 18 +++++++++++++++ + 4 files changed, 75 insertions(+), 2 deletions(-) + +commit 8ba8534d6225a4340acd1469858067e40f48acc3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jul 26 08:02:59 2011 +0100 + + record: Store the untransformed operation extents along with the command + + This allows us to actually clip out the geometry before we record it, as + suggested by allowing the user to supply an extents... But it will be + advantageous in later patches for reducing the amount of work we need to + perform to replay. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-clip.c | 7 - + src/cairo-recording-surface-private.h | 3 +- + src/cairo-recording-surface.c | 295 +++++++++++++++++++++++----------- + src/cairo-rectangle.c | 7 + + src/cairoint.h | 2 + + 5 files changed, 210 insertions(+), 104 deletions(-) + +commit f5d602cb59ad8eec19dc07043635a50eb7616e09 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jul 24 19:45:31 2011 +0100 + + xcb: Make composite_opacity_boxes slightly less silly + + Being called with no clip, might be unexpected, but it means to fill the + whole extents with the opacity. So do so. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface-render.c | 15 +++++++++++++-- + 1 file changed, 13 insertions(+), 2 deletions(-) + +commit 8dc9139fb291605f93ce8409aa203c87d3a5d035 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jul 24 18:10:43 2011 +0100 + + recording: Combine the clip to the recording + target surface extents + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface.c | 40 +++++++++++++++++-------------------- + src/cairo-surface-wrapper-private.h | 6 +++--- + src/cairo-surface-wrapper.c | 15 +++++++------- + 3 files changed, 28 insertions(+), 33 deletions(-) + +commit 15d5014efd8f3b4d01feb39259f2df0e69ac1b46 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jul 24 17:36:51 2011 +0100 + + clip: Short-cut the common condition of intersecting with a single box + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-clip-boxes.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 52e3814824235ff236bc013f9adc85ed85eb8fb8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jul 24 17:31:39 2011 +0100 + + clip: Skip processing of rectangle-intersection if it wholly subsumes the clip + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-clip-boxes.c | 24 ++++++++++++++++++++---- + 1 file changed, 20 insertions(+), 4 deletions(-) + +commit 4c72c4df661b4cc24f40d8719da15a13adc7bb9b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jul 24 16:27:07 2011 +0100 + + wrapper: Correct translation of clip for wrapper extents + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-clip-private.h | 3 +++ + src/cairo-clip.c | 36 ++++++++++++++++++++++++++++++++++++ + src/cairo-surface-wrapper.c | 23 ++++++++--------------- + 3 files changed, 47 insertions(+), 15 deletions(-) + +commit cc745f5c2f5a513e195a9a3b66e4428ec932bfe3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jul 24 15:48:27 2011 +0100 + + wrapper: show-text-glyphs can now operate on constant array of glyphs + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-wrapper-private.h | 4 ++-- + src/cairo-surface-wrapper.c | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +commit 415d5d8fce8b685a92eef7d0ae2568e1ee7e02e7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jul 24 15:45:57 2011 +0100 + + wrapper: Use the stack for small glyph allocations + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-wrapper.c | 25 +++++++++++++++---------- + 1 file changed, 15 insertions(+), 10 deletions(-) + +commit 8102bd868105770a97e7d895b76b1b3ad40dcee9 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jul 24 15:33:21 2011 +0100 + + wrapper: Factor out the common clip handling + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-wrapper.c | 231 ++++++++++++++------------------------------ + 1 file changed, 73 insertions(+), 158 deletions(-) + +commit 87e9c8a5ea84bd00311a6a6ea3cea1fd87823172 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jul 24 15:10:18 2011 +0100 + + recording: Move the glyph allocation into the wrapper after checking clip status + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface.c | 21 +---------- + src/cairo-surface-wrapper.c | 88 +++++++++++++++++++++++++++++-------------- + 2 files changed, 60 insertions(+), 49 deletions(-) + +commit 59612847e31ac6f22f7a59c57ff39c179aab9bca +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jul 24 15:08:03 2011 +0100 + + xcb: set the right members of cairo_color_t for generating the opacity mask + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface-render.c | 16 ++++++---------- + 1 file changed, 6 insertions(+), 10 deletions(-) + +commit 080f81bf5c360398a9376cf75ed245603483236b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jul 24 13:05:55 2011 +0100 + + image: Fix clip-intersect + + Explicitly convert the clearing of the unbounded area. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-surface.c | 19 ++++++++++++------- + src/cairoint.h | 8 ++++++++ + 2 files changed, 20 insertions(+), 7 deletions(-) + +commit e4b3f84d4c3f23ad6e33bb53dcc3a88f480977c0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jul 24 13:05:24 2011 +0100 + + test: Add clip-intersect + + Exercises a bug in the unbounded drawing of an empty polygon... + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 1 + + test/Makefile.sources | 1 + + test/clip-intersect.c | 94 ++++++++++++++++++++++++++++++++++++++++++++ + test/clip-intersect.ref.png | Bin 0 -> 201 bytes + 4 files changed, 96 insertions(+) + +commit 4d5c95f6296b606c7fba31a75211129119ad9e2c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jul 24 10:41:10 2011 +0100 + + test: Exercise replaying basic painting paths + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 10 + + test/Makefile.sources | 1 + + test/paint-with-alpha-clip-mask.ref.png | Bin 0 -> 333 bytes + test/paint-with-alpha.c | 34 ++ + test/record-fill-alpha.ref.png | Bin 0 -> 2728 bytes + test/record-paint-alpha-clip-mask.ref.png | Bin 0 -> 333 bytes + test/record-paint-alpha-clip.ref.png | Bin 0 -> 302 bytes + test/record-paint-alpha-solid-clip.ref.png | Bin 0 -> 248 bytes + test/record-paint-alpha.ref.png | Bin 0 -> 256 bytes + test/record-paint.ref.png | Bin 0 -> 116 bytes + test/record-select-font-face.ref.png | Bin 0 -> 2473 bytes + test/record-self-intersecting.ref.png | Bin 0 -> 168 bytes + test/record-text-transform.ref.png | Bin 0 -> 6200 bytes + test/record.c | 485 +++++++++++++++++++++++++++++ + 14 files changed, 530 insertions(+) + +commit 2b19dd3fbd9ea8d44c9cccbb9ae28b81992b4483 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jul 24 10:09:43 2011 +0100 + + recording: Only look for a fill-stroke operation if the target supports one + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface.c | 78 ++++++++++++++++++------------------- + src/cairo-surface-wrapper-private.h | 6 +++ + 2 files changed, 45 insertions(+), 39 deletions(-) + +commit dc67d8e7f907062c7d0f02b57498c7503cb72f69 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jul 24 10:03:48 2011 +0100 + + composite: Perform a quick is-clipped for glyphs + + Computing the exact bbox of the glyphs and whether they are overlapped + is expensive. However, we can often check whether they are visible just + by looking at the maximal extents of the fonts along with the bbox of + the positions; much cheaper. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-composite-rectangles.c | 11 +++++++++++ + src/cairo-scaled-font.c | 27 +++++++++++++-------------- + src/cairo.h | 8 ++++---- + 3 files changed, 28 insertions(+), 18 deletions(-) + +commit 05bed4c574a9e6577bca93bfce837804c3dc6d19 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jul 24 01:05:40 2011 +0100 + + scaled-font: Single glyph extent computations are worryingly frequent + + But easy to optimise. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-scaled-font.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 45 insertions(+) + +commit 5ac9e3e2812a240e9e1b19ccf2199784d5739ced +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jul 24 10:05:43 2011 +0100 + + freed-pool: Enlarge the freed cache + + Clips end up recursing more than 4 levels and so we need a larger stash + to avoid mallocs. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-freed-pool-private.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 04ef07ee3bdeab9b2b3d74547214c6735ebb27b3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jul 24 00:58:06 2011 +0100 + + clip: Embed a single box to avoid a common allocation + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-clip-boxes.c | 61 ++++++++++++++++++++++++++++-------------------- + src/cairo-clip-private.h | 2 ++ + src/cairo-clip.c | 33 ++++++++++++++++++-------- + 3 files changed, 61 insertions(+), 35 deletions(-) + +commit 926287aeeae8e96d96cdc18c829eef6430c270db +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Jul 23 22:57:48 2011 +0100 + + surface-wrapper: Fix use of uninitialised variable + + Introduced recently in a30a7402f73485dabdb6a016178247f9844017a1, + + ==32234== Conditional jump or move depends on uninitialised value(s) + ==32234== at 0x6BCA326: _cairo_surface_wrapper_needs_device_transform (cairo-surface-wrapper.c:549) + ==32234== by 0x6BCB47D: _cairo_surface_wrapper_set_inverse_transform (cairo-surface-wrapper.c:579) + ==32234== by 0x6BCB55A: _cairo_surface_wrapper_init (cairo-surface-wrapper.c:621) + ==32234== by 0x6BB87A6: _cairo_recording_surface_replay_internal (cairo-recording-surface.c:854) + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-wrapper.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 7f77e2f36a0803e3ec08bc70f4923bb2d043658e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Jul 23 22:48:15 2011 +0100 + + trace: Create a new opcode for recording surface + + During replay we want to handle recording surfaces specially, and not + redirect the creation of those to the target surface. This is similar to + the need to keep image surfaces as images during replay. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-script/cairo-script-operators.c | 64 ++++++++++++++++++++++++++++++ + util/cairo-trace/trace.c | 11 +---- + 2 files changed, 66 insertions(+), 9 deletions(-) + +commit 1578530557481346f98f449d0f2885a7c985a222 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Jul 23 19:45:30 2011 +0100 + + region: Directly handle single rectangle creation in create_rectangles() + + In order to avoid the copy and transformation of the single rectangle, + we can simply pass it to pixman and create the region from it. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-region.c | 13 +++++++++++-- + 1 file changed, 11 insertions(+), 2 deletions(-) + +commit 69e52c670739f23ceb344a780dbc04f3cacebf56 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Jul 23 15:51:49 2011 +0100 + + tests: Another missing ref, this time clip-disjoint-hatching + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 1 + + test/clip-disjoint-hatching.ref.png | Bin 0 -> 8794 bytes + 2 files changed, 1 insertion(+) + +commit 9b039a65a6edca50f7ad350d3b0b4301ce35adc0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Jul 23 15:48:10 2011 +0100 + + tests: Missing ref images for new recording-surface test + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 3 +++ + test/recording-surface-over.ref.png | Bin 0 -> 3072 bytes + test/recording-surface-source.argb32.ref.png | Bin 0 -> 3044 bytes + test/recording-surface-source.rgb24.ref.png | Bin 0 -> 3133 bytes + 4 files changed, 3 insertions(+) + +commit 7e42276ffc52c417f8119517485b609ef7f7743e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Jul 23 15:13:42 2011 +0100 + + image: Apply mask-opacity to clip boxes + + In the simple condition where the user is applying an opacity mask to a + misaligned rectangle, we can treat it as a series of simpler composites + by combining the opacity with the coverage of the box. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-surface.c | 445 +++++++++++++++++++++++++++++++--------------- + 1 file changed, 299 insertions(+), 146 deletions(-) + +commit a30a7402f73485dabdb6a016178247f9844017a1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Jul 23 12:19:17 2011 +0100 + + image: replay the recording surface directly onto the target + + 백현기 reported a use-case where he was recording an entire web-page + onto the recording surface, in order to facilitate panning. In this + scenario, where there may be lots of similar surfaces within the + recording we generate thousands of unused snapshot-images bloating + memory usage and impairing performance. + + Under the right conditions we can replay directly onto the destination + which not only bypasses the snapshots but also skips the following + resampling. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-clip-boxes.c | 17 +++ + src/cairo-clip-private.h | 15 +++ + src/cairo-clip.c | 67 +++++++++++- + src/cairo-image-surface.c | 64 +++++++++++- + src/cairo-recording-surface-private.h | 6 ++ + src/cairo-recording-surface.c | 68 ++++++++---- + src/cairo-surface-wrapper-private.h | 13 +++ + src/cairo-surface-wrapper.c | 190 ++++++++++++++++++++-------------- + 8 files changed, 337 insertions(+), 103 deletions(-) + +commit bff8e22eb6b7faeac04ca585cb739e7880a3335c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Jul 23 14:11:42 2011 +0100 + + image: Fix partial clipping of text + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-surface.c | 82 ++++++++++++++++++++++++++++++++++++----------- + 1 file changed, 63 insertions(+), 19 deletions(-) + +commit c2dada9722df2aa56a625679ea21f1356b33c758 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Jul 23 15:32:40 2011 +0100 + + test: Add a paint-with-alpha variant to test clip-boxes fast path + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 4 +- + test/paint-with-alpha-clip.ref.png | Bin 0 -> 302 bytes + test/paint-with-alpha-clip.xlib.ref.png | Bin 0 -> 303 bytes + test/paint-with-alpha-solid-clip.ref.png | Bin 0 -> 248 bytes + test/paint-with-alpha.c | 63 ++++++++++++++++++++++++++++--- + 5 files changed, 60 insertions(+), 7 deletions(-) + +commit 5de02329370257290404dae244cb14ac544140d7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Jul 23 14:22:19 2011 +0100 + + test: Extend recording-surface-pattern to include a SOURCE operator test + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 26 ++-- + ...ng => recording-surface-over.gl.argb32.ref.png} | Bin + ....png => recording-surface-over.image16.ref.png} | Bin + ...g => recording-surface-over.pdf.argb32.ref.png} | Bin + ...ng => recording-surface-over.pdf.rgb24.ref.png} | Bin + ...ng => recording-surface-over.ps.argb32.ref.png} | Bin + ...png => recording-surface-over.ps.rgb24.ref.png} | Bin + ...> recording-surface-over.quartz.argb32.ref.png} | Bin + ...=> recording-surface-over.quartz.rgb24.ref.png} | Bin + ...ef.png => recording-surface-over.rgb24.ref.png} | Bin + ...g => recording-surface-over.svg.argb32.ref.png} | Bin + ...ng => recording-surface-over.svg.rgb24.ref.png} | Bin + ... => recording-surface-over.xlib.argb32.ref.png} | Bin + ...g => recording-surface-over.xlib.rgb24.ref.png} | Bin + test/recording-surface-pattern.c | 149 +++++++++++++-------- + test/recording-surface-pattern.ref.png | Bin 3072 -> 0 bytes + 16 files changed, 108 insertions(+), 67 deletions(-) + +commit abd8fcc833eedc916addbd688a40303e4c78affd +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Jul 23 14:11:12 2011 +0100 + + test: Expand partial-clip-text + + Test partial clipping along each edge. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 11 ++- + test/partial-clip-text-bottom.ref.png | Bin 0 -> 263 bytes + test/partial-clip-text-left.ref.png | Bin 0 -> 303 bytes + test/partial-clip-text-right.ref.png | Bin 0 -> 156 bytes + ...ps.ref.png => partial-clip-text-top.ps.ref.png} | Bin + ...ef.png => partial-clip-text-top.quartz.ref.png} | Bin + test/partial-clip-text-top.ref.png | Bin 0 -> 173 bytes + ...g.ref.png => partial-clip-text-top.svg.ref.png} | Bin + test/partial-clip-text.c | 86 +++++++++++++++++++-- + test/partial-clip-text.ref.png | Bin 175 -> 0 bytes + 10 files changed, 85 insertions(+), 12 deletions(-) + +commit abf97c8874430e40439aae254b16a79dc3d81c4d +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Jul 22 21:37:01 2011 +0930 + + Check glyph_index range in _index_to_glyph_name + + A broken font such as the PDF file at + https://bugzilla.gnome.org/show_bug.cgi?id=638011 can mean there are + less glyph names in the array than there should be. + + src/cairo-ft-font.c | 4 +++- + src/cairo-win32-font.c | 4 +++- + 2 files changed, 6 insertions(+), 2 deletions(-) + +commit aa646e47f31cabff6731aa0212d6b9de55823fad +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Jul 21 19:54:46 2011 +0200 + + Use new pixman formats + + b132fae5e843c329d1414d1a65b2e8d66b99852f introduced the usage of two + new pixman formats. This requires pixman 0.22, but makes it possible + to fix some TODO's left behind in gl and vg. + + configure.ac | 2 +- + src/cairo-gl-surface.c | 14 +++++--------- + src/cairo-vg-surface.c | 6 +++--- + 3 files changed, 9 insertions(+), 13 deletions(-) + +commit b60694cbc75f87a8dbc454bbbe2f663f3132d28d +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Jul 21 17:15:08 2011 +0200 + + xcb: Work around wrong extent computation in the X server + + This is basically the same fix as e6c3efdd650a. However, this was lost in + b132fae5e843 and thus had to be fixed again. + + Fixes: clip-fill-eo-unbounded clip-fill-nz-unbounded + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 18 +++++++++++++++--- + 1 file changed, 15 insertions(+), 3 deletions(-) + +commit e2150185fc85a8b3c786b8a9ac5606c42f8af167 +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Jul 21 17:53:39 2011 +0200 + + xcb: Unset the deferred_clear flag on fallback + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit de686f1938d19001d287e15f0bb72a01cbff4171 +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Jul 21 17:50:47 2011 +0200 + + xcb: Handle deferred_clear in _get_image + + Fixes: arc-infinite-loop clip-all clip-empty-group clip-fill-no-op + pattern-getters + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +commit adf026fffece49e6ae5939d53b2ec3fbc1d914cc +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Jul 21 17:33:13 2011 +0200 + + xcb: Fix a NULL dereference + + This fixes a crash in the hatchings test case. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +commit 1aa077e129485789803ad050f461067b4fe374d7 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Jul 4 12:36:23 2011 +0200 + + xcb,xlib: Cleanup GC cache handling + + Device mutexes guarantee the consistency between multiple threads, + hence GC cache does not rely anymore on atomic operations. + + This makes it possible to avoid bit twiddling and to use a simple + array. + + src/cairo-xcb-private.h | 7 +++++-- + src/cairo-xcb-screen.c | 13 ++++++------- + src/cairo-xlib-private.h | 6 ++++-- + src/cairo-xlib-screen.c | 16 ++++++++-------- + 4 files changed, 23 insertions(+), 19 deletions(-) + +commit 5eb8eacde0ec3267e55e9b63a33ed2d4642867a7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jul 21 18:01:34 2011 +0100 + + xcb: Always send a clip region along with clipped glyphs + + As we do not control the geometry used for the individual glyphs, we + must always send a clip-region so that X can trim the glyph + appropriately. However, in order to avoid sending unnecessary data we + only do so if the clip extents is less than the ink extents of the + glyphs. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface-render.c | 23 +++++++++++++++++++---- + 1 file changed, 19 insertions(+), 4 deletions(-) + +commit 93ab2171d036166d333d6d3f1ab15f346803d49c +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Jul 21 16:50:48 2011 +0200 + + xcb: Parse $CAIRO_DEBUG just like cairo-xlib does + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-connection.c | 38 ++++++++++++++++++++++++++++++++++++++ + 1 file changed, 38 insertions(+) + +commit 0858533419dc1a38ef7c2bf6e07fb89714af5598 +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Jul 21 16:03:36 2011 +0200 + + Xlib,xcb: Make *_debug_[sg]et_precision() more robust + + This adds checks for NULL pointers, devices in an error state and devices which + aren't owned by the right backend. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-connection.c | 22 ++++++++++++++++++---- + src/cairo-xlib-display.c | 22 ++++++++++++++++++---- + src/cairo-xlib-xcb-surface.c | 22 ++++++++++++++++++++++ + 3 files changed, 58 insertions(+), 8 deletions(-) + +commit 7c2ccef3eb636661ee45c501c8345b6bde9a827c +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Jul 21 15:41:25 2011 +0200 + + xcb: Make it possible to undo _cairo_xcb_device_debug_cap_* + + We now remember the original flags before any call to + cairo_xcb_device_debug_cap_xshm_version() or + cairo_xcb_device_debug_cap_xrender_version() was done and re-set these flags on + any new call to these functions. This makes it possible to raise e.g. the used + RENDER version again. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-connection.c | 12 ++++++++++++ + src/cairo-xcb-private.h | 15 ++++++++++++++- + 2 files changed, 26 insertions(+), 1 deletion(-) + +commit 83df0ab2b6ccaf623303b606a99303b5d054b145 +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Jul 21 15:28:18 2011 +0200 + + XCB: Store the flags per-connection only + + Every xcb surface had its own copy of the flags from the time that it was + created. This means that, if you want to make use of + cairo_xcb_device_debug_cap_xrender_version() and + cairo_xcb_device_debug_cap_xshm_version(), you first had to create a dummy xcb + surface, use that to get access to the cairo_device_t so that you can use these + functions and only then create your real surface, because the change only + affected new surfaces. + + This commit changes everything to use the connection's flag and removes the + per-surface flags. This avoids the dummy surfaces completely. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + boilerplate/cairo-boilerplate-xcb.c | 45 ++++++++++------------------ + src/cairo-xcb-private.h | 1 - + src/cairo-xcb-surface-render.c | 58 ++++++++++++++++++------------------- + src/cairo-xcb-surface.c | 10 +++---- + 4 files changed, 49 insertions(+), 65 deletions(-) + +commit 99628d06cd7943bf20e84a050595c33da6e3ff7d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jul 21 15:37:31 2011 +0100 + + gstate: Handle NULL clip for in_clip() + + A NULL clip implies no clipping at all, and therefore every point is + inside. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gstate.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 69cc802e61cd49871b84547131e59b99c9e48640 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jul 21 13:42:30 2011 +0100 + + Fix proxying of ->context_create() + + Adrian Johnson found that I had broken show_page() and pinpointed the + cause to being that cairo_show_page() was being called on the recording + surface and not the pagination surface after my overhaul for + cairo_backend_t. In fact, the problem was far more severe as the mistake + caused the created context to point to the wrong surface entirely, + bypassing the surface proxy. + + What is desired is for the proxy's target surface to choose what manner + of context is should use, but for all calls into the surface backend to + go through the proxy surface. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-paginated-surface.c | 2 +- + src/cairo-surface-subsurface.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 8938f58e7065fe89d46d0bebc28143f0e7e72f48 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Jul 21 21:50:29 2011 +0930 + + type1-subset: Subset the subroutines + + src/cairo-type1-subset.c | 415 ++++++++++++++++++++++++++++++++++++++--------- + 1 file changed, 338 insertions(+), 77 deletions(-) + +commit f6043b06d658d307b9e3ac36f14d049f0a8664bf +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Jul 21 21:17:18 2011 +0930 + + Add support for subsetting bare CFF fonts + + This avoids fallback when using poppler cairo for printing PDFs with + CFF fonts. + + The current CFF subsetting only works with Opentype/CFF fonts. CFF + fonts inside PDF files are usually embedded as a bare CFF font without + the Opentype wrapper. + + Making the CFF subset work with bare CFF fonts requires doing a bit of + extra work to extract the fontname, font bbox, and glyph widths from + the CFF data instead of using the Opentype tables. + + src/cairo-cff-subset.c | 577 +++++++++++++++++++++++++++++++++++++++---------- + src/cairo-ft-font.c | 12 +- + 2 files changed, 478 insertions(+), 111 deletions(-) + +commit 6b3e5cd39c81941a73ed709eadf8beae5407dc05 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jul 20 14:32:10 2011 +0100 + + xcb: Reduce one pass for masking, now just 2 passes required! + + Another 10% off fishbowl for both snb and pnv. + + [Note this exposes the bugs in the polygon clipper; naive *and* broken.] + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface-render.c | 259 ++++++++++++++++++++++++++++++++++++----- + 1 file changed, 228 insertions(+), 31 deletions(-) + +commit a585a092ee188381c0f0e93e9eee03cf1fed3692 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jul 20 15:28:34 2011 +0100 + + xcb: squash initial ChangePicture request for precision + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface-render.c | 11 ++++++++++- + src/cairo-xcb-surface.c | 5 ++++- + 2 files changed, 14 insertions(+), 2 deletions(-) + +commit d5d4a0f24031580db93d3b7909482687458718e2 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jul 19 11:29:49 2011 +0100 + + xcb: Take advantage of clip-boxes + + A demonstration of step 2, improves performance for selected benchmarks + on selected GPUs by up to 30%. + + firefox-fishbowl on snb {i5-2520m): 42s -> 29s. + firefox-talos-gfx on snb: 7.6 -> 5.2s. + firefox-fishbowl on pnv (n450): 380 -> 360s. + + Whist this looks like it is getting close to as good as we can achieve, + we are constrained by both our API and Xrender and fishbowl is about 50% + slower than peak performance (on snb). + + And it fixes the older performance regression in firefox-planet-gnome. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + boilerplate/cairo-boilerplate-xcb.c | 92 +++- + src/cairo-boxes-intersect.c | 5 +- + src/cairo-clip-private.h | 3 + + src/cairo-clip.c | 32 ++ + src/cairo-composite-rectangles-private.h | 4 + + src/cairo-composite-rectangles.c | 33 ++ + src/cairo-debug.c | 10 + + src/cairo-xcb-private.h | 1 + + src/cairo-xcb-surface-render.c | 777 +++++++++++++++++++++---------- + src/cairo-xcb-surface.c | 1 + + 10 files changed, 691 insertions(+), 267 deletions(-) + +commit b419fdcacd636dc2274695f922f758a8b521ca01 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jul 20 10:53:19 2011 +0100 + + clip-boxes: Intersection with 0 boxes means clip-all + + Fixes clip-fill-no-op + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-clip-boxes.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 41190afacfb53eebc2e47d6d5924c91080293e7f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jul 20 10:30:19 2011 +0100 + + win32: Fixup clip-mask fallback after API changes + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-win32-surface.c | 12 ++++-------- + 1 file changed, 4 insertions(+), 8 deletions(-) + +commit 3d1ee0e22dc0483189dc427b530418cbc3212810 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Wed Jul 20 19:08:38 2011 +0930 + + analysis: CAIRO_INT_STATUS_NOTHING_TO_DO should not cause fallback + + src/cairo-analysis-surface.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit 12b27778e230eb078c19d695ad11db713963aa25 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Wed Jul 20 19:05:33 2011 +0930 + + ps: Don't return CAIRO_INT_STATUS_NOTHING_TO_DO for empty glyphs + + src/cairo-ps-surface.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit aaa1ed81c20b359cf2d96fe1831273d91abeeb9b +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Wed Jul 20 18:36:21 2011 +0930 + + win32: Fix build breakage + + src/cairo-win32-private.h | 4 ++-- + src/cairo-win32-surface.c | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +commit 73ff0de345f0974652de4888220fa12ed86c08a5 +Author: Uli Schlachter <psychon@znc.in> +Date: Wed Jul 20 10:55:32 2011 +0200 + + xlib-xcb: Fix 'incompatible pointer type' warnings + + This was introduced in b132fae5e843c329d14. + + Fixes warnings of the following kind: + + cairo-xlib-xcb-surface.c:261:5: warning: initialization from incompatible + pointer type + cairo-xlib-xcb-surface.c:261:5: warning: (near initialization for + '_cairo_xlib_xcb_surface_backend.paint') + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xlib-xcb-surface.c | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +commit ac9482bdf00ec2295273ec69d3bca3e93e2ce183 +Author: Uli Schlachter <psychon@znc.in> +Date: Wed Jul 20 10:42:52 2011 +0200 + + xcb: Fix a GC leak when a screen is finished + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-screen.c | 5 +++++ + 1 file changed, 5 insertions(+) + +commit c28196d9451f006b91906b68564f3959ce48af46 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Jul 18 20:03:18 2011 +0200 + + xcb: Fix _set_clip_region for many rectangles + + Fixes a failed assert in the hatchings test. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 34 +++++++++++++++++++++++++++------- + 1 file changed, 27 insertions(+), 7 deletions(-) + +commit 4fd20fe903ebd698ec6d6fe0741d3dffb4eca74f +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Wed Jul 20 08:37:03 2011 +0930 + + Remove HAS_FT_FONT from cairo-scaled-font-subsets-private.h + + Should have been removed when the FT dependency was removed from type 1. + + src/cairo-ps-surface.c | 19 ------------------- + src/cairo-scaled-font-subsets-private.h | 5 ----- + 2 files changed, 24 deletions(-) + +commit b132fae5e843c329d1414d1a65b2e8d66b99852f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jul 14 21:19:54 2011 +0100 + + clip: Rudimentary support for clip-polygon extraction + + Step 1, fix the failings sighted recently by tracking clip-boxes as an + explicit property of the clipping and of composition. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 7 + + src/cairo-analysis-surface.c | 98 +- + src/cairo-bentley-ottmann-rectangular.c | 4 +- + src/cairo-bentley-ottmann-rectilinear.c | 2 +- + src/cairo-boxes-intersect.c | 666 +++++++++++++ + src/cairo-boxes-private.h | 27 + + src/cairo-boxes.c | 78 ++ + src/cairo-cff-subset.c | 14 +- + src/cairo-clip-boxes.c | 559 +++++++++++ + src/cairo-clip-polygon.c | 127 +++ + src/cairo-clip-private.h | 149 +-- + src/cairo-clip-region.c | 117 +++ + src/cairo-clip-surface.c | 142 +++ + src/cairo-clip.c | 1414 ++++------------------------ + src/cairo-composite-rectangles-private.h | 19 +- + src/cairo-composite-rectangles.c | 54 +- + src/cairo-debug.c | 37 +- + src/cairo-default-context.c | 5 +- + src/cairo-error-private.h | 54 ++ + src/cairo-error.c | 4 + + src/cairo-fixed-private.h | 6 + + src/cairo-font-face-twin.c | 31 +- + src/cairo-ft-font.c | 52 +- + src/cairo-gl-glyphs.c | 134 ++- + src/cairo-gl-private.h | 2 +- + src/cairo-gl-surface-legacy.c | 601 ++++++++++++ + src/cairo-gl-surface.c | 126 +-- + src/cairo-gstate-private.h | 2 +- + src/cairo-gstate.c | 206 ++--- + src/cairo-image-info.c | 2 + + src/cairo-image-surface.c | 507 +++------- + src/cairo-misc.c | 2 +- + src/cairo-paginated-surface.c | 27 +- + src/cairo-path-bounds.c | 1 + + src/cairo-path-fill.c | 112 ++- + src/cairo-path-stroke.c | 34 +- + src/cairo-pattern.c | 4 +- + src/cairo-pdf-operators-private.h | 14 +- + src/cairo-pdf-operators.c | 12 +- + src/cairo-pdf-surface.c | 82 +- + src/cairo-png.c | 2 +- + src/cairo-polygon-intersect.c | 1466 +++++++++++++++++++++++++++++ + src/cairo-polygon-reduce.c | 1491 ++++++++++++++++++++++++++++++ + src/cairo-polygon.c | 111 +++ + src/cairo-ps-surface.c | 41 +- + src/cairo-quartz-surface.c | 28 +- + src/cairo-recording-surface-private.h | 5 +- + src/cairo-recording-surface.c | 82 +- + src/cairo-scaled-font-subsets-private.h | 4 +- + src/cairo-scaled-font-subsets.c | 8 +- + src/cairo-scaled-font.c | 14 +- + src/cairo-script-surface.c | 73 +- + src/cairo-spans.c | 29 + + src/cairo-surface-clipper-private.h | 5 +- + src/cairo-surface-clipper.c | 122 ++- + src/cairo-surface-fallback-private.h | 14 +- + src/cairo-surface-fallback.c | 259 ++---- + src/cairo-surface-offset-private.h | 14 +- + src/cairo-surface-offset.c | 102 +- + src/cairo-surface-subsurface.c | 79 +- + src/cairo-surface-wrapper-private.h | 16 +- + src/cairo-surface-wrapper.c | 228 ++--- + src/cairo-surface.c | 82 +- + src/cairo-svg-surface.c | 42 +- + src/cairo-tee-surface.c | 30 +- + src/cairo-tee.h | 2 +- + src/cairo-tor-scan-converter.c | 22 +- + src/cairo-traps.c | 95 +- + src/cairo-truetype-subset.c | 11 +- + src/cairo-type1-fallback.c | 2 +- + src/cairo-type3-glyph-surface.c | 40 +- + src/cairo-types-private.h | 11 +- + src/cairo-user-font.c | 9 +- + src/cairo-win32-printing-surface.c | 12 +- + src/cairo-win32-surface.c | 8 +- + src/cairo-xcb-private.h | 38 +- + src/cairo-xcb-surface-cairo.c | 14 +- + src/cairo-xcb-surface-render.c | 615 +++++------- + src/cairo-xcb-surface.c | 28 +- + src/cairo-xlib-surface.c | 32 +- + src/cairo-xml-surface.c | 27 +- + src/cairoint.h | 79 +- + src/test-null-surface.c | 16 +- + src/test-paginated-surface.c | 14 +- + src/test-wrapping-surface.c | 14 +- + test/clip-group-shapes-circles.ref.png | Bin 1510 -> 1511 bytes + test/clip-shape.ref.png | Bin 2935 -> 3094 bytes + test/clip-stroke.ref.png | Bin 1447 -> 1439 bytes + 88 files changed, 7469 insertions(+), 3501 deletions(-) + +commit f58ade7bace8c82d0ea6740f56d227696181d616 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jul 19 21:14:08 2011 +0100 + + ps: Add HAS_FT_FONT guards for type1 + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-ps-surface.c | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +commit 29d19c683b99b6bc3f59e771c273a32721995887 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jul 19 07:50:47 2011 +0200 + + build: Fix compilation + + 83bfd85a1378e61b8bdc3f554f5e07900311f61f and + 2458120dee350cd1b49f999f64b17a895a4b6607 did not update some backends + properly, breaking their compilation. + + src/cairo-directfb-surface.c | 1 + + src/cairo-quartz-image-surface.c | 1 + + src/cairo-quartz-surface.c | 4 ++++ + src/cairo-script-surface.c | 1 + + src/cairo-win32-font.c | 1 + + src/cairo-win32-surface.c | 1 + + 6 files changed, 9 insertions(+) + +commit e5dfac245f8252a30e39f682f73a7e0065e7ffca +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jul 19 07:26:59 2011 +0200 + + build: Fix automake error + + b8f43617a98aeb6c10d554ed11b48a83fc9b5129 regressed the generation of + Makefiles. automake 1.10 fails when executed during ./autogen.sh: + + automake: cairo_test_suite_OBJECTS should not be defined + test/Makefile.am:76: while processing program `cairo-test-suite' + + test/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 9ab9ecfdbd8597131885a33e0d5d495cfc9066bd +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jul 19 00:31:18 2011 +0100 + + test,perf: Another hatching! + + This one illustrates the quadratic explosion lurking in the clipping + code. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-micro.c | 1 + + perf/cairo-perf.h | 1 + + perf/micro/Makefile.sources | 1 + + perf/micro/disjoint.c | 95 ++++++++++++++++++++++++++++++++++++++ + test/Makefile.sources | 1 + + test/clip-disjoint-hatching.c | 104 ++++++++++++++++++++++++++++++++++++++++++ + 6 files changed, 203 insertions(+) + +commit bf5892e2a6ff85e550f82c6b1fe8c0d4a0fb01f0 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Mon Jul 18 22:31:34 2011 +0930 + + Add win32 font backend functions for Type 1 subsetting + + Native Type 1 font subsetting now works on Windows. + + src/cairo-win32-font.c | 66 +++++++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 65 insertions(+), 1 deletion(-) + +commit 068df654daa74cdf516657af432002471a03c161 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Mon Jul 18 22:26:43 2011 +0930 + + type1-subset: Remove FT dependency part 6 + + Remove all remaining FT dependencies from the Type1 subsetting. + + src/cairo-pdf-surface.c | 4 -- + src/cairo-ps-surface.c | 4 -- + src/cairo-scaled-font-subsets.c | 3 - + src/cairo-type1-subset.c | 124 ++++++++++++---------------------------- + 4 files changed, 38 insertions(+), 97 deletions(-) + +commit 895dfc628a3c77ecfc0d81b9cc7bc261ed1e9031 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Mon Jul 18 22:23:21 2011 +0930 + + type1-subset: Remove FT dependency part 5 + + Add a font backend function, load_type1_data, for loading Type 1 font + data. Replace the FT code for loading the font with a call + load_type1_data. + + src/cairo-ft-font.c | 62 +++++++++++++++++++++++++++++++++++++++++++++++- + src/cairo-type1-subset.c | 51 +++++++++++++-------------------------- + src/cairoint.h | 20 ++++++++++++++++ + 3 files changed, 98 insertions(+), 35 deletions(-) + +commit a94644f1774a67741686b6ff50cd4b4607d423f2 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Mon Jul 18 22:18:22 2011 +0930 + + type1-subset: Remove FT dependency part 4 + + Remove the dependency on FT for getting the font name. + + The font name is obtained directly from the font. + + src/cairo-type1-subset.c | 64 ++++++++++++++++++++++++++++++++++++------------ + 1 file changed, 48 insertions(+), 16 deletions(-) + +commit 549acc4beb59be9ad05a1d61d6a2ec3a42e2f879 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Mon Jul 18 22:16:07 2011 +0930 + + type1-subset: Remove FT dependency part 3 + + Remove the dependency on FT for getting the bbox and EM size. + + The FontBBox and FontMatrix in the font file are parsed to obtain this data. + + src/cairo-type1-subset.c | 94 ++++++++++++++++++++++++++++++++++++++++++++---- + 1 file changed, 87 insertions(+), 7 deletions(-) + +commit b83fcf7d52720105a143b057aa56c4a04f827d17 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Mon Jul 18 22:12:06 2011 +0930 + + type1-subset: Remove FT dependency part 2 + + Remove the dependency on getting the number of glyphs in the font from + FT. The number of glyphs is instead obtained by counting the + charstrings. + + Some fixed size malloced data is replaced with cairo_array_t so they + can be populated before we know the number of glyphs. + + src/cairo-type1-subset.c | 97 ++++++++++++++++++++++++------------------------ + 1 file changed, 49 insertions(+), 48 deletions(-) + +commit d46df1dffbb151bee6d2709664c7888e5fc5dd3c +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Mon Jul 18 21:55:37 2011 +0930 + + type1-subset: Remove FT dependency part 1 + + Remove cairo_type1_font_subset_get_glyph_names_and_widths(). + + The glyph names are read from the font file instead of via FT. The + charstrings are parsed to extract the glyph widths. + + A new font backend function, index_to_glyph_name, has been added for + obtaining the glyph name for a given glyph index. This function is + supplied with the array of glyph names and a glyph index and is + required to return the array index of the glyph name corresponding to + the glyph index. + + The reason for passing in the array of glyph names is that: + + 1) On windows there is no API for accessing glyph names so we will + use knowledge of how the glyphs in a Type 1 font are numbered to + perform name lookup. + + 2) We can also use knowledge of how FT assigns the glyph numbers in a + Type 1 font to optimize the name lookup. + + src/cairo-ft-font.c | 61 +++++++++- + src/cairo-type1-subset.c | 310 +++++++++++++++++++++++++++-------------------- + src/cairoint.h | 19 +++ + 3 files changed, 255 insertions(+), 135 deletions(-) + +commit 9fc3f1086c30d28eb1a2c5795f17e9d4ff4353b9 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Mon Jul 18 21:47:16 2011 +0930 + + cff-subset: Fix /guillemotright SID encoding + + src/cairo-cff-subset.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 722e976044a30b237c9011e7e19ba022cb488f69 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Mon Jul 18 21:44:18 2011 +0930 + + png: fix type1 encoding bugs + + glyphs outside of the StandardEncoding were not being displayed by acroread + + src/cairo-pdf-surface.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +commit 3a293657133145e1ecc4e7c047069cb465f6b4ef +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Jul 18 09:16:21 2011 +0100 + + tests,perf: Add a hatchings clip-test + + A benchmark to test how close we get to reducing paint+clip to an ordinary + fill, and to check correctness. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/Makefile.am | 2 + + perf/cairo-perf-micro.c | 1 + + perf/cairo-perf.h | 1 + + perf/micro/Makefile.sources | 1 + + perf/micro/hatching.c | 199 ++++++++++++++++++++++++++++++++++++++++++++ + test/Makefile.refs | 2 + + test/Makefile.sources | 1 + + test/hatchings.c | 153 ++++++++++++++++++++++++++++++++++ + test/hatchings.ref.png | Bin 0 -> 99316 bytes + test/hatchings.xlib.ref.png | Bin 0 -> 92532 bytes + 10 files changed, 360 insertions(+) + +commit 2786864306eeb353ca873b63e471224d5ab8d0c8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Jul 18 10:08:16 2011 +0100 + + gl: Compile fix, missing include cairo-pattern-private.h + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-gradient-private.h | 1 + + 1 file changed, 1 insertion(+) + +commit 43b57d59a1e48125ed41e2a356b698522704c023 +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Jul 17 18:18:21 2011 +0200 + + cairo-xcb: Drop some unused definitions/file + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-private.h | 1 - + src/cairo-xcb-surface-private.h | 37 ------------------------------------- + src/cairo-xcb-surface.c | 2 -- + 3 files changed, 40 deletions(-) + +commit 2e264e73df0b5a2f6d6a7f906f483d4a827a5375 +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Jul 17 17:55:26 2011 +0200 + + xlib-xcb: Fix an "extension leak" + + When the xlib-xcb backend created a new cairo_device_t for a Display*, it called + XAddExtension to get a callback on XCloseDisplay(). However, when the last + surface using this device is destroyed, this extension isn't unregistered + because there is no API for this. + + I noticed that gvim was quite slow after a while with xlib-xcb. The reason is + that xlib has a linked list of registered extensions that it has to walk through + for various callbacks. Since xlib-xcb caused lots of "dead" extension, this got + quite slow when there were about 20k entries in this list. + + The fix is to make sure that the cairo_device_t isn't finished/destroyed when + the last surface using it is destroyed. For this, we keep an internal reference + which is only dropped when the device is finished. This happens when someone + explicitly calls cairo_device_finish or when our XCloseDisplay hook runs. + + The same thing is done by cairo-xlib. I didn't port this over to xlib-xcb + because at that time I didn't understand why it was needed. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xlib-xcb-surface.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +commit 0dc63f5bb409de0013bf845f96383cc9dca27980 +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Jul 16 16:47:30 2011 +0200 + + cairo-trace: Fix mark-dirty with xcb backend + + cairo-xcb's acquire_source_image implementation will attach the image it returns + as a snapshot to the xcb surface. cairo_surface_mark_dirty_rectangle asserts + that the surface doesn't have any snapshots attached. cairo-trace will emit the + surface to the trace when it was marked dirty by drawing it to an image surface. + + The combination of these three things caused a failed assertion when cairo-trace + was used on something which uses xcb/Xlib and which uses mark_dirty. + I found this with firefox and xlib-xcb. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + util/cairo-trace/trace.c | 16 ++++++++++++---- + 1 file changed, 12 insertions(+), 4 deletions(-) + +commit 27692ca75967b482ff1bd0ffbca8b4e3551776f7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Jul 16 20:45:43 2011 +0100 + + test: Add random-clips to stress test clipping + + Not sure what the right results are, so refs will come later. The output + looks superficially right, but the *code* is known to be buggy... + + (And hopefully this has captured a few of those bugs.) + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.sources | 1 + + test/random-clips.c | 217 ++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 218 insertions(+) + +commit b8f43617a98aeb6c10d554ed11b48a83fc9b5129 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Jul 16 20:45:03 2011 +0100 + + test: Always compile cairo-test-suite + + I'm tired of having to explicitly type make cairo-test-suite. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.am | 2 ++ + 1 file changed, 2 insertions(+) + +commit 54ae2e1619ba2f1039c8e652b2f24d7a72ab8395 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jul 14 23:40:38 2011 +0100 + + xcb: Remove more bits of drm integration + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-private.h | 3 -- + src/cairo-xcb-surface-render.c | 4 --- + src/cairo-xcb-surface.c | 65 ++---------------------------------------- + 3 files changed, 2 insertions(+), 70 deletions(-) + +commit 2458120dee350cd1b49f999f64b17a895a4b6607 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jul 14 18:35:32 2011 +0100 + + pattern: Add observer hooks + + In order for custom context to automatically track when a pattern is + modify after being set on the context (and before it is used in an + operator), we need for there to be a callback when the pattern is + modified. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 1 + + src/cairo-clip.c | 1 + + src/cairo-composite-rectangles.c | 1 + + src/cairo-debug.c | 1 + + src/cairo-default-context.c | 1 + + src/cairo-ft-font.c | 1 + + src/cairo-gstate.c | 1 + + src/cairo-image-surface.c | 1 + + src/cairo-mesh-pattern-rasterizer.c | 2 + + src/cairo-pattern-private.h | 362 ++++++++++++++++++++++++++++++++++ + src/cairo-pattern.c | 17 ++ + src/cairo-pdf-shading-private.h | 1 + + src/cairo-recording-surface-private.h | 1 + + src/cairo-scaled-font.c | 1 + + src/cairo-surface-fallback.c | 1 + + src/cairo-surface-offset.c | 1 + + src/cairo-surface-wrapper.c | 1 + + src/cairo-types-private.h | 114 ----------- + src/cairo-xcb-private.h | 1 + + src/cairo-xlib-surface.c | 3 +- + src/cairo.c | 1 + + src/cairoint.h | 171 +--------------- + 22 files changed, 402 insertions(+), 283 deletions(-) + +commit 83bfd85a1378e61b8bdc3f554f5e07900311f61f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Apr 23 19:45:26 2010 +0100 + + Implement cairo_backend_t + + Allow a backend to completely reimplement the Cairo API as it wants. The + goal is to pass operations to the native backends such as Quartz, + Direct2D, Qt, Skia, OpenVG with no overhead. And to permit complete + logging contexts, and whatever else the imagination holds. Perhaps to + experiment with double-paths? + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 2 + + src/cairo-analysis-surface.c | 4 + + src/cairo-backend-private.h | 170 +++++ + src/cairo-clip.c | 7 +- + src/cairo-debug.c | 2 +- + src/cairo-default-context-private.h | 58 ++ + src/cairo-default-context.c | 1406 +++++++++++++++++++++++++++++++++++ + src/cairo-directfb-surface.c | 3 + + src/cairo-gl-surface.c | 3 + + src/cairo-gstate-private.h | 39 +- + src/cairo-gstate.c | 142 ++-- + src/cairo-image-surface.c | 3 + + src/cairo-os2-surface.c | 3 + + src/cairo-paginated-surface.c | 9 + + src/cairo-path-private.h | 4 +- + src/cairo-path-stroke.c | 4 +- + src/cairo-path.c | 98 +-- + src/cairo-pdf-surface.c | 3 + + src/cairo-private.h | 25 +- + src/cairo-ps-surface.c | 3 + + src/cairo-qt-surface.cpp | 3 + + src/cairo-quartz-image-surface.c | 2 + + src/cairo-recording-surface.c | 3 + + src/cairo-scaled-font-subsets.c | 1 + + src/cairo-script-surface.c | 2 + + src/cairo-surface-snapshot.c | 1 + + src/cairo-surface-subsurface.c | 9 + + src/cairo-svg-surface.c | 3 + + src/cairo-tee-surface.c | 3 + + src/cairo-type3-glyph-surface.c | 3 + + src/cairo-types-private.h | 14 +- + src/cairo-vg-surface.c | 3 + + src/cairo-win32-printing-surface.c | 3 + + src/cairo-win32-surface.c | 3 + + src/cairo-xcb-surface-core.c | 1 + + src/cairo-xcb-surface-render.c | 1 + + src/cairo-xcb-surface.c | 3 + + src/cairo-xlib-surface.c | 3 + + src/cairo-xlib-xcb-surface.c | 6 +- + src/cairo-xml-surface.c | 3 + + src/cairo.c | 1039 ++++++++++---------------- + src/cairoint.h | 9 +- + src/drm/cairo-drm-gallium-surface.c | 3 + + src/drm/cairo-drm-i915-surface.c | 2 + + src/drm/cairo-drm-i965-surface.c | 2 + + src/drm/cairo-drm-intel-surface.c | 2 + + src/drm/cairo-drm-radeon-surface.c | 2 + + src/test-fallback-surface.c | 3 + + src/test-fallback16-surface.c | 3 + + src/test-null-surface.c | 2 + + src/test-paginated-surface.c | 2 + + src/test-wrapping-surface.c | 3 + + 52 files changed, 2321 insertions(+), 809 deletions(-) + +commit 2055732ffcd6316c3feb05ac330fbaf8698df5c4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jul 14 17:58:31 2011 +0100 + + tests: Add paint-clip-fill + + A false reduction bug found by Taekyun Kim. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 3 ++ + test/Makefile.sources | 1 + + test/paint-clip-fill-aa.ref.png | Bin 0 -> 352 bytes + test/paint-clip-fill-mono.ref.png | Bin 0 -> 352 bytes + test/paint-clip-fill.c | 106 ++++++++++++++++++++++++++++++++++++++ + 5 files changed, 110 insertions(+) + +commit 524809759b7c1c9f01bcdd9f195ec4366ebe8223 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jul 14 17:51:00 2011 +0100 + + tests: Add clip-complex-shape + + Contributed by Taekyun Kim to exercise a major bug he found in the + treatment of complex clips. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 2 + + test/Makefile.sources | 1 + + test/clip-complex-shape-eo-aa.ref.png | Bin 0 -> 349 bytes + test/clip-complex-shape-eo-mono.ref.png | Bin 0 -> 349 bytes + test/clip-complex-shape.c | 114 ++++++++++++++++++++++++++++++++ + 5 files changed, 117 insertions(+) + +commit 41b5469b9523c9a8784d230e929518367dbda751 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jul 5 11:49:50 2011 +0100 + + image: Only discard the outer boxes + + This is necessary as the callers do not propagate the clip extents after + finding the singular clip path. *sigh* + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-surface.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +commit ebe665867c2ff22c098ede4d4e909d42cca8b39c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jul 14 16:45:54 2011 +0100 + + scaled-font: Fix assertions for original font-face vs font-face + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-scaled-font.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 507b8abcf6326bbbe8c188016043b21438256b71 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jul 14 12:46:26 2011 +0100 + + Excise xcb-drm + + The experiment was at best a pyrrhic victory. Whilst it did show that + you could successfully subvert cairo_xcb_surface_t and provide the + rendering locally faster (than the xlib driver at that time), any + performance benefits were lost in the synchronisation overheads and + server-side buffer allocation. + + Once cairo-gl is mature, we need to look at how we can overcome these to + improve client-side rendering + + In the meantime, cairo-xcb is no longer my playground for + experimentation and is shaping up to become a stable backend... + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + boilerplate/Makefile.win32.features | 12 ----- + build/Makefile.win32.features | 2 - + build/Makefile.win32.features-h | 6 --- + build/configure.ac.features | 1 - + configure.ac | 11 ---- + src/Makefile.win32.features | 16 ------ + src/cairo-xcb-connection.c | 47 ---------------- + src/cairo-xcb-private.h | 2 - + src/cairo-xcb-screen.c | 88 ------------------------------ + src/cairo-xcb-surface-render.c | 73 ------------------------- + src/cairo-xcb-surface.c | 104 ------------------------------------ + src/drm/cairo-drm-i915-shader.c | 24 --------- + src/drm/cairo-drm-i965-shader.c | 24 --------- + 13 files changed, 410 deletions(-) + +commit 5d9da3decff06015d03413713714552095dfa616 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jul 14 12:35:19 2011 +0100 + + Excise DRM-Xr + + I've since incorporated (nearly) all the features from cairo-drm into + xf86-video-intel, making this experiment defunct. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + boilerplate/Makefile.win32.features | 12 - + build/configure.ac.features | 1 - + configure.ac | 13 - + src/Makefile.sources | 5 - + src/Makefile.win32.features | 16 - + src/cairo-drm-xr.h | 66 - + src/drm/cairo-drm-xr.c | 2378 ----------------------------------- + 7 files changed, 2491 deletions(-) + +commit cd4b2d843b2a8c06ba78c15ff65763b5bdf54dc6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jul 13 12:33:48 2011 +0100 + + scaled-font: Key the cache on the orignal font_face + + We check the incoming scaled font using the original font fce, so we + need to also store it in the cache using the same face, and not the + resolved font_face (which will remain the same unless the fontconfig + configuration is updated). + + Hides the quadratic behaviour of font retrieval in recent cairo-traces. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-scaled-font.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 84c66589bc6f6a9f924863e578a49e4f2492ec87 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jul 13 12:32:24 2011 +0100 + + ft-font: If the pattern is already resolved, use it immediately + + This skips an relatively expensive search for the a good match if the + pattern already contains a face or a filename. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-ft-font.c | 36 +++++++++++++++++++++++------------- + 1 file changed, 23 insertions(+), 13 deletions(-) + +commit 727a0092d1128f8dd6e6054efb586f26e47fa2d0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jul 8 21:58:07 2011 +0100 + + test: Test a1 clipping semantics + + If I've written the tests correctly, these should produce identical + images as the a1 rasterisation tests. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.refs | 6 +- + test/Makefile.sources | 1 + + test/a1-clip-fill-equal.ref.png | Bin 0 -> 148 bytes + test/a1-clip-fill.ref.png | Bin 0 -> 148 bytes + test/a1-clip-paint.ref.png | Bin 0 -> 148 bytes + test/a1-clip-stroke.ref.png | Bin 0 -> 148 bytes + test/a1-clip.c | 175 ++++++++++++++++++++++++++++++++++++++++ + 7 files changed, 181 insertions(+), 1 deletion(-) + +commit af71e7717e3eb89f6ebaa6b43b1267341dc15116 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jul 8 21:56:32 2011 +0100 + + png: Fix support of depth-30 images + + Rename the variable depth to bpc to prevent future confusion. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-png.c | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +commit cc3e4c6ec96c3319abaae889198f0fbab8e1f90d +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Jul 9 11:19:49 2011 +0200 + + Handle CAIRO_STATUS_DEVICE_FINISHED in switches + + Fixes all warnings that looked like this: + + warning: enumeration value 'CAIRO_STATUS_DEVICE_FINISHED' not handled in switch + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-device.c | 1 + + src/cairo-misc.c | 2 ++ + src/cairo-region.c | 1 + + src/cairo-spans.c | 2 ++ + src/cairo-surface.c | 1 + + util/cairo-trace/trace.c | 1 + + 6 files changed, 8 insertions(+) + +commit 508990af8d83c83ae6ea0c3e66bd736d3446027d +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Jul 8 21:31:47 2011 +0200 + + xcb: Don't use xcb surfaces as snapshots + + Eventually someone might try to paint to the xcb surface again. However, + _cairo_surface_begin_modification doesn't like that: + + cairo-surface.c:385: _cairo_surface_begin_modification: Assertion + `surface->snapshot_of == ((void *)0)' failed. + + There was only a single place in the xcb backend where a cairo_xcb_surface_t + could be used as a snapshot, so the _cairo_surface_has_snapshot that checked for + such a surface can be removed, too. + + This does *not* remove all snapshots from the xcb backend, but all the remaining + snapshots are instances of cairo_xcb_picture_t. These surfaces are only ever + created internally and thus can't be modified by users directly. + + Fixes: xcb-snapshot-assert + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 28 ---------------------------- + 1 file changed, 28 deletions(-) + +commit 5b8c01ec777538a110c5dc79fee04294b29f9721 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Jul 8 22:04:29 2011 +0200 + + Add a test case that asserts on xcb + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/Makefile.sources | 1 + + test/xcb-snapshot-assert.c | 67 +++++++++++++++++++++++++++++++++++++++ + test/xcb-snapshot-assert.ref.png | Bin 0 -> 97 bytes + 3 files changed, 68 insertions(+) + +commit 4153de46892b47b5b21fbef8939ef732935bfe03 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Jul 8 16:51:19 2011 +0200 + + xcb: Track cairo_xcb_picture_t surfaces + + When e.g. using an image surface as the source for a xcb surface, a + cairo_xcb_picture_t is created and attached to that image surface as a snapshot. + This contains the Picture that was created on the X11 server. + + However, as soon as the cairo_xcb_picture_t's cairo_xcb_screen_t is finished and + destroyed, this picture can't be used anymore. This commit now makes sure all + these Pictures are freed when the screen is finished. + + This was found because my X server's memory usage grew quite large. Every time + the app was done drawing, it destroyed its last surface which also destroyed the + last reference to the cairo_xcb_screen_t. This meant that the existing Picture + snapshots couldn't be used anymore, but they were still kept around and used up + memory until there wasn't any free memory left. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-private.h | 3 +++ + src/cairo-xcb-screen.c | 13 +++++++++++++ + src/cairo-xcb-surface-render.c | 3 +++ + 3 files changed, 19 insertions(+) + +commit e775db35d9306b74867f981a08d253562b15cffd +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Jul 8 17:09:45 2011 +0200 + + xcb: Move cairo_xcb_picture_t to cairo-xcb-private.h + + The next commit will make cairo-xcb-screen.c use this struct and add new + members. Splitting off the move into its own commits makes that easier to + understand. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-private.h | 20 ++++++++++++++++++++ + src/cairo-xcb-surface-render.c | 19 ------------------- + 2 files changed, 20 insertions(+), 19 deletions(-) + +commit 5b9205cc52f50f997c9cd6c5a64faf783d83310f +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Jul 3 17:45:58 2011 +0200 + + xlib-xcb: Register a XCloseDisplay hook + + This commits makes the xlib-xcb backend produce its own cairo_device_t. This + per-Display* device is used to manage the registration of a XCloseDisplay hook + via XAddExtension/XESetCloseDisplay in the same way that the xlib backend does + this. The device is necessary to see if we already registered an extension. + + This fixes weird errors when running cairo-test-suite with -a -s. They were + caused because the backend didn't see the XCloseDisplay and the next + XOpenDisplay happened to create a xcb_connection_t with the same address as the + last display. This caused the xcb backend to assume lots of wrongness. + + This commit makes use of _cairo_xlib_display_mutex which is otherwise compiled + in but not used anywhere when xlib-xcb is enabled. + + Patch v2: Fixed the xcb_device == NULL case and made sure the xcb_device is only + finished on XCloseDisplay, not when all xlib-xcb surfaces are destroyed. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xlib-xcb-surface.c | 145 ++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 142 insertions(+), 3 deletions(-) + +commit 05a0b24ecbafccf63e0114889301fc23268a9efc +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Jul 8 11:24:16 2011 +0200 + + device: Fix documentation of device types + + The documentation of device types incorrectly talks about surfaces and + lacks the new INVALID type. + + src/cairo.h | 17 +++++++++-------- + 1 file changed, 9 insertions(+), 8 deletions(-) + +commit 02a331de13313085d671716031a3b61778014b87 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jul 6 22:49:29 2011 +0200 + + device: Define the CAIRO_DEVICE_TYPE_INVALID device type + + Define a new device type to indicate that the device is not valid. + The -1 value is along the same line as CAIRO_FORMAT_INVALID (and is + likely to have the same issues). + + src/cairo-device.c | 2 +- + src/cairo.h | 4 +++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +commit 35d8d206355b281d09d50b61d6497cea39e09624 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jul 6 22:45:02 2011 +0200 + + device: Add CAIRO_STATUS_DEVICE_FINISHED + + Instead of abusing CAIRO_STATUS_SURFACE_FINISHED to indicate the use + of a finished device, define and use the new error status + CAIRO_STATUS_DEVICE_FINISHED. + + src/cairo-device.c | 2 +- + src/cairo.c | 3 ++- + src/cairo.h | 2 ++ + 3 files changed, 5 insertions(+), 2 deletions(-) + +commit 780534cd31af6f4837a4f5a0e445ae609c3559c3 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jul 6 22:23:05 2011 +0200 + + gstate: Remove useless code + + gstate->source has been initialized as the static black pattern, so + its status is success. + + src/cairo-gstate.c | 12 +----------- + 1 file changed, 1 insertion(+), 11 deletions(-) + +commit 4679b28e211613391764919578161d400bc9075f +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Jul 7 18:28:42 2011 +0200 + + color: Remove unused functions + + _cairo_color_init() and _cairo_color_init_rgb() are basically unused + (except in some experimantal code, which is trivial to fix). + + src/cairo-color.c | 13 ------------- + src/cairoint.h | 7 ------- + src/drm/cairo-drm-xr.c | 9 +++++---- + 3 files changed, 5 insertions(+), 24 deletions(-) + +commit 9374cf0a9730843881043c39ab4c6f6d31af7cce +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jul 6 15:14:55 2011 +0200 + + pattern: Implement _rgb functions as wrappers over _rgba functions + + cairo_pattern_create_rgb() and cairo_pattern_add_color_stop_rgb() + implement the same logic as cairo_pattern_create_rgba() and + cairo_pattern_add_color_stop_rgba() with an alpha == 1.0. + + Instead of duplicating the code, they can simply call into the more + general functions. + + src/cairo-pattern.c | 31 +++---------------------------- + src/cairoint.h | 1 + + 2 files changed, 4 insertions(+), 28 deletions(-) + +commit d7cc30eb0112010533d05b4579a12e7a2910b08d +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Jul 3 19:22:34 2011 +0200 + + Make error contexts static + + Dynamically creating error contexts requires locking and failure + handling. The code logic can be simplified by statically defining all + the possible error contexts. + + src/cairo-mutex-list-private.h | 1 - + src/cairo.c | 148 ++++++++++++++++++----------------------- + 2 files changed, 65 insertions(+), 84 deletions(-) + +commit ef659649d3acfb5f91996dd2bbdfd2a2833d9f38 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Jul 3 18:19:07 2011 +0200 + + Clean up context_pool upon static data reset + + In commit f46ba56d5b8c54be5f0379aca204c0ce05d0f58a the static context + stash was replaced by a dynamic freed pool, which needs to be cleared + upon resets. + + Fixes: + cairo.c:181: warning: ‘context_pool’ defined but not used + + Reported-by: Uli Schlachter <psychon@znc.in> + + src/cairo.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit fe3ca9c36f15403d8d93263acb758100836ad3cb +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Jul 3 18:40:08 2011 +0200 + + Remove conditional compilation of freed-pools + + Conditional compilation was needed to avoid warnings: + cairo-clip.c:51: warning: ‘clip_path_pool’ defined but not used + cairo.c:181: warning: ‘context_pool’ defined but not used + + They can be avoided by making sure that _freed_pool_reset(ptr) + actually consumes its argument. This has the pleasant side-effect that + forgetting to properly reset a freed-pool now results in a warning if + atomic ops are disabled/not available. + + src/cairo-clip.c | 2 -- + src/cairo-freed-pool-private.h | 6 +++++- + src/cairo-pattern.c | 4 ---- + src/cairo.c | 3 --- + 4 files changed, 5 insertions(+), 10 deletions(-) + +commit b6c972897b9d7cb898fb08363115e721a3ff758c +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Jul 3 13:13:37 2011 +0200 + + Xlib: Fix boilerplate to work with xlib-xcb + + Xlib boilerplate includes cairo-xlib-surface-private.h, so that it can cast the + xlib cairo_surface_t to cairo_xlib_surface_t and then mess with some internals + of that struct. + + However, xlib-xcb doesn't use that struct and thus this results in random memory + corruption. "Luckily", all the fields that this messes with don't corrupt any + fields in cairo_xlib_xcb_surface_t, but instead this writes past the end of the + buffer that was returned from malloc. + + This commit just adds an #if to disable this code section since I have no idea + what a proper fix would be. This means that the xlib-fallback backend doesn't + actually test any fallbacks with xlib-xcb, however it never did so anyway. + + If you have any idea how to fix xlib-fallback with xlib-xcb, please speak up. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + boilerplate/cairo-boilerplate-xlib.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit eea31cc4ee02f81554f04c3db60ab371c1cb212f +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Jul 2 23:11:48 2011 +0200 + + xlib-xcb: Don't call directly into the xcb backend + + Instead, this now uses the surface wrapper functions for this job. + These functions make sure that e.g. snapshots are detached and that is_clear is + reset correctly. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xlib-xcb-surface.c | 33 ++++++++++++++++++--------------- + 1 file changed, 18 insertions(+), 15 deletions(-) + +commit 9e4c73a40d6eb72a5110936ab310acbaef99baa8 +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Jul 2 23:00:24 2011 +0200 + + xlib-xcb: Fix some use-after-free + + Also, this now sets surface->xcb to NULL after the dereference. Segfaults are + way more prominent anyway. :-) + + All the backend callbacks shouldn't need any checks since the public entry point + already checks for finished surfaces. Only the public functions in xlib-xcb need + to do checks for finished surfaces. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xlib-xcb-surface.c | 17 +++++++++++++++++ + 1 file changed, 17 insertions(+) + +commit 880566e14b335ddb5bf1c768f6ca4f02b2dd2add +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Jul 2 17:40:36 2011 +0200 + + xcb: Remove an unused function argument + + Since commit f1d313e0, the 'force' argument to _copy_to_picture() isn't used + anymore. Said commit should have removed it. Whoops. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 18 ++++++++---------- + 1 file changed, 8 insertions(+), 10 deletions(-) + +commit 7e1a9f1db0471f238a954a1fd248695a2a6920d7 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Jul 1 21:48:31 2011 +0200 + + xlib-xcb: Fix cairo_surface_flush() + + This function called directly into the xcb's surface flush function. This means + that snapshots for that surface weren't detached since that's normally done in + cairo_surface_flush() before calling into the backend. + + Fix this by using surface_flush() instead of calling into the backend directly. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=31931 + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xlib-xcb-surface.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 26ee41435b864b266f6c2c06544d95f7cd125733 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Jul 1 18:53:18 2011 +0200 + + xlib-xcb: Verify we really have an xcb surface + + If the X11 server doesn't have the RENDER extension, the xcb backend falls back + to the image backend in some cases (e.g. create_similar). xlib-xcb didn't handle + this properly which means it used the result like a xcb surface. + + Found while debugging https://bugs.freedesktop.org/show_bug.cgi?id=31931, + firefox died from a BadDrawable error when it tried to use the (bogous) result + from cairo_xlib_surface_get_drawable(). + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xlib-xcb-surface.c | 24 ++++++++++++++++++++++++ + 1 file changed, 24 insertions(+) + +commit 59fadcf7d93a179554a3f615c02e48547d6b141e +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Jul 1 10:26:28 2011 +0200 + + xlib-xcb: Fix api-special-cases test + + The functions cairo_xlib_surface_set_size and cairo_xlib_surface_set_drawable + didn't set the expected error when called with a finished surface. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xlib-xcb-surface.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +commit 4495e08e9e5fbcd386bf398097c8276f7f5c862d +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Jul 1 10:12:15 2011 +0200 + + xlib-xcb: Use slim_hidden_proto correctly + + There are debug functions for setting the precision on a xlib device, so + xlib-xcb must redirect that to the xcb backend, too. However this means that + these public functions now are also called internally, thus we have to make them + go through the slim_hidden_* macros. + + This commit fixes the following error from "make check": + + Checking .libs/libcairo.so for local PLT entries + 00000000002bb6d8 000001e300000007 R_X86_64_JUMP_SLOT 000000000006d8a0 cairo_xcb_device_debug_set_precision + 0 + 00000000002bb750 0000025e00000007 R_X86_64_JUMP_SLOT 000000000006d8b0 cairo_xcb_device_debug_get_precision + 0 + FAIL: check-plt.sh + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-connection.c | 6 ++++++ + src/cairo-xcb-private.h | 2 ++ + 2 files changed, 8 insertions(+) + +commit ea645913ba8739377ee2e2b51480310befc19b76 +Author: Søren Sandmann Pedersen <ssp@redhat.com> +Date: Mon Jun 27 23:11:32 2011 -0400 + + Include pixman.h in cairo-xlib-private.h + + Otherwise "make cairo-perf-trace" fails. Reported by Matt Turner on + IRC. + + src/cairo-xlib-private.h | 2 ++ + 1 file changed, 2 insertions(+) + +commit 8996287d94b159c922282e0b6434b0637f8f32aa +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Jun 25 20:02:47 2011 +0100 + + xlib: Create an exact match for the image surface if possible using Xrender + + In order to defer the pixel conversion till as late in the pipeline as + possible, we want to try and preserve the pixman image format whilst + uploading the pixel data. To do this, we want to create an XRender + surface with a matching PictFormat to the source image. Then we need to + make sure we take the quick path through _draw_image_surface for none + and direct conversions. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-display.c | 134 ++++++++++++++++++++++++++++++++++++++++------- + src/cairo-xlib-private.h | 4 ++ + src/cairo-xlib-surface.c | 111 ++++++++++++++++++++++++++++++++------- + 3 files changed, 211 insertions(+), 38 deletions(-) + +commit f46ba56d5b8c54be5f0379aca204c0ce05d0f58a +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Jun 25 15:35:48 2011 +0200 + + Do not open-code freed-pool + + Reuse the freed-pool system to reduce allocation pressure of context + creation/destruction. + + As a side effect, this removes the use of ffs() on Win32, cleaning up + some MSVC-specific code and fixing a mingw-related build issue. + + Fixes https://bugs.freedesktop.org/show_bug.cgi?id=30277 + + src/cairo-compiler-private.h | 15 ------- + src/cairo.c | 94 ++++++-------------------------------------- + 2 files changed, 12 insertions(+), 97 deletions(-) + +commit a6d4d840d324de55a973663e5a416751619dc490 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Jun 25 14:35:38 2011 +0200 + + test: Fix check-ref-missing + + ce3806510f8a20621f3daf7bd1afb18811fa1e92 changed the format of + Makefile.refs, breaking the check-ref-missing target. + + Ignoring any line not containing a .png file fixes check-ref-missing + and makes it more robust. + + test/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ce3806510f8a20621f3daf7bd1afb18811fa1e92 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Jun 25 13:05:19 2011 +0100 + + test: Add a Makefile.refs generator + + Generates the lexicographical Makefile.refs based on the *.ref.png and + *.xfail.png checked into git. + + This might be nice to automate as a Makefile target. But for now play + safe and do the updates manually. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.am | 2 +- + test/Makefile.refs | 5 ++++- + test/generate_refs.sh | 12 ++++++++++++ + 3 files changed, 17 insertions(+), 2 deletions(-) + +commit ffdfdf2fa99dab340e03884267218b134d68265b +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Jun 25 10:29:04 2011 +0200 + + test: Merge text-antialias-* + + The test-antialias-* tests perform the same operation with just a + different antialias flag. Sharing the code ensures that they are kept + in sync and permits adding new flags combinations easily. + + Fixes https://bugs.freedesktop.org/show_bug.cgi?id=14268 + + test/Makefile.sources | 4 +- + test/text-antialias-gray.c | 76 ---------------------- + test/text-antialias-none.c | 76 ---------------------- + ...{text-antialias-subpixel.c => text-antialias.c} | 40 ++++++++++-- + 4 files changed, 37 insertions(+), 159 deletions(-) + +commit a468489270faabacbf89febc250c2d393fda1a13 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Jun 24 16:23:28 2011 +0200 + + win32: Fallback upon PDF blend operators + + GDI does not support PDF blend modes, so they are implemented by + falling back. + + Fixes extended-blend-solid, extended-blend-solid-alpha. + + Bug pointed out by Peter Frentrup <peter_frentrup@gmx.de> in + http://lists.cairographics.org/archives/cairo/2011-April/021908.html + + src/cairo-win32-surface.c | 24 +++++++++++++++++++++--- + 1 file changed, 21 insertions(+), 3 deletions(-) + +commit acfc00168571928a882787d3c6622efde22172e0 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Jun 25 08:41:52 2011 +0200 + + test: Add extended-blend-solid tests + + Unify extended-blend* tests and add a solid pattern version, which + crashes on the win32 backend. + + Bug pointed out by Peter Frentrup <peter_frentrup@gmx.de> in + http://lists.cairographics.org/archives/cairo/2011-April/021908.html + + test/Makefile.refs | 6 + + test/Makefile.sources | 1 - + test/extended-blend-alpha.c | 115 ---------------- + test/extended-blend-solid-alpha.argb32.ref.png | Bin 0 -> 9406 bytes + test/extended-blend-solid-alpha.image16.ref.png | Bin 0 -> 4626 bytes + test/extended-blend-solid-alpha.rgb24.ref.png | Bin 0 -> 5743 bytes + test/extended-blend-solid.argb32.ref.png | Bin 0 -> 4071 bytes + test/extended-blend-solid.image16.ref.png | Bin 0 -> 4145 bytes + test/extended-blend-solid.rgb24.ref.png | Bin 0 -> 3772 bytes + test/extended-blend.c | 170 ++++++++++++++++++------ + 10 files changed, 138 insertions(+), 154 deletions(-) + +commit 5fffa3fae122da624aa79923ff13c781842e005d +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Jun 24 23:04:11 2011 +0200 + + test: Ignore \r when parsing test log files + + This fixes the log parsing on win32. + + test/testtable.js | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 0baf009b39c75dbc604800b9bd4c9f017a87d763 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Jun 24 23:02:25 2011 +0200 + + test: Make parsing of log files more solid + + The old code considered every even "word" as a key and every odd + "word" as a value when parsing a test log file. + All of the keys end with ':', so restrict with this requirement. + + test/testtable.js | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit a447e949799000760835beeafd2d45c76580fb9e +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Jun 24 15:52:24 2011 +0200 + + clip: Fix boxes extents computation in intersect_with_boxes + + The extents of the boxes were being computed by taking into account + just the first box instead of all of them. + + Based on a patch by James Cloos. + + Fixes clip-disjoint, clip-stroke-unbounded, clip-fill-nz-unbounded, + clip-fill-eo-unbounded, clip-fill, clip-stroke, trap-clip. + + See https://bugs.freedesktop.org/show_bug.cgi?id=38641 + + Reviewed-by: James Cloos <cloos@jhcloos.com> + Tested-by: James Cloos <cloos@jhcloos.com> + + src/cairo-clip.c | 26 ++++++++++++++------------ + 1 file changed, 14 insertions(+), 12 deletions(-) + +commit 1a4e9f1e9189e9dcb69afff009a10d6eb3bd2bd4 +Author: Nis Martensen <nis.martensen@web.de> +Date: Mon May 2 20:58:28 2011 +0200 + + Fix typos + + Reported in + http://lists.cairographics.org/archives/cairo/2011-May/021921.html + + perf/cairo-perf-compare-backends.c | 2 +- + perf/cairo-perf-diff-files.c | 2 +- + src/cairo.h | 6 +++--- + 3 files changed, 5 insertions(+), 5 deletions(-) + +commit 6835421003d4ecf9d9ac32f0bc8db7395f6a5980 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Jun 25 09:39:41 2011 +0200 + + test: Fix typo + + scrdir -> srcdir + + test/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5c798bcf86ce113b961f0b62d924e78d0be65614 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Mar 21 11:08:46 2011 +0100 + + test: Improve check-ref-missing + + On linux it is impossible to check the missing references because of + argument length constraints: + make: execvp: /bin/bash: Argument list too long + + Using a temporary file instead of variable expansion makes it possible + to work around this. + + Makefile.refs is now required to be in lexicographical order, which + avoids ordering problems and the risk of duplicated entries (like + clipped-surface.ref.png). + + test/.gitignore | 1 + + test/Makefile.am | 1399 +--------------------------------------------------- + test/Makefile.refs | 1348 ++++++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 1367 insertions(+), 1381 deletions(-) + +commit 77b6563c218dcff641820d2555ac93ad10a095e8 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Jun 24 15:59:08 2011 +0200 + + xcb: Use defines instead of magic numbers + + render.h gives us nice descriptive names for the precise/imprecise poly modes. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + boilerplate/cairo-boilerplate-xcb.c | 3 ++- + src/cairo-xcb-surface-render.c | 4 ++-- + src/cairo-xcb-surface.c | 2 +- + 3 files changed, 5 insertions(+), 4 deletions(-) + +commit 144c912860af6e60e1bdbeee31fe686c9c5e550d +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Jun 24 15:52:59 2011 +0200 + + xcb: Initialize the new precision fields + + In 63bdae27a83, new fields were added to cairo_xcb_connection_t and + cairo_xcb_surface_t. The same change was done in the xlib backend. + + However, in the xlib backend these new fields were properly initialized. This + was forgotten in the xcb backend. + + Hopefully-Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=38482 + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-connection.c | 1 + + src/cairo-xcb-surface.c | 1 + + 2 files changed, 2 insertions(+) + +commit d246d97592fc9df7ac914e1f97e2d834c7b975a5 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Jun 13 11:26:55 2011 +0200 + + xcb: Prettify some code + + Instead of having each case do the same thing, this code will now fall through + to the default case. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit cb3d91201c3de6c9cd1fd97b8471d322b75eec5a +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Jun 13 11:25:04 2011 +0200 + + xcb: Don't hardcode the RENDER version number + + This now uses the macros XCB_RENDER_{MAJOR,MINOR}_VERSION which xcb defines. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-connection.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d938e744461f78d9030659b6672a79f06aaa12f8 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Jun 13 11:20:26 2011 +0200 + + xcb,xlib,surface: Check for too small sizes + + This adds checks for negative sizes in cairo_surface_create_similar() and for + non-positive sizes in all public surface-creation functions in the xcb and xlib + backends. + + X11 doesn't allow 0 as width/height, so if anyone claims to have a drawable of + that size, he can't be right. However, cairo allows such sizes which is why + create_similar doesn't reject 0. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-surface.c | 2 ++ + src/cairo-xcb-surface.c | 8 +++++++- + src/cairo-xlib-surface.c | 10 +++++----- + 3 files changed, 14 insertions(+), 6 deletions(-) + +commit 463a8b67a3e2dfacede3f4e2ed1f65afc8ae5662 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jun 21 18:12:29 2011 +0200 + + perf: Fix build on win32 + + The performance tools build system for Win32 hasn't been maintained + for some time. The makefiles are now structured as in other + directories (Makefile.sources used by both Makefile.am and + Makefile.win32) and some additional code hides os-specific parts. + + Makefile.win32 | 3 ++ + configure.ac | 1 + + perf/Makefile.am | 111 +++++++++++--------------------------------- + perf/Makefile.sources | 35 ++++++++++++++ + perf/Makefile.win32 | 104 +++++++++++++++++++++++++++-------------- + perf/cairo-perf-os2.c | 8 +++- + perf/cairo-perf-posix.c | 8 +++- + perf/cairo-perf-trace.c | 53 +++++++++++++++++---- + perf/cairo-perf-win32.c | 8 +++- + perf/dirent-win32.h | 102 ++++++++++++++++++++++++++++++++++++++++ + perf/micro/Makefile.am | 16 +++++++ + perf/micro/Makefile.sources | 35 ++++++++++++++ + perf/micro/Makefile.win32 | 12 +++++ + 13 files changed, 363 insertions(+), 133 deletions(-) + +commit 33403cfb378de03a2cff707b4b1cc16025378822 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jun 21 18:11:58 2011 +0200 + + perf: Ensure M_SQRT2 is defined + + pythagoras-tree uses M_SQRT2, which on Win32 is defined by math.h if + and only if _USE_MATH_DEFINES is defined. + + perf/micro/pythagoras-tree.c | 1 + + 1 file changed, 1 insertion(+) + +commit 5291f7ccad54b587bd1bee3a89426cf1d158c5bb +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jun 22 14:40:23 2011 +0200 + + script-interpreter: Build on win32 + + Restructure the Makefiles in .sources, .am and .win32 to enable + building cairo-script-interpreter on Win32. + + Some minor changes are needed to compile on MSVC: + - include stdint.h to define INT_MAX-like macros + - redefine "inline" + - avoid deprecated functions (snprintf, replaced by _snprintf) + - define _USE_MATH_DEFINES so that math.h defines M_PI, M_SQRT2 and + M_LN2 + + util/cairo-script/Makefile.am | 12 ++++-------- + util/cairo-script/Makefile.sources | 13 +++++++++++++ + util/cairo-script/Makefile.win32 | 10 ++++++++++ + util/cairo-script/cairo-script-operators.c | 6 ++++++ + util/cairo-script/cairo-script-private.h | 5 +++++ + util/cairo-script/cairo-script-scanner.c | 1 + + 6 files changed, 39 insertions(+), 8 deletions(-) + +commit 3a5c8b2c74e73c8a35e80b369f043e62dc2ad26c +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jun 21 18:11:38 2011 +0200 + + test: Cleanup build on Win32 + + Put cairo-test-suite.exe in a $(CFG)-dependent folder and link to + libraries from $(top_builddir). + + test/Makefile.win32 | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +commit f21ac5b13b4a2a5455349da29529692a02c2a5e0 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Jun 23 10:09:30 2011 +0200 + + error: Do not define _cairo_error twice + + cairo-perf-trace uses cairo-hash.c, which calls _cairo_error. + + Instead of redefining it in cairo-perf-trace.c it can be abstracted in + a separate source which is directly included in the build of + cairo-perf-trace. + + This avoids visibility issues when compiling cairo-perf-trace with a + statically linked cairo library on architectures which do not support + hidden visibility (example: win32). + + perf/Makefile.am | 1 + + perf/cairo-perf-trace.c | 6 ----- + src/Makefile.sources | 1 + + src/cairo-error.c | 69 +++++++++++++++++++++++++++++++++++++++++++++++++ + src/cairo.c | 26 ------------------- + 5 files changed, 71 insertions(+), 32 deletions(-) + +commit 0740c8e4f37e5ff17d2bf294c37c438de0be0a41 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Jun 23 10:08:52 2011 +0200 + + Hide private symbols on MacOSX + + gcc provides the hidden visibility attribute on Darwin, which can be + used to deny access to private cairo symbols. + + src/cairo-compiler-private.h | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 441f9c5037dd32464bd87e21108b702c0a3c508a +Author: Taekyun Kim <tkq.kim@samsung.com> +Date: Tue Jun 21 17:19:58 2011 +0900 + + Fix intersect_with_boxes() to produce tight clip extents + + Previous code was intersecting extents with infinitely large rectangle. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-clip.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 8fb9a6727e2b769bfa388c6027ebad0a53ffa02b +Author: Haithem Rahmani <haithem.rahmani@gmail.com> +Date: Mon Jun 20 11:16:14 2011 +0200 + + boilerplate: Use correct flag type in DFBWindowDescription + + The window description flag macros are prefixed with DWDESC_. + + The issue was not noticed because DWDESC_CAPS and DSDESC_CAPS have the + same value. + + Fixes https://bugs.freedesktop.org/show_bug.cgi?id=37049 + + boilerplate/cairo-boilerplate-directfb.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 190d8d72902b930d7cddb042fa3386d100dd072c +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Jun 20 11:07:33 2011 +0200 + + build: Silence autoconf warnings + + Autoconf 2.86 reports: + + warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body + + build/aclocal.cairo.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit b6d593dc71e276576ce2af9fa2267eebdddd578a +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Jun 18 17:06:52 2011 +0200 + + build: Clean up environment variables and flags for the win32 build + + Avoid ovverriding LINK, as it has a special meaning for the MSVC build + tools. + + boilerplate/Makefile.win32 | 4 +--- + build/Makefile.win32.common | 24 ++++++++++++++---------- + src/Makefile.win32 | 4 ++-- + test/Makefile.win32 | 4 ++-- + test/pdiff/Makefile.win32 | 4 +--- + 5 files changed, 20 insertions(+), 20 deletions(-) + +commit 5534c305241e078c9a5745e511c0700545e045bb +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Jun 18 16:59:00 2011 +0200 + + build: Use common rules for making pdiff + + Instead of providing special rules for compiling C files in pdiff, use + the common ones and build a different pdiff for debug and release. + + test/Makefile.win32 | 6 +++--- + test/pdiff/Makefile.win32 | 9 +++------ + 2 files changed, 6 insertions(+), 9 deletions(-) + +commit f9b50cec2b05a9371c90a1e6996af927e47b1d34 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Jun 18 17:07:17 2011 +0200 + + build: Improve dependencies in win32 Makefiles + + Test targets now explicitly depend on the cairo library and build it + appropriately. + + Phony targets depend on inform, so that they print a warning if the + environment is not set up appropriately. + + Makefile.win32 | 23 +++++------------------ + test/Makefile.win32 | 25 +++++++++++-------------- + 2 files changed, 16 insertions(+), 32 deletions(-) + +commit c7c3475cdb429a996190c2c95c20a60984a1bba9 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Jun 18 16:37:34 2011 +0200 + + build: Improve generation of cairo-features.h on win32 + + All of the build depends on cairo-features.h. By having a target to + generate it that can be run from anywhere, it is possible to delegate + the dependency handling to 'make'. + + Makefile.win32 | 1 - + build/Makefile.win32.common | 5 ++- + build/Makefile.win32.features-h | 96 ++++++++++++++++++++--------------------- + build/configure.ac.features | 12 +++--- + 4 files changed, 57 insertions(+), 57 deletions(-) + +commit 101fab7cd8a90f7cf3d8113c792b3f8c2a9afb7d +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jun 15 11:37:36 2011 +0200 + + win32-font: Improve static data reset function + + The hashtable is guaranteed to only contain font faces which are + currently referenced, hence there is no need to remove any font face + when it is reset (just like for toy-font). + + This makes the function simpler and fixes the assertion + + Assertion failed: predicate != NULL, file cairo-hash.c, line 373 + + hit by multiple tests (the first one being "clear"). + + See https://bugs.freedesktop.org/show_bug.cgi?id=38049 + + src/cairo-win32-font.c | 32 +++++++++----------------------- + 1 file changed, 9 insertions(+), 23 deletions(-) + +commit 94bc20da50c5984e5c04929a7fde4c2f04e66380 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Jun 17 19:15:44 2011 +0200 + + win32-font: Implement destroy function + + Win32 font faces can be removed from the hashtable upon destruction. + Based on the toy-font destruction code. + + See https://bugs.freedesktop.org/show_bug.cgi?id=38049 + + src/cairo-win32-font.c | 40 +++++++++++++++++++++++++++++++++++----- + 1 file changed, 35 insertions(+), 5 deletions(-) + +commit 94b14c929d75408958d4451253251fb3631a09bf +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Jun 17 16:30:45 2011 +0200 + + win32-font: Do not return font in error status + + If the hashtable cointains a font matching the font being created, + only reuse it if it is not in an error status. Otherwise, remove it + from teh hashtable and create a new one. + + src/cairo-win32-font.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +commit b9d9ca281c9b686ea6df2b211b6100095640063e +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jun 15 10:31:53 2011 +0200 + + Avoid deprecated functions on win32 + + Some POSIX functions are deprecated in MSVC and should instead be used + with an alternative name beginning with '_'. + + src/cairo-compiler-private.h | 11 ++++++++--- + test/cairo-test.c | 3 --- + 2 files changed, 8 insertions(+), 6 deletions(-) + +commit 00a5a136123cf2b66c5e8fc9fb5d20feffbd4dcd +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jun 15 10:34:03 2011 +0200 + + boilerplate: Silence MSVC warnings + + On Win32 INT_MIN/MAX macros are defined in stdint.h, which makes MSVC + complain about the following redefinitions: + + ...\stdint.h(73) : warning C4005: 'INT16_MIN' : macro redefinition + ...\boilerplate\cairo-boilerplate.h(64) : see previous definition of 'INT16_MIN' + ...\stdint.h(77) : warning C4005: 'INT16_MAX' : macro redefinition + ...\cairo-boilerplate.h(67) : see previous definition of 'INT16_MAX' + ...\stdint.h(80) : warning C4005: 'UINT16_MAX' : macro redefinition + ...\boilerplate\cairo-boilerplate.h(70) : see previous definition of 'UINT16_MAX' + + boilerplate/cairo-boilerplate.h | 1 + + 1 file changed, 1 insertion(+) + +commit cbf11fa26109a6c725c7d7a356d4acc16a7be0e2 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Jun 17 16:29:00 2011 +0200 + + toy-font: Do not open-code cairo_font_face_reference () + + Since 03be41151d06d48d55bc1e172535829ec45a10cf, it is safe to use + cairo_font_face_reference () to increment the reference count of a + font taken from the hashtable, because no mutex is being locked twice. + + src/cairo-toy-font-face.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +commit 5a79e9f536771234f5460ef35e8ed63dc5ecf82a +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Jun 20 09:41:27 2011 +0200 + + script: Return status when flushing device + + Since 92d7b1eee96e6b1448aaf3c95a44238fa0eeff48 the flush vfunction + should return a cairo_status_t. + + Silences the warning: + + cairo-script-surface.c: At top level: + cairo-script-surface.c:3528:5: warning: initialization from + incompatible pointer type [enabled by default] + cairo-script-surface.c:3528:5: warning: (near initialization for + '_cairo_script_device_backend.flush') [enabled by default] + + src/cairo-script-surface.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +commit ced061124d0b402c5ce471ce04e9a936dc46da94 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Jun 16 14:43:56 2011 +0200 + + xlib-xcb: Implement cairo_xlib_device_debug_{g,s}et_precision + + 63bdae27a83381fb8c3786c2d7a6c2592e388ee9 introduced a new public API + cairo_xlib_device_debug_set_precision(), exported by cairo-xlib. + cairo-xlib-xcb must implement it as well, because it must provide the + same public API. + + Fixes the compilation of cairo-sphinx with --enable-tee + --enable-xlib-xcb --enable-script. + + Reported-by: James Cloos <cloos@jhcloos.com> + + src/cairo-xlib-xcb-surface.c | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +commit 3a504282ef2c3383ad91209a522aa049898bd2c4 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Jun 16 09:22:54 2011 +0200 + + build: Don't build cairo-sphinx when the tee surface is off + + cairo-sphinx depends on cairo-tee, which is not always enabled. + + Reported-by: James Cloos <cloos@jhcloos.com> + + util/Makefile.am | 2 ++ + 1 file changed, 2 insertions(+) + +commit f409f74decf63b3dbf68b713317a1eb17cd71a0f +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Jun 16 08:47:56 2011 +0200 + + xlib: Fix build of xlib-xcb + + 45665c0d48396af7bd653d546115a5f36cfa9ae1 breaks the build of + cairo-xlib-xcb because it does not disable the compilation of + cairo-xlib implementation files when cairo-xlib-xcb is enable. This + results in collisions when linking. + + Reported-by: James Cloos <cloos@jhcloos.com> + + src/cairo-xlib-display.c | 4 ++++ + src/cairo-xlib-screen.c | 4 ++++ + src/cairo-xlib-surface.c | 4 ++++ + src/cairo-xlib-visual.c | 4 ++++ + 4 files changed, 16 insertions(+) + +commit a2cd83a98670b7dd03aeb41334d6e2fb030048af +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jun 15 15:27:21 2011 +0200 + + toy-font-face: Do not assume hash != 0 + + The assumption that no font face will hash to 0 is not correct. + Moreover, no special value is needed to mark fonts in error status, as + they can simply be detected upon lookup and destruction. + + src/cairo-toy-font-face.c | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +commit a06668fabef17daff5f8cea125b8b33ea7568a81 +Author: Andrea Canciani <ranma42@nirvana-fedora.(none)> +Date: Thu Jun 9 14:16:48 2011 +0200 + + path-stroke: Avoid mixing cap and join values + + Silence the warning: + + cairo-path-stroke.c: In function '_cairo_stroker_add_caps': + cairo-path-stroke.c:861:29: warning: comparison between + 'cairo_line_cap_t' and 'enum _cairo_line_join' [-Wenum-compare] + + CAIRO_LINE_JOIN_ROUND and CAIRO_LINE_CAP_ROUND have the same value, + hence this defect went unnoticed so far. + + src/cairo-path-stroke.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 8e7589abcc4075d4a1de9151e79fda5d093d03bb +Author: Taekyun Kim <podain77@gmail.com> +Date: Wed Jun 15 23:23:02 2011 +0900 + + tessellator: Fixed to produce an output box with x1 <= x2 for single box input + + Winding of a box is toggled by swapping x1, x2 coordinates. So + we have to swap those coordinate rather than just copying. + + Many routines assume that boxes are left-top to right-bottom + convention. So tessellator should produce such output boxes. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-bentley-ottmann-rectangular.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit 3b9c8744898823a4b09917f0540a324318fef726 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jun 14 15:33:18 2011 +0200 + + test: Use POSIX-compatible unlink + + On Win32, the POSIX-compatible unlink function is named "_unlink". + + A function named "unlink" exists, but does not have the same behavior + as the POSIX-specified one. This function makes the cairo test suite + behave incorrectly and immediately terminate with the message: + + Error: Cannot remove cairo-test-suite.log: No error + + test/cairo-test.c | 1 + + 1 file changed, 1 insertion(+) + +commit 5cb18fcec7d973595e4e8ae992ce84836b815ce4 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jun 14 15:34:09 2011 +0200 + + test: Fix compilation on win32 + + The Microsoft C Compiler does not accept empty-initialized arrays: + + cairo-boilerplate-win32-printing.c(373) : error C2059: syntax error : '}' + cairo-boilerplate-win32-printing.c(374) : warning C4034: sizeof returns 0 + + boilerplate/cairo-boilerplate-pdf.c | 9 ++++++--- + boilerplate/cairo-boilerplate-private.h | 4 ++++ + boilerplate/cairo-boilerplate-ps.c | 10 ++++++++-- + boilerplate/cairo-boilerplate-svg.c | 10 ++++++++-- + boilerplate/cairo-boilerplate-win32-printing.c | 10 ++++++++-- + 5 files changed, 34 insertions(+), 9 deletions(-) + +commit 0cbe3d1020fae0fdd601f48ca8c67861390c78ad +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jun 14 16:30:01 2011 +0200 + + test: Update generation of constructors on win32 + + 51bd27afa147f78c8f4f3778cee725b6444e7eb0 removed + make-cairo-test-constructors.c but did not update the win32 Makefiles + accordingly. + + cairo-test-constructors.c is now generated by a make target which runs + make-cairo-test-constructors.sh. + + test/Makefile.win32 | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +commit 510f0f391cf07a6357468493a3b9aacbd0069a8d +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jun 14 16:15:57 2011 +0200 + + boilerplate: Add generation of constructors on win32 + + cairo-boilerplate-constructors.c is one of the sources required to + build the boilerplate. + + This file is generated by a script, invoked by the appropriate make + target during the build. + + boilerplate/Makefile.win32 | 3 +++ + 1 file changed, 3 insertions(+) + +commit 45665c0d48396af7bd653d546115a5f36cfa9ae1 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jun 14 10:45:18 2011 +0200 + + Remove if's from Makefile.sources + + make on win32 complains that: + + make[1]: Entering directory `/home/ranma42/Code/fdo/cairo/src' + ../src/Makefile.sources:220: *** missing separator. Stop. + + Makefile.sources should not contain if's, which are aoutomake-only + conditionals. The correct way to conditionally include files is to + enable/disable them using C preprocessor macros. + + configure.ac | 5 ++--- + src/Makefile.sources | 29 +++++------------------------ + src/cairo-deflate-stream.c | 5 +++++ + src/cairo-xcb-connection-shm.c | 4 ++++ + src/cairo-xcb-shm.c | 4 ++++ + src/cairo-xlib-xcb-surface.c | 4 ++++ + src/cairoint.h | 4 ++++ + 7 files changed, 28 insertions(+), 27 deletions(-) + +commit 9d256b7db90ba0517a2d06a7c99f8e59021c1d6a +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Jun 12 15:42:01 2011 +0200 + + xcb: Fallback to image surface for create similar + + We can't use an X11 surface in create_similar if the specified coordinates are + too small/large. However, we can still use SHM-backed memory for the image + surface which will be used instead. + + Thanks to Chris Wilson for the hint. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit fb0a40fc10849eb6e972be27c98685f6ab7bc344 +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Jun 11 21:32:29 2011 +0200 + + XCB: Implement PDF blend operators natively + + The PDF blend operators, as offered by cairo, where added in RENDER 0.11. This + commit makes the XCB backend use them, if they are available. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-private.h | 4 ++++ + src/cairo-xcb-surface-render.c | 43 ++++++++++++++++++++++++++---------------- + 2 files changed, 31 insertions(+), 16 deletions(-) + +commit ad01d571dd4f9240275a1d4c49cbd961e3f62c3c +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Jun 11 20:18:27 2011 +0200 + + Revert "xcb: Never return NULL from create_similar" + + This reverts commit f6e6891b59656c944a7e758a53e07ed5f29f5c39. + + Returning NULL in these cases is actually the right thing to do, because the + caller expects and handles this case. + + cairo_surface_create_similar() won't return NULL due to this, because + _cairo_surface_create_similar_solid() will fall back to an image surface. + + I think I missed that part when I wrote the bad commit. + + This was found via the test suite's "zero-mask" test. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 753a4cdf307c600d27cf79ac41c314aacb9647c5 +Author: Dagobert Michelsen <dam@opencsw.org> +Date: Wed Jun 8 11:16:21 2011 +0200 + + Use detected EGREP instead of generic grep + + https://bugs.freedesktop.org/show_bug.cgi?id=38069 + + src/Makefile.am | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 00de16b7ac54d4c620e0be3565c83f58e01567ac +Author: Benjamin Otte <otte@redhat.com> +Date: Sat Jun 4 13:47:15 2011 +0200 + + image: Don't crash on weird pixman formats + + _pixel_to_solid() used to assert that it got a known cairo_format_t. + However, this might not be the case when backends decide to use a pixman + format that is not representable by a cairo format (X and DirectFB are + examples for backends that do that). + + This patch makes _pixel_to_solid() return NULL in that case and fixes + the callers to deal with it. + + https://bugs.freedesktop.org/show_bug.cgi?id=37916 + + src/cairo-image-surface.c | 23 ++++++++++++++++------- + 1 file changed, 16 insertions(+), 7 deletions(-) + +commit d0615633dc1529af44740f8326ca1886a8b3bf5c +Author: Murray Cumming <murrayc@murrayc.com> +Date: Mon May 9 09:45:06 2011 +0200 + + cairo: Remove trailing comma from cairo_format_t + + Fixes warnings when building with C++. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=36989 + + src/cairo.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 6edc5ca55f35a3705ef324b78b4d10183df9d4af +Author: Taekyun Kim <tkq.kim@samsung.com> +Date: Wed Jun 8 13:05:54 2011 +0900 + + tessellator: Fix boxes tessellator to handle num_boxes <= 1 correctly + + We cannot assume that parameter 'out' is empty. So we should make it + empty before returning CAIRO_STATUS_SUCCESS when 'in' contains no boxes. + + When 'in' contains a single box, we should copy 'in' to 'out' rather + than just returning CAIRO_STATUS_SUCCESS. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-bentley-ottmann-rectangular.c | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +commit 27d26bb8b5552915a63f5e9d65597f0ab99102b3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Jun 6 15:07:01 2011 +0100 + + cairo-perf-diff-files: Don't print size/content for trace results + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-diff-files.c | 27 +++++++++++++++++---------- + 1 file changed, 17 insertions(+), 10 deletions(-) + +commit 61fd10376fd89a0c5aa504924594d12fa9899b80 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Jun 6 15:05:51 2011 +0100 + + cairo-trace: Fix use of buf outside of scope + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=37746 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-trace/trace.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit d673b9547f29bec74ccaa74e2660223cc2feb5c8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jun 2 09:11:32 2011 +0100 + + boilerplate: Introduce create_similar hook + + A deficiency of cairo-perf-trace is that it currently always uses similar + surfaces for new surface which are kindly cleared by Cairo. This does + not accurately reflect the captured trace and introduces large bandwidth + overheads that distort the profiles. + + So we introduce a new boilerplate hook so that the targets can create a + surface without incurring additional overheads. + + [Fixes the broken partial commit of bf1b08d066e.] + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + boilerplate/cairo-boilerplate-directfb.c | 2 ++ + boilerplate/cairo-boilerplate-drm.c | 2 ++ + boilerplate/cairo-boilerplate-egl.c | 1 + + 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-wgl.c | 1 + + boilerplate/cairo-boilerplate-win32-printing.c | 2 ++ + boilerplate/cairo-boilerplate-win32.c | 2 ++ + 14 files changed, 37 insertions(+) + +commit 72b6299c1239c53baa38f44bc898c0c184ce3c71 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jun 2 08:57:19 2011 +0100 + + gl: Mark the use-once vertex buffers as DYNAMIC + + As we write, use and then immediately discard the vertex buffers, our + usage pattern more closely matches DYNAMIC (as opposed to STREAM). This + improve performance by about 10% on intel. + + firefox-talos-gfx(snb) 20.226 -> 18.402 + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-composite.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit bf1b08d066ebcffa71f5e728dc333f4494ff4ba3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jun 1 23:03:36 2011 +0100 + + perf + + boilerplate/cairo-boilerplate-glx.c | 4 ++ + boilerplate/cairo-boilerplate-xcb.c | 67 +++++++++++++++++++++++++++++++++ + boilerplate/cairo-boilerplate-xlib.c | 58 +++++++++++++++++++++++++++++ + boilerplate/cairo-boilerplate.c | 72 ++++++++++++++++++++++++++++++++++-- + boilerplate/cairo-boilerplate.h | 11 +++++- + perf/cairo-perf-trace.c | 54 +++++++++++++++------------ + src/cairo-xcb-connection.c | 9 +++++ + src/cairo-xcb.h | 3 ++ + 8 files changed, 248 insertions(+), 30 deletions(-) + +commit 52f79bfcf34c504c7baa7d996983a7283f02f51e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jun 1 19:16:02 2011 +0100 + + perf/micro: Add wave + + Benjamin just demonstrated this funky trick for generating pixel + outlines, and as no good deed should go unpunished, I've added his code + to the perf suite. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/Makefile.am | 1 + + perf/cairo-perf-micro.c | 1 + + perf/cairo-perf.h | 1 + + perf/micro/wave.c | 112 ++++++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 115 insertions(+) + +commit 1b33552a6d9bb7ace2787522c3641736f2cc5ef4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jun 1 18:02:24 2011 +0100 + + test: Add unaligned-box + + Test the handling of the various pixel-alignment boundary points of + rectangles. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.am | 1 + + test/Makefile.sources | 1 + + test/unaligned-box.c | 73 +++++++++++++++++++++++++++++++++++++++++++++ + test/unaligned-box.ref.png | Bin 0 -> 496 bytes + 4 files changed, 75 insertions(+) + +commit 9bdfae6e218185dd9cc2770f5e7d4ca887ce4775 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jun 1 16:55:50 2011 +0100 + + boilerplate/xcb: Fix silly cut'n'paste errors in previous commit + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + boilerplate/cairo-boilerplate-xcb.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +commit 63bdae27a83381fb8c3786c2d7a6c2592e388ee9 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri May 27 15:59:37 2011 +0100 + + xlib,xcb: Force strict adherence to the Render specification when testing + + Introduce cairo_xlib_device_debug_set_precision() to override the + automatic selection of rendering precision and force the Xorg/DDX to + strictly adhere to the precise rendering mode of the Render + specification. This allows us to test drivers without worrying, too + much, about minor discrepancies in antialiasing. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + boilerplate/cairo-boilerplate-xcb.c | 14 ++++++++++++++ + boilerplate/cairo-boilerplate-xlib.c | 23 ++++++++++++++++++++++- + src/cairo-xcb-connection.c | 20 ++++++++++++++++++++ + src/cairo-xcb-private.h | 3 +++ + src/cairo-xcb-surface-render.c | 32 ++++++++++++++++++++++++++++++++ + src/cairo-xcb.h | 11 +++++++++++ + src/cairo-xlib-display.c | 21 +++++++++++++++++++++ + src/cairo-xlib-private.h | 6 ++++++ + src/cairo-xlib-surface.c | 7 +++++-- + src/cairo-xlib.h | 13 +++++++++++++ + 10 files changed, 147 insertions(+), 3 deletions(-) + +commit e21b373c94b1edb2828d4fee7ff45060fb22dbda +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu May 26 16:26:40 2011 +0100 + + cairo-trace: Fix an obscure bug recording the fishtank + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-trace/trace.c | 371 ++++++++++++++++++++++++----------------------- + 1 file changed, 191 insertions(+), 180 deletions(-) + +commit 6936a2b4178803506de279de56b98a138cc6288b +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun May 22 20:41:18 2011 +0930 + + PS: Use tight bounding box + + Now that the page size is specified by %%DocumentMedia + we can make %%BoundingBox compliant. + + src/cairo-ps-surface.c | 15 ++++----------- + 1 file changed, 4 insertions(+), 11 deletions(-) + +commit d11b39ea274edea1fe4aab87791101da0783be3c +Author: Benjamin Otte <otte@redhat.com> +Date: Fri May 20 20:57:33 2011 +0200 + + build: Use $GREP -e instead of plain grep -e + + https://bugs.freedesktop.org/show_bug.cgi?id=37388 + + build/configure.ac.warnings | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit bdfd860ae7a4e5fd7157748f90b0d8c6cc04e5ca +Author: Jeff Muizelaar <jmuizelaar@mozilla.com> +Date: Thu May 19 14:43:34 2011 -0400 + + Avoid implicit conversion to double when rounding + + src/cairo-scaled-font.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 4d96859ba5eb6018ae257ef6bfead228583908cf +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Mon Mar 21 16:23:30 2011 +0200 + + gl: Add fallback path for GLES2 implementations not supporting GL_OES_mapbuffer + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-composite.c | 18 ++++++++++++++---- + src/cairo-gl-device.c | 14 ++++++++++++++ + src/cairo-gl-dispatch.c | 3 +-- + src/cairo-gl-private.h | 2 ++ + 4 files changed, 31 insertions(+), 6 deletions(-) + +commit c2b4bc6dead3e1fd0aacd9d767a299259f895e4d +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Mon Mar 21 16:12:00 2011 +0200 + + gl: Fall back to dlsym() if *GetProcAddress() fails + + In strictly conforming EGL implementations, eglGetProcAddress() can be used + only to get extension functions, but some of the functions we want belong to + core GL(ES). If the *GetProcAddress function provided by the context fails, + try to get the address of the wanted GL function using standard system + facilities (eg dlsym() in *nix systems). + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + configure.ac | 11 ++++++++++ + src/cairo-gl-dispatch.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 65 insertions(+) + +commit 2001d2074723c64b1e5a6cb4c550d6a0a8cea812 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Wed Mar 9 18:17:42 2011 +0200 + + gl: Define the float precision in the fragment shader for GLES2 + + According to the GLSL ES standard, the precision of variables in the fragment + shader should be explicitly defined (although mesa's compiler is not that + strict). + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-shaders.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +commit 1595f20bb70ebba8d192500d4de455170c8d81a0 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Fri Mar 4 18:09:44 2011 +0200 + + boilerplate/egl: Add GLES2 support + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + boilerplate/cairo-boilerplate-egl.c | 22 +++++++++++++++++++++- + 1 file changed, 21 insertions(+), 1 deletion(-) + +commit 2472ed899cc8bfd97b3cec1f322b601038d28731 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Thu Mar 3 23:11:06 2011 +0200 + + gl: Fix build issues for GLES2 + + The glReadBuffer/glDrawBuffer functions are not present in GLES2, only + a single buffer is supported. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-device.c | 4 ++++ + src/cairo-gl-ext-def-private.h | 4 ++++ + src/cairo-gl-gradient-private.h | 5 +++++ + src/cairo-gl-private.h | 6 ++++++ + src/cairo-gl.h | 2 +- + 5 files changed, 20 insertions(+), 1 deletion(-) + +commit f84653422a79aec98299ac7c9f989fe4dfa8b973 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Thu Mar 3 23:17:31 2011 +0200 + + gl: Add GLESv2 backend to build system + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + boilerplate/Makefile.win32.features | 12 ++++++++++++ + build/Makefile.win32.features | 1 + + build/Makefile.win32.features-h | 3 +++ + build/configure.ac.features | 1 + + configure.ac | 14 ++++++++++++++ + src/Makefile.sources | 4 ++++ + src/Makefile.win32.features | 16 ++++++++++++++++ + 7 files changed, 51 insertions(+) + +commit b990dfb06774864ab33dcb195d3442b8f5f3715b +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Thu Mar 3 23:07:12 2011 +0200 + + gl: Require the GL_OES_texture_npot extension for GLES2 + + The default support for GLES2 NPOT textures is very limited. We need the + additional features provided by the GL_OES_texture_npot extension. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-device.c | 20 ++++++++++++++------ + 1 file changed, 14 insertions(+), 6 deletions(-) + +commit faa031f6d5660b1ce5cc29f58db0ba2f675dc283 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Thu Mar 3 23:05:04 2011 +0200 + + gl: Use GL_MAX_TEXTURE_IMAGE_UNITS to query the maximum texture units + + The previous used value, GL_MAX_TEXTURE_UNITS, is only appropriate for the + fixed pipeline. It is replaced with GL_MAX_TEXTURE_IMAGE_UNITS that refers to + the number of texture units available in the fragment shader. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-device.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 1f1255689b7469193eb7bc0efbd5248b748164ad +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Thu Mar 3 23:01:36 2011 +0200 + + gl: Remove unnecessary call to glDisableClientState() + + This function has no effect when using shaders and is not supported at all in + GLES2. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-device.c | 2 -- + 1 file changed, 2 deletions(-) + +commit bbb244c7f2fe632cfee453f01dbde64e71dd3c88 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Thu Mar 3 22:48:51 2011 +0200 + + gl: Add GLES2 support for drawing image surfaces on gl surfaces + + Work around GLES2 limitations in texture pixel formats and options for + pixel packing/unpacking. + + Depending on the endianness and the image pixel format, we may need to + manually swap the elements in a pixel group. This is not currently + implemented, but for little-endian architectures the common pixman BGRA + formats don't need a swap. + + Due to GL_UNPACK_ROW_LENGTH missing in GLES2 we have to extract the image + data ourselves in some cases, so we can provide it to glTexSubImage2D + using a layout it can understand. We must extract the pixels if: + a. we don't want full-length lines or + b. the row stride cannot be handled by GL itself using a 4 byte + alignment constraint + + We use GL_PACK_ALIGNMENT 4 by default because that is the default pixman + alignment value and in some cases it allows us to avoid the manual pixel + extraction. However, when we extract image data manually we use an alignment + of 1. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-ext-def-private.h | 20 ++++ + src/cairo-gl-private.h | 6 +- + src/cairo-gl-surface.c | 240 +++++++++++++++++++++++++++++++++++++---- + 3 files changed, 244 insertions(+), 22 deletions(-) + +commit 14db3d23c7d7862fe335a94f24962b715ad30c85 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Thu Mar 3 15:55:22 2011 +0200 + + gl: Add support for creating image surfaces for GLES2 + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-ext-def-private.h | 4 +++ + src/cairo-gl-surface.c | 55 +++++++++++++++++++++++++++++++++--------- + 2 files changed, 47 insertions(+), 12 deletions(-) + +commit 0e41145a75fa957fc3813fc1cae0b937ad5e77e1 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Wed Mar 2 18:16:56 2011 +0200 + + gl: Use conventional texture upload for GLES2 + + GLES2 doesn't support Pixel Buffer Objects. Use conventional texture upload + for GLES2 (using client-side memory). + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-device.c | 3 ++- + src/cairo-gl-gradient.c | 43 ++++++++++++++++++++++++++----------------- + 2 files changed, 28 insertions(+), 18 deletions(-) + +commit d20f66608c030f52cad5575cca5d1bdd7c31ac20 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Wed Mar 2 02:10:05 2011 +0200 + + gl: Require the GL_EXT_texture_format_BGRA8888 extension for GLES2 + + This extension adds limited BGRA support to GLES2. It is better than + nothing... + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-device.c | 7 ++++++- + src/cairo-gl-ext-def-private.h | 12 ++++++++++++ + src/cairo-gl-gradient.c | 23 ++++++++++++++++++++--- + 3 files changed, 38 insertions(+), 4 deletions(-) + +commit 777ed8b4c4bf7a099041a16c079e22b68dae70ad +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Tue Mar 8 12:05:48 2011 +0200 + + Extract function to query endianness from xlib/xcb and make it common + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface-render.c | 12 ++---------- + src/cairo-xlib-surface.c | 19 ++++--------------- + src/cairoint.h | 7 +++++++ + 3 files changed, 13 insertions(+), 25 deletions(-) + +commit 7bfcf1deaf572dcc948e4093dcb864aeaa65e6b4 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Wed Mar 2 01:28:13 2011 +0200 + + gl: Store gradients in 2D textures of height 1 instead of 1D textures + + 1D textures are not available in GLES2. We use 2D textures with height 1 + instead, which are equivalent to 1D textures and exist across all GL flavors. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-composite.c | 6 +++--- + src/cairo-gl-gradient.c | 6 +++--- + src/cairo-gl-shaders.c | 44 ++++++++++++++++++++++---------------------- + 3 files changed, 28 insertions(+), 28 deletions(-) + +commit d308eee918f569227d289208e3ef1b5152bbd3f5 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Tue Mar 1 16:41:21 2011 +0200 + + gl: Provide a shader implementation of GL_CLAMP_TO_BORDER for GLES2 + + The GL_CLAMP_TO_BORDER wrapping method (used with CAIRO_EXTEND_NONE) is not + available in GLES2. We use shaders to implement similar functionality for + GLES2. + + If bilinear filtering is used, the shader performs a linear fade to + transparency effect in the texel coordinate intervals [-1/2n, 1/2n] + and [1 - 1/2n, 1 + 1/2n] (n: texture size). + + If nearest filtering is used, the shader ensures that a clear color is + used for all texel coordinate values outside [0, 1). + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-composite.c | 33 +++++- + src/cairo-gl-ext-def-private.h | 4 + + src/cairo-gl-shaders.c | 221 ++++++++++++++++++++++++++++++++++++----- + 3 files changed, 229 insertions(+), 29 deletions(-) + +commit 63aa65cfbb0fa25d679c24cd78139d2557bbed37 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Tue Mar 1 14:50:25 2011 +0200 + + gl: Add functions to get the filter and extend of gl operands. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-composite.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++++ + src/cairo-gl-private.h | 8 +++++++ + 2 files changed, 65 insertions(+) + +commit 7185ce4ddb0d291ecbecd31b5855be798cca2058 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Mon Feb 28 17:28:46 2011 +0200 + + gl: Pass more information to the shader emitter functions + + This makes the shader emitter functions more versatile. It allows them to use + all information provided by the operands and the context to decide what shader + to produce. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-composite.c | 8 ++++---- + src/cairo-gl-private.h | 4 ++-- + src/cairo-gl-shaders.c | 34 +++++++++++++++++----------------- + 3 files changed, 23 insertions(+), 23 deletions(-) + +commit 1f9200ffbf19e73ec2f11a56ec77a104f07c7ec0 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Mon Feb 14 16:36:09 2011 +0200 + + gl: Add GLES2 support to dispatch table initialization + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-dispatch-private.h | 30 +++++++----- + src/cairo-gl-dispatch.c | 105 +++++++++++++++++++++++++++------------- + 2 files changed, 90 insertions(+), 45 deletions(-) + +commit 4804160fd16912559acfaed55c8d4aeaecb18190 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Mon Feb 14 15:11:07 2011 +0200 + + gl: Store the GL flavor (Desktop or ES) in the device struct + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-device.c | 1 + + src/cairo-gl-info.c | 16 ++++++++++++++++ + src/cairo-gl-private.h | 11 +++++++++++ + 3 files changed, 28 insertions(+) + +commit f1eef40c2a2c865999d29230c84cd709784ca294 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Mon Feb 14 14:45:52 2011 +0200 + + gl: Correctly extract GL version from OpenGL ES version strings + + The GL version string returned by glGetString() for GLES doesn't have the + version number at the beginning of the string. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-info.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit b1c96f18526ad09f8a972feecaefe465c61307b5 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed May 4 08:04:43 2011 +0100 + + Silence the compiler for another couple of RGB30 switches + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-glyphs.c | 1 + + src/cairo-scaled-font.c | 1 + + 2 files changed, 2 insertions(+) + +commit 5559dd0bbce877e801f2b02c8127a1d15e60003f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed May 4 08:02:56 2011 +0100 + + image: Fix pixman format to RGB30 conversion + + Søren Sandmann Pedersen spotted that we had reversed the channel order + in the conversion back from the pixman format codes to + CAIRO_FORMAT_RGB30. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-surface.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 356c4ed9ccb317b29fa7a9bb89b43f73cd70053e +Author: Jesse Barnes <jbarnes@virtuousgeek.org> +Date: Wed Apr 20 10:34:05 2011 -0700 + + Expose 30bpp/10bpc support: CAIRO_FORMAT_RGB30 + + This is a common format used by framebuffers to drive 10bpc displays + and is often hardware accelerated by XRender with underlying support + from pixman's x2r10g10b10 format (which provides coercion paths for + fallbacks). + + Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-debug.c | 1 + + src/cairo-image-surface.c | 25 +++++++++++++++++++++++-- + src/cairo-png.c | 4 ++++ + src/cairo-xlib-display.c | 1 + + src/cairo.h | 4 +++- + src/cairoint.h | 2 +- + util/cairo-script/cairo-script-operators.c | 4 ++++ + util/cairo-trace/trace.c | 4 ++++ + 8 files changed, 41 insertions(+), 4 deletions(-) + +commit bf75c9542d97533d419ba19c8e2b91e03b0370da +Author: Jeff Muizelaar <jmuizelaar@mozilla.com> +Date: Thu Apr 21 17:53:21 2011 -0400 + + win32: Explain the purpose of the surface extents + + It wasn't immediately obvious to me what the purpose of having + extents instead of just a size was. + + src/cairo-win32-private.h | 9 +++++++++ + 1 file changed, 9 insertions(+) + +commit 9f92901b0910563f2523ebe7289abd9094271c98 +Author: Jeff Muizelaar <jmuizelaar@mozilla.com> +Date: Thu Apr 21 15:23:14 2011 -0400 + + Remove quartz-image extents. + + We never used the x,y portion of the extents so we might as well take it out. + + src/cairo-quartz-image-surface.c | 15 ++++++++++----- + src/cairo-quartz-private.h | 2 +- + 2 files changed, 11 insertions(+), 6 deletions(-) + +commit b377380b7a5fe0982d057975cd87f6b652d3b0ff +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Apr 5 19:08:31 2011 +0200 + + test/Makefile.am: Don't reference non-existant files + + In commit 532cbcfbc7d1b 'Add unaligned boxes to "operator-source" test', I + removed some reference images from the test suite, but I forgot to also remove + these files from test/Makefile.am. This caused "make dist" to fail. + + Thanks to Alexandros Frantzis for noticing this. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/Makefile.am | 5 ----- + 1 file changed, 5 deletions(-) + +commit a80bf9ed43ebb510027f95f623a012c55f7566b3 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Mar 21 18:46:32 2011 +0100 + + image: Don't use the fast path if it's wrong + + Fixes the new "operator-source" test and the original report from: + http://lists.cairographics.org/archives/cairo/2011-March/021827.html + + I tested this code path with all operators and "source" is the only one which + causes issues with rendering outside of the boxes. + + Possibly fixes: https://bugs.freedesktop.org/show_bug.cgi?id=35407 + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-image-surface.c | 5 +++++ + 1 file changed, 5 insertions(+) + +commit 532cbcfbc7d1b710daf7b506bfd87048dd8d44db +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Mar 21 18:42:27 2011 +0100 + + Add unaligned boxes to "operator-source" test + + These ref images might be wrong. Since the test failed here already before this + change, I took the old ref images and copied the new part from the test output + underneath it. For the backends that I don't have, I deleted the images (sorry). + + After this, the "operator-source" test still fails for me on all backends, but + much more prominently so for the image backend. xcb-render-0.0/argb32 gets + compared against a rgb24 ref image, but apparently this was already the case + before(?). The rest are minor differences. + + This reveals a bug in the image backend. This was originally reported here: + http://lists.cairographics.org/archives/cairo/2011-March/021827.html + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/operator-source.c | 25 +++++++++++++++++++++---- + test/operator-source.image16.ref.png | Bin 2756 -> 3959 bytes + test/operator-source.pdf.rgb24.ref.png | Bin 3645 -> 0 bytes + test/operator-source.quartz.argb32.ref.png | Bin 4936 -> 0 bytes + test/operator-source.quartz.rgb24.ref.png | Bin 3771 -> 0 bytes + test/operator-source.ref.png | Bin 4395 -> 5745 bytes + test/operator-source.rgb24.ref.png | Bin 3231 -> 4639 bytes + test/operator-source.svg12.argb32.xfail.png | Bin 2967 -> 0 bytes + test/operator-source.svg12.rgb24.xfail.png | Bin 2976 -> 0 bytes + test/operator-source.xlib-fallback.ref.png | Bin 3177 -> 4444 bytes + test/operator-source.xlib.ref.png | Bin 4420 -> 5721 bytes + test/operator-source.xlib.rgb24.ref.png | Bin 3201 -> 4447 bytes + 12 files changed, 21 insertions(+), 4 deletions(-) + +commit 90156f6ab7b94e9e576e34f6a2d8cb809242f8d0 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Mar 21 09:58:29 2011 +0100 + + Fix visibility issues found by make check + + src/cairo.c | 1 + + src/cairoint.h | 3 ++- + 2 files changed, 3 insertions(+), 1 deletion(-) + +commit 7ea7a7714b1937f4a772cab9b8a67ea04b729ff8 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Mar 15 23:40:35 2011 +0100 + + Fix warning by check-doc-syntax + + The check-doc-syntax step of 'make check' reports: + + ./cairo-gl.h: * cairo_device_t, which represents an GL context created by the user. + Error: some function names in the docs are not followed by parentheses. + Fix this by searching for the following regexp in the above files: + '^[^:]*:[/ ][*]\(\|[ ].*\)\([^#']\|^\)\<\(cairo_[][<>/0-9a-z_]*\>[^][<>(]\)' + + src/cairo-gl.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit e4c042d0594bf1f3403fee5a8ed11f8473c3cf26 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Mar 15 23:08:16 2011 +0100 + + Improve headers-standalone target + + make check reports multiple: + warning: control reaches end of non-void function + + and on MacOS X it complains that: + error: unable to open executable '' + + src/Makefile.am.analysis | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit cec4c9c91ae1848c095e9c7ecd8ddcc60cf2810a +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Mar 19 11:05:21 2011 +0100 + + Revert "Add an implementation of fmax for use with MSVC" + + This reverts commit de2c5bfa19ce6b3fda50bca3445aabc040947bc9. + + fmax() is not used anymore and should not be used in future. + + src/cairo-compiler-private.h | 14 -------------- + 1 file changed, 14 deletions(-) + +commit 5339533737f0c3cb02ced551960a34574b7a4e58 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Mar 19 11:04:08 2011 +0100 + + Do not use fmax() + + fmin() and fmax() are not available on all the supported + architectures. MIN() and MAX() should be used in their place. + + src/cairo-matrix.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 058227004e2eabc99ccfbebe3fcf86b0a13b96b4 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Jan 20 15:45:04 2011 +0100 + + Remove unused function declarations + + These functions have no implementation and are never called. + + src/cairo-gstate-private.h | 8 -------- + src/cairo-recording-surface-private.h | 5 ----- + src/cairo-scaled-font-subsets-private.h | 17 ----------------- + src/cairoint.h | 7 ------- + 4 files changed, 37 deletions(-) + +commit ab8c108b88edf49959b95a8d7cc12edb239d361c +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Mar 18 16:57:04 2011 +0100 + + Do not warn when ignoring the return value of _cairo_rectangle_intersect() + + gcc complains that + + cairo-surface-wrapper.c:647: warning: ignoring return value of + ‘_cairo_rectangle_intersect’, declared with attribute warn_unused_result + + It can be silenced by making _cairo_rectangle_intersect() + cairo_private_no_warn. This makes it possible to avoid unused + temporary variables in other places and reduces the dead assignments + reported by clang static analyzer from 114 to 98. + + src/cairo-analysis-surface.c | 21 +++++++-------------- + src/cairo-clip.c | 10 ++++------ + src/cairo-gstate.c | 4 +--- + src/cairo-pattern.c | 7 +------ + src/cairo-pdf-surface.c | 8 ++------ + src/cairo.c | 2 +- + src/cairoint.h | 2 +- + src/drm/cairo-drm-i915-shader.c | 8 ++------ + 8 files changed, 19 insertions(+), 43 deletions(-) + +commit 628ef17aca98ea3b0816a7dfa9e990275af6c791 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Mar 18 16:46:24 2011 +0100 + + image: Silence gcc warning + + gcc does not know thta num_glyph is guaranteed to be strictly + positive, so it complains that: + + cairo-image-surface.c:3787: warning: ‘status’ may be used uninitialized in this function + + src/cairo-image-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit e0444a458a2a03077e88ce326fb316530204276b +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Mar 18 16:39:58 2011 +0100 + + image: Silence missing enum value warning + + cairo-image-surface.c:101: warning: enumeration value ‘PIXMAN_x14r6g6b6’ not handled in switch + + src/cairo-image-surface.c | 1 + + 1 file changed, 1 insertion(+) + +commit ad458d816a60613ee408d96bee8b77c64e6633e3 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Mar 18 16:36:12 2011 +0100 + + trace: Always emit a function name for write-to-png-stream + + By emitting an empty function name when it it impossible to perform + the lookup, we can get rid of the warning: + + trace.c:3714: warning: unused variable ‘symbol’ + + Additionally, this makes the syntax (or, rather, the parameter count) + for write-to-png-stream the same on every configuration. + + util/cairo-trace/trace.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +commit f2eb3f2178b6b7a75da4fb5e5bd880b769b69e62 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Mar 18 16:10:39 2011 +0100 + + Improve cairo_rectangle_list_t error handling + + Unify the _cairo_rectangle_list_create_in_error() functions, keeping + the best features from both (the one in cairo-clip.c statically + allocates the most common cases, the one in cairo.c throws a NO_MEMORY + error when it cannot malloc() instead of rethrowing the same error). + + The same function can be used to return an error-list in + _cairo_gstate_copy_clip_rectangle_list() when _cairo_clip_rectangle() + fails (for example becaouse of an OOM). + + src/cairo-clip-private.h | 3 +++ + src/cairo-clip.c | 5 ++--- + src/cairo-gstate.c | 8 +++++++- + src/cairo.c | 20 -------------------- + 4 files changed, 12 insertions(+), 24 deletions(-) + +commit 7db5e3fdc8ea368547bb0b8f15d190c4f6891e20 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Mar 18 13:11:50 2011 -0300 + + Don't cache _CAIRO_ENABLE results + + Caching is fragile sinle the enable commands cannot have any side-effects + when caching. And doesn't have significant speedup at this level. Just + remove it. + + build/aclocal.enable.m4 | 74 ++++++++----------------------------------------- + 1 file changed, 11 insertions(+), 63 deletions(-) + +commit df1dd838809ed64b06595541d237e0f6bb6d23cb +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Mar 18 13:22:24 2011 +0000 + + trace: Fix hint_style/hint_metrics typo + + Compiler warning saves the day! + + trace.c: In function ‘_emit_font_options’: + trace.c:2973:20: warning: comparison between ‘cairo_hint_style_t’ and + ‘enum _cairo_hint_metrics’ + + A genuine bug, thanks gcc! + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-trace/trace.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 8a4299bf7ee3173cf956ef481bf08e5f99808272 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Feb 4 22:48:30 2011 +0100 + + quartz-font: Remove unused variables + + x_scale and y_scale are computed but never used. + + src/cairo-quartz-font.c | 12 ------------ + 1 file changed, 12 deletions(-) + +commit fd1fca8010cc91e12a852f224e672de2d60e16b7 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Feb 5 10:43:04 2011 +0100 + + Make cairo_set_font_size() a wrapper of cairo_set_font_matrix() + + cairo_set_font_size() should be equivalent to setting the font matrix + to an appropriate scale matrix. + + Implementing it this way saves some code and makes sure that the same + code path is used whenever the font matrix is changed. + + src/cairo-gstate-private.h | 4 ---- + src/cairo-gstate.c | 11 ----------- + src/cairo.c | 9 +++------ + 3 files changed, 3 insertions(+), 21 deletions(-) + +commit f99358acf70e976a6cf8e5084770d540e08d22ad +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Mar 18 10:50:23 2011 +0100 + + script: Fix stroking of 3 sided boxes + + 3-sided boxes can be replaced with rectangles when clipping and + filling, but not when stroking. _emit_path() is used for all of these + operations, so it cannot perform the optimization except for 4-sided + boxes. + + Fixes stroke-open-box. + + src/cairo-script-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c0fe55651565fa63586b7e4d675149a98c7e549c +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Mar 8 10:26:06 2011 +0100 + + path: Fix _cairo_path_fixed_is_rectangle() + + __cairo_path_fixed_is_rectangle() is used by the PS and PDF backends + to check if a path is equivalent to a rectangle when stroking. This is + different from being a rectangle when filling, because of the implicit + close_path appended to every subpath when filling. + + Fixes stroke-open-box. + + See https://bugs.freedesktop.org/show_bug.cgi?id=34560 + + src/cairo-path-fixed.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 43692559614e841dc169e3cec213033b0298da87 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Mar 8 10:13:24 2011 +0100 + + test: Add stroke-open-box + + Add a new test to check that the stroking of a 3-sided box is not + "optimized" to a 4-sided box. + + Test case based on the code by Simon Kellner in + https://bugs.freedesktop.org/show_bug.cgi?id=34560 + + test/Makefile.am | 1 + + test/Makefile.sources | 1 + + test/stroke-open-box.c | 51 +++++++++++++++++++++++++++++++++++++++++++ + test/stroke-open-box.ref.png | Bin 0 -> 148 bytes + 4 files changed, 53 insertions(+) + +commit 6521bab6e8d8c44e8a790ec6e10ae160ecaf8bc9 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Mar 5 10:59:22 2011 +0100 + + xcb,xlib: Fallback upon generic radial gradients + + The RENDER specification requires radial gradients to have the first + circle completely inside the second one, but the error is not actually + generated. + + The implementation produces the expected results if either circle + contains the other one, so only fall back in these cases. + + src/cairo-pattern.c | 29 +++++++++++++++++++++++++++++ + src/cairo-xcb-surface-render.c | 8 ++++++++ + src/cairo-xlib-surface.c | 6 ++++++ + src/cairoint.h | 3 +++ + 4 files changed, 46 insertions(+) + +commit 426fe6fadffc50f1845b114fc3f41c27f96e8e79 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Mar 5 10:59:09 2011 +0100 + + xcb,xlib: Fix 1-stop gradients + + The RENDER specification does not specify the constraints on the + gradient stops, but its implementation returns an error if less than 2 + stops are used. + + Xlib and XCB can work around this because gradients with just one stop + are by-definition the same as gradients with that stop repeated twice. + + Fixes radial-gradient-one-stop. + + src/cairo-xcb-surface-render.c | 36 +++++++++++++++++++++++++++--------- + src/cairo-xlib-surface.c | 29 +++++++++++++++++++++-------- + 2 files changed, 48 insertions(+), 17 deletions(-) + +commit c42d7f7acfaf8f67d0df2bda7c54148030705b12 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Mar 16 17:12:59 2011 +0100 + + quartz: Fix y glyph advance + + The advances must be transformed by the "quartz inverse scale", + i.e. (scale_inverse * scale(1,-1)). + + Fixes show-glyph-advance. + + src/cairo-quartz-surface.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +commit db04ab8f6357a682fbf31b8d34592fde0def961b +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Mar 16 16:24:51 2011 +0100 + + test: Add show-glyphs-advance + + This new test (based on show-glyphs-many) checks that the glyphs + advances are respected along both axes. + + 9c0d761bfcdd28d52c83d74f46dd3c709ae0fa69 introduced a bug which + regresses this test in quartz. + + Thanks to Jeff Muizelaar for the report! + + test/Makefile.am | 5 ++ + test/Makefile.sources | 1 + + test/show-glyphs-advance.c | 107 +++++++++++++++++++++++++++++++ + test/show-glyphs-advance.image16.ref.png | Bin 0 -> 1270 bytes + test/show-glyphs-advance.ps.ref.png | Bin 0 -> 901 bytes + test/show-glyphs-advance.quartz.ref.png | Bin 0 -> 1464 bytes + test/show-glyphs-advance.ref.png | Bin 0 -> 1410 bytes + test/show-glyphs-advance.svg.ref.png | Bin 0 -> 1435 bytes + 8 files changed, 113 insertions(+) + +commit 0ce4face45392cd4a44179062fb4a5715f18bb85 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Mar 16 16:55:50 2011 +0100 + + test: Use ARRAY_LENGTH() macro + + Some tests hand-code ARRAY_LENGTH(). It is now provided by + cairo-test.h, so it can be reused. + + test/a1-bug.c | 2 +- + test/clip-disjoint.c | 2 +- + test/clip-draw-unbounded.c | 2 +- + test/dash-caps-joins.c | 2 +- + test/dash-scale.c | 6 +++--- + test/fallback-resolution.c | 2 +- + test/filter-nearest-transformed.c | 2 +- + test/joins.c | 2 +- + test/long-dashed-lines.c | 2 +- + test/mask-glyphs.c | 2 +- + test/path-precision.c | 2 +- + test/pattern-getters.c | 2 +- + test/reflected-stroke.c | 2 +- + 13 files changed, 15 insertions(+), 15 deletions(-) + +commit 75fea162d985bea622afa59771fb2d07f5241d1b +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Mar 16 16:48:18 2011 +0100 + + test: Cleanup macros + + The ARRAY_LENGTH macro is used by many tests, although sometimes it is + named ARRAY_SIZE. Define it just once in cairo-test.h and reuse it. + + In a similar way, MAX() and MIN() are currently defined in some + specific tests, while they could be reused. + + test/aliasing.c | 6 ++---- + test/api-special-cases.c | 1 - + test/cairo-test.h | 12 ++++++++++++ + test/clear-source.c | 1 - + test/clip-group-shapes.c | 2 -- + test/clip-operator.c | 5 ++--- + test/dash-offset.c | 16 +++++++--------- + test/degenerate-dash.c | 4 ---- + test/degenerate-path.c | 4 +--- + test/line-width-scale.c | 2 -- + test/mask.c | 13 ++++++------- + test/operator-clear.c | 9 ++++----- + test/operator-source.c | 9 ++++----- + test/pdf-features.c | 4 +--- + test/ps-features.c | 4 +--- + test/radial-gradient.c | 4 ++-- + test/subsurface-outside-target.c | 2 -- + test/trap-clip.c | 13 ++++++------- + test/unbounded-operator.c | 9 ++++----- + test/zero-mask.c | 2 -- + 20 files changed, 52 insertions(+), 70 deletions(-) + +commit 4ef32a36ba1e457e8dd6244a6483866d33477aac +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Mar 17 09:27:02 2011 +0100 + + test: Silence gcc warnings + + warning: cannot optimize possibly infinite loops + + gcc does not detect that the "infinite" loops are actually just one or + two iterations, depending on the has_similar value being FALSE or + TRUE. It realizes it if the iteration variable and the iteration stop + value are both enum values. + + test/cairo-test-private.h | 7 ++++++- + test/cairo-test-runner.c | 8 ++++---- + test/cairo-test.c | 19 +++++++++++-------- + 3 files changed, 21 insertions(+), 13 deletions(-) + +commit d6efb2a0b78ec8c3cc520e7a1ddebc8a5c5dc706 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Mar 17 09:24:55 2011 +0100 + + test: Silence gcc warning + + cairo-test-runner.c:180: warning: unused variable ‘buf’ + + test/cairo-test-runner.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 2b84d82bcfb6c89ececfdfe4f4e10bb631050131 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Mar 16 17:04:10 2011 +0100 + + test: Silence gcc + + api-special-cases.c:94:1: warning: "Cursor" redefined + api-special-cases.c:81:1: warning: this is the location of the previous definition + + test/api-special-cases.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit e45077612d789eaf77fea727135d4b4bdb6c90f2 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Mar 17 16:38:51 2011 +0100 + + test: Fix missing REFERENCE_IMAGES + + test/Makefile.am | 2 ++ + 1 file changed, 2 insertions(+) + +commit ed7851015404c3c186cf631c219f72dba5e129ae +Author: Uli Schlachter <psychon@znc.in> +Date: Wed Mar 16 16:01:35 2011 +0100 + + xcb-drm: Fix undeclared variable error + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 1 + + 1 file changed, 1 insertion(+) + +commit 02b2e3c93fcc724815e8bda21c6874b0d050ae02 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Nov 12 10:50:21 2010 +0000 + + xcb: Compile fix when using xcb-drm + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=31368 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f6e6891b59656c944a7e758a53e07ed5f29f5c39 +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Mar 15 19:41:41 2011 +0100 + + xcb: Never return NULL from create_similar + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 59fec48cd617c15d5ea8d867fcf4d1fc409697c1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Mar 15 13:21:40 2011 +0000 + + configure: Test for funlockfile + + cairo-trace already depended upon HAVE_FUNLOCKFILE for its + thread-safety. + + [This is a candidate for 1.10.] + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + build/configure.ac.system | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f2f65684f0c6e1a26741bf96bb9bec286457a571 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Mar 13 19:30:21 2011 +1030 + + cff: Fix heap corruption + + caused by holding a pointer into a cairo_array after a realloc + + https://bugs.freedesktop.org/show_bug.cgi?id=35161 + + src/cairo-cff-subset.c | 15 +++++++++++---- + 1 file changed, 11 insertions(+), 4 deletions(-) + +commit f1d313e042af89b2f5f5d09d3eb1703d0517ecd7 +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Mar 3 19:14:36 2011 +0100 + + xcb: Remove _cairo_xcb_picture_copy + + All cairo_xcb_picture_t now get their own, private Picture instead of possibly + sharing it with a cairo_xcb_surface_t. + + This solves a cyclic dependency which caused cairo_xcb_picture_t to be leaked + until their device was finished. + + When an xcb surface was used as a source, a cairo_xcb_picture_t was created + which kept a reference to the surface. This picture was then added as a snapshot + to the surface which caused the surface to own a reference to the picture. + + As a result, the Picture and possibly its associated Pixmap were not freed on + the X11 server which could thus run out of memory. + + This change causes more Pictures to be created which could possibly slow down + cairo-xcb. There seems to be no measurable difference with cairo-perf-trace. For + the micro benchmarks, this has the most impact on paint_similar-rgba_source.512: + + min(ticks) min(ms) median(ms) stddev. iterations overhead + before 158732 0.159 0.159 0.11% 4: 1651.49 + after 162579 0.163 0.163 0.18% 4: 1612.41 + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=34912 + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 77 ++++++++---------------------------------- + 1 file changed, 15 insertions(+), 62 deletions(-) + +commit f9344911250ea347fb0eb54d7ab1f97c8f685a20 +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Feb 13 19:40:57 2011 +0100 + + xcb boilerplate: Handle device offsets correctly + + When running cairo-test-suite with "-a", backends are also tested with a + non-zero device offset. However, for "xcb-window&" the boilerplate incorrectly + overwrote the device offset with a zero offset again. + + This caused all test results to be offset by 25 pixels which obviously makes all + tests fail. + + Just removing the call to cairo_surface_set_device_offset solves the problem. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + boilerplate/cairo-boilerplate-xcb.c | 1 - + 1 file changed, 1 deletion(-) + +commit de2c5bfa19ce6b3fda50bca3445aabc040947bc9 +Author: Jeff Muizelaar <jmuizelaar@mozilla.com> +Date: Thu Mar 3 16:34:43 2011 -0500 + + Add an implementation of fmax for use with MSVC + + src/cairo-compiler-private.h | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +commit aca492eb3f4a0d472e6fdb2e4dac9d52edefbff9 +Author: Jeff Muizelaar <jmuizelaar@mozilla.com> +Date: Thu Mar 3 16:31:03 2011 -0500 + + Add UINT32_MAX define. + + This is needed for building with MSCV + + src/cairo-wideint-type-private.h | 3 +++ + 1 file changed, 3 insertions(+) + +commit 9669b300a06eb793bb112737cb9085ff020de682 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Mar 2 18:30:47 2011 +0000 + + surface: Don't pass INT_UNSUPPORTED to _cairo_surface_set_error + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface.c | 27 ++++++++++++--------------- + 1 file changed, 12 insertions(+), 15 deletions(-) + +commit c0dc933efda7672b07e188a1195821340f911a66 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Feb 28 15:54:02 2011 +0100 + + xcb: Remove CAIRO_XCB_RENDER_HAS_COMPOSITE_SPANS + + This flag was only ever tested, but never set. Also, there is no X11 server out + there which actually supports this. + + AFAIK it was just an experiment which turned into dead code. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-connection-render.c | 73 ------------------ + src/cairo-xcb-private.h | 23 ++---- + src/cairo-xcb-surface-render.c | 153 ++------------------------------------ + 3 files changed, 11 insertions(+), 238 deletions(-) + +commit 6cd96f966f94cb4f9bf38f2b2c603068f10b55e8 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Feb 28 15:45:14 2011 +0100 + + xcb: Fix for PDF operators with RENDER 0.11 + + RENDER 0.11 added PDF operators and the cairo-xcb backend is already prepared + for handling them. However, it doesn't actually handle them. + + If you used such an operator with RENDER 0.11, _operator_is_supported() would + return TRUE, but later on an ASSERT_NOT_REACHED in _render_operator() is hit. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit da9d6db11538bbec159155b2c30d9d77f181e78d +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Feb 28 15:42:57 2011 +0100 + + xcb: Remove some unused code + + All of these defines where not used anymore and this '#if 0'd code was so for + ages and most likely would stay commented out for more ages, too. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-connection.c | 22 ---------------------- + src/cairo-xcb-private.h | 2 -- + 2 files changed, 24 deletions(-) + +commit 17169a1e5130b8a287f07eb43d41f0b51307cc57 +Author: Eric Anholt <eric@anholt.net> +Date: Mon Feb 21 13:37:00 2011 -0800 + + gl: Bind samplers just once at program compile time. + + We never bound any other value to the sampler uniforms, so why bother + resetting them all the time? + + [ 0] before firefox-talos-gfx 29.972 30.493 0.89% 3/3 + [ 0] after firefox-talos-gfx 29.397 29.599 1.27% 3/3 + + Signed-off-by: Eric Anholt <eric@anholt.net> + + src/cairo-gl-composite.c | 6 +---- + src/cairo-gl-private.h | 5 ----- + src/cairo-gl-shaders.c | 58 ++++++++++++++++++++++++++++-------------------- + 3 files changed, 35 insertions(+), 34 deletions(-) + +commit 2fae22a3f2914a6e79436bafe94d19100d7cf6bf +Author: Eric Anholt <eric@anholt.net> +Date: Mon Jan 31 20:47:15 2011 -0800 + + gl: Take advantage of GLX_MESA_multithread_makecurrent to avoid unbinding. + + Because of GLX's unfortunate requirement that only one context have a + thread current at a time, we had to unbind the context, triggering a + flush, and eating of all the CPU. With a small tweak to the GLX spec + by GLX_MESA_multithread_makecurrent, and a small tweak to Mesa that + consisted mostly of deleting the "is this thread already bound + elsewhere?" check, we can bind our context to any thread and use it + safely as long as our usage of it is mutexed, which cairo-gl should + already be doing. + + [ 0] before firefox-talos-gfx 50.260 50.525 0.25% 3/3 + [ 0] after firefox-talos-gfx 32.091 32.422 0.65% 3/3 + + src/cairo-glx-context.c | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +commit 2e67809be0a2febd52c75948fabd7ac81227e5e3 +Author: Eric Anholt <eric@anholt.net> +Date: Sun Jan 30 23:41:39 2011 -0800 + + gl: Add a first bit of general documentation on cairo-gl usage. + + Since its inception, cairo-gl has been plagued by the "how am I really + supposed to use it?" problem. This lays down my expectations for how + cairo-gl will interact with other usage of the GL API. + + src/cairo-gl.h | 26 ++++++++++++++++++++++++++ + 1 file changed, 26 insertions(+) + +commit 90e1ef2d80b252cdc528d8d8d57cace109034e0b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Feb 20 18:16:10 2011 -0500 + + Bug 34011 - headers-standalone target is incorrect for some non-gcc compilers + + src/Makefile.am.analysis | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 47f70537b8baa0afdd28dd5c523d1956f17455cd +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Feb 19 19:13:59 2011 +0100 + + image: Fix surface acquisition if PIXMAN_HAS_ATOMIC_OPS + + If PIXMAN_HAS_ATOMIC_OPS, ix and iy will be changed if the source + surface is of subsurface type. They need to be reset to 0 before being + passed to _cairo_matrix_to_pixman_matrix_offset() or the acquired + surface will have an incorrect offset . + + src/cairo-image-surface.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 71e8a4c23019b01aa43b334fcb2784c70daae9b5 +Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> +Date: Sat Feb 19 17:46:45 2011 +0200 + + image: Avoid reusing pixman images for threadsafety. + + The pixman_image_ref() and pixman_image_unref() functions + aren't threadsafe in current pixman, so we can't share + pixman images across contexts where they may end up + moving between threads. The main use of these functions + is in keeping a global cache of pixman_image_ts for + solid colours and reusing the same pixman_image_t for + patterns pointing to the same image data where possible. + + This patch removes those uses from cairo by wrapping + them in a PIXMAN_HAS_ATOMIC_OPS conditional. There is + no automatic test this, so we will have to manually + turn this code back on when pixman does gain atomic + ops. + + The only two remaining calls to pixman_image_ref() are + done on locally created images so they are safe. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=34177 + + src/cairo-image-surface.c | 60 ++++++++++++++++++++++++++++------------------- + 1 file changed, 36 insertions(+), 24 deletions(-) + +commit 48774c09d04a0b8d3533bdd6d5de6cfe58f54c2b +Author: Benjamin Otte <otte@redhat.com> +Date: Sat Feb 19 11:33:22 2011 +0100 + + test: Fix gcc signedness warning + + test/clip-draw-unbounded.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 94612bc0323a0af0053ebec769040a7506fc5c22 +Author: Benjamin Otte <otte@redhat.com> +Date: Sat Feb 19 10:40:01 2011 +0100 + + arc: Remove erroneous return statement + + Introduced in e46dc9e17a6f6737d5624dbcdd3c42c2353a72f1. + + src/cairo.c | 2 -- + 1 file changed, 2 deletions(-) + +commit 9fc5ff797ac6f4cf9029319907fb5556a585108b +Author: Benjamin Otte <otte@redhat.com> +Date: Sat Feb 19 10:32:19 2011 +0100 + + test: Fix copy/paste error + + test/get-path-extents.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f847b3c2162029ee0b0ae4906d48a0d7c1312df3 +Author: Benjamin Otte <otte@redhat.com> +Date: Sat Feb 19 10:25:22 2011 +0100 + + test: Fix gcc complaints about old style definitions + + test/cairo-test-runner.c | 2 +- + test/xcb-stress-cache.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 7386960d063e4a3642fb281aaae071404d837bdb +Author: Benjamin Otte <otte@redhat.com> +Date: Sat Feb 19 10:23:46 2011 +0100 + + test: Add a test for 0-radius negative arcs + + This test checks the behavior of + e46dc9e17a6f6737d5624dbcdd3c42c2353a72f1 + + test/get-path-extents.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +commit b2bda24e42a3a5487177b9cb7354dc33f98da349 +Author: Benjamin Otte <otte@redhat.com> +Date: Sat Feb 19 10:22:45 2011 +0100 + + Declare variables first so gcc shuts up + + src/cairo-atomic-private.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 0fc65a10084064cb9758e1b52ff65e31b79481cf +Author: Benjamin Otte <otte@redhat.com> +Date: Fri Feb 18 19:57:22 2011 +0100 + + Revert accidental checkin in last commit + + Today is not my day... + + test/Makefile.sources | 1 - + 1 file changed, 1 deletion(-) + +commit e46dc9e17a6f6737d5624dbcdd3c42c2353a72f1 +Author: Benjamin Otte <otte@redhat.com> +Date: Fri Feb 18 19:51:44 2011 +0100 + + arc: Handle radius == 0 the same no matter the arc direction + + Commit a0ea0b63fdd38a73d6696da5cd4800d9a7289240 fixed cairo_arc() but + did not apply the same patch to cairo_arc_negative(). This patch fixes + that oversight. + + src/cairo.c | 7 ++++++- + test/Makefile.sources | 1 + + 2 files changed, 7 insertions(+), 1 deletion(-) + +commit ea0595c5ec125d201b159fd7128c1a86c857a0a6 +Author: Benjamin Otte <otte@redhat.com> +Date: Fri Feb 18 19:06:16 2011 +0100 + + surface: Actually return a value from _cairo_surface_set_error() + + This is what happens when there's too many warnings on the screen: I + don't see the important ones. Oops. + + src/cairo-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 9dcd29bef48071fcc28f5fa93d6369dfc1eed3da +Author: Benjamin Otte <otte@redhat.com> +Date: Fri Feb 18 18:53:29 2011 +0100 + + test: Add missing format to any2ppm to silence gcc + + test/any2ppm.c | 1 + + 1 file changed, 1 insertion(+) + +commit 056250775f15ea8fd337e3f37d6906f01b8c09a6 +Author: Benjamin Otte <otte@redhat.com> +Date: Fri Feb 18 18:52:11 2011 +0100 + + surface: Allow NOTHING_TO_DO as a valid error for now + + Lots of code relies on it, so we'd better not break that immediately. ;) + + src/cairo-surface.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 4a3ab4b60a80b01c17ce1789019d57d5d7430fdc +Author: Benjamin Otte <otte@redhat.com> +Date: Fri Feb 18 18:30:17 2011 +0100 + + region: Don't be nice to people setting internal error code + + Just DIE DIE DIE in the _cairo_status_set_status() assertion. + + src/cairo-region.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 3823c486f7d5b10ba3109fe547ed10eef8e87700 +Author: Benjamin Otte <otte@redhat.com> +Date: Fri Feb 18 18:26:14 2011 +0100 + + device: Don't be nice to people setting internal error codes + + Just DIE DIE DIE in the _cairo_status_set_status() assertion. + + src/cairo-device.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +commit badf32290ff894351e0f6879aafeac6db8e0d846 +Author: Benjamin Otte <otte@redhat.com> +Date: Fri Feb 18 18:23:25 2011 +0100 + + surface: Don't be nice to people setting internal error codes + + Just DIE DIE DIE in the _cairo_status_set_status() assertion. + + src/cairo-surface.c | 6 ------ + 1 file changed, 6 deletions(-) + +commit 3b3cfbfffe9e9acd1da753600c1e00044f065760 +Author: Benjamin Otte <otte@redhat.com> +Date: Fri Feb 18 18:21:54 2011 +0100 + + Assert that an error is valid when set + + src/cairo-atomic-private.h | 1 + + 1 file changed, 1 insertion(+) + +commit 9c5833638499f9faa740c1681342bce78596dc8a +Author: Benjamin Otte <otte@redhat.com> +Date: Fri Feb 18 17:56:46 2011 +0100 + + xcb: Don't operate on a status variable that is never set + + src/cairo-xcb-surface-render.c | 6 ------ + 1 file changed, 6 deletions(-) + +commit 00ffb09593b25a603cb5c1ad6d3712ea7776a027 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Fri Feb 11 17:46:51 2011 +0200 + + boilerplate/egl: Ensure that we are using an RGBA32 egl config + + boilerplate/cairo-boilerplate-egl.c | 17 ++++++++++++----- + 1 file changed, 12 insertions(+), 5 deletions(-) + +commit 2181a53f61c08c3461c74932add4bac7bfa0cf27 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Fri Feb 11 16:11:43 2011 +0200 + + egl: Ensure that the dummy pbuffer surface is compatible with the supplied context + + In order to be able to make an egl context current when using a + pbuffer surface, that surface must have been created with a config + that is compatible with the context config. For Mesa, this means that + the configs must be the same. + + src/cairo-egl-context.c | 26 ++++++++++++++++---------- + 1 file changed, 16 insertions(+), 10 deletions(-) + +commit 3245d6e120a1b8502cf36c3869db40341fb20b2e +Author: Benjamin Franzke <benjaminfranzke@googlemail.com> +Date: Thu Feb 10 18:07:43 2011 +0200 + + egl: Fix eglMakeCurrent for egl surfaces + + src/cairo-egl-context.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 303f56a2d34a23d933a02fa625873211fb51eb3b +Author: Benjamin Otte <otte@redhat.com> +Date: Thu Feb 17 18:17:08 2011 +0100 + + test: Add line-width-overlap + + Test case taken from the WebKit test suite, failure originally reported + by Zan Dobersek <zandobersek@gmail.com>. WebKit test is + LayoutTests/canvas/philip/tests/2d.path.rect.selfintersect.html + + test/Makefile.sources | 1 + + test/line-width-overlap.c | 72 ++++++++++++++++++++++++++++++++++++++++ + test/line-width-overlap.ref.png | Bin 0 -> 296 bytes + 3 files changed, 73 insertions(+) + +commit 937465b15e25cbc37c09861bc33a572440df0cbe +Author: Benjamin Otte <otte@redhat.com> +Date: Thu Feb 17 18:09:22 2011 +0100 + + tests: Fix gcc complaint + + warning: ‘static’ is not at beginning of declaration + + test/radial-gradient.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 4d4056872db94573183473610ad1d81d5439fdc6 +Author: Benjamin Otte <otte@redhat.com> +Date: Tue Feb 15 20:40:23 2011 +0100 + + tests: Add line-width-tolerance + + Test case taken from the WebKit test suite, failure originally reported + by Zan Dobersek <zandobersek@gmail.com> at + https://bugs.webkit.org/show_bug.cgi?id=54471 + + test/Makefile.sources | 1 + + test/line-width-tolerance.c | 66 ++++++++++++++++++++++++++++++++++++++ + test/line-width-tolerance.ref.png | Bin 0 -> 192 bytes + 3 files changed, 67 insertions(+) + +commit 07c0b7c284a71a8d5a3836cd8ab9bbb2d119c59f +Author: Benjamin Otte <otte@redhat.com> +Date: Tue Nov 9 10:05:39 2010 -0500 + + AUTHORS: Use correct email for me + + AUTHORS | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d866bb0405bc989666f886e2c0e293a1fe718d74 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Feb 7 22:13:53 2011 +0100 + + xlib: Fix compilation when gradient functions are not available + + It is not correct to rely on the version defined in render.h. The + Xrender.h header is independent and might not define some functions + available in RENDER 0.10. + + Their availability must be detected at configure time and the stubs + must be defined only if the functions are not available. + + Fixes https://bugs.freedesktop.org/show_bug.cgi?id=31906 + + configure.ac | 9 +++++++++ + src/cairo-xlib-xrender-private.h | 23 ++++++++++++++--------- + 2 files changed, 23 insertions(+), 9 deletions(-) + +commit 219f0d49a33d553711e92fcc61fd794b98f31234 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Feb 14 09:58:13 2011 +0100 + + test: Fix REFERENCE_IMAGES + + Makefile.am not updated along with changing the reference images in + 6825007ac6d46e8d8a7a3bc065453af5d6e755a8 and + 070bc5dd891ba698aeb3eaa899f662d4123f6928. + + test/Makefile.am | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +commit 81d2434b7595095e485019b38f8a348153c6bc93 +Author: Eric Anholt <eric@anholt.net> +Date: Sun Jan 30 20:11:11 2011 -0800 + + gl: Don't reset the FBO draw/readbuffers every time we bind the FBO. + + Draw/readbuffers are a property of the framebuffer, not of the + context. So we can leave them in place across bindings. I left the + window drawbuffer setting in place until we decide how to handle + interoperating of cairo-gl with normal GL usage. + + [ 0] before firefox-talos-gfx 67.552 67.561 0.22% 3/3 + [ 0] after firefox-talos-gfx 66.689 66.913 0.41% 3/3 + + src/cairo-gl-device.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 5fa49462be24b7fc7f32032d8577703f1d0f463a +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Feb 13 18:36:12 2011 +0100 + + test: Fix surface-pattern-scale-down-extend + + This test creates a similar surface using cairo_push_group () and + assumes its size will be w x h. This is not true when testing similar + surfaces with "cairo-test-suite -a", because they are bigger than the + actual ROI, which corresponds to the rectangle (0,0) - (w,h). + + Clipping to the ROI guarantees that the surface created by + cairo_push_group () always has the same size. + + Fixes surface-pattern-scale-down-extend. + + test/surface-pattern-scale-down-extend.c | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +commit 34612c400d3b66daf265529d90a3dcd1a8afdbcb +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Feb 13 17:28:31 2011 +0100 + + test: Fix clip-device-offset + + The test was incorrectly translating the "target" of the context + instead of the "group target" (i.e. the current destination). + + "cairo-test-suite -a" runs the tests on similar surfaces created using + cairo_push_group (), thus without this change the device-offset did + not affect the real destination surface. + + Fixes clip-device-offset. + + test/clip-device-offset.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 7ad3aebbe612ef560d4a73f85db226c8e7caa4b2 +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Feb 12 20:49:02 2011 +0100 + + arc-looping-dash: Add a missing cairo_restore () + + This test called cairo_save () without restoring again. Normally, this doesn't + cause a problem. However, when cairo-test-suite is called with "-a", it also + executes the tests on a similar surface. This then caused + cairo_pop_group_to_source to be called on a cairo_save state which causes a + CAIRO_STATUS_INVALID_RESTORE since commit 5d95ae924ed1520. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/arc-looping-dash.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 788bdec628ca004a73446414961f74e2443a8b06 +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Feb 12 14:51:30 2011 +0100 + + Fix errors from src/check-plt.sh + + All of these symbols are used in cairo-script-surface.c for emitting mesh + patterns. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-path.c | 1 + + src/cairo-pattern.c | 4 ++++ + src/cairoint.h | 5 +++++ + 3 files changed, 10 insertions(+) + +commit 12e41acf9c23618748036052f3403e6ece295796 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Feb 11 22:25:12 2011 +0100 + + xcb: Remove the surface pattern cache + + Whenever a surface is used as a source, cairo-xcb creates a Picture for it and + adds it as a snapshot to the source. Additionally, there is a per-screen cache + that makes sure old Pictures are destroyed when more than 16 MiB of image data + is used. + + There are two problems here: + - Normally, the Picture would be destroyed once it is no longer a snapshot for + the original source surface. However, the cache kept it alive for longer which + means it was using memory but couldn't actually be used any more. (The + Pictures are found via _cairo_surface_has_snapshot) + - When a xcb surface is used as a source, we create a new Picture for it, but + when that surface is cairo_surface_finish'd, we don't FreePicture this + Picture. When the drawable was a window, this may later on cause a BadPicture + error when cairo tries to explicitly free a picture that was already + implicitly freed when its window was destroyed. + + The second point caused lots of tests in the test suite to fail on an assert due + to the above-mentioned BadPicture error, but just removing the cache makes both + these problems go away. + + The only downside is that the cache enforced a limit of 16 MiB of pixel data + that was used for source surfaces on the server. After this commit the Picture + will be kept alive until the snapshot is detached. If this becomes a problem + memory-wise, a new solution will have to be invented... + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-private.h | 9 ----- + src/cairo-xcb-screen.c | 86 +----------------------------------------- + src/cairo-xcb-surface-render.c | 7 ---- + 3 files changed, 1 insertion(+), 101 deletions(-) + +commit 050a877a9e6a0066200783f1e200eaaf6792e5de +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Feb 10 17:33:52 2011 +0100 + + xcb: Fix a crash when finishing a device + + The xcb backend uses caches for linear, radial and surface patterns so that it + doesn't have to create a new cairo_xcb_picture_t on every use. Whenever any + picture is finished, the surface pattern cache is checked on whether it still + contains that picture. + + This means that we cannot destroy the surface_pattern_cache until after the + linear and radial_pattern_cache are destroyed or else we'll be querying the + surface pattern cache after it was finished. + + This wasn't noticed before because _cairo_xcb_picture_finish couldn't acquire + the cairo_xcb_connection_t and thus failed earlier. The previous commit changed + this and now lots of tests in the test suite trigger the crash. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-screen.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit ae669fb8aba1b2437d10c08e36c5ff593397626d +Author: Uli Schlachter <psychon@znc.in> +Date: Wed Feb 9 19:41:03 2011 +0100 + + Finish devices after their finish callback returns + + The problem is that the finish callback might still have to work with the + device, so it can't be made unusable yet. This is in contrast to what + cairo_surface_finish() does, but when finishing a surface it's quite unlikely + that its cairo_surface_t still has to be passed around to functions outside of + the backend. + + This "fixes" some problems with the xcb-surface-source test where + _cairo_surface_snapshot()-style snapshots break when the underlying + cairo_device_t is finished. (In the following backtrace, cairo_device_acquire + fails because the device's ->finished member is already TRUE) + + #0 cairo_device_acquire (device=0x690f70) at cairo-device.c:414 + #1 0x00007ffff7b884fb in _cairo_xcb_connection_acquire (surface=0x69c610, use_shm=<value optimized out>, image_out=0x7fffffffcc58) at cairo-xcb-private.h:246 + #2 _get_image (surface=0x69c610, use_shm=<value optimized out>, image_out=0x7fffffffcc58) at cairo-xcb-surface.c:425 + #3 0x00007ffff7b893cf in _cairo_xcb_surface_acquire_source_image (abstract_surface=0x69c610, image_out=0x7fffffffcce8, image_extra=0x7fffffffcce0) + at cairo-xcb-surface.c:561 + #4 0x00007ffff7b601d4 in _cairo_surface_acquire_source_image (surface=0x690f70, image_out=0x7fffffffcce8, image_extra=0x0) at cairo-surface.c:1458 + #5 0x00007ffff7b65dcf in _cairo_surface_snapshot_copy_on_write (surface=<value optimized out>) at cairo-surface-snapshot.c:125 + #6 0x00007ffff7b609b1 in _cairo_surface_detach_snapshot (snapshot=0x690f70) at cairo-surface.c:330 + #7 0x00007ffff7b606dc in _cairo_surface_detach_snapshots (surface=0x69c610) at cairo-surface.c:315 + #8 cairo_surface_flush (surface=0x69c610) at cairo-surface.c:1126 + #9 0x00007ffff7b6074d in cairo_surface_finish (surface=0x690f70) at cairo-surface.c:718 + #10 0x00007ffff7b881ff in _cairo_xcb_screen_finish (screen=0x691920) at cairo-xcb-screen.c:61 + #11 0x00007ffff7b8629c in _device_finish (device=0x690f70) at cairo-xcb-connection.c:546 + #12 0x0000000000446f7c in cleanup (data=0x69c370) at xcb-surface-source.c:47 + #13 0x00007ffff7b1e56a in _cairo_user_data_array_fini (array=0x693628) at cairo-array.c:390 + #14 0x00007ffff7b60868 in cairo_surface_destroy (surface=0x693600) at cairo-surface.c:651 + #15 0x0000000000447599 in draw (cr=0x7ffff7ddc288, width=<value optimized out>, height=<value optimized out>) at surface-source.c:149 + #16 0x000000000040c1c3 in cairo_test_for_target (ctx=0x7fffffffe640, target=0x669668, dev_offset=<value optimized out>, similar=<value optimized out>) + at cairo-test.c:984 + #17 0x000000000040d997 in _cairo_test_context_run_for_target (ctx=<value optimized out>, target=<value optimized out>, similar=<value optimized out>, + dev_offset=<value optimized out>) at cairo-test.c:1617 + #18 0x000000000040ee09 in _cairo_test_runner_draw (argc=<value optimized out>, argv=<value optimized out>) at cairo-test-runner.c:269 + #19 main (argc=<value optimized out>, argv=<value optimized out>) at cairo-test-runner.c:924 + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-device.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +commit 070bc5dd891ba698aeb3eaa899f662d4123f6928 +Author: Uli Schlachter <psychon@znc.in> +Date: Wed Feb 9 20:08:28 2011 +0100 + + xcb-surface-source: Add image16 and ps ref images + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/xcb-surface-source.image16.ref.png | Bin 0 -> 305 bytes + test/xcb-surface-source.ps.argb32.ref.png | Bin 0 -> 491 bytes + test/xcb-surface-source.ps.rgb24.ref.png | Bin 0 -> 482 bytes + 3 files changed, 0 insertions(+), 0 deletions(-) + +commit 6825007ac6d46e8d8a7a3bc065453af5d6e755a8 +Author: Uli Schlachter <psychon@znc.in> +Date: Wed Feb 9 19:58:05 2011 +0100 + + ps: Update xlib-surface-source ref images + + Since 9948b5180a, the *-surface-source tests draw a different image (a + translucent region was added). However, the ref images for xlib-surface-source + with cairo-ps weren't updated and thus the test failed. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/xlib-surface-source.ps.argb32.ref.png | Bin 0 -> 491 bytes + test/xlib-surface-source.ps.rgb24.ref.png | Bin 0 -> 482 bytes + test/xlib-surface-source.ps2.ref.png | Bin 376 -> 0 bytes + test/xlib-surface-source.ps3.ref.png | Bin 376 -> 0 bytes + 4 files changed, 0 insertions(+), 0 deletions(-) + +commit e4fdd9a1cd4c0d074dd20417e66de5856b6ba5a7 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Thu Feb 3 23:06:26 2011 +0200 + + gl: Replace built-in vertex attributes with custom attributes + + Built-in vertex attributes like gl_Vertex and gl_Color, have been obsoleted + and removed in recent GL versions and they are not supported at all in GLES2.0. + Custom attributes are supported in all GL versions >= 2.0, in GL 1.x with + ARB shader extensions and in GLES2.0. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-composite.c | 42 ++++++++++++++++++++++-------------------- + src/cairo-gl-private.h | 10 ++++++++++ + src/cairo-gl-shaders.c | 20 +++++++++++++++++--- + 3 files changed, 49 insertions(+), 23 deletions(-) + +commit e68062d9caafe21b53af22173fff40ad973a8d73 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Thu Feb 3 22:06:27 2011 +0200 + + gl: Add gl dispatch entries for functions related to vertex attributes + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-dispatch-private.h | 7 +++++++ + src/cairo-gl-private.h | 9 +++++++++ + 2 files changed, 16 insertions(+) + +commit 80a92b6d799900057ac40c0c0bb63be48eece9ef +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Mon Jan 31 18:02:02 2011 +0200 + + gl: Use a custom shader uniform for the ModelViewProjection matrix + + The built-in gl_ModelViewProjectionMatrix uniform (and others) has been + deprecated and removed in recent GLSL versions and is not supported + at all in GLSL ES. A custom uniform for the same purpose works across + all versions. + + [ickle: base _gl_identity_ortho on the 2D variant of glOrtho i.e. with + fixed near/far values of [-1, 1]] + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-composite.c | 2 ++ + src/cairo-gl-device.c | 51 +++++++++++++++++++++++++++++++++++++++++------- + src/cairo-gl-private.h | 1 + + src/cairo-gl-shaders.c | 3 ++- + 4 files changed, 49 insertions(+), 8 deletions(-) + +commit d88ada384fcb045cc9899339f9e8c1cbb8280c16 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Thu Jan 27 16:10:38 2011 +0200 + + gl: Replace ftransform() with manual coordinate calculation in shaders + + The ftransform() shader function was deprecated and removed in recent + GLSL versions and is not included at all in GLSL ES. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-shaders.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit b13198348ce053445ca97b513611207e34aa4528 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Mon Jan 31 16:18:29 2011 +0200 + + gl: Add function to bind a 4x4 float matrix shader uniform + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-private.h | 5 +++++ + src/cairo-gl-shaders.c | 26 ++++++++++++++++++++++++++ + 2 files changed, 31 insertions(+) + +commit 966e4a1738c5dc97149ff7bd58e54fa86f048c16 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Mon Jan 31 15:55:07 2011 +0200 + + gl: Add entry for UniformMatrix4fv in the gl dispatch table + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-dispatch-private.h | 1 + + src/cairo-gl-private.h | 2 ++ + 2 files changed, 3 insertions(+) + +commit 0984c9ea27318e852d78ce76a62e08db20e02f4d +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Feb 8 21:40:08 2011 +1030 + + Type1-subset: Fallback if font contains more than one /Encoding + + https://bugzilla.gnome.org/show_bug.cgi?id=641704 + + src/cairo-type1-subset.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 5f039f0f894082c383884595220f6f0368ab72cf +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Feb 3 22:55:53 2011 +0100 + + mesh: Rename cairo_pattern_mesh_* functions to cairo_mesh_pattern_* + + This is consistent with the naming of most cairo types/functions + (example: cairo_foo_surface_*). + + The substitution in the code has been performed using: + + sed -i 's/cairo_pattern_mesh_/cairo_mesh_pattern_/' <files> + + doc/public/cairo-sections.txt | 24 ++--- + doc/public/language-bindings.xml | 24 ++--- + src/cairo-pattern.c | 150 ++++++++++++++--------------- + src/cairo-script-surface.c | 8 +- + src/cairo.h | 26 ++--- + src/cairoint.h | 8 +- + test/mesh-pattern-accuracy.c | 40 ++++---- + test/mesh-pattern-conical.c | 16 +-- + test/mesh-pattern-control-points.c | 52 +++++----- + test/mesh-pattern-fold.c | 30 +++--- + test/mesh-pattern-overlap.c | 22 ++--- + test/mesh-pattern-transformed.c | 44 ++++----- + test/mesh-pattern.c | 44 ++++----- + test/pattern-getters.c | 34 +++---- + util/cairo-script/cairo-script-operators.c | 14 +-- + 15 files changed, 268 insertions(+), 268 deletions(-) + +commit fda784793edc3da789954df7fc2f0c86d9ed4f94 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Feb 6 18:11:25 2011 +0000 + + test: Attempt to capture out-of-bounds spans compositing bug + + Attempt to provoke out-of-bounds accesses as demonstrated by + https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/710072 + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.am | 3 + + test/Makefile.sources | 1 + + test/image-bug-710072-aligned.ref.png | Bin 0 -> 151 bytes + test/image-bug-710072-unaligned.ref.png | Bin 0 -> 212 bytes + test/image-bug-710072-unaligned.xlib.ref.png | Bin 0 -> 219 bytes + test/image-bug-710072.c | 80 +++++++++++++++++++++++++++ + 6 files changed, 84 insertions(+) + +commit d558f40c44f3d4f4a8a613318ff556c5d26914f7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Feb 6 14:11:30 2011 +0000 + + image: Limit span rendering to bounded extents + + We make the presumption that the incoming geometry is appropriately + clipped to the bounded extents and can simply memset without being out + of bounds. + + However, this was not always the case as we were removing the clip boxes + in order to optimise the common case where the operation is naturally + limited to the surface. + + (This is a candidate for 1.10) + + Bugzilla: https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/710072 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-surface.c | 28 ++++++++++++++++++++++++++++ + 1 file changed, 28 insertions(+) + +commit fc8c54dafe8e607053523e80447507fb57bc0fc0 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Feb 4 15:43:40 2011 -0500 + + Don't err on non-invertible font matrix + + The scaled-font layer handles that later if it actually is a problem: + + scaled_font->scale_inverse = scaled_font->scale; + status = cairo_matrix_invert (&scaled_font->scale_inverse); + if (unlikely (status)) { + /* If the font scale matrix is rank 0, just using an all-zero inverse matrix + * makes everything work correctly. This make font size 0 work without + * producing an error. + * + * FIXME: If the scale is rank 1, we still go into error mode. But then + * again, that's what we do everywhere in cairo. + * + * Also, the check for == 0. below may be too harsh... + */ + if (_cairo_matrix_is_scale_0 (&scaled_font->scale)) { + cairo_matrix_init (&scaled_font->scale_inverse, + 0, 0, 0, 0, + -scaled_font->scale.x0, + -scaled_font->scale.y0); + } else + return status; + } + + src/cairo-gstate.c | 3 --- + 1 file changed, 3 deletions(-) + +commit 7f15319621a71fb01ea41c4efc34bf1f54505ef5 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Fri Jan 28 15:02:54 2011 +0200 + + gl: Remove fixed-function related code paths + + Fixed-function related code paths are no longer used, as we require shader + support for the gl backend. + + Reviewed-by: Eric Anholt <eric@anholt.net> + + src/cairo-gl-composite.c | 106 ++--------------------------------------------- + src/cairo-gl-device.c | 6 --- + src/cairo-gl-private.h | 1 - + 3 files changed, 3 insertions(+), 110 deletions(-) + +commit f6ca11694b7935408446b36a17bfee024237dbbf +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Fri Jan 28 15:02:53 2011 +0200 + + gl: Remove unnecessary checks for NULL shader implementation + + Due to the fact that we fail if the system doesn't support shaders, we + now always have a valid shader implementation. + + Reviewed-by: Eric Anholt <eric@anholt.net> + + src/cairo-gl-shaders.c | 29 ++++++++--------------------- + 1 file changed, 8 insertions(+), 21 deletions(-) + +commit 037c9ba7e27bdd33a4fefa43dad68ce0d25e35ad +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Fri Jan 28 15:02:52 2011 +0200 + + gl: Fail if GL implementation doesn't support shaders + + The non-shaders implementation was never tuned for fixed-function GL + implementation, the maintainers are not interested in supporting it, + and the hardware is rather rare at this point. This lets us focus on + the implementation for modern hardware, which needs plenty of work + still. + + Reviewed-by: Eric Anholt <eric@anholt.net> + + src/cairo-gl-shaders.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 0e08e7adfc33eb048c7e88bb22a0ac35b1a14a72 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Jan 31 22:39:39 2011 +0100 + + XCB: Fix build with xcb-shm disabled + + The function _cairo_xcb_shm_image_create is defined and needed even when XCB-SHM + is disabled. In this case it just falls back to an image surface. + + Thanks to Benjamin Otte for noticing this. + + cairo-xcb-surface-render.c: In function ‘_render_to_picture’: + cairo-xcb-surface-render.c:749: error: implicit declaration of function ‘_cairo_xcb_shm_image_create’ + cairo-xcb-surface-render.c:749: warning: nested extern declaration of ‘_cairo_xcb_shm_image_create’ + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-private.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 2e81f79e95a60a706f517b1bd989039b302dba8a +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Jan 30 16:29:50 2011 +0100 + + xcb: Use a normal image surface if SHM fails + + If we can't use SHM, we still have PutImage. So instead of returning the error + to the caller, it makes sense to retry with a normal image surface. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 72788a06604ca50fe14354b92d2fd3b186a959bb +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Jan 30 15:43:00 2011 +0100 + + xcb: Move the allocation of a shm surface into its own function + + This simplifies the fallback to an image surface when something causes an error. + + Additionally, this causes errors from _cairo_xcb_connection_allocate_shm_info to + be handled via falling back to a normal image surface while previously those + were returned to the caller. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-core.c | 111 ++++++++++++++++++++++++++++--------------- + 1 file changed, 73 insertions(+), 38 deletions(-) + +commit 48cb9186a23923ad5e9e3c31a193ab3d99ec6c5d +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Jan 30 15:35:36 2011 +0100 + + xcb: Remove a duplicate static function + + Both cairo-xcb-surface-core.c and cairo-xcb-surface-render.c contained an + identical definition of _cairo_xcb_shm_image_create. This commits removes the + one from cairo-xcb-surface-render.c and adds the other one to + cairo-xcb-private.h. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-private.h | 7 +++++ + src/cairo-xcb-surface-core.c | 2 +- + src/cairo-xcb-surface-render.c | 61 ------------------------------------------ + 3 files changed, 8 insertions(+), 62 deletions(-) + +commit 274289d8c6c8a04060cd9c3a3cf0f819899c1353 +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Jan 30 16:19:50 2011 +0100 + + xcb: Limit the amount of SHM used + + Without this, one could make cairo attach to lots of shared memory. I managed to + make cairo use 1.5 GiB of shared memory according to top. This was done by + disabling XRENDER and thus causing lots of fallbacks. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-shm.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +commit a8e8d2aba811487dbb5b682c4f55065008e7ebbd +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Jan 25 16:29:58 2011 +0100 + + scaled font: Fix the docs for cairo_scaled_font_get_font_face + + With the toy font API, it is possible that cairo_scaled_font_get_font_face() + doesn't return the font face which was passed to cairo_scaled_font_create() + despite the docs saying otherwise. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-scaled-font.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 23f87951bae73d174131abdebfbcf5ae79b55779 +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Jan 25 16:19:27 2011 +0100 + + User fonts: Make it clear what should NOT be freed + + This is a misunderstanding that I actually saw in some real-world code that used + to work fine with cairo 1.8. Once you spend some time trying to debug such a + problem, you wish the docs would have said so. ;-) + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo.h | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +commit 00b1eac4b0df7a169ce0796850ed7a17bef69416 +Author: Uli Schlachter <psychon@znc.in> +Date: Wed Jan 26 21:10:59 2011 +0100 + + xcb: Document all public functions + + These docs are based upon cairo-xlib and the existing documentations for + cairo_xcb_surface_create_with_xrender_format. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-connection.c | 26 +++++++++++++++++ + src/cairo-xcb-surface.c | 70 +++++++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 95 insertions(+), 1 deletion(-) + +commit 9e7ce0c3525064aa32da90be89e805aff6829c9b +Author: Uli Schlachter <psychon@znc.in> +Date: Wed Jan 26 17:54:13 2011 +0100 + + xcb: Automatically enable the backend if the libs are available + + It looks like the cairo-xcb backend is in a good shape and hopefully will be a + supported backend for cairo 1.12.0. Let's see if this causes lots of new bugs to + be uncovered. :-) + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + boilerplate/Makefile.win32.features | 2 +- + configure.ac | 2 +- + src/Makefile.win32.features | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +commit 0e199ccc574d77041e19b29cb9a228e2588d5dca +Author: Pino Toscano <toscano.pino@tiscali.it> +Date: Tue Jan 25 14:33:11 2011 +0100 + + LD_PRELOAD is supported on Hurd + + LD_PRELOAD is supported on Hurd. Adding Hurd to the list of supported + systems makes cairo-trace available on them as well. + + See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=608492 + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f60e8f0bb231547ff473dd23807193c847c99a3d +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jan 25 08:41:27 2011 +0100 + + xcb: Fix compositing of pixel-aligned rectangles + + bef8b28300ab1f9b46db9d54b072f6f9318dca30 introduced a regression in + the compositing of pixel-aligned rectangles, because it only + translates the destination, instead of destination, source and mask, + by the extents offset. + + The same commit introduces some memleaks when the acquisition of an + xcb picture fails. + + 74374fce9d71d373287cddc3a0bf4aaf4bda568b causes incorrect rendering + whenever extents are not tight. + + Fixes https://bugs.freedesktop.org/show_bug.cgi?id=33448 + + src/cairo-xcb-surface-render.c | 56 +++++++++++++++++++++++++----------------- + 1 file changed, 34 insertions(+), 22 deletions(-) + +commit 062e78b620cd6161f0a2fd2644866fb5d957a9db +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Jan 24 10:35:23 2011 +0100 + + Fix regressions from 1.10 merge + + d6dc6e8e396506d5160266dda6575ddfce671c2d introduced two regressions: + + - the compiler warns about _gradient_stops_are_opaque being unused in + cairo-pdf-surface.c + + - get-path-extents now checks for the wrong extents, thus it fails + + src/cairo-pdf-surface.c | 12 ------------ + test/get-path-extents.c | 3 +-- + 2 files changed, 1 insertion(+), 14 deletions(-) + +commit c7b16098bd700c6cc82e8fce49eda606ac84ad24 +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Jan 23 22:10:20 2011 +0100 + + xcb: Fix a BadPicture when clearing a surface + + This bug was introduced in 6f431886 "xcb: Prefer RenderFillRectangles to perform + the deferred clear". The problem is that we are trying to clear a surface before + we created a Picture for it. This resulted in a FillRectangles call with + dst=XCB_NONE. + + I noticed this problem via cairo-perf-micro's dragon-solid-circle-clip. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 1 + + 1 file changed, 1 insertion(+) + +commit 74374fce9d71d373287cddc3a0bf4aaf4bda568b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 23 18:32:12 2011 +0000 + + xcb: Only use clip rectangles for more than 1 pixel-aligned box + + If there is only a single box, then it is naturally equivalent to the + single call to Composite. So need to incur the addition protocol + overhead of setting up the CompositeClip. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface-render.c | 15 +++++++++------ + 1 file changed, 9 insertions(+), 6 deletions(-) + +commit 5809c6ff32b10c7c07ae96e5b0f7b98de66ecea5 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 23 16:52:50 2011 +0000 + + version: Post-snapshot bump + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ac9ee388faf3c8c5df502f6cc7b039f043154954 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 23 16:32:13 2011 +0000 + + version: Bump for 1.11.2 snapshot + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 7e75e2d14afe295bb100849b081e9c568f3f1260 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 23 16:31:40 2011 +0000 + + NEWS: 1.11.2 snapshot + + NEWS | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 48 insertions(+) + +commit d6dc6e8e396506d5160266dda6575ddfce671c2d +Merge: 6c65168dc c84730d88 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 23 16:05:01 2011 +0000 + + Merge branch '1.10' into tmp + + Synchronize stable bug-fixes with development snapshot + + Conflicts: + cairo-version.h + src/cairo-path-bounds.c + src/cairo-pdf-surface.c + test/get-path-extents.c + +commit 6c65168dcfd969bd1d6aade3cd33f679e2314dea +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 23 15:46:32 2011 +0000 + + Makefile: add missing cairo-box-private.h + + src/Makefile.sources | 1 + + 1 file changed, 1 insertion(+) + +commit 6f4318869cf551f4ed349459b7afd50e4b10941c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 23 13:29:51 2011 +0000 + + xcb: Prefer RenderFillRectangles to perform the deferred clear + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface-render.c | 22 ++++++++++++++++------ + 1 file changed, 16 insertions(+), 6 deletions(-) + +commit bef8b28300ab1f9b46db9d54b072f6f9318dca30 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 23 12:28:06 2011 +0000 + + xcb: Apply a clip region for compositing many-pixel-aligned-boxes + + Based on a patch by Uli Schlachter. + + Uli found that the "fast-path" for compositing pixel-aligned boxes did + not live up to its name; using multiple Composite is many times slower, + because of the extra protocol and driver overheads, than specifying a + clip region and a single Composite. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface-render.c | 120 +++++++++++++++++++++++------------------ + 1 file changed, 68 insertions(+), 52 deletions(-) + +commit ff9e962165905f9b3477e125de227c69aebf9510 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jan 19 23:22:31 2011 +0100 + + gstate: Remove unused code + + _cairo_gstate_redirect_target asserts that this surface is NULL + immediately before destroying it. If the code is compiled with + assertions disabled and the assert would be false, it is now safer + because instead of an invalid access it will only memleak. + + _cairo_gstate_get_parent_target () is not used anymore in + cairo_pop_group () and the related code can be removed. + + _cairo_gstate_is_redirected () has never been used. + + The comment about the clipping is misleading, because the clip is + translated as expected since fb7f7c2f27f0823d7702f960204d6e638d697624. + + src/cairo-gstate-private.h | 6 ------ + src/cairo-gstate.c | 33 --------------------------------- + 2 files changed, 39 deletions(-) + +commit 5d95ae924ed15200a17d240d8f0744c74df7c61b +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Jan 20 01:44:29 2011 +0100 + + gstate: Set an error status when restoring a push_group + + cairo_push_group (cr) followed by cairo_restore (cr) should put cr in + an error status of CAIRO_STATUS_INVALID_RESTORE. + + Fixes group-state. + + src/cairo-gstate-private.h | 3 +++ + src/cairo-gstate.c | 16 ++++++++++++++++ + src/cairo.c | 26 +++++++++++--------------- + 3 files changed, 30 insertions(+), 15 deletions(-) + +commit e0b741de9006a02acd9b05c8fae52f6b7f775163 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jan 18 14:48:15 2011 +0100 + + test: Add group-state + + The interaction between the group and the state API is currently + untested and buggy. This test tries to use them incorrectly and check + that cairo notices the problem and marks the cr object with an error + status. + + test/Makefile.sources | 1 + + test/group-state.c | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 97 insertions(+) + +commit b51520628de73d5f560720c20987e5be5440edb0 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Jan 22 11:56:37 2011 +0100 + + clip: Improve _cairo_clip_contains_* + + _cairo_clip_contains_rectangle() considered a NULL clip empty instead + of containing everything. + + _cairo_clip_contains_rectangle() checks for NULL clips, so we don't + have to check for them in _cairo_clip_contains_extents(). + + src/cairo-clip.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +commit 47d14586f5d56b2c926a2ddbca6cfbd284c3b3f1 +Author: Mats Palmgren <matspal@gmail.com> +Date: Fri Jan 21 09:52:19 2011 +0100 + + win32: Improve error logging + + On win32 stderr is fully buffered, so fflush() should be called after + each error to ensure it is printed to the console. + + There is no need to use fwprintf if the format string can be + represented as char*. + + See https://bugs.freedesktop.org/show_bug.cgi?id=33319 + + src/cairo-win32-surface.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 72a9d49a530456e7002675235333885c70580abb +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jan 19 15:04:49 2011 +0100 + + Bump pixman requirements to 0.20.2 for radial gradients + + Pixman has PDF-like radial gradients since 0.20.0, but the + implementation of the tangent circles case was not correct. This has + been fixed in 0.20.2, along with some invalid operations fixes. + + README | 2 +- + configure.ac | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 67cfb20bd0908b73efc208b3c5ca0d027f858864 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jan 19 14:35:46 2011 +0100 + + test: Workaround pixman limits in large-source-roi + + Since 1cc750ed92a936d84b47cac696aaffd226e1c02e pixman won't perform + the compositing if it can't prove that this the computations it has to + perform will fit within the size of the variables it uses. + + It looks like in this case it cannot prove that no overflow will + happen unless surface_width <= 30582. Instead of this size (discovered + by bisection), a safer looking 30000 was chosen. It should still + trigger the problems the original test was looking for, because + backends which support 30000xheight surfaces will likely support + 32767xheight as well. + + test/large-source-roi.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit b8e7bfdff0478f0515ea470b32fc15ca081d637e +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Jan 6 17:40:05 2011 +0100 + + quartz: Respect pattern filter settings + + CAIRO_FILTER_FAST and CAIRO_FILTER_NEAREST both map to nearest + neighbor filtering, whereas all other filter modes are names for + bilinear filtering. + + Additionally, translations matrices are transformed into integer + translations when possible (i.e. when they are used on an nearest + neighbor filtered surface pattern), which makes Quartz behave as + cairo-image for these simple transformations. + + Fixes a1-image-sample, a1-mask-sample, filter-nearest-offset. + + Improves the output of filter-nearest-transformed and + rotate-image-surface-paint. They are not blurry anymore, but they are + different from the reference images because of different in/out rules + between Quartz and cairo-image. + + src/cairo-quartz-surface.c | 166 ++++++++++++++++++++++++++++----------------- + 1 file changed, 105 insertions(+), 61 deletions(-) + +commit 45da39dda729be4c61c92d30e9373282941000fa +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Jan 7 18:00:37 2011 +0100 + + quartz: Avoid using private APIs + + CGContextSetCTM() is not part of the public API and can easily be + replaced by CGContextConcatCTM()-ing an appropriate matrix. + + src/cairo-quartz-surface.c | 50 ++++++++++++++++++++++++++-------------------- + 1 file changed, 28 insertions(+), 22 deletions(-) + +commit ca9068839bf28f914a5066d7846f4d4b95fee4a2 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jan 5 16:12:34 2011 +0100 + + quartz: Use CGLayer to implement unbounded operators + + Quartz operators are not unbounded, but it is possible to implement + unbounded operators by using a temporary destination. + + Fixes clip-stroke-unbounded, clip-fill-nz-unbounded, + clip-fill-eo-unbounded, clip-operator, operator-alpha-alpha, + overlapping-glyphs, surface-pattern-operator, unbounded-operator. + + src/cairo-quartz-surface.c | 663 +++++++++++++++++++-------------------------- + 1 file changed, 281 insertions(+), 382 deletions(-) + +commit d7e3637af2ce31c35281c87c4ca064322de0d948 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Jan 1 23:16:11 2011 +0100 + + quartz: Cleanup extents computation + + All the draw operations use the same code to compute the gradient + parameter range. It can be moved to the function which sets up the + source. + + src/cairo-quartz-surface.c | 45 +++++++++++++++------------------------------ + 1 file changed, 15 insertions(+), 30 deletions(-) + +commit aa2fb0c05fefeea97a2d72f882a6b2c40d98af39 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Jan 1 22:36:45 2011 +0100 + + quartz: Do not use opaque patterns as masks + + When an opaque surface is used as a mask, Quartz converts it to + greyscale and uses the result as an alpha value. Cairo expects the + mask operation to ignore the color components and only use the alpha + of the pattern. + + The expected behavior can be achieved by drawing the mask on a + temporary surface with an alpha channel. + + Fixes clear-source. + + src/cairo-quartz-surface.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +commit 7d89d69c494bb438ca1caddf1a2226a48297e4b6 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jan 5 12:15:06 2011 +0100 + + quartz: Make huge domain handling more stable + + Quartz cannot correctly handle arbitrary domains. Falling back is + needed to get correct results on very large (in parameter space) + gradients. + + For PAD extended gradients, limiting the domain to (at most) [-0.5, + 1.5] is sufficient to guarantee that it will correctly sample the + extreme stops and improves the accuracy (over having a much bigger + domain). + + Fixes radial-gradient, radial-gradient-mask, radial-gradient-source, + radial-gradient-mask-source, radial-gradient-one-stop. + + Improves the quality of the linear gradients in linear-gradient, + linear-gradient-subset, mask, operator-source, trap-clip. + + src/cairo-quartz-surface.c | 20 ++++++++++++++++---- + 1 file changed, 16 insertions(+), 4 deletions(-) + +commit 4874dab984fe73ae687b354aff45b879e1de9db2 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Jan 1 22:57:27 2011 +0100 + + quartz: Use standard stack allocation size + + Make cairo-quartz respect the convention that stack-allocated data + structures use the size computed by CAIRO_STACK_ARRAY_LENGTH (). + + Additionally this increases the size of the dash and glyph arrays, + making dynamic memory allocation less likely. + + src/cairo-quartz-surface.c | 24 ++++++++---------------- + 1 file changed, 8 insertions(+), 16 deletions(-) + +commit 5a1e590b122d99ad91ba104b8fc68e8adaa2d6cd +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Jan 8 00:56:38 2011 +0100 + + test: Update quartz ref images + + The following commits fix and/or improve the output of some tests. + Updating the ref images before fixing the code allows to check that + the fix is correct and makes it easy to find out which tests are fixed + by each commit. + + test/Makefile.am | 24 ++++++++++++++++----- + test/a1-bug.quartz.xfail.png | Bin 0 -> 3195 bytes + test/a1-image-sample.quartz.xfail.png | Bin 972 -> 0 bytes + test/a1-mask-sample.quartz.xfail.png | Bin 972 -> 0 bytes + test/a1-rasterisation-rectangles.quartz.xfail.png | Bin 0 -> 2583 bytes + test/a1-rasterisation-triangles.quartz.xfail.png | Bin 0 -> 2583 bytes + test/a8-clear.quartz.ref.png | Bin 0 -> 244 bytes + test/aliasing.quartz.ref.png | Bin 0 -> 108801 bytes + test/clip-fill-eo-unbounded.quartz.argb32.ref.png | Bin 3366 -> 3382 bytes + test/clip-fill-eo-unbounded.quartz.rgb24.ref.png | Bin 3061 -> 2941 bytes + test/clip-fill-nz-unbounded.quartz.argb32.ref.png | Bin 3366 -> 3382 bytes + test/clip-fill-nz-unbounded.quartz.rgb24.ref.png | Bin 3061 -> 2941 bytes + test/clip-operator.quartz.argb32.ref.png | Bin 14959 -> 9672 bytes + test/clip-operator.quartz.rgb24.ref.png | Bin 8835 -> 4343 bytes + test/clip-stroke-unbounded.quartz.argb32.ref.png | Bin 3362 -> 3290 bytes + test/clip-stroke-unbounded.quartz.rgb24.ref.png | Bin 3061 -> 2840 bytes + test/filter-nearest-offset.quartz.xfail.png | Bin 2130 -> 0 bytes + test/filter-nearest-transformed.quartz.xfail.png | Bin 534 -> 349 bytes + test/linear-gradient-subset.quartz.ref.png | Bin 994 -> 852 bytes + test/linear-gradient.quartz.ref.png | Bin 1073 -> 951 bytes + test/mask.quartz.argb32.ref.png | Bin 11136 -> 10669 bytes + test/operator-source.quartz.argb32.ref.png | Bin 5499 -> 4936 bytes + test/operator-source.quartz.rgb24.ref.png | Bin 4345 -> 3771 bytes + test/overlapping-glyphs.quartz.argb32.ref.png | Bin 0 -> 2824 bytes + test/overlapping-glyphs.quartz.rgb24.ref.png | Bin 0 -> 1711 bytes + test/partial-clip-text.quartz.ref.png | Bin 0 -> 174 bytes + test/pthread-same-source.quartz.xfail.png | Bin 957 -> 961 bytes + test/pthread-show-text.quartz.ref.png | Bin 42996 -> 43005 bytes + ...dial-gradient-mask-source.quartz.argb32.ref.png | Bin 0 -> 171002 bytes + ...adial-gradient-mask-source.quartz.rgb24.ref.png | Bin 0 -> 179120 bytes + test/radial-gradient-mask.quartz.ref.png | Bin 0 -> 296910 bytes + test/radial-gradient-one-stop.quartz.ref.png | Bin 0 -> 6316 bytes + test/radial-gradient-source.quartz.argb32.ref.png | Bin 0 -> 439222 bytes + test/radial-gradient-source.quartz.rgb24.ref.png | Bin 0 -> 279249 bytes + test/radial-gradient.quartz.ref.png | Bin 0 -> 389140 bytes + test/rotate-image-surface-paint.quartz.ref.png | Bin 356 -> 223 bytes + test/scale-offset-image.quartz.ref.png | Bin 9054 -> 8977 bytes + test/scale-offset-similar.quartz.ref.png | Bin 9054 -> 8977 bytes + .../surface-pattern-operator.quartz.argb32.ref.png | Bin 0 -> 5721 bytes + ...urface-pattern-operator.quartz.argb32.xfail.png | Bin 5917 -> 0 bytes + test/surface-pattern-operator.quartz.rgb24.ref.png | Bin 0 -> 2429 bytes + ...surface-pattern-operator.quartz.rgb24.xfail.png | Bin 2546 -> 0 bytes + test/trap-clip.quartz.argb32.ref.png | Bin 6926 -> 6115 bytes + test/trap-clip.quartz.rgb24.ref.png | Bin 6503 -> 5801 bytes + test/unbounded-operator.quartz.argb32.ref.png | Bin 0 -> 3509 bytes + test/unbounded-operator.quartz.rgb24.ref.png | Bin 0 -> 1657 bytes + test/xcomposite-projection.quartz.ref.png | Bin 639 -> 926 bytes + 47 files changed, 19 insertions(+), 5 deletions(-) + +commit 2e75bf5a25cc5b7fd33702e2b1474f94caeab158 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jan 5 16:00:37 2011 +0100 + + test: Fix operator-alpha-alpha + + The test is checking the compositing of color-alpha sources although + it was meant to check the compositing of alpha-only sources on + alpha-only destinations. + + This commit fixes the code to respect the test description. + + test/operator-alpha-alpha.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 45505fc5fb14d774c8e13bdca6ca6f75d4b2f9df +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Jan 14 12:51:54 2011 +0100 + + Add a results.tar.gz target to the test Makefile + + Sometimes it is useful to be able to package the result of a run of + the testsuite. This new target creates an archive containing the html + page and at least all the files it links to. + + The archive might contain some unneeded images. + + test/Makefile.am | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +commit 8c031c029d45d65dac22be9a809cc43f4449d41e +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Jan 3 16:41:34 2011 +0100 + + pdf,ps,quartz: Use correct tolerance for gradient domain computation + + The tolerance argument of _cairo_gradient_pattern_box_to_parameter () + is in pattern space, so to have it constant in device space, it should + depend on the pattern matrix. + + In ps and pdf the fallback resolution alone is not meaningful. The + resolution/fallback_resolution ratio should be used instead. + + src/cairo-pattern.c | 3 ++- + src/cairo-pdf-surface.c | 10 +++++++--- + src/cairo-ps-surface.c | 10 +++++++--- + src/cairo-quartz-surface.c | 12 +++++++++--- + 4 files changed, 25 insertions(+), 10 deletions(-) + +commit 78eade13b196d43a46d84b53e2e0f6cdf27de877 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jan 4 22:14:46 2011 +0100 + + gl: Don't ignore offset for gradient sources + + _cairo_gl_operand_init() has parameters to specify an offset for the + source and another for the destination. + + _cairo_gl_gradient_operand_init() incorrectly assumed that the two + offsets were identical. + + Fixes mask, radial-gradient-mask-source. + + src/cairo-gl-composite.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +commit 49171fb53474531a22fcd98882f97bdbf9a4d521 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jan 4 13:17:57 2011 +0100 + + gl: Update radial gradient implementation + + Cairo assumes that radial gradients are drawn as defined in ISO3200 + since b661bc871220fd67d673c44a8e3cb305812d8c38. + + To implement them in GLSL, three different shaders are required: + - tangent circles (a=0 in the parameter equation) + - none-extended gradient (solutions outside [0,1] must be ignored) + - extended gradient + + Moreover, texcoords are used instead of gl_FragCoord, to fix the + flipping as per 31e116f084d0ff073bed9d0e9c1c6ca1e5db4843. + + Fixes huge-radial, radial-gradient, radial-gradient-extend, + radial-gradient-mask, radial-gradient-source. + + src/cairo-gl-composite.c | 219 +++++++++++++++++++++++------------------------ + src/cairo-gl-private.h | 21 ++--- + src/cairo-gl-shaders.c | 115 +++++++++++++++++-------- + 3 files changed, 193 insertions(+), 162 deletions(-) + +commit 922bbd432011728304fe5647467545a52b9ab9b0 +Author: Robert O'Callahan <robert@ocallahan.org> +Date: Tue Jan 18 13:52:21 2011 +0100 + + tee: Do not apply two times the master device transform + + cairo_tee_surface_create copies the device transform from 'master' to + the new surface. This is wrong since all the cairo_surface_wrapper + functions apply master's device transform themselves. + + Reviewed-by: Benjamin Otte <otte@redhat.com> + + src/cairo-tee-surface.c | 3 --- + 1 file changed, 3 deletions(-) + +commit b0e1c837acea2d6a78d5e5b1a011b1d43354b3ac +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Jan 7 13:27:27 2011 +0200 + + gl: Ensure that gl surface resizes are properly applied + + If a gl surface is resized (with cairo_gl_surface_set_size()) while being the + current target, the resize does not take effect until the target changes to a + different surface and back to the original one. This patch allows a gl_context + to track when the current target surface has been changed and ensures that a + resize always take effect the next time a resized surface is used as the target. + + src/cairo-gl-device.c | 3 ++- + src/cairo-gl-private.h | 1 + + src/cairo-gl-surface.c | 8 ++++++-- + 3 files changed, 9 insertions(+), 3 deletions(-) + +commit 45331fe87c319a899fc3cb661dc842fd815282d6 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Fri Jan 7 13:01:19 2011 +0200 + + gl: Fix condition that prevents setting the size of window surfaces + + A typo in cairo_gl_surface_set_size() prevents resizing of window surfaces + while incorrectly allows resizing of texture-backed surfaces. + + src/cairo-gl-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 55c57a5b3d5700db05cc19d8e6107ef4addc0b76 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jan 12 23:21:02 2011 +0100 + + mesh: Do not declare min and max functions + + Using the names "min" and "max" is likely to cause collisions. Instead + of them, use the MIN and MAX macros provided by cairoint.h + + Reviewed-by: Uli Schlachter <psychon@znc.in> + + src/cairo-mesh-pattern-rasterizer.c | 56 +++++++++++++++++-------------------- + 1 file changed, 25 insertions(+), 31 deletions(-) + +commit e6e0161b7e54854422b84f934c9610c5b8114a0b +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Jan 17 23:09:27 2011 +0100 + + xcb: Add a short comment to the Picture cache + + When we create a temporary cairo_xcb_picture_t, we want to be able to + reuse it, but we don't want the Picture to be alive forever to eat up + resources when it is not being used anymore. + + When a surface pattern is about to be used for compositing, if it has + a cairo_xcb_picture_t snapshot, the latter is just reused. Otherwise a + new cairo_xcb_picture_t with the same content is created and attached + as a snapshot to the surface. + + To keep the resource usage bounded we keep a per-screen cache of + cairo_xcb_picture_t. When the cache is full, a random entry is evicted + and we detach this snapshot from the surface that it is a snapshot + for. It will be immediately destroyed if nothing else holds a + reference to it. Otherwise it will be charged against the holder of + the reference, so it won't count anymore in the resources occupied by + the cache elements. This makes sure that the cached surface isn't + kept alive indefinitely because of caching. + + Based on a patch by Uli Schlachter. + + src/cairo-xcb-screen.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 7f83b4e949b85fc604e9a7841c566eebd0aa1452 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Jan 17 18:38:16 2011 +0100 + + xcb: Don't finish snapshots when they are detached + + Some code might own a reference to the snapshot when it is + detached. For this reason, we shouldn't finish the snapshot except + when its reference count drops to zero. + + This avoids destroying source patterns which get evicted from the + cache while acquiring the mask. + + Fixes xcb-stress-cache. + + Big "thank you" to Andrea Canciani for helping in figuring this one out. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 44095f3dde22b2c379902e56adc47408b630c5e7 +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Jan 16 20:52:01 2011 +0100 + + Add a test case for a bug in the xcb backend + + This was found via cairo-perf-micro which sometimes triggered this bug in its + mask-similar_image-* test. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/Makefile.am | 1 + + test/Makefile.sources | 1 + + test/xcb-stress-cache.c | 118 ++++++++++++++++++++++++++++++++++++++++++ + test/xcb-stress-cache.ref.png | Bin 0 -> 97 bytes + 4 files changed, 120 insertions(+) + +commit 01799bf0523d11e1bdb239caa265ce40cdcdfafa +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Jan 17 10:25:30 2011 +0100 + + Fix optimization of white IN dest compositing + + The optimization of any opaque color IN an alpha-only surface is a + noop (it multiplies the alpha of each pixel of the destination by 1). + The same does not apply to colored destinations, because IN replaces + the original color with the color of the source. + + Fixes white-in-noop. + + src/cairo-surface.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 9e6d8ff86c9a8584ba25c78b1c4f3d50dba03e08 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Jan 17 12:17:30 2011 +0100 + + test: Add missing ref image to REFERENCE_IMAGES + + test/Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +commit 2af0b0f5dae88469113e5b10ccd8405f041bf109 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Jan 17 10:21:06 2011 +0100 + + test: Add white-in-noop + + Exercise an incorrect optimization in cairo-surface.c. It replaces + with a noop any region-based fill with solid white source and an IN + operator. + + test/Makefile.sources | 1 + + test/white-in-noop.c | 52 +++++++++++++++++++++++++++++++++++++++++++++ + test/white-in-noop.ref.png | Bin 0 -> 95 bytes + 3 files changed, 53 insertions(+) + +commit a35180714798ace2299aad531e2eacfa7968f16e +Author: Maarten Bosmans <mkbosmans@gmail.com> +Date: Tue Dec 28 13:32:27 2010 +0100 + + doc: Fix some broken references and gtk-doc warnings + + The gtk-doc comments contain some typos and are missing some escaping. + + doc/public/cairo-sections.txt | 1 + + doc/public/language-bindings.xml | 2 +- + src/cairo-clip.c | 2 +- + src/cairo-font-face.c | 6 +++--- + src/cairo-font-options.c | 2 +- + src/cairo-pattern.c | 6 ++++-- + src/cairo-ps-surface.c | 39 +++++++++++++++++++------------------- + src/cairo-recording-surface.c | 10 +++++----- + src/cairo-surface.c | 2 +- + src/cairo-win32-printing-surface.c | 2 +- + src/cairo.c | 27 ++++++++++++++------------ + src/cairo.h | 33 +++++++++++++++++--------------- + 12 files changed, 71 insertions(+), 61 deletions(-) + +commit 32241cde01a2a095f04c0b110067d4c1571f9cbd +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Jan 16 18:40:42 2011 +0100 + + doc: Add links to flush() and mark_dirty() in direct access functions + + cairo_image_get_data() and other direct access functions are often + misused by applications because they don't call cairo_surface_flush() + and/or cairo_surface_mark_dirty() around the code which accesses the + surface data directly. + + Although this information is already available in the description of + the cairo_surface_t type, adding a reminder about it in the direct + access functions should make it easier to use them correctly. + + src/cairo-image-surface.c | 5 +++++ + src/cairo-quartz-surface.c | 7 +++++++ + src/cairo-win32-surface.c | 6 ++++++ + 3 files changed, 18 insertions(+) + +commit 01c66d34c387a2d2b9114a9fccc7491ad7ff1315 +Author: Maarten Bosmans <mkbosmans@gmail.com> +Date: Tue Dec 28 11:34:02 2010 +0100 + + doc: Add a remark about toy status of the PNG API + + The PNG API is just a toy API whose main purpose is to make it easy to + write minimal examples of cairo features or testcases for bugs. For + these purposes there is no need to tune the output PNG file or to + provide additional information in optional PNG chuncks, but real + applications need to do that quite often. The documentation now points + out what is the correct procedure to write image data to a file. + + src/cairo-png.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +commit 14afb69d3dc889715451cab6f54ec6ce73b431dd +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Jan 7 00:19:55 2011 +0100 + + xlib: Handle a wider range of glyph positions + + Backport the change from 588dead005d69c022245ff017f53ff403b50e9db to + Xlib. + + src/cairo-xlib-surface.c | 44 ++++++++++++++++++++++---------------------- + 1 file changed, 22 insertions(+), 22 deletions(-) + +commit 588dead005d69c022245ff017f53ff403b50e9db +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Dec 22 11:30:45 2010 +0100 + + xcb: Handle a wider range of glyph positions + + _can_composite_glyphs() checks that the position of each glyph can be + represented as a 16-bit offset from the destination origin. + + Fixes https://bugs.freedesktop.org/show_bug.cgi?id=31897 + + src/cairo-xcb-surface-render.c | 26 +++++++++----------------- + 1 file changed, 9 insertions(+), 17 deletions(-) + +commit 10bae9d9ce5ece5bc5b4a929e791d9906a6b24b5 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Dec 22 00:24:59 2010 +0100 + + xcb: Stricter glyph validation + + To ensure that we can correctly issue the glyph operation, glyph size + must fit in an XCB request and its position must be within the + representable range (16-bit offset). + + src/cairo-xcb-surface-render.c | 102 +++++++++++++++++++++++++++++++---------- + 1 file changed, 77 insertions(+), 25 deletions(-) + +commit c3f9a0cf473f3ef9fd89b2a9738e1ce61fd0b6cc +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Dec 22 00:21:19 2010 +0100 + + xcb: Correct handling of index 0 glyphs + + Glyph caches (with direct glyph index matching) cannot be completely + initialized with zeroes, otherwise the code will incorrectly believe + that the lookup for the 0-index glyph has already been performed. + + src/cairo-xcb-surface-render.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit a87001c0631da31f9caccdd99f31739c6e85a4e9 +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Jan 4 12:39:12 2011 +0100 + + xcb: Fix premature pixmap free in boilerplate cleanup + + A xcb surface has to be finished before the associated drawable can be freed or + there will be X11 errors when the surface is later finished or used again. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + boilerplate/cairo-boilerplate-xcb.c | 1 + + 1 file changed, 1 insertion(+) + +commit 673c44d3e85e31d6411598706dc025cd474b7dcf +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Jan 4 12:36:42 2011 +0100 + + xcb: Check the check for errors in boilerplate + + We have to make sure we received all errors that the X server sent out before we + can be sure there are none. To do so, we just have to send some request and wait + for its reply, because that guarantees that the replies/errors to all previous + requests were received. + + _cairo_boilerplate_xcb_synchronize doesn't need this, because the GetImage + request already makes sure we received everything. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + boilerplate/cairo-boilerplate-xcb.c | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +commit 51626ed2eed1abd7c540160988017c101da28952 +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Jan 4 12:33:28 2011 +0100 + + xcb: Check harder for X11 errors in boilerplate + + This commit makes the boilerplate code check for errors from the X server before + disconnecting and during synchronize. This should make sure no errors are ever + lost and silently ignored. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + boilerplate/cairo-boilerplate-xcb.c | 74 +++++++++++++++++++++++-------------- + 1 file changed, 47 insertions(+), 27 deletions(-) + +commit f8277dfdaf60ebb1d6c60780cff559497780b5b6 +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Jan 4 13:05:03 2011 +0100 + + xcb: Only print the first error and ignore subsequent ones + + It is quite likely that following errors are caused by the previous ones. To + avoid flooding users we now silently discard all the errors and events after the + first one. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + boilerplate/cairo-boilerplate-xcb.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 8a65279ee1a5b7170bad552691ce5f96ef6cd8bd +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Jan 4 12:29:11 2011 +0100 + + xcb: Add a define for some magic number + + In X11, errors look like events with response_type == 0. Using a define looks + better than just a "trust me!". + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + boilerplate/cairo-boilerplate-xcb.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 8957e506321c4dc1ca59c8a88012801509b0d338 +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Jan 4 12:27:33 2011 +0100 + + xcb: Handle events in boilerplate + + Cairo shouldn't cause any events during a test run. Verify this by explicitly + handling events, too. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + boilerplate/cairo-boilerplate-xcb.c | 13 ++++++------- + 1 file changed, 6 insertions(+), 7 deletions(-) + +commit f0bb3a29b36f85973ba678b19c5bf057f18506ed +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Jan 3 20:12:07 2011 +0100 + + pattern: Remove unused _cairo_pattern_size function + + 'git log -S_cairo_pattern_size' only finds the commit + a856371bef496da0e84226f4fd2fc3cb72e955ac, in which this function was + added, thus it looks like it has never been used. + + src/cairo-pattern.c | 39 --------------------------------------- + src/cairoint.h | 3 --- + 2 files changed, 42 deletions(-) + +commit e5f54bb9f34a463cd10240451dd5d29a735c4506 +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Dec 25 14:46:43 2010 +0100 + + XCB: Make sure SHM memory isn't reused too early + + This commit delays the return of a SHM area to the free pool. When + _cairo_xcb_shm_info_destroy is called, it now adds the cairo_xcb_shm_info_t to a + list of pending memory areas and sends a GetInputFocus request to the server. + + This cairo_xcb_shm_info_t is only really freed when the GetInputFocus request + completes. To avoid unnecessarily waiting for the X server, we check via + xcb_poll_for_reply for the reply which returns immediately if the reply isn't + received yet. + + This commits fixes a race where the shared memory area is reused before the X + server finished reading data from it. This does NOT fix races where cairo draws + something new to the same cairo_xcb_shm_info_t while the X server still reads + from it. However, there doesn't seem to exist any code currently where the shm + info isn't immediately destroyed after it was used. + + This commit fixes the following tests for xcb-render-0.0 if SHM is enabled: + + joins mask mask-transformed-image push-group push-group-color radial-gradient + radil-gradient-mask radial-gradient-mask-source radial-gradient-one-stop + radial-gradient-source smask smask-mask smask-paint + + This also fixes mesh-pattern-transformed for all the xcb boilerplate "backends". + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-connection.c | 11 +++++++ + src/cairo-xcb-private.h | 6 ++++ + src/cairo-xcb-shm.c | 75 +++++++++++++++++++++++++++++++++++++++++++--- + 3 files changed, 88 insertions(+), 4 deletions(-) + +commit 6b4e07d1430c704fc976edf63c27c46f16a8751f +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Dec 25 14:47:29 2010 +0100 + + Switch the order of two functions in the C file + + The following commit adds a call to _cairo_xcb_shm_info_destroy to some function + in-between, but it also renames it and does some other changes to this. Thus, + move this function first to make the diff easier to read. :) + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-shm.c | 68 ++++++++++++++++++++++++++--------------------------- + 1 file changed, 34 insertions(+), 34 deletions(-) + +commit 30b961f895f924ceb65574f15ecbe0ff1948c8aa +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Dec 25 14:17:33 2010 +0100 + + Remove an unused field from cairo_xcb_shm_info_t + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-connection-shm.c | 10 ++++------ + src/cairo-xcb-private.h | 3 +-- + src/cairo-xcb-surface-core.c | 19 +++++++++---------- + src/cairo-xcb-surface-render.c | 19 +++++++++---------- + src/cairo-xcb-surface.c | 21 ++++++++++----------- + 5 files changed, 33 insertions(+), 39 deletions(-) + +commit c72c7aa6d69ed4a08bde62f12b34907c7cce8bce +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Jan 2 19:32:26 2011 +0100 + + matrix: Fix warnings about documentation by 'make check' + + 'make check' complains about the syntax of the documentation: the + space between the function name and the parenthesis is not allowed. + + src/cairo-matrix.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 200e147322a7a17dec91ad5f678a07fdfaf38de2 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Dec 17 11:04:53 2010 +0100 + + pattern: Use double precision for gradient extreme objects + + Using double precision for gradient extreme objects ensures that they + are preserved as specified when constructing the gradient pattern. + + Fixes huge-linear, huge-radial. + + Fixes part of https://bugs.freedesktop.org/show_bug.cgi?id=32215 + + src/cairo-gl-composite.c | 20 ++-- + src/cairo-pattern.c | 211 ++++++++++++++++++------------------- + src/cairo-qt-surface.cpp | 38 +++---- + src/cairo-script-surface.c | 18 ++-- + src/cairo-skia-surface.cpp | 8 +- + src/cairo-svg-surface.c | 40 +++---- + src/cairo-types-private.h | 10 +- + src/cairo-vg-surface.c | 18 ++-- + src/cairo-win32-printing-surface.c | 8 +- + src/cairo-xml-surface.c | 14 +-- + src/drm/cairo-drm-i915-shader.c | 28 ++--- + src/drm/cairo-drm-i965-shader.c | 28 ++--- + 12 files changed, 205 insertions(+), 236 deletions(-) + +commit 6472864b2c424c0dfe4ff4e76eff8dfb896e60e8 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Dec 16 23:07:30 2010 +0100 + + test: Huge means more than MAX_INT + + Cairo makes it possible to create gradients whose extreme objects are + defined with double precision coordinates, but it internally + represents them with 24.8 fixed point precision. + + This shows that coordinates that don't fit the valid range are + mishandled and don't even trigger an error status. + + test/huge-linear.c | 2 +- + test/huge-radial.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 38dce5d14473e1106c8ea7a67b9be0f400d442a2 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Dec 17 11:03:03 2010 +0100 + + pattern: Factor out pattern rescaling + + The same code was duplicated (incorrectly and with some minor + differences) in pattern, image, xlib and xcb. + + _cairo_gradient_pattern_max_val() abstracts that code in a function + that can be used whenever a gradients extremes need to be rescaled to + fit within a given range. + + Fixes huge-linear, huge-radial. + + Fixes part of https://bugs.freedesktop.org/show_bug.cgi?id=32215 + + src/cairo-image-surface.c | 64 ++++------------- + src/cairo-pattern.c | 156 ++++++++++++++++++++++++++--------------- + src/cairo-xcb-surface-render.c | 75 +++++++------------- + src/cairo-xlib-surface.c | 64 ++++------------- + src/cairoint.h | 6 ++ + 5 files changed, 156 insertions(+), 209 deletions(-) + +commit 7b188f852ef502306c8bd0a72ee3857b5f29e724 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Dec 16 22:39:09 2010 +0100 + + test: Make huge-* test gradients not within pixed_fixed_t range + + Cairo represents gradients coordinate with 24.8 fixed point precision, + but pixman uses 16.16 fixed point coordinates. + + This shows that cairo is currently unable to handle gradients with + coordinates which are valid for cairo but not for pixman. + + test/huge-linear.c | 2 +- + test/huge-linear.image16.ref.png | Bin 1542 -> 1542 bytes + test/huge-radial.c | 2 +- + 3 files changed, 2 insertions(+), 2 deletions(-) + +commit 51594d9787905618de608a367c3a5fc0544c52e3 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Dec 17 11:04:41 2010 +0100 + + matrix: Cairo matrix to pixman transform/offset conversion + + Xlib, XCB and image use the same code to convert a cairo_matrix_t to a + backend-specific transform. + + The code did not handle correctly some matrices, thus a new function + that performs the conversion in a more generic way was added and used + in the backends instead of fixing the repeated code. + + Fixes part of https://bugs.freedesktop.org/show_bug.cgi?id=32215 + + src/cairo-image-surface.c | 164 ++++++--------------- + src/cairo-matrix.c | 315 ++++++++++++++++++++++++++++++++--------- + src/cairo-pattern.c | 25 ++-- + src/cairo-xcb-surface-render.c | 75 ++-------- + src/cairo-xlib-surface.c | 35 +++-- + src/cairoint.h | 19 ++- + 6 files changed, 357 insertions(+), 276 deletions(-) + +commit ada6057b8ccab133909b127850c41abb3216a842 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Dec 31 13:01:50 2010 +0100 + + test: New radial-gradient tests + + The old radial gradient tests were actually drawing the same gradients + with different operators (OVER/SOURCE) and operations (paint/mask). + + It is possible to refactor them to share the gradient construction + code. This makes it easy to change the gradient shape in all of them + to test more interesting combinations. + + Instead of testing 16 generic positions we are now testing just 7 + cases, which correspond to every possible combination of the relative + size and position of the two circles defining the gradient. In + particular we are now testing a constant radius gradient and gradients + with tangent circles. + + test/Makefile.am | 25 +-- + test/Makefile.sources | 4 - + test/radial-gradient-mask-source.argb32.ref.png | Bin 105572 -> 145713 bytes + test/radial-gradient-mask-source.c | 111 --------- + test/radial-gradient-mask-source.image16.ref.png | Bin 76287 -> 109925 bytes + ...adial-gradient-mask-source.pdf.argb32.xfail.png | Bin 90399 -> 0 bytes + ...radial-gradient-mask-source.pdf.rgb24.xfail.png | Bin 103447 -> 0 bytes + ...dial-gradient-mask-source.quartz.argb32.ref.png | Bin 112421 -> 0 bytes + ...adial-gradient-mask-source.quartz.rgb24.ref.png | Bin 120173 -> 0 bytes + test/radial-gradient-mask-source.rgb24.ref.png | Bin 115808 -> 150945 bytes + ...radial-gradient-mask-source.xlib.argb32.ref.png | Bin 0 -> 145801 bytes + .../radial-gradient-mask-source.xlib.rgb24.ref.png | Bin 0 -> 150362 bytes + test/radial-gradient-mask.argb32.ref.png | Bin 105572 -> 0 bytes + test/radial-gradient-mask.c | 110 --------- + test/radial-gradient-mask.image16.ref.png | Bin 76287 -> 204585 bytes + test/radial-gradient-mask.pdf.argb32.xfail.png | Bin 90399 -> 0 bytes + test/radial-gradient-mask.pdf.rgb24.xfail.png | Bin 103447 -> 0 bytes + test/radial-gradient-mask.quartz.argb32.ref.png | Bin 112421 -> 0 bytes + test/radial-gradient-mask.quartz.rgb24.ref.png | Bin 120173 -> 0 bytes + test/radial-gradient-mask.ref.png | Bin 0 -> 286065 bytes + test/radial-gradient-mask.rgb24.ref.png | Bin 115808 -> 0 bytes + test/radial-gradient-one-stop.argb32.ref.png | Bin 1575 -> 0 bytes + test/radial-gradient-one-stop.c | 107 --------- + test/radial-gradient-one-stop.ps3.argb32.ref.png | Bin 1444 -> 0 bytes + test/radial-gradient-one-stop.ps3.rgb24.ref.png | Bin 1314 -> 0 bytes + test/radial-gradient-one-stop.ref.png | Bin 0 -> 6306 bytes + test/radial-gradient-one-stop.rgb24.ref.png | Bin 1307 -> 0 bytes + test/radial-gradient-source.argb32.ref.png | Bin 251063 -> 408848 bytes + test/radial-gradient-source.c | 115 ---------- + test/radial-gradient-source.image16.ref.png | Bin 119942 -> 169796 bytes + test/radial-gradient-source.pdf.argb32.xfail.png | Bin 192993 -> 0 bytes + test/radial-gradient-source.pdf.rgb24.xfail.png | Bin 165642 -> 0 bytes + test/radial-gradient-source.quartz.argb32.ref.png | Bin 264308 -> 0 bytes + test/radial-gradient-source.quartz.rgb24.ref.png | Bin 180829 -> 0 bytes + test/radial-gradient-source.rgb24.ref.png | Bin 179609 -> 263908 bytes + test/radial-gradient.c | 248 ++++++++++++++++----- + test/radial-gradient.image16.ref.png | Bin 188481 -> 256686 bytes + test/radial-gradient.pdf.xfail.png | Bin 211493 -> 0 bytes + test/radial-gradient.quartz.ref.png | Bin 248130 -> 0 bytes + test/radial-gradient.ref.png | Bin 262931 -> 382283 bytes + test/radial-gradient.svg.xfail.png | Bin 264425 -> 0 bytes + 41 files changed, 200 insertions(+), 520 deletions(-) + +commit b4aa01f72f98d71bded5f6fa3eaf3d12ad30eb2c +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Dec 16 22:46:50 2010 +0100 + + pattern: Make functions not used elsewhere static + + _cairo_pattern_init_linear() and _cairo_pattern_init_radial() are only + called from within cairo-pattern.c + + src/cairo-pattern.c | 4 ++-- + src/cairoint.h | 9 --------- + 2 files changed, 2 insertions(+), 11 deletions(-) + +commit b0aef7202d40f3f45b8914e8bd0edfcc6e5112ad +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Dec 17 10:44:41 2010 +0100 + + pattern: Use cairo_color_stop_t when hashing gradient stops + + Since 18b48a6ebc044c07f08bafd0abcb68c595c5746c the color of each + gradient stop is stored in a cairo_color_stop_t, but + _cairo_gradient_color_stops_hash() was not updated accordingly. + + src/cairo-pattern.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 0501777598cf8fc4e8668e9121eac6b389591f22 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Dec 17 11:02:02 2010 +0100 + + pattern: Remove unused 'opaque' variable + + opaque is never read, thus it can be removed. + + src/cairo-pattern.c | 3 --- + 1 file changed, 3 deletions(-) + +commit 5d5d24c6a26cbabfc25067f0ea885f5705c4987c +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Dec 23 11:44:09 2010 +0100 + + doc: Add documentation for the mesh API + + The documentation content is in the comments of the functions. + + doc/public/cairo-sections.txt | 13 +++++++++++++ + doc/public/language-bindings.xml | 13 +++++++++++++ + 2 files changed, 26 insertions(+) + +commit a8344f98e7f4d463c85629d00420f2c8433aff9f +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Dec 24 16:43:53 2010 +0100 + + test: Add tests for mesh patterns + + mesh-pattern tests a mesh pattern with non-opaque two overlapping + patches. + + mesh-pattern-accuracy tests the accuracy of the color computed in each + point of a patch. It can point out defects in rasterizers which rely + on mesh subdivision only use the mesh shape instead of both shape and + color to decide when the tensor-product patches can be approximated + with Gouraud-shaded triangles. + + mesh-pattern-conical is an example of how a conical gradient can be + approximated with a mesh pattern. + + mesh-pattern-control-points tests a mesh pattern with control points + in non-default position to verify that their position affects the + color as expected. + + mesh-pattern-fold tests a mesh pattern with a patch which folds along + both sides. + + mesh-pattern-overlap tests a mesh pattern with a patch which folds + along just one side. + + mesh-pattern-transformed tests a mesh pattern with non-identity + transform matrix. + + test/Makefile.am | 14 +++ + test/Makefile.sources | 7 ++ + test/mesh-pattern-accuracy.c | 99 +++++++++++++++++ + test/mesh-pattern-accuracy.image16.ref.png | Bin 0 -> 7209 bytes + test/mesh-pattern-accuracy.ref.png | Bin 0 -> 8086 bytes + test/mesh-pattern-conical.c | 135 +++++++++++++++++++++++ + test/mesh-pattern-conical.image16.ref.png | Bin 0 -> 6141 bytes + test/mesh-pattern-conical.ref.png | Bin 0 -> 8655 bytes + test/mesh-pattern-control-points.c | 114 +++++++++++++++++++ + test/mesh-pattern-control-points.image16.ref.png | Bin 0 -> 7178 bytes + test/mesh-pattern-control-points.ref.png | Bin 0 -> 10665 bytes + test/mesh-pattern-fold.c | 82 ++++++++++++++ + test/mesh-pattern-fold.image16.ref.png | Bin 0 -> 22913 bytes + test/mesh-pattern-fold.ref.png | Bin 0 -> 52980 bytes + test/mesh-pattern-overlap.c | 76 +++++++++++++ + test/mesh-pattern-overlap.image16.ref.png | Bin 0 -> 5933 bytes + test/mesh-pattern-overlap.ref.png | Bin 0 -> 9129 bytes + test/mesh-pattern-transformed.c | 107 ++++++++++++++++++ + test/mesh-pattern-transformed.image16.ref.png | Bin 0 -> 9778 bytes + test/mesh-pattern-transformed.ref.png | Bin 0 -> 14463 bytes + test/mesh-pattern.c | 94 ++++++++++++++++ + test/mesh-pattern.image16.ref.png | Bin 0 -> 12199 bytes + test/mesh-pattern.ref.png | Bin 0 -> 19566 bytes + 23 files changed, 728 insertions(+) + +commit b164187ff6e8e643428165370dd53f9ac5f87bb3 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Dec 24 16:43:23 2010 +0100 + + test: Extend pattern-get-type and pattern-getters for mesh patterns + + Add testing for mesh patterns to pattern-get-type and pattern-getters. + + test/pattern-get-type.c | 7 ++++- + test/pattern-getters.c | 82 +++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 88 insertions(+), 1 deletion(-) + +commit 96426fdf0154a9438595541a3b86d328ef730075 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Dec 21 11:20:50 2010 +0100 + + script: Add support for mesh patterns + + Extend CairoScript with operators based on the mesh pattern API. + + src/cairo-script-surface.c | 85 ++++++++++++ + util/cairo-script/cairo-script-operators.c | 201 +++++++++++++++++++++++++++++ + 2 files changed, 286 insertions(+) + +commit c243f3ac9c451e0c203c820a80fb869bbec4c06d +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Dec 9 11:01:46 2010 +0100 + + pattern: Add public mesh pattern API + + Add public funcions to create and define mesh patterns and getters to + examine their definition. + + src/cairo-pattern.c | 1004 ++++++++++++++++++++++++++++++++++++++++++++++++++- + src/cairo.h | 62 ++++ + src/cairoint.h | 4 + + 3 files changed, 1069 insertions(+), 1 deletion(-) + +commit 30636206b0e2d50834cf75148cef351b8e49a52e +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Wed Nov 17 18:45:22 2010 +0100 + + pdf,ps: Add native mesh pattern support + + PS and PDF have native support for mesh patterns, but they have encode + mesh points and colors in an appropriate binary stream. + + cairo_pdf_shading_* functions implement the encoding, which is the + same for PDF and PS. + + src/Makefile.sources | 4 +- + src/cairo-pdf-shading-private.h | 99 ++++++++++++++ + src/cairo-pdf-shading.c | 277 ++++++++++++++++++++++++++++++++++++++++ + src/cairo-pdf-surface.c | 153 +++++++++++++++++++++- + src/cairo-ps-surface.c | 84 ++++++++++++ + 5 files changed, 614 insertions(+), 3 deletions(-) + +commit 8df122cb4bc7348025a74a890e9082073553d557 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Dec 24 20:36:23 2010 +0100 + + Add mesh gradient rasterizer + + Add an implementation of a fast and reasonably accurate + non-antialiased mesh gradient rasterizer. + + src/Makefile.sources | 1 + + src/cairo-image-surface.c | 25 + + src/cairo-mesh-pattern-rasterizer.c | 943 ++++++++++++++++++++++++++++++++++++ + src/cairo-pattern.c | 54 +++ + src/cairoint.h | 12 + + 5 files changed, 1035 insertions(+) + +commit f3c34887bd59377f003e790a4039a3074ca01f7d +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Dec 7 18:21:35 2010 +0100 + + gstate: Disallow incomplete mesh gradient sources + + Mesh gradients are constructed using multiple commands, bracketed by + explicit begin/end pairs. Using a mesh gradient inside a begin/end + pair is not allowed. + + src/cairo-gstate.c | 44 ++++++++++++++++++++++++++++++++------------ + 1 file changed, 32 insertions(+), 12 deletions(-) + +commit ed24deaa2eaefb5e11ff900d4466474592f66d33 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Dec 9 10:34:31 2010 +0100 + + mesh: Add mesh pattern type and enum values + + Add the mesh pattern type and an error status to be used to report an + incorrect construction of the pattern. + + Update the backends to make them ready to handle the new pattern type, + even if it cannot be created yet. + + src/cairo-device.c | 1 + + src/cairo-gl-composite.c | 1 + + src/cairo-misc.c | 2 + + src/cairo-pattern.c | 208 ++++++++++++++++++++++++++++++- + src/cairo-region.c | 1 + + src/cairo-spans.c | 2 + + src/cairo-surface.c | 1 + + src/cairo-svg-surface.c | 6 + + src/cairo-types-private.h | 46 +++++++ + src/cairo-win32-printing-surface.c | 3 + + src/cairo-xcb-surface-core.c | 1 + + src/cairo-xcb-surface-render.c | 3 +- + src/cairo-xlib-surface.c | 1 + + src/cairo.h | 9 +- + src/cairoint.h | 7 ++ + util/cairo-gobject/cairo-gobject-enums.c | 2 + + util/cairo-trace/trace.c | 1 + + 17 files changed, 292 insertions(+), 3 deletions(-) + +commit 19b840a9044f873657f0c0dbb3ccf82a13d43888 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Nov 17 14:56:08 2010 +0100 + + Keep makefiles in alphabetical order + + Recording surfaces were at first called meta surfaces. When the name + was changed, makefiles were not updated to keep alphabetical order. + + src/Makefile.sources | 4 ++-- + test/Makefile.am | 28 ++++++++++++++-------------- + test/Makefile.sources | 2 +- + 3 files changed, 17 insertions(+), 17 deletions(-) + +commit 8f598dd69d3f98da8a59cbd87640aedf22473290 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Jul 23 08:20:52 2010 +0200 + + quartz: Use native PDF blend modes + + Quartz supports PDF blend modes since 10.4 and exposes Porter-Duff + compositing operators through the public API since 10.5. + + src/cairo-quartz-surface.c | 240 ++++++++++++++---------- + test/Makefile.am | 4 + + test/extended-blend-alpha.quartz.argb32.ref.png | Bin 0 -> 9729 bytes + test/extended-blend-alpha.quartz.rgb24.ref.png | Bin 0 -> 5598 bytes + test/extended-blend.quartz.argb32.ref.png | Bin 0 -> 4284 bytes + test/extended-blend.quartz.rgb24.ref.png | Bin 0 -> 3965 bytes + 6 files changed, 143 insertions(+), 101 deletions(-) + +commit fabbc16253c68234b881af25abf734ba786d234f +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Dec 30 19:32:30 2010 +0100 + + quartz: Don't dynamically load unused functions + + Remove an unused variable. + + src/cairo-quartz-surface.c | 2 -- + 1 file changed, 2 deletions(-) + +commit 1bc7d948c73397c453526f6e66b3f72668ce2910 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jun 23 17:34:13 2010 +0200 + + quartz: Clean up dynamically loaded functions + + README indicates MacOSX 10.4 as a requirement for quartz and we are + directly using some functions that have been added to the public + CoreGraphics API in 10.4. + + rop 10.3-specific workarounds and link to 10.4 API functions instead + of loading them at runtime. + + src/cairo-quartz-surface.c | 62 +++++++++++----------------------------------- + 1 file changed, 14 insertions(+), 48 deletions(-) + +commit 7f68461e0b64fefc002920cc23f5617a9084f1cb +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Dec 26 11:04:30 2010 +0100 + + Detach snapshots after flushing in cairo_surface_finish() + + Flushing a surface can attach snapshots to it, thus we have to detach + the snapshots after the flush, to make sure they aren't leaked. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-surface.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 59ac884c607c024d0608cf7dec52509d9e9e328e +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Dec 25 23:39:21 2010 +0100 + + Verify that surfaces leak no snapshots + + Finished surfaces should own no snapshots, because finished surfaces + can't be used as sources, thus their snapshots would never be used. + + When free'ing the surface in cairo_surface_destroy(), it should have + no snapshots, or they will be leaked. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-surface.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit c84730d88983623dddd6b9980d82648b7297444d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Dec 25 23:04:47 2010 +0000 + + version: Post release version bump + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 4938e11ffe11781e4e294092807ebc67f362eac6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Dec 25 13:25:14 2010 +0000 + + version: Bump for 1.10.2 release + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit de464ea7781707984a1e1d5f98a8ff23c5ee18ed +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Dec 25 13:24:37 2010 +0000 + + NEWS: Add entry for 1.10.2 + + NEWS | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 59 insertions(+) + +commit 888eeb187f542b96e722725f616720038e700b84 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Dec 25 10:19:38 2010 +0000 + + Add a KNOWN_ISSUES file to track WONTFIX(?) bugs + + KNOWN_ISSUES | 10 ++++++++++ + Makefile.am | 1 + + 2 files changed, 11 insertions(+) + +commit a4ae7d59be2e545afc30c35b2235b89860e2003a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Dec 25 09:39:08 2010 +0000 + + gl: Enable PLT symbol hiding for dispatch entries + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-dispatch-private.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 109fcb39502239ff87c70cc99f2baea6e46b36a5 +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Dec 4 16:36:28 2010 +0100 + + XCB: Stop taking the xcb socket + + This makes the xcb backend use the auto-generated xcb API instead of + hand-writing each request. This should also improve parallelism with non-cairo + threads that use the same xcb connection. + + Big thanks to Andrea Canciani for taking a look at this and finding lots of good + improvements (especially finding xcb_send_request was great). + + cairo-perf-trace and cairo-perf-diff-files between master + (6732dbf2992891be4b1f08b14a5c449fd08b637c) and this change: + + $ ./cairo-perf-diff-files ../master_perf ../xcb_no_socket_perf + old: master_perf + new: xcb_no_socket_perf + Speedups + ======== + xcb-rgba evolution-0 23558.86 (23558.86 0.00%) -> 19338.78 (19338.78 0.00%): 1.22x speedup + ▎ + xcb-rgba poppler-bug-12266-0 98.43 (98.43 0.00%) -> 82.36 (82.36 0.00%): 1.20x speedup + ▎ + xcb-rgba gnome-terminal-vim-0 5518.08 (5518.08 0.00%) -> 4905.92 (4905.92 0.00%): 1.12x speedup + ▏ + xcb-rgba gnome-terminal-20090601-0 45648.46 (45648.46 0.00%) -> 41231.25 (41231.25 0.00%): 1.11x speedup + ▏ + xcb-rgba evolution-20090607-0 71643.69 (71643.69 0.00%) -> 66314.95 (66314.95 0.00%): 1.08x speedup + ▏ + xcb-rgba poppler-0 3501.69 (3501.69 0.00%) -> 3322.26 (3322.26 0.00%): 1.05x speedup + + Slowdowns + ========= + xcb-rgba gnome-system-monitor-0 7500.01 (7500.01 0.00%) -> 7923.70 (7923.70 0.00%): 1.06x slowdown + + xcb-rgba swfdec-youtube-full-0 26409.89 (26409.89 0.00%) -> 28430.76 (28430.76 0.00%): 1.08x slowdown + ▏ + xcb-rgba gnome-system-monitor-20090821-0 34801.61 (34801.61 0.00%) -> 37891.14 (37891.14 0.00%): 1.09x slowdown + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-connection-core.c | 336 ++++-------------- + src/cairo-xcb-connection-render.c | 716 +++----------------------------------- + src/cairo-xcb-connection-shm.c | 105 +----- + src/cairo-xcb-connection.c | 41 --- + src/cairo-xcb-private.h | 22 +- + src/cairo-xcb-shm.c | 3 +- + src/cairo-xcb-surface-core.c | 16 +- + src/cairo-xcb-surface-render.c | 28 +- + src/cairo-xcb-surface.c | 30 +- + 9 files changed, 125 insertions(+), 1172 deletions(-) + +commit cf0a4ed862d93b7e6d7d26942cfe98a50beccd4c +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Nov 29 19:11:26 2010 +0100 + + xcb: Remove a wrong optimization + + Clear surfaces with an alpha channel are already replaced with a + transparent color in gstate, so this code was never hit. + + Clear surfaces without an alpha channel, can be replaced with solid + black only if the surface pattern has an extend other than + CAIRO_EXTEND_NONE. + + Fixes the clear-source test for xcb. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + Reviewed-by: Andrea Canciani <ranma42@gmail.com> + + src/cairo-xcb-surface-render.c | 7 ------- + 1 file changed, 7 deletions(-) + +commit e6c3efdd650a4eadceb003a5e1bf9d871f61a48f +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Nov 27 21:52:59 2010 +0100 + + xcb: Work around wrong extent computation in the X server + + The X server calculates the bounding box for traps and then allocates + a temporary picture for this. When the X server calculates different + values than cairo got in extents->bounded, unbounded operators will + have wrong results. The X server only ever calculates bounds that are + larger than the correct values. + + Fix this by explicitly clipping the drawing to the expected bounds. + + Fixes clip-fill-{eo,nz}-unbounded and clip-stroke-unbounded. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + Reviewed-by: Andrea Canciani <ranma42@gmail.com> + + src/cairo-xcb-surface-render.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +commit 4e3eb5e8ed6271511fb2b8fec78c82abbd011bed +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Dec 17 19:21:51 2010 +0100 + + gl: Fix #include's to pass 'make check' + + 'make check' complains that: + Checking that private header files #include "some cairo header" first (or none) + cairo-gl-dispatch-private.h:#include <stddef.h> + Checking that source files #include "cairoint.h" first (or none) + cairo-gl-dispatch.c:#include "cairo-gl-private.h" + cairo-gl-info.c:#include "cairo-gl-private.h" + + src/cairo-gl-dispatch-private.h | 2 +- + src/cairo-gl-dispatch.c | 1 + + src/cairo-gl-info.c | 1 + + 3 files changed, 3 insertions(+), 1 deletion(-) + +commit a27e3bc6d08feeac8e4ee5315a0ad974efee0ee9 +Author: Koji Otani <sho@bbr.jp> +Date: Wed Nov 17 00:07:03 2010 +1030 + + PS: fix embedding of grayscale jpegs + + https://bugs.freedesktop.org/show_bug.cgi?id=31632 + (cherry picked from commit 653ceb517fe756b042a3cf8322a36cbfe71ddbd8) + + src/cairo-ps-surface.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 10e58a4a1638a67da132f3bc3f4ebdbc36691b13 +Author: Uli Schlachter <psychon@znc.in> +Date: Wed Nov 17 18:25:27 2010 +0100 + + Avoid some unneeded 'is_clear = FALSE' + + When a drawing operator doesn't actually have any effect, we don't have to set + the surface's is_clear flag to FALSE. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-surface.c | 18 ++++++++++++------ + 1 file changed, 12 insertions(+), 6 deletions(-) + +commit 2a632b1f54bfa2f6466860fcdd151cb6187128d2 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Mon Dec 6 14:01:20 2010 +0200 + + gl: Remove GLEW from the build system and the source tree + + build/configure.ac.features | 1 - + configure.ac | 21 - + doc/public/Makefile.am | 1 - + src/Makefile.am | 2 - + src/Makefile.sources | 7 +- + src/glew/GL/glew.h | 12255 ------------------------------------------ + src/glew/GL/glxew.h | 1399 ----- + src/glew/LICENSE.txt | 73 - + src/glew/glew.c | 12189 ----------------------------------------- + 9 files changed, 1 insertion(+), 25947 deletions(-) + +commit 7cf989354679793e3ffd9c058e0e0c8e5a641d35 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Wed Dec 8 15:01:34 2010 +0200 + + gl: Replace GLEW by using the facilities provided by cairo-gl-info + + src/cairo-gl-device.c | 52 ++++++++++++++--------------------------- + src/cairo-gl-gradient-private.h | 5 ++-- + src/cairo-gl-private.h | 6 ++--- + src/cairo-gl-shaders.c | 16 ++++++------- + src/cairo-gl-surface.c | 6 +++-- + 5 files changed, 34 insertions(+), 51 deletions(-) + +commit 6373db844172365787b67d5992e4daa0e2a12596 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Wed Dec 8 14:44:05 2010 +0200 + + gl: Remove GL 1.x ARB shader implementation + + Shaders for GL 1.x ARB are served by the same implementation as GL 2.x and therefore + a dedicated ARB implementation is not needed any more. + + src/cairo-gl-shaders.c | 187 ------------------------------------------------- + 1 file changed, 187 deletions(-) + +commit a6facced8d6a17ed26b103d995a2d61e772aaa8b +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Wed Dec 8 14:39:31 2010 +0200 + + gl: Use the GL core 2.0 shader implementation for both GL 1.x ARB and GL 2.x + + The GL core 2.0 shader implementation can be used by both GL 1.x and 2.x + thanks to the dispatch table. + + src/cairo-gl-shaders.c | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +commit cf518b29e06328715837accd3a4390adde898624 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Mon Dec 6 13:36:22 2010 +0200 + + gl: Use the dispatch table for calling ARB/EXT functions + + Use the dispatch table for calling GL functions that can have multiple name + variants. Also, always use the core variant names for GL constants. + + src/cairo-gl-composite.c | 12 ++- + src/cairo-gl-device.c | 52 +++++----- + src/cairo-gl-gradient.c | 14 +-- + src/cairo-gl-private.h | 2 +- + src/cairo-gl-shaders.c | 256 +++++++++++++++++++++++++++-------------------- + src/cairo-gl-surface.c | 4 +- + 6 files changed, 195 insertions(+), 145 deletions(-) + +commit ed862d3f7bd11c6d60f48efd69c0fa035b5b17a1 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Mon Dec 6 13:03:28 2010 +0200 + + gl: Add definitions for the core variant names of used GL constants + + This allows us to use the core variant of the needed GL constants regardless of the + GL header version that is being used for compilation. + + src/Makefile.sources | 1 + + src/cairo-gl-ext-def-private.h | 99 ++++++++++++++++++++++++++++++++++++++++++ + src/cairo-gl-private.h | 1 + + 3 files changed, 101 insertions(+) + +commit e0ab932c611ec172f3999595386126b4e9ca46da +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Fri Dec 3 20:49:39 2010 +0200 + + gl: Embed the GL dispatch table in the cairo-gl context and initialize it. + + src/cairo-egl-context.c | 6 ++++++ + src/cairo-gl-private.h | 2 ++ + src/cairo-glx-context.c | 7 +++++++ + src/cairo-wgl-context.c | 7 +++++++ + 4 files changed, 22 insertions(+) + +commit 357c2f46a77aebd8caac8ac0c6491b0db68351c7 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Fri Dec 3 19:35:05 2010 +0200 + + gl: Add infrastructure for calling GL functions using a dispatch table + + Some GL functions can be called using different names depending on the + GL version and available extensions (ARB, EXT). The dispatch table + abstracts these differences and provides a uniform API for dealing with + these functions. + + src/Makefile.sources | 2 + + src/cairo-gl-dispatch-private.h | 99 +++++++++++++++++++++++++++ + src/cairo-gl-dispatch.c | 144 ++++++++++++++++++++++++++++++++++++++++ + src/cairo-gl-private.h | 58 ++++++++++++++++ + 4 files changed, 303 insertions(+) + +commit cd7c0df2bb036fddca4b874f12171121ae740a50 +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Fri Dec 3 18:48:20 2010 +0200 + + gl: Add functions to query GL version and extensions + + src/Makefile.sources | 1 + + src/cairo-gl-info.c | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++ + src/cairo-gl-private.h | 10 ++++++++ + 3 files changed, 81 insertions(+) + +commit 07abd21a033a429e337632557d4bc91ca230fe2e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Dec 15 15:28:49 2010 +0000 + + test/arc-infinite-loop: Random return value fun. + + test/arc-infinite-loop.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 65040d3e3f5e00bea8be0d33a200d8d62e11e053 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Dec 14 20:15:28 2010 +0100 + + test: Add bug-extents + + Add a test for the computation of approximate extents used by most + backends to esimate the region affected by drawing operations. + + Based on: + http://lists.cairographics.org/archives/cairo/2010-December/021331.html + + test/Makefile.am | 5 ++++ + test/Makefile.sources | 1 + + test/bug-extents.c | 59 +++++++++++++++++++++++++++++++++++++++ + test/bug-extents.image16.ref.png | Bin 0 -> 7576 bytes + test/bug-extents.ps.ref.png | Bin 0 -> 5844 bytes + test/bug-extents.quartz.ref.png | Bin 0 -> 9310 bytes + test/bug-extents.ref.png | Bin 0 -> 9162 bytes + test/bug-extents.xlib.ref.png | Bin 0 -> 9234 bytes + 8 files changed, 65 insertions(+) + +commit 4aabff8f6740e2027febd97c1863f7ba5a46cb92 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Dec 14 17:56:00 2010 +0100 + + path-bounder: Update current point after curve_to op + + Even if the curve_to is completely within the current extents box, the + current point needs to be updated because the shape of following ops + depends on the position of the current point. + + Fixes bug-extents. + + src/cairo-path-bounds.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 5996652364efa4fb4ae6c984ddf6ddad8868782b +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Dec 14 20:15:28 2010 +0100 + + test: Add bug-extents + + Add a test for the computation of approximate extents used by most + backends to esimate the region affected by drawing operations. + + Based on: + http://lists.cairographics.org/archives/cairo/2010-December/021331.html + + test/Makefile.am | 5 ++++ + test/Makefile.sources | 1 + + test/bug-extents.c | 59 +++++++++++++++++++++++++++++++++++++++ + test/bug-extents.image16.ref.png | Bin 0 -> 7576 bytes + test/bug-extents.ps.ref.png | Bin 0 -> 5844 bytes + test/bug-extents.quartz.ref.png | Bin 0 -> 9310 bytes + test/bug-extents.ref.png | Bin 0 -> 9162 bytes + test/bug-extents.xlib.ref.png | Bin 0 -> 9234 bytes + 8 files changed, 65 insertions(+) + +commit f10b3105d3e662616ce2ee928776cac73f536d94 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Dec 13 16:25:58 2010 +0000 + + scaled-font: assert that we hold the scaled-font mutex when looking up glyphs + + Holding the mutex over glyph lookup not only prevents multi-threaded + races between insertion and deletion that spell disaster for memory + integrity, but also implies that the glyph cache is frozen. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-scaled-font.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 5eadc286d87fa5bdd6bd5583db52742da9acfc70 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Dec 10 11:21:26 2010 +0100 + + path: Silence warnings + + gcc complains that: + + cairo-path-fixed.c:400: warning: inlining failed in call to + '_cairo_path_fixed_drop_line_to': call is unlikely and code size + would grow + + src/cairo-path-fixed.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c05135a3480a2d5c0e1d594ab0d111dac648fe4d +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Dec 12 23:40:37 2010 +0100 + + test: Update ref images + + The recent (and not-so-recent) changes in gradient code changed the + results of some tests involving gradients. + + radial-gradient-* tests are marked XFAIL for pdf because poppler is + not sampling the color function with a sufficient frequency, but they + look correct in Adobe Reader. + + test/Makefile.am | 22 +++++++++++++++++++-- + test/clip-operator.pdf.argb32.ref.png | Bin 9437 -> 8792 bytes + test/clip-operator.pdf.rgb24.ref.png | Bin 5391 -> 4683 bytes + test/clip-operator.quartz.argb32.ref.png | Bin 9586 -> 14959 bytes + test/clip-operator.quartz.rgb24.ref.png | Bin 4104 -> 8835 bytes + test/huge-linear.pdf.ref.png | Bin 1577 -> 1586 bytes + test/huge-linear.quartz.ref.png | Bin 0 -> 15230 bytes + test/linear-gradient-large.quartz.ref.png | Bin 0 -> 4074 bytes + test/linear-gradient-large.ref.png | Bin 4079 -> 4076 bytes + test/linear-gradient-subset.quartz.ref.png | Bin 887 -> 994 bytes + test/linear-gradient.quartz.ref.png | Bin 1060 -> 1073 bytes + test/mask.quartz.argb32.ref.png | Bin 10575 -> 11136 bytes + test/operator-source.quartz.argb32.ref.png | Bin 4754 -> 5499 bytes + test/operator-source.quartz.rgb24.ref.png | Bin 3535 -> 4345 bytes + test/push-group-color.ps2.ref.png | Bin 0 -> 2863 bytes + test/radial-gradient-extend.ps3.ref.png | Bin 0 -> 458 bytes + ...adial-gradient-mask-source.pdf.argb32.xfail.png | Bin 0 -> 90399 bytes + ...radial-gradient-mask-source.pdf.rgb24.xfail.png | Bin 0 -> 103447 bytes + ...dial-gradient-mask-source.quartz.argb32.ref.png | Bin 0 -> 112421 bytes + ...adial-gradient-mask-source.quartz.rgb24.ref.png | Bin 0 -> 120173 bytes + test/radial-gradient-mask.pdf.argb32.xfail.png | Bin 0 -> 90399 bytes + test/radial-gradient-mask.pdf.rgb24.xfail.png | Bin 0 -> 103447 bytes + test/radial-gradient-mask.quartz.argb32.ref.png | Bin 0 -> 112421 bytes + test/radial-gradient-mask.quartz.rgb24.ref.png | Bin 0 -> 120173 bytes + test/radial-gradient-one-stop.ps3.argb32.ref.png | Bin 0 -> 1444 bytes + test/radial-gradient-one-stop.ps3.rgb24.ref.png | Bin 0 -> 1314 bytes + test/radial-gradient-source.pdf.argb32.ref.png | Bin 235290 -> 0 bytes + test/radial-gradient-source.pdf.argb32.xfail.png | Bin 0 -> 192993 bytes + test/radial-gradient-source.pdf.rgb24.xfail.png | Bin 0 -> 165642 bytes + test/radial-gradient-source.quartz.argb32.ref.png | Bin 0 -> 264308 bytes + test/radial-gradient-source.quartz.rgb24.ref.png | Bin 0 -> 180829 bytes + test/radial-gradient.pdf.ref.png | Bin 280944 -> 0 bytes + test/radial-gradient.pdf.xfail.png | Bin 0 -> 211493 bytes + test/radial-gradient.quartz.ref.png | Bin 0 -> 248130 bytes + test/smask-mask.quartz.ref.png | Bin 3357 -> 3191 bytes + test/smask-paint.quartz.ref.png | Bin 3499 -> 3311 bytes + test/smask.quartz.ref.png | Bin 4067 -> 4031 bytes + test/trap-clip.quartz.argb32.ref.png | Bin 6060 -> 6926 bytes + test/trap-clip.quartz.rgb24.ref.png | Bin 5694 -> 6503 bytes + 39 files changed, 20 insertions(+), 2 deletions(-) + +commit 3cbe82fe586f64dd11a0b2bc9f58619968965369 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Dec 12 22:29:56 2010 +0000 + + ps,pdf: Deal with empty domain gradients. + + If all the stops of the gradient have the same offset and the + pattern's extend mode is EXTEND_PAD, then we cannot use the stops' + domain as the interpolation parameter range because this would produce + a gradient with the same start and end objects. Such ranges tickle + bad behaviour in rasterisers. + + We replace the color function with an appropriate step function + defined on [0 1]. + + Fixes radial-gradient-one-stop for pdf and ps3. + + Reviewed-by: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> + + src/cairo-pdf-surface.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++- + src/cairo-ps-surface.c | 50 ++++++++++++++++++++++++++++++++++++----- + 2 files changed, 104 insertions(+), 6 deletions(-) + +commit 36e58aea51c3de1e2621e083bb82add7f25ddfef +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Nov 19 20:16:08 2010 +0100 + + ps: Unify gradient emitters and support all extend modes. + + To draw repeated gradients in ps, which only supports none and pad + extended gradients, we need an appropriate reparametrization of the + gradients that will cover the whole clip region without needing + repeats. + + This commit adds support for the drawing of reflect/repeat-extended + radial gradients through native ps patterns, using pad-extension and + no fallbacks. + + Reviewed-by: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> + + src/cairo-ps-surface.c | 256 +++++++++++++++++-------------------------------- + 1 file changed, 88 insertions(+), 168 deletions(-) + +commit 20ef062511e224ef098671c923a4cd4d461139c2 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Nov 19 20:16:16 2010 +0100 + + pdf: Unify gradient emitters and support all extend modes. + + To draw repeated gradients in pdf, which only supports none and pad + extended gradients, we need an appropriate reparametrization of the + gradients that will cover the whole clip region without needing + repeats. + + This commit adds support for the drawing of reflect/repeat-extended + radial gradients through native pdf patterns using pad-extension and + no fallbacks. + + This fixes https://bugs.freedesktop.org/show_bug.cgi?id=28870 + + Reviewed-by: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> + + src/cairo-pdf-surface.c | 414 +++++++++++++++--------------------------------- + 1 file changed, 132 insertions(+), 282 deletions(-) + +commit ca7f141dd7931041887dc96a542c2a47da25e12f +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Nov 17 22:07:09 2010 +0100 + + quartz: Unify gradient construction and fix radial gradients. + + Share code between linear and radial gradients, using + _cairo_gradient_pattern_box_to_parameter() instead of open coding the + parameter range computation. + + As a side effect this fixes parameter range computation for radial + gradients, because the previous code assumed that the focal point was + inside the circles. + + Reviewed-by: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> + + src/cairo-quartz-surface.c | 400 ++++++++------------------------------------- + 1 file changed, 68 insertions(+), 332 deletions(-) + +commit 341e5b3246f785a4791606ea62873cfb180efae6 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Nov 23 17:49:50 2010 +0100 + + pattern: Add a function to interpolate gradient objects. + + This will be a common function used by the quartz, ps, and pdf + backends when rewriting EXTEND_REFLECT/REPEAT gradients in terms + of EXTEND_PAD gradients. + + Reviewed-by: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> + + src/cairo-pattern.c | 32 ++++++++++++++++++++++++++++++++ + src/cairo-types-private.h | 5 +++++ + src/cairoint.h | 5 +++++ + 3 files changed, 42 insertions(+) + +commit 08cb6db5206203fda919e3d258ce7fdbb3e3c9d8 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Nov 23 19:31:40 2010 +0100 + + pattern: Use pattern parameter range when analysing all gradients. + + This patch adds support for analysing the transparency of a + radial gradient within some area of interest. Before the code + would ignore the extents for radial gradients. Linear gradients + now use _cairo_linear_pattern_box_to_parameter() allowing us + to remove the superfluous _extents_to_linear_parameter(). + + Reviewed-by: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> + + src/cairo-pattern.c | 95 +++++++++++++++++++++++++---------------------------- + 1 file changed, 44 insertions(+), 51 deletions(-) + +commit 790837ac68e51bdd55f13b70d54ba32917cebb45 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Nov 23 19:31:26 2010 +0100 + + pattern: Compute a covering parameter range of a gradient for a box. + + This makes it possible to compute the interpolation range needed to + correctly draw a gradient so that it covers an area of interest. + + Reviewed-by: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> + + src/cairo-pattern.c | 463 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + src/cairoint.h | 7 + + 2 files changed, 470 insertions(+) + +commit d1e9bdf7f15fd2ba7d42c6fe18650618d29c4942 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Dec 4 14:58:52 2010 +0100 + + ps: Avoid unneeded fallbacks for gradients with opaque stops. + + _cairo_pattern_is_opaque() returns false for none-extended linear + gradients and for radial gradients, but fallback is only needed if + they have non-opaque stops. + This can be tested using _cairo_pattern_alpha_range(), which only + analyses the part of the pattern which is drawn. + + Reviewed-by: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> + + src/cairo-ps-surface.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +commit ec4c085624d12cef51e583c18306fd4f4c2b6aaa +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Nov 19 19:18:53 2010 +0100 + + ps, pdf, pattern: Implement _cairo_pattern_alpha_range to analyse patterns. + + Both the ps and pdf backends are open coding analyses of the + range of pattern alphas. This patch factors out a new function + _cairo_pattern_alpha_range() to do that for them. + + Reviewed-by: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> + + src/cairo-pattern.c | 58 +++++++++++++++++++++++++++++++++++++++++++++++++ + src/cairo-pdf-surface.c | 18 ++++----------- + src/cairo-ps-surface.c | 12 ++++------ + src/cairoint.h | 4 ++++ + 4 files changed, 70 insertions(+), 22 deletions(-) + +commit 6579bf728f802e13b45292b11e3782db1844316f +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Nov 18 13:53:51 2010 +0100 + + pattern: Improve extents computation of radial gradients. + + Use the tests for degeneracy and new radial gradient definition + when computing pattern extents. Degenerate gradients are optimised + away by cairo-gstate into solid or clear patterns, and + the radial gradients semantics have changed to match PDF semantics. + + Reviewed-by: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> + + src/cairo-pattern.c | 50 ++++++++++++++++++++++++-------------------------- + 1 file changed, 24 insertions(+), 26 deletions(-) + +commit 86695aced9fc3210766abae7141c89b2c2c1a273 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Nov 17 21:31:07 2010 +0100 + + pattern: Specialise signatures of pattern specific functions + + Change the signature of type-specific functions to make them only + accept the correct pattern type instead of the abstract cairo_pattern_t. + + Reviewed-by: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> + + src/cairo-pattern.c | 32 ++++++++++++-------------------- + 1 file changed, 12 insertions(+), 20 deletions(-) + +commit ac9ed746b03e7c01c5997702d0694faa0938268d +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Nov 17 19:09:04 2010 +0100 + + ps: Use switch instead of multiple if's + + This ensures that the compiler is able to automatically point out any + unhandled pattern type. + + Reviewed-by: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> + + src/cairo-ps-surface.c | 14 +++++++++----- + 1 file changed, 9 insertions(+), 5 deletions(-) + +commit e6ab2e6821301301873ab329af53939807a004b3 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Nov 17 19:05:58 2010 +0100 + + pdf: Use switch instead of multiple if's + + This ensures that the compiler is able to automatically point out any + unhandled pattern type. + + Reviewed-by: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> + + src/cairo-pdf-surface.c | 14 +++++++++----- + 1 file changed, 9 insertions(+), 5 deletions(-) + +commit 790d6140e79f979c8646ffee1304589db55ed3d1 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Dec 13 09:37:02 2010 +0100 + + test: Update reference images list + + Some reference images were added or removed in + f85af7fe8d92f5ac304d742fcbfdaac512bace33, + e2dcbfd895463d674d55c826ba72030f5f6daa91 and + 670eb260eb2f0cbe897ce92d3a7ab4542fb17307, but Makefile.am was not + updated accordingly. + + test/Makefile.am | 37 ++++++++++++++++++++++--------------- + 1 file changed, 22 insertions(+), 15 deletions(-) + +commit 85a489f0f212d68c69dbe5807b379b874daef4d1 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Dec 9 22:00:15 2010 +0100 + + polygon: Merge _cairo_polygon_init and _cairo_polygon_limit + + _cairo_polygon_limit() had to be called immediately after + _cairo_polygon_init() (or never at all). + + Merging the two calls is a simple way to enforce this rule. + + src/cairo-bentley-ottmann.c | 3 +-- + src/cairo-clip.c | 3 +-- + src/cairo-gl-surface.c | 6 ++---- + src/cairo-image-surface.c | 6 ++---- + src/cairo-path-fill.c | 16 ++++++---------- + src/cairo-path-stroke.c | 4 +--- + src/cairo-polygon.c | 17 ++++++----------- + src/cairo-surface-fallback.c | 6 ++---- + src/cairo-xcb-surface-render.c | 6 ++---- + src/cairoint.h | 9 +++------ + src/drm/cairo-drm-i915-surface.c | 6 ++---- + src/drm/cairo-drm-i965-surface.c | 6 ++---- + 12 files changed, 30 insertions(+), 58 deletions(-) + +commit 75f34b595aead729b6f6a7017c8790d68dfa0326 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Dec 9 22:00:10 2010 +0100 + + fill: Simplify path to polygon conversion + + Using _cairo_path_fixed_interpret_flat() greatly simplifies the path + to polygon conversion (because it already converts curve_to's to + line_to's). + + This commit also removes the optimization which merges two consecutive + lines if they have the same slope, because it's unlikely (since it + should already happen during path construction), it doesn't provide + better performance (at least not measurable with the currently + available cairo-traces) and bloats the code. + + src/cairo-path-fill.c | 91 +++++++++++++++++++++-------------------------- + src/cairo-polygon.c | 88 --------------------------------------------- + src/cairo-types-private.h | 7 ---- + src/cairoint.h | 11 ------ + 4 files changed, 41 insertions(+), 156 deletions(-) + +commit df453b7aca5ad7c4b796f150c8a90e78c1b96e04 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Dec 9 22:00:06 2010 +0100 + + path: Remove support for inverse direction interpretation + + The previous commit guarantees that paths are always interpreted in + the forward direction, so the code allowing both directions is not + needed anymore. + + src/cairo-path-fixed.c | 45 +++++++++++---------------------------------- + 1 file changed, 11 insertions(+), 34 deletions(-) + +commit a8ae8759f51a283fc1d65b055eda8e401d9ccf2e +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Dec 9 22:00:01 2010 +0100 + + path: Always interpret in forward direction + + Path are always interpreted in forward direction, so the ability of + interpreting in the opposite direction (which is very unlikely to be + useful at all) can be removed. + + src/cairo-debug.c | 1 - + src/cairo-path-bounds.c | 2 +- + src/cairo-path-fill.c | 1 - + src/cairo-path-fixed-private.h | 1 - + src/cairo-path-fixed.c | 11 ++++------- + src/cairo-path-in-fill.c | 1 - + src/cairo-path-stroke.c | 4 ---- + src/cairo-path.c | 4 ---- + src/cairo-pdf-operators.c | 1 - + src/cairo-qt-surface.cpp | 1 - + src/cairo-quartz-surface.c | 1 - + src/cairo-recording-surface.c | 2 +- + src/cairo-scaled-font.c | 2 +- + src/cairo-script-surface.c | 1 - + src/cairo-skia-surface.cpp | 1 - + src/cairo-svg-surface.c | 1 - + src/cairo-type1-fallback.c | 1 - + src/cairo-vg-surface.c | 1 - + src/cairo-win32-printing-surface.c | 1 - + src/cairo-xml-surface.c | 1 - + src/cairoint.h | 2 -- + 21 files changed, 7 insertions(+), 34 deletions(-) + +commit 83605de9958696d47b15baa2c95731bc076ff368 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Dec 9 21:59:43 2010 +0100 + + path: Cleanup unused current_point + + The code keeps track of the current point but doesn't use it. + + Remove it to clean up. + + src/cairo-path.c | 18 ------------------ + 1 file changed, 18 deletions(-) + +commit f317a31b3fd14949edaca70f896c8a3cdecfce18 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Nov 23 23:36:14 2010 +0100 + + surface: Remove _cairo_surface_*_extents + + They have been replaced by cairo_composite_rect_t functions. + + src/cairo-surface.c | 162 ---------------------------------------------------- + src/cairoint.h | 49 ---------------- + 2 files changed, 211 deletions(-) + +commit 0ae9b547415a71126848f61f76f895d38584435c +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Nov 23 23:58:09 2010 +0100 + + pdf: Use composite rectangles in fill_stroke + + All other pdf drawing functions have been updated to use + cairo_composite_rectangles_t to compute the extents affected by the + operation in 3a5d71c431dfb251308c3e4e02d2ea4acec90a91, but fill_stroke + was not changed. + + This removes the last usage of the old _cairo_surface_*_extents() + functions. + + src/cairo-pdf-surface.c | 63 ++++++++++++++++++++++++++++++++++++------------- + 1 file changed, 47 insertions(+), 16 deletions(-) + +commit 71e6520fa6a695710482eafd022f9e44c45c0610 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Nov 15 21:08:06 2010 +0100 + + surface: Remove _cairo_surface_fill_rectangle + + It is not used anymore. + + src/cairo-surface.c | 39 --------------------------------------- + src/cairoint.h | 9 --------- + 2 files changed, 48 deletions(-) + +commit 17fef8c437483ca082226b41e1850eb383f0251a +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Dec 1 16:16:00 2010 +0100 + + test: Add arc-infinite-loop + + The handling of angles above 2pi in cairo_arc is not very solid and is + basically untested. + + This test should ensure that huge inputs don't hang cairo. + + test/Makefile.am | 1 + + test/Makefile.sources | 1 + + test/arc-infinite-loop.c | 59 +++++++++++++++++++++++++++++++++++++++++ + test/arc-infinite-loop.ref.png | Bin 0 -> 96 bytes + 4 files changed, 61 insertions(+) + +commit 670eb260eb2f0cbe897ce92d3a7ab4542fb17307 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Dec 1 16:13:33 2010 +0100 + + test: Add arc-looping-dash + + The handling of angles above 2pi in cairo_arc is not very solid and is + basically untested. + + This test should ensure that changes in the behavior will be noticed + by the testsuite. + + test/Makefile.am | 3 ++ + test/Makefile.sources | 1 + + test/arc-looping-dash.c | 77 ++++++++++++++++++++++++++++++++++ + test/arc-looping-dash.image16.ref.png | Bin 0 -> 450 bytes + test/arc-looping-dash.ps.ref.png | Bin 0 -> 377 bytes + test/arc-looping-dash.quartz.ref.png | Bin 0 -> 470 bytes + test/arc-looping-dash.ref.png | Bin 0 -> 464 bytes + 7 files changed, 81 insertions(+) + +commit 1784fd403e3dce357f018639730dd75e138904b5 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Dec 9 14:38:40 2010 +0100 + + arc: Clamp to 65536 full circles + + To limit the amount of memory used for arcs describing a circle + wrapped multiple times we ignore the circles after the 65536th (but + preserve the same start and end angle mod 2pi). + + src/cairo-arc.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +commit 4314a86aa7813bcd4131827181ecf44994142a72 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Dec 9 14:38:10 2010 +0100 + + arc: Avoid infinite loop + + Adding/subtracting 2 * M_PI to a huge floating point number doesn't + change it (because of rounding) and for smaller numbers it still + requires a lot of cycles before the angle is in the desired range. + + The same computation can be performed using fmod, which should provide + more accurate results and only requires O(1) time. + + src/cairo.c | 20 ++++++++++++++++---- + 1 file changed, 16 insertions(+), 4 deletions(-) + +commit 028797a729ca74b4ce2d1062fc8c90c111bf2870 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Dec 6 18:04:10 2010 +0100 + + test: Handle crashed tests + + Crashed tests are reported as "CRASH!" in cairo-test-suite.log + + test/testtable.js | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d3accefd3b9a4db5f07fb1f7bb05fb4238bf36c1 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Dec 4 23:58:48 2010 +1030 + + PDF: Output a stencil mask for cairo_mask() with solid source and A1 mask + + In https://bugs.launchpad.net/ubuntu/+source/libcairo/+bug/680628 a + 65K PDF printed to PDF using poppler-cairo turns into an 8MB PDF. The + original PDF contains a very large number of stencil mask images (an + A1 image used as a mask for the current color). The PDF surface was + not optimized for this particular case. It was drawing a solid color + in a group and then using an smask with the image in another group. + + Fix this by checking for source = solid and mask = A1 image and + emitting a stencil mask image. + + src/cairo-pdf-surface-private.h | 1 + + src/cairo-pdf-surface.c | 160 +++++++++++++++++++++++++++++++++++----- + 2 files changed, 144 insertions(+), 17 deletions(-) + +commit f832ff7f22499bfa8e907f9fb059d56857d11e68 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Nov 28 16:58:20 2010 +0100 + + test: Fix ref images + + The corners of the boxes in these ref images were not correct. + + test/clip-stroke.image16.ref.png | Bin 1308 -> 1305 bytes + test/clip-stroke.ref.png | Bin 1442 -> 1447 bytes + test/clipped-group.image16.ref.png | Bin 281 -> 270 bytes + test/clipped-group.ref.png | Bin 289 -> 289 bytes + 4 files changed, 0 insertions(+), 0 deletions(-) + +commit ff35af3fd73e59ea29b1a322c833f7dd24b0b8bc +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Nov 28 14:32:51 2010 +0100 + + image: Fix compositing of unaligned boxes + + The input of _fill_unaligned_boxes is (supposed to be) composed only + of disjoint rectangles, that can safely be passed to the rectilinear + span converter, but this function artificially introduces intersecting + rectangles when drawing non-aligned boxes. + + Using non-intersecting rectangles is easy and makes the code correct. + + Fixes rectilinear-grid. + + Reviewed-by: Uli Schlachter <psychon@znc.in> + + src/cairo-image-surface.c | 22 ++++++++++++++-------- + 1 file changed, 14 insertions(+), 8 deletions(-) + +commit 7b29f1d5d85ebb7e92e9759692233c80a4687a07 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Nov 26 17:55:35 2010 +0100 + + test: Add rectilinear-grid + + The rectilinear scan converter assumes disjoint rects as input, but + cairo-image passes intersecting rectangles to it. + + This test shows that image and any backends passing through it for the + rasterization (fallbacks, vector backends whose renderer is + cairo-based) fail in compute the corners of intersecting rectangles + correctly. + + test/Makefile.am | 2 + + test/Makefile.sources | 1 + + test/rectilinear-grid.c | 78 ++++++++++++++++++++++++++++++++++ + test/rectilinear-grid.image16.ref.png | Bin 0 -> 638 bytes + test/rectilinear-grid.ref.png | Bin 0 -> 569 bytes + 5 files changed, 81 insertions(+) + +commit 6732dbf2992891be4b1f08b14a5c449fd08b637c +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Nov 30 21:55:50 2010 +1030 + + CFF Subsetting: Subset subroutines + + Go through each Charstring looking for the local and global + subroutines called. To avoid modifying the Charstrings [1], the unused + subroutines are reduced to a single byte return op [2] leaving the + remaining subroutines in their original array index position. + + Results of testing with some CFF fonts with a 26 glyph [a-z] subset: + + Font Subset size: Before After + ------------------------------------------------------- + LinBiolinum_Re-0.6.4.otf 48,423 8,295 + LinBiolinum_It-0.5.1.otf 88,942 11,501 + LinBiolinum_Sl-0.4.9.otf 89,231 11,505 + LinLibertine_Re-4.7.5.otf 51,125 8,654 + LinLibetine_It-4.2.6.otf 59,333 9,632 + Inconsolata.otf 13,826 8,407 + + [1] Further reductions could be obtained by stripping out unused + subroutines and renumbering the remaining subroutines but is more + complicated due to the encoding used for subroutine numbers that is + both variable length and a function of the size of the subroutine + array. + + [2] Poppler and Fontforge do not seem to like zero length unused + subroutines. + + src/cairo-cff-subset.c | 345 ++++++++++++++++++++++++++++++++++++++++++++++--- + 1 file changed, 329 insertions(+), 16 deletions(-) + +commit 4e60a164d42d80474d897d7e58c41fb3941bd8e2 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Nov 28 16:58:20 2010 +0100 + + test: Fix ref images + + The corners of the boxes in these ref images were not correct. + + test/clip-stroke.image16.ref.png | Bin 1308 -> 1305 bytes + test/clip-stroke.ref.png | Bin 1442 -> 1447 bytes + test/clipped-group.image16.ref.png | Bin 281 -> 270 bytes + test/clipped-group.ref.png | Bin 289 -> 289 bytes + 4 files changed, 0 insertions(+), 0 deletions(-) + +commit 8d7486a6ea3eff4976dacd2629d07ed5b143af23 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Nov 28 14:33:41 2010 +0100 + + image: Fix _pixel_to_solid + + An A1 image with full alpha should be opaque black, not opaque white. + + Use specialized solid black image instead of the generic constructor + for an A8 image with full alpha (it is likely to be cached). + + src/cairo-image-surface.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 72b0a44a1f77c818921a699c55d4b2df0c1d1536 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Nov 28 14:32:51 2010 +0100 + + image: Fix compositing of unaligned boxes + + The input of _fill_unaligned_boxes is (supposed to be) composed only + of disjoint rectangles, that can safely be passed to the rectilinear + span converter, but this function artificially introduces intersecting + rectangles when drawing non-aligned boxes. + + Using non-intersecting rectangles is easy and makes the code correct. + + Fixes rectilinear-grid. + + Reviewed-by: Uli Schlachter <psychon@znc.in> + + src/cairo-image-surface.c | 22 ++++++++++++++-------- + 1 file changed, 14 insertions(+), 8 deletions(-) + +commit 10389730832998567c3abad893c3a1274d71baa7 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Nov 26 17:55:35 2010 +0100 + + test: Add rectilinear-grid + + The rectilinear scan converter assumes disjoint rects as input, but + cairo-image passes intersecting rectangles to it. + + This test shows that image and any backends passing through it for the + rasterization (fallbacks, vector backends whose renderer is + cairo-based) fail in compute the corners of intersecting rectangles + correctly. + + test/Makefile.am | 2 + + test/Makefile.sources | 1 + + test/rectilinear-grid.c | 78 ++++++++++++++++++++++++++++++++++ + test/rectilinear-grid.image16.ref.png | Bin 0 -> 638 bytes + test/rectilinear-grid.ref.png | Bin 0 -> 569 bytes + 5 files changed, 81 insertions(+) + +commit cfafa3924b983a38056893b5fd8e836574deee17 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Nov 28 09:31:02 2010 +0100 + + array: Fix comment + + The comment was talking about using 0 as index, but was using + "num_elements" instead. + + src/cairo-array.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit f238da5291cdb347daa0be64ecc393fc519c4ead +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Nov 28 11:45:00 2010 +1030 + + CFF subset: fix bug with euro glyph in fallback fonts + + src/cairo-cff-subset.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +commit 7feefc75f6dcb9381cd5bc1bdc3e2d722789b155 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Nov 28 03:46:10 2010 +1030 + + CFF subset: fix subsetting of Euro glyph + + https://bugs.freedesktop.org/show_bug.cgi?id=31878 + + src/cairo-cff-subset.c | 51 +++++++++++++++++++++++++++++++++++++------------- + 1 file changed, 38 insertions(+), 13 deletions(-) + +commit f85af7fe8d92f5ac304d742fcbfdaac512bace33 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Nov 21 23:41:33 2010 +1030 + + Change fallback resolution test to use resolutions in multiples of 72 + + With integer aligned clipping the test output has no seams. + + test/fallback-resolution.c | 26 ++++++++---------------- + test/fallback-resolution.ppi144x144.ps.ref.png | Bin 0 -> 5911 bytes + test/fallback-resolution.ppi144x144.ref.png | Bin 0 -> 8697 bytes + test/fallback-resolution.ppi144x72.ps.ref.png | Bin 0 -> 7206 bytes + test/fallback-resolution.ppi144x72.ref.png | Bin 0 -> 8445 bytes + test/fallback-resolution.ppi150x150.ref.png | Bin 8058 -> 0 bytes + test/fallback-resolution.ppi150x72.ref.png | Bin 8303 -> 0 bytes + test/fallback-resolution.ppi288x288.pdf.ref.png | Bin 0 -> 8681 bytes + test/fallback-resolution.ppi288x288.ps.ref.png | Bin 0 -> 4450 bytes + test/fallback-resolution.ppi288x288.svg.ref.png | Bin 0 -> 5771 bytes + test/fallback-resolution.ppi288x72.ps.ref.png | Bin 0 -> 6444 bytes + test/fallback-resolution.ppi288x72.ref.png | Bin 0 -> 7166 bytes + test/fallback-resolution.ppi300x300.ref.png | Bin 5639 -> 0 bytes + test/fallback-resolution.ppi300x72.ref.png | Bin 7014 -> 0 bytes + test/fallback-resolution.ppi37.5x37.5.ref.png | Bin 14092 -> 0 bytes + test/fallback-resolution.ppi37.5x72.ref.png | Bin 12906 -> 0 bytes + test/fallback-resolution.ppi576x576.pdf.ref.png | Bin 0 -> 8732 bytes + test/fallback-resolution.ppi576x576.ps.ref.png | Bin 0 -> 3448 bytes + test/fallback-resolution.ppi576x576.svg.ref.png | Bin 0 -> 4317 bytes + test/fallback-resolution.ppi576x72.ps.ref.png | Bin 0 -> 5992 bytes + test/fallback-resolution.ppi576x72.ref.png | Bin 0 -> 6432 bytes + test/fallback-resolution.ppi600x600.ref.png | Bin 4090 -> 0 bytes + test/fallback-resolution.ppi600x72.ref.png | Bin 6326 -> 0 bytes + test/fallback-resolution.ppi72x144.ps.ref.png | Bin 0 -> 7270 bytes + test/fallback-resolution.ppi72x144.ref.png | Bin 0 -> 8677 bytes + test/fallback-resolution.ppi72x150.ref.png | Bin 8061 -> 0 bytes + test/fallback-resolution.ppi72x288.ps.ref.png | Bin 0 -> 6616 bytes + test/fallback-resolution.ppi72x288.ref.png | Bin 0 -> 7231 bytes + test/fallback-resolution.ppi72x300.ref.png | Bin 6911 -> 0 bytes + test/fallback-resolution.ppi72x37.5.ref.png | Bin 13167 -> 0 bytes + test/fallback-resolution.ppi72x576.ps.ref.png | Bin 0 -> 6349 bytes + test/fallback-resolution.ppi72x576.ref.png | Bin 0 -> 6523 bytes + test/fallback-resolution.ppi72x600.ref.png | Bin 6214 -> 0 bytes + test/fallback-resolution.ppi72x72.ref.png | Bin 8416 -> 8510 bytes + test/fallback-resolution.ppi72x75.ref.png | Bin 10620 -> 0 bytes + test/fallback-resolution.ppi75x72.ref.png | Bin 10119 -> 0 bytes + test/fallback-resolution.ppi75x75.ref.png | Bin 12127 -> 0 bytes + 37 files changed, 9 insertions(+), 17 deletions(-) + +commit 126108a6ac5aa5e615071e0cbd1901e5a5de3ca6 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Wed Nov 24 21:43:07 2010 +1030 + + Boilerplate: Set fallback resolution using force_fallbacks function + + cairo_set_fallback_resolution() does not work when testing rgb24 surfaces + + boilerplate/cairo-boilerplate-pdf.c | 6 +++++- + boilerplate/cairo-boilerplate-ps.c | 6 +++++- + boilerplate/cairo-boilerplate-svg.c | 6 +++++- + boilerplate/cairo-boilerplate.h | 3 ++- + test/fallback-resolution.c | 4 +--- + 5 files changed, 18 insertions(+), 7 deletions(-) + +commit 59661f8af428b88125db033867d662e9393d0a41 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Nov 21 23:25:21 2010 +1030 + + Fix fallback-resolution test + + The recording surface source image painted onto fallback images always + had the resolution 72ppi instead of the fallback resolution of the + target surface. Fix this by passing adding a new + acquire_source_image_transformed backend function for the recording + surface to use and passing the target device transform through to the + recording surface when the image is acquired. + + Based on Carl Worth's experimental acquired_source_image_transformed + branch. + + https://bugs.freedesktop.org/show_bug.cgi?id=24692 + + src/cairo-image-surface.c | 57 +++++++++++++++++++++++++++++++------------ + src/cairo-recording-surface.c | 32 +++++++++++++++++++----- + src/cairo-surface.c | 27 ++++++++++++++++++++ + src/cairoint.h | 12 +++++++++ + 4 files changed, 106 insertions(+), 22 deletions(-) + +commit 063a3894d7ed98ba36f416a285acc88c50d3bb34 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Nov 26 13:46:31 2010 +0100 + + pdf: Silence compiler warnings + + The compiler complains about a const pointer being free'd and memcpy'd + to: + + cairo-pdf-surface.c: In function ‘_cairo_pdf_surface_add_source_surface’: + cairo-pdf-surface.c:1208: warning: passing argument 1 of ‘__builtin___memcpy_chk’ discards qualifiers from pointer target type + cairo-pdf-surface.c:1208: warning: passing argument 1 of ‘__inline_memcpy_chk’ discards qualifiers from pointer target type + cairo-pdf-surface.c: In function ‘_cairo_pdf_source_surface_entry_pluck’: + cairo-pdf-surface.c:1666: warning: passing argument 1 of ‘free’ discards qualifiers from pointer target type + + src/cairo-pdf-surface-private.h | 2 +- + src/cairo-pdf-surface.c | 3 ++- + 2 files changed, 3 insertions(+), 2 deletions(-) + +commit 1ab64965786208b94ed40aa5f7f9be59d58fbf96 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Nov 26 13:13:16 2010 +0100 + + array: Silence warnings + + 493aaf0f15bfedc88371ffab07d862a400b0da38 made all cairo_array + functions use unsigned int for indexes and sizes. + + This commit fixes the compiler warnings about those values being + compared to signed int's. + + src/cairo-cff-subset.c | 2 +- + src/cairo-pdf-surface.c | 4 ++-- + src/cairo-type1-fallback.c | 4 ++-- + 3 files changed, 5 insertions(+), 5 deletions(-) + +commit 9ec51baa779a30041ea944643d4d0b8333bb759b +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Nov 26 21:41:17 2010 +1030 + + PDF: Add missing clipper_reset + (cherry picked from commit 2ae2be36d4551906fd4edbc8bf07aaa7fe0c93cf) + + src/cairo-pdf-surface.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 47b81b9fea50328bd089db4e5ef8dcb1b181515b +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Nov 26 21:51:25 2010 +1030 + + Truetype subset: add missing unicode ranges to cmap + + A couple of unicode ranges were missing from the cmap generated for latin fonts. + + https://bugs.freedesktop.org/show_bug.cgi?id=31878 + + src/cairo-truetype-subset.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 2ae2be36d4551906fd4edbc8bf07aaa7fe0c93cf +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Nov 26 21:41:17 2010 +1030 + + PDF: Add missing clipper_reset + + src/cairo-pdf-surface.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 841a2df7359e2b491aed7ed8c043cce669357ae3 +Author: Markus Stange <mstange@themasta.com> +Date: Fri Nov 5 09:23:44 2010 +0100 + + Fix type of _cairo_memory_stream_destroy parameter + + In 9b9952ab4f64a476bbadfd3e6cf1e66c1137ccd7 + _cairo_memory_stream_destroy was changed to take an unsigned long + instead of unsigned int, and the two callsites in cairo-gl-shaders.c + weren't updated. + + src/cairo-gl-shaders.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit b6a97499c71af60a3f15d131d51eb53fb21b48ff +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Oct 5 10:36:38 2010 +0200 + + xcb: Do not return value in void function + + Sun Studio Compiler complains: + "cairo-xcb-surface.c", line 585: void function cannot return value + even if the returned value is void. + Some minor code restructuring removes the issue. + + src/cairo-xcb-surface.c | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +commit e71588c80d5c6112fa9f7c6ea369d90f9284199f +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Oct 24 16:40:53 2010 +0200 + + test: Add romedalen images copyright information + + romedalen.png and romedalen.jpg have been bundled into the test + suite without an explicit copyright notice. + + test/COPYING | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +commit 2b3d8de11a536d668084ea6d2bf295da1d1cdc11 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Oct 16 22:51:28 2010 +0200 + + Fix degenerate arcs + + Make sure that degenerate arcs become a move_to-line_to sequence + instead of just a move_to. + + Fixes get-path-extents. + + src/cairo-arc.c | 4 ++++ + src/cairo.c | 1 + + 2 files changed, 5 insertions(+) + +commit fafca7ace250e3f4f9c60584f0ddff187c690068 +Author: Joerg Sonnenberger <joerg@NetBSD.org> +Date: Tue Oct 12 22:07:37 2010 +0200 + + LD_PRELOAD is supported on DragonFly. + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c20d55eb1c1eb1c6f51a21c7eb205ba4c2c125e8 +Author: Erik Zeek <zeekec@mad.scientist.com> +Date: Thu Nov 4 17:57:03 2010 +0100 + + Fix build on gentoo + + The problem is probably caused by a change in the behavior of autoconf + (2.67). + + See http://bugs.gentoo.org/336329 + + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 8ef5161da307361e20dad68df74512c5afcbb012 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Nov 6 15:46:48 2010 +0100 + + configure: Correct reporting of tee backend + + Since 9f33f8453b4949cfdc63169d3acd7238f89379c2 tee is not compiled in + anymore by default. Reporting it as always enabled is misleading. + + build/configure.ac.features | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 2a1e7e18de7c071bb7c445ae3e6c94b8f2a1590b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Nov 26 09:46:57 2010 +0000 + + wgl: Use CreateWindowA with an ASCII string + + ... or else compilation with fail on Windows if UNICODE is defined + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-wgl-context.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 493aaf0f15bfedc88371ffab07d862a400b0da38 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Nov 24 12:08:03 2010 +0100 + + array: Cleanup types + + Const-ify where appropriate and make all index and element counts + unsigned int. + + This is needed to enable accessing const cairo_array_t's without + having to manually remove the const qualifier (which happens in the + to-be-merged mesh pattern code, for example). + + src/cairo-array.c | 19 +++++++++++-------- + src/cairoint.h | 18 +++++++++--------- + 2 files changed, 20 insertions(+), 17 deletions(-) + +commit 9960f299ac3476d6d4c0d25d95a5891f6eab15dd +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Nov 24 12:07:51 2010 +0100 + + array: Add read-only accessor + + It is sometimes useful to read the elements of a const cairo_array_t, + but it is currently only possible by ignoring the const qualifier. + The _cairo_array_index_const function allows read-only access to the + array elements. + + This is needed to enable accessing const cairo_array_t's without + having to manually remove the const qualifier (which happens in the + to-be-merged mesh pattern code, for example). + + src/cairo-array.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++----- + src/cairoint.h | 3 +++ + 2 files changed, 49 insertions(+), 5 deletions(-) + +commit ae6a0de23b11e1cf34a2751fd6d4339b20340e67 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Nov 24 11:16:56 2010 +0100 + + array: Remove snapshot support + + Array snapshots are not used anymore and just bloat the implementation + of cairo_array_t. + + In particular, double indirection was needed to implement array + snapshots, as explained in c78685399307431903613733ddc936a104376943. + + src/cairo-array.c | 57 +++++------------------------------------------ + src/cairo-types-private.h | 4 +--- + src/cairoint.h | 4 ---- + 3 files changed, 6 insertions(+), 59 deletions(-) + +commit a6b503961b7ffd6a0725ad7d98ec1c46e2f15f25 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Nov 22 23:41:33 2010 +0100 + + ps: Fix painting + + Painting of some pattern was broken because the paint operation was + implemented as a fill to a rect containing the clip, but this rect was + not transformed as appropriate (using the cairo_to_ps matrix). + PDF simply fills the whole surface rect, so we implement the same + behavior in PS. + + Fixes clip-group-shapes-circles, clip-stroke, linear-gradient-extend, + linear-gradient-one-stop, radial-gradient-one-stop. + + src/cairo-ps-surface.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +commit 520206e99122f8b5c0440640afc1b35e14030a80 +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Oct 31 18:26:59 2010 +0100 + + xcb: Handle deferred_clear in _copy_to_picture + + This ensures that surfaces with the deferred_clear flag on are cleared + before being used as sources. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 56528d7b9dd1dcd74cd1806f8b22d2d8189f0a03 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Nov 22 23:41:33 2010 +0100 + + ps: Fix painting + + Painting of some pattern was broken because the paint operation was + implemented as a fill to a rect containing the clip, but this rect was + not transformed as appropriate (using the cairo_to_ps matrix). + PDF simply fills the whole surface rect, so we implement the same + behavior in PS. + + Fixes clip-group-shapes-circles, clip-stroke, linear-gradient-extend, + linear-gradient-one-stop, radial-gradient-one-stop. + + src/cairo-ps-surface.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +commit e2c9964c3e1bbf253b20f3e7b747eeedcb3f56e6 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Nov 23 13:24:25 2010 +0100 + + quartz-font: Implement new load_truetype_table semantics + + fb0304e2a9c99fa00e68bf4b37074a6885f19cff changed and specified the + behavior of load_truetype_table. + This commit makes quartz-font implement the new behavior. + + src/cairo-quartz-font.c | 23 ++++++++++------------- + 1 file changed, 10 insertions(+), 13 deletions(-) + +commit 8db239660fab35970784bfa3bd7e7ba0cdaf46d4 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Nov 23 23:26:49 2010 +1030 + + Check is_synthetic() font backend exists before calling it + + src/cairo-cff-subset.c | 2 +- + src/cairo-truetype-subset.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 12b1cbb07e5e23dac9f84793924080171deda37f +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Nov 23 23:20:25 2010 +1030 + + Fix xml-surface use of load_truetype_font + + src/cairo-xml-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit e2dcbfd895463d674d55c826ba72030f5f6daa91 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Nov 23 00:12:10 2010 +1030 + + Automate error checking for ps-eps test + + test/Makefile.am | 1 - + test/ps-eps.c | 338 +++++++++++++++++++++++++++++++++++++++++++++++----- + test/ps-eps.ref.eps | 84 ------------- + test/ps-eps.ref.png | Bin 0 -> 4584 bytes + 4 files changed, 311 insertions(+), 112 deletions(-) + +commit 67a90e8035d1d7abef45c552e75348f993a3bc93 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Nov 23 22:02:55 2010 +1030 + + Check table size in cairo_truetype_get_style() + + src/cairo-truetype-subset.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +commit fb0304e2a9c99fa00e68bf4b37074a6885f19cff +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Nov 23 21:44:31 2010 +1030 + + Document load_truetype_table function and ensure ft-font and Win32-font are compliant + + There were some difference between how the FT and Win32 + load_truetype_table font backend functions worked due to the + difference between FT_Load_Sfnt_Table() and GetFontData(). eg FT + returns an error if less than the requested number of bytes could be + read while Win32 returns success and sets the length to the number of + bytes read. + + src/cairo-ft-font.c | 15 ++++++++++++--- + src/cairo-win32-font.c | 7 +++++-- + src/cairoint.h | 18 ++++++++++++++++++ + 3 files changed, 35 insertions(+), 5 deletions(-) + +commit abff335348c4f3b1c694cf44bf089d2a437937b4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Nov 22 18:49:22 2010 +0000 + + pdf: Silence compiler for an impossible case + + Make the default case be an assert to catch a silly programming error + and silence the compiler: + + cairo-pdf-operators.c: In function ‘_word_wrap_stream_write’: + cairo-pdf-operators.c:300: warning: ‘count’ may be used uninitialized in + this function + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-pdf-operators.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 1effa1e8230e16c59ce5f42692095f7fb6622c99 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Nov 23 00:13:56 2010 +1030 + + win32: add synthetic font subsetting support + + src/cairo-scaled-font-subsets-private.h | 23 +++++++++++++++++++++++ + src/cairo-truetype-subset-private.h | 13 +++++++++++++ + src/cairo-truetype-subset.c | 32 ++++++++++++++++++++++++++++++++ + src/cairo-win32-font.c | 27 +++++++++++++++++++++++++++ + 4 files changed, 95 insertions(+) + +commit 7f0029c31e15dfd34f57bdeca18f27e9e7b8f9aa +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Mon Nov 22 22:46:54 2010 +1030 + + Use fallback font for synthetic fonts + + If the font has been synthesized we can't use the native subsetters as + the outlines won't be the same. Instead force the use of the fallback + subsetters so the synthesized outlines will used to generate the font. + + src/cairo-cff-subset.c | 4 ++++ + src/cairo-ft-font.c | 14 +++++++++++++- + src/cairo-truetype-subset.c | 4 ++++ + src/cairo-type1-subset.c | 5 +++++ + src/cairoint.h | 3 +++ + 5 files changed, 29 insertions(+), 1 deletion(-) + +commit 9862c38fc71c6dcd444da3b079e5404cd14594c3 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Nov 2 22:39:57 2010 +1030 + + Add unique_id mime type + + to ensure surfaces with the same unique_id mime type are not embedded + more than once in PDF files. + + src/cairo-pdf-surface-private.h | 2 ++ + src/cairo-pdf-surface.c | 38 ++++++++++++++++++++++++++++++++++++-- + src/cairo-surface.c | 8 ++++++++ + src/cairo.h | 1 + + 4 files changed, 47 insertions(+), 2 deletions(-) + +commit b8347e33539402ef64d652bc0f67522e4d02d51c +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Nov 21 00:37:29 2010 +1030 + + PS: Fix regression - incorrect EPS bounding box + + https://bugs.freedesktop.org/show_bug.cgi?id=24688 + (cherry picked from commit bb4055dac6a937b3412170a332b5effe4bbeff7d) + + src/cairo-analysis-surface.c | 40 ++++++++++------------------------------ + 1 file changed, 10 insertions(+), 30 deletions(-) + +commit cfff4f30a0eaa29b817cb32616c2da5a27921332 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Nov 20 23:54:00 2010 +1030 + + PS: Fix regression - missing page content in EPS output + + https://bugs.freedesktop.org/show_bug.cgi?id=24688 + (cherry picked from commit d3746448d78fcedf8f8f9a7d0fca47f1bd6a5b67) + + src/cairo-ps-surface.c | 9 --------- + 1 file changed, 9 deletions(-) + +commit ed87ddddb3994f126e0f2d18fa23da6bc5ed579e +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Nov 20 00:50:04 2010 +1030 + + PS/PDF: Fix regression when changing page size to a larger size + + https://bugs.freedesktop.org/show_bug.cgi?id=24691 + (cherry picked from commit e7c5f470436220668e50201d775a9fec47162a67) + + src/cairo-paginated-surface.c | 28 ++++++++++++++++++++++++++++ + src/cairo-pdf-surface.c | 10 ++++++++-- + src/cairo-ps-surface.c | 6 ++++++ + 3 files changed, 42 insertions(+), 2 deletions(-) + +commit ccff76433e1cd068e5534d0ab633c27b0faf47d2 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Wed Nov 10 20:09:53 2010 +1030 + + PDF: Restrict ActualText to PDF version >= 1.5 + + The use of ActualText in a marked content sequence is a PDF 1.5 + feature. + + A 'use_actual_text' flag linked to the PDF version has already been + implemented in pdf-operators but for some reason this flag had not + been used to control the use of ActualText. + (cherry picked from commit 3afd7cd031ab9097e37c3e89d86ec41d015fdeb8) + + src/cairo-pdf-operators.c | 31 ++++++++++++++++++------------- + 1 file changed, 18 insertions(+), 13 deletions(-) + +commit e0967ff83c24aaf6d6b3a93a627872820be9012b +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Nov 6 21:15:30 2010 +1030 + + Fix type1-fallback bbox + (cherry picked from commit 74873c82242e9c124b69e05d0f8abdf78983d62d) + + src/cairo-type1-fallback.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 1413a44f64982e5196ca338c7cee5dfe19cd4b40 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Nov 6 18:44:54 2010 +1030 + + configure.ac.features: s/Meta/Recording/ + (cherry picked from commit 8f2f5e5ad4f8e5f18da903865bb2d2afce3a544e) + + build/configure.ac.features | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 3445401ae6bc8687fc76f690016cc281c388005d +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Nov 21 20:09:13 2010 +1030 + + Fix regression in fallback-resolution test + + a2254e56 caused the fallback-resolution test to display empty fallback + images for to push_group/pop_group part of the test. + + src/cairo-surface-wrapper.c | 12 ------------ + 1 file changed, 12 deletions(-) + +commit bb4055dac6a937b3412170a332b5effe4bbeff7d +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Nov 21 00:37:29 2010 +1030 + + PS: Fix regression - incorrect EPS bounding box + + https://bugs.freedesktop.org/show_bug.cgi?id=24688 + + src/cairo-analysis-surface.c | 40 ++++++++++------------------------------ + 1 file changed, 10 insertions(+), 30 deletions(-) + +commit d3746448d78fcedf8f8f9a7d0fca47f1bd6a5b67 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Nov 20 23:54:00 2010 +1030 + + PS: Fix regression - missing page content in EPS output + + https://bugs.freedesktop.org/show_bug.cgi?id=24688 + + src/cairo-ps-surface.c | 9 --------- + 1 file changed, 9 deletions(-) + +commit e7c5f470436220668e50201d775a9fec47162a67 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Nov 20 00:50:04 2010 +1030 + + PS/PDF: Fix regression when changing page size to a larger size + + https://bugs.freedesktop.org/show_bug.cgi?id=24691 + + src/cairo-paginated-surface.c | 28 ++++++++++++++++++++++++++++ + src/cairo-pdf-surface.c | 10 ++++++++-- + src/cairo-ps-surface.c | 6 ++++++ + 3 files changed, 42 insertions(+), 2 deletions(-) + +commit 6e3e329170ab4b96bc0d587c8071e869e228e758 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Nov 18 23:07:45 2010 +1030 + + win32: fix font_face hashing + + some bugs were discovered while testing with firefox + + src/cairo-win32-font.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +commit 268cb0a2bb5c8eef00c88ed6e3044a00e85ea47e +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Nov 17 13:30:28 2010 -0500 + + Add note re gtk-doc.make + + build/Makefile.am.gtk-doc | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +commit 653ceb517fe756b042a3cf8322a36cbfe71ddbd8 +Author: Koji Otani <sho@bbr.jp> +Date: Wed Nov 17 00:07:03 2010 +1030 + + PS: fix embedding of grayscale jpegs + + https://bugs.freedesktop.org/show_bug.cgi?id=31632 + + src/cairo-ps-surface.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit d5656394787c29daf31fff085639066287b0f7b7 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Nov 16 23:53:05 2010 +1030 + + win32-print: print as unicode where possible + + One of the problems identified in + https://bugzilla.mozilla.org/show_bug.cgi?id=454532 is that there are + some older printer drivers that do not work with ExtTextOut and the + ETO_GLYPH_INDEX option. + + Fix this by where possible mapping glyph indices back to unicode and + calling ExtTextOut without ETO_GLYPH_INDEX. Glyphs that can not be + mapped back to unicode are printed with ETO_GLYPH_INDEX. + + src/cairo-win32-printing-surface.c | 157 +++++++++++++++++++++++-------------- + src/cairo-win32-private.h | 11 +++ + src/cairo-win32-surface.c | 54 ++++++++----- + 3 files changed, 141 insertions(+), 81 deletions(-) + +commit eb29a25dd6dddc511388bf883c9b95843ecdb823 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Nov 16 23:48:39 2010 +1030 + + win32: Use a font_face hash table to provide unique font faces + + Similar to the freetype and toy font backends, use a hash table + to map logfont,hfont to font faces. + + This fixes the multiple embedding of the same font in PDF. + + https://bugs.freedesktop.org/show_bug.cgi?id=24849 + + src/cairo-debug.c | 4 + + src/cairo-mutex-list-private.h | 4 + + src/cairo-win32-font.c | 163 +++++++++++++++++++++++++++++++++++++++-- + src/cairoint.h | 3 + + 4 files changed, 169 insertions(+), 5 deletions(-) + +commit 31e116f084d0ff073bed9d0e9c1c6ca1e5db4843 +Author: Eric Anholt <eric@anholt.net> +Date: Sat Nov 13 15:48:03 2010 -0800 + + gl: Avoid using gl_FragCoord for linear gradients. + + The issue is that we store our data flipped based on whether we're + rendering to an FBO or to a window. By not flipping our gl_FragCoord + usage based on that (either with math or ARB_frag_coord_conventions), + this caused linear gradients to be flipped when rendering either to a + window or to an FBO. To avoid this, pass in appropriate texcoords. + And, if we're passing in texcoords, just do the projection to the + linear gradient factor on the CPU side per vertex instead of providing + a bunch of uniforms to do the math per fragment. + + Fixes 18 testcases. + + src/cairo-gl-composite.c | 74 +++++++++++++++++++++++++++++------------------- + src/cairo-gl-private.h | 4 +-- + src/cairo-gl-shaders.c | 12 +++----- + 3 files changed, 51 insertions(+), 39 deletions(-) + +commit 7237eb62be34370b34e0ba31504b5ae2708e44e5 +Author: Jeff Muizelaar <jmuizelaar@mozilla.com> +Date: Wed Nov 10 14:21:58 2010 -0500 + + Sync get-path-extents test with the one on 1.10. + + The problem fixed by e9bb70d2dee4ef7a54e3971f09a08df30c2b5287 + had already been fixed on master by always computing exact extents: + 89e1261dd0fdb6c6c0271f71dd84d72504969ab1 + + test/get-path-extents.c | 28 +++++++++++++++++++++++++++- + 1 file changed, 27 insertions(+), 1 deletion(-) + +commit 3afd7cd031ab9097e37c3e89d86ec41d015fdeb8 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Wed Nov 10 20:09:53 2010 +1030 + + PDF: Restrict ActualText to PDF version >= 1.5 + + The use of ActualText in a marked content sequence is a PDF 1.5 + feature. + + A 'use_actual_text' flag linked to the PDF version has already been + implemented in pdf-operators but for some reason this flag had not + been used to control the use of ActualText. + + src/cairo-pdf-operators.c | 31 ++++++++++++++++++------------- + 1 file changed, 18 insertions(+), 13 deletions(-) + +commit 7ee313d7b86b8c9eeaa5bf9b42a47d3f1feaeeee +Author: Benjamin Otte <otte@redhat.com> +Date: Mon Nov 8 14:22:38 2010 -0500 + + xcb: Add more _cairo_error() calls + + We still don't track various error conditions... + + src/cairo-xcb-surface.c | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +commit 78dadf11ca3d13a399b5942ab2a5c1c399689729 +Author: Benjamin Otte <otte@redhat.com> +Date: Mon Nov 8 14:17:37 2010 -0500 + + xlib: Add more _cairo_error() calls + + We still don't track various error conditions... + + src/cairo-xlib-surface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 5f2e647dcf94eefd233c84881987b3dead2fbd85 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Nov 7 14:37:05 2010 +0000 + + drm/intel: Drop the bo cache. + + As this remains experimental, rely on the highly experimental kernel + caching... + + src/drm/cairo-drm-intel-private.h | 10 -- + src/drm/cairo-drm-intel.c | 210 +------------------------------------- + 2 files changed, 3 insertions(+), 217 deletions(-) + +commit b4e55b84e20999e410d0ba04ebb83b81c21c8447 +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Oct 30 10:43:46 2010 +0200 + + test/README: Change suggested screen size + + The dash-state test needs a surface with a width of 1500 pixels. If the screen + size is smaller than that, the boilerplate backends that create a window on the + X server can't properly do their job because part of the window would be outside + of the screen. This means people should use a screen large enough for all the + needed test surfaces. 1680 seemed like a more-or-less realistic value here. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/README | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 95f6f7a174ca096a3d3dbe84ff220d166d1e2baa +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Oct 22 11:54:57 2010 +0200 + + Make both versions of _cairo_lround consistent again + + Commit c0008242b0f made cairo use libm's lround instead of its own _cairo_lround + by default. However, since commit ce58f874 from 2006, _cairo_lround does + arithmetic rounding instead of away-from-zero rounding (before said commit, it + was using baker's rounding). + + So to make the rounding of _cairo_lround be independent from + DISABLE_SOME_FLOATING_POINT, we have to use another function. Turns out that + _cairo_round already does the same thing that _cairo_lround does. Their only + difference is the return type. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairoint.h | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 5d5a7d6b22156e5bbb9bf6d4f706740af3ca05ac +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Oct 22 16:33:55 2010 +0200 + + _cairo_round: Fix documentation + + Despite what the comment says, this function rounds halfway cases towards + positive infinity. + + _cairo_round ( 0.5) => floor ( 1.0) => 1.0 + _cairo_round (-0.5) => floor ( 0.0) => 0.0 + _cairo_round (-1.5) => floor (-1.0) => -1.0 + + Signed-off-by: Uli Schlachter <psychon@znc.in> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairoint.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 6383e1442cf3918ea71378ce46144e1bb5707882 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Oct 25 09:11:05 2010 +0200 + + XCB: Check screen size in boilerplate + + Trying to create a window for drawing that is larger than the available screen + space is a bad idea. When the test finishes and tries to grab the resulting + image from the X server, the window's area that is outside of the screen will + have undefined content. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + boilerplate/cairo-boilerplate-xcb.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +commit daaef055b57a5cd91c0bd9ef2b774e0bce41043d +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Nov 7 21:50:56 2010 +1030 + + PDF: Fix toUnicode for CID fonts + + 1047dc6b introduced a regression for text that is using 16-bit glyphs + in the content stream. + + src/cairo-pdf-surface.c | 38 ++++++++++++++++++++++++-------------- + src/cairo-scaled-font-subsets.c | 1 - + 2 files changed, 24 insertions(+), 15 deletions(-) + +commit f1d1928d13f4f83cc37d68ab4773f7c796d08c6e +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Oct 21 13:38:30 2010 +0200 + + xcb: Fix transformation matrix setting + + _cairo_xcb_picture_set_matrix() checked if the matrix that it should + set is an identity matrix. In this case this function simply didn't do + anything at all. The assumption here seems to be that a picture's + matrix is the identity matrix by default. + + The problem here is that we might first set a picture's matrix to + something else and then later need an identity transform again. Fix + this by still setting the new matrix if it is an identify matrix. We + just skip some unneeded checks and optimizations in this case. + + This fixes the "finer-grained-fallbacks" test in the test suite. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 24 ++++++++++++------------ + 1 file changed, 12 insertions(+), 12 deletions(-) + +commit d51ab091422fc64831578bffb3a502c83ec8bdf5 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Nov 6 15:46:48 2010 +0100 + + configure: Correct reporting of tee backend + + Since 9f33f8453b4949cfdc63169d3acd7238f89379c2 tee is not compiled in + anymore by default. Reporting it as always enabled is misleading. + + build/configure.ac.features | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5906e64000b35c9a6b5ea52f6842a572d812d7bb +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Nov 6 22:45:11 2010 +1030 + + Type 1 glyph names: Do not use an array of pointers for winansi glyph names + + Similar to ps_standard_encoding array, use a string pool and lookup + indices for the winansi glyph names to reduce .data size. As + ps_encoding and winansi share mostly the same names, the perl script + has been modified to merge the symbols into the one string pool and + generate separate lookup indices for ps_encoding and winansi. + + src/cairo-type1-glyph-names.c | 342 ++++++++++++++++++++++++++---------------- + 1 file changed, 211 insertions(+), 131 deletions(-) + +commit 048a43e5c464adfcd0aeb682cb812ae228ef4a83 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Nov 6 22:31:46 2010 +1030 + + Move glyph names into separate file + + The latin subsets feature requires these names. As + cairo-type1-subsets.c depends on FreeType, move these names out to a + separate file to allow compilation without FT. + + src/Makefile.sources | 1 + + src/cairo-scaled-font-subsets-private.h | 3 + + src/cairo-type1-glyph-names.c | 330 ++++++++++++++++++++++++++++++++ + src/cairo-type1-subset.c | 281 +-------------------------- + 4 files changed, 335 insertions(+), 280 deletions(-) + +commit 74873c82242e9c124b69e05d0f8abdf78983d62d +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Nov 6 21:15:30 2010 +1030 + + Fix type1-fallback bbox + + src/cairo-type1-fallback.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 8f2f5e5ad4f8e5f18da903865bb2d2afce3a544e +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Nov 6 18:44:54 2010 +1030 + + configure.ac.features: s/Meta/Recording/ + + build/configure.ac.features | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit e9bb70d2dee4ef7a54e3971f09a08df30c2b5287 +Author: Jeff Muizelaar <jmuizelaar@mozilla.com> +Date: Fri Nov 5 11:40:00 2010 -0400 + + Fix degenerate vertical path bounds. + + 6b77567b6ef28710c7707ab82c7fa95c810152d1 made vertical + path bounds with no area return extents of 0,0. This fixes + the problem by not assuming degenerate path bounds are 0,0 + + src/cairo-path-bounds.c | 4 +++- + test/get-path-extents.c | 40 ++++++++++++++++++++++++++++++++-------- + 2 files changed, 35 insertions(+), 9 deletions(-) + +commit b53084b7c530ed0473137ee8ebfab70fdd8e3c23 +Author: Markus Stange <mstange@themasta.com> +Date: Fri Nov 5 09:23:44 2010 +0100 + + Fix type of _cairo_memory_stream_destroy parameter + + In 9b9952ab4f64a476bbadfd3e6cf1e66c1137ccd7 + _cairo_memory_stream_destroy was changed to take an unsigned long + instead of unsigned int, and the two callsites in cairo-gl-shaders.c + weren't updated. + + src/cairo-gl-shaders.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 6dda9c4465fa229f3fe9927e8318121642b41c14 +Author: Erik Zeek <zeekec@mad.scientist.com> +Date: Thu Nov 4 17:57:03 2010 +0100 + + Fix build on gentoo + + The problem is probably caused by a change in the behavior of autoconf + (2.67). + + See http://bugs.gentoo.org/336329 + + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 84a7fe8a5c5326d77b0954be439799202e947d6b +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Nov 2 21:47:36 2010 +1030 + + CFF Subset: Remove debug code + + src/cairo-cff-subset.c | 13 ------------- + 1 file changed, 13 deletions(-) + +commit 1047dc6b944d802eca441ec4956f7b5e1745fe60 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Nov 2 21:38:06 2010 +1030 + + PDF: Use correct bfchar size in toUnicode for latin fonts + + poppler was printing warnings about the wrong size + + src/cairo-pdf-surface.c | 27 +++++++++++++-------------- + src/cairo-scaled-font-subsets.c | 1 + + 2 files changed, 14 insertions(+), 14 deletions(-) + +commit 91a6fe64236985d30f5794d760698deafd9e6511 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Nov 1 21:15:07 2010 +0100 + + image: Use correct size for allocation + + In 06e9caf86199e8261a07db6d4774628fa147728d the type of the variables + was changed, but the type used to compute the allocation size was not. + + Fixes a crash in user-font-mask (test-fallback backend). + (cherry picked from commit c7027c9d89d9a13d6cbc1727fc8513c908878db9) + + src/cairo-image-surface.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit c7027c9d89d9a13d6cbc1727fc8513c908878db9 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Nov 1 21:15:07 2010 +0100 + + image: Use correct size for allocation + + In 06e9caf86199e8261a07db6d4774628fa147728d the type of the variables + was changed, but the type used to compute the allocation size was not. + + Fixes a crash in user-font-mask (test-fallback backend). + + src/cairo-image-surface.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 852e789b756f9589b102a4b24b85642f199d0915 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Nov 1 15:53:10 2010 +0100 + + quartz-font: Do not leak CFDataRef's + + CFData is allocated and thus needs to be freed. + + src/cairo-quartz-font.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 947d35c19539b84c866d792c067a0cc63485e94e +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon Nov 1 14:06:32 2010 +0100 + + quartz-font: Add truetype font table tags accessor + + Improves the quality of embedded fonts. + + src/cairo-quartz-font.c | 39 ++++++++++++++++++++++++++++++++++++++- + 1 file changed, 38 insertions(+), 1 deletion(-) + +commit bb30dae210da3fc71bb242c7a73b8f9308eec2a1 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Oct 30 11:33:33 2010 +0200 + + script: Fix compilation + + Use accessors instead of directly accessing path optimization flags. + + Change the conditions for outputting tolerance (was 'when + path->is_rectilinear is FALSE', now is 'whenever the path includes a + curve'). + + Always output tolerance for strokes, because pen depends on tolerance + (for round caps/joins and for cusps). + + src/cairo-script-surface.c | 16 +++++++--------- + 1 file changed, 7 insertions(+), 9 deletions(-) + +commit e43ae002118992961ce2b55b18774cec350e662c +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Oct 30 11:31:19 2010 +0200 + + cff: Fixes for 'make check' + + Fixed some complaints by 'make check' about exported symbols in cff. + + src/cairo-cff-subset.c | 2 +- + src/cairo-scaled-font-subsets-private.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 22ea4609be03584de2f2985e55bf169b7af4f868 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Oct 30 11:28:03 2010 +0200 + + path: Solve co-dependency problem + + FALSE and TRUE are defined in cairoint.h, but cairoint.h depends on + cairo-path-fixed-private.h, so just use 0/1 to avoid the depencency + loop. + + Fixes a number of errors reported by 'make check'. + + src/cairo-path-fixed-private.h | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 330b343952c103d902841a1da7422dd4d0623117 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Oct 30 11:26:13 2010 +0200 + + drm: Do not access path flags directly + + Fixes compilation + + src/drm/cairo-drm-i915-surface.c | 6 +++--- + src/drm/cairo-drm-i965-surface.c | 6 +++--- + 2 files changed, 6 insertions(+), 6 deletions(-) + +commit 5b2ed2422dffb407d80ec38ac0502ba951368ad2 +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Oct 30 09:57:40 2010 +0200 + + xcb: Do not access flags directly + + This fixes compilation of the xcb backend by porting commit e9c1fc31887c5bfbb's + changes from the image backend. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit b8444a5c78c5d254b21331353884bcfe8efb0a5e +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Oct 22 23:16:21 2010 +0200 + + path: Tighten transformed extents + + The transformation code should produce tight extents if they are to be + used in the new simple extents functions. + + src/cairo-path-fixed.c | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +commit 89e1261dd0fdb6c6c0271f71dd84d72504969ab1 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Oct 22 12:35:40 2010 +0200 + + path-bounder: Simplify code + + If the path extents are tight, all the extents computations and + approximations become trivial except for the stroke extents. + + src/cairo-path-bounds.c | 249 +++++++++++------------------------------------- + src/cairoint.h | 5 + + 2 files changed, 61 insertions(+), 193 deletions(-) + +commit 958c56e2b4f5447cc5a1cc137a8d287aebabe5dc +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Oct 22 23:03:51 2010 +0200 + + path: Tighten curve_to extents + + The additional time spent in the computation of tight extents for the + curve_to operation doesn't seem to be significant, but it makes the + extents computations faster and the approximations more accurate. + + src/cairo-path-fixed.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +commit 0655198301ec60b387b581a10b991ee442743374 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Oct 16 22:51:28 2010 +0200 + + Fix degenerate arcs + + Make sure that degenerate arcs become a move_to-line_to sequence + instead of just a move_to. + + Fixes get-path-extents. + + src/cairo-arc.c | 4 ++++ + src/cairo.c | 1 + + 2 files changed, 5 insertions(+) + +commit a1d8763236ccbb7bc11724a87b25bacafce44a7c +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Oct 22 23:06:36 2010 +0200 + + path: Replace _cairo_path_fixed_extents_add with _cairo_box_add_point + + Path extents now satisfy _cairo_box_add_point requirements, so it can + be used instead of _cairo_path_fixed_extents_add. + + src/cairo-path-fixed.c | 21 +++------------------ + 1 file changed, 3 insertions(+), 18 deletions(-) + +commit 02687065509aa4dead4528b2c8dd9aa31dc76332 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Oct 21 17:25:46 2010 +0200 + + path: Fix _cairo_path_fixed_transform + + current_point and last_move_to were previously left in their old + position (which could lead to incorrect flag computation if other + operations were added to the path) and flags were not updated. + + src/cairo-path-fixed.c | 50 ++++++++++++++++++++++++++++++++++---------------- + 1 file changed, 34 insertions(+), 16 deletions(-) + +commit 29d5b18cba05357dc4885447035e65f93e7d7728 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Oct 28 18:38:50 2010 +0200 + + path: Recompute flags in _cairo_path_fixed_scale_and_offset + + Only fill_maybe_region can change its value because the transformation + preserves vertical and horizontal lines, but can move the points and + make them integer if they were not or non-integer if they were. + + Recomputing it is just as easy as checking if all the points are + integer and the path is fill_is_rectilinear. + + src/cairo-path-fixed.c | 19 +++++++++---------- + 1 file changed, 9 insertions(+), 10 deletions(-) + +commit 634fcf2c0a66b342ae81faa0e0a75ae72491a313 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Oct 28 18:36:42 2010 +0200 + + path: Transform current_point and last_move_to in _cairo_path_fixed_scale_and_offset + + They were previously left in their old position (which could lead to + incorrect flag computation if other operations were added to the + path). + + src/cairo-path-fixed.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 9c0e4db570d9de506eb48de0e9a27497b8cf2f61 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Oct 22 22:19:48 2010 +0200 + + path: Recompute flags in _cairo_path_fixed_translate + + Only fill_maybe_region can change its value because the transformation + preserves vertical and horizontal lines, but can move the points and + make them integer if they were not or non-integer if they were. + + Recomputing it is just as easy as checking if all the points are + integer and the path is fill_is_rectilinear. + + src/cairo-path-fixed.c | 23 ++++++++++++----------- + 1 file changed, 12 insertions(+), 11 deletions(-) + +commit 9d84dff0c6a7be5abf1f931eabe77afca21f04aa +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Oct 17 15:02:54 2010 +0200 + + path: Cleanup close_path + + Instead of explicitly calling _cairo_fixed_move_to, setting the + needs_move_to flags is sufficient because the current_point is already + updeted correctly. + + src/cairo-path-fixed.c | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +commit 17fef2fe4ddcba8d0811922f012add50109eb0e2 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Oct 17 11:56:49 2010 +0200 + + path: Make _cairo_path_fixed_last_op assert on empty path + + _cairo_path_fixed_last_op should now only be used on non-empty path + (to test if the previous operation was a line_to). + + src/cairo-path-fixed.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 568a975a62fde8d4dfaef2086c4f40e3354ba43b +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Oct 21 17:24:30 2010 +0200 + + path: Cleanup _cairo_path_fixed_iter_at_end + + The last operation of a path cannot be a move_to anymore (since + move_to is only added if another operation is added after it). + + src/cairo-path-fixed.c | 11 +---------- + 1 file changed, 1 insertion(+), 10 deletions(-) + +commit 929571b4b56d56c669eb4cbb3e109e2bd4620fb0 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Oct 21 17:11:48 2010 +0200 + + path: Cleanup _cairo_path_fixed_transform + + Clean up the code and make sure that _cairo_path_fixed_translate is + used whenever the _cairo_fixed_to_double rounding would result in the + matrix being approximated with a translation. + + src/cairo-path-fixed.c | 21 ++++++++++----------- + 1 file changed, 10 insertions(+), 11 deletions(-) + +commit 34f1db13a13f80733a7eb5bef4693c4df7a6fb4e +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Oct 21 16:59:01 2010 +0200 + + path: Log flags + + When logging path operations, also log computed flags. + + src/cairo-path-fixed.c | 15 +++++++++++++-- + 1 file changed, 13 insertions(+), 2 deletions(-) + +commit e8e614db92c43ed1b22251a1903396c99022326c +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Oct 28 18:02:59 2010 +0200 + + path: Rename fill optimization flags + + Rename fill optimization flags making fill_ their common prefix. + + src/cairo-path-fixed-private.h | 15 ++++++++++---- + src/cairo-path-fixed.c | 47 +++++++++++++++++++++++------------------- + src/cairo.c | 8 +++---- + 3 files changed, 41 insertions(+), 29 deletions(-) + +commit e48cb95493c1dc9532ae0d689238ff3bc317cc4c +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Oct 28 17:56:37 2010 +0200 + + path: Add stroke_is_rectilinear flag + + Stroke and fill rectilinearity cannot be represented by a single flag + without missing the opportunity of considering some strokes + rectilinear. + + src/cairo-path-fixed-private.h | 9 +++++---- + src/cairo-path-fixed.c | 45 ++++++++++++++++++++++-------------------- + src/cairo.c | 6 ++++-- + 3 files changed, 33 insertions(+), 27 deletions(-) + +commit 166453c1abf2279b884a4d878729fa4fcfa550cb +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Oct 21 15:14:31 2010 +0200 + + path: New path construction logic + + Now move_to's are actually added to the path when followed by a + drawing operation (line_to, curve_to or close_path). + + This is implemented by updating the current_point and setting the + needs_move_to when a move_to operation is requested. + + Whenever a drawing operation is requested and the needs_move_to flag + is set, a move_to is added before the drawing operation. + + src/cairo-path-bounds.c | 6 +-- + src/cairo-path-fixed-private.h | 9 ++-- + src/cairo-path-fixed.c | 111 ++++++++++++++++++++++------------------- + src/cairo.c | 6 ++- + 4 files changed, 72 insertions(+), 60 deletions(-) + +commit a2ac91eb5f66f4c633abbcd6945f6015837ff211 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Oct 17 14:10:58 2010 +0200 + + path: Drop degenerate line_to in _cairo_path_fixed_curve_to + + When a degenerate line_to is followed by a curve_to operation, the + line_to can be safely dropped, just like for degenerate line_to + followed by line_to. + + src/cairo-path-fixed.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +commit 2352b48f9e9b54b4586548df74aaaa28d5308c0b +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Oct 17 14:21:07 2010 +0200 + + path: Move _cairo_path_fixed_add at the end of line_to and curve_to + + src/cairo-path-fixed.c | 11 +++-------- + 1 file changed, 3 insertions(+), 8 deletions(-) + +commit d6c3451ee24555abd0e9dcb5e5b8e4f85b70b7f0 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Oct 22 13:43:01 2010 +0200 + + box: Add _cairo_box_add_curve_to + + Add a function to extend a box with the extents of a curve_to + operation. + + src/cairo-rectangle.c | 29 +++++++++++++++++++++++++++++ + src/cairoint.h | 7 +++++++ + 2 files changed, 36 insertions(+) + +commit 46584e01a8acfb43bb4af1b4e3b89b5cb5ebe246 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Oct 22 13:41:51 2010 +0200 + + box: Add box header + + Add a new header implementing very simple box functions: + - initialization with the two extrema + - extension with a point + - in/out test + + src/cairo-box-private.h | 75 +++++++++++++++++++++++++++++++++++++++++++++++++ + src/cairo-path-fixed.c | 1 + + src/cairo-path-stroke.c | 1 + + src/cairo-rectangle.c | 11 ++------ + src/cairoint.h | 4 --- + 5 files changed, 79 insertions(+), 13 deletions(-) + +commit 65d57313f00b3775eb443f0c0069b996b44941d8 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Oct 17 12:33:40 2010 +0200 + + path: Cleanup _cairo_path_fixed_line_to + + The low-level line_to optimizations can be implemented in a more + abstract way using _cairo_path_fixed_penultimate_point and + _cairo_path_fixed_drop_line_to. + + src/cairo-path-fixed.c | 22 ++++++++-------------- + 1 file changed, 8 insertions(+), 14 deletions(-) + +commit f3e7677109d7ac0b775f2d373796f444cc3bff54 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Oct 17 11:40:34 2010 +0200 + + path: Simplify close_path + + Instead of explicitly computing the flag in close_path, manually close + the path with a line_to, then drop the last operation if it is a + line_to (it might be another operation if the line_to was ignored + because it would have been degenerate). + + src/cairo-path-fixed.c | 37 +++++++++++++++++-------------------- + 1 file changed, 17 insertions(+), 20 deletions(-) + +commit 641d314b9a3c670ddade74df99f1443063bd991b +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Oct 17 11:54:19 2010 +0200 + + path: Add utility functions + + Add a function to get the penultimate point and another one to drop + the last operation (assuming it is a line_to). + + This allows some more abstraction in the line_to and close_path code. + + src/cairo-path-fixed.c | 28 ++++++++++++++++++++++++++++ + 1 file changed, 28 insertions(+) + +commit 4075ed9686483defa9fb1cffca6509f079f9a91d +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Oct 17 11:53:58 2010 +0200 + + path: Rename _cairo_path_last_op to _cairo_path_fixed_last_op + + Aestetical change, to make the naming consistent with that of the + other functions. + + src/cairo-path-fixed.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +commit a8763d8fdeeb16323b8641e168475f77d73908a3 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Oct 17 11:38:23 2010 +0200 + + path: Make path equality independent of flags + + Flags for the same path can be different depending on its "history" + (in particular if it was constructed and transformed they might be + different from what they would be if each point was transformed and + then the path constructed). + + src/cairo-path-fixed.c | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +commit f4b2ce1c78c05c0a551aab7c84451c7ee1759213 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Oct 17 10:55:15 2010 +0200 + + path: Improve hashing + + Make the hash independent of buf bucketing, extents and flags. + + This makes the hash depend only on the actual content of the path, not + on how it is stored or on any computed property. + + src/cairo-path-fixed.c | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +commit e9c1fc31887c5bfbb7d086f923a7628b7cfa739c +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Oct 16 23:57:06 2010 +0200 + + path: Do not access flags directly + + Use inline accessors to hide the flags in the code. + + This ensures that flags that need additional computations (example: + is_rectilinear for the fill case) are always used correctly. + + src/cairo-clip.c | 18 +++++++++--------- + src/cairo-gstate.c | 2 +- + src/cairo-image-surface.c | 6 +++--- + src/cairo-path-fill.c | 8 ++++---- + src/cairo-path-fixed-private.h | 26 +++++++++++++++++++------- + src/cairo-path-in-fill.c | 2 +- + src/cairo-path-stroke.c | 6 +++--- + src/cairo-surface-fallback.c | 6 +++--- + 8 files changed, 43 insertions(+), 31 deletions(-) + +commit 14cc9846b302a990e65d7572e7f095a8873a213d +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Oct 16 23:08:03 2010 +0200 + + path: Replace _cairo_path_fixed_is_equal with _cairo_path_fixed_equal + + Remove _cairo_path_fixed_is_equal and use _cairo_path_fixed_equal + instead. + The latter function can recognize that two paths are equal even if the + drawing commands have been partitioned in a different way in the buf + list. + + src/cairo-path-fixed.c | 35 ----------------------------------- + src/cairo-recording-surface.c | 4 ++-- + src/cairoint.h | 4 ---- + 3 files changed, 2 insertions(+), 41 deletions(-) + +commit ac7b2a972097f4080ab6e5a29974c830b8b57a4f +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Oct 15 21:51:12 2010 +0200 + + test: Fix get-path-extents + + The test was considering all the empty rects equals, but this is + not correct when testing the results of cairo_path_extents(). + + test/get-path-extents.c | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +commit 253374d6ada14796b5ec55ceb7983de62be34f62 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Oct 29 15:00:03 2010 +0100 + + configure: Remove noisy -Wlogical-op + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + build/configure.ac.warnings | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 5a762edc28310a59968230ccb5354c57808606bf +Author: Benjamin Otte <otte@redhat.com> +Date: Thu Oct 28 13:57:05 2010 +0200 + + build: Don't build cairo-fdr when the tee surface is off + + util/Makefile.am | 2 ++ + 1 file changed, 2 insertions(+) + +commit 83259f6ed60e00d0c25ca81c9ff9adfc017ebf5f +Author: Benjamin Otte <otte@redhat.com> +Date: Thu Oct 28 13:57:05 2010 +0200 + + build: Don't build cairo-fdr when the tee surface is off + + util/Makefile.am | 2 ++ + 1 file changed, 2 insertions(+) + +commit efc2440526c609338d68354ddf38031d1fa7c2c4 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Oct 28 21:21:00 2010 +1030 + + PDF: Don't use the currently set color after a 'Q' operator + + https://bugs.freedesktop.org/show_bug.cgi?id=31140 + (cherry picked from commit e23bcfd4300870034f07b1ecd1bb4d2ac95d9785) + + src/cairo-pdf-surface.c | 1 + + 1 file changed, 1 insertion(+) + +commit e23bcfd4300870034f07b1ecd1bb4d2ac95d9785 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Oct 28 21:21:00 2010 +1030 + + PDF: Don't use the currently set color after a 'Q' operator + + https://bugs.freedesktop.org/show_bug.cgi?id=31140 + + src/cairo-pdf-surface.c | 1 + + 1 file changed, 1 insertion(+) + +commit 147fa7a2bea74bfc02059d99df72b998d45eb843 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Oct 24 16:40:53 2010 +0200 + + test: Add romedalen images copyright information + + romedalen.png and romedalen.jpg have been bundled into the test + suite without an explicit copyright notice. + + test/COPYING | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +commit f47830dbbc34c7068ccdd8f7f9042e8734c9e408 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Oct 24 11:32:41 2010 +1030 + + Type 1 subset: Fix glyph advance + + https://bugs.freedesktop.org/show_bug.cgi?id=31062 + (cherry picked from commit 6dc0b19adb6da690ad5944623081b9cdb42de066) + + src/cairo-type1-subset.c | 30 +++++++++++++++--------------- + 1 file changed, 15 insertions(+), 15 deletions(-) + +commit f747ea81fb91239690b1785bce9ed29cb58c9098 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Oct 14 19:28:13 2010 +1030 + + PDF: Fix regression in EXTEND_NONE gradients + + The test for opaque gradients in _cairo_pdf_surface_add_pdf_pattern() + must be identical to the test in + _cairo_pdf_surface_emit_pattern_stops() other wise the PDF file will + reference a smask that does not exist. + + The _cairo_pattern_is_opaque() test is too strict for PDF as PDF can + draw EXTEND_NONE gradients with opaque color stops without requiring a + smask. + (cherry picked from commit 7a17ef31760c49b81fd2890814f5b2aeb8c6b3a3) + + src/cairo-pdf-surface.c | 15 ++++++++++++++- + 1 file changed, 14 insertions(+), 1 deletion(-) + +commit 6dc0b19adb6da690ad5944623081b9cdb42de066 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Oct 24 11:32:41 2010 +1030 + + Type 1 subset: Fix glyph advance + + https://bugs.freedesktop.org/show_bug.cgi?id=31062 + + src/cairo-type1-subset.c | 30 +++++++++++++++--------------- + 1 file changed, 15 insertions(+), 15 deletions(-) + +commit cee1dadc66107e1cc6bcac7718e0b67969141876 +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Oct 21 22:14:57 2010 +0200 + + Other backends: Set round_glyph_positions to OFF + + This sets CAIRO_ROUND_GLYPH_POS_OFF in all surface backends that didn't use + CAIRO_ROUND_GLYPH_POS_ON. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-pdf-surface.c | 1 + + src/cairo-ps-surface.c | 1 + + src/cairo-svg-surface.c | 1 + + src/cairo-vg-surface.c | 1 + + 4 files changed, 4 insertions(+) + +commit d24e9881de7b392cfce1d82c9861553ece558aaf +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Oct 21 14:03:38 2010 +0200 + + raster backends: Set round_glpyh_positions to ON + + This fixes "text-rotate" in the test suite for the image backend and + "overlapping-glyphs" for the xcb backend. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-gl-surface.c | 1 + + src/cairo-image-surface.c | 1 + + src/cairo-win32-printing-surface.c | 1 + + src/cairo-xcb-surface.c | 1 + + src/cairo-xlib-screen.c | 1 + + 5 files changed, 5 insertions(+) + +commit b514863a0ee8e6c4f0a994f6f5e7db18ce290e79 +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Oct 21 13:59:25 2010 +0200 + + Actually implement round_glpyh_positions + + The previous commit only added this option and made sure it gets set, but it + didn't actually have any effect. This commit now implements this option. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-scaled-font.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +commit 6bfe71124b56b496056b77b3b51eef4d656ccf54 +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Oct 21 13:52:33 2010 +0200 + + font options: Add private round_glpyh_positions field + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-font-options.c | 49 +++++++++++++++++++++++++++++++++++++++++++++-- + src/cairo-surface.c | 3 ++- + src/cairo-types-private.h | 7 +++++++ + src/cairoint.h | 7 +++++++ + 4 files changed, 63 insertions(+), 3 deletions(-) + +commit fae88051c18722566d15b96a1b23bfde1844c3ee +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Oct 17 17:47:22 2010 +0200 + + XCB: Use consistent rounding modes for a1 rasterisation. + + This ports commits 36b4b0631 and 7ab9ce1b9 from the image backend to xcb. Look + there for an explanation of why this is correct, I only copied this over and the + test suite said it was good. :-) + + This fixes unantialiased-shapes, a1-rasterisation-rectangles and + a1-rasterisation-triangles. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 80 ++++++++++++++++++++++++++---------------- + 1 file changed, 50 insertions(+), 30 deletions(-) + +commit b80bcf66b284deeb4d44d68a860a1e7857136982 +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Oct 14 20:38:35 2010 +0200 + + XCB: Fix for all unbounded operators + + _cairo_xcb_surface_fixup_unbounded_boxes() calculated a list of boxes that it + has to clear to make an unbounded operator work correctly. Then it cleared the + boxes that were drawn instead of clearing the list of boxes that it has to + clear. + + The reason that this wasn't noticed before is that there is an optimization in + case we have only one box instead of a whole list of boxes. This hid the bug. + + This fixes the "unbounded-operator" test case. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 4465ff779aae506194e8bf0a649947ee67bbc5fc +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Oct 14 18:12:39 2010 +0200 + + XCB: Move the assert from 5a0f8f7320c916c + + Calling _cairo_xcb_surface_ensure_picture() on a XCB surface whose fallback + member is non-null is always an error. It's possible that the surface first gets + a picture assigned and later it's fallback member is set. In this situation, + it's still wrong to use the surface's picture for any drawing- + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c6c3bdba4b43a1f678dae46bfe52d37fc292c6d4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Oct 20 14:26:37 2010 +0100 + + perf: Only print description once per backend + + Currently we print the backend description before every time, which is + overly verbose. As the information doesn't^Wshouldn't change, simply + print it before running the first test of each target. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-trace.c | 5 +++++ + perf/cairo-perf.h | 1 + + 2 files changed, 6 insertions(+) + +commit 0d93468efc7f7337b63c0cd746d5185e14d345f1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Oct 15 10:37:25 2010 +0100 + + xcb: Pass clip to composite_glyphs_via_mask + + Spotted by Uli Schlachter. + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface-render.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 42ecc427f361bcce68d529ae308ab65ff14ecea8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Oct 15 10:28:32 2010 +0100 + + xcb,image: Fix a missing clip fini + + Spotted by Uli Schlachter when I copied the image glyphs clipping to + xcb. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-surface.c | 4 +++- + src/cairo-xcb-surface-render.c | 4 +++- + 2 files changed, 6 insertions(+), 2 deletions(-) + +commit 22cdb7041f4ecbcac708583bc195d13934be6cf7 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Wed Oct 13 19:23:45 2010 +1030 + + PS: Remove radial gradient fallback + + when one circle not inside the other. Pixman now follows the PDF + specification. + + src/cairo-ps-surface.c | 19 ++----------------- + 1 file changed, 2 insertions(+), 17 deletions(-) + +commit d3655e04b2e27bacdeeddbaf0c4a212b9b93b6ee +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Wed Oct 13 19:20:07 2010 +1030 + + PDF: Remove radial gradient fallback + + when one circle not inside the other. Pixman now follows the PDF + specification. + + src/cairo-pdf-surface.c | 17 +---------------- + 1 file changed, 1 insertion(+), 16 deletions(-) + +commit 34d929962413136ac127245c4347df5c6a5387b3 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Oct 14 19:32:51 2010 +1030 + + PS: Remove redundant code + + The test for zero stops is now in gstate. + + src/cairo-ps-surface.c | 3 --- + 1 file changed, 3 deletions(-) + +commit 7a17ef31760c49b81fd2890814f5b2aeb8c6b3a3 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Oct 14 19:28:13 2010 +1030 + + PDF: Fix regression in EXTEND_NONE gradients + + The test for opaque gradients in _cairo_pdf_surface_add_pdf_pattern() + must be identical to the test in + _cairo_pdf_surface_emit_pattern_stops() other wise the PDF file will + reference a smask that does not exist. + + The _cairo_pattern_is_opaque() test is too strict for PDF as PDF can + draw EXTEND_NONE gradients with opaque color stops without requiring a + smask. + + src/cairo-pdf-surface.c | 15 ++++++++++++++- + 1 file changed, 14 insertions(+), 1 deletion(-) + +commit 6fecbb000d29dde153ce35ec08f663249f234b8e +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Oct 14 13:26:48 2010 +0200 + + XCB: Remove an incorrect clipping optimizations + + It seems like the idea here was to optimize for the special case of a + rectangular clip, where the region operation could be replace by + direction operation on the draw extents. However, we cannot modify the + geometry for all operations, and in particular the glyphs. So remove + this from the common compositing path. + + This fixes partial-clip-text in the test suite. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface-render.c | 3 --- + 1 file changed, 3 deletions(-) + +commit 408033b4641ba66de0cb60df1c89e437d7422040 +Author: Uli Schlachter <psychon@znc.in> +Date: Wed Oct 13 20:15:16 2010 +0200 + + Add myself to AUTHORS + + I was looking around for changes that I could do. This what I came up with. + Seems boring, but nothing better came up this time. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + [ickle: Apologies for not doing it on your behalf.] + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + AUTHORS | 1 + + 1 file changed, 1 insertion(+) + +commit 8b6e0809955f01c369838f7c73db8d92d5953d72 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Oct 14 14:20:46 2010 +0100 + + xcb: Fix reduction of clipping for bounded glyphs. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface-render.c | 38 ++++---------------------------------- + 1 file changed, 4 insertions(+), 34 deletions(-) + +commit e6ce65fb82c2df09330f31fd9251fdf96f0cab50 +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Oct 5 19:40:52 2010 +0200 + + xcb: Correctly handle ARGB visuals + + We want surface->depth to end up as "32", so we have to invent an alpha mask. + This mask is not used anyway (only its popcount), but still this should get a + less ugly fix. + + This was found because "assert (reply->depth == surface->depth);" in + _get_image() failed. + + Original-patch-by: Ross Alexander <Ross.Alexander@EU.NEC.COM> + Signed-off-by: Uli Schlachter <psychon@znc.in> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit da62cc21da4f250850050d0ead947858fb804223 +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Oct 12 21:59:14 2010 +0200 + + _cairo_xcb_surface_picture: Check for fallback + + If a cairo surface's fallback member is set, the current content of that surface + is in-memory and the X server has an outdated version of stuff. Our + optimizations for doing in-server copies are wrong in this case and we should do + stuff in cairo instead of the X server. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface-render.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 5a0f8f7320c916c86c4fd66a5aa8cb8545c00643 +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Oct 12 21:56:46 2010 +0200 + + _cairo_xcb_surface_ensure_picture: Check fallback + + When an XCB surface's fallback member is not NULL, we did some rendering that + the X server couldn't do for us and thus did that internally in cairo instead. + This means the X drawable's content is out of date and should not be used for + drawing anything. + + This adds an assert which checks for that situation. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface-render.c | 1 + + 1 file changed, 1 insertion(+) + +commit 35b1688c92d2c0e1353fc2b5e89abb29c2acda8d +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Oct 13 00:13:42 2010 +0200 + + quartz: Remove unused imageSurface field + + imageSurface was used to store a reference to the fallback image + generated by during fallbacks for gradients. The fallback code + has been removed as it is not needed anymore, thus this field can + be removed as well. + + src/cairo-quartz-surface.c | 5 ----- + 1 file changed, 5 deletions(-) + +commit ce455994a36cabe4a39a666556282ef2bf8b8daf +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Oct 13 00:10:09 2010 +0200 + + quartz: Cleanup gradient setup functions + + Gradient setup does not depend anymore on the surface on which the + gradient will be composited. + + src/cairo-quartz-surface.c | 18 ++++++------------ + 1 file changed, 6 insertions(+), 12 deletions(-) + +commit 1061c80d79e0e282617669397b45e0776d23bfb6 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Jul 29 16:48:30 2010 +0200 + + quartz: Move drawing state out of surface + + Some pattern types (gradients, surface patterns) require some + temporary information to be stored as "graphic state", because it + doesn't belong to CGContext. Previously all of this data was stored + inside the surface during the drawing operations, now it's in a + stack-allocated structure (of type cairo_quartz_drawing_state_t). + Based on a patch by Robert O'Callahan <robert@ocallahan.org>. + See https://bugzilla.mozilla.org/show_bug.cgi?id=522859 + + src/cairo-quartz-private.h | 12 ---- + src/cairo-quartz-surface.c | 166 ++++++++++++++++++++++++++------------------- + 2 files changed, 95 insertions(+), 83 deletions(-) + +commit bbaca9598292eaee2da3c8a7c275d53bf1a1a652 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Jul 29 15:50:21 2010 +0200 + + quartz: Unify DO_SHADING, DO_IMAGE and DO_TILED_IMAGE + + DO_SHADING, DO_IMAGE and DO_TILED_IMAGE sources all require the source + to be painted over the whole surface (inside the clip region), thus can + share the same code path in drawing functions. + + src/cairo-quartz-surface.c | 54 ++++++++++++++-------------------------------- + 1 file changed, 16 insertions(+), 38 deletions(-) + +commit 51a6ae9d71daefdca214fdc48e1bb8fcba10029d +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Jul 29 15:06:39 2010 +0200 + + quartz: Unify DO_SOLID and DO_PATTERN + + Both DO_SOLID and DO_PATTERN setup the underlying CGContext to directly + use the chosen color/pattern when filling and stroking, thus require no + additional drawing operations and can share the same drawing code. + + src/cairo-quartz-private.h | 4 +--- + src/cairo-quartz-surface.c | 22 +++++++++------------- + 2 files changed, 10 insertions(+), 16 deletions(-) + +commit c22e75e9f6cb471c764af0d721ad07cdf30a3bad +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jul 28 19:03:13 2010 +0200 + + quartz: Set operator when setting up source + + Share some code between the drawing functions by saving the state + and setting the operator when setting up the source and by restoring + the state during teardown. + Based on a patch by Robert O'Callahan <robert@ocallahan.org>. + See https://bugzilla.mozilla.org/show_bug.cgi?id=522859 + + src/cairo-quartz-private.h | 2 -- + src/cairo-quartz-surface.c | 69 ++++++++++++++-------------------------------- + 2 files changed, 21 insertions(+), 50 deletions(-) + +commit 6bc1376cf52a9815b75f8c0ce66e149fbc64495e +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Oct 8 09:49:51 2010 +0200 + + quartz: Remove DO_NOTHING and DO_UNSUPPORTED actions + + DO_NOTHING and DO_UNSUPPORTED are not actual actions and are better + handled by returning an appropriate cairo_int_status_t (and falling + back, if needed). + + src/cairo-quartz-private.h | 9 +++ + src/cairo-quartz-surface.c | 147 ++++++++++++++++++++++----------------------- + 2 files changed, 82 insertions(+), 74 deletions(-) + +commit 08c59c6bf3296cc8c70b71a270a3685227c1621b +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Oct 8 16:57:27 2010 +0200 + + quartz: Improve gradient quality + + Instead of extending the range of the interpolation parameter to make + sure that pixels exactly on the edge get drawn, we are now asking + quartz to extend the gradient. + + src/cairo-quartz-surface.c | 11 +---------- + 1 file changed, 1 insertion(+), 10 deletions(-) + +commit 620c43f50c2c613b8fb334b97d9edcbede0e61bb +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Sep 7 08:49:05 2010 +0200 + + quartz: Fix EXTEND_PAD gradients + + Make PAD extended gardients more robust, by computing the color + explicitly like for REPEAT and REFLECT extend modes. + This removes a hack introducing a small but non-0 negative value + that ensured that the gradient started with the correct color (but + not that it ended with the correct one, too). + + Fixes linear-gradient-large. + + src/cairo-quartz-surface.c | 20 +++++++------------- + 1 file changed, 7 insertions(+), 13 deletions(-) + +commit 2af3ae92ebe91e39b835eae048addc442533fb67 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Oct 12 22:52:54 2010 +0200 + + quartz: Improve gradient consistency + + By keeping "virtual extents", quartz surfaces now keep track of + the extents where they want the gradients to be consistent. + This works across various API for surface creation and editing: + - cairo_surface_create_for_rectangle + - cairo_surface_create_similar + cairo_surface_set_device_offset + - cairo_push_group/cairo_pop_group + + This method does not use clip extents, so it also makes gradient + rasterization independent of clip/path extents. + + src/cairo-quartz-private.h | 1 + + src/cairo-quartz-surface.c | 114 ++++++++++++++++++--------------------------- + 2 files changed, 46 insertions(+), 69 deletions(-) + +commit d21b4f31665d409e1bfa6eae82b3c10dd77c4b28 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Oct 12 22:35:36 2010 +0200 + + Add _cairo_rectangle_union + + Implement _cairo_rectangle_union(), a function to compute a rectangle + containing two input rectangles. + + src/cairo-rectangle.c | 23 +++++++++++++++++++++++ + src/cairoint.h | 7 +++++++ + 2 files changed, 30 insertions(+) + +commit 2b3d9b3a3aedc37481639dff923c97b8ff956c80 +Author: Joerg Sonnenberger <joerg@NetBSD.org> +Date: Tue Oct 12 22:07:37 2010 +0200 + + LD_PRELOAD is supported on DragonFly. + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 1c36766d27173c5e4751e131d6bf26441d95a10e +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Oct 12 16:06:45 2010 +0200 + + quartz: Remove unused code + + The gradient fallback path is not used anymore. + + src/cairo-quartz-surface.c | 53 ---------------------------------------------- + 1 file changed, 53 deletions(-) + +commit 2cea2bb085a34650defbc18a477ddf468060b58c +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Oct 12 15:37:23 2010 +0200 + + quartz: Make radial gradients follow PDF specification + + Pixman master (soon to become pixman 0.20) implements radial + gradients based on the PDF specification (section 8.7.4.5.4). + Quartz natively implements them, so falling back is not needed + anymore. + + src/cairo-quartz-surface.c | 14 -------------- + 1 file changed, 14 deletions(-) + +commit 5054727927ee86c5952f8956aa0225f49e9ff66e +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Oct 12 16:04:53 2010 +0200 + + quartz: Remove linear gradient fallback + + Degenerate linear gradients are reduced to solid gradients in + gstate, so backends do not need to handle them. + + src/cairo-quartz-surface.c | 10 ---------- + 1 file changed, 10 deletions(-) + +commit b661bc871220fd67d673c44a8e3cb305812d8c38 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Oct 12 20:13:53 2010 +0200 + + test: Update ref images for radial tests + + Pixman master now rasterizes radial gradients following the PDF + specification (see section 8.7.4.5.4 of PDF 32000-1:2008). + + test/radial-gradient-mask-source.argb32.ref.png | Bin 116311 -> 105572 bytes + test/radial-gradient-mask-source.image16.ref.png | Bin 82800 -> 76287 bytes + test/radial-gradient-mask-source.rgb24.ref.png | Bin 129093 -> 115808 bytes + test/radial-gradient-mask.argb32.ref.png | Bin 116311 -> 105572 bytes + test/radial-gradient-mask.image16.ref.png | Bin 82800 -> 76287 bytes + test/radial-gradient-mask.rgb24.ref.png | Bin 129093 -> 115808 bytes + test/radial-gradient-one-stop.argb32.ref.png | Bin 1392 -> 1575 bytes + test/radial-gradient-one-stop.rgb24.ref.png | Bin 1153 -> 1307 bytes + test/radial-gradient-source.argb32.ref.png | Bin 272428 -> 251063 bytes + test/radial-gradient-source.image16.ref.png | Bin 132037 -> 119942 bytes + test/radial-gradient-source.rgb24.ref.png | Bin 193364 -> 179609 bytes + test/radial-gradient.image16.ref.png | Bin 202415 -> 188481 bytes + test/radial-gradient.ref.png | Bin 280971 -> 262931 bytes + 13 files changed, 0 insertions(+), 0 deletions(-) + +commit f96187e31ed68aef9f92f008bc3f36469ffdeef4 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Oct 8 20:29:06 2010 +1030 + + Rewrite pdf-operators word wrapping + + to fix some bugs + + src/cairo-pdf-operators.c | 231 +++++++++++++++++++++++----------------------- + 1 file changed, 113 insertions(+), 118 deletions(-) + +commit dd96c4accb546870b7bf7db4af10c2762de58d78 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Oct 8 23:05:42 2010 +1030 + + Refresh ft-show-glyphs-positioning pdf ref image + + The new image is more accurate as a result of the fix in 165a14b5 + + test/ft-show-glyphs-positioning.pdf.ref.png | Bin 3133 -> 3117 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit a0b208fc71db586d3793fa4e2f4c01b275608261 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Oct 8 23:01:12 2010 +1030 + + Don't put Type3 glyphs in latin subsets + + it is not yet implemented + + src/cairo-scaled-font-subsets.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +commit b50d9d0783939ff9e68484c6d9ab7e64c31044fa +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Oct 7 17:41:36 2010 -0400 + + Fix typo + + test/testtable.js | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 425e68590b94d4701d81b73ef2232ea76dd97f48 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Sep 26 11:05:35 2010 +0200 + + test: Remove old html infrastructure + + The new dynamic html page supersedes the old make-generated static + html page. + + test/.gitignore | 1 - + test/Makefile.am | 29 ++--- + test/Makefile.win32 | 13 +-- + test/make-html.pl | 303 ---------------------------------------------------- + 4 files changed, 9 insertions(+), 337 deletions(-) + +commit f29e7d155f3a2ee75daf63719460348ea2ca0f76 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Aug 6 18:23:07 2010 +0200 + + test: Add a new test result html page + + This page uses JavaScript to parse test log files and create the + test table according to the results. It also allows dynamic selection + and hiding of rows/columns based on a chosen parameter and table + structure change, by dragging a field from rows to columns and vice + versa. + + Left click selects the cells with the chosen parameter-value association. + If these cells are exactly the only show cells, it hides them and shows + all the other ones, instead. + + Right click inverts the visibility of the cells with the chosen + parameter-value association. + + When some rows are hidden, the PASS/NEW/FAIL/XFAIL/CRASH counters show + both the currently shown test case count and the total count, if they are + different: "23[62]" means that there are 62 test case in that category, + but only 23 are currently visible. + + Dragging a field from the row (or column) header to the column (or row) + header rebuilds the table to have that field along the columns (or rows), + updating PASS/NEW/FAIL/... counters and showing the whole table again. + + Test names are hyperlinks to the test log. + Images are hyperlinks to themselves. + + test/index.html | 42 ++++++ + test/testtable.js | 426 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 468 insertions(+) + +commit 4e064b3a32e4d699a6494bf9d8dbcd7b8d9cbc64 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Aug 6 18:20:49 2010 +0200 + + test: Make tests run in natural order + + When tests are registered, they are prepended to a list. + Reverting the list, we get a list whose order is the same as that + of registration. + + test/cairo-test-runner.c | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +commit 5500d072e0e3d66d762a147caa803d036766b629 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jul 27 21:22:02 2010 +0200 + + quartz: Handle failures in _cairo_quartz_setup_fallback_source + + If the fallback surface creation or painting fail, the fallback + surface needs to be destroyed. + + src/cairo-quartz-surface.c | 44 +++++++++++++------------------------------- + 1 file changed, 13 insertions(+), 31 deletions(-) + +commit 17bb0f8b1fc6d209ad53b7b995bc013c85a4e058 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jul 28 10:26:50 2010 +0200 + + quartz: Improve _cg function types + + src/cairo-quartz-surface.c | 25 ++++++++++--------------- + 1 file changed, 10 insertions(+), 15 deletions(-) + +commit 3b4f7c36626d2d08295ebc1ec2548060c1728b67 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Oct 7 18:59:22 2010 +0200 + + quartz: Improve handling of surface creation failure + + Don't paint on a surface whose status is not SUCCESS. + + src/cairo-quartz-surface.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit b13a8035c1c164c6fe6382467a53ceb463d2d3ff +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jul 27 19:05:25 2010 +0200 + + quartz: Remove useless code + + The condition is always true (since surface creation returns non-NULL + even upon failure). + + src/cairo-quartz-surface.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +commit f156f89db071cc09e35e30de0c9ac7b5824f6849 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jul 27 18:55:38 2010 +0200 + + quartz: Simplify cairo_quartz_surface_create_for_cg_context + + Only retaining the context when the surface cration is successful + avoids needless retaining and simplifies the code. + + src/cairo-quartz-surface.c | 9 ++------- + 1 file changed, 2 insertions(+), 7 deletions(-) + +commit c5fc8fa62fa92a80a5d8ee84cfe610ec4497fef6 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jul 27 18:48:00 2010 +0200 + + quartz: Use NOTHING_TO_DO instead of SUCCESS where appropriate + + Returning CAIRO_INT_STATUS_NOTHING_TO_DO removes some code that + specifically handles it to convert to CAIRO_STATUS_SUCCESS. This + is already performed out of the backend, in the upper layers, so + it is not needed here. + + src/cairo-quartz-surface.c | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +commit eae5fafc89d35f76d1eb49f3a0dcee509e735b5e +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Jul 29 16:05:51 2010 +0200 + + quartz: Beautify code + + Remove redundant parentheses and reference/dereferences. + + src/cairo-quartz-surface.c | 35 ++++++++++++----------------------- + 1 file changed, 12 insertions(+), 23 deletions(-) + +commit f93603fda094c149deeb77afa11cc12f4d1d5c19 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jul 27 17:24:08 2010 +0200 + + quartz: Whitespace cleanup + + src/cairo-quartz-surface.c | 33 +++++++++++++++------------------ + 1 file changed, 15 insertions(+), 18 deletions(-) + +commit 6ff5cbd8a9c7d8e9d226c0eedc5c278c4afe7700 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jul 27 16:51:30 2010 +0200 + + quartz: Mark failures as unlikely + + src/cairo-quartz-surface.c | 71 +++++++++++++++++++++++----------------------- + 1 file changed, 35 insertions(+), 36 deletions(-) + +commit 2f4a47c6bfd10594ec31830d45bc218ebe4eafb0 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jul 27 15:59:31 2010 +0200 + + quartz: Fix function call coding style + + Cairo coding style specifies a single space between the function + name and the parentheses. + + src/cairo-quartz-surface.c | 273 +++++++++++++++++++++++---------------------- + 1 file changed, 138 insertions(+), 135 deletions(-) + +commit 692f20a8592ed2730b63c084224d996225912b53 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jul 27 16:06:27 2010 +0200 + + quartz: Don't typecast surfaces + + Casting to (cairo_surface_t *) is considered bad practice. The + correct way to get a reference to the generic surface information + is &(surface->base) + + src/cairo-quartz-surface.c | 36 ++++++++++++++++++------------------ + 1 file changed, 18 insertions(+), 18 deletions(-) + +commit b922477e4e31198739098dff1bc1ed49f81e4745 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jul 27 14:44:17 2010 +0200 + + quartz: Check for valid patterns + + The pattern handling code ensures that 0 stops patterns are reduced + to clear solid patterns before being passed down to the backend. + An assertion is used to make sure that the assumption actually holds, + removing the duplication of the reduce-to-solid-clear logic. + + src/cairo-quartz-surface.c | 15 +++------------ + 1 file changed, 3 insertions(+), 12 deletions(-) + +commit c9aa393a4db15eeb1ea29aaf5bca4b2570a0cfab +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jul 27 14:43:15 2010 +0200 + + quartz: Assert upon invalid enum values + + Invalid enum values were being ignored (and replaced by a default + value). This behavior is not desirable on development builds, + because an explicit failure is much easier to track. + Assertions allow release builds to keep on with the old behaviour, + while development builds fail as soon as the invalid operaiton is + performed. + + src/cairo-quartz-surface.c | 56 +++++++++++++++++++++++++++++----------------- + 1 file changed, 35 insertions(+), 21 deletions(-) + +commit 9c22f97ebdcc9303d1a1530e7909d6b0d74d30e4 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jul 27 14:38:28 2010 +0200 + + quartz: Remove unused argument from _cairo_surface_to_cgimage + + src/cairo-quartz-surface.c | 13 ++++++------- + 1 file changed, 6 insertions(+), 7 deletions(-) + +commit ef60650bd6e0b3a354c85dc2e1be8550be6f7c91 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Oct 7 23:09:52 2010 +1030 + + Fix bug in subsetting check for winansi characters + + src/cairo-scaled-font-subsets.c | 12 +++++------- + 1 file changed, 5 insertions(+), 7 deletions(-) + +commit 390a6aa99771615763ed7349060e493f15c1d6d3 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Wed Oct 6 22:43:36 2010 +1030 + + remove unused variable + + src/cairo-scaled-font-subsets.c | 12 ------------ + src/cairoint.h | 2 -- + 2 files changed, 14 deletions(-) + +commit ea45bc1b4b655b6e85be14669fdea97da2b6edae +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Aug 3 13:41:17 2010 +0930 + + PS: Allow %%BoundingBox and %%PageBoundingBox to be overriden using DSC comments + + src/cairo-ps-surface.c | 38 +++++++++++++++++++++++++++----------- + 1 file changed, 27 insertions(+), 11 deletions(-) + +commit b950212a2a6aca7784b637d93b13b10daef8d801 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Mon Oct 4 23:11:56 2010 +1030 + + CFF subset: add support for latin subsets + + src/cairo-cff-subset.c | 410 +++++++++++++++++++++++++++----- + src/cairo-pdf-surface.c | 142 +++++++---- + src/cairo-scaled-font-subsets-private.h | 6 +- + src/cairo-scaled-font-subsets.c | 31 ++- + src/cairo-type1-subset.c | 13 +- + src/cairoint.h | 2 + + 6 files changed, 487 insertions(+), 117 deletions(-) + +commit f20814e07e7032c14f273d712f35e19addfdae80 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Oct 5 10:36:38 2010 +0200 + + xcb: Do not return value in void function + + Sun Studio Compiler complains: + "cairo-xcb-surface.c", line 585: void function cannot return value + even if the returned value is void. + Some minor code restructuring removes the issue. + + src/cairo-xcb-surface.c | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +commit e675660ca7b50ce16108e11215bbb9aff05c7262 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Oct 4 22:08:33 2010 +0100 + + xcb: Correct a minor typo prevent an assert from firing + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface-render.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit b6f830bab07e7e2ea7c3a8cb895d7a37c990c550 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Oct 4 18:11:50 2010 +0200 + + xcb: Correctly clear the composite surface + + Calling _cairo_xcb_surface_render_paint() with CAIRO_OPERATOR_CLEAR and no clip + just results in the surface's deferred_clear flag to be set to TRUE. Fix this by + calling _cairo_xcb_surface_clear() directly instead. + + This half-fixes the clip-shape test in the test-suite. The difference to the + reference image becomes much smaller at least. :( + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +commit 0a651b93a45f8c43399188a95870ca0055becced +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Oct 4 12:48:23 2010 +0200 + + xcb: Fix compiler warning about unused result + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit be50c32ed594ccc90d6502c23cbf8c3d0f1dae67 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Oct 4 12:41:46 2010 +0200 + + xcb: Fix CAIRO_OPERATOR_IN + + The if that is being removed here resulted in no drawing done at all when it + skipped the call to _render_fill_boxes(). This is obviously not what + CAIRO_OPERATOR_IN wants. + + This fixes the "operator" test in the test suite. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit c200560929f1d14667c9b2133a3591665f36c0d3 +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Oct 3 21:15:07 2010 +0200 + + XCB: Fix some weird code + + In the XCB backend, drawing a surface pattern always caused an extend of + CAIRO_EXTEND_NONE to be used. This caused e.g. all the + surface-pattern-scale-down-extend-* tests in the test suite to fail. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 9 +-------- + 1 file changed, 1 insertion(+), 8 deletions(-) + +commit 7d2979e446e2e10b6c5ace711549d25690b477ed +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Oct 2 16:58:06 2010 +0930 + + Don't embed cmap in TrueType fonts embedded in PostScript + + it doesn't print on a LaserJet 4050 + + src/cairo-pdf-surface.c | 2 +- + src/cairo-ps-surface.c | 2 +- + src/cairo-scaled-font-subsets-private.h | 28 +++++++++++++++++++++++++--- + src/cairo-truetype-subset.c | 31 ++++++++++++++++++++++++------- + 4 files changed, 51 insertions(+), 12 deletions(-) + +commit cd74f5edabf653d1c1c6daacea3626ba2548d5e0 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Oct 2 12:34:42 2010 +0930 + + pdf-operators: word wrap latin text strings + + src/cairo-pdf-operators.c | 73 +++++++++++++++++++++++++++++++++++++++++------ + 1 file changed, 65 insertions(+), 8 deletions(-) + +commit 7450a3c8a7843334d6e16af3ecef88915b5d9f26 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Oct 1 19:18:28 2010 +0930 + + pdf-operators: fix bug that was causing unnecessary repositioning of text + + This optimizes the output to increase the maximum amount of text that + is emitted with a single Tj operator. + (cherry picked from commit 165a14b5646d582781d119874f549ec9a02d7f53) + + src/cairo-pdf-operators-private.h | 1 + + src/cairo-pdf-operators.c | 7 ++++++- + 2 files changed, 7 insertions(+), 1 deletion(-) + +commit 43c93f2b101f534f8aa4213403af3281fcdc17fb +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Oct 1 17:41:28 2010 +0930 + + Fix font metrics in PDF Type 1 fonts + + edcefa87 introduced a bug in the Type 1 font metrics in PDF files. + (cherry picked from commit 3f817dcfd39ffdb73ac694fd90a47d9d3a42af74) + + src/cairo-type1-subset.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +commit 165a14b5646d582781d119874f549ec9a02d7f53 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Oct 1 19:18:28 2010 +0930 + + pdf-operators: fix bug that was causing unnecessary repositioning of text + + This optimizes the output to increase the maximum amount of text that + is emitted with a single Tj operator. + + src/cairo-pdf-operators-private.h | 1 + + src/cairo-pdf-operators.c | 7 ++++++- + 2 files changed, 7 insertions(+), 1 deletion(-) + +commit af3b550bc186361a0b6a779df0fc57799c3f163d +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Oct 1 18:07:01 2010 +0930 + + PDF: Add support for latin subsets + + Add support for Type 1 and TrueType latin subsets. + + CFF latin subsets are not yet implemented. + + src/cairo-cff-subset.c | 20 ++++ + src/cairo-pdf-surface.c | 191 ++++++++++++++++++++++---------- + src/cairo-scaled-font-subsets-private.h | 9 ++ + src/cairo-scaled-font-subsets.c | 11 +- + 4 files changed, 170 insertions(+), 61 deletions(-) + +commit 85c25d79f7e77ae35a68b9444609aef8d5397011 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Oct 1 18:05:34 2010 +0930 + + TrueType subsetting: embed a cmap for latin subsets + + To support latin subsets in PDF, TrueType fonts require a cmap to map + unicode to glyph indices for all characters in the winansi encoding. + + src/cairo-scaled-font-subsets-private.h | 3 + + src/cairo-scaled-font-subsets.c | 7 +- + src/cairo-truetype-subset.c | 123 ++++++++++++++++++++++---------- + 3 files changed, 94 insertions(+), 39 deletions(-) + +commit 7c268bc8382350ab803eecb898d4650999a3a6bb +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Oct 1 18:01:07 2010 +0930 + + PS: Enable support for latin subsets + + Make PS TrueType embedding use the winansi glyph mapping for latin subsets. + + Enable use of latin subsets in PS. + + src/cairo-ps-surface.c | 32 ++++++++++++++++++++++++-------- + 1 file changed, 24 insertions(+), 8 deletions(-) + +commit 52f3db92a747eb694b94f28d6862abd573f3b378 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Oct 1 17:58:40 2010 +0930 + + Type 1 fallback: add support for latin subsets + + For latin subsets the /Encoding array maps the latin encoding to the + font glyphs. + + src/cairo-type1-fallback.c | 27 +++++++++++++++++++++------ + 1 file changed, 21 insertions(+), 6 deletions(-) + +commit 4a0e5b7ced989b2c1a17757ba17142eb55e3924d +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Oct 1 17:58:20 2010 +0930 + + Type 1 subsetting: add support for latin subsets + + For latin subsets the /Encoding array maps the latin encoding to the + font glyphs. + + src/cairo-type1-subset.c | 32 ++++++++++++++++++++++++-------- + 1 file changed, 24 insertions(+), 8 deletions(-) + +commit 01ee091ee98bc0544d9a3d5665cdecddd8f368cc +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Oct 1 17:57:43 2010 +0930 + + Add winansi glyph names + + for the PS backend and Type 1 subsetters to use with latin fonts. + + src/cairo-scaled-font-subsets-private.h | 3 +- + src/cairo-scaled-font-subsets.c | 7 ++- + src/cairo-type1-subset.c | 92 +++++++++++++++++++++++++++++++++ + 3 files changed, 100 insertions(+), 2 deletions(-) + +commit e62891cd8f27b62c3ee04d822524c9cee69a2e62 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Oct 1 17:55:53 2010 +0930 + + Return latin to glyph mapping in cairo_scaled_font_subset_t + + so that font subsetters can include the latin to glyph encoding in the + subsetted font. + + src/cairo-scaled-font-subsets.c | 22 +++++++++++++++++++++- + src/cairoint.h | 2 ++ + 2 files changed, 23 insertions(+), 1 deletion(-) + +commit 807e690de4fda63a42a49a4342b563a6d54377ce +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Oct 1 17:55:02 2010 +0930 + + pdf-operators: output (abc) style strings when font is latin + + src/cairo-pdf-operators-private.h | 1 + + src/cairo-pdf-operators.c | 57 ++++++++++++++++++++++++++++----------- + 2 files changed, 43 insertions(+), 15 deletions(-) + +commit f1ca978032e973c4dc5cfa385074dea675a6c76d +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Oct 1 17:53:11 2010 +0930 + + Add capability for font subsets to put latin glyphs in a separate subset + + This is required to allow PDF/PS output to use "(this is ascii)" style + strings that can be post processed by applications like psfrag. It + will also reduce the file size when a large amount of latin text is + used due to the 8-bit encoding instead of the 16-bit used for CID + fonts. + + The winansi encoding (CP1252) is used for the latin subset as this is + a standard PDF encoding. Some PDF readers have buggy support for non + standard PDF 8-bit encodings. + + src/cairo-scaled-font-subsets-private.h | 13 ++ + src/cairo-scaled-font-subsets.c | 306 ++++++++++++++++++++++---------- + 2 files changed, 228 insertions(+), 91 deletions(-) + +commit 3f817dcfd39ffdb73ac694fd90a47d9d3a42af74 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Oct 1 17:41:28 2010 +0930 + + Fix font metrics in PDF Type 1 fonts + + edcefa87 introduced a bug in the Type 1 font metrics in PDF files. + + src/cairo-type1-subset.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +commit 877bc14eaf188ddf5ca747a0b7c808cccd2d1c5f +Merge: 7b308fdcc 66ace8cd3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 29 13:57:36 2010 +0100 + + Merge branch '1.10' + +commit 66ace8cd33c0ebe88972f0c4d5c0effeacb1cea3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 29 13:46:02 2010 +0100 + + image: The a8 in-place span compositing is only valid for SOURCE + + Fixes test/a8-clear. + + Reported-by: Jeremy Moles <jeremy@emperorlinux.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-surface.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +commit 05faebd5845c68005f5b96428952faae5a67208f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 29 13:23:24 2010 +0100 + + test: Add a8-clear + + Reported-by: Jeremy Moles <jeremy@emperorlinux.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.am | 1 + + test/Makefile.sources | 1 + + test/a8-clear.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++ + test/a8-clear.ref.png | Bin 0 -> 271 bytes + 4 files changed, 66 insertions(+) + +commit ac6fd51fe4e500973e0939983d00aa81c8acf556 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 29 13:25:08 2010 +0100 + + image: Silence a compile warning + + cairo-image-surface.c: In function ‘_cairo_image_reset_static_data’: + cairo-image-surface.c:1006: warning: old-style function definition + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 7b308fdcc9cda8291176f1f614fe416d80e330dd +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 24 11:31:03 2010 +0100 + + version: 1.11.1 + + Mark the opening of master for new development work. A few quiets have + passed since 1.10 with no major brown bag incident, so lets start + harvesting the work for 1.12. + + Go Andrea, go! + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 75e2b7c7b52be6663fac05925b9b4cc5f3b42f9f +Author: Tim Janik <timj@gtk.org> +Date: Thu Sep 23 13:55:11 2010 +0200 + + cairo: docu fix for cairo_set_source_surface + + src/cairo.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 4cf5260e99e3e7588e45ee179c57b75588b95987 +Author: Kouhei Sutou <kou@cozmixng.org> +Date: Sun Sep 12 10:36:27 2010 +0900 + + xml: fix a typo to correct the indentation after <path></path> + + Signed-off-by: Kouhei Sutou <kou@cozmixng.org> + + src/cairo-xml-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 0f070bd5ff9ad17b90852e8a7ba102c6b4b050f6 +Author: Tomáš Chvátal <scarabeus@gentoo.org> +Date: Sat Sep 11 22:55:23 2010 +0200 + + Fix posix calls in configure.ac test code. + + Fixes https://bugs.gentoo.org/show_bug.cgi?id=336779 + + Signed-off-by: Tomáš Chvátal <scarabeus@gentoo.org> + + configure.ac | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit f59771051badc2ea708437c5faa27d0895f787d6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Aug 18 08:48:36 2010 +0100 + + drm: Add missing header file for tarball + + src/Makefile.sources | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +commit 8fca990be7fca609e834703e60dd888c13fc637f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 10 13:35:11 2010 +0100 + + cairo: Remove trailing comma from cairo_device_t + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=30115 + Reported-by: Murray Cumming <murrayc@murrayc.com> + + src/cairo.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 291876ad3477330143bbb814ea72c658dc8ca584 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Sep 9 22:53:38 2010 +0200 + + test: do not leak resources + + Silence some leak reports by check-valgrind. + + test/subsurface-outside-target.c | 1 + + 1 file changed, 1 insertion(+) + +commit 8fda4ab1cc7f60196b232d194c33e592ecdec9b5 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Aug 26 11:15:46 2010 +0200 + + image: add _cairo_image_reset_static_data + + Image has static caches which needs to be reset to make + cairo_debug_reset_static_data behave as expected. + Silences a bunch of leak reports by check-valgrind. + + Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-debug.c | 2 ++ + src/cairo-image-surface.c | 42 ++++++++++++++++++++++++++++++++++-------- + src/cairoint.h | 3 +++ + 3 files changed, 39 insertions(+), 8 deletions(-) + +commit ca775cbf5a7245092cabdda43db9d06e96613ff4 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Aug 26 11:13:51 2010 +0200 + + test: do not leak resources + + Silence two leak reports by check-valgrind. + + Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/linear-gradient-large.c | 1 + + test/nil-surface.c | 3 ++- + 2 files changed, 3 insertions(+), 1 deletion(-) + +commit 2b6c4c2a64c585cb815089e83719e00b1cfc985f +Author: Carlos Garcia Campos <carlosgc@gnome.org> +Date: Thu Sep 9 11:28:03 2010 +0200 + + recording: Document CAIRO_HAS_RECORDING_SURFACE macro + + src/cairo-recording-surface.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +commit d8f88cf3f97af6771a4d77bf81e1025eb7bcfd1d +Author: Carlos Garcia Campos <carlosgc@gnome.org> +Date: Thu Sep 9 11:00:42 2010 +0200 + + recording: Fix cairo_recording_surface_create() doc comments + + The name of the parameters in the docs should match the name of the + function parameters. Added also return value docs. + + src/cairo-recording-surface.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +commit 737880260f1895667baf25bcc6814052e6a6a027 +Author: Carlos Garcia Campos <carlosgc@gnome.org> +Date: Thu Sep 9 10:57:13 2010 +0200 + + recording: Add section doc comments + + src/cairo-recording-surface.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +commit 1ddc1bfa01e4c17001504c886bc5fb97625f5861 +Author: Carlos Garcia Campos <carlosgc@gnome.org> +Date: Thu Sep 9 10:54:50 2010 +0200 + + doc: Add section for recording surface + + doc/public/cairo-docs.xml | 1 + + doc/public/cairo-sections.txt | 7 +++++++ + 2 files changed, 8 insertions(+) + +commit a48eccbf77874e00a57ab7f1ab96ed0f359b3963 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 7 13:58:29 2010 +0100 + + configure: Fix typo "(requires both --enable-xcb)" + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit faeb6caaeba76c9797db0cd917bff4f102512d59 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Sep 6 18:40:27 2010 +0100 + + version: 1.10.1 open for bugfixing + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) |