summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2008-12-17 09:32:16 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2009-08-29 08:08:28 +0100
commitf8bb3617c3a7ec598c42eff1f8562e3ccc95127f (patch)
treef6c8f949ab44ca126053fb5cea2b9b88a4748cb8 /test
parent7c499db8afe8a7cf8c512ec166fe7dbf11a25c02 (diff)
Eliminate self-intersecting strokes.
We refactor the surface fallbacks to convert full strokes and fills to the intermediate polygon representation (as opposed to before where we returned the trapezoidal representation). This allow greater flexibility to choose how then to rasterize the polygon. Where possible we use the local spans rasteriser for its increased performance, but still have the option to use the tessellator instead (for example, with the current Render protocol which does not yet have a polygon image). In order to accommodate this, the spans interface is tweaked to accept whole polygons instead of a path and the tessellator is tweaked for speed. Performance Impact ================== ... Still measuring, expecting some severe regressions. ...
Diffstat (limited to 'test')
-rw-r--r--test/Makefile.am90
-rw-r--r--test/Makefile.sources3
-rw-r--r--test/caps-joins-alpha.ref.pngbin2463 -> 2570 bytes
-rw-r--r--test/caps-joins-alpha.xlib.ref.pngbin0 -> 2278 bytes
-rw-r--r--test/caps-joins-curve.ref.pngbin5132 -> 5725 bytes
-rw-r--r--test/caps-joins-curve.xlib.ref.pngbin0 -> 5126 bytes
-rw-r--r--test/clear.pdf.argb32.ref.pngbin0 -> 790 bytes
-rw-r--r--test/clear.ps.argb32.ref.pngbin0 -> 790 bytes
-rw-r--r--test/clip-operator.svg12.argb32.xfail.pngbin8406 -> 8404 bytes
-rw-r--r--test/clip-operator.svg12.rgb24.xfail.pngbin4540 -> 4523 bytes
-rw-r--r--test/clipped-group.pdf.ref.pngbin310 -> 334 bytes
-rw-r--r--test/clipped-trapezoids-ref.pngbin0 -> 1055 bytes
-rw-r--r--test/clipped-trapezoids.c95
-rw-r--r--test/clipped-trapezoids.ref.pngbin0 -> 963 bytes
-rw-r--r--test/close-path-current-point.ref.pngbin1916 -> 1893 bytes
-rw-r--r--test/dash-caps-joins.ref.pngbin4718 -> 4520 bytes
-rw-r--r--test/dash-curve.ref.pngbin39696 -> 41284 bytes
-rw-r--r--test/dash-curve.xlib.ref.pngbin0 -> 40109 bytes
-rw-r--r--test/dash-scale.ref.pngbin8058 -> 7616 bytes
-rw-r--r--test/degenerate-arc.ref.pngbin544 -> 646 bytes
-rw-r--r--test/degenerate-dash.ref.pngbin2005 -> 2086 bytes
-rw-r--r--test/degenerate-dash.xlib.ref.pngbin0 -> 1898 bytes
-rw-r--r--test/degenerate-path.argb32.ref.pngbin0 -> 240 bytes
-rw-r--r--test/degenerate-path.ref.pngbin257 -> 0 bytes
-rw-r--r--test/degenerate-path.rgb24.ref.pngbin224 -> 210 bytes
-rw-r--r--test/degenerate-pen.ref.pngbin1139 -> 997 bytes
-rw-r--r--test/degenerate-pen.xlib.ref.pngbin0 -> 997 bytes
-rw-r--r--test/device-offset-fractional.pdf.xfail.pngbin275 -> 275 bytes
-rw-r--r--test/fill-and-stroke-alpha-add.ref.pngbin591 -> 562 bytes
-rw-r--r--test/fill-and-stroke-alpha-add.svg12.xfail.pngbin614 -> 631 bytes
-rw-r--r--test/fill-and-stroke-alpha.ref.pngbin519 -> 515 bytes
-rw-r--r--test/fill-and-stroke.argb32.ref.pngbin0 -> 313 bytes
-rw-r--r--test/fill-and-stroke.ref.pngbin279 -> 0 bytes
-rw-r--r--test/fill-and-stroke.rgb24.ref.pngbin257 -> 287 bytes
-rw-r--r--test/fill-and-stroke.xlib.argb32.ref.pngbin0 -> 322 bytes
-rw-r--r--test/fill-and-stroke.xlib.rgb24.ref.pngbin0 -> 291 bytes
-rw-r--r--test/filter-nearest-offset.pdf.xfail.pngbin1867 -> 1926 bytes
-rw-r--r--test/filter-nearest-transformed.pdf.xfail.pngbin482 -> 488 bytes
-rw-r--r--test/ft-text-vertical-layout-type1.ps.ref.pngbin0 -> 1634 bytes
-rw-r--r--test/ft-text-vertical-layout-type1.ps2.ref.pngbin1846 -> 0 bytes
-rw-r--r--test/ft-text-vertical-layout-type1.ps3.ref.pngbin1846 -> 0 bytes
-rw-r--r--test/ft-text-vertical-layout-type1.ref.pngbin3643 -> 3647 bytes
-rw-r--r--test/ft-text-vertical-layout-type1.svg.ref.pngbin3607 -> 3609 bytes
-rw-r--r--test/ft-text-vertical-layout-type1.xlib.ref.pngbin3980 -> 3640 bytes
-rw-r--r--test/ft-text-vertical-layout-type3.ps.ref.pngbin0 -> 1636 bytes
-rw-r--r--test/ft-text-vertical-layout-type3.ps2.ref.pngbin1804 -> 0 bytes
-rw-r--r--test/ft-text-vertical-layout-type3.ps3.ref.pngbin1804 -> 0 bytes
-rw-r--r--test/ft-text-vertical-layout-type3.ref.pngbin3608 -> 3607 bytes
-rw-r--r--test/ft-text-vertical-layout-type3.svg.ref.pngbin3626 -> 3626 bytes
-rw-r--r--test/ft-text-vertical-layout-type3.xlib.ref.pngbin3934 -> 3605 bytes
-rw-r--r--test/group-unaligned.svg.argb32.xfail.pngbin520 -> 522 bytes
-rw-r--r--test/joins.ref.pngbin5879 -> 5708 bytes
-rw-r--r--test/leaky-dashed-rectangle.pdf.ref.pngbin347 -> 347 bytes
-rw-r--r--test/leaky-dashed-rectangle.xlib.ref.pngbin0 -> 347 bytes
-rw-r--r--test/leaky-dashed-stroke.ref.pngbin9214 -> 9387 bytes
-rw-r--r--test/leaky-dashed-stroke.xlib.ref.pngbin0 -> 9305 bytes
-rw-r--r--test/line-width-scale.ref.pngbin6445 -> 5716 bytes
-rw-r--r--test/long-dashed-lines.ref.pngbin2116 -> 2070 bytes
-rw-r--r--test/mask-glyphs.svg.ref.pngbin1211147 -> 1211158 bytes
-rw-r--r--test/meta-surface-pattern.pdf.argb32.ref.pngbin3919 -> 3835 bytes
-rw-r--r--test/meta-surface-pattern.pdf.rgb24.ref.pngbin3867 -> 3682 bytes
-rw-r--r--test/meta-surface-pattern.svg.argb32.ref.pngbin3930 -> 3778 bytes
-rw-r--r--test/meta-surface-pattern.svg.rgb24.ref.pngbin3910 -> 3760 bytes
-rw-r--r--test/new-sub-path.argb32.ref.pngbin0 -> 421 bytes
-rw-r--r--test/new-sub-path.pdf.argb32.ref.pngbin0 -> 512 bytes
-rw-r--r--test/new-sub-path.ref.pngbin386 -> 0 bytes
-rw-r--r--test/new-sub-path.rgb24.ref.pngbin355 -> 381 bytes
-rw-r--r--test/operator-source.svg12.argb32.xfail.pngbin2967 -> 2951 bytes
-rw-r--r--test/operator-source.svg12.rgb24.xfail.pngbin2976 -> 2963 bytes
-rw-r--r--test/over-around-source.pdf.argb32.ref.pngbin585 -> 576 bytes
-rw-r--r--test/random-intersections-eo.c (renamed from test/random-intersections.c)2
-rw-r--r--test/random-intersections-eo.ps.ref.pngbin0 -> 78806 bytes
-rw-r--r--test/random-intersections-eo.quartz.ref.png (renamed from test/random-intersections.quartz.ref.png)bin197778 -> 197778 bytes
-rw-r--r--test/random-intersections-eo.ref.pngbin0 -> 136018 bytes
-rw-r--r--test/random-intersections-eo.xlib.ref.pngbin0 -> 134655 bytes
-rw-r--r--test/random-intersections-nonzero.c79
-rw-r--r--test/random-intersections-nonzero.ps.ref.pngbin0 -> 77299 bytes
-rw-r--r--test/random-intersections-nonzero.ref.pngbin0 -> 141154 bytes
-rw-r--r--test/random-intersections-nonzero.xlib.ref.pngbin0 -> 141548 bytes
-rw-r--r--test/random-intersections.ps2.ref.pngbin89253 -> 0 bytes
-rw-r--r--test/random-intersections.ps3.ref.pngbin89253 -> 0 bytes
-rw-r--r--test/random-intersections.ref.pngbin133462 -> 0 bytes
-rw-r--r--test/random-intersections.xlib.ref.pngbin148722 -> 0 bytes
-rw-r--r--test/reflected-stroke.ref.pngbin5704 -> 4978 bytes
-rw-r--r--test/rel-path.ref.pngbin212 -> 198 bytes
-rw-r--r--test/rel-path.rgb24.ref.pngbin228 -> 214 bytes
-rw-r--r--test/scale-offset-image.meta.xfail.pngbin8599 -> 0 bytes
-rw-r--r--test/scale-offset-image.pdf.xfail.pngbin8694 -> 10099 bytes
-rw-r--r--test/scale-offset-image.xfail.pngbin8599 -> 9960 bytes
-rw-r--r--test/scale-offset-image.xlib-fallback.xfail.pngbin8580 -> 8706 bytes
-rw-r--r--test/scale-offset-image.xlib.xfail.pngbin9100 -> 9132 bytes
-rw-r--r--test/scale-offset-similar.meta.xfail.pngbin9095 -> 10752 bytes
-rw-r--r--test/scale-offset-similar.pdf.xfail.pngbin9368 -> 11024 bytes
-rw-r--r--test/scale-offset-similar.xfail.pngbin8599 -> 9960 bytes
-rw-r--r--test/scale-offset-similar.xlib-fallback.xfail.pngbin8580 -> 8706 bytes
-rw-r--r--test/scale-offset-similar.xlib.xfail.pngbin8570 -> 8696 bytes
-rw-r--r--test/self-intersecting.argb32.xfail.pngbin235 -> 0 bytes
-rw-r--r--test/self-intersecting.c3
-rw-r--r--test/self-intersecting.pdf.argb32.xfail.pngbin285 -> 0 bytes
-rw-r--r--test/self-intersecting.pdf.rgb24.xfail.pngbin269 -> 0 bytes
-rw-r--r--test/self-intersecting.ps.ref.png (renamed from test/self-intersecting.ps.argb32.xfail.png)bin186 -> 186 bytes
-rw-r--r--test/self-intersecting.ps.rgb24.xfail.pngbin186 -> 0 bytes
-rw-r--r--test/self-intersecting.ref.pngbin242 -> 301 bytes
-rw-r--r--test/self-intersecting.rgb24.ref.pngbin304 -> 0 bytes
-rw-r--r--test/self-intersecting.rgb24.xfail.pngbin240 -> 0 bytes
-rw-r--r--test/self-intersecting.xlib.argb32.xfail.pngbin235 -> 0 bytes
-rw-r--r--test/self-intersecting.xlib.ref.pngbin0 -> 252 bytes
-rw-r--r--test/self-intersecting.xlib.rgb24.xfail.pngbin240 -> 0 bytes
-rw-r--r--test/smask-stroke.ref.pngbin1845 -> 1714 bytes
-rw-r--r--test/smask-stroke.xlib.ref.pngbin0 -> 1707 bytes
-rw-r--r--test/smask.ps.ref.pngbin0 -> 3430 bytes
-rw-r--r--test/smask.ps2.ref.pngbin3669 -> 0 bytes
-rw-r--r--test/smask.ps3.ref.pngbin3669 -> 0 bytes
-rw-r--r--test/smask.ref.pngbin3417 -> 3423 bytes
-rw-r--r--test/smask.svg.ref.pngbin3458 -> 3457 bytes
-rw-r--r--test/smask.xlib.ref.pngbin3393 -> 3386 bytes
-rw-r--r--test/spline-decomposition.pdf.ref.pngbin19156 -> 19540 bytes
-rw-r--r--test/spline-decomposition.ps.ref.pngbin9090 -> 9028 bytes
-rw-r--r--test/spline-decomposition.ref.pngbin19107 -> 19569 bytes
-rw-r--r--test/spline-decomposition.svg.ref.pngbin19156 -> 19540 bytes
-rw-r--r--test/spline-decomposition.xlib.ref.pngbin0 -> 19158 bytes
-rw-r--r--test/stroke-ctm-caps.ref.pngbin1057 -> 873 bytes
-rw-r--r--test/stroke-image.pdf.ref.pngbin1554 -> 1475 bytes
-rw-r--r--test/stroke-image.ps.ref.pngbin0 -> 1641 bytes
-rw-r--r--test/stroke-image.ps2.ref.pngbin2121 -> 0 bytes
-rw-r--r--test/stroke-image.ps3.ref.pngbin2121 -> 0 bytes
-rw-r--r--test/stroke-image.ref.pngbin1866 -> 1344 bytes
-rw-r--r--test/stroke-image.xlib.ref.pngbin0 -> 1440 bytes
-rw-r--r--test/surface-pattern.pdf.xfail.pngbin10528 -> 10532 bytes
-rw-r--r--test/text-rotate.pdf.ref.pngbin16639 -> 16757 bytes
-rw-r--r--test/text-rotate.ref.pngbin17775 -> 16738 bytes
-rw-r--r--test/text-rotate.svg.ref.pngbin17024 -> 17118 bytes
-rw-r--r--test/text-rotate.xlib.ref.pngbin0 -> 16646 bytes
-rw-r--r--test/twin.ps.ref.pngbin2197 -> 2142 bytes
-rw-r--r--test/twin.ref.pngbin4038 -> 3979 bytes
-rw-r--r--test/twin.xlib.ref.pngbin0 -> 4435 bytes
-rw-r--r--test/unantialiased-shapes.ref.pngbin4459 -> 3969 bytes
-rw-r--r--test/unbounded-operator.svg12.argb32.ref.pngbin0 -> 2767 bytes
-rw-r--r--test/unbounded-operator.svg12.argb32.xfail.pngbin2771 -> 0 bytes
-rw-r--r--test/unbounded-operator.svg12.rgb24.xfail.pngbin1731 -> 1719 bytes
-rw-r--r--test/user-font-proxy.svg.ref.pngbin16814 -> 16817 bytes
-rw-r--r--test/user-font.ps.ref.pngbin0 -> 4605 bytes
-rw-r--r--test/user-font.ps2.ref.pngbin5043 -> 0 bytes
-rw-r--r--test/user-font.ps3.ref.pngbin5043 -> 0 bytes
-rw-r--r--test/user-font.ref.pngbin6082 -> 6270 bytes
-rw-r--r--test/user-font.xlib.ref.pngbin6183 -> 5884 bytes
146 files changed, 235 insertions, 37 deletions
diff --git a/test/Makefile.am b/test/Makefile.am
index a0523932..9b5ee2a8 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -4,8 +4,6 @@ include $(top_srcdir)/test/Makefile.sources
SUBDIRS=pdiff .
-CLEANFILES += have-similar.*
-
# Then we have a collection of tests that are only run if certain
# features are compiled into cairo
if HAVE_PTHREAD
@@ -147,8 +145,10 @@ REFERENCE_IMAGES = \
bitmap-font.rgb24.ref.png \
caps-joins-alpha.quartz.ref.png \
caps-joins-alpha.ref.png \
+ caps-joins-alpha.xlib.ref.png \
caps-joins-curve.ps.ref.png \
caps-joins-curve.ref.png \
+ caps-joins-curve.xlib.ref.png \
caps-joins.ps.ref.png \
caps-joins.ref.png \
caps-sub-paths.ref.png \
@@ -156,6 +156,8 @@ REFERENCE_IMAGES = \
caps.ref.png \
clear.argb32.ref.png \
clear.rgb24.ref.png \
+ clear.pdf.argb32.ref.png \
+ clear.ps.argb32.ref.png \
clear.svg12.argb32.xfail.png \
clear.svg12.rgb24.xfail.png \
clip-all.ref.png \
@@ -237,6 +239,7 @@ REFERENCE_IMAGES = \
clipped-group.ps3.ref.png \
clipped-group.ref.png \
clipped-surface.ref.png \
+ clipped-trapezoids.ref.png \
close-path-current-point.ps.ref.png \
close-path-current-point.ref.png \
close-path.ps2.ref.png \
@@ -275,6 +278,7 @@ REFERENCE_IMAGES = \
dash-curve.ps3.ref.png \
dash-curve.quartz.ref.png \
dash-curve.ref.png \
+ dash-curve.xlib.ref.png \
dash-infinite-loop.ref.png \
dash-no-dash.ref.png \
dash-offset-negative.ref.png \
@@ -302,16 +306,18 @@ REFERENCE_IMAGES = \
degenerate-curve-to.ps.xfail.png \
degenerate-dash.ps.xfail.png \
degenerate-dash.ref.png \
+ degenerate-dash.xlib.ref.png \
degenerate-path.ps.argb32.xfail.png \
degenerate-path.ps.rgb24.xfail.png \
degenerate-path.quartz.ref.png \
degenerate-path.quartz.rgb24.ref.png \
- degenerate-path.ref.png \
+ degenerate-path.argb32.ref.png \
degenerate-path.rgb24.ref.png \
degenerate-pen.ps2.ref.png \
degenerate-pen.ps3.ref.png \
degenerate-pen.quartz.ref.png \
degenerate-pen.ref.png \
+ degenerate-pen.xlib.ref.png \
degenerate-rel-curve-to.ref.png \
degenerate-rel-curve-to.ps.xfail.png \
device-offset-fractional.gl.xfail.png \
@@ -389,8 +395,10 @@ REFERENCE_IMAGES = \
fill-and-stroke.ps3.rgb24.ref.png \
fill-and-stroke.quartz.ref.png \
fill-and-stroke.quartz.rgb24.ref.png \
- fill-and-stroke.ref.png \
+ fill-and-stroke.argb32.ref.png \
fill-and-stroke.rgb24.ref.png \
+ fill-and-stroke.xlib.argb32.ref.png \
+ fill-and-stroke.xlib.rgb24.ref.png \
fill-degenerate-sort-order.ps.argb32.xfail.png \
fill-degenerate-sort-order.ps.rgb24.xfail.png \
fill-degenerate-sort-order.quartz.ref.png \
@@ -469,14 +477,12 @@ REFERENCE_IMAGES = \
ft-text-antialias-none.ps3.argb32.ref.png \
ft-text-antialias-none.ref.png \
ft-text-vertical-layout-type1.pdf.ref.png \
- ft-text-vertical-layout-type1.ps2.ref.png \
- ft-text-vertical-layout-type1.ps3.ref.png \
+ ft-text-vertical-layout-type1.ps.ref.png \
ft-text-vertical-layout-type1.ref.png \
ft-text-vertical-layout-type1.svg.ref.png \
ft-text-vertical-layout-type1.xlib.ref.png \
ft-text-vertical-layout-type3.pdf.ref.png \
- ft-text-vertical-layout-type3.ps2.ref.png \
- ft-text-vertical-layout-type3.ps3.ref.png \
+ ft-text-vertical-layout-type3.ps.ref.png \
ft-text-vertical-layout-type3.ref.png \
ft-text-vertical-layout-type3.svg.ref.png \
ft-text-vertical-layout-type3.xlib.ref.png \
@@ -538,9 +544,11 @@ REFERENCE_IMAGES = \
leaky-dashed-rectangle.pdf.ref.png \
leaky-dashed-rectangle.ps.ref.png \
leaky-dashed-rectangle.ref.png \
+ leaky-dashed-rectangle.xlib.ref.png \
leaky-dashed-stroke.ps2.ref.png \
leaky-dashed-stroke.ps3.ref.png \
leaky-dashed-stroke.ref.png \
+ leaky-dashed-stroke.xlib.ref.png \
leaky-polygon.ps2.ref.png \
leaky-polygon.ps3.ref.png \
leaky-polygon.ref.png \
@@ -613,13 +621,14 @@ REFERENCE_IMAGES = \
miter-precision.ps3.ref.png \
miter-precision.ref.png \
move-to-show-surface.ref.png \
+ new-sub-path.pdf.argb32.ref.png \
new-sub-path.ps2.argb32.ref.png \
new-sub-path.ps2.rgb24.ref.png \
new-sub-path.ps3.argb32.ref.png \
new-sub-path.ps3.rgb24.ref.png \
new-sub-path.quartz.ref.png \
new-sub-path.quartz.rgb24.ref.png \
- new-sub-path.ref.png \
+ new-sub-path.argb32.ref.png \
new-sub-path.rgb24.ref.png \
nil-surface.ref.png \
nil-surface.rgb24.ref.png \
@@ -726,11 +735,13 @@ REFERENCE_IMAGES = \
radial-gradient.pdf.ref.png \
radial-gradient.quartz.ref.png \
radial-gradient.ref.png \
- random-intersections.ps2.ref.png \
- random-intersections.ps3.ref.png \
- random-intersections.quartz.ref.png \
- random-intersections.ref.png \
- random-intersections.xlib.ref.png \
+ random-intersections-eo.ps.ref.png \
+ random-intersections-eo.quartz.ref.png \
+ random-intersections-eo.ref.png \
+ random-intersections-eo.xlib.ref.png \
+ random-intersections-nonzero.ref.png \
+ random-intersections-nonzero.ps.ref.png \
+ random-intersections-nonzero.xlib.ref.png \
rectangle-rounding-error.ref.png \
rectilinear-dash.ref.png \
rectilinear-fill.ref.png \
@@ -783,16 +794,9 @@ REFERENCE_IMAGES = \
self-copy.ps2.ref.png \
self-copy.ps3.ref.png \
self-copy.ref.png \
- self-intersecting.argb32.xfail.png \
- self-intersecting.pdf.argb32.xfail.png \
- self-intersecting.pdf.rgb24.xfail.png \
- self-intersecting.ps.argb32.xfail.png \
- self-intersecting.ps.rgb24.xfail.png \
+ self-intersecting.ps.ref.png \
self-intersecting.ref.png \
- self-intersecting.rgb24.ref.png \
- self-intersecting.rgb24.xfail.png \
- self-intersecting.xlib.argb32.xfail.png \
- self-intersecting.xlib.rgb24.xfail.png \
+ self-intersecting.xlib.ref.png \
set-source.ref.png \
set-source.rgb24.ref.png \
show-glyphs-many.ref.png \
@@ -815,6 +819,7 @@ REFERENCE_IMAGES = \
smask-paint.svg.ref.png \
smask-stroke.pdf.xfail.png \
smask-stroke.ref.png \
+ smask-stroke.xlib.ref.png \
smask-text.pdf.ref.png \
smask-text.ps2.ref.png \
smask-text.ps3.ref.png \
@@ -822,8 +827,7 @@ REFERENCE_IMAGES = \
smask-text.svg.ref.png \
smask-text.xlib.ref.png \
smask.pdf.xfail.png \
- smask.ps2.ref.png \
- smask.ps3.ref.png \
+ smask.ps.ref.png \
smask.ref.png \
smask.svg.ref.png \
smask.xlib.ref.png \
@@ -844,15 +848,16 @@ REFERENCE_IMAGES = \
spline-decomposition.ps.ref.png \
spline-decomposition.ref.png \
spline-decomposition.svg.ref.png \
+ spline-decomposition.xlib.ref.png \
stroke-ctm-caps.ps2.ref.png \
stroke-ctm-caps.ps3.ref.png \
stroke-ctm-caps.quartz.ref.png \
stroke-ctm-caps.ref.png \
stroke-image.pdf.ref.png \
- stroke-image.ps2.ref.png \
- stroke-image.ps3.ref.png \
+ stroke-image.ps.ref.png \
stroke-image.quartz.ref.png \
stroke-image.ref.png \
+ stroke-image.xlib.ref.png \
surface-pattern-big-scale-down.ref.png \
surface-pattern-big-scale-down.ps.xfail.png \
surface-pattern-scale-down.pdf.ref.png \
@@ -900,6 +905,7 @@ REFERENCE_IMAGES = \
text-rotate.quartz.ref.png \
text-rotate.ref.png \
text-rotate.svg.ref.png \
+ text-rotate.xlib.ref.png \
text-transform.pdf.ref.png \
text-transform.ps2.ref.png \
text-transform.ps3.ref.png \
@@ -923,6 +929,7 @@ REFERENCE_IMAGES = \
twin.ps.ref.png \
twin.ref.png \
twin.svg.ref.png \
+ twin.xlib.ref.png \
unantialiased-shapes.quartz.ref.png \
unantialiased-shapes.ref.png \
unbounded-operator.gl.argb32.xfail.png \
@@ -934,7 +941,7 @@ REFERENCE_IMAGES = \
unbounded-operator.quartz.rgb24.ref.png \
unbounded-operator.ref.png \
unbounded-operator.rgb24.ref.png \
- unbounded-operator.svg12.argb32.xfail.png \
+ unbounded-operator.svg12.argb32.ref.png \
unbounded-operator.svg12.rgb24.xfail.png \
unbounded-operator.xlib.rgb24.ref.png \
user-font-mask.pdf.ref.png \
@@ -953,8 +960,7 @@ REFERENCE_IMAGES = \
user-font-rescale.ps3.ref.png \
user-font-rescale.ref.png \
user-font-rescale.svg.ref.png \
- user-font.ps2.ref.png \
- user-font.ps3.ref.png \
+ user-font.ps.ref.png \
user-font.ref.png \
user-font.svg.ref.png \
user-font.xlib.ref.png \
@@ -1132,14 +1138,22 @@ imagediff_LDADD = \
$(top_builddir)/src/libcairo.la
png_flatten_SOURCES = png-flatten.c
-png_flatten_LDADD = $(top_builddir)/src/libcairo.la $(CAIRO_LDADD)
+png_flatten_LDADD = $(top_builddir)/src/libcairo.la \
+ $(CAIRO_LDADD)
if BUILD_ANY2PPM
check_PROGRAMS += any2ppm
any2ppm_CFLAGS = $(AM_CFLAGS) $(POPPLER_CFLAGS) $(LIBRSVG_CFLAGS) $(LIBSPECTRE_CFLAGS)
# add LDADD, so poppler/librsvg uses "our" cairo
any2ppm_LDFLAGS = $(AM_LDFLAGS) $(CAIRO_TEST_UNDEFINED_LDFLAGS)
-any2ppm_LDADD = $(top_builddir)/util/cairo-script/libcairo-script-interpreter.la $(top_builddir)/src/libcairo.la $(CAIRO_LDADD) $(CAIROBOILERPLATE_LIBS) $(POPPLER_LIBS) $(LIBRSVG_LIBS) $(LIBSPECTRE_LIBS)
+any2ppm_LDADD = \
+ $(top_builddir)/util/cairo-script/libcairo-script-interpreter.la \
+ $(top_builddir)/src/libcairo.la \
+ $(CAIRO_LDADD) \
+ $(CAIROBOILERPLATE_LIBS) \
+ $(POPPLER_LIBS) \
+ $(LIBRSVG_LIBS) \
+ $(LIBSPECTRE_LIBS)
endif
if CAIRO_CAN_TEST_PDF_SURFACE
@@ -1147,7 +1161,9 @@ check_PROGRAMS += pdf2png
pdf2png_CFLAGS = $(AM_CFLAGS) $(POPPLER_CFLAGS)
# add LDADD, so poppler uses "our" cairo
pdf2png_LDFLAGS = $(AM_LDFLAGS) $(CAIRO_TEST_UNDEFINED_LDFLAGS)
-pdf2png_LDADD = $(top_builddir)/src/libcairo.la $(CAIRO_LDADD) $(POPPLER_LIBS)
+pdf2png_LDADD = $(top_builddir)/src/libcairo.la \
+ $(CAIRO_LDADD) \
+ $(POPPLER_LIBS)
endif
if CAIRO_CAN_TEST_SVG_SURFACE
@@ -1155,7 +1171,9 @@ check_PROGRAMS += svg2png
svg2png_CFLAGS = $(AM_CFLAGS) $(LIBRSVG_CFLAGS)
# add LDADD, so librsvg uses "our" cairo
svg2png_LDFLAGS = $(AM_LDFLAGS) $(CAIRO_TEST_UNDEFINED_LDFLAGS)
-svg2png_LDADD = $(top_builddir)/src/libcairo.la $(CAIRO_LDADD) $(LIBRSVG_LIBS)
+svg2png_LDADD = $(top_builddir)/src/libcairo.la \
+ $(CAIRO_LDADD) \
+ $(LIBRSVG_LIBS)
endif
if CAIRO_HAS_SPECTRE
@@ -1163,7 +1181,9 @@ check_PROGRAMS += ps2png
ps2png_CFLAGS = $(AM_CFLAGS) $(LIBSPECTRE_CFLAGS)
# add LDADD, so ps2png uses "our" cairo
ps2png_LDFLAGS = $(AM_LDFLAGS) $(CAIRO_TEST_UNDEFINED_LDFLAGS)
-ps2png_LDADD = $(top_builddir)/src/libcairo.la $(CAIRO_LDADD) $(LIBSPECTRE_LIBS)
+ps2png_LDADD = $(top_builddir)/src/libcairo.la \
+ $(CAIRO_LDADD) \
+ $(LIBSPECTRE_LIBS)
endif
EXTRA_PROGRAMS += $(TESTS)
diff --git a/test/Makefile.sources b/test/Makefile.sources
index 50b4d3ea..0a58ac07 100644
--- a/test/Makefile.sources
+++ b/test/Makefile.sources
@@ -150,7 +150,8 @@ test_sources = \
png.c \
push-group.c \
radial-gradient.c \
- random-intersections.c \
+ random-intersections-eo.c \
+ random-intersections-nonzero.c \
rectangle-rounding-error.c \
rectilinear-fill.c \
rectilinear-miter-limit.c \
diff --git a/test/caps-joins-alpha.ref.png b/test/caps-joins-alpha.ref.png
index 1d34c73b..b28d936e 100644
--- a/test/caps-joins-alpha.ref.png
+++ b/test/caps-joins-alpha.ref.png
Binary files differ
diff --git a/test/caps-joins-alpha.xlib.ref.png b/test/caps-joins-alpha.xlib.ref.png
new file mode 100644
index 00000000..288a5005
--- /dev/null
+++ b/test/caps-joins-alpha.xlib.ref.png
Binary files differ
diff --git a/test/caps-joins-curve.ref.png b/test/caps-joins-curve.ref.png
index 9f763013..cb4034b0 100644
--- a/test/caps-joins-curve.ref.png
+++ b/test/caps-joins-curve.ref.png
Binary files differ
diff --git a/test/caps-joins-curve.xlib.ref.png b/test/caps-joins-curve.xlib.ref.png
new file mode 100644
index 00000000..be7688d0
--- /dev/null
+++ b/test/caps-joins-curve.xlib.ref.png
Binary files differ
diff --git a/test/clear.pdf.argb32.ref.png b/test/clear.pdf.argb32.ref.png
new file mode 100644
index 00000000..0960f485
--- /dev/null
+++ b/test/clear.pdf.argb32.ref.png
Binary files differ
diff --git a/test/clear.ps.argb32.ref.png b/test/clear.ps.argb32.ref.png
new file mode 100644
index 00000000..0960f485
--- /dev/null
+++ b/test/clear.ps.argb32.ref.png
Binary files differ
diff --git a/test/clip-operator.svg12.argb32.xfail.png b/test/clip-operator.svg12.argb32.xfail.png
index be0696e0..1c21d15f 100644
--- a/test/clip-operator.svg12.argb32.xfail.png
+++ b/test/clip-operator.svg12.argb32.xfail.png
Binary files differ
diff --git a/test/clip-operator.svg12.rgb24.xfail.png b/test/clip-operator.svg12.rgb24.xfail.png
index 494852da..f79de48e 100644
--- a/test/clip-operator.svg12.rgb24.xfail.png
+++ b/test/clip-operator.svg12.rgb24.xfail.png
Binary files differ
diff --git a/test/clipped-group.pdf.ref.png b/test/clipped-group.pdf.ref.png
index 64958608..23db5a4f 100644
--- a/test/clipped-group.pdf.ref.png
+++ b/test/clipped-group.pdf.ref.png
Binary files differ
diff --git a/test/clipped-trapezoids-ref.png b/test/clipped-trapezoids-ref.png
new file mode 100644
index 00000000..3fd300c0
--- /dev/null
+++ b/test/clipped-trapezoids-ref.png
Binary files differ
diff --git a/test/clipped-trapezoids.c b/test/clipped-trapezoids.c
new file mode 100644
index 00000000..1f96daa8
--- /dev/null
+++ b/test/clipped-trapezoids.c
@@ -0,0 +1,95 @@
+/*
+ * Copyright 2008 Chris Wilson
+ *
+ * Permission to use, copy, modify, distribute, and sell this software
+ * and its documentation for any purpose is hereby granted without
+ * fee, provided that the above copyright notice appear in all copies
+ * and that both that copyright notice and this permission notice
+ * appear in supporting documentation, and that the name of
+ * Chris Wilson not be used in advertising or publicity pertaining to
+ * distribution of the software without specific, written prior
+ * permission. Chris Wilson makes no representations about the
+ * suitability of this software for any purpose. It is provided "as
+ * is" without express or implied warranty.
+ *
+ * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
+ * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+ * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Author: Chris Wilson <chris@chris-wilson.co.uk>
+ */
+
+#include "cairo-test.h"
+
+static cairo_test_status_t
+draw (cairo_t *cr, int width, int height)
+{
+ double dash[2] = { 8, 4 };
+ double radius;
+
+ radius = width;
+ if (height > radius)
+ radius = height;
+
+ /* fill the background using a big circle */
+ cairo_arc (cr, 0, 0, 4 * radius, 0, 2 * M_PI);
+ cairo_fill (cr);
+
+ /* a rotated square - overlapping the corners */
+ cairo_save (cr);
+ cairo_save (cr);
+ cairo_translate (cr, width/2, height/2);
+ cairo_rotate (cr, M_PI/4);
+ cairo_scale (cr, M_SQRT2, M_SQRT2);
+ cairo_rectangle (cr, -width/2, -height/2, width, height);
+ cairo_restore (cr);
+ cairo_set_source_rgba (cr, 0, 1, 0, .5);
+ cairo_set_line_width (cr, radius/2);
+ cairo_stroke (cr);
+ cairo_restore (cr);
+
+ /* and put some circles in the corners */
+ cairo_set_source_rgb (cr, 1, 1, 1);
+ cairo_new_sub_path (cr);
+ cairo_arc (cr, 0, 0, radius/4, 0, 2 * M_PI);
+ cairo_new_sub_path (cr);
+ cairo_arc (cr, width, 0, radius/4, 0, 2 * M_PI);
+ cairo_new_sub_path (cr);
+ cairo_arc (cr, width, height, radius/4, 0, 2 * M_PI);
+ cairo_new_sub_path (cr);
+ cairo_arc (cr, 0, height, radius/4, 0, 2 * M_PI);
+ cairo_fill (cr);
+
+ /* a couple of pixel-aligned lines */
+ cairo_set_source_rgb (cr, 0, 0, 1);
+ cairo_move_to (cr, width/2, -height);
+ cairo_rel_line_to (cr, 0, 3*height);
+ cairo_move_to (cr, -width, height/2);
+ cairo_rel_line_to (cr, 3*width, 0);
+ cairo_stroke (cr);
+
+ /* a couple of dashed diagonals */
+ cairo_save (cr);
+ cairo_set_source_rgb (cr, 1, 0, 0);
+ cairo_set_dash (cr, dash, 2, 0);
+ cairo_set_line_width (cr, 4.);
+ cairo_move_to (cr, -width, -height);
+ cairo_line_to (cr, width+width, height+height);
+ cairo_move_to (cr, width+width, -height);
+ cairo_line_to (cr, -width, height+height);
+ cairo_stroke (cr);
+ cairo_restore (cr);
+
+ return CAIRO_TEST_SUCCESS;
+}
+
+CAIRO_TEST (clipped_trapezoids,
+ "Tests clipping of trapezoids larger than the surface",
+ "clip", /* keywords */
+ NULL, /* requirements */
+ 40, 40,
+ NULL, draw)
diff --git a/test/clipped-trapezoids.ref.png b/test/clipped-trapezoids.ref.png
new file mode 100644
index 00000000..975a692d
--- /dev/null
+++ b/test/clipped-trapezoids.ref.png
Binary files differ
diff --git a/test/close-path-current-point.ref.png b/test/close-path-current-point.ref.png
index f30002c6..70f9accc 100644
--- a/test/close-path-current-point.ref.png
+++ b/test/close-path-current-point.ref.png
Binary files differ
diff --git a/test/dash-caps-joins.ref.png b/test/dash-caps-joins.ref.png
index 15a06798..bde36971 100644
--- a/test/dash-caps-joins.ref.png
+++ b/test/dash-caps-joins.ref.png
Binary files differ
diff --git a/test/dash-curve.ref.png b/test/dash-curve.ref.png
index a590fc43..b940c1b4 100644
--- a/test/dash-curve.ref.png
+++ b/test/dash-curve.ref.png
Binary files differ
diff --git a/test/dash-curve.xlib.ref.png b/test/dash-curve.xlib.ref.png
new file mode 100644
index 00000000..76212601
--- /dev/null
+++ b/test/dash-curve.xlib.ref.png
Binary files differ
diff --git a/test/dash-scale.ref.png b/test/dash-scale.ref.png
index a0f004b3..cbfb6bd3 100644
--- a/test/dash-scale.ref.png
+++ b/test/dash-scale.ref.png
Binary files differ
diff --git a/test/degenerate-arc.ref.png b/test/degenerate-arc.ref.png
index 1d131b22..d83e2c7b 100644
--- a/test/degenerate-arc.ref.png
+++ b/test/degenerate-arc.ref.png
Binary files differ
diff --git a/test/degenerate-dash.ref.png b/test/degenerate-dash.ref.png
index ec51a3ce..2ddfc8bb 100644
--- a/test/degenerate-dash.ref.png
+++ b/test/degenerate-dash.ref.png
Binary files differ
diff --git a/test/degenerate-dash.xlib.ref.png b/test/degenerate-dash.xlib.ref.png
new file mode 100644
index 00000000..a1b2e830
--- /dev/null
+++ b/test/degenerate-dash.xlib.ref.png
Binary files differ
diff --git a/test/degenerate-path.argb32.ref.png b/test/degenerate-path.argb32.ref.png
new file mode 100644
index 00000000..e647677c
--- /dev/null
+++ b/test/degenerate-path.argb32.ref.png
Binary files differ
diff --git a/test/degenerate-path.ref.png b/test/degenerate-path.ref.png
deleted file mode 100644
index 102e8905..00000000
--- a/test/degenerate-path.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/degenerate-path.rgb24.ref.png b/test/degenerate-path.rgb24.ref.png
index 881c0194..d8210a54 100644
--- a/test/degenerate-path.rgb24.ref.png
+++ b/test/degenerate-path.rgb24.ref.png
Binary files differ
diff --git a/test/degenerate-pen.ref.png b/test/degenerate-pen.ref.png
index 5961ddd4..b7dcaadc 100644
--- a/test/degenerate-pen.ref.png
+++ b/test/degenerate-pen.ref.png
Binary files differ
diff --git a/test/degenerate-pen.xlib.ref.png b/test/degenerate-pen.xlib.ref.png
new file mode 100644
index 00000000..b7dcaadc
--- /dev/null
+++ b/test/degenerate-pen.xlib.ref.png
Binary files differ
diff --git a/test/device-offset-fractional.pdf.xfail.png b/test/device-offset-fractional.pdf.xfail.png
index 77a49632..6248b4af 100644
--- a/test/device-offset-fractional.pdf.xfail.png
+++ b/test/device-offset-fractional.pdf.xfail.png
Binary files differ
diff --git a/test/fill-and-stroke-alpha-add.ref.png b/test/fill-and-stroke-alpha-add.ref.png
index 412dd4f5..c69b6bd3 100644
--- a/test/fill-and-stroke-alpha-add.ref.png
+++ b/test/fill-and-stroke-alpha-add.ref.png
Binary files differ
diff --git a/test/fill-and-stroke-alpha-add.svg12.xfail.png b/test/fill-and-stroke-alpha-add.svg12.xfail.png
index 32962f7a..c1d7d6fc 100644
--- a/test/fill-and-stroke-alpha-add.svg12.xfail.png
+++ b/test/fill-and-stroke-alpha-add.svg12.xfail.png
Binary files differ
diff --git a/test/fill-and-stroke-alpha.ref.png b/test/fill-and-stroke-alpha.ref.png
index fd4b81be..ff2e156c 100644
--- a/test/fill-and-stroke-alpha.ref.png
+++ b/test/fill-and-stroke-alpha.ref.png
Binary files differ
diff --git a/test/fill-and-stroke.argb32.ref.png b/test/fill-and-stroke.argb32.ref.png
new file mode 100644
index 00000000..01d92c88
--- /dev/null
+++ b/test/fill-and-stroke.argb32.ref.png
Binary files differ
diff --git a/test/fill-and-stroke.ref.png b/test/fill-and-stroke.ref.png
deleted file mode 100644
index 298f6945..00000000
--- a/test/fill-and-stroke.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/fill-and-stroke.rgb24.ref.png b/test/fill-and-stroke.rgb24.ref.png
index ff886eb2..7228813b 100644
--- a/test/fill-and-stroke.rgb24.ref.png
+++ b/test/fill-and-stroke.rgb24.ref.png
Binary files differ
diff --git a/test/fill-and-stroke.xlib.argb32.ref.png b/test/fill-and-stroke.xlib.argb32.ref.png
new file mode 100644
index 00000000..5f77c926
--- /dev/null
+++ b/test/fill-and-stroke.xlib.argb32.ref.png
Binary files differ
diff --git a/test/fill-and-stroke.xlib.rgb24.ref.png b/test/fill-and-stroke.xlib.rgb24.ref.png
new file mode 100644
index 00000000..f4035ebe
--- /dev/null
+++ b/test/fill-and-stroke.xlib.rgb24.ref.png
Binary files differ
diff --git a/test/filter-nearest-offset.pdf.xfail.png b/test/filter-nearest-offset.pdf.xfail.png
index ffe2df12..4d436aa1 100644
--- a/test/filter-nearest-offset.pdf.xfail.png
+++ b/test/filter-nearest-offset.pdf.xfail.png
Binary files differ
diff --git a/test/filter-nearest-transformed.pdf.xfail.png b/test/filter-nearest-transformed.pdf.xfail.png
index 7eb5988b..5ad98a75 100644
--- a/test/filter-nearest-transformed.pdf.xfail.png
+++ b/test/filter-nearest-transformed.pdf.xfail.png
Binary files differ
diff --git a/test/ft-text-vertical-layout-type1.ps.ref.png b/test/ft-text-vertical-layout-type1.ps.ref.png
new file mode 100644
index 00000000..05cdf103
--- /dev/null
+++ b/test/ft-text-vertical-layout-type1.ps.ref.png
Binary files differ
diff --git a/test/ft-text-vertical-layout-type1.ps2.ref.png b/test/ft-text-vertical-layout-type1.ps2.ref.png
deleted file mode 100644
index 4523495b..00000000
--- a/test/ft-text-vertical-layout-type1.ps2.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/ft-text-vertical-layout-type1.ps3.ref.png b/test/ft-text-vertical-layout-type1.ps3.ref.png
deleted file mode 100644
index 4523495b..00000000
--- a/test/ft-text-vertical-layout-type1.ps3.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/ft-text-vertical-layout-type1.ref.png b/test/ft-text-vertical-layout-type1.ref.png
index 1accc0b3..6f0df7b3 100644
--- a/test/ft-text-vertical-layout-type1.ref.png
+++ b/test/ft-text-vertical-layout-type1.ref.png
Binary files differ
diff --git a/test/ft-text-vertical-layout-type1.svg.ref.png b/test/ft-text-vertical-layout-type1.svg.ref.png
index 0be400c1..326a240d 100644
--- a/test/ft-text-vertical-layout-type1.svg.ref.png
+++ b/test/ft-text-vertical-layout-type1.svg.ref.png
Binary files differ
diff --git a/test/ft-text-vertical-layout-type1.xlib.ref.png b/test/ft-text-vertical-layout-type1.xlib.ref.png
index 2b74aa60..44a1ec7a 100644
--- a/test/ft-text-vertical-layout-type1.xlib.ref.png
+++ b/test/ft-text-vertical-layout-type1.xlib.ref.png
Binary files differ
diff --git a/test/ft-text-vertical-layout-type3.ps.ref.png b/test/ft-text-vertical-layout-type3.ps.ref.png
new file mode 100644
index 00000000..bcc208d8
--- /dev/null
+++ b/test/ft-text-vertical-layout-type3.ps.ref.png
Binary files differ
diff --git a/test/ft-text-vertical-layout-type3.ps2.ref.png b/test/ft-text-vertical-layout-type3.ps2.ref.png
deleted file mode 100644
index e6ad8fc0..00000000
--- a/test/ft-text-vertical-layout-type3.ps2.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/ft-text-vertical-layout-type3.ps3.ref.png b/test/ft-text-vertical-layout-type3.ps3.ref.png
deleted file mode 100644
index e6ad8fc0..00000000
--- a/test/ft-text-vertical-layout-type3.ps3.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/ft-text-vertical-layout-type3.ref.png b/test/ft-text-vertical-layout-type3.ref.png
index 1bda421c..94048f1c 100644
--- a/test/ft-text-vertical-layout-type3.ref.png
+++ b/test/ft-text-vertical-layout-type3.ref.png
Binary files differ
diff --git a/test/ft-text-vertical-layout-type3.svg.ref.png b/test/ft-text-vertical-layout-type3.svg.ref.png
index cddb955a..985a8de6 100644
--- a/test/ft-text-vertical-layout-type3.svg.ref.png
+++ b/test/ft-text-vertical-layout-type3.svg.ref.png
Binary files differ
diff --git a/test/ft-text-vertical-layout-type3.xlib.ref.png b/test/ft-text-vertical-layout-type3.xlib.ref.png
index 8ec2ebec..7a7f68f7 100644
--- a/test/ft-text-vertical-layout-type3.xlib.ref.png
+++ b/test/ft-text-vertical-layout-type3.xlib.ref.png
Binary files differ
diff --git a/test/group-unaligned.svg.argb32.xfail.png b/test/group-unaligned.svg.argb32.xfail.png
index 01c34bec..38550376 100644
--- a/test/group-unaligned.svg.argb32.xfail.png
+++ b/test/group-unaligned.svg.argb32.xfail.png
Binary files differ
diff --git a/test/joins.ref.png b/test/joins.ref.png
index eee7627e..f8e33f8a 100644
--- a/test/joins.ref.png
+++ b/test/joins.ref.png
Binary files differ
diff --git a/test/leaky-dashed-rectangle.pdf.ref.png b/test/leaky-dashed-rectangle.pdf.ref.png
index 690cb363..c0ba7b2c 100644
--- a/test/leaky-dashed-rectangle.pdf.ref.png
+++ b/test/leaky-dashed-rectangle.pdf.ref.png
Binary files differ
diff --git a/test/leaky-dashed-rectangle.xlib.ref.png b/test/leaky-dashed-rectangle.xlib.ref.png
new file mode 100644
index 00000000..690cb363
--- /dev/null
+++ b/test/leaky-dashed-rectangle.xlib.ref.png
Binary files differ
diff --git a/test/leaky-dashed-stroke.ref.png b/test/leaky-dashed-stroke.ref.png
index e79d4d11..ae64dae4 100644
--- a/test/leaky-dashed-stroke.ref.png
+++ b/test/leaky-dashed-stroke.ref.png
Binary files differ
diff --git a/test/leaky-dashed-stroke.xlib.ref.png b/test/leaky-dashed-stroke.xlib.ref.png
new file mode 100644
index 00000000..4ebf1a7f
--- /dev/null
+++ b/test/leaky-dashed-stroke.xlib.ref.png
Binary files differ
diff --git a/test/line-width-scale.ref.png b/test/line-width-scale.ref.png
index c40bce39..e012b6e2 100644
--- a/test/line-width-scale.ref.png
+++ b/test/line-width-scale.ref.png
Binary files differ
diff --git a/test/long-dashed-lines.ref.png b/test/long-dashed-lines.ref.png
index caf8b5e5..09829b71 100644
--- a/test/long-dashed-lines.ref.png
+++ b/test/long-dashed-lines.ref.png
Binary files differ
diff --git a/test/mask-glyphs.svg.ref.png b/test/mask-glyphs.svg.ref.png
index 0058afc1..5d524ddc 100644
--- a/test/mask-glyphs.svg.ref.png
+++ b/test/mask-glyphs.svg.ref.png
Binary files differ
diff --git a/test/meta-surface-pattern.pdf.argb32.ref.png b/test/meta-surface-pattern.pdf.argb32.ref.png
index 04332228..015f7445 100644
--- a/test/meta-surface-pattern.pdf.argb32.ref.png
+++ b/test/meta-surface-pattern.pdf.argb32.ref.png
Binary files differ
diff --git a/test/meta-surface-pattern.pdf.rgb24.ref.png b/test/meta-surface-pattern.pdf.rgb24.ref.png
index b59a9caf..1762e8ac 100644
--- a/test/meta-surface-pattern.pdf.rgb24.ref.png
+++ b/test/meta-surface-pattern.pdf.rgb24.ref.png
Binary files differ
diff --git a/test/meta-surface-pattern.svg.argb32.ref.png b/test/meta-surface-pattern.svg.argb32.ref.png
index 86f6b612..ff4154d6 100644
--- a/test/meta-surface-pattern.svg.argb32.ref.png
+++ b/test/meta-surface-pattern.svg.argb32.ref.png
Binary files differ
diff --git a/test/meta-surface-pattern.svg.rgb24.ref.png b/test/meta-surface-pattern.svg.rgb24.ref.png
index bbd89363..d2d53724 100644
--- a/test/meta-surface-pattern.svg.rgb24.ref.png
+++ b/test/meta-surface-pattern.svg.rgb24.ref.png
Binary files differ
diff --git a/test/new-sub-path.argb32.ref.png b/test/new-sub-path.argb32.ref.png
new file mode 100644
index 00000000..4ecaa0f5
--- /dev/null
+++ b/test/new-sub-path.argb32.ref.png
Binary files differ
diff --git a/test/new-sub-path.pdf.argb32.ref.png b/test/new-sub-path.pdf.argb32.ref.png
new file mode 100644
index 00000000..41fe1314
--- /dev/null
+++ b/test/new-sub-path.pdf.argb32.ref.png
Binary files differ
diff --git a/test/new-sub-path.ref.png b/test/new-sub-path.ref.png
deleted file mode 100644
index 7319ab3f..00000000
--- a/test/new-sub-path.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/new-sub-path.rgb24.ref.png b/test/new-sub-path.rgb24.ref.png
index 8cbc7316..938344a5 100644
--- a/test/new-sub-path.rgb24.ref.png
+++ b/test/new-sub-path.rgb24.ref.png
Binary files differ
diff --git a/test/operator-source.svg12.argb32.xfail.png b/test/operator-source.svg12.argb32.xfail.png
index ccf43156..722e5ac4 100644
--- a/test/operator-source.svg12.argb32.xfail.png
+++ b/test/operator-source.svg12.argb32.xfail.png
Binary files differ
diff --git a/test/operator-source.svg12.rgb24.xfail.png b/test/operator-source.svg12.rgb24.xfail.png
index 827521b8..5f445fc5 100644
--- a/test/operator-source.svg12.rgb24.xfail.png
+++ b/test/operator-source.svg12.rgb24.xfail.png
Binary files differ
diff --git a/test/over-around-source.pdf.argb32.ref.png b/test/over-around-source.pdf.argb32.ref.png
index 02af76a9..da700af7 100644
--- a/test/over-around-source.pdf.argb32.ref.png
+++ b/test/over-around-source.pdf.argb32.ref.png
Binary files differ
diff --git a/test/random-intersections.c b/test/random-intersections-eo.c
index 75e6b626..d35894f3 100644
--- a/test/random-intersections.c
+++ b/test/random-intersections-eo.c
@@ -69,7 +69,7 @@ draw (cairo_t *cr, int width, int height)
return CAIRO_TEST_SUCCESS;
}
-CAIRO_TEST (random_intersections,
+CAIRO_TEST (random_intersections_eo,
"Tests the tessellator trapezoid generation and intersection computation",
"trap", /* keywords */
NULL, /* requirements */
diff --git a/test/random-intersections-eo.ps.ref.png b/test/random-intersections-eo.ps.ref.png
new file mode 100644
index 00000000..4bb11d6f
--- /dev/null
+++ b/test/random-intersections-eo.ps.ref.png
Binary files differ
diff --git a/test/random-intersections.quartz.ref.png b/test/random-intersections-eo.quartz.ref.png
index ef76cba9..ef76cba9 100644
--- a/test/random-intersections.quartz.ref.png
+++ b/test/random-intersections-eo.quartz.ref.png
Binary files differ
diff --git a/test/random-intersections-eo.ref.png b/test/random-intersections-eo.ref.png
new file mode 100644
index 00000000..ea23a878
--- /dev/null
+++ b/test/random-intersections-eo.ref.png
Binary files differ
diff --git a/test/random-intersections-eo.xlib.ref.png b/test/random-intersections-eo.xlib.ref.png
new file mode 100644
index 00000000..942a5fc7
--- /dev/null
+++ b/test/random-intersections-eo.xlib.ref.png
Binary files differ
diff --git a/test/random-intersections-nonzero.c b/test/random-intersections-nonzero.c
new file mode 100644
index 00000000..cad047e0
--- /dev/null
+++ b/test/random-intersections-nonzero.c
@@ -0,0 +1,79 @@
+/*
+ * Copyright © 2006 M Joonas Pihlaja
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
+ */
+#include "cairo-test.h"
+
+#define SIZE 512
+#define NUM_SEGMENTS 128
+
+static uint32_t state;
+
+static double
+uniform_random (double minval, double maxval)
+{
+ static uint32_t const poly = 0x9a795537U;
+ uint32_t n = 32;
+ while (n-->0)
+ state = 2*state < state ? (2*state ^ poly) : 2*state;
+ return minval + state * (maxval - minval) / 4294967296.0;
+}
+
+static cairo_test_status_t
+draw (cairo_t *cr, int width, int height)
+{
+ int i;
+
+ cairo_set_source_rgb (cr, 0, 0, 0);
+ cairo_paint (cr);
+
+ state = 0x12345678;
+ cairo_translate (cr, 1, 1);
+ cairo_set_fill_rule (cr, CAIRO_FILL_RULE_WINDING);
+
+ cairo_move_to (cr, 0, 0);
+ for (i = 0; i < NUM_SEGMENTS; i++) {
+ double x = uniform_random (0, width);
+ double y = uniform_random (0, height);
+ cairo_line_to (cr, x, y);
+ }
+ cairo_close_path (cr);
+
+ cairo_set_source_rgb (cr, 1, 0, 0);
+ cairo_fill_preserve (cr);
+ cairo_set_source_rgb (cr, 0, 1, 0);
+ cairo_set_line_width (cr, 0.5);
+ cairo_stroke (cr);
+
+ return CAIRO_TEST_SUCCESS;
+}
+
+CAIRO_TEST (random_intersections_nonzero,
+ "Tests the tessellator trapezoid generation and intersection computation",
+ "trap", /* keywords */
+ NULL, /* requirements */
+ SIZE+3, SIZE+3,
+ NULL, draw)
+
+
diff --git a/test/random-intersections-nonzero.ps.ref.png b/test/random-intersections-nonzero.ps.ref.png
new file mode 100644
index 00000000..04310910
--- /dev/null
+++ b/test/random-intersections-nonzero.ps.ref.png
Binary files differ
diff --git a/test/random-intersections-nonzero.ref.png b/test/random-intersections-nonzero.ref.png
new file mode 100644
index 00000000..3ea650c9
--- /dev/null
+++ b/test/random-intersections-nonzero.ref.png
Binary files differ
diff --git a/test/random-intersections-nonzero.xlib.ref.png b/test/random-intersections-nonzero.xlib.ref.png
new file mode 100644
index 00000000..69e06f8c
--- /dev/null
+++ b/test/random-intersections-nonzero.xlib.ref.png
Binary files differ
diff --git a/test/random-intersections.ps2.ref.png b/test/random-intersections.ps2.ref.png
deleted file mode 100644
index 590c8324..00000000
--- a/test/random-intersections.ps2.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/random-intersections.ps3.ref.png b/test/random-intersections.ps3.ref.png
deleted file mode 100644
index 590c8324..00000000
--- a/test/random-intersections.ps3.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/random-intersections.ref.png b/test/random-intersections.ref.png
deleted file mode 100644
index ace75a24..00000000
--- a/test/random-intersections.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/random-intersections.xlib.ref.png b/test/random-intersections.xlib.ref.png
deleted file mode 100644
index 3188edef..00000000
--- a/test/random-intersections.xlib.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/reflected-stroke.ref.png b/test/reflected-stroke.ref.png
index 20f89c84..2dd865ba 100644
--- a/test/reflected-stroke.ref.png
+++ b/test/reflected-stroke.ref.png
Binary files differ
diff --git a/test/rel-path.ref.png b/test/rel-path.ref.png
index 7b7007f3..18e67ca3 100644
--- a/test/rel-path.ref.png
+++ b/test/rel-path.ref.png
Binary files differ
diff --git a/test/rel-path.rgb24.ref.png b/test/rel-path.rgb24.ref.png
index 0a8a8732..c317d11b 100644
--- a/test/rel-path.rgb24.ref.png
+++ b/test/rel-path.rgb24.ref.png
Binary files differ
diff --git a/test/scale-offset-image.meta.xfail.png b/test/scale-offset-image.meta.xfail.png
deleted file mode 100644
index 3e0191a1..00000000
--- a/test/scale-offset-image.meta.xfail.png
+++ /dev/null
Binary files differ
diff --git a/test/scale-offset-image.pdf.xfail.png b/test/scale-offset-image.pdf.xfail.png
index 3eacbbc8..76e6fb76 100644
--- a/test/scale-offset-image.pdf.xfail.png
+++ b/test/scale-offset-image.pdf.xfail.png
Binary files differ
diff --git a/test/scale-offset-image.xfail.png b/test/scale-offset-image.xfail.png
index 3e0191a1..fef3a399 100644
--- a/test/scale-offset-image.xfail.png
+++ b/test/scale-offset-image.xfail.png
Binary files differ
diff --git a/test/scale-offset-image.xlib-fallback.xfail.png b/test/scale-offset-image.xlib-fallback.xfail.png
index 1a286cdb..0dd71002 100644
--- a/test/scale-offset-image.xlib-fallback.xfail.png
+++ b/test/scale-offset-image.xlib-fallback.xfail.png
Binary files differ
diff --git a/test/scale-offset-image.xlib.xfail.png b/test/scale-offset-image.xlib.xfail.png
index efb00917..89611db5 100644
--- a/test/scale-offset-image.xlib.xfail.png
+++ b/test/scale-offset-image.xlib.xfail.png
Binary files differ
diff --git a/test/scale-offset-similar.meta.xfail.png b/test/scale-offset-similar.meta.xfail.png
index 83d53e65..0f2553e4 100644
--- a/test/scale-offset-similar.meta.xfail.png
+++ b/test/scale-offset-similar.meta.xfail.png
Binary files differ
diff --git a/test/scale-offset-similar.pdf.xfail.png b/test/scale-offset-similar.pdf.xfail.png
index 7808aeb9..38b9a209 100644
--- a/test/scale-offset-similar.pdf.xfail.png
+++ b/test/scale-offset-similar.pdf.xfail.png
Binary files differ
diff --git a/test/scale-offset-similar.xfail.png b/test/scale-offset-similar.xfail.png
index 3e0191a1..fef3a399 100644
--- a/test/scale-offset-similar.xfail.png
+++ b/test/scale-offset-similar.xfail.png
Binary files differ
diff --git a/test/scale-offset-similar.xlib-fallback.xfail.png b/test/scale-offset-similar.xlib-fallback.xfail.png
index 1a286cdb..0dd71002 100644
--- a/test/scale-offset-similar.xlib-fallback.xfail.png
+++ b/test/scale-offset-similar.xlib-fallback.xfail.png
Binary files differ
diff --git a/test/scale-offset-similar.xlib.xfail.png b/test/scale-offset-similar.xlib.xfail.png
index d58aebab..09e17daa 100644
--- a/test/scale-offset-similar.xlib.xfail.png
+++ b/test/scale-offset-similar.xlib.xfail.png
Binary files differ
diff --git a/test/self-intersecting.argb32.xfail.png b/test/self-intersecting.argb32.xfail.png
deleted file mode 100644
index f644ed46..00000000
--- a/test/self-intersecting.argb32.xfail.png
+++ /dev/null
Binary files differ
diff --git a/test/self-intersecting.c b/test/self-intersecting.c
index 6719e93f..8053235a 100644
--- a/test/self-intersecting.c
+++ b/test/self-intersecting.c
@@ -47,6 +47,9 @@
static cairo_test_status_t
draw (cairo_t *cr, int width, int height)
{
+ cairo_set_source_rgb (cr, 1, 1, 1);
+ cairo_paint (cr);
+
cairo_translate (cr, 1.0, 1.0);
cairo_set_source_rgb (cr, 1, 0, 0); /* red */
diff --git a/test/self-intersecting.pdf.argb32.xfail.png b/test/self-intersecting.pdf.argb32.xfail.png
deleted file mode 100644
index eb38a893..00000000
--- a/test/self-intersecting.pdf.argb32.xfail.png
+++ /dev/null
Binary files differ
diff --git a/test/self-intersecting.pdf.rgb24.xfail.png b/test/self-intersecting.pdf.rgb24.xfail.png
deleted file mode 100644
index a79a2975..00000000
--- a/test/self-intersecting.pdf.rgb24.xfail.png
+++ /dev/null
Binary files differ
diff --git a/test/self-intersecting.ps.argb32.xfail.png b/test/self-intersecting.ps.ref.png
index 84fde017..84fde017 100644
--- a/test/self-intersecting.ps.argb32.xfail.png
+++ b/test/self-intersecting.ps.ref.png
Binary files differ
diff --git a/test/self-intersecting.ps.rgb24.xfail.png b/test/self-intersecting.ps.rgb24.xfail.png
deleted file mode 100644
index c8136070..00000000
--- a/test/self-intersecting.ps.rgb24.xfail.png
+++ /dev/null
Binary files differ
diff --git a/test/self-intersecting.ref.png b/test/self-intersecting.ref.png
index 384b0abc..b2f42599 100644
--- a/test/self-intersecting.ref.png
+++ b/test/self-intersecting.ref.png
Binary files differ
diff --git a/test/self-intersecting.rgb24.ref.png b/test/self-intersecting.rgb24.ref.png
deleted file mode 100644
index 51217926..00000000
--- a/test/self-intersecting.rgb24.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/self-intersecting.rgb24.xfail.png b/test/self-intersecting.rgb24.xfail.png
deleted file mode 100644
index 958215c2..00000000
--- a/test/self-intersecting.rgb24.xfail.png
+++ /dev/null
Binary files differ
diff --git a/test/self-intersecting.xlib.argb32.xfail.png b/test/self-intersecting.xlib.argb32.xfail.png
deleted file mode 100644
index f644ed46..00000000
--- a/test/self-intersecting.xlib.argb32.xfail.png
+++ /dev/null
Binary files differ
diff --git a/test/self-intersecting.xlib.ref.png b/test/self-intersecting.xlib.ref.png
new file mode 100644
index 00000000..f8fe0c03
--- /dev/null
+++ b/test/self-intersecting.xlib.ref.png
Binary files differ
diff --git a/test/self-intersecting.xlib.rgb24.xfail.png b/test/self-intersecting.xlib.rgb24.xfail.png
deleted file mode 100644
index 958215c2..00000000
--- a/test/self-intersecting.xlib.rgb24.xfail.png
+++ /dev/null
Binary files differ
diff --git a/test/smask-stroke.ref.png b/test/smask-stroke.ref.png
index 0d3f7fea..c94a09fc 100644
--- a/test/smask-stroke.ref.png
+++ b/test/smask-stroke.ref.png
Binary files differ
diff --git a/test/smask-stroke.xlib.ref.png b/test/smask-stroke.xlib.ref.png
new file mode 100644
index 00000000..71f427bb
--- /dev/null
+++ b/test/smask-stroke.xlib.ref.png
Binary files differ
diff --git a/test/smask.ps.ref.png b/test/smask.ps.ref.png
new file mode 100644
index 00000000..31ccc17b
--- /dev/null
+++ b/test/smask.ps.ref.png
Binary files differ
diff --git a/test/smask.ps2.ref.png b/test/smask.ps2.ref.png
deleted file mode 100644
index c006bbda..00000000
--- a/test/smask.ps2.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/smask.ps3.ref.png b/test/smask.ps3.ref.png
deleted file mode 100644
index c006bbda..00000000
--- a/test/smask.ps3.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/smask.ref.png b/test/smask.ref.png
index e1904548..b5919de3 100644
--- a/test/smask.ref.png
+++ b/test/smask.ref.png
Binary files differ
diff --git a/test/smask.svg.ref.png b/test/smask.svg.ref.png
index b4ad5270..b9c0308d 100644
--- a/test/smask.svg.ref.png
+++ b/test/smask.svg.ref.png
Binary files differ
diff --git a/test/smask.xlib.ref.png b/test/smask.xlib.ref.png
index bb70abfe..5ce0082c 100644
--- a/test/smask.xlib.ref.png
+++ b/test/smask.xlib.ref.png
Binary files differ
diff --git a/test/spline-decomposition.pdf.ref.png b/test/spline-decomposition.pdf.ref.png
index 9ea094a7..5afa0949 100644
--- a/test/spline-decomposition.pdf.ref.png
+++ b/test/spline-decomposition.pdf.ref.png
Binary files differ
diff --git a/test/spline-decomposition.ps.ref.png b/test/spline-decomposition.ps.ref.png
index 2b3c07dc..e6324041 100644
--- a/test/spline-decomposition.ps.ref.png
+++ b/test/spline-decomposition.ps.ref.png
Binary files differ
diff --git a/test/spline-decomposition.ref.png b/test/spline-decomposition.ref.png
index bac35a9c..426aefaa 100644
--- a/test/spline-decomposition.ref.png
+++ b/test/spline-decomposition.ref.png
Binary files differ
diff --git a/test/spline-decomposition.svg.ref.png b/test/spline-decomposition.svg.ref.png
index 9ea094a7..5afa0949 100644
--- a/test/spline-decomposition.svg.ref.png
+++ b/test/spline-decomposition.svg.ref.png
Binary files differ
diff --git a/test/spline-decomposition.xlib.ref.png b/test/spline-decomposition.xlib.ref.png
new file mode 100644
index 00000000..30d05b3b
--- /dev/null
+++ b/test/spline-decomposition.xlib.ref.png
Binary files differ
diff --git a/test/stroke-ctm-caps.ref.png b/test/stroke-ctm-caps.ref.png
index f3643576..799ff392 100644
--- a/test/stroke-ctm-caps.ref.png
+++ b/test/stroke-ctm-caps.ref.png
Binary files differ
diff --git a/test/stroke-image.pdf.ref.png b/test/stroke-image.pdf.ref.png
index f3eb75d8..80df1004 100644
--- a/test/stroke-image.pdf.ref.png
+++ b/test/stroke-image.pdf.ref.png
Binary files differ
diff --git a/test/stroke-image.ps.ref.png b/test/stroke-image.ps.ref.png
new file mode 100644
index 00000000..208e008b
--- /dev/null
+++ b/test/stroke-image.ps.ref.png
Binary files differ
diff --git a/test/stroke-image.ps2.ref.png b/test/stroke-image.ps2.ref.png
deleted file mode 100644
index a1871674..00000000
--- a/test/stroke-image.ps2.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/stroke-image.ps3.ref.png b/test/stroke-image.ps3.ref.png
deleted file mode 100644
index a1871674..00000000
--- a/test/stroke-image.ps3.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/stroke-image.ref.png b/test/stroke-image.ref.png
index c8b9417d..a3c57aa1 100644
--- a/test/stroke-image.ref.png
+++ b/test/stroke-image.ref.png
Binary files differ
diff --git a/test/stroke-image.xlib.ref.png b/test/stroke-image.xlib.ref.png
new file mode 100644
index 00000000..dbb5c5a1
--- /dev/null
+++ b/test/stroke-image.xlib.ref.png
Binary files differ
diff --git a/test/surface-pattern.pdf.xfail.png b/test/surface-pattern.pdf.xfail.png
index a43dc4d0..fadc2c24 100644
--- a/test/surface-pattern.pdf.xfail.png
+++ b/test/surface-pattern.pdf.xfail.png
Binary files differ
diff --git a/test/text-rotate.pdf.ref.png b/test/text-rotate.pdf.ref.png
index bdd64e6e..ea82bfe4 100644
--- a/test/text-rotate.pdf.ref.png
+++ b/test/text-rotate.pdf.ref.png
Binary files differ
diff --git a/test/text-rotate.ref.png b/test/text-rotate.ref.png
index b2273989..291c6c7d 100644
--- a/test/text-rotate.ref.png
+++ b/test/text-rotate.ref.png
Binary files differ
diff --git a/test/text-rotate.svg.ref.png b/test/text-rotate.svg.ref.png
index 7ffd356b..9d887a02 100644
--- a/test/text-rotate.svg.ref.png
+++ b/test/text-rotate.svg.ref.png
Binary files differ
diff --git a/test/text-rotate.xlib.ref.png b/test/text-rotate.xlib.ref.png
new file mode 100644
index 00000000..3d359649
--- /dev/null
+++ b/test/text-rotate.xlib.ref.png
Binary files differ
diff --git a/test/twin.ps.ref.png b/test/twin.ps.ref.png
index e75062ca..16b49ba6 100644
--- a/test/twin.ps.ref.png
+++ b/test/twin.ps.ref.png
Binary files differ
diff --git a/test/twin.ref.png b/test/twin.ref.png
index 3c46b02a..f5d524fb 100644
--- a/test/twin.ref.png
+++ b/test/twin.ref.png
Binary files differ
diff --git a/test/twin.xlib.ref.png b/test/twin.xlib.ref.png
new file mode 100644
index 00000000..04421867
--- /dev/null
+++ b/test/twin.xlib.ref.png
Binary files differ
diff --git a/test/unantialiased-shapes.ref.png b/test/unantialiased-shapes.ref.png
index 128a2a16..c909d387 100644
--- a/test/unantialiased-shapes.ref.png
+++ b/test/unantialiased-shapes.ref.png
Binary files differ
diff --git a/test/unbounded-operator.svg12.argb32.ref.png b/test/unbounded-operator.svg12.argb32.ref.png
new file mode 100644
index 00000000..45b173fa
--- /dev/null
+++ b/test/unbounded-operator.svg12.argb32.ref.png
Binary files differ
diff --git a/test/unbounded-operator.svg12.argb32.xfail.png b/test/unbounded-operator.svg12.argb32.xfail.png
deleted file mode 100644
index 15965c8e..00000000
--- a/test/unbounded-operator.svg12.argb32.xfail.png
+++ /dev/null
Binary files differ
diff --git a/test/unbounded-operator.svg12.rgb24.xfail.png b/test/unbounded-operator.svg12.rgb24.xfail.png
index 828a9db9..c369fd26 100644
--- a/test/unbounded-operator.svg12.rgb24.xfail.png
+++ b/test/unbounded-operator.svg12.rgb24.xfail.png
Binary files differ
diff --git a/test/user-font-proxy.svg.ref.png b/test/user-font-proxy.svg.ref.png
index 6c458485..747750a5 100644
--- a/test/user-font-proxy.svg.ref.png
+++ b/test/user-font-proxy.svg.ref.png
Binary files differ
diff --git a/test/user-font.ps.ref.png b/test/user-font.ps.ref.png
new file mode 100644
index 00000000..63f28969
--- /dev/null
+++ b/test/user-font.ps.ref.png
Binary files differ
diff --git a/test/user-font.ps2.ref.png b/test/user-font.ps2.ref.png
deleted file mode 100644
index e1dd00ab..00000000
--- a/test/user-font.ps2.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/user-font.ps3.ref.png b/test/user-font.ps3.ref.png
deleted file mode 100644
index e1dd00ab..00000000
--- a/test/user-font.ps3.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/user-font.ref.png b/test/user-font.ref.png
index 753fc7bc..ab18e1ce 100644
--- a/test/user-font.ref.png
+++ b/test/user-font.ref.png
Binary files differ
diff --git a/test/user-font.xlib.ref.png b/test/user-font.xlib.ref.png
index abc31171..d81ecf1d 100644
--- a/test/user-font.xlib.ref.png
+++ b/test/user-font.xlib.ref.png
Binary files differ