summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2009-07-23 15:32:13 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2009-07-23 15:32:14 +0100
commitbed2701e1c89095878d549cbca8f22d84f3dda3c (patch)
tree974807761b6d839839ecad9961eae8d567898dcc /test
parentf5a1cdf283a6aa1f4409ccbf3c2274fb587724fe (diff)
Remove clip handling from generic surface layer.
Handling clip as part of the surface state, as opposed to being part of the operation state, is cumbersome and a hindrance to providing true proxy surface support. For example, the clip must be copied from the surface onto the fallback image, but this was forgotten causing undue hassle in each backend. Another example is the contortion the meta surface endures to ensure the clip is correctly recorded. By contrast passing the clip along with the operation is quite simple and enables us to write generic handlers for providing surface wrappers. (And in the future, we should be able to write more esoteric wrappers, e.g. automatic 2x FSAA, trivially.) In brief, instead of the surface automatically applying the clip before calling the backend, the backend can call into a generic helper to apply clipping. For raster surfaces, clip regions are handled automatically as part of the composite interface. For vector surfaces, a clip helper is introduced to replay and callback into an intersect_clip_path() function as necessary. Whilst this is not primarily a performance related change (the change should just move the computation of the clip from the moment it is applied by the user to the moment it is required by the backend), it is important to track any potential regression: ppc: Speedups ======== image-rgba evolution-20090607-0 1026085.22 0.18% -> 672972.07 0.77%: 1.52x speedup ▌ image-rgba evolution-20090618-0 680579.98 0.12% -> 573237.66 0.16%: 1.19x speedup ▎ image-rgba swfdec-fill-rate-4xaa-0 460296.92 0.36% -> 407464.63 0.42%: 1.13x speedup ▏ image-rgba swfdec-fill-rate-2xaa-0 128431.95 0.47% -> 115051.86 0.42%: 1.12x speedup ▏ Slowdowns ========= image-rgba firefox-periodic-table-0 56837.61 0.78% -> 66055.17 3.20%: 1.09x slowdown ▏
Diffstat (limited to 'test')
-rw-r--r--test/Makefile.am75
-rw-r--r--test/Makefile.sources2
-rw-r--r--test/buffer-diff.c12
-rw-r--r--test/cairo-test.c18
-rw-r--r--test/clip-operator.pdf.argb32.ref.pngbin0 -> 9340 bytes
-rw-r--r--test/clip-operator.pdf.argb32.xfail.pngbin9340 -> 0 bytes
-rw-r--r--test/clip-operator.pdf.rgb24.ref.pngbin0 -> 5146 bytes
-rw-r--r--test/clip-operator.pdf.rgb24.xfail.pngbin5155 -> 0 bytes
-rw-r--r--test/clip-operator.svg12.argb32.xfail.pngbin8404 -> 8406 bytes
-rw-r--r--test/clip-operator.svg12.rgb24.xfail.pngbin4523 -> 4540 bytes
-rw-r--r--test/clip-operator.xlib-fallback.ref.pngbin0 -> 3226 bytes
-rw-r--r--test/clip-operator.xlib-fallback.rgb24.ref.pngbin3254 -> 0 bytes
-rw-r--r--test/clip-push-group.pdf.ref.pngbin0 -> 164 bytes
-rw-r--r--test/clip-push-group.ref.pngbin199 -> 164 bytes
-rw-r--r--test/clip-push-group.xlib.ref.pngbin0 -> 155 bytes
-rw-r--r--test/clip-unbounded.c80
-rw-r--r--test/clip-unbounded.ref.pngbin0 -> 100 bytes
-rw-r--r--test/clip-unbounded.rgb24.ref.pngbin0 -> 97 bytes
-rw-r--r--test/clip-unbounded.svg12.rgb24.xfail.pngbin0 -> 100 bytes
-rw-r--r--test/clipped-group.pdf.argb32.ref.pngbin298 -> 0 bytes
-rw-r--r--test/clipped-group.pdf.ref.pngbin0 -> 310 bytes
-rw-r--r--test/clipped-group.pdf.rgb24.ref.pngbin298 -> 0 bytes
-rw-r--r--test/clipped-group.ref.pngbin350 -> 316 bytes
-rw-r--r--test/composite-integer-translate-source.svg12.argb32.xfail.pngbin0 -> 16392 bytes
-rw-r--r--test/composite-integer-translate-source.svg12.rgb24.xfail.pngbin0 -> 16392 bytes
-rw-r--r--test/device-offset-fractional.pdf.argb32.ref.pngbin275 -> 0 bytes
-rw-r--r--test/device-offset-fractional.pdf.ref.pngbin277 -> 0 bytes
-rw-r--r--test/device-offset-fractional.pdf.rgb24.ref.pngbin275 -> 0 bytes
-rw-r--r--test/device-offset-fractional.pdf.xfail.pngbin0 -> 275 bytes
-rw-r--r--test/extended-blend-alpha.svg12.argb32.xfail.pngbin0 -> 6857 bytes
-rw-r--r--test/extended-blend-alpha.svg12.rgb24.xfail.pngbin0 -> 5014 bytes
-rw-r--r--test/extended-blend.svg12.argb32.xfail.pngbin0 -> 2273 bytes
-rw-r--r--test/extended-blend.svg12.rgb24.xfail.pngbin0 -> 1856 bytes
-rw-r--r--test/fill-empty.argb32.ref.pngbin0 -> 99 bytes
-rw-r--r--test/fill-empty.c62
-rw-r--r--test/fill-empty.rgb24.ref.pngbin0 -> 97 bytes
-rw-r--r--test/fill-empty.svg12.rgb24.xfail.pngbin0 -> 99 bytes
-rw-r--r--test/filter-nearest-offset.pdf.xfail.pngbin1926 -> 1867 bytes
-rw-r--r--test/filter-nearest-transformed.pdf.xfail.pngbin488 -> 482 bytes
-rw-r--r--test/ft-text-vertical-layout-type1.pdf.argb32.ref.pngbin3632 -> 0 bytes
-rw-r--r--test/ft-text-vertical-layout-type1.pdf.ref.pngbin3968 -> 3635 bytes
-rw-r--r--test/ft-text-vertical-layout-type1.pdf.rgb24.ref.pngbin3632 -> 0 bytes
-rw-r--r--test/ft-text-vertical-layout-type3.pdf.argb32.ref.pngbin3642 -> 0 bytes
-rw-r--r--test/ft-text-vertical-layout-type3.pdf.ref.pngbin3634 -> 3639 bytes
-rw-r--r--test/ft-text-vertical-layout-type3.pdf.rgb24.ref.pngbin3642 -> 0 bytes
-rw-r--r--test/ft-text-vertical-layout-type3.ref.pngbin3609 -> 3608 bytes
-rw-r--r--test/group-unaligned.svg.argb32.xfail.pngbin522 -> 520 bytes
-rw-r--r--test/group-unaligned.xlib-fallback.ref.pngbin496 -> 474 bytes
-rw-r--r--test/image-surface-source.svg12.argb32.xfail.pngbin0 -> 278 bytes
-rw-r--r--test/image-surface-source.svg12.rgb24.xfail.pngbin0 -> 278 bytes
-rw-r--r--test/in-fill-trapezoid.c19
-rw-r--r--test/mask-glyphs.svg.ref.pngbin1211170 -> 1211147 bytes
-rw-r--r--test/mask.pdf.argb32.ref.pngbin0 -> 7837 bytes
-rw-r--r--test/mask.pdf.argb32.xfail.pngbin7944 -> 0 bytes
-rw-r--r--test/mask.pdf.rgb24.ref.pngbin0 -> 7301 bytes
-rw-r--r--test/mask.pdf.rgb24.xfail.pngbin7388 -> 0 bytes
-rw-r--r--test/mask.xlib-fallback.rgb24.ref.pngbin7216 -> 0 bytes
-rw-r--r--test/meta-surface-pattern.pdf.argb32.ref.pngbin4009 -> 3868 bytes
-rw-r--r--test/meta-surface-pattern.pdf.rgb24.ref.pngbin3905 -> 3806 bytes
-rw-r--r--test/operator-clear.xlib.argb32.ref.pngbin0 -> 1071 bytes
-rw-r--r--test/operator-clear.xlib.rgb24.ref.png (renamed from test/operator-clear.xlib.ref.png)bin951 -> 951 bytes
-rw-r--r--test/operator-source.pdf.rgb24.ref.png (renamed from test/operator-source.pdf.rgb24.xfail.png)bin3645 -> 3645 bytes
-rw-r--r--test/operator-source.svg12.argb32.xfail.pngbin2951 -> 2967 bytes
-rw-r--r--test/operator-source.svg12.rgb24.xfail.pngbin2963 -> 2976 bytes
-rw-r--r--test/operator-source.xlib-fallback.ref.pngbin0 -> 3177 bytes
-rw-r--r--test/operator-source.xlib-fallback.rgb24.ref.pngbin3193 -> 0 bytes
-rw-r--r--test/path-append.xlib-fallback.ref.pngbin6357 -> 6320 bytes
-rw-r--r--test/pdf-surface-source.svg12.argb32.xfail.pngbin0 -> 278 bytes
-rw-r--r--test/pdf-surface-source.svg12.rgb24.xfail.pngbin0 -> 278 bytes
-rw-r--r--test/ps-surface-source.svg12.argb32.xfail.pngbin0 -> 278 bytes
-rw-r--r--test/ps-surface-source.svg12.rgb24.xfail.pngbin0 -> 278 bytes
-rw-r--r--test/push-group.xlib-fallback.rgb24.ref.pngbin2912 -> 0 bytes
-rw-r--r--test/scale-offset-image.meta.xfail.pngbin0 -> 8599 bytes
-rw-r--r--test/scale-offset-image.pdf.rgb24.ref.pngbin8691 -> 0 bytes
-rw-r--r--test/scale-offset-image.pdf.xfail.png (renamed from test/scale-offset-image.pdf.argb32.ref.png)bin8692 -> 8692 bytes
-rw-r--r--test/scale-offset-image.xlib-fallback.xfail.pngbin0 -> 8580 bytes
-rw-r--r--test/scale-offset-similar.meta.xfail.pngbin0 -> 9095 bytes
-rw-r--r--test/scale-offset-similar.pdf.argb32.ref.pngbin9278 -> 0 bytes
-rw-r--r--test/scale-offset-similar.pdf.rgb24.ref.pngbin9278 -> 0 bytes
-rw-r--r--test/scale-offset-similar.pdf.xfail.pngbin0 -> 9369 bytes
-rw-r--r--test/scale-offset-similar.xlib-fallback.xfail.pngbin0 -> 8580 bytes
-rw-r--r--test/self-intersecting.argb32.xfail.pngbin287 -> 235 bytes
-rw-r--r--test/self-intersecting.pdf.argb32.xfail.pngbin295 -> 285 bytes
-rw-r--r--test/self-intersecting.pdf.rgb24.xfail.pngbin272 -> 269 bytes
-rw-r--r--test/self-intersecting.rgb24.xfail.pngbin282 -> 240 bytes
-rw-r--r--test/smask-fill.xlib-fallback.ref.pngbin1156 -> 0 bytes
-rw-r--r--test/smask-text.xlib.ref.pngbin0 -> 1672 bytes
-rw-r--r--test/smask.xlib.ref.pngbin0 -> 3393 bytes
-rw-r--r--test/surface-pattern-big-scale-down.ps.xfail.pngbin0 -> 238 bytes
-rw-r--r--test/svg-surface-source.svg12.argb32.xfail.pngbin0 -> 278 bytes
-rw-r--r--test/svg-surface-source.svg12.rgb24.xfail.pngbin0 -> 278 bytes
-rw-r--r--test/test-fallback16-surface-source.svg12.argb32.xfail.pngbin0 -> 278 bytes
-rw-r--r--test/test-fallback16-surface-source.svg12.rgb24.xfail.pngbin0 -> 278 bytes
-rw-r--r--test/text-pattern.pdf.argb32.ref.pngbin0 -> 1831 bytes
-rw-r--r--test/text-pattern.pdf.argb32.xfail.pngbin1845 -> 0 bytes
-rw-r--r--test/text-pattern.pdf.rgb24.ref.pngbin0 -> 1598 bytes
-rw-r--r--test/text-pattern.pdf.rgb24.xfail.pngbin1599 -> 0 bytes
-rw-r--r--test/unbounded-operator.svg12.argb32.xfail.pngbin2767 -> 2771 bytes
-rw-r--r--test/unbounded-operator.svg12.rgb24.xfail.pngbin1719 -> 1731 bytes
-rw-r--r--test/user-font-proxy.svg.ref.pngbin16817 -> 16814 bytes
-rw-r--r--test/xlib-surface-source.svg12.argb32.xfail.pngbin0 -> 278 bytes
-rw-r--r--test/xlib-surface-source.svg12.rgb24.xfail.pngbin0 -> 278 bytes
102 files changed, 230 insertions, 38 deletions
diff --git a/test/Makefile.am b/test/Makefile.am
index 2e0eb106a..ec5dfac90 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -185,8 +185,8 @@ REFERENCE_IMAGES = \
clip-nesting.rgb24.ref.png \
clip-nesting.test-paginated.rgb24.ref.png \
clip-nesting.xlib.rgb24.ref.png \
- clip-operator.pdf.argb32.xfail.png \
- clip-operator.pdf.rgb24.xfail.png \
+ clip-operator.pdf.argb32.ref.png \
+ clip-operator.pdf.rgb24.ref.png \
clip-operator.ps2.rgb24.ref.png \
clip-operator.ps3.argb32.ref.png \
clip-operator.ps3.ref.png \
@@ -198,15 +198,21 @@ REFERENCE_IMAGES = \
clip-operator.svg12.argb32.xfail.png \
clip-operator.svg12.rgb24.xfail.png \
clip-operator.test-paginated.argb32.ref.png \
- clip-operator.xlib-fallback.rgb24.ref.png \
+ clip-operator.xlib-fallback.ref.png \
clip-operator.xlib.ref.png \
clip-operator.xlib.rgb24.ref.png \
+ clip-unbounded.ref.png \
+ clip-unbounded.rgb24.ref.png \
+ clip-unbounded.svg12.rgb24.xfail.png \
+ clipped-surface.ref.png \
+ clip-push-group.pdf.ref.png \
clip-push-group.ps2.argb32.ref.png \
clip-push-group.ps2.rgb24.ref.png \
clip-push-group.ps3.argb32.ref.png \
clip-push-group.ps3.rgb24.ref.png \
clip-push-group.quartz.ref.png \
clip-push-group.ref.png \
+ clip-push-group.xlib.ref.png \
clip-twice.pdf.argb32.ref.png \
clip-twice.ps2.argb32.ref.png \
clip-twice.ps2.rgb24.ref.png \
@@ -220,8 +226,7 @@ REFERENCE_IMAGES = \
clip-twice.test-paginated.rgb24.ref.png \
clip-twice.xlib.ref.png \
clip-twice.xlib.rgb24.ref.png \
- clipped-group.pdf.argb32.ref.png \
- clipped-group.pdf.rgb24.ref.png \
+ clipped-group.pdf.ref.png \
clipped-group.ps2.ref.png \
clipped-group.ps3.ref.png \
clipped-group.ref.png \
@@ -240,6 +245,8 @@ REFERENCE_IMAGES = \
composite-integer-translate-source.ps2.ref.png \
composite-integer-translate-source.ps3.ref.png \
composite-integer-translate-source.ref.png \
+ composite-integer-translate-source.svg12.argb32.xfail.png \
+ composite-integer-translate-source.svg12.rgb24.xfail.png \
copy-path.ps2.ref.png \
copy-path.ps3.ref.png \
copy-path.ref.png \
@@ -299,7 +306,7 @@ REFERENCE_IMAGES = \
device-offset-fractional.gl.xfail.png \
device-offset-fractional.pdf.argb32.ref.png \
device-offset-fractional.pdf.ref.png \
- device-offset-fractional.pdf.rgb24.ref.png \
+ device-offset-fractional.pdf.xfail.png \
device-offset-fractional.ps2.ref.png \
device-offset-fractional.ps3.ref.png \
device-offset-fractional.ref.png \
@@ -311,8 +318,12 @@ REFERENCE_IMAGES = \
device-offset.rgb24.ref.png \
extended-blend.argb32.ref.png \
extended-blend.rgb24.ref.png \
+ extended-blend.svg12.argb32.xfail.png \
+ extended-blend.svg12.rgb24.xfail.png \
extended-blend-alpha.argb32.ref.png \
extended-blend-alpha.rgb24.ref.png \
+ extended-blend-alpha.svg12.argb32.xfail.png \
+ extended-blend-alpha.svg12.rgb24.xfail.png \
extend-pad-border.ps.ref.png \
extend-pad-border.ref.png \
extend-pad-border.svg.xfail.png \
@@ -377,6 +388,9 @@ REFERENCE_IMAGES = \
fill-degenerate-sort-order.rgb24.ref.png \
fill-degenerate-sort-order.xlib.ref.png \
fill-degenerate-sort-order.xlib.rgb24.ref.png \
+ fill-empty.argb32.ref.png \
+ fill-empty.rgb24.ref.png \
+ fill-empty.svg12.rgb24.xfail.png \
fill-image.ps.ref.png \
fill-image.ref.png \
fill-image.xlib.ref.png \
@@ -443,17 +457,13 @@ REFERENCE_IMAGES = \
ft-text-antialias-none.ps2.argb32.ref.png \
ft-text-antialias-none.ps3.argb32.ref.png \
ft-text-antialias-none.ref.png \
- ft-text-vertical-layout-type1.pdf.argb32.ref.png \
ft-text-vertical-layout-type1.pdf.ref.png \
- ft-text-vertical-layout-type1.pdf.rgb24.ref.png \
ft-text-vertical-layout-type1.ps2.ref.png \
ft-text-vertical-layout-type1.ps3.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.argb32.ref.png \
ft-text-vertical-layout-type3.pdf.ref.png \
- ft-text-vertical-layout-type3.pdf.rgb24.ref.png \
ft-text-vertical-layout-type3.ps2.ref.png \
ft-text-vertical-layout-type3.ps3.ref.png \
ft-text-vertical-layout-type3.ref.png \
@@ -498,6 +508,8 @@ REFERENCE_IMAGES = \
image-surface-source.ps2.ref.png \
image-surface-source.ps3.ref.png \
image-surface-source.ref.png \
+ image-surface-source.svg12.argb32.xfail.png \
+ image-surface-source.svg12.rgb24.xfail.png \
infinite-join.ps2.ref.png \
infinite-join.ps3.ref.png \
infinite-join.ref.png \
@@ -558,15 +570,14 @@ REFERENCE_IMAGES = \
mask-transformed-similar.pdf.ref.png \
mask-transformed-similar.ref.png \
mask-transformed-similar.svg.ref.png \
- mask.pdf.argb32.xfail.png \
- mask.pdf.rgb24.xfail.png \
+ mask.pdf.argb32.ref.png \
+ mask.pdf.rgb24.ref.png \
mask.quartz.ref.png \
mask.quartz.rgb24.ref.png \
mask.ref.png \
mask.rgb24.ref.png \
mask.svg.argb32.xfail.png \
mask.svg.rgb24.xfail.png \
- mask.xlib-fallback.rgb24.ref.png \
mask.xlib.ref.png \
mask.xlib.rgb24.ref.png \
meta-surface-pattern.gl.argb32.ref.png \
@@ -613,15 +624,16 @@ REFERENCE_IMAGES = \
operator-clear.rgb24.ref.png \
operator-clear.svg12.argb32.xfail.png \
operator-clear.svg12.rgb24.xfail.png \
- operator-clear.xlib.ref.png \
- operator-source.pdf.rgb24.xfail.png \
+ operator-clear.xlib.argb32.ref.png \
+ operator-clear.xlib.rgb24.ref.png \
+ operator-source.pdf.rgb24.ref.png \
operator-source.quartz.ref.png \
operator-source.quartz.rgb24.ref.png \
operator-source.ref.png \
operator-source.rgb24.ref.png \
operator-source.svg12.argb32.xfail.png \
operator-source.svg12.rgb24.xfail.png \
- operator-source.xlib-fallback.rgb24.ref.png \
+ operator-source.xlib-fallback.ref.png \
operator-source.xlib.ref.png \
operator-source.xlib.rgb24.ref.png \
operator.ref.png \
@@ -682,12 +694,15 @@ REFERENCE_IMAGES = \
path-append.xlib.ref.png \
pattern-getters.ref.png \
pdf-surface-source.ref.png \
+ pdf-surface-source.svg12.argb32.xfail.png \
+ pdf-surface-source.svg12.rgb24.xfail.png \
pixman-rotate.ref.png \
pixman-rotate.rgb24.ref.png \
ps-surface-source.ref.png \
+ ps-surface-source.svg12.argb32.xfail.png \
+ ps-surface-source.svg12.rgb24.xfail.png \
push-group.ref.png \
push-group.rgb24.ref.png \
- push-group.xlib-fallback.rgb24.ref.png \
push-group.xlib.ref.png \
push-group.xlib.rgb24.ref.png \
quartz-surface-source.ps2.ref.png \
@@ -727,19 +742,21 @@ REFERENCE_IMAGES = \
rotate-image-surface-paint.svg.ref.png \
scale-down-source-surface-paint.ref.png \
scale-offset-image.gl.ref.png \
- scale-offset-image.pdf.argb32.ref.png \
- scale-offset-image.pdf.rgb24.ref.png \
+ scale-offset-image.pdf.xfail.png \
scale-offset-image.ps.ref.png \
scale-offset-image.ref.png \
scale-offset-image.xfail.png \
+ scale-offset-image.meta.xfail.png \
scale-offset-image.xlib.xfail.png \
+ scale-offset-image.xlib-fallback.xfail.png \
scale-offset-similar.gl.ref.png \
- scale-offset-similar.pdf.argb32.ref.png \
- scale-offset-similar.pdf.rgb24.ref.png \
+ scale-offset-similar.pdf.xfail.png \
scale-offset-similar.ps.ref.png \
scale-offset-similar.ref.png \
scale-offset-similar.xfail.png \
+ scale-offset-similar.meta.xfail.png \
scale-offset-similar.xlib.xfail.png \
+ scale-offset-similar.xlib-fallback.xfail.png \
scale-source-surface-paint.ref.png \
scale-source-surface-paint.rgb24.ref.png \
scale-source-surface-paint.svg.argb32.xfail.png \
@@ -773,7 +790,6 @@ REFERENCE_IMAGES = \
skew-extreme.ref.png \
smask-fill.ref.png \
smask-fill.svg.ref.png \
- smask-fill.xlib-fallback.ref.png \
smask-fill.xlib.ref.png \
smask-image-mask.ref.png \
smask-mask.pdf.xfail.png \
@@ -789,11 +805,13 @@ REFERENCE_IMAGES = \
smask-text.ps3.ref.png \
smask-text.ref.png \
smask-text.svg.ref.png \
+ smask-text.xlib.ref.png \
smask.pdf.xfail.png \
smask.ps2.ref.png \
smask.ps3.ref.png \
smask.ref.png \
smask.svg.ref.png \
+ smask.xlib.ref.png \
solid-pattern-cache-stress.ref.png \
source-clip-scale.gl.ref.png \
source-clip-scale.pdf.ref.png \
@@ -821,6 +839,7 @@ REFERENCE_IMAGES = \
stroke-image.quartz.ref.png \
stroke-image.ref.png \
surface-pattern-big-scale-down.ref.png \
+ surface-pattern-big-scale-down.ps.xfail.png \
surface-pattern-scale-down.pdf.ref.png \
surface-pattern-scale-down.ps2.ref.png \
surface-pattern-scale-down.ps3.ref.png \
@@ -835,8 +854,12 @@ REFERENCE_IMAGES = \
surface-pattern.ref.png \
surface-pattern.svg.xfail.png \
svg-surface-source.ref.png \
+ svg-surface-source.svg12.argb32.xfail.png \
+ svg-surface-source.svg12.rgb24.xfail.png \
test-fallback16-surface-source.ps.ref.png \
test-fallback16-surface-source.ref.png \
+ test-fallback16-surface-source.svg12.argb32.xfail.png \
+ test-fallback16-surface-source.svg12.rgb24.xfail.png \
text-antialias-gray.quartz.ref.png \
text-antialias-gray.ref.png \
text-antialias-none.quartz.ref.png \
@@ -846,8 +869,8 @@ REFERENCE_IMAGES = \
text-glyph-range.ps2.ref.png \
text-glyph-range.ps3.ref.png \
text-glyph-range.ref.png \
- text-pattern.pdf.argb32.xfail.png \
- text-pattern.pdf.rgb24.xfail.png \
+ text-pattern.pdf.argb32.ref.png \
+ text-pattern.pdf.rgb24.ref.png \
text-pattern.ps3.argb32.ref.png \
text-pattern.ps3.rgb24.ref.png \
text-pattern.quartz.ref.png \
@@ -924,6 +947,8 @@ REFERENCE_IMAGES = \
xlib-surface-source.ps2.ref.png \
xlib-surface-source.ps3.ref.png \
xlib-surface-source.ref.png \
+ xlib-surface-source.svg12.argb32.xfail.png \
+ xlib-surface-source.svg12.rgb24.xfail.png \
zero-alpha.ref.png
EXTRA_DIST += \
@@ -1218,7 +1243,7 @@ run:
# Check tests under valgrind. Saves log to valgrind-log
check-valgrind:
- $(MAKE) $(AM_MAKEFLAGS) check TESTS_ENVIRONMENT='$(TESTS_ENVIRONMENT) CAIRO_TEST_MODE="$(MODE),foreground" $(top_builddir)/libtool --mode=execute valgrind $(VALGRIND_FLAGS)' 2>&1 | tee valgrind-log
+ $(MAKE) $(AM_MAKEFLAGS) check TESTS_ENVIRONMENT='$(TESTS_ENVIRONMENT) CAIRO_TEST_MODE="$(MODE),foreground CAIRO_TEST_TIMEOUT=0" $(top_builddir)/libtool --mode=execute valgrind $(VALGRIND_FLAGS)' 2>&1 | tee valgrind-log
%.log: %.c cairo-test-suite
-./cairo-test-suite $(<:.c=)
diff --git a/test/Makefile.sources b/test/Makefile.sources
index 4d87a2768..573ca848a 100644
--- a/test/Makefile.sources
+++ b/test/Makefile.sources
@@ -21,6 +21,7 @@ test_sources = \
clip-operator.c \
clip-push-group.c \
clip-twice.c \
+ clip-unbounded.c \
clip-zero.c \
clipped-group.c \
clipped-surface.c \
@@ -64,6 +65,7 @@ test_sources = \
fill-and-stroke-alpha.c \
fill-and-stroke-alpha-add.c \
fill-degenerate-sort-order.c \
+ fill-empty.c \
fill-image.c \
fill-missed-stop.c \
fill-rule.c \
diff --git a/test/buffer-diff.c b/test/buffer-diff.c
index f9b4a9518..8fc3f891e 100644
--- a/test/buffer-diff.c
+++ b/test/buffer-diff.c
@@ -70,13 +70,12 @@ buffer_diff_core (const unsigned char *_buf_a, int stride_a,
stride_a /= sizeof (uint32_t);
stride_b /= sizeof (uint32_t);
stride_diff /= sizeof (uint32_t);
- for (y = 0; y < height; y++)
- {
+ for (y = 0; y < height; y++) {
const uint32_t *row_a = buf_a + y * stride_a;
const uint32_t *row_b = buf_b + y * stride_b;
uint32_t *row = buf_diff + y * stride_diff;
- for (x = 0; x < width; x++)
- {
+
+ for (x = 0; x < width; x++) {
/* check if the pixels are the same */
if ((row_a[x] & mask) != (row_b[x] & mask)) {
int channel;
@@ -99,6 +98,11 @@ buffer_diff_core (const unsigned char *_buf_a, int stride_a,
}
result.pixels_changed++;
+ if ((diff_pixel & 0x00ffffff) == 0) {
+ /* alpha only difference, convert to luminance */
+ uint8_t alpha = diff_pixel >> 24;
+ diff_pixel = alpha * 0x010101;
+ }
row[x] = diff_pixel;
} else {
row[x] = 0;
diff --git a/test/cairo-test.c b/test/cairo-test.c
index ad74d13fb..630036d19 100644
--- a/test/cairo-test.c
+++ b/test/cairo-test.c
@@ -566,7 +566,7 @@ cairo_test_file_is_older (const char *filename,
while (num_ref_filenames--) {
struct stat ref;
- char *ref_filename = ref_filenames++;
+ char *ref_filename = *ref_filenames++;
if (ref_filename == NULL)
continue;
@@ -912,6 +912,11 @@ REPEAT:
goto UNWIND_SURFACE;
}
+ cairo_surface_set_user_data (surface,
+ &cairo_boilerplate_output_basename_key,
+ base_path,
+ NULL);
+
cairo_surface_set_device_offset (surface, dev_offset, dev_offset);
cr = cairo_create (surface);
@@ -1080,13 +1085,17 @@ REPEAT:
ctx->test->width,
ctx->test->height);
diff_status = cairo_surface_write_to_png (test_image, out_png_path);
+ cairo_surface_destroy (test_image);
if (diff_status) {
+ if (cairo_surface_status (test_image) == CAIRO_STATUS_INVALID_STATUS)
+ ret = CAIRO_TEST_CRASHED;
+ else
+ ret = CAIRO_TEST_FAILURE;
cairo_test_log (ctx,
"Error: Failed to write output image: %s\n",
cairo_status_to_string (diff_status));
}
have_output = TRUE;
- cairo_surface_destroy (test_image);
ret = CAIRO_TEST_XFAILURE;
goto UNWIND_CAIRO;
@@ -1167,8 +1176,11 @@ REPEAT:
if (cairo_surface_status (test_image)) {
cairo_test_log (ctx, "Error: Failed to extract image: %s\n",
cairo_status_to_string (cairo_surface_status (test_image)));
+ if (cairo_surface_status (test_image) == CAIRO_STATUS_INVALID_STATUS)
+ ret = CAIRO_TEST_CRASHED;
+ else
+ ret = CAIRO_TEST_FAILURE;
cairo_surface_destroy (test_image);
- ret = CAIRO_TEST_FAILURE;
goto UNWIND_CAIRO;
}
diff --git a/test/clip-operator.pdf.argb32.ref.png b/test/clip-operator.pdf.argb32.ref.png
new file mode 100644
index 000000000..4213499b4
--- /dev/null
+++ b/test/clip-operator.pdf.argb32.ref.png
Binary files differ
diff --git a/test/clip-operator.pdf.argb32.xfail.png b/test/clip-operator.pdf.argb32.xfail.png
deleted file mode 100644
index c0a4078c7..000000000
--- a/test/clip-operator.pdf.argb32.xfail.png
+++ /dev/null
Binary files differ
diff --git a/test/clip-operator.pdf.rgb24.ref.png b/test/clip-operator.pdf.rgb24.ref.png
new file mode 100644
index 000000000..55e7893d8
--- /dev/null
+++ b/test/clip-operator.pdf.rgb24.ref.png
Binary files differ
diff --git a/test/clip-operator.pdf.rgb24.xfail.png b/test/clip-operator.pdf.rgb24.xfail.png
deleted file mode 100644
index 01329b552..000000000
--- a/test/clip-operator.pdf.rgb24.xfail.png
+++ /dev/null
Binary files differ
diff --git a/test/clip-operator.svg12.argb32.xfail.png b/test/clip-operator.svg12.argb32.xfail.png
index 1c21d15f6..be0696e0f 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 f79de48eb..494852da4 100644
--- a/test/clip-operator.svg12.rgb24.xfail.png
+++ b/test/clip-operator.svg12.rgb24.xfail.png
Binary files differ
diff --git a/test/clip-operator.xlib-fallback.ref.png b/test/clip-operator.xlib-fallback.ref.png
new file mode 100644
index 000000000..be1cac014
--- /dev/null
+++ b/test/clip-operator.xlib-fallback.ref.png
Binary files differ
diff --git a/test/clip-operator.xlib-fallback.rgb24.ref.png b/test/clip-operator.xlib-fallback.rgb24.ref.png
deleted file mode 100644
index 4a05f7bab..000000000
--- a/test/clip-operator.xlib-fallback.rgb24.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/clip-push-group.pdf.ref.png b/test/clip-push-group.pdf.ref.png
new file mode 100644
index 000000000..37b58c598
--- /dev/null
+++ b/test/clip-push-group.pdf.ref.png
Binary files differ
diff --git a/test/clip-push-group.ref.png b/test/clip-push-group.ref.png
index 327cc90bd..86724a23b 100644
--- a/test/clip-push-group.ref.png
+++ b/test/clip-push-group.ref.png
Binary files differ
diff --git a/test/clip-push-group.xlib.ref.png b/test/clip-push-group.xlib.ref.png
new file mode 100644
index 000000000..de6ac632c
--- /dev/null
+++ b/test/clip-push-group.xlib.ref.png
Binary files differ
diff --git a/test/clip-unbounded.c b/test/clip-unbounded.c
new file mode 100644
index 000000000..cd1c60223
--- /dev/null
+++ b/test/clip-unbounded.c
@@ -0,0 +1,80 @@
+/*
+ * Copyright © 2009 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"
+
+#define SIZE 10
+
+static cairo_surface_t *
+create_source (cairo_surface_t *target)
+{
+ cairo_surface_t *similar;
+ cairo_t *cr;
+
+ similar = cairo_surface_create_similar (target,
+ CAIRO_CONTENT_COLOR, SIZE/2, SIZE);
+ cr = cairo_create (similar);
+ cairo_surface_destroy (similar);
+
+ cairo_set_source_rgb (cr, 1, 0, 0);
+ cairo_paint (cr);
+
+ similar = cairo_surface_reference (cairo_get_target (cr));
+ cairo_destroy (cr);
+
+ return similar;
+}
+
+static cairo_test_status_t
+draw (cairo_t *cr, int width, int height)
+{
+ cairo_surface_t *source;
+
+ cairo_set_source_rgb (cr, 0, 0, 1);
+ cairo_paint (cr);
+
+ cairo_rectangle (cr, 0, 0, SIZE/2, SIZE);
+ cairo_clip (cr);
+
+ /* Draw a source rectangle outside the image, the effect should be to
+ * clear only within the clip region.
+ */
+ source = create_source (cairo_get_target (cr));
+ cairo_set_source_surface (cr, source, SIZE/2, 0);
+ cairo_surface_destroy (source);
+
+ cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
+ cairo_paint (cr);
+
+ return CAIRO_TEST_SUCCESS;
+}
+
+CAIRO_TEST (clip_unbounded,
+ "Test handling of an unbounded fill outside the clip region",
+ "clip", /* keywords */
+ NULL, /* requirements */
+ SIZE, SIZE,
+ NULL, draw)
+
diff --git a/test/clip-unbounded.ref.png b/test/clip-unbounded.ref.png
new file mode 100644
index 000000000..0b6590565
--- /dev/null
+++ b/test/clip-unbounded.ref.png
Binary files differ
diff --git a/test/clip-unbounded.rgb24.ref.png b/test/clip-unbounded.rgb24.ref.png
new file mode 100644
index 000000000..2baf9f464
--- /dev/null
+++ b/test/clip-unbounded.rgb24.ref.png
Binary files differ
diff --git a/test/clip-unbounded.svg12.rgb24.xfail.png b/test/clip-unbounded.svg12.rgb24.xfail.png
new file mode 100644
index 000000000..0b6590565
--- /dev/null
+++ b/test/clip-unbounded.svg12.rgb24.xfail.png
Binary files differ
diff --git a/test/clipped-group.pdf.argb32.ref.png b/test/clipped-group.pdf.argb32.ref.png
deleted file mode 100644
index b9975e122..000000000
--- a/test/clipped-group.pdf.argb32.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/clipped-group.pdf.ref.png b/test/clipped-group.pdf.ref.png
new file mode 100644
index 000000000..649586086
--- /dev/null
+++ b/test/clipped-group.pdf.ref.png
Binary files differ
diff --git a/test/clipped-group.pdf.rgb24.ref.png b/test/clipped-group.pdf.rgb24.ref.png
deleted file mode 100644
index b9975e122..000000000
--- a/test/clipped-group.pdf.rgb24.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/clipped-group.ref.png b/test/clipped-group.ref.png
index 89a7b1842..9855e619a 100644
--- a/test/clipped-group.ref.png
+++ b/test/clipped-group.ref.png
Binary files differ
diff --git a/test/composite-integer-translate-source.svg12.argb32.xfail.png b/test/composite-integer-translate-source.svg12.argb32.xfail.png
new file mode 100644
index 000000000..c4f319701
--- /dev/null
+++ b/test/composite-integer-translate-source.svg12.argb32.xfail.png
Binary files differ
diff --git a/test/composite-integer-translate-source.svg12.rgb24.xfail.png b/test/composite-integer-translate-source.svg12.rgb24.xfail.png
new file mode 100644
index 000000000..c4f319701
--- /dev/null
+++ b/test/composite-integer-translate-source.svg12.rgb24.xfail.png
Binary files differ
diff --git a/test/device-offset-fractional.pdf.argb32.ref.png b/test/device-offset-fractional.pdf.argb32.ref.png
deleted file mode 100644
index c076932ca..000000000
--- a/test/device-offset-fractional.pdf.argb32.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/device-offset-fractional.pdf.ref.png b/test/device-offset-fractional.pdf.ref.png
deleted file mode 100644
index 9ff2b8d51..000000000
--- a/test/device-offset-fractional.pdf.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/device-offset-fractional.pdf.rgb24.ref.png b/test/device-offset-fractional.pdf.rgb24.ref.png
deleted file mode 100644
index c076932ca..000000000
--- a/test/device-offset-fractional.pdf.rgb24.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/device-offset-fractional.pdf.xfail.png b/test/device-offset-fractional.pdf.xfail.png
new file mode 100644
index 000000000..77a496326
--- /dev/null
+++ b/test/device-offset-fractional.pdf.xfail.png
Binary files differ
diff --git a/test/extended-blend-alpha.svg12.argb32.xfail.png b/test/extended-blend-alpha.svg12.argb32.xfail.png
new file mode 100644
index 000000000..d09c168ed
--- /dev/null
+++ b/test/extended-blend-alpha.svg12.argb32.xfail.png
Binary files differ
diff --git a/test/extended-blend-alpha.svg12.rgb24.xfail.png b/test/extended-blend-alpha.svg12.rgb24.xfail.png
new file mode 100644
index 000000000..f80569e99
--- /dev/null
+++ b/test/extended-blend-alpha.svg12.rgb24.xfail.png
Binary files differ
diff --git a/test/extended-blend.svg12.argb32.xfail.png b/test/extended-blend.svg12.argb32.xfail.png
new file mode 100644
index 000000000..93297a5c4
--- /dev/null
+++ b/test/extended-blend.svg12.argb32.xfail.png
Binary files differ
diff --git a/test/extended-blend.svg12.rgb24.xfail.png b/test/extended-blend.svg12.rgb24.xfail.png
new file mode 100644
index 000000000..8db02c554
--- /dev/null
+++ b/test/extended-blend.svg12.rgb24.xfail.png
Binary files differ
diff --git a/test/fill-empty.argb32.ref.png b/test/fill-empty.argb32.ref.png
new file mode 100644
index 000000000..8c26f7ebf
--- /dev/null
+++ b/test/fill-empty.argb32.ref.png
Binary files differ
diff --git a/test/fill-empty.c b/test/fill-empty.c
new file mode 100644
index 000000000..0594e57ad
--- /dev/null
+++ b/test/fill-empty.c
@@ -0,0 +1,62 @@
+/*
+ * Copyright © 2009 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"
+
+#define SIZE 10
+
+static cairo_test_status_t
+draw (cairo_t *cr, int width, int height)
+{
+ cairo_set_source_rgb (cr, 0, 0, 1);
+ cairo_paint (cr);
+
+ cairo_set_source_rgb (cr, 1, 0, 0);
+
+ /* first drawn an ordinary empty path */
+ cairo_save (cr);
+ cairo_rectangle (cr, 0, 0, SIZE, SIZE/2);
+ cairo_clip (cr);
+ cairo_fill (cr);
+ cairo_restore (cr);
+
+ /* and then an unbounded empty path */
+ cairo_save (cr);
+ cairo_rectangle (cr, 0, SIZE/2, SIZE, SIZE/2);
+ cairo_clip (cr);
+ cairo_set_operator (cr, CAIRO_OPERATOR_DEST_IN);
+ cairo_fill (cr);
+ cairo_restore (cr);
+
+ return CAIRO_TEST_SUCCESS;
+}
+
+CAIRO_TEST (fill_empty,
+ "Test filling with an empty path",
+ "fill", /* keywords */
+ NULL, /* requirements */
+ SIZE, SIZE,
+ NULL, draw)
+
diff --git a/test/fill-empty.rgb24.ref.png b/test/fill-empty.rgb24.ref.png
new file mode 100644
index 000000000..dc7a8a0e4
--- /dev/null
+++ b/test/fill-empty.rgb24.ref.png
Binary files differ
diff --git a/test/fill-empty.svg12.rgb24.xfail.png b/test/fill-empty.svg12.rgb24.xfail.png
new file mode 100644
index 000000000..8c26f7ebf
--- /dev/null
+++ b/test/fill-empty.svg12.rgb24.xfail.png
Binary files differ
diff --git a/test/filter-nearest-offset.pdf.xfail.png b/test/filter-nearest-offset.pdf.xfail.png
index 4d436aa17..ffe2df129 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 5ad98a758..7eb5988b7 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.pdf.argb32.ref.png b/test/ft-text-vertical-layout-type1.pdf.argb32.ref.png
deleted file mode 100644
index 242c3be59..000000000
--- a/test/ft-text-vertical-layout-type1.pdf.argb32.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/ft-text-vertical-layout-type1.pdf.ref.png b/test/ft-text-vertical-layout-type1.pdf.ref.png
index ab6de47a8..1f52ff23b 100644
--- a/test/ft-text-vertical-layout-type1.pdf.ref.png
+++ b/test/ft-text-vertical-layout-type1.pdf.ref.png
Binary files differ
diff --git a/test/ft-text-vertical-layout-type1.pdf.rgb24.ref.png b/test/ft-text-vertical-layout-type1.pdf.rgb24.ref.png
deleted file mode 100644
index 242c3be59..000000000
--- a/test/ft-text-vertical-layout-type1.pdf.rgb24.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/ft-text-vertical-layout-type3.pdf.argb32.ref.png b/test/ft-text-vertical-layout-type3.pdf.argb32.ref.png
deleted file mode 100644
index f232b9a50..000000000
--- a/test/ft-text-vertical-layout-type3.pdf.argb32.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/ft-text-vertical-layout-type3.pdf.ref.png b/test/ft-text-vertical-layout-type3.pdf.ref.png
index 04e679b48..a05ec1d74 100644
--- a/test/ft-text-vertical-layout-type3.pdf.ref.png
+++ b/test/ft-text-vertical-layout-type3.pdf.ref.png
Binary files differ
diff --git a/test/ft-text-vertical-layout-type3.pdf.rgb24.ref.png b/test/ft-text-vertical-layout-type3.pdf.rgb24.ref.png
deleted file mode 100644
index f232b9a50..000000000
--- a/test/ft-text-vertical-layout-type3.pdf.rgb24.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 6b59c56a9..1bda421c4 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/group-unaligned.svg.argb32.xfail.png b/test/group-unaligned.svg.argb32.xfail.png
index 38550376d..01c34bec4 100644
--- a/test/group-unaligned.svg.argb32.xfail.png
+++ b/test/group-unaligned.svg.argb32.xfail.png
Binary files differ
diff --git a/test/group-unaligned.xlib-fallback.ref.png b/test/group-unaligned.xlib-fallback.ref.png
index ed615b228..5ddbc164f 100644
--- a/test/group-unaligned.xlib-fallback.ref.png
+++ b/test/group-unaligned.xlib-fallback.ref.png
Binary files differ
diff --git a/test/image-surface-source.svg12.argb32.xfail.png b/test/image-surface-source.svg12.argb32.xfail.png
new file mode 100644
index 000000000..6ebcaf9a1
--- /dev/null
+++ b/test/image-surface-source.svg12.argb32.xfail.png
Binary files differ
diff --git a/test/image-surface-source.svg12.rgb24.xfail.png b/test/image-surface-source.svg12.rgb24.xfail.png
new file mode 100644
index 000000000..6ebcaf9a1
--- /dev/null
+++ b/test/image-surface-source.svg12.rgb24.xfail.png
Binary files differ
diff --git a/test/in-fill-trapezoid.c b/test/in-fill-trapezoid.c
index b05f0002a..84b323a05 100644
--- a/test/in-fill-trapezoid.c
+++ b/test/in-fill-trapezoid.c
@@ -27,10 +27,15 @@
#include "cairo-test.h"
static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
+preamble (cairo_test_context_t *ctx)
{
- const cairo_test_context_t *ctx = cairo_test_get_context (cr);
cairo_test_status_t ret = CAIRO_TEST_SUCCESS;
+ cairo_surface_t *surface;
+ cairo_t *cr;
+
+ surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 0, 0);
+ cr = cairo_create (surface);
+ cairo_surface_destroy (surface);
cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
@@ -80,7 +85,7 @@ draw (cairo_t *cr, int width, int height)
cairo_new_path (cr);
cairo_arc (cr, 0, 0, 10, 0, 2 * M_PI);
if (! cairo_in_fill (cr, 0, 0)) {
- cairo_test_log (ctx, "Error: Failed to find point inside circle\n");
+ cairo_test_log (ctx, "Error: Failed to find point inside circle [even-odd]\n");
ret = CAIRO_TEST_FAILURE;
}
@@ -117,7 +122,7 @@ draw (cairo_t *cr, int width, int height)
cairo_new_path (cr);
cairo_arc (cr, 0, 0, 10, 0, 2 * M_PI);
if (! cairo_in_fill (cr, 0, 0)) {
- cairo_test_log (ctx, "Error: Failed to find point inside circle\n");
+ cairo_test_log (ctx, "Error: Failed to find point inside circle [nonzero]\n");
ret = CAIRO_TEST_FAILURE;
}
@@ -261,12 +266,14 @@ draw (cairo_t *cr, int width, int height)
ret = CAIRO_TEST_FAILURE;
}
+ cairo_destroy (cr);
+
return ret;
}
CAIRO_TEST (in_fill_trapezoid,
- "Test _cairo_trap_contains via cairo_in_fill",
+ "Test cairo_in_fill",
"in, trap", /* keywords */
NULL, /* requirements */
0, 0,
- NULL, draw)
+ preamble, NULL)
diff --git a/test/mask-glyphs.svg.ref.png b/test/mask-glyphs.svg.ref.png
index e99c3ccb7..0058afc15 100644
--- a/test/mask-glyphs.svg.ref.png
+++ b/test/mask-glyphs.svg.ref.png
Binary files differ
diff --git a/test/mask.pdf.argb32.ref.png b/test/mask.pdf.argb32.ref.png
new file mode 100644
index 000000000..8c683550c
--- /dev/null
+++ b/test/mask.pdf.argb32.ref.png
Binary files differ
diff --git a/test/mask.pdf.argb32.xfail.png b/test/mask.pdf.argb32.xfail.png
deleted file mode 100644
index 227d312a3..000000000
--- a/test/mask.pdf.argb32.xfail.png
+++ /dev/null
Binary files differ
diff --git a/test/mask.pdf.rgb24.ref.png b/test/mask.pdf.rgb24.ref.png
new file mode 100644
index 000000000..be5dbfc98
--- /dev/null
+++ b/test/mask.pdf.rgb24.ref.png
Binary files differ
diff --git a/test/mask.pdf.rgb24.xfail.png b/test/mask.pdf.rgb24.xfail.png
deleted file mode 100644
index bb8e99d01..000000000
--- a/test/mask.pdf.rgb24.xfail.png
+++ /dev/null
Binary files differ
diff --git a/test/mask.xlib-fallback.rgb24.ref.png b/test/mask.xlib-fallback.rgb24.ref.png
deleted file mode 100644
index 344005049..000000000
--- a/test/mask.xlib-fallback.rgb24.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/meta-surface-pattern.pdf.argb32.ref.png b/test/meta-surface-pattern.pdf.argb32.ref.png
index 7e3435b6d..786587c3f 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 9fef6feb5..f542dabf2 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/operator-clear.xlib.argb32.ref.png b/test/operator-clear.xlib.argb32.ref.png
new file mode 100644
index 000000000..2f12e5e8b
--- /dev/null
+++ b/test/operator-clear.xlib.argb32.ref.png
Binary files differ
diff --git a/test/operator-clear.xlib.ref.png b/test/operator-clear.xlib.rgb24.ref.png
index d9a59b158..d9a59b158 100644
--- a/test/operator-clear.xlib.ref.png
+++ b/test/operator-clear.xlib.rgb24.ref.png
Binary files differ
diff --git a/test/operator-source.pdf.rgb24.xfail.png b/test/operator-source.pdf.rgb24.ref.png
index 9482ed812..9482ed812 100644
--- a/test/operator-source.pdf.rgb24.xfail.png
+++ b/test/operator-source.pdf.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 722e5ac4c..ccf431567 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 5f445fc54..827521b8f 100644
--- a/test/operator-source.svg12.rgb24.xfail.png
+++ b/test/operator-source.svg12.rgb24.xfail.png
Binary files differ
diff --git a/test/operator-source.xlib-fallback.ref.png b/test/operator-source.xlib-fallback.ref.png
new file mode 100644
index 000000000..79fb2c522
--- /dev/null
+++ b/test/operator-source.xlib-fallback.ref.png
Binary files differ
diff --git a/test/operator-source.xlib-fallback.rgb24.ref.png b/test/operator-source.xlib-fallback.rgb24.ref.png
deleted file mode 100644
index fe0d3c610..000000000
--- a/test/operator-source.xlib-fallback.rgb24.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/path-append.xlib-fallback.ref.png b/test/path-append.xlib-fallback.ref.png
index 08a33a268..d34cce125 100644
--- a/test/path-append.xlib-fallback.ref.png
+++ b/test/path-append.xlib-fallback.ref.png
Binary files differ
diff --git a/test/pdf-surface-source.svg12.argb32.xfail.png b/test/pdf-surface-source.svg12.argb32.xfail.png
new file mode 100644
index 000000000..6ebcaf9a1
--- /dev/null
+++ b/test/pdf-surface-source.svg12.argb32.xfail.png
Binary files differ
diff --git a/test/pdf-surface-source.svg12.rgb24.xfail.png b/test/pdf-surface-source.svg12.rgb24.xfail.png
new file mode 100644
index 000000000..6ebcaf9a1
--- /dev/null
+++ b/test/pdf-surface-source.svg12.rgb24.xfail.png
Binary files differ
diff --git a/test/ps-surface-source.svg12.argb32.xfail.png b/test/ps-surface-source.svg12.argb32.xfail.png
new file mode 100644
index 000000000..6ebcaf9a1
--- /dev/null
+++ b/test/ps-surface-source.svg12.argb32.xfail.png
Binary files differ
diff --git a/test/ps-surface-source.svg12.rgb24.xfail.png b/test/ps-surface-source.svg12.rgb24.xfail.png
new file mode 100644
index 000000000..6ebcaf9a1
--- /dev/null
+++ b/test/ps-surface-source.svg12.rgb24.xfail.png
Binary files differ
diff --git a/test/push-group.xlib-fallback.rgb24.ref.png b/test/push-group.xlib-fallback.rgb24.ref.png
deleted file mode 100644
index 3a9518277..000000000
--- a/test/push-group.xlib-fallback.rgb24.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/scale-offset-image.meta.xfail.png b/test/scale-offset-image.meta.xfail.png
new file mode 100644
index 000000000..3e0191a1f
--- /dev/null
+++ b/test/scale-offset-image.meta.xfail.png
Binary files differ
diff --git a/test/scale-offset-image.pdf.rgb24.ref.png b/test/scale-offset-image.pdf.rgb24.ref.png
deleted file mode 100644
index 12507d9c5..000000000
--- a/test/scale-offset-image.pdf.rgb24.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/scale-offset-image.pdf.argb32.ref.png b/test/scale-offset-image.pdf.xfail.png
index 4c7fe2831..4c7fe2831 100644
--- a/test/scale-offset-image.pdf.argb32.ref.png
+++ b/test/scale-offset-image.pdf.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
new file mode 100644
index 000000000..1a286cdb6
--- /dev/null
+++ b/test/scale-offset-image.xlib-fallback.xfail.png
Binary files differ
diff --git a/test/scale-offset-similar.meta.xfail.png b/test/scale-offset-similar.meta.xfail.png
new file mode 100644
index 000000000..83d53e65a
--- /dev/null
+++ b/test/scale-offset-similar.meta.xfail.png
Binary files differ
diff --git a/test/scale-offset-similar.pdf.argb32.ref.png b/test/scale-offset-similar.pdf.argb32.ref.png
deleted file mode 100644
index 7d0406d59..000000000
--- a/test/scale-offset-similar.pdf.argb32.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/scale-offset-similar.pdf.rgb24.ref.png b/test/scale-offset-similar.pdf.rgb24.ref.png
deleted file mode 100644
index 7d0406d59..000000000
--- a/test/scale-offset-similar.pdf.rgb24.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/scale-offset-similar.pdf.xfail.png b/test/scale-offset-similar.pdf.xfail.png
new file mode 100644
index 000000000..4b600f4c9
--- /dev/null
+++ b/test/scale-offset-similar.pdf.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
new file mode 100644
index 000000000..1a286cdb6
--- /dev/null
+++ b/test/scale-offset-similar.xlib-fallback.xfail.png
Binary files differ
diff --git a/test/self-intersecting.argb32.xfail.png b/test/self-intersecting.argb32.xfail.png
index bf08d03a1..f644ed46e 100644
--- a/test/self-intersecting.argb32.xfail.png
+++ b/test/self-intersecting.argb32.xfail.png
Binary files differ
diff --git a/test/self-intersecting.pdf.argb32.xfail.png b/test/self-intersecting.pdf.argb32.xfail.png
index f29b0a691..eb38a893a 100644
--- a/test/self-intersecting.pdf.argb32.xfail.png
+++ b/test/self-intersecting.pdf.argb32.xfail.png
Binary files differ
diff --git a/test/self-intersecting.pdf.rgb24.xfail.png b/test/self-intersecting.pdf.rgb24.xfail.png
index c32df82c3..a79a29759 100644
--- a/test/self-intersecting.pdf.rgb24.xfail.png
+++ b/test/self-intersecting.pdf.rgb24.xfail.png
Binary files differ
diff --git a/test/self-intersecting.rgb24.xfail.png b/test/self-intersecting.rgb24.xfail.png
index 9529f0984..958215c21 100644
--- a/test/self-intersecting.rgb24.xfail.png
+++ b/test/self-intersecting.rgb24.xfail.png
Binary files differ
diff --git a/test/smask-fill.xlib-fallback.ref.png b/test/smask-fill.xlib-fallback.ref.png
deleted file mode 100644
index 28ab73389..000000000
--- a/test/smask-fill.xlib-fallback.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/smask-text.xlib.ref.png b/test/smask-text.xlib.ref.png
new file mode 100644
index 000000000..ee7fc8b6c
--- /dev/null
+++ b/test/smask-text.xlib.ref.png
Binary files differ
diff --git a/test/smask.xlib.ref.png b/test/smask.xlib.ref.png
new file mode 100644
index 000000000..bb70abfe2
--- /dev/null
+++ b/test/smask.xlib.ref.png
Binary files differ
diff --git a/test/surface-pattern-big-scale-down.ps.xfail.png b/test/surface-pattern-big-scale-down.ps.xfail.png
new file mode 100644
index 000000000..f4c1b4812
--- /dev/null
+++ b/test/surface-pattern-big-scale-down.ps.xfail.png
Binary files differ
diff --git a/test/svg-surface-source.svg12.argb32.xfail.png b/test/svg-surface-source.svg12.argb32.xfail.png
new file mode 100644
index 000000000..6ebcaf9a1
--- /dev/null
+++ b/test/svg-surface-source.svg12.argb32.xfail.png
Binary files differ
diff --git a/test/svg-surface-source.svg12.rgb24.xfail.png b/test/svg-surface-source.svg12.rgb24.xfail.png
new file mode 100644
index 000000000..6ebcaf9a1
--- /dev/null
+++ b/test/svg-surface-source.svg12.rgb24.xfail.png
Binary files differ
diff --git a/test/test-fallback16-surface-source.svg12.argb32.xfail.png b/test/test-fallback16-surface-source.svg12.argb32.xfail.png
new file mode 100644
index 000000000..6ebcaf9a1
--- /dev/null
+++ b/test/test-fallback16-surface-source.svg12.argb32.xfail.png
Binary files differ
diff --git a/test/test-fallback16-surface-source.svg12.rgb24.xfail.png b/test/test-fallback16-surface-source.svg12.rgb24.xfail.png
new file mode 100644
index 000000000..6ebcaf9a1
--- /dev/null
+++ b/test/test-fallback16-surface-source.svg12.rgb24.xfail.png
Binary files differ
diff --git a/test/text-pattern.pdf.argb32.ref.png b/test/text-pattern.pdf.argb32.ref.png
new file mode 100644
index 000000000..0c06629aa
--- /dev/null
+++ b/test/text-pattern.pdf.argb32.ref.png
Binary files differ
diff --git a/test/text-pattern.pdf.argb32.xfail.png b/test/text-pattern.pdf.argb32.xfail.png
deleted file mode 100644
index 227058cec..000000000
--- a/test/text-pattern.pdf.argb32.xfail.png
+++ /dev/null
Binary files differ
diff --git a/test/text-pattern.pdf.rgb24.ref.png b/test/text-pattern.pdf.rgb24.ref.png
new file mode 100644
index 000000000..b81de88ee
--- /dev/null
+++ b/test/text-pattern.pdf.rgb24.ref.png
Binary files differ
diff --git a/test/text-pattern.pdf.rgb24.xfail.png b/test/text-pattern.pdf.rgb24.xfail.png
deleted file mode 100644
index a3a372052..000000000
--- a/test/text-pattern.pdf.rgb24.xfail.png
+++ /dev/null
Binary files differ
diff --git a/test/unbounded-operator.svg12.argb32.xfail.png b/test/unbounded-operator.svg12.argb32.xfail.png
index 45b173fae..15965c8e9 100644
--- a/test/unbounded-operator.svg12.argb32.xfail.png
+++ b/test/unbounded-operator.svg12.argb32.xfail.png
Binary files differ
diff --git a/test/unbounded-operator.svg12.rgb24.xfail.png b/test/unbounded-operator.svg12.rgb24.xfail.png
index c369fd263..828a9db97 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 747750a5d..6c458485d 100644
--- a/test/user-font-proxy.svg.ref.png
+++ b/test/user-font-proxy.svg.ref.png
Binary files differ
diff --git a/test/xlib-surface-source.svg12.argb32.xfail.png b/test/xlib-surface-source.svg12.argb32.xfail.png
new file mode 100644
index 000000000..6ebcaf9a1
--- /dev/null
+++ b/test/xlib-surface-source.svg12.argb32.xfail.png
Binary files differ
diff --git a/test/xlib-surface-source.svg12.rgb24.xfail.png b/test/xlib-surface-source.svg12.rgb24.xfail.png
new file mode 100644
index 000000000..6ebcaf9a1
--- /dev/null
+++ b/test/xlib-surface-source.svg12.rgb24.xfail.png
Binary files differ