diff options
Diffstat (limited to 'libs/cairo-1.16.0/ChangeLog.pre-1.14')
-rw-r--r-- | libs/cairo-1.16.0/ChangeLog.pre-1.14 | 17030 |
1 files changed, 17030 insertions, 0 deletions
diff --git a/libs/cairo-1.16.0/ChangeLog.pre-1.14 b/libs/cairo-1.16.0/ChangeLog.pre-1.14 new file mode 100644 index 0000000..11da296 --- /dev/null +++ b/libs/cairo-1.16.0/ChangeLog.pre-1.14 @@ -0,0 +1,17030 @@ +commit f6fd372a8b31a0bebbdfe36090d6ffc7bab9a2f8 +Author: Bryce Harrington <bryce@osg.samsung.com> +Date: Mon Oct 13 18:54:12 2014 -0700 + + pattern: Restore dropped inclusion of cairoint.h + + Fixes failure in make release-check due by check-preprocessor-syntax.sh + due to requirement that cairoint.h be the first include for source files. + + src/cairo-pattern.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 60ca80b248c2a5ffd0744162af7a1f1df1b04398 +Author: Bryce Harrington <bryce@osg.samsung.com> +Date: Mon Oct 13 18:45:53 2014 -0700 + + 1.14.0 release + + cairo-version.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 3e41f7b38169f7724ed737790a5c0ad68ff80a04 +Author: Bryce Harrington <bryce@osg.samsung.com> +Date: Mon Oct 13 18:30:23 2014 -0700 + + NEWS: Flesh out docs for new APIs + + NEWS | 13 +++++++++++-- + src/cairo-surface.c | 2 +- + 2 files changed, 12 insertions(+), 3 deletions(-) + +commit 41561c527c72d20f6f09f898f6390a578cfd4095 +Author: Bryce Harrington <bryce@osg.samsung.com> +Date: Mon Oct 13 18:20:45 2014 -0700 + + NEWS: Update with latest changes and finalize for release + + NEWS | 24 +++++++++++++++++++----- + 1 file changed, 19 insertions(+), 5 deletions(-) + +commit ab2a7b61d59258b71e1c3256edf2f42ea6cc1eb2 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Oct 12 21:04:37 2014 +1030 + + pdf: don't use '\' to split strings across multiple lines + + The PDF interpreter in my printer does not handle this correctly. + So instead we add the string delimiters '(' and ')' to each line. + + src/cairo-pdf-operators.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 45934f69cd158b7bb5632f5e4334a156795147f4 +Author: Bill Spitzak <spitzak@gmail.com> +Date: Thu Oct 9 19:46:16 2014 -0700 + + image: Corrected extents calculations + + New implementations of _cairo_pattern_sampled_area and _cairo_pattern_get_extents + which produce a more accurate bounding box. These do not depend on side-effects + of analyze_filter, can handle different horizontal and vertical scales, filters + wider than 1 for down-scaling, and compute a somewhat tighter bounding box + in most cases. + + I removed the pad output of _cairo_pattern_analyze_filter as it is unused. + + Reviewed-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-composite-rectangles.c | 2 +- + src/cairo-pattern-private.h | 5 +- + src/cairo-pattern.c | 275 ++++++++++++++++++++++++--------------- + src/cairo-xlib-core-compositor.c | 4 +- + src/cairoint.h | 4 - + src/drm/cairo-drm-i915-shader.c | 39 +----- + 6 files changed, 176 insertions(+), 153 deletions(-) + +commit 3cd7ed1f320c3ce330da3d3153c39b613e4a5a15 +Author: Bill Spitzak <spitzak@gmail.com> +Date: Thu Oct 9 19:46:15 2014 -0700 + + xcb: Use image fallback for GOOD/BEST filters + + It will not use the fallback if the symbols in the previous patch + are turned on. + + Also some code rearrangement to make this resemble the xlib version + more and to remove some suspect bugs. In particular meshes should not + work just because the translation is an integer. + + Reviewed-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-xcb-surface-render.c | 34 ++++++++++++++++------------------ + 1 file changed, 16 insertions(+), 18 deletions(-) + +commit ca9aee4e62d914b3cd3d6747ff1a4961d9aff8ed +Author: Bill Spitzak <spitzak@gmail.com> +Date: Thu Oct 9 19:46:14 2014 -0700 + + xcb: Add switches for whether XRender supports GOOD/BEST filtering + + Currently these are always false, but if XRender use a pixman that + supports filtering these could be turned on for that version. + + Reviewed-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-xcb-connection.c | 10 ++++++++++ + src/cairo-xcb-private.h | 6 +++++- + 2 files changed, 15 insertions(+), 1 deletion(-) + +commit 58728da6eba4d89ba7c4328b22a552af633abb05 +Author: Bill Spitzak <spitzak@gmail.com> +Date: Thu Oct 9 19:46:13 2014 -0700 + + xlib: Use image fallback for GOOD/BEST filters + + Fallback is not used if the symbols defined in the previous patch to + indicate if XRender does GOOD/BEST are true. + + This patch also includes some changes to take advantage of the fact that + if there is an integer translation analyze_filter will already have set + the filter to NEAREST. + + Reviewed-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-xlib-source.c | 23 ++++++++++++++--------- + 1 file changed, 14 insertions(+), 9 deletions(-) + +commit c653dcd3e6ac1cef2440fa0db97a8e5ce30b2a47 +Author: Bill Spitzak <spitzak@gmail.com> +Date: Thu Oct 9 19:46:12 2014 -0700 + + xlib: Add symbols to indicate if XRender supports GOOD/BEST filtering + + Currently these are always false, but if some version of xlib uses + a pixman supporting filtering they could be changed to return true + for that version. + + Reviewed-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-xlib-private.h | 2 ++ + 1 file changed, 2 insertions(+) + +commit c8b1bf55ad016de0675f4e924fdb8e17051a029c +Author: Bill Spitzak <spitzak@gmail.com> +Date: Thu Oct 9 19:46:11 2014 -0700 + + image: Move filter decision to _cairo_pattern_analyze_filter + + The analysis to deterimine if the GOOD filter can be replaced with + the BILINEAR filter is moved to this function so it can be used + by backends other than the image backend. + + Reviewed-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-image-source.c | 22 +++++++++------------- + src/cairo-pattern.c | 36 +++++++++++++++++++++++++++++++++++- + 2 files changed, 44 insertions(+), 14 deletions(-) + +commit 82cd66f8330da0521c29c003ef0a4bb773d6dbc6 +Author: Bryce Harrington <bryce@osg.samsung.com> +Date: Thu Oct 9 17:55:09 2014 -0700 + + test: Update pixman downscaling 95 reference images + + The pixman downscaling "95" tests attempt to rescale a 96x96 pixmap to + 95x95. Ideally the borders between color areas should be sharp, but for + this use case we allow for 1 pixel of blur between the areas as + acceptable. The choice of what color to use for this blurred region is + not important, and in fact varies from backend to backend. + + The old reference images were generated by Krzysztof Kosiński's + downscaling algorithm. These new images are against the algorithms + written by Bill Spitzak. + + Signed-off-by: Bryce Harrington <bryce@osg.samsung.com> + + .../pixman-downscale-best-95.image.rgb24.ref.png | Bin 0 -> 659 bytes + .../pixman-downscale-best-95.image16.rgb24.ref.png | Bin 0 -> 648 bytes + test/reference/pixman-downscale-best-95.pdf.ref.png | Bin 0 -> 479 bytes + test/reference/pixman-downscale-best-95.ps2.ref.png | Bin 0 -> 460 bytes + test/reference/pixman-downscale-best-95.ps3.ref.png | Bin 0 -> 460 bytes + .../pixman-downscale-best-95.recording.rgb24.ref.png | Bin 0 -> 659 bytes + test/reference/pixman-downscale-best-95.ref.png | Bin 685 -> 771 bytes + test/reference/pixman-downscale-best-95.script.ref.png | Bin 0 -> 772 bytes + test/reference/pixman-downscale-best-95.svg11.ref.png | Bin 0 -> 474 bytes + test/reference/pixman-downscale-best-95.svg12.ref.png | Bin 0 -> 474 bytes + .../pixman-downscale-best-95.test-base.rgb24.ref.png | Bin 0 -> 659 bytes + ...pixman-downscale-best-95.test-fallback.rgb24.ref.png | Bin 0 -> 659 bytes + .../pixman-downscale-best-95.test-mask.rgb24.ref.png | Bin 0 -> 659 bytes + ...ixman-downscale-best-95.test-paginated.rgb24.ref.png | Bin 0 -> 659 bytes + .../pixman-downscale-best-95.test-spans.rgb24.ref.png | Bin 0 -> 659 bytes + .../pixman-downscale-best-95.test-traps.rgb24.ref.png | Bin 0 -> 659 bytes + .../pixman-downscale-best-95.xcb-fallback.rgb24.ref.png | Bin 0 -> 659 bytes + ...ixman-downscale-best-95.xcb-render-0_0.rgb24.ref.png | Bin 0 -> 659 bytes + .../pixman-downscale-best-95.xcb-window&.rgb24.ref.png | Bin 0 -> 474 bytes + .../pixman-downscale-best-95.xcb-window.rgb24.ref.png | Bin 0 -> 474 bytes + test/reference/pixman-downscale-best-95.xcb.ref.png | Bin 0 -> 474 bytes + ...pixman-downscale-best-95.xlib-fallback.rgb24.ref.png | Bin 0 -> 659 bytes + ...xman-downscale-best-95.xlib-render-0_0.rgb24.ref.png | Bin 0 -> 659 bytes + .../pixman-downscale-best-95.xlib-window.rgb24.ref.png | Bin 0 -> 474 bytes + test/reference/pixman-downscale-best-95.xlib.ref.png | Bin 0 -> 474 bytes + .../pixman-downscale-bilinear-95.image16.rgb24.ref.png | Bin 0 -> 481 bytes + test/reference/pixman-downscale-bilinear-95.pdf.ref.png | Bin 0 -> 479 bytes + test/reference/pixman-downscale-bilinear-95.ps2.ref.png | Bin 0 -> 460 bytes + test/reference/pixman-downscale-bilinear-95.ps3.ref.png | Bin 0 -> 460 bytes + test/reference/pixman-downscale-bilinear-95.ref.png | Bin 685 -> 474 bytes + .../pixman-downscale-bilinear-95.script.ref.png | Bin 0 -> 481 bytes + .../pixman-downscale-fast-95.image16.rgb24.ref.png | Bin 0 -> 304 bytes + test/reference/pixman-downscale-fast-95.pdf.ref.png | Bin 0 -> 479 bytes + test/reference/pixman-downscale-fast-95.ps2.ref.png | Bin 0 -> 299 bytes + test/reference/pixman-downscale-fast-95.ps3.ref.png | Bin 0 -> 299 bytes + test/reference/pixman-downscale-fast-95.svg11.ref.png | Bin 0 -> 474 bytes + test/reference/pixman-downscale-fast-95.svg12.ref.png | Bin 0 -> 474 bytes + .../pixman-downscale-good-95.image16.rgb24.ref.png | Bin 0 -> 481 bytes + test/reference/pixman-downscale-good-95.pdf.ref.png | Bin 0 -> 479 bytes + test/reference/pixman-downscale-good-95.ps2.ref.png | Bin 0 -> 460 bytes + test/reference/pixman-downscale-good-95.ps3.ref.png | Bin 0 -> 460 bytes + test/reference/pixman-downscale-good-95.ref.png | Bin 685 -> 474 bytes + test/reference/pixman-downscale-good-95.script.ref.png | Bin 0 -> 481 bytes + .../pixman-downscale-nearest-95.image16.rgb24.ref.png | Bin 0 -> 304 bytes + test/reference/pixman-downscale-nearest-95.pdf.ref.png | Bin 0 -> 479 bytes + test/reference/pixman-downscale-nearest-95.ps2.ref.png | Bin 0 -> 299 bytes + test/reference/pixman-downscale-nearest-95.ps3.ref.png | Bin 0 -> 299 bytes + .../reference/pixman-downscale-nearest-95.svg11.ref.png | Bin 0 -> 474 bytes + .../reference/pixman-downscale-nearest-95.svg12.ref.png | Bin 0 -> 474 bytes + 49 files changed, 0 insertions(+), 0 deletions(-) + +commit 79b5a35f8387845a2fe46215776082a8abc3caba +Author: Bryce Harrington <bryce@osg.samsung.com> +Date: Thu Oct 9 17:47:10 2014 -0700 + + test: Add an update-refs.sh script to update reference images + + There are cases where the rendered output of a test can vary from + backend to backend in ways which are visually acceptable. This is why + we have reference images in the first place. In these cases, changes to + the rendering logic can result in slight differences in the output that + is also within acceptable visual limits. + + We see this in the pixman downscaling tests. This script is introduced + as a way to more easily update the reference images after a renderer + change. + + This script is intended to be expanded to handle updating of references + for other tests as we identify similar issues. The intent is that this + script then serves as a way to document these exceptional cases. + + Signed-off-by: Bryce Harrington <bryce@osg.samsung.com> + + test/update-refs.sh | 84 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 84 insertions(+) + +commit 1570fa23e8043204bd30b122d55a036da15b16e5 +Author: Bryce Harrington <bryce@osg.samsung.com> +Date: Wed Oct 8 20:08:47 2014 -0700 + + test: Fix error message to specify the executable that was missing + + Signed-off-by: Bryce Harrington <bryce@osg.samsung.com> + + test/check-refs.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit a8abf3a48b588632e3f39028b0b978d73c362f46 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Oct 9 10:43:15 2014 +0100 + + test: Fix conflation of different device scales in index.html + + Currently testtable.js does not recognise the difference between running + the same test with multiple scale factors and merges the results into + one. + + test/testtable.js | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 8047179bfca65cad36c61daf5f88c97cc971848b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Oct 9 10:54:58 2014 +0100 + + test: Teach check-preprocessor-syntax.sh about -inlines.h + + src/check-preprocessor-syntax.sh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 7c1db82a2e9dc04fd652d6e6bb6f4eb976922368 +Author: Bryce Harrington <bryce@osg.samsung.com> +Date: Fri Oct 3 12:34:06 2014 -0700 + + Get make check back to a happy spot + + Fix header ordering for some recently added code so cairo internal + headers are included first. Quells two make check errors. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=84638 + + src/cairo-gl-info.c | 4 ++-- + src/cairo-line-private.h | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +commit f57c0fd4656ef4fdbe13dbc69aa1ce4e130c37ce +Author: Bryce Harrington <bryce@osg.samsung.com> +Date: Fri Oct 3 12:20:13 2014 -0700 + + Declare as private the new cairo_lines_compare_at_y symbol + + Fixes a make check error. + + Checking that .libs/libcairo.so has the same symbol list as cairo.def + 126a127 + > cairo_lines_compare_at_y + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=84638 + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-line-private.h | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +commit d9ba8337ab456ae0e232d3c603cb41cea984ebea +Author: Bryce Harrington <bryce@osg.samsung.com> +Date: Fri Oct 3 11:52:32 2014 -0700 + + quartz: Check for quartz surface type before conversion + + Fixes the following warning introduced in a recent commit reported by + ~suv: + + CC cairo-quartz-image-surface.lo + cairo-quartz-image-surface.c:382:37: warning: incompatible pointer types + passing 'cairo_quartz_image_surface_t *' + (aka 'struct cairo_quartz_image_surface *') to parameter of type + 'const cairo_surface_t *' (aka 'const struct _cairo_surface *') + [-Wincompatible-pointer-types] + if (! _cairo_surface_is_quartz (surface)) { + ^~~~~~~ + ./cairo-quartz-private.h:87:50: note: passing argument to parameter 'surface' here + _cairo_surface_is_quartz (const cairo_surface_t *surface); + + References: https://bugs.freedesktop.org/show_bug.cgi?id=84569 + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-quartz-image-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 03756e042a2916e6c5334e2a00ec503a38e172d4 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Oct 3 09:56:24 2014 +0200 + + quartz-image: Fix build + + The quartz-image backend uses _cairo_surface_is_quartz(), which + therefore needs to be made available to it. Fixed as suggested by + Bryce in the referenced bugreport. + + References: https://bugs.freedesktop.org/show_bug.cgi?id=84569 + Signed-off-by: Andrea Canciani <ranma42@gmail.com> + + src/cairo-quartz-private.h | 3 +++ + src/cairo-quartz-surface.c | 5 +---- + 2 files changed, 4 insertions(+), 4 deletions(-) + +commit 531da6fb915a6e9ea33216a90196ae962876acf4 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Oct 2 18:10:00 2014 +0200 + + quartz: Fix build + + Cairo cannot build with Quartz enabled since + 573ddfc3d5c08c37b95a21e0a1b34acecc646053, because of a double + definition of _cairo_surface_is_quartz(). + + References: https://bugs.freedesktop.org/show_bug.cgi?id=84569 + Signed-off-by: Andrea Canciani <ranma42@gmail.com> + + src/cairo-quartz-surface.c | 22 ++++++++-------------- + 1 file changed, 8 insertions(+), 14 deletions(-) + +commit 14df211b9c12719f67412aedd6610eb623df7d7e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Oct 2 13:08:50 2014 +0100 + + test: Add whole flipped replays + + When investing the symmetry of the raterisation, we want to have a + simple replay of all of the original geometry through a the flipped + recording surface. This reduces the worry about artifacts from the + clipped rendering. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/recordflip.c | 188 +++++++++++++++++++++ + test/reference/recordflip-whole-fill-alpha.ref.png | Bin 0 -> 2803 bytes + .../recordflip-whole-paint-alpha-clip-mask.ref.png | Bin 0 -> 351 bytes + .../recordflip-whole-paint-alpha-clip.ref.png | Bin 0 -> 316 bytes + ...recordflip-whole-paint-alpha-solid-clip.ref.png | Bin 0 -> 291 bytes + .../reference/recordflip-whole-paint-alpha.ref.png | Bin 0 -> 257 bytes + test/reference/recordflip-whole-paint.ref.png | Bin 0 -> 93 bytes + .../recordflip-whole-select-font-face.ref.png | Bin 0 -> 2240 bytes + .../recordflip-whole-self-intersecting.ref.png | Bin 0 -> 168 bytes + .../recordflip-whole-text-transform.ref.png | Bin 0 -> 5609 bytes + 10 files changed, 188 insertions(+) + +commit 7f7ed4c04e49b64c15d60889a8cdc4075efd8236 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Oct 2 09:16:04 2014 +0100 + + image: Eliminate self-intersections for the pixman traps compositor + + As pixman uses an accumulation mask, it oversamples neighbouring edges + within a cell. We can reduce the impact of this by eliminating + overlapping triangles/trapezoids from being passed into pixman. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 32 ++++++++++++++++++++++++++++++++ + 1 file changed, 32 insertions(+) + +commit 7aacd81befc5ad1aec26bcf7e65fa5bd36c6a9b4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Oct 2 08:17:14 2014 +0100 + + test: Refresh reference images for tor rendering changes + + (And include a git add missed from commit + + ccd48b346436a80629e4f9a07f2ba7ffbfd802f1 + Author: Chris Wilson <chris@chris-wilson.co.uk> + Date: Tue Sep 30 14:06:21 2014 +0100 + + test: Remove more duplicated reference images + + but were mostly invalidated by the rasteriser changes anyway). + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/reference/a8-clear.ref.png | Bin 0 -> 267 bytes + test/reference/aliasing.ref.png | Bin 0 -> 103877 bytes + test/reference/arc-direction.ref.png | Bin 0 -> 6073 bytes + test/reference/big-line.ref.png | Bin 0 -> 999 bytes + test/reference/big-little-triangle.argb32.ref.png | Bin 409 -> 399 bytes + test/reference/big-little-triangle.rgb24.ref.png | Bin 331 -> 320 bytes + test/reference/bilevel-xlib.ref.png | Bin 0 -> 105 bytes + test/reference/bug-40410.ref.png | Bin 0 -> 429 bytes + test/reference/bug-84115.ref.png | Bin 64233 -> 62964 bytes + test/reference/bug-bo-ricotz.ref.png | Bin 0 -> 2128 bytes + test/reference/bug-extents.ref.png | Bin 0 -> 9211 bytes + test/reference/bug-seams.ref.png | Bin 1364 -> 1638 bytes + test/reference/bug-spline.ref.png | Bin 0 -> 5405 bytes + test/reference/caps-joins-alpha.ref.png | Bin 0 -> 2420 bytes + test/reference/caps-joins-curve.ref.png | Bin 0 -> 5681 bytes + test/reference/caps-joins.ref.png | Bin 0 -> 2560 bytes + test/reference/caps-sub-paths.ref.png | Bin 0 -> 168 bytes + test/reference/caps-tails-curve.ref.png | Bin 0 -> 53182 bytes + test/reference/caps.ref.png | Bin 0 -> 2115 bytes + test/reference/clear-source.ref.png | Bin 0 -> 882 bytes + test/reference/clear.argb32.ref.png | Bin 692 -> 701 bytes + test/reference/clear.rgb24.ref.png | Bin 621 -> 624 bytes + test/reference/clip-disjoint-hatching.ref.png | Bin 0 -> 7918 bytes + test/reference/clip-disjoint-quad.ref.png | Bin 0 -> 1642 bytes + test/reference/clip-disjoint.ref.png | Bin 0 -> 5348 bytes + .../reference/clip-fill-eo-unbounded.argb32.ref.png | Bin 0 -> 4053 bytes + test/reference/clip-fill-eo-unbounded.ref.png | Bin 4076 -> 0 bytes + test/reference/clip-fill-eo-unbounded.rgb24.ref.png | Bin 0 -> 3408 bytes + .../reference/clip-fill-nz-unbounded.argb32.ref.png | Bin 0 -> 4053 bytes + test/reference/clip-fill-nz-unbounded.ref.png | Bin 4076 -> 0 bytes + test/reference/clip-fill-nz-unbounded.rgb24.ref.png | Bin 0 -> 3408 bytes + test/reference/clip-fill-rule.argb32.ref.png | Bin 437 -> 430 bytes + test/reference/clip-fill-rule.rgb24.ref.png | Bin 388 -> 376 bytes + test/reference/clip-fill.ref.png | Bin 0 -> 1046 bytes + test/reference/clip-group-shapes-circles.ref.png | Bin 0 -> 1504 bytes + test/reference/clip-image.ref.png | Bin 0 -> 2677 bytes + test/reference/clip-intersect.ref.png | Bin 0 -> 224 bytes + test/reference/clip-mixed-antialias.ref.png | Bin 0 -> 1084 bytes + test/reference/clip-nesting.argb32.ref.png | Bin 0 -> 1026 bytes + test/reference/clip-nesting.ref.png | Bin 1094 -> 0 bytes + test/reference/clip-nesting.rgb24.ref.png | Bin 0 -> 917 bytes + test/reference/clip-operator.argb32.ref.png | Bin 8685 -> 8514 bytes + test/reference/clip-operator.rgb24.ref.png | Bin 3458 -> 3417 bytes + test/reference/clip-polygons.ref.png | Bin 0 -> 1352 bytes + test/reference/clip-push-group.ref.png | Bin 0 -> 164 bytes + test/reference/clip-shape.ref.png | Bin 0 -> 2902 bytes + test/reference/clip-stroke-unbounded.argb32.ref.png | Bin 0 -> 4097 bytes + test/reference/clip-stroke-unbounded.ref.png | Bin 4104 -> 0 bytes + test/reference/clip-stroke-unbounded.rgb24.ref.png | Bin 0 -> 3486 bytes + test/reference/clip-stroke.ref.png | Bin 0 -> 1571 bytes + test/reference/clip-text.ref.png | Bin 0 -> 912 bytes + test/reference/clip-twice.argb32.ref.png | Bin 0 -> 1333 bytes + test/reference/clip-twice.ref.png | Bin 1357 -> 0 bytes + test/reference/clip-twice.rgb24.ref.png | Bin 0 -> 1171 bytes + test/reference/clip-xlib.ref.png | Bin 0 -> 2686 bytes + test/reference/clipped-group.ref.png | Bin 0 -> 315 bytes + test/reference/close-path.ref.png | Bin 0 -> 294 bytes + test/reference/copy-path.ref.png | Bin 0 -> 616 bytes + test/reference/coverage-column-triangles.xfail.png | Bin 0 -> 7632 bytes + .../coverage-intersecting-triangles.xfail.png | Bin 0 -> 14444 bytes + test/reference/coverage-rhombus.xfail.png | Bin 0 -> 9898 bytes + test/reference/coverage-row-triangles.xfail.png | Bin 0 -> 512 bytes + test/reference/coverage-triangles.xfail.png | Bin 0 -> 14283 bytes + test/reference/create-from-png.ref.png | Bin 0 -> 96 bytes + test/reference/culled-glyphs.ref.png | Bin 0 -> 440 bytes + test/reference/dash-caps-joins.ref.png | Bin 5089 -> 4713 bytes + test/reference/dash-curve.ref.png | Bin 0 -> 41069 bytes + test/reference/dash-infinite-loop.ref.png | Bin 0 -> 877 bytes + test/reference/dash-offset-negative.ref.png | Bin 0 -> 129 bytes + test/reference/dash-scale.ref.png | Bin 8831 -> 7826 bytes + test/reference/dash-state.ref.png | Bin 0 -> 8027 bytes + test/reference/degenerate-arc.ref.png | Bin 0 -> 626 bytes + test/reference/degenerate-dash.ref.png | Bin 0 -> 1960 bytes + test/reference/degenerate-linear-gradient.ref.png | Bin 0 -> 336 bytes + test/reference/degenerate-pen.ref.png | Bin 0 -> 1019 bytes + test/reference/drunkard-tails.ref.png | Bin 6261 -> 6157 bytes + test/reference/extend-pad-border.ref.png | Bin 0 -> 495 bytes + ...png => extended-blend-alpha-mask.argb32.ref.png} | Bin + .../extended-blend-alpha-mask.rgb24.ref.png | Bin 0 -> 4597 bytes + ....ref.png => extended-blend-alpha.argb32.ref.png} | Bin + test/reference/extended-blend-alpha.rgb24.ref.png | Bin 0 -> 5740 bytes + test/reference/extended-blend-mask.argb32.ref.png | Bin 0 -> 3959 bytes + test/reference/extended-blend-mask.ref.png | Bin 3971 -> 0 bytes + test/reference/extended-blend-mask.rgb24.ref.png | Bin 0 -> 3634 bytes + ...ng => extended-blend-solid-alpha.argb32.ref.png} | Bin + .../extended-blend-solid-alpha.rgb24.ref.png | Bin 0 -> 5740 bytes + test/reference/extended-blend-solid.argb32.ref.png | Bin 0 -> 4072 bytes + test/reference/extended-blend-solid.ref.png | Bin 4063 -> 0 bytes + test/reference/extended-blend-solid.rgb24.ref.png | Bin 0 -> 3784 bytes + test/reference/extended-blend.argb32.ref.png | Bin 0 -> 4072 bytes + test/reference/extended-blend.ref.png | Bin 4063 -> 0 bytes + test/reference/extended-blend.rgb24.ref.png | Bin 0 -> 3784 bytes + test/reference/fallback.argb32.ref.png | Bin 0 -> 4133 bytes + test/reference/fallback.ref.png | Bin 4106 -> 0 bytes + test/reference/fallback.rgb24.ref.png | Bin 0 -> 3283 bytes + test/reference/fill-alpha-pattern.ref.png | Bin 0 -> 3500 bytes + test/reference/fill-alpha.ref.png | Bin 0 -> 2754 bytes + test/reference/fill-and-stroke-alpha-add.ref.png | Bin 0 -> 558 bytes + test/reference/fill-and-stroke-alpha.ref.png | Bin 0 -> 513 bytes + .../fill-degenerate-sort-order.argb32.ref.png | Bin 0 -> 2390 bytes + test/reference/fill-degenerate-sort-order.ref.png | Bin 2414 -> 0 bytes + .../fill-degenerate-sort-order.rgb24.ref.png | Bin 0 -> 2048 bytes + test/reference/fill-image.ref.png | Bin 0 -> 1457 bytes + test/reference/fill-rule.argb32.ref.png | Bin 2086 -> 2076 bytes + test/reference/fill-rule.rgb24.ref.png | Bin 1797 -> 1763 bytes + test/reference/fill-xlib.ref.png | Bin 0 -> 1458 bytes + test/reference/filter-bilinear-extents.ref.png | Bin 0 -> 1210 bytes + test/reference/font-matrix-translation.ref.png | Bin 0 -> 865 bytes + test/reference/ft-show-glyphs-positioning.ref.png | Bin 0 -> 3243 bytes + test/reference/ft-show-glyphs-table.ref.png | Bin 0 -> 9975 bytes + .../reference/ft-text-vertical-layout-type1.ref.png | Bin 0 -> 3052 bytes + .../reference/ft-text-vertical-layout-type3.ref.png | Bin 0 -> 3609 bytes + test/reference/glyph-cache-pressure.ref.png | Bin 0 -> 2858 bytes + test/reference/group-unaligned.ref.png | Bin 0 -> 475 bytes + test/reference/halo-transform.ref.png | Bin 0 -> 15265 bytes + test/reference/halo.ref.png | Bin 0 -> 8631 bytes + test/reference/hatchings.ref.png | Bin 0 -> 90698 bytes + test/reference/horizontal-clip.ref.png | Bin 0 -> 113 bytes + test/reference/huge-linear.ref.png | Bin 0 -> 1636 bytes + test/reference/infinite-join.ref.png | Bin 0 -> 164 bytes + test/reference/inverse-text.ref.png | Bin 0 -> 2162 bytes + test/reference/inverted-clip.argb32.ref.png | Bin 0 -> 1390 bytes + test/reference/inverted-clip.rgb24.ref.png | Bin 1323 -> 1274 bytes + test/reference/joins-loop.ref.png | Bin 0 -> 4333 bytes + test/reference/joins-retrace.ref.png | Bin 4900 -> 4687 bytes + test/reference/joins-star.ref.png | Bin 0 -> 4015 bytes + test/reference/large-twin-antialias-mixed.ref.png | Bin 0 -> 16494 bytes + test/reference/leaky-dashed-stroke.ref.png | Bin 0 -> 9286 bytes + test/reference/leaky-polygon.ref.png | Bin 0 -> 337 bytes + .../line-width-large-overlap-rotated.ref.png | Bin 0 -> 415 bytes + test/reference/line-width-overlap-rotated.ref.png | Bin 0 -> 688 bytes + test/reference/line-width-scale.ref.png | Bin 0 -> 5721 bytes + test/reference/line-width-tolerance.ref.png | Bin 0 -> 168 bytes + test/reference/line-width.ref.png | Bin 0 -> 178 bytes + test/reference/linear-gradient-reflect.ref.png | Bin 0 -> 185 bytes + test/reference/linear-gradient-subset.ref.png | Bin 0 -> 813 bytes + test/reference/linear-gradient.ref.png | Bin 0 -> 959 bytes + test/reference/long-dashed-lines.ref.png | Bin 0 -> 2548 bytes + test/reference/map-all-to-xlib.ref.png | Bin 0 -> 86 bytes + test/reference/map-bit-to-xlib.ref.png | Bin 0 -> 103 bytes + test/reference/mask-alpha.argb32.ref.png | Bin 0 -> 629 bytes + test/reference/mask-alpha.ref.png | Bin 642 -> 0 bytes + test/reference/mask-alpha.rgb24.ref.png | Bin 0 -> 595 bytes + test/reference/mask-transformed-image.ref.png | Bin 0 -> 3812 bytes + test/reference/mask-transformed-similar.ref.png | Bin 0 -> 3812 bytes + test/reference/mask-transformed-xlib.ref.png | Bin 0 -> 3809 bytes + test/reference/mask.argb32.ref.png | Bin 8681 -> 8530 bytes + test/reference/mask.rgb24.ref.png | Bin 7215 -> 7160 bytes + test/reference/miter-precision.ref.png | Bin 0 -> 824 bytes + test/reference/operator-clear.argb32.ref.png | Bin 1067 -> 1061 bytes + test/reference/operator-clear.rgb24.ref.png | Bin 940 -> 939 bytes + test/reference/operator-source.argb32.ref.png | Bin 5626 -> 5620 bytes + test/reference/operator-source.rgb24.ref.png | Bin 4026 -> 4006 bytes + test/reference/over-above-source.argb32.ref.png | Bin 557 -> 533 bytes + test/reference/over-above-source.rgb24.ref.png | Bin 459 -> 452 bytes + test/reference/over-around-source.argb32.ref.png | Bin 633 -> 604 bytes + test/reference/over-around-source.rgb24.ref.png | Bin 504 -> 489 bytes + test/reference/over-below-source.argb32.ref.png | Bin 447 -> 440 bytes + test/reference/over-below-source.rgb24.ref.png | Bin 389 -> 376 bytes + test/reference/over-between-source.argb32.ref.png | Bin 607 -> 572 bytes + test/reference/over-between-source.rgb24.ref.png | Bin 482 -> 457 bytes + test/reference/overlapping-dash-caps.ref.png | Bin 0 -> 3952 bytes + test/reference/paint-with-alpha-clip-mask.ref.png | Bin 0 -> 335 bytes + test/reference/partial-clip-text-bottom.ref.png | Bin 0 -> 261 bytes + test/reference/partial-clip-text-left.ref.png | Bin 0 -> 301 bytes + test/reference/partial-clip-text-right.ref.png | Bin 0 -> 155 bytes + test/reference/partial-clip-text-top.ref.png | Bin 0 -> 181 bytes + test/reference/path-append.ref.png | Bin 0 -> 6338 bytes + test/reference/path-stroke-twice.ref.png | Bin 0 -> 240 bytes + test/reference/pthread-show-text.ref.png | Bin 0 -> 30199 bytes + test/reference/push-group-color.ref.png | Bin 0 -> 3002 bytes + test/reference/push-group.argb32.ref.png | Bin 3116 -> 3123 bytes + test/reference/push-group.rgb24.ref.png | Bin 2929 -> 2951 bytes + test/reference/random-clip.ref.png | Bin 0 -> 525010 bytes + .../random-intersections-curves-eo.ref.png | Bin 0 -> 244632 bytes + .../random-intersections-curves-nz.ref.png | Bin 0 -> 264413 bytes + test/reference/random-intersections-eo.ref.png | Bin 0 -> 135555 bytes + test/reference/random-intersections-nonzero.ref.png | Bin 0 -> 141737 bytes + test/reference/record-fill-alpha.ref.png | Bin 0 -> 2754 bytes + test/reference/record-paint-alpha-clip-mask.ref.png | Bin 0 -> 335 bytes + test/reference/record-paint-alpha-clip.ref.png | Bin 0 -> 290 bytes + test/reference/record-select-font-face.ref.png | Bin 0 -> 2250 bytes + test/reference/record-text-transform.ref.png | Bin 5281 -> 5579 bytes + test/reference/record1414x-fill-alpha.ref.png | Bin 0 -> 4124 bytes + .../record1414x-paint-alpha-clip-mask.ref.png | Bin 0 -> 460 bytes + test/reference/record1414x-paint-alpha-clip.ref.png | Bin 0 -> 378 bytes + .../record1414x-paint-alpha-solid-clip.ref.png | Bin 0 -> 317 bytes + test/reference/record1414x-paint-alpha.ref.png | Bin 0 -> 265 bytes + test/reference/record1414x-paint.ref.png | Bin 0 -> 95 bytes + test/reference/record1414x-select-font-face.ref.png | Bin 0 -> 3177 bytes + .../reference/record1414x-self-intersecting.ref.png | Bin 0 -> 385 bytes + test/reference/record1414x-text-transform.ref.png | Bin 8365 -> 8713 bytes + test/reference/record2x-fill-alpha.ref.png | Bin 0 -> 5756 bytes + .../record2x-paint-alpha-clip-mask.ref.png | Bin 0 -> 483 bytes + test/reference/record2x-paint-alpha-clip.ref.png | Bin 0 -> 322 bytes + .../record2x-paint-alpha-solid-clip.ref.png | Bin 0 -> 281 bytes + test/reference/record2x-paint-alpha.ref.png | Bin 0 -> 291 bytes + test/reference/record2x-paint.ref.png | Bin 0 -> 98 bytes + test/reference/record2x-select-font-face.ref.png | Bin 0 -> 4407 bytes + test/reference/record2x-self-intersecting.ref.png | Bin 0 -> 171 bytes + test/reference/record2x-text-transform.ref.png | Bin 13072 -> 13476 bytes + test/reference/record90-fill-alpha.ref.png | Bin 0 -> 2656 bytes + .../record90-paint-alpha-clip-mask.ref.png | Bin 0 -> 317 bytes + test/reference/record90-paint-alpha-clip.ref.png | Bin 0 -> 306 bytes + .../record90-paint-alpha-solid-clip.ref.png | Bin 0 -> 293 bytes + test/reference/record90-paint-alpha.ref.png | Bin 0 -> 105 bytes + test/reference/record90-paint.ref.png | Bin 0 -> 93 bytes + test/reference/record90-select-font-face.ref.png | Bin 0 -> 2272 bytes + test/reference/record90-self-intersecting.ref.png | Bin 244 -> 240 bytes + test/reference/record90-text-transform.ref.png | Bin 5481 -> 5811 bytes + test/reference/recordflip-fill-alpha.ref.png | Bin 2864 -> 2803 bytes + .../recordflip-paint-alpha-clip-mask.ref.png | Bin 372 -> 351 bytes + .../recording-surface-extend-none.argb32.ref.png | Bin 0 -> 3670 bytes + .../reference/recording-surface-extend-none.ref.png | Bin 3153 -> 0 bytes + .../recording-surface-extend-none.rgb24.ref.png | Bin 0 -> 3741 bytes + .../recording-surface-extend-pad.argb32.ref.png | Bin 0 -> 12932 bytes + test/reference/recording-surface-extend-pad.ref.png | Bin 11200 -> 0 bytes + .../recording-surface-extend-pad.rgb24.ref.png | Bin 0 -> 13581 bytes + .../recording-surface-extend-reflect.argb32.ref.png | Bin 0 -> 28910 bytes + .../recording-surface-extend-reflect.ref.png | Bin 23967 -> 0 bytes + .../recording-surface-extend-reflect.rgb24.ref.png | Bin 0 -> 25588 bytes + .../recording-surface-extend-repeat.argb32.ref.png | Bin 0 -> 29648 bytes + .../recording-surface-extend-repeat.ref.png | Bin 24091 -> 0 bytes + .../recording-surface-extend-repeat.rgb24.ref.png | Bin 0 -> 25337 bytes + .../reference/recording-surface-over.argb32.ref.png | Bin 0 -> 3670 bytes + test/reference/recording-surface-over.ref.png | Bin 3153 -> 0 bytes + test/reference/recording-surface-over.rgb24.ref.png | Bin 0 -> 3741 bytes + .../recording-surface-source.argb32.ref.png | Bin 0 -> 3688 bytes + test/reference/recording-surface-source.ref.png | Bin 3153 -> 0 bytes + .../recording-surface-source.rgb24.ref.png | Bin 0 -> 3738 bytes + test/reference/rectilinear-miter-limit.ref.png | Bin 0 -> 145 bytes + .../rotate-clip-image-surface-paint.ref.png | Bin 0 -> 332 bytes + test/reference/rotated-clip.ref.png | Bin 0 -> 3834 bytes + test/reference/rounded-rectangle-fill.ref.png | Bin 0 -> 872 bytes + test/reference/rounded-rectangle-stroke.ref.png | Bin 833 -> 872 bytes + test/reference/scale-offset-image.ref.png | Bin 0 -> 9748 bytes + test/reference/scale-offset-similar.ref.png | Bin 0 -> 9779 bytes + test/reference/scale-offset-xlib.ref.png | Bin 0 -> 9120 bytes + test/reference/select-font-face.ref.png | Bin 0 -> 2250 bytes + test/reference/self-copy.ref.png | Bin 0 -> 257 bytes + test/reference/shape-general-convex.ref.png | Bin 0 -> 2539 bytes + test/reference/shape-sierpinski.ref.png | Bin 0 -> 54850 bytes + test/reference/show-glyphs-advance.ref.png | Bin 0 -> 1394 bytes + test/reference/show-text-current-point.ref.png | Bin 0 -> 2151 bytes + test/reference/simple-edge.xfail.png | Bin 0 -> 2124 bytes + test/reference/skew-extreme.ref.png | Bin 0 -> 944 bytes + test/reference/smask-fill.ref.png | Bin 0 -> 1185 bytes + test/reference/smask-image-mask.ref.png | Bin 0 -> 619 bytes + test/reference/smask-mask.ref.png | Bin 0 -> 2353 bytes + test/reference/smask-paint.ref.png | Bin 0 -> 2469 bytes + test/reference/smask-stroke.ref.png | Bin 0 -> 1701 bytes + test/reference/smask-text.ref.png | Bin 0 -> 1661 bytes + test/reference/smask.ref.png | Bin 0 -> 3422 bytes + test/reference/spline-decomposition.ref.png | Bin 0 -> 19578 bytes + test/reference/stride-12-xlib.ref.png | Bin 0 -> 81121 bytes + test/reference/stroke-clipped.ref.png | Bin 0 -> 5845 bytes + test/reference/stroke-image.ref.png | Bin 0 -> 1455 bytes + test/reference/stroke-pattern.ref.png | Bin 0 -> 1514 bytes + test/reference/stroke-xlib.ref.png | Bin 0 -> 1467 bytes + test/reference/subsurface-scale.ref.png | Bin 0 -> 5921 bytes + test/reference/subsurface.ref.png | Bin 0 -> 1811 bytes + .../surface-pattern-operator.argb32.ref.png | Bin 5107 -> 5087 bytes + .../surface-pattern-operator.rgb24.ref.png | Bin 1926 -> 1919 bytes + test/reference/surface-pattern-scale-down.ref.png | Bin 0 -> 1326 bytes + test/reference/surface-pattern-scale-up.ref.png | Bin 0 -> 4020 bytes + test/reference/surface-pattern.ref.png | Bin 0 -> 11088 bytes + test/reference/text-antialias-gray.ref.png | Bin 0 -> 966 bytes + test/reference/text-antialias-subpixel-bgr.ref.png | Bin 0 -> 1124 bytes + test/reference/text-antialias-subpixel-rgb.ref.png | Bin 0 -> 1109 bytes + test/reference/text-antialias-subpixel-vbgr.ref.png | Bin 0 -> 1205 bytes + test/reference/text-antialias-subpixel-vrgb.ref.png | Bin 0 -> 1180 bytes + test/reference/text-antialias-subpixel.ref.png | Bin 0 -> 1109 bytes + test/reference/text-glyph-range.ref.png | Bin 0 -> 1928 bytes + test/reference/text-rotate.ref.png | Bin 0 -> 16356 bytes + test/reference/tiger.ref.png | Bin 0 -> 94477 bytes + test/reference/tighten-bounds.argb32.ref.png | Bin 0 -> 8997 bytes + test/reference/tighten-bounds.ref.png | Bin 9443 -> 0 bytes + test/reference/tighten-bounds.rgb24.ref.png | Bin 0 -> 8450 bytes + test/reference/transforms.ref.png | Bin 0 -> 348 bytes + test/reference/trap-clip.argb32.ref.png | Bin 5972 -> 5822 bytes + test/reference/trap-clip.rgb24.ref.png | Bin 5462 -> 5422 bytes + test/reference/twin-antialias-gray.ref.png | Bin 0 -> 3536 bytes + test/reference/twin-antialias-mixed.ref.png | Bin 0 -> 2392 bytes + test/reference/twin-antialias-none.ref.png | Bin 0 -> 688 bytes + test/reference/twin-antialias-subpixel.ref.png | Bin 0 -> 3536 bytes + test/reference/twin.ref.png | Bin 0 -> 3536 bytes + test/reference/unbounded-operator.argb32.ref.png | Bin 2755 -> 2744 bytes + test/reference/unbounded-operator.rgb24.ref.png | Bin 1328 -> 1303 bytes + test/reference/user-font-proxy.ref.png | Bin 0 -> 16981 bytes + test/reference/user-font-rescale.ref.png | Bin 0 -> 14883 bytes + test/reference/user-font.ref.png | Bin 0 -> 5875 bytes + test/reference/world-map-fill.ref.png | Bin 0 -> 57407 bytes + test/reference/world-map-stroke.ref.png | Bin 0 -> 65152 bytes + test/reference/world-map.ref.png | Bin 0 -> 70463 bytes + 294 files changed, 0 insertions(+), 0 deletions(-) + +commit 950f1e7103a3b4f3405fbb3ee2844ed24b902834 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Oct 2 07:52:05 2014 +0100 + + tor: Enable analytic processing for starting rows + + If all the edges start at the very beginning of the whole row, we can + merge them and include check for intersections/endings during the row. + This allows us to enable fast analytic processing for even the very + first row on pixel aligned vertices. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-tor-scan-converter.c | 27 +++++++++++++++++---------- + 1 file changed, 17 insertions(+), 10 deletions(-) + +commit 1a32ce83e4c1f3ca22a3f137b0126003a0e3d6e7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Oct 1 12:59:29 2014 +0100 + + tor: Perform analytic coverage over the pixel not sample points + + We use two different methods within tor to compute the coverage. + The first is that we iterate over every sample point within the pixel + and see if it is covered. The second is that we look at a whole pixel + and analytically compute the coverage inside (if we have no + intersections within that row). + + One side effect of + + commit 03c3d4b7c159a3004071522bac2461e553fec211 + Author: Chris Wilson <chris@chris-wilson.co.uk> + Date: Tue Sep 30 08:44:43 2014 +0100 + + tor: Fix loss of precision from projection onto sample grid + + was to compute our X coordinates for the sample locations (offset by + half a subrow) and that in order to compute the analytical pixel + coverage correctly, we therefore need to backstep by half the subrow to + the pixel boundary. + + References: https://bugs.freedesktop.org/show_bug.cgi?id=84396 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-tor-scan-converter.c | 67 ++++++++++++++++++++++++++++++------------ + 1 file changed, 49 insertions(+), 18 deletions(-) + +commit 79c8b14b9fd8716d47fab4436b34d26b0135e9d7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Oct 2 00:20:52 2014 +0100 + + test/simple: Tighten sanity checks in reference image generator + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/simple.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 50b41e214533ea5fd3b64128306b6cb94d353145 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Oct 1 22:50:10 2014 +0100 + + test: Add a simple rasteriser to check fidelity of edge rendering + + In order to check the behaviour of the analytic rasteriser inside tor, + let's compare it against a very simple rasteriser that uses a rectiliner + 256x256 sample grid. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.sources | 1 + + test/reference/simple-edge.ref.png | Bin 0 -> 1922 bytes + test/simple.c | 347 +++++++++++++++++++++++++++++++++++++ + 3 files changed, 348 insertions(+) + +commit 2144e7f48ba49d5bdb4a0dd1fb672be9d313fb65 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 30 16:18:34 2014 +0100 + + test: Fix coverage-abutting + + Using CAIRO_OPERATOR_OVER in case causes oversampling of the coincident + edges, to measure coverage we should only use ADD. :| + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/coverage.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 0c42d5c176b27725ac8ab293c3e941be64f51613 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 30 16:14:57 2014 +0100 + + test: Add another coverage example demonstrating the seams in tor + + References: https://bugs.freedesktop.org/show_bug.cgi?id=84396 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/coverage.c | 53 +++++++++++++++++++++++++++++++ + test/reference/coverage-abutting.ref.png | Bin 0 -> 777 bytes + 2 files changed, 53 insertions(+) + +commit 95e147bfa05a122541645f32be52cf1902c3a4b2 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 30 14:30:45 2014 +0100 + + test: Explicitly flip the reference image for recordflip + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/recordflip.c | 58 +++++++++++++++++++-- + test/reference/recordflip-fill-alpha.ref.png | Bin 2790 -> 2864 bytes + .../recordflip-paint-alpha-clip-mask.ref.png | Bin 340 -> 372 bytes + test/reference/recordflip-paint-alpha-clip.ref.png | Bin 291 -> 316 bytes + .../recordflip-paint-alpha-solid-clip.ref.png | Bin 280 -> 291 bytes + test/reference/recordflip-paint-alpha.ref.png | Bin 242 -> 257 bytes + test/reference/recordflip-select-font-face.ref.png | Bin 2229 -> 2240 bytes + test/reference/recordflip-text-transform.ref.png | Bin 5606 -> 5609 bytes + 8 files changed, 55 insertions(+), 3 deletions(-) + +commit ccd48b346436a80629e4f9a07f2ba7ffbfd802f1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 30 14:06:21 2014 +0100 + + test: Remove more duplicated reference images + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/reference/a8-clear.argb32.ref.png | Bin 269 -> 0 bytes + test/reference/a8-clear.rgb24.ref.png | Bin 269 -> 0 bytes + test/reference/aliasing.argb32.ref.png | Bin 104193 -> 0 bytes + test/reference/aliasing.rgb24.ref.png | Bin 104193 -> 0 bytes + test/reference/arc-direction.argb32.ref.png | Bin 6473 -> 0 bytes + test/reference/arc-direction.rgb24.ref.png | Bin 6473 -> 0 bytes + test/reference/big-line.argb32.ref.png | Bin 977 -> 0 bytes + test/reference/big-line.rgb24.ref.png | Bin 977 -> 0 bytes + test/reference/bilevel-xlib.argb32.ref.png | Bin 105 -> 0 bytes + test/reference/bilevel-xlib.rgb24.ref.png | Bin 105 -> 0 bytes + test/reference/bug-40410.argb32.ref.png | Bin 429 -> 0 bytes + test/reference/bug-40410.rgb24.ref.png | Bin 429 -> 0 bytes + test/reference/bug-bo-ricotz.argb32.ref.png | Bin 2128 -> 0 bytes + test/reference/bug-bo-ricotz.rgb24.ref.png | Bin 2128 -> 0 bytes + test/reference/bug-extents.argb32.ref.png | Bin 9264 -> 0 bytes + test/reference/bug-extents.rgb24.ref.png | Bin 9264 -> 0 bytes + test/reference/bug-spline.argb32.ref.png | Bin 5490 -> 0 bytes + test/reference/bug-spline.rgb24.ref.png | Bin 5490 -> 0 bytes + test/reference/caps-joins-alpha.argb32.ref.png | Bin 2482 -> 0 bytes + test/reference/caps-joins-alpha.rgb24.ref.png | Bin 2482 -> 0 bytes + test/reference/caps-joins-curve.argb32.ref.png | Bin 5972 -> 0 bytes + test/reference/caps-joins-curve.rgb24.ref.png | Bin 5972 -> 0 bytes + test/reference/caps-joins.argb32.ref.png | Bin 2893 -> 0 bytes + test/reference/caps-joins.rgb24.ref.png | Bin 2893 -> 0 bytes + test/reference/caps-sub-paths.argb32.ref.png | Bin 168 -> 0 bytes + test/reference/caps-sub-paths.rgb24.ref.png | Bin 168 -> 0 bytes + test/reference/caps-tails-curve.argb32.ref.png | Bin 54409 -> 0 bytes + test/reference/caps-tails-curve.rgb24.ref.png | Bin 54409 -> 0 bytes + test/reference/caps.argb32.ref.png | Bin 2115 -> 0 bytes + test/reference/caps.rgb24.ref.png | Bin 2115 -> 0 bytes + test/reference/clear-source.argb32.ref.png | Bin 882 -> 0 bytes + test/reference/clear-source.rgb24.ref.png | Bin 882 -> 0 bytes + test/reference/clip-disjoint-hatching.argb32.ref.png | Bin 7918 -> 0 bytes + test/reference/clip-disjoint-hatching.rgb24.ref.png | Bin 7918 -> 0 bytes + test/reference/clip-disjoint-quad.argb32.ref.png | Bin 1642 -> 0 bytes + test/reference/clip-disjoint-quad.rgb24.ref.png | Bin 1642 -> 0 bytes + test/reference/clip-disjoint.argb32.ref.png | Bin 5464 -> 0 bytes + test/reference/clip-disjoint.rgb24.ref.png | Bin 5464 -> 0 bytes + test/reference/clip-fill.argb32.ref.png | Bin 1064 -> 0 bytes + test/reference/clip-fill.rgb24.ref.png | Bin 1064 -> 0 bytes + .../reference/clip-group-shapes-circles.argb32.ref.png | Bin 1533 -> 0 bytes + test/reference/clip-group-shapes-circles.rgb24.ref.png | Bin 1533 -> 0 bytes + test/reference/clip-image.argb32.ref.png | Bin 2677 -> 0 bytes + test/reference/clip-image.rgb24.ref.png | Bin 2677 -> 0 bytes + test/reference/clip-intersect.argb32.ref.png | Bin 223 -> 0 bytes + test/reference/clip-intersect.rgb24.ref.png | Bin 223 -> 0 bytes + test/reference/clip-mixed-antialias.argb32.ref.png | Bin 1084 -> 0 bytes + test/reference/clip-mixed-antialias.rgb24.ref.png | Bin 1084 -> 0 bytes + test/reference/clip-operator.ref.png | Bin 8257 -> 0 bytes + test/reference/clip-polygons.argb32.ref.png | Bin 1352 -> 0 bytes + test/reference/clip-polygons.rgb24.ref.png | Bin 1352 -> 0 bytes + test/reference/clip-push-group.argb32.ref.png | Bin 164 -> 0 bytes + test/reference/clip-push-group.rgb24.ref.png | Bin 164 -> 0 bytes + test/reference/clip-shape.argb32.ref.png | Bin 2923 -> 0 bytes + test/reference/clip-shape.rgb24.ref.png | Bin 2923 -> 0 bytes + test/reference/clip-stroke.argb32.ref.png | Bin 1551 -> 0 bytes + test/reference/clip-stroke.rgb24.ref.png | Bin 1551 -> 0 bytes + test/reference/clip-text.argb32.ref.png | Bin 918 -> 0 bytes + test/reference/clip-text.rgb24.ref.png | Bin 918 -> 0 bytes + test/reference/clip-xlib.argb32.ref.png | Bin 2686 -> 0 bytes + test/reference/clip-xlib.rgb24.ref.png | Bin 2686 -> 0 bytes + test/reference/clipped-group.argb32.ref.png | Bin 315 -> 0 bytes + test/reference/clipped-group.rgb24.ref.png | Bin 315 -> 0 bytes + test/reference/close-path.argb32.ref.png | Bin 294 -> 0 bytes + test/reference/close-path.rgb24.ref.png | Bin 294 -> 0 bytes + test/reference/copy-path.argb32.ref.png | Bin 616 -> 0 bytes + test/reference/copy-path.rgb24.ref.png | Bin 616 -> 0 bytes + test/reference/create-from-png.argb32.ref.png | Bin 96 -> 0 bytes + test/reference/create-from-png.rgb24.ref.png | Bin 96 -> 0 bytes + test/reference/culled-glyphs.argb32.ref.png | Bin 440 -> 0 bytes + test/reference/culled-glyphs.rgb24.ref.png | Bin 440 -> 0 bytes + test/reference/dash-curve.argb32.ref.png | Bin 41069 -> 0 bytes + test/reference/dash-curve.rgb24.ref.png | Bin 41069 -> 0 bytes + test/reference/dash-infinite-loop.argb32.ref.png | Bin 877 -> 0 bytes + test/reference/dash-infinite-loop.rgb24.ref.png | Bin 877 -> 0 bytes + test/reference/dash-offset-negative.argb32.ref.png | Bin 129 -> 0 bytes + test/reference/dash-offset-negative.rgb24.ref.png | Bin 129 -> 0 bytes + test/reference/dash-state.argb32.ref.png | Bin 8027 -> 0 bytes + test/reference/dash-state.rgb24.ref.png | Bin 8027 -> 0 bytes + test/reference/degenerate-arc.argb32.ref.png | Bin 646 -> 0 bytes + test/reference/degenerate-arc.rgb24.ref.png | Bin 646 -> 0 bytes + test/reference/degenerate-dash.argb32.ref.png | Bin 1908 -> 0 bytes + test/reference/degenerate-dash.rgb24.ref.png | Bin 1908 -> 0 bytes + .../degenerate-linear-gradient.argb32.ref.png | Bin 336 -> 0 bytes + .../reference/degenerate-linear-gradient.rgb24.ref.png | Bin 336 -> 0 bytes + test/reference/degenerate-pen.argb32.ref.png | Bin 1019 -> 0 bytes + test/reference/degenerate-pen.rgb24.ref.png | Bin 1019 -> 0 bytes + test/reference/extend-pad-border.argb32.ref.png | Bin 495 -> 0 bytes + test/reference/extend-pad-border.rgb24.ref.png | Bin 495 -> 0 bytes + test/reference/fill-alpha-pattern.argb32.ref.png | Bin 3489 -> 0 bytes + test/reference/fill-alpha-pattern.rgb24.ref.png | Bin 3489 -> 0 bytes + test/reference/fill-alpha.argb32.ref.png | Bin 2815 -> 0 bytes + test/reference/fill-alpha.rgb24.ref.png | Bin 2815 -> 0 bytes + .../reference/fill-and-stroke-alpha-add.argb32.ref.png | Bin 558 -> 0 bytes + test/reference/fill-and-stroke-alpha-add.rgb24.ref.png | Bin 558 -> 0 bytes + test/reference/fill-and-stroke-alpha.argb32.ref.png | Bin 513 -> 0 bytes + test/reference/fill-and-stroke-alpha.rgb24.ref.png | Bin 513 -> 0 bytes + test/reference/fill-image.argb32.ref.png | Bin 1315 -> 0 bytes + test/reference/fill-image.rgb24.ref.png | Bin 1315 -> 0 bytes + test/reference/fill-xlib.argb32.ref.png | Bin 1458 -> 0 bytes + test/reference/fill-xlib.rgb24.ref.png | Bin 1458 -> 0 bytes + test/reference/filter-bilinear-extents.argb32.ref.png | Bin 1210 -> 0 bytes + test/reference/filter-bilinear-extents.rgb24.ref.png | Bin 1210 -> 0 bytes + test/reference/font-matrix-translation.argb32.ref.png | Bin 865 -> 0 bytes + test/reference/font-matrix-translation.rgb24.ref.png | Bin 865 -> 0 bytes + .../ft-show-glyphs-positioning.argb32.ref.png | Bin 3243 -> 0 bytes + .../reference/ft-show-glyphs-positioning.rgb24.ref.png | Bin 3243 -> 0 bytes + test/reference/ft-show-glyphs-table.argb32.ref.png | Bin 9975 -> 0 bytes + test/reference/ft-show-glyphs-table.rgb24.ref.png | Bin 9975 -> 0 bytes + .../ft-text-vertical-layout-type1.argb32.ref.png | Bin 3075 -> 0 bytes + .../ft-text-vertical-layout-type1.rgb24.ref.png | Bin 3075 -> 0 bytes + .../ft-text-vertical-layout-type3.argb32.ref.png | Bin 3609 -> 0 bytes + .../ft-text-vertical-layout-type3.rgb24.ref.png | Bin 3609 -> 0 bytes + test/reference/glyph-cache-pressure.argb32.ref.png | Bin 2858 -> 0 bytes + test/reference/glyph-cache-pressure.rgb24.ref.png | Bin 2858 -> 0 bytes + test/reference/group-unaligned.argb32.ref.png | Bin 494 -> 0 bytes + test/reference/group-unaligned.rgb24.ref.png | Bin 494 -> 0 bytes + test/reference/halo-transform.argb32.ref.png | Bin 15234 -> 0 bytes + test/reference/halo-transform.rgb24.ref.png | Bin 15234 -> 0 bytes + test/reference/halo.argb32.ref.png | Bin 8621 -> 0 bytes + test/reference/halo.rgb24.ref.png | Bin 8621 -> 0 bytes + test/reference/hatchings.argb32.ref.png | Bin 90640 -> 0 bytes + test/reference/hatchings.rgb24.ref.png | Bin 90640 -> 0 bytes + test/reference/horizontal-clip.argb32.ref.png | Bin 113 -> 0 bytes + test/reference/horizontal-clip.rgb24.ref.png | Bin 113 -> 0 bytes + test/reference/huge-linear.argb32.ref.png | Bin 1600 -> 0 bytes + test/reference/huge-linear.rgb24.ref.png | Bin 1600 -> 0 bytes + test/reference/infinite-join.argb32.ref.png | Bin 164 -> 0 bytes + test/reference/infinite-join.rgb24.ref.png | Bin 164 -> 0 bytes + test/reference/joins-loop.argb32.ref.png | Bin 4492 -> 0 bytes + test/reference/joins-loop.rgb24.ref.png | Bin 4492 -> 0 bytes + test/reference/joins-star.argb32.ref.png | Bin 4914 -> 0 bytes + test/reference/joins-star.rgb24.ref.png | Bin 4914 -> 0 bytes + .../large-twin-antialias-mixed.argb32.ref.png | Bin 16442 -> 0 bytes + .../reference/large-twin-antialias-mixed.rgb24.ref.png | Bin 16442 -> 0 bytes + test/reference/leaky-dashed-stroke.argb32.ref.png | Bin 9286 -> 0 bytes + test/reference/leaky-dashed-stroke.rgb24.ref.png | Bin 9286 -> 0 bytes + test/reference/leaky-polygon.argb32.ref.png | Bin 337 -> 0 bytes + test/reference/leaky-polygon.rgb24.ref.png | Bin 337 -> 0 bytes + .../line-width-large-overlap-rotated.argb32.ref.png | Bin 439 -> 0 bytes + .../line-width-large-overlap-rotated.rgb24.ref.png | Bin 439 -> 0 bytes + .../line-width-overlap-rotated.argb32.ref.png | Bin 722 -> 0 bytes + .../reference/line-width-overlap-rotated.rgb24.ref.png | Bin 722 -> 0 bytes + test/reference/line-width-scale.argb32.ref.png | Bin 5721 -> 0 bytes + test/reference/line-width-scale.rgb24.ref.png | Bin 5721 -> 0 bytes + test/reference/line-width-tolerance.argb32.ref.png | Bin 168 -> 0 bytes + test/reference/line-width-tolerance.rgb24.ref.png | Bin 168 -> 0 bytes + test/reference/line-width.argb32.ref.png | Bin 178 -> 0 bytes + test/reference/line-width.rgb24.ref.png | Bin 178 -> 0 bytes + test/reference/linear-gradient-reflect.argb32.ref.png | Bin 185 -> 0 bytes + test/reference/linear-gradient-reflect.rgb24.ref.png | Bin 185 -> 0 bytes + test/reference/linear-gradient-subset.argb32.ref.png | Bin 813 -> 0 bytes + test/reference/linear-gradient-subset.rgb24.ref.png | Bin 813 -> 0 bytes + test/reference/linear-gradient.argb32.ref.png | Bin 959 -> 0 bytes + test/reference/linear-gradient.rgb24.ref.png | Bin 959 -> 0 bytes + test/reference/long-dashed-lines.argb32.ref.png | Bin 2548 -> 0 bytes + test/reference/long-dashed-lines.rgb24.ref.png | Bin 2548 -> 0 bytes + test/reference/map-all-to-xlib.argb32.ref.png | Bin 86 -> 0 bytes + test/reference/map-all-to-xlib.rgb24.ref.png | Bin 86 -> 0 bytes + test/reference/map-bit-to-xlib.argb32.ref.png | Bin 103 -> 0 bytes + test/reference/map-bit-to-xlib.rgb24.ref.png | Bin 103 -> 0 bytes + test/reference/mask-transformed-image.argb32.ref.png | Bin 3812 -> 0 bytes + test/reference/mask-transformed-image.rgb24.ref.png | Bin 3812 -> 0 bytes + test/reference/mask-transformed-similar.argb32.ref.png | Bin 3812 -> 0 bytes + test/reference/mask-transformed-similar.rgb24.ref.png | Bin 3812 -> 0 bytes + test/reference/mask-transformed-xlib.argb32.ref.png | Bin 3809 -> 0 bytes + test/reference/mask-transformed-xlib.rgb24.ref.png | Bin 3809 -> 0 bytes + test/reference/miter-precision.argb32.ref.png | Bin 1030 -> 0 bytes + test/reference/miter-precision.rgb24.ref.png | Bin 1030 -> 0 bytes + test/reference/overlapping-dash-caps.argb32.ref.png | Bin 3952 -> 0 bytes + test/reference/overlapping-dash-caps.rgb24.ref.png | Bin 3952 -> 0 bytes + .../paint-with-alpha-clip-mask.argb32.ref.png | Bin 351 -> 0 bytes + .../reference/paint-with-alpha-clip-mask.rgb24.ref.png | Bin 351 -> 0 bytes + test/reference/partial-clip-text-bottom.argb32.ref.png | Bin 261 -> 0 bytes + test/reference/partial-clip-text-bottom.rgb24.ref.png | Bin 261 -> 0 bytes + test/reference/partial-clip-text-left.argb32.ref.png | Bin 301 -> 0 bytes + test/reference/partial-clip-text-left.rgb24.ref.png | Bin 301 -> 0 bytes + test/reference/partial-clip-text-right.argb32.ref.png | Bin 155 -> 0 bytes + test/reference/partial-clip-text-right.rgb24.ref.png | Bin 155 -> 0 bytes + test/reference/partial-clip-text-top.argb32.ref.png | Bin 181 -> 0 bytes + test/reference/partial-clip-text-top.rgb24.ref.png | Bin 181 -> 0 bytes + test/reference/path-append.argb32.ref.png | Bin 6309 -> 0 bytes + test/reference/path-append.rgb24.ref.png | Bin 6309 -> 0 bytes + test/reference/path-stroke-twice.argb32.ref.png | Bin 240 -> 0 bytes + test/reference/path-stroke-twice.rgb24.ref.png | Bin 240 -> 0 bytes + test/reference/pthread-show-text.argb32.ref.png | Bin 30199 -> 0 bytes + test/reference/pthread-show-text.rgb24.ref.png | Bin 30199 -> 0 bytes + test/reference/push-group-color.argb32.ref.png | Bin 2976 -> 0 bytes + test/reference/push-group-color.rgb24.ref.png | Bin 2976 -> 0 bytes + test/reference/random-clip.argb32.ref.png | Bin 525469 -> 0 bytes + test/reference/random-clip.rgb24.ref.png | Bin 525469 -> 0 bytes + .../random-intersections-curves-eo.argb32.ref.png | Bin 244656 -> 0 bytes + .../random-intersections-curves-eo.rgb24.ref.png | Bin 244656 -> 0 bytes + .../random-intersections-curves-nz.argb32.ref.png | Bin 264449 -> 0 bytes + .../random-intersections-curves-nz.rgb24.ref.png | Bin 264449 -> 0 bytes + test/reference/random-intersections-eo.argb32.ref.png | Bin 135556 -> 0 bytes + test/reference/random-intersections-eo.rgb24.ref.png | Bin 135556 -> 0 bytes + .../random-intersections-nonzero.argb32.ref.png | Bin 141582 -> 0 bytes + .../random-intersections-nonzero.rgb24.ref.png | Bin 141582 -> 0 bytes + test/reference/record-fill-alpha.argb32.ref.png | Bin 2822 -> 0 bytes + test/reference/record-fill-alpha.rgb24.ref.png | Bin 2822 -> 0 bytes + .../record-paint-alpha-clip-mask.argb32.ref.png | Bin 321 -> 0 bytes + .../record-paint-alpha-clip-mask.rgb24.ref.png | Bin 321 -> 0 bytes + test/reference/record-paint-alpha-clip.argb32.ref.png | Bin 290 -> 0 bytes + test/reference/record-paint-alpha-clip.rgb24.ref.png | Bin 290 -> 0 bytes + test/reference/record-select-font-face.argb32.ref.png | Bin 2250 -> 0 bytes + test/reference/record-select-font-face.rgb24.ref.png | Bin 2250 -> 0 bytes + test/reference/record1414x-fill-alpha.argb32.ref.png | Bin 4244 -> 0 bytes + test/reference/record1414x-fill-alpha.rgb24.ref.png | Bin 4244 -> 0 bytes + .../record1414x-paint-alpha-clip-mask.argb32.ref.png | Bin 544 -> 0 bytes + .../record1414x-paint-alpha-clip-mask.rgb24.ref.png | Bin 544 -> 0 bytes + .../record1414x-paint-alpha-clip.argb32.ref.png | Bin 378 -> 0 bytes + .../record1414x-paint-alpha-clip.rgb24.ref.png | Bin 378 -> 0 bytes + .../record1414x-paint-alpha-solid-clip.argb32.ref.png | Bin 317 -> 0 bytes + .../record1414x-paint-alpha-solid-clip.rgb24.ref.png | Bin 317 -> 0 bytes + test/reference/record1414x-paint-alpha.argb32.ref.png | Bin 265 -> 0 bytes + test/reference/record1414x-paint-alpha.rgb24.ref.png | Bin 265 -> 0 bytes + test/reference/record1414x-paint.argb32.ref.png | Bin 95 -> 0 bytes + test/reference/record1414x-paint.rgb24.ref.png | Bin 95 -> 0 bytes + .../record1414x-select-font-face.argb32.ref.png | Bin 3177 -> 0 bytes + .../record1414x-select-font-face.rgb24.ref.png | Bin 3177 -> 0 bytes + .../record1414x-self-intersecting.argb32.ref.png | Bin 394 -> 0 bytes + .../record1414x-self-intersecting.rgb24.ref.png | Bin 394 -> 0 bytes + test/reference/record2x-fill-alpha.argb32.ref.png | Bin 6016 -> 0 bytes + test/reference/record2x-fill-alpha.rgb24.ref.png | Bin 6016 -> 0 bytes + .../record2x-paint-alpha-clip-mask.argb32.ref.png | Bin 543 -> 0 bytes + .../record2x-paint-alpha-clip-mask.rgb24.ref.png | Bin 543 -> 0 bytes + .../reference/record2x-paint-alpha-clip.argb32.ref.png | Bin 322 -> 0 bytes + test/reference/record2x-paint-alpha-clip.rgb24.ref.png | Bin 322 -> 0 bytes + .../record2x-paint-alpha-solid-clip.argb32.ref.png | Bin 281 -> 0 bytes + .../record2x-paint-alpha-solid-clip.rgb24.ref.png | Bin 281 -> 0 bytes + test/reference/record2x-paint-alpha.argb32.ref.png | Bin 291 -> 0 bytes + test/reference/record2x-paint-alpha.rgb24.ref.png | Bin 291 -> 0 bytes + test/reference/record2x-paint.argb32.ref.png | Bin 98 -> 0 bytes + test/reference/record2x-paint.rgb24.ref.png | Bin 98 -> 0 bytes + .../reference/record2x-select-font-face.argb32.ref.png | Bin 4407 -> 0 bytes + test/reference/record2x-select-font-face.rgb24.ref.png | Bin 4407 -> 0 bytes + .../record2x-self-intersecting.argb32.ref.png | Bin 171 -> 0 bytes + .../reference/record2x-self-intersecting.rgb24.ref.png | Bin 171 -> 0 bytes + test/reference/record90-fill-alpha.argb32.ref.png | Bin 2654 -> 0 bytes + test/reference/record90-fill-alpha.rgb24.ref.png | Bin 2654 -> 0 bytes + .../record90-paint-alpha-clip-mask.argb32.ref.png | Bin 317 -> 0 bytes + .../record90-paint-alpha-clip-mask.rgb24.ref.png | Bin 317 -> 0 bytes + .../reference/record90-paint-alpha-clip.argb32.ref.png | Bin 335 -> 0 bytes + test/reference/record90-paint-alpha-clip.rgb24.ref.png | Bin 335 -> 0 bytes + .../record90-paint-alpha-solid-clip.argb32.ref.png | Bin 293 -> 0 bytes + .../record90-paint-alpha-solid-clip.rgb24.ref.png | Bin 293 -> 0 bytes + test/reference/record90-paint-alpha.argb32.ref.png | Bin 105 -> 0 bytes + test/reference/record90-paint-alpha.rgb24.ref.png | Bin 105 -> 0 bytes + test/reference/record90-paint.argb32.ref.png | Bin 93 -> 0 bytes + test/reference/record90-paint.rgb24.ref.png | Bin 93 -> 0 bytes + .../reference/record90-select-font-face.argb32.ref.png | Bin 2272 -> 0 bytes + test/reference/record90-select-font-face.rgb24.ref.png | Bin 2272 -> 0 bytes + test/reference/rectilinear-miter-limit.argb32.ref.png | Bin 145 -> 0 bytes + test/reference/rectilinear-miter-limit.rgb24.ref.png | Bin 145 -> 0 bytes + .../rotate-clip-image-surface-paint.argb32.ref.png | Bin 331 -> 0 bytes + .../rotate-clip-image-surface-paint.rgb24.ref.png | Bin 331 -> 0 bytes + test/reference/rotated-clip.argb32.ref.png | Bin 3829 -> 0 bytes + test/reference/rotated-clip.rgb24.ref.png | Bin 3829 -> 0 bytes + test/reference/rounded-rectangle-fill.argb32.ref.png | Bin 787 -> 0 bytes + test/reference/rounded-rectangle-fill.rgb24.ref.png | Bin 787 -> 0 bytes + test/reference/scale-offset-image.argb32.ref.png | Bin 9748 -> 0 bytes + test/reference/scale-offset-image.rgb24.ref.png | Bin 9748 -> 0 bytes + test/reference/scale-offset-similar.argb32.ref.png | Bin 9779 -> 0 bytes + test/reference/scale-offset-similar.rgb24.ref.png | Bin 9779 -> 0 bytes + test/reference/scale-offset-xlib.argb32.ref.png | Bin 9120 -> 0 bytes + test/reference/scale-offset-xlib.rgb24.ref.png | Bin 9120 -> 0 bytes + test/reference/select-font-face.argb32.ref.png | Bin 2250 -> 0 bytes + test/reference/select-font-face.rgb24.ref.png | Bin 2250 -> 0 bytes + test/reference/self-copy.argb32.ref.png | Bin 257 -> 0 bytes + test/reference/self-copy.rgb24.ref.png | Bin 257 -> 0 bytes + test/reference/shape-general-convex.argb32.ref.png | Bin 2539 -> 0 bytes + test/reference/shape-general-convex.rgb24.ref.png | Bin 2539 -> 0 bytes + test/reference/shape-sierpinski.argb32.ref.png | Bin 54850 -> 0 bytes + test/reference/shape-sierpinski.rgb24.ref.png | Bin 54850 -> 0 bytes + test/reference/show-glyphs-advance.argb32.ref.png | Bin 1394 -> 0 bytes + test/reference/show-glyphs-advance.rgb24.ref.png | Bin 1394 -> 0 bytes + test/reference/show-text-current-point.argb32.ref.png | Bin 2151 -> 0 bytes + test/reference/show-text-current-point.rgb24.ref.png | Bin 2151 -> 0 bytes + test/reference/skew-extreme.argb32.ref.png | Bin 799 -> 0 bytes + test/reference/skew-extreme.rgb24.ref.png | Bin 799 -> 0 bytes + test/reference/smask-fill.argb32.ref.png | Bin 1196 -> 0 bytes + test/reference/smask-fill.rgb24.ref.png | Bin 1196 -> 0 bytes + test/reference/smask-image-mask.argb32.ref.png | Bin 619 -> 0 bytes + test/reference/smask-image-mask.rgb24.ref.png | Bin 619 -> 0 bytes + test/reference/smask-mask.argb32.ref.png | Bin 2353 -> 0 bytes + test/reference/smask-mask.rgb24.ref.png | Bin 2353 -> 0 bytes + test/reference/smask-paint.argb32.ref.png | Bin 2469 -> 0 bytes + test/reference/smask-paint.rgb24.ref.png | Bin 2469 -> 0 bytes + test/reference/smask-stroke.argb32.ref.png | Bin 1700 -> 0 bytes + test/reference/smask-stroke.rgb24.ref.png | Bin 1700 -> 0 bytes + test/reference/smask-text.argb32.ref.png | Bin 1661 -> 0 bytes + test/reference/smask-text.rgb24.ref.png | Bin 1661 -> 0 bytes + test/reference/smask.argb32.ref.png | Bin 3422 -> 0 bytes + test/reference/smask.rgb24.ref.png | Bin 3422 -> 0 bytes + test/reference/spline-decomposition.argb32.ref.png | Bin 19520 -> 0 bytes + test/reference/spline-decomposition.rgb24.ref.png | Bin 19520 -> 0 bytes + test/reference/stride-12-xlib.argb32.ref.png | Bin 81121 -> 0 bytes + test/reference/stride-12-xlib.rgb24.ref.png | Bin 81121 -> 0 bytes + test/reference/stroke-clipped.argb32.ref.png | Bin 5857 -> 0 bytes + test/reference/stroke-clipped.rgb24.ref.png | Bin 5857 -> 0 bytes + test/reference/stroke-image.argb32.ref.png | Bin 1424 -> 0 bytes + test/reference/stroke-image.rgb24.ref.png | Bin 1424 -> 0 bytes + test/reference/stroke-pattern.argb32.ref.png | Bin 1510 -> 0 bytes + test/reference/stroke-pattern.rgb24.ref.png | Bin 1510 -> 0 bytes + test/reference/stroke-xlib.argb32.ref.png | Bin 1467 -> 0 bytes + test/reference/stroke-xlib.rgb24.ref.png | Bin 1467 -> 0 bytes + test/reference/subsurface-scale.argb32.ref.png | Bin 5921 -> 0 bytes + test/reference/subsurface-scale.rgb24.ref.png | Bin 5921 -> 0 bytes + test/reference/subsurface.argb32.ref.png | Bin 1811 -> 0 bytes + test/reference/subsurface.rgb24.ref.png | Bin 1811 -> 0 bytes + .../surface-pattern-scale-down.argb32.ref.png | Bin 1326 -> 0 bytes + .../reference/surface-pattern-scale-down.rgb24.ref.png | Bin 1326 -> 0 bytes + test/reference/surface-pattern-scale-up.argb32.ref.png | Bin 4020 -> 0 bytes + test/reference/surface-pattern-scale-up.rgb24.ref.png | Bin 4020 -> 0 bytes + test/reference/surface-pattern.argb32.ref.png | Bin 11088 -> 0 bytes + test/reference/surface-pattern.rgb24.ref.png | Bin 11088 -> 0 bytes + test/reference/text-antialias-gray.argb32.ref.png | Bin 966 -> 0 bytes + test/reference/text-antialias-gray.rgb24.ref.png | Bin 966 -> 0 bytes + .../text-antialias-subpixel-bgr.argb32.ref.png | Bin 1005 -> 0 bytes + .../text-antialias-subpixel-bgr.rgb24.ref.png | Bin 1005 -> 0 bytes + .../text-antialias-subpixel-rgb.argb32.ref.png | Bin 1013 -> 0 bytes + .../text-antialias-subpixel-rgb.rgb24.ref.png | Bin 1013 -> 0 bytes + .../text-antialias-subpixel-vbgr.argb32.ref.png | Bin 985 -> 0 bytes + .../text-antialias-subpixel-vbgr.rgb24.ref.png | Bin 985 -> 0 bytes + .../text-antialias-subpixel-vrgb.argb32.ref.png | Bin 1009 -> 0 bytes + .../text-antialias-subpixel-vrgb.rgb24.ref.png | Bin 1009 -> 0 bytes + test/reference/text-antialias-subpixel.argb32.ref.png | Bin 1013 -> 0 bytes + test/reference/text-antialias-subpixel.rgb24.ref.png | Bin 1013 -> 0 bytes + test/reference/text-glyph-range.argb32.ref.png | Bin 1928 -> 0 bytes + test/reference/text-glyph-range.rgb24.ref.png | Bin 1928 -> 0 bytes + test/reference/text-rotate.argb32.ref.png | Bin 16307 -> 0 bytes + test/reference/text-rotate.rgb24.ref.png | Bin 16307 -> 0 bytes + test/reference/tiger.argb32.ref.png | Bin 94790 -> 0 bytes + test/reference/tiger.rgb24.ref.png | Bin 94790 -> 0 bytes + test/reference/transforms.argb32.ref.png | Bin 348 -> 0 bytes + test/reference/transforms.rgb24.ref.png | Bin 348 -> 0 bytes + test/reference/twin-antialias-gray.argb32.ref.png | Bin 3536 -> 0 bytes + test/reference/twin-antialias-gray.rgb24.ref.png | Bin 3536 -> 0 bytes + test/reference/twin-antialias-mixed.argb32.ref.png | Bin 2359 -> 0 bytes + test/reference/twin-antialias-mixed.rgb24.ref.png | Bin 2359 -> 0 bytes + test/reference/twin-antialias-none.argb32.ref.png | Bin 692 -> 0 bytes + test/reference/twin-antialias-none.rgb24.ref.png | Bin 692 -> 0 bytes + test/reference/twin-antialias-subpixel.argb32.ref.png | Bin 3536 -> 0 bytes + test/reference/twin-antialias-subpixel.rgb24.ref.png | Bin 3536 -> 0 bytes + test/reference/twin.argb32.ref.png | Bin 3536 -> 0 bytes + test/reference/twin.rgb24.ref.png | Bin 3536 -> 0 bytes + test/reference/user-font-proxy.argb32.ref.png | Bin 16981 -> 0 bytes + test/reference/user-font-proxy.rgb24.ref.png | Bin 16981 -> 0 bytes + test/reference/user-font-rescale.argb32.ref.png | Bin 14883 -> 0 bytes + test/reference/user-font-rescale.rgb24.ref.png | Bin 14883 -> 0 bytes + test/reference/user-font.argb32.ref.png | Bin 5889 -> 0 bytes + test/reference/user-font.rgb24.ref.png | Bin 5889 -> 0 bytes + test/reference/world-map-fill.argb32.ref.png | Bin 57407 -> 0 bytes + test/reference/world-map-fill.rgb24.ref.png | Bin 57407 -> 0 bytes + test/reference/world-map-stroke.argb32.ref.png | Bin 65152 -> 0 bytes + test/reference/world-map-stroke.rgb24.ref.png | Bin 65152 -> 0 bytes + test/reference/world-map.argb32.ref.png | Bin 70463 -> 0 bytes + test/reference/world-map.rgb24.ref.png | Bin 70463 -> 0 bytes + 359 files changed, 0 insertions(+), 0 deletions(-) + +commit 167561f2823767058e2be3a26131b5f820b35c35 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 30 10:22:41 2014 +0100 + + tor: Review full-row walker + + When updating the quorem between cells, we would lose the overflow + increment as it was only applied locally and not preserved by updating + the quorem. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-tor-scan-converter.c | 86 ++++++++------------- + test/reference/aliasing.argb32.ref.png | Bin 106073 -> 104193 bytes + test/reference/aliasing.rgb24.ref.png | Bin 106073 -> 104193 bytes + test/reference/arc-direction.argb32.ref.png | Bin 6491 -> 6473 bytes + test/reference/arc-direction.rgb24.ref.png | Bin 6491 -> 6473 bytes + ....ref.png => big-little-triangle.argb32.ref.png} | Bin + test/reference/big-little-triangle.rgb24.ref.png | Bin 329 -> 331 bytes + test/reference/bug-extents.argb32.ref.png | Bin 9257 -> 9264 bytes + test/reference/bug-extents.rgb24.ref.png | Bin 9257 -> 9264 bytes + test/reference/bug-spline.argb32.ref.png | Bin 5462 -> 5490 bytes + test/reference/bug-spline.rgb24.ref.png | Bin 5462 -> 5490 bytes + test/reference/caps-joins-alpha.argb32.ref.png | Bin 2479 -> 2482 bytes + test/reference/caps-joins-alpha.rgb24.ref.png | Bin 2479 -> 2482 bytes + .../{clear.ref.png => clear.argb32.ref.png} | Bin + test/reference/clear.rgb24.ref.png | Bin 0 -> 621 bytes + test/reference/clip-disjoint-quad.argb32.ref.png | Bin 1643 -> 1642 bytes + test/reference/clip-disjoint-quad.rgb24.ref.png | Bin 1643 -> 1642 bytes + test/reference/clip-disjoint.argb32.ref.png | Bin 5465 -> 5464 bytes + test/reference/clip-disjoint.rgb24.ref.png | Bin 5465 -> 5464 bytes + test/reference/clip-fill-eo-unbounded.ref.png | Bin 4084 -> 4076 bytes + test/reference/clip-fill-nz-unbounded.ref.png | Bin 4084 -> 4076 bytes + ...-rule.ref.png => clip-fill-rule.argb32.ref.png} | Bin + test/reference/clip-fill-rule.rgb24.ref.png | Bin 0 -> 388 bytes + .../clip-group-shapes-circles.argb32.ref.png | Bin 1526 -> 1533 bytes + .../clip-group-shapes-circles.rgb24.ref.png | Bin 1526 -> 1533 bytes + test/reference/clip-intersect.argb32.ref.png | Bin 220 -> 223 bytes + test/reference/clip-intersect.rgb24.ref.png | Bin 220 -> 223 bytes + test/reference/clip-operator.argb32.ref.png | Bin 0 -> 8685 bytes + test/reference/clip-operator.rgb24.ref.png | Bin 0 -> 3458 bytes + test/reference/clip-shape.argb32.ref.png | Bin 2945 -> 2923 bytes + test/reference/clip-shape.rgb24.ref.png | Bin 2945 -> 2923 bytes + .../reference/clip-stroke-unbounded.argb32.ref.png | Bin 4105 -> 0 bytes + test/reference/clip-stroke-unbounded.ref.png | Bin 4127 -> 4104 bytes + test/reference/clip-stroke-unbounded.rgb24.ref.png | Bin 3517 -> 0 bytes + test/reference/clip-twice.ref.png | Bin 1344 -> 1357 bytes + test/reference/degenerate-arc.argb32.ref.png | Bin 639 -> 646 bytes + test/reference/degenerate-arc.rgb24.ref.png | Bin 639 -> 646 bytes + test/reference/fill-alpha-pattern.argb32.ref.png | Bin 3381 -> 3489 bytes + test/reference/fill-alpha-pattern.rgb24.ref.png | Bin 3381 -> 3489 bytes + test/reference/fill-alpha.argb32.ref.png | Bin 2815 -> 2815 bytes + test/reference/fill-alpha.rgb24.ref.png | Bin 2815 -> 2815 bytes + test/reference/fill-degenerate-sort-order.ref.png | Bin 2410 -> 2414 bytes + ...{fill-rule.ref.png => fill-rule.argb32.ref.png} | Bin + test/reference/fill-rule.rgb24.ref.png | Bin 0 -> 1797 bytes + .../ft-text-vertical-layout-type1.argb32.ref.png | Bin 3084 -> 3075 bytes + .../ft-text-vertical-layout-type1.rgb24.ref.png | Bin 3084 -> 3075 bytes + .../ft-text-vertical-layout-type3.argb32.ref.png | Bin 3610 -> 3609 bytes + .../ft-text-vertical-layout-type3.rgb24.ref.png | Bin 3610 -> 3609 bytes + test/reference/halo-transform.argb32.ref.png | Bin 15231 -> 15234 bytes + test/reference/halo-transform.rgb24.ref.png | Bin 15231 -> 15234 bytes + test/reference/halo.argb32.ref.png | Bin 8666 -> 8621 bytes + test/reference/halo.rgb24.ref.png | Bin 8666 -> 8621 bytes + test/reference/hatchings.argb32.ref.png | Bin 91041 -> 90640 bytes + test/reference/hatchings.rgb24.ref.png | Bin 91041 -> 90640 bytes + test/reference/inverted-clip.rgb24.ref.png | Bin 1333 -> 1323 bytes + test/reference/leaky-dashed-stroke.argb32.ref.png | Bin 9286 -> 9286 bytes + test/reference/leaky-dashed-stroke.rgb24.ref.png | Bin 9286 -> 9286 bytes + ...line-width-large-overlap-rotated.argb32.ref.png | Bin 436 -> 439 bytes + .../line-width-large-overlap-rotated.rgb24.ref.png | Bin 436 -> 439 bytes + .../line-width-overlap-rotated.argb32.ref.png | Bin 716 -> 722 bytes + .../line-width-overlap-rotated.rgb24.ref.png | Bin 716 -> 722 bytes + .../linear-gradient-subset.argb32.ref.png | Bin 812 -> 813 bytes + .../reference/linear-gradient-subset.rgb24.ref.png | Bin 812 -> 813 bytes + test/reference/linear-gradient.argb32.ref.png | Bin 960 -> 959 bytes + test/reference/linear-gradient.rgb24.ref.png | Bin 960 -> 959 bytes + test/reference/mask-alpha.ref.png | Bin 644 -> 642 bytes + test/reference/mask.argb32.ref.png | Bin 0 -> 8681 bytes + test/reference/mask.ref.png | Bin 8565 -> 0 bytes + test/reference/mask.rgb24.ref.png | Bin 0 -> 7215 bytes + ...alpha.ref.png => operator-alpha.argb32.ref.png} | Bin + test/reference/operator-alpha.rgb24.ref.png | Bin 0 -> 205 bytes + test/reference/operator-clear.argb32.ref.png | Bin 1068 -> 1067 bytes + test/reference/operator-clear.ref.png | Bin 1071 -> 0 bytes + test/reference/operator-clear.rgb24.ref.png | Bin 0 -> 940 bytes + test/reference/operator-source.argb32.ref.png | Bin 0 -> 5626 bytes + test/reference/operator-source.ref.png | Bin 5614 -> 0 bytes + test/reference/operator-source.rgb24.ref.png | Bin 0 -> 4026 bytes + .../{operator.ref.png => operator.argb32.ref.png} | Bin + test/reference/operator.rgb24.ref.png | Bin 0 -> 189 bytes + ...ce.ref.png => over-above-source.argb32.ref.png} | Bin + test/reference/over-above-source.rgb24.ref.png | Bin 0 -> 459 bytes + ...e.ref.png => over-around-source.argb32.ref.png} | Bin + test/reference/over-around-source.rgb24.ref.png | Bin 0 -> 504 bytes + ...ce.ref.png => over-below-source.argb32.ref.png} | Bin + test/reference/over-below-source.rgb24.ref.png | Bin 0 -> 389 bytes + ....ref.png => over-between-source.argb32.ref.png} | Bin + test/reference/over-between-source.rgb24.ref.png | Bin 0 -> 482 bytes + test/reference/path-append.argb32.ref.png | Bin 6297 -> 6309 bytes + test/reference/path-append.rgb24.ref.png | Bin 6297 -> 6309 bytes + test/reference/push-group-color.argb32.ref.png | Bin 0 -> 2976 bytes + test/reference/push-group-color.ref.png | Bin 2961 -> 0 bytes + test/reference/push-group-color.rgb24.ref.png | Bin 0 -> 2976 bytes + test/reference/push-group.argb32.ref.png | Bin 3097 -> 3116 bytes + test/reference/push-group.ref.png | Bin 3062 -> 0 bytes + test/reference/push-group.rgb24.ref.png | Bin 0 -> 2929 bytes + test/reference/random-clip.argb32.ref.png | Bin 525539 -> 525469 bytes + test/reference/random-clip.rgb24.ref.png | Bin 525539 -> 525469 bytes + .../random-intersections-curves-eo.argb32.ref.png | Bin 244655 -> 244656 bytes + .../random-intersections-curves-eo.rgb24.ref.png | Bin 244655 -> 244656 bytes + .../random-intersections-curves-nz.argb32.ref.png | Bin 264447 -> 264449 bytes + .../random-intersections-curves-nz.rgb24.ref.png | Bin 264447 -> 264449 bytes + .../random-intersections-eo.argb32.ref.png | Bin 135591 -> 135556 bytes + .../random-intersections-eo.rgb24.ref.png | Bin 135591 -> 135556 bytes + .../random-intersections-nonzero.argb32.ref.png | Bin 141598 -> 141582 bytes + .../random-intersections-nonzero.rgb24.ref.png | Bin 141598 -> 141582 bytes + test/reference/record2x-fill-alpha.argb32.ref.png | Bin 5986 -> 6016 bytes + test/reference/record2x-fill-alpha.rgb24.ref.png | Bin 5986 -> 6016 bytes + .../rotate-clip.surface-paint.image.argb32.ref.png | Bin 0 -> 340 bytes + .../rotate-clip.surface-paint.image.rgb24.ref.png | Bin 0 -> 340 bytes + test/reference/scale-offset-similar.argb32.ref.png | Bin 9847 -> 9779 bytes + test/reference/scale-offset-similar.rgb24.ref.png | Bin 9847 -> 9779 bytes + test/reference/smask-fill.argb32.ref.png | Bin 1201 -> 1196 bytes + test/reference/smask-fill.rgb24.ref.png | Bin 1201 -> 1196 bytes + test/reference/smask-stroke.argb32.ref.png | Bin 1707 -> 1700 bytes + test/reference/smask-stroke.rgb24.ref.png | Bin 1707 -> 1700 bytes + test/reference/smask.argb32.ref.png | Bin 3436 -> 3422 bytes + test/reference/smask.rgb24.ref.png | Bin 3436 -> 3422 bytes + .../surface-pattern-operator.argb32.ref.png | Bin 0 -> 5107 bytes + test/reference/surface-pattern-operator.ref.png | Bin 5217 -> 0 bytes + .../surface-pattern-operator.rgb24.ref.png | Bin 0 -> 1926 bytes + test/reference/text-rotate.argb32.ref.png | Bin 16518 -> 16307 bytes + test/reference/text-rotate.rgb24.ref.png | Bin 16518 -> 16307 bytes + test/reference/tiger.argb32.ref.png | Bin 94714 -> 94790 bytes + test/reference/tiger.rgb24.ref.png | Bin 94714 -> 94790 bytes + test/reference/trap-clip.argb32.ref.png | Bin 0 -> 5972 bytes + test/reference/trap-clip.ref.png | Bin 5826 -> 0 bytes + test/reference/trap-clip.rgb24.ref.png | Bin 0 -> 5462 bytes + test/reference/unbounded-operator.argb32.ref.png | Bin 2763 -> 2755 bytes + test/reference/unbounded-operator.ref.png | Bin 2781 -> 0 bytes + test/reference/unbounded-operator.rgb24.ref.png | Bin 0 -> 1328 bytes + test/reference/user-font-proxy.argb32.ref.png | Bin 16971 -> 16981 bytes + test/reference/user-font-proxy.rgb24.ref.png | Bin 16971 -> 16981 bytes + test/reference/user-font.argb32.ref.png | Bin 5882 -> 5889 bytes + test/reference/user-font.rgb24.ref.png | Bin 5882 -> 5889 bytes + 134 files changed, 34 insertions(+), 52 deletions(-) + +commit ff23afd5f26e46e9b3c1fbfa31b2809f4329c4f0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 30 12:25:56 2014 +0100 + + test: Include coverage in the normal test run + + Currently coverage is marked as slow. It is slower than the typical + test, but it is quite a useful check on our rasterisation quality + without going too far overboard (unlike partial-coverage!). + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/coverage.c | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +commit 03c3d4b7c159a3004071522bac2461e553fec211 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 30 08:44:43 2014 +0100 + + tor: Fix loss of precision from projection onto sample grid + + The goal is to preserve the precision in the gradients of the edges and + only apply the projection into the final cell location. We also include + the half-subrow offset as spotted by Massimo. + + References: https://bugs.freedesktop.org/show_bug.cgi?id=84396 + Testcase: coverage-rhombus + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-tor-scan-converter.c | 331 +++++++++++---------- + test/reference/a1-clip-fill-rule.ref.png | Bin 0 -> 236 bytes + test/reference/a8-clear.argb32.ref.png | Bin 271 -> 269 bytes + test/reference/a8-clear.rgb24.ref.png | Bin 271 -> 269 bytes + test/reference/aliasing.argb32.ref.png | Bin 104324 -> 106073 bytes + test/reference/aliasing.rgb24.ref.png | Bin 104324 -> 106073 bytes + test/reference/alpha-similar.ref.png | Bin 0 -> 99 bytes + test/reference/arc-direction.argb32.ref.png | Bin 6380 -> 6491 bytes + test/reference/arc-direction.rgb24.ref.png | Bin 6380 -> 6491 bytes + test/reference/big-empty-box.ref.png | Bin 0 -> 111 bytes + test/reference/big-empty-triangle.ref.png | Bin 0 -> 111 bytes + test/reference/big-little-box.ref.png | Bin 0 -> 169 bytes + test/reference/big-little-triangle.ref.png | Bin 0 -> 409 bytes + test/reference/big-little-triangle.rgb24.ref.png | Bin 0 -> 329 bytes + test/reference/bitmap-font.ref.png | Bin 0 -> 950 bytes + test/reference/bug-extents.argb32.ref.png | Bin 9251 -> 9257 bytes + test/reference/bug-extents.rgb24.ref.png | Bin 9251 -> 9257 bytes + test/reference/bug-source-cu.ref.png | Bin 0 -> 3815 bytes + test/reference/bug-spline.argb32.ref.png | Bin 0 -> 5462 bytes + test/reference/bug-spline.ref.png | Bin 5577 -> 0 bytes + test/reference/bug-spline.rgb24.ref.png | Bin 0 -> 5462 bytes + test/reference/caps-joins-alpha.argb32.ref.png | Bin 0 -> 2479 bytes + test/reference/caps-joins-alpha.ref.png | Bin 2643 -> 0 bytes + test/reference/caps-joins-alpha.rgb24.ref.png | Bin 0 -> 2479 bytes + test/reference/caps-joins-curve.argb32.ref.png | Bin 0 -> 5972 bytes + test/reference/caps-joins-curve.ref.png | Bin 6228 -> 0 bytes + test/reference/caps-joins-curve.rgb24.ref.png | Bin 0 -> 5972 bytes + test/reference/caps-tails-curve.argb32.ref.png | Bin 0 -> 54409 bytes + test/reference/caps-tails-curve.ref.png | Bin 54314 -> 0 bytes + test/reference/caps-tails-curve.rgb24.ref.png | Bin 0 -> 54409 bytes + test/reference/clear.ref.png | Bin 0 -> 692 bytes + test/reference/clip-device-offset.ref.png | Bin 0 -> 175 bytes + .../clip-disjoint-hatching.argb32.ref.png | Bin 9022 -> 7918 bytes + .../reference/clip-disjoint-hatching.rgb24.ref.png | Bin 9022 -> 7918 bytes + test/reference/clip-disjoint-quad.argb32.ref.png | Bin 0 -> 1643 bytes + test/reference/clip-disjoint-quad.ref.png | Bin 1592 -> 0 bytes + test/reference/clip-disjoint-quad.rgb24.ref.png | Bin 0 -> 1643 bytes + test/reference/clip-disjoint.argb32.ref.png | Bin 0 -> 5465 bytes + test/reference/clip-disjoint.ref.png | Bin 5438 -> 0 bytes + test/reference/clip-disjoint.rgb24.ref.png | Bin 0 -> 5465 bytes + test/reference/clip-fill-eo-unbounded.ref.png | Bin 0 -> 4084 bytes + test/reference/clip-fill-nz-unbounded.ref.png | Bin 0 -> 4084 bytes + .../reference/clip-fill-rule-pixel-aligned.ref.png | Bin 0 -> 195 bytes + test/reference/clip-fill-rule.ref.png | Bin 0 -> 437 bytes + test/reference/clip-fill.argb32.ref.png | Bin 1031 -> 1064 bytes + test/reference/clip-fill.rgb24.ref.png | Bin 1031 -> 1064 bytes + .../clip-group-shapes-circles.argb32.ref.png | Bin 1525 -> 1526 bytes + .../clip-group-shapes-circles.rgb24.ref.png | Bin 1525 -> 1526 bytes + test/reference/clip-intersect.argb32.ref.png | Bin 200 -> 220 bytes + test/reference/clip-intersect.rgb24.ref.png | Bin 200 -> 220 bytes + test/reference/clip-nesting.ref.png | Bin 0 -> 1094 bytes + test/reference/clip-operator.ref.png | Bin 0 -> 8257 bytes + test/reference/clip-push-group.argb32.ref.png | Bin 164 -> 164 bytes + test/reference/clip-push-group.rgb24.ref.png | Bin 164 -> 164 bytes + test/reference/clip-shape.argb32.ref.png | Bin 3073 -> 2945 bytes + test/reference/clip-shape.rgb24.ref.png | Bin 3073 -> 2945 bytes + .../reference/clip-stroke-unbounded.argb32.ref.png | Bin 0 -> 4105 bytes + test/reference/clip-stroke-unbounded.ref.png | Bin 0 -> 4127 bytes + test/reference/clip-stroke-unbounded.rgb24.ref.png | Bin 0 -> 3517 bytes + test/reference/clip-stroke.argb32.ref.png | Bin 0 -> 1551 bytes + test/reference/clip-stroke.ref.png | Bin 1419 -> 0 bytes + test/reference/clip-stroke.rgb24.ref.png | Bin 0 -> 1551 bytes + test/reference/clip-text.argb32.ref.png | Bin 928 -> 918 bytes + test/reference/clip-text.rgb24.ref.png | Bin 928 -> 918 bytes + test/reference/clip-twice.ref.png | Bin 0 -> 1344 bytes + test/reference/clip-unbounded.ref.png | Bin 0 -> 100 bytes + test/reference/clipped-group.argb32.ref.png | Bin 342 -> 315 bytes + test/reference/clipped-group.rgb24.ref.png | Bin 342 -> 315 bytes + test/reference/dash-curve.argb32.ref.png | Bin 0 -> 41069 bytes + test/reference/dash-curve.ref.png | Bin 40945 -> 0 bytes + test/reference/dash-curve.rgb24.ref.png | Bin 0 -> 41069 bytes + test/reference/dash-zero-length.ref.png | Bin 0 -> 230 bytes + test/reference/degenerate-arc.argb32.ref.png | Bin 0 -> 639 bytes + test/reference/degenerate-arc.ref.png | Bin 692 -> 0 bytes + test/reference/degenerate-arc.rgb24.ref.png | Bin 0 -> 639 bytes + test/reference/degenerate-dash.argb32.ref.png | Bin 0 -> 1908 bytes + test/reference/degenerate-dash.ref.png | Bin 1985 -> 0 bytes + test/reference/degenerate-dash.rgb24.ref.png | Bin 0 -> 1908 bytes + test/reference/degenerate-path.ref.png | Bin 0 -> 251 bytes + test/reference/device-offset-positive.ref.png | Bin 0 -> 139 bytes + test/reference/device-offset.ref.png | Bin 0 -> 137 bytes + test/reference/egl-surface-source.ref.png | Bin 0 -> 377 bytes + test/reference/extended-blend-alpha-mask.ref.png | Bin 0 -> 9221 bytes + test/reference/extended-blend-alpha.ref.png | Bin 0 -> 9406 bytes + test/reference/extended-blend-mask.ref.png | Bin 0 -> 3971 bytes + test/reference/extended-blend-solid-alpha.ref.png | Bin 0 -> 9406 bytes + test/reference/extended-blend-solid.ref.png | Bin 0 -> 4063 bytes + test/reference/extended-blend.ref.png | Bin 0 -> 4063 bytes + test/reference/fallback.ref.png | Bin 0 -> 4106 bytes + test/reference/fill-alpha.argb32.ref.png | Bin 2736 -> 2815 bytes + test/reference/fill-alpha.rgb24.ref.png | Bin 2736 -> 2815 bytes + .../fill-and-stroke-alpha-add.argb32.ref.png | Bin 556 -> 558 bytes + .../fill-and-stroke-alpha-add.rgb24.ref.png | Bin 556 -> 558 bytes + .../reference/fill-and-stroke-alpha.argb32.ref.png | Bin 508 -> 513 bytes + test/reference/fill-and-stroke-alpha.rgb24.ref.png | Bin 508 -> 513 bytes + test/reference/fill-and-stroke.ref.png | Bin 0 -> 328 bytes + test/reference/fill-degenerate-sort-order.ref.png | Bin 0 -> 2410 bytes + test/reference/fill-empty.ref.png | Bin 0 -> 99 bytes + test/reference/fill-missed-stop.ref.png | Bin 0 -> 455 bytes + test/reference/fill-rule.ref.png | Bin 0 -> 2086 bytes + test/reference/fill.image.argb32.ref.png | Bin 0 -> 1482 bytes + test/reference/fill.image.rgb24.ref.png | Bin 0 -> 1482 bytes + test/reference/finer-grained-fallbacks.ref.png | Bin 0 -> 1151 bytes + .../ft-text-vertical-layout-type1.argb32.ref.png | Bin 3062 -> 3084 bytes + .../ft-text-vertical-layout-type1.rgb24.ref.png | Bin 3062 -> 3084 bytes + .../ft-text-vertical-layout-type3.argb32.ref.png | Bin 0 -> 3610 bytes + .../ft-text-vertical-layout-type3.ref.png | Bin 3608 -> 0 bytes + .../ft-text-vertical-layout-type3.rgb24.ref.png | Bin 0 -> 3610 bytes + test/reference/gl-surface-source.ref.png | Bin 0 -> 377 bytes + test/reference/gradient-alpha.ref.png | Bin 0 -> 125 bytes + test/reference/gradient-constant-alpha.ref.png | Bin 0 -> 111 bytes + test/reference/gradient-zero-stops-mask.ref.png | Bin 0 -> 86 bytes + test/reference/gradient-zero-stops.ref.png | Bin 0 -> 105 bytes + test/reference/group-unaligned.argb32.ref.png | Bin 427 -> 494 bytes + test/reference/group-unaligned.rgb24.ref.png | Bin 427 -> 494 bytes + test/reference/halo-transform.argb32.ref.png | Bin 15063 -> 15231 bytes + test/reference/halo-transform.rgb24.ref.png | Bin 15063 -> 15231 bytes + test/reference/halo.argb32.ref.png | Bin 0 -> 8666 bytes + test/reference/halo.ref.png | Bin 8774 -> 0 bytes + test/reference/halo.rgb24.ref.png | Bin 0 -> 8666 bytes + test/reference/hatchings.argb32.ref.png | Bin 0 -> 91041 bytes + test/reference/hatchings.ref.png | Bin 95333 -> 0 bytes + test/reference/hatchings.rgb24.ref.png | Bin 0 -> 91041 bytes + test/reference/image-surface-source.ref.png | Bin 0 -> 377 bytes + test/reference/inverted-clip.rgb24.ref.png | Bin 0 -> 1333 bytes + .../large-twin-antialias-mixed.argb32.ref.png | Bin 16660 -> 16442 bytes + .../large-twin-antialias-mixed.rgb24.ref.png | Bin 16660 -> 16442 bytes + test/reference/leaky-dashed-stroke.argb32.ref.png | Bin 9387 -> 9286 bytes + test/reference/leaky-dashed-stroke.rgb24.ref.png | Bin 9387 -> 9286 bytes + ...line-width-large-overlap-rotated.argb32.ref.png | Bin 427 -> 436 bytes + .../line-width-large-overlap-rotated.rgb24.ref.png | Bin 427 -> 436 bytes + .../line-width-overlap-rotated.argb32.ref.png | Bin 828 -> 716 bytes + .../line-width-overlap-rotated.rgb24.ref.png | Bin 828 -> 716 bytes + test/reference/linear-gradient-one-stop.ref.png | Bin 0 -> 225 bytes + .../linear-gradient-subset.argb32.ref.png | Bin 820 -> 812 bytes + .../reference/linear-gradient-subset.rgb24.ref.png | Bin 820 -> 812 bytes + test/reference/linear-gradient.argb32.ref.png | Bin 974 -> 960 bytes + test/reference/linear-gradient.rgb24.ref.png | Bin 974 -> 960 bytes + test/reference/mask-alpha.ref.png | Bin 0 -> 644 bytes + test/reference/mask-ctm.ref.png | Bin 0 -> 129 bytes + test/reference/mask-surface-ctm.ref.png | Bin 0 -> 129 bytes + test/reference/mask.ref.png | Bin 0 -> 8565 bytes + test/reference/new-sub-path.ref.png | Bin 0 -> 408 bytes + test/reference/nil-surface.ref.png | Bin 0 -> 107 bytes + test/reference/operator-alpha.ref.png | Bin 0 -> 280 bytes + test/reference/operator-clear.argb32.ref.png | Bin 0 -> 1068 bytes + test/reference/operator-clear.ref.png | Bin 0 -> 1071 bytes + test/reference/operator-source.ref.png | Bin 0 -> 5614 bytes + test/reference/operator.ref.png | Bin 0 -> 238 bytes + test/reference/over-above-source.ref.png | Bin 0 -> 557 bytes + test/reference/over-around-source.ref.png | Bin 0 -> 633 bytes + test/reference/over-below-source.ref.png | Bin 0 -> 447 bytes + test/reference/over-between-source.ref.png | Bin 0 -> 607 bytes + test/reference/overlapping-boxes.ref.png | Bin 0 -> 179 bytes + .../reference/overlapping-dash-caps.argb32.ref.png | Bin 0 -> 3952 bytes + test/reference/overlapping-dash-caps.ref.png | Bin 3979 -> 0 bytes + test/reference/overlapping-dash-caps.rgb24.ref.png | Bin 0 -> 3952 bytes + test/reference/overlapping-glyphs.ref.png | Bin 0 -> 2717 bytes + .../paint-with-alpha-clip-mask.argb32.ref.png | Bin 340 -> 351 bytes + .../paint-with-alpha-clip-mask.rgb24.ref.png | Bin 340 -> 351 bytes + test/reference/pass-through.ref.png | Bin 0 -> 221 bytes + test/reference/path-append.argb32.ref.png | Bin 6144 -> 6297 bytes + test/reference/path-append.rgb24.ref.png | Bin 6144 -> 6297 bytes + test/reference/pdf-surface-source.ref.png | Bin 0 -> 377 bytes + test/reference/pixman-rotate.ref.png | Bin 0 -> 260 bytes + test/reference/ps-surface-source.ref.png | Bin 0 -> 377 bytes + test/reference/push-group-color.argb32.ref.png | Bin 2892 -> 0 bytes + test/reference/push-group-color.ref.png | Bin 0 -> 2961 bytes + test/reference/push-group-color.rgb24.ref.png | Bin 2892 -> 0 bytes + test/reference/push-group.argb32.ref.png | Bin 0 -> 3097 bytes + test/reference/push-group.ref.png | Bin 0 -> 3062 bytes + test/reference/quartz-surface-source.ref.png | Bin 0 -> 377 bytes + test/reference/radial-gradient-source.ref.png | Bin 0 -> 408848 bytes + test/reference/random-clip.argb32.ref.png | Bin 0 -> 525539 bytes + test/reference/random-clip.ref.png | Bin 526034 -> 0 bytes + test/reference/random-clip.rgb24.ref.png | Bin 0 -> 525539 bytes + .../random-intersections-curves-eo.argb32.ref.png | Bin 245848 -> 244655 bytes + .../random-intersections-curves-eo.rgb24.ref.png | Bin 245848 -> 244655 bytes + .../random-intersections-curves-nz.argb32.ref.png | Bin 265249 -> 264447 bytes + .../random-intersections-curves-nz.rgb24.ref.png | Bin 265249 -> 264447 bytes + .../random-intersections-eo.argb32.ref.png | Bin 136632 -> 135591 bytes + .../random-intersections-eo.rgb24.ref.png | Bin 136632 -> 135591 bytes + .../random-intersections-nonzero.argb32.ref.png | Bin 142139 -> 141598 bytes + .../random-intersections-nonzero.rgb24.ref.png | Bin 142139 -> 141598 bytes + test/reference/record-fill-alpha.argb32.ref.png | Bin 0 -> 2822 bytes + test/reference/record-fill-alpha.ref.png | Bin 2812 -> 0 bytes + test/reference/record-fill-alpha.rgb24.ref.png | Bin 0 -> 2822 bytes + .../record-paint-alpha-clip-mask.argb32.ref.png | Bin 0 -> 321 bytes + .../reference/record-paint-alpha-clip-mask.ref.png | Bin 318 -> 0 bytes + .../record-paint-alpha-clip-mask.rgb24.ref.png | Bin 0 -> 321 bytes + .../record1414x-fill-alpha.argb32.ref.png | Bin 0 -> 4244 bytes + test/reference/record1414x-fill-alpha.ref.png | Bin 4212 -> 0 bytes + .../reference/record1414x-fill-alpha.rgb24.ref.png | Bin 0 -> 4244 bytes + ...ecord1414x-paint-alpha-clip-mask.argb32.ref.png | Bin 560 -> 544 bytes + ...record1414x-paint-alpha-clip-mask.rgb24.ref.png | Bin 560 -> 544 bytes + test/reference/record2x-fill-alpha.argb32.ref.png | Bin 0 -> 5986 bytes + test/reference/record2x-fill-alpha.ref.png | Bin 5950 -> 0 bytes + test/reference/record2x-fill-alpha.rgb24.ref.png | Bin 0 -> 5986 bytes + .../record2x-paint-alpha-clip-mask.argb32.ref.png | Bin 534 -> 543 bytes + .../record2x-paint-alpha-clip-mask.rgb24.ref.png | Bin 534 -> 543 bytes + test/reference/record90-fill-alpha.argb32.ref.png | Bin 0 -> 2654 bytes + test/reference/record90-fill-alpha.ref.png | Bin 2650 -> 0 bytes + test/reference/record90-fill-alpha.rgb24.ref.png | Bin 0 -> 2654 bytes + .../record90-paint-alpha-clip-mask.argb32.ref.png | Bin 0 -> 317 bytes + .../record90-paint-alpha-clip-mask.ref.png | Bin 316 -> 0 bytes + .../record90-paint-alpha-clip-mask.rgb24.ref.png | Bin 0 -> 317 bytes + .../record90-paint-alpha-clip.argb32.ref.png | Bin 0 -> 335 bytes + test/reference/record90-paint-alpha-clip.ref.png | Bin 320 -> 0 bytes + .../record90-paint-alpha-clip.rgb24.ref.png | Bin 0 -> 335 bytes + .../record90-paint-alpha-solid-clip.argb32.ref.png | Bin 254 -> 293 bytes + .../record90-paint-alpha-solid-clip.rgb24.ref.png | Bin 254 -> 293 bytes + .../recording-surface-extend-none.ref.png | Bin 0 -> 3153 bytes + .../reference/recording-surface-extend-pad.ref.png | Bin 0 -> 11200 bytes + .../recording-surface-extend-reflect.ref.png | Bin 0 -> 23967 bytes + .../recording-surface-extend-repeat.ref.png | Bin 0 -> 24091 bytes + test/reference/recording-surface-over.ref.png | Bin 0 -> 3153 bytes + test/reference/recording-surface-source.ref.png | Bin 0 -> 3153 bytes + test/reference/rel-path.ref.png | Bin 0 -> 197 bytes + test/reference/rotated-clip.argb32.ref.png | Bin 3773 -> 3829 bytes + test/reference/rotated-clip.rgb24.ref.png | Bin 3773 -> 3829 bytes + test/reference/scale-offset-similar.argb32.ref.png | Bin 9748 -> 9847 bytes + test/reference/scale-offset-similar.rgb24.ref.png | Bin 9748 -> 9847 bytes + test/reference/scale-offset.image.argb32.ref.png | Bin 0 -> 9847 bytes + test/reference/scale-offset.image.rgb24.ref.png | Bin 0 -> 9847 bytes + test/reference/scale-source-surface-paint.ref.png | Bin 0 -> 147 bytes + test/reference/set-source.ref.png | Bin 0 -> 120 bytes + test/reference/shape-general-convex.argb32.ref.png | Bin 2742 -> 2539 bytes + test/reference/shape-general-convex.rgb24.ref.png | Bin 2742 -> 2539 bytes + test/reference/shape-sierpinski.argb32.ref.png | Bin 63714 -> 54850 bytes + test/reference/shape-sierpinski.rgb24.ref.png | Bin 63714 -> 54850 bytes + test/reference/smask-fill.argb32.ref.png | Bin 1197 -> 1201 bytes + test/reference/smask-fill.rgb24.ref.png | Bin 1197 -> 1201 bytes + test/reference/smask-stroke.argb32.ref.png | Bin 1709 -> 1707 bytes + test/reference/smask-stroke.rgb24.ref.png | Bin 1709 -> 1707 bytes + test/reference/smask.argb32.ref.png | Bin 3414 -> 3436 bytes + test/reference/smask.rgb24.ref.png | Bin 3414 -> 3436 bytes + test/reference/source-surface-scale-paint.ref.png | Bin 0 -> 139 bytes + test/reference/stroke-clipped.argb32.ref.png | Bin 0 -> 5857 bytes + test/reference/stroke-clipped.ref.png | Bin 5790 -> 0 bytes + test/reference/stroke-clipped.rgb24.ref.png | Bin 0 -> 5857 bytes + test/reference/stroke-pattern.argb32.ref.png | Bin 1491 -> 1510 bytes + test/reference/stroke-pattern.rgb24.ref.png | Bin 1491 -> 1510 bytes + test/reference/stroke.image.argb32.ref.png | Bin 0 -> 1479 bytes + test/reference/stroke.image.rgb24.ref.png | Bin 0 -> 1479 bytes + test/reference/subsurface-outside-target.ref.png | Bin 0 -> 2063 bytes + test/reference/surface-pattern-operator.ref.png | Bin 0 -> 5217 bytes + test/reference/svg-surface-source.ref.png | Bin 0 -> 377 bytes + test/reference/text-pattern.ref.png | Bin 0 -> 3455 bytes + test/reference/text-rotate.argb32.ref.png | Bin 0 -> 16518 bytes + test/reference/text-rotate.ref.png | Bin 16667 -> 0 bytes + test/reference/text-rotate.rgb24.ref.png | Bin 0 -> 16518 bytes + test/reference/tiger.argb32.ref.png | Bin 93916 -> 94714 bytes + test/reference/tiger.rgb24.ref.png | Bin 93916 -> 94714 bytes + test/reference/tighten-bounds.ref.png | Bin 0 -> 9443 bytes + test/reference/trap-clip.ref.png | Bin 0 -> 5826 bytes + test/reference/twin-antialias-gray.argb32.ref.png | Bin 0 -> 3536 bytes + test/reference/twin-antialias-gray.ref.png | Bin 3948 -> 0 bytes + test/reference/twin-antialias-gray.rgb24.ref.png | Bin 0 -> 3536 bytes + test/reference/twin-antialias-mixed.argb32.ref.png | Bin 2230 -> 2359 bytes + test/reference/twin-antialias-mixed.rgb24.ref.png | Bin 2230 -> 2359 bytes + test/reference/twin-antialias-none.argb32.ref.png | Bin 690 -> 692 bytes + test/reference/twin-antialias-none.rgb24.ref.png | Bin 690 -> 692 bytes + .../twin-antialias-subpixel.argb32.ref.png | Bin 0 -> 3536 bytes + test/reference/twin-antialias-subpixel.ref.png | Bin 3948 -> 0 bytes + .../twin-antialias-subpixel.rgb24.ref.png | Bin 0 -> 3536 bytes + test/reference/twin.argb32.ref.png | Bin 0 -> 3536 bytes + test/reference/twin.ref.png | Bin 3948 -> 0 bytes + test/reference/twin.rgb24.ref.png | Bin 0 -> 3536 bytes + test/reference/unbounded-operator.argb32.ref.png | Bin 0 -> 2763 bytes + test/reference/unbounded-operator.ref.png | Bin 0 -> 2781 bytes + test/reference/unclosed-strokes.argb32.ref.png | Bin 1901 -> 0 bytes + test/reference/unclosed-strokes.ref.png | Bin 0 -> 1588 bytes + test/reference/unclosed-strokes.rgb24.ref.png | Bin 1901 -> 0 bytes + test/reference/user-font-proxy.argb32.ref.png | Bin 16941 -> 16971 bytes + test/reference/user-font-proxy.rgb24.ref.png | Bin 16941 -> 16971 bytes + test/reference/user-font.argb32.ref.png | Bin 0 -> 5882 bytes + test/reference/user-font.ref.png | Bin 6209 -> 0 bytes + test/reference/user-font.rgb24.ref.png | Bin 0 -> 5882 bytes + test/reference/world-map-fill.argb32.ref.png | Bin 57308 -> 57407 bytes + test/reference/world-map-fill.rgb24.ref.png | Bin 57308 -> 57407 bytes + test/reference/xcb-surface-source.ref.png | Bin 0 -> 377 bytes + test/reference/xlib-surface-source.ref.png | Bin 0 -> 377 bytes + test/reference/zero-mask.ref.png | Bin 0 -> 402 bytes + 283 files changed, 174 insertions(+), 157 deletions(-) + +commit 8e1e2a54147df32f0e9261d2b7b031eaf8396f06 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 30 11:47:44 2014 +0100 + + test: Remove redundant reference images + + If we have both a argb32 and rgb24 reference image that are identical, + we can replace them with a plain reference image. I also prefer to have + argb32/rgb24 versions of the reference images if rgb24 differs from the + plain reference. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/reference/a1-clip-fill-rule.argb32.ref.png | Bin 236 -> 0 bytes + test/reference/a1-clip-fill-rule.rgb24.ref.png | Bin 218 -> 0 bytes + test/reference/alpha-similar.argb32.ref.png | Bin 99 -> 0 bytes + test/reference/alpha-similar.rgb24.ref.png | Bin 88 -> 0 bytes + test/reference/big-empty-box.argb32.ref.png | Bin 111 -> 0 bytes + test/reference/big-empty-box.rgb24.ref.png | Bin 108 -> 0 bytes + test/reference/big-empty-triangle.argb32.ref.png | Bin 111 -> 0 bytes + test/reference/big-empty-triangle.rgb24.ref.png | Bin 108 -> 0 bytes + test/reference/big-little-box.argb32.ref.png | Bin 169 -> 0 bytes + test/reference/big-little-box.rgb24.ref.png | Bin 160 -> 0 bytes + test/reference/big-little-triangle.argb32.ref.png | Bin 409 -> 0 bytes + test/reference/big-little-triangle.rgb24.ref.png | Bin 328 -> 0 bytes + test/reference/bitmap-font.argb32.ref.png | Bin 950 -> 0 bytes + test/reference/bitmap-font.rgb24.ref.png | Bin 871 -> 0 bytes + test/reference/bug-source-cu.argb32.ref.png | Bin 3815 -> 0 bytes + test/reference/bug-source-cu.rgb24.ref.png | Bin 3211 -> 0 bytes + test/reference/clear.argb32.ref.png | Bin 692 -> 0 bytes + test/reference/clear.rgb24.ref.png | Bin 617 -> 0 bytes + test/reference/clip-device-offset.argb32.ref.png | Bin 175 -> 0 bytes + test/reference/clip-device-offset.rgb24.ref.png | Bin 168 -> 0 bytes + test/reference/clip-fill-eo-unbounded.argb32.ref.png | Bin 4197 -> 0 bytes + test/reference/clip-fill-eo-unbounded.rgb24.ref.png | Bin 3551 -> 0 bytes + test/reference/clip-fill-nz-unbounded.argb32.ref.png | Bin 4197 -> 0 bytes + test/reference/clip-fill-nz-unbounded.rgb24.ref.png | Bin 3551 -> 0 bytes + .../clip-fill-rule-pixel-aligned.argb32.ref.png | Bin 195 -> 0 bytes + .../clip-fill-rule-pixel-aligned.rgb24.ref.png | Bin 165 -> 0 bytes + test/reference/clip-fill-rule.argb32.ref.png | Bin 437 -> 0 bytes + test/reference/clip-fill-rule.rgb24.ref.png | Bin 393 -> 0 bytes + test/reference/clip-nesting.argb32.ref.png | Bin 1044 -> 0 bytes + test/reference/clip-nesting.rgb24.ref.png | Bin 936 -> 0 bytes + test/reference/clip-operator.argb32.ref.png | Bin 8257 -> 0 bytes + test/reference/clip-operator.rgb24.ref.png | Bin 3288 -> 0 bytes + test/reference/clip-stroke-unbounded.argb32.ref.png | Bin 4127 -> 0 bytes + test/reference/clip-stroke-unbounded.rgb24.ref.png | Bin 3566 -> 0 bytes + test/reference/clip-twice.argb32.ref.png | Bin 1358 -> 0 bytes + test/reference/clip-twice.rgb24.ref.png | Bin 1195 -> 0 bytes + test/reference/clip-unbounded.argb32.ref.png | Bin 100 -> 0 bytes + test/reference/clip-unbounded.rgb24.ref.png | Bin 97 -> 0 bytes + test/reference/dash-zero-length.argb32.ref.png | Bin 230 -> 0 bytes + test/reference/dash-zero-length.rgb24.ref.png | Bin 208 -> 0 bytes + test/reference/degenerate-path.argb32.ref.png | Bin 251 -> 0 bytes + test/reference/degenerate-path.rgb24.ref.png | Bin 219 -> 0 bytes + test/reference/device-offset-positive.argb32.ref.png | Bin 139 -> 0 bytes + test/reference/device-offset-positive.rgb24.ref.png | Bin 111 -> 0 bytes + test/reference/device-offset.argb32.ref.png | Bin 137 -> 0 bytes + test/reference/device-offset.rgb24.ref.png | Bin 111 -> 0 bytes + test/reference/egl-surface-source.argb32.ref.png | Bin 377 -> 0 bytes + test/reference/egl-surface-source.rgb24.ref.png | Bin 301 -> 0 bytes + .../reference/extended-blend-alpha-mask.argb32.ref.png | Bin 9221 -> 0 bytes + test/reference/extended-blend-alpha-mask.rgb24.ref.png | Bin 4597 -> 0 bytes + test/reference/extended-blend-alpha.argb32.ref.png | Bin 9406 -> 0 bytes + test/reference/extended-blend-alpha.rgb24.ref.png | Bin 5740 -> 0 bytes + test/reference/extended-blend-mask.argb32.ref.png | Bin 3971 -> 0 bytes + test/reference/extended-blend-mask.rgb24.ref.png | Bin 3643 -> 0 bytes + .../extended-blend-solid-alpha.argb32.ref.png | Bin 9406 -> 0 bytes + .../reference/extended-blend-solid-alpha.rgb24.ref.png | Bin 5740 -> 0 bytes + test/reference/extended-blend-solid.argb32.ref.png | Bin 4063 -> 0 bytes + test/reference/extended-blend-solid.rgb24.ref.png | Bin 3775 -> 0 bytes + test/reference/extended-blend.argb32.ref.png | Bin 4063 -> 0 bytes + test/reference/extended-blend.rgb24.ref.png | Bin 3775 -> 0 bytes + test/reference/fallback.argb32.ref.png | Bin 4059 -> 0 bytes + test/reference/fallback.rgb24.ref.png | Bin 3139 -> 0 bytes + test/reference/fill-and-stroke.argb32.ref.png | Bin 312 -> 0 bytes + test/reference/fill-and-stroke.rgb24.ref.png | Bin 283 -> 0 bytes + .../fill-degenerate-sort-order.argb32.ref.png | Bin 2400 -> 0 bytes + .../reference/fill-degenerate-sort-order.rgb24.ref.png | Bin 2049 -> 0 bytes + test/reference/fill-empty.argb32.ref.png | Bin 99 -> 0 bytes + test/reference/fill-empty.rgb24.ref.png | Bin 97 -> 0 bytes + test/reference/fill-missed-stop.argb32.ref.png | Bin 455 -> 0 bytes + test/reference/fill-missed-stop.rgb24.ref.png | Bin 382 -> 0 bytes + test/reference/fill-rule.argb32.ref.png | Bin 2065 -> 0 bytes + test/reference/fill-rule.rgb24.ref.png | Bin 1803 -> 0 bytes + test/reference/finer-grained-fallbacks.argb32.ref.png | Bin 1068 -> 0 bytes + test/reference/finer-grained-fallbacks.rgb24.ref.png | Bin 837 -> 0 bytes + test/reference/gl-surface-source.argb32.ref.png | Bin 377 -> 0 bytes + test/reference/gl-surface-source.rgb24.ref.png | Bin 301 -> 0 bytes + test/reference/gradient-alpha.argb32.ref.png | Bin 125 -> 0 bytes + test/reference/gradient-alpha.rgb24.ref.png | Bin 119 -> 0 bytes + test/reference/gradient-constant-alpha.argb32.ref.png | Bin 111 -> 0 bytes + test/reference/gradient-constant-alpha.rgb24.ref.png | Bin 106 -> 0 bytes + test/reference/gradient-zero-stops-mask.argb32.ref.png | Bin 86 -> 0 bytes + test/reference/gradient-zero-stops-mask.rgb24.ref.png | Bin 86 -> 0 bytes + test/reference/gradient-zero-stops.argb32.ref.png | Bin 105 -> 0 bytes + test/reference/gradient-zero-stops.rgb24.ref.png | Bin 86 -> 0 bytes + test/reference/image-surface-source.argb32.ref.png | Bin 377 -> 0 bytes + test/reference/image-surface-source.rgb24.ref.png | Bin 301 -> 0 bytes + test/reference/linear-gradient-one-stop.argb32.ref.png | Bin 225 -> 0 bytes + test/reference/linear-gradient-one-stop.rgb24.ref.png | Bin 174 -> 0 bytes + test/reference/mask-alpha.argb32.ref.png | Bin 632 -> 0 bytes + test/reference/mask-alpha.rgb24.ref.png | Bin 589 -> 0 bytes + test/reference/mask-ctm.argb32.ref.png | Bin 129 -> 0 bytes + test/reference/mask-ctm.rgb24.ref.png | Bin 105 -> 0 bytes + test/reference/mask-surface-ctm.argb32.ref.png | Bin 129 -> 0 bytes + test/reference/mask-surface-ctm.rgb24.ref.png | Bin 105 -> 0 bytes + test/reference/mask.argb32.ref.png | Bin 8565 -> 0 bytes + test/reference/mask.rgb24.ref.png | Bin 7135 -> 0 bytes + test/reference/new-sub-path.argb32.ref.png | Bin 408 -> 0 bytes + test/reference/new-sub-path.rgb24.ref.png | Bin 371 -> 0 bytes + test/reference/nil-surface.argb32.ref.png | Bin 107 -> 0 bytes + test/reference/nil-surface.rgb24.ref.png | Bin 87 -> 0 bytes + test/reference/operator-alpha.argb32.ref.png | Bin 280 -> 0 bytes + test/reference/operator-alpha.rgb24.ref.png | Bin 205 -> 0 bytes + test/reference/operator-clear.argb32.ref.png | Bin 1071 -> 0 bytes + test/reference/operator-clear.rgb24.ref.png | Bin 946 -> 0 bytes + test/reference/operator-source.argb32.ref.png | Bin 5614 -> 0 bytes + test/reference/operator-source.rgb24.ref.png | Bin 4012 -> 0 bytes + test/reference/operator.argb32.ref.png | Bin 238 -> 0 bytes + test/reference/operator.rgb24.ref.png | Bin 189 -> 0 bytes + test/reference/over-above-source.argb32.ref.png | Bin 564 -> 0 bytes + test/reference/over-above-source.rgb24.ref.png | Bin 465 -> 0 bytes + test/reference/over-around-source.argb32.ref.png | Bin 633 -> 0 bytes + test/reference/over-around-source.rgb24.ref.png | Bin 499 -> 0 bytes + test/reference/over-below-source.argb32.ref.png | Bin 447 -> 0 bytes + test/reference/over-below-source.rgb24.ref.png | Bin 385 -> 0 bytes + test/reference/over-between-source.argb32.ref.png | Bin 596 -> 0 bytes + test/reference/over-between-source.rgb24.ref.png | Bin 463 -> 0 bytes + test/reference/overlapping-boxes.argb32.ref.png | Bin 179 -> 0 bytes + test/reference/overlapping-boxes.rgb24.ref.png | Bin 170 -> 0 bytes + test/reference/overlapping-glyphs.argb32.ref.png | Bin 2717 -> 0 bytes + test/reference/overlapping-glyphs.rgb24.ref.png | Bin 1663 -> 0 bytes + test/reference/pass-through.argb32.ref.png | Bin 221 -> 0 bytes + test/reference/pass-through.rgb24.ref.png | Bin 158 -> 0 bytes + test/reference/pdf-surface-source.argb32.ref.png | Bin 377 -> 0 bytes + test/reference/pdf-surface-source.rgb24.ref.png | Bin 301 -> 0 bytes + test/reference/pixman-rotate.argb32.ref.png | Bin 260 -> 0 bytes + test/reference/pixman-rotate.rgb24.ref.png | Bin 225 -> 0 bytes + test/reference/ps-surface-source.argb32.ref.png | Bin 377 -> 0 bytes + test/reference/ps-surface-source.rgb24.ref.png | Bin 301 -> 0 bytes + test/reference/push-group.argb32.ref.png | Bin 3062 -> 0 bytes + test/reference/push-group.rgb24.ref.png | Bin 2899 -> 0 bytes + test/reference/quartz-surface-source.argb32.ref.png | Bin 377 -> 0 bytes + test/reference/quartz-surface-source.rgb24.ref.png | Bin 301 -> 0 bytes + test/reference/radial-gradient-source.argb32.ref.png | Bin 408848 -> 0 bytes + test/reference/radial-gradient-source.rgb24.ref.png | Bin 263908 -> 0 bytes + .../recording-surface-extend-none.argb32.ref.png | Bin 3153 -> 0 bytes + .../recording-surface-extend-none.rgb24.ref.png | Bin 3145 -> 0 bytes + .../recording-surface-extend-pad.argb32.ref.png | Bin 11200 -> 0 bytes + .../recording-surface-extend-pad.rgb24.ref.png | Bin 12586 -> 0 bytes + .../recording-surface-extend-reflect.argb32.ref.png | Bin 23967 -> 0 bytes + .../recording-surface-extend-reflect.rgb24.ref.png | Bin 23930 -> 0 bytes + .../recording-surface-extend-repeat.argb32.ref.png | Bin 24091 -> 0 bytes + .../recording-surface-extend-repeat.rgb24.ref.png | Bin 24075 -> 0 bytes + test/reference/recording-surface-over.argb32.ref.png | Bin 3153 -> 0 bytes + test/reference/recording-surface-over.rgb24.ref.png | Bin 3145 -> 0 bytes + test/reference/recording-surface-source.argb32.ref.png | Bin 3153 -> 0 bytes + test/reference/recording-surface-source.rgb24.ref.png | Bin 3146 -> 0 bytes + test/reference/rel-path.argb32.ref.png | Bin 197 -> 0 bytes + test/reference/rel-path.rgb24.ref.png | Bin 216 -> 0 bytes + .../scale-source-surface-paint.argb32.ref.png | Bin 147 -> 0 bytes + .../reference/scale-source-surface-paint.rgb24.ref.png | Bin 117 -> 0 bytes + test/reference/set-source.argb32.ref.png | Bin 120 -> 0 bytes + test/reference/set-source.rgb24.ref.png | Bin 101 -> 0 bytes + .../source-surface-scale-paint.argb32.ref.png | Bin 139 -> 0 bytes + .../reference/source-surface-scale-paint.rgb24.ref.png | Bin 114 -> 0 bytes + .../reference/subsurface-outside-target.argb32.ref.png | Bin 2063 -> 0 bytes + test/reference/subsurface-outside-target.rgb24.ref.png | Bin 1648 -> 0 bytes + test/reference/surface-pattern-operator.argb32.ref.png | Bin 5217 -> 0 bytes + test/reference/surface-pattern-operator.rgb24.ref.png | Bin 1942 -> 0 bytes + test/reference/svg-surface-source.argb32.ref.png | Bin 377 -> 0 bytes + test/reference/svg-surface-source.rgb24.ref.png | Bin 301 -> 0 bytes + test/reference/text-pattern.argb32.ref.png | Bin 3455 -> 0 bytes + test/reference/text-pattern.rgb24.ref.png | Bin 2684 -> 0 bytes + test/reference/tighten-bounds.argb32.ref.png | Bin 9115 -> 0 bytes + test/reference/tighten-bounds.rgb24.ref.png | Bin 8365 -> 0 bytes + test/reference/trap-clip.argb32.ref.png | Bin 5826 -> 0 bytes + test/reference/trap-clip.rgb24.ref.png | Bin 5435 -> 0 bytes + test/reference/unbounded-operator.argb32.ref.png | Bin 2781 -> 0 bytes + test/reference/unbounded-operator.rgb24.ref.png | Bin 1333 -> 0 bytes + test/reference/xcb-surface-source.argb32.ref.png | Bin 377 -> 0 bytes + test/reference/xcb-surface-source.rgb24.ref.png | Bin 301 -> 0 bytes + test/reference/xlib-surface-source.argb32.ref.png | Bin 377 -> 0 bytes + test/reference/xlib-surface-source.rgb24.ref.png | Bin 301 -> 0 bytes + test/reference/zero-mask.argb32.ref.png | Bin 402 -> 0 bytes + test/reference/zero-mask.rgb24.ref.png | Bin 382 -> 0 bytes + 174 files changed, 0 insertions(+), 0 deletions(-) + +commit 93c21e3fd309781d0f48052097f5670dbe9af820 +Author: Ravi Nanjundappa <nravi.n@samsung.com> +Date: Mon Sep 22 10:19:17 2014 +0530 + + test: Add test for egl-surface-source + + This test file attempts to use a EGL backend surface as a source + surface for all other backends. + + Signed-off-by: Ravi Nanjundappa <nravi.n@samsung.com> + + test/Makefile.sources | 3 +- + test/egl-surface-source.c | 135 +++++++++++++++++++++ + test/reference/egl-surface-source.argb32.ref.png | Bin 0 -> 377 bytes + .../egl-surface-source.base.argb32.ref.png | Bin 0 -> 377 bytes + .../egl-surface-source.base.rgb24.ref.png | Bin 0 -> 301 bytes + test/reference/egl-surface-source.image16.ref.png | Bin 0 -> 305 bytes + test/reference/egl-surface-source.rgb24.ref.png | Bin 0 -> 301 bytes + 7 files changed, 137 insertions(+), 1 deletion(-) + +commit 573ddfc3d5c08c37b95a21e0a1b34acecc646053 +Author: Ravi Nanjundappa <nravi.n@samsung.com> +Date: Thu Sep 25 08:38:50 2014 +0530 + + src: check the surface backend for NULL + + This is a follow-up patch on top of 150c1e7044c57443d458e12bfc427d3a019cb60b + As discussed in the mailing list, http://lists.cairographics.org/archives/cairo/2014-September/025647.html, + check if the surfaces are of particular backend type or not, before proceeding further. + + These changes are based on _cairo_surface_is_xlib() and _cairo_surface_is_image() + + Signed-off-by: Ravi Nanjundappa <nravi.n@samsung.com> + + src/cairo-qt-surface.cpp | 28 +++++++++++++++++++++++++--- + src/cairo-quartz-image-surface.c | 4 +++- + src/cairo-quartz-surface.c | 14 ++++++++++++++ + src/win32/cairo-win32-surface.c | 19 ++++++++++++++++++- + 4 files changed, 60 insertions(+), 5 deletions(-) + +commit 06b9f8fa2d179850cda8a0a103896bc011ce46d6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Sep 22 12:53:08 2014 +0100 + + stroke,traps: Emit join without loss of precision + + As the target renderers operate at a different sample resolution then we + use internally for coordinate representation, there is always a potential + for discrepancies in the line gradients when passing around trapezoids. + To overcome this, the protocol specification of trapezoids uses the full + lines and vertical range as opposed to vertices and so long as we always + use the same lines for conjoint trapezoids, they remain abutting in the + rasteriser. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=84115 + Testcase: bug-84115 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 3 + + src/cairo-bentley-ottmann.c | 232 +------------------------------- + src/cairo-line-inline.h | 48 +++++++ + src/cairo-line-private.h | 50 +++++++ + src/cairo-line.c | 306 ++++++++++++++++++++++++++++++++++++++++++ + src/cairo-path-stroke-traps.c | 55 +++++--- + src/cairo-traps-private.h | 8 +- + src/cairo-traps.c | 85 ++++++++++-- + 8 files changed, 530 insertions(+), 257 deletions(-) + +commit 5c03b20732b84370950f0c7e5648da86ef45a571 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Sep 29 08:37:56 2014 +0100 + + test/coverage: Exercise invariance under mirror symmetry + + Massimo noticed that the record/record-flip were not being rasterised as + identical mirror images due to a half-subpixel offset in the tor scan + converter. This test attempts to reproduce this error by rendering a + rhombus around the origin of each cell (that is it generates 4 mirror + images of a triangle in the 4 different orientations0. The expectation + is that each pixel in the group is lit identically as the coverage is + identical. + + References: https://bugs.freedesktop.org/show_bug.cgi?id=84396 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/coverage.c | 55 ++++++++++++++++++++++++++++++++ + test/reference/coverage-rhombus.ref.png | Bin 0 -> 7053 bytes + 2 files changed, 55 insertions(+) + +commit fbb0a260b707cb5f02a14cc368c6f2f0d63564c3 +Author: Marc-André Lureau <marcandre.lureau@gmail.com> +Date: Tue Apr 2 21:00:20 2013 +0200 + + build-sys: do not try to build util/sphinx on Windows + + glib and dlfcn exist on windows, but sphinx code uses a lot of + Unix-only API + + Fixes the following build error on mingw-fedora + + CC cairo-boilerplate-system.lo + ../../../util/cairo-sphinx/sphinx.c:8:22: fatal error: sys/mman.h: No such file or directory + compilation terminated. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=63043 + Reviewed-by: Bryce Harrington <b.harrington@samsung.com> + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 42320793aa1b3e5a0b74e94a0aadf5d2b9ae5ce2 +Author: Bryce Harrington <bryce@osg.samsung.com> +Date: Wed Sep 24 11:37:58 2014 -0700 + + sphinx: Add ickle's explanation of what sphinx does + + util/cairo-sphinx/sphinx.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +commit 80359e73d821516f411b25b977b442869fa5d0ad +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 23 12:58:27 2014 +0100 + + test: Exercise stroking bugs with xlib/trapezoids + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=84115 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.sources | 1 + + test/bug-84115.c | 61 ++++++++++++++++++++++++++++++++++ + test/reference/bug-84115.ref.png | Bin 0 -> 64233 bytes + test/reference/bug-84115.xlib.ref.png | Bin 0 -> 65033 bytes + 4 files changed, 62 insertions(+) + +commit 06a737b74d3bc925a2c32254f497e07b6d1af5ca +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 24 09:57:31 2014 +0100 + + arc: Insert the initial point on the arc + + Currently the very first point on the arc will be the first interpreted + location along the spline used to approximate the arc. This will be + close, but not quite the exact point the user intended the arc to run + from, so begin the arc with a line-to the initial point. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-arc.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit bdd0721dcddd6c4528c9518a2152cd154f746202 +Author: Bryce Harrington <bryce@osg.samsung.com> +Date: Tue Sep 23 16:41:36 2014 -0700 + + NEWS: Revise downscaling feature description + + Updated feature description using text from Bill. Also updated bugfix + list to include recent fixes. + + NEWS | 48 +++++++++++++++++++++++++++--------------------- + 1 file changed, 27 insertions(+), 21 deletions(-) + +commit 7cfebce15228c88ee122edb8ba575f9a609e36f4 +Author: Bryce Harrington <bryce@osg.samsung.com> +Date: Tue Sep 23 12:40:25 2014 -0700 + + build: Fix float endian configure test when using clang -O4 + + When using clang -O4, the compiled test object is output in bitcode + format rather than as an ELF object, so when we grep the test value from + the object it fails. To work around this, go ahead and link the test + object into an executable, and then grep against this native binary + instead of the compiler's intermediary object. + + We need to add __attribute__((used)) to ensure the d variable doesn't + get optimized out during linking, since it's not referenced in the + test's main(). + + Patch authored by cmuelle8 <abendstund@gmail.com> + + Reviewed-by: Bryce Harrington <b.harrington@samsung.com> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=63310 + + build/aclocal.float.m4 | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +commit 9a19ef185884da1e7d5344b301f48aa2ba0f88b6 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Mon Mar 24 19:08:10 2014 +1030 + + Fix compilation with bionic libc + + Refactor out a cairo_get_locale_decimal_point() routine to handle a case + where localeconv() is not available. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=70492 + Reviewed-by: Bryce Harrington <b.harrington@samsung.com> + + [edit: Condensed cairo_get_locale_decimal_point and conditionalized + locale.h inclusion. -- bryce] + + src/cairo-cff-subset.c | 4 +--- + src/cairo-misc.c | 18 ++++++++++++++++++ + src/cairo-output-stream.c | 5 +---- + src/cairo-type1-subset.c | 5 +---- + src/cairoint.h | 3 +++ + 5 files changed, 24 insertions(+), 11 deletions(-) + +commit a02e29a12d82f177bdf99ed8cfd0c3b3b78c44da +Author: Bryce Harrington <bryce@osg.samsung.com> +Date: Mon Sep 22 15:48:49 2014 -0700 + + Don't return NULL to clients when getting device + + Return an error device instead + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=58061 + + src/cairo-cogl-surface.c | 2 +- + src/drm/cairo-drm.c | 9 ++++++--- + 2 files changed, 7 insertions(+), 4 deletions(-) + +commit 150c1e7044c57443d458e12bfc427d3a019cb60b +Author: Bryce Harrington <bryce@osg.samsung.com> +Date: Mon Sep 22 15:41:24 2014 -0700 + + Don't return NULL to clients when getting image + + Return an error surface instead. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=58061 + + src/cairo-qt-surface.cpp | 2 +- + src/cairo-quartz-image-surface.c | 2 +- + src/win32/cairo-win32-surface.c | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +commit 40e757679634ba6261b9df231ba5c706625e215d +Author: Bryce Harrington <bryce@osg.samsung.com> +Date: Mon Sep 22 15:06:54 2014 -0700 + + NEWS: Note that downscaling changes only affect image + fallback + + NEWS | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 402b456a3229f6c7f1550e66bbd8125c253a4ff1 +Author: Bryce Harrington <bryce@osg.samsung.com> +Date: Thu Jul 31 17:58:15 2014 -0700 + + gl: Increase default VBO size on GL to 1M + + The default VBO size was reduced from 256k to 16k because embedded + devices had trouble with the larger memory demands of a big VBO. My + testing[1] indicates this incurred a 5% performance loss on at least one + of Cairo's performance tests. Further testing showed that with + late-model graphics cards, further performance benefits can be seen with + even larger VBO sizes, up to 8.3% at 1M for Intel. + + Now that we can set the vbo size differently for different backends, set + it to the lower value (16k) for EGL, and higher (1M) for GL. + + 1: http://www.bryceharrington.org/wordpress/2013/08/vbo-size/ + + Signed-off-by: Bryce Harrington <bryce@osg.samsung.com> + + src/cairo-egl-context.c | 6 ++++++ + src/cairo-gl-private.h | 2 +- + 2 files changed, 7 insertions(+), 1 deletion(-) + +commit aa820c13d78a4fc1c87da0da9012ee532aa2d50a +Author: Bryce Harrington <bryce@osg.samsung.com> +Date: Thu Jul 31 17:43:03 2014 -0700 + + gl: Track the VBO size as a property of the ctx + + Change suggested by Chris Wilson. This will enable setting different + vbo sizes for GL vs. EGL. + + Signed-off-by: Bryce Harrington <bryce@osg.samsung.com> + + src/cairo-gl-composite.c | 3 ++- + src/cairo-gl-device.c | 4 +++- + src/cairo-gl-info.c | 22 ++++++++++------------ + src/cairo-gl-private.h | 3 ++- + 4 files changed, 17 insertions(+), 15 deletions(-) + +commit 036f47c34579259fa86d0193797b6f83fe79bbeb +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Mon Aug 19 19:38:26 2013 -0700 + + cairo-gl: Make VBO size run-time settable + + The default VBO size was reduced from 256k to 16k last year in commit + 90860241 due to problems with larger VBOs on embedded hardware. + However, that change resulted in a 5% performance impact to the + firefox-fishbowl benchmark when using the spans or traps compositors. + + This patch doesn't change the VBO size, but does permit it to be + altered via an environment variable, to facilitate testing. + + Signed-off-by: Bryce Harrington <bryce@osg.samsung.com> + + src/cairo-gl-composite.c | 2 +- + src/cairo-gl-device.c | 2 +- + src/cairo-gl-info.c | 22 ++++++++++++++++++++++ + src/cairo-gl-private.h | 8 ++++++-- + 4 files changed, 30 insertions(+), 4 deletions(-) + +commit 8479b6086710e11c81c0059ffc5fa6a71d14256c +Author: Ravi Nanjundappa <nravi.n@samsung.com> +Date: Tue Sep 16 10:18:02 2014 +0530 + + test: Add test oversized egl surfaces + + This test exercises error scenario when creating over sized egl surface + that is larger than maximum framebuffer or texture dimensions of the + context + + Signed-off-by: Ravi Nanjundappa <nravi.n@samsung.com> + + test/Makefile.am | 4 ++ + test/Makefile.sources | 3 ++ + test/egl-oversized-surface.c | 117 +++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 124 insertions(+) + +commit 3d68352e3c00b836e50c2eacb0b80ae5a0e15a65 +Author: Bryce Harrington <bryce@osg.samsung.com> +Date: Thu Sep 18 13:18:48 2014 -0700 + + NEWS: Drop unfinished thought + + NEWS | 1 - + 1 file changed, 1 deletion(-) + +commit 54670ec13d64efa94f552b5473c1f15a9db1cecd +Author: Bryce Harrington <bryce@osg.samsung.com> +Date: Wed Sep 17 20:27:13 2014 -0700 + + AUTHORS: Add Ravi, myself, and a couple other frequent contributors + + AUTHORS | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 33a54e7c204c4bb7fb0f1f2844608a78ea317db4 +Author: Bryce Harrington <bryce@osg.samsung.com> +Date: Wed Sep 17 20:25:37 2014 -0700 + + README: Update required dependencies + + Also adds mention of the skia backend. + + README | 30 ++++++++++++++++++++---------- + 1 file changed, 20 insertions(+), 10 deletions(-) + +commit d1fa4d44fe6b70eba6d5f620c5c4a6c122cc7fc8 +Author: Bryce Harrington <bryce@osg.samsung.com> +Date: Wed Sep 17 20:04:01 2014 -0700 + + NEWS: Bring up to date with recent bug fixes. + + NEWS | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- + 1 file changed, 66 insertions(+), 3 deletions(-) + +commit e0c0a673ee757615bd3d22f46767535e9f53d6f5 +Author: Bryce Harrington <bryce@osg.samsung.com> +Date: Wed Sep 17 17:14:01 2014 -0700 + + Disable font options for xcb. + + This patch makes a bunch of tests pass again. The first hunk one fixes a + shameful oversight (whoops), the second one effectively reverts + e691d242. That change broke 102 xcb and 70 xlib tests, including a + bunch of *twin-antialias-* test cases. Patch thanks to Uli Schlachter. + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-xcb-screen.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +commit 0aa43ed886c0f8468a21a470f2f024bd4d8a4513 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Sep 14 22:02:12 2014 +0930 + + win32 printing: fix image scale when GDI scale is not identity + + src/win32/cairo-win32-printing-surface.c | 1 + + 1 file changed, 1 insertion(+) + +commit e691d242d592a8556e25659fb091a2031abee4c9 +Author: Lukáš Lalinský <lukas@oxygene.sk> +Date: Wed Sep 3 22:53:55 2014 +0200 + + xcb: Initialize font options from Xft resources + + There is a similar code in the Xlib backend. The logic here is the same, but + XCB doesn't support X resources directly, so there is some custom code + to get and parse the resources from the root window. + + Signed-off-by: Lukáš Lalinský <lukas@oxygene.sk> + Reviewed-by: Uli Schlachter <psychon@znc.in> + + src/Makefile.sources | 1 + + src/cairo-xcb-private.h | 19 +++ + src/cairo-xcb-resources.c | 304 ++++++++++++++++++++++++++++++++++++++++++++++ + src/cairo-xcb-screen.c | 108 ++++++++++++++++ + src/cairo-xcb-surface.c | 6 +- + 5 files changed, 435 insertions(+), 3 deletions(-) + +commit e77d0a5611fedce2bfa0940ff62f003c1f9cfa08 +Author: David Weiß <david.weiss@ptvgroup.com> +Date: Fri Sep 5 17:03:26 2014 +0200 + + made paths to pixman, libpng and zlib configurable by commandline for win32 builds + + Reviewed-by: Bryce Harrington <bryce@osg.samsung.com> + + build/Makefile.win32.common | 23 +++++++++++++++++------ + 1 file changed, 17 insertions(+), 6 deletions(-) + +commit 3b9d7e583f376413df655f778a3ef04537e8a5b6 +Author: Ravi Nanjundappa <nravi.n@samsung.com> +Date: Fri Sep 5 12:15:02 2014 +0530 + + qt: Suppress warnings in qt backend build + + This patch fixes majorly 2 kinds of warning issues: + + (1) + cc1plus: warning: command line option '-Wold-style-definition' is valid for Ada/C/ObjC but not for C++ [enabled by default] + cc1plus: warning: command line option '-Wdeclaration-after-statement' is valid for C/ObjC but not for C++ [enabled by default] + cc1plus: warning: command line option '-Wnested-externs' is valid for C/ObjC but not for C++ [enabled by default] + cc1plus: warning: command line option '-Wstrict-prototypes' is valid for Ada/C/ObjC but not for C++ [enabled by default] + cc1plus: warning: command line option '-Wmissing-prototypes' is valid for Ada/C/ObjC but not for C++ [enabled by default] + cc1plus: warning: command line option '-Wbad-function-cast' is valid for C/ObjC but not for C++ [enabled by default] + + Solution: Enable these warnings only for C compiler and not for C++ + + (2) + cairo-qt-surface.cpp: In function 'cairo_int_status_t _cairo_qt_surface_fill(void*, cairo_operator_t, const cairo_pattern_t*, const cairo_path_fixed_t*, cairo_fill_rule_t, double, cairo_antialias_t, const cairo_clip_t*)': + cairo-qt-surface.cpp:852:5: warning: inlining failed in call to 'PatternToBrushConverter::PatternToBrushConverter(const cairo_pattern_t*)': --param max-inline-insns-single limit reached [-Winline] + cairo-qt-surface.cpp:1339:38: warning: called from here [-Winline] + cairo-qt-surface.cpp:390:1: warning: inlining failed in call to 'QPainterPath _ZL10path_to_qtPK17_cairo_path_fixedPK13_cairo_matrix.part.13()': call is unlikely and code size would grow [-Winline] + cairo-qt-surface.cpp:1306:1: warning: called from here [-Winline] + cairo-qt-surface.cpp:1051:5: warning: inlining failed in call to 'PatternToBrushConverter::~PatternToBrushConverter()': call is unlikely and code size would grow [-Winline] + + Solution: Add __attribute__ ((noinline)) to the function as mentioned in + http://stackoverflow.com/questions/11724235/warning-for-template-with-g-o2-or-os-o-o1 (Edit 3) + + Signed-off-by: Ravi Nanjundappa <nravi.n@samsung.com> + Reviewed-by: Bryce Harrington <bryce@osg.samsung.com> + + build/configure.ac.warnings | 13 +++++++------ + src/cairo-qt-surface.cpp | 9 ++++++--- + 2 files changed, 13 insertions(+), 9 deletions(-) + +commit 29a8b4e970379ca04a7db8e63c71bb34c0e349ce +Author: Maks Naumov <maksqwe1@ukr.net> +Date: Wed Aug 20 09:52:45 2014 -0700 + + Fix _cairo_mesh_pattern_equal() when cairo_mesh_patch_t structs are different + + Signed-off-by: Maks Naumov <maksqwe1@ukr.net> + Reviewed-by: Bryce Harrington <bryce@osg.samsung.com> + + src/cairo-pattern.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit e6bf829d8953fac82ccc80618c6cae41346e483f +Author: Maks Naumov <maksqwe1@ukr.net> +Date: Wed Aug 20 09:38:37 2014 -0700 + + Fix font x_scale value in _compute_transform() + + Signed-off-by: Maks Naumov <maksqwe1@ukr.net> + Reviewed-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-ft-font.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c6ae5b197623867e2baca0bf4fe2907ea55536f5 +Author: Ravi Nanjundappa <nravi.n@samsung.com> +Date: Mon Aug 25 09:28:40 2014 +0530 + + test: Fix null pointer issue reported by cppcheck static analysis tool + + cppcheck analysis tool reports the following issues when run on the + latest Cairo source. + + $ grep "(error)" cppcheck_error_log.txt + [test/pdf-mime-data.c:58]: (error) Possible null pointer dereference: file - otherwise it is redundant to check if file is null at line 53 + [test/pdf-mime-data.c:75]: (error) Resource leak: fp + $ + + The proposed changes fixes the above issues. + + And also it does some refactoring to print the appropriate error messages + for each error condition in read_file() function and also to free the allocated + data buffer. + + Signed-off-by: Ravi Nanjundappa <nravi.n@samsung.com> + Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/pdf-mime-data.c | 25 ++++++++++++++----------- + 1 file changed, 14 insertions(+), 11 deletions(-) + +commit 52c4f0f2dafcc6e087a9c3c6d00c582fc272c2c2 +Author: Ravi Nanjundappa <nravi.n@samsung.com> +Date: Thu Aug 21 18:18:34 2014 +0530 + + src: Fix memory issue reported by cppcheck static analysis tool + + cppcheck analysis tool reports the following issues when run on the + latest Cairo source. + + $ grep "(error)" cppcheck_error_log.txt + [src/skia/cairo-skia-surface.cpp:245]: (error) Memory leak: surface + $ + + The proposed changes fixes the above issues. + + Signed-off-by: Ravi Nanjundappa <nravi.n@samsung.com> + Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/skia/cairo-skia-surface.cpp | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit a5f51588afd9d5629b03297eb29ff46350b6ba50 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 25 08:55:24 2014 +0100 + + traps,xcb: Set the box count after filtering + + After converting, the number of boxes should only count the number of + non-zero boxes and forget about the zero-sized boxes we skipped over. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81699 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-traps-compositor.c | 4 ++-- + src/cairo-xcb-surface-render.c | 5 +++-- + 2 files changed, 5 insertions(+), 4 deletions(-) + +commit 13a09526d2120c244471e03b6ae979016ef88e83 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 23 14:16:55 2014 +0100 + + traps,xcb: Prefilter zero-area boxes when converting traps + + The rectangular tesselation routines rely on the presuming that all the + boxes it has to handle are already filtered to remove empty boxes. + + << /width 800 /height 600 >> surface context + 0.0848671 0 0 0.0848671 39.907812 5.608896 matrix transform + 8 0 m 12.417969 0 16 3.582031 16 8 c 16 12.417969 12.417969 16 8 16 c + 3.582031 16 0 12.417969 0 8 c 0 3.582031 3.582031 0 8 0 c h + clip + 16 0 m 8 8 l 16 16 l h + clip + 0 0 16 16 rectangle + fill + + Triggers the error given a traps tesselator like cairo-xlib. + + Reported-by: Henrique Lengler <henriqueleng@openmailbox.org> + Analyzed-by: Massimo <sixtysix@inwind.it> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81699 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-traps-compositor.c | 28 +++++++++++++++++----------- + src/cairo-xcb-surface-render.c | 29 ++++++++++++++++++----------- + 2 files changed, 35 insertions(+), 22 deletions(-) + +commit 545444ec1f79eab268647e9859efc9c8d1a10391 +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Aug 23 14:38:36 2014 +0200 + + xcb: Correctly check for image surface for inplace upload + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82987 + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 183ac1889f369743a86a8a2ff6b61486acda614e +Author: Maks Naumov <maksqwe1@ukr.net> +Date: Tue Aug 19 14:59:14 2014 -0700 + + Fix width and height args for _cairo_xcb_connection_copy_area() + + Found via static analysis. + + Signed-off-by: Maks Naumov <maksqwe1@ukr.net> + Reviewed-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-core.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit eab218d1e3b0f2a3c0ab33d3173c42cc57e9bf8c +Author: Ravi Nanjundappa <nravi.n@samsung.com> +Date: Wed Aug 20 11:45:19 2014 +0530 + + configure.ac: configuration check to enable either gl or glesv2, not both at the same time + + A proposed solution for the discussion in + https://bugs.freedesktop.org/show_bug.cgi?id=57379#c12, + to avoid muliple definition of cairo_gl_* symbols when + both gl and glesv2 backends are enabled at the same time + + Signed-off-by: Ravi Nanjundappa <nravi.n@samsung.com> + Reviewed-by: Bryce Harrington <bryce@osg.samsung.com> + + configure.ac | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 932548ef25864958ef966ffe83e7c945c3ff3cd4 +Author: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com> +Date: Tue Aug 19 00:09:50 2014 +0930 + + win32 print: fix cache_frozen assertions + + Bug 81709 + + src/win32/cairo-win32-printing-surface.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +commit 7736d08e22ffd7ab9968617164c7e027125b7755 +Author: Ravi Nanjundappa <nravi.n@samsung.com> +Date: Wed Aug 6 09:49:59 2014 +0530 + + README : Update README file related to usage of FORMAT make variable + + Reformatted the README file to simplify the sentences. + + Signed-off-by: Ravi Nanjundappa <nravi.n@samsung.com> + Reviewed-by: Bryce Harrington <bryce@osg.samsung.com> + Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/README | 17 ++++++++++++----- + 1 file changed, 12 insertions(+), 5 deletions(-) + +commit c61aeddc44c8619a271151b2a2f6bf9f8ff2a18b +Author: Ravi Nanjundappa <nravi.n@samsung.com> +Date: Tue Aug 5 14:31:37 2014 +0530 + + test: improve selective execution of Cairo tests based on FORMAT option + + This patch improves the patch "test: Selective execution of Cairo tests based on FORMAT option" + by extending the usage of FORMAT option even in the case of user not + providing TARGETS= option + + For ex: + (1). CAIRO_TESTS="zero-alpha" make test FORMAT=rgba + This command runs the zero-alpha test for all the backends with + argb32 content format and so on. + (2). CAIRO_TESTS="zero-alpha" make test FORMAT=rgba,rgb + This command runs the zero-alpha test for all the backends with + argb32 and rgb24 content formats. + + Signed-off-by: Ravi Nanjundappa <nravi.n@samsung.com> + Reviewed-by: Bryce Harrington <bryce@osg.samsung.com> + Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> + + boilerplate/cairo-boilerplate.c | 68 +++++++++++++++++++++++++++++++++-------- + 1 file changed, 55 insertions(+), 13 deletions(-) + +commit f8e0ecb5af8859e2bff26cb719b10b3a9784f6f1 +Author: Ravi Nanjundappa <nravi.n@samsung.com> +Date: Thu Jul 24 14:19:21 2014 +0530 + + test: Selective execution of Cairo tests based on FORMAT option + + Added a new command line option FORMAT which can take rgb and/or rgba + values which enables the execution of tests only for the given FORMAT + For ex: + (1). CAIRO_TESTS="zero-alpha" make test TARGETS=ps2,image FORMAT=rgba,rgb + This command runs the zero-alpha test for both ps2 and image backends + with argb32 and rgb24 content formats. + (2). CAIRO_TESTS="zero-alpha" make test TARGETS=ps2,image FORMAT=rgba + This command runs the zero-alpha test for both ps2 and image backends + with argb32 content format and so on. + + Signed-off-by: Ravi Nanjundappa <nravi.n@samsung.com> + Reviewed-by: Bryce Harrington <bryce@osg.samsung.com> + Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> + + boilerplate/cairo-boilerplate.c | 61 ++++++++++++++++++++++++++++++++++++----- + perf/Makefile.am | 3 +- + test/Makefile.am | 3 +- + 3 files changed, 58 insertions(+), 9 deletions(-) + +commit 1d9f4ae5208d86843a6001d10c9cb5b16df2b785 +Author: Bill Spitzak <spitzak@gmail.com> +Date: Tue Aug 12 15:48:04 2014 -0700 + + V5: Use NEAREST filter when possible + + (changed to use determinant funciton and remove debug printf) + + Modifies _cairo_matrix_has_unity_scale to return true for 90 degree rotations + by allowing error caused by inaccuracy in trig functions. + + This fails after 14 additions of M_PI_2 to itself as a float argument to + cairo_rotate, but the failure is in the detection of the integer translate, + not in the trig components. I believe this is due to the matrix inversion, + which may need similar rounding. + + Reviewed-by: Bryce Harrington <bryce@osg.samsung.com> + + src/cairo-matrix.c | 37 +++++++++++++++++++++++-------------- + src/cairo-pattern.c | 2 +- + src/cairo-xcb-surface-render.c | 7 ++----- + 3 files changed, 26 insertions(+), 20 deletions(-) + +commit 7d44f8d47e7c4389cf6a3baefc7fee7b5dffbb21 +Author: Ravi Nanjundappa <nravi.n@samsung.com> +Date: Tue Aug 12 14:16:46 2014 +0530 + + test : build fix when --enable-pdf=no + + Though --enable-pdf=yes by default, when --enable-pdf=no, the cairo build + fails due to unavailability of cairo-pdf.h and related cairo pdf's apis. + The current changes fixes this issue by conditionally checking if PDF + surface is enabled or not. + + Signed-off-by: Ravi Nanjundappa <nravi.n@samsung.com> + Reviewed-by: Bryce Harrington <bryce@osg.samsung.com> + Tested-by: Bryce Harrington <bryce@osg.samsung.com> + + test/fallback-resolution.c | 5 +++++ + 1 file changed, 5 insertions(+) + +commit c7ff9bb32e20679d6da4e8a2856be716e5bd9e12 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Jul 21 17:10:16 2014 +0200 + + Remove LTO support + + This just never worked too well and caused too many issues. I don't think anyone + will miss this. + + As mentioned in the below bug report, proper LTO support also requires using + special versions of ranlib, nm and ar which support the LTO object files. + Otherwise, calling the normal ranlib on an .a library breaks the list of + exported symbols and thus completely breaks the static library. + + This (partly) reverts the following commits: + + c3645d97ebd24c6f7ad850785d585aebc706a11c configure.ac: Add a --disable-lto configure option + d486ea30f1a58640a1178de74f705a73845b1cda configure: Conditionally include -flto + 0870c6fb5b39dcc04fa376123848adde2d06d2ce gcc-4.5 warnings and optimisation flags. + + (The last commit is the one which brought us -flto in the first place even + though it doesn't talk about this. It's also the one which is only reverted + partly.) + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=77060 + CC: Chris Wilson <chris@chris-wilson.co.uk> + Signed-off-by: Uli Schlachter <psychon@znc.in> + Reviewed-by: Bryce Harrington <b.harrington@samsung.com> + + build/configure.ac.warnings | 16 ---------------- + 1 file changed, 16 deletions(-) + +commit 27c9923e9887bab5854ecccc81dda69687a0b9ae +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 1 11:29:29 2014 +0100 + + xlib: Undo debug hack to force fallbacks + + Remove the debug hack from + + commit f337342c88092a251dc00476c4a9880d1cb90822 + Author: Bill Spitzak <spitzak@gmail.com> + Date: Fri Jul 18 18:46:26 2014 -0700 + + V6 image: Use convolution filters for sample reconstruction when downscaling + + as it forces the fallback image surface for xlib causing severe + performance degradation. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82002 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + Cc: Bill Spitzak <spitzak@gmail.com> + Cc: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-xlib-display.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f337342c88092a251dc00476c4a9880d1cb90822 +Author: Bill Spitzak <spitzak@gmail.com> +Date: Fri Jul 18 18:46:26 2014 -0700 + + V6 image: Use convolution filters for sample reconstruction when downscaling + + This version removes testing code and has some changes to match my current + pixman version. My proposed pixman patch (not finished yet) will produce + exactly the same results as this cairo patch. + + This code contains an all-new filter generator to replace the one that is + in pixman. Results in 222 pass/298 failed image tests, which is much better + than the previous versions of this patch. + + Filter generator (which should probably be in pixman): + + - Single filter, no "reconstruction" and "sample" filter + - Filters for derivative < 1 work + - Fixed IMPULSE and BOX + - Added TENT, CATMULL_ROM, NOTCH. Remove LANZCOS2. + - Renamed CUBIC to MITCHELL + + Cairo's filter settings: + + - CAIRO_FILTER_GOOD: uses BOX filter for scales less than .75 in either + direction. Uses PIXMAN_FILTER_GOOD (ie BILINEAR) otherwise. + + - CAIRO_FILTER_BEST: uses CATMULL filter always. Upscaling more than 2x will + produce anti-aliased square pixels, similar to OS/X. + + - CAIRO_FILTER_GAUSSIAN: this obsolete value is used to test other filters. + The program must declare and poke the filter into the static varialbe + ikernel. This should be removed for production code. + + NYI: This version uses the fallback for xlib always. The xlib and xcb backends + must be rewritten to use the fallback version if filtering is needed. Or the + filtering code must be moved to XRender. + + src/cairo-image-source.c | 420 ++++++++++++++++++++++++++++++++++++++++++++++- + src/cairo-xlib-display.c | 2 +- + 2 files changed, 420 insertions(+), 2 deletions(-) + +commit e71b917bbfc881ddd6ae6ed4367efd328a95af93 +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Thu Jul 24 18:41:03 2014 -0700 + + xlib: Fix mispelling in a comment + + src/cairo-xlib-display.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 82b4781f18d4dc3d368b04a436f854a8f0cff1e1 +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Mon Jul 21 15:05:14 2014 -0700 + + cairo-wideint: Fix typo in two cairo_uint128 functions + + _cairo_int128_negate and _cairo_int128_not are #defines of + _cairo_uint128_negate and _cairo_uint128_not respectively. The function + implementations should use the actual function name not the aliases. On + systems without a uint128 type, these could lead to build issues. + + Credit for finding this go to Dr. Peter Barnes, LLNL. + + src/cairo-wideint.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 9e6ceb23b45b7da19911b38eddb7f42f921929b1 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Jul 23 12:12:04 2014 -0400 + + More binary mode for Windows + + Based on: + https://github.com/Alexpux/MINGW-packages/blob/master/mingw-w64-cairo/0012-more-binary-mode.mingw.patch + + boilerplate/cairo-boilerplate.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 23dce494d1850ee28a9c8d67972052c5a784cacf +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Jul 23 12:09:17 2014 -0400 + + Binary mode in any2ppm + + From: + https://github.com/Alexpux/MINGW-packages/blob/master/mingw-w64-cairo/0010-binary-mode-in-any2ppm.mingw.patch + + test/any2ppm.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +commit f4dbba26d4fc571e0621f3c7a98196c501f8bcc5 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Jul 14 15:54:38 2014 -0400 + + [cairo-trace] Work around fontconfig :charset= parse format change + + As dicussed on the mailing list. + + util/cairo-script/cairo-script-operators.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +commit 2a37cbbabc00c7474be5baa25f848778b1773b2c +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Tue Jul 8 15:53:41 2014 -0700 + + configure.ac: Fix broken build for Qt backend + + When --enable-qt is specified, the build will break due to missing + libstdc++: + + CCLD cairo-test-suite + /usr/bin/ld: ../boilerplate/.libs/libcairoboilerplate.a(libcairoboilerplate_cxx_la-cairo-boilerplate-qt.o): undefined reference to symbol '__gxx_personality_v0@@CXXABI_1.3' + //usr/lib/x86_64-linux-gnu/libstdc++.so.6: error adding symbols: DSO missing from command line + collect2: error: ld returned 1 exit status + + When using g++ to compile and link code, g++ automatically links + libstdc++. However, in cairo we're using g++ only to compile, so need + to explicitly link against libstdc++ for backends that need iostream, + stl, or other stdc++ features. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=59038 + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + Reviewed-by: Uli Schlachter <psychon@znc.in> + + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +commit c3645d97ebd24c6f7ad850785d585aebc706a11c +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Tue Jul 8 13:14:20 2014 -0700 + + configure.ac: Add a --disable-lto configure option + + Link-Time Optimization seems to be stable enough with gcc 4.8 and 4.9, + but has proven to be an issue in the past for many cairo users (webkit, + efl, ubuntu, opensuse, gentoo, arch...) who carry patches to disable it. + + Gentoo's patch[1] adds a --disable-lto option to leave it enabled by + default but give users the ability to work around lto related build + problems (c.f. fdo #77060). Patch appears to have been authored by + Alexandre Rostovtsev[2]. + + 1: sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-libs/cairo/files/cairo-1.12.16-lto-optional.patch + 2: https://bugs.gentoo.org/show_bug.cgi?id=509552 + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=60852 + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + Reviewed-by: Uli Schlachter <psychon@znc.in> + + build/configure.ac.warnings | 15 ++++++++++----- + 1 file changed, 10 insertions(+), 5 deletions(-) + +commit 0f46fc8dc173698b6d61ba757e1e42f2319d6ace +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Tue Jul 8 12:39:02 2014 -0700 + + configure.ac: Quell warnings about AM_PROG_AR when using automake 1.12 + + Without this, autogen.sh issues warnings like: + + /usr/share/automake-1.14/am/ltlibrary.am: warning: 'libcairoboilerplate_cxx.la': linking libtool libraries using a non-POSIX + /usr/share/automake-1.14/am/ltlibrary.am: archiver requires 'AM_PROG_AR' in 'configure.ac' + boilerplate/Makefile.am:18: while processing Libtool library 'libcairoboilerplate_cxx.la' + + AM_PROG_AR was introduced in automake 1.11.2. As per the docs for + AM_PROG_AR, it is supposed to be included when the archiver ('ar') is + used, but prior to automake 1.12 the warning was only shown iff + -Wextra-portability was specified. automake 1.12 introduced a change + that includes -Wextra-portability when -Wall is specified. + + For further discussion of the issue, see: + + http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11401 + http://lists.gnu.org/archive/html/automake/2012-05/msg00014.html + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + Reviewed-by: Uli Schlachter <psychon@znc.in> + + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +commit 312553af298692111928a9443b75a00bf46d2adb +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Jul 11 11:05:43 2014 -0400 + + [trace] Don't print FC_CHARSET, FC_LANG, and FC_CAPABILITY + + There are many more that can go, but these take the most bytes. + FC_CHARSET needs to go specially because I recently changed + its format in fontconfig. Ouch! + + util/cairo-trace/trace.c | 21 +++++++++++++++++---- + 1 file changed, 17 insertions(+), 4 deletions(-) + +commit 4cb220773d4babe216afae1198bb192956ffeae9 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Jul 11 10:58:14 2014 -0400 + + chmod a+x cairo-trace + + configure.ac | 2 ++ + 1 file changed, 2 insertions(+) + +commit e279709bf32f13314b8008e6f640d2fab8cc8a78 +Author: Ravi Nanjundappa <nravi.n@samsung.com> +Date: Thu Jul 10 16:14:46 2014 +0530 + + skia : Add Debug support for skia backend + + Enable the DEBUG support for skia backend to provide more + descriptive information on the unexpected operational behaviours. + + Signed-off-by: Ravi Nanjundappa <nravi.n@samsung.com> + Reviewed-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-skia-surface.cpp | 28 +++++++++++++++++----------- + 1 file changed, 17 insertions(+), 11 deletions(-) + +commit 8a605472d201e30ddcf3895d554cc4143cd54fb2 +Author: Ravi Nanjundappa <nravi.n@samsung.com> +Date: Wed Jul 9 15:50:57 2014 +0530 + + .gitignore: Ignore the generated profile data files from callgrind tool in test/ + + Signed-off-by: Ravi Nanjundappa <nravi.n@samsung.com> + Reviewed-by: Bryce Harrington <b.harrington@samsung.com> + + test/.gitignore | 1 + + 1 file changed, 1 insertion(+) + +commit 30cb23d3b64ab085578c23a194391d982ad10d32 +Author: Jeff Muizelaar <jmuizelaar@mozilla.com> +Date: Wed Jul 9 16:33:53 2014 -0400 + + clang-cl: Use size of the pointer explicitly + + This works around http://llvm.org/PR20216. + + src/cairo-compiler-private.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 28c3b92fb4f6ed8511a46ad9c0e1bd8cfdd477ed +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Tue Jul 8 17:44:56 2014 -0700 + + .gitignore: Ignore two generated files in build/ + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + .gitignore | 1 - + build/.gitignore | 2 ++ + 2 files changed, 2 insertions(+), 1 deletion(-) + +commit 7bd68b57999bf1564ecbadf6c9aae6bf9f7aa4a7 +Author: Ravi Nanjundappa <nravi.n@samsung.com> +Date: Mon Jun 30 17:05:26 2014 +0530 + + skia: update the source to build with the latest skia + + This fixes several build related issues for the skia backend + which is introduced due to skia source up-gradation. + + Signed-off-by: Ravi Nanjundappa <nravi.n@samsung.com> + Reviewed-by: Uli Schlachter <psychon@znc.in> + Reviewed-by: Bryce Harrington <b.harrington@samsung.com> + + configure.ac | 12 ++++---- + src/skia/cairo-skia-context.cpp | 65 ++++++++++++++++++++++++++++++----------- + src/skia/cairo-skia-private.h | 4 +-- + src/skia/cairo-skia-surface.cpp | 13 ++++----- + 4 files changed, 60 insertions(+), 34 deletions(-) + +commit be62b1221169469c8923a5a1ec669761f5344c57 +Author: Ravi Nanjundappa <nravi.n@samsung.com> +Date: Wed Jul 2 14:13:58 2014 +0530 + + xcb: make use of _cairo_surface_is_xcb to check for surface type + + Introduced a new inline function _cairo_surface_is_xcb() as similar to + _cairo_surface_is_image() and used the same to check for xcb surface + type + + Signed-off-by: Ravi Nanjundappa <nravi.n@samsung.com> + + src/cairo-xcb-private.h | 15 +++++++++++++++ + src/cairo-xcb-surface-core.c | 2 +- + src/cairo-xcb-surface-render.c | 2 +- + src/cairo-xcb-surface.c | 4 ++-- + 4 files changed, 19 insertions(+), 4 deletions(-) + +commit 550385fb004e6064305518cf265adc03bd2d0c0b +Author: Jeff Muizelaar <jmuizelaar@mozilla.com> +Date: Mon Jun 30 14:17:18 2014 -0400 + + Don't use __FUNCTION__ as a string literal + + clang-cl doesn't support this and we don't gain much + from using it. + + src/cairo-compiler-private.h | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +commit f574fec8d2d1f83525fd7e4dbb266b6e5091627d +Author: Ravi Nanjundappa <nravi.n@samsung.com> +Date: Mon May 19 14:59:29 2014 +0530 + + src : Fix warn_unused_result warnings from gcc + + Fix 'unused-result' warning messages by + - replacing cairo_private to cairo_private_no_warn in the + declaration of the cairo private apis '_cairo_surface_unmap_image', + '_cairo_polygon_add_line', '_cairo_polygon_add_external_edge' and + '_cairo_polygon_add_contour' + - removing cairo_warn for 'render_rows' member function pointer in + 'struct _cairo_span_renderer' + + Signed-off-by: Ravi Nanjundappa <nravi.n@samsung.com> + + src/cairo-spans-private.h | 2 +- + src/cairoint.h | 8 ++++---- + 2 files changed, 5 insertions(+), 5 deletions(-) + +commit 5741a7f2cab3548467a020c89bb7363d398f9c0d +Author: Eric Le Bihan <eric.le.bihan.dev@free.fr> +Date: Fri May 9 21:22:04 2014 +0200 + + test: fix build of any2ppm if fork not available + + The test program any2ppm can run as daemon. This feature can be disabled + at compile time, if the required headers are not present. However the + support for fork() is not checked. + + This patch fixes this issue. + + Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr> + + test/any2ppm.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 3d94269bd427304af70ae681d5533b572d19ec3c +Author: Uli Schlachter <psychon@znc.in> +Date: Tue May 13 10:15:12 2014 +0200 + + Revert "image: Use convolution filters for sample reconstruction when downscaling" + + This reverts commit fb57ea13e04d82866cbc8e86c83261148bb3e231. + + When running cairo-test-suite with the parameter "-a", it also runs each test + with a non-zero device-offset and device-scaling. The above commit influenced + the device-scaling results badly. E.g. some test results ended up with a black + border at the top-most and left-most row that looked like there was an offset of + "0.5" in drawing the image and thus pixels outside of the image were sampled. + + This can be seen by the influence that this revert has on the results from + running CAIRO_TEST_TARGET=image ./cairo-test-suite -a: + + Before: 31 Passed, 489 Failed [1 crashed, 8 expected], 31 Skipped + After: 225 Passed, 295 Failed [1 crashed, 8 expected], 31 Skipped + + Most of the failures that disappeared are from the device-scaling tests. + + With such disastrous results on the test suite, this cannot really be usable for + real-world applications. + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-image-source.c | 65 ++++++++---------------------------------------- + 1 file changed, 10 insertions(+), 55 deletions(-) + +commit 2d89cbb30e276cec57a893d4f0d45428858e5e8d +Author: jimmyfrasche <soapboxcicero@gmail.com> +Date: Sun May 25 20:22:16 2014 -0700 + + Add more info to cairo_surface_set_mime_data docs. + + Explains how to use cairo_surface_set_mime_data so that the image always + gets used even if the MIME data cannot be. + + Signed-off-by: jimmyfrasche <soapboxcicero@gmail.com> + + src/cairo-surface.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +commit ead5c7909f3db1d0d81121fc2775c458871891b2 +Author: Ravi Nanjundappa <nravi.n@samsung.com> +Date: Mon May 12 14:59:03 2014 +0530 + + vg: Use EGL_NONE and GLX_NONE in place of None + + Use EGL_NONE in EGL section and GLX_NONE in GLX section + instead of None in cairo-boilerplate-vg.c + + Signed-off-by: Ravi Nanjundappa <nravi.n@samsung.com> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55805 + + boilerplate/cairo-boilerplate-vg.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit d1453c512c8213115bd489b3ea8849b1c840b551 +Author: Ravi Nanjundappa <nravi.n@samsung.com> +Date: Tue May 6 15:44:21 2014 +0530 + + test : Maintain consistency in the usage of xcalloc + + xcalloc is a wrapper for calloc. If it can't allocate memory then it + terminates the program. The current changes replace the usages of calloc + by xcalloc in tests. + + Signed-off-by: Ravi Nanjundappa <nravi.n@samsung.com> + + test/negative-stride-image.c | 2 +- + test/stride-12-image.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 69e10bc8b53792f58e06387542c4eeeca52795c9 +Author: Ravi Nanjundappa <nravi.n@samsung.com> +Date: Thu May 15 15:59:58 2014 +0530 + + glx: Use GLX_NONE in place of None + + Use "GLX_NONE" in rgb and rgba attributes instead of + "None" in cairo-boilerplate-glx.c + + Signed-off-by: Ravi Nanjundappa <nravi.n@samsung.com> + Reviewed-by: Bryce Harrington <b.harrington@samsung.com> + + boilerplate/cairo-boilerplate-glx.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit 247cfaaa2562d28ee39a5a35eea9772ee365937b +Author: Sylvestre Ledru <sylvestre@debian.org> +Date: Wed May 7 17:15:22 2014 +0200 + + Fix some memory leaks found by scan-build, the LLVM/Clang static analyzer + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + Reviewed-by: Uli Schlachter <psychon@znc.in> + + src/cairo-cff-subset.c | 4 +++- + src/cairo-pdf-surface.c | 8 +++++++- + test/pdf-mime-data.c | 2 ++ + 3 files changed, 12 insertions(+), 2 deletions(-) + +commit 5e7b724dd3ed13c7c5a6ffe3874ad21b7fbe2176 +Author: Sylvestre Ledru <sylvestre@debian.org> +Date: Wed May 7 17:16:09 2014 +0200 + + Remove some potential double free + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + Reviewed-by: Uli Schlachter <psychon@znc.in> + + src/cairo-truetype-subset.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 85b05e84acd89b08e5e72849133ae84cf2cdcb54 +Author: jimmyfrasche <soapboxcicero@gmail.com> +Date: Sun May 11 20:06:17 2014 -0700 + + Pattern document clarification + + Replaces documentation of the form "range 0 to 1 less than the number" + with "ranges from 0 to n-1 where n is the number", which is idiomatic + mathematical writing and less ambiguous. + + Signed-off-by: jimmyfrasche <soapboxcicero@gmail.com> + Reviewed-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-pattern.c | 17 +++++++++-------- + 1 file changed, 9 insertions(+), 8 deletions(-) + +commit 55608e4fd6947f26789557ffc757affc509b141b +Author: Ravi Nanjundappa <nravi.n@samsung.com> +Date: Mon May 5 12:34:21 2014 +0530 + + boilerplate: Maintain consistency in the usage of switch cases + + Some of the switch cases used in boilerplate are not consistent + across other source files in the same module. This patch fixes the + consistency issues of switch case usage in the boilerplate module. + + Signed-off-by: Ravi Nanjundappa <nravi.n@samsung.com> + Reviewed-by: Uli Schlachter <psychon@znc.in> + + boilerplate/cairo-boilerplate-drm.c | 12 ++++++-- + boilerplate/cairo-boilerplate-xlib.c | 12 ++++++-- + boilerplate/cairo-boilerplate.c | 53 +++++++++++++++++++++++++----------- + 3 files changed, 55 insertions(+), 22 deletions(-) + +commit 18b3cce2f5812c357e4b6310e72d72dd9ec92ed4 +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Tue May 6 10:18:19 2014 -0700 + + Fix segfault in firefox when scrolling on certain pages + + Bug discovered by thorsten <fly_a320@gmx.de> + + Patch from Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface-render.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit da9ef97372fb9c22f66507e0ab37968b1131f077 +Author: Sylvestre Ledru <sylvestre@mozilla.com> +Date: Fri May 2 18:53:41 2014 +0200 + + Remove some useless declarations found by scan-build, the LLVM/clang static analyzer + + Reviewed-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-contour.c | 1 - + src/cairo-ft-font.c | 2 -- + src/cairo-path-stroke-polygon.c | 10 ---------- + src/cairo-xcb-connection-core.c | 2 -- + test/pdiff/lpyramid.c | 4 ++-- + test/tighten-bounds.c | 2 +- + util/cairo-script/cairo-script-file.c | 1 - + 7 files changed, 3 insertions(+), 19 deletions(-) + +commit 52b137bc3e3284ecef3102b0d976fd2320e0f473 +Author: Ravi Nanjundappa <nravi.n@samsung.com> +Date: Wed Apr 23 08:32:19 2014 +0530 + + test and util: maintain consistency in the usage of ARRAY_LENGTH macro + + ARRAY_LENGTH macro is used in perf's cairo-perf.h, src's cairoint.h, + test's cairo-test.h and in some internal header files of util's + directory.So to maintain consistency ARRAY_SIZE is replaced with + ARRAY_LENGTH macro. + + Signed-off-by: Ravi Nanjundappa <nravi.n@samsung.com> + Reviewed-by: Bryce Harrington <b.harrington@samsung.com> + + test/cairo-test.c | 12 ++++++------ + util/cairo-trace/trace.c | 7 ++++--- + util/malloc-stats.c | 9 +++++---- + 3 files changed, 15 insertions(+), 13 deletions(-) + +commit 0e0004a9716ca50bf14fa0e5e1919d90b8d11960 +Author: Ravi Nanjundappa <nravi.n@samsung.com> +Date: Tue Apr 22 17:53:12 2014 +0530 + + perf: Refactor some macros to cairo-perf.h + + This commit covers one of the left out modifications from + "commit cd11a4ff0421fd293279b202be800550890574bb" by Bryce. + It removes the duplicate macro definition in cairo-perf-diff-files.c + which by default includes the cairo-perf.h having MAX macro defnition. + + Signed-off-by: Ravi Nanjundappa <nravi.n@samsung.com> + + perf/cairo-perf-diff-files.c | 1 - + 1 file changed, 1 deletion(-) + +commit 2d95f803b15d3d8f70df0e7278ad7bdeaf99fb59 +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Thu Apr 17 23:59:36 2014 -0700 + + NEWS: Add bug links and reword feature and bug descriptions + + NEWS | 67 ++++++++++++++++++++++++++++++++++++++++++++++--------------------- + 1 file changed, 46 insertions(+), 21 deletions(-) + +commit cd11a4ff0421fd293279b202be800550890574bb +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Wed Apr 16 17:37:18 2014 -0700 + + perf: Refactor some common macros to cairo-perf.h + + These macros are standard in src's cairoint.h and test's cairo-test.h + internal header files, so for consistency do the same thing with perf's + cairo-perf.h. + + Reviewed-by: Uli Schlachter <psychon@znc.in> + + perf/cairo-perf-chart.c | 2 -- + perf/cairo-perf-compare-backends.c | 1 - + perf/cairo-perf-trace.c | 5 ++--- + perf/cairo-perf.h | 12 ++++++++++++ + perf/micro/cairo-perf-cover.c | 5 ++--- + perf/micro/dragon.c | 8 -------- + perf/micro/zrusin.c | 4 +--- + 7 files changed, 17 insertions(+), 20 deletions(-) + +commit 3e22a8580a8045e450a2f2e47c8ac36abf8882ae +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Apr 11 10:39:39 2014 +0200 + + pthread-same-source: Refresh reference images + + These reference images are generated by the new GENERATE_REFERENCE mode that the + previous commit introduced. + + I have no idea what the "base" images. From my reading of the code in + boilerplate/, these images will be used by the test-XXX targets. However, these + seem to generate the same result than e.g. the image backend. Thus, I deleted + these files. + + There is still pthread-same-source.quartz.xfail.png. This file was created in + commit b6e16b8d and touched in commit 5a1e590b1. No idea if this is still valid + and since I don't have a Mac, I won't touch it. + + The test is still broken on the following backends (out of the backends I have + compiled in). This mostly seems to be differences in image scaling, but I + couldn't figure out an easy way to tell the test suite that the new results are + correct. + + test-paginated, ps2, ps3, xcb, xcb-window, xcb-window&, xcb-fallback, xlib, + xlib-window, xlib-fallback, recording + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + .../reference/pthread-same-source.base.argb32.ref.png | Bin 1000 -> 0 bytes + test/reference/pthread-same-source.base.rgb24.ref.png | Bin 1000 -> 0 bytes + test/reference/pthread-same-source.image16.ref.png | Bin 1007 -> 1048 bytes + test/reference/pthread-same-source.ref.png | Bin 1000 -> 1076 bytes + 4 files changed, 0 insertions(+), 0 deletions(-) + +commit ddd344fb0f5a0e9a0e9a34306598a777ffb7667a +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Apr 12 12:07:23 2014 +0200 + + pthread-same-source: Add ref image generation + + When the new GENERATE_REFERENCE symbol is defined to 1, no threads are involved + at all. In this case, all operations are done sequentially by the main thread. + + Thus, in this mode no thread issues can occur and the result must be usable as + reference images. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + Reviewed-by: Bryce Harrington <b.harrington@samsung.com> + + test/pthread-same-source.c | 25 ++++++++++++++++++++++--- + 1 file changed, 22 insertions(+), 3 deletions(-) + +commit 457597e2dc6fac6c879ba51da892cf31a3c432eb +Author: Bryce W. Harrington <b.harrington@samsung.com> +Date: Fri Mar 14 20:24:51 2014 +0000 + + NEWS: Summarize recent changes + + This updates NEWS with items shown by `git log --stat 1.12.8..` + Hopefully I haven't misrepresented any of the work done. For sake of + brevity where there were several changes in one area, I've given a + single general entry to summarize those changes. The division between + features and bug fixes is quite rough. + + NEWS | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 88 insertions(+) + +commit bb17403622e9ea474017e0039af8ee48b2b285db +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Mar 14 15:31:34 2014 +0100 + + mesh-rasterize: Fix number of iterations + + Commit 44a09f462c fixed a compiler warning, but changed the result of this code. + This is because the old 'for' loop did one more iteration than the new 'while' + loop. Fix this by incrementing the loop counter once before the loop. + + Fixes: mesh-pattern mesh-pattern-accuracy mesh-pattern-conical + mesh-pattern-control-points mesh-pattern-fold mesh-pattern-overlap + mesh-pattern-transformed record-mesh + + Signed-off-by: Uli Schlachter <psychon@znc.in> + Tested-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-mesh-pattern-rasterizer.c | 1 + + 1 file changed, 1 insertion(+) + +commit 372c8c314a93e0efba53319a120a9ccc2c99658b +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Mar 14 13:47:38 2014 +0100 + + mask compositor: Set a check_composite method + + Commit 503b6b9e2ea6 added a check_composite method to the mask compositor, but + only added it to one of the existing implementations. This commit fixes that. + + In cairo-image-compositor.c, there is already a check_composite method which + just returns success for the traps compositor. This commit makes the mask + compositor use that one. + + I don't want to say much about cairo-image-mask-compositor.c except that I + wondered why this file and the file above both define a non-static function + called _cairo_image_mask_compositor_get(). In my opinion, that file should just + be deleted, since it confuses e.g. ctags, but I'll let someone else clean this + up. + + Fixes 493 crashes in the test suite for the test-mask target. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + Tested-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-image-compositor.c | 2 +- + src/cairo-image-mask-compositor.c | 3 +++ + 2 files changed, 4 insertions(+), 1 deletion(-) + +commit bc05dbccd7dd2f137038479b30ed71c98ff81da6 +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Feb 27 10:56:20 2014 +0100 + + Fix warnings from check-doc-syntax.sh + + $ ./check-doc-syntax.sh + Checking documentation for incorrect syntax + ./cairo-types-private.h (148): WARNING: cairo_hash_entry_t: missing 'Since' field (is it a private type?) + ./cairo-types-private.h (161): WARNING: cairo_hash_entry_t: not found + ./cairo-types-private.h (175): WARNING: cairo_lcd_filter_t: missing 'Since' field (is it a private type?) + ./cairo-cache-private.h (85): WARNING: cairo_cache_entry_t: missing 'Since' field (is it a private type?) + ./cairo-region.c (857): WARNING: cairo_region_overlap_t: not found + ./cairo-raster-source-pattern.c (62): WARNING: SECTION:cairo-raster-source 'Since' field in non-public element + + The warnings about missing 'Since' fields are fixed by changing the + documentation comment so that the script can see that these are private types. + + The documentation for cairo_region_overlap_t gets moved to cairo.h, just like + e.g. the documentation for cairo_status_t. + + The 'Since' field from the SECTION:cairo-raster-source is removed, because this + kind of field is needed on the individual functions and structs, not on the + section. + + Thanks to Bryce Harrington for bringing this up! + + Signed-off-by: Uli Schlachter <psychon@znc.in> + Tested-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-cache-private.h | 2 +- + src/cairo-raster-source-pattern.c | 2 -- + src/cairo-region.c | 12 ------------ + src/cairo-types-private.h | 4 ++-- + src/cairo.h | 11 +++++++++++ + 5 files changed, 14 insertions(+), 17 deletions(-) + +commit 0c189910539aa05125b60e59b7101e9b9685582f +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Thu Mar 13 15:22:40 2014 -0700 + + skia: Add section definitions and code docs for skia backend + + This fixes several distcheck errors regarding missing code docs. + + The skia backend was added in commit d7faec02, which was included in the + 1.10 release. + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + doc/public/cairo-sections.txt | 5 +++-- + src/cairo-skia-surface.cpp | 21 +++++++++++++++++++++ + src/skia/cairo-skia-private.h | 19 +++++++++++++++++++ + 3 files changed, 43 insertions(+), 2 deletions(-) + +commit 0eb686d5454073f65ff78520ca862d07672d2a3f +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Tue Feb 25 17:43:22 2014 -0800 + + Document that libglib2.0-doc is needed to avoid some xref warnings + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + RELEASING | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 8d0abb4a945a6875de956ef12883e7efe7b7fbc7 +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Tue Feb 25 17:09:03 2014 -0800 + + surface: Make parameter naming consistent between header and impl + + This fixes this set of distcheck errors generating docs: + + src/cairo-surface.c:1668: warning: Parameter described in source code + comment block but does not exist. FUNCTION: + cairo_surface_set_device_scale Parameter: sx. + + src/cairo-surface.c:1668: warning: Parameter described in source code + comment block but does not exist. FUNCTION: + cairo_surface_set_device_scale Parameter: sy. + + src/cairo-surface.c:1668: warning: Parameter description for + cairo_surface_set_device_scale::x_scale is missing in source code + comment block. + + src/cairo-surface.c:1668: warning: Parameter description for + cairo_surface_set_device_scale::y_scale is missing in source code + comment block. + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-surface.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +commit 4450af4f035fce8b468ad3ac9cd34da7bf81b688 +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Tue Feb 25 14:43:06 2014 -0800 + + Mark recently added _cairo_output_stream_print_matrix private symbol + + This fixes a distcheck error about a local PLT entry. + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-output-stream-private.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ae954ae3ea262efae221cfda18eee73b5654a729 +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Tue Feb 25 13:20:49 2014 -0800 + + doc: Drop a couple quartz routines which distcheck claims don't exist + + These routines actually do exist in the source code, and have proper + documentation, so I'm not sure why distcheck dislikes them, but it's + happier without these listed. + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + doc/public/cairo-sections.txt | 3 --- + 1 file changed, 3 deletions(-) + +commit f4a1a75078a844e2581615566122f4232d2a4f62 +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Tue Feb 25 13:17:00 2014 -0800 + + doc: Add missing sections and symbols for public docs + + This adds a number of items to the documentation for which code docs + exist, and also adds sections for cairo-skia and cairo-surface-observer. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48784 + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + doc/public/cairo-sections.txt | 38 ++++++++++++++++++++++++++++++++++++++ + src/cairo-surface-observer.c | 5 +++++ + src/cairo.h | 9 +++++++++ + 3 files changed, 52 insertions(+) + +commit ed175b2a2bebb6def85133257bc11a875d13b0dd +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Mar 6 09:45:08 2014 +0100 + + clip: Fix handling of special all-clipped cairo_clip_t + + _cairo_clip_intersect_box() wasn't checking if it was called with the special, + read-only all-clipped clip and thus could have ended up writing to read-only + memory. + + References: https://bugs.freedesktop.org/show_bug.cgi?id=75819 + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-clip-boxes.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 3b261bea7d8e8094ff3899aefab6bbc8628a3585 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Mar 6 08:34:10 2014 +0000 + + clip: Do not modify the special all-clipped cairo_clip_t + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75819 + + src/cairo-clip-boxes.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +commit 42fdfa812eb05ecb539af739445ec8c36f0e7ac1 +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Wed Mar 5 12:50:36 2014 -0800 + + gitignore: Ignore generated tmpl dir in public docs + + doc/public/.gitignore | 1 + + 1 file changed, 1 insertion(+) + +commit f88bd92e8b3d87ec728e3fee51eb82f07db8c95c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Mar 5 01:13:59 2014 -0800 + + Revert "[ft] Fix memory bug in copying bitmaps" + + This reverts commit a0f556f37fb7016aa304b7cf0e811c0d38f0b969. + + The change was clearly wrong now that I read. I was probably + tricked by what was fixed in the follow-up commit + e738079302a968b7b1fb9101cd4d92a8887bedce. + + src/cairo-ft-font.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 5c9fdcb4aa9c3c32fe4760586c11924dc5fb47ef +Author: Koji Egashira <Koji.Egashira@access-company.com> +Date: Mon Apr 29 18:31:08 2013 +0900 + + image: Add NULL checks for return value of _pixman_image_for_color() + + This fixes crash in pixman_image_composite32(). + + Originally fixed by Yoshitaro Makise. + + Reviewed-by: Bryce Harrington <b.harrington@samsung.com> + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-image-compositor.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 6a03ae5859a92d3d4dbe97c9d598700fbcf1d666 +Author: Benjamin Otte <otte@redhat.com> +Date: Mon Mar 3 01:16:25 2014 +0100 + + xlib: Fix typo in documentation + + src/cairo-xlib-display.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f1709c298c355499a18796f389fa0fd9bc52b8c3 +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Wed Feb 26 18:55:25 2014 -0800 + + Correct spelling of "tessellator" throughout code + + Based on patch suggested by Homer Hsing + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50411 + + src/cairo-cogl-surface.c | 6 +++--- + src/cairo-fixed-private.h | 2 +- + src/cairo-fixed-type-private.h | 2 +- + 3 files changed, 5 insertions(+), 5 deletions(-) + +commit 273210683f182d72789f88df80fec8c4d08bb30f +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Wed Feb 26 18:44:46 2014 -0800 + + Add comment to explain _cairo_edge_compute_intersection_* + + Patch by Homer Hsing + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50412 + + src/cairo-fixed-private.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit e555dfc7173897bc0819c715e8897cd1c886e2a3 +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Wed Feb 26 18:42:41 2014 -0800 + + Add explanation to _cairo_surface_create_in_error + + Patch by Homer Hsing + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50413 + + src/cairo-surface.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +commit be206ddf20e7b4e0e87d91c7a18cbdb9cfcec8e6 +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Wed Feb 26 18:40:12 2014 -0800 + + Add explanation to enum _cairo_int_status + + Patch based on suggestion by Homer Hsing + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50416 + + src/cairo-error-private.h | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +commit 19b31bbe7018dbe031c650e7497b19a0607ad453 +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Wed Feb 26 18:36:15 2014 -0800 + + image: Fix bad HTML generation in code docs for cairo-format-stride-for-width + + Patch from Simon Kågedal Reimer + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=63257 + + src/cairo-image-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 7b50883577df0949f793cc6dbfda281e96119dcd +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Wed Feb 19 11:25:16 2014 -0800 + + gl: Handle PIXMAN_a8r8g8b8_sRGB format in switch + + Fixes the following compiler warning: + + cairo-gl-surface.c:182:5: warning: enumeration value + ‘PIXMAN_a8r8g8b8_sRGB’ not handled in switch + + Same fix as done for image in 1d0055078. + + Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-surface.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 44a09f462c8ff59f864967f45f9b31e473632b7a +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Tue Feb 18 21:13:53 2014 -0800 + + mesh: Avoid theoretical infinite loops + + This quells this warning: + + src/cairo-mesh-pattern-rasterizer.c:731:5: warning: cannot + optimize possibly infinite loops + + I guess the compiler's complaining because if vsteps were negative or + equal to UINT_MAX the loop could cycle infinitely. Silly compiler. + + Fix as suggested by Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-mesh-pattern-rasterizer.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit 19f412bb1faa5391a03c121c31f7ad94fd275d82 +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Tue Feb 18 21:01:07 2014 -0800 + + xml: constify source objects for emit routines + + This quells the following warnings: + + src/cairo-xml-surface.c:576:5: warning: passing argument 2 of + ‘_cairo_xml_surface_emit_clip_boxes’ discards ‘const’ qualifier from + pointer target type + src/cairo-xml-surface.c:462:1: note: expected ‘struct cairo_clip_t + *’ but argument is of type ‘const struct cairo_clip_t *’ + + Most of the cairo_xml*emit* routines const their source objects; + these should follow suit. + + Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xml-surface.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit dc8ca191f584f837f4c2b70d0ebbe2c9d87575cf +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Tue Feb 18 20:56:09 2014 -0800 + + xml: Drop unused variable + + Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xml-surface.c | 1 - + 1 file changed, 1 deletion(-) + +commit 9b8a752249c69ba94461b3ef6d919c1b86ae6fab +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Tue Feb 18 20:13:57 2014 -0800 + + test: Quell warning for deprecated g_type_init() + + The g_type_init() routine was deprecated in glib 2.34. Tested and + verified this conditionalization on glib 2.32 and 2.36. No need to + change version dependencies. + + test/any2ppm.c:864:5: warning: ‘g_type_init’ is deprecated + (declared at /usr/include/glib-2.0/gobject/gtype.h:669) + + Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/any2ppm.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 75e671c29b2f2916c41af46f8c3707539b235674 +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Tue Feb 18 18:10:20 2014 -0800 + + test: Quell warning for inclusion of old rsvg header files + + This silences a warning due to header file deprecated as of libsrvg + 2.36.2. Tested and verified this hackaround on librsvg 2.36.4 and + 2.36.1. No need to change version dependencies. + + In file included from test/any2ppm.c:73:0: + /usr/include/librsvg-2.0/librsvg/rsvg-cairo.h:27:2: warning: + #warning "Including <librsvg/rsvg-cairo.h> directly is deprecated." + + Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/any2ppm.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit a346e40ed33e69c7c03be3aa1b7b0065e4ee1d07 +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Tue Feb 18 17:37:22 2014 -0800 + + perf: Guarantee path width is non-negative + + This quells the following warning: + + perf/micro/hatching.c:39:5: warning: cannot optimize loop, the + loop counter may overflow + + Width and height aren't going to be negative so enforce it so that the + compiler can do whatever optimization it wants to do. + + Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/micro/hatching.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 4144307dbfbe7b297135d9ea4b080cae7e06b997 +Author: Ryan Lortie <desrt@desrt.ca> +Date: Tue Feb 4 10:47:40 2014 +0000 + + cairo-version: fix docs build + + We do some evil things in this doc comment by closing a <para> tag further up. + Make sure we reopen it at the end so that gtk-doc's attempt to close it again + doesn't result in an imbalance. + + src/cairo-version.c | 1 + + 1 file changed, 1 insertion(+) + +commit 39b7d5138eb83cc2d4f3ab6039894cc61c7fe4c7 +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Wed Jan 29 17:07:04 2014 -0800 + + cairo-script: Compare status with CSI enums + + CSI_STATUS_SUCCESS is defined as equivalent to CAIRO_STATUS_SUCCESS. + We should prefer the former when comparing against csi_status_t + variables, else we'll get a warning: + + cairo-script-interpreter.c:637:23: warning: comparison between + ‘csi_status_t’ and ‘enum _cairo_status’ [-Wenum-compare] + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-script/cairo-script-interpreter.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 18d66c88a2f1068fb490efa33ead93d0e2d71c41 +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Wed Jan 29 10:22:51 2014 -0800 + + cairo-script: Error if asked to decompress with missing compression lib + + This quells the following warning: + + warning: enumeration value ‘LZO’ not handled in switch [-Wswitch-enum] + + The LZO enum value is defined and used elsewhere, even if lzo support + isn't available. + + This situation might arise if cairo scripts were generated on one system + with lzo, and then replayed on a system without it. For now simply + error out if this occurs. + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-script/cairo-script-file.c | 8 ++++---- + util/cairo-script/cairo-script-operators.c | 16 ++++++++-------- + 2 files changed, 12 insertions(+), 12 deletions(-) + +commit 1ce452db4ca348944ca88edfdadb6c53a4d55733 +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Wed Jan 29 10:10:24 2014 -0800 + + cairo-trace: Stringify CAIRO_STATUS_JBIG2_GLOBAL_MISSING + + This error enum was added last September when JBIG2 support was added. + Support it as well in the tracing code. This fixes this warning: + + trace.c:1544:5: warning: enumeration value + ‘CAIRO_STATUS_JBIG2_GLOBAL_MISSING’ not handled in switch [-Wswitch] + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-trace/trace.c | 1 + + 1 file changed, 1 insertion(+) + +commit 9a29805f4e666577e5fe72fec62ecc76719862d9 +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Wed Jan 29 10:04:41 2014 -0800 + + test: Drop unused path variable in two recently added tests + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/paint-with-alpha-group-clip.c | 2 -- + test/rotate-stroke-box.c | 2 -- + 2 files changed, 4 deletions(-) + +commit 0723290a6f7261be51312d0c53a7d4188a31bb1c +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Wed Jan 29 10:01:50 2014 -0800 + + test: Handle error in fgets call in ps-eps test + + Most likely this is just a theoretical problem since we just checked + feof, but this quells the following warning: + + ps-eps.c:216:8: warning: ignoring return value of ‘fgets’, declared with + attribute warn_unused_result [-Wunused-result] + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/ps-eps.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 1b522f81e22fd320e6962ffb54121c10ece39275 +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Wed Jan 29 09:57:24 2014 -0800 + + test: Replace deprecated rsvg_init() in any2ppm test + + As of libsvg 2.35 calling g_type_init() is sufficient. + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> + + configure.ac | 2 +- + test/any2ppm.c | 1 - + 2 files changed, 1 insertion(+), 2 deletions(-) + +commit 5de25951a43f51cade42549ae60e52ffb391d61e +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Jan 27 17:34:00 2014 -0500 + + Preserve current-point in copy_path()/append_path() sequence + + Fixes path-currentpoint test. + + src/cairo-path-fixed.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 8d2e24479a1efbeeddced3574c1d9e92b8ee578d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Jan 27 17:31:12 2014 -0500 + + [tests] Add path-currentpoint + + Checks whether copy_path()/append_path() preserves current-point. + Currently failing. + + test/Makefile.sources | 1 + + test/path-currentpoint.c | 89 ++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 90 insertions(+) + +commit 2a7f133639bed86a29dd9693cb78c0aa42eaff30 +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Jan 19 20:06:25 2014 +0100 + + cairo svg: Use \n instead of /n in bitmap fonts + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-svg-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit b56b971141bf22ee3452b7f6f5e2dfd373b99e13 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Jan 11 20:49:05 2014 +1030 + + type1: strip space from end of font name + + src/cairo-type1-subset.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit ee0e2b9272f6f21092fde7bee9b9237e682d4147 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Jan 11 20:57:44 2014 +1030 + + ps: add font DSC comments + + src/cairo-ps-surface.c | 34 +++++++++++++++++++++++++--------- + 1 file changed, 25 insertions(+), 9 deletions(-) + +commit 2d3ee70ed37ed2120d5c5f75277172620e32084c +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Jan 11 19:09:55 2014 +1030 + + ps: cairo_set_page_size does not need to be in eps output + + src/cairo-ps-surface.c | 68 ++++++++++++++++++++++++++------------------------ + 1 file changed, 36 insertions(+), 32 deletions(-) + +commit 26d0edbc35504624cbe96e95e338351e219bb262 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Jan 11 10:42:33 2014 +1030 + + ps: use setpagedevice to set page size + + https://bugs.freedesktop.org/show_bug.cgi?id=73452 + + src/cairo-ps-surface.c | 40 +++++++++++++++++++++++++++++++++++++++- + 1 file changed, 39 insertions(+), 1 deletion(-) + +commit 97f6e2005d9cbc9c9dd7cc21445df7c08e084c83 +Author: Marek Kasik <mkasik@redhat.com> +Date: Thu Jan 9 17:28:32 2014 +0100 + + font: Generate PDFs with correct font names + + Escape PostScript names of loaded fonts. These can not + contain white spaces and delimiter characters when saving + them to a PostScript file or a PDF file. + + src/cairo-cff-subset.c | 2 ++ + src/cairo-scaled-font-subsets-private.h | 15 +++++++++++++ + src/cairo-scaled-font-subsets.c | 40 +++++++++++++++++++++++++++++++++ + src/cairo-truetype-subset.c | 35 +++-------------------------- + src/cairo-type1-subset.c | 9 +++----- + 5 files changed, 63 insertions(+), 38 deletions(-) + +commit f81b1406755a1e63f0c44996ca9ce3802b1877ba +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Wed Jan 8 07:45:20 2014 +1030 + + ps: fix imagemask with pattern source failure on some printers + + When /PaintProc is invoked the pattern dict is pushed onto the stack. + Ensure this dict is removed. + + https://bugs.freedesktop.org/show_bug.cgi?id=69485 + + src/cairo-ps-surface.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 2afc941d7ffad3bd37a915e82342640772d4df5b +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Jan 3 21:06:24 2014 +1030 + + ps: remove duplicate /Interpolate from image dictionary + + http://lists.freedesktop.org/archives/poppler/2014-January/010748.html + + src/cairo-ps-surface.c | 2 -- + 1 file changed, 2 deletions(-) + +commit 2974416dfc56e1b3a59001e482679f8601abd7d5 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Dec 26 17:18:41 2013 +1030 + + Add test for paint with alpha and clipping bug + + Add test case for https://bugs.freedesktop.org/show_bug.cgi?id=68382 + + Something has regressed in the recording surface. All the recording + surface based backends lose the alpha from the paint_With_alpha. + + test/Makefile.sources | 1 + + test/paint-with-alpha-group-clip.c | 62 +++++++++++++++++++++ + test/reference/paint-with-alpha-group-clip.ref.png | Bin 0 -> 135 bytes + 3 files changed, 63 insertions(+) + +commit 5cafaa7b3bc045a7a26a11986c16fd9419a09922 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Dec 26 15:28:29 2013 +1030 + + pdf: fix rectangle stroke with non rectilinear pen + + src/cairo-pdf-operators.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit acd78d721e9d1c9c74c88889fbc4580700962ed1 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Dec 26 15:27:30 2013 +1030 + + Add test for rectangle path optimization with non rectilinear pen + + This fails on pdf/ps. + + test/Makefile.sources | 1 + + test/reference/rotate-stroke-box.ref.png | Bin 0 -> 150 bytes + test/rotate-stroke-box.c | 51 +++++++++++++++++++++++++++++++ + 3 files changed, 52 insertions(+) + +commit 040a9f678bfb0f0b89a0273b729c4e9f2bc23e4f +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Dec 16 19:27:02 2013 -0500 + + Check for XRenderSolidFill() + + configure.ac | 2 +- + src/cairo-xlib-xrender-private.h | 4 ++++ + 2 files changed, 5 insertions(+), 1 deletion(-) + +commit dcbe16eb40b488f89f2398181f4c3f8a65f84b52 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Dec 7 15:48:26 2013 +1030 + + pdf/ps: avoid outputting excess decimal places in matrices + + Sometimes as a result of rounding errors in matrix transformations the + matrices in ps/pdf output look like: + + 0.000000000000000061 1 1 -0.000000000000000061 0 842 cm + + This patch rounds to zero matrix elements that are very small compared to + other elements in the same matrix. + + src/cairo-output-stream-private.h | 5 +++++ + src/cairo-output-stream.c | 39 ++++++++++++++++++++++++++++++++++ + src/cairo-pdf-operators.c | 17 +++++---------- + src/cairo-pdf-surface.c | 44 +++++++++++++++++---------------------- + src/cairo-ps-surface.c | 40 ++++++++++++++--------------------- + 5 files changed, 84 insertions(+), 61 deletions(-) + +commit 31eff5c6eb57ad379689748fd8c60a5ffe0ba481 +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Nov 16 19:05:35 2013 +0100 + + Correct usage of CAIRO_STACK_ARRAY_LENGTH + + This macro wants the array type as its argument and calls sizeof() on it + internally. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 2 +- + src/cairo-xlib-render-compositor.c | 2 +- + src/cairo-xlib-surface-shm.c | 4 ++-- + 3 files changed, 4 insertions(+), 4 deletions(-) + +commit 8c73949e44d4201fafc899693964c934f7072fa6 +Author: Henry Song <henry.song@samsung.com> +Date: Tue Nov 12 09:53:29 2013 -0800 + + gl: Fix one off issue in context cleanup + + ctx->vertex_shaders is only CAIRO_GL_VAR_TYPE_MAX large, so we should + abort the loop before the index is equal to CAIRO_GL_VAR_TYPE_MAX. + + Signed-off-by: Martin Robinson <mrobinson@igalia.com> + + src/cairo-gl-shaders.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 56a195a76554abe1d5567c733ba679058fe01303 +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Wed Oct 30 18:43:42 2013 -0700 + + Fix SSIZE_T definition problem when making with MSYS on Windows7 + + Patch provided by Martin Schlemmer <Martin.Schlemmer@nwu.ac.za> on the + mailing list. + + Reviewed-by: Bryce Harrington <b.harrington@samsung.com> + + util/cairo-missing/cairo-missing.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 66f4140e73e423bfed640cfde5cb50c08cf29e2e +Author: Kouhei Sutou <kou@clear-code.com> +Date: Mon Oct 28 22:37:54 2013 +0900 + + cairo_create(): Add finished surface check + + Without this change, the following program crashes: + + #include <cairo.h> + #include <cairo-svg.h> + + int + main(int argc, char **argv) + { + cairo_t *cr; + cairo_surface_t *finished_surface; + + finished_surface = cairo_svg_surface_create ("/tmp/xxx.svg", 1.0, 1.0); + cairo_surface_finish (finished_surface); + + cr = cairo_create (finished_surface); + cairo_destroy (cr); + + cairo_surface_destroy (finished_surface); + + return 0; + } + + Reviewed-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit b9263fea14c4c6266140205c0bffb3ae93750999 +Author: egag <ed44@xs4all.nl> +Date: Wed Oct 9 14:14:02 2013 +0200 + + Fixes stroke-clipped, i.c. of a dashed stroke + + Similar to 1f4d05b55c96347aa4240190fda27f951b00c539 + 'Fix calling '_cairo_spline_intersect' for in-bounds checking of splines' + + Reviewed-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-path-stroke-traps.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 98fef3cef2d0f7f463a2e4f9f1b35b09f7b6ea77 +Author: Søren Sandmann Pedersen <ssp@redhat.com> +Date: Wed Oct 9 15:53:16 2013 -0400 + + _cairo_color_double_to_short(): Use standard rounding algorithm + + The _cairo_color_double_to_short() function converts a double + precision floating point value in the range of [0.0, 1.0] to a + uint16_t integer by dividing the [0.0, 1.0] range into 65536 + equal-sized intervals and then associating each interval with an + integer. + + Under the assumption that an integer i corresponds to the real value i + / 65535.0 this algorithm introduces more error than necessary as can + be seen from the following picture showing the analogous + transformation for two-bit integers: + + +-----------+-----------+-----------+-----------+ + 0b00 | 0b01 | 0b10 | 0b11 + +-----------+-----------+-----------+-----------+ + + which shows that some floating point values are not converted to the + integer that would minimize the error in value that that integer + corresponds to. + + Instead, this patch uses standard rounding, which makes the diagram + look like this: + + +-------+---------------+---------------+-------+ + 0b00 | 0b01 | 0b10 | 0b11 + +-------+---------------+---------------+-------+ + + It's clear that if the values corresponding to the given integers are + fixed, then it's not possible to decrease the resulting error by + moving any of the interval boundaries. + + See this thread for more information: + + http://lists.freedesktop.org/archives/cairo/2013-October/024691.html + + Reference images updated: + + pthread-similar.ref.png + record-paint-alpha.ref.png + record90-paint-alpha.argb32.ref + record90-paint-alpha.rgb24.ref.png + xcb-huge-image-shm.ref.png + xcb-huge-subimage.ref.png + + All of these have only one-step differences to the old images. + + src/cairo-color.c | 11 +++-------- + test/reference/pthread-similar.ref.png | Bin 170 -> 176 bytes + test/reference/record-paint-alpha.ref.png | Bin 256 -> 245 bytes + test/reference/record90-paint-alpha.argb32.ref.png | Bin 105 -> 105 bytes + test/reference/record90-paint-alpha.rgb24.ref.png | Bin 105 -> 105 bytes + test/reference/xcb-huge-image-shm.ref.png | Bin 97 -> 97 bytes + test/reference/xcb-huge-subimage.ref.png | Bin 97 -> 97 bytes + 7 files changed, 3 insertions(+), 8 deletions(-) + +commit 6f05ecf488314e4b0c6c6b0110963c449bebe7d7 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Oct 11 19:59:50 2013 +1030 + + type1-subset: don't rename glyphs used by seac operator + + Bug 70364 + + src/cairo-type1-subset.c | 13 +++++++------ + 1 file changed, 7 insertions(+), 6 deletions(-) + +commit f1eefee985b4361386a167e80d9836593ade59b9 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Oct 6 09:57:44 2013 +0100 + + win32: Reorder font declarations to be in natural order + + Reported-by: John Emmas <johne53@tiscali.co.uk> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/win32/cairo-win32-font.c | 90 +++++++++++++++++++++----------------------- + 1 file changed, 43 insertions(+), 47 deletions(-) + +commit 49366c5e9e7d5afd0daef4c53a41472e020145eb +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Oct 3 17:53:34 2013 +0200 + + cairo-xlib: Fix out of bounds array access in format cache + + The cairo-xlib backend maintains a mapping form cairo_format_t to xrender + formats. This is done via an array. The size of this array is + CAIRO_FORMAT_RGB16_565 + 1 which evaluates to 5. + + However, CAIRO_FORMAT_RGB30 has the numeric value 5, too. Thus, using this value + as an index into the array would actually read the following force_precision + field from cairo_xlib_display_t. + + This could be triggered by passing CAIRO_FORMAT_RGB30 to + _cairo_xlib_display_get_xrender_format(). From a quick look, I didn't find any + code which would allow doing this, but neither did I find anything allowing + CAIRO_FORMAT_RGB16_565, so it's better to handle this correctly than assert()ing + for this to never happen. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xlib-private.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 217bed84dda43f018e59a4d9a229f63095e1aa06 +Author: Uli Schlachter <psychon@znc.in> +Date: Thu Oct 3 17:44:27 2013 +0200 + + Revert "[xlib] Fast-path the likely case of retrieving a known xrender_format" + + This reverts commit 09a2b2ed3189fe12483cbd673c24ceddc2c20f3f. + + Back in 2009, _cairo_xlib_display_get_xrender_format() had to acquire a lock to + do its job. The above commit added a fast-path which avoided the lock in most + cases. + + However, in 2010 commit f74ad37e66bbdcc4d727ed6d931dde870d84c2f4 modified the + locking in the cairo-xlib backend and now this function never takes any locks. + + Thus, the fast-path that was added a year earlier now just does the same thing + that the regular code does and the list of cached formats was checked twice. + Reverting the earlier commit fixes this. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xlib-display.c | 6 ------ + 1 file changed, 6 deletions(-) + +commit 592e6a98031cccfae8551bcd86c1f5134726a4f6 +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Sep 15 14:05:42 2013 +0200 + + README: Don't mention XFAIL_TESTS anymore + + The variable XFAIL_TESTS is not used anymore since commit e90073f7ddc. + + Instead, we now have special reference images that show the wrong output and the + test suite fails a test if it does not match the expected, wrong output. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/README | 19 +++++++++---------- + 1 file changed, 9 insertions(+), 10 deletions(-) + +commit bc89be2fff92968a1b585e75371ae2a8a26592e9 +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Sep 29 13:12:55 2013 +0200 + + Remove XFAIL_TESTS from Makefile.am + + The variable XFAIL_TESTS is not used anymore since commit e90073f7ddc. + + The description for the known failures are moved into the respective tests as + comments. + + The following descriptions were dropped: + + - surface-pattern-big: Didn't really explain the failure + - big-line: Test isn't failing any more + - self-intersecting: Only XFAIL on quartz, but description doesn't match this + + The following tests don't have a xfail reference image and seem to fail just + because of not having a reference image at all (I kept their description for + now): + + big-trap, long-lines, self-copy-overlap + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/Makefile.am | 73 ------------------------------------------ + test/alpha-similar.c | 4 +++ + test/big-trap.c | 1 + + test/degenerate-dash.c | 5 +++ + test/degenerate-path.c | 4 +++ + test/device-offset-scale.c | 4 +++ + test/in-fill-empty-trapezoid.c | 5 +++ + test/long-lines.c | 1 + + test/scale-offset-image.c | 1 + + test/self-copy-overlap.c | 5 +++ + 10 files changed, 30 insertions(+), 73 deletions(-) + +commit 5e6e4536716197ea0605732d32959c57ea8bb140 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Sep 29 22:23:31 2013 +0930 + + pdf: stencil masks may be opaque + + src/cairo-pdf-surface.c | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +commit d3a8d5a9c266b79b0059dd309b5e3eff3ce81a64 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Sep 29 22:18:06 2013 +0930 + + pdf: Support stencil masks with jpeg/jpx/jbig2 embedding + + src/cairo-pdf-surface.c | 204 +++++++++++++++++++++++++++++++----------------- + 1 file changed, 131 insertions(+), 73 deletions(-) + +commit 07940ecd6055e29addcdb4c14e4449a06a30bf4a +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Sep 29 12:42:59 2013 +0930 + + pdf: combine source and mask images into single image + + Since PDF stores the alpha component of images in a separate stream + which can have a different resolution and encoding to the color + components we can optimize the case where the source and mask are both images. + + If the source and mask are both images with the same extents and the + source is opaque, combine the images into a single PDF image (ie the + source is written the the image stream and the mask is written to the + smask stream). + + src/cairo-pdf-surface-private.h | 2 + + src/cairo-pdf-surface.c | 466 +++++++++++++++++++++++++++++----------- + 2 files changed, 347 insertions(+), 121 deletions(-) + +commit c1ac8db7e60bcec8235b09729b34154e95790534 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 27 16:35:08 2013 +0100 + + trace: Fix operand emission + + Recent updates (in the past couple of years) to firefox have exposed + numerous bugs in the way we emit the operands. A few off-by-ones, + missing surfaces and outright bugs all of which are intermixed into + producing a corrupt stack. + + Reported-by: Siarhei Siamashka <siarhei.siamashka@gmail.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-trace/trace.c | 232 +++++++++++++++++++++++++++++++++++++---------- + 1 file changed, 182 insertions(+), 50 deletions(-) + +commit 0c2faf6621c4983e2ec2bea7c722a5cd3d89cc6d +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Sep 27 15:37:08 2013 +0200 + + fill_reduces_to_source(): Handle failure of color_to_pixel() + + The function color_to_pixel() can fail for unsupported pixman image formats, but + fill_reduces_to_source() ignored this possibility. + + Fix this by using the return value of color_to_pixel(): + + Fixes the following compiler warnings: + + cairo-image-compositor.c: In function 'fill_boxes': + cairo-image-compositor.c:349:15: warning: 'pixel' may be used uninitialized in this function [-Wmaybe-uninitialized] + cairo-image-compositor.c: In function 'fill_rectangles': + cairo-image-compositor.c:304:18: warning: 'pixel' may be used uninitialized in this function [-Wmaybe-uninitialized] + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-image-compositor.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 38a925460b35c82833dc4d508e7a0e7e84242318 +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Thu Sep 26 10:58:56 2013 -0700 + + test: Drop unnecessary math.h include + + Commit 0ac81988 refactored away fmin; nothing else from math.h is + needed. + + test/pixman-downscale.c | 1 - + 1 file changed, 1 deletion(-) + +commit 337ab1f8d9e29086bfb4001508b28835b41c6390 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 17 16:28:19 2013 +0100 + + font: Push the last reference dec into the backend->destroy() callback + + In order to close a race between locking the backend and resurrecting a + font via the cache, we need to keep the font face alive until after we + take the backend lock. Once we have that lock, we can drop our reference + and test if that was the last. Otherwise we must abort the destroy(). + + This fixes the double-free exposed by multithreaded applications trying + to create and destroy the same font concurrently. + + Reported-by: Weeble <clockworksaint@gmail.com> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=69470 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-font-face.c | 43 +++++++++++++++++++++++++++++++------------ + src/cairo-ft-font.c | 18 ++++++++---------- + src/cairo-quartz-font.c | 3 ++- + src/cairo-toy-font-face.c | 7 ++++--- + src/cairo-user-font.c | 2 +- + src/cairoint.h | 7 +++++-- + src/win32/cairo-win32-font.c | 7 ++++--- + 7 files changed, 55 insertions(+), 32 deletions(-) + +commit 0ac81988c199df1a6652dc0ea72627122bf95c6c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 17 08:32:29 2013 +0100 + + test/pixman-downscale: Open-code fmin() + + fmin() requires a bump to either _XOPEN_SOURCE_ >= 600 (POSIX 2004) or + c99 - which is a needless dependency for a single simple routine. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/pixman-downscale.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 9c75065ecefe18557c9d56e1c973215f01f3cd40 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Sep 16 12:45:21 2013 +0200 + + xcb: Remove useless error handling + + All the *_reply() functions in XCB return a pointer to their result and as last + argument they get a xcb_generic_error_t** where pointers to errors are stored, + if any occurs. + + However, a request can either fail or succeed. This means that if the returned + result is a NULL pointer, then an error occurred and the other way around: If + the error pointer is set to non-NULL, then the function must have returned NULL. + + Thus, all the code, which just checks if an error occurred and which does not + care about the exact error code, does not need to get the error pointer at all. + In this case, xcb will free() the error internally. + + While doing this, I noticed that _cairo_xcb_connection_get_image() always + succeeds and thus its return value can be replaced with the GetImage result. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-connection-core.c | 32 ++++++++++---------------------- + src/cairo-xcb-connection-shm.c | 6 ++---- + src/cairo-xcb-private.h | 5 ++--- + src/cairo-xcb-surface.c | 23 ++++++++--------------- + 4 files changed, 22 insertions(+), 44 deletions(-) + +commit 440624cdf2bd55ac1620e697cc481a8fbbb1c657 +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Sep 15 15:00:02 2013 +0200 + + test/multi-page: Fix use-after-free + + Commit f9dcd07d22a5269 changed the way the file name is allocated and introduced + a use-after-free in doing so. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/multi-page.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 1d00550784d052e9b72b3c91d5769f771033037c +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Sep 15 14:50:20 2013 +0200 + + image: Handle PIXMAN_a8r8g8b8_sRGB in switch + + Fixes the following compiler warning: + + cairo-image-surface.c: In function '_cairo_format_from_pixman_format': + cairo-image-surface.c:93: warning: enumeration value 'PIXMAN_a8r8g8b8_sRGB' not + handled in switch + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=58726 + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-image-surface.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 966bf2fe6a8c29f4d10b20f982a4ab198a441c78 +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Sep 15 16:58:05 2013 +0200 + + check-doc-syntax: Don't hardcode path to awk + + Instead of expecting awk in /usr/bin, this commit changes the code to call awk + through a shell so that $PATH is searched. + + Since this awk script shouldn't really be called manually, this is done by + removing the shebang from the awk script, marking it non-executable and fixing + up the caller. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=67674 + Reviewed-by: Bryce Harrington <b.harrington@samsung.com> + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/check-doc-syntax.awk | 2 -- + src/check-doc-syntax.sh | 2 +- + 2 files changed, 1 insertion(+), 3 deletions(-) + +commit a8a805b8d9bbbfed9986ecc71e76859a5353730f +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Sep 13 22:18:08 2013 +0200 + + cairo-gobject: Require at least glib 2.14 + + cairo-gobject uses g_once_init_enter() and g_once_init_leave(). These functions + were added in glib 2.14 and thus cairo needs at least this version for its + gobject helper functions. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=69239 + Signed-off-by: Uli Schlachter <psychon@znc.in> + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 412a4c34d9207c339fd16a99756ea96082dc993f +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Sep 15 21:27:50 2013 +0930 + + test: update mime-data to test jbig2 mime types + + test/global.jb2 | Bin 0 -> 151 bytes + test/image1.jb2 | Bin 0 -> 143 bytes + test/image2.jb2 | Bin 0 -> 92 bytes + test/mime-data.c | 97 ++++++++++++++++++++++++++- + test/reference/mime-data.base.argb32.ref.png | Bin 185 -> 243 bytes + test/reference/mime-data.base.rgb24.ref.png | Bin 185 -> 243 bytes + test/reference/mime-data.pdf.ref.png | Bin 6482 -> 7563 bytes + test/reference/mime-data.ps.ref.png | Bin 4554 -> 4705 bytes + test/reference/mime-data.ref.png | Bin 185 -> 243 bytes + test/reference/mime-data.script.ref.png | Bin 2041 -> 2130 bytes + test/reference/mime-data.svg.ref.png | Bin 6264 -> 6437 bytes + 11 files changed, 96 insertions(+), 1 deletion(-) + +commit 5c0caa6f82374ec38a33d5f25a725f60bc121887 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Sep 14 20:59:56 2013 +0930 + + pdf: support JBIG2 mime data + + JBIG2 images may have shared global data that is stored in a separate + stream in PDF. The CAIRO_MIME_TYPE_JBIG2 mime type is for the JBIG2 + data for each image. All images that use global data must also set + CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID to a unique identifier. One of the + images must also set CAIRO_MIME_TYPE_JBIG2_GLOBAL to the global + data. The global data will be shared by all JBIG2 images with the same + CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID. + + src/cairo-device.c | 1 + + src/cairo-error-private.h | 1 + + src/cairo-image-info-private.h | 5 ++ + src/cairo-image-info.c | 135 +++++++++++++++++++++++++++++ + src/cairo-misc.c | 2 + + src/cairo-pdf-surface-private.h | 8 ++ + src/cairo-pdf-surface.c | 182 ++++++++++++++++++++++++++++++++++++++++ + src/cairo-region.c | 1 + + src/cairo-spans.c | 2 + + src/cairo-surface.c | 4 +- + src/cairo.c | 4 +- + src/cairo.h | 6 ++ + 12 files changed, 349 insertions(+), 2 deletions(-) + +commit 2d6705671a900251f00c6b59375bd4d23ec6b4d0 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Sep 13 22:14:49 2013 +0930 + + ps: fix embedding of mime data + + src/cairo-ps-surface.c | 16 ++++++++++------ + 1 file changed, 10 insertions(+), 6 deletions(-) + +commit 266d6e71566ac8c5e360c0b32fb78e23e6a06168 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Sep 13 21:32:42 2013 +0930 + + pdf: fix embedding of mime data that has been broken since 0a10982f + + For some reason the mime-data test is not detecting this failure. + + src/cairo-pdf-surface.c | 23 ++++++++++++----------- + 1 file changed, 12 insertions(+), 11 deletions(-) + +commit 5390c2bbca3f1331f4fc831ba1381cc64e0162c6 +Author: Bryce W. Harrington <b.harrington@samsung.com> +Date: Thu Sep 12 22:55:02 2013 +0000 + + test: Document use of -k and CAIRO_TEST_TARGET to run test subsets + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/README | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 640eb0206738e1d1bfd9beebaf0dcb6ac0e07584 +Author: Bryce W. Harrington <b.harrington@samsung.com> +Date: Thu Sep 12 22:55:02 2013 +0000 + + test: Space out keywords for clarity + + As another nitpick, a comma alone is legal for separating keywords, but + most tests use a comma and a space. Update the few tests that don't, + to make this consistent. + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/image-bug-710072.c | 4 ++-- + test/mesh-pattern-accuracy.c | 2 +- + test/mesh-pattern-conical.c | 2 +- + test/mesh-pattern-control-points.c | 2 +- + test/mesh-pattern-fold.c | 2 +- + test/mesh-pattern-overlap.c | 2 +- + test/mesh-pattern-transformed.c | 2 +- + test/mesh-pattern.c | 2 +- + test/record1414x.c | 4 ++-- + 9 files changed, 11 insertions(+), 11 deletions(-) + +commit a6ace0cf6b96930c08397c64bffabc4b201ab4e8 +Author: Bryce W. Harrington <b.harrington@samsung.com> +Date: Thu Sep 12 22:55:02 2013 +0000 + + test: Comma separate keywords + + The parser accepts spaces as separtors between keywords, so this is nit + picky. But only a minority of tests don't follow the comma convention, + so change them to be consistent. + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/a1-bug.c | 2 +- + test/arc-direction.c | 2 +- + test/caps-joins-curve.c | 2 +- + test/caps-tails-curve.c | 2 +- + test/caps.c | 8 ++++---- + test/clip-empty-group.c | 2 +- + test/drunkard-tails.c | 2 +- + test/joins.c | 2 +- + test/partial-coverage.c | 22 +++++++++++----------- + test/rectilinear-dash-scale.c | 4 ++-- + test/rectilinear-dash.c | 2 +- + test/scale-offset-image.c | 2 +- + test/scale-offset-similar.c | 2 +- + test/unclosed-strokes.c | 2 +- + 14 files changed, 28 insertions(+), 28 deletions(-) + +commit aacc5e76ed39b69595194a23e94bbd6483dd88a6 +Author: Bryce W. Harrington <b.harrington@samsung.com> +Date: Thu Sep 12 22:55:01 2013 +0000 + + gitignore: Ignore build chaff when configuring with --enable-gtk-doc + + When this flag is enabled in configure, a couple extra build files are + created, which git should just ignore. + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + Signed-off-by: Uli Schlachter <psychon@znc.in> + + .gitignore | 2 ++ + 1 file changed, 2 insertions(+) + +commit ac5f3e2b8ef1937b3e6e3a3f03773cf471e46cc3 +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Wed Sep 11 09:59:01 2013 -0700 + + test: Move cairo_pattern_set_filter to after cairo_set_source_surface + + Also update the image.arg32 reference images, since for now we're just + accepting pixman's output as truth. This fixes up several tests: + + was is + Tests run: 420 420 + Passed: 224 261 + Failed: 195 159 + Expected Failed: 0 0 + Error: 0 0 + Crashed: 0 0 + Untested: 0 0 + Total: 420 420 + + Thanks to psychon for finding the code error in the test. + + test/pixman-downscale.c | 2 +- + test/reference/pixman-downscale-fast-95.ref.png | Bin 685 -> 299 bytes + test/reference/pixman-downscale-nearest-95.ref.png | Bin 685 -> 299 bytes + 3 files changed, 1 insertion(+), 1 deletion(-) + +commit ade7089f72e0d147db961dec88d3cb1b2280a438 +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Wed Jul 10 17:27:28 2013 -0700 + + test: Exercise image scaling quality when downscaling + + This adds testcases for the various cairo filter options, each of which + match to corresponding pixman filters. Use the 'downscale' keyword if + invoking tests using cairo-test-suite. + + The 24-pixel reference images were produced from quad-color.png using + Gimp's Scale Image command with Interpolation set to None. It is + assumed that all filters should handle a 1:4 scaling cleanly with no + antialiased blurring. + + The 95-pixel reference images assume differing types of antialiasing + based on the quality level. We are using the image.argb32 output as + reference here. Potentially some other rendering algorithm could + conceivably provide better results in the future. + + The 96-pixel reference images are simply copies of the original + quad-color.png file. It is assumed that 1:1 downscaling operations + should produce no visible change to the original image. + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + test/pixman-downscale.c | 146 +++++++++++++++++++-- + test/reference/pixman-downscale-95.ref.png | Bin 285 -> 0 bytes + ...24.ref.png => pixman-downscale-best-24.ref.png} | Bin + test/reference/pixman-downscale-best-95.ref.png | Bin 0 -> 685 bytes + ...96.ref.png => pixman-downscale-best-96.ref.png} | Bin + .../reference/pixman-downscale-bilinear-24.ref.png | Bin 0 -> 191 bytes + .../reference/pixman-downscale-bilinear-95.ref.png | Bin 0 -> 685 bytes + .../reference/pixman-downscale-bilinear-96.ref.png | Bin 0 -> 301 bytes + test/reference/pixman-downscale-fast-24.ref.png | Bin 0 -> 191 bytes + test/reference/pixman-downscale-fast-95.ref.png | Bin 0 -> 685 bytes + test/reference/pixman-downscale-fast-96.ref.png | Bin 0 -> 301 bytes + test/reference/pixman-downscale-good-24.ref.png | Bin 0 -> 191 bytes + test/reference/pixman-downscale-good-95.ref.png | Bin 0 -> 685 bytes + test/reference/pixman-downscale-good-96.ref.png | Bin 0 -> 301 bytes + test/reference/pixman-downscale-nearest-24.ref.png | Bin 0 -> 191 bytes + test/reference/pixman-downscale-nearest-95.ref.png | Bin 0 -> 685 bytes + test/reference/pixman-downscale-nearest-96.ref.png | Bin 0 -> 301 bytes + 17 files changed, 132 insertions(+), 14 deletions(-) + +commit 0f554c36d3edf341a9aef8eedfde57f3be635500 +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Wed Jul 10 16:29:56 2013 -0700 + + test: Test a variety of scales when downscaling + + Downscaling from 96 to 24 is easy since it's an even multiple, so try + scaling by -1 pixel too. + + This adds a 1:1 scaling test case as well, which should pass through the + image unchanged. + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + test/pixman-downscale.c | 21 +++++++++++++++++---- + ...wnscale.ref.png => pixman-downscale-24.ref.png} | Bin + test/reference/pixman-downscale-95.ref.png | Bin 0 -> 285 bytes + test/reference/pixman-downscale-96.ref.png | Bin 0 -> 301 bytes + 4 files changed, 17 insertions(+), 4 deletions(-) + +commit 642b6d80917feeea878a11f8aaf179b7a1e5392d +Author: Bryce Harrington <b.harrington@samsung.com> +Date: Wed Jul 10 10:19:21 2013 -0700 + + test: Add test for image downscaling + + This adds pixman-downscale.c, which tests correctness of PNG images + scaled down using pixman routines. + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + test/Makefile.sources | 1 + + test/pixman-downscale.c | 73 ++++++++++++++++++++++++++++++++ + test/quad-color.png | Bin 0 -> 301 bytes + test/reference/pixman-downscale.ref.png | Bin 0 -> 191 bytes + 4 files changed, 74 insertions(+) + +commit 7270f22af3d1ad53f033023438e915e11bf88407 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Wed Sep 11 08:52:31 2013 -0700 + + gl: Extend oversize check to cairo_gl_surface_create_for_texture + + If a texture is too large to render to via a framebuffer, then eagerly + fail with an error surface. + + src/cairo-gl-surface.c | 5 +++++ + 1 file changed, 5 insertions(+) + +commit 279d5a2ed1aaa6d5dbfbeab9e4b4ffa6a66aa6f3 +Author: Uli Schlachter <psychon@znc.in> +Date: Wed Sep 11 15:28:29 2013 +0200 + + recording: Correctly determine alpha of all surfaces + + This code has special cases for recording and image surfaces. For all other + kinds of source surfaces, has_bilevel_alpha was not modified, even though the + source surface could have an alpha channel. + + Fix this by using the same checks as in the general path at the end of this + function. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-recording-surface.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit a6f51fed985f7db37c672bab0b5dab3f89e78282 +Author: Uli Schlachter <psychon@znc.in> +Date: Wed Sep 11 15:24:53 2013 +0200 + + recording: Fix unitialized variable 'free_me' + + This variable should be NULL by default and gets set only if a new reference to + a surface was acquired through _cairo_surface_snapshot_get_target(). This works, + because cairo_surface_destroy(NULL) is well-defined and doesn't do anything. + + Fixes the following compiler warning: + + cairo-recording-surface.c:1642:24: warning: 'free_me' may be used uninitialized + in this function [-Wmaybe-uninitialized] + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-recording-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 8addb4798c918000eaa6f6dab138e0abb0efa946 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Apr 8 10:57:23 2012 +0930 + + pdf: avoid making groups a transparency group if not required + + If the group contains only a combination of clear and opaque alpha and + only OPERATOR_OVER is used in the group and to paint the group, a + transparency group is not required. This allows the pdf viewer to + replay the group in place. + + src/cairo-pdf-surface-private.h | 2 + + src/cairo-pdf-surface.c | 125 +++++++++++++++++++++++++--------- + src/cairo-recording-surface-private.h | 8 +++ + src/cairo-recording-surface.c | 113 ++++++++++++++++++++++++++++++ + 4 files changed, 215 insertions(+), 33 deletions(-) + +commit 53255625c07d8f24403f0cb1b5a4dbaac142e4da +Author: Bryce W. Harrington <b.harrington@samsung.com> +Date: Sun Sep 8 20:10:04 2013 +0000 + + svg, test: Refer to output filename by variable, not a hardcoded value + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/svg-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f9dcd07d22a5269bf799317a36bb2887d8f9af64 +Author: Bryce W. Harrington <b.harrington@samsung.com> +Date: Sun Sep 8 20:10:03 2013 +0000 + + test: Ensure output dirs exist, falling back to current dir if needed + + This change makes several tests behave more like ps-eps.c, et al by + making them attempt to mkdir "output", and in case of trouble use "." + instead. filenames are now allocated at runtime due to this change, so + ensure the corresponding free()'s are in place as well. + + This should facilitate running the test suite with a relative path + outside cairo's source tree, such as when employing the CAIRO_REF_DIR + environment variable. + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/create-for-stream.c | 14 +++++++++++--- + test/fallback-resolution.c | 20 +------------------- + test/multi-page.c | 9 ++++++--- + test/pdf-features.c | 6 +++++- + test/pdf-mime-data.c | 6 +++++- + test/pdf-surface-source.c | 6 +++++- + test/png.c | 8 +++++++- + test/ps-eps.c | 20 +------------------- + test/ps-features.c | 8 +++++--- + test/ps-surface-source.c | 6 +++++- + test/svg-clip.c | 6 +++++- + test/svg-surface-source.c | 6 +++++- + test/svg-surface.c | 6 +++++- + 13 files changed, 66 insertions(+), 55 deletions(-) + +commit be7f1ac98f62669743f381df8845886d29a9f7f4 +Author: Bryce W. Harrington <b.harrington@samsung.com> +Date: Sun Sep 8 20:10:03 2013 +0000 + + test: Make cairo_test_mkdir() usable throughout tests. + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/cairo-test.c | 10 +++++----- + test/cairo-test.h | 3 +++ + 2 files changed, 8 insertions(+), 5 deletions(-) + +commit 6731023f1bba7e26dbbc06defdbb37ac5267e9db +Author: Bryce W. Harrington <b.harrington@samsung.com> +Date: Sun Sep 8 20:10:03 2013 +0000 + + test: Fix several tests to place output files in the output directory + + The standard location for test output is cairo/test/output. The harness + itself was updated to write automatically generated images in this + directory, however a number of tests generate their own local output + files. + + This patch updates these tests to write their output into + CAIRO_TEST_OUTPUT_DIR (which defaults to cairo/test/output) as well, in + the interest of decluttering the test directory. + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/create-for-stream.c | 6 +++--- + test/multi-page.c | 5 +++-- + test/pdf-features.c | 3 ++- + test/pdf-mime-data.c | 9 +++++---- + test/pdf-surface-source.c | 4 +++- + test/png.c | 3 ++- + test/ps-features.c | 3 ++- + test/ps-surface-source.c | 4 +++- + test/svg-clip.c | 3 ++- + test/svg-surface-source.c | 4 +++- + test/svg-surface.c | 3 ++- + 11 files changed, 30 insertions(+), 17 deletions(-) + +commit f3574b8b3b3e9dbd9fca927096e5a8205e57033d +Author: Bryce W. Harrington <b.harrington@samsung.com> +Date: Sun Sep 8 20:10:03 2013 +0000 + + test: Don't ignore test output files left in test directory + + Tests should be placing output files in the output/ directory now, + although not all tests follow this standard practice. Drop the + "*.out.*" from .gitignore to make improper test behavior more evident. + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/.gitignore | 4 ---- + 1 file changed, 4 deletions(-) + +commit f52165a7bb3de56fe2a06771f554f3997e176b94 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Sep 6 08:00:46 2013 +0930 + + svg: Don't embed CMYK Jpeg images + + None of the SVG viewers I tried (rsvg, firefox, inkscape) support CMYK + Jpeg images. + + Bug 68965 + + src/cairo-svg-surface.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 8e1a1ed8631dd55b4344d5682e6c69e923e0401f +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Sep 6 07:54:28 2013 +0930 + + Downscaling requires pixman 0.30 + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 0266cb821fbf0bdd307af7bbcbbd22c4a14201fc +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 5 16:13:56 2013 +0100 + + script: Add support for replaying device-scale + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-script/cairo-script-operators.c | 48 ++++++++++++++++++++++++++++++ + 1 file changed, 48 insertions(+) + +commit a4164142f2a21fb005533d1c5b3cf668c99d1259 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 5 16:12:26 2013 +0100 + + trace: Record set-device-scale + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-trace/trace.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +commit 935c64a43409a80d9b19d491f9133004152de9bb +Author: Alexander Larsson <alexl@redhat.com> +Date: Tue Aug 27 15:10:38 2013 +0200 + + surface: Inherit device scale in cairo_surface_create_similar() + + Without this most code that uses similar surfaces for offscreen + rendering will render in a pixelized fashion if the final + target uses a device scale. + + src/cairo-surface.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit bc792a5e0e196dd9761649b14c9206465b42ef1d +Author: Alexander Larsson <alexl@redhat.com> +Date: Tue Aug 27 14:46:16 2013 +0200 + + surface: Merge scratch construction into _cairo_surface_create_scratch + + We merge _cairo_surface_create_similar_scratch and + _cairo_surface_create_similar_solid into a single function named + _cairo_surface_create_scratch, to avoid confusion with + cairo_surface_create_similar which now will have a different + behaviour wrt the sizes and the device-scale. + + _create_scratch assumes the width and height are in backend + coordinates, while create_similar does not. + + src/cairo-clip-surface.c | 20 +++++------ + src/cairo-default-context.c | 10 +++--- + src/cairo-gl-traps-compositor.c | 18 +++++----- + src/cairo-mask-compositor.c | 14 ++++---- + src/cairo-shape-mask-compositor.c | 27 +++++++------- + src/cairo-spans-compositor.c | 10 +++--- + src/cairo-surface-subsurface.c | 9 ++--- + src/cairo-surface-wrapper.c | 4 +-- + src/cairo-surface.c | 75 +++++++++++++++++---------------------- + src/cairo-traps-compositor.c | 33 +++++++++-------- + src/cairo-xcb-surface-render.c | 20 +++++------ + src/cairo-xlib-source.c | 36 ++++++++++--------- + src/cairoint.h | 16 +++------ + 13 files changed, 145 insertions(+), 147 deletions(-) + +commit bdccf4fe51bca785f73205ccd26c4d020669e312 +Author: Alexander Larsson <alexl@redhat.com> +Date: Tue Aug 27 14:33:14 2013 +0200 + + surface: Opencode create_similar + + We copy the _cairo_surface_create_similar_solid code into + cairo_surface_create_similar so that we can separate these later + as one wants to use backend sizes and one not. + + src/cairo-surface.c | 33 ++++++++++++++++++++++++++++++--- + 1 file changed, 30 insertions(+), 3 deletions(-) + +commit 5f70148467ff2767dc3c6d45f4af1223d7daa301 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Jun 3 15:20:05 2013 +0100 + + test: Allow CAIRO_TEST_MODE to independently enable extended testing + + Such as CAIRO_TEST_MODE=scale for testing application of + cairo_surface_set_device_offset. + + CAIRO_TEST_MODE=similar - test rendering through similar surfaces + CAIRO_TEST_MODE=offset - test rendering with a device offset + CAIRO_TEST_MODE=scale - test rendering with a device scale + + test/cairo-test-runner.c | 22 ++++++++++++++++++---- + 1 file changed, 18 insertions(+), 4 deletions(-) + +commit 690c61aa54c27e4d35b04d0173abd5931fce507d +Author: Alexander Larsson <alexl@redhat.com> +Date: Mon Jun 3 15:38:22 2013 +0200 + + tests: Add device scale test to "full" testrun similar to offsets + + test/cairo-test-private.h | 2 +- + test/cairo-test-runner.c | 66 ++++++++++++++++++++++++++--------------------- + test/cairo-test.c | 66 ++++++++++++++++++++++++++++------------------- + 3 files changed, 77 insertions(+), 57 deletions(-) + +commit 7ab34f302be72d9dda54d936b6d69bc7c534c885 +Author: Alexander Larsson <alexl@redhat.com> +Date: Thu May 30 19:45:59 2013 +0200 + + surface: expose the device scale + + This adds the new public functions + cairo_surface_set_device_scale and cairo_surface_get_device_scale and + updates old users of the internal functions. + + src/cairo-default-context.c | 6 ++--- + src/cairo-paginated-surface.c | 2 +- + src/cairo-surface-subsurface.c | 12 +++++----- + src/cairo-surface.c | 52 +++++++++++++++++++++++++++++++----------- + src/cairo.h | 10 ++++++++ + src/cairoint.h | 7 ++---- + 6 files changed, 61 insertions(+), 28 deletions(-) + +commit 38217d67fc2226778dde8d05817cb916691d4d22 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Jun 3 20:32:45 2013 +0100 + + spans,traps: Undo device transform from source matrix for recording replays + + As the replay of the recording surface applies the device_transform of + the matrix once again to all its operations, we end up with a repeated + transform through the source matrix of the recording surface. We need to + remove one of these, and the easiest way to do that appears to be to + undo the application to the source matrix. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-spans-compositor.c | 13 +++++++++++-- + src/cairo-traps-compositor.c | 15 ++++++++++++--- + 2 files changed, 23 insertions(+), 5 deletions(-) + +commit f0e2cd4494b1ac9a351d095fbeb53d702342d35c +Author: Alexander Larsson <alexl@redhat.com> +Date: Fri May 31 16:44:29 2013 +0200 + + gstate: Handle device scale on surface as source + + When creating a transformed pattern we must apply the device + transform *before* the transform set on the pattern itself, otherwise + e.g. its translation will not be affected by the device scale. + + We also fix up the device_transform related handling in + _cairo_default_context_pop_group(). With a device scale we can + no longer just use the device_transform_inverse to unset the + device offset for the extents, so we make that a simple translate + instead. + + We also remove some weird code that tries to handle the device + transform but seems unnecessary (maybe a workaround for applying + the device transform in the wrong order?). With that code removed + things work fine, but with it things get translated wrongly when + there is a scale. + + src/cairo-default-context.c | 23 ++++++++--------------- + src/cairo-gstate.c | 2 +- + src/cairo-pattern-private.h | 4 ++++ + src/cairo-pattern.c | 10 ++++++++++ + 4 files changed, 23 insertions(+), 16 deletions(-) + +commit 900fc4a890026e46a3b0a00967632f57074b8b93 +Author: Alexander Larsson <alexl@redhat.com> +Date: Thu May 30 20:53:29 2013 +0200 + + gstate: Move device-scale font scaling to gstate + + If we do this in surface it will be applied twice then + we chain to a different surface, like e.g. a subsurface. + + We also remove a hack in cairo-surface-wrapper where it compensated + for the device scale not being applied. + + v2: Compute the backend CTM in ensure_scaled_font(). + + src/cairo-gstate.c | 8 +++++++- + src/cairo-surface-wrapper.c | 5 ++--- + src/cairo-surface.c | 31 ++++--------------------------- + 3 files changed, 13 insertions(+), 31 deletions(-) + +commit 25eaec0a3874a2090e1bb97547a328eb5c00b0b1 +Author: Alexander Larsson <alexl@redhat.com> +Date: Thu May 30 20:53:15 2013 +0200 + + subsurface: Handle device scales + + src/cairo-surface-subsurface.c | 21 ++++++++++++++++++--- + 1 file changed, 18 insertions(+), 3 deletions(-) + +commit 633d573889ad685c8f07e9ee72f6a1d240dfacf2 +Author: Alexander Larsson <alexl@redhat.com> +Date: Thu May 30 19:48:33 2013 +0200 + + default-context: Inherit device scale in push_group surface + + Without this we will only render to part of the newly created + surface and then copy+scale that part back, which causes fuzziness. + + src/cairo-default-context.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit db7e551a6bf06a0aa7e2e6b3744b7663807d003f +Author: Alexander Larsson <alexl@redhat.com> +Date: Thu May 30 19:47:19 2013 +0200 + + gstate: Respect device transform in stroke + + We need to apply the device transform to the ctm when stroking, as + otherwise line widths are not affected by the device scale. + + src/cairo-gstate.c | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +commit fb57ea13e04d82866cbc8e86c83261148bb3e231 +Author: Krzysztof Kosiński <tweenk.pl@gmail.com> +Date: Thu Sep 5 16:02:14 2013 +0100 + + image: Use convolution filters for sample reconstruction when downscaling + + I had a look at how complex would it be to add correct downscaling to + Cairo now that Pixman supports convolution filters. It turns out it + this is rather easy. Here is an initial, minimal attempt. It uses + convolution filters only if the image is being downscaled by more than + half a pixel in at least one dimension. + + Some discussion: + + 1. The sampling and reconstruction kernels are picked in a way that + gives comparable quality when upscaling and downscaling. I paired box + sampling with bilinear reconstruction and impulse (point) sampling + with box reconstruction. This gives the expected result for NEAREST + filter. BEST filter uses Lanczos3 for both kernels. + + > Do we need to use a reconstruction filter for NEAREST at all? Or maybe + > differentiate between NEAREST and FAST in that case? + + If impulse (point) sampling is used, there must be some reconstruction + filter, otherwise no image is produced. That's because the sampling + grid does not match the data grid, and since there is no + reconstruction filter, values between data points are undefined. The + alternative is to use box sampling + no reconstruction. + + 2. Subsampling bits are always set to 1, since this doesn't seem to + affect quality at all. + + 3. I am not sure whether this code works correctly for matrices with a + skew component. It should be OK for any combination of scale, rotation + and translation. + + 4. This patch causes new failures in the test suite: + - recording-surface*: possibly an effect of improved quality. + - surface-pattern-scale-down*, surface-pattern-big-scale-down: the + reference images should be updated. + - pthread-same-source: I have no idea why this is failing, since this + test shouldn't even trigger the new code. + - large-source-roi: this test attempts to downscale an image which is + 30000 pixels wide down to 7 pixels. The filter parameters seem to be + created correctly, but they might trigger an overflow somewhere in the + convolution code; the output rectangle is white instead of red, as if + nothing was drawn. + - device-offset-scale: there are subtle differences which look like + convolution-related smoothing; I'm not sure whether this is OK or not. + + src/cairo-image-source.c | 65 ++++++++++++++++++++++++++++++++++++++++-------- + 1 file changed, 55 insertions(+), 10 deletions(-) + +commit 28ad0f9f3bec65e462e29a1d0b1757a86d16c129 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 5 15:56:55 2013 +0100 + + Bump version for new development tree, 1.13.1 + + cairo-version.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 59e2a93b3c8a7b83d537bb2a4bbdd5f0f36a0cbc +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 26 18:46:19 2013 +0100 + + Post-release version bump + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 8e11a42e3e9b679dce97ac45cd8b47322536a253 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 26 15:30:20 2013 +0100 + + 1.12.16 release + + NEWS | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ + cairo-version.h | 2 +- + 2 files changed, 56 insertions(+), 1 deletion(-) + +commit b710a4730940e54ac7ffd5073eecf950997a0484 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 26 17:18:38 2013 +0100 + + Make "make check" happy + + A recursive include should hide the bare header from + check-preprocessor-syntax.sh + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-pixman-private.h | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit fb8881e84bb24b2a54ee5aa449b6f5638de36404 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 23 12:48:08 2013 +0100 + + win32: Prevent double-free of similar images + + Based on a patch and analysis by Michael Henning. + + When we create a similar-image surface for win32, we set up a couple of + back references from the image to the win32 surface, and vice versa. We + need to be careful when decoupling the reference cycle to avoid chasing + around the loop upon destruction. Currently we handled destroying the + similar-image via the parent win32 surface, but similar precaution is + required when destroying the surface via the similar-image. + + Reported-by: Michael Henning <drawoc@darkrefraction.com> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=63787 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-surface.c | 3 ++- + src/win32/cairo-win32-display-surface.c | 3 ++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +commit 054f34111d220541bc785b30207387541fdd31d2 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Aug 15 14:28:44 2013 +0000 + + Provide backwards compatibilty with old pixman + + The goal is to allow compilation against older pixman to ease regression + testing. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + configure.ac | 2 +- + src/Makefile.sources | 1 + + src/cairo-ft-font.c | 6 +++-- + src/cairo-image-compositor.c | 44 +++++++++++++++++++++++-------------- + src/cairo-image-surface.c | 5 +++++ + src/cairo-pixman-private.h | 45 ++++++++++++++++++++++++++++++++++++++ + src/cairo-xlib-render-compositor.c | 1 + + src/cairo-xlib-surface.c | 1 + + 8 files changed, 86 insertions(+), 19 deletions(-) + +commit 95f320e3f26b2a1552a53ebad14dd5086ccf0c60 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Mon Jul 29 11:14:34 2013 -0700 + + gl: Return surface in error when creating oversized texture surfaces + + When creating a texture surface that is larger than the maximum + framebuffer or texture dimensions of the context, return a surface in + error. Previously the code failed an assertion, but this prevents an + application from easily detecting when to fall back. + + Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-surface.c | 33 +++++++++++------ + test/Makefile.sources | 1 + + test/gl-oversized-surface.c | 88 +++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 111 insertions(+), 11 deletions(-) + +commit b5e1373c5845c859ebf82ef4d5e065f6cdd68faf +Author: Henry Song <henry.song@samsung.com> +Date: Mon Aug 19 12:14:46 2013 -0700 + + gl/msaa: Clean up msaa depth/stencil buffer for OpenGLES + + OpenGLES also uses the depth/stencil buffer when doing multisampling, so + it's a leak to only clean up the buffer for desktop OpenGL. + + src/cairo-gl-surface.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 54a51968e82ec4e6a8d81d5451232641275439df +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Aug 12 16:33:19 2013 +0200 + + surface_get_extents: Reject finished or error surface + + This fixes a crash in the api-special-cases with xlib-xcb when calling + cairo_clip_extents() on a context that refers to a finished surface. + + The crash was a simple NULL pointer dereference, because the underlying xcb + surface that was used in xlib-xcb was gone and set to NULL already. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-surface.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +commit 3c4e0f0f1a338fbbd802cdb3b65b8ea3abc758d1 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Aug 12 15:59:18 2013 +0200 + + push_group: Refuse working with unusable surface + + Make cairo_push_group() fail when the context's target surface is finished. + + This fixes the api-special-cases for the xcb backend: + + Detected error during xcb run: error=9, seqno=0x13c, major=53, minor=0 + + The problem was that the Pixmap for the cairo surface was already freed and + cairo still tried to use it again as the drawable in a CreatePixmap request. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-default-context.c | 5 +++++ + 1 file changed, 5 insertions(+) + +commit 18633b081026eb88931af6130b3e716fdb954e19 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Aug 12 15:40:00 2013 +0200 + + surface: Error out on finished surfaces + + Finished surfaces and surfaces with an error status must not be usable anymore, + so refuse to work on them. + + This improves the result for api-special-cases. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68014 + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-surface.c | 19 +++++++++++++++++++ + 1 file changed, 19 insertions(+) + +commit b64c83e891f2417a1b28034a55659260a1769ba7 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Aug 12 14:30:59 2013 +0200 + + api-special-cases: Also test contexts + + This adds code to the api-special-cases test which also tests the behavior of + cairo when the cairo context or the surface that is target is in an error state + or finished. These new tests call into all public entry points defined in + cairo.h which receive a cairo_t * as their first argument. + + Currently this causes a new crash in the testsuite: + + cairo-surface.c:394: + _cairo_surface_begin_modification: Assertion `! surface->finished' failed. + + Reported-by: christophe.troestler@umons.ac.be + References: https://bugs.freedesktop.org/show_bug.cgi?id=68014 + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/api-special-cases.c | 1174 +++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 1153 insertions(+), 21 deletions(-) + +commit e438071e9debeca81f97c6fcdc1c2a91a969761d +Author: Bryce W. Harrington <b.harrington@samsung.com> +Date: Tue Jul 9 21:22:59 2013 +0000 + + perf: Move macro-benchmark documentation to cairo-traces + + The macro benchmarks were moved to a separate repository some time ago, + but the perf README still refers to these tests as if they were still + present, which may lead to some confusion. Instead, consolodate the + macro benchmark documentation with the macro benchmarks, and focus this + README on just the (still in tree) micro-benchmarks. + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + Signed-off-by: Uli Schlachter <psychon@znc.in> + + perf/README | 89 ++++++++++++++----------------------------------------------- + 1 file changed, 20 insertions(+), 69 deletions(-) + +commit 4e133af60c1af42307724eb6a88b23056741d7e2 +Author: Bryce W. Harrington <b.harrington@samsung.com> +Date: Tue Jul 9 21:23:52 2013 +0000 + + HACKING: Make mention of the separate cairo-traces repo + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + Signed-off-by: Uli Schlachter <psychon@znc.in> + + HACKING | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +commit 46d9db96d460fea72f0420102e8a90c6a7231f79 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Aug 4 20:08:46 2013 -0400 + + [ft] Ensure alignment of bitmaps received from FreeType + + src/cairo-ft-font.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +commit 34a747e7bdeba1cfe17318f80fbe6720d47bc023 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Aug 4 19:59:06 2013 -0400 + + [ft] Fix alignment + + src/cairo-ft-font.c | 9 +++------ + 1 file changed, 3 insertions(+), 6 deletions(-) + +commit 3cd6c5966aca1d202744fe44083800bc2a4a831d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Jul 29 22:47:26 2013 -0400 + + Revert accidentally committed stuff + + build/configure.ac.pthread | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 0554d76402321b25cc952180e4d19436a9038d1a +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Jul 29 22:41:46 2013 -0400 + + [ft] Add missing include + + build/configure.ac.pthread | 6 +++--- + src/cairo-ft-font.c | 1 + + 2 files changed, 4 insertions(+), 3 deletions(-) + +commit 7d26341072b13a78d4b3fe58779057ac020be487 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Jul 29 19:20:33 2013 -0400 + + [ft] Fix math + + src/cairo-ft-font.c | 9 ++------- + 1 file changed, 2 insertions(+), 7 deletions(-) + +commit 9444ef09ccde2735258cc1bd2f1912119a32dd88 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Jul 29 19:09:29 2013 -0400 + + Support 2bit and 4bit embedded bitmaps + + src/cairo-ft-font.c | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 51 insertions(+), 1 deletion(-) + +commit 274863be08f6c8df6d411df9db725d34f7fbabea +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Jul 28 09:30:05 2013 +0930 + + type1-subset: Don't try to rename non winansi glyphs + + When the latin subset contains glyphs that use the seac operator to + combine two glyphs, additional non winansi glyphs are added to the + subset. These extra glyphs do not have a winansi name so they can't + be renamed. + + Based on a patch by Salvador Ortiz. + + Bug 67324 + + src/cairo-type1-subset.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +commit 03c81d414d4edb710c91f96ddb7dbf73e5432583 +Author: Henry Song <henry.song@samsung.com> +Date: Mon Jul 8 11:36:25 2013 -0700 + + gl/msaa: Always use scissor when clipping + + Even when using the stencil buffer for clipping, always scissor the clip + extents. This simplifies the code a bit. + + src/cairo-gl-composite.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit 8c710ed87244321dc18447936d629decc25d3d09 +Author: Henry Song <henry.song@samsung.com> +Date: Sun Jul 7 11:00:28 2013 -0700 + + gl/msaa: Disable stencil and scissor during framebuffer blit + + When blitting the framebuffer during transitions to and from + multi-sampling mode, we need to disable the stencil and scissor test so + that the entire surface is preserved. This fixes the bitmap-font test + for the MSAA compositor. + + src/cairo-gl-device.c | 28 ++++++++++++++++++++++++++++ + 1 file changed, 28 insertions(+) + +commit be2c09a1f59ad677a2b4718d26687873093b466c +Author: Henry Song <henry.song@samsung.com> +Date: Wed Jul 3 12:22:55 2013 -0700 + + gl/msaa: Properly destroy stencil buffer clip cache + + When replacing the stencil buffer clip cache or destroying a surface, + destroy the cached clip. This prevents the clip from leaking. + + src/cairo-gl-composite.c | 5 ++++- + src/cairo-gl-surface.c | 2 ++ + 2 files changed, 6 insertions(+), 1 deletion(-) + +commit 2cc353c3dbe01b4d8f65d6de800f2b1d6004a1c2 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Nov 7 14:34:42 2012 -0800 + + Towards support loading color glyphs from FreeType + + See comments. + + src/cairo-ft-font.c | 41 ++++++++++++++++++++++++++++++++++++++--- + 1 file changed, 38 insertions(+), 3 deletions(-) + +commit e738079302a968b7b1fb9101cd4d92a8887bedce +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Jul 5 15:22:18 2013 -0600 + + [ft] Fix wrong assumptions + + If subpixel rendering is enabled, but FT returns a 8bit gray bitmap + (perhaps because the font has 8bit embedded bitmaps) we were hitting + the assertions because the assumptions made were wrong. Fix up. + + src/cairo-ft-font.c | 10 +++------- + 1 file changed, 3 insertions(+), 7 deletions(-) + +commit a0f556f37fb7016aa304b7cf0e811c0d38f0b969 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Jul 5 15:12:14 2013 -0600 + + [ft] Fix memory bug in copying bitmaps + + src/cairo-ft-font.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +commit 9f9796920f5994090a19de357defe5e72ac61297 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Jun 21 20:38:43 2013 +0200 + + xcb: Fix some uninitialized variable warnings + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 2170bdbb12f38e372ea2ce1c6492c60cb35f22e4 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Jun 21 20:36:09 2013 +0200 + + image compositor: Always finish the span renderer + + In some obscure conditions that I don't really understand, the image compositor + did not finish a span renderer that it created. This could then cause the last + row of the span to be ignored. + + Fixes: clip-complex-bug61492 + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=61592 + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-image-compositor.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +commit 9058e9ae283ae39a6a4f78dc3dbf8ab46b2ef291 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Jun 21 20:34:27 2013 +0200 + + Add new test for bug 61592 + + This test exercises some clipping-related failure that Seongwon Cho reported. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=61592 + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/Makefile.sources | 3 +- + test/clip-complex-bug61592.c | 60 +++++++++++++++++++++++++++ + test/reference/clip-complex-bug61492.ref.png | Bin 0 -> 105 bytes + 3 files changed, 62 insertions(+), 1 deletion(-) + +commit 54bee5e0fc1fd1fa85b9f389a73502a7145e0846 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Jun 21 15:18:58 2013 +0200 + + Fix caps-tails-curve reference images + + Commit d7f5a1bec fixed a bug. This caused 12 new test failures for the + test-traps test target: + + caps-tails-curve degenerate-arc degenerate-path joins subsurface + subsurface-scale twin twin-antialias-gray twin-antialias-mixed + twin-antialias-none twin-antialias-subpixel user-font + + Most of these are indeed (new?) bugs. However, caps-tails-curve actually started + producing the expected result and the reference image just wrongly captures the + old state of things. + + At the time of that commit, just taking the output from test-traps as the new + reference image works fine for all backends. However, with current git, + something introduced more antialiasing noise and now test-traps changed again + while cairo-xcb stayed with the old result. Thus, we also need a new reference + image to fix this test. + + (The wrong reference images come from commit 8488ae02 which turned test-traps' + results into reference images) + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + .../reference/caps-tails-curve.traps.argb32.ref.png | Bin 50617 -> 49798 bytes + test/reference/caps-tails-curve.traps.rgb24.ref.png | Bin 50617 -> 49798 bytes + test/reference/caps-tails-curve.xcb.ref.png | Bin 0 -> 50367 bytes + 3 files changed, 0 insertions(+), 0 deletions(-) + +commit 8b55703d760a0032772d7f9b1d17438b2db3f1b4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jul 4 10:04:30 2013 +0100 + + test: Amend check-refs.sh to support out-of-tree builds + + test/Makefile.am | 4 ++-- + test/check-refs.sh | 19 ++++--------------- + 2 files changed, 6 insertions(+), 17 deletions(-) + +commit 8b4151a5e59cd2036e32c0eeb13afe420a434e19 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jul 4 10:02:46 2013 +0100 + + test: Remove conflicting .ref.png, .argb32.ref.png, .rgb24.ref.png + + Where a content specific reference image exists, prefer to have both + content reference images (i.e. both argb32.ref and rgb24.ref) rather + than a mix of .ref and argb32/rgb24. + + test/reference/a8-clear.ref.png | Bin 272 -> 0 bytes + test/reference/aliasing.ref.png | Bin 76314 -> 0 bytes + ...ha-similar.ref.png => alpha-similar.argb32.ref.png} | Bin + test/reference/arc-direction.ref.png | Bin 4124 -> 0 bytes + test/reference/big-line.ref.png | Bin 897 -> 0 bytes + ...{bitmap-font.ref.png => bitmap-font.argb32.ref.png} | Bin + test/reference/bug-40410.ref.png | Bin 428 -> 0 bytes + test/reference/bug-bo-ricotz.ref.png | Bin 2108 -> 0 bytes + test/reference/bug-extents.ref.png | Bin 6364 -> 0 bytes + test/reference/caps-joins.ref.png | Bin 2621 -> 0 bytes + test/reference/caps-sub-paths.ref.png | Bin 176 -> 0 bytes + test/reference/caps.ref.png | Bin 1687 -> 0 bytes + test/reference/clear-source.ref.png | Bin 779 -> 0 bytes + test/reference/clip-disjoint-hatching.ref.png | Bin 4390 -> 0 bytes + ...png => clip-fill-rule-pixel-aligned.argb32.ref.png} | Bin + test/reference/clip-fill.ref.png | Bin 836 -> 0 bytes + test/reference/clip-group-shapes-circles.ref.png | Bin 1178 -> 0 bytes + test/reference/clip-image.ref.png | Bin 2679 -> 0 bytes + test/reference/clip-intersect.ref.png | Bin 201 -> 0 bytes + test/reference/clip-mixed-antialias.ref.png | Bin 981 -> 0 bytes + test/reference/clip-polygons.ref.png | Bin 1355 -> 0 bytes + test/reference/clip-push-group.ref.png | Bin 166 -> 0 bytes + test/reference/clip-shape.ref.png | Bin 2249 -> 0 bytes + test/reference/clip-text.ref.png | Bin 796 -> 0 bytes + ...unbounded.ref.png => clip-unbounded.argb32.ref.png} | Bin + test/reference/clipped-group.ref.png | Bin 289 -> 0 bytes + test/reference/close-path.ref.png | Bin 271 -> 0 bytes + test/reference/copy-path.ref.png | Bin 513 -> 0 bytes + test/reference/create-from-png.ref.png | Bin 131 -> 0 bytes + test/reference/culled-glyphs.ref.png | Bin 434 -> 0 bytes + test/reference/dash-infinite-loop.ref.png | Bin 626 -> 0 bytes + test/reference/dash-offset-negative.ref.png | Bin 171 -> 0 bytes + test/reference/dash-state.ref.png | Bin 7642 -> 0 bytes + test/reference/dash-zero-length.ref.png | Bin 232 -> 0 bytes + test/reference/degenerate-linear-gradient.ref.png | Bin 322 -> 0 bytes + test/reference/degenerate-pen.ref.png | Bin 752 -> 0 bytes + ...e.ref.png => device-offset-positive.argb32.ref.png} | Bin + ...ice-offset.ref.png => device-offset.argb32.ref.png} | Bin + test/reference/extend-pad-border.ref.png | Bin 616 -> 0 bytes + test/reference/fill-alpha-pattern.ref.png | Bin 2962 -> 0 bytes + test/reference/fill-alpha.ref.png | Bin 2167 -> 0 bytes + test/reference/fill-and-stroke-alpha-add.ref.png | Bin 536 -> 0 bytes + test/reference/fill-and-stroke-alpha.ref.png | Bin 462 -> 0 bytes + test/reference/fill-image.ref.png | Bin 972 -> 0 bytes + test/reference/fill-missed-stop.ref.png | Bin 455 -> 0 bytes + test/reference/fill-rule.ref.png | Bin 1769 -> 0 bytes + test/reference/filter-bilinear-extents.ref.png | Bin 1340 -> 0 bytes + test/reference/font-matrix-translation.ref.png | Bin 874 -> 0 bytes + test/reference/ft-show-glyphs-positioning.ref.png | Bin 3297 -> 0 bytes + test/reference/ft-show-glyphs-table.ref.png | Bin 9893 -> 0 bytes + test/reference/ft-text-vertical-layout-type1.ref.png | Bin 3591 -> 0 bytes + test/reference/glyph-cache-pressure.ref.png | Bin 2863 -> 0 bytes + test/reference/gradient-alpha.ref.png | Bin 147 -> 0 bytes + test/reference/gradient-constant-alpha.ref.png | Bin 117 -> 0 bytes + ...tops.ref.png => gradient-zero-stops.argb32.ref.png} | Bin + test/reference/group-unaligned.ref.png | Bin 325 -> 0 bytes + test/reference/halo-transform.ref.png | Bin 11313 -> 0 bytes + test/reference/horizontal-clip.ref.png | Bin 129 -> 0 bytes + test/reference/huge-linear.ref.png | Bin 1619 -> 0 bytes + test/reference/infinite-join.ref.png | Bin 142 -> 0 bytes + test/reference/joins-loop.ref.png | Bin 3112 -> 0 bytes + test/reference/joins-star.ref.png | Bin 4028 -> 0 bytes + test/reference/large-twin-antialias-mixed.ref.png | Bin 10740 -> 0 bytes + test/reference/leaky-dashed-stroke.ref.png | Bin 5627 -> 0 bytes + test/reference/leaky-polygon.ref.png | Bin 281 -> 0 bytes + .../reference/line-width-large-overlap-rotated.ref.png | Bin 406 -> 0 bytes + test/reference/line-width-overlap-rotated.ref.png | Bin 719 -> 0 bytes + test/reference/line-width-scale.ref.png | Bin 3568 -> 0 bytes + test/reference/line-width-tolerance.ref.png | Bin 192 -> 0 bytes + test/reference/line-width.ref.png | Bin 201 -> 0 bytes + test/reference/linear-gradient-reflect.ref.png | Bin 216 -> 0 bytes + test/reference/linear-gradient-subset.ref.png | Bin 802 -> 0 bytes + test/reference/linear-gradient.ref.png | Bin 961 -> 0 bytes + test/reference/long-dashed-lines.ref.png | Bin 1453 -> 0 bytes + .../{mask-ctm.ref.png => mask-ctm.argb32.ref.png} | Bin + ...ace-ctm.ref.png => mask-surface-ctm.argb32.ref.png} | Bin + test/reference/mask-transformed-image.ref.png | Bin 4516 -> 0 bytes + test/reference/mask-transformed-similar.ref.png | Bin 4516 -> 0 bytes + test/reference/miter-precision.ref.png | Bin 878 -> 0 bytes + ...{nil-surface.ref.png => nil-surface.argb32.ref.png} | Bin + ...tor-alpha.ref.png => operator-alpha.argb32.ref.png} | Bin + .../{operator.ref.png => operator.argb32.ref.png} | Bin + test/reference/over-above-source.ref.png | Bin 511 -> 0 bytes + test/reference/over-around-source.ref.png | Bin 578 -> 0 bytes + test/reference/over-below-source.ref.png | Bin 413 -> 0 bytes + test/reference/over-between-source.ref.png | Bin 561 -> 0 bytes + test/reference/paint-with-alpha-clip-mask.ref.png | Bin 348 -> 0 bytes + test/reference/partial-clip-text-bottom.ref.png | Bin 259 -> 0 bytes + test/reference/partial-clip-text-left.ref.png | Bin 293 -> 0 bytes + test/reference/partial-clip-text-right.ref.png | Bin 155 -> 0 bytes + test/reference/partial-clip-text-top.ref.png | Bin 173 -> 0 bytes + ...ass-through.ref.png => pass-through.argb32.ref.png} | Bin + test/reference/path-append.ref.png | Bin 4424 -> 0 bytes + test/reference/path-stroke-twice.ref.png | Bin 209 -> 0 bytes + ...man-rotate.ref.png => pixman-rotate.argb32.ref.png} | Bin + test/reference/pthread-show-text.ref.png | Bin 29759 -> 0 bytes + test/reference/push-group-color.ref.png | Bin 2676 -> 0 bytes + test/reference/push-group.ref.png | Bin 2829 -> 0 bytes + test/reference/random-intersections-curves-eo.ref.png | Bin 156491 -> 0 bytes + test/reference/random-intersections-curves-nz.ref.png | Bin 151310 -> 0 bytes + test/reference/random-intersections-eo.ref.png | Bin 85197 -> 0 bytes + test/reference/random-intersections-nonzero.ref.png | Bin 83247 -> 0 bytes + test/reference/record-paint-alpha-clip.ref.png | Bin 299 -> 0 bytes + test/reference/record-select-font-face.ref.png | Bin 2245 -> 0 bytes + test/reference/recording-surface-over.ref.png | Bin 3072 -> 0 bytes + test/reference/rectilinear-miter-limit.ref.png | Bin 145 -> 0 bytes + test/reference/rel-path.ref.png | Bin 177 -> 0 bytes + test/reference/rotate-clip-image-surface-paint.ref.png | Bin 312 -> 0 bytes + test/reference/rotated-clip.ref.png | Bin 2713 -> 0 bytes + test/reference/rounded-rectangle-fill.ref.png | Bin 563 -> 0 bytes + test/reference/scale-offset-image.ref.png | Bin 7688 -> 0 bytes + test/reference/scale-offset-similar.ref.png | Bin 7688 -> 0 bytes + ...f.png => scale-source-surface-paint.argb32.ref.png} | Bin + test/reference/select-font-face.ref.png | Bin 2245 -> 0 bytes + test/reference/self-copy.ref.png | Bin 258 -> 0 bytes + .../{set-source.ref.png => set-source.argb32.ref.png} | Bin + test/reference/shape-general-convex.ref.png | Bin 1869 -> 0 bytes + test/reference/shape-sierpinski.ref.png | Bin 43504 -> 0 bytes + test/reference/show-glyphs-advance.ref.png | Bin 1395 -> 0 bytes + test/reference/show-text-current-point.ref.png | Bin 2185 -> 0 bytes + test/reference/skew-extreme.ref.png | Bin 904 -> 0 bytes + test/reference/smask-fill.ref.png | Bin 1134 -> 0 bytes + test/reference/smask-image-mask.ref.png | Bin 643 -> 0 bytes + test/reference/smask-mask.ref.png | Bin 2523 -> 0 bytes + test/reference/smask-paint.ref.png | Bin 2639 -> 0 bytes + test/reference/smask-stroke.ref.png | Bin 1598 -> 0 bytes + test/reference/smask-text.ref.png | Bin 1623 -> 0 bytes + test/reference/smask.ref.png | Bin 3401 -> 0 bytes + ...f.png => source-surface-scale-paint.argb32.ref.png} | Bin + test/reference/spline-decomposition.ref.png | Bin 10005 -> 0 bytes + test/reference/stroke-image.ref.png | Bin 972 -> 0 bytes + test/reference/stroke-pattern.ref.png | Bin 1417 -> 0 bytes + test/reference/subsurface-scale.ref.png | Bin 5216 -> 0 bytes + test/reference/subsurface.ref.png | Bin 1281 -> 0 bytes + test/reference/surface-pattern-scale-down.ref.png | Bin 1784 -> 0 bytes + test/reference/surface-pattern-scale-up.ref.png | Bin 4017 -> 0 bytes + test/reference/surface-pattern.ref.png | Bin 11100 -> 0 bytes + test/reference/text-antialias-gray.ref.png | Bin 975 -> 0 bytes + test/reference/text-antialias-subpixel-bgr.ref.png | Bin 1001 -> 0 bytes + test/reference/text-antialias-subpixel-rgb.ref.png | Bin 1004 -> 0 bytes + test/reference/text-antialias-subpixel-vbgr.ref.png | Bin 992 -> 0 bytes + test/reference/text-antialias-subpixel-vrgb.ref.png | Bin 1004 -> 0 bytes + test/reference/text-antialias-subpixel.ref.png | Bin 1004 -> 0 bytes + test/reference/text-glyph-range.ref.png | Bin 1729 -> 0 bytes + test/reference/text-pattern.ref.png | Bin 3444 -> 0 bytes + test/reference/tiger.ref.png | Bin 71094 -> 0 bytes + test/reference/transforms.ref.png | Bin 341 -> 0 bytes + test/reference/trap-clip.ref.png | Bin 5741 -> 0 bytes + test/reference/twin-antialias-mixed.ref.png | Bin 1639 -> 0 bytes + test/reference/twin-antialias-none.ref.png | Bin 694 -> 0 bytes + test/reference/unclosed-strokes.ref.png | Bin 1432 -> 0 bytes + test/reference/user-font-proxy.ref.png | Bin 14023 -> 0 bytes + test/reference/user-font-rescale.ref.png | Bin 14852 -> 0 bytes + test/reference/world-map-fill.ref.png | Bin 45440 -> 0 bytes + test/reference/world-map-stroke.ref.png | Bin 43370 -> 0 bytes + test/reference/world-map.ref.png | Bin 65880 -> 0 bytes + .../{zero-mask.ref.png => zero-mask.argb32.ref.png} | Bin + 157 files changed, 0 insertions(+), 0 deletions(-) + +commit 9eb1237e006bb19098144cc045c0a03d167a82b4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jul 4 09:40:37 2013 +0100 + + test: Add a few reference images found lurking on my machine + + test/reference/bug-seams.image.xfail.png | Bin 0 -> 1647 bytes + test/reference/record1414x-fill-alpha.ref.png | Bin 0 -> 4212 bytes + test/reference/record2x-fill-alpha.ref.png | Bin 0 -> 5950 bytes + test/reference/record90-fill-alpha.ref.png | Bin 0 -> 2650 bytes + 4 files changed, 0 insertions(+), 0 deletions(-) + +commit 3255462a238dfb6d9f1336f04918d51f2cb6ea18 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jul 4 09:24:25 2013 +0100 + + test: Remove all identical (cmp & pdiff) reference images + + Courtesy of the improved check-ref-dups written by Bryce Harrington: + + Running make check on the codebase (with default configuration) with the + redundant images removed produces essentially the same test results: + + Before + ------ + Tests run: 13687 + Passed: 9216 + Failed: 3566 + Expected Failed: 312 + Error: 1 + Crashed: 17 + Untested: 575 + Total: 13687 + + After + ----- + Tests run: 13689 + Passed: 9216 + Failed: 3566 + Expected Failed: 312 + Error: 1 + Crashed: 19 + Untested: 575 + Total: 13689 + + (with the exception being the pthread tests misbehaving between runs) + + test/reference/a1-clip-fill-equal.argb32.ref.png | Bin 120 -> 0 bytes + test/reference/a1-clip-fill-equal.mask.argb32.ref.png | Bin 120 -> 0 bytes + test/reference/a1-clip-fill-equal.mask.rgb24.ref.png | Bin 120 -> 0 bytes + test/reference/a1-clip-fill-equal.rgb24.ref.png | Bin 120 -> 0 bytes + test/reference/a1-clip-fill-equal.traps.argb32.ref.png | Bin 120 -> 0 bytes + test/reference/a1-clip-fill-equal.traps.rgb24.ref.png | Bin 120 -> 0 bytes + test/reference/a1-clip-fill-rule.mask.argb32.ref.png | Bin 236 -> 0 bytes + test/reference/a1-clip-fill-rule.mask.rgb24.ref.png | Bin 218 -> 0 bytes + test/reference/a1-clip-fill-rule.traps.argb32.ref.png | Bin 236 -> 0 bytes + test/reference/a1-clip-fill-rule.traps.rgb24.ref.png | Bin 218 -> 0 bytes + test/reference/a1-clip-fill.argb32.ref.png | Bin 120 -> 0 bytes + test/reference/a1-clip-fill.mask.argb32.ref.png | Bin 120 -> 0 bytes + test/reference/a1-clip-fill.mask.rgb24.ref.png | Bin 120 -> 0 bytes + test/reference/a1-clip-fill.rgb24.ref.png | Bin 120 -> 0 bytes + test/reference/a1-clip-fill.traps.argb32.ref.png | Bin 120 -> 0 bytes + test/reference/a1-clip-fill.traps.rgb24.ref.png | Bin 120 -> 0 bytes + test/reference/a1-clip-paint.argb32.ref.png | Bin 120 -> 0 bytes + test/reference/a1-clip-paint.mask.argb32.ref.png | Bin 120 -> 0 bytes + test/reference/a1-clip-paint.mask.rgb24.ref.png | Bin 120 -> 0 bytes + test/reference/a1-clip-paint.rgb24.ref.png | Bin 120 -> 0 bytes + test/reference/a1-clip-paint.traps.argb32.ref.png | Bin 120 -> 0 bytes + test/reference/a1-clip-paint.traps.rgb24.ref.png | Bin 120 -> 0 bytes + test/reference/a1-clip-stroke.argb32.ref.png | Bin 120 -> 0 bytes + test/reference/a1-clip-stroke.mask.argb32.ref.png | Bin 120 -> 0 bytes + test/reference/a1-clip-stroke.mask.rgb24.ref.png | Bin 120 -> 0 bytes + test/reference/a1-clip-stroke.rgb24.ref.png | Bin 120 -> 0 bytes + test/reference/a1-clip-stroke.traps.argb32.ref.png | Bin 120 -> 0 bytes + test/reference/a1-clip-stroke.traps.rgb24.ref.png | Bin 120 -> 0 bytes + test/reference/a1-fill.argb32.ref.png | Bin 328 -> 0 bytes + test/reference/a1-fill.mask.argb32.ref.png | Bin 328 -> 0 bytes + test/reference/a1-fill.mask.rgb24.ref.png | Bin 328 -> 0 bytes + test/reference/a1-fill.rgb24.ref.png | Bin 328 -> 0 bytes + test/reference/a1-fill.traps.argb32.ref.png | Bin 328 -> 0 bytes + test/reference/a1-fill.traps.ref.png | Bin 328 -> 0 bytes + test/reference/a1-fill.traps.rgb24.ref.png | Bin 328 -> 0 bytes + test/reference/a1-image-sample.argb32.ref.png | Bin 122 -> 0 bytes + test/reference/a1-image-sample.mask.argb32.ref.png | Bin 122 -> 0 bytes + test/reference/a1-image-sample.mask.rgb24.ref.png | Bin 122 -> 0 bytes + test/reference/a1-image-sample.rgb24.ref.png | Bin 122 -> 0 bytes + test/reference/a1-image-sample.traps.argb32.ref.png | Bin 122 -> 0 bytes + test/reference/a1-image-sample.traps.rgb24.ref.png | Bin 122 -> 0 bytes + .../a1-image-sample.xlib-fallback.rgb24.ref.png | Bin 122 -> 0 bytes + .../a1-image-sample.xlib-window.rgb24.ref.png | Bin 122 -> 0 bytes + test/reference/a1-line-width.argb32.ref.png | Bin 154 -> 0 bytes + test/reference/a1-line-width.mask.argb32.ref.png | Bin 154 -> 0 bytes + test/reference/a1-line-width.mask.rgb24.ref.png | Bin 154 -> 0 bytes + test/reference/a1-line-width.rgb24.ref.png | Bin 154 -> 0 bytes + test/reference/a1-line-width.traps.argb32.ref.png | Bin 154 -> 0 bytes + test/reference/a1-line-width.traps.rgb24.ref.png | Bin 154 -> 0 bytes + test/reference/a1-mask-sample.argb32.ref.png | Bin 122 -> 0 bytes + test/reference/a1-mask-sample.mask.argb32.ref.png | Bin 122 -> 0 bytes + test/reference/a1-mask-sample.mask.rgb24.ref.png | Bin 122 -> 0 bytes + test/reference/a1-mask-sample.rgb24.ref.png | Bin 122 -> 0 bytes + test/reference/a1-mask-sample.traps.argb32.ref.png | Bin 122 -> 0 bytes + test/reference/a1-mask-sample.traps.rgb24.ref.png | Bin 122 -> 0 bytes + test/reference/a1-mask.argb32.ref.png | Bin 106 -> 0 bytes + test/reference/a1-mask.mask.argb32.ref.png | Bin 106 -> 0 bytes + test/reference/a1-mask.mask.rgb24.ref.png | Bin 106 -> 0 bytes + test/reference/a1-mask.pdf.ref.png | Bin 106 -> 0 bytes + test/reference/a1-mask.ps.ref.png | Bin 106 -> 0 bytes + test/reference/a1-mask.rgb24.ref.png | Bin 106 -> 0 bytes + test/reference/a1-mask.traps.argb32.ref.png | Bin 106 -> 0 bytes + test/reference/a1-mask.traps.rgb24.ref.png | Bin 106 -> 0 bytes + .../a1-rasterisation-rectangles.argb32.ref.png | Bin 1729 -> 0 bytes + .../a1-rasterisation-rectangles.mask.argb32.ref.png | Bin 1729 -> 0 bytes + .../a1-rasterisation-rectangles.mask.rgb24.ref.png | Bin 1729 -> 0 bytes + .../a1-rasterisation-rectangles.rgb24.ref.png | Bin 1729 -> 0 bytes + .../a1-rasterisation-rectangles.traps.argb32.ref.png | Bin 1729 -> 0 bytes + .../a1-rasterisation-rectangles.traps.rgb24.ref.png | Bin 1729 -> 0 bytes + .../a1-rasterisation-triangles.argb32.ref.png | Bin 1729 -> 0 bytes + .../a1-rasterisation-triangles.mask.argb32.ref.png | Bin 1729 -> 0 bytes + .../a1-rasterisation-triangles.mask.rgb24.ref.png | Bin 1729 -> 0 bytes + .../reference/a1-rasterisation-triangles.rgb24.ref.png | Bin 1729 -> 0 bytes + .../a1-rasterisation-triangles.traps.argb32.ref.png | Bin 1729 -> 0 bytes + .../a1-rasterisation-triangles.traps.rgb24.ref.png | Bin 1729 -> 0 bytes + test/reference/a1-rectilinear-grid.argb32.ref.png | Bin 207 -> 0 bytes + test/reference/a1-rectilinear-grid.mask.argb32.ref.png | Bin 207 -> 0 bytes + test/reference/a1-rectilinear-grid.mask.rgb24.ref.png | Bin 207 -> 0 bytes + test/reference/a1-rectilinear-grid.rgb24.ref.png | Bin 207 -> 0 bytes + .../reference/a1-rectilinear-grid.traps.argb32.ref.png | Bin 207 -> 0 bytes + test/reference/a1-rectilinear-grid.traps.rgb24.ref.png | Bin 207 -> 0 bytes + test/reference/a1-sample.argb32.ref.png | Bin 786 -> 0 bytes + test/reference/a1-sample.mask.argb32.ref.png | Bin 786 -> 0 bytes + test/reference/a1-sample.mask.rgb24.ref.png | Bin 786 -> 0 bytes + test/reference/a1-sample.rgb24.ref.png | Bin 786 -> 0 bytes + test/reference/a1-sample.traps.argb32.ref.png | Bin 786 -> 0 bytes + test/reference/a1-sample.traps.rgb24.ref.png | Bin 786 -> 0 bytes + test/reference/a1-traps-sample.argb32.ref.png | Bin 120 -> 0 bytes + test/reference/a1-traps-sample.mask.argb32.ref.png | Bin 120 -> 0 bytes + test/reference/a1-traps-sample.mask.rgb24.ref.png | Bin 120 -> 0 bytes + test/reference/a1-traps-sample.rgb24.ref.png | Bin 120 -> 0 bytes + test/reference/a1-traps-sample.traps.argb32.ref.png | Bin 120 -> 0 bytes + test/reference/a1-traps-sample.traps.rgb24.ref.png | Bin 120 -> 0 bytes + test/reference/a8-clear.mask.argb32.ref.png | Bin 271 -> 0 bytes + test/reference/a8-clear.mask.rgb24.ref.png | Bin 271 -> 0 bytes + test/reference/a8-mask.argb32.ref.png | Bin 103 -> 0 bytes + test/reference/a8-mask.mask.argb32.ref.png | Bin 103 -> 0 bytes + test/reference/a8-mask.mask.rgb24.ref.png | Bin 103 -> 0 bytes + test/reference/a8-mask.rgb24.ref.png | Bin 103 -> 0 bytes + test/reference/a8-mask.traps.argb32.ref.png | Bin 103 -> 0 bytes + test/reference/a8-mask.traps.rgb24.ref.png | Bin 103 -> 0 bytes + test/reference/aliasing.mask.argb32.ref.png | Bin 104324 -> 0 bytes + test/reference/aliasing.mask.rgb24.ref.png | Bin 104324 -> 0 bytes + test/reference/alpha-similar.argb32.ref.png | Bin 99 -> 0 bytes + test/reference/alpha-similar.mask.argb32.ref.png | Bin 99 -> 0 bytes + test/reference/alpha-similar.mask.rgb24.ref.png | Bin 88 -> 0 bytes + test/reference/alpha-similar.traps.argb32.ref.png | Bin 99 -> 0 bytes + test/reference/alpha-similar.traps.rgb24.ref.png | Bin 88 -> 0 bytes + test/reference/api-special-cases.argb32.ref.png | Bin 95 -> 0 bytes + test/reference/api-special-cases.mask.argb32.ref.png | Bin 95 -> 0 bytes + test/reference/api-special-cases.mask.rgb24.ref.png | Bin 95 -> 0 bytes + test/reference/api-special-cases.rgb24.ref.png | Bin 95 -> 0 bytes + test/reference/api-special-cases.traps.argb32.ref.png | Bin 95 -> 0 bytes + test/reference/api-special-cases.traps.rgb24.ref.png | Bin 95 -> 0 bytes + test/reference/arc-direction.mask.argb32.ref.png | Bin 6380 -> 0 bytes + test/reference/arc-direction.mask.rgb24.ref.png | Bin 6380 -> 0 bytes + test/reference/arc-infinite-loop.argb32.ref.png | Bin 96 -> 0 bytes + test/reference/arc-infinite-loop.mask.argb32.ref.png | Bin 96 -> 0 bytes + test/reference/arc-infinite-loop.mask.rgb24.ref.png | Bin 96 -> 0 bytes + test/reference/arc-infinite-loop.rgb24.ref.png | Bin 96 -> 0 bytes + test/reference/arc-infinite-loop.traps.argb32.ref.png | Bin 96 -> 0 bytes + test/reference/arc-infinite-loop.traps.rgb24.ref.png | Bin 96 -> 0 bytes + test/reference/big-empty-box.traps.argb32.ref.png | Bin 111 -> 0 bytes + test/reference/big-empty-box.traps.rgb24.ref.png | Bin 108 -> 0 bytes + test/reference/big-empty-triangle.mask.argb32.ref.png | Bin 111 -> 0 bytes + test/reference/big-empty-triangle.mask.rgb24.ref.png | Bin 108 -> 0 bytes + test/reference/big-empty-triangle.traps.argb32.ref.png | Bin 111 -> 0 bytes + test/reference/big-empty-triangle.traps.rgb24.ref.png | Bin 108 -> 0 bytes + test/reference/big-line.mask.argb32.ref.png | Bin 977 -> 0 bytes + test/reference/big-line.mask.rgb24.ref.png | Bin 977 -> 0 bytes + test/reference/big-little-box.mask.argb32.ref.png | Bin 169 -> 0 bytes + test/reference/big-little-box.mask.rgb24.ref.png | Bin 160 -> 0 bytes + test/reference/big-little-box.traps.argb32.ref.png | Bin 169 -> 0 bytes + test/reference/big-little-box.traps.rgb24.ref.png | Bin 160 -> 0 bytes + test/reference/big-little-triangle.mask.argb32.ref.png | Bin 409 -> 0 bytes + test/reference/big-little-triangle.mask.rgb24.ref.png | Bin 328 -> 0 bytes + test/reference/bilevel-image.argb32.ref.png | Bin 105 -> 0 bytes + test/reference/bilevel-image.mask.argb32.ref.png | Bin 105 -> 0 bytes + test/reference/bilevel-image.mask.rgb24.ref.png | Bin 105 -> 0 bytes + test/reference/bilevel-image.rgb24.ref.png | Bin 105 -> 0 bytes + test/reference/bilevel-image.traps.argb32.ref.png | Bin 105 -> 0 bytes + test/reference/bilevel-image.traps.rgb24.ref.png | Bin 105 -> 0 bytes + test/reference/bitmap-font.argb32.ref.png | Bin 931 -> 0 bytes + test/reference/bitmap-font.mask.argb32.ref.png | Bin 931 -> 0 bytes + test/reference/bitmap-font.mask.rgb24.ref.png | Bin 871 -> 0 bytes + test/reference/bitmap-font.traps.argb32.ref.png | Bin 931 -> 0 bytes + test/reference/bitmap-font.traps.rgb24.ref.png | Bin 871 -> 0 bytes + test/reference/bug-40410.mask.argb32.ref.png | Bin 429 -> 0 bytes + test/reference/bug-40410.mask.rgb24.ref.png | Bin 429 -> 0 bytes + test/reference/bug-bo-rectangular.argb32.ref.png | Bin 950 -> 0 bytes + test/reference/bug-bo-rectangular.mask.argb32.ref.png | Bin 950 -> 0 bytes + test/reference/bug-bo-rectangular.mask.rgb24.ref.png | Bin 950 -> 0 bytes + test/reference/bug-bo-rectangular.rgb24.ref.png | Bin 950 -> 0 bytes + test/reference/bug-bo-rectangular.traps.argb32.ref.png | Bin 950 -> 0 bytes + test/reference/bug-bo-rectangular.traps.rgb24.ref.png | Bin 950 -> 0 bytes + test/reference/bug-bo-ricotz.mask.argb32.ref.png | Bin 2128 -> 0 bytes + test/reference/bug-bo-ricotz.mask.rgb24.ref.png | Bin 2128 -> 0 bytes + test/reference/bug-bo-ricotz.traps.argb32.ref.png | Bin 2125 -> 0 bytes + test/reference/bug-bo-ricotz.traps.rgb24.ref.png | Bin 2125 -> 0 bytes + test/reference/bug-extents.mask.argb32.ref.png | Bin 9251 -> 0 bytes + test/reference/bug-extents.mask.rgb24.ref.png | Bin 9251 -> 0 bytes + test/reference/caps-joins.mask.argb32.ref.png | Bin 2893 -> 0 bytes + test/reference/caps-joins.mask.rgb24.ref.png | Bin 2893 -> 0 bytes + test/reference/caps-sub-paths.mask.argb32.ref.png | Bin 168 -> 0 bytes + test/reference/caps-sub-paths.mask.rgb24.ref.png | Bin 168 -> 0 bytes + test/reference/caps.mask.argb32.ref.png | Bin 2115 -> 0 bytes + test/reference/caps.mask.rgb24.ref.png | Bin 2115 -> 0 bytes + test/reference/checkerboard.argb32.ref.png | Bin 142 -> 0 bytes + test/reference/checkerboard.mask.argb32.ref.png | Bin 142 -> 0 bytes + test/reference/checkerboard.mask.rgb24.ref.png | Bin 142 -> 0 bytes + test/reference/checkerboard.rgb24.ref.png | Bin 142 -> 0 bytes + test/reference/checkerboard.traps.argb32.ref.png | Bin 142 -> 0 bytes + test/reference/checkerboard.traps.rgb24.ref.png | Bin 142 -> 0 bytes + test/reference/clear-source.mask.argb32.ref.png | Bin 882 -> 0 bytes + test/reference/clear-source.mask.rgb24.ref.png | Bin 882 -> 0 bytes + test/reference/clear.mask.argb32.ref.png | Bin 692 -> 0 bytes + test/reference/clear.mask.rgb24.ref.png | Bin 617 -> 0 bytes + test/reference/clip-all.argb32.ref.png | Bin 95 -> 0 bytes + test/reference/clip-all.mask.argb32.ref.png | Bin 95 -> 0 bytes + test/reference/clip-all.mask.rgb24.ref.png | Bin 95 -> 0 bytes + test/reference/clip-all.rgb24.ref.png | Bin 95 -> 0 bytes + test/reference/clip-all.traps.argb32.ref.png | Bin 95 -> 0 bytes + test/reference/clip-all.traps.rgb24.ref.png | Bin 95 -> 0 bytes + test/reference/clip-complex-shape-eo-aa.argb32.ref.png | Bin 325 -> 0 bytes + .../clip-complex-shape-eo-aa.mask.argb32.ref.png | Bin 325 -> 0 bytes + .../clip-complex-shape-eo-aa.mask.rgb24.ref.png | Bin 325 -> 0 bytes + test/reference/clip-complex-shape-eo-aa.rgb24.ref.png | Bin 325 -> 0 bytes + .../clip-complex-shape-eo-aa.traps.argb32.ref.png | Bin 325 -> 0 bytes + .../clip-complex-shape-eo-aa.traps.rgb24.ref.png | Bin 325 -> 0 bytes + .../clip-complex-shape-eo-mono.argb32.ref.png | Bin 325 -> 0 bytes + .../clip-complex-shape-eo-mono.mask.argb32.ref.png | Bin 325 -> 0 bytes + .../clip-complex-shape-eo-mono.mask.rgb24.ref.png | Bin 325 -> 0 bytes + .../reference/clip-complex-shape-eo-mono.rgb24.ref.png | Bin 325 -> 0 bytes + .../clip-complex-shape-eo-mono.traps.argb32.ref.png | Bin 325 -> 0 bytes + .../clip-complex-shape-eo-mono.traps.rgb24.ref.png | Bin 325 -> 0 bytes + test/reference/clip-contexts.argb32.ref.png | Bin 98 -> 0 bytes + test/reference/clip-contexts.mask.argb32.ref.png | Bin 98 -> 0 bytes + test/reference/clip-contexts.mask.rgb24.ref.png | Bin 98 -> 0 bytes + test/reference/clip-contexts.rgb24.ref.png | Bin 98 -> 0 bytes + test/reference/clip-contexts.traps.argb32.ref.png | Bin 98 -> 0 bytes + test/reference/clip-contexts.traps.rgb24.ref.png | Bin 98 -> 0 bytes + test/reference/clip-device-offset.mask.argb32.ref.png | Bin 175 -> 0 bytes + test/reference/clip-device-offset.mask.rgb24.ref.png | Bin 168 -> 0 bytes + test/reference/clip-device-offset.traps.argb32.ref.png | Bin 175 -> 0 bytes + test/reference/clip-device-offset.traps.rgb24.ref.png | Bin 168 -> 0 bytes + test/reference/clip-empty-group.argb32.ref.png | Bin 103 -> 0 bytes + test/reference/clip-empty-group.mask.argb32.ref.png | Bin 103 -> 0 bytes + test/reference/clip-empty-group.mask.rgb24.ref.png | Bin 103 -> 0 bytes + test/reference/clip-empty-group.rgb24.ref.png | Bin 103 -> 0 bytes + test/reference/clip-empty-group.traps.argb32.ref.png | Bin 103 -> 0 bytes + test/reference/clip-empty-group.traps.rgb24.ref.png | Bin 103 -> 0 bytes + test/reference/clip-empty-save.argb32.ref.png | Bin 95 -> 0 bytes + test/reference/clip-empty-save.mask.argb32.ref.png | Bin 95 -> 0 bytes + test/reference/clip-empty-save.mask.rgb24.ref.png | Bin 95 -> 0 bytes + test/reference/clip-empty-save.rgb24.ref.png | Bin 95 -> 0 bytes + test/reference/clip-empty-save.traps.argb32.ref.png | Bin 95 -> 0 bytes + test/reference/clip-empty-save.traps.rgb24.ref.png | Bin 95 -> 0 bytes + test/reference/clip-empty.argb32.ref.png | Bin 95 -> 0 bytes + test/reference/clip-empty.mask.argb32.ref.png | Bin 95 -> 0 bytes + test/reference/clip-empty.mask.rgb24.ref.png | Bin 95 -> 0 bytes + test/reference/clip-empty.rgb24.ref.png | Bin 95 -> 0 bytes + test/reference/clip-empty.traps.argb32.ref.png | Bin 95 -> 0 bytes + test/reference/clip-empty.traps.rgb24.ref.png | Bin 95 -> 0 bytes + test/reference/clip-fill-no-op.argb32.ref.png | Bin 152 -> 0 bytes + test/reference/clip-fill-no-op.mask.argb32.ref.png | Bin 152 -> 0 bytes + test/reference/clip-fill-no-op.mask.rgb24.ref.png | Bin 152 -> 0 bytes + test/reference/clip-fill-no-op.rgb24.ref.png | Bin 152 -> 0 bytes + test/reference/clip-fill-no-op.traps.argb32.ref.png | Bin 152 -> 0 bytes + test/reference/clip-fill-no-op.traps.rgb24.ref.png | Bin 152 -> 0 bytes + .../clip-fill-rule-pixel-aligned.argb32.ref.png | Bin 176 -> 0 bytes + .../clip-fill-rule-pixel-aligned.mask.argb32.ref.png | Bin 176 -> 0 bytes + .../clip-fill-rule-pixel-aligned.mask.rgb24.ref.png | Bin 165 -> 0 bytes + .../clip-fill-rule-pixel-aligned.traps.argb32.ref.png | Bin 176 -> 0 bytes + .../clip-fill-rule-pixel-aligned.traps.rgb24.ref.png | Bin 165 -> 0 bytes + test/reference/clip-fill-rule.mask.argb32.ref.png | Bin 437 -> 0 bytes + test/reference/clip-fill-rule.mask.rgb24.ref.png | Bin 393 -> 0 bytes + ...clip-group-shapes-aligned-rectangles.argb32.ref.png | Bin 378 -> 0 bytes + ...group-shapes-aligned-rectangles.mask.argb32.ref.png | Bin 378 -> 0 bytes + ...-group-shapes-aligned-rectangles.mask.rgb24.ref.png | Bin 378 -> 0 bytes + .../clip-group-shapes-aligned-rectangles.rgb24.ref.png | Bin 378 -> 0 bytes + ...roup-shapes-aligned-rectangles.traps.argb32.ref.png | Bin 378 -> 0 bytes + ...group-shapes-aligned-rectangles.traps.rgb24.ref.png | Bin 378 -> 0 bytes + ...ip-group-shapes-unaligned-rectangles.argb32.ref.png | Bin 415 -> 0 bytes + ...lip-group-shapes-unaligned-rectangles.rgb24.ref.png | Bin 415 -> 0 bytes + test/reference/clip-intersect.mask.argb32.ref.png | Bin 200 -> 0 bytes + test/reference/clip-intersect.mask.rgb24.ref.png | Bin 200 -> 0 bytes + .../reference/clip-mixed-antialias.mask.argb32.ref.png | Bin 1084 -> 0 bytes + test/reference/clip-mixed-antialias.mask.rgb24.ref.png | Bin 1084 -> 0 bytes + test/reference/clip-nesting.mask.argb32.ref.png | Bin 1044 -> 0 bytes + test/reference/clip-polygons.traps.argb32.ref.png | Bin 1268 -> 0 bytes + test/reference/clip-polygons.traps.rgb24.ref.png | Bin 1268 -> 0 bytes + test/reference/clip-push-group.mask.argb32.ref.png | Bin 164 -> 0 bytes + test/reference/clip-push-group.mask.rgb24.ref.png | Bin 164 -> 0 bytes + test/reference/clip-rectilinear.argb32.ref.png | Bin 439 -> 0 bytes + test/reference/clip-rectilinear.rgb24.ref.png | Bin 439 -> 0 bytes + test/reference/clip-rectilinear.traps.argb32.ref.png | Bin 440 -> 0 bytes + test/reference/clip-rectilinear.traps.rgb24.ref.png | Bin 440 -> 0 bytes + .../clip-rotate-image-surface-paint.argb32.ref.png | Bin 202 -> 0 bytes + ...clip-rotate-image-surface-paint.mask.argb32.ref.png | Bin 202 -> 0 bytes + .../clip-rotate-image-surface-paint.mask.rgb24.ref.png | Bin 202 -> 0 bytes + .../clip-rotate-image-surface-paint.rgb24.ref.png | Bin 202 -> 0 bytes + ...lip-rotate-image-surface-paint.traps.argb32.ref.png | Bin 202 -> 0 bytes + ...clip-rotate-image-surface-paint.traps.rgb24.ref.png | Bin 202 -> 0 bytes + ...ate-image-surface-paint.xlib-fallback.rgb24.ref.png | Bin 202 -> 0 bytes + ...otate-image-surface-paint.xlib-window.rgb24.ref.png | Bin 202 -> 0 bytes + test/reference/clip-stroke-no-op.argb32.ref.png | Bin 152 -> 0 bytes + test/reference/clip-stroke-no-op.mask.argb32.ref.png | Bin 152 -> 0 bytes + test/reference/clip-stroke-no-op.mask.rgb24.ref.png | Bin 152 -> 0 bytes + test/reference/clip-stroke-no-op.rgb24.ref.png | Bin 152 -> 0 bytes + test/reference/clip-stroke-no-op.traps.argb32.ref.png | Bin 152 -> 0 bytes + test/reference/clip-stroke-no-op.traps.rgb24.ref.png | Bin 152 -> 0 bytes + test/reference/clip-twice-rectangle.argb32.ref.png | Bin 323 -> 0 bytes + .../reference/clip-twice-rectangle.mask.argb32.ref.png | Bin 323 -> 0 bytes + test/reference/clip-twice-rectangle.mask.rgb24.ref.png | Bin 323 -> 0 bytes + test/reference/clip-twice-rectangle.rgb24.ref.png | Bin 323 -> 0 bytes + .../clip-twice-rectangle.traps.argb32.ref.png | Bin 323 -> 0 bytes + .../reference/clip-twice-rectangle.traps.rgb24.ref.png | Bin 323 -> 0 bytes + test/reference/clip-unbounded.argb32.ref.png | Bin 100 -> 0 bytes + test/reference/clip-unbounded.mask.argb32.ref.png | Bin 100 -> 0 bytes + test/reference/clip-unbounded.mask.rgb24.ref.png | Bin 97 -> 0 bytes + test/reference/clip-unbounded.traps.argb32.ref.png | Bin 100 -> 0 bytes + test/reference/clip-unbounded.traps.rgb24.ref.png | Bin 97 -> 0 bytes + test/reference/clipped-surface.argb32.ref.png | Bin 345 -> 0 bytes + test/reference/clipped-surface.mask.argb32.ref.png | Bin 345 -> 0 bytes + test/reference/clipped-surface.mask.rgb24.ref.png | Bin 345 -> 0 bytes + test/reference/clipped-surface.rgb24.ref.png | Bin 345 -> 0 bytes + test/reference/clipped-surface.traps.argb32.ref.png | Bin 345 -> 0 bytes + test/reference/clipped-surface.traps.rgb24.ref.png | Bin 345 -> 0 bytes + test/reference/close-path.mask.argb32.ref.png | Bin 294 -> 0 bytes + test/reference/close-path.mask.rgb24.ref.png | Bin 294 -> 0 bytes + ...posite-integer-translate-over-repeat.argb32.ref.png | Bin 334 -> 0 bytes + ...e-integer-translate-over-repeat.mask.argb32.ref.png | Bin 334 -> 0 bytes + ...te-integer-translate-over-repeat.mask.rgb24.ref.png | Bin 334 -> 0 bytes + ...mposite-integer-translate-over-repeat.rgb24.ref.png | Bin 334 -> 0 bytes + ...-integer-translate-over-repeat.traps.argb32.ref.png | Bin 334 -> 0 bytes + ...e-integer-translate-over-repeat.traps.rgb24.ref.png | Bin 334 -> 0 bytes + .../composite-integer-translate-over.argb32.ref.png | Bin 13998 -> 0 bytes + ...omposite-integer-translate-over.mask.argb32.ref.png | Bin 13998 -> 0 bytes + ...composite-integer-translate-over.mask.rgb24.ref.png | Bin 13998 -> 0 bytes + .../composite-integer-translate-over.rgb24.ref.png | Bin 13998 -> 0 bytes + ...mposite-integer-translate-over.traps.argb32.ref.png | Bin 13998 -> 0 bytes + ...omposite-integer-translate-over.traps.rgb24.ref.png | Bin 13998 -> 0 bytes + .../composite-integer-translate-source.argb32.ref.png | Bin 13998 -> 0 bytes + ...posite-integer-translate-source.mask.argb32.ref.png | Bin 13998 -> 0 bytes + ...mposite-integer-translate-source.mask.rgb24.ref.png | Bin 13998 -> 0 bytes + .../composite-integer-translate-source.rgb24.ref.png | Bin 13998 -> 0 bytes + ...osite-integer-translate-source.traps.argb32.ref.png | Bin 13998 -> 0 bytes + ...posite-integer-translate-source.traps.rgb24.ref.png | Bin 13998 -> 0 bytes + test/reference/copy-disjoint.argb32.ref.png | Bin 1098 -> 0 bytes + test/reference/copy-disjoint.mask.argb32.ref.png | Bin 1098 -> 0 bytes + test/reference/copy-disjoint.mask.rgb24.ref.png | Bin 1098 -> 0 bytes + test/reference/copy-disjoint.rgb24.ref.png | Bin 1098 -> 0 bytes + test/reference/copy-disjoint.traps.argb32.ref.png | Bin 1098 -> 0 bytes + test/reference/copy-disjoint.traps.rgb24.ref.png | Bin 1098 -> 0 bytes + test/reference/copy-path.mask.argb32.ref.png | Bin 616 -> 0 bytes + test/reference/copy-path.mask.rgb24.ref.png | Bin 616 -> 0 bytes + test/reference/create-from-png-stream.argb32.ref.png | Bin 96 -> 0 bytes + .../create-from-png-stream.mask.argb32.ref.png | Bin 96 -> 0 bytes + .../create-from-png-stream.mask.rgb24.ref.png | Bin 96 -> 0 bytes + test/reference/create-from-png-stream.rgb24.ref.png | Bin 96 -> 0 bytes + .../create-from-png-stream.traps.argb32.ref.png | Bin 96 -> 0 bytes + .../create-from-png-stream.traps.rgb24.ref.png | Bin 96 -> 0 bytes + test/reference/culled-glyphs.mask.argb32.ref.png | Bin 440 -> 0 bytes + test/reference/culled-glyphs.mask.rgb24.ref.png | Bin 440 -> 0 bytes + test/reference/culled-glyphs.traps.argb32.ref.png | Bin 440 -> 0 bytes + test/reference/culled-glyphs.traps.rgb24.ref.png | Bin 440 -> 0 bytes + test/reference/dash-infinite-loop.mask.argb32.ref.png | Bin 877 -> 0 bytes + test/reference/dash-infinite-loop.mask.rgb24.ref.png | Bin 877 -> 0 bytes + test/reference/dash-no-dash.argb32.ref.png | Bin 119 -> 0 bytes + test/reference/dash-no-dash.mask.argb32.ref.png | Bin 119 -> 0 bytes + test/reference/dash-no-dash.mask.rgb24.ref.png | Bin 119 -> 0 bytes + test/reference/dash-no-dash.rgb24.ref.png | Bin 119 -> 0 bytes + test/reference/dash-no-dash.traps.argb32.ref.png | Bin 119 -> 0 bytes + test/reference/dash-no-dash.traps.rgb24.ref.png | Bin 119 -> 0 bytes + .../reference/dash-offset-negative.mask.argb32.ref.png | Bin 129 -> 0 bytes + test/reference/dash-offset-negative.mask.rgb24.ref.png | Bin 129 -> 0 bytes + test/reference/dash-offset.argb32.ref.png | Bin 794 -> 0 bytes + test/reference/dash-offset.mask.argb32.ref.png | Bin 794 -> 0 bytes + test/reference/dash-offset.mask.rgb24.ref.png | Bin 794 -> 0 bytes + test/reference/dash-offset.rgb24.ref.png | Bin 794 -> 0 bytes + test/reference/dash-offset.traps.argb32.ref.png | Bin 794 -> 0 bytes + test/reference/dash-offset.traps.rgb24.ref.png | Bin 794 -> 0 bytes + test/reference/dash-state.mask.argb32.ref.png | Bin 8027 -> 0 bytes + test/reference/dash-state.mask.rgb24.ref.png | Bin 8027 -> 0 bytes + test/reference/dash-zero-length.mask.argb32.ref.png | Bin 230 -> 0 bytes + test/reference/degenerate-arcs.argb32.ref.png | Bin 120 -> 0 bytes + test/reference/degenerate-arcs.mask.argb32.ref.png | Bin 120 -> 0 bytes + test/reference/degenerate-arcs.mask.rgb24.ref.png | Bin 120 -> 0 bytes + test/reference/degenerate-arcs.rgb24.ref.png | Bin 120 -> 0 bytes + test/reference/degenerate-arcs.traps.argb32.ref.png | Bin 120 -> 0 bytes + test/reference/degenerate-arcs.traps.rgb24.ref.png | Bin 120 -> 0 bytes + .../degenerate-linear-gradient.mask.argb32.ref.png | Bin 336 -> 0 bytes + .../degenerate-linear-gradient.mask.rgb24.ref.png | Bin 336 -> 0 bytes + .../degenerate-linear-gradient.traps.argb32.ref.png | Bin 336 -> 0 bytes + .../degenerate-linear-gradient.traps.rgb24.ref.png | Bin 336 -> 0 bytes + test/reference/degenerate-pen.mask.argb32.ref.png | Bin 1019 -> 0 bytes + test/reference/degenerate-pen.mask.rgb24.ref.png | Bin 1019 -> 0 bytes + .../degenerate-radial-gradient.argb32.ref.png | Bin 428 -> 0 bytes + .../degenerate-radial-gradient.mask.argb32.ref.png | Bin 428 -> 0 bytes + .../degenerate-radial-gradient.mask.rgb24.ref.png | Bin 428 -> 0 bytes + .../reference/degenerate-radial-gradient.rgb24.ref.png | Bin 428 -> 0 bytes + .../degenerate-radial-gradient.traps.argb32.ref.png | Bin 428 -> 0 bytes + .../degenerate-radial-gradient.traps.rgb24.ref.png | Bin 428 -> 0 bytes + test/reference/device-offset-fractional.argb32.ref.png | Bin 266 -> 0 bytes + .../device-offset-fractional.mask.argb32.ref.png | Bin 266 -> 0 bytes + .../device-offset-fractional.mask.rgb24.ref.png | Bin 266 -> 0 bytes + test/reference/device-offset-fractional.rgb24.ref.png | Bin 266 -> 0 bytes + .../device-offset-fractional.traps.argb32.ref.png | Bin 266 -> 0 bytes + .../device-offset-fractional.traps.rgb24.ref.png | Bin 266 -> 0 bytes + test/reference/device-offset-positive.argb32.ref.png | Bin 120 -> 0 bytes + .../device-offset-positive.mask.argb32.ref.png | Bin 120 -> 0 bytes + .../device-offset-positive.mask.rgb24.ref.png | Bin 111 -> 0 bytes + .../device-offset-positive.traps.argb32.ref.png | Bin 120 -> 0 bytes + .../device-offset-positive.traps.rgb24.ref.png | Bin 111 -> 0 bytes + test/reference/device-offset-scale.argb32.ref.png | Bin 109 -> 0 bytes + test/reference/device-offset-scale.mask.argb32.ref.png | Bin 109 -> 0 bytes + test/reference/device-offset-scale.mask.rgb24.ref.png | Bin 109 -> 0 bytes + test/reference/device-offset-scale.rgb24.ref.png | Bin 109 -> 0 bytes + .../reference/device-offset-scale.traps.argb32.ref.png | Bin 109 -> 0 bytes + test/reference/device-offset-scale.traps.rgb24.ref.png | Bin 109 -> 0 bytes + test/reference/device-offset.argb32.ref.png | Bin 118 -> 0 bytes + test/reference/device-offset.mask.argb32.ref.png | Bin 118 -> 0 bytes + test/reference/device-offset.mask.rgb24.ref.png | Bin 111 -> 0 bytes + test/reference/device-offset.traps.argb32.ref.png | Bin 118 -> 0 bytes + test/reference/device-offset.traps.rgb24.ref.png | Bin 111 -> 0 bytes + test/reference/extend-pad-border.mask.argb32.ref.png | Bin 495 -> 0 bytes + test/reference/extend-pad-border.mask.rgb24.ref.png | Bin 495 -> 0 bytes + test/reference/extend-pad-border.traps.argb32.ref.png | Bin 495 -> 0 bytes + test/reference/extend-pad-border.traps.rgb24.ref.png | Bin 495 -> 0 bytes + test/reference/extend-pad-similar.argb32.ref.png | Bin 279 -> 0 bytes + test/reference/extend-pad-similar.mask.argb32.ref.png | Bin 279 -> 0 bytes + test/reference/extend-pad-similar.mask.rgb24.ref.png | Bin 279 -> 0 bytes + test/reference/extend-pad-similar.rgb24.ref.png | Bin 279 -> 0 bytes + test/reference/extend-pad-similar.traps.argb32.ref.png | Bin 279 -> 0 bytes + test/reference/extend-pad-similar.traps.rgb24.ref.png | Bin 279 -> 0 bytes + test/reference/extend-pad.argb32.ref.png | Bin 279 -> 0 bytes + test/reference/extend-pad.mask.argb32.ref.png | Bin 279 -> 0 bytes + test/reference/extend-pad.mask.rgb24.ref.png | Bin 279 -> 0 bytes + test/reference/extend-pad.rgb24.ref.png | Bin 279 -> 0 bytes + test/reference/extend-pad.traps.argb32.ref.png | Bin 279 -> 0 bytes + test/reference/extend-pad.traps.rgb24.ref.png | Bin 279 -> 0 bytes + test/reference/extend-reflect-similar.argb32.ref.png | Bin 133406 -> 0 bytes + .../extend-reflect-similar.mask.argb32.ref.png | Bin 133406 -> 0 bytes + .../extend-reflect-similar.mask.rgb24.ref.png | Bin 133406 -> 0 bytes + test/reference/extend-reflect-similar.rgb24.ref.png | Bin 133406 -> 0 bytes + .../extend-reflect-similar.traps.argb32.ref.png | Bin 133406 -> 0 bytes + .../extend-reflect-similar.traps.rgb24.ref.png | Bin 133406 -> 0 bytes + test/reference/extend-reflect.argb32.ref.png | Bin 133406 -> 0 bytes + test/reference/extend-reflect.mask.argb32.ref.png | Bin 133406 -> 0 bytes + test/reference/extend-reflect.mask.rgb24.ref.png | Bin 133406 -> 0 bytes + test/reference/extend-reflect.rgb24.ref.png | Bin 133406 -> 0 bytes + test/reference/extend-reflect.traps.argb32.ref.png | Bin 133406 -> 0 bytes + test/reference/extend-reflect.traps.rgb24.ref.png | Bin 133406 -> 0 bytes + test/reference/extend-repeat-similar.argb32.ref.png | Bin 108603 -> 0 bytes + .../extend-repeat-similar.mask.argb32.ref.png | Bin 108603 -> 0 bytes + .../reference/extend-repeat-similar.mask.rgb24.ref.png | Bin 108603 -> 0 bytes + test/reference/extend-repeat-similar.rgb24.ref.png | Bin 108603 -> 0 bytes + .../extend-repeat-similar.traps.argb32.ref.png | Bin 108603 -> 0 bytes + .../extend-repeat-similar.traps.rgb24.ref.png | Bin 108603 -> 0 bytes + test/reference/extend-repeat.argb32.ref.png | Bin 108603 -> 0 bytes + test/reference/extend-repeat.mask.argb32.ref.png | Bin 108603 -> 0 bytes + test/reference/extend-repeat.mask.rgb24.ref.png | Bin 108603 -> 0 bytes + test/reference/extend-repeat.rgb24.ref.png | Bin 108603 -> 0 bytes + test/reference/extend-repeat.traps.argb32.ref.png | Bin 108603 -> 0 bytes + test/reference/extend-repeat.traps.rgb24.ref.png | Bin 108603 -> 0 bytes + .../extended-blend-alpha-mask.mask.argb32.ref.png | Bin 9221 -> 0 bytes + .../extended-blend-alpha-mask.mask.rgb24.ref.png | Bin 4597 -> 0 bytes + .../extended-blend-alpha-mask.traps.argb32.ref.png | Bin 9221 -> 0 bytes + .../extended-blend-alpha-mask.traps.rgb24.ref.png | Bin 4597 -> 0 bytes + .../reference/extended-blend-alpha.mask.argb32.ref.png | Bin 9406 -> 0 bytes + test/reference/extended-blend-alpha.mask.rgb24.ref.png | Bin 5740 -> 0 bytes + .../extended-blend-alpha.traps.argb32.ref.png | Bin 9406 -> 0 bytes + .../reference/extended-blend-alpha.traps.rgb24.ref.png | Bin 5740 -> 0 bytes + test/reference/extended-blend-mask.mask.argb32.ref.png | Bin 3971 -> 0 bytes + test/reference/extended-blend-mask.mask.rgb24.ref.png | Bin 3643 -> 0 bytes + .../reference/extended-blend-mask.traps.argb32.ref.png | Bin 3971 -> 0 bytes + test/reference/extended-blend-mask.traps.rgb24.ref.png | Bin 3643 -> 0 bytes + .../extended-blend-solid-alpha.mask.argb32.ref.png | Bin 9406 -> 0 bytes + .../extended-blend-solid-alpha.mask.rgb24.ref.png | Bin 5740 -> 0 bytes + .../extended-blend-solid-alpha.traps.argb32.ref.png | Bin 9406 -> 0 bytes + .../extended-blend-solid-alpha.traps.rgb24.ref.png | Bin 5740 -> 0 bytes + .../reference/extended-blend-solid.mask.argb32.ref.png | Bin 4063 -> 0 bytes + test/reference/extended-blend-solid.mask.rgb24.ref.png | Bin 3775 -> 0 bytes + .../extended-blend-solid.traps.argb32.ref.png | Bin 4063 -> 0 bytes + .../reference/extended-blend-solid.traps.rgb24.ref.png | Bin 3775 -> 0 bytes + test/reference/extended-blend.mask.argb32.ref.png | Bin 4063 -> 0 bytes + test/reference/extended-blend.mask.rgb24.ref.png | Bin 3775 -> 0 bytes + test/reference/extended-blend.traps.argb32.ref.png | Bin 4063 -> 0 bytes + test/reference/extended-blend.traps.rgb24.ref.png | Bin 3775 -> 0 bytes + test/reference/fill-alpha-pattern.mask.argb32.ref.png | Bin 3381 -> 0 bytes + test/reference/fill-alpha-pattern.mask.rgb24.ref.png | Bin 3381 -> 0 bytes + test/reference/fill-alpha.mask.argb32.ref.png | Bin 2736 -> 0 bytes + test/reference/fill-alpha.mask.rgb24.ref.png | Bin 2736 -> 0 bytes + .../fill-and-stroke-alpha-add.mask.argb32.ref.png | Bin 556 -> 0 bytes + .../fill-and-stroke-alpha-add.mask.rgb24.ref.png | Bin 556 -> 0 bytes + .../fill-and-stroke-alpha.mask.argb32.ref.png | Bin 508 -> 0 bytes + .../reference/fill-and-stroke-alpha.mask.rgb24.ref.png | Bin 508 -> 0 bytes + test/reference/fill-and-stroke.mask.argb32.ref.png | Bin 312 -> 0 bytes + test/reference/fill-and-stroke.mask.rgb24.ref.png | Bin 283 -> 0 bytes + .../fill-degenerate-sort-order.mask.argb32.ref.png | Bin 2400 -> 0 bytes + .../fill-degenerate-sort-order.mask.rgb24.ref.png | Bin 2049 -> 0 bytes + test/reference/fill-disjoint.argb32.ref.png | Bin 1098 -> 0 bytes + test/reference/fill-disjoint.mask.argb32.ref.png | Bin 1098 -> 0 bytes + test/reference/fill-disjoint.mask.rgb24.ref.png | Bin 1098 -> 0 bytes + test/reference/fill-disjoint.rgb24.ref.png | Bin 1098 -> 0 bytes + test/reference/fill-disjoint.traps.argb32.ref.png | Bin 1098 -> 0 bytes + test/reference/fill-disjoint.traps.rgb24.ref.png | Bin 1098 -> 0 bytes + test/reference/fill-empty.mask.argb32.ref.png | Bin 99 -> 0 bytes + test/reference/fill-empty.mask.rgb24.ref.png | Bin 97 -> 0 bytes + test/reference/fill-empty.traps.argb32.ref.png | Bin 99 -> 0 bytes + test/reference/fill-empty.traps.rgb24.ref.png | Bin 97 -> 0 bytes + test/reference/fill-image.mask.argb32.ref.png | Bin 1315 -> 0 bytes + test/reference/fill-image.mask.rgb24.ref.png | Bin 1315 -> 0 bytes + test/reference/fill-missed-stop.mask.argb32.ref.png | Bin 455 -> 0 bytes + test/reference/fill-missed-stop.mask.rgb24.ref.png | Bin 382 -> 0 bytes + test/reference/fill-rule.mask.argb32.ref.png | Bin 2065 -> 0 bytes + test/reference/fill-rule.mask.rgb24.ref.png | Bin 1803 -> 0 bytes + .../filter-bilinear-extents.mask.argb32.ref.png | Bin 1210 -> 0 bytes + .../filter-bilinear-extents.mask.rgb24.ref.png | Bin 1210 -> 0 bytes + .../filter-bilinear-extents.traps.argb32.ref.png | Bin 1210 -> 0 bytes + .../filter-bilinear-extents.traps.rgb24.ref.png | Bin 1210 -> 0 bytes + test/reference/filter-nearest-offset.argb32.ref.png | Bin 201 -> 0 bytes + .../filter-nearest-offset.mask.argb32.ref.png | Bin 201 -> 0 bytes + .../reference/filter-nearest-offset.mask.rgb24.ref.png | Bin 201 -> 0 bytes + test/reference/filter-nearest-offset.rgb24.ref.png | Bin 201 -> 0 bytes + .../filter-nearest-offset.traps.argb32.ref.png | Bin 201 -> 0 bytes + .../filter-nearest-offset.traps.rgb24.ref.png | Bin 201 -> 0 bytes + .../filter-nearest-transformed.argb32.ref.png | Bin 514 -> 0 bytes + .../filter-nearest-transformed.mask.argb32.ref.png | Bin 514 -> 0 bytes + .../filter-nearest-transformed.mask.rgb24.ref.png | Bin 514 -> 0 bytes + .../reference/filter-nearest-transformed.rgb24.ref.png | Bin 514 -> 0 bytes + .../filter-nearest-transformed.traps.argb32.ref.png | Bin 514 -> 0 bytes + .../filter-nearest-transformed.traps.rgb24.ref.png | Bin 514 -> 0 bytes + .../font-matrix-translation.mask.argb32.ref.png | Bin 865 -> 0 bytes + .../font-matrix-translation.mask.rgb24.ref.png | Bin 865 -> 0 bytes + .../font-matrix-translation.traps.argb32.ref.png | Bin 865 -> 0 bytes + .../font-matrix-translation.traps.rgb24.ref.png | Bin 865 -> 0 bytes + .../ft-show-glyphs-positioning.mask.argb32.ref.png | Bin 3243 -> 0 bytes + .../ft-show-glyphs-positioning.mask.rgb24.ref.png | Bin 3243 -> 0 bytes + .../ft-show-glyphs-positioning.traps.argb32.ref.png | Bin 3243 -> 0 bytes + .../ft-show-glyphs-positioning.traps.rgb24.ref.png | Bin 3243 -> 0 bytes + .../reference/ft-show-glyphs-table.mask.argb32.ref.png | Bin 9975 -> 0 bytes + test/reference/ft-show-glyphs-table.mask.rgb24.ref.png | Bin 9975 -> 0 bytes + .../ft-show-glyphs-table.traps.argb32.ref.png | Bin 9975 -> 0 bytes + .../reference/ft-show-glyphs-table.traps.rgb24.ref.png | Bin 9975 -> 0 bytes + test/reference/ft-text-antialias-none.argb32.ref.png | Bin 295 -> 0 bytes + .../ft-text-antialias-none.mask.argb32.ref.png | Bin 295 -> 0 bytes + .../ft-text-antialias-none.mask.rgb24.ref.png | Bin 295 -> 0 bytes + test/reference/ft-text-antialias-none.rgb24.ref.png | Bin 295 -> 0 bytes + .../ft-text-antialias-none.traps.argb32.ref.png | Bin 295 -> 0 bytes + .../ft-text-antialias-none.traps.rgb24.ref.png | Bin 295 -> 0 bytes + .../ft-text-vertical-layout-type1.mask.argb32.ref.png | Bin 3062 -> 0 bytes + .../ft-text-vertical-layout-type1.mask.rgb24.ref.png | Bin 3062 -> 0 bytes + test/reference/get-group-target.argb32.ref.png | Bin 113 -> 0 bytes + test/reference/get-group-target.mask.argb32.ref.png | Bin 113 -> 0 bytes + test/reference/get-group-target.mask.rgb24.ref.png | Bin 113 -> 0 bytes + test/reference/get-group-target.rgb24.ref.png | Bin 113 -> 0 bytes + test/reference/get-group-target.traps.argb32.ref.png | Bin 113 -> 0 bytes + test/reference/get-group-target.traps.rgb24.ref.png | Bin 113 -> 0 bytes + test/reference/gl-surface-source.mask.argb32.ref.png | Bin 377 -> 0 bytes + test/reference/gl-surface-source.mask.rgb24.ref.png | Bin 301 -> 0 bytes + test/reference/gl-surface-source.traps.argb32.ref.png | Bin 377 -> 0 bytes + test/reference/gl-surface-source.traps.rgb24.ref.png | Bin 301 -> 0 bytes + .../reference/glyph-cache-pressure.mask.argb32.ref.png | Bin 2858 -> 0 bytes + test/reference/glyph-cache-pressure.mask.rgb24.ref.png | Bin 2858 -> 0 bytes + .../glyph-cache-pressure.traps.argb32.ref.png | Bin 2858 -> 0 bytes + .../reference/glyph-cache-pressure.traps.rgb24.ref.png | Bin 2858 -> 0 bytes + test/reference/gradient-alpha.mask.argb32.ref.png | Bin 125 -> 0 bytes + test/reference/gradient-alpha.mask.rgb24.ref.png | Bin 119 -> 0 bytes + test/reference/gradient-alpha.traps.argb32.ref.png | Bin 125 -> 0 bytes + test/reference/gradient-alpha.traps.rgb24.ref.png | Bin 119 -> 0 bytes + .../gradient-constant-alpha.mask.argb32.ref.png | Bin 111 -> 0 bytes + .../gradient-constant-alpha.mask.rgb24.ref.png | Bin 106 -> 0 bytes + .../gradient-constant-alpha.traps.argb32.ref.png | Bin 111 -> 0 bytes + .../gradient-constant-alpha.traps.rgb24.ref.png | Bin 106 -> 0 bytes + .../gradient-zero-stops-mask.mask.argb32.ref.png | Bin 86 -> 0 bytes + .../gradient-zero-stops-mask.mask.rgb24.ref.png | Bin 86 -> 0 bytes + .../gradient-zero-stops-mask.traps.argb32.ref.png | Bin 86 -> 0 bytes + .../gradient-zero-stops-mask.traps.rgb24.ref.png | Bin 86 -> 0 bytes + test/reference/gradient-zero-stops.argb32.ref.png | Bin 86 -> 0 bytes + test/reference/gradient-zero-stops.mask.argb32.ref.png | Bin 86 -> 0 bytes + test/reference/gradient-zero-stops.mask.rgb24.ref.png | Bin 86 -> 0 bytes + .../reference/gradient-zero-stops.traps.argb32.ref.png | Bin 86 -> 0 bytes + test/reference/gradient-zero-stops.traps.rgb24.ref.png | Bin 86 -> 0 bytes + test/reference/group-clip.argb32.ref.png | Bin 191 -> 0 bytes + test/reference/group-clip.mask.argb32.ref.png | Bin 191 -> 0 bytes + test/reference/group-clip.mask.rgb24.ref.png | Bin 191 -> 0 bytes + test/reference/group-clip.rgb24.ref.png | Bin 191 -> 0 bytes + test/reference/group-clip.traps.argb32.ref.png | Bin 191 -> 0 bytes + test/reference/group-clip.traps.rgb24.ref.png | Bin 191 -> 0 bytes + test/reference/group-paint.argb32.ref.png | Bin 95 -> 0 bytes + test/reference/group-paint.mask.argb32.ref.png | Bin 95 -> 0 bytes + test/reference/group-paint.mask.rgb24.ref.png | Bin 95 -> 0 bytes + test/reference/group-paint.rgb24.ref.png | Bin 95 -> 0 bytes + test/reference/group-paint.traps.argb32.ref.png | Bin 95 -> 0 bytes + test/reference/group-paint.traps.rgb24.ref.png | Bin 95 -> 0 bytes + test/reference/group-unaligned.mask.argb32.ref.png | Bin 427 -> 0 bytes + test/reference/group-unaligned.mask.rgb24.ref.png | Bin 427 -> 0 bytes + test/reference/halo-transform.mask.argb32.ref.png | Bin 15063 -> 0 bytes + test/reference/halo-transform.mask.rgb24.ref.png | Bin 15063 -> 0 bytes + test/reference/halo-transform.traps.argb32.ref.png | Bin 15122 -> 0 bytes + test/reference/halo-transform.traps.rgb24.ref.png | Bin 15122 -> 0 bytes + test/reference/horizontal-clip.mask.argb32.ref.png | Bin 113 -> 0 bytes + test/reference/horizontal-clip.mask.rgb24.ref.png | Bin 113 -> 0 bytes + test/reference/horizontal-clip.traps.argb32.ref.png | Bin 113 -> 0 bytes + test/reference/horizontal-clip.traps.rgb24.ref.png | Bin 113 -> 0 bytes + test/reference/huge-linear.mask.argb32.ref.png | Bin 1600 -> 0 bytes + test/reference/huge-linear.mask.rgb24.ref.png | Bin 1600 -> 0 bytes + test/reference/huge-linear.traps.argb32.ref.png | Bin 1600 -> 0 bytes + test/reference/huge-linear.traps.rgb24.ref.png | Bin 1600 -> 0 bytes + test/reference/huge-radial.argb32.ref.png | Bin 41702 -> 0 bytes + test/reference/huge-radial.mask.argb32.ref.png | Bin 41702 -> 0 bytes + test/reference/huge-radial.mask.rgb24.ref.png | Bin 41702 -> 0 bytes + test/reference/huge-radial.rgb24.ref.png | Bin 41702 -> 0 bytes + test/reference/huge-radial.traps.argb32.ref.png | Bin 41702 -> 0 bytes + test/reference/huge-radial.traps.rgb24.ref.png | Bin 41702 -> 0 bytes + test/reference/image-bug-710072-aligned.argb32.ref.png | Bin 151 -> 0 bytes + .../image-bug-710072-aligned.mask.argb32.ref.png | Bin 151 -> 0 bytes + .../image-bug-710072-aligned.mask.rgb24.ref.png | Bin 151 -> 0 bytes + test/reference/image-bug-710072-aligned.rgb24.ref.png | Bin 151 -> 0 bytes + .../image-bug-710072-aligned.traps.argb32.ref.png | Bin 151 -> 0 bytes + .../image-bug-710072-aligned.traps.rgb24.ref.png | Bin 151 -> 0 bytes + ...mage-bug-710072-aligned.xlib-fallback.rgb24.ref.png | Bin 151 -> 0 bytes + .../image-bug-710072-aligned.xlib-window.rgb24.ref.png | Bin 151 -> 0 bytes + .../image-bug-710072-unaligned.argb32.ref.png | Bin 212 -> 0 bytes + .../image-bug-710072-unaligned.mask.argb32.ref.png | Bin 212 -> 0 bytes + .../image-bug-710072-unaligned.mask.rgb24.ref.png | Bin 212 -> 0 bytes + .../reference/image-bug-710072-unaligned.rgb24.ref.png | Bin 212 -> 0 bytes + .../reference/image-surface-source.mask.argb32.ref.png | Bin 377 -> 0 bytes + test/reference/image-surface-source.mask.rgb24.ref.png | Bin 301 -> 0 bytes + .../image-surface-source.traps.argb32.ref.png | Bin 377 -> 0 bytes + .../reference/image-surface-source.traps.rgb24.ref.png | Bin 301 -> 0 bytes + .../image-surface-source.xlib-fallback.rgb24.ref.png | Bin 301 -> 0 bytes + .../image-surface-source.xlib-window.rgb24.ref.png | Bin 301 -> 0 bytes + test/reference/implicit-close.argb32.ref.png | Bin 251 -> 0 bytes + test/reference/implicit-close.mask.argb32.ref.png | Bin 251 -> 0 bytes + test/reference/implicit-close.mask.rgb24.ref.png | Bin 251 -> 0 bytes + test/reference/implicit-close.rgb24.ref.png | Bin 251 -> 0 bytes + test/reference/infinite-join.mask.argb32.ref.png | Bin 164 -> 0 bytes + test/reference/infinite-join.mask.rgb24.ref.png | Bin 164 -> 0 bytes + test/reference/inverse-text.traps.argb32.ref.png | Bin 2162 -> 0 bytes + test/reference/inverse-text.traps.rgb24.ref.png | Bin 2162 -> 0 bytes + test/reference/joins-loop.mask.argb32.ref.png | Bin 4492 -> 0 bytes + test/reference/joins-loop.mask.rgb24.ref.png | Bin 4492 -> 0 bytes + test/reference/joins-star.mask.argb32.ref.png | Bin 4914 -> 0 bytes + test/reference/joins-star.mask.rgb24.ref.png | Bin 4914 -> 0 bytes + test/reference/large-clip.argb32.ref.png | Bin 305 -> 0 bytes + test/reference/large-clip.mask.argb32.ref.png | Bin 305 -> 0 bytes + test/reference/large-clip.mask.rgb24.ref.png | Bin 305 -> 0 bytes + test/reference/large-clip.rgb24.ref.png | Bin 305 -> 0 bytes + test/reference/large-clip.traps.argb32.ref.png | Bin 305 -> 0 bytes + test/reference/large-clip.traps.rgb24.ref.png | Bin 305 -> 0 bytes + test/reference/large-font.argb32.ref.png | Bin 6117 -> 0 bytes + test/reference/large-font.mask.argb32.ref.png | Bin 6117 -> 0 bytes + test/reference/large-font.mask.rgb24.ref.png | Bin 6117 -> 0 bytes + test/reference/large-font.rgb24.ref.png | Bin 6117 -> 0 bytes + test/reference/large-font.traps.argb32.ref.png | Bin 6117 -> 0 bytes + test/reference/large-font.traps.rgb24.ref.png | Bin 6117 -> 0 bytes + test/reference/large-source-roi.argb32.ref.png | Bin 93 -> 0 bytes + test/reference/large-source-roi.mask.argb32.ref.png | Bin 93 -> 0 bytes + test/reference/large-source-roi.mask.rgb24.ref.png | Bin 93 -> 0 bytes + test/reference/large-source-roi.rgb24.ref.png | Bin 93 -> 0 bytes + test/reference/large-source-roi.traps.argb32.ref.png | Bin 93 -> 0 bytes + test/reference/large-source-roi.traps.rgb24.ref.png | Bin 93 -> 0 bytes + test/reference/large-source.argb32.ref.png | Bin 112 -> 0 bytes + test/reference/large-source.mask.argb32.ref.png | Bin 112 -> 0 bytes + test/reference/large-source.mask.rgb24.ref.png | Bin 112 -> 0 bytes + test/reference/large-source.rgb24.ref.png | Bin 112 -> 0 bytes + test/reference/large-source.traps.argb32.ref.png | Bin 112 -> 0 bytes + test/reference/large-source.traps.rgb24.ref.png | Bin 112 -> 0 bytes + .../large-twin-antialias-mixed.mask.argb32.ref.png | Bin 16660 -> 0 bytes + .../large-twin-antialias-mixed.mask.rgb24.ref.png | Bin 16660 -> 0 bytes + test/reference/leaky-dash.argb32.ref.png | Bin 197 -> 0 bytes + test/reference/leaky-dash.mask.argb32.ref.png | Bin 197 -> 0 bytes + test/reference/leaky-dash.mask.rgb24.ref.png | Bin 197 -> 0 bytes + test/reference/leaky-dash.rgb24.ref.png | Bin 197 -> 0 bytes + test/reference/leaky-dash.traps.argb32.ref.png | Bin 197 -> 0 bytes + test/reference/leaky-dash.traps.rgb24.ref.png | Bin 197 -> 0 bytes + test/reference/leaky-dashed-rectangle.argb32.ref.png | Bin 357 -> 0 bytes + .../leaky-dashed-rectangle.mask.argb32.ref.png | Bin 357 -> 0 bytes + .../leaky-dashed-rectangle.mask.rgb24.ref.png | Bin 357 -> 0 bytes + test/reference/leaky-dashed-rectangle.rgb24.ref.png | Bin 357 -> 0 bytes + test/reference/leaky-dashed-stroke.mask.argb32.ref.png | Bin 9387 -> 0 bytes + test/reference/leaky-dashed-stroke.mask.rgb24.ref.png | Bin 9387 -> 0 bytes + test/reference/leaky-polygon.mask.argb32.ref.png | Bin 337 -> 0 bytes + test/reference/leaky-polygon.mask.rgb24.ref.png | Bin 337 -> 0 bytes + .../line-width-large-overlap-flipped.argb32.ref.png | Bin 305 -> 0 bytes + ...ine-width-large-overlap-flipped.mask.argb32.ref.png | Bin 305 -> 0 bytes + ...line-width-large-overlap-flipped.mask.rgb24.ref.png | Bin 305 -> 0 bytes + .../line-width-large-overlap-flipped.rgb24.ref.png | Bin 305 -> 0 bytes + ...ne-width-large-overlap-flipped.traps.argb32.ref.png | Bin 305 -> 0 bytes + ...ine-width-large-overlap-flipped.traps.rgb24.ref.png | Bin 305 -> 0 bytes + .../line-width-large-overlap-flopped.argb32.ref.png | Bin 305 -> 0 bytes + ...ine-width-large-overlap-flopped.mask.argb32.ref.png | Bin 305 -> 0 bytes + ...line-width-large-overlap-flopped.mask.rgb24.ref.png | Bin 305 -> 0 bytes + .../line-width-large-overlap-flopped.rgb24.ref.png | Bin 305 -> 0 bytes + ...ne-width-large-overlap-flopped.traps.argb32.ref.png | Bin 305 -> 0 bytes + ...ine-width-large-overlap-flopped.traps.rgb24.ref.png | Bin 305 -> 0 bytes + .../line-width-large-overlap-offset.argb32.ref.png | Bin 305 -> 0 bytes + ...line-width-large-overlap-offset.mask.argb32.ref.png | Bin 305 -> 0 bytes + .../line-width-large-overlap-offset.mask.rgb24.ref.png | Bin 305 -> 0 bytes + .../line-width-large-overlap-offset.rgb24.ref.png | Bin 305 -> 0 bytes + ...ine-width-large-overlap-offset.traps.argb32.ref.png | Bin 305 -> 0 bytes + ...line-width-large-overlap-offset.traps.rgb24.ref.png | Bin 305 -> 0 bytes + ...ine-width-large-overlap-rotated.mask.argb32.ref.png | Bin 427 -> 0 bytes + ...line-width-large-overlap-rotated.mask.rgb24.ref.png | Bin 427 -> 0 bytes + ...ne-width-large-overlap-rotated.traps.argb32.ref.png | Bin 404 -> 0 bytes + ...ine-width-large-overlap-rotated.traps.rgb24.ref.png | Bin 404 -> 0 bytes + test/reference/line-width-large-overlap.argb32.ref.png | Bin 305 -> 0 bytes + .../line-width-large-overlap.mask.argb32.ref.png | Bin 305 -> 0 bytes + .../line-width-large-overlap.mask.rgb24.ref.png | Bin 305 -> 0 bytes + test/reference/line-width-large-overlap.rgb24.ref.png | Bin 305 -> 0 bytes + .../line-width-large-overlap.traps.argb32.ref.png | Bin 305 -> 0 bytes + .../line-width-large-overlap.traps.rgb24.ref.png | Bin 305 -> 0 bytes + .../line-width-overlap-flipped.argb32.ref.png | Bin 324 -> 0 bytes + .../line-width-overlap-flipped.mask.argb32.ref.png | Bin 324 -> 0 bytes + .../line-width-overlap-flipped.mask.rgb24.ref.png | Bin 324 -> 0 bytes + .../reference/line-width-overlap-flipped.rgb24.ref.png | Bin 324 -> 0 bytes + .../line-width-overlap-flipped.traps.argb32.ref.png | Bin 324 -> 0 bytes + .../line-width-overlap-flipped.traps.rgb24.ref.png | Bin 324 -> 0 bytes + .../line-width-overlap-flopped.argb32.ref.png | Bin 324 -> 0 bytes + .../line-width-overlap-flopped.mask.argb32.ref.png | Bin 324 -> 0 bytes + .../line-width-overlap-flopped.mask.rgb24.ref.png | Bin 324 -> 0 bytes + .../reference/line-width-overlap-flopped.rgb24.ref.png | Bin 324 -> 0 bytes + .../line-width-overlap-flopped.traps.argb32.ref.png | Bin 324 -> 0 bytes + .../line-width-overlap-flopped.traps.rgb24.ref.png | Bin 324 -> 0 bytes + .../reference/line-width-overlap-offset.argb32.ref.png | Bin 348 -> 0 bytes + .../line-width-overlap-offset.mask.argb32.ref.png | Bin 348 -> 0 bytes + .../line-width-overlap-offset.mask.rgb24.ref.png | Bin 348 -> 0 bytes + test/reference/line-width-overlap-offset.rgb24.ref.png | Bin 348 -> 0 bytes + .../line-width-overlap-offset.traps.argb32.ref.png | Bin 365 -> 0 bytes + .../line-width-overlap-offset.traps.rgb24.ref.png | Bin 365 -> 0 bytes + .../line-width-overlap-rotated.mask.argb32.ref.png | Bin 828 -> 0 bytes + .../line-width-overlap-rotated.mask.rgb24.ref.png | Bin 828 -> 0 bytes + test/reference/line-width-overlap.argb32.ref.png | Bin 324 -> 0 bytes + test/reference/line-width-overlap.mask.argb32.ref.png | Bin 324 -> 0 bytes + test/reference/line-width-overlap.mask.rgb24.ref.png | Bin 324 -> 0 bytes + test/reference/line-width-overlap.rgb24.ref.png | Bin 324 -> 0 bytes + test/reference/line-width-overlap.traps.argb32.ref.png | Bin 324 -> 0 bytes + test/reference/line-width-overlap.traps.rgb24.ref.png | Bin 324 -> 0 bytes + test/reference/line-width-scale.mask.argb32.ref.png | Bin 5721 -> 0 bytes + test/reference/line-width-scale.mask.rgb24.ref.png | Bin 5721 -> 0 bytes + .../reference/line-width-tolerance.mask.argb32.ref.png | Bin 168 -> 0 bytes + test/reference/line-width-tolerance.mask.rgb24.ref.png | Bin 168 -> 0 bytes + test/reference/line-width.mask.argb32.ref.png | Bin 178 -> 0 bytes + test/reference/line-width.mask.rgb24.ref.png | Bin 178 -> 0 bytes + test/reference/linear-gradient-extend.argb32.ref.png | Bin 371 -> 0 bytes + .../linear-gradient-extend.mask.argb32.ref.png | Bin 371 -> 0 bytes + .../linear-gradient-extend.mask.rgb24.ref.png | Bin 371 -> 0 bytes + test/reference/linear-gradient-extend.rgb24.ref.png | Bin 371 -> 0 bytes + .../linear-gradient-extend.traps.argb32.ref.png | Bin 371 -> 0 bytes + .../linear-gradient-extend.traps.rgb24.ref.png | Bin 371 -> 0 bytes + test/reference/linear-gradient-large.argb32.ref.png | Bin 4076 -> 0 bytes + .../linear-gradient-large.mask.argb32.ref.png | Bin 4076 -> 0 bytes + .../reference/linear-gradient-large.mask.rgb24.ref.png | Bin 4076 -> 0 bytes + test/reference/linear-gradient-large.rgb24.ref.png | Bin 4076 -> 0 bytes + .../linear-gradient-large.traps.argb32.ref.png | Bin 4076 -> 0 bytes + .../linear-gradient-large.traps.rgb24.ref.png | Bin 4076 -> 0 bytes + .../linear-gradient-one-stop.mask.argb32.ref.png | Bin 225 -> 0 bytes + .../linear-gradient-one-stop.mask.rgb24.ref.png | Bin 174 -> 0 bytes + .../linear-gradient-one-stop.traps.argb32.ref.png | Bin 225 -> 0 bytes + .../linear-gradient-one-stop.traps.rgb24.ref.png | Bin 174 -> 0 bytes + .../linear-gradient-reflect.mask.argb32.ref.png | Bin 185 -> 0 bytes + .../linear-gradient-reflect.mask.rgb24.ref.png | Bin 185 -> 0 bytes + .../linear-gradient-reflect.traps.argb32.ref.png | Bin 185 -> 0 bytes + .../linear-gradient-reflect.traps.rgb24.ref.png | Bin 185 -> 0 bytes + .../linear-gradient-subset.mask.argb32.ref.png | Bin 820 -> 0 bytes + .../linear-gradient-subset.mask.rgb24.ref.png | Bin 820 -> 0 bytes + test/reference/linear-gradient.mask.argb32.ref.png | Bin 974 -> 0 bytes + test/reference/linear-gradient.mask.rgb24.ref.png | Bin 974 -> 0 bytes + test/reference/linear-uniform.argb32.ref.png | Bin 128 -> 0 bytes + test/reference/linear-uniform.mask.argb32.ref.png | Bin 128 -> 0 bytes + test/reference/linear-uniform.mask.rgb24.ref.png | Bin 128 -> 0 bytes + test/reference/linear-uniform.rgb24.ref.png | Bin 128 -> 0 bytes + test/reference/linear-uniform.traps.argb32.ref.png | Bin 128 -> 0 bytes + test/reference/linear-uniform.traps.rgb24.ref.png | Bin 128 -> 0 bytes + test/reference/long-dashed-lines.mask.argb32.ref.png | Bin 2548 -> 0 bytes + test/reference/long-dashed-lines.mask.rgb24.ref.png | Bin 2548 -> 0 bytes + test/reference/map-all-to-image.argb32.ref.png | Bin 86 -> 0 bytes + test/reference/map-all-to-image.mask.argb32.ref.png | Bin 86 -> 0 bytes + test/reference/map-all-to-image.mask.rgb24.ref.png | Bin 86 -> 0 bytes + test/reference/map-all-to-image.rgb24.ref.png | Bin 86 -> 0 bytes + test/reference/map-all-to-image.traps.argb32.ref.png | Bin 86 -> 0 bytes + test/reference/map-all-to-image.traps.rgb24.ref.png | Bin 86 -> 0 bytes + test/reference/map-bit-to-image.argb32.ref.png | Bin 103 -> 0 bytes + test/reference/map-bit-to-image.mask.argb32.ref.png | Bin 103 -> 0 bytes + test/reference/map-bit-to-image.mask.rgb24.ref.png | Bin 103 -> 0 bytes + test/reference/map-bit-to-image.rgb24.ref.png | Bin 103 -> 0 bytes + test/reference/map-bit-to-image.traps.argb32.ref.png | Bin 103 -> 0 bytes + test/reference/map-bit-to-image.traps.rgb24.ref.png | Bin 103 -> 0 bytes + test/reference/map-to-image-fill.argb32.ref.png | Bin 103 -> 0 bytes + test/reference/map-to-image-fill.mask.argb32.ref.png | Bin 103 -> 0 bytes + test/reference/map-to-image-fill.mask.rgb24.ref.png | Bin 103 -> 0 bytes + test/reference/map-to-image-fill.rgb24.ref.png | Bin 103 -> 0 bytes + test/reference/map-to-image-fill.traps.argb32.ref.png | Bin 103 -> 0 bytes + test/reference/map-to-image-fill.traps.rgb24.ref.png | Bin 103 -> 0 bytes + .../map-to-image-fill.xlib-fallback.rgb24.ref.png | Bin 103 -> 0 bytes + .../map-to-image-fill.xlib-window.rgb24.ref.png | Bin 103 -> 0 bytes + test/reference/mask-alpha.mask.argb32.ref.png | Bin 632 -> 0 bytes + test/reference/mask-alpha.mask.rgb24.ref.png | Bin 589 -> 0 bytes + test/reference/mask-ctm.argb32.ref.png | Bin 110 -> 0 bytes + test/reference/mask-ctm.mask.argb32.ref.png | Bin 110 -> 0 bytes + test/reference/mask-ctm.mask.rgb24.ref.png | Bin 105 -> 0 bytes + test/reference/mask-ctm.traps.argb32.ref.png | Bin 110 -> 0 bytes + test/reference/mask-ctm.traps.rgb24.ref.png | Bin 105 -> 0 bytes + test/reference/mask-surface-ctm.argb32.ref.png | Bin 110 -> 0 bytes + test/reference/mask-surface-ctm.mask.argb32.ref.png | Bin 110 -> 0 bytes + test/reference/mask-surface-ctm.mask.rgb24.ref.png | Bin 105 -> 0 bytes + test/reference/mask-surface-ctm.traps.argb32.ref.png | Bin 110 -> 0 bytes + test/reference/mask-surface-ctm.traps.rgb24.ref.png | Bin 105 -> 0 bytes + .../mask-transformed-image.mask.argb32.ref.png | Bin 3812 -> 0 bytes + .../mask-transformed-image.mask.rgb24.ref.png | Bin 3812 -> 0 bytes + .../mask-transformed-image.traps.argb32.ref.png | Bin 3812 -> 0 bytes + .../mask-transformed-image.traps.rgb24.ref.png | Bin 3812 -> 0 bytes + .../mask-transformed-similar.mask.argb32.ref.png | Bin 3812 -> 0 bytes + .../mask-transformed-similar.mask.rgb24.ref.png | Bin 3812 -> 0 bytes + .../mask-transformed-similar.traps.argb32.ref.png | Bin 3812 -> 0 bytes + .../mask-transformed-similar.traps.rgb24.ref.png | Bin 3812 -> 0 bytes + test/reference/mask.mask.argb32.ref.png | Bin 8565 -> 0 bytes + test/reference/mask.mask.rgb24.ref.png | Bin 7135 -> 0 bytes + test/reference/mesh-pattern-accuracy.argb32.ref.png | Bin 8086 -> 0 bytes + .../mesh-pattern-accuracy.mask.argb32.ref.png | Bin 8086 -> 0 bytes + .../reference/mesh-pattern-accuracy.mask.rgb24.ref.png | Bin 8086 -> 0 bytes + test/reference/mesh-pattern-accuracy.rgb24.ref.png | Bin 8086 -> 0 bytes + .../mesh-pattern-accuracy.traps.argb32.ref.png | Bin 8086 -> 0 bytes + .../mesh-pattern-accuracy.traps.rgb24.ref.png | Bin 8086 -> 0 bytes + test/reference/mesh-pattern-conical.argb32.ref.png | Bin 8655 -> 0 bytes + .../reference/mesh-pattern-conical.mask.argb32.ref.png | Bin 8655 -> 0 bytes + test/reference/mesh-pattern-conical.mask.rgb24.ref.png | Bin 8655 -> 0 bytes + test/reference/mesh-pattern-conical.rgb24.ref.png | Bin 8655 -> 0 bytes + .../mesh-pattern-conical.traps.argb32.ref.png | Bin 8655 -> 0 bytes + .../reference/mesh-pattern-conical.traps.rgb24.ref.png | Bin 8655 -> 0 bytes + .../mesh-pattern-control-points.argb32.ref.png | Bin 10665 -> 0 bytes + .../mesh-pattern-control-points.mask.argb32.ref.png | Bin 10665 -> 0 bytes + .../mesh-pattern-control-points.mask.rgb24.ref.png | Bin 10665 -> 0 bytes + .../mesh-pattern-control-points.rgb24.ref.png | Bin 10665 -> 0 bytes + .../mesh-pattern-control-points.traps.argb32.ref.png | Bin 10665 -> 0 bytes + .../mesh-pattern-control-points.traps.rgb24.ref.png | Bin 10665 -> 0 bytes + test/reference/mesh-pattern-fold.argb32.ref.png | Bin 52980 -> 0 bytes + test/reference/mesh-pattern-fold.mask.argb32.ref.png | Bin 52980 -> 0 bytes + test/reference/mesh-pattern-fold.mask.rgb24.ref.png | Bin 52980 -> 0 bytes + test/reference/mesh-pattern-fold.rgb24.ref.png | Bin 52980 -> 0 bytes + test/reference/mesh-pattern-fold.traps.argb32.ref.png | Bin 52980 -> 0 bytes + test/reference/mesh-pattern-fold.traps.rgb24.ref.png | Bin 52980 -> 0 bytes + test/reference/mesh-pattern-overlap.argb32.ref.png | Bin 9129 -> 0 bytes + .../reference/mesh-pattern-overlap.mask.argb32.ref.png | Bin 9129 -> 0 bytes + test/reference/mesh-pattern-overlap.mask.rgb24.ref.png | Bin 9129 -> 0 bytes + test/reference/mesh-pattern-overlap.rgb24.ref.png | Bin 9129 -> 0 bytes + .../mesh-pattern-overlap.traps.argb32.ref.png | Bin 9129 -> 0 bytes + .../reference/mesh-pattern-overlap.traps.rgb24.ref.png | Bin 9129 -> 0 bytes + test/reference/mesh-pattern-transformed.argb32.ref.png | Bin 14463 -> 0 bytes + .../mesh-pattern-transformed.mask.argb32.ref.png | Bin 14463 -> 0 bytes + .../mesh-pattern-transformed.mask.rgb24.ref.png | Bin 14463 -> 0 bytes + test/reference/mesh-pattern-transformed.rgb24.ref.png | Bin 14463 -> 0 bytes + .../mesh-pattern-transformed.traps.argb32.ref.png | Bin 14463 -> 0 bytes + .../mesh-pattern-transformed.traps.rgb24.ref.png | Bin 14463 -> 0 bytes + test/reference/mesh-pattern.argb32.ref.png | Bin 19566 -> 0 bytes + test/reference/mesh-pattern.mask.argb32.ref.png | Bin 19566 -> 0 bytes + test/reference/mesh-pattern.mask.rgb24.ref.png | Bin 19566 -> 0 bytes + test/reference/mesh-pattern.rgb24.ref.png | Bin 19566 -> 0 bytes + test/reference/mesh-pattern.traps.argb32.ref.png | Bin 19566 -> 0 bytes + test/reference/mesh-pattern.traps.rgb24.ref.png | Bin 19566 -> 0 bytes + test/reference/mime-data.argb32.ref.png | Bin 185 -> 0 bytes + test/reference/mime-data.mask.argb32.ref.png | Bin 185 -> 0 bytes + test/reference/mime-data.mask.rgb24.ref.png | Bin 185 -> 0 bytes + test/reference/mime-data.rgb24.ref.png | Bin 185 -> 0 bytes + test/reference/mime-data.traps.argb32.ref.png | Bin 185 -> 0 bytes + test/reference/mime-data.traps.rgb24.ref.png | Bin 185 -> 0 bytes + test/reference/miter-precision.mask.argb32.ref.png | Bin 1030 -> 0 bytes + test/reference/miter-precision.mask.rgb24.ref.png | Bin 1030 -> 0 bytes + test/reference/move-to-show-surface.argb32.ref.png | Bin 96 -> 0 bytes + .../reference/move-to-show-surface.mask.argb32.ref.png | Bin 96 -> 0 bytes + test/reference/move-to-show-surface.mask.rgb24.ref.png | Bin 96 -> 0 bytes + test/reference/move-to-show-surface.rgb24.ref.png | Bin 96 -> 0 bytes + .../move-to-show-surface.traps.argb32.ref.png | Bin 96 -> 0 bytes + .../reference/move-to-show-surface.traps.rgb24.ref.png | Bin 96 -> 0 bytes + test/reference/negative-stride-image.argb32.ref.png | Bin 81121 -> 0 bytes + .../negative-stride-image.mask.argb32.ref.png | Bin 81121 -> 0 bytes + .../reference/negative-stride-image.mask.rgb24.ref.png | Bin 81121 -> 0 bytes + test/reference/negative-stride-image.rgb24.ref.png | Bin 81121 -> 0 bytes + .../negative-stride-image.traps.argb32.ref.png | Bin 81121 -> 0 bytes + .../negative-stride-image.traps.rgb24.ref.png | Bin 81121 -> 0 bytes + test/reference/new-sub-path.mask.argb32.ref.png | Bin 408 -> 0 bytes + test/reference/new-sub-path.mask.rgb24.ref.png | Bin 371 -> 0 bytes + test/reference/nil-surface.argb32.ref.png | Bin 88 -> 0 bytes + test/reference/nil-surface.mask.argb32.ref.png | Bin 88 -> 0 bytes + test/reference/nil-surface.mask.rgb24.ref.png | Bin 87 -> 0 bytes + test/reference/nil-surface.traps.argb32.ref.png | Bin 88 -> 0 bytes + test/reference/nil-surface.traps.rgb24.ref.png | Bin 87 -> 0 bytes + test/reference/operator-alpha-alpha.argb32.ref.png | Bin 3441 -> 0 bytes + .../reference/operator-alpha-alpha.mask.argb32.ref.png | Bin 3441 -> 0 bytes + test/reference/operator-alpha-alpha.mask.rgb24.ref.png | Bin 3441 -> 0 bytes + test/reference/operator-alpha-alpha.rgb24.ref.png | Bin 3441 -> 0 bytes + test/reference/operator-alpha.argb32.ref.png | Bin 280 -> 0 bytes + test/reference/operator-alpha.mask.argb32.ref.png | Bin 280 -> 0 bytes + test/reference/operator-alpha.mask.rgb24.ref.png | Bin 205 -> 0 bytes + test/reference/operator-alpha.traps.argb32.ref.png | Bin 280 -> 0 bytes + test/reference/operator-alpha.traps.rgb24.ref.png | Bin 205 -> 0 bytes + test/reference/operator-clear.mask.argb32.ref.png | Bin 1071 -> 0 bytes + test/reference/operator.argb32.ref.png | Bin 238 -> 0 bytes + test/reference/operator.mask.argb32.ref.png | Bin 238 -> 0 bytes + test/reference/operator.mask.rgb24.ref.png | Bin 189 -> 0 bytes + test/reference/operator.traps.argb32.ref.png | Bin 238 -> 0 bytes + test/reference/operator.traps.rgb24.ref.png | Bin 189 -> 0 bytes + test/reference/over-above-source.mask.argb32.ref.png | Bin 564 -> 0 bytes + test/reference/over-above-source.mask.rgb24.ref.png | Bin 465 -> 0 bytes + test/reference/over-around-source.mask.argb32.ref.png | Bin 633 -> 0 bytes + test/reference/over-around-source.mask.rgb24.ref.png | Bin 499 -> 0 bytes + test/reference/over-below-source.mask.argb32.ref.png | Bin 447 -> 0 bytes + test/reference/over-below-source.mask.rgb24.ref.png | Bin 385 -> 0 bytes + test/reference/over-between-source.mask.argb32.ref.png | Bin 596 -> 0 bytes + test/reference/over-between-source.mask.rgb24.ref.png | Bin 463 -> 0 bytes + test/reference/overlapping-boxes.mask.argb32.ref.png | Bin 179 -> 0 bytes + test/reference/overlapping-boxes.mask.rgb24.ref.png | Bin 170 -> 0 bytes + test/reference/overlapping-glyphs.mask.argb32.ref.png | Bin 2717 -> 0 bytes + test/reference/overlapping-glyphs.mask.rgb24.ref.png | Bin 1663 -> 0 bytes + test/reference/paint-clip-fill-aa.argb32.ref.png | Bin 327 -> 0 bytes + test/reference/paint-clip-fill-aa.mask.argb32.ref.png | Bin 327 -> 0 bytes + test/reference/paint-clip-fill-aa.mask.rgb24.ref.png | Bin 327 -> 0 bytes + test/reference/paint-clip-fill-aa.rgb24.ref.png | Bin 327 -> 0 bytes + test/reference/paint-clip-fill-aa.traps.argb32.ref.png | Bin 327 -> 0 bytes + test/reference/paint-clip-fill-aa.traps.rgb24.ref.png | Bin 327 -> 0 bytes + test/reference/paint-clip-fill-mono.argb32.ref.png | Bin 327 -> 0 bytes + .../reference/paint-clip-fill-mono.mask.argb32.ref.png | Bin 327 -> 0 bytes + test/reference/paint-clip-fill-mono.mask.rgb24.ref.png | Bin 327 -> 0 bytes + test/reference/paint-clip-fill-mono.rgb24.ref.png | Bin 327 -> 0 bytes + .../paint-clip-fill-mono.traps.argb32.ref.png | Bin 327 -> 0 bytes + .../reference/paint-clip-fill-mono.traps.rgb24.ref.png | Bin 327 -> 0 bytes + test/reference/paint-repeat.argb32.ref.png | Bin 122 -> 0 bytes + test/reference/paint-repeat.mask.argb32.ref.png | Bin 122 -> 0 bytes + test/reference/paint-repeat.mask.rgb24.ref.png | Bin 122 -> 0 bytes + test/reference/paint-repeat.rgb24.ref.png | Bin 122 -> 0 bytes + test/reference/paint-repeat.traps.argb32.ref.png | Bin 122 -> 0 bytes + test/reference/paint-repeat.traps.rgb24.ref.png | Bin 122 -> 0 bytes + test/reference/paint-source-alpha.argb32.ref.png | Bin 224 -> 0 bytes + test/reference/paint-source-alpha.mask.argb32.ref.png | Bin 224 -> 0 bytes + test/reference/paint-source-alpha.mask.rgb24.ref.png | Bin 224 -> 0 bytes + test/reference/paint-source-alpha.rgb24.ref.png | Bin 224 -> 0 bytes + test/reference/paint-source-alpha.traps.argb32.ref.png | Bin 224 -> 0 bytes + test/reference/paint-source-alpha.traps.rgb24.ref.png | Bin 224 -> 0 bytes + test/reference/paint-with-alpha-clip.argb32.ref.png | Bin 290 -> 0 bytes + test/reference/paint-with-alpha-clip.rgb24.ref.png | Bin 290 -> 0 bytes + .../paint-with-alpha-solid-clip.argb32.ref.png | Bin 248 -> 0 bytes + .../paint-with-alpha-solid-clip.rgb24.ref.png | Bin 248 -> 0 bytes + test/reference/paint-with-alpha.argb32.ref.png | Bin 224 -> 0 bytes + test/reference/paint-with-alpha.mask.argb32.ref.png | Bin 224 -> 0 bytes + test/reference/paint-with-alpha.mask.rgb24.ref.png | Bin 224 -> 0 bytes + test/reference/paint-with-alpha.rgb24.ref.png | Bin 224 -> 0 bytes + test/reference/paint-with-alpha.traps.argb32.ref.png | Bin 224 -> 0 bytes + test/reference/paint-with-alpha.traps.rgb24.ref.png | Bin 224 -> 0 bytes + test/reference/paint.argb32.ref.png | Bin 93 -> 0 bytes + test/reference/paint.mask.argb32.ref.png | Bin 93 -> 0 bytes + test/reference/paint.mask.rgb24.ref.png | Bin 93 -> 0 bytes + test/reference/paint.rgb24.ref.png | Bin 93 -> 0 bytes + test/reference/paint.traps.argb32.ref.png | Bin 93 -> 0 bytes + test/reference/paint.traps.rgb24.ref.png | Bin 93 -> 0 bytes + .../partial-clip-text-bottom.mask.argb32.ref.png | Bin 261 -> 0 bytes + .../partial-clip-text-bottom.mask.rgb24.ref.png | Bin 261 -> 0 bytes + .../partial-clip-text-bottom.traps.argb32.ref.png | Bin 261 -> 0 bytes + .../partial-clip-text-bottom.traps.rgb24.ref.png | Bin 261 -> 0 bytes + .../partial-clip-text-left.mask.argb32.ref.png | Bin 301 -> 0 bytes + .../partial-clip-text-left.mask.rgb24.ref.png | Bin 301 -> 0 bytes + .../partial-clip-text-left.traps.argb32.ref.png | Bin 301 -> 0 bytes + .../partial-clip-text-left.traps.rgb24.ref.png | Bin 301 -> 0 bytes + .../partial-clip-text-right.mask.argb32.ref.png | Bin 155 -> 0 bytes + .../partial-clip-text-right.mask.rgb24.ref.png | Bin 155 -> 0 bytes + .../partial-clip-text-right.traps.argb32.ref.png | Bin 155 -> 0 bytes + .../partial-clip-text-right.traps.rgb24.ref.png | Bin 155 -> 0 bytes + .../partial-clip-text-top.mask.argb32.ref.png | Bin 181 -> 0 bytes + .../reference/partial-clip-text-top.mask.rgb24.ref.png | Bin 181 -> 0 bytes + .../partial-clip-text-top.traps.argb32.ref.png | Bin 181 -> 0 bytes + .../partial-clip-text-top.traps.rgb24.ref.png | Bin 181 -> 0 bytes + .../partial-coverage-half-reference.argb32.ref.png | Bin 189 -> 0 bytes + ...partial-coverage-half-reference.mask.argb32.ref.png | Bin 189 -> 0 bytes + .../partial-coverage-half-reference.mask.rgb24.ref.png | Bin 189 -> 0 bytes + .../partial-coverage-half-reference.rgb24.ref.png | Bin 189 -> 0 bytes + ...artial-coverage-half-reference.traps.argb32.ref.png | Bin 189 -> 0 bytes + ...partial-coverage-half-reference.traps.rgb24.ref.png | Bin 189 -> 0 bytes + .../partial-coverage-reference.argb32.ref.png | Bin 202 -> 0 bytes + .../partial-coverage-reference.mask.argb32.ref.png | Bin 202 -> 0 bytes + .../partial-coverage-reference.mask.rgb24.ref.png | Bin 202 -> 0 bytes + .../reference/partial-coverage-reference.rgb24.ref.png | Bin 202 -> 0 bytes + .../partial-coverage-reference.traps.argb32.ref.png | Bin 202 -> 0 bytes + .../partial-coverage-reference.traps.rgb24.ref.png | Bin 202 -> 0 bytes + ...ial-coverage-three-quarter-reference.argb32.ref.png | Bin 186 -> 0 bytes + ...overage-three-quarter-reference.mask.argb32.ref.png | Bin 186 -> 0 bytes + ...coverage-three-quarter-reference.mask.rgb24.ref.png | Bin 186 -> 0 bytes + ...tial-coverage-three-quarter-reference.rgb24.ref.png | Bin 186 -> 0 bytes + ...verage-three-quarter-reference.traps.argb32.ref.png | Bin 186 -> 0 bytes + ...overage-three-quarter-reference.traps.rgb24.ref.png | Bin 186 -> 0 bytes + test/reference/pass-through.argb32.ref.png | Bin 221 -> 0 bytes + test/reference/pass-through.mask.argb32.ref.png | Bin 221 -> 0 bytes + test/reference/pass-through.mask.rgb24.ref.png | Bin 158 -> 0 bytes + test/reference/pass-through.traps.argb32.ref.png | Bin 221 -> 0 bytes + test/reference/pass-through.traps.rgb24.ref.png | Bin 158 -> 0 bytes + test/reference/path-append.mask.argb32.ref.png | Bin 6144 -> 0 bytes + test/reference/path-append.mask.rgb24.ref.png | Bin 6144 -> 0 bytes + test/reference/path-stroke-twice.mask.argb32.ref.png | Bin 240 -> 0 bytes + test/reference/path-stroke-twice.mask.rgb24.ref.png | Bin 240 -> 0 bytes + test/reference/pattern-getters.argb32.ref.png | Bin 87 -> 0 bytes + test/reference/pattern-getters.mask.argb32.ref.png | Bin 87 -> 0 bytes + test/reference/pattern-getters.mask.rgb24.ref.png | Bin 87 -> 0 bytes + test/reference/pattern-getters.rgb24.ref.png | Bin 87 -> 0 bytes + test/reference/pattern-getters.traps.argb32.ref.png | Bin 87 -> 0 bytes + test/reference/pattern-getters.traps.rgb24.ref.png | Bin 87 -> 0 bytes + test/reference/pdf-surface-source.mask.argb32.ref.png | Bin 377 -> 0 bytes + test/reference/pdf-surface-source.mask.rgb24.ref.png | Bin 301 -> 0 bytes + test/reference/pdf-surface-source.traps.argb32.ref.png | Bin 377 -> 0 bytes + test/reference/pdf-surface-source.traps.rgb24.ref.png | Bin 301 -> 0 bytes + test/reference/pixman-rotate.argb32.ref.png | Bin 260 -> 0 bytes + test/reference/pixman-rotate.mask.argb32.ref.png | Bin 260 -> 0 bytes + test/reference/pixman-rotate.mask.rgb24.ref.png | Bin 225 -> 0 bytes + test/reference/pixman-rotate.traps.argb32.ref.png | Bin 260 -> 0 bytes + test/reference/pixman-rotate.traps.rgb24.ref.png | Bin 225 -> 0 bytes + test/reference/ps-surface-source.mask.argb32.ref.png | Bin 377 -> 0 bytes + test/reference/ps-surface-source.mask.rgb24.ref.png | Bin 301 -> 0 bytes + test/reference/ps-surface-source.traps.argb32.ref.png | Bin 377 -> 0 bytes + test/reference/ps-surface-source.traps.rgb24.ref.png | Bin 301 -> 0 bytes + test/reference/pthread-same-source.argb32.ref.png | Bin 1000 -> 0 bytes + test/reference/pthread-same-source.mask.argb32.ref.png | Bin 1000 -> 0 bytes + test/reference/pthread-same-source.mask.rgb24.ref.png | Bin 1000 -> 0 bytes + test/reference/pthread-same-source.rgb24.ref.png | Bin 1000 -> 0 bytes + .../reference/pthread-same-source.traps.argb32.ref.png | Bin 1000 -> 0 bytes + test/reference/pthread-same-source.traps.rgb24.ref.png | Bin 1000 -> 0 bytes + test/reference/pthread-show-text.mask.argb32.ref.png | Bin 30199 -> 0 bytes + test/reference/pthread-show-text.mask.rgb24.ref.png | Bin 30199 -> 0 bytes + test/reference/pthread-show-text.traps.argb32.ref.png | Bin 30199 -> 0 bytes + test/reference/pthread-show-text.traps.rgb24.ref.png | Bin 30199 -> 0 bytes + test/reference/pthread-similar.argb32.ref.png | Bin 170 -> 0 bytes + test/reference/pthread-similar.mask.argb32.ref.png | Bin 170 -> 0 bytes + test/reference/pthread-similar.mask.rgb24.ref.png | Bin 170 -> 0 bytes + test/reference/pthread-similar.rgb24.ref.png | Bin 170 -> 0 bytes + test/reference/pthread-similar.traps.argb32.ref.png | Bin 170 -> 0 bytes + test/reference/pthread-similar.traps.rgb24.ref.png | Bin 170 -> 0 bytes + test/reference/push-group-color.mask.argb32.ref.png | Bin 2892 -> 0 bytes + test/reference/push-group-color.mask.rgb24.ref.png | Bin 2892 -> 0 bytes + test/reference/push-group-path-offset.argb32.ref.png | Bin 186 -> 0 bytes + .../push-group-path-offset.mask.argb32.ref.png | Bin 186 -> 0 bytes + .../push-group-path-offset.mask.rgb24.ref.png | Bin 186 -> 0 bytes + test/reference/push-group-path-offset.rgb24.ref.png | Bin 186 -> 0 bytes + .../push-group-path-offset.traps.argb32.ref.png | Bin 186 -> 0 bytes + .../push-group-path-offset.traps.rgb24.ref.png | Bin 186 -> 0 bytes + test/reference/push-group.mask.argb32.ref.png | Bin 3062 -> 0 bytes + test/reference/push-group.mask.rgb24.ref.png | Bin 2899 -> 0 bytes + .../radial-gradient-mask-source.mask.argb32.ref.png | Bin 145713 -> 0 bytes + .../radial-gradient-mask-source.traps.argb32.ref.png | Bin 145713 -> 0 bytes + test/reference/radial-gradient-mask.argb32.ref.png | Bin 286065 -> 0 bytes + .../reference/radial-gradient-mask.mask.argb32.ref.png | Bin 286065 -> 0 bytes + test/reference/radial-gradient-mask.mask.rgb24.ref.png | Bin 286065 -> 0 bytes + test/reference/radial-gradient-mask.rgb24.ref.png | Bin 286065 -> 0 bytes + .../radial-gradient-mask.traps.argb32.ref.png | Bin 286065 -> 0 bytes + .../reference/radial-gradient-mask.traps.rgb24.ref.png | Bin 286065 -> 0 bytes + test/reference/radial-gradient-one-stop.argb32.ref.png | Bin 6306 -> 0 bytes + .../radial-gradient-one-stop.mask.argb32.ref.png | Bin 6306 -> 0 bytes + .../radial-gradient-one-stop.mask.rgb24.ref.png | Bin 6306 -> 0 bytes + test/reference/radial-gradient-one-stop.rgb24.ref.png | Bin 6306 -> 0 bytes + .../radial-gradient-one-stop.traps.argb32.ref.png | Bin 6306 -> 0 bytes + .../radial-gradient-one-stop.traps.rgb24.ref.png | Bin 6306 -> 0 bytes + .../radial-gradient-source.mask.argb32.ref.png | Bin 408848 -> 0 bytes + .../radial-gradient-source.mask.rgb24.ref.png | Bin 263908 -> 0 bytes + .../radial-gradient-source.traps.argb32.ref.png | Bin 408848 -> 0 bytes + .../radial-gradient-source.traps.rgb24.ref.png | Bin 263908 -> 0 bytes + test/reference/radial-gradient.argb32.ref.png | Bin 382283 -> 0 bytes + test/reference/radial-gradient.mask.argb32.ref.png | Bin 382283 -> 0 bytes + test/reference/radial-gradient.mask.rgb24.ref.png | Bin 382283 -> 0 bytes + test/reference/radial-gradient.rgb24.ref.png | Bin 382283 -> 0 bytes + test/reference/radial-gradient.traps.argb32.ref.png | Bin 382283 -> 0 bytes + test/reference/radial-gradient.traps.rgb24.ref.png | Bin 382283 -> 0 bytes + .../random-intersections-curves-eo.mask.argb32.ref.png | Bin 245848 -> 0 bytes + .../random-intersections-curves-eo.mask.rgb24.ref.png | Bin 245848 -> 0 bytes + .../random-intersections-curves-nz.mask.argb32.ref.png | Bin 265249 -> 0 bytes + .../random-intersections-curves-nz.mask.rgb24.ref.png | Bin 265249 -> 0 bytes + .../random-intersections-eo.mask.argb32.ref.png | Bin 136632 -> 0 bytes + .../random-intersections-eo.mask.rgb24.ref.png | Bin 136632 -> 0 bytes + .../random-intersections-nonzero.mask.argb32.ref.png | Bin 142139 -> 0 bytes + .../random-intersections-nonzero.mask.rgb24.ref.png | Bin 142139 -> 0 bytes + test/reference/raster-source.argb32.ref.png | Bin 1209 -> 0 bytes + test/reference/raster-source.mask.argb32.ref.png | Bin 1209 -> 0 bytes + test/reference/raster-source.mask.rgb24.ref.png | Bin 1209 -> 0 bytes + test/reference/raster-source.rgb24.ref.png | Bin 1209 -> 0 bytes + test/reference/raster-source.traps.argb32.ref.png | Bin 1209 -> 0 bytes + test/reference/raster-source.traps.rgb24.ref.png | Bin 1209 -> 0 bytes + .../record-extend-none-similar.argb32.ref.png | Bin 293 -> 0 bytes + .../record-extend-none-similar.image16.rgb24.ref.png | Bin 293 -> 0 bytes + .../reference/record-extend-none-similar.rgb24.ref.png | Bin 293 -> 0 bytes + test/reference/record-extend-none.argb32.ref.png | Bin 293 -> 0 bytes + .../reference/record-extend-none.image16.rgb24.ref.png | Bin 293 -> 0 bytes + test/reference/record-extend-none.rgb24.ref.png | Bin 293 -> 0 bytes + test/reference/record-extend-none.traps.argb32.ref.png | Bin 293 -> 0 bytes + test/reference/record-extend-none.traps.rgb24.ref.png | Bin 293 -> 0 bytes + .../reference/record-extend-pad-similar.argb32.ref.png | Bin 298 -> 0 bytes + .../record-extend-pad-similar.image16.rgb24.ref.png | Bin 298 -> 0 bytes + test/reference/record-extend-pad-similar.rgb24.ref.png | Bin 298 -> 0 bytes + test/reference/record-extend-pad.argb32.ref.png | Bin 298 -> 0 bytes + test/reference/record-extend-pad.image16.rgb24.ref.png | Bin 298 -> 0 bytes + test/reference/record-extend-pad.rgb24.ref.png | Bin 298 -> 0 bytes + test/reference/record-extend-pad.traps.argb32.ref.png | Bin 298 -> 0 bytes + test/reference/record-extend-pad.traps.rgb24.ref.png | Bin 298 -> 0 bytes + .../record-extend-reflect-similar.argb32.ref.png | Bin 335 -> 0 bytes + ...record-extend-reflect-similar.image16.rgb24.ref.png | Bin 335 -> 0 bytes + .../record-extend-reflect-similar.rgb24.ref.png | Bin 335 -> 0 bytes + test/reference/record-extend-reflect.argb32.ref.png | Bin 335 -> 0 bytes + .../record-extend-reflect.image16.rgb24.ref.png | Bin 335 -> 0 bytes + test/reference/record-extend-reflect.rgb24.ref.png | Bin 335 -> 0 bytes + .../record-extend-reflect.traps.argb32.ref.png | Bin 335 -> 0 bytes + .../record-extend-reflect.traps.rgb24.ref.png | Bin 335 -> 0 bytes + .../record-extend-repeat-similar.argb32.ref.png | Bin 286 -> 0 bytes + .../record-extend-repeat-similar.image16.rgb24.ref.png | Bin 286 -> 0 bytes + .../record-extend-repeat-similar.rgb24.ref.png | Bin 286 -> 0 bytes + test/reference/record-extend-repeat.argb32.ref.png | Bin 286 -> 0 bytes + .../record-extend-repeat.image16.rgb24.ref.png | Bin 286 -> 0 bytes + test/reference/record-extend-repeat.rgb24.ref.png | Bin 286 -> 0 bytes + .../record-extend-repeat.traps.argb32.ref.png | Bin 286 -> 0 bytes + .../reference/record-extend-repeat.traps.rgb24.ref.png | Bin 286 -> 0 bytes + test/reference/record-mesh.argb32.ref.png | Bin 15229 -> 0 bytes + test/reference/record-mesh.rgb24.ref.png | Bin 15229 -> 0 bytes + test/reference/record-mesh.traps.argb32.ref.png | Bin 15229 -> 0 bytes + test/reference/record-mesh.traps.rgb24.ref.png | Bin 15229 -> 0 bytes + .../record-paint-alpha-solid-clip.argb32.ref.png | Bin 248 -> 0 bytes + .../record-paint-alpha-solid-clip.rgb24.ref.png | Bin 248 -> 0 bytes + test/reference/record-paint-alpha.argb32.ref.png | Bin 224 -> 0 bytes + test/reference/record-paint-alpha.rgb24.ref.png | Bin 224 -> 0 bytes + test/reference/record-paint-alpha.traps.argb32.ref.png | Bin 224 -> 0 bytes + test/reference/record-paint-alpha.traps.rgb24.ref.png | Bin 224 -> 0 bytes + test/reference/record-paint.argb32.ref.png | Bin 93 -> 0 bytes + test/reference/record-paint.image16.rgb24.ref.png | Bin 93 -> 0 bytes + test/reference/record-paint.rgb24.ref.png | Bin 93 -> 0 bytes + test/reference/record-paint.traps.argb32.ref.png | Bin 93 -> 0 bytes + test/reference/record-paint.traps.rgb24.ref.png | Bin 93 -> 0 bytes + test/reference/record-self-intersecting.argb32.ref.png | Bin 168 -> 0 bytes + test/reference/record-self-intersecting.rgb24.ref.png | Bin 168 -> 0 bytes + test/reference/rectangle-rounding-error.argb32.ref.png | Bin 212 -> 0 bytes + .../rectangle-rounding-error.mask.argb32.ref.png | Bin 212 -> 0 bytes + .../rectangle-rounding-error.mask.rgb24.ref.png | Bin 212 -> 0 bytes + test/reference/rectangle-rounding-error.rgb24.ref.png | Bin 212 -> 0 bytes + .../rectangle-rounding-error.traps.argb32.ref.png | Bin 212 -> 0 bytes + .../rectangle-rounding-error.traps.rgb24.ref.png | Bin 212 -> 0 bytes + test/reference/rectilinear-fill.argb32.ref.png | Bin 151 -> 0 bytes + test/reference/rectilinear-fill.mask.argb32.ref.png | Bin 151 -> 0 bytes + test/reference/rectilinear-fill.mask.rgb24.ref.png | Bin 151 -> 0 bytes + test/reference/rectilinear-fill.rgb24.ref.png | Bin 151 -> 0 bytes + test/reference/rectilinear-fill.traps.argb32.ref.png | Bin 151 -> 0 bytes + test/reference/rectilinear-fill.traps.rgb24.ref.png | Bin 151 -> 0 bytes + test/reference/rectilinear-grid.argb32.ref.png | Bin 569 -> 0 bytes + test/reference/rectilinear-grid.mask.argb32.ref.png | Bin 569 -> 0 bytes + test/reference/rectilinear-grid.mask.rgb24.ref.png | Bin 569 -> 0 bytes + test/reference/rectilinear-grid.rgb24.ref.png | Bin 569 -> 0 bytes + .../rectilinear-miter-limit.mask.argb32.ref.png | Bin 145 -> 0 bytes + .../rectilinear-miter-limit.mask.rgb24.ref.png | Bin 145 -> 0 bytes + test/reference/rectilinear-stroke.argb32.ref.png | Bin 172 -> 0 bytes + test/reference/rectilinear-stroke.mask.argb32.ref.png | Bin 172 -> 0 bytes + test/reference/rectilinear-stroke.mask.rgb24.ref.png | Bin 172 -> 0 bytes + test/reference/rectilinear-stroke.rgb24.ref.png | Bin 172 -> 0 bytes + test/reference/rectilinear-stroke.traps.argb32.ref.png | Bin 172 -> 0 bytes + test/reference/rectilinear-stroke.traps.rgb24.ref.png | Bin 172 -> 0 bytes + test/reference/rel-path.mask.argb32.ref.png | Bin 197 -> 0 bytes + test/reference/rgb24-ignore-alpha.argb32.ref.png | Bin 97 -> 0 bytes + test/reference/rgb24-ignore-alpha.mask.argb32.ref.png | Bin 97 -> 0 bytes + test/reference/rgb24-ignore-alpha.mask.rgb24.ref.png | Bin 97 -> 0 bytes + test/reference/rgb24-ignore-alpha.rgb24.ref.png | Bin 97 -> 0 bytes + test/reference/rgb24-ignore-alpha.traps.argb32.ref.png | Bin 97 -> 0 bytes + test/reference/rgb24-ignore-alpha.traps.rgb24.ref.png | Bin 97 -> 0 bytes + ...rotate-clip-image-surface-paint.mask.argb32.ref.png | Bin 331 -> 0 bytes + .../rotate-clip-image-surface-paint.mask.rgb24.ref.png | Bin 331 -> 0 bytes + .../rotate-image-surface-paint.argb32.ref.png | Bin 220 -> 0 bytes + .../rotate-image-surface-paint.mask.argb32.ref.png | Bin 220 -> 0 bytes + .../rotate-image-surface-paint.mask.rgb24.ref.png | Bin 220 -> 0 bytes + .../reference/rotate-image-surface-paint.rgb24.ref.png | Bin 220 -> 0 bytes + .../rotate-image-surface-paint.traps.argb32.ref.png | Bin 220 -> 0 bytes + .../rotate-image-surface-paint.traps.rgb24.ref.png | Bin 220 -> 0 bytes + ...ate-image-surface-paint.xlib-fallback.rgb24.ref.png | Bin 220 -> 0 bytes + ...otate-image-surface-paint.xlib-window.rgb24.ref.png | Bin 220 -> 0 bytes + .../rounded-rectangle-fill.mask.argb32.ref.png | Bin 787 -> 0 bytes + .../rounded-rectangle-fill.mask.rgb24.ref.png | Bin 787 -> 0 bytes + .../scale-down-source-surface-paint.argb32.ref.png | Bin 96 -> 0 bytes + ...scale-down-source-surface-paint.mask.argb32.ref.png | Bin 96 -> 0 bytes + .../scale-down-source-surface-paint.mask.rgb24.ref.png | Bin 96 -> 0 bytes + .../scale-down-source-surface-paint.rgb24.ref.png | Bin 96 -> 0 bytes + ...cale-down-source-surface-paint.traps.argb32.ref.png | Bin 96 -> 0 bytes + ...scale-down-source-surface-paint.traps.rgb24.ref.png | Bin 96 -> 0 bytes + test/reference/scale-offset-image.mask.argb32.ref.png | Bin 9748 -> 0 bytes + test/reference/scale-offset-image.mask.rgb24.ref.png | Bin 9748 -> 0 bytes + .../reference/scale-offset-similar.mask.argb32.ref.png | Bin 9748 -> 0 bytes + test/reference/scale-offset-similar.mask.rgb24.ref.png | Bin 9748 -> 0 bytes + .../scale-source-surface-paint.argb32.ref.png | Bin 128 -> 0 bytes + .../scale-source-surface-paint.mask.argb32.ref.png | Bin 128 -> 0 bytes + .../scale-source-surface-paint.mask.rgb24.ref.png | Bin 117 -> 0 bytes + .../scale-source-surface-paint.traps.argb32.ref.png | Bin 128 -> 0 bytes + .../scale-source-surface-paint.traps.rgb24.ref.png | Bin 117 -> 0 bytes + test/reference/select-font-face.mask.argb32.ref.png | Bin 2250 -> 0 bytes + test/reference/select-font-face.mask.rgb24.ref.png | Bin 2250 -> 0 bytes + test/reference/select-font-face.traps.argb32.ref.png | Bin 2250 -> 0 bytes + test/reference/select-font-face.traps.rgb24.ref.png | Bin 2250 -> 0 bytes + test/reference/self-copy.mask.argb32.ref.png | Bin 257 -> 0 bytes + test/reference/self-copy.mask.rgb24.ref.png | Bin 257 -> 0 bytes + test/reference/self-intersecting.argb32.ref.png | Bin 168 -> 0 bytes + test/reference/self-intersecting.mask.argb32.ref.png | Bin 168 -> 0 bytes + test/reference/self-intersecting.mask.rgb24.ref.png | Bin 168 -> 0 bytes + test/reference/self-intersecting.rgb24.ref.png | Bin 168 -> 0 bytes + test/reference/set-source.argb32.ref.png | Bin 101 -> 0 bytes + test/reference/set-source.mask.argb32.ref.png | Bin 101 -> 0 bytes + test/reference/set-source.mask.rgb24.ref.png | Bin 101 -> 0 bytes + test/reference/set-source.traps.argb32.ref.png | Bin 101 -> 0 bytes + test/reference/set-source.traps.rgb24.ref.png | Bin 101 -> 0 bytes + .../reference/shape-general-convex.mask.argb32.ref.png | Bin 2742 -> 0 bytes + test/reference/shape-general-convex.mask.rgb24.ref.png | Bin 2742 -> 0 bytes + test/reference/shape-sierpinski.mask.argb32.ref.png | Bin 63714 -> 0 bytes + test/reference/shape-sierpinski.mask.rgb24.ref.png | Bin 63714 -> 0 bytes + test/reference/show-glyphs-advance.mask.argb32.ref.png | Bin 1394 -> 0 bytes + test/reference/show-glyphs-advance.mask.rgb24.ref.png | Bin 1394 -> 0 bytes + .../reference/show-glyphs-advance.traps.argb32.ref.png | Bin 1394 -> 0 bytes + test/reference/show-glyphs-advance.traps.rgb24.ref.png | Bin 1394 -> 0 bytes + test/reference/show-glyphs-many.argb32.ref.png | Bin 96 -> 0 bytes + test/reference/show-glyphs-many.mask.argb32.ref.png | Bin 96 -> 0 bytes + test/reference/show-glyphs-many.mask.rgb24.ref.png | Bin 96 -> 0 bytes + test/reference/show-glyphs-many.rgb24.ref.png | Bin 96 -> 0 bytes + test/reference/show-glyphs-many.traps.argb32.ref.png | Bin 96 -> 0 bytes + test/reference/show-glyphs-many.traps.rgb24.ref.png | Bin 96 -> 0 bytes + .../show-text-current-point.mask.argb32.ref.png | Bin 2151 -> 0 bytes + .../show-text-current-point.mask.rgb24.ref.png | Bin 2151 -> 0 bytes + .../show-text-current-point.traps.argb32.ref.png | Bin 2151 -> 0 bytes + .../show-text-current-point.traps.rgb24.ref.png | Bin 2151 -> 0 bytes + test/reference/skew-extreme.mask.argb32.ref.png | Bin 799 -> 0 bytes + test/reference/skew-extreme.mask.rgb24.ref.png | Bin 799 -> 0 bytes + test/reference/smask-fill.mask.argb32.ref.png | Bin 1197 -> 0 bytes + test/reference/smask-fill.mask.rgb24.ref.png | Bin 1197 -> 0 bytes + test/reference/smask-image-mask.mask.argb32.ref.png | Bin 619 -> 0 bytes + test/reference/smask-image-mask.mask.rgb24.ref.png | Bin 619 -> 0 bytes + test/reference/smask-image-mask.traps.argb32.ref.png | Bin 619 -> 0 bytes + test/reference/smask-image-mask.traps.rgb24.ref.png | Bin 619 -> 0 bytes + .../smask-image-mask.xlib-fallback.rgb24.ref.png | Bin 619 -> 0 bytes + .../smask-image-mask.xlib-window.rgb24.ref.png | Bin 619 -> 0 bytes + test/reference/smask-mask.mask.argb32.ref.png | Bin 2353 -> 0 bytes + test/reference/smask-mask.mask.rgb24.ref.png | Bin 2353 -> 0 bytes + test/reference/smask-mask.traps.argb32.ref.png | Bin 2353 -> 0 bytes + test/reference/smask-mask.traps.rgb24.ref.png | Bin 2353 -> 0 bytes + test/reference/smask-paint.mask.argb32.ref.png | Bin 2469 -> 0 bytes + test/reference/smask-paint.mask.rgb24.ref.png | Bin 2469 -> 0 bytes + test/reference/smask-paint.traps.argb32.ref.png | Bin 2469 -> 0 bytes + test/reference/smask-paint.traps.rgb24.ref.png | Bin 2469 -> 0 bytes + test/reference/smask-stroke.mask.argb32.ref.png | Bin 1709 -> 0 bytes + test/reference/smask-stroke.mask.rgb24.ref.png | Bin 1709 -> 0 bytes + test/reference/smask-text.traps.argb32.ref.png | Bin 1661 -> 0 bytes + test/reference/smask-text.traps.rgb24.ref.png | Bin 1661 -> 0 bytes + test/reference/smask.traps.argb32.ref.png | Bin 3393 -> 0 bytes + test/reference/smask.traps.rgb24.ref.png | Bin 3393 -> 0 bytes + .../solid-pattern-cache-stress.argb32.ref.png | Bin 87 -> 0 bytes + .../solid-pattern-cache-stress.mask.argb32.ref.png | Bin 87 -> 0 bytes + .../solid-pattern-cache-stress.mask.rgb24.ref.png | Bin 87 -> 0 bytes + .../reference/solid-pattern-cache-stress.rgb24.ref.png | Bin 87 -> 0 bytes + .../solid-pattern-cache-stress.traps.argb32.ref.png | Bin 87 -> 0 bytes + .../solid-pattern-cache-stress.traps.rgb24.ref.png | Bin 87 -> 0 bytes + test/reference/source-clip-scale.argb32.ref.png | Bin 136 -> 0 bytes + test/reference/source-clip-scale.mask.argb32.ref.png | Bin 136 -> 0 bytes + test/reference/source-clip-scale.mask.rgb24.ref.png | Bin 136 -> 0 bytes + test/reference/source-clip-scale.rgb24.ref.png | Bin 136 -> 0 bytes + test/reference/source-clip-scale.traps.argb32.ref.png | Bin 136 -> 0 bytes + test/reference/source-clip-scale.traps.rgb24.ref.png | Bin 136 -> 0 bytes + test/reference/source-clip.argb32.ref.png | Bin 111 -> 0 bytes + test/reference/source-clip.mask.argb32.ref.png | Bin 111 -> 0 bytes + test/reference/source-clip.mask.rgb24.ref.png | Bin 111 -> 0 bytes + test/reference/source-clip.rgb24.ref.png | Bin 111 -> 0 bytes + test/reference/source-clip.traps.argb32.ref.png | Bin 111 -> 0 bytes + test/reference/source-clip.traps.rgb24.ref.png | Bin 111 -> 0 bytes + .../source-surface-scale-paint.argb32.ref.png | Bin 120 -> 0 bytes + .../source-surface-scale-paint.mask.argb32.ref.png | Bin 120 -> 0 bytes + .../source-surface-scale-paint.mask.rgb24.ref.png | Bin 114 -> 0 bytes + .../source-surface-scale-paint.traps.argb32.ref.png | Bin 120 -> 0 bytes + .../source-surface-scale-paint.traps.rgb24.ref.png | Bin 114 -> 0 bytes + .../reference/spline-decomposition.mask.argb32.ref.png | Bin 19520 -> 0 bytes + test/reference/spline-decomposition.mask.rgb24.ref.png | Bin 19520 -> 0 bytes + test/reference/stride-12-image.argb32.ref.png | Bin 81121 -> 0 bytes + test/reference/stride-12-image.mask.argb32.ref.png | Bin 81121 -> 0 bytes + test/reference/stride-12-image.mask.rgb24.ref.png | Bin 81121 -> 0 bytes + test/reference/stride-12-image.rgb24.ref.png | Bin 81121 -> 0 bytes + test/reference/stride-12-image.traps.argb32.ref.png | Bin 81121 -> 0 bytes + test/reference/stride-12-image.traps.rgb24.ref.png | Bin 81121 -> 0 bytes + test/reference/stroke-image.mask.argb32.ref.png | Bin 1424 -> 0 bytes + test/reference/stroke-image.mask.rgb24.ref.png | Bin 1424 -> 0 bytes + test/reference/stroke-open-box.argb32.ref.png | Bin 148 -> 0 bytes + test/reference/stroke-open-box.mask.argb32.ref.png | Bin 148 -> 0 bytes + test/reference/stroke-open-box.mask.rgb24.ref.png | Bin 148 -> 0 bytes + test/reference/stroke-open-box.rgb24.ref.png | Bin 148 -> 0 bytes + test/reference/stroke-open-box.traps.argb32.ref.png | Bin 148 -> 0 bytes + test/reference/stroke-open-box.traps.rgb24.ref.png | Bin 148 -> 0 bytes + test/reference/stroke-pattern.mask.argb32.ref.png | Bin 1491 -> 0 bytes + test/reference/stroke-pattern.mask.rgb24.ref.png | Bin 1491 -> 0 bytes + test/reference/stroke-pattern.traps.argb32.ref.png | Bin 1487 -> 0 bytes + test/reference/stroke-pattern.traps.rgb24.ref.png | Bin 1487 -> 0 bytes + test/reference/subsurface-image-repeat.argb32.ref.png | Bin 915 -> 0 bytes + .../subsurface-image-repeat.mask.argb32.ref.png | Bin 915 -> 0 bytes + .../subsurface-image-repeat.mask.rgb24.ref.png | Bin 915 -> 0 bytes + test/reference/subsurface-image-repeat.rgb24.ref.png | Bin 915 -> 0 bytes + .../subsurface-image-repeat.traps.argb32.ref.png | Bin 915 -> 0 bytes + .../subsurface-image-repeat.traps.rgb24.ref.png | Bin 915 -> 0 bytes + ...subsurface-image-repeat.xlib-fallback.rgb24.ref.png | Bin 915 -> 0 bytes + .../subsurface-image-repeat.xlib-window.rgb24.ref.png | Bin 915 -> 0 bytes + test/reference/subsurface-modify-child.argb32.ref.png | Bin 197 -> 0 bytes + .../subsurface-modify-child.mask.argb32.ref.png | Bin 197 -> 0 bytes + .../subsurface-modify-child.mask.rgb24.ref.png | Bin 197 -> 0 bytes + test/reference/subsurface-modify-child.rgb24.ref.png | Bin 197 -> 0 bytes + .../subsurface-modify-child.traps.argb32.ref.png | Bin 197 -> 0 bytes + .../subsurface-modify-child.traps.rgb24.ref.png | Bin 197 -> 0 bytes + test/reference/subsurface-modify-parent.argb32.ref.png | Bin 197 -> 0 bytes + .../subsurface-modify-parent.mask.argb32.ref.png | Bin 197 -> 0 bytes + .../subsurface-modify-parent.mask.rgb24.ref.png | Bin 197 -> 0 bytes + test/reference/subsurface-modify-parent.rgb24.ref.png | Bin 197 -> 0 bytes + .../subsurface-modify-parent.traps.argb32.ref.png | Bin 197 -> 0 bytes + .../subsurface-modify-parent.traps.rgb24.ref.png | Bin 197 -> 0 bytes + .../subsurface-outside-target.mask.argb32.ref.png | Bin 2063 -> 0 bytes + .../subsurface-outside-target.mask.rgb24.ref.png | Bin 1648 -> 0 bytes + .../subsurface-outside-target.traps.argb32.ref.png | Bin 2063 -> 0 bytes + .../subsurface-outside-target.traps.rgb24.ref.png | Bin 1648 -> 0 bytes + test/reference/subsurface-pad.argb32.ref.png | Bin 181 -> 0 bytes + test/reference/subsurface-pad.mask.argb32.ref.png | Bin 181 -> 0 bytes + test/reference/subsurface-pad.mask.rgb24.ref.png | Bin 181 -> 0 bytes + test/reference/subsurface-pad.rgb24.ref.png | Bin 181 -> 0 bytes + test/reference/subsurface-pad.traps.argb32.ref.png | Bin 181 -> 0 bytes + test/reference/subsurface-pad.traps.rgb24.ref.png | Bin 181 -> 0 bytes + test/reference/subsurface-reflect.argb32.ref.png | Bin 210 -> 0 bytes + test/reference/subsurface-reflect.mask.argb32.ref.png | Bin 210 -> 0 bytes + test/reference/subsurface-reflect.mask.rgb24.ref.png | Bin 210 -> 0 bytes + test/reference/subsurface-reflect.rgb24.ref.png | Bin 210 -> 0 bytes + test/reference/subsurface-reflect.traps.argb32.ref.png | Bin 210 -> 0 bytes + test/reference/subsurface-reflect.traps.rgb24.ref.png | Bin 210 -> 0 bytes + test/reference/subsurface-repeat.argb32.ref.png | Bin 197 -> 0 bytes + test/reference/subsurface-repeat.mask.argb32.ref.png | Bin 197 -> 0 bytes + test/reference/subsurface-repeat.mask.rgb24.ref.png | Bin 197 -> 0 bytes + test/reference/subsurface-repeat.rgb24.ref.png | Bin 197 -> 0 bytes + test/reference/subsurface-repeat.traps.argb32.ref.png | Bin 197 -> 0 bytes + test/reference/subsurface-repeat.traps.rgb24.ref.png | Bin 197 -> 0 bytes + test/reference/subsurface-scale.mask.argb32.ref.png | Bin 5921 -> 0 bytes + test/reference/subsurface-scale.mask.rgb24.ref.png | Bin 5921 -> 0 bytes + .../reference/subsurface-similar-repeat.argb32.ref.png | Bin 197 -> 0 bytes + .../subsurface-similar-repeat.mask.argb32.ref.png | Bin 197 -> 0 bytes + .../subsurface-similar-repeat.mask.rgb24.ref.png | Bin 197 -> 0 bytes + test/reference/subsurface-similar-repeat.rgb24.ref.png | Bin 197 -> 0 bytes + .../subsurface-similar-repeat.traps.argb32.ref.png | Bin 197 -> 0 bytes + .../subsurface-similar-repeat.traps.rgb24.ref.png | Bin 197 -> 0 bytes + test/reference/subsurface.mask.argb32.ref.png | Bin 1811 -> 0 bytes + test/reference/subsurface.mask.rgb24.ref.png | Bin 1811 -> 0 bytes + .../surface-pattern-big-scale-down.argb32.ref.png | Bin 191 -> 0 bytes + .../surface-pattern-big-scale-down.mask.argb32.ref.png | Bin 191 -> 0 bytes + .../surface-pattern-big-scale-down.mask.rgb24.ref.png | Bin 191 -> 0 bytes + .../surface-pattern-big-scale-down.rgb24.ref.png | Bin 191 -> 0 bytes + ...surface-pattern-big-scale-down.traps.argb32.ref.png | Bin 191 -> 0 bytes + .../surface-pattern-big-scale-down.traps.rgb24.ref.png | Bin 191 -> 0 bytes + .../surface-pattern-operator.mask.argb32.ref.png | Bin 5217 -> 0 bytes + .../surface-pattern-operator.mask.rgb24.ref.png | Bin 1942 -> 0 bytes + ...rface-pattern-scale-down-extend-none.argb32.ref.png | Bin 329 -> 0 bytes + ...-pattern-scale-down-extend-none.mask.argb32.ref.png | Bin 329 -> 0 bytes + ...e-pattern-scale-down-extend-none.mask.rgb24.ref.png | Bin 329 -> 0 bytes + ...urface-pattern-scale-down-extend-none.rgb24.ref.png | Bin 329 -> 0 bytes + ...pattern-scale-down-extend-none.traps.argb32.ref.png | Bin 329 -> 0 bytes + ...-pattern-scale-down-extend-none.traps.rgb24.ref.png | Bin 329 -> 0 bytes + ...urface-pattern-scale-down-extend-pad.argb32.ref.png | Bin 320 -> 0 bytes + ...e-pattern-scale-down-extend-pad.mask.argb32.ref.png | Bin 320 -> 0 bytes + ...ce-pattern-scale-down-extend-pad.mask.rgb24.ref.png | Bin 320 -> 0 bytes + ...surface-pattern-scale-down-extend-pad.rgb24.ref.png | Bin 320 -> 0 bytes + ...-pattern-scale-down-extend-pad.traps.argb32.ref.png | Bin 320 -> 0 bytes + ...e-pattern-scale-down-extend-pad.traps.rgb24.ref.png | Bin 320 -> 0 bytes + ...ce-pattern-scale-down-extend-reflect.argb32.ref.png | Bin 328 -> 0 bytes + ...ttern-scale-down-extend-reflect.mask.argb32.ref.png | Bin 328 -> 0 bytes + ...attern-scale-down-extend-reflect.mask.rgb24.ref.png | Bin 328 -> 0 bytes + ...ace-pattern-scale-down-extend-reflect.rgb24.ref.png | Bin 328 -> 0 bytes + ...tern-scale-down-extend-reflect.traps.argb32.ref.png | Bin 328 -> 0 bytes + ...ttern-scale-down-extend-reflect.traps.rgb24.ref.png | Bin 328 -> 0 bytes + ...ace-pattern-scale-down-extend-repeat.argb32.ref.png | Bin 330 -> 0 bytes + ...attern-scale-down-extend-repeat.mask.argb32.ref.png | Bin 330 -> 0 bytes + ...pattern-scale-down-extend-repeat.mask.rgb24.ref.png | Bin 330 -> 0 bytes + ...face-pattern-scale-down-extend-repeat.rgb24.ref.png | Bin 330 -> 0 bytes + ...ttern-scale-down-extend-repeat.traps.argb32.ref.png | Bin 330 -> 0 bytes + ...attern-scale-down-extend-repeat.traps.rgb24.ref.png | Bin 330 -> 0 bytes + .../surface-pattern-scale-down.mask.argb32.ref.png | Bin 1326 -> 0 bytes + .../surface-pattern-scale-down.mask.rgb24.ref.png | Bin 1326 -> 0 bytes + .../surface-pattern-scale-down.traps.argb32.ref.png | Bin 1326 -> 0 bytes + .../surface-pattern-scale-down.traps.rgb24.ref.png | Bin 1326 -> 0 bytes + .../surface-pattern-scale-up.mask.argb32.ref.png | Bin 4020 -> 0 bytes + .../surface-pattern-scale-up.mask.rgb24.ref.png | Bin 4020 -> 0 bytes + .../surface-pattern-scale-up.traps.argb32.ref.png | Bin 4020 -> 0 bytes + .../surface-pattern-scale-up.traps.rgb24.ref.png | Bin 4020 -> 0 bytes + test/reference/surface-pattern.mask.argb32.ref.png | Bin 11088 -> 0 bytes + test/reference/surface-pattern.mask.rgb24.ref.png | Bin 11088 -> 0 bytes + test/reference/surface-pattern.traps.argb32.ref.png | Bin 11088 -> 0 bytes + test/reference/surface-pattern.traps.rgb24.ref.png | Bin 11088 -> 0 bytes + test/reference/svg-surface-source.mask.argb32.ref.png | Bin 377 -> 0 bytes + test/reference/svg-surface-source.mask.rgb24.ref.png | Bin 301 -> 0 bytes + test/reference/svg-surface-source.traps.argb32.ref.png | Bin 377 -> 0 bytes + test/reference/svg-surface-source.traps.rgb24.ref.png | Bin 301 -> 0 bytes + test/reference/text-antialias-gray.mask.argb32.ref.png | Bin 966 -> 0 bytes + test/reference/text-antialias-gray.mask.rgb24.ref.png | Bin 966 -> 0 bytes + .../reference/text-antialias-gray.traps.argb32.ref.png | Bin 966 -> 0 bytes + test/reference/text-antialias-gray.traps.rgb24.ref.png | Bin 966 -> 0 bytes + test/reference/text-antialias-none.argb32.ref.png | Bin 265 -> 0 bytes + test/reference/text-antialias-none.mask.argb32.ref.png | Bin 265 -> 0 bytes + test/reference/text-antialias-none.mask.rgb24.ref.png | Bin 265 -> 0 bytes + test/reference/text-antialias-none.rgb24.ref.png | Bin 265 -> 0 bytes + .../reference/text-antialias-none.traps.argb32.ref.png | Bin 265 -> 0 bytes + test/reference/text-antialias-none.traps.ref.png | Bin 265 -> 0 bytes + test/reference/text-antialias-none.traps.rgb24.ref.png | Bin 265 -> 0 bytes + .../text-antialias-subpixel-bgr.traps.argb32.ref.png | Bin 1005 -> 0 bytes + .../text-antialias-subpixel-bgr.traps.rgb24.ref.png | Bin 1005 -> 0 bytes + .../text-antialias-subpixel-rgb.traps.argb32.ref.png | Bin 1013 -> 0 bytes + .../text-antialias-subpixel-rgb.traps.rgb24.ref.png | Bin 1013 -> 0 bytes + .../text-antialias-subpixel-vbgr.traps.argb32.ref.png | Bin 985 -> 0 bytes + .../text-antialias-subpixel-vbgr.traps.rgb24.ref.png | Bin 985 -> 0 bytes + .../text-antialias-subpixel-vrgb.traps.argb32.ref.png | Bin 1009 -> 0 bytes + .../text-antialias-subpixel-vrgb.traps.rgb24.ref.png | Bin 1009 -> 0 bytes + .../text-antialias-subpixel.traps.argb32.ref.png | Bin 1013 -> 0 bytes + .../text-antialias-subpixel.traps.rgb24.ref.png | Bin 1013 -> 0 bytes + test/reference/text-glyph-range.mask.argb32.ref.png | Bin 1928 -> 0 bytes + test/reference/text-glyph-range.mask.rgb24.ref.png | Bin 1928 -> 0 bytes + test/reference/text-glyph-range.traps.argb32.ref.png | Bin 1979 -> 0 bytes + test/reference/text-glyph-range.traps.rgb24.ref.png | Bin 1979 -> 0 bytes + test/reference/text-pattern.mask.argb32.ref.png | Bin 3455 -> 0 bytes + test/reference/text-pattern.mask.rgb24.ref.png | Bin 2684 -> 0 bytes + test/reference/text-rotate.traps.argb32.ref.png | Bin 16597 -> 0 bytes + test/reference/text-rotate.traps.rgb24.ref.png | Bin 16597 -> 0 bytes + test/reference/text-transform.argb32.ref.png | Bin 5579 -> 0 bytes + test/reference/text-transform.mask.argb32.ref.png | Bin 5579 -> 0 bytes + test/reference/text-transform.mask.rgb24.ref.png | Bin 5579 -> 0 bytes + test/reference/text-transform.rgb24.ref.png | Bin 5579 -> 0 bytes + test/reference/text-transform.traps.argb32.ref.png | Bin 5579 -> 0 bytes + test/reference/text-transform.traps.rgb24.ref.png | Bin 5579 -> 0 bytes + test/reference/tiger.mask.argb32.ref.png | Bin 93916 -> 0 bytes + test/reference/tiger.mask.rgb24.ref.png | Bin 93916 -> 0 bytes + test/reference/transforms.mask.argb32.ref.png | Bin 348 -> 0 bytes + test/reference/transforms.mask.rgb24.ref.png | Bin 348 -> 0 bytes + test/reference/translate-show-surface.argb32.ref.png | Bin 96 -> 0 bytes + .../translate-show-surface.mask.argb32.ref.png | Bin 96 -> 0 bytes + .../translate-show-surface.mask.rgb24.ref.png | Bin 96 -> 0 bytes + test/reference/translate-show-surface.rgb24.ref.png | Bin 96 -> 0 bytes + .../translate-show-surface.traps.argb32.ref.png | Bin 96 -> 0 bytes + .../translate-show-surface.traps.rgb24.ref.png | Bin 96 -> 0 bytes + .../reference/twin-antialias-mixed.mask.argb32.ref.png | Bin 2230 -> 0 bytes + test/reference/twin-antialias-mixed.mask.rgb24.ref.png | Bin 2230 -> 0 bytes + test/reference/twin-antialias-none.mask.argb32.ref.png | Bin 690 -> 0 bytes + test/reference/twin-antialias-none.mask.rgb24.ref.png | Bin 690 -> 0 bytes + test/reference/unaligned-box.argb32.ref.png | Bin 496 -> 0 bytes + test/reference/unaligned-box.mask.argb32.ref.png | Bin 496 -> 0 bytes + test/reference/unaligned-box.mask.rgb24.ref.png | Bin 496 -> 0 bytes + test/reference/unaligned-box.rgb24.ref.png | Bin 496 -> 0 bytes + test/reference/unantialiased-shapes.argb32.ref.png | Bin 3926 -> 0 bytes + .../reference/unantialiased-shapes.mask.argb32.ref.png | Bin 3926 -> 0 bytes + test/reference/unantialiased-shapes.mask.rgb24.ref.png | Bin 3926 -> 0 bytes + test/reference/unantialiased-shapes.rgb24.ref.png | Bin 3926 -> 0 bytes + test/reference/unclosed-strokes.mask.argb32.ref.png | Bin 1901 -> 0 bytes + test/reference/unclosed-strokes.mask.rgb24.ref.png | Bin 1901 -> 0 bytes + test/reference/user-font-mask.argb32.ref.png | Bin 5476 -> 0 bytes + test/reference/user-font-mask.mask.argb32.ref.png | Bin 5476 -> 0 bytes + test/reference/user-font-mask.mask.rgb24.ref.png | Bin 5476 -> 0 bytes + test/reference/user-font-mask.rgb24.ref.png | Bin 5476 -> 0 bytes + test/reference/user-font-mask.traps.argb32.ref.png | Bin 5476 -> 0 bytes + test/reference/user-font-mask.traps.rgb24.ref.png | Bin 5476 -> 0 bytes + test/reference/user-font-proxy.mask.argb32.ref.png | Bin 16941 -> 0 bytes + test/reference/user-font-proxy.mask.rgb24.ref.png | Bin 16941 -> 0 bytes + test/reference/user-font-proxy.traps.argb32.ref.png | Bin 16854 -> 0 bytes + test/reference/user-font-proxy.traps.rgb24.ref.png | Bin 16854 -> 0 bytes + test/reference/user-font-rescale.mask.argb32.ref.png | Bin 14883 -> 0 bytes + test/reference/user-font-rescale.mask.rgb24.ref.png | Bin 14883 -> 0 bytes + test/reference/user-font-rescale.traps.argb32.ref.png | Bin 14883 -> 0 bytes + test/reference/user-font-rescale.traps.rgb24.ref.png | Bin 14883 -> 0 bytes + test/reference/white-in-noop.argb32.ref.png | Bin 95 -> 0 bytes + test/reference/white-in-noop.mask.argb32.ref.png | Bin 95 -> 0 bytes + test/reference/white-in-noop.mask.rgb24.ref.png | Bin 95 -> 0 bytes + test/reference/white-in-noop.rgb24.ref.png | Bin 95 -> 0 bytes + test/reference/white-in-noop.traps.argb32.ref.png | Bin 95 -> 0 bytes + test/reference/white-in-noop.traps.rgb24.ref.png | Bin 95 -> 0 bytes + test/reference/world-map-fill.mask.argb32.ref.png | Bin 57308 -> 0 bytes + test/reference/world-map-fill.mask.rgb24.ref.png | Bin 57308 -> 0 bytes + test/reference/xcb-huge-image-shm.argb32.ref.png | Bin 97 -> 0 bytes + test/reference/xcb-huge-image-shm.mask.argb32.ref.png | Bin 97 -> 0 bytes + test/reference/xcb-huge-image-shm.mask.rgb24.ref.png | Bin 97 -> 0 bytes + test/reference/xcb-huge-image-shm.rgb24.ref.png | Bin 97 -> 0 bytes + test/reference/xcb-huge-image-shm.traps.argb32.ref.png | Bin 97 -> 0 bytes + test/reference/xcb-huge-image-shm.traps.rgb24.ref.png | Bin 97 -> 0 bytes + .../xcb-huge-image-shm.xlib-fallback.rgb24.ref.png | Bin 97 -> 0 bytes + .../xcb-huge-image-shm.xlib-window.rgb24.ref.png | Bin 97 -> 0 bytes + test/reference/xcb-snapshot-assert.argb32.ref.png | Bin 97 -> 0 bytes + test/reference/xcb-snapshot-assert.mask.argb32.ref.png | Bin 97 -> 0 bytes + test/reference/xcb-snapshot-assert.mask.rgb24.ref.png | Bin 97 -> 0 bytes + test/reference/xcb-snapshot-assert.rgb24.ref.png | Bin 97 -> 0 bytes + .../reference/xcb-snapshot-assert.traps.argb32.ref.png | Bin 97 -> 0 bytes + test/reference/xcb-snapshot-assert.traps.rgb24.ref.png | Bin 97 -> 0 bytes + test/reference/xcb-stress-cache.argb32.ref.png | Bin 97 -> 0 bytes + test/reference/xcb-stress-cache.mask.argb32.ref.png | Bin 97 -> 0 bytes + test/reference/xcb-stress-cache.mask.rgb24.ref.png | Bin 97 -> 0 bytes + test/reference/xcb-stress-cache.rgb24.ref.png | Bin 97 -> 0 bytes + test/reference/xcb-stress-cache.traps.argb32.ref.png | Bin 97 -> 0 bytes + test/reference/xcb-stress-cache.traps.rgb24.ref.png | Bin 97 -> 0 bytes + test/reference/xcb-surface-source.mask.argb32.ref.png | Bin 377 -> 0 bytes + test/reference/xcb-surface-source.mask.rgb24.ref.png | Bin 301 -> 0 bytes + test/reference/xcb-surface-source.traps.argb32.ref.png | Bin 377 -> 0 bytes + test/reference/xcb-surface-source.traps.rgb24.ref.png | Bin 301 -> 0 bytes + test/reference/xcomposite-projection.argb32.ref.png | Bin 1108 -> 0 bytes + test/reference/xcomposite-projection.rgb24.ref.png | Bin 1108 -> 0 bytes + test/reference/xlib-expose-event.argb32.ref.png | Bin 40717 -> 0 bytes + test/reference/xlib-expose-event.mask.argb32.ref.png | Bin 40717 -> 0 bytes + test/reference/xlib-expose-event.mask.rgb24.ref.png | Bin 40717 -> 0 bytes + test/reference/xlib-expose-event.rgb24.ref.png | Bin 40717 -> 0 bytes + test/reference/xlib-expose-event.traps.argb32.ref.png | Bin 40717 -> 0 bytes + test/reference/xlib-expose-event.traps.rgb24.ref.png | Bin 40717 -> 0 bytes + test/reference/xlib-surface-source.mask.argb32.ref.png | Bin 377 -> 0 bytes + test/reference/xlib-surface-source.mask.rgb24.ref.png | Bin 301 -> 0 bytes + .../reference/xlib-surface-source.traps.argb32.ref.png | Bin 377 -> 0 bytes + test/reference/xlib-surface-source.traps.rgb24.ref.png | Bin 301 -> 0 bytes + test/reference/zero-alpha.argb32.ref.png | Bin 91 -> 0 bytes + test/reference/zero-alpha.mask.argb32.ref.png | Bin 91 -> 0 bytes + test/reference/zero-alpha.mask.rgb24.ref.png | Bin 91 -> 0 bytes + test/reference/zero-alpha.rgb24.ref.png | Bin 91 -> 0 bytes + test/reference/zero-alpha.traps.argb32.ref.png | Bin 91 -> 0 bytes + test/reference/zero-alpha.traps.rgb24.ref.png | Bin 91 -> 0 bytes + test/reference/zero-mask.argb32.ref.png | Bin 402 -> 0 bytes + test/reference/zero-mask.mask.argb32.ref.png | Bin 402 -> 0 bytes + test/reference/zero-mask.mask.rgb24.ref.png | Bin 382 -> 0 bytes + test/reference/zero-mask.traps.argb32.ref.png | Bin 402 -> 0 bytes + test/reference/zero-mask.traps.rgb24.ref.png | Bin 382 -> 0 bytes + 1477 files changed, 0 insertions(+), 0 deletions(-) + +commit 33895904d52f47d0d89156ca1e1ff7cc8f5887d2 +Author: Bryce W. Harrington <b.harrington@samsung.com> +Date: Wed Jul 3 22:37:41 2013 +0000 + + test: Add special cases for create-from-png and fallback-resolution + + These tests use reference images somewhat differently from other tests, + so treat them as special cases and avoid recommending deleting any of + their files. + + Add TODO's to each test to rework them to be more consistent with other + tests. + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + test/check-refs.sh | 10 ++++++++++ + test/create-from-png.c | 5 +++++ + test/fallback-resolution.c | 1 + + 3 files changed, 16 insertions(+) + +commit 5577223489dc3f6e282c498d70f66f8ee9327474 +Author: Bryce W. Harrington <b.harrington@samsung.com> +Date: Wed Jul 3 22:37:00 2013 +0000 + + pdiff: Drop unused variable + + Fixes: + perceptualdiff.c:35:24: warning: unused variable ‘dim’ + [-Wunused-variable] + + Signed-off-by: Bryce Harrington <bryce@bryceharrington.org> + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + test/pdiff/perceptualdiff.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 319b8935826c8726b8c23f1c746a82b261b8cde1 +Author: Bryce W. Harrington <b.harrington@samsung.com> +Date: Wed Jul 3 22:36:28 2013 +0000 + + pdiff: Quell warning about signed/unsigned comparisons + + perceptualdiff.c:55:19: warning: comparison between signed and unsigned + integer expressions [-Wsign-compare] + perceptualdiff.c:60:16: warning: comparison between signed and unsigned + integer expressions [-Wsign-compare] + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + test/pdiff/perceptualdiff.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 9e4cac50c25cec0476413a991d98c897fce0aceb +Author: Bryce W. Harrington <b.harrington@samsung.com> +Date: Wed Jul 3 22:35:47 2013 +0000 + + test: Make check-ref-dups utilize perceptualdiff for comparisons + + The current sha1sum-based file checker does a blanket comparison of all + files with each other, which is fast but not directly helpful since it + doesn't distinguish between sibling files (which are allowable to be + duplicates). Also, it ignores files that may have byte differences + (such as PNG header differences) but are otherwise pixel-identical. + + This patch replaces the sha1sum-based checker with one that accounts for + the default fallback path and uses perceptualdiff to compare files that + are bytewise different and verify whether they actually are different. + + The intention is that the output of this command can be directly used to + remove redundant files, e.g.: + + cd test + make check-ref-dups | cut -d' ' -f2 | \ + while read f; do git rm "reference/$f"; done + + This should have no impact on make check's results (modulo any tests + that behave erratically), and will help trim down the size of the + tarball. + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + [ickle: rebase and add the suggested command to the Makefile] + + test/Makefile.am | 13 +++++++++---- + 1 file changed, 9 insertions(+), 4 deletions(-) + +commit 8d3c518e9db39b670fe89c4bf097871e1cf16955 +Author: Bryce W. Harrington <b.harrington@samsung.com> +Date: Wed Jul 3 22:35:08 2013 +0000 + + test: Use cmp to catch byte-by-byte identical files + + cmp runs faster than perceptualdiff, and catches files that are exact + copies of the reference image. We still use perceptualdiff for catching + files that aren't bytewise identical, but are still identical at the + pixel level. + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + test/check-refs.sh | 20 ++++++++++++-------- + 1 file changed, 12 insertions(+), 8 deletions(-) + +commit b0be0d8d42b5b6ba80e59a869a8f72fd8556e91e +Author: Bryce W. Harrington <b.harrington@samsung.com> +Date: Wed Jul 3 22:33:57 2013 +0000 + + test: Add script to check for redundant reference images + + This script requires the perceptualdiff program, which can be built as + follows: + + cd test/pdiff && make perceptualdiff + + The script's output provides a list of target-specific or + format-specific images that are identical to their more generic + reference files, and thus are redundant and can be safely removed from + the archive without altering any test behaviors. + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + [ickle: applied Behdad's suggestion of renaming the script check-refs.sh] + + test/Makefile.am | 1 + + test/check-refs.sh | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 61 insertions(+) + +commit 7f1be42e85589ee07dacead012234c1a1eb1b395 +Author: Bryce W. Harrington <b.harrington@samsung.com> +Date: Wed Jul 3 22:32:34 2013 +0000 + + test: Fix make check-ref-dups due to move of ref images to reference/ + + The check-ref-dups target in Makefile.am was not updated with the new + path when the reference images were moved from test/ to + test/reference/. Now it produces output properly again. + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + test/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 7b8fc77bb974fbd4fbc697405a8b6aec748bb7f2 +Author: Eric Anholt <eric@anholt.net> +Date: Mon Jun 24 23:28:47 2013 -0700 + + gl: Move glGetUniformLocation to shader compile time. + + The lookup of the string names has significant overhead, which is why GL + gives you glGetUniformLocation so that you reference uniforms by + constant integers in your high performance path. + + Reduces cairo-perf-trace runtime of firefox-planet-gnome by 1.06767% +/- + 0.289265% (n=72) on my IVB macbook air. + + Signed-off-by: Eric Anholt <eric@anholt.net> + Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-composite.c | 2 +- + src/cairo-gl-operand.c | 30 ++++++++-------------- + src/cairo-gl-private.h | 19 +++++++++----- + src/cairo-gl-shaders.c | 67 +++++++++++++++++++++++++++++++++--------------- + 4 files changed, 70 insertions(+), 48 deletions(-) + +commit 4d9439132de85c0f0f4d5b5a474ea7164910251e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jun 21 20:18:40 2013 +0100 + + check: Fix check-def.sh for variations in GCC's linker + + We now need to exclude bss and data sections from the symbol list. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/check-def.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 7b80613d6d483cdfd5d0c6311de0f8586092b408 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jun 21 17:30:47 2013 +0100 + + test: Use the highest precision rendering for shapes for generating ref results + + The test-traps and test-base surfaces are used for generating the + reference results, and so they should opt for using the best rendering + paths through the traps- and base-compositors. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/test-compositor-surface.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 686ebd4a893d2e583d0cf11bd9f77681dbf0b21c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jun 21 16:58:38 2013 +0100 + + cairo-perf-print: Do not free the uninitialised histogram + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-print.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 5589e80e2bd6b82e5730cbf6b72aaf82a66b31c0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jun 21 12:01:32 2013 +0100 + + xml: Handle clip-boxes in the updated cairo_clip_t + + Edward Zimmerman pointed out that the xml surface had bitrotted slightly + and no longer understand the new clip layout - in particular that we can + have clips without a path, but just with boxes instead. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xml-surface.c | 77 +++++++++++++++++++++++++++++++++++++++++++++---- + 1 file changed, 72 insertions(+), 5 deletions(-) + +commit 2bfb9e9001bceaedffb2303c062af8e42045931e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jun 20 20:47:18 2013 +0100 + + svg: Unwrap recording surfaces + + As a first step towards bring SVG uptodate with the various new + patterns, first we need to prevent SVG crashing when it mishandles an + unknown recording surface. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-svg-surface.c | 16 ++++++++++++++-- + 1 file changed, 14 insertions(+), 2 deletions(-) + +commit b7331f0c52cc64f2c224eac502afa6c50a1a8d8b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jun 20 14:23:15 2013 +0100 + + gstate: Speed up stroked path extents + + We can skip the intermediate evaluation of the trapezoids for + determining the extents of a stroked path by using the relatively new + functions for computing the contours of the stroke. Then we can simply + use the bbox of the points within the contours to retrieve the path + extents - which is already provided by the polygon holding the contours + of the stroke. This provides a faster result with less numerical + inaccuracy due to fewer stages required in the computation + + References: https://bugs.freedesktop.org/show_bug.cgi?id=62375 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gstate.c | 24 ++++++++++++------------ + 1 file changed, 12 insertions(+), 12 deletions(-) + +commit 9ea5993b036f5930179263baaf3162eeebb7c153 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jun 20 14:11:38 2013 +0100 + + test/get-path-extents: Check exact matches within tolerance + + When we refine geometry, we do so to a tolerance as specified by the + user. This means that we can not expect tessellated results to have + exact results, but always they should match within the specified + tolerance. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/get-path-extents.c | 30 +++++++++++++++++++++--------- + 1 file changed, 21 insertions(+), 9 deletions(-) + +commit e079e4e2297810ceb10798cf310a7fafe39b18f0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jun 20 14:02:14 2013 +0100 + + image: Mark the data as owned after stealing the snapshot's image + + Victor Goya found that we ended up leaking memory after reading a PNG + into an image surface and drawing that onto a PDF surface. In + particular, he discovered that + + commit 0bfd2acd35547fc2bd0de99cc67d153f0170697d + Author: Chris Wilson <chris@chris-wilson.co.uk> + Date: Mon Aug 13 01:34:12 2012 +0100 + + xlib: Implement SHM fallbacks and fast upload paths + + introduced a path to steal the image data for a snapshot (and thereby + avoid a redundant copy), but that path then lead to the leak of the + "owned" data. + + Reported-by: Victor Goya <victor.goya@af83.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f39eef852491c10dec4089f9fb3d332a712da28c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jun 20 11:11:20 2013 +0100 + + pdf: Fix compiler warning for use of unitialised variable along error path + + cairo-pdf-surface.c: In function '_cairo_pdf_surface_add_source_surface.isra.20': + cairo-pdf-surface.c:1461:10: warning: 'unique_id' may be used uninitialized in this function [-Wmaybe-uninitialized] + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-pdf-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 80641f4adc3e2ca16e67110e7b82f42e88efd93e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jun 20 11:09:53 2013 +0100 + + pdf: Improve consistency in use of cairo_int_status_t + + Suppress several compiler warning for mixing + cairo_status_t/cairo_int_status_t enums. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-pdf-operators-private.h | 7 +- + src/cairo-pdf-surface.c | 256 ++++++++++++++++---------------- + src/cairo-ps-surface.c | 2 +- + src/cairo-type3-glyph-surface-private.h | 5 +- + 4 files changed, 136 insertions(+), 134 deletions(-) + +commit d4545910e2836eb6fc7dc2ed787b02aea514cb0b +Author: Bryce W. Harrington <b.harrington@samsung.com> +Date: Thu Jun 20 03:16:01 2013 +0000 + + test: Note naming scheme for XFAIL images in README + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + test/README | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 982f288460591a8f2b8a78db89ae6e5495d2b3b8 +Author: Bryce W. Harrington <b.harrington@samsung.com> +Date: Thu Jun 20 03:16:29 2013 +0000 + + gl: Quell warning about incompatible pointer type + + mask is a cairo_surface_t pointer, and is cast to a cairo_gl_surface_t + pointer in the _cairo_gl_surface_draw_image() call. + texture.owns_surface also expects mask to be a cairo_gl_surface_t + pointer, so apply the same cast here as well. + + Fixes the following warning: + + cairo-gl-traps-compositor.c:370:35: warning: assignment from + incompatible pointer type [enabled by default] + + Ref.: 38bf7a65 + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-gl-traps-compositor.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit aa764a3bbc3fe43191d877aaec42b73c7d55d040 +Author: Bryce W. Harrington <b.harrington@samsung.com> +Date: Thu Jun 20 03:17:38 2013 +0000 + + pdf: Assure compiler that data, data_size will always be initialized + + There are only three possible color states: COLOR, GRAYSCALE, or + MONOCHROME thus data and data_size will always be set to some value, + so assert the default is never reached. + + Fixes these warning: + cairo-pdf-surface.c:2517:32: warning: ‘data_size’ may be used + uninitialized in this function [-Wuninitialized] + cairo-pdf-surface.c:2338:19: note: ‘data_size’ was declared here + cairo-pdf-surface.c:2446:11: warning: ‘data’ may be used uninitialized + in this function [-Wuninitialized] + cairo-pdf-surface.c:2337:11: note: ‘data’ was declared here + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-pdf-surface.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 27cb80b84834f7262d70cd1f95dd6e940059f75a +Author: Bryce W. Harrington <b.harrington@samsung.com> +Date: Thu Jun 20 03:18:11 2013 +0000 + + type1-subset: Fix typos in function comment + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-type1-subset.c | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +commit f893acd60df816f3e0282affef6b58f59f84f48a +Author: Bryce W. Harrington <b.harrington@samsung.com> +Date: Thu Jun 20 03:18:45 2013 +0000 + + type1-subset: Quell warning about uninitialized array_start + + Since we explicitly set font->subset_subrs to false, there's no way the + warned code will be executed, but perhaps the compiler is confused by + the goto jump. + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-type1-subset.c | 1 + + 1 file changed, 1 insertion(+) + +commit 519dff51db30e157f52ef5244a3afeea06340ff8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jun 18 16:06:28 2013 +0100 + + scaled-font: Prevent a recursive mutex lock for removing a failed glyph + + If we fail to create a glyph, and it is the only one in the glyph page, + we then pluck that page out of the global glyph cache. The cache destroy + callback tries to take the scaled_font lock again, causing a lockup. + Rework the error path to avoid taking that lock in this case - still a + potential lock ordering issue remains. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-scaled-font.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit df1ca22ada340add2360677ff892ec043dad96f4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jun 18 15:46:28 2013 +0100 + + recording: Prevent invalid memory access with zero length command array + + If we try to sort a zero length array, we access invalid memory. + However, for a zero length command array, we can trivially compute the + number of visible indices, 0. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit c51b850bd836c2bec0a1bcc7b32136dc21bc2360 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jun 11 14:11:45 2013 +0100 + + perf: Remove a debug artifact + + Remove the intentional #error for non-UNIX path used to remind me to fix + up configure.ac. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-print.c | 1 - + 1 file changed, 1 deletion(-) + +commit 2c097e6e6b8375b7d488572cdb09b80dca06d42a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jun 11 11:57:04 2013 +0100 + + perf: Avoid vertically stretching the histogram + + If we have more rows than the max_count in any column, we end up + stretching the histogram vertically, which makes it harder to read. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-stats.c | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +commit b9f0ef4496eca31b47296543f48078b2a7034750 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jun 11 11:47:24 2013 +0100 + + perf: Rescale the histogram for the terminal + + If running ./cairo-perf-print in a terminal, query the terminal size and + rescale the histogram to use the maximum available space. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + configure.ac | 2 ++ + perf/cairo-perf-print.c | 37 +++++++++++++++++++++++++++++++++++-- + 2 files changed, 37 insertions(+), 2 deletions(-) + +commit 9a12c2e02369f0920c1f1f578eb8d228add77ea1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jun 11 11:05:03 2013 +0100 + + perf: Rudimentary histogram printing for cairo-perf-print + + If you call ./cairo-perf-print --histogram results.txt, it will then + print a histogram of the results, one per test. Ideally, you should see + a skewed distribution (with a negative skew representing that most results + run in optimal time), but random sampling errors (scheduling, + throttling, general inefficiency etc) will push it more towards a normal + distribution. + + For example, + | x | + | x xx | + | x xx | + | x xx | + | xxxx | + | xxxx x | + | x xxxxxx | + | x xxxxxx | + | xxxxxxxxx | + | xxxxxxxxx | + | xxxxxxxxx | + | xxxxxxxxxxxx | + | xxxxxxxxxxxx | + | xxxxxxxxxxxx | + | xxxxxxxxxxxxxx | + |x xxxxxxxxxxxxxx | + |x x xxxxxxxxxxxxxxx | + |x x xxxxxxxxxxxxxxx | + |x x xxxxxxxxxxxxxxxxx | + |xxx x xxxxxxxxxxxxxxxxxxx | + |xxx xxxxxxxxxxxxxxxxxxxxxxxxx | + |xxxxxx xxxx x x x x xxx xx xxxxx xxx x xxx x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx| + .------------------------------------------------------------------------------. + xlib firefox-fishtank 8298.44 1.53% (829/946) + + Starts off reasonably, but quickly deteriorates as the integrated CPU/GPU + overheats and is forced to throttle. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-print.c | 65 +++++++++++++++++++++++++++++---------- + perf/cairo-perf-report.c | 2 +- + perf/cairo-perf.h | 9 ++++++ + perf/cairo-stats.c | 80 ++++++++++++++++++++++++++++++++++++++++++++++++ + perf/cairo-stats.h | 16 ++++++++++ + 5 files changed, 155 insertions(+), 17 deletions(-) + +commit e519d6f9860c7f0bc51f1e8a17505f2dc372c938 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jun 11 10:00:56 2013 +0100 + + recording: Fix inconsistent usage of types for indices + + We were wantonly mixing unsigned/signed integers for our index and + counters, leading to compiler warnings. Be bold, and use unsigned + consistently. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface-private.h | 4 ++-- + src/cairo-recording-surface.c | 18 +++++++++--------- + 2 files changed, 11 insertions(+), 11 deletions(-) + +commit b45c79ff8a8e7c5cf4af1498d854a85c818d9268 +Author: Bryce W. Harrington <b.harrington@samsung.com> +Date: Mon Jun 10 19:01:09 2013 +0000 + + image: Quell warning about signed/unsigned int comparison. + + Restore (int) cast that was dropped in e7e1ac23. + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + src/cairo-image-compositor.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5271f3199107f50f65608f3816c840da7445fb55 +Author: Bryce W. Harrington <b.harrington@samsung.com> +Date: Sat Jun 8 01:42:20 2013 +0000 + + test: Fix typo in sample_horizontal to use horizontal, not vertical. + + Triggers the following warning during build: + + sample.c:61:1: warning: ‘horizontal’ defined but not used + [-Wunused-function] + + Signed-off-by: Bryce Harrington <b.harrington@samsung.com> + + test/sample.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 17dc312221c294b120bd159e01f5f566c6ec4a2d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jun 5 22:34:52 2013 +0100 + + trace: Improve operand emission + + In particular fixing up a couple of corner cases in emitting the right + instructions for scaled-fonts and patterns. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-trace/trace.c | 147 ++++++++++++++++++++++++++++------------------- + 1 file changed, 87 insertions(+), 60 deletions(-) + +commit e34b800214c78ec3d92de505d173fc617cf6220f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jun 4 11:47:07 2013 +0100 + + test: Extend testing of joins for fine lines + + test/caps-joins.c | 55 ++++++++++++++++++++++++++--- + test/reference/caps-joins-05.ref.png | Bin 0 -> 2169 bytes + test/reference/caps-joins-05.traps.ref.png | Bin 0 -> 1714 bytes + test/reference/caps-joins-1.ref.png | Bin 0 -> 2105 bytes + test/reference/caps-joins-1.traps.ref.png | Bin 0 -> 1861 bytes + test/reference/caps-joins-2.ref.png | Bin 0 -> 2046 bytes + test/reference/caps-joins-2.traps.ref.png | Bin 0 -> 1631 bytes + 7 files changed, 51 insertions(+), 4 deletions(-) + +commit a2d852497364afa742518ac0d9feb0466dccc191 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jun 4 11:34:31 2013 +0100 + + test: Expand testing of caps for fine strokes + + test/caps.c | 57 +++++++++++++++++++++++++++++++++-- + test/reference/caps-05.ref.png | Bin 0 -> 1375 bytes + test/reference/caps-05.traps.ref.png | Bin 0 -> 1126 bytes + test/reference/caps-1.ref.png | Bin 0 -> 1457 bytes + test/reference/caps-1.traps.ref.png | Bin 0 -> 1268 bytes + test/reference/caps-2.ref.png | Bin 0 -> 1509 bytes + test/reference/caps-2.traps.ref.png | Bin 0 -> 1231 bytes + 7 files changed, 54 insertions(+), 3 deletions(-) + +commit 85c2a0d76ab109f2bec8f7dccab577033e6d37b0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Jun 3 13:56:00 2013 +0100 + + xlib: Unlike the visual when destroying it + + Otherwise we leave dangling pointers in the visual list, leading to + memory corruption when using low bitdepth servers. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-list-inline.h | 8 +++++++- + src/cairo-xlib-visual.c | 3 +++ + 2 files changed, 10 insertions(+), 1 deletion(-) + +commit 41bef0fc385381b8c6b9091ec7ca2abe04cfc147 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu May 30 20:57:04 2013 +0100 + + traps: Ensure that we correctly clip when using multiple clip boxes + + We need to be more careful when trying to discard a clip to be sure that + it is truly not required. In particular, we need to not throw a way a + clip region when it has more than one box intersecting the mask. + + Reported-by: Alexander Larsson + Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=697357 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-composite-rectangles.c | 7 +++++++ + src/cairo-traps-compositor.c | 32 ++++++++++++++------------------ + 2 files changed, 21 insertions(+), 18 deletions(-) + +commit 631bf299256e11a17511977f357e0353fb5615f7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat May 11 21:37:05 2013 +0100 + + directfb: Correctly chain up map-to-image/unmap to the image backend + + Fixes the infinite recursion reported by jojo. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-directfb-surface.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 728e58e60f89076f626329ee3f006f011783f90b +Author: Martin Robinson <mrobinson@igalia.com> +Date: Thu May 9 10:45:44 2013 -0700 + + gles: Switch default framebuffer destinations properly + + Make _cairo_gl_context_bind_framebuffer handle different types of GLES + surfaces properly Since, the multisampling setting of a surface never changes + in for GLES, so the first thing we do when setting the destination is to + ignore the requested multisampling setting. This simplifies all + following logic. + + src/cairo-gl-device.c | 47 +++++++++++++++++++++++++++-------------------- + 1 file changed, 27 insertions(+), 20 deletions(-) + +commit 1704292e493b3c635e115df59d07330d19b39514 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Tue May 7 12:01:17 2013 -0700 + + gl: Fix compiler warnings in the GL backend + + src/cairo-gl-composite.c | 5 ++++- + src/cairo-gl-glyphs.c | 3 ++- + src/cairo-gl-msaa-compositor.c | 6 ++++-- + 3 files changed, 10 insertions(+), 4 deletions(-) + +commit e83943ec9a06f20572e22105f4e6e44740893eb9 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Mon May 6 10:56:26 2013 -0700 + + gl: Bind the default framebuffer before calling gl{Read|Draw}Buffer + + Fix more fallout from separating framebuffer binding from setting the + destination. In some cases it is sufficient to call + glDrawBuffer/glReadBuffer before binding the framebuffer, but the + masking-filling-stroking test of cairo-gl-smoke-tests fails if the order + is incorrect. + + src/cairo-gl-device.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit 32bd6aa46dc77c497f06d2ab3bf0c2ec218d9e19 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Fri Apr 26 15:21:37 2013 -0700 + + gl: Update transformation when surface size changes + + In my previous commit I mistakenly removed the transformation matrix + update when cairo_gl_surface_set_size is called. This change restores + it. + + src/cairo-gl-device.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 8da704ca7c43dda796657e86c5221736b1983122 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Wed Apr 10 22:25:49 2013 +0000 + + gl: Separate framebuffer bind from destination selection + + Disentangle the action of binding the framebuffer from setting the + destination. This straightens up the code a bit and avoids some redundant + operations (such as reacquiring the context) when simply switching from + the multi-sample framebuffer to the single-sample framebuffer and vice + versa. + + src/cairo-gl-device.c | 98 +++++++++++++++++++++++++++++--------------------- + src/cairo-gl-private.h | 9 ++--- + src/cairo-gl-surface.c | 2 +- + 3 files changed, 63 insertions(+), 46 deletions(-) + +commit 793f8223d4a71f3fc7e74722fb60659e7100a39d +Author: egag <ed44@xs4all.nl> +Date: Wed Apr 24 12:07:47 2013 +0200 + + xlib: Aquire display before using it in DEBUG message. + + src/cairo-xlib-surface.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 498421bec90f68f3d7219b145860a71fd39f0c64 +Author: Henry Song <henry.song@samsung.com> +Date: Wed Apr 17 10:23:27 2013 -0700 + + gl/msaa: Resolve multisampling on surface flush + + When flushing a surface, we must resolve multisampling for desktop GL. + This allows use of the original surface texture in any following raw GL + operations. This fixes accelerated canvas with WebKitGTK+ using the MSAA + compositor. + + src/cairo-gl-operand.c | 39 +++------------------------------------ + src/cairo-gl-private.h | 3 +++ + src/cairo-gl-surface.c | 35 +++++++++++++++++++++++++++++++++++ + 3 files changed, 41 insertions(+), 36 deletions(-) + +commit 2dd2c826a5b367d32cf2d48ed69754795990c5db +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Apr 16 10:58:56 2013 +0100 + + png: Avoid marking the surface as in error after a png warning + + It turns out that libpng will continue to load an image after throwing a + warning, and that libpng16 now throws warnings for images that libpng15 + and earlier loaded without error. As we were happily loading those + images into cairo surfaces before, we are therefore being overzealous + in throwing an error now - so just squelch the warning. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-png.c | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +commit a64ce09715162c57d6e4b6a460d426af1d443cdc +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Apr 6 09:09:23 2013 +0100 + + xlib: Trim uploads for surfaces extended by PAD + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-source.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 04b9d5d9b1ab8544fc0918d8ced90dc70641e727 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Apr 6 09:07:24 2013 +0100 + + xlib: Wrap errors generating sources in an error surface + + Once upon a time the wrapping was provided by the caller, but the + current requirement is that the error is propagated back as an error + surface. + + Bugzilla: http://bugs.freedesktop.org/show_bug.cgi?id=63196 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-source.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit f6efecdfefa161c68fc5bf193a6487fc1a5047d5 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Fri Mar 29 11:09:48 2013 -0700 + + boilerplate/gl: Disable thread awareness + + This dramatically speeds up testing on NVidia and actually makes it + possible to run traces within a reasonable amount of time. + + cairo-perf-trace results for: + NVIDIA Corporation GeForce GTS 250/PCIe/SSE2 3.3.0 NVIDIA 310.14 + + Before: + test min(s) median(s) stddev. count + gvim 30.924 31.251 0.72% 5/6 + firefox-fishbowl 168.751 201.017 12.46% 8/8 + (exited early) + + After: + test min(s) median(s) stddev. count + gvim 1.294 1.325 1.79% 6/6 + firefox-fishbowl 18.540 19.104 1.54% 6/6 + + boilerplate/cairo-boilerplate-egl.c | 2 ++ + boilerplate/cairo-boilerplate-glx.c | 3 +++ + 2 files changed, 5 insertions(+) + +commit b00b9e82ab728eaf3b87dd1113387d8e8df0d7e3 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Thu Apr 4 12:03:19 2013 -0700 + + boilerplate: Add a mode for running threaded perf tests + + This is useful because the GL backend runs much faster on some drivers + when thread awareness is disabled. + + boilerplate/cairo-boilerplate.h | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +commit e66e9ac12e3e11af76f14e8de3cfee72d4299864 +Author: Marc-André Lureau <marcandre.lureau@gmail.com> +Date: Tue Apr 2 00:32:56 2013 +0200 + + win32: fix corrupted drawing + + Fix src bitmap coordinates, which origin is bottom-left. This is + apparently a bug in StretchDIBits(), according to some comments on + MSDN API documentation. + + The backend used to have this coordinate change in the past: + + if (!StretchDIBits (dst->dc, + /* dst x,y,w,h */ + dst_r.x, dst_r.y + dst_r.height - 1, + dst_r.width, - (int) dst_r.height, + /* src x,y,w,h */ + src_r.x, src_extents.height - src_r.y + 1, + src_r.width, - (int) src_r.height, + src_image->data, + &bi, + DIB_RGB_COLORS, + SRCCOPY)) + + https://bugs.freedesktop.org/show_bug.cgi?id=61876 + + src/win32/cairo-win32-gdi-compositor.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 0446fae26d35dc4e31aadc498f0f9b48b21d2c45 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Mar 23 11:19:14 2013 +0000 + + perf: Iteratively prune outliers + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-stats.c | 41 +++++++++++++++++++++++------------------ + 1 file changed, 23 insertions(+), 18 deletions(-) + +commit fdec6b37596d8b064ff082326d7189daa8208052 +Author: Michael Hutchinson <m.j.hutchinson@gmail.com> +Date: Fri Mar 29 02:37:33 2013 +0100 + + quartz: Don't release memory we don't own + + This was causing crashes due to double frees. + + https://bugs.freedesktop.org/show_bug.cgi?id=62885 + + Signed-off-by: Benjamin Otte <otte@redhat.com> + + src/cairo-quartz-surface.c | 1 - + 1 file changed, 1 deletion(-) + +commit 9e0748e223cfb8c5557c73f3ab5068ec1323e7c2 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Wed Mar 27 08:08:32 2013 +1030 + + pdf: fix typo in bbox check + + http://lists.cairographics.org/archives/cairo/2013-March/024186.html + + src/cairo-pdf-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 59ccc3d72e839bd897111322765bb13696a97ef5 +Author: Nicola Fontana <ntd@entidi.it> +Date: Fri Mar 1 14:16:45 2013 +0100 + + gobject: Add wrapper around cairo_matrix_t + + Reviewed-By: Benjamin Otte <otte@redhat.com> + Signed-off-by: Uli Schlachter <psychon@znc.in> + + util/cairo-gobject/cairo-gobject-structs.c | 4 +++- + util/cairo-gobject/cairo-gobject.h | 4 ++++ + 2 files changed, 7 insertions(+), 1 deletion(-) + +commit be5eabb66a475720020211a6d37bfeb75fc3242c +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Mar 22 18:19:00 2013 +0100 + + xcb: Clear temporary replay image in recording playback + + This gets rid of random noise that we got from the X11 server due to + uninitialized memory. + + Fixes: pdf-surface-source, ps-surface-source, svg-surface-source + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +commit 41ef69a98c67a2cb8b64e8ef3bb986d57a0a2437 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Mar 22 14:14:29 2013 +0100 + + Fix "make check" standalone header check + + This fixes the following error: + + ./cairo-fixed-private.h: In function ‘_slow_segment_intersection’: + ./cairo-fixed-private.h:374:9: error: ‘FALSE’ undeclared (first use in this function) + ./cairo-fixed-private.h:374:9: note: each undeclared identifier is reported only once for each function it appears in + ./cairo-fixed-private.h:386:12: error: ‘TRUE’ undeclared (first use in this function) + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-fixed-private.h | 1 + + 1 file changed, 1 insertion(+) + +commit b7c06fff1f597ba74fa6618766ec297d3a4bf880 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Mar 22 14:04:44 2013 +0100 + + boilerplate: rename xcb-render-0.0 to xcb-render-0_0 + + The test suite uses dots to separate the backend name from the content type. + Thus, the backend name must not contain any dots. + + The xlib backend already calls its RENDER 0.0 target xlib-render-0_0 for this + reason. This commit makes the xcb backend match this. + + Reported-by: Darxus <darxus@chaosreigns.com> + Signed-off-by: Uli Schlachter <psychon@znc.in> + + boilerplate/cairo-boilerplate-xcb.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit caf50c07e225ee3a3e149234601e7305b1437736 +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Mar 22 13:58:04 2013 +0100 + + test: Fix handling of dots in CAIRO_TEST_TARGET + + Before this, the following happened: + + $ CAIRO_TEST_TARGET=image,xcb-render-0.0 make test + Cannot find target 'image'. + Known targets: image, [...] + + The reason for this is that _cairo_boilerplate_target_matches_name() doesn't get + a null-terminated string, but instead has a pointer to the end of the string. + However, strpbrk() expects a null-terminated argument and thus could return a + result which points past the end of the input. + + This commit fixes exactly this. + + Reported-by: Darxus <darxus@chaosreigns.com> + Signed-off-by: Uli Schlachter <psychon@znc.in> + + boilerplate/cairo-boilerplate.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 13bd8d09b44e50649f6fc4d58d036bc32c1d5c5b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Mar 21 16:48:43 2013 -0400 + + [ft] I meant fabs(), not abs() + + src/cairo-ft-font.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ed6a293e3dd2e81c8e159bf685cce6ffbcd7c81c +Author: Henry Song <henry.song@samsung.com> +Date: Wed Mar 20 15:10:34 2013 +0000 + + gl: Fix typo in gles2 shader cache lookup + + When comparing shader cache entries, it's important that we actually + compare the variable type hash. + + src/cairo-gl-shaders.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ff233fd706e62edf267bee66113e2cb35183bcd9 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Mar 18 14:17:29 2013 -0400 + + [test] Set font size + + Previously this test was working because we were not scaling bitmap + fonts. We do now, so adjust test. + + test/bitmap-font.c | 1 + + 1 file changed, 1 insertion(+) + +commit be347acd5a198b4280f2699a1abfca241e7e610b +Author: Matt Sealey <matt@genesi-usa.com> +Date: Mon Mar 11 10:24:52 2013 -0500 + + gitignore: negate gitignore for static pkgconfig files + + Commit 781f253 adds a rule cairo-*.*.* to .gitignore in the root dir. + Unfortunately this matches several src/cairo-*.pc.in files in the + src directory. + + The build system requires these files to be present, but the rule is + allowing them to be ignored. For example, when extracting a cgit + snapshot tarball and checking it into another git repository, these + files get left behind. Any accidental changes to these files will go + unnoticed by a 'git status' (possibly creating bad installs) and + any intentional changes could not be committed (git commit -a will + miss them, and every one will need to be forced). This is not really + desirable. + + We don't want to unignore *.pc.in here since there are many, many + autogenerated files with this name, and the cairo-*.*.* rule is in + general quite useful and doesn't warrant modification (although it + could be made a little more specific), so we just make these 4 files + a special case and negate the match with full filenames in src/. + + Signed-off-by: Matt Sealey <matt@genesi-usa.com> + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/.gitignore | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 0e999edff869bc08522a6a56c69efa9b5e1c33b5 +Author: Matthew Fischer <matthew.fischer@canonical.com> +Date: Sat Mar 9 15:42:59 2013 -0700 + + Adding a simple usage statement to cairo-perf-chart + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + perf/cairo-perf-chart.c | 29 +++++++++++++++++++++++++++++ + 1 file changed, 29 insertions(+) + +commit 592f5944239debfa3dacc410f675261947156baf +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Mar 15 16:53:28 2013 +0100 + + test: Fix CAIRO_REF_DIR + + Ever since the test output was moved from test/ to test/output/, using + CAIRO_REF_DIR to make the test suite succeed no longer works. The test suite was + looking for the wrong file names. + + This patch makes this work again. However, I am not sure that this really is the + correct fix. It just seems to work. :-) + + Reported-by: Darxus <darxus@chaosreigns.com> + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/README | 2 +- + test/cairo-test.c | 5 ++--- + 2 files changed, 3 insertions(+), 4 deletions(-) + +commit c141615a7fa632a2435b49f3949ed1fc9962af1f +Author: Marek Kasik <mkasik@redhat.com> +Date: Fri Mar 15 14:46:19 2013 +0100 + + cff-subset: Fix allocation of width arrays + + fd_default_width and fd_nominal_width + are arrays of doubles not arrays of ints. + + src/cairo-cff-subset.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 01a8bf01c6508a4fea8d40371c3049e7a2f7908a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Mar 15 09:08:00 2013 +0000 + + mempool: Reduce an assert into an error return for get_buddy() + + If we ask for a buddy that is outside of our allocation that is an + error that should not happen with a power-of-two allocated zone... + However, since it has been seen in the wild, we can safely return that + there is no buddy rather than die in a too-late assert. + + Reported-by: Anton Eliasson <devel@antoneliasson.se> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-mempool.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 2c2dccf5a4d298c866f7c0faed2e10c65252c168 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Tue Mar 12 15:17:19 2013 -0700 + + stroke: Use round-joins near inflection points of splines + + Similar to b7bd5ae4f3da44131261711bb236cd7aa24a3ae3, but applied to the + fallback stroke shaper. + + src/cairo-path-stroke.c | 36 ++++++++++++++++++++++++++++++++++++ + 1 file changed, 36 insertions(+) + +commit aadece05fb1cf80f0a1138368f4664e878a59204 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Tue Mar 12 15:16:01 2013 -0700 + + stroke: Fix large line widths for fallback stroke shaper + + Fix the test case line-width-tolerance for the fallback stroke shaper. + Instead of drawing quads between spline points, draw triangle based on + the actual spline edges. This roughly follows the approach of the + tristrip and polygonal shapers. + + src/cairo-fixed-private.h | 34 ++++++++++++++++++ + src/cairo-path-stroke.c | 90 ++++++++++++++++++++++++++++++++++++++++++----- + 2 files changed, 116 insertions(+), 8 deletions(-) + +commit c60e23feb16a8745eaa6d213a89f61ded5707731 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Wed Mar 13 17:19:19 2013 -0700 + + path: Fix a bug in line intersection + + Before the intersection code was not taking into account that both + quotients are required to be in the range (0,1) for the segments to + intersect or handling the case of negative numerators and denominators. + + src/cairo-path-fixed.c | 39 +++++++++++++++++++++++++++------------ + 1 file changed, 27 insertions(+), 12 deletions(-) + +commit 5ee136b2c067c92e85f04ba0c84966f7760f4556 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Fri Mar 8 10:29:55 2013 -0800 + + gl: Setup operands when the vertex size changes + + Previously _cairo_gl_composite_setup_vbo was overwriting the old context + vertex_size, while _cairo_gl_context_setup_operand was relying on it to + determine if the vertex size changed. Instead of a fragile ordering of + statements, pass whether the vertex size changed as an argument to enforce + the calling order via method parameters. + + src/cairo-gl-composite.c | 29 +++++++++++++++++------------ + 1 file changed, 17 insertions(+), 12 deletions(-) + +commit f50ced2e7b4b2f4601dc9b9edf1a861401c302e4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Mar 8 14:25:26 2013 +0000 + + gl: Fix typo s/bool/cairo_bool_t/ + + One quickly gets used to having stdbool.h available. + + src/cairo-egl-context.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 524e6fd3e82d952dfa850b832238a1f4f9ccb8bb +Author: Henry Song <henry.song@samsung.com> +Date: Thu Mar 7 16:33:27 2013 +0000 + + gl: Export query for EGLContext and EGLDisplay from device + + Similar to glx, add query for the EGLContext and EGLDisplay to egl-based + cairo devices. + + src/cairo-egl-context.c | 33 +++++++++++++++++++++++++++++++++ + src/cairo-gl.h | 6 ++++++ + 2 files changed, 39 insertions(+) + +commit a8f1b456db744e33a10b2301df03528787e5b1ca +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Mar 8 06:21:59 2013 -0500 + + [FT] Prefer downscaling bitmap glyphs to upscaling + + Say, you have bitmap strikes for sizes 50ppem and 100ppem. + To render at 60ppem, it's much better to downscale the 100ppem + bitmap than upscale 50ppem one. Prefer downscaling. + + src/cairo-ft-font.c | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +commit 4f00d2344c84a1017a1e7d76ccb2fa552c80a969 +Author: Jana Saout <jana@saout.de> +Date: Fri Mar 1 20:10:28 2013 +1030 + + pdf: Fix crash + + Bug 61451 + + src/cairo-pdf-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 7658eced9a45f42033c2b0b45cee70f6edb6ff20 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Feb 24 17:07:54 2013 +0000 + + xlib: Fix invocation of XRenderFindFormat() + + The 'count' parameter is an indication to libXrender of the number of + matches to skip before reporting (rather than a limit on the number to + report). As we only want the first match, always pass 0. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-display.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 446a3dc5c0298e35b9a1e38460bc3804ab6e01ce +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Feb 19 20:59:16 2013 +1030 + + pdf: add missing 'endobj' to shading dict + + https://bugs.launchpad.net/ubuntu/+source/libcairo/+bug/1051939 + + src/cairo-pdf-surface.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit e7e1ac235ff94d184d88c8c206b81343822f6a4e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Feb 19 09:54:24 2013 +0000 + + image: Compare against the true size of the embedded buffer + + When querying whether the run is small enough to fit inside the + pre-allocated temporary buffer, we need to avoid comparing against + sizeof(buf) as buf is a variable length array and so sizeof() is + meaningless. + + Reported-by: Edward Zimmermann <Edward.Zimmermann@cib.de> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit fb1abbc4bc25c541cfb1084012a6a185c541c340 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Feb 15 14:04:21 2013 +0000 + + win32: Free the fallback upon finish + + Zozó Teki pointed out that we leak the fallback surface upon finish in + case it was active at the time as the preceding flush would only clear + the damage and not decouple the fallback surface. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/win32/cairo-win32-display-surface.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 41e646e019911f8e566e4f9963036117750f862f +Author: Henry Song <henry.song@samsung.com> +Date: Tue Jan 29 17:30:25 2013 +0000 + + gl: disable GL_DITHER + + GL_DITHER is enabled by default by spec. Leaving GL_DITHER enabled + causes color pixel mismatch on some drivers by comparing uploading then + readPixels and original image. + + src/cairo-gl-device.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 02b467a28703a0bd68b92fb26f7905bf6a25bf7d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Feb 12 10:46:42 2013 +0000 + + test: Exercise replaying a recording surface through a flip matrix + + test/Makefile.sources | 1 + + test/recordflip.c | 493 +++++++++++++++++++++ + test/reference/recordflip-fill-alpha.ref.png | Bin 0 -> 2790 bytes + .../recordflip-paint-alpha-clip-mask.ref.png | Bin 0 -> 340 bytes + test/reference/recordflip-paint-alpha-clip.ref.png | Bin 0 -> 291 bytes + .../recordflip-paint-alpha-solid-clip.ref.png | Bin 0 -> 280 bytes + test/reference/recordflip-paint-alpha.ref.png | Bin 0 -> 242 bytes + test/reference/recordflip-paint.ref.png | Bin 0 -> 93 bytes + test/reference/recordflip-select-font-face.ref.png | Bin 0 -> 2229 bytes + .../reference/recordflip-self-intersecting.ref.png | Bin 0 -> 168 bytes + test/reference/recordflip-text-transform.ref.png | Bin 0 -> 5606 bytes + 11 files changed, 494 insertions(+) + +commit a09b7c79278465ee1ad916697e0153eae640d8df +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Feb 12 10:25:03 2013 +0000 + + path: Fix bbox computation for negative scale factors + + The fast path for transforming a path by a simple scale factor, forgot + to fix up the orientation of the box if that scale factor was negative. + + Reported-by: Edward Zimmermann <Edward.Zimmermann@cib.de> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-fixed.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +commit be1561dadece6e947a3ca78d1124197b4278ce96 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Feb 12 10:24:08 2013 +0000 + + recording: Avoid indirection through indices array if not reduced + + If we don't discard any elements, then the index array is simply a 1:1 + mapping of the element array, and we may as well bypass it. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 14237f11439831377b59e8ea5717de5dd3e19e73 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Feb 12 10:11:12 2013 +0000 + + spans: Mark the surface as cleared in preparing for recording surface playback + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-spans-compositor.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +commit 7f3cca458a7546f913533f693b581325228aba4e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Feb 10 14:18:47 2013 +0000 + + Post release version bump to 1.12.15 + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 0dac37c41473deafa4a2f154187c5c3d08b07c91 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Feb 10 13:38:28 2013 +0000 + + 1.12.14 release + + NEWS | 32 ++++++++++++++++++++++++++++++++ + cairo-version.h | 2 +- + 2 files changed, 33 insertions(+), 1 deletion(-) + +commit 93ddc3a28308bcd9e062178ceb453f26e9228fc4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Feb 10 13:13:31 2013 +0000 + + tests: Update reference images after adjustments to polygon line clipping + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/reference/clip-nesting.rgb24.ref.png | Bin 937 -> 936 bytes + test/reference/record-fill-alpha.argb32.ref.png | Bin 2736 -> 0 bytes + test/reference/record-fill-alpha.ref.png | Bin 2839 -> 2812 bytes + test/reference/record-fill-alpha.rgb24.ref.png | Bin 2736 -> 0 bytes + test/reference/record1414x-fill-alpha.argb32.ref.png | Bin 4129 -> 0 bytes + test/reference/record1414x-fill-alpha.rgb24.ref.png | Bin 4129 -> 0 bytes + test/reference/record2x-fill-alpha.argb32.ref.png | Bin 5715 -> 0 bytes + test/reference/record2x-fill-alpha.rgb24.ref.png | Bin 5715 -> 0 bytes + test/reference/record90-fill-alpha.argb32.ref.png | Bin 2651 -> 0 bytes + test/reference/record90-fill-alpha.rgb24.ref.png | Bin 2651 -> 0 bytes + test/reference/rel-path.rgb24.ref.png | Bin 216 -> 216 bytes + 11 files changed, 0 insertions(+), 0 deletions(-) + +commit d4651676e1496f0354acb0ef045e8b65601edf6d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Feb 8 22:17:13 2013 +0000 + + win32: Clear the similar-image before returning to the user + + Our userspace API mandates that surfaces created for the user are + cleared before they are returned. Make it so for the win32 similar image + constructor. + + Reported-by: Michael Henning <drawoc@darkrefraction.com> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=60519 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/win32/cairo-win32-display-surface.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +commit 2d7ac9e737f37daf8490c27e6a04c65bba642645 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Feb 8 15:19:14 2013 +0000 + + xlib: Only apply the dst offset to the glyph strings once + + The elts offset is a delta from the previous glyph coordinate. So by + subtracting the dst origin everytime, we were accumulating a glyph + position error. Instead we just want to offset the starting coordinate + and then always use relative positions. + + Reported-by: Theo Veenker <T.J.G.Veenker@uu.nl> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-render-compositor.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +commit ea16302e45ced56e6f12b8520e9f530e1ffc68c4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Feb 8 13:22:01 2013 +0000 + + polygon: Avoid computing the unused intersection coordinates + + If we only ignore the result of the computed boundary intersection, + because the edge is inside that boundary, then we can simply forgo the + calculation. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-polygon.c | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) + +commit 8cfbdf2f02ba01d5638a91c9f3f7fc228b402caa +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Feb 8 13:10:25 2013 +0000 + + polygon: Only rely on the computed boundary intersections for crossing edges + + If we need to extrapolate the edge to the boundary, then we run the risk + of an overflow for an immaterial result. So if the edge does not cross + the boundary, we can simply use the corresponding end-point and not emit + the boundary segment. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=60489 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-polygon.c | 35 +++++++++++++++++++++++++---------- + 1 file changed, 25 insertions(+), 10 deletions(-) + +commit 607a15db5df04d10e5be6d06599ec4e9d98d2446 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Feb 7 21:40:30 2013 +0000 + + gl: Mark up _cairo_gl_composite_set_operator* as private + + Add the cairo_private markup to hide the PLT entries and to keep make + check happy. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-private.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 562cc8227feb99b75fb53df7800df66887be129d +Author: Ravi Nanjundappa <ravi.nanjundappa@gmail.com> +Date: Mon Feb 6 10:56:55 2012 +0530 + + gl/spans: Handle SOURCE operations with opaque sources. + + SOURCE operations with an opaque are equivalent to OVER. + This can prevent us from falling back in certain cases. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-spans-compositor.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit 4b6b28b5e8b9020c72a60b01ff3340a70dd59478 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Feb 7 10:00:47 2013 +0000 + + win32: Fix is_win98() + + Since the translation into a separate function, its condition was + reversed: that is almost everybody thought they were on a win98 machine + and so had no working AlphaBlend(). + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/win32/cairo-win32-device.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 4b54c09c056e5dee65f2cf4e87835eb9127e5b1c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 6 22:16:12 2013 +0000 + + image: Substitute OVER spans for SOURCE with an opaque pattern + + Based on an idea from Ravi Nanjundappa + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +commit 400ea9c2905461067df9e6d27c2e961d47f04676 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Wed Feb 6 12:53:14 2013 -0800 + + gl/msaa: Properly fall back when using CLEAR operator + + There are some situations that the MSAA compositor doesn't support using + the CLEAR operator. We should properly fall back in those cases. + + src/cairo-gl-msaa-compositor.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit 7bee1962f601009c507f987838de1a9dec3d9334 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Feb 5 21:57:52 2013 +1030 + + type1-subset: in latin subsets replace glyph names with standard names + + When using WinAnsiEncoding in PDF the glyphs are keyed by glyph + name. We need to ensure the correct names are used and can't assume + the glyph names in the font are correct. + + Bug 60248 + + src/cairo-type1-subset.c | 19 +++++++++++++++++-- + 1 file changed, 17 insertions(+), 2 deletions(-) + +commit 4cb181d985adbbf79e80ff695adc908810b41544 +Author: Henry Song <henry.song@samsung.com> +Date: Tue Jan 29 17:53:38 2013 +0000 + + gl: do not force flush everytime uploading a glyph image to glyph cache + + In normal cases, we want to flush pending operations reading from the + texture before modifying its contents. However during uploading of + glyphs into the glyph cache, we repeatedly modify the texture as we + construct the vbo (whilst referencing it for that operation). We track + unused areas in the glyph cache so that if we run out of space, we can + explicitly flush the pending glyphs and start afresh and avoid having to + flush the operation in common case. + + src/cairo-gl-glyphs.c | 2 +- + src/cairo-gl-private.h | 3 ++- + src/cairo-gl-spans-compositor.c | 2 +- + src/cairo-gl-surface-legacy.c | 7 ++++--- + src/cairo-gl-surface.c | 16 ++++++++++------ + src/cairo-gl-traps-compositor.c | 9 ++++++--- + 6 files changed, 24 insertions(+), 15 deletions(-) + +commit 260c16331a2c7bedbcf35d7f2cbab2f1f4098c87 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Feb 4 10:43:13 2013 +0000 + + gl: Include the vertex ident in the shader cache hash + + As we may specialise the vertex program depending upon details of the + fragment shader, and may have more than one program for the same + combination of fragment sources, we need to include the vertex tag in + the cache entry. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-shaders.c | 49 ++++++++++++++++++++++++++++++------------------- + 1 file changed, 30 insertions(+), 19 deletions(-) + +commit 05ad89f91241b386f72f5b9bac3ebe62faff1d1b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Feb 3 16:51:35 2013 +0000 + + gl: Replace manual vertex transformation with VS computation of texcoords + + Not only is our point transformation code is quite slow (well at least + compared to a real GPU), but by deriving the texture coordinates from + the vertex position we can elide the multiple arrays that we need to + construct and pass to GL - improving performance by eliminating CPU + overhead from needless transforms and data shovelling. + + However, not all vertex emission is suitable. For instance, for glyphs + we need to emit discontiguous texture coordinates for each glyph, but + span generation is suitable - which fortuitously also has the largest + vertex density and so benefits the most. + + The only real concern is for hardware without true vertex shader support + (e.g. i915) but there we are already invoking the VS to transform the + vertex into the viewport. We would need to eliminate that transform as + well as manually compute the texture coordinates in order to eliminate + the vertex recomputation pass. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-composite.c | 70 ++++++++++++++++++++++++++++++----------- + src/cairo-gl-msaa-compositor.c | 21 ++++++++----- + src/cairo-gl-operand.c | 67 +++++++++++++++++++++++++++++---------- + src/cairo-gl-private.h | 24 ++++++++------ + src/cairo-gl-shaders.c | 31 +++++++++++++----- + src/cairo-gl-source.c | 3 +- + src/cairo-gl-spans-compositor.c | 6 ++-- + src/cairo-gl-traps-compositor.c | 3 +- + 8 files changed, 162 insertions(+), 63 deletions(-) + +commit d15a71f128c73ce1da19e6ff5a4e2fe044b58749 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Feb 3 12:51:13 2013 +0000 + + qt: Update for fallback compositor + + We now need to explicitly manage fallbacks and to provide an + implementation for map-to-image/unmap-image. + + src/cairo-qt-surface.cpp | 210 +++++++++++++++++++++++++++++++---------------- + 1 file changed, 140 insertions(+), 70 deletions(-) + +commit 10110d58cee179cded8e4c4ff8a8d02c477585bd +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Feb 2 08:47:26 2013 +0000 + + surface: Prevent reads from the user-data arrays during teardown + + In a similar fashion to the previous commit, we also need to be wary of + users simply trying to read from a potentially freed user-data array. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +commit 18cff63e3d288bf2d7773760f2ab25c80a4a2bc1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Feb 2 08:47:26 2013 +0000 + + surface: Prevent writes to the user-data arrays during teardown + + As we cleanup the user-data arrays, we call the user provided destroy + notifier callbacks. These callbacks are at liberty to write back into + the parent surface, and in particular try to write into the arrays that + we have just freed. This causes hard to control and fairly unpredictable + use-after-frees in the client, so lets just rule out the dangerous + behaviour. + + References:https://bugzilla.mozilla.org/show_bug.cgi?id=722975 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +commit c391093f40472c2300f38d0e5857858f85586b60 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Feb 1 16:31:49 2013 +0000 + + image: Add a convenience function for creating an image from another's data + + The GL backend would like to extract a rectangle from another surface + and convert it to a different pixel format. The + _cairo_image_surface_create_from_image() does that by returning a new + image that has the contents of the specified rectangle in the source + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-surface-private.h | 7 +++++ + src/cairo-image-surface.c | 55 +++++++++++++++++++++++++++++++++++++++ + 2 files changed, 62 insertions(+) + +commit 15830fdb1087f18dcd6351de1034a5025b8ed343 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jan 31 18:50:39 2013 +0000 + + NEWS: fix a couple of typos + + Reported-by: Thierry Vignaud + + NEWS | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 28dbafd5643fcf637a556fc196b5b984d44d151d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jan 31 16:23:24 2013 +0000 + + Post release version bump to 1.12.13 + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit a201a1169f472e822a66275b7dffe62f241d8ec0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jan 31 15:24:33 2013 +0000 + + 1.12.12 release + + NEWS | 24 ++++++++++++++++++++++++ + cairo-version.h | 2 +- + 2 files changed, 25 insertions(+), 1 deletion(-) + +commit 350f9fb5366079113eb8bca947d480362c3ae6be +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jan 31 15:15:03 2013 +0000 + + test: Refresh refs for aa noise following reduction of the 2-stage compositing + + A side effect of + + commit c986a7310bb06582b7d8a566d5f007ba4e5e75bf + Author: Chris Wilson <chris@chris-wilson.co.uk> + Date: Thu Jan 24 08:55:54 2013 +0000 + + image: Enable inplace compositing with opacities for general routines + + is that we should in theory be reducing the rounding errors when + compositing coverage. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/reference/bug-source-cu.rgb24.ref.png | Bin 3211 -> 3211 bytes + test/reference/clip-stroke-unbounded.argb32.ref.png | Bin 4128 -> 4127 bytes + test/reference/clip-stroke-unbounded.rgb24.ref.png | Bin 3546 -> 3566 bytes + test/reference/mask.argb32.ref.png | Bin 8579 -> 8565 bytes + test/reference/mask.rgb24.ref.png | Bin 7127 -> 7135 bytes + .../record-paint-alpha-clip-mask.argb32.ref.png | Bin 340 -> 0 bytes + test/reference/record-paint-alpha-clip-mask.ref.png | Bin 333 -> 318 bytes + .../record-paint-alpha-clip-mask.rgb24.ref.png | Bin 340 -> 0 bytes + test/reference/record-text-transform.argb32.ref.png | Bin 5579 -> 0 bytes + test/reference/record-text-transform.rgb24.ref.png | Bin 5579 -> 0 bytes + test/reference/record1414x-text-transform.ref.png | Bin 8706 -> 8365 bytes + test/reference/record2x-text-transform.ref.png | Bin 13476 -> 13072 bytes + .../record90-paint-alpha-clip-mask.argb32.ref.png | Bin 343 -> 0 bytes + .../record90-paint-alpha-clip-mask.ref.png | Bin 0 -> 316 bytes + .../record90-paint-alpha-clip-mask.rgb24.ref.png | Bin 343 -> 0 bytes + .../record90-paint-alpha-clip.argb32.ref.png | Bin 296 -> 0 bytes + test/reference/record90-paint-alpha-clip.ref.png | Bin 0 -> 320 bytes + .../record90-paint-alpha-clip.rgb24.ref.png | Bin 296 -> 0 bytes + .../record90-text-transform.argb32.ref.png | Bin 5811 -> 0 bytes + test/reference/record90-text-transform.ref.png | Bin 0 -> 5481 bytes + .../reference/record90-text-transform.rgb24.ref.png | Bin 5811 -> 0 bytes + .../recording-surface-extend-none.argb32.ref.png | Bin 3051 -> 3153 bytes + .../recording-surface-extend-none.rgb24.ref.png | Bin 3128 -> 3145 bytes + .../recording-surface-extend-pad.argb32.ref.png | Bin 10822 -> 11200 bytes + .../recording-surface-extend-pad.rgb24.ref.png | Bin 12582 -> 12586 bytes + .../recording-surface-extend-reflect.argb32.ref.png | Bin 23518 -> 23967 bytes + .../recording-surface-extend-reflect.rgb24.ref.png | Bin 23881 -> 23930 bytes + .../recording-surface-extend-repeat.argb32.ref.png | Bin 24047 -> 24091 bytes + .../recording-surface-extend-repeat.rgb24.ref.png | Bin 24038 -> 24075 bytes + .../reference/recording-surface-over.argb32.ref.png | Bin 0 -> 3153 bytes + test/reference/recording-surface-over.rgb24.ref.png | Bin 3128 -> 3145 bytes + .../recording-surface-source.argb32.ref.png | Bin 3044 -> 3153 bytes + .../recording-surface-source.rgb24.ref.png | Bin 3133 -> 3146 bytes + test/reference/stroke-clipped.ref.png | Bin 5886 -> 5790 bytes + 34 files changed, 0 insertions(+), 0 deletions(-) + +commit 22b7fae0368ba6cff23b2ebdf58bd7d1bfdfbd6f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jan 31 14:19:53 2013 +0000 + + image: Add a reference for the clone's parent image + + We use the parent as a flag during map-to-image/umap-image that the + resultant image came from a fallback rather than as direct call + to the backend's map_to_image(). Whilst we use it as a simple flag, + we need to make sure the parent surface obeys the reference counting + semantics and is consistent for all callers. + + Unlike other users of the parent pointer, there is no resource sharing + between the two surfaces. + + Reported-by: Henry Song <henry.song@samsung.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-surface.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +commit ec58fde294afd52c89fa5ed21ba2611edfdbd550 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jan 31 14:06:48 2013 +0000 + + perf: Synchronize before stopping the timers + + Fixes a regression from + + commit 2855ff4666922f2c38505414270d47f659b0d499 + Author: Andrea Canciani <ranma42@gmail.com> + Date: Wed Aug 31 16:42:03 2011 +0200 + + perf: Reuse cairo-time + + which dropped the essential call to synchronize when refactoring the + code. + + Reported-by: Siarhei Siamashka <siarhei.siamashka@gmail.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 2560c0b6577a6380ef175cf18bb804913784632c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 29 23:51:44 2013 +0000 + + xlib/shm: More clarification of seqno required + + Everytime I read the predicate wrong, but hopefully, this time I have it + right! + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 91834fbdee40f46e18d071fd2671a7a642e6aa86 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 29 22:12:00 2013 +0000 + + xlib/shm: Clarify testing of seqno + + Rename the seqno tests into seqno_passed(), seqno_before() and + seqno_after() in order to clarify their semantics. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-source.c | 2 +- + src/cairo-xlib-surface-shm.c | 20 ++++++++++++++++---- + 2 files changed, 17 insertions(+), 5 deletions(-) + +commit 89092b97b50a7740058d0f72f94dfc6defe15ed6 +Author: Henry Song <henry.song@samsung.com> +Date: Tue Jan 29 13:21:00 2013 -0800 + + gl/msaa: Don't emit alpha when emitting vertices + + The color attribute is disabled when not in spans mode, so the emitted + alpha is simply overwritten by the next vertex. Additionally, this can + potentially cause the alpha to be written past the end of the buffer. + + src/cairo-gl-composite.c | 24 +++++++++++------------- + 1 file changed, 11 insertions(+), 13 deletions(-) + +commit 74a19c527c1fa07ade2042a8d2acecbb5f6ccab1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 29 10:31:05 2013 +0000 + + configure: Include X11.h before testing for usability of Xrender.h + + On Solaris at least, the Xrender.h header is not standalone and requires + X11/X.h to be included first to define the essential types. + + Reported-by: Andreas F. Borchert <bugzilla@andreas-borchert.de> + Bugzilla; https://bugs.freedesktop.org/show_bug.cgi?id=58199 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + configure.ac | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 41ae904461e344fbfa3be3d276a7102bb4304b19 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 29 03:52:02 2013 +0000 + + xlib/shm: Appease the compiler for a 'maybe used uninitialised' variable + + Initialise shm during its declaration so that it is indeed initialised + for the cleanup after every path. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-render-compositor.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 9b92625151ca75a6ee10f231f83b53f67a371947 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 29 03:49:56 2013 +0000 + + xlib/shm: Simplify uploading of SHM image data + + Make sure that we simply copy from the SHM segment into the target + drawable, and not inadvertently stage it through another SHM buffer. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-render-compositor.c | 22 ++++++++++++---------- + 1 file changed, 12 insertions(+), 10 deletions(-) + +commit c006b886d28a772d7a62cec52ab7e0c8196c36f6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 29 03:01:31 2013 +0000 + + xlib/shm: Force synchronisation for scratch SHM image buffers + + The scratch image buffers are used for uploads to the xserver and so we + must be careful not to overwrite active SHM segments. Unfortunately we + told the core SHM allocator that we would sync before using the images, + which was a lie. + + Reported-by: Michael Natterer <mitch@gimp.org> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit fd59e6d86a3a1fc6720316f20deb8a0bd6f7b767 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 29 03:00:46 2013 +0000 + + xlib/shm: Always request a CompletionEvent from ShmPutImage + + ...and treat is as an expected event for synchronisation. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 11 +++-------- + src/cairo-xlib-surface.c | 3 +-- + 2 files changed, 4 insertions(+), 10 deletions(-) + +commit a364a106b257c4493ba7b3badacc63599ba6064a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 29 02:52:10 2013 +0000 + + xlib/shm: Tidy up destroying the mempool for a shm block + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 02a2baa8dcf49ad2d9766d43578ba216fab0d464 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 29 02:51:25 2013 +0000 + + xlib/shm: Tidy creation of the proxy source for ShmPixmaps + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-source.c | 10 +++------- + 1 file changed, 3 insertions(+), 7 deletions(-) + +commit 30e950515171b25d9bc3da8d535cfe05d8be69c8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 29 02:49:26 2013 +0000 + + xlib/shm: Skip creating new SHM segments if the data is already in the xserver + + If the image is already inside a SHM segment, but the image format does + not match the surface, fallback to the XRender paths in order to perform + colorspace conversion on the data already inside the Xserver. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-render-compositor.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 1d1af825bb4fcfd7c4a54b65292734ba244e096d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 29 02:47:48 2013 +0000 + + xlib/shm: Tighten mark-active to the actual CopyArea on the ShmPixmap + + Along the draw_image_boxes() upload path, we were actually marking the + ShmPixmap as still active for the subsequent drawing operation - which + could in theory never be submitted... + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-render-compositor.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 3c18bae20ee2fea24d75f6986390ef8157d0207d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Jan 28 10:03:54 2013 +0000 + + perf; Do not allow the backends to optimize away the clear before sync + + The importance of writing to the scratch surface before retrieving an + image is that it makes that the write lands in the server queue, as well + as the GetImage, in order to serialise the timer against all the + operations. + + Reported-by: Siarhei Siamashka <siarhei.siamashka@gmail.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-trace.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +commit d9d5adec256b3935e4f261d81c37c77a2649248b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 27 16:51:52 2013 +0000 + + image: And more fallout from c986a73, restore the absent short runs + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 34 ++++++++++++++++------------------ + 1 file changed, 16 insertions(+), 18 deletions(-) + +commit 1ba9fb6fadcc1cb619af0ef974dffb0ff8672244 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 27 16:15:35 2013 +0000 + + Mark _cairo_path_is_simple_quad as private + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-fixed-private.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 1d105f215a9c62f5b60541da209bf71182a2e9df +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 27 16:29:44 2013 +0000 + + image: Fix opaque span fills + + I should have realised the previous result was too good to be true! + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit c986a7310bb06582b7d8a566d5f007ba4e5e75bf +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jan 24 08:55:54 2013 +0000 + + image: Enable inplace compositing with opacities for general routines + + On a SNB i5-2500: + + Speedups + ======== + firefox-chalkboard 34284.16 -> 19637.40: 1.74x speedup + swfdec-giant-steps 778.35 -> 665.37: 1.17x speedup + ocitysmap 485.64 -> 431.94: 1.12x speedup + + Slowdowns + ========= + firefox-fishbowl 46878.98 -> 54407.14: 1.16x slowdown + + That slow down is due to overhead of the increased number of calls to + pixman_image_composite32() (pixman_transform_point for analyzing the + source extents in particular) outweighing any advantage gained by + performing the rasterisation in a single pass and eliding gaps. The + solution that has been floated in the past is for an interface into + pixman to only perform the analysis once and then to return a kernel to + use for all spans. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 190 +++++++++++++++++++++++++++++------ + src/cairo-spans-compositor-private.h | 2 +- + 2 files changed, 162 insertions(+), 30 deletions(-) + +commit cfe0e59663c71a6ecd0c976797ac32339e363af2 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Tue Jan 22 20:09:01 2013 -0800 + + gl/msaa: Add a fast path for fills that are simple quads + + Instead of invoking Bentley-Ottman for fills that are simple + quadrilaterals, just pass the geometry straight to OpenGL. + + src/cairo-gl-msaa-compositor.c | 45 ++++++++++++-- + src/cairo-path-fixed-private.h | 17 ++++++ + src/cairo-path-fixed.c | 136 ++++++++++++++++++++++++++++++----------- + 3 files changed, 158 insertions(+), 40 deletions(-) + +commit 1e3424cfd1fea3f9aa2b1c8af4bb72239a94f365 +Author: Henry Song <henry.song@samsung.com> +Date: Tue Jan 22 14:54:38 2013 -0800 + + gl: Use GL_ALPHA textures for CAIRO_CONTENT_ALPHA glyph caching + + It's safe to us GL_ALPHA for glyph caching surfaces, since Cairo only + uses them for texture uploading. This saves a little bit of memory. + + src/cairo-gl-glyphs.c | 16 ++++++++-------- + src/cairo-gl-private.h | 6 ++++++ + src/cairo-gl-surface.c | 38 +++++++++++++++++++++++++++++++------- + 3 files changed, 45 insertions(+), 15 deletions(-) + +commit a44b8bd70683a92d862b11c2d7359ce2b0a6a968 +Author: Henry Song <henry.song@samsung.com> +Date: Fri Jan 25 12:45:10 2013 -0800 + + gl: Fix typos in multisampling detection + + Instead of looking for the EXT_framebuffer_multisample, this code should + look for GL_EXT_framebuffer_multisample. GL_ARB_framebuffer_object also + contains all necessary API for using multisampling, so we don't need to + check for both it and the GL_EXT_framebuffer_blit and + GL_EXT_framebuffer_multisample pair. + + src/cairo-gl-device.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit bb4072046016610a510373df3b67cdeb2ac1b583 +Author: Henry Song <henry.song@samsung.com> +Date: Fri Jan 25 11:55:10 2013 -0800 + + gl/msaa: Fix a memory leak in _clip_to_traps + + We need to clean up the polygon we create when decomposing a path into + trapezoids. + + src/cairo-gl-msaa-compositor.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 7054c9969cb0e41845635d6658935da223899f08 +Author: Henry Song <henry.song@samsung.com> +Date: Wed Jan 16 15:32:32 2013 +0100 + + gl: Don't query the display when checking if the context changed + + If display has changed, the associated context must change. A + context is tied a display so we can avoid this check, eliminating + unnecessary work during context acquisition and release. + + src/cairo-egl-context.c | 13 ++++--------- + src/cairo-glx-context.c | 13 ++++--------- + 2 files changed, 8 insertions(+), 18 deletions(-) + +commit fa4f48cccb6c7f4e1afb2ff4b98b906b7d8d4afc +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jan 23 15:04:26 2013 +0000 + + xlib: Do not upload the whole image just because we want an entire row + + Fixes regression exposed by + + commit a73e7ff0186176bc82cd3ae1432c054c1fd3aebd + Author: Chris Wilson <chris@chris-wilson.co.uk> + Date: Sun Jan 6 11:29:27 2013 +0000 + + xlib: Simplify source creation by use of map-to-image + + but ultimately from + + commit 74941f822015cc50cd8477d0cf97f1a70dbff60b + Author: Chris Wilson <chris@chris-wilson.co.uk> + Date: Wed Jan 2 22:27:55 2013 +0000 + + xlib: Use SHM transport for ordinary image uploads + + Reported-by: Gökçen Eraslan <gokcen.eraslan@gmail.com> + Reported-by: Guillaume Ayoub <guillaume.ayoub@kozea.fr> + Reported-by: Emmanuel Benisty <benisty.e@gmail.com> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59635 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-source.c | 8 +++++++- + src/cairo-xlib-surface.c | 24 +++++++++++------------- + 2 files changed, 18 insertions(+), 14 deletions(-) + +commit ed2fa6b16b03fccc3e21598cdb9157cbcebd1d37 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jan 16 20:58:46 2013 +0000 + + version: Post-release bump to 1.12.11 + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 2d6204c67d4d0d9c5d03087c4c1609a81ef1fdb7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jan 16 20:22:38 2013 +0000 + + 1.12.10 release + + NEWS | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ + cairo-version.h | 2 +- + 2 files changed, 50 insertions(+), 1 deletion(-) + +commit 1dfea39841fc6d545e45420b1999239f29556c05 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Tue Jan 15 17:12:23 2013 -0800 + + gl: Follow up fix for the previous commit + + Handle "fake" surfaces created by _cairo_gl_pattern_to_source which just + embed a GL backend operand. These surfaces do not have a backend, so we + should not fall back if a surface without a backend is not a texture + surface. + + src/cairo-gl-operand.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 769ea3b2c757adc9f8f348fdc93bb46f35c2f6b8 +Author: Henry Song <henry.song@samsung.com> +Date: Wed May 2 21:54:55 2012 +0200 + + gl: Support for non-texture sources and masks + + If a GL surface is not a texture and is used as source or mask, + fall back to using an image surface as an intermediary. + + Fixes subsurface-image-repeat, subsurface-modify-child, + subsurface-modify-parent, subsurface-outside-target, subsurface-pad, + subsurface-reflect, subsurface-repeat, and subsurface-scale. + + src/cairo-gl-operand.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit d01a502710296c9b15755f445f6fdda289a2df0b +Author: Martin Robinson <mrobinson@igalia.com> +Date: Tue Jan 15 12:07:33 2013 -0800 + + gl/msaa: Check for more extensions before using MSAA + + The MSAA compositor is implicitly relying on the existence of several + OpenGL extensions. This change makes those dependencies explicit. + + src/cairo-gl-device.c | 33 +++++++++++++++++---------------- + 1 file changed, 17 insertions(+), 16 deletions(-) + +commit 768b81b78eabbebb1bb443355441cac567739035 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Jan 14 03:27:11 2013 +0000 + + script: Set decompression length prior to calling decompressors + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59224 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-script/cairo-script-operators.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 6639c1231072d71d33eb0952bae5f95e7480cd0d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 13 22:48:30 2013 +0000 + + xlib: Initialise Pixmap for proxy sources + + So that we do not try to tell X to free a garbage pixmap and promptly + kill us. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-source.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit fd34f420ec3ba02eb39f22f6551705ab23ebfc28 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 13 18:16:17 2013 +0000 + + compositor: Pass back the internal failure + + In order to pass back a CAIRO_INT_STATUS_UNSUPPORTED, we need to use the + internal error surface creation functions as they do not assert on + private error codes. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-mask-compositor.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 14c32ee1cf6bfcaeb07d50a80b6d5a388a1f2885 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 13 18:11:31 2013 +0000 + + compositor: Convert image surface into backend source + + Before passing a surface to the backend composite functions, they expect + them to be a native source. The copy'n'paste code for the mask + compositor forgot to perform the conversion upon the clip surfaces, + which originally were native to the backend and are now images. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-mask-compositor.c | 61 ++++++++++++++++++++++++++++++++++----------- + 1 file changed, 46 insertions(+), 15 deletions(-) + +commit 7012334ebb424b619312e1fa397cc3b8a3ffd770 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 13 17:20:24 2013 +0000 + + xlib: Handle lack of XRenderFillRectangles + + Remember to check for a supported render version before making a + FillRectangle request, and fallback to the core protocol where possible + instead. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-core-compositor.c | 79 +++++++++++++++++++++++++++++--------- + src/cairo-xlib-private.h | 15 +++++++- + src/cairo-xlib-render-compositor.c | 30 ++++++++++++--- + src/cairo-xlib-source.c | 70 ++++++++++++++++++++++++++++----- + 4 files changed, 157 insertions(+), 37 deletions(-) + +commit 503b6b9e2ea65805a77d527c00cf242ec86d479b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jan 11 13:10:56 2013 +0000 + + xlib: Only fallback through the mask intermediate if we can composite the mask + + Before rendering into the mask, we should first check whether the + subsequent call to composite the mask will trigger a fallback. In that + case, we should fallback earlier and do the operation in place. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-compositor-private.h | 3 +++ + src/cairo-mask-compositor.c | 27 +++++++++++++++++++++++---- + src/cairo-xlib-render-compositor.c | 24 ++++++++++++------------ + 3 files changed, 38 insertions(+), 16 deletions(-) + +commit 1bcd59ef4c9dceaefa51ec6db1f5240d75940724 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Wed Jan 9 14:16:59 2013 -0800 + + gl/msaa: Rely on the stencil buffer to cache the clip + + When using a texture surface the depth/stencil buffer is private to + cairo so we can rely on the fact that any previously painted clip is + still valid. + + We also only scissor when there's a previously painted clip on the + stencil buffer, otherwise we disable the scissor test. This fixes a few + test cases. + + src/cairo-gl-composite.c | 58 +++++++++++++++++++++++++++++------------- + src/cairo-gl-msaa-compositor.c | 4 +++ + src/cairo-gl-private.h | 1 + + 3 files changed, 46 insertions(+), 17 deletions(-) + +commit d524697ede85d36e4f88fa44d6a8b884685d804b +Author: Martin Robinson <mrobinson@igalia.com> +Date: Tue Jan 8 17:08:52 2013 -0800 + + gl/msaa: No need to set the clip when masking + + After 5e9083f882859201c5df18fc870577a224f88cbb there's no need to set a + clip on the cairo_gl_composite_t when masking. Clips are converted to + traps and rendered directly when masking now. + + src/cairo-gl-msaa-compositor.c | 1 - + 1 file changed, 1 deletion(-) + +commit 17418371b6755ef22b6d0c5787f71de3005e0730 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jan 9 15:06:28 2013 +0000 + + xcb: _cairo_scaled_font_reset_cache does it own locking + + So we can drop ours. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface-render.c | 2 -- + 1 file changed, 2 deletions(-) + +commit dd20c1f4d6419238bbb37fb93a48986f83c6e6c2 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jan 9 12:38:09 2013 +0000 + + xlib: map-to-image requires an extents + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-source.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 351a9e756d0863ae7408c6d43a622620daa0c354 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jan 9 12:31:10 2013 +0000 + + stroke: Flip the dev slope as well for computing the cusp on a degeneracy + + Otherwise, the join think it starts and end in exactly the same + direction and elimiates the round capping. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-stroke-traps.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 14720cd0dbc325a2140fbd5b2a7ce4b257ae5f5e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jan 9 12:11:25 2013 +0000 + + gstate: Use the polygon intermediate for geometry queries + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gstate.c | 24 ++++++++++++------------ + 1 file changed, 12 insertions(+), 12 deletions(-) + +commit a942938e90a219a0b88153f9fa96c606ce644ef1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jan 9 00:36:13 2013 +0000 + + scaled-font: Fix use after free when clearing the glyph cache + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-scaled-font.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit c5b353c3725a1a8c116b790df4206f060d64eb5c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 8 22:56:28 2013 +0000 + + scaled-font: Make reset-font-cache threadsafe + + Stop trying to workaround the destroy-callback requiring the font mutex + as we already hold the mutex whilst cleaning up the font caches. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-scaled-font.c | 66 +++++++++++++++++++++++-------------------------- + 1 file changed, 31 insertions(+), 35 deletions(-) + +commit d1184b69e8871180b7b357a02d1a0bed3e68d897 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Thu Feb 2 20:38:51 2012 -0800 + + gl: Do less work when acquiring and releasing devices + + After acquiring a GL device and the same GL context, surface, and + display combination is already active outside of Cairo, do not ask EGL + or GLX to change the current context as that may cause a flush on some + drivers. Also do not unset the context when releasing the device for the + same reason. + + src/cairo-egl-context.c | 64 ++++++++++++++--- + src/cairo-glx-context.c | 78 ++++++++++++++++---- + test/Makefile.sources | 1 + + test/gl-device-release.c | 182 +++++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 301 insertions(+), 24 deletions(-) + +commit 7401455cb4136473521b9f33b09944aa0bc66971 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 8 17:52:04 2013 +0000 + + image: Allocate a temporary buffer for inline span composition + + Allow the inpline span compositor to operate on wider images than its + temporary buffer by allocating a scanline mask. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 24 ++++++++++++++++++++---- + 1 file changed, 20 insertions(+), 4 deletions(-) + +commit 0d38518c38fec68a1fa8cf9d3ae946faa08d6c42 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 8 18:52:08 2013 +0000 + + scaled-font: Remove a non-threadsafe double-freeze assert + + Sadly we cannot check ahead of acquiring the lock whether we hold the + lock. Just have to rely on lockdep. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-scaled-font.c | 1 - + 1 file changed, 1 deletion(-) + +commit e4acba6d1ddfe1c6d27b5a77edccea9d69b178f8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 8 16:38:11 2013 +0000 + + xlib/shm: Only destroy an existing damage + + _cairo_damage_destroy() does not like to be passed a NULL. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit 2ed484817ef3a5084dc65a2ae1acdef551acd107 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 8 16:06:02 2013 +0000 + + xlib/shm: Discard damage upon shm finish + + Both to make sure we do not leak the memory, but to also prevent + _cairo_xlib_surface_put_shm() from operating upon the finished shm + surface after the display is closed. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=58253 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-damage-private.h | 3 +++ + src/cairo-damage.c | 7 +++++++ + src/cairo-xlib-surface-shm.c | 3 +++ + 3 files changed, 13 insertions(+) + +commit b5dcc8ce4450de1e48fd0586fddb5ed658719b28 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 8 11:20:08 2013 +0000 + + scaled-font: Hold the scaled font mutex whilst reaping from the global cache + + If we need to reap the global cache, this will call back into the scaled + font to free the glyph page. We therefore need to be careful not to run + concurrently with a user adding to the glyph page, ergo we need locking. + To complicate matters we need to be wary of a lock-inversion as we hold + the scaled_font lock whilst thawing the global cache. We prevent the + deadlock by careful ordering of the thaw-unlock and by inspecting the + current frozen state of the scaled-font before releasing the glyph + page. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-scaled-font.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +commit c4ea7b13b406bf0ea1dc9b337010131d3704bc4a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 8 13:35:43 2013 +0000 + + scaled-font: Assert if attempting to finish a frozen font + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-scaled-font.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +commit 4d4bf8fddff49d349e03282ffa827f6f4659e3fe +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 8 14:56:07 2013 +0000 + + scaled-font: Free the cached glyphs from the font before taking the global lock + + In the case of a recording surface we may recurse into the global glyph + cache so we need to be careful and stage the ordering of how we free the + glyphs. So first we finish any information and surfaces from the scaled + font glyph cache (and so triggering recursion into other scaled fonts) + and then take the global cache and remove our pages. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54950 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-scaled-font.c | 21 ++++++++++++++++++++- + 1 file changed, 20 insertions(+), 1 deletion(-) + +commit 44a093eb95c950b0e8f2d7d1cdb9719cb8a550f7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 8 14:58:41 2013 +0000 + + scaled-font: Always hold the mutex even for single glyph probes + + The freeze/thaw routines have a side-effect of managing the global glyph + cache in addition to taking the mutex on the font. If we don't call + them, we may end up indefinitely keeping the global glyph cache frozen + (effectively leaking glyphs to the maximum of all open fonts) and + triggering asserts. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-scaled-font.c | 41 +++++++++++++++++++++-------------------- + 1 file changed, 21 insertions(+), 20 deletions(-) + +commit 80cc532271d7e94ad02732841fbcdc811cce8754 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 8 13:47:23 2013 +0000 + + script: Thaw the scaled font cache on the error path + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-script-surface.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit e1307da8616027004dd6c901017a667b1503781d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 8 12:53:24 2013 +0000 + + script: Simply exchange source/dest images for _set_source_image + + But note we can only do the exchange if they do indeed match and + there are no other references (the objects are only on the stack). + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-script/cairo-script-operators.c | 19 ++++++++++++++----- + 1 file changed, 14 insertions(+), 5 deletions(-) + +commit 146da77d85b304651949a819bc8b0a74819f0416 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 8 12:19:33 2013 +0000 + + script: Attempt to decompress images in place + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-trace.c | 16 +- + util/cairo-script/cairo-script-interpreter.h | 7 + + util/cairo-script/cairo-script-operators.c | 391 +++++++++++++++------------ + 3 files changed, 247 insertions(+), 167 deletions(-) + +commit 5f2e89660d5e38d8e2682945962521958f150825 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Jan 7 13:11:06 2013 +0000 + + image: Call pixman without a mask for opaque regions of inplace_spans + + Speedups + ======== + firefox-paintball 59462.09 -> 40928.76: 1.45x speedup + firefox-fishtank 43687.33 -> 34627.78: 1.26x speedup + firefox-tron 52526.00 -> 45754.73: 1.15x speedup + + However in order to avoid a regression with firefox-talos-svg we need to + prevent splitting up the scanline when using a gradient source. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 57 ++++++++++++++++++++++++++++++++++++-------- + 1 file changed, 47 insertions(+), 10 deletions(-) + +commit a73e7ff0186176bc82cd3ae1432c054c1fd3aebd +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 6 11:29:27 2013 +0000 + + xlib: Simplify source creation by use of map-to-image + + We were open-coding the functionality of map-to-image inside the source + creation routines. so refactor to actually use map-to-image instead. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-source.c | 92 ++++++++++++++++++------------------------------- + 1 file changed, 33 insertions(+), 59 deletions(-) + +commit 4f142f3a7bf24b659c5caccab3a1aedd6b680909 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 6 10:32:25 2013 +0000 + + xlib/shm: Only mark the shm pixmap as active if we upload into it + + Be more strict with when we mark the pixmap as active so that we only + wait for the actual XCopyArea involving the pixmap to complete. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 23 ++++++++++++++--------- + 1 file changed, 14 insertions(+), 9 deletions(-) + +commit 45a4b42a361eb791c571b201e11c3505a0a1a396 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jan 4 17:32:46 2013 +0000 + + script: Recompress strings using LZO whilst binding traces + + Try using the lighter-weight LZO decompressor in an effort to speed up + replays (at the cost of making the bound traces slightly larger). + Presuming that with the slight increase in file size (from -1% to +10%), + the file data remains in the readahead buffer cache, replays see a + performance improvement of between 5-10%. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + configure.ac | 12 ++ + util/cairo-script/Makefile.am | 2 +- + util/cairo-script/cairo-script-file.c | 32 ++++- + util/cairo-script/cairo-script-objects.c | 3 + + util/cairo-script/cairo-script-operators.c | 45 +++++-- + util/cairo-script/cairo-script-private.h | 5 + + util/cairo-script/cairo-script-scanner.c | 184 ++++++++++++++++++++++------- + 7 files changed, 227 insertions(+), 56 deletions(-) + +commit 9194904fa838a115b4dc58e5bff7a235cc2a9a7a +Author: Martin Robinson <mrobinson@igalia.com> +Date: Fri Jan 4 16:31:01 2013 -0800 + + gl: Better handling of clear surfaces + + When clearing a GL surface, set is_clear to true, and when mapping to an + image, handle is_clear like surfaces without modification. Additionally, + explicitly clear surfaces created via cairo_surface_create_similar. + + src/cairo-gl-surface.c | 43 +++++++++++++++++++++++++++++++++++++------ + 1 file changed, 37 insertions(+), 6 deletions(-) + +commit 9bff4508443abe002fcb0ffdb9b1897272f1c588 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Fri Jan 4 15:47:13 2013 -0800 + + boilerplate/glx: Add a target with multisampling and stencil support + + Add a gl-window target that supports multisampling. This is useful for + testing the MSAA backend on the default framebuffer. + + boilerplate/cairo-boilerplate-glx.c | 170 ++++++++++++++++++++---------------- + 1 file changed, 96 insertions(+), 74 deletions(-) + +commit 8cd604e18adc1dbe22303d5c57dae374d7e8cd2b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jan 4 14:03:40 2013 +0000 + + gobject: Fix my typo s/TEST/TEXT/ in the previous commit + + Again reported by Kouhei Sutou, who I am grateful for his deligence. + + util/cairo-gobject/cairo-gobject.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit a4f221498c20bd9bd6178fddc1ba481ff3fd6cb3 +Author: Kouhei Sutou <kou@clear-code.com> +Date: Fri Jan 4 12:18:29 2013 +0000 + + gobject: Fix "text_cluster_flags_get_type" typo + + The macro missed the text from the name, rendering it useless. + + util/cairo-gobject/cairo-gobject.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 9dde964553f74ccbc037b13ca83d0abb46adb194 +Author: Henry Song <henry.song@samsung.com> +Date: Thu Jan 3 16:03:55 2013 -0800 + + gl/msaa: Only clear parts of the stencil buffer we will use + + Writing to the stencil buffer can be expensive, so when using the + stencil buffer for clipping only clear the clip extent. When using the + stencil buffer to prevent overlapping rendering during stroking, only + clear the approximate stroke extents. + + src/cairo-gl-composite.c | 17 ++++++++++------- + src/cairo-gl-msaa-compositor.c | 34 ++++++++++++++++++++++++++++++---- + src/cairo-gl-private.h | 4 ++++ + 3 files changed, 44 insertions(+), 11 deletions(-) + +commit 5e9083f882859201c5df18fc870577a224f88cbb +Author: Alejandro G. Castro <alex@igalia.com> +Date: Wed Mar 7 14:38:52 2012 +0100 + + gl/msaa: Avoid the stencil buffer when possible during masking + + In this case we can draw the clip path and avoid the stencil buffer, + which can be expensive. + + src/cairo-gl-msaa-compositor.c | 68 ++++++++++++++++++++++++++++++++---------- + 1 file changed, 53 insertions(+), 15 deletions(-) + +commit dd850583a7f57a666da6af218841bb10b536df46 +Author: Henry Song <henry.song@samsung.com> +Date: Tue Mar 13 08:43:24 2012 -0700 + + gl/msaa: Add full support for masking with the SOURCE operator + + Since OpenGL does not have a means to represent a masking SOURCE + operation in one step, we use two steps combined with the ADD + operator. + + src/cairo-gl-composite.c | 108 +++++++++++++++++++++++++---------------- + src/cairo-gl-msaa-compositor.c | 84 +++++++++++++++++++++++++++++--- + src/cairo-gl-private.h | 9 ++++ + 3 files changed, 152 insertions(+), 49 deletions(-) + +commit c743e93451f467782b861c67a6894df26082d5c6 +Author: Chuanbo Weng <chuanbo.weng@intel.com> +Date: Wed Jan 2 18:03:44 2013 +0100 + + gl: Support the GL_IMG_texture_npot extension + + This extension, used by older PowerVR drivers, is functionally + equivalent to the GL_OES_TEXTURE_NPOT extension. + + src/cairo-gl-device.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit ae1724ced98b86aaf97c7be9c4294fa3823d7350 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jan 3 13:46:20 2013 +0000 + + Add missing local slim proto for cairo_recording_surface_create + + Dependency introduced in 749ef6be4d11b95d666b0e5fe06df926b828d655 + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairoint.h | 1 + + 1 file changed, 1 insertion(+) + +commit 872a92b874270ac3b83b0e206fb5b15a7405502a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jan 3 13:30:13 2013 +0000 + + scaled-font: Mention ownership of returned object from get_font_face() + + As suggested by Simon Sapin. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-scaled-font.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 734a541dc34565f40fe0ae4e93c81c4849198a79 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jan 3 13:01:34 2013 +0000 + + xlib: Avoid copying the source twice if it is an image + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-source.c | 37 +++++++++++++++++++++++++++---------- + 1 file changed, 27 insertions(+), 10 deletions(-) + +commit ecc8c28b24cb5fcd85aee5d4c82b9ad72c87fa69 +Author: Kouhei Sutou <kou@clear-code.com> +Date: Thu Jan 3 12:37:43 2013 +0000 + + gobject: Add the correct macro name for the hint-metrics type + + s/CAIRO_GOBJECT_TYPE_HNT_METRICS/CAIRO_GOBJECT_TYPE_HINT_METRICS/ + + However, as we have already released the broken headers, we need to + preserve that mistake in case applications are already using. Since it + is just a #define, there is little associated cost with carrying both + the incorrect spelling and the corrected define. + + util/cairo-gobject/cairo-gobject.h | 2 ++ + 1 file changed, 2 insertions(+) + +commit 5bc1b1f6aac108d9a3963352ad774bb4fcd69e28 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 24 17:22:34 2012 +0100 + + stroke: Make the incremental trapezoid stroker optionally available again + + Whilst it cannot handle self-intersecting strokes (which includes the + antialias region of neighbouring lines and joints), it is about 3x + faster to use than the more robust algorithm. As some backends delegate + the rendering, the quality may still be preserved and so they should be + responsible for choosing the appropriate method for generation of the + stroke geometry. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 1 + + src/cairo-cogl-surface.c | 6 +- + src/cairo-path-stroke-traps.c | 1120 ++++++++++++++++++++++++++++++++++++ + src/cairo-path-stroke.c | 12 +- + src/cairo-recording-surface.c | 12 +- + src/cairo-rectangle.c | 2 +- + src/cairo-stroke-style.c | 39 ++ + src/cairo-traps-compositor.c | 37 +- + src/cairo-traps-private.h | 9 + + src/cairo-traps.c | 252 ++++++++ + src/cairoint.h | 21 +- + src/test-base-compositor-surface.c | 8 +- + 12 files changed, 1489 insertions(+), 30 deletions(-) + +commit 74941f822015cc50cd8477d0cf97f1a70dbff60b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jan 2 22:27:55 2013 +0000 + + xlib: Use SHM transport for ordinary image uploads + + In theory this should just save a single copy, however PutImage will + break up requests into a series of scanlines requests which is less + efficient than the single-shot transfer provided by ShmPutImage. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface.c | 100 ++++++++++++++++++++++++++++++++++++----------- + 1 file changed, 77 insertions(+), 23 deletions(-) + +commit bf2a04c5ab91c93d4d188afd030b3004c67a180f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jan 3 12:24:14 2013 +0000 + + xlib/shm: Fix typo in creation of a SHM image + + Pass along the size the caller requests, not the size of the related + drawable. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +commit c29ab389fb2b3b91c895f2df684b0e9af8225d12 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Dec 30 12:32:45 2012 +0000 + + gl: Provide a fast emitter for solid spans + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-composite.c | 55 +++++++++++++++++++++++++++++++++++++++++++----- + 1 file changed, 50 insertions(+), 5 deletions(-) + +commit d3848521c497dbcd3d9ae0fab34fa70c72752e60 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Dec 30 12:32:45 2012 +0000 + + gl: Provide a fast emitter for solid glyphs + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-composite.c | 62 ++++++++++++++++++++++++++++++++++++++---------- + 1 file changed, 49 insertions(+), 13 deletions(-) + +commit 127dd466695dcb05e6178e4ed2471dba1b229d17 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Dec 30 12:21:11 2012 +0000 + + gl: Use vfunc for vertex emission + + In order to overload the emitters in future to provide specialised + routines for the common types of operands, begin by switching the + current users over to a vfunc interface. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-composite.c | 107 +++++++++++++++++++++++++++---------- + src/cairo-gl-glyphs.c | 11 ++-- + src/cairo-gl-private.h | 48 ++++++++++------- + src/cairo-gl-spans-compositor.c | 115 ++++++++++++++++++++++------------------ + src/cairo-gl-surface.c | 2 +- + src/cairo-gl-traps-compositor.c | 21 ++++---- + 6 files changed, 190 insertions(+), 114 deletions(-) + +commit 9558cb62c6a3ed59a53f00f740a261251b9b64b2 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Dec 29 18:30:48 2012 +0000 + + perf/chart: Contract the default output filenames + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-chart.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +commit fbd4864995e261a4cfc5e53273b53ce8a22d72db +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Dec 29 18:30:48 2012 +0000 + + perf/chart: Show the geometric average as an extra column + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-chart.c | 112 +++++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 111 insertions(+), 1 deletion(-) + +commit 71028865fae38bf26c45aae72e0a6773a19a640d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Dec 29 15:05:53 2012 +0000 + + Revert "xlib/shm: Do not trigger a surplus event from XShmPutImage" + + This reverts commit c97f2d4acd5c4a1a4b839c72626f84e242e60b23. + + Testing suggests that keeping that event is a win; so do so. + + src/cairo-xlib-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c97f2d4acd5c4a1a4b839c72626f84e242e60b23 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Dec 29 14:56:24 2012 +0000 + + xlib/shm: Do not trigger a surplus event from XShmPutImage + + As our lazy event mechanism is sufficient for tracking when to reuse shm + memory, and the events are not necessary for ShmPut/ShmGetImage paths. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 0c84a5474d4e90fc9361ccbb0ebc3d0580bad82b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Dec 29 11:41:17 2012 +0000 + + xlib/shm: Rate-limit events and only use as necessary + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-render-compositor.c | 4 +- + src/cairo-xlib-surface-shm.c | 110 ++++++++++++++++++++++++++----------- + 2 files changed, 79 insertions(+), 35 deletions(-) + +commit 21db1c99108dc84166cbd9641f3256b22f571ee3 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Fri Dec 28 14:10:29 2012 -0800 + + gl: Cleanup selection of multisampling mode + + Fold the choice of multisampling mode into the cairo_gl_composite_t + structure itself. This makes it more similar to other settings. + + src/cairo-gl-composite.c | 20 +++++++++----------- + src/cairo-gl-msaa-compositor.c | 14 +++++++++----- + src/cairo-gl-private.h | 9 ++++----- + 3 files changed, 22 insertions(+), 21 deletions(-) + +commit 7d02e2d62d1d2d2852f256905af60f418216b9ea +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Dec 23 11:12:21 2012 +0000 + + xlib/shm: Populate send_event and serial + + Hopefully this random choice is more meaningful than random junk. + + Bugzilla; https://bugs.freedesktop.org/show_bug.cgi?id=58672 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit e748c122435c1047894f73c14266bc81ad2edecd +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Dec 22 18:34:43 2012 +1030 + + doc: Add CAIRO_MIME_TYPE_UNIQUE_ID to list of supported mime types + + src/cairo-surface.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 4e751fcb031557e6ad720f5bf5f14e181564ab9b +Author: David Maxwell <damaxwell@alaska.edu> +Date: Thu Oct 11 08:52:36 2012 -0800 + + type1-subset: always include subroutine 4 (hint replacement idiom) + + http://lists.cairographics.org/archives/cairo/2012-December/023846.html + + src/cairo-type1-subset.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit b94a519aad3d5b50aa6de47ee16ee6a099de9791 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Dec 21 18:40:08 2012 -0500 + + [ft] Fix resizing of bitmap fonts + + Say, you were asking cairo for a font at 200px. For bitmap-only fonts, + cairo was finding the closes strike size and using it. If the strike + was at 20px, well, that's what you were getting. We now scale that 20px + strike by a factor of 10 to get the correct size rendering. + + Note that by itself this patch doesn't change much on the Linux desktop. + The reason is that the size you are interested in (eg. 200px) is lost by + fontconfig. When you request a font at 200px, fontconfig returns a font + pattern that says 20px, and so the next layers thing you want a font at + 20px. To address that, one also needs a piece of fontconfig config that + puts the 200 back into the pixelsize. Something like this: + + <match target="font"> + <test name="scalable" mode="eq"> + <bool>false</bool> + </test> + <edit name="pixelsize" mode="assign"> + <times> + <name>size</name> + <name>dpi</name> + <double>0.0138888888888</double> <!--1/72.--> + </times> + </edit> + </match> + + I'm going to try to upstream this config so it will be enabled by + default. The config can be a bit smarter. For example, if + metricshinting is enabled and the size difference is small, we may as + well not scale. + + The nice thing about this is that the configuration of whether and when + to scale bitmaps will be done in fontconfig, not cairo / Qt / ... code. + + src/cairo-ft-font.c | 66 +++++++++++++++++++++++++++-------------------------- + 1 file changed, 34 insertions(+), 32 deletions(-) + +commit 1404ed9692af1958b4090c46d1a27e0fe4a5616e +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Dec 21 18:35:41 2012 -0500 + + [ft] Remove ancient check for FT_Bitmap_Size.y_ppem + + That member is available in the version of FreeType we require. + + configure.ac | 7 ------- + src/cairo-ft-font.c | 11 +---------- + 2 files changed, 1 insertion(+), 17 deletions(-) + +commit 867c876b0e7ce3dcc8afc7227ef6317701a6dda0 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Nov 7 14:30:35 2012 -0800 + + [Minor] Improve logging + + src/cairo-xlib-render-compositor.c | 2 ++ + src/cairoint.h | 2 +- + 2 files changed, 3 insertions(+), 1 deletion(-) + +commit 5d21c9e224617110678a5b854a6a41049a02fca2 +Author: Adam Jackson <ajax@redhat.com> +Date: Tue Dec 18 13:33:13 2012 -0500 + + xlib/shm: Fix memory leak + + Despite subclassing image surfaces, we never called down to the image + surface destructor, so we leaked a pixman_image_t every time. + + Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=882976 + Signed-off-by: Adam Jackson <ajax@redhat.com> + + src/cairo-xlib-surface-shm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 51435eeb0c4d9e53d76dae8b5af279ad518a05f8 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Dec 17 18:33:22 2012 +0100 + + xcb: Fix xcb-huge-subimage + + This teaches the xcb backend how to split up a PutImage request for a subimage + into multiple requests. The backend already does the same for "normal" PutImage + where it doesn't have to assemble the image from various rows. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-connection-core.c | 72 +++++++++++++++++++++++++++++++++-------- + 1 file changed, 58 insertions(+), 14 deletions(-) + +commit 5fb364287f96e4457d8df107ba3d0dc3f99f6f04 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Dec 17 18:29:21 2012 +0100 + + test: Add xcb-huge-subimage + + This creates an image surface with a non-natural stride and paints it to a + similar surface. + + In the xcb backend, this causes a call to _cairo_xcb_connection_put_subimage() + which tries to send a huge PutImage request. As a result, xcb kills the X11 + connection. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/Makefile.sources | 1 + + test/reference/xcb-huge-subimage.ref.png | Bin 0 -> 97 bytes + test/xcb-huge-subimage.c | 81 +++++++++++++++++++++++++++++++ + 3 files changed, 82 insertions(+) + +commit 749ef6be4d11b95d666b0e5fe06df926b828d655 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Dec 17 17:45:25 2012 +0100 + + context: Use recording surfaces for unbounded groups + + The old code uses an uninitialized variable for the extents of the group that is + created. This patch makes it use an unbounded recording surface instead. + + This has the implicit assumption that everything that is unbounded smells like a + recording surface. Let's see when this assumption breaks. :-) + + http://lists.cairographics.org/archives/cairo/2012-October/023585.html + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-default-context.c | 23 ++++++++++++++--------- + 1 file changed, 14 insertions(+), 9 deletions(-) + +commit 433a5829d7c38a9301346fc5a643e623565c1625 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Mon Dec 17 17:53:33 2012 +0100 + + Revert "gl/msaa: Share the depth/stencil buffer among all surfaces" + + This was pushed mistakenly. Sorry. + + This reverts commit a7d684e6fe4bbeea2262276aaa57bb2a47c401df. + + src/cairo-gl-device.c | 118 ++++++++++++++----------------------------------- + src/cairo-gl-private.h | 13 ------ + src/cairo-gl-surface.c | 31 ++----------- + 3 files changed, 38 insertions(+), 124 deletions(-) + +commit 000a137a6554cfc350407f3b719fb4aa3a1c33c6 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Dec 17 17:12:59 2012 +0100 + + boilerplate-xcb: Ignore MappingNotify events + + The boilerplate code makes sure that our tests didn't cause any X11 errors or + X11 events, because those might confuse API users. + + However, when the keyboard layout changes, every connection gets a MappingNotify + event. This means that the test and performance test suites failed when the + keyboard layout was changed while they are running. + + Fix this by ignoring MappingNotifies. + + Reported by Arthur Huillet on IRC. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + boilerplate/cairo-boilerplate-xcb.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +commit 9d9aa04b60e24542b6b2a4c6bf87115db7736c2f +Author: Martin Robinson <mrobinson@igalia.com> +Date: Mon Dec 3 16:08:23 2012 -0800 + + gl: Add BGRA download support for GLES2 + + Some OpenGLES2 drivers support downloading BGRA data. On little-endian + systems BGRA and GL_UNSIGNED_BYTe is equivalent to the typical + cairo_image_t format, so this can prevent CPU bit swizzling for + operations that involve images. + + src/cairo-gl-device.c | 18 ++++++++++++++++++ + src/cairo-gl-private.h | 1 + + src/cairo-gl-surface.c | 51 +++++++++++++++++++++++++------------------------- + 3 files changed, 44 insertions(+), 26 deletions(-) + +commit a7d684e6fe4bbeea2262276aaa57bb2a47c401df +Author: Martin Robinson <mrobinson@igalia.com> +Date: Mon Mar 5 23:11:19 2012 -0800 + + gl/msaa: Share the depth/stencil buffer among all surfaces + + Instead of allocating a depth/stencil buffer for all surfaces, share a + common buffer that's the size of the largest surface. This reduces + video memory usage when there are many GL surfaces. + + src/cairo-gl-device.c | 118 +++++++++++++++++++++++++++++++++++-------------- + src/cairo-gl-private.h | 13 ++++++ + src/cairo-gl-surface.c | 31 +++++++++++-- + 3 files changed, 124 insertions(+), 38 deletions(-) + +commit ba4a4eae051cd932e59e3092ef36d4f6cded0159 +Author: Chuanbo Weng <chuanbo.weng@intel.com> +Date: Tue Oct 2 13:58:49 2012 +0200 + + gl/msaa: Use GL_IMG_multisampled_render_to_texture when available + + Some OpenGLES platforms support GL_IMG_multisampled_render_to_texture + instead of GL_EXT_multisampled_render_to_texture. + + src/cairo-gl-device.c | 8 ++++++++ + src/cairo-gl-dispatch-private.h | 10 +++++++--- + src/cairo-gl-dispatch.c | 26 ++++++++++++++++++++++++++ + 3 files changed, 41 insertions(+), 3 deletions(-) + +commit 3bedff0c009e645fff2d6f40976b4483871e73e1 +Author: Henry Song <henry.song@samsung.com> +Date: Tue May 15 20:32:44 2012 +0200 + + gl: Properly disable ctx->spans when necessary + + When compositing starts, if we are not using the spans compositor, we + should set the spans member of the context to false. + + src/cairo-gl-composite.c | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +commit 18e7234c7e56ca26d7d7a2e29b1da2bb6944bb34 +Author: Henry Song <henry.song@samsung.com> +Date: Wed May 23 15:12:16 2012 +0200 + + gl/msaa: Also setmsaa_active to true for non-texture surfaces + + This is important because there are places in the code where msaa_active + is used to decide whether or not to complete an operation with + multisampling or not. + + src/cairo-gl-device.c | 1 + + 1 file changed, 1 insertion(+) + +commit 9f43f096b22a13f02d638b86b4460c7ed66d3c96 +Author: Henry Song <henry.song@samsung.com> +Date: Sat Dec 1 17:08:56 2012 +0000 + + gl: Flush context upon evicting a gradient + + As the random selection of a gradient can possible destroy the currently + active gradient, we need to flush the context in order to flush any + references to the texture before deletion. + + src/cairo-gl-gradient.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit a0fb1391315033de54368715a8855aedea258e67 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Dec 1 09:21:15 2012 +0000 + + mempool: Reduce the assertion into an alignment adjustment for the base + + Instead of asserting that the caller passed in a chunk-aligned base + pointer, just perform the fixup whilst initialising the mempool. This + means that the caller (xcb!) cannot assume that the mempool->base is + then the same base pointer as passed in and so needs to store it + separately for use in computing SHM offsets. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-mempool.c | 9 +++++++++ + src/cairo-xcb-shm.c | 14 +++++++------- + 2 files changed, 16 insertions(+), 7 deletions(-) + +commit 153b11612f34294241429b53722839984f367f2e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Nov 28 09:57:29 2012 +0000 + + script: Fix map-to-image/unmap stack manipulations + + The idiom (and expectation) for surface operators is that it leaves the + surface on the stack for the next operation. Also we need to hold onto a + surface reference for objects put onto the stack, yet for the + map-to-image return we did not own one. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-script/cairo-script-operators.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit dfbf80a57d161707d105d1b5711c85890fe18a6d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Nov 27 12:25:56 2012 +0000 + + trace: Do not forcibly add surfaces to the dictionary + + Adjust the stack manipulation to avoid moving an unknown surface to + the dictionary. + + Reported-by: Dongyeon Kim <dy5.kim@samsung.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-trace/trace.c | 50 +++++++++++++++++++++++++++++++----------------- + 1 file changed, 32 insertions(+), 18 deletions(-) + +commit 376d39121c0d4eba8f0a22be71f782ce18e50923 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Nov 27 12:25:56 2012 +0000 + + trace: Fix operand emission for map-to-image and unmap-image + + Reported-by: Dongyeon Kim <dy5.kim@samsung.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-trace/trace.c | 58 ++++++++++++++++++++++++++++-------------------- + 1 file changed, 34 insertions(+), 24 deletions(-) + +commit 62b795fe52c73ad58101c101aa77449f4b61a576 +Author: Zozó Teki <teknos@gmail.com> +Date: Sat Nov 10 08:35:33 2012 +0000 + + recording: Append new elements to the end of the bbtree chain + + I have noticed that some of my objects were lost when drawing them on + a recording surface and playing them back. Later elements with the same + extents as a prior one tend to disappear from the chain of headers + having similar extents. After doing some debugging, I found that they + are not properly added to the bbtree during playback, and were instead + clobbering the existing chain. + + src/cairo-recording-surface.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 6ed1da67b5814c5ff062831f17621a585f81d704 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Nov 4 15:34:34 2012 +0000 + + version: Post-release bump to 1.12.9 + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit cc162915a55cc67587677352bd9e389f16117853 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Nov 4 14:23:09 2012 +0000 + + 1.12.8 release + + NEWS | 42 ++++++++++++++++++++++++++++++++++++++++++ + cairo-version.h | 2 +- + 2 files changed, 43 insertions(+), 1 deletion(-) + +commit cf07bd866dc3fdbfaf3d7e7fdc83cc2a4ef5698c +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Nov 3 11:08:01 2012 +1030 + + type1-subset: remove unused variable + + src/cairo-type1-subset.c | 4 ---- + 1 file changed, 4 deletions(-) + +commit 9f537156adcab5e7a9b21cd2bb5cc7676db52713 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Nov 3 11:07:02 2012 +1030 + + type1-subset: fix memory leak + + src/cairo-type1-subset.c | 52 ++++++++++++++++++++++++++++++------------------ + 1 file changed, 33 insertions(+), 19 deletions(-) + +commit 724c6dfa9521e887682029add879c2fcdd518b14 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Nov 2 16:54:46 2012 +0000 + + xlib/shm: Need IncludeInferiors when creating the source fallback + + Reported-by: Benjamin Otte <otte@redhat.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +commit 1f4d05b55c96347aa4240190fda27f951b00c539 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Nov 2 14:52:03 2012 +0000 + + stroke: Fix calling '_cairo_spline_intersect' for in-bounds checking of splines + + Fixes stroke-clipped, within reason. There still remains some + antialiasing noise (between rendering the circle piecewise and wholly) + worth investigating - but that is probably an artefact of switching + between analytical rendering modes in the scanline + rasterisation. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-stroke-polygon.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 2dd4ff32064c3c564e0902ae07330272e6676c22 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Nov 2 14:48:40 2012 +0000 + + test: Add stroke-clipped + + Exercise a bug in the determine of clip-bounds when stroking, as + reported by ed44. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.sources | 1 + + test/reference/stroke-clipped.ref.png | Bin 0 -> 5886 bytes + test/stroke-clipped.c | 54 ++++++++++++++++++++++++++++++++++ + 3 files changed, 55 insertions(+) + +commit e9d45705844f67f4c8342d68fe35ad08ea008e30 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Nov 1 11:42:46 2012 +0000 + + pen: Tighten checking for bevel (start==stop) joins + + From commit d7f5a1bec421d6c7b92d16daae681fa31ac7c212 + Author: Chris Wilson <chris@chris-wilson.co.uk> + Date: Wed Oct 31 09:27:52 2012 +0000 + + pen: First check whether the in/out edges lie within the single pen vertex + + makes a couple of tests much happier. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-pen.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 90860241bb8f8eff3c1ab40641b1bfca0798b238 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Nov 1 09:47:00 2012 +0000 + + gl: Tune the default VBO size to reduce overhead on embedded devices + + Henry Song found that the 256k buffers were disadvantageous on his + embedded hardware. As there is no obvious right value for the default + VBO size, we can tune for the more obvious constraints. + + Based on a patch by Henry Song <henry.song@samsung.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-private.h | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit 0c1ff1572f1fc4c11b429e39f7de798030530740 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Nov 1 08:45:37 2012 +0000 + + xlib: Fixup standalone header compilation for 'make check' + + Missing include of string.h + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-private.h | 1 + + 1 file changed, 1 insertion(+) + +commit b6daf47fa08c74d9672040b2b98ac6dd1f841429 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Nov 1 08:39:01 2012 +0000 + + spans: Do not assume that we manage to perform the clip geometrically + + Even for bounded masks, we may fail to perform the clipping + geometrically for a variety of reasons, the prime one being that the + clip has a mixture of antialias settings. So when compositing the + polygon, we need to check whether a clip path still remains and so + requires a clipmask. + + Fixes regression from + + commit cd1004ce19c7ea28c7fedb6464562a08416586c0 + Author: Chris Wilson <chris@chris-wilson.co.uk> + Date: Fri May 11 21:20:35 2012 +0100 + + traps,spans-compositor: Avoid mistreating unaligned clips as aligned + + and + + commit 4ea3ace6c810ba090464e48795fac5456f6cdc24 + Author: Chris Wilson <chris@chris-wilson.co.uk> + Date: Fri May 11 21:51:44 2012 +0100 + + spans: Only fallback for a clipmask if unbounded + + Reported-by: Dominik Röttsches <dominik.rottsches@intel.com> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56574 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-spans-compositor.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +commit 5844dead01db9ddab7f10a4d685bc5ee874d0eba +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Nov 1 08:37:58 2012 +0000 + + util/show-polygon: Show the limited range of each edge + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/show-polygon.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++---- + 1 file changed, 48 insertions(+), 4 deletions(-) + +commit 03adea2f50aa10d49ff578389927e7b37e265918 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Nov 1 08:37:01 2012 +0000 + + stroke: Precompute the line half-width + + As we regularly recompute stroke->line_width/2 we may as compute it once + during initialisation. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-stroke.c | 17 +++++++++-------- + 1 file changed, 9 insertions(+), 8 deletions(-) + +commit dbc0d83f2a7a0e6658f3b97b5f9921c44ef6a11f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Oct 31 15:18:21 2012 +0000 + + image: Add a couple of tracepoints for spans fallbacks + + References: https://bugs.freedesktop.org/show_bug.cgi?id=56574 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 3 ++- + src/cairo-spans-compositor.c | 13 ++++++++++--- + 2 files changed, 12 insertions(+), 4 deletions(-) + +commit 9b7ed9b2cd6c9ee4dfab71aed9b7d97b720fceb0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Oct 31 13:15:07 2012 +0000 + + xlib/shm: Fix bogus assertion without shm available + + In particular note that _cairo_xlib_surface_put_shm is indeed called and + is expected to be a no-op when shm is not available. + + Reported-by: Thomas Klausner <wiz@NetBSD.org> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d7f5a1bec421d6c7b92d16daae681fa31ac7c212 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Oct 31 09:27:52 2012 +0000 + + pen: First check whether the in/out edges lie within the single pen vertex + + In order to prevent underflow when searching for the closing pen vertex, + we first need to be sure that it does not simply lie next to the opening + pen vertex. As a result we were missing many cases that should have been + a bevel (in == out) and generating almost complete round caps instead. + + Reported-by: Dominik Röttsches <dominik.rottsches@intel.com> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56432 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-pen.c | 60 +++++++++++++++++--------------- + test/reference/arc-looping-dash.ref.png | Bin 502 -> 464 bytes + test/reference/caps-tails-curve.ref.png | Bin 54750 -> 54314 bytes + test/reference/reflected-stroke.ref.png | Bin 5139 -> 5116 bytes + 4 files changed, 32 insertions(+), 28 deletions(-) + +commit 66625cb46c985321c46b79d2163a4d676d6700ba +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Oct 30 12:40:41 2012 +0000 + + xlib: Apply the image offsets to the destination rather the source + + So that we can specify the entire source surface as the region to copy + and not introduce clipping errors. + + Fixes regression from + commit c068691ff57c2f6cd750a54db17393c0e132cb00 + Author: Chris Wilson <chris@chris-wilson.co.uk> + Date: Fri Aug 17 21:33:54 2012 +0100 + + xlib/shm: Use an impromptu upload ShmSegment + + Reported-by: John Lindgren <john.lindgren@aol.com> + Reported-by: Kalev Lember <kalevlember@gmail.com> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56547 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-render-compositor.c | 22 ++++++++++------------ + 1 file changed, 10 insertions(+), 12 deletions(-) + +commit 65176b7380f0d633da514be1febe16f17b99d876 +Author: Kevin Tardif <kiyoka@gmail.com> +Date: Tue Oct 30 00:27:27 2012 -0400 + + type1-subset, cff-subset: Plugged 2 memory leaks + + - _cairo_type1_font_subset_fini doesn't free font->cleartext + - _cairo_cff_font_create can exit without freeing font->font_name and/or + font->data; _cairo_cff_font_load_opentype_cff is called to allocate + font_name, then _cairo_cff_font_load_cff is called to allocate + font->data, then _cairo_cff_font_load_cff's return status is checked + and if it failed, it jumps to fail1. This can cause font_name to leak + since the fail1 target only frees the font variable. In addition, + _cairo_cff_font_load_cff can fail -after- allocating data, and then + data won't be freed either. + + Bug 56566 + + src/cairo-cff-subset.c | 6 +++--- + src/cairo-type1-subset.c | 2 ++ + 2 files changed, 5 insertions(+), 3 deletions(-) + +commit 0c800dc3f64ee030df1cd0a6a1dcd6df71502dea +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Oct 30 19:23:30 2012 +1030 + + type1-subset: ensure subroutine numnber is an integer + + src/cairo-type1-subset.c | 21 ++++++++++++--------- + 1 file changed, 12 insertions(+), 9 deletions(-) + +commit 5a6e1d680a5bf1c4091e74f999abd611abd92334 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Oct 28 20:58:52 2012 +1030 + + type1-subset: restore correct callothersub behavior + + that was removed in d57e652f. Without this subsetting of subroutines + won't work for some fonts. + + src/cairo-type1-subset.c | 35 +++++++++++++++++++++++++++++------ + 1 file changed, 29 insertions(+), 6 deletions(-) + +commit 0e2458697848cf8c89c9d57fa9b64f0ea7bd0877 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Oct 28 10:08:39 2012 +0000 + + xlib/shm: Use shmstr.h instead of shmproto.h if available + + Before it was known as shmproto.h, the wire protocol definition was to + be found in shmstr.h, so if we don't have the current version of libXext + try to use the older includes. + + Reported-by: Sebastian Haas <sehaas@gmail.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + configure.ac | 2 +- + src/cairo-xlib-surface-shm.c | 6 +++++- + 2 files changed, 6 insertions(+), 2 deletions(-) + +commit f18199fcfb3b052c198041fc05156ae3d9e6aee7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Oct 28 10:04:12 2012 +0000 + + xlib/shm: Check for XShm headers + + Not all version of libXext ship the same set of headers, so play safe + and check during configure that we have the headers we depend upon in + the code. + + Reported-by: Sebastian Haas <sehaas@gmail.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + configure.ac | 4 ++ + src/cairo-xlib-surface-shm.c | 99 ++++++++++++++++++++++++++++++++++++++++++-- + 2 files changed, 100 insertions(+), 3 deletions(-) + +commit d57e652f08f5ff7c334d01bc071962e6a131928f +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Oct 26 23:00:01 2012 +1030 + + type1-subset: parse all operators + + The PDF at bug 56265 contained a Type 1 font that used the "div" + operator to compute the glyph width. As the "div" operator was + not handled by the charstring parser this resulted in an incorrect + glyph width in the PDF output. + + Fix this by upgrading the charstring parsing to handle all Type 1 + operators. + + src/cairo-type1-subset.c | 167 ++++++++++++++++++++++++++++------------------- + 1 file changed, 100 insertions(+), 67 deletions(-) + +commit fdd2082f923012a1354be7086d03f78fb166695b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Oct 26 10:51:31 2012 +0100 + + xlib: Check for both X.org and Xorg ServerVendors + + Martin Husemann reported that on his NetBSD machine the vendor was being + reported as "The Xorg Foundation", a non-conformist separatist split of + the Peoples' Liberation Army^W^W^W "The X.Org Foundation". Simply check + for both during initialisation. + + Reported-by: Martin Husemann <martin@duskware.de> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-display.c | 2 +- + src/cairo-xlib-private.h | 7 +++++++ + src/cairo-xlib-surface-shm.c | 2 +- + 3 files changed, 9 insertions(+), 2 deletions(-) + +commit 00feb8ce530a472abbde445b52d9ae8c99ec97f0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Oct 26 10:51:31 2012 +0100 + + xlib/shm: Sanity check that the server handles XSendEvent with ShmCompletion + + Uli Schlachter suggested it would be wiser to complement our blacklist + of known broken X/libXext with an explicit roundtrip to check for a + BadValue error return when we try to use XSendEvent. + + Suggested-by: Uli Schlachter <psychon@znc.in> + Reported-by: Martin Husemann <martin@duskware.de> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 77 +++++++++++++++++++++++++++++++++++++++----- + 1 file changed, 69 insertions(+), 8 deletions(-) + +commit e43f53bf7f3d371116f31f22ab9754b08b5abe7f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Oct 22 13:47:11 2012 +0100 + + version: Post release bump to 1.12.7 + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit fab6958eff35a94cf46e38f19a7e75e10aa2b182 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Oct 22 11:07:15 2012 +0100 + + 1.12.6 release + + NEWS | 35 +++++++++++++++++++++++++++++++++++ + cairo-version.h | 2 +- + 2 files changed, 36 insertions(+), 1 deletion(-) + +commit d49b2284b505e93cd415af4da3cd2cc2d3d168d3 +Author: Gilles Espinasse <g.esp@free.fr> +Date: Sat Oct 20 20:22:51 2012 +0200 + + configure: fix unrecognized -Wno option + + gcc-4.4 and later accept every -Wno option. So we can test for the + option without no in the name to check if the option is supported. + + Each time a warning is emitted and without this fix, on gcc-4.4 that will + add this warning: + cc1: warning: unrecognized command line option "-Wno-unused-but-set-variable" + + bugs.freedesktop.org #51633, rediffed after 1.12.4 + + Of course this assumes that all compilers will behave like gcc, which is + reasonably implicit in the set of warning flags. + + Signed-off-by: Gilles Espinasse <g.esp@free.fr> + [ickle: slight modification to test both -W and -Wno variants to ideally + preserve compatability with non-GCC compilers sharing GCC options!] + + build/configure.ac.warnings | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +commit b12a94b98306d87689bad23dad4c0ec033037046 +Author: Gilles Espinasse <g.esp@free.fr> +Date: Sat Oct 20 20:22:50 2012 +0200 + + configure: fix PKG_CHECK_MODULES tests displaying no no + + Inside PKG_CHECK_MODULES, AC_MSG_RESULT(no) is already displayed, so the + caller should not use another AC_MSG_RESULT(no). + + Add a comment that empty ACTION-IF-NOT-FOUND is not allowed for + PKG_CHECK_MODULES, but a simple : is enough. + + This is bugs.freedesktop.org #51628, rediffed after 1.12.4 + + Signed-off-by: Gilles Espinasse <g.esp@free.fr> + + build/aclocal.pkg.m4 | 2 ++ + configure.ac | 41 +++++++++++++++++------------------------ + 2 files changed, 19 insertions(+), 24 deletions(-) + +commit 813143c2205c12923519ce6dcf3c8e10f63f1085 +Author: Gilles Espinasse <g.esp@free.fr> +Date: Sat Oct 20 23:06:44 2012 +0200 + + ft: Fix compilation on 1.12 without FT_Get_X11_Font_Format + + Signed-off-by: Gilles Espinasse <g.esp@free.fr> + + configure.ac | 2 +- + src/cairo-ft-font.c | 23 +++++++++++++++++------ + 2 files changed, 18 insertions(+), 7 deletions(-) + +commit c565bad8901dbe66e1402cdc2418986e96e698e3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Oct 19 12:22:58 2012 +0100 + + pen: Relax invisibility criteria from half-tolerance to quarter-tolerance + + Inkscape is one user who sets geometric tolerance to 1.25 pixels when + stroking sub-pixel lines. Whilst we wait for inkscape to set sensible + values for their tolerance, we have to allow through the current values + in order to prevent the fine strokes from disappearing. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56099 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-pen.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5041b462d084de8552336275914d30c23bf5dd35 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Oct 19 12:04:50 2012 +0100 + + xlib/shm: Sync the XShmAttach before removing the ShmSegment id + + Whilst reading through other users of XShm, it became apparent that + IPC_RMID behaves differently across the platforms. Linux allows + processes to attach to an existing ShmSegment id after a IPC_RMID, but + for others the IPC_RMID takes immediate effect. On those platforms + without a "deferred" IPC_RMID, we then need to perform the XShmAttach + synchronously before perfomring the IPC_RMID. + + Reported-by: Thomas Klausner <wiz@NetBSD.org> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + configure.ac | 32 ++++++++++++++++++++++++++++++++ + src/cairo-xlib-surface-shm.c | 3 +++ + 2 files changed, 35 insertions(+) + +commit d5f9c694b9145f0464c8bd58d844bddedcb77d5e +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Oct 16 17:09:42 2012 +0200 + + test: Define optional exception classes + + According to musl libc author: + + "C99 requires the FE_ macros to be defined if and only if the exception they + correspond to is supported" + + So we define these macros to 0 if they are not supported. Support for these FPU + exceptions is not necessary for correct functionality, but makes some tests less + effective. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55771 + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/cairo-test.c | 3 --- + test/cairo-test.h | 20 ++++++++++++++++++++ + test/invalid-matrix.c | 4 ---- + 3 files changed, 20 insertions(+), 7 deletions(-) + +commit db488a1703d4ef3bcbd54138b51c01600a2f4d3a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Oct 11 17:00:57 2012 +0100 + + recording: Copy across the is-clear? during snapshotting + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55799 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ed720007ba6be17434eb68b604fd36bd91c0d894 +Author: Henry Song <henry.song@samsung.com> +Date: Thu Oct 11 16:57:57 2012 +0100 + + recording: copy reverses its dst and src parameters + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55799 + + src/cairo-recording-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 26c8accd41163d86711ba900bec7d9cd6591d8a3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Oct 11 16:52:07 2012 +0100 + + xlib: Reorder CloseDisplay hooks + + As we may utilize X extensions as we shutdown and release resources + during CloseDisplay, we need to run our own callback first. If we run + last, than we reinstantiate the extensions which often have the + unfortunate habit of then persisting with stale data across the next + Display connection, causing invalid requests to be generated and raise + XErrors. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-display.c | 34 +++++++++++++++++----------------- + 1 file changed, 17 insertions(+), 17 deletions(-) + +commit fbf528f46deaebc7d8cf38fc61be9e016f207575 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Oct 9 17:37:53 2012 +0100 + + compositor: Reduce glyph "overlap" if the inked pixels are opaque + + We can ignore the issue of overdraw if when we paint the glyphs, the + result is opaque. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-composite-rectangles.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit 66500ef29fea41ccda554f85d82a6aa3de774903 +Author: Henry Song <henry.song@samsung.com> +Date: Thu Sep 27 19:22:23 2012 +0000 + + gl/traps: ensure RGBA surface before upload image to texture for GLES2 + + As GLESv2 may only use an RGBA surface as its source for texture + uploads, we therefore need to perform a conversion. + + src/cairo-gl-traps-compositor.c | 32 ++++++++++++++++++++++++++++++++ + 1 file changed, 32 insertions(+) + +commit 188c34b40d6f08851b4076ad11aefe69d4a78a25 +Author: Henry Song <henry.song@samsung.com> +Date: Thu Sep 27 18:25:52 2012 +0000 + + gl: gles2 only supports GL_DEPTH24_STENCIL8_OES + + Patch also provided by U. Artie Eoff <ullysses.a.eoff@intel.com> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50355 + + src/cairo-gl-device.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f78a9269228f2f48e8eb496e341ef990db39c6c3 +Author: Alexis Ballier <aballier@gentoo.org> +Date: Fri Sep 21 08:22:55 2012 -0300 + + cairo-sphinx: protect -ldl link with CAIRO_HAS_DL like in cairo-trace. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + util/cairo-sphinx/Makefile.am | 2 ++ + 1 file changed, 2 insertions(+) + +commit 3d2712d56a22f2a86fb80da94c3e55be8d26a330 +Author: Alexis Ballier <aballier@gentoo.org> +Date: Fri Sep 21 08:22:54 2012 -0300 + + cairo-fdr: protect -ldl link with CAIRO_HAS_DL like in cairo-trace. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + util/cairo-fdr/Makefile.am | 2 ++ + 1 file changed, 2 insertions(+) + +commit 9ab9916114db9917108198111d3232a18ae505ed +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Oct 7 23:54:20 2012 +1030 + + remove debug code + + src/cairo-type1-subset.c | 2 -- + 1 file changed, 2 deletions(-) + +commit 9c2a92c70836b8534ef8c26d943fa17f891da105 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Oct 7 23:50:54 2012 +1030 + + type1: convert '.' to locale specific decimal point before using sscanf + + src/cairo-type1-subset.c | 31 +++++++++++++++++++++++++++---- + 1 file changed, 27 insertions(+), 4 deletions(-) + +commit 0d5f63755e7ceb1bb5678fcf1f4661f3435470fb +Author: David Maxwell <damaxwell@alaska.edu> +Date: Sun Oct 7 00:01:53 2012 -0800 + + type1-subset: always subset subroutines 0-3 (Flex/hint replacement) + + http://lists.cairographics.org/archives/cairo/2012-October/023576.html + + src/cairo-type1-subset.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 599e78ea2ee146c74fc7ffcee32a055dabbefdda +Author: David Maxwell <damaxwell@alaska.edu> +Date: Tue Oct 2 16:16:28 2012 -0800 + + type1: lenIV support + + http://lists.cairographics.org/archives/cairo/2012-October/023557.html + + src/cairo-type1-subset.c | 42 ++++++++++++++++++++++++++++++++++++++---- + 1 file changed, 38 insertions(+), 4 deletions(-) + +commit cffbdf50ce0117d62d6e157369c60e4a8572fd21 +Author: David Maxwell <damaxwell@alaska.edu> +Date: Tue Oct 2 16:16:28 2012 -0800 + + type1: buildchar stack fix + + http://lists.cairographics.org/archives/cairo/2012-October/023557.html + + src/cairo-type1-subset.c | 1 + + 1 file changed, 1 insertion(+) + +commit e29bb5f295d055068a24b629fa1bd5f06a93431b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Oct 6 18:53:41 2012 +0100 + + win32: Use the image surface below the fallback when unmapping an HDC + + As for a native window, the surface does not have an image delegate + itself but instead installs a fallback surface during map_to_image. So + during unmap_image, we then need to unmap from the fallback surface + instead. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/win32/cairo-win32-display-surface.c | 1 + + 1 file changed, 1 insertion(+) + +commit 0251f0951d8dcdd198912326c11489823989a3eb +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Oct 6 15:00:51 2012 +0200 + + xcb: Clear the result of create_similar_image + + The documentation of cairo_surface_create_similar_image() states that the + image's contents are initially all 0. However, the implementation didn't live up + to the documentation. + + This was found via the corresponding assert in + cairo_surface_create_similar_image(). + + There are some cairo-xcb-internal users of this function which cleared the image + right after creating it. Obviously, this isn't needed anymore. + + Fixes: Nothing. The existing call in the testsuite to + cairo_surface_create_similar_image() doesn't hit this issue, since it creates a + too small image to hit the SHM-case. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 14 -------------- + src/cairo-xcb-surface.c | 5 +++++ + 2 files changed, 5 insertions(+), 14 deletions(-) + +commit 15ef4a3248bbf32d05da7ed2480a2ce58c26d9bc +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Oct 5 19:46:41 2012 +0100 + + xlib/shm: Note the bug is an interaction between libXext and xorg + + Søren thought it was bit harsh to lay the blame solely on xorg for it + crashing due to an unexpected input value, and that we should mention + libXext was also partly to blame for incorrectly setting the SEND_EVENT + bit in the ShmCompletionEvent. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +commit b1532f465e05d566f6d160c5ca916a5a12614067 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Oct 5 19:20:18 2012 +0100 + + xlib/shm: Avoid using XSendEvent with old versions of Xorg + + Søren Sandmann Pedersen pointed out that all versions of Xorg prior to + and including xorg-1.11.0 contained a bug that would cause them to crash + if they ever processed an event sent by XSendEvent. This was fixed in + + commit 2d2dce558d24eeea0eb011ec9ebaa6c5c2273c39 + Author: Sam Spilsbury <sam.spilsbury@canonical.com> + Date: Wed Sep 14 09:58:34 2011 +0800 + + Remove the SendEvent bit (0x80) before doing range checks on event type. + + so make sure we do not use XSendEvent prior to that commit, which + fortuitously is quite easy as we only do so along the ShmPixmap path. + + Reported-by: Søren Sandmann Pedersen <ssp@redhat.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + +commit dba46f4eab716c0148d278ba7cae0cb075b5df01 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Oct 5 17:24:56 2012 +0100 + + version: Post release bump to 1.12.5 + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 117abd85ac7ff41e484fe0d98f16704ec30abd09 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Oct 5 16:44:00 2012 +0100 + + 1.12.4 release + + NEWS | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + cairo-version.h | 2 +- + 2 files changed, 70 insertions(+), 1 deletion(-) + +commit 6c6a69761048cfad210160035ae32ccb49967d5d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Oct 5 14:55:28 2012 +0100 + + win32: Compile fix for mismatched surface types + + win32/cairo-win32-display-surface.c:472: error: structure has no member + named 'base' + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/win32/cairo-win32-display-surface.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit ccf694d060dd9ea41939fc1c5847d23d3a422b75 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Oct 5 13:36:30 2012 +0100 + + xlib/shm: Discard SHM surfaces upon CloseDisplay + + Fixes xlib-surface-source + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +commit 8488ae022de45b441f29c3e90e16d5cca3082d20 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Oct 5 13:08:26 2012 +0100 + + test: Refresh reference images for slight alteration of curves + + test/reference/a1-fill.base.ref.png | Bin 328 -> 0 bytes + test/reference/a1-tiger.traps.argb32.ref.png | Bin 20406 -> 20326 bytes + test/reference/a1-tiger.traps.rgb24.ref.png | Bin 20406 -> 20326 bytes + test/reference/arc-direction.base.ref.png | Bin 5864 -> 0 bytes + test/reference/arc-looping-dash.argb32.ref.png | Bin 464 -> 0 bytes + .../reference/arc-looping-dash.base.argb32.ref.png | Bin 470 -> 0 bytes + test/reference/arc-looping-dash.base.rgb24.ref.png | Bin 470 -> 0 bytes + test/reference/arc-looping-dash.ref.png | Bin 348 -> 502 bytes + test/reference/arc-looping-dash.rgb24.ref.png | Bin 464 -> 0 bytes + .../arc-looping-dash.traps.argb32.ref.png | Bin 470 -> 496 bytes + .../reference/arc-looping-dash.traps.rgb24.ref.png | Bin 470 -> 496 bytes + test/reference/bug-bo-ricotz.base.ref.png | Bin 2125 -> 0 bytes + test/reference/bug-bo-ricotz.traps.argb32.ref.png | Bin 2128 -> 2125 bytes + test/reference/bug-bo-ricotz.traps.rgb24.ref.png | Bin 2128 -> 2125 bytes + test/reference/bug-spline.ref.png | Bin 5476 -> 5577 bytes + test/reference/caps-joins-alpha.argb32.ref.png | Bin 2662 -> 0 bytes + .../reference/caps-joins-alpha.base.argb32.ref.png | Bin 2278 -> 0 bytes + test/reference/caps-joins-alpha.base.rgb24.ref.png | Bin 2278 -> 0 bytes + test/reference/caps-joins-alpha.ref.png | Bin 2345 -> 2643 bytes + test/reference/caps-joins-alpha.rgb24.ref.png | Bin 2662 -> 0 bytes + .../caps-joins-alpha.traps.argb32.ref.png | Bin 2278 -> 2265 bytes + .../reference/caps-joins-alpha.traps.rgb24.ref.png | Bin 2278 -> 2265 bytes + test/reference/caps-joins-curve.argb32.ref.png | Bin 6217 -> 0 bytes + .../reference/caps-joins-curve.base.argb32.ref.png | Bin 5368 -> 0 bytes + test/reference/caps-joins-curve.base.rgb24.ref.png | Bin 5368 -> 0 bytes + test/reference/caps-joins-curve.ref.png | Bin 4527 -> 6228 bytes + test/reference/caps-joins-curve.rgb24.ref.png | Bin 6217 -> 0 bytes + .../caps-joins-curve.traps.argb32.ref.png | Bin 5368 -> 5327 bytes + .../reference/caps-joins-curve.traps.rgb24.ref.png | Bin 5368 -> 5327 bytes + test/reference/caps-joins.base.argb32.ref.png | Bin 2374 -> 2363 bytes + test/reference/caps-joins.base.rgb24.ref.png | Bin 2374 -> 2363 bytes + test/reference/caps-joins.traps.argb32.ref.png | Bin 2374 -> 2363 bytes + test/reference/caps-joins.traps.rgb24.ref.png | Bin 2374 -> 2363 bytes + test/reference/caps-sub-paths.base.argb32.ref.png | Bin 166 -> 166 bytes + test/reference/caps-sub-paths.base.rgb24.ref.png | Bin 166 -> 166 bytes + test/reference/caps-sub-paths.traps.argb32.ref.png | Bin 166 -> 166 bytes + test/reference/caps-sub-paths.traps.rgb24.ref.png | Bin 166 -> 166 bytes + test/reference/caps-tails-curve.argb32.ref.png | Bin 53311 -> 0 bytes + .../reference/caps-tails-curve.base.argb32.ref.png | Bin 50228 -> 0 bytes + test/reference/caps-tails-curve.base.rgb24.ref.png | Bin 50228 -> 0 bytes + test/reference/caps-tails-curve.ref.png | Bin 41476 -> 54750 bytes + test/reference/caps-tails-curve.rgb24.ref.png | Bin 53311 -> 0 bytes + .../caps-tails-curve.traps.argb32.ref.png | Bin 50228 -> 50617 bytes + .../reference/caps-tails-curve.traps.rgb24.ref.png | Bin 50228 -> 50617 bytes + test/reference/caps.base.argb32.ref.png | Bin 1601 -> 1637 bytes + test/reference/caps.base.rgb24.ref.png | Bin 1601 -> 1637 bytes + test/reference/caps.traps.argb32.ref.png | Bin 1601 -> 1637 bytes + test/reference/caps.traps.rgb24.ref.png | Bin 1601 -> 1637 bytes + test/reference/clear-source.base.argb32.ref.png | Bin 882 -> 882 bytes + test/reference/clear-source.base.rgb24.ref.png | Bin 882 -> 882 bytes + test/reference/clear-source.traps.argb32.ref.png | Bin 882 -> 882 bytes + test/reference/clear-source.traps.rgb24.ref.png | Bin 882 -> 882 bytes + test/reference/clip-operator.base.argb32.ref.png | Bin 8182 -> 8136 bytes + test/reference/clip-operator.traps.argb32.ref.png | Bin 8160 -> 8114 bytes + test/reference/clip-polygons.base.ref.png | Bin 1296 -> 0 bytes + test/reference/clip-polygons.traps.argb32.ref.png | Bin 1336 -> 1268 bytes + test/reference/clip-polygons.traps.rgb24.ref.png | Bin 1336 -> 1268 bytes + test/reference/clip-rectilinear.base.ref.png | Bin 440 -> 0 bytes + test/reference/clip-stroke.ref.png | Bin 1445 -> 1419 bytes + .../close-path-current-point.base.argb32.ref.png | Bin 2008 -> 1904 bytes + .../close-path-current-point.base.rgb24.ref.png | Bin 2008 -> 1904 bytes + .../close-path-current-point.traps.argb32.ref.png | Bin 2008 -> 1904 bytes + .../close-path-current-point.traps.rgb24.ref.png | Bin 2008 -> 1904 bytes + test/reference/curve-to-as-line-to.argb32.ref.png | Bin 109 -> 0 bytes + .../curve-to-as-line-to.base.argb32.ref.png | Bin 107 -> 95 bytes + .../curve-to-as-line-to.base.rgb24.ref.png | Bin 107 -> 95 bytes + test/reference/curve-to-as-line-to.rgb24.ref.png | Bin 109 -> 0 bytes + .../curve-to-as-line-to.traps.argb32.ref.png | Bin 107 -> 95 bytes + .../curve-to-as-line-to.traps.rgb24.ref.png | Bin 107 -> 95 bytes + test/reference/dash-caps-joins.argb32.ref.png | Bin 5157 -> 0 bytes + test/reference/dash-caps-joins.base.argb32.ref.png | Bin 4521 -> 4483 bytes + test/reference/dash-caps-joins.base.rgb24.ref.png | Bin 4521 -> 4483 bytes + test/reference/dash-caps-joins.ref.png | Bin 4030 -> 5089 bytes + test/reference/dash-caps-joins.rgb24.ref.png | Bin 5157 -> 0 bytes + .../reference/dash-caps-joins.traps.argb32.ref.png | Bin 4521 -> 4483 bytes + test/reference/dash-caps-joins.traps.rgb24.ref.png | Bin 4521 -> 4483 bytes + test/reference/dash-curve.argb32.ref.png | Bin 41040 -> 0 bytes + test/reference/dash-curve.base.argb32.ref.png | Bin 40040 -> 0 bytes + test/reference/dash-curve.base.rgb24.ref.png | Bin 40040 -> 0 bytes + test/reference/dash-curve.ref.png | Bin 22615 -> 40945 bytes + test/reference/dash-curve.rgb24.ref.png | Bin 41040 -> 0 bytes + test/reference/dash-curve.traps.argb32.ref.png | Bin 40040 -> 39925 bytes + test/reference/dash-curve.traps.rgb24.ref.png | Bin 40040 -> 39925 bytes + .../dash-infinite-loop.base.argb32.ref.png | Bin 835 -> 642 bytes + .../dash-infinite-loop.base.rgb24.ref.png | Bin 835 -> 642 bytes + .../dash-infinite-loop.traps.argb32.ref.png | Bin 835 -> 642 bytes + .../dash-infinite-loop.traps.rgb24.ref.png | Bin 835 -> 642 bytes + test/reference/dash-scale.argb32.ref.png | Bin 8913 -> 0 bytes + test/reference/dash-scale.base.argb32.ref.png | Bin 7621 -> 0 bytes + test/reference/dash-scale.base.rgb24.ref.png | Bin 7621 -> 0 bytes + test/reference/dash-scale.ref.png | Bin 6314 -> 8831 bytes + test/reference/dash-scale.rgb24.ref.png | Bin 8913 -> 0 bytes + test/reference/dash-scale.traps.argb32.ref.png | Bin 7621 -> 7627 bytes + test/reference/dash-scale.traps.rgb24.ref.png | Bin 7621 -> 7627 bytes + test/reference/dash-state.base.argb32.ref.png | Bin 7628 -> 7509 bytes + test/reference/dash-state.base.rgb24.ref.png | Bin 7628 -> 7509 bytes + test/reference/dash-state.traps.argb32.ref.png | Bin 7628 -> 7509 bytes + test/reference/dash-state.traps.rgb24.ref.png | Bin 7628 -> 7509 bytes + .../reference/dash-zero-length.base.argb32.ref.png | Bin 219 -> 219 bytes + test/reference/dash-zero-length.base.rgb24.ref.png | Bin 199 -> 199 bytes + test/reference/dash-zero-length.rgb24.ref.png | Bin 210 -> 208 bytes + .../dash-zero-length.traps.argb32.ref.png | Bin 219 -> 219 bytes + .../reference/dash-zero-length.traps.rgb24.ref.png | Bin 199 -> 199 bytes + test/reference/degenerate-arc.base.argb32.ref.png | Bin 547 -> 574 bytes + test/reference/degenerate-arc.base.rgb24.ref.png | Bin 547 -> 574 bytes + test/reference/degenerate-arc.ref.png | Bin 646 -> 692 bytes + test/reference/degenerate-arc.traps.argb32.ref.png | Bin 547 -> 574 bytes + test/reference/degenerate-arc.traps.rgb24.ref.png | Bin 547 -> 574 bytes + test/reference/degenerate-curve-to.argb32.ref.png | Bin 280 -> 0 bytes + .../degenerate-curve-to.base.argb32.ref.png | Bin 283 -> 282 bytes + .../degenerate-curve-to.base.rgb24.ref.png | Bin 283 -> 282 bytes + test/reference/degenerate-curve-to.ref.png | Bin 227 -> 285 bytes + test/reference/degenerate-curve-to.rgb24.ref.png | Bin 280 -> 0 bytes + .../degenerate-curve-to.traps.argb32.ref.png | Bin 283 -> 282 bytes + .../degenerate-curve-to.traps.rgb24.ref.png | Bin 283 -> 282 bytes + test/reference/degenerate-dash.argb32.ref.png | Bin 2086 -> 0 bytes + test/reference/degenerate-dash.base.argb32.ref.png | Bin 1898 -> 1911 bytes + test/reference/degenerate-dash.base.rgb24.ref.png | Bin 1898 -> 1911 bytes + test/reference/degenerate-dash.ref.png | Bin 1845 -> 1985 bytes + test/reference/degenerate-dash.rgb24.ref.png | Bin 2086 -> 0 bytes + .../reference/degenerate-dash.traps.argb32.ref.png | Bin 1898 -> 1911 bytes + test/reference/degenerate-dash.traps.rgb24.ref.png | Bin 1898 -> 1911 bytes + test/reference/degenerate-path.argb32.ref.png | Bin 250 -> 251 bytes + test/reference/degenerate-path.base.argb32.ref.png | Bin 249 -> 237 bytes + test/reference/degenerate-path.base.rgb24.ref.png | Bin 217 -> 204 bytes + test/reference/degenerate-path.rgb24.ref.png | Bin 219 -> 219 bytes + .../reference/degenerate-path.traps.argb32.ref.png | Bin 249 -> 237 bytes + test/reference/degenerate-path.traps.rgb24.ref.png | Bin 217 -> 204 bytes + .../degenerate-rel-curve-to.argb32.ref.png | Bin 277 -> 0 bytes + .../degenerate-rel-curve-to.base.argb32.ref.png | Bin 278 -> 278 bytes + .../degenerate-rel-curve-to.base.rgb24.ref.png | Bin 278 -> 278 bytes + test/reference/degenerate-rel-curve-to.ref.png | Bin 227 -> 278 bytes + .../degenerate-rel-curve-to.rgb24.ref.png | Bin 277 -> 0 bytes + .../degenerate-rel-curve-to.traps.argb32.ref.png | Bin 278 -> 278 bytes + .../degenerate-rel-curve-to.traps.rgb24.ref.png | Bin 278 -> 278 bytes + test/reference/drunkard-tails.argb32.ref.png | Bin 6116 -> 0 bytes + test/reference/drunkard-tails.base.argb32.ref.png | Bin 6036 -> 6176 bytes + test/reference/drunkard-tails.base.rgb24.ref.png | Bin 6036 -> 6176 bytes + test/reference/drunkard-tails.ref.png | Bin 3853 -> 6261 bytes + test/reference/drunkard-tails.rgb24.ref.png | Bin 6116 -> 0 bytes + test/reference/drunkard-tails.traps.argb32.ref.png | Bin 6036 -> 6176 bytes + test/reference/drunkard-tails.traps.rgb24.ref.png | Bin 6036 -> 6176 bytes + .../ft-text-vertical-layout-type3.argb32.ref.png | Bin 3610 -> 0 bytes + .../ft-text-vertical-layout-type3.ref.png | Bin 3222 -> 3608 bytes + .../ft-text-vertical-layout-type3.rgb24.ref.png | Bin 3610 -> 0 bytes + test/reference/halo-transform.traps.argb32.ref.png | Bin 15063 -> 15122 bytes + test/reference/halo-transform.traps.rgb24.ref.png | Bin 15063 -> 15122 bytes + test/reference/joins-loop.base.argb32.ref.png | Bin 4202 -> 4191 bytes + test/reference/joins-loop.base.rgb24.ref.png | Bin 4202 -> 4191 bytes + test/reference/joins-loop.traps.argb32.ref.png | Bin 4202 -> 4191 bytes + test/reference/joins-loop.traps.rgb24.ref.png | Bin 4202 -> 4191 bytes + test/reference/joins-retrace.argb32.ref.png | Bin 4997 -> 0 bytes + test/reference/joins-retrace.base.argb32.ref.png | Bin 4667 -> 4566 bytes + test/reference/joins-retrace.base.rgb24.ref.png | Bin 4667 -> 4566 bytes + test/reference/joins-retrace.ref.png | Bin 3951 -> 4900 bytes + test/reference/joins-retrace.rgb24.ref.png | Bin 4997 -> 0 bytes + test/reference/joins-retrace.traps.argb32.ref.png | Bin 4667 -> 4566 bytes + test/reference/joins-retrace.traps.rgb24.ref.png | Bin 4667 -> 4566 bytes + test/reference/joins-star.base.argb32.ref.png | Bin 3583 -> 3542 bytes + test/reference/joins-star.base.rgb24.ref.png | Bin 3583 -> 3542 bytes + test/reference/joins-star.traps.argb32.ref.png | Bin 3583 -> 3542 bytes + test/reference/joins-star.traps.rgb24.ref.png | Bin 3583 -> 3542 bytes + test/reference/joins.argb32.ref.png | Bin 6970 -> 0 bytes + test/reference/joins.base.argb32.ref.png | Bin 5684 -> 5732 bytes + test/reference/joins.base.rgb24.ref.png | Bin 5684 -> 5732 bytes + test/reference/joins.ref.png | Bin 4880 -> 7153 bytes + test/reference/joins.rgb24.ref.png | Bin 6970 -> 0 bytes + test/reference/joins.traps.argb32.ref.png | Bin 5684 -> 5732 bytes + test/reference/joins.traps.rgb24.ref.png | Bin 5684 -> 5732 bytes + .../large-twin-antialias-mixed.base.argb32.ref.png | Bin 16660 -> 16630 bytes + .../large-twin-antialias-mixed.base.rgb24.ref.png | Bin 16660 -> 16630 bytes + ...large-twin-antialias-mixed.traps.argb32.ref.png | Bin 16660 -> 16630 bytes + .../large-twin-antialias-mixed.traps.rgb24.ref.png | Bin 16660 -> 16630 bytes + .../leaky-dashed-rectangle.traps.argb32.ref.png | Bin 344 -> 345 bytes + .../leaky-dashed-rectangle.traps.rgb24.ref.png | Bin 344 -> 345 bytes + ...width-large-overlap-dashed.traps.argb32.ref.png | Bin 343 -> 340 bytes + ...-width-large-overlap-dashed.traps.rgb24.ref.png | Bin 343 -> 340 bytes + .../line-width-large-overlap-rotated.base.ref.png | Bin 404 -> 0 bytes + ...idth-large-overlap-rotated.traps.argb32.ref.png | Bin 427 -> 404 bytes + ...width-large-overlap-rotated.traps.rgb24.ref.png | Bin 427 -> 404 bytes + .../line-width-overlap-dashed.traps.argb32.ref.png | Bin 401 -> 407 bytes + .../line-width-overlap-dashed.traps.rgb24.ref.png | Bin 401 -> 407 bytes + .../long-dashed-lines.base.argb32.ref.png | Bin 2071 -> 2079 bytes + .../reference/long-dashed-lines.base.rgb24.ref.png | Bin 2071 -> 2079 bytes + .../long-dashed-lines.traps.argb32.ref.png | Bin 2071 -> 2079 bytes + .../long-dashed-lines.traps.rgb24.ref.png | Bin 2071 -> 2079 bytes + test/reference/miter-precision.base.argb32.ref.png | Bin 818 -> 823 bytes + test/reference/miter-precision.base.rgb24.ref.png | Bin 818 -> 823 bytes + .../reference/miter-precision.traps.argb32.ref.png | Bin 818 -> 823 bytes + test/reference/miter-precision.traps.rgb24.ref.png | Bin 818 -> 823 bytes + .../operator-alpha-alpha.base.argb32.ref.png | Bin 3441 -> 3402 bytes + .../operator-alpha-alpha.base.rgb24.ref.png | Bin 3441 -> 3402 bytes + .../operator-alpha-alpha.traps.argb32.ref.png | Bin 3441 -> 3402 bytes + .../operator-alpha-alpha.traps.rgb24.ref.png | Bin 3441 -> 3402 bytes + test/reference/operator-clear.rgb24.ref.png | Bin 947 -> 946 bytes + test/reference/operator-source.argb32.ref.png | Bin 5612 -> 5614 bytes + test/reference/operator-source.rgb24.ref.png | Bin 3975 -> 4012 bytes + .../reference/overlapping-dash-caps.argb32.ref.png | Bin 3986 -> 0 bytes + .../overlapping-dash-caps.base.argb32.ref.png | Bin 3952 -> 3967 bytes + .../overlapping-dash-caps.base.rgb24.ref.png | Bin 3952 -> 3967 bytes + test/reference/overlapping-dash-caps.ref.png | Bin 2424 -> 3979 bytes + test/reference/overlapping-dash-caps.rgb24.ref.png | Bin 3986 -> 0 bytes + .../overlapping-dash-caps.traps.argb32.ref.png | Bin 3952 -> 3967 bytes + .../overlapping-dash-caps.traps.rgb24.ref.png | Bin 3952 -> 3967 bytes + test/reference/random-clip.ref.png | Bin 525962 -> 526034 bytes + .../record-extend-none-similar.base.argb32.ref.png | Bin 293 -> 279 bytes + .../record-extend-none-similar.base.rgb24.ref.png | Bin 293 -> 279 bytes + ...record-extend-none-similar.traps.argb32.ref.png | Bin 293 -> 279 bytes + .../record-extend-none-similar.traps.rgb24.ref.png | Bin 293 -> 279 bytes + .../record-extend-pad-similar.base.argb32.ref.png | Bin 298 -> 283 bytes + .../record-extend-pad-similar.base.rgb24.ref.png | Bin 298 -> 283 bytes + .../record-extend-pad-similar.traps.argb32.ref.png | Bin 298 -> 283 bytes + .../record-extend-pad-similar.traps.rgb24.ref.png | Bin 298 -> 283 bytes + ...cord-extend-reflect-similar.base.argb32.ref.png | Bin 335 -> 283 bytes + ...ecord-extend-reflect-similar.base.rgb24.ref.png | Bin 335 -> 283 bytes + ...ord-extend-reflect-similar.traps.argb32.ref.png | Bin 335 -> 283 bytes + ...cord-extend-reflect-similar.traps.rgb24.ref.png | Bin 335 -> 283 bytes + ...ecord-extend-repeat-similar.base.argb32.ref.png | Bin 286 -> 283 bytes + ...record-extend-repeat-similar.base.rgb24.ref.png | Bin 286 -> 283 bytes + ...cord-extend-repeat-similar.traps.argb32.ref.png | Bin 286 -> 283 bytes + ...ecord-extend-repeat-similar.traps.rgb24.ref.png | Bin 286 -> 283 bytes + .../record-fill-alpha.base.argb32.ref.png | Bin 2824 -> 2853 bytes + .../reference/record-fill-alpha.base.rgb24.ref.png | Bin 2824 -> 2853 bytes + ...ecord-paint-alpha-clip-mask.base.argb32.ref.png | Bin 330 -> 337 bytes + ...record-paint-alpha-clip-mask.base.rgb24.ref.png | Bin 330 -> 337 bytes + .../record-paint-alpha-clip.base.argb32.ref.png | Bin 269 -> 299 bytes + .../record-paint-alpha-clip.base.rgb24.ref.png | Bin 269 -> 299 bytes + .../record-select-font-face.base.argb32.ref.png | Bin 2250 -> 1417 bytes + .../record-select-font-face.base.rgb24.ref.png | Bin 2250 -> 1417 bytes + .../record-self-intersecting.base.argb32.ref.png | Bin 208 -> 168 bytes + .../record-self-intersecting.base.rgb24.ref.png | Bin 208 -> 168 bytes + .../record-text-transform.base.argb32.ref.png | Bin 5579 -> 5281 bytes + .../record-text-transform.base.rgb24.ref.png | Bin 5579 -> 5281 bytes + .../record1414x-fill-alpha.base.argb32.ref.png | Bin 4191 -> 4138 bytes + .../record1414x-fill-alpha.base.rgb24.ref.png | Bin 4191 -> 4138 bytes + ...ecord1414x-paint-alpha-clip-mask.argb32.ref.png | Bin 473 -> 560 bytes + ...1414x-paint-alpha-clip-mask.base.argb32.ref.png | Bin 466 -> 514 bytes + ...d1414x-paint-alpha-clip-mask.base.rgb24.ref.png | Bin 466 -> 514 bytes + ...record1414x-paint-alpha-clip-mask.rgb24.ref.png | Bin 473 -> 560 bytes + ...ecord1414x-paint-alpha-clip.base.argb32.ref.png | Bin 380 -> 402 bytes + ...record1414x-paint-alpha-clip.base.rgb24.ref.png | Bin 380 -> 402 bytes + ...414x-paint-alpha-solid-clip.base.argb32.ref.png | Bin 317 -> 317 bytes + ...1414x-paint-alpha-solid-clip.base.rgb24.ref.png | Bin 317 -> 317 bytes + ...ecord1414x-select-font-face.base.argb32.ref.png | Bin 3177 -> 2018 bytes + ...record1414x-select-font-face.base.rgb24.ref.png | Bin 3177 -> 2018 bytes + ...cord1414x-self-intersecting.base.argb32.ref.png | Bin 353 -> 385 bytes + ...ecord1414x-self-intersecting.base.rgb24.ref.png | Bin 353 -> 385 bytes + .../record1414x-text-transform.base.argb32.ref.png | Bin 8706 -> 8368 bytes + .../record1414x-text-transform.base.rgb24.ref.png | Bin 8706 -> 8368 bytes + .../record2x-fill-alpha.base.argb32.ref.png | Bin 5896 -> 5724 bytes + .../record2x-fill-alpha.base.rgb24.ref.png | Bin 5896 -> 5724 bytes + .../record2x-paint-alpha-clip-mask.argb32.ref.png | Bin 503 -> 534 bytes + ...ord2x-paint-alpha-clip-mask.base.argb32.ref.png | Bin 488 -> 501 bytes + ...cord2x-paint-alpha-clip-mask.base.rgb24.ref.png | Bin 488 -> 501 bytes + .../record2x-paint-alpha-clip-mask.rgb24.ref.png | Bin 503 -> 534 bytes + .../record2x-select-font-face.base.argb32.ref.png | Bin 4407 -> 3096 bytes + .../record2x-select-font-face.base.rgb24.ref.png | Bin 4407 -> 3096 bytes + .../record2x-text-transform.base.argb32.ref.png | Bin 13476 -> 13174 bytes + .../record2x-text-transform.base.rgb24.ref.png | Bin 13476 -> 13174 bytes + .../record90-fill-alpha.base.argb32.ref.png | Bin 2658 -> 2628 bytes + .../record90-fill-alpha.base.rgb24.ref.png | Bin 2658 -> 2628 bytes + ...ord90-paint-alpha-clip-mask.base.argb32.ref.png | Bin 332 -> 343 bytes + ...cord90-paint-alpha-clip-mask.base.rgb24.ref.png | Bin 332 -> 343 bytes + .../record90-paint-alpha-clip.base.argb32.ref.png | Bin 279 -> 327 bytes + .../record90-paint-alpha-clip.base.rgb24.ref.png | Bin 279 -> 327 bytes + ...rd90-paint-alpha-solid-clip.base.argb32.ref.png | Bin 254 -> 279 bytes + ...ord90-paint-alpha-solid-clip.base.rgb24.ref.png | Bin 254 -> 279 bytes + .../record90-select-font-face.base.argb32.ref.png | Bin 2272 -> 1480 bytes + .../record90-select-font-face.base.rgb24.ref.png | Bin 2272 -> 1480 bytes + .../record90-self-intersecting.base.argb32.ref.png | Bin 208 -> 208 bytes + .../record90-self-intersecting.base.rgb24.ref.png | Bin 208 -> 208 bytes + .../record90-text-transform.base.argb32.ref.png | Bin 5811 -> 5481 bytes + .../record90-text-transform.base.rgb24.ref.png | Bin 5811 -> 5481 bytes + test/reference/reflected-stroke.argb32.ref.png | Bin 5119 -> 0 bytes + .../reference/reflected-stroke.base.argb32.ref.png | Bin 4994 -> 5053 bytes + test/reference/reflected-stroke.base.rgb24.ref.png | Bin 4994 -> 5053 bytes + test/reference/reflected-stroke.ref.png | Bin 3410 -> 5139 bytes + test/reference/reflected-stroke.rgb24.ref.png | Bin 5119 -> 0 bytes + .../reflected-stroke.traps.argb32.ref.png | Bin 4994 -> 5053 bytes + .../reference/reflected-stroke.traps.rgb24.ref.png | Bin 4994 -> 5053 bytes + .../rounded-rectangle-stroke.base.argb32.ref.png | Bin 1060 -> 856 bytes + .../rounded-rectangle-stroke.base.rgb24.ref.png | Bin 1060 -> 856 bytes + .../rounded-rectangle-stroke.traps.argb32.ref.png | Bin 1060 -> 856 bytes + .../rounded-rectangle-stroke.traps.rgb24.ref.png | Bin 1060 -> 856 bytes + .../spline-decomposition.base.argb32.ref.png | Bin 19075 -> 19089 bytes + .../spline-decomposition.base.rgb24.ref.png | Bin 19075 -> 19089 bytes + .../spline-decomposition.traps.argb32.ref.png | Bin 19075 -> 19089 bytes + .../spline-decomposition.traps.rgb24.ref.png | Bin 19075 -> 19089 bytes + test/reference/stroke-ctm-caps.argb32.ref.png | Bin 942 -> 0 bytes + test/reference/stroke-ctm-caps.base.argb32.ref.png | Bin 873 -> 835 bytes + test/reference/stroke-ctm-caps.base.rgb24.ref.png | Bin 873 -> 835 bytes + test/reference/stroke-ctm-caps.ref.png | Bin 921 -> 896 bytes + test/reference/stroke-ctm-caps.rgb24.ref.png | Bin 942 -> 0 bytes + .../reference/stroke-ctm-caps.traps.argb32.ref.png | Bin 873 -> 835 bytes + test/reference/stroke-ctm-caps.traps.rgb24.ref.png | Bin 873 -> 835 bytes + .../reference/subsurface-scale.base.argb32.ref.png | Bin 5921 -> 5919 bytes + test/reference/subsurface-scale.base.ref.png | Bin 5216 -> 0 bytes + test/reference/subsurface-scale.base.rgb24.ref.png | Bin 5921 -> 5919 bytes + .../subsurface-scale.traps.argb32.ref.png | Bin 5921 -> 5919 bytes + .../reference/subsurface-scale.traps.rgb24.ref.png | Bin 5921 -> 5919 bytes + test/reference/subsurface.base.argb32.ref.png | Bin 1811 -> 1801 bytes + test/reference/subsurface.base.rgb24.ref.png | Bin 1811 -> 1801 bytes + test/reference/subsurface.traps.argb32.ref.png | Bin 1811 -> 1801 bytes + test/reference/subsurface.traps.rgb24.ref.png | Bin 1811 -> 1801 bytes + .../surface-pattern-operator.base.argb32.ref.png | Bin 5184 -> 5107 bytes + .../surface-pattern-operator.traps.argb32.ref.png | Bin 5184 -> 5107 bytes + test/reference/twin-antialias-gray.argb32.ref.png | Bin 3990 -> 0 bytes + .../twin-antialias-gray.base.argb32.ref.png | Bin 4392 -> 4320 bytes + .../twin-antialias-gray.base.rgb24.ref.png | Bin 4392 -> 4320 bytes + test/reference/twin-antialias-gray.ref.png | Bin 2292 -> 3948 bytes + test/reference/twin-antialias-gray.rgb24.ref.png | Bin 3990 -> 0 bytes + .../twin-antialias-gray.traps.argb32.ref.png | Bin 4392 -> 4320 bytes + .../twin-antialias-gray.traps.rgb24.ref.png | Bin 4392 -> 4320 bytes + .../twin-antialias-mixed.base.argb32.ref.png | Bin 2230 -> 2340 bytes + .../twin-antialias-mixed.base.rgb24.ref.png | Bin 2230 -> 2340 bytes + .../twin-antialias-mixed.traps.argb32.ref.png | Bin 2230 -> 2340 bytes + .../twin-antialias-mixed.traps.rgb24.ref.png | Bin 2230 -> 2340 bytes + .../twin-antialias-subpixel.argb32.ref.png | Bin 3990 -> 0 bytes + .../twin-antialias-subpixel.base.argb32.ref.png | Bin 4392 -> 4320 bytes + .../twin-antialias-subpixel.base.rgb24.ref.png | Bin 4392 -> 4320 bytes + test/reference/twin-antialias-subpixel.ref.png | Bin 2292 -> 3948 bytes + .../twin-antialias-subpixel.rgb24.ref.png | Bin 3990 -> 0 bytes + .../twin-antialias-subpixel.traps.argb32.ref.png | Bin 4392 -> 4320 bytes + .../twin-antialias-subpixel.traps.rgb24.ref.png | Bin 4392 -> 4320 bytes + test/reference/twin.argb32.ref.png | Bin 3990 -> 0 bytes + test/reference/twin.base.argb32.ref.png | Bin 4392 -> 4320 bytes + test/reference/twin.base.rgb24.ref.png | Bin 4392 -> 4320 bytes + test/reference/twin.ref.png | Bin 2292 -> 3948 bytes + test/reference/twin.rgb24.ref.png | Bin 3990 -> 0 bytes + test/reference/twin.traps.argb32.ref.png | Bin 4392 -> 4320 bytes + test/reference/twin.traps.rgb24.ref.png | Bin 4392 -> 4320 bytes + .../unantialiased-shapes.traps.argb32.ref.png | Bin 3977 -> 3932 bytes + .../unantialiased-shapes.traps.rgb24.ref.png | Bin 3977 -> 3932 bytes + test/reference/unbounded-operator.rgb24.ref.png | Bin 1333 -> 1333 bytes + .../unbounded-operator.traps.argb32.ref.png | Bin 2648 -> 2764 bytes + .../unbounded-operator.traps.rgb24.ref.png | Bin 1269 -> 1302 bytes + .../reference/unclosed-strokes.base.argb32.ref.png | Bin 1482 -> 1452 bytes + test/reference/unclosed-strokes.base.rgb24.ref.png | Bin 1482 -> 1452 bytes + .../unclosed-strokes.traps.argb32.ref.png | Bin 1482 -> 1452 bytes + .../reference/unclosed-strokes.traps.rgb24.ref.png | Bin 1482 -> 1452 bytes + test/reference/user-font.argb32.ref.png | Bin 6478 -> 0 bytes + test/reference/user-font.base.argb32.ref.png | Bin 6080 -> 5785 bytes + test/reference/user-font.base.rgb24.ref.png | Bin 6080 -> 5785 bytes + test/reference/user-font.ref.png | Bin 4939 -> 6209 bytes + test/reference/user-font.rgb24.ref.png | Bin 6478 -> 0 bytes + test/reference/user-font.traps.argb32.ref.png | Bin 6080 -> 5785 bytes + test/reference/user-font.traps.rgb24.ref.png | Bin 6080 -> 5785 bytes + 347 files changed, 0 insertions(+), 0 deletions(-) + +commit d6a05676849509049fc54eea2559803b6247a6fe +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Oct 3 17:38:21 2012 +0100 + + stroke: Remove redundant code for computing culling extents + + Same code repeated! + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-stroke.c | 91 ++++++++++++++++++------------------------------- + src/cairo-rectangle.c | 16 ++------- + 2 files changed, 35 insertions(+), 72 deletions(-) + +commit 8020e0bc8cbd3e5ac188eb305b74ae1c1f362a31 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Oct 3 17:01:41 2012 +0100 + + recording: Perform an explicit during snapshot + + In order to avoid recursing upon our source mutex when doing a snapshot, + we can perform an explicit copy of the command array. This should also + be faster than performing a replay as well. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50443 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface.c | 312 +++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 311 insertions(+), 1 deletion(-) + +commit 797441093a8346003552e0cf89aef2a644ff53ab +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 27 15:21:42 2012 +0100 + + tor: Fudge the edge if it is projected into a point + + If we generate an edge (through polygon-intersect) where its end-points + lie outside the line definition then it is possible for that line to be + degenerate under sample grid projection. Apply a fudge factor to prevent + explosions as otherwise we reject an edge whose height is not strictly + 0. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54822 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-tor-scan-converter.c | 2 +- + src/cairo-tor22-scan-converter.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit cabb3c3bdf3153719b0ee538ea1b66137dc89085 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 27 12:21:00 2012 +0100 + + spans-compositor: Remove polygon limits after construction + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-spans-compositor.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +commit c05147b215072f9bd5e951011f68d9e647cf001f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 27 11:41:58 2012 +0100 + + test: Refresh reference image for clip-disjoint-quad + + Rather than using the traps reference for all target as this then + generates false negatives with the spans compositor. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/reference/clip-disjoint-quad.ref.png | Bin 1542 -> 1592 bytes + test/reference/clip-disjoint-quad.traps.ref.png | Bin 0 -> 1542 bytes + 2 files changed, 0 insertions(+), 0 deletions(-) + +commit ef0b2e43ee299a1c2e7ecfbdf36a610c4ec53d0e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 27 11:35:40 2012 +0100 + + composite-rectangles: Update unbounded (clip extents) after reducing clip + + So that the composite-rectangles remains consistent with the reduced + clip in case the individual compositors try to optimise their rendering + strategies based on the reduced clip and the overall extents. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-composite-rectangles.c | 17 ++++++++++++++++- + 1 file changed, 16 insertions(+), 1 deletion(-) + +commit 36536d3eb83a8f942bcf1afba4d0815fbeaca10f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 27 11:14:18 2012 +0100 + + spans-compositor: Use the tight clip-boxes for polygon construction + + If we will be reducing the clip intersection to a single clip box check + during construction, it helps if we use the tight clip box. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-spans-compositor.c | 29 +++++++++++++++++++---------- + 1 file changed, 19 insertions(+), 10 deletions(-) + +commit 7e856071a27b06a6ae35b6445635da9276975c69 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 27 11:13:23 2012 +0100 + + polygon-intersect: Exclude non-overlapping clip boxes from consideration + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-polygon-intersect.c | 22 ++++++++++++++-------- + 1 file changed, 14 insertions(+), 8 deletions(-) + +commit 3969f2c687aa94721e02d50c2f9e1b4d62a546f7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 27 09:56:36 2012 +0100 + + test: Add clip-disjoint-quad + + Exercises a bug in the polygon intersection code demonstrated by Søren + Sandmann. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.sources | 1 + + test/clip-disjoint-quad.c | 83 ++++++++++++++++++++++++++++++ + test/reference/clip-disjoint-quad.ref.png | Bin 0 -> 1542 bytes + 3 files changed, 84 insertions(+) + +commit 9735d1d716262a0c4f0a77363ce8c7d6064fa7d6 +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Sep 25 11:58:18 2012 +0200 + + mark_dirty: Check surface status + + This problem was introduced in commit "xlib: Implement SHM fallbacks and fast + upload paths". Before, cairo_surface_mark_dirty() directly called + cairo_surface_mark_dirty_rectangle() with special "magical arguments" and thus + didn't need any checks on the surface status. + + Fixes: api-special-cases + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-surface.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit 2be125817ade58ca25cc6cc6b23e2f4dbea722c6 +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Sep 25 11:40:22 2012 +0200 + + surface: Check reference count right before free + + This makes sure that nothing took a reference during finishing and during + detaching user and mime-data. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-surface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit f2720e2ba1f68e9ec8f8822e41f4045663e99ad8 +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Sep 25 11:39:42 2012 +0200 + + xcb: Add a missing check for FillRectangles + + Fixes: big-empty-box big-little-box operator operator-alpha + surface-pattern-operator unbounded-operator + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 13 +++++++++---- + 1 file changed, 9 insertions(+), 4 deletions(-) + +commit b264ae76bd2621363cbc1e2b5bcdc4b0583d4b1f +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Sep 25 11:34:52 2012 +0200 + + xcb: Check if traps are supported before using them + + This code tried to optimize the clip away by intersecting the boxes with the + clip polygon. However, it also did so when the server didn't support traps. + + Fixes: clip-stroke-unbounded clip-fill-nz-unbounded clip-fill-eo-unbounded + clip-fill clip-fill-rule a1-clip-fill-rule clip-group-shapes-circles + clip-intersect clip-nesting clip-operator clip-push-group clip-polygons + clip-shape clip-text clip-twice inverted-clip mask random-clip + rotate-clip-image-surface-paint trap-clip unantialiased-shapes + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 0ccbb83eb892aca51838aeb1da45070b385a6d88 +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Sep 25 11:31:04 2012 +0200 + + xcb: Check the right flag for FillRectangles + + Fixes: operator-source + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit b33d83ad49343ce226f76ceb6c83659c72442e91 +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Sep 25 11:12:58 2012 +0200 + + xcb: Verify extension support before sending + + This commit adds lots of asserts. These asserts verify for each extension + request that we send that the server really supports this. + + Sadly, this causes 28 assertion failures in the test suite with xcb-render-0.0. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-connection-render.c | 20 ++++++++++++++++++++ + src/cairo-xcb-connection-shm.c | 4 ++++ + 2 files changed, 24 insertions(+) + +commit de31018bdd1cc78fd54cf9fd7b220117008c33a8 +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Sep 15 15:43:16 2012 +0200 + + xcb: Switch to compositor architecture + + This commit removes the hand-written code in cairo-xcb-surface.c and instead + makes use of cairo_compositor_t. Surprisingly, this doesn't break a single test + case. :-) + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-private.h | 59 ++++----- + src/cairo-xcb-surface-render.c | 75 +++++------ + src/cairo-xcb-surface.c | 277 ++++++++++++++++++++--------------------- + 3 files changed, 197 insertions(+), 214 deletions(-) + +commit 6300579a8b2c0e38a0c1abae89675bf6cb769902 +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Sep 15 14:56:51 2012 +0200 + + xcb: Remove unimplemented cairo compositor + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/Makefile.sources | 1 - + src/cairo-xcb-private.h | 44 -------------------- + src/cairo-xcb-surface-cairo.c | 94 ------------------------------------------- + src/cairo-xcb-surface.c | 32 --------------- + 4 files changed, 171 deletions(-) + +commit 8d86ea4dcbefc982e4a694f1d8e90a90b3695c10 +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Sep 15 14:37:51 2012 +0200 + + xcb: Fix a warn_unused_result warning + + cairo-xcb-surface.c: In function '_drawable_changed': + cairo-xcb-surface.c:1434:39: warning: ignoring return value of '_cairo_surface_begin_modification', declared with attribute warn_unused_result [-Wunused-result] + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit d6253dd53127368797dfd43084450e70b4921f77 +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Sep 15 14:36:06 2012 +0200 + + Remove an unimplemented function declaration + + This was added in commit 2458120dee350cd1b49f999f64b17a895a4b6607. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-pattern-private.h | 3 --- + 1 file changed, 3 deletions(-) + +commit 08e3f4614b688331534d72f46c9c3e9f292d0216 +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Sep 15 14:33:54 2012 +0200 + + Fix make check + + The inline functions in cairo-backend-private.h tried to dereference a cairo_t, + which wasn't defined. Fix this by including cairo-private.h. + + In cairo-mempool-private.h, size_t is used but stddef.h is not included. + + Fixes: + + CHECK cairo-backend-private.h + In file included from headers-standalone-tmp.c:1:0: + ./cairo-backend-private.h: In function ‘_cairo_backend_to_user’: + ./cairo-backend-private.h:179:7: error: dereferencing pointer to incomplete type + ./cairo-backend-private.h: In function ‘_cairo_backend_to_user_distance’: + ./cairo-backend-private.h:185:7: error: dereferencing pointer to incomplete type + ./cairo-backend-private.h: In function ‘_cairo_user_to_backend’: + ./cairo-backend-private.h:191:7: error: dereferencing pointer to incomplete type + ./cairo-backend-private.h: In function ‘_cairo_user_to_backend_distance’: + ./cairo-backend-private.h:197:7: error: dereferencing pointer to incomplete type + CHECK cairo-mempool-private.h + In file included from headers-standalone-tmp.c:1:0: + ./cairo-mempool-private.h:61:5: error: unknown type name ‘size_t’ + ./cairo-mempool-private.h:62:5: error: unknown type name ‘size_t’ + ./cairo-mempool-private.h:68:8: error: unknown type name ‘size_t’ + ./cairo-mempool-private.h:73:44: error: unknown type name ‘size_t’ + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-backend-private.h | 1 + + src/cairo-mempool-private.h | 2 ++ + 2 files changed, 3 insertions(+) + +commit 1054840d864da7efcac2ee02d43a526ed6a6760c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Sep 22 15:59:36 2012 -0400 + + Fix malloc-stats for newer glibc + + util/malloc-stats.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 38c6084758b178177cff8a3b6a9e0b5be60c80a2 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 17 16:26:08 2012 -0400 + + [util/malloc-stats] Use tighter spacing. + + util/malloc-stats.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 59248fb2628e86ff62abfbf122b88c2a299ec393 +Author: Weng Xuetian <wengxt@gmail.com> +Date: Thu Sep 13 22:56:57 2012 +0100 + + xlib: Reset fallback counter when discarding the fallback + + References: https://bugs.freedesktop.org/show_bug.cgi?id=54657 + + src/cairo-xlib-surface.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 5c59d989f9037f94c80ccd7929dc05f4a95be4df +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 13 22:50:11 2012 +0100 + + xlib: Destroy the fallback damage along with the fallback surface + + Whenever we discard the fallback surface, we need to destroy the + associated damage tracking, so move this into the common discard + routine. + + This should fix the issue when trying to flush the fallback before + the user modifies any foreign Drawables. The current code issued the + flush and then explicitly discard the fallback, but unless it was idle + at the time of the flush the associated damage would not have also been + destroyed. Asserts followed. + + References: https://bugs.freedesktop.org/show_bug.cgi?id=54657 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface.c | 13 +++++-------- + 1 file changed, 5 insertions(+), 8 deletions(-) + +commit 97282ef51a01ae2ac3a7a8bf3ebce841a60dc907 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 13 17:00:24 2012 +0100 + + xlib: Do not call _cairo_xlib_surface_flush directly + + Use the higher level layer to be sure we detach any snapshots and other + cached data that is invalidated along with the change of Drawable. + + Pointed out by the eternally wise Uli Schlachter. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 69d97d97bea86e7f4223d857803fb7f0ec0d369f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 13 16:45:46 2012 +0100 + + xlib: Force the fallback flush before updating the external Drawable + + _cairo_surface_begin_modification() performs an internal flush, for + which the xlib backend skips flushing the fallback surface as it will + continue to use it for the subsequent operation. In the case where we + are flushing prior to updating the Drawable, we need to perform an + external flush which will trigger the posting of the damage from the + fallback surface. + + Reported-by: Weng Xuetian <wengxt@gmail.com> + References: https://bugs.freedesktop.org/show_bug.cgi?id=54657 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 6ee216000ae487492fceda0fb3fecb20bb9a41f6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 13 15:25:49 2012 +0100 + + xlib: Explicitly discard the fallback shm pixmap upon user modification + + If the user changes the size of the underlying drawable, we much make + sure that we discard the current ShmPixmap in order to create a new + fallback pixmap of the correct size next time. + + Reported-by: Weng Xuetian <wengxt@gmail.com> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface.c | 38 +++++++++++++++++++++++++++++--------- + 1 file changed, 29 insertions(+), 9 deletions(-) + +commit e2c4bb9465e6261eb79f24af52d339df0b563b55 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 13 12:40:49 2012 +0100 + + xlib: Fix regression in cairo_xlib_surface_set_drawable() + + In commit 0bfd2acd35547fc2bd0de99cc67d153f0170697d + Author: Chris Wilson <chris@chris-wilson.co.uk> + Date: Mon Aug 13 01:34:12 2012 +0100 + + xlib: Implement SHM fallbacks and fast upload paths + + I made the mistake of inverting the logic for + cairo_xlib_surface_set_drawable() causing it then to never update. + + Thanks to Uli Schlachter for spotting my error. + + References: https://bugs.freedesktop.org/show_bug.cgi?id=54657 + Reported-by: Weng Xuetian <wengxt@gmail.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 77330f6b841b6938e0da44b32692cd64b0f53cbd +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 11 18:20:45 2012 +0100 + + xcb: Always flush the fallback damage to foreign drawables + + We need to flush any fallback to a foreign drawable upon finish. + However, we must be careful not to attach the snapshot in that case or + else we end up with an expected reference. This is similar to the + treatment of xlib/shm in commit f864e2d70. + + Reported-by: Henry Song <henry.song@samsung.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 93774ac0348df04c3fa84f5bc01fe35c87a62089 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Sep 5 17:52:50 2012 +0200 + + test: Add degenerate closed path case to get-path-extents + + This is a testcase to ensure that we do not regress + https://bugs.freedesktop.org/show_bug.cgi?id=54549 (which is already + fixed by b0c466e27afcec230b2c9436eeb924c05123a544). + + test/get-path-extents.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +commit f34b87f6d76cbea93acd4a8c73c8c6a6b412a302 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Sep 10 15:09:18 2012 +0100 + + path: Convert from backend coordinates back into user coordinates + + Fixes regression from commit 83bfd85a1378e61b8bdc3f554f5e07900311f61f + Author: Chris Wilson <chris@chris-wilson.co.uk> + Date: Fri Apr 23 19:45:26 2010 +0100 + + Implement cairo_backend_t + + As there exists no public API to perform the operation we needed, and we + failed to create one, the constructed path failed to correctly remove + the device offset. + + Fixes copy-path under device translation. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54732 + Reported-by: Benjamin Berg <benjamin@sipsolutions.net> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +commit df6780442feba5c0c9404353177f24913b58bd32 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Sep 10 15:03:47 2012 +0100 + + context: Add missing functions to transform between user and backend coordinates + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-backend-private.h | 29 +++++++++++++++++++++++++++ + src/cairo-default-context.c | 44 +++++++++++++++++++++++++++++++++++++++++ + src/cairo-gstate-private.h | 10 ++++++++++ + src/cairo-gstate.c | 7 +++++++ + src/skia/cairo-skia-context.cpp | 4 ++++ + 5 files changed, 94 insertions(+) + +commit f864e2d70f53a1feeee5e32bf9724b1e544025a6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Sep 8 16:39:05 2012 +0100 + + xlib/shm: Explicitly release shm surface if we do not own the pixmap + + In this case we want to prevent the short-circuiting of the flush of the + ShmPixmap that is ordinarily performed during finish(). + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +commit 558f0a5ab4a88937b8c212c13309d11cb1a101af +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Sep 8 15:12:58 2012 +0100 + + image: Check for an error surface before dereferencing the backend + + As the surface->backend will be NULL in such an error surface, and we + may be legitimately doing boundary checks to reject the error surface. + The alternative would be to set an explicit error surface backend. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54664 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-surface-inline.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit b0c466e27afcec230b2c9436eeb924c05123a544 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 5 14:55:55 2012 +0100 + + path: Update last_move_point after move-to + + Reported-and-tested-by: Jussi Kukkonen <jku@linux.intel.com> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54549 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-fixed.c | 1 + + 1 file changed, 1 insertion(+) + +commit 83759e7d592c5d7b12b2341574fd584fe5e0fb5a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 4 14:42:34 2012 +0100 + + default-context: Convert the relative path segments into the backend coordinates + + When transforming the incoming paths, the goal is to transform them from + user space onto the target coordinate system. Currently for relative + paths we used user_to_device_distance as we presumed that there was no + backend scale factor. However, Alex Larsson noticed that these then + broke when playing around with such a device transform... + + Reported-by: Alexander Larsson <alexl@redhat.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-default-context.c | 10 +++++----- + src/cairo-gstate-private.h | 10 ++++++++++ + src/cairo-gstate.c | 7 +++++++ + 3 files changed, 22 insertions(+), 5 deletions(-) + +commit c0b1b178184ccfba0fe60c2a49901cadef9df36b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 27 13:21:35 2012 +0100 + + xlib/shm: Masquerade as an ordinary ShmCompletionEvent + + Needs a bit of extra work to create the extension event, but this leaves + the application with only a single spurious event to filter. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-private.h | 6 +-- + src/cairo-xlib-surface-shm.c | 109 ++++++++++++------------------------------- + 2 files changed, 32 insertions(+), 83 deletions(-) + +commit be2973e405764d4de4a44a01ff98db3e6495a361 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 26 11:59:46 2012 +0100 + + bentley-ottmann: Cache the most recent edge colinearity check + + We frequently compare neighbouring edges for their colinearity (in case + we can skip over them in the active list) so we can record the last + comparison and reuse the result next time. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-bentley-ottmann.c | 42 ++++++++++++++++++++++++++++++++---------- + 1 file changed, 32 insertions(+), 10 deletions(-) + +commit 637659fb511824eb8ac31ef85db10406295734e6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 26 00:39:43 2012 +0100 + + bentley-ottmann: hint that the insertion compare function should be inlined + + Albeit it too large for gcc to automatically inline, it is only used + from within a single function. Hopefully gcc can optimise better with + the hint. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-bentley-ottmann.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 3c6e4311fb3b9fe400555a8d97193fc87974899b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 26 00:35:52 2012 +0100 + + bentley-ottmann: Only check the pairs of coordinates for equality. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-bentley-ottmann.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 535b4e970cdbb459be621cecafd7f91ca4698396 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 26 00:16:33 2012 +0100 + + bentley-ottman: Remove a few superfluous status propagation + + For the traps it is simpler if we report the status at the end, and + no-op the accumulation of the trap after hitting the error condition. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-bentley-ottmann.c | 69 ++++++++++++++------------------------------- + 1 file changed, 21 insertions(+), 48 deletions(-) + +commit b66065537cec5f03b33f7513f06e26630c28b5f1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 26 10:21:22 2012 +0100 + + stroke: Compute bounds for fallback stroker (typically dashing) + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-stroke.c | 42 +++++++++++++++++++++++++++++++++++------- + 1 file changed, 35 insertions(+), 7 deletions(-) + +commit 99593538a9d054aa1bb9fa620fced8c8b8ccdc9d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 26 10:50:50 2012 +0100 + + stroke: Convert fallback stroker to new pen vertex finder + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-stroke.c | 173 ++++++++++++++++++++++++++---------------------- + 1 file changed, 95 insertions(+), 78 deletions(-) + +commit 4eb8e9f8618c5c5c002b7fd72c0370451ae1f511 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 25 23:57:56 2012 +0100 + + stroke: Convert a very small round-join into a miter + + Avoid adding a bevel join if the miter point is within tolerance. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-stroke-polygon.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit fa93fc63b652f04bcf7d5340a13023819ecf2140 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 25 23:54:36 2012 +0100 + + stroke: Precompute the line half-width + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-stroke-polygon.c | 82 +++++++++++++++++++---------------------- + 1 file changed, 38 insertions(+), 44 deletions(-) + +commit 3cf6551ac71bac4d0ae1d0938bc0205dfc03f65c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 25 23:42:45 2012 +0100 + + stroke: Use new pen vertex range finders + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-stroke-polygon.c | 93 ++++++++++++----------------------------- + 1 file changed, 27 insertions(+), 66 deletions(-) + +commit 74e9ae8cdff31e9a039b17f7dbe6e80f98e2c047 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 25 23:29:21 2012 +0100 + + pen: Use bisection to speed up vertex finding + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-pen.c | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + src/cairoint.h | 12 +++++++++ + 2 files changed, 93 insertions(+) + +commit aeb039b16dc302192113a7f10c4b86e7d13eb221 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 25 12:57:01 2012 +0100 + + stroke: Skip spline evaluation when stroking to a polygon + + If the spline is wholly outside the clip region, accounting for the + stroke width and additional rendering, then we can simplify that spline + with a straight line. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-stroke-polygon.c | 37 +++++++++++++++++++++++++++++++++++++ + 1 file changed, 37 insertions(+) + +commit bdf83008f4b2c723fd8e65e2a92bc47a2e7bc442 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 25 08:39:30 2012 +0100 + + compositor: Skip invisible strokes + + If the pen is reduced to a single point, it is effectively invisible + when rasterised, so skip the stroke composition. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-compositor.c | 4 ++++ + src/cairo-pen.c | 34 +++++++++++++--------------------- + src/cairoint.h | 5 +++++ + 3 files changed, 22 insertions(+), 21 deletions(-) + +commit fc38d7375d4f0342ece91596d71f0ce56aa2c975 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 24 17:39:08 2012 +0100 + + xlib/shm: Add missing release of the display after GetImage + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 5355eab17d026f5d5566e6de47c9dbffc5ece5d0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 24 10:34:05 2012 +0100 + + xlib/shm: Reduce the frequency at which we emit events + + Flushing the shm operation is a fairly rare event, as it is typically + only involved with mixed rendering on a similar image, and should be + triggering its own events. Therefore we should be able to reduce our + event emission to the critical points in order to limit the amount of + extra overhead we generate. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-display.c | 4 ++-- + src/cairo-xlib-surface-shm.c | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +commit 5c4087af810763ee98682b3bcc1c759ad8b4c27b +Author: Martin Robinson <mrobinson@igalia.com> +Date: Tue Feb 28 10:50:16 2012 -0800 + + gl: Add a non-thread-aware mode for GL devices + + GLX and EGL devices are thread-aware currently. This + is safe, but on certain GPUs can be very expensive. In + this patch, we expose a new API which turns off the + safety feature in cases where performance is a priority. + + src/cairo-egl-context.c | 2 ++ + src/cairo-gl-device.c | 13 +++++++++++++ + src/cairo-gl-private.h | 2 ++ + src/cairo-gl.h | 4 ++++ + src/cairo-glx-context.c | 7 ++++--- + 5 files changed, 25 insertions(+), 3 deletions(-) + +commit 97410990935bb4baacbc1584362a87733c483583 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Fri Aug 17 16:00:51 2012 -0700 + + gl: Remove the shader language version abstraction + + Cairo only needs to support one version of the shader language API, + thanks to the dispatch table. This seems unlikely to change any time + soon. This makes the addition of new features, such as a uniform + location cache, simpler. + + src/cairo-gl-private.h | 6 +- + src/cairo-gl-shaders.c | 464 +++++++++++++++++-------------------------------- + 2 files changed, 159 insertions(+), 311 deletions(-) + +commit 5c77b4df146796d8280a4f5b16949e3db4a1f84a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 21 21:03:04 2012 +0100 + + xlib/shm: Only check if we are expecting an event + + As the XCheckWindowEvent() has the unwanted side-effect of flushing the + output queue when there is no event available (libX11 seems to be + entirely anti-performant), we need to roll our own that only checks the + already available event queue. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-display.c | 2 -- + src/cairo-xlib-private.h | 3 --- + src/cairo-xlib-surface-shm.c | 62 ++++++++++++++++++++++++++++++++------------ + 3 files changed, 46 insertions(+), 21 deletions(-) + +commit aa5c7123097c56e2c35bf88b8377bbdd1523fbce +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 21 10:12:06 2012 +0100 + + xlib/shm: Use a genuine event rather than an open-ended request + + Adding lots of requests without popping the replies causes xcb to + continually sort large lists of unprocessed data. Use an event instead + and regularly dequeue them. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-display.c | 4 ++- + src/cairo-xlib-private.h | 3 ++ + src/cairo-xlib-surface-shm.c | 80 +++++++++++++++++++++++++++++++++----------- + 3 files changed, 66 insertions(+), 21 deletions(-) + +commit 30d09cd33a582a2dd3f3a544366892c724f67592 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 20 17:20:08 2012 +0100 + + cairo-script: Attempt to fallback for unresolved patterns + + If we fail to resolve a particular pattern, try removing a few features + from the pattern and see if we can resolve that fallback and continue on + with the trace with a close approximation. + + This is then behaves very similar as if the pattern requested a specific + font that was not available on the system and so was substituted. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-script/cairo-script-operators.c | 19 +++++++++++++++++-- + 1 file changed, 17 insertions(+), 2 deletions(-) + +commit a7d505d40f439208b30762be663f332c60bc0883 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 20 16:43:28 2012 +0100 + + ft: Report FILE_NOT_FOUND if creating a font with a specified nonexistent file + + If the FcPattern used to create a font specifies an exact file to use + and it does not exist we will fail much later with an ambiguous + NO_MEMORY error. As suggested by Behdad Esfahbod we should report this + back to the user so that they can take the appropriate action rather + than providing an automatic fallback. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-ft-font.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit ee7f5607192a3341df45199b1c7c8996f2b7347d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 20 14:21:23 2012 +0100 + + stroker: Avoid emitting a miter join for across an elided degenerate segment + + Given the criteria of the rectlinear stroker that it only handles + horizontal and vertical line segments, and eliminates degenerate + segments before stroking, we must be careful not to apply a join between + two horizontal segments (for example if the intervening vertical segment + was degenerate and so elided). A miter join between two colinear + segments is empty, yet we were blissfully extending the line caps to + cover the join. + + Fixes: outline-tolerance + Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=407107 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-stroke-boxes.c | 18 +++++++++++------- + 1 file changed, 11 insertions(+), 7 deletions(-) + +commit 2a0d81743270aaff29e8951c896cde644fd4e576 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 20 13:34:33 2012 +0100 + + tests: Add outline-tolerance + + From https://bugs.freedesktop.org/show_bug.cgi?id=53841: + + "Rectangle drawn incorrectly when it has zero height + and miter limit greater than 1.414" + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.sources | 1 + + test/outline-tolerance.c | 52 +++++++++++++++++++++++++++++++ + test/reference/outline-tolerance.ref.png | Bin 0 -> 205 bytes + 3 files changed, 53 insertions(+) + +commit d6f8ce91dc449a29b0921a8787d9a3c9a687b429 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 19 23:55:28 2012 +0100 + + xlib: Move the shm cleanup from CloseDisplay to finish() + + Make sure that we always detach the ShmSegments upon dispose, or else we + can trivially leak lots of memory when using serial Display connections. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-display.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 43c5387d1b251938eeba458a95d63e2dc7178c2d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 19 12:41:15 2012 +0100 + + ft: Only use a specified font filename if its accessible + + If we try to use a non-existent path, FT_New_Face returns an error. + Instead, just use fontconfig to generate a fallback pattern. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-ft-font.c | 18 +++++++++++++----- + 1 file changed, 13 insertions(+), 5 deletions(-) + +commit b3448c3dff79d0eda2a921178c26eb87f1ba34ea +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 18 09:28:17 2012 +0100 + + xlib: Drop the false optimisation of using a potentially busy shm upload pixmap + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-render-compositor.c | 2 -- + 1 file changed, 2 deletions(-) + +commit 10ef077324bb4c23630dcdab5f281f6fca00b78e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 18 09:16:49 2012 +0100 + + xlib/shm: Mark the ShmPixmap as active following an upload flush + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 99a0d38a33a3dd311a4cf4481b7286db4e8ec775 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 18 09:10:07 2012 +0100 + + xlib/shm: Fix runtime checking of has-shm-pixmaps for !shm case + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit ec01c71ecab46e0252d295f8d1f24f261b3f52af +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 18 08:02:42 2012 +0100 + + xlib/shm: Wrap the detection of shm with locking + + As we access a global error variable, we need to hold a mutex against + simultaneous checking of multiple Displays. This should already be true + as we hold our display mutex to serialize initialisation, so just add an + assertion. As the client may mix use of cairo in one thread with X from + another, we need to hold the Display lock and serialise whilst + manipulating the low-level state of the Display. + + Suggested-by: Uli Schlachter <psychon@znc.in> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 1bc9f673b61aa48369329606acc13aa5bce94a0a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 17 23:38:10 2012 +0100 + + xlib/shm: Avoid using a synchronous ShmCreatePixmap if evading the readback + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 3da2d8a1e277ae76ea2ba2533850b1901c6b3b29 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 17 23:37:31 2012 +0100 + + xlib: Only use CopyArea if the ShmPixmap and destination are the same depth + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-render-compositor.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 94815189a42e52a82c602e8f23e69e1826f51ce7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 17 22:17:41 2012 +0100 + + xlib/shm: Clear the similar image surface + + The upper layers check that the surface returned to userspace is + cleared; make it so. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +commit c068691ff57c2f6cd750a54db17393c0e132cb00 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 17 21:33:54 2012 +0100 + + xlib/shm: Use an impromptu upload ShmSegment + + Reduce the number of copies required for uploading large image data. + Ultimately we want the client to allocate the similar-image itself to + acheive zero copy, this is just an intermediate step for legacy clients. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-private.h | 11 +++++-- + src/cairo-xlib-render-compositor.c | 65 ++++++++++++++++++++++++++++++++++++-- + src/cairo-xlib-surface-shm.c | 39 +++++++++++++++-------- + src/cairo-xlib-surface.c | 5 ++- + 4 files changed, 98 insertions(+), 22 deletions(-) + +commit bc38108947a684fb6e7af99a48ebc8f79d05856a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 17 20:57:04 2012 +0100 + + xlib/shm: Limit use of the impromptu fallback pixmap for uploads + + We want to avoid unnecessary readback and so only want to use the + ShmPixmap when uploading the complete surface. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-fallback-compositor.c | 14 +++++++++----- + src/cairo-xlib-private.h | 3 ++- + src/cairo-xlib-render-compositor.c | 28 +++++++++++++++++++++++++++- + src/cairo-xlib-surface-shm.c | 8 +++++++- + src/cairo-xlib-surface.c | 4 ++-- + 5 files changed, 47 insertions(+), 10 deletions(-) + +commit 4af7a1c8637f3008a2265e063ab990eec07e02dd +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 17 23:17:43 2012 +0100 + + xlib/shm: Propagate the last-request to the synchronous create + + If we optimise away the pending frees we must be careful to propagate + the implied sync. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +commit 1a87c526bfb7c35f5f207ca4aca7cf50a3b96765 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 17 17:52:37 2012 +0100 + + xcb: Migrate to the common mempool implementation + + Having extracted the code for use by the SHM allocator for xlib, remove + the now redundant copy from xcb. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-shm.c | 385 +++------------------------------------------------- + 1 file changed, 21 insertions(+), 364 deletions(-) + +commit e568e7c18b6aa631e4aedd44c44a14bbe6d72976 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 17 15:38:16 2012 +0100 + + xlib/shm: Fix up the shrinking of the priority queue + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 7266d59ebc26c5ae80c04f0270fb88f33217ebd9 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 17 15:31:07 2012 +0100 + + configure: Restore previous pixman required version of 0.22.0 + + With optional compile time support for pixman glyphs, our hard pixman + requirement is then just 0.22.0 for the radial fixes (iirc). + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f42c0dcf7b37c8daf80e8075aa5286d137062a88 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 14 21:50:37 2012 +0100 + + tor22: Add a simple method to quickly compute coverage (with saturation) + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-tor22-scan-converter.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 0bfd2acd35547fc2bd0de99cc67d153f0170697d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 13 01:34:12 2012 +0100 + + xlib: Implement SHM fallbacks and fast upload paths + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + configure.ac | 4 +- + src/Makefile.sources | 3 + + src/cairo-cogl-surface.c | 8 +- + src/cairo-damage.c | 1 - + src/cairo-directfb-surface.c | 6 +- + src/cairo-gl-surface.c | 9 +- + src/cairo-image-compositor.c | 26 +- + src/cairo-image-surface-inline.h | 2 +- + src/cairo-image-surface-private.h | 6 + + src/cairo-image-surface.c | 2 +- + src/cairo-mempool-private.h | 83 +++ + src/cairo-mempool.c | 359 ++++++++++ + src/cairo-quartz-image-surface.c | 6 +- + src/cairo-scaled-font.c | 2 +- + src/cairo-surface-backend-private.h | 3 +- + src/cairo-surface-inline.h | 4 +- + src/cairo-surface-observer.c | 6 +- + src/cairo-surface-private.h | 3 + + src/cairo-surface-snapshot.c | 5 +- + src/cairo-surface-subsurface.c | 6 +- + src/cairo-surface.c | 101 ++- + src/cairo-xcb-surface.c | 6 +- + src/cairo-xlib-display.c | 9 +- + src/cairo-xlib-fallback-compositor.c | 190 +++++- + src/cairo-xlib-private.h | 59 ++ + src/cairo-xlib-render-compositor.c | 155 ++++- + src/cairo-xlib-source.c | 231 ++++--- + src/cairo-xlib-surface-shm.c | 1119 +++++++++++++++++++++++++++++++ + src/cairo-xlib-surface.c | 286 ++++++-- + src/cairo-xlib-xcb-surface.c | 5 +- + src/cairoint.h | 2 +- + src/drm/cairo-drm-gallium-surface.c | 6 +- + src/drm/cairo-drm-i915-private.h | 2 +- + src/drm/cairo-drm-i915-surface.c | 8 +- + src/drm/cairo-drm-i965-shader.c | 4 +- + src/drm/cairo-drm-i965-surface.c | 5 +- + src/drm/cairo-drm-intel-private.h | 3 +- + src/drm/cairo-drm-intel-surface.c | 5 +- + src/drm/cairo-drm-radeon-surface.c | 6 +- + src/win32/cairo-win32-display-surface.c | 5 +- + src/win32/cairo-win32-gdi-compositor.c | 4 +- + 41 files changed, 2517 insertions(+), 238 deletions(-) + +commit 140fafed89508c4685f3a464c9dbe8df769f2411 +Author: Daniel Stone <daniel@fooishbar.org> +Date: Thu Aug 16 18:23:41 2012 +0100 + + Fix broken XRender ARGB32 formats + + 46d79228 did indeed silence the compilation warning, but did so by never + creating an ARGB32 format, as PictStandardARGB32 is defined to 0. Fix + this by using PictStandardNUM as our canary value instead. + + This fixes GEdit and Chromium for me, both of which were only rendering + backgrounds and text in their GTK+ sections. + + Signed-off-by: Daniel Stone <daniel@fooishbar.org> + + src/cairo-xlib-display.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +commit 95b7f4fe3a5deea6766538d843c75626e4bb68cf +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 12 19:10:04 2012 +0100 + + image: Temporarily resurrect the old non-pixman glyph compositor + + As the easiest approach to making another snapshot that only depends + upon a stable pixman, make the new dependency a compile time option. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + configure.ac | 7 +- + src/cairo-image-compositor.c | 285 +++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 291 insertions(+), 1 deletion(-) + +commit 16426dab486767cb16dfaf5158c5d4b3317546b0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 12 16:12:47 2012 +0100 + + skia: Compile fix for changes to map-to-image + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/skia/cairo-skia-surface.cpp | 16 +++++----------- + 1 file changed, 5 insertions(+), 11 deletions(-) + +commit d647d4f7db1f9b65f5d7f64574b1989b830aaa7c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 11 19:28:21 2012 +0100 + + damage: Update tail pointer after allocating new chunk + + Reported and based on a patch by fmot.fics + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=53384 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-damage.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit adfe9b7eb67f642cda93f80cf9c97f1eaded0317 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 11 17:55:49 2012 +0100 + + gl: Fudge gradient color generation to handle multiple stops at 0 + + In order to generate the correct left-hand border color, we need to + fudge the offsets of the color stops if multiple stops are defined at 0. + The reason is that pixman will generate our color ramp by using the + right-most color stop for the pixel centre, but in order to provide the + sample colour outside of the gradient we need pixel 0 to be have the + left-most color. + + Reported by Henry Song. + + src/cairo-gl-gradient.c | 29 +++++++++++++++++++++++++++++ + 1 file changed, 29 insertions(+) + +commit b0336e9aadbbface0a059887ac62b1398bc81e7b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 11 18:23:51 2012 +0100 + + gl: Use a wide texture ramp to emulate a linear step function + + If the gradient contains a step function, we need an infinitely sharp + texture to emulate the correct output. Failing that, lets just use as + large a texture as can be reasonably handled by the hardware + + src/cairo-gl-gradient.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +commit 46d79228df5c5fda114e68d3df02eaa33b5a41c9 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 11 17:48:17 2012 +0100 + + xlib: Silence compiler warning + + cairo-xlib-display.c: In function '_cairo_xlib_display_get_xrender_format': + cairo-xlib-display.c:519:21: warning: 'pict_format' may be used + uninitialized in this function [-Wmaybe-uninitialized] + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-display.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +commit 40e6be327861397a821e92ab626269e31fd13979 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 11 17:43:46 2012 +0100 + + gl: Remove unused variable + + cairo-gl-glyphs.c: In function '_cairo_gl_composite_glyphs_with_clip': + cairo-gl-glyphs.c:442:9: warning: unused variable 'i' [-Wunused-variable] + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-glyphs.c | 1 - + 1 file changed, 1 deletion(-) + +commit f59b0914f4ddbff0d116c918343a6726d5f4317b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 11 17:38:36 2012 +0100 + + egl: s/EGL_KHR_surfaceless_opengl/EGL_KHR_surfaceless_context/ + + Mesa changed the name of the extension it invented, so check for the + real name and the old name before falling back to pbuffers which are not + supported by most EGL implementations. + + References: https://bugs.freedesktop.org/show_bug.cgi?id=53361 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-egl-context.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit b438e583089229d934df48e6fbf0edcd1b23dcd4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Aug 11 17:37:52 2012 +0100 + + trace: Fix propagation of CAIRO_TRACE_OUTDIR to children + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-trace/trace.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 65854a001529932c4f2c85a4ee32095443153319 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Aug 3 18:23:55 2012 +0930 + + type1 subset: ensure encoding includes all glyphs + + Bug 53040 + + src/cairo-type1-subset.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 5dd0f2eb951f8fb1d50802c99c660de1de486154 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Jul 31 22:52:09 2012 +0930 + + cff subsetting: widths can be floating point + + Bug 52972 + + src/cairo-cff-subset.c | 22 +++++++++++----------- + 1 file changed, 11 insertions(+), 11 deletions(-) + +commit 1e9abd6e4e5d857c5e7a117d4e960b222a5f5578 +Author: Henry Song <henry.song@samsung.com> +Date: Thu Jul 26 18:31:20 2012 +0100 + + gl: use absolute value for color difference between gradient stops + + src/cairo-gl-gradient.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 652c632fb211cede74cef3813c7d6e8099d02089 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jul 25 17:03:54 2012 +0100 + + gl: Fallback for copy_boxes if src/dst do not belong to the same device + + If the source and destination are on difference devices (GL contexts) we + can not simply texture from one to the other, and must either import the + source into the destination context (which has not yet been done) or + fallback through an image copy. + + This patch is based on the work by Henry Song, but moving the check from + the common compositor layer down into the GL backend. This should have + the same effect... + + Fixes gl-surface-source + + Suggested-by: Henry Song <henry.song@samsung.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-spans-compositor.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +commit f3abb1079a9766646dd0eda2f8a1633f8efff516 +Author: Henry Song <henry.song@samsung.com> +Date: Wed Jul 25 16:12:22 2012 +0100 + + gl: translate proper matrix depending up type of gl_operand + + Fixes radial-gradiant-mask-source. + + src/cairo-gl-operand.c | 22 ++++++++++++++++++++-- + 1 file changed, 20 insertions(+), 2 deletions(-) + +commit d00539ca13fbd36dea07b386211ad49ef744d5ee +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jul 24 10:21:08 2012 +0200 + + quartz: Use the correct transform when replaying recording surfaces + + Recording surfaces should be replayed with the transform matrix used + in the pattern, otherwise the image surface will be transformed, + introducing artifacts. + + Fixes record{1414x,2x}-paint-alpha-{,solid-clip,clip}, + record2x-{self-intersecting,text-transform} and record90-paint-alpha. + + src/cairo-quartz-surface.c | 16 ++++++++++------ + 1 file changed, 10 insertions(+), 6 deletions(-) + +commit 44a07a66135c4f534c909bd84f24cf7c0275a914 +Author: Henry (Yu) Song - SISA <hsong@sisa.samsung.com> +Date: Mon Jul 23 16:28:28 2012 +0000 + + quartz: Never acquire recording surfaces + + We need to replay if the source/mask surface is a recording surface + otherwise, a crash happens if it is unbounded. + + Fixes crashes in recordxx-xxx tests + + src/cairo-quartz-surface.c | 86 ++++++++++++++++++++++++++++++++++++---------- + 1 file changed, 67 insertions(+), 19 deletions(-) + +commit 459c060b6fcc0a3b7e6f0e544fe83f954a5ca716 +Author: Henry (Yu) Song - SISA <hsong@sisa.samsung.com> +Date: Tue Jul 24 02:05:15 2012 +0000 + + clip: Transform clip path in _cairo_clip_intersect_clip_path_transformed() + + _cairo_clip_intersect_clip_path_transformed() completely ignored the + transformation matrix instead of transforming all the clip paths with + it. + + This caused bugs when replaying recording surfaces. + + Fixes record{2x,1414x,90}-paint-alpha-clip-mask. + + src/cairo-clip.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 5f1dd8b3684db5aed42f355fa41310639e7d395d +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Jul 24 09:56:52 2012 +0200 + + xcb: Fix make check + + The xcb private header uses the ASSERT_NOT_REACHED macro. + This macro is defined in cairoint.h, which needs to be included. + + Fixes: + + CHECK cairo-xcb-private.h + In file included from headers-standalone-tmp.c:1: + ./cairo-xcb-private.h: In function ‘_cairo_xcb_connection_shm_put_image’: + ./cairo-xcb-private.h:636: error: ‘ASSERT_NOT_REACHED’ undeclared (first use in this function) + ./cairo-xcb-private.h:636: error: (Each undeclared identifier is reported only once + ./cairo-xcb-private.h:636: error: for each function it appears in.) + + src/cairo-xcb-private.h | 2 ++ + 1 file changed, 2 insertions(+) + +commit 21e3f2e9034b64131075d82a4e34868dc72f2249 +Author: Chuanbo Weng <strgnm@gmail.com> +Date: Thu Jul 12 18:08:51 2012 +0100 + + gl: copy_boxes() does not support copying from a non-texture source + + So check for the appropriate surface type at the start and return + UNSUPPORTED if we cannot handle it directly. We will then fallback to + pushing the image instead. + + Together with the previous patch, fixes 8 fails in cairo-test-suite. + + src/cairo-gl-spans-compositor.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 77f8bd3199b546b3ba039afc90337159636b63f6 +Author: Chuanbo Weng <strgnm@gmail.com> +Date: Thu Jul 12 18:07:42 2012 +0100 + + gl: Create a new texture surface if the source surface type is gl-window + + When the source surface type is gl-window, we should return unsupported + and then create a new texture surface for it. Based on the code of + Henry's tree. + + src/cairo-gl-operand.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit ac2668dd087ce32d86d3bd44f7886638e76b5b8a +Author: Dongyeon Kim <dy5.kim@samsung.com> +Date: Thu Jul 12 18:13:43 2012 +0100 + + gl: Set is_clear flag to FALSE after map_to_image + + In _cairo_gl_surface_map_to_image(), the image surface data has been + filled by glReadPixels, so is_clear flag should be set to FALSE. + Otherwise mapped image surface does not get drawn as it is presumed + clear and so returns true from nothing_to_do(). + + src/cairo-gl-surface.c | 1 + + 1 file changed, 1 insertion(+) + +commit 70c2125e2c968358a8c7ddaa4e356e9b0de9c323 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jul 12 18:11:21 2012 +0100 + + perf/chart: Render a solid bar if the column is too narrow for the gradient + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-chart.c | 53 +++++++++++++++++++++++++++++-------------------- + 1 file changed, 31 insertions(+), 22 deletions(-) + +commit 6aed048484801285ca7bd5afd825294f1ab7ce6d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jul 11 11:51:36 2012 +0100 + + gl: Add the compile fix that I forgot to add to the previous commit + + src/cairo-gl-device.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit bdb9c2cb4389d7bcbd3602f8ce8fb457fb1003bd +Author: Henry Song <henry.song@samsung.com> +Date: Wed Jul 11 10:05:51 2012 +0100 + + gl: Destroy glyph cache surface during finish + + We must destroy glyph cache surface in device_finish instead of in + device_destroy because in device_destroy device status is + DEVICE_FINISHED and the operation is invalid. + + src/cairo-gl-device.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 64a236246bf4276606ce69c79702f15373c5425d +Author: Henry Song <henry.song@samsung.com> +Date: Tue Jul 10 16:12:25 2012 +0100 + + gl: generate correct gradient color texture + + Pixman generates gradient color at the center of pixel. We need to + adjust such accordingly in GL when generating gradient texture + + src/cairo-gl-gradient.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 6938592ec7e1a1b4cfccb11521ecdfdb8579f380 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Jul 9 21:50:34 2012 +0100 + + xlib: If a sample accesses outside of a repeating image, upload it all + + Fixes bug-51910 + + Reported-by: Albertas Vyšniauskas <thezbyg@gmail.com> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=51910 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-source.c | 20 +++++++++++++------- + 1 file changed, 13 insertions(+), 7 deletions(-) + +commit ff22ab4c10e169e457887fae4fbd5394d45b939e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Jul 9 16:13:49 2012 +0100 + + test: Add example from bug-51910 + + The calculation of the required source extents blows up under xlib. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.sources | 1 + + test/bug-51910.c | 91 +++++++++++++++++++++++++++++++++++++++ + test/reference/bug-51910.ref.png | Bin 0 -> 1987 bytes + 3 files changed, 92 insertions(+) + +commit 7b6f9fd14091d23a69b06c422262d293268035d0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jun 29 19:57:21 2012 +0100 + + test: Add a simple exercise for raster sampling of subpixel geometry + + Test that the rasteriser doesn't incorrectly merge disjoint geometry at + the subpixel level. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.sources | 1 + + test/reference/sample-diagonal.ref.png | Bin 0 -> 272 bytes + test/reference/sample-horizontal.ref.png | Bin 0 -> 209 bytes + test/reference/sample-vertical.ref.png | Bin 0 -> 209 bytes + test/sample.c | 117 +++++++++++++++++++++++++++++++ + 5 files changed, 118 insertions(+) + +commit 1cac6e7fcc88b8545a9c56bf3265f37418957bb7 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Jul 5 22:41:28 2012 +0930 + + cff: initialise variable to prevent valgrind warning + + src/cairo-cff-subset.c | 1 + + 1 file changed, 1 insertion(+) + +commit 49c8e1b6744aa9cd296fff07d5be0ba7dcc69ff7 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Jul 5 21:59:33 2012 +0930 + + cff: use correct size for buffer + + Bug 51443 + + src/cairo-cff-subset.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 77106a038bcd0dd503d383729f14134f76a664b2 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Wed Jul 4 19:54:18 2012 +0930 + + cff: convert '.' to locale specific decimal point before using sscanf + + to fix bug when decoding cff real numbers. + + Bug 51443 + + src/cairo-cff-subset.c | 26 +++++++++++++++++++++++++- + 1 file changed, 25 insertions(+), 1 deletion(-) + +commit 64d65f72e5dbc1d9fa2cb4738d93eadc7fd5d7c0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jun 29 10:25:13 2012 +0100 + + boilerplate/gl: Round fractional window sizes up + + A few test cases purposely create fractional surface sizes which can not + be natively supported by the raster backends such as GL. For these + backends we need to consistent in creating a surface that is large + enough to contain the test, so we need to use ceil() rather than + implicit truncation to integers. + + A consequence of the misalignment between the Window size and the + surface size (where one was using ceil and the other not) is that the + first row of the cairo surface would not be visible on the output. + + Based on a patch by Chuanbo Wen to fix 5 test cases, such as + group-unaligned. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + boilerplate/cairo-boilerplate-glx.c | 23 ++++++++++++++--------- + 1 file changed, 14 insertions(+), 9 deletions(-) + +commit cb85631c63539f259d6a3c1c04db904cbbf01d93 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Jun 25 14:07:33 2012 +0100 + + ft: Indentation fixup for _get_bitmap_surface() + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-ft-font.c | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +commit 1bdee6b1ad00a2e5916bffea71719977f37f1982 +Author: Chuanbo Weng <strgnm@gmail.com> +Date: Tue Jun 26 08:02:35 2012 +0800 + + gl: Set correct operation extents. + + The dst_x and dst_y should be considered when setting clip extents, + because they are not always be zero. (for example, in clip-operator.c) + + src/cairo-gl-glyphs.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +commit 9f52261dd7941ec7b338b050479da25c2571f9ac +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Jun 3 19:35:37 2012 +0200 + + xcb: Correctly handle a recording surface's extents + + The size of the target area doesn't really have much to do with the size of the + recording surface that we are painting from. Thus, let's use the recording + surface's size instead. + + Since we apply the transformation before replaying the recording surface, we + need to transform the recording surface's size via the inverse of our pattern + matrix to get the size in the target surface. This makes this a little more + complex. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 48 ++++++++++++++++++++++++++++++++---------- + 1 file changed, 37 insertions(+), 11 deletions(-) + +commit e704f64d8fcceb220c8c99092c19c2cfd4bd9330 +Author: Uli Schlachter <psychon@znc.in> +Date: Sun Jun 3 16:53:49 2012 +0200 + + xcb: Handle recording surfaces differently + + Let's say we are painting recording surface 'source' to xcb surface 'target' by + replaying the source to a temporary surface 'tmp'. + + Previously, the xcb backend replayed the recording surface to tmp with just a + translation and then used that as its source surface with the pattern's + transformation. That means 'tmp' used the same coordinate system as 'source'. + + This patch changes this so that the transformation is applied during the replay + and painting from 'tmp' to 'target' is just a simple translation, so 'tmp' now + uses the same coordinate system as 'target'. + + This should produce way less better results, because transforming a recording + surface should have less artifacts than transforming a raster surface. + + Fixes: record1414x-* record2x-* record90-* ps-surface-source + + Breaks (or rather, "exposes unrelated bug that I have not yet figured out in"): + record-extend-*-similar + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 10 +++------- + 1 file changed, 3 insertions(+), 7 deletions(-) + +commit 13d61d7bdb7ec37ebb7324187aca1b9b9b1600cf +Author: Chuanbo Weng <strgnm@gmail.com> +Date: Sun Jun 24 12:13:02 2012 +0100 + + gl: Set correct clip rectangle for non-texture destination surfaces + + When the desintation surface is not a texture, it is flipped in the Y + axis. So we need to correct the Y coordinates when using glScissor to + the set the clip region. + + Fixes 14 cases in cairo-test-suite, for example partial-clip-text-top + + src/cairo-gl-composite.c | 27 ++++++++++++++++++++++----- + 1 file changed, 22 insertions(+), 5 deletions(-) + +commit 166e6f199e909d8aea13cdd4c858d48faad26247 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jun 24 11:33:47 2012 +0100 + + stroke: Skip inserting a round-join if within tolerance + + If the angle between two segments is small we can simply replace the + round-join with a bevel-join. This is done automatically by the + insertion of the triangle fan as it will not be able to find a point + around the pen between the two vectors. However, we can make that search + cheaper by inspecting whether the bisection angle is small enough that + the bevel-join will be within geometric tolerance of the round-join. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-stroke-polygon.c | 14 +++++++++----- + 1 file changed, 9 insertions(+), 5 deletions(-) + +commit b7bd5ae4f3da44131261711bb236cd7aa24a3ae3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jun 24 11:27:16 2012 +0100 + + stroke: Use round-joins near inflection points of splines + + Near an inflection, the angle between two segments of a spline increases + rapidly (as the radius of curvature decreases for the cusp). The angle + may increase so much that a simple line connecting the two outside + points of the spline is not within the user specified geometric + tolerance (with the result that you can generate severe ugliness around + a cusp). Extend the current detection of the exact inflection to cover + the sharp joins near the cusp by inspecting whether the bisection angle + is larger than acceptable. + + Fixes bug-spline. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-stroke-polygon.c | 17 ++++++++++++++--- + 1 file changed, 14 insertions(+), 3 deletions(-) + +commit 3d482e266febcf7da75f5662e518380460068ce1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jun 24 11:50:26 2012 +0100 + + test: Exercise bug in joining together spline segments around cusps + + Carl Worth demonstrated a glaring bug in the new stroking code, + introduced in commit 545f30856aac98199 (stroke: Convert the outlines + into contour and then into a polygon), whereby only a bevel join was + being used to connect segments around a sharp inflection point. + + This adds the two examples he reported to the test suite. + + test/Makefile.sources | 1 + + test/bug-spline.c | 96 ++++++++++++++++++++++++++++++++++++++ + test/reference/bug-spline.ref.png | Bin 0 -> 5476 bytes + 3 files changed, 97 insertions(+) + +commit 185a3518968d5ca0babb798fe10f247171a1e001 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jun 20 09:15:29 2012 +0100 + + gl: Trim the glyph mask to the operation extents + + In the case we try to use an unbounded operation, passing a NULL clip + causes that operation to clear the rest of the surface. Instead we need + to trim the _cairo_surface_mask() to the operation extents. + + Fixes overlapping-glyphs. + + Suggested-by: Chuanbo Weng <strgnm@gmail.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-glyphs.c | 5 +++++ + 1 file changed, 5 insertions(+) + +commit 35e4ffd91cc73fb17c47a12010f515941d6f4d3d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jun 15 10:52:25 2012 +0100 + + image: Fix up glyphs compositing + + Jose Dapena Paz reported an assertion following the uninitialised status + value being returned. Also the function failed to free its allocations. + + Based on a patch by Jose Dapena Paz <jdapena@igalia.com>. + Reported-by: Jose Dapena Paz <jdapena@igalia.com> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=51104 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 60 ++++++++++++++++++-------------------------- + 1 file changed, 24 insertions(+), 36 deletions(-) + +commit 9bc1ea44316d448110c1d128a9f74147f775943d +Author: Henry Song <henry.song@samsung.com> +Date: Thu Jun 14 23:07:34 2012 +0100 + + subsurface: Disable subsurface-set-snapshot as it creates a ref cycle + + _cairo_surface_subsurface_set_snapshot () sets the subsurface as the + snapshot of its target. This creates a reference cycle (as the target + is already referenced by the surface) and thus a memory leak (assuming + the likely case that user doesn't call finish). + + Test case: subsurface-similar-repeat. + + So make this call as a no-op for the time being until the bug is fixed. + + src/cairo-surface-subsurface.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 13ba74a00d34b232f76ecb9efc96eea1227ce649 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Jun 14 08:12:41 2012 +0200 + + quart-image: Fix compilation + + quartz-image uses _cairo_surface_is_image(), which is now declared in + cairo-image-surface-inline.h. + + Fixes: + cairo-quartz-image-surface.c: In function 'cairo_quartz_image_surface_create': + cairo-quartz-image-surface.c:312: error: implicit declaration of function '_cairo_surface_is_image' + cairo-quartz-image-surface.c:312: warning: nested extern declaration of '_cairo_surface_is_image' + + src/cairo-quartz-image-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 615205cf072935401dac46813b597e70bc8f0a8c +Author: Søren Sandmann Pedersen <ssp@redhat.com> +Date: Mon Apr 30 09:41:44 2012 -0400 + + Use the new pixman_glyph_cache_t API that will be in pixman 0.28.0 + + This new pixman API allows glyphs to be cached and composited in one + go, which reduces overhead compared to individual calls to + pixman_image_composite_region32(). + + Notes: + + - There is an explicit call to _cairo_image_scaled_glyph_fini(). This + could instead be done with a private, but I chose not to do that + since we don't need to store any actual data; we only need + notification when the glyph dies. + + - The slowdown in poppler-reseau is real and stable across runs. I'm + not too concerned about it because this benchmark is only one run + and so it is dominated by glyph cache setup costs and FreeType + rasterizing. + + Performance results, image backend: + + Speedups + firefox-talos-gfx 5571.55 -> 4265.57: 1.31x speedup + gnome-terminal-vim 1875.82 -> 1715.14: 1.09x speedup + evolution 1128.24 -> 1047.68: 1.08x speedup + xfce4-terminal-a1 1364.38 -> 1277.48: 1.07x speedup + + Slowdowns + poppler-reseau 374.42 -> 394.29: 1.05x slowdown + + Performance results, image16 backend: + + Speedups + firefox-talos-gfx 5387.25 -> 4065.39: 1.33x speedup + gnome-terminal-vim 2116.66 -> 1962.79: 1.08x speedup + evolution 987.50 -> 924.27: 1.07x speedup + xfce4-terminal-a1 1856.85 -> 1748.25: 1.06x speedup + gvim 1484.07 -> 1398.75: 1.06x speedup + + Slowdowns + poppler-reseau 371.37 -> 393.99: 1.06x slowdown + + Also bump pixman requirement to 0.27.1. + + configure.ac | 2 +- + src/cairo-image-compositor.c | 361 +++++++++++++---------------------------- + src/cairo-mutex-list-private.h | 1 + + src/cairo-scaled-font.c | 2 + + src/cairoint.h | 4 + + 5 files changed, 121 insertions(+), 249 deletions(-) + +commit f228769dfe5a8b5d73c49a41e95e31ed73a77fb3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jun 8 17:22:41 2012 +0100 + + polygon-reduce: Reduce broken stopped-edge continuation + + This is hopefully a lesser used path and the attempted optimisation to + continue a stopped edge with a colinear stopped edge highly unlikely and + lost in the noise of the general inefficiency of the routine. As it was + broken, rather than attempt to rectify the "optimisation" remove it. + + Reported-by: Evangelos Foutras <evangelos@foutrelis.com> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50852 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-polygon-reduce.c | 157 +++++++++++++++------------------------------ + 1 file changed, 52 insertions(+), 105 deletions(-) + +commit fc501fd6b5c378006cd8970c1dd30ee753817b6d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jun 8 17:22:17 2012 +0100 + + tor-scan-converter: Always recompute min-height following edge removal + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-tor-scan-converter.c | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +commit 1bc696a8fda55ee75139f7d0123d348bbd96d2af +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jun 8 17:20:32 2012 +0100 + + spans-compositor: After polygon intersection the fill rule is always non-zero + + As it turns out due to the rules of polygon intersection, there is never + any overlapping spans so the choice is arbitrary. However, lets be + consistent with the rest of the code. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-spans-compositor.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 37532b47c0ef6528fb6696fe97be337d9ad0a900 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jun 7 15:14:31 2012 +0100 + + scaled-font: Take lock around disposing of an empty page upon alloc failure + + Spotted by code inspection whilst looking at #50705 + + References: https://bugs.freedesktop.org/show_bug.cgi?id=50705 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-scaled-font.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 2f1d6b27e8b78c77346a5b603114b54400e57d83 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Jun 7 19:18:52 2012 +0930 + + cff-subsetting: Ignore charset for non cid fonts + + Fixes crash in https://bugzilla.gnome.org/show_bug.cgi?id=677422 + + src/cairo-cff-subset.c | 16 +++++++++------- + 1 file changed, 9 insertions(+), 7 deletions(-) + +commit 9fa047c0ea49d94f9f27947931fe21b70f6463d5 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Jun 4 20:16:12 2012 +0100 + + composite-rectangles,scaled-font: Use accurate extents if the font is broken + + If the font metrics appear broken, i.e. key values are being reported as + zero, skip approximating the bbox of the glyph string. + + References: https://bugs.freedesktop.org/show_bug.cgi?id=50688 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-composite-rectangles.c | 5 +++-- + src/cairo-scaled-font.c | 11 ++++++++++- + src/cairoint.h | 2 +- + 3 files changed, 14 insertions(+), 4 deletions(-) + +commit 0210499578898ba5bab8dbd323455c6735419a5a +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Jun 2 10:48:34 2012 +0930 + + pdf: fix the offset of padded images + + Bug 50598 + + src/cairo-pdf-surface-private.h | 2 -- + src/cairo-pdf-surface.c | 16 ++++++++++++---- + 2 files changed, 12 insertions(+), 6 deletions(-) + +commit f1b546b1a2b3c4a87ca00ce0d6fa6ce88c84d20c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jun 1 17:46:25 2012 +0100 + + Erradicate internal use of cairo_surface_get_type() + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-pdf-surface.c | 4 ++-- + src/cairo-ps-surface.c | 4 ++-- + src/cairo-quartz-image-surface.c | 4 ++-- + src/cairo-surface.c | 1 - + src/cairoint.h | 1 - + 5 files changed, 6 insertions(+), 8 deletions(-) + +commit e23d179e08367dc03c5c8f242bbc3af0749d4920 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jun 1 17:46:25 2012 +0100 + + Erradicate internal use of cairo_surface_get_content() + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-pdf-surface.c | 9 ++++----- + src/cairo-ps-surface.c | 2 +- + src/cairo-surface.c | 1 - + src/cairo-svg-surface.c | 2 +- + src/cairoint.h | 1 - + 5 files changed, 6 insertions(+), 9 deletions(-) + +commit 4b5d3436a36e7a2fe29131dff58b50999cd972bb +Author: Søren Sandmann Pedersen <ssp@redhat.com> +Date: Fri Jun 1 08:13:17 2012 +0100 + + image: Fix bugs related to glyph mask creation + + In addition to fixing a bug 7d8d98b91ccf7165be853c36e6d5ef releated to + expanding a8 glyphs into a8r8g8b8, this commit also added an + optimization where if the first glyph had format a8r8g8b8, the mask + was created in this format from the beginning instead of later + converting from a8 to a8r8g8b8. + + However, the optimization had two bugs in it: + + (1) The computed stride was 3 * width, not 4 * times width, and + (2) In the case where the mask was allocated on the stack, it was + allocated as PIXMAN_a8 and not a8r8g8b8. + + The commit fixes both bugs. + + src/cairo-image-compositor.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit c0a92bf8329c5a8aee76ac96034435d4fce043dc +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu May 31 18:30:58 2012 +0100 + + surface: replace map-to-image clone's use of user_data with parent pointer + + Removes an another undeclared PLT entry and prevents mixing of user_data + with internal state. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-surface-inline.h | 6 ++++++ + src/cairo-image-surface-private.h | 3 --- + src/cairo-image-surface.c | 12 +----------- + 3 files changed, 7 insertions(+), 14 deletions(-) + +commit 9e933d4b8790f0f8309bdd980f4558d51ccec168 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu May 31 18:25:09 2012 +0100 + + gl: Add missing cairo-private to _cairo_gl_composite_with_clip + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-private.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 9275b4d5aa45320bc3804980337c7aff6c34c029 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu May 31 18:22:11 2012 +0100 + + surface: Eliminate PLT entries for map-to-image + + Use the internal symbols internally. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface.c | 16 ++++++++++++---- + 1 file changed, 12 insertions(+), 4 deletions(-) + +commit 2c6ba9a8733044ad8685e6e8312e945a7a49ce3a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu May 31 18:08:05 2012 +0100 + + image: silence make check + + The check for standalone headers requires that the + cairo-image-surface-inline.h include the cairo-surface-private.h + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-surface-inline.h | 1 + + src/cairo-surface-private.h | 3 +++ + src/cairoint.h | 3 --- + 3 files changed, 4 insertions(+), 3 deletions(-) + +commit 98c3ed1dbd9036cb8d6f64d170d213a865e2094a +Author: Chuanbo Weng <strgnm@gmail.com> +Date: Wed May 30 22:51:03 2012 +0800 + + gl: Do correct translation and lerp in gl-traps-compositor. + + Coordinate translation is necessary in composite_boxes(), composite() + and composite_traps(). The translation value should set to correct + value in traps_to_operand(). Also fix the bug in lerp(). + + src/cairo-gl-traps-compositor.c | 22 ++++++++++++++-------- + 1 file changed, 14 insertions(+), 8 deletions(-) + +commit 7d8d98b91ccf7165be853c36e6d5ef0714f4a986 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu May 31 11:19:23 2012 +0100 + + image: Upconvert glyphs through a WHITE source when adding to the glyph mask + + We need to scale the channels of the glyph into the destination (and + indeed expand a8 into a8r8g8b8) when adding into the mask. Normally we + have matching formats for the glyph surfaces and the temporary mask, + for which we can continue to take the faster path. + + Reported-by: Søren Sandmann <sandmann@cs.au.dk> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 74 ++++++++++++++++++++++++++++++++------------ + 1 file changed, 55 insertions(+), 19 deletions(-) + +commit 3f325764e547713bb25aef56d8ffa624bfae75d1 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu May 31 17:46:31 2012 +0930 + + pdf: Don't use extents when acquiring a RASTER_SOURCE pattern + + because the pdf surface reuses the image each time the pattern is used. + + src/cairo-pdf-surface.c | 17 ++++------------- + 1 file changed, 4 insertions(+), 13 deletions(-) + +commit 43105a89d881a9f86f887c91c022ffc9477c6678 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu May 31 08:49:39 2012 +0100 + + test: Restore bug-seams reference + + An overzealous update after converting antialiasing missed the object of + this test was exactly to point out an error due to the antialiasing. So + restore it back to the prestine reference and mark the image backend as + failing. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/reference/bug-seams.argb32.ref.png | Bin 1647 -> 0 bytes + test/reference/bug-seams.rgb24.ref.png | Bin 1647 -> 0 bytes + 2 files changed, 0 insertions(+), 0 deletions(-) + +commit 25317dbd88e96bb49fa760b50fe705a6a79ee2ec +Author: Yuanhan Liu <yuanhan.liu@linux.intel.com> +Date: Wed May 30 20:55:22 2012 +0800 + + configure.ac: remove annoying change of INSTALL file + + Every time we run ./autogen.sh, the INSTALL file would be replace by + /usr/share/automake-1.11/INSTALL, which changes the file. This is very + annoying since it messes up the result of 'git diff' and git always + wants to commit it. + + Declare it as foreign would fix this annoying issue. Since it's not a + GNU project, it makes sense to do so. + + Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f3a1ee5edd1a46e3c316d8555262bce556bc1480 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed May 30 11:10:34 2012 +0100 + + gl: Do no access ctx after release during map-to-image + + Based on a patch by Yuanhan Liu. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-surface.c | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +commit 9340fcd965dedf714f658c6ad441787d75c05e59 +Author: Yuanhan Liu <yuanhan.liu@linux.intel.com> +Date: Wed May 30 15:13:46 2012 +0800 + + gl: use _cairo_gl_operand_copy to fix unblanced reference count + + Use _cairo_gl_operand_copy to do the operand copy instead of by + something like *operand = surface->operand. + + This would fix a crash introduced by operator-source test case, which + forgot to do reference while copying operand but did dereference while + destroying surface at combine_clip_as_traps(). + + Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> + [ickle: drop the extra reference for the owned surface] + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-operand.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit f3ae8302072dbcee38be4e0a9397e5aaa4084ecf +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun May 27 22:59:13 2012 +0930 + + pdf: merge _emit_recording_surface and _emit_recording_subsurface into the one function + + src/cairo-pdf-surface.c | 112 +++++++++++------------------------------------- + 1 file changed, 26 insertions(+), 86 deletions(-) + +commit 5dd119c1fef0c30bc71311ca9ccacf1f6e8017cf +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun May 27 22:32:41 2012 +0930 + + ps: check if EXTEND_PAD group can be painted with EXTEND_NONE + + src/cairo-ps-surface.c | 31 +++++++++++++++++++++++++------ + 1 file changed, 25 insertions(+), 6 deletions(-) + +commit fcfa45c9f79ccd855d0a16ee1b0f0fa3b4da7809 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun May 27 11:53:43 2012 +0930 + + pdf: fix smask gradient bbox + + src/cairo-pdf-surface.c | 29 ++++++++++++++++++++++++++--- + 1 file changed, 26 insertions(+), 3 deletions(-) + +commit 29a42ae6827dd17d002304aba552ffb83d3f8a2f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat May 26 15:16:13 2012 +0100 + + surface: Kill imagesurf temporary variable + + The local alias to &image->base is more confusing that the code it + replaces. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface.c | 19 +++++-------------- + 1 file changed, 5 insertions(+), 14 deletions(-) + +commit 11e276753f0d335027a7727bf17006d612b4e4c2 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat May 26 15:20:56 2012 +0100 + + image: Propagate errors from clone_subimage + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-surface.c | 26 +++++++++++++++++++------- + 1 file changed, 19 insertions(+), 7 deletions(-) + +commit fc33cc3c3af1fc616ae445a15d2b146a29090b0f +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Jan 6 19:47:08 2012 +0100 + + quartz: Provide a valid implementation of map_to_image + + and reuse it to implement acquire_source. + + Fixes + + cairo-quartz-surface.c: In function '_cairo_quartz_surface_map_to_image': + cairo-quartz-surface.c:1568: warning: return from incompatible pointer type + cairo-quartz-surface.c:1576: warning: return from incompatible pointer type + + src/cairo-quartz-surface.c | 203 ++++++++++++++++----------------------------- + 1 file changed, 71 insertions(+), 132 deletions(-) + +commit a8a4a8dfd450a8ce97998b5e5e09971d07a957f4 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Jan 6 20:13:39 2012 +0100 + + quartz: Mark surfaces created clear as is_clear + + This might provide a speedup when clearing an already clear surface + and is required by cairo_surface_create_similar(). + + Fixes zero-mask. + + src/cairo-quartz-surface.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 3735881e38d2bee941128725b8cdde6779d60a30 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Apr 10 22:58:18 2012 +0200 + + quartz: Silence warning + + cairo-quartz-surface.c:177: warning: enumeration value + 'CAIRO_FORMAT_RGB30' not handled in switch + + src/cairo-quartz-surface.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 13b7364836e14b811bbeb3ba0849e6d6c0fb1dd3 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jan 11 17:17:29 2012 +0100 + + surface: Use the internal map/unmap + + In many places Cairo maps/unmaps surfaces to perform operations on the + raw image, but it doesn't care about the format being invalid. All of + these are appropriate users of _cairo_surface_map_to_image(). + + src/cairo-fallback-compositor.c | 56 +++++++++++++++++++++++------------------ + src/cairo-gl-operand.c | 8 +++--- + src/cairo-surface-observer.c | 6 ++--- + src/cairo-surface.c | 2 -- + src/cairo-xlib-source.c | 16 ++++++------ + src/cairoint.h | 2 -- + 6 files changed, 46 insertions(+), 44 deletions(-) + +commit 37c5c2dbe55f64ee84ab248eb0072d5d7c5145cc +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jan 11 20:51:29 2012 +0100 + + surface: Only use non-NULL extents for internal mapping + + _cairo_surface_map_to_image() requires the input extents to be + non-NULL. + + src/cairo-gl-operand.c | 5 ++++- + src/cairo-xlib-source.c | 13 ++++++++++--- + 2 files changed, 14 insertions(+), 4 deletions(-) + +commit d6fb8d2134c989d2ad455ec37ce4f623d4769c46 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Wed Jan 11 17:17:15 2012 +0100 + + surface: Make backend-specific map/unmap functions symmetric + + Map allocates a surface. Symmetrically, unmap should destroy it. + + src/cairo-gl-surface.c | 17 ++++++++++++----- + src/cairo-image-surface.c | 3 +++ + src/cairo-os2-surface.c | 1 + + src/cairo-quartz-image-surface.c | 7 ++----- + src/cairo-quartz-surface.c | 1 + + src/cairo-surface-observer.c | 12 ++---------- + src/cairo-surface-subsurface.c | 12 ++---------- + src/cairo-surface.c | 2 +- + src/cairo-xcb-surface.c | 13 ++++++++++--- + src/cairo-xlib-surface.c | 17 ++++++++++++----- + src/cairo-xlib-xcb-surface.c | 10 ++-------- + 11 files changed, 48 insertions(+), 47 deletions(-) + +commit df7829e2cca07c3bfcddda1c66ca56280edceaf4 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Apr 10 20:15:04 2012 +0200 + + surface: Make map_to_image return cairo_image_surface_t* + + This makes it easier to check that the funciton is returning the + correct type of surfaces. + + src/cairo-directfb-surface.c | 13 +++++++------ + src/cairo-gl-surface.c | 16 ++++++++-------- + src/cairo-image-surface-inline.h | 6 ++++++ + src/cairo-image-surface-private.h | 2 +- + src/cairo-image-surface.c | 4 ++-- + src/cairo-os2-surface.c | 2 +- + src/cairo-quartz-image-surface.c | 2 +- + src/cairo-quartz-surface.c | 2 +- + src/cairo-surface-backend-private.h | 2 +- + src/cairo-surface-observer.c | 2 +- + src/cairo-surface-subsurface.c | 2 +- + src/cairo-surface.c | 2 +- + src/cairo-xcb-surface.c | 18 +++++++++++------- + src/cairo-xlib-surface.c | 4 ++-- + src/cairo-xlib-xcb-surface.c | 2 +- + src/skia/cairo-skia-surface.cpp | 3 ++- + src/win32/cairo-win32-display-surface.c | 8 ++++---- + 17 files changed, 51 insertions(+), 39 deletions(-) + +commit 10c0a1c68c34677273d2f48c5d5a6c1c15a320c0 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sun Jan 8 15:30:03 2012 +0100 + + surface: Define private map/unmap functions + + Cairo backends often need to map/unmap to a raster surface but they + don't care about the pixel format, as Pixman will be doing the format + handling. + + Cairo users cannot know how to access the raw data if the format is + invalid. + + The two different scenarios call for different guarantees on the + returned surface. + + The private map/unmap functions also makes it possible to simply + return the status upon unmapping. + + src/cairo-image-surface-private.h | 7 ++ + src/cairo-image-surface.c | 41 +++++++ + src/cairo-surface.c | 239 ++++++++++++++++++++++++++------------ + src/cairoint.h | 8 ++ + 4 files changed, 222 insertions(+), 73 deletions(-) + +commit 3e9895e95100ced3a6fcbedcba75e50ca450b4f0 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon May 7 19:05:05 2012 +0200 + + png: Implement conversion of CAIRO_FORMAT_RGB30 to string + + Fixes + + png.c:55: warning: enumeration value ‘CAIRO_FORMAT_RGB30’ not handled + in switch + + test/png.c | 1 + + 1 file changed, 1 insertion(+) + +commit afcbb7a2c5c8a05d11e054e09c8c4e53b571a435 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon May 14 10:44:31 2012 +0200 + + build: Do not replace existing files + + The existing INSTALL file is currently being replaced at every + autogen.sh run with the default one. + + This is not desired, because INSTALL contains some cairo-specific + information. + + autogen.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 38d03ea7488097f2b1194f546bd1331af189b809 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Mon May 14 10:40:49 2012 +0200 + + build: Allow autogen-eration on systems without GTK-doc + + The autogen.sh script fails if it cannot run gtkdocize. The absence of + this command should not cause cairo builds to fail, it should only + prevent the build of its documentation. + + Fixes: + *** No GTK-Doc found, please install it *** + + on systems without gtkdoc tools. + + Fixes https://bugs.freedesktop.org/show_bug.cgi?id=50356 + + autogen.sh | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 465319ce828f922edce46b6e7628da543b20d5e4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu May 24 20:39:34 2012 +0100 + + gl: Use core GL_STENCIL8_DEPTH24 for gl_flavor=desktop + + Jesse complained that --enable-gl --enable-glesv2 wasn't pulling in the + right headers, and in particular GL_STENCIL8_DEPTH24_OES was undefined + but being used. In this case we can simply use the identical + GL_STENCIL8_DEPTH24 instead. + + Reported-by: Jesse Barnes <jbarnes@virtuousgeek.org> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-device.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 52b7622a6c28193e4259293591b0c78070839f6c +Author: Martin Robinson <mrobinson@igalia.com> +Date: Wed May 23 13:59:02 2012 -0700 + + gl: Fix compilation failure for flush cleanup. + + src/cairo-gl-composite.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit bf9c295953fbe86434a8beefa6994c7a07e723fc +Author: Martin Robinson <mrobinson@igalia.com> +Date: Wed May 23 11:46:25 2012 -0700 + + gl: Simplify switching between primitive types + + Simplify the code that switches between primitive types by adding + a new member to the context which tracks the currently active + primitive type. + + src/cairo-gl-composite.c | 67 ++++++++++++++++++++++++------------------------ + src/cairo-gl-device.c | 1 + + src/cairo-gl-private.h | 7 +++++ + 3 files changed, 41 insertions(+), 34 deletions(-) + +commit f78696249f13c56a1a738b4645d8e2978d67d5ce +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed May 23 12:45:54 2012 +0100 + + test: Increase surface size for get-path-extents + + Whilst generating a glyph run from a string, any glyphs that are far + outside the surface (including a substantial guard region) are culled. + This affects the path extents. Workaround this by increasing the surface + size. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/get-path-extents.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 3ae8bce832cbd21831a26aeb4ac0d808900711f5 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed May 23 12:26:50 2012 +0100 + + test/record90: Rotate the reference so that it is wholly visible + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/record90.c | 2 +- + test/reference/record90-self-intersecting.argb32.ref.png | Bin 167 -> 0 bytes + test/reference/record90-self-intersecting.ref.png | Bin 0 -> 244 bytes + test/reference/record90-self-intersecting.rgb24.ref.png | Bin 167 -> 0 bytes + 4 files changed, 1 insertion(+), 1 deletion(-) + +commit e73830915b508efa587c6b706d7501a674fdec94 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed May 23 12:20:50 2012 +0100 + + test: Refresh unbounded-operator + + Apparently this too suffered from bug-bo-collins and is fixed by + (bo-rectangular: Emit subsummed boxes for overlapping edges). + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/reference/unbounded-operator.argb32.ref.png | Bin 2666 -> 2781 bytes + test/reference/unbounded-operator.rgb24.ref.png | Bin 1300 -> 1333 bytes + 2 files changed, 0 insertions(+), 0 deletions(-) + +commit c09be681123388d562822d677db631101a8faa07 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed May 23 11:38:07 2012 +0100 + + bo-rectangular: Emit subsummed boxes for overlapping edges + + Fixes bug-bo-collins + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=49446 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-bentley-ottmann-rectangular.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 7b2f787d1999bcc351b2e2904322020732939f5f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed May 23 11:48:30 2012 +0100 + + test: Exercise rectangular bo bug + + Reported-by: S. Christian Collins <s_chriscollins@hotmail.com> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=49446 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.sources | 1 + + test/bug-bo-collins.c | 76 ++++++++++++++++++++++++++++++++++ + test/reference/bug-bo-collins.ref.png | Bin 0 -> 248 bytes + 3 files changed, 77 insertions(+) + +commit aed94a5bc650f579368b4b814a8729570c32147e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat May 19 10:20:20 2012 +0100 + + gl: Replace vbo with static allocation and immediate arrays + + Some drivers have terrible latency issues when using VBO and for our + dynamic use-case (we never reuse a VBO currently) there is little + benefit from using a VBO and often a loss of performance from doing so. + And there is the benefit from reducing the number of our own code paths. + + src/cairo-gl-composite.c | 29 +++++------------------------ + src/cairo-gl-device.c | 9 +++------ + src/cairo-gl-private.h | 8 +++----- + 3 files changed, 11 insertions(+), 35 deletions(-) + +commit a845ebe32d68a4701fd0645c576a2dc65c82ca8f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun May 20 12:11:27 2012 +0100 + + test: Fix leak from xcb-snapshort-assert + + ==12598== 1,344 (768 direct, 576 indirect) bytes in 2 blocks are + definitely lost in loss record 512 of 519 + ==12598== at 0x402894D: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) + ==12598== by 0x4C76501: _cairo_image_surface_create_for_pixman_image (cairo-image-surface.c:176) + ==12598== by 0x4C76953: _cairo_image_surface_create_with_pixman_format (cairo-image-surface.c:345) + ==12598== by 0x44CFAC: draw (xcb-snapshot-assert.c:36) + ==12598== by 0x40E14C: cairo_test_for_target (cairo-test.c:923) + ==12598== by 0x40EEA7: _cairo_test_context_run_for_target (cairo-test.c:1545) + ==12598== by 0x40BD53: main (cairo-test-runner.c:254) + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/xcb-snapshot-assert.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +commit 2879e656b9b9283308ed4eaf3ad820460ac1df8b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun May 20 10:24:06 2012 +0100 + + wideint: Fix compilation failure for bare use of uint64_t for !HAVE_UINT64_T + + Reported-by: Hakki Dogusan <dogusanh@tr.net> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-wideint-private.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit dad69ce4d5568f94621ae60ccdcc683d5bbd0efd +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun May 20 10:54:07 2012 +0100 + + win32: Fix return value for cairo_time_get + + Without uint64_t we need to construct a cairo_int64_t from the struct of + smaller 32-bit types rather than just casting the larger 64-bit value. + + Reported-by: Hakki Dogusan <dogusanh@tr.net> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-time.c | 21 ++++++++++++++++++++- + 1 file changed, 20 insertions(+), 1 deletion(-) + +commit 5a7a9c93e7f807ae8ee7504ff308e9676dbe8d25 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun May 20 10:33:17 2012 +0100 + + image: Tidy lerp8x4 + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 13 ++++--------- + 1 file changed, 4 insertions(+), 9 deletions(-) + +commit ced090871bbc4c052fd4ac627cdd8fc7e80f0d62 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Thu May 17 14:37:57 2012 -0700 + + gl/msaa: Improve fallback detection + + Rename should_fall_back to can_use_msaa_compositor to make it + more comprehensible and also modify the logic to fall back + when the antialias mode is not "fast" or "default." + + src/cairo-gl-msaa-compositor.c | 29 ++++++++++++++++------------- + 1 file changed, 16 insertions(+), 13 deletions(-) + +commit 707bb8663980e66e8406351b68c230b63a0265c6 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Mon Apr 2 13:45:15 2012 -0700 + + gl/msaa: Lazily flush the context + + Instead of conservatively flushing after every single drawing + operation. Wait until we are certain we need to flush, which + in the case of the MSAA compositor is when we start compositing + with a different type of geometry. + + src/cairo-gl-composite.c | 37 ++++++++++++++++++++++++------------- + src/cairo-gl-msaa-compositor.c | 4 ---- + 2 files changed, 24 insertions(+), 17 deletions(-) + +commit 4b3ad4e8dacdfb84636f188b2dc7afe3ad6966c5 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Mon Mar 12 15:28:23 2012 -0700 + + gl/msaa: Implement glyph rendering + + Instead of falling back to the traps compositor to do glyph + rendering, handle it in the MSAA compositor. This allows using + the stencil buffer or scissor to clip and simplifies the MSAA + code path. + + src/cairo-gl-glyphs.c | 56 +++++++++++++++++++--------- + src/cairo-gl-msaa-compositor.c | 83 +++++++++++++++++++++++++++++++++++++++--- + src/cairo-gl-private.h | 11 ++++++ + 3 files changed, 128 insertions(+), 22 deletions(-) + +commit e3f5b14fbabba2128de4ee2d8513800aa145fb2f +Author: Martin Robinson <mrobinson@igalia.com> +Date: Tue Feb 21 09:36:52 2012 -0800 + + gl/msaa: Wait to clip until compositing begins + + The MSAA compositors clips in a unique way We'd like to + share this method with the text rendering path, so we move + it to cairo-gl-composite so that it works in a way very + similar to clipping with the spans and traps compositors. + + src/cairo-gl-composite.c | 164 +++++++++++++++++++++++++++++++++++------ + src/cairo-gl-device.c | 1 + + src/cairo-gl-msaa-compositor.c | 155 +++++++------------------------------- + src/cairo-gl-private.h | 12 +++ + 4 files changed, 181 insertions(+), 151 deletions(-) + +commit 29b243325c0af760249a414bdce2e6afb64186a7 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Mon Jan 23 13:07:59 2012 -0800 + + gl/msaa: Support for non-texture surfaces + + Add full support for non-texture surfaces, by correctly + querying primitives for stencil and multisample bits. + + src/cairo-gl-device.c | 8 ++++++++ + src/cairo-gl-msaa-compositor.c | 40 ++++++++++++++++++++++++++++++++++++++++ + src/cairo-gl-operand.c | 3 +++ + src/cairo-gl-private.h | 2 ++ + src/cairo-gl-surface.c | 5 +---- + 5 files changed, 54 insertions(+), 4 deletions(-) + +commit 9208dd6230aa3c236a91105f8dc5d5caf69fe591 +Author: Henry (Yu) Song <hsong@sisa.samsung.com> +Date: Fri Dec 16 15:56:45 2011 -0800 + + gl/msaa: Support the OpenGLES EXT multisampling extension + + Add support for OpenGLES GPUs that support the EXT multisampling + extension. + + src/cairo-gl-device.c | 165 ++++++++++++++++++++++++++++++---------- + src/cairo-gl-dispatch-private.h | 7 +- + src/cairo-gl-msaa-compositor.c | 12 +++ + src/cairo-gl-operand.c | 4 + + src/cairo-gl-private.h | 13 ++-- + 5 files changed, 152 insertions(+), 49 deletions(-) + +commit ac8d50f04ca24fb24f354dea597513ec43f5ebb6 +Author: Henry (Yu) Song <hsong@sisa.samsung.com> +Date: Thu Dec 22 17:24:01 2011 -0800 + + gl/msaa: Use unsigned short to build the index array + + Some GPUs have trouble accepting vertex index data as + integers. Using unsigned shorts expands support. + + src/cairo-gl-composite.c | 10 +++++----- + src/cairo-gl-device.c | 2 +- + 2 files changed, 6 insertions(+), 6 deletions(-) + +commit 5ae53c933ae4baefdedb8ca795ee25dfcba9f5b0 +Author: Henry (Yu) Song <hsong@sisa.samsung.com> +Date: Fri Dec 23 08:44:16 2011 -0800 + + gl/msaa: Implement paint via masking + + Instead of falling back to the spans compositor, let the msaa + compositor handle painting. This ensure clipping is handled + in a consistent way with the rest of the msaa compositor. + + src/cairo-gl-msaa-compositor.c | 51 ++++++++++++++++++++++++++++++++---------- + 1 file changed, 39 insertions(+), 12 deletions(-) + +commit 4d9064d578434cadfae2b248ef29075a1a1be8b8 +Author: Henry (Yu) Song <hsong@sisa.samsung.com> +Date: Fri Dec 16 15:56:00 2011 -0800 + + gl/msaa: Add ARB multisampling support + + This implementation is not very efficient at the moment and does not + work with platforms using the incompatible IMG extension (mobile + GPUs). Performance improvements and mobile GPU support will follow. + + src/cairo-gl-composite.c | 14 ++- + src/cairo-gl-device.c | 236 ++++++++++++++++++++++++++++++++++------ + src/cairo-gl-dispatch-private.h | 4 + + src/cairo-gl-msaa-compositor.c | 28 ++++- + src/cairo-gl-operand.c | 40 +++++++ + src/cairo-gl-private.h | 38 ++++++- + src/cairo-gl-surface.c | 21 +++- + 7 files changed, 334 insertions(+), 47 deletions(-) + +commit 50f08352f463d86022a0d7544d461fe2e5ac9076 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Wed May 16 20:55:17 2012 +0930 + + pdf: check if EXTEND_PAD group can be painted with EXTEND_NONE + + to avoid the fallback + + src/cairo-pdf-surface.c | 26 ++++++++++++++++++++++---- + 1 file changed, 22 insertions(+), 4 deletions(-) + +commit e41dffb329e4a6fcb4e75fb501843838a499c4c8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon May 14 17:46:32 2012 +0100 + + stroke: Don't drop clockwise==0 lines + + If the join indicates the pair of edges are parallel, we may be + considering the final segment of the spline with a different tangent + vector than the slope of the final edge and so lead to false dropping of + an edge. This has the effect that the line segments between 'arc arc arc + arc' (a rounded rectangle) are no longer horizontal or vertical. As path + construction tries to eliminate joins between colinear segments, this + optimisation should not be required anyway. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-stroke-polygon.c | 14 +++----------- + test/reference/arc-direction.traps.argb32.ref.png | Bin 6380 -> 0 bytes + test/reference/arc-direction.traps.rgb24.ref.png | Bin 6380 -> 0 bytes + .../reference/close-path-current-point.argb32.ref.png | Bin 2324 -> 0 bytes + test/reference/close-path-current-point.ref.png | Bin 1675 -> 2109 bytes + test/reference/close-path-current-point.rgb24.ref.png | Bin 2324 -> 0 bytes + test/reference/fallback.traps.argb32.ref.png | Bin 4070 -> 4156 bytes + test/reference/fallback.traps.rgb24.ref.png | Bin 3141 -> 3332 bytes + test/reference/halo.argb32.ref.png | Bin 8726 -> 0 bytes + test/reference/halo.ref.png | Bin 7297 -> 8774 bytes + test/reference/halo.rgb24.ref.png | Bin 8726 -> 0 bytes + test/reference/halo.traps.argb32.ref.png | Bin 8726 -> 0 bytes + test/reference/halo.traps.rgb24.ref.png | Bin 8726 -> 0 bytes + .../reference/rounded-rectangle-stroke.argb32.ref.png | Bin 951 -> 0 bytes + test/reference/rounded-rectangle-stroke.ref.png | Bin 569 -> 833 bytes + test/reference/rounded-rectangle-stroke.rgb24.ref.png | Bin 951 -> 0 bytes + 16 files changed, 3 insertions(+), 11 deletions(-) + +commit 099420a07c33c66daf5392d4ca1df06585791751 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon May 14 17:50:54 2012 +0100 + + spans: Debug input paths and polygons + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-spans-compositor.c | 3 +++ + src/cairoint.h | 2 ++ + 2 files changed, 5 insertions(+) + +commit f7d937670c22db79e597cade89e84c840b58e25e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon May 14 16:03:40 2012 +0100 + + arc: Use user endpoint for final step + + Eliminate numerical inaccuracy from accumulating angle through + the floating point step value by using the exact end-value for the last + arc segment. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-arc.c | 29 +++++++++++++++++------------ + 1 file changed, 17 insertions(+), 12 deletions(-) + +commit 6867383017fcea0b1d5a4671b32382037ba9be3f +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Thu May 3 13:41:29 2012 +0300 + + gl: Provide a shader implementation of repeat wrap modes + + In OpenGL ES 2.0, repeat wrap modes (GL_REPEAT and GL_MIRRORED REPEAT) are + only available for NPOT textures if the GL_OES_texture_npot is supported. + This commit adds a shader implementation of these wrap modes for use by + devices that do not support GL_OES_texture_npot. + + src/cairo-gl-composite.c | 10 ++++-- + src/cairo-gl-device.c | 16 +++++---- + src/cairo-gl-private.h | 1 + + src/cairo-gl-shaders.c | 84 +++++++++++++++++++++++++++++++++++++++++------- + 4 files changed, 90 insertions(+), 21 deletions(-) + +commit 82f69d1ef798c2ebff13ec2b548c4877bf5e0e5b +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Thu May 3 13:03:26 2012 +0300 + + gl: Simplify GL wrap parameter setting code + + src/cairo-gl-composite.c | 29 +++++++++++++++-------------- + 1 file changed, 15 insertions(+), 14 deletions(-) + +commit 6cd1f5040fed1385c2990a68d6017a7ca6c37103 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri May 11 22:38:27 2012 +0100 + + clip: Apply clip boxes to the clip surface + + As we convert the unaligned clip boxes to a region, we need to process + the intersection of the boxes with the clip surface as a separate step. + + Fixes tighten-box for the base compositor. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-clip-surface.c | 86 +++++++++++++++++++--- + test/reference/tighten-bounds.base.argb32.ref.png | Bin 8490 -> 8512 bytes + test/reference/tighten-bounds.base.rgb24.ref.png | Bin 7847 -> 7873 bytes + 3 files changed, 77 insertions(+), 9 deletions(-) + +commit 4ea3ace6c810ba090464e48795fac5456f6cdc24 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri May 11 21:51:44 2012 +0100 + + spans: Only fallback for a clipmask if unbounded + + For a bounded operation with a clip we will already have performed the + clip geometrically. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-spans-compositor.c | 3 ++- + test/reference/clip-operator.argb32.ref.png | Bin 8216 -> 8257 bytes + test/reference/clip-operator.rgb24.ref.png | Bin 3293 -> 3288 bytes + test/reference/random-clip.ref.png | Bin 529871 -> 525962 bytes + test/reference/trap-clip.argb32.ref.png | Bin 5810 -> 5826 bytes + test/reference/trap-clip.rgb24.ref.png | Bin 5433 -> 5435 bytes + 6 files changed, 2 insertions(+), 1 deletion(-) + +commit cd1004ce19c7ea28c7fedb6464562a08416586c0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri May 11 21:20:35 2012 +0100 + + traps,spans-compositor: Avoid mistreating unaligned clips as aligned + + An unaligned clip requires careful handling, and so exclude processing + along the fast paths. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-spans-compositor.c | 24 ++++++++++++++++++++++-- + src/cairo-traps-compositor.c | 2 +- + 2 files changed, 23 insertions(+), 3 deletions(-) + +commit de1150cc0e1cb11710b196806335817255cb4abe +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri May 11 20:51:58 2012 +0100 + + spans-compositor: Add tracepoints for debugging + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-spans-compositor.c | 22 +++++++++++++++++++++- + 1 file changed, 21 insertions(+), 1 deletion(-) + +commit 197e5b7324c569d3e8cd652dbf5a281a57317cbe +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri May 11 20:25:29 2012 +0100 + + spans-compositor: Handle unaligned unbounded boxes + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-spans-compositor.c | 67 +++++++++++++++++++++++++++++++++----------- + 1 file changed, 51 insertions(+), 16 deletions(-) + +commit 2d26f7da777b7ac01e5c469e52a17fa7d0cf4a8d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri May 11 21:26:33 2012 +0100 + + test: Fix tighten-bounds reference images + + Uli Schlachter spotted that I had inadvertently committed (606e9e1c9) a + broken set of test images for the tighten-bounds case and so masked a + nasty bug with the mishandling of unaligned clips. + + Reported-by: Uli Schlachter <psychon@znc.in> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/reference/tighten-bounds.argb32.ref.png | Bin 9115 -> 9115 bytes + test/reference/tighten-bounds.rgb24.ref.png | Bin 8256 -> 8365 bytes + test/reference/tighten-bounds.traps.argb32.ref.png | Bin 8769 -> 8486 bytes + test/reference/tighten-bounds.traps.rgb24.ref.png | Bin 8179 -> 7856 bytes + 4 files changed, 0 insertions(+), 0 deletions(-) + +commit 117a44a33526a7738cac6643ea35fb73dc8a710f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri May 11 17:17:05 2012 +0100 + + gl: Reject SOURCE + mask in composite_boxes() + + As SOURCE requires a bounded operation and the GL compositor only + implements a simple operation (i.e. it just blits from source to + destination instead of applying a linear interpolation as required), we + need to reject the operation and fallback. In the future, we should + make the linear interpolation available through a GL shader or as a + dual-source blend (better). + + Spotted-by: Chuanbo Weng <strgnm@gmail.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-spans-compositor.c | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +commit 0196327b30dd01ce0169a7bc67024b932368af4e +Author: Chuanbo Weng <strgnm@gmail.com> +Date: Fri May 11 23:58:05 2012 +0800 + + gl: Convert CLEAR to DEST_OUT when there's a mask for composite_boxes. + + As Cairo's CLEAR sematics are for a bounded operation, and GL's uses the + simple semantics for its CLEAR composite, we need to convert the + operation into an equivalent DEST_OUT when we have a mask. + + src/cairo-gl-spans-compositor.c | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +commit 9ecf2f7c4f6451d4a2c145a82184ba185be0a421 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu May 10 21:01:36 2012 +0100 + + damage: Prevent reducing an error object + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-damage.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f4631dca371865f9aa747c61937c09d495f165e0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu May 10 21:00:49 2012 +0100 + + damage: Prevent accumulating damage to an error object + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-damage.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 50e51389bd4108942fdc7a5f029b3171b0c1f11a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu May 10 20:57:30 2012 +0100 + + damage: Avoid freeing the NIL error object + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-damage.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 3bff546ebe0859c65ba608a956a55b5647bfd37f +Author: Uli Schlachter <psychon@znc.in> +Date: Sun May 6 21:48:42 2012 +0200 + + c_surface_set_mime_data: Remove duplicate "Since" + + This fixes the following message from "make check": + + ./cairo-surface.c (1192): ERROR: cairo_surface_set_mime_data: Duplicate 'Since' + field + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-surface.c | 2 -- + 1 file changed, 2 deletions(-) + +commit fcccb1a65aeab7b1bf199e728b58af9bf21e197b +Author: Uli Schlachter <psychon@znc.in> +Date: Sun May 6 21:45:32 2012 +0200 + + check-doc-syntax: Find duplicate "Since:" tags + + It makes no sense to say more than one time when some symbol was introduced. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/check-doc-syntax.awk | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit a184de906490e743430919c55a2d5099987d4d69 +Author: Uli Schlachter <psychon@znc.in> +Date: Sun May 6 21:41:28 2012 +0200 + + check-doc-syntax: Make this work again + + Commit ed90616b77570 changed the way the awk script gets invoked. Due to a + missing "test", this resulted in the awk script never getting invoked at all. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/check-doc-syntax.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 3e02dccb97ad12a13db0b66aba3927c78f6d08e9 +Author: Henry (Yu) Song <hsong@sisa.samsung.com> +Date: Mon Dec 12 17:08:52 2011 -0800 + + gl/msaa: Add support for unbounded operators + + When filling and stroking with an unbounded operator, first fill + and stroke to a temporary surface and then paint the entire surface + back to the original target. + + src/cairo-gl-msaa-compositor.c | 100 +++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 100 insertions(+) + +commit b099f8b0c70dc0208135cdeda76be9ab33e61d9b +Author: Henry (Yu) Song <hsong@sisa.samsung.com> +Date: Fri Oct 14 14:32:28 2011 -0700 + + gl/msaa: Support for masking + + Add support for masking in the OpenGL MSAA compositor. This is + accomplished simply by properly setting up the masking source, + emitting the entire bounded composite region, and unforking + vertex emission. + + src/cairo-gl-composite.c | 53 ++++++++++++++---------- + src/cairo-gl-msaa-compositor.c | 92 +++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 122 insertions(+), 23 deletions(-) + +commit 929a96ed034b4e6f811da9b718a7b11e9d1b9d16 +Author: Henry (Yu) Song <hsong@sisa.samsung.com> +Date: Thu Oct 13 15:51:29 2011 -0700 + + gl/msaa: Support for texture sources + + Add support for texture sources, by unforking _cairo_gl_composite_begin. + _cairo_gl_composite_begin_tristrip is now just a small wrapper. Also + properly emit the source texture coordinates when emitting tristrip + vertices. + + src/cairo-gl-composite.c | 73 ++++++++---------------------------------- + src/cairo-gl-msaa-compositor.c | 4 +-- + src/cairo-gl-private.h | 4 --- + 3 files changed, 15 insertions(+), 66 deletions(-) + +commit a60bb83f28a27c065f21f6a8466408df4565a0b1 +Author: Henry (Yu) Song <hsong@sisa.samsung.com> +Date: Tue Oct 11 09:08:38 2011 -0700 + + gl/msaa: Prevent stroke overlap + + When stroking we do not send our polygon to the tessellator, so + it may have overlapping stroke components. Use the stencil buffer + to prevent stroke components from overlapping. + + src/cairo-gl-msaa-compositor.c | 36 ++++++++++++++++++++++++++++++++++++ + 1 file changed, 36 insertions(+) + +commit 138e595c1192c03ebc1b2c89851ce938b18abd2f +Author: Uli Schlachter <psychon@znc.in> +Date: Tue May 1 14:48:43 2012 +0200 + + Remove some dead code + + This code could never be executed, because the status variable doesn't get set + since the last time it is checked and errors get returned to the caller. + + This was noticed while looking into the build log provided by + http://lists.cairographics.org/archives/cairo/2012-April/022993.html + + Reported-by: Ryan Schmidt <cairo-2012b@ryandesign.com> + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-scaled-font-subsets.c | 5 ----- + 1 file changed, 5 deletions(-) + +commit 494cfd7eb9d994a5e2024e299986e66a3ef9a562 +Author: Uli Schlachter <psychon@znc.in> +Date: Tue May 1 14:38:51 2012 +0200 + + Remove some unused functions + + All of these are unused since af9fbd176b145f0424 "Introduce a new compositor + architecture". Since no one complained yet, I guess that means that we don't + need these any more. :-) + + This was noticed while looking into the build log provided by + http://lists.cairographics.org/archives/cairo/2012-April/022993.html + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-botor-scan-converter.c | 36 -------------------------------- + src/cairo-path-stroke-polygon.c | 44 ---------------------------------------- + 2 files changed, 80 deletions(-) + +commit 748dcdef4b67097c079a3ff98f970451428c24f3 +Author: Chuanbo Weng <strgnm@gmail.com> +Date: Fri May 4 08:53:20 2012 +0800 + + gl: fix the translate value in copy_boxes. + + Fixes 36 test cases (such as push-group-color) + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48221 + + src/cairo-gl-spans-compositor.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit db4ee947c3fc2c057dd8e84cdfcb779e7c62e5d5 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue May 1 14:41:25 2012 +0100 + + Split finish into multiple stages + + In order to handle the snapshot copy-on-write losing a race with another + thread using the snapshot as a source, we may find the target acquires a + fresh reference as we attempt to finalize it. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface.c | 32 +++++++++++++++++++++++--------- + 1 file changed, 23 insertions(+), 9 deletions(-) + +commit 52dfa038b9e0c106aa3f9f08abeb7f53e72a762a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue May 1 15:06:46 2012 +0100 + + snapshot: Avoid triggering assertion for grabbing the target during destroy + + If the source wins the race to acquire the original surface as it is + being destroyed, it triggers an assertion. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-inline.h | 8 ++++++++ + src/cairo-surface-snapshot-inline.h | 3 ++- + 2 files changed, 10 insertions(+), 1 deletion(-) + +commit f62f8f907d14a7267f136f299208029c7b904eaa +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue May 1 14:57:18 2012 +0100 + + snapshot: Hold a reference to target whilst querying + + Due to race with cow and accessing target from multiple threads, we need + to be careful that we always acquire a reference for our access to + the snapshot target. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-snapshot.c | 51 +++++++++++++++++++++++++++++++++++++------- + 1 file changed, 43 insertions(+), 8 deletions(-) + +commit af3c8abbce529b0928742cc219e5e8e21191eee7 +Author: Søren Sandmann Pedersen <ssp@redhat.com> +Date: Mon Apr 30 12:02:38 2012 -0400 + + Revert "Use pixman glyphs" + + This was pushed accidentally - apologies. + + This reverts commit 752c3b69e008b7d219da8cc5c657cf995732d3b8. + + src/cairo-image-compositor.c | 313 ++++++++++++++++++++++++++++------------- + src/cairo-mutex-list-private.h | 1 - + src/cairo-scaled-font.c | 2 - + src/cairoint.h | 4 - + 4 files changed, 212 insertions(+), 108 deletions(-) + +commit 752c3b69e008b7d219da8cc5c657cf995732d3b8 +Author: Søren Sandmann Pedersen <ssp@redhat.com> +Date: Mon Apr 30 09:41:44 2012 -0400 + + Use pixman glyphs + + src/cairo-image-compositor.c | 313 +++++++++++++---------------------------- + src/cairo-mutex-list-private.h | 1 + + src/cairo-scaled-font.c | 2 + + src/cairoint.h | 4 + + 4 files changed, 108 insertions(+), 212 deletions(-) + +commit 821a9af33cf43dc6a8266f4e677171f2b1ebacba +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Apr 29 20:54:07 2012 +0100 + + version: Post release bump to 1.12.3 + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit dbc0efad7e565558a3abf7f69d7675efddc4688d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Apr 29 19:49:12 2012 +0100 + + version: bump for cairo-1.12.2 release + + NEWS | 40 ++++++++++++++++++++++++++++++++++++++++ + cairo-version.h | 2 +- + 2 files changed, 41 insertions(+), 1 deletion(-) + +commit ed90616b7757087154d1c191858444ecc9188935 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Apr 29 13:21:36 2012 +0100 + + check-doc-syntax: Only parse the source files for incorrect tags + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/check-doc-syntax.sh | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) + +commit c16cdf0b4e2bada9b955111886eb7c9cb3878994 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Apr 29 13:18:43 2012 +0100 + + check-doc-syntax: Fix handling of return value in make check + + src/check-doc-syntax.sh | 2 ++ + 1 file changed, 2 insertions(+) + +commit a1d4f416e403359b713f6d10d557a190458bbb16 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Apr 29 15:49:40 2012 +0100 + + path-stroke-boxes: Fix degenerate end-caps for anti-clockwise paths + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-stroke-boxes.c | 60 ++++++++++++++++++++----------------------- + 1 file changed, 28 insertions(+), 32 deletions(-) + +commit 71df65f95a238c53fa0a64759b41af85c0b1b059 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Apr 29 14:51:17 2012 +0100 + + test: Update degenerate-solid-dash reference + + Looking at the base output for cairo-1.0 reveals we have an issue with + the placement of degenerate end-caps. + + test/reference/degenerate-solid-dash.ref.png | Bin 405 -> 407 bytes + test/reference/line-width-large-overlap-dashed.ref.png | Bin 338 -> 340 bytes + .../reference/line-width-large-overlap-dashed.xfail.png | Bin 343 -> 0 bytes + test/reference/line-width-overlap-dashed.ref.png | Bin 0 -> 407 bytes + test/reference/rectilinear-dash.argb32.ref.png | Bin 291 -> 0 bytes + test/reference/rectilinear-dash.rgb24.ref.png | Bin 291 -> 0 bytes + 6 files changed, 0 insertions(+), 0 deletions(-) + +commit f5df96748e39d1f1a3fddf63712318377211b12b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Apr 29 14:32:14 2012 +0100 + + gstate: Correctly compact degenerate dash segments + + The danger of the incomplete test masking the failure to correctly skip + the degenerate elements in the final dash state. + + Fixes the fixed degenerate-solid-dash. + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gstate.c | 37 ++++++++++++++++++------------------- + 1 file changed, 18 insertions(+), 19 deletions(-) + +commit ba21231491dbed0252858ee8c2755db7b6f1c970 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Apr 29 14:23:11 2012 +0100 + + test: Fix array lengths for degenerate-solid-dash + + The latter arrays were meant to test compaction. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/degenerate-solid-dash.c | 4 ++-- + test/reference/degenerate-solid-dash.ref.png | Bin 358 -> 405 bytes + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 9176e640d7cb5cae5d89722aa560fba19bc08a8c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Apr 29 13:40:48 2012 +0100 + + gstate: Reduce degenerate dash to solid + + If the dash specifies that the pen is always on (i.e. the total of the + off segments is zero), then we can eliminate the dash pattern. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gstate.c | 35 ++++++++++++++++++++++++++++++----- + 1 file changed, 30 insertions(+), 5 deletions(-) + +commit 47368d5e83f95dfed500f81068d7346a93145a20 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Apr 29 14:01:11 2012 +0100 + + image: Add a little bit of debugging to show number of boxes being drawn + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 0c14ce6dca3031320d2b9fb419aaf4e153d158d6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Apr 29 13:55:10 2012 +0100 + + test: Exercise degenerate dashes that are wholly solid + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.sources | 1 + + test/degenerate-solid-dash.c | 69 +++++++++++++++++++++++++++ + test/reference/degenerate-solid-dash.ref.png | Bin 0 -> 358 bytes + 3 files changed, 70 insertions(+) + +commit d2f740ccbd9c5416a2590e3cca888eecf046c162 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Apr 29 12:38:37 2012 +0100 + + test: Exercise clip inversion imperfections + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.sources | 1 + + test/inverted-clip.c | 56 +++++++++++++++++++++++++++ + test/reference/inverted-clip.base.xfail.png | Bin 0 -> 1293 bytes + test/reference/inverted-clip.traps.xfail.png | Bin 0 -> 1283 bytes + test/reference/inverted-clip.xfail.png | Bin 0 -> 1293 bytes + 5 files changed, 57 insertions(+) + +commit 4a9a6b7efb4abb81b228db8c998a6c9e9f383ba0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Apr 29 12:22:20 2012 +0100 + + Satisfy check-doc-syntax.awk for unimplemented functions + + ./cairo.c (634): ERROR: cairo_set_opacity: missing 'Since' field + ./cairo.c (3578): ERROR: cairo_get_opacity: missing 'Since' field + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit ec400daf9ec3bbd8403324db7fcdaf175e185e7b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Apr 28 23:15:52 2012 +0100 + + image: Avoid overflow when computing lerp spans for a8 + + Reported-by: Benjamin Otte <otte@redhat.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +commit a18506acf0ca4a5b6f56cc9a8e0ffb3dd0eaabab +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Apr 27 22:13:01 2012 +0100 + + Update the remaining backends to handle a NULL extents for _cairo_surface_get_source + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-surface.c | 8 +++++--- + src/cairo-image-surface.c | 8 +++++--- + src/cairo-script-surface.c | 8 +++++--- + src/cairo-xcb-surface.c | 8 +++++--- + src/cairo-xlib-surface.c | 8 +++++--- + 5 files changed, 25 insertions(+), 15 deletions(-) + +commit 7eb33099d34234dcccb8f96caba94b38fa385f16 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Apr 27 12:39:40 2012 +0100 + + snapshot: Perform the cow under a mutex + + In order to prevent a race between concurrent destroy and use in another + thread, we need to acquire a reference to the snapshot->target under a + mutex. Whilst we hold that reference, it prevents the internal destroy + mechanism from freeing the memory we are using (if we have a pointer to + the original surface) and the client drops their final reference. + + Oh boy, talk about opening a can of worms... + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-analysis-surface.c | 12 +++--------- + src/cairo-image-source.c | 33 ++++++++++++++++++++++++++++----- + src/cairo-pattern.c | 4 +--- + src/cairo-pdf-surface.c | 24 ++++++++++++++++-------- + src/cairo-ps-surface.c | 33 +++++++++++++++++++++------------ + src/cairo-script-surface.c | 5 +++-- + src/cairo-surface-snapshot-inline.h | 9 ++++++++- + src/cairo-surface-snapshot-private.h | 2 ++ + src/cairo-surface-snapshot.c | 7 ++++++- + src/cairo-surface-subsurface.c | 3 ++- + src/cairo-surface.c | 5 ++++- + src/cairo-traps-compositor.c | 11 ++--------- + 12 files changed, 96 insertions(+), 52 deletions(-) + +commit 455b4de1fc6be05f985b43c2f8f83eeed2b2a191 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Apr 27 11:41:41 2012 +0100 + + image: Allow a snapshot to steal the original memory upon finish + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-surface.c | 18 ++++++++++++++++++ + src/cairo-surface-private.h | 1 + + src/cairo-surface.c | 3 +++ + 3 files changed, 22 insertions(+) + +commit 957a9cc619965178a8927d114fe852034fc2385c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 26 08:54:39 2012 +0100 + + image: Fix typo in _blit_spans() + + The height is 'h' not 'y'! + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit fe428fc7f03316f2577b95f6a4f525bacca09948 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Apr 20 17:30:22 2012 +0100 + + xlib: Fix inline conversion for TrueColor PutImage + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 9e81c5b737cda9dc539b2cf497c20ac48ddb91ac +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Apr 25 20:41:16 2012 +0100 + + xlib: Allow applications to create 0x0 surfaces + + Although 0x0 is not a legimate surface size, we do allow applications + the flexibility to reset the size before drawing. As we previously never + checked the size against minimum legal constraints, applications expect + to be able to create seemingly illegal surfaces, and so we must continue + to provide backwards compatibility. + + Many thanks to Pauli Nieminen for trawling through the protocol traces, + diving into the depths of libreoffice and identifying the regression. + + Fixes https://bugs.freedesktop.org/show_bug.cgi?id=49118 (presentation + mode in loimpress is blank). + + Reported-by: Eric Valette <eric.valette@free.fr> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +commit f736cd144305f7c9147912f6ec081962b3191e3d +Author: Jeff Mahoney <jeffm@suse.com> +Date: Mon Apr 23 22:04:48 2012 +0100 + + pdf: Fix wrong allocation in _cairo_pdf_surface_add_source_surface + + _cairo_pdf_surface_add_source_surface allocates unique_id with + size unique_id_length but then copies surface_key.unique_id_length into it. + + This causes e.g. evince to crash predictably while trying to print with: + *** buffer overflow detected ***: evince terminated + + We should be using surface_key.unique_id_length instead. + + Reported-by: Dominique Leuenberger <dominique-freedesktop.org@leuenberger.net> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=49089 + Signed-off-by: Jeff Mahoney <jeffm@suse.com> + + src/cairo-pdf-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit e6a04c2f6749756bb032e9beb6c2ad0a12f8093d +Author: Alexandros Frantzis <alexandros.frantzis@linaro.org> +Date: Mon Apr 23 17:15:31 2012 +0300 + + gl: Fix creation of gradient ramps for GLESv2 + + glTexImage2D is not allowed to perform an implicit format conversion + with GLESv2, so fixup the internal format to match the incoming pixel + format. + + src/cairo-gl-gradient.c | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +commit 1ca8c049cad59fcf9355ff091e1eec0471afa444 +Author: Dimiter Stanev <malkia@gmail.com> +Date: Mon Apr 23 19:10:44 2012 +0100 + + win32: compilation fix for recent private/inline header separation + + src/win32/cairo-win32-display-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit abedc6b46ad283f896e078479174312cb87e6700 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Mon Apr 23 13:20:47 2012 +0930 + + ps: support all image types + + If the image is not rgb24/argb32/a8/a1, create a new image with the + same CAIRO_CONTENT and paint image to the new image. + + src/cairo-ps-surface.c | 41 +++++++++++++++++++++++++++++++++++++---- + 1 file changed, 37 insertions(+), 4 deletions(-) + +commit 33f9e433eef13a2b39a8213c6997399f3a5896a8 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Mon Apr 23 13:07:18 2012 +0930 + + pdf: support all image types + + If the image is not rgb24/argb32/a8/a1, create a new image with the + same CAIRO_CONTENT and paint image to the new image. + + src/cairo-pdf-surface.c | 41 +++++++++++++++++++++++++++++++---------- + 1 file changed, 31 insertions(+), 10 deletions(-) + +commit c0b523eb652b2c4ba41cb27132d46ad9211b5df4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Apr 21 10:16:30 2012 +0100 + + stroke(boxes): Convert the dash step back into device units before incrementing + + Reported-by: Carlos Garcia Campos <carlosgc@gnome.org> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-stroke-boxes.c | 2 +- + .../rectilinear-dash-scale-unaligned.ref.png | Bin 5010 -> 3738 bytes + .../rectilinear-dash-scale-unaligned.traps.ref.png | Bin 4552 -> 3289 bytes + test/reference/rectilinear-dash-scale.ref.png | Bin 921 -> 651 bytes + 4 files changed, 1 insertion(+), 1 deletion(-) + +commit 99f3fea6d92fab684b145b2eb62fc7e6705aca73 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 19 17:53:11 2012 +0100 + + gl: Uses the inline clip function, so update its include + + Fixes build from 0770dda52be9c1bf464a84cb5566ef46d7e9df5a. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-msaa-compositor.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 0046967224640c0a390b4a7b376bbd631ed32a5c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 19 16:12:55 2012 +0100 + + dash: Increment dash_remain by the next segment to reduce accumulation errors + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-stroke-dash.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5e39a8098b88b2e8d25eb46c6bbe8656c9e0260c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 19 15:48:01 2012 +0100 + + dash: Use a epsilon compare for stepping the dash + + Due to rounding errors that may creep in comparing against 0.0 is + dangerous and may result in an infinite loop whilst generating dashes + that consumes all memory. + + Reported-and-tested-by: Uli Schlachter <psychon@znc.in> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-fixed-private.h | 2 ++ + src/cairo-stroke-dash.c | 2 +- + 2 files changed, 3 insertions(+), 1 deletion(-) + +commit 57cfdfd9796531a576060e9304715920e0fdb8fe +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 19 11:59:54 2012 +0100 + + Split cairo-list into struct+inlines + + References: https://bugs.freedesktop.org/show_bug.cgi?id=48577 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 1 + + src/cairo-botor-scan-converter.c | 2 +- + src/cairo-gstate.c | 1 + + src/cairo-list-inline.h | 209 +++++++++++++++++++++++++++++++++++++ + src/cairo-list-private.h | 167 ----------------------------- + src/cairo-observer.c | 2 + + src/cairo-path-fixed.c | 1 + + src/cairo-pattern-inline.h | 2 + + src/cairo-pattern.c | 1 + + src/cairo-ps-surface.c | 1 + + src/cairo-rtree-private.h | 2 +- + src/cairo-scaled-font.c | 1 + + src/cairo-script-surface.c | 2 +- + src/cairo-surface-observer.c | 1 + + src/cairo-surface.c | 1 + + src/cairo-xcb-connection.c | 2 +- + src/cairo-xcb-screen.c | 1 + + src/cairo-xcb-shm.c | 1 + + src/cairo-xcb-surface-render.c | 1 + + src/cairo-xcb-surface.c | 1 + + src/cairo-xlib-display.c | 1 + + src/cairo-xlib-render-compositor.c | 1 + + src/cairo-xlib-screen.c | 1 + + src/cairo-xlib-surface.c | 1 + + src/cairo-xlib-xcb-surface.c | 1 + + 25 files changed, 234 insertions(+), 171 deletions(-) + +commit df62accbda19276c68753e799a32443b47d4e939 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 19 11:59:54 2012 +0100 + + Split cairo-surface-subsurface-private into struct+inlines + + References: https://bugs.freedesktop.org/show_bug.cgi?id=48577 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 1 + + src/cairo-analysis-surface.c | 2 +- + src/cairo-cogl-surface.c | 2 +- + src/cairo-gl-operand.c | 2 +- + src/cairo-paginated-surface.c | 2 +- + src/cairo-surface-observer.c | 2 +- + src/cairo-surface-subsurface-inline.h | 72 ++++++++++++++++++++++++++++++++++ + src/cairo-surface-subsurface-private.h | 32 +-------------- + src/cairo-xlib-source.c | 2 +- + 9 files changed, 80 insertions(+), 37 deletions(-) + +commit 590202dbfba709cfdd8ad3c241e7af06b3c542e9 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 19 11:59:54 2012 +0100 + + Split cairo-error-private into struct+inlines + + References: https://bugs.freedesktop.org/show_bug.cgi?id=48577 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 1 + + src/cairo-error-inline.h | 52 +++++++++++++++++++++++++++++++++++++++++++++++ + src/cairo-error-private.h | 7 ------- + 3 files changed, 53 insertions(+), 7 deletions(-) + +commit 2e7d60e0a29494d94a05205ec83f3dae2041811f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 19 11:59:54 2012 +0100 + + Split cairo-pattern-private into struct+inlines + + References: https://bugs.freedesktop.org/show_bug.cgi?id=48577 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 1 + + src/cairo-image-source.c | 2 +- + src/cairo-mask-compositor.c | 2 +- + src/cairo-pattern-inline.h | 63 ++++++++++++++++++++++++++++++++++++++++++++ + src/cairo-pattern-private.h | 20 -------------- + src/cairo-spans-compositor.c | 2 +- + src/cairo-traps-compositor.c | 2 +- + src/cairo-xlib-source.c | 2 +- + 8 files changed, 69 insertions(+), 25 deletions(-) + +commit 306117ea7c69f9125fa062e4c5e5f9086b98d832 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 19 11:59:54 2012 +0100 + + Split cairo-recording-surface-private into struct+inlines + + References: https://bugs.freedesktop.org/show_bug.cgi?id=48577 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 1 + + src/cairo-beos-surface.cpp | 1 + + src/cairo-cogl-surface.c | 2 +- + src/cairo-gl-surface-legacy.c | 1 + + src/cairo-image-surface-inline.h | 82 +++++++++++++++++++++++++++++++++++++++ + src/cairo-image-surface-private.h | 35 ----------------- + src/cairo-image-surface.c | 10 ++--- + src/cairo-skia-surface.cpp | 1 + + src/cairo-surface.c | 2 +- + src/cairo-tee-surface.c | 2 +- + src/drm/cairo-drm-surface.c | 1 + + src/skia/cairo-skia-context.cpp | 1 + + 12 files changed, 96 insertions(+), 43 deletions(-) + +commit 8653c2692e684a60370b99e545123ba2a7b00bc8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 19 11:59:54 2012 +0100 + + Split cairo-recording-surface-private into struct+inlines + + References: https://bugs.freedesktop.org/show_bug.cgi?id=48577 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 2 + + src/cairo-analysis-surface.c | 4 +- + src/cairo-image-source.c | 2 +- + src/cairo-pattern.c | 4 +- + src/cairo-pdf-surface.c | 2 +- + src/cairo-ps-surface.c | 2 +- + src/cairo-recording-surface-inline.h | 68 ++++++++++++++++++++++++++++++++ + src/cairo-recording-surface-private.h | 26 ------------ + src/cairo-recording-surface.c | 2 +- + src/cairo-script-surface.c | 4 +- + src/cairo-spans-compositor.c | 2 +- + src/cairo-surface-snapshot-inline.h | 2 +- + src/cairo-surface-snapshot-private.h | 18 --------- + src/cairo-surface-snapshot.c | 2 +- + src/cairo-svg-surface.c | 2 +- + src/cairo-tee-surface.c | 2 +- + src/cairo-traps-compositor.c | 4 +- + src/cairo-vg-surface.c | 2 +- + src/cairo-xcb-surface-render.c | 4 +- + src/cairo-xlib-source.c | 2 +- + src/cairo-xml-surface.c | 2 +- + src/win32/cairo-win32-printing-surface.c | 2 +- + 22 files changed, 93 insertions(+), 67 deletions(-) + +commit 3266f936dee59b7c3a990e518899a72d0e103f62 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 19 11:59:54 2012 +0100 + + Split cairo-surface-snapshot-private into struct+inlines + + References: https://bugs.freedesktop.org/show_bug.cgi?id=48577 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface-snapshot-inline.h | 59 +++++++++++++++++++++++++++++++++++++ + 1 file changed, 59 insertions(+) + +commit 356c7cb2e3da8d95a4bc6c40d0b1895657fd59ce +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 19 11:59:54 2012 +0100 + + Split cairo-surface-observer-private into struct+inlines + + References: https://bugs.freedesktop.org/show_bug.cgi?id=48577 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 1 + + src/cairo-surface-observer-inline.h | 59 ++++++++++++++++++++++++++++++++++++ + src/cairo-surface-observer-private.h | 21 +------------ + src/cairo-surface-observer.c | 1 + + 4 files changed, 62 insertions(+), 20 deletions(-) + +commit f3623cf0220aa32c12c3ba3988a5dfef6605d6b3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 19 11:59:54 2012 +0100 + + Split cairo-surface-private into struct+inlines + + References: https://bugs.freedesktop.org/show_bug.cgi?id=48577 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 1 + + src/cairo-surface-inline.h | 52 ++++++++++++++++++++++++++++++++++ + src/cairo-surface-private.h | 9 ------ + src/win32/cairo-win32-gdi-compositor.c | 1 + + 4 files changed, 54 insertions(+), 9 deletions(-) + +commit 6736d0bf000a42ce426b45c923d7066bf0a27089 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 19 11:59:54 2012 +0100 + + Split cairo-contour-privates into struct+inlines + + References: https://bugs.freedesktop.org/show_bug.cgi?id=48577 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 1 + + src/cairo-contour-inline.h | 80 +++++++++++++++++++++++++++++++++++++++++ + src/cairo-contour-private.h | 35 ------------------ + src/cairo-contour.c | 1 + + src/cairo-path-stroke-polygon.c | 1 + + 5 files changed, 83 insertions(+), 35 deletions(-) + +commit afa180935bedb5c3db06706d893b2bcd89b2215b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 19 11:59:54 2012 +0100 + + Split cairo-combsort-privates into struct+inlines + + References: https://bugs.freedesktop.org/show_bug.cgi?id=48577 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 2 +- + src/cairo-bentley-ottmann-rectangular.c | 2 +- + src/cairo-bentley-ottmann-rectilinear.c | 2 +- + src/cairo-bentley-ottmann.c | 2 +- + src/cairo-botor-scan-converter.c | 2 +- + src/cairo-boxes-intersect.c | 2 +- + src/{cairo-combsort-private.h => cairo-combsort-inline.h} | 0 + src/cairo-contour.c | 2 +- + src/cairo-polygon-intersect.c | 2 +- + src/cairo-polygon-reduce.c | 2 +- + src/cairo-recording-surface.c | 2 +- + src/cairo-rectangular-scan-converter.c | 2 +- + src/cairo-surface-observer.c | 2 +- + 13 files changed, 12 insertions(+), 12 deletions(-) + +commit 0770dda52be9c1bf464a84cb5566ef46d7e9df5a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 19 11:59:54 2012 +0100 + + Split cairo-clip-privates into struct+inlines + + References: https://bugs.freedesktop.org/show_bug.cgi?id=48577 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 1 + + src/cairo-clip-boxes.c | 1 + + src/cairo-clip-inline.h | 83 ++++++++++++++++++++++++++++++++++ + src/cairo-clip-polygon.c | 1 + + src/cairo-clip-private.h | 42 ----------------- + src/cairo-clip.c | 1 + + src/cairo-composite-rectangles.c | 1 + + src/cairo-default-context.c | 1 + + src/cairo-gstate.c | 1 + + src/cairo-mask-compositor.c | 1 + + src/cairo-spans-compositor.c | 1 + + src/cairo-surface-clipper.c | 1 + + src/cairo-surface-offset.c | 1 + + src/cairo-surface-subsurface.c | 1 + + src/cairo-surface-wrapper.c | 1 + + src/cairo-surface.c | 1 + + src/cairo-traps-compositor.c | 1 + + src/cairo-xcb-surface-render.c | 1 + + src/cairo-xlib-core-compositor.c | 1 + + src/win32/cairo-win32-gdi-compositor.c | 1 + + 20 files changed, 101 insertions(+), 42 deletions(-) + +commit e9c9e28cd19df8a5875f62fc74087500182399f0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 19 11:59:54 2012 +0100 + + Split cairo-box-privates into struct+inlines + + References: https://bugs.freedesktop.org/show_bug.cgi?id=48577 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 2 +- + src/cairo-analysis-surface.c | 2 +- + src/{cairo-box-private.h => cairo-box-inline.h} | 0 + src/cairo-boxes.c | 2 +- + src/cairo-clip-boxes.c | 2 +- + src/cairo-cogl-surface.c | 2 +- + src/cairo-path-bounds.c | 2 +- + src/cairo-path-fixed.c | 2 +- + src/cairo-path-stroke-boxes.c | 2 +- + src/cairo-path-stroke-polygon.c | 2 +- + src/cairo-path-stroke-tristrip.c | 2 +- + src/cairo-path-stroke.c | 2 +- + src/cairo-rectangle.c | 2 +- + src/cairo-spline.c | 2 +- + src/cairo-traps-compositor.c | 2 +- + 15 files changed, 14 insertions(+), 14 deletions(-) + +commit f830268b952ecd06bf3adf7bf62dc4b5c4139e5c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 19 12:04:01 2012 +0100 + + boxes: Remove unused inline function + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-boxes-private.h | 8 -------- + 1 file changed, 8 deletions(-) + +commit 9417fec04a172a7c44be38c1b3d032c3fee4f0d6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Apr 18 20:44:43 2012 +0100 + + image: Split inline SRC composition + + Currently we construct a mask for the entire line and try to process it + in one call to pixman (two without the LERP operator). An alternative + approach is split the row into separate composite operations for the + clear (which we can skip), fully opaque and partial spans. + + As the source operator is typically mostly opaque or clear, this is a + good win as we are able to utilise more fast paths. In the worst case, + it degrades to the old method of constructing a whole mask for a row. + It may reduce performance for having to process lots of spans though + (this is where the pixman spans interface should help). However, such + geometry is rare and typically handled elsewhere. + + And the existing code has a bug where it was clearing the destination + for clear regions of the mask outside of the spans. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 154 +++++++++++++++++++++++++++---------------- + 1 file changed, 96 insertions(+), 58 deletions(-) + +commit 70fc52cb80f21fff0ba960236f24b997692cce64 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Apr 18 15:24:41 2012 +0100 + + stroke(boxes): Apply user scale factors to dash segments + + Fixes tests/rectilinear-dash-scale* + + Reported-by: Guillaume Ayoub <xovni@wanadoo.fr> + Reported-by: Carlos Garcia Campos <carlosgc@gnome.org> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48818 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-stroke-boxes.c | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +commit 5ff32f70c14d89cb776a1a9da91089c258dbbf68 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Apr 18 15:20:57 2012 +0100 + + test: Add rectilinear-dash-scale + + Exercise rectilinear dashes under a non-uniform scale factors. + + References: https://bugs.freedesktop.org/show_bug.cgi?id=48818 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.sources | 1 + + test/rectilinear-dash-scale.c | 196 +++++++++++++++++++++ + .../rectilinear-dash-scale-unaligned.ref.png | Bin 0 -> 5010 bytes + .../rectilinear-dash-scale-unaligned.traps.ref.png | Bin 0 -> 4552 bytes + test/reference/rectilinear-dash-scale.ref.png | Bin 0 -> 921 bytes + 5 files changed, 197 insertions(+) + +commit 4f125a1bd069095f3a97f009e7d7af2681353fb1 +Author: Nis Martensen <nis.martensen@web.de> +Date: Thu Apr 12 23:20:59 2012 +0200 + + typo + + doc/public/check-doc-coverage.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 905a88bf517bdc1b110587551ea7f1739bd90627 +Author: Nis Martensen <nis.martensen@web.de> +Date: Fri Apr 13 20:22:59 2012 +0200 + + doc: add missing chapters + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + doc/public/cairo-docs.xml | 3 +++ + 1 file changed, 3 insertions(+) + +commit 80d1e68bb31be030f8102f28545bb622fa2050d8 +Author: Nis Martensen <nis.martensen@web.de> +Date: Fri Apr 13 20:36:03 2012 +0200 + + doc: do not use / in section title + + The Title: field is used to determine the file name of the generated + html. Due to the slash a subdirectory is created and all relative links + in the generated file are broken. + + Use a hyphen instead. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xlib-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 40d6c580cd029f3d330ba28a7728ff36498920cb +Author: Javier Jardón <jjardon@gnome.org> +Date: Tue Sep 13 16:30:10 2011 +0100 + + configure.ac: Do not generate template files when building docs + + It's not needed as all the api documentation is inline + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 7b25b2eb4b83f411935e51ed398cebfb3a9c3c59 +Author: Javier Jardón <jjardon@gnome.org> +Date: Tue Sep 13 16:20:12 2011 +0100 + + autogen.sh: User autoreconf instead custom script + + autogen.sh | 194 +++++-------------------------------------------------------- + 1 file changed, 14 insertions(+), 180 deletions(-) + +commit aa90a8f84f7dff67d57a8c0863331bf04e3b546e +Author: Javier Jardón <jjardon@gnome.org> +Date: Tue Sep 13 16:15:49 2011 +0100 + + configure.ac: generate xz tarballs by default + + build/Makefile.am.releasing | 2 +- + configure.ac | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +commit 3616a5f992e6d12fc7f005b7b67ab2101d248470 +Author: Javier Jardón <jjardon@gnome.org> +Date: Tue Sep 13 16:13:41 2011 +0100 + + configure.ac: Update autotools configuration + + Do not use autoconf deprecated macros + Use new libtool syntax + honor aclocal flags + + Makefile.am | 2 +- + configure.ac | 16 +++++++++++----- + 2 files changed, 12 insertions(+), 6 deletions(-) + +commit 93d42e82a43a0e2f531331b127ec82d8a3b6eded +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Apr 14 14:52:42 2012 +0100 + + Revert accidental push of ps debugging API. + + This reverts commits + 6ad8c96fd81e06cea6ada4a83e7c5614f150f914, + a3f97d1d2e77a0fee4ca03d5dc9968952a440561, + 25abe582982caeb07d1e0af4acca53bb110a33bf + + I should know better by now than to push without checking for outstanding + changes. + + boilerplate/cairo-boilerplate-pdf.c | 19 ++++++++++----- + boilerplate/cairo-boilerplate-ps.c | 40 +++++++++++++++++++++++++------ + src/cairo-pdf-surface.c | 21 ---------------- + src/cairo-pdf.h | 5 ---- + src/cairo-ps-surface.c | 48 ------------------------------------- + src/cairo-ps.h | 10 -------- + 6 files changed, 46 insertions(+), 97 deletions(-) + +commit d486ea30f1a58640a1178de74f705a73845b1cda +Author: Marcus Meissner <meissner@suse.de> +Date: Sat Apr 14 14:47:02 2012 +0100 + + configure: Conditionally include -flto + + As some systems fail to create working binaries with when linked with + lto, perform a check during configure. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=39114 + + build/configure.ac.warnings | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +commit 25abe582982caeb07d1e0af4acca53bb110a33bf +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 12 10:51:38 2012 +0100 + + pdf (debug API): Export the ability to force fallbacks + + We need to occasionally force fallbacks whilst testing the PDF + output, so export a debug interface to do so in order to avoid poking + around inside cairo internals. + + References: https://bugs.freedesktop.org/show_bug.cgi?id=48577 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + boilerplate/cairo-boilerplate-pdf.c | 19 ++++++------------- + src/cairo-pdf-surface.c | 21 +++++++++++++++++++++ + src/cairo-pdf.h | 5 +++++ + 3 files changed, 32 insertions(+), 13 deletions(-) + +commit a3f97d1d2e77a0fee4ca03d5dc9968952a440561 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 12 10:51:38 2012 +0100 + + ps (debug API): Export the ability to force fallbacks + + We need to occasionally force fallbacks whilst testing the PostScript + output, so export a debug interface to do so in order to avoid poking + around inside cairo internals. + + References: https://bugs.freedesktop.org/show_bug.cgi?id=48577 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + boilerplate/cairo-boilerplate-ps.c | 20 ++++++-------------- + src/cairo-ps-surface.c | 21 +++++++++++++++++++++ + src/cairo-ps.h | 3 +++ + 3 files changed, 30 insertions(+), 14 deletions(-) + +commit 6ad8c96fd81e06cea6ada4a83e7c5614f150f914 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 12 10:51:38 2012 +0100 + + ps (API): Export the ability to set the creation date of the surface + + A PostScript surface embeds a CreationDate comment into its document + description pre-amble. Normally this is set to the time the surface is + written out, except we set this to a constant value in the boilerplate + for the purposes of mimicking a reference file. It may also be useful + for external applications, so make it a public export. + + References: https://bugs.freedesktop.org/show_bug.cgi?id=48577 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + boilerplate/cairo-boilerplate-ps.c | 20 +------------------- + src/cairo-ps-surface.c | 27 +++++++++++++++++++++++++++ + src/cairo-ps.h | 7 +++++++ + 3 files changed, 35 insertions(+), 19 deletions(-) + +commit bf5adaf3942388e58ad3bda30173e53b214df885 +Author: Nis Martensen <nis.martensen@web.de> +Date: Tue Apr 10 22:09:23 2012 +0200 + + doc: add returns statement to cairo_surface_supports_mime_type + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-surface.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit a6a5b1fd0b0e32bc03e4742a0441d03e352ea8bc +Author: Nis Martensen <nis.martensen@web.de> +Date: Tue Apr 10 22:02:54 2012 +0200 + + doc: no separate cairo-xcb-xrender section + + There is already a cairo-xcb section and there are no symbols that + should be documented in an extra -xrender section. It is not mentioned + in cairo-sections.txt either. So simply delete it. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 13 ------------- + 1 file changed, 13 deletions(-) + +commit c04f5a353f0b05326915f370b05480eeda27ebac +Author: Nis Martensen <nis.martensen@web.de> +Date: Sun Mar 11 00:36:58 2012 +0100 + + add unused symbols to sections doc + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + doc/public/cairo-sections.txt | 32 +++++++++++++++++++++++++++++++- + 1 file changed, 31 insertions(+), 1 deletion(-) + +commit 07fc63676dfdaa57ed919ad7be8f59c97c615473 +Author: Uli Schlachter <psychon@znc.in> +Date: Wed Apr 11 21:37:55 2012 +0200 + + xlib: Disable fallback compositor with xlib-xcb + + When xlib-xcb is enabled, this is just dead code which is never used. Thus, this + shouldn't hurt. However, this does include cairo-xlib-private.h. Shouldn't be a + problem? Well, that header contains static inline functions which some compiler + on Solaris will emit even when they are unused. + + This brings us to the real problem: That static inline function refers to a + function which isn't compiled with xlib-xcb and thus linking fails with + undefined symbols. + + This can be reproduced with GCC by adding a call to + _cairo_xlib_screen_put_gc(NULL, NULL, 0, 0); to + _cairo_xlib_fallback_compositor_get. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48489 + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xlib-fallback-compositor.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 09de481ce5f6ed1c38c0d5bf3af7c60642c4c947 +Author: Gilles Espinasse <g.esp@free.fr> +Date: Sat Apr 7 23:09:51 2012 +0200 + + Cosmetic configure fix + + 'how to allow undefined symbols in shared libraries' test should use CAIRO_CC_TRY_FLAG_SILENT or configure display is a bit out of order like this + + checking how to allow undefined symbols in shared libraries used by test suite... checking whether gcc supports -Wl,--allow-shlib-undefined... yes + -Wl,--allow-shlib-undefined + + Signed-off-by: Gilles Espinasse <g.esp@free.fr> + Signed-off-by: Uli Schlachter <psychon@znc.in> + + build/configure.ac.warnings | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c7b86ab97be1d3d3ccf43b652832f148a2fcf290 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Apr 10 22:34:05 2012 +0930 + + any2ppm: fix missing enumeration warning + + test/any2ppm.c | 1 + + 1 file changed, 1 insertion(+) + +commit b74e8ebd50da443537a031132ebc86728f79e5f5 +Author: Maarten Bosmans <mkbosmans@gmail.com> +Date: Mon Apr 9 21:33:52 2012 +0200 + + Add _cairo_win32_print_gdi_error to boilerplate code + + This function is not exported in libcairo, so can't be used from the + library. + + boilerplate/cairo-boilerplate-win32-printing.c | 30 ++++++++++++++++++++++++-- + 1 file changed, 28 insertions(+), 2 deletions(-) + +commit 0bb3e0769a49f639ae86a9577394fc51709441f5 +Author: Maarten Bosmans <mkbosmans@gmail.com> +Date: Mon Apr 9 21:33:51 2012 +0200 + + test: Only use alarm() when SIGALRM is also defined + + On some platforms (mingw) the alarm() configure check succeeds, but the + alarm function doesn't actually work. + + test/cairo-test.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 9fcbe25c2dcf831783bb0fd20af9754c0b5c409b +Author: Maarten Bosmans <mkbosmans@gmail.com> +Date: Mon Apr 9 21:33:50 2012 +0200 + + Protect code using dlfcn.h with CAIRO_HAS_DLSYM + + configure.ac | 1 + + util/Makefile.am | 4 ++++ + 2 files changed, 5 insertions(+) + +commit 3f32419257bb2e380dd63a3b1a850b512a617776 +Author: Maarten Bosmans <mkbosmans@gmail.com> +Date: Mon Apr 9 21:33:49 2012 +0200 + + test: Give some functions in any2ppm a prefix + + The function name _write is too generic and can clash with already + defined functions. + + test/any2ppm.c | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +commit 038e4991912656a3239ca82d60056ca129016ba6 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Mon Apr 9 18:01:44 2012 +0930 + + pdf: avoid unnecessary use of patterns in mask groups + + src/cairo-pdf-surface.c | 188 +++++++++++++++++++++++++++--------------------- + 1 file changed, 106 insertions(+), 82 deletions(-) + +commit 2007f0eccec5df72b7069fc43878fa0c1ce89527 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Mon Apr 9 20:03:15 2012 +0930 + + test: disable subsurface tests with vector backends + + due to a subsurface snapshot bug causing recursion in the pdf backend. + + test/subsurface-image-repeat.c | 2 +- + test/subsurface-modify-child.c | 2 +- + test/subsurface-modify-parent.c | 2 +- + test/subsurface-outside-target.c | 2 +- + test/subsurface-pad.c | 2 +- + test/subsurface-reflect.c | 2 +- + test/subsurface-repeat.c | 2 +- + test/subsurface-scale.c | 2 +- + test/subsurface-similar-repeat.c | 2 +- + test/subsurface.c | 2 +- + 10 files changed, 10 insertions(+), 10 deletions(-) + +commit 7cb5053c0694992320b5f7ea3b91ea497431813b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Apr 9 12:49:20 2012 +0100 + + analysis: Apply the integer translation to the bbox as well + + The bbox is used to compute the ink extents (and so the pattern extents + of a recording surface) and if given an integer translation we failed to + transform the bbox into the target space. + + Fixes mask (pdf). + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-analysis-surface.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +commit de61681574eb7d6e0e497ea7f25797e3d9b20ac4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Apr 9 12:47:34 2012 +0100 + + build: Disable -Wset-but-unused-variable + + This is too noisy in the current build, and masking more important + warnings. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + build/configure.ac.warnings | 5 +++++ + 1 file changed, 5 insertions(+) + +commit 113ec6bf0c8ed1ff12293d1ed2a2de9bd5b9904b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Apr 8 17:58:13 2012 +0100 + + traps: Clip the trapezoid extents against the clip extents + + Just in case the clip polygon turns out to be much larger than the + operation extents (silly us for not reducing it correctly) and lead to + catastrophe, such as: + + Program received signal SIGSEGV, Segmentation fault. + pixman_fill_sse2 (bits=<optimized out>, stride=4, bpp=8, x=0, y=0, + width=3, height=-34811, data=0) at pixman-sse2.c:3369 + 3369 *(uint16_t *)d = data; + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-traps-compositor.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +commit 6f28f0b33cb12f3b2dd48c87da0018bd00c17107 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Apr 8 11:28:59 2012 +0100 + + stroke: Fix misuse of half_line_x for vertical caps on dashes + + A typo using half_line_x instead of half_line_y when emitting dashed + segments of the rectilinear stroke. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-stroke-boxes.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 8657ca10e34b0034602680b4304d47ecf90ccbfd +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Apr 6 21:20:40 2012 +0930 + + fix _cairo_pattern_get_ink_extents to work with snapshot recording surfaces + + It had caused pdf bbox sizes to regress to page size bboxes. + + src/cairo-pattern.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 8886220b5027296f5b3b95e9c2f93509108d3b9e +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Apr 6 09:43:53 2012 +0930 + + type1-subset: if font name is prefixed with a subset tag, strip it off + + src/cairo-type1-subset.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +commit a6d955fcc46ae2da8d6f3b2cadeae64c03066461 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Apr 6 09:23:50 2012 +0930 + + fix indentation in cairo_type1_font_subset_parse_charstring + + src/cairo-type1-subset.c | 147 ++++++++++++++++++++++++----------------------- + 1 file changed, 74 insertions(+), 73 deletions(-) + +commit 70b2856ed3d31b41e69b3d82fb9c5c11c2b3d3d4 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Apr 6 09:13:35 2012 +0930 + + type1-subset: use fallback font if glyph widths are calculated + + Bug 48349 has a pdf file with a Type 1 font where the glyph widths are + of the form: + + 34 9302 19 div hsbw + + src/cairo-type1-subset.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 7a262fd398c8a1f3c9052e8d9ec459e27ff91b4d +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Wed Apr 4 19:53:09 2012 +0930 + + fix bug in _cairo_image_analyze_color + + src/cairo-image-surface.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit cc247c346b75353f16ab40ac74c54cdd9663d16b +Author: Henry (Yu) Song <hsong@sisa.samsung.com> +Date: Mon Apr 2 14:29:47 2012 -0700 + + gl: Remove an unused variable + + src/cairo-gl-gradient.c | 1 - + 1 file changed, 1 deletion(-) + +commit c77112c5464d7ff21052527f82f4d729cc509291 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Apr 2 20:43:00 2012 +0200 + + xcb: Fix SHM in _get_image() + + Commit 2283ab9 introduced a logic error. Instead of falling back to the non-SHM + path when getting the image via SHM failed, we now did the fallback when getting + the image via SHM worked (which means that the SHM operation was a waste of + time). + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d18542b735bb777b444152f0ef06de18993635bd +Author: Kalev Lember <kalevlember@gmail.com> +Date: Wed Mar 28 19:47:24 2012 +0300 + + win32: Avoid redefining ssize_t + + ... if it's already defined by system headers. mingw-w64 includes a + ssize_t definition, so we'll have to make sure not to redefine it in + that case. + + util/cairo-missing/cairo-missing.h | 2 ++ + 1 file changed, 2 insertions(+) + +commit a965b0f95fdeb567f7ccb51f7c8c47735a61e2d9 +Author: Henry (Yu) Song <hsong@sisa.samsung.com> +Date: Thu Mar 29 01:08:51 2012 +0000 + + gl: fix y-axis origin when map_to_image() for non texture GL surface + + We need to fix y-axis origin when map a GL surface to image surface for + non-texture GL surface. + + Test cases: extended-blend-alpha-mask, extended-blend-mask. + Although the image outputs is not right, but the image on the first grid + (upper-left corner) is correct comparing to image output. + + src/cairo-gl-surface.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +commit af6e084dd78fcbb8ecce46c57f655f5e24343b8c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Mar 29 14:48:24 2012 +0100 + + cairoint: Mark PDF surface as requiring the deflate stream output + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairoint.h | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +commit 169cc39dff6f49af6e39281912e577b0d6bda8ea +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Mar 29 11:58:35 2012 +0100 + + test: update two reference images highlighted to be wrong due to source extents + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/reference/operator-source.argb32.ref.png | Bin 5625 -> 5612 bytes + test/reference/operator-source.rgb24.ref.png | Bin 3967 -> 3975 bytes + test/reference/overlapping-boxes.argb32.ref.png | Bin 192 -> 179 bytes + test/reference/overlapping-boxes.rgb24.ref.png | Bin 185 -> 170 bytes + 4 files changed, 0 insertions(+), 0 deletions(-) + +commit f0e40af05b81bf26dcf36cb262c34603b6420d1c +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Mar 27 11:32:55 2012 +0200 + + doc: Silence last 'missing Since field' errors + + Some APIs are public but not yet supported, hence they might chenge + without notice. State their "Since" status as "to be determined". + + src/cairo-beos-surface.cpp | 4 ++++ + src/cairo-gl-surface.c | 2 ++ + 2 files changed, 6 insertions(+) + +commit 5174c585def3e2ec06a4679644973a489f92bef2 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Mar 24 17:58:57 2012 +0100 + + doc: Silence warnings about 'Since' field in private functions + + A 'Since' field on non-public functions is not very meaningful, + because their signature, implementation and semantic is subject to + change without any visibility outside of cairo. + + src/cairo-font-options.c | 8 -------- + 1 file changed, 8 deletions(-) + +commit dc1f5f1b002dd61c4c7b27dbaadb9f52dd34ec14 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Feb 16 14:30:08 2012 +0100 + + doc: Add since documentation for enumeration values + + src/cairo-pdf.h | 4 +- + src/cairo-ps.h | 4 +- + src/cairo-region.c | 8 +- + src/cairo-script.h | 4 +- + src/cairo-svg.h | 4 +- + src/cairo.h | 265 +++++++++++++++++++++++++++-------------------------- + 6 files changed, 145 insertions(+), 144 deletions(-) + +commit 2470065edf80fa3a41159990a5dac3e45ac80a09 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Mar 27 11:47:11 2012 +0200 + + doc: Fix some wrong versions + + The script from the previous commit reported that some 'Since' fields + indicate incorrect versions. + + src/cairo-quartz-surface.c | 6 +++--- + src/cairo-script-surface.c | 2 +- + src/cairo-script.h | 2 +- + 3 files changed, 5 insertions(+), 5 deletions(-) + +commit 1d3d64469f3ddac282860f66b24a35cf2253fa46 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Tue Mar 27 11:48:19 2012 +0200 + + doc: Add "since" tag to documentation + + The following Python script was used to compute "Since: 1.X" tags, + based on the first version where a symbol became officially supported. + + This script requires a concatenation of the the cairo public headers + for the officially supported beckends to be available as + "../../includes/1.X.0.h". + + from sys import argv + import re + + syms = {} + + def stripcomments(text): + def replacer(match): + s = match.group(0) + if s.startswith('/'): + return "" + else: + return s + pattern = re.compile( + r'//.*?$|/\*.*?\*/|\'(?:\\.|[^\\\'])*\'|"(?:\\.|[^\\"])*"', + re.DOTALL | re.MULTILINE + ) + return re.sub(pattern, replacer, text) + + for minor in range(12,-2,-2): + version = "1.%d" % minor + names = re.split('([A-Za-z0-9_]+)', stripcomments(open("../../includes/%s.0.h" % version).read())) + for s in names: syms[s] = version + + for filename in argv[1:]: + is_public = False + lines = open(filename, "r").read().split("\n") + newlines = [] + for i in range(len(lines)): + if lines[i] == "/**": + last_sym = lines[i+1][2:].strip().replace(":", "") + is_public = last_sym.lower().startswith("cairo") + elif is_public and lines[i] == " **/": + if last_sym in syms: + v = syms[last_sym] + if re.search("Since", newlines[-1]): newlines = newlines[:-1] + if newlines[-1].strip() != "*": newlines.append(" *") + newlines.append(" * Since: %s" % v) + else: + print "%s (%d): Cannot determine the version in which '%s' was introduced" % (filename, i, last_sym) + newlines.append(lines[i]) + + out = open(filename, "w") + out.write("\n".join(newlines)) + out.close() + + src/cairo-debug.c | 2 + + src/cairo-font-face.c | 10 ++ + src/cairo-font-options.c | 30 ++++++ + src/cairo-ft-font.c | 14 +++ + src/cairo-image-surface.c | 8 ++ + src/cairo-matrix.c | 24 +++++ + src/cairo-misc.c | 2 + + src/cairo-path.c | 2 + + src/cairo-pattern.c | 32 ++++++ + src/cairo-pdf-surface.c | 2 + + src/cairo-pdf.h | 2 +- + src/cairo-png.c | 10 ++ + src/cairo-ps-surface.c | 2 + + src/cairo-ps.h | 2 + + src/cairo-quartz-font.c | 2 + + src/cairo-quartz-surface.c | 2 + + src/cairo-region.c | 2 + + src/cairo-scaled-font.c | 12 +++ + src/cairo-script-surface.c | 16 +++ + src/cairo-surface.c | 26 +++++ + src/cairo-svg-surface.c | 2 + + src/cairo-svg.h | 2 + + src/cairo-version.c | 16 +++ + src/cairo-xlib-surface.c | 14 +++ + src/cairo.c | 174 ++++++++++++++++++++++++++++++++ + src/cairo.h | 66 ++++++++++++ + src/win32/cairo-win32-display-surface.c | 4 + + src/win32/cairo-win32-font.c | 14 +++ + src/win32/cairo-win32-surface.c | 2 + + 29 files changed, 495 insertions(+), 1 deletion(-) + +commit 79740139e05375c4ce3542b571bc6a1e9d9137a7 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Feb 16 18:52:16 2012 +0100 + + doc: Do not use the '@' prefix on some tags + + Make the 'Since' and 'Returns' tags consistent by removing the '@' + prefix. + + Fixes some "missing 'Since' field" warnings. + + src/cairo-image-surface.c | 2 +- + src/cairo-script-surface.c | 2 +- + src/cairo-surface.c | 10 +++++----- + src/cairo-user-font.c | 2 +- + src/cairo-version.c | 8 ++++---- + 5 files changed, 12 insertions(+), 12 deletions(-) + +commit bbafcb3de8c01e2946e565f6ec7e31a3b325dbad +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Feb 16 18:53:14 2012 +0100 + + doc: Make the documentation name match the function name + + Fixes the 'symbol not found' errors caused by mismatches between the + documentation name and the name in the code. + + src/cairo-scaled-font-subsets-private.h | 8 ++++---- + src/cairo-traps.c | 2 +- + src/cairo-xlib-display.c | 2 +- + 3 files changed, 6 insertions(+), 6 deletions(-) + +commit 7f635e4ead0c5bc689438a3c52742feba92c09ed +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Mar 24 17:48:07 2012 +0100 + + doc: Make doc ids more consistent my always putting ':' after them + + This makes the documentations comments more consistent and fixes many + reports of 'invalid doc id'. + + src/cairo-arc.c | 2 +- + src/cairo-gstate.c | 2 +- + src/cairo-path-stroke.c | 2 +- + src/cairo-pattern.c | 36 ++++++++++++++++++------------------ + src/cairo-quartz-font.c | 4 ++-- + src/cairo-quartz-surface.c | 6 +++--- + src/cairo-recording-surface.c | 2 +- + src/cairo-surface-snapshot.c | 2 +- + src/cairo-surface.c | 2 +- + src/cairo.c | 8 ++++---- + src/win32/cairo-win32-surface.c | 4 ++-- + 11 files changed, 35 insertions(+), 35 deletions(-) + +commit eaac0fa87e588c3e29c177baa016e754588ad6c2 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Mar 23 11:57:38 2012 +0100 + + doc: Manually fix remaining warnings about symmetry + + The Python script is unable to fix all of the warnings, because some + point to comments that are not actually documentation. + + Fixes the remaining 'documentation comment not closed with **/' + warnings. + + src/cairo-gl-surface-legacy.c | 2 +- + src/cairo-qt-surface.cpp | 2 +- + src/cairo-skia-surface.cpp | 4 ++-- + src/cairo-wideint.c | 3 ++- + 4 files changed, 6 insertions(+), 5 deletions(-) + +commit f717341ab9fec1f4a72fe18f5e712272c831d978 +Author: Andrea Canciani <ranma42@gmail.com> +Date: Thu Feb 16 00:31:47 2012 +0100 + + doc: Make documentation comments symmetric + + Documentation comments should always start with "/**" and end with + "**/". This is not required by gtk-doc, but it makes the + documentations formatting more consistent and simplifies the checking + of documentation comments. + + The following Python script tries to enforce this. + + from sys import argv + from sre import search + + for filename in argv[1:]: + in_doc = False + lines = open(filename, "r").read().split("\n") + for i in range(len(lines)): + ls = lines[i].strip() + if ls == "/**": + in_doc = True + elif in_doc and ls == "*/": + lines[i] = " **/" + if ls.endswith("*/"): + in_doc = False + + out = open(filename, "w") + out.write("\n".join(lines)) + out.close() + + This fixes most 'documentation comment not closed with **/' warnings + by check-doc-syntax.awk. + + src/cairo-beos-surface.cpp | 2 +- + src/cairo-device.c | 2 +- + src/cairo-font-face.c | 2 +- + src/cairo-font-options.c | 2 +- + src/cairo-ft-font.c | 6 +++--- + src/cairo-gl.h | 2 +- + src/cairo-gstate.c | 2 +- + src/cairo-image-surface.c | 4 ++-- + src/cairo-malloc-private.h | 10 +++++----- + src/cairo-matrix.c | 2 +- + src/cairo-misc.c | 14 +++++++------- + src/cairo-path-stroke.c | 2 +- + src/cairo-path.c | 2 +- + src/cairo-pattern.c | 12 ++++++------ + src/cairo-pdf-surface.c | 8 ++++---- + src/cairo-pdf.h | 2 +- + src/cairo-png.c | 4 ++-- + src/cairo-ps-surface.c | 6 +++--- + src/cairo-ps.h | 2 +- + src/cairo-quartz-font.c | 6 +++--- + src/cairo-quartz-image-surface.c | 2 +- + src/cairo-quartz-surface.c | 4 ++-- + src/cairo-recording-surface.c | 4 ++-- + src/cairo-region.c | 4 ++-- + src/cairo-scaled-font.c | 2 +- + src/cairo-script-surface.c | 4 ++-- + src/cairo-surface.c | 22 +++++++++++----------- + src/cairo-svg-surface.c | 6 +++--- + src/cairo-svg.h | 2 +- + src/cairo-types-private.h | 2 +- + src/cairo-user-font.c | 4 ++-- + src/cairo-version.c | 16 ++++++++-------- + src/cairo-xcb-surface-render.c | 2 +- + src/cairo-xcb-surface.c | 4 ++-- + src/cairo-xlib-surface.c | 8 ++++---- + src/cairo.c | 16 ++++++++-------- + src/cairo.h | 2 +- + src/win32/cairo-win32-display-surface.c | 4 ++-- + src/win32/cairo-win32-font.c | 4 ++-- + src/win32/cairo-win32-surface.c | 6 +++--- + 40 files changed, 105 insertions(+), 105 deletions(-) + +commit c0fc24c889b09b734383c9250a3663d83510479e +Author: Andrea Canciani <ranma42@gmail.com> +Date: Sat Mar 24 17:53:23 2012 +0100 + + doc: Make informational comments syntactically different from docs + + This avoids confusion with the documentation comments and fixes some + malformed docs reports. + + src/cairo-qt-surface.cpp | 30 +++++++++++++++--------------- + 1 file changed, 15 insertions(+), 15 deletions(-) + +commit 71123cffe0d10c71d1c7069a125024609ba60f1d +Author: Andrea Canciani <ranma42@gmail.com> +Date: Fri Mar 23 11:45:15 2012 +0100 + + doc: Add script to enforce stricter validation of documentation comments + + src/Makefile.am | 4 +- + src/check-doc-syntax.awk | 105 +++++++++++++++++++++++++++++++++++++++++++++++ + src/check-doc-syntax.sh | 4 ++ + 3 files changed, 111 insertions(+), 2 deletions(-) + +commit d304f0e57be8036719c3709e2419487326369105 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Mar 29 00:32:36 2012 +0100 + + composite-rectangles: Trim extents for SOURCE and CLEAR to the mask + + The SOURCE and CLEAR are the odd pair in Cairo's range of operators that + are bound by the shape/mask, but are unbound by the source. This + regularly leads to bugs as only track the bound/unbound rectangles and + confuse the meaning when bound only by the mask. + + What is required is that the unbound extents in this case is only + trimmed by the mask (the bounded extents are still the intersection of + all). + + Fixes bug-source-cu + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-composite-rectangles.c | 18 +++++++++++++++--- + 1 file changed, 15 insertions(+), 3 deletions(-) + +commit 5b3d878c82fc862038c8e6730f34de317d734bd0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Mar 29 00:47:37 2012 +0100 + + test: Add test case for tracking source operator extents + + test/Makefile.sources | 1 + + test/bug-source-cu.c | 81 ++++++++++++++++++++++ + test/reference/bug-source-cu.argb32.ref.png | Bin 0 -> 3815 bytes + test/reference/bug-source-cu.rgb24.ref.png | Bin 0 -> 3211 bytes + test/reference/bug-source-cu.traps.argb32.ref.png | Bin 0 -> 3816 bytes + test/reference/bug-source-cu.traps.rgb24.ref.png | Bin 0 -> 3212 bytes + 6 files changed, 82 insertions(+) + +commit fba21ef2a4c4eb343668267fda713aedbb6af2a4 +Author: Henry (Yu) Song <hsong@sisa.samsung.com> +Date: Tue Mar 27 21:25:37 2012 +0000 + + gl: use font's antialias option to check whether it needs mask + + There is need to loop over number of glyphs to check wether the glyph + image is a ARGB32 as the font's antialias option can be used for checking. + If antialias is SUBPIXEL or BEST, the glyph surface will be ARGB32, + otherwise it will be A8 format. Therefore we will only be using + component-alpha at SUBPIXEL (or better) font quality and only then need + a mask for multiple pass glyph composition. + + src/cairo-gl-glyphs.c | 24 ++++++++---------------- + 1 file changed, 8 insertions(+), 16 deletions(-) + +commit 06ffa0199c483e1e637f436079b1f2ed4c9e7baf +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Mar 27 21:23:30 2012 +0200 + + README: Note that xcb is no longer experimental + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + README | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +commit c4d1063e0310fa1b0c3ab749ed1b4e15431c450b +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Mar 26 20:17:10 2012 +0200 + + xcb/xlib: Add missing "Since: 1.12" + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-connection.c | 4 ++++ + src/cairo-xcb-surface.c | 12 ++++++++++++ + src/cairo-xlib-display.c | 2 ++ + 3 files changed, 18 insertions(+) + +commit f5f8915df25112ad895d85cb6255d0bf01e24c63 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Mar 25 15:11:57 2012 -0400 + + Fix another typo + + src/cairo-gl.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 81c848c83945c19c8cf769daeaa831c086c264f2 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Mar 25 15:02:36 2012 -0400 + + More typo fixes + + src/cairo-malloc-private.h | 22 +++++++++++----------- + 1 file changed, 11 insertions(+), 11 deletions(-) + +commit 73cde7a0f6d86f1e72d080757f863caddb0530e6 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Mar 25 15:00:44 2012 -0400 + + Fix typos + + src/cairo-malloc-private.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit ede11b2954db19e3ca9d31cef7d04a7bf0e42ddc +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Mar 25 14:37:14 2012 -0400 + + Fix math in comments + + src/cairo-arc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 2721d05d69e42eef592ea0394df89cdc91414330 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 22 13:02:44 2011 -0400 + + Typo + + src/cairo-arc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 841b4057bc7afdc9fbac36b178dd5f15bbfc0f90 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Mar 23 20:16:44 2012 +0000 + + version: Post release bump to 1.12.1 + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) |