summaryrefslogtreecommitdiff
path: root/test/reference
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-02-22 10:51:30 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2012-02-22 10:51:30 +0000
commit08de30d8b5700040d3ff953bae8d801a4a05aff0 (patch)
treec8b159cb10add5b0e3aa89d664b68a5ed47f3e8c /test/reference
parent3d499ea901b3a76cd765ddce9f4e7d3acebd1bd3 (diff)
test: Add a set of reference images for the mask-based compositor
Serves as another reference for some xlib targets. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'test/reference')
-rw-r--r--test/reference/a1-bug.mask.argb32.ref.pngbin0 -> 3735 bytes
-rw-r--r--test/reference/a1-bug.mask.rgb24.ref.pngbin0 -> 3735 bytes
-rw-r--r--test/reference/a1-clip-fill-equal.mask.argb32.ref.pngbin0 -> 120 bytes
-rw-r--r--test/reference/a1-clip-fill-equal.mask.rgb24.ref.pngbin0 -> 120 bytes
-rw-r--r--test/reference/a1-clip-fill-rule.mask.argb32.ref.pngbin0 -> 236 bytes
-rw-r--r--test/reference/a1-clip-fill-rule.mask.rgb24.ref.pngbin0 -> 218 bytes
-rw-r--r--test/reference/a1-clip-fill.mask.argb32.ref.pngbin0 -> 120 bytes
-rw-r--r--test/reference/a1-clip-fill.mask.rgb24.ref.pngbin0 -> 120 bytes
-rw-r--r--test/reference/a1-clip-paint.mask.argb32.ref.pngbin0 -> 120 bytes
-rw-r--r--test/reference/a1-clip-paint.mask.rgb24.ref.pngbin0 -> 120 bytes
-rw-r--r--test/reference/a1-clip-stroke.mask.argb32.ref.pngbin0 -> 120 bytes
-rw-r--r--test/reference/a1-clip-stroke.mask.rgb24.ref.pngbin0 -> 120 bytes
-rw-r--r--test/reference/a1-fill.base.argb32.ref.pngbin0 -> 328 bytes
-rw-r--r--test/reference/a1-fill.base.rgb24.ref.pngbin0 -> 328 bytes
-rw-r--r--test/reference/a1-fill.mask.argb32.ref.pngbin0 -> 328 bytes
-rw-r--r--test/reference/a1-fill.mask.rgb24.ref.pngbin0 -> 328 bytes
-rw-r--r--test/reference/a1-fill.traps.argb32.ref.pngbin0 -> 328 bytes
-rw-r--r--test/reference/a1-fill.traps.rgb24.ref.pngbin0 -> 328 bytes
-rw-r--r--test/reference/a1-image-sample.mask.argb32.ref.pngbin0 -> 122 bytes
-rw-r--r--test/reference/a1-image-sample.mask.rgb24.ref.pngbin0 -> 122 bytes
-rw-r--r--test/reference/a1-line-width.mask.argb32.ref.pngbin0 -> 154 bytes
-rw-r--r--test/reference/a1-line-width.mask.rgb24.ref.pngbin0 -> 154 bytes
-rw-r--r--test/reference/a1-mask-sample.mask.argb32.ref.pngbin0 -> 122 bytes
-rw-r--r--test/reference/a1-mask-sample.mask.rgb24.ref.pngbin0 -> 122 bytes
-rw-r--r--test/reference/a1-mask.mask.argb32.ref.pngbin0 -> 106 bytes
-rw-r--r--test/reference/a1-mask.mask.rgb24.ref.pngbin0 -> 106 bytes
-rw-r--r--test/reference/a1-rasterisation-rectangles.mask.argb32.ref.pngbin0 -> 1729 bytes
-rw-r--r--test/reference/a1-rasterisation-rectangles.mask.rgb24.ref.pngbin0 -> 1729 bytes
-rw-r--r--test/reference/a1-rasterisation-triangles.mask.argb32.ref.pngbin0 -> 1729 bytes
-rw-r--r--test/reference/a1-rasterisation-triangles.mask.rgb24.ref.pngbin0 -> 1729 bytes
-rw-r--r--test/reference/a1-rectilinear-grid.mask.argb32.ref.pngbin0 -> 207 bytes
-rw-r--r--test/reference/a1-rectilinear-grid.mask.rgb24.ref.pngbin0 -> 207 bytes
-rw-r--r--test/reference/a1-sample.mask.argb32.ref.pngbin0 -> 786 bytes
-rw-r--r--test/reference/a1-sample.mask.rgb24.ref.pngbin0 -> 786 bytes
-rw-r--r--test/reference/a1-tiger.mask.argb32.ref.pngbin0 -> 20328 bytes
-rw-r--r--test/reference/a1-tiger.mask.rgb24.ref.pngbin0 -> 20328 bytes
-rw-r--r--test/reference/a1-traps-sample.mask.argb32.ref.pngbin0 -> 120 bytes
-rw-r--r--test/reference/a1-traps-sample.mask.rgb24.ref.pngbin0 -> 120 bytes
-rw-r--r--test/reference/a8-clear.mask.argb32.ref.pngbin0 -> 271 bytes
-rw-r--r--test/reference/a8-clear.mask.rgb24.ref.pngbin0 -> 271 bytes
-rw-r--r--test/reference/a8-mask.mask.argb32.ref.pngbin0 -> 103 bytes
-rw-r--r--test/reference/a8-mask.mask.rgb24.ref.pngbin0 -> 103 bytes
-rw-r--r--test/reference/aliasing.mask.argb32.ref.pngbin0 -> 104324 bytes
-rw-r--r--test/reference/aliasing.mask.rgb24.ref.pngbin0 -> 104324 bytes
-rw-r--r--test/reference/alpha-similar.mask.argb32.ref.pngbin0 -> 99 bytes
-rw-r--r--test/reference/alpha-similar.mask.rgb24.ref.pngbin0 -> 88 bytes
-rw-r--r--test/reference/api-special-cases.mask.argb32.ref.pngbin0 -> 95 bytes
-rw-r--r--test/reference/api-special-cases.mask.rgb24.ref.pngbin0 -> 95 bytes
-rw-r--r--test/reference/arc-direction.base.argb32.ref.pngbin0 -> 5864 bytes
-rw-r--r--test/reference/arc-direction.base.rgb24.ref.pngbin0 -> 5864 bytes
-rw-r--r--test/reference/arc-direction.mask.argb32.ref.pngbin0 -> 6380 bytes
-rw-r--r--test/reference/arc-direction.mask.rgb24.ref.pngbin0 -> 6380 bytes
-rw-r--r--test/reference/arc-direction.traps.argb32.ref.pngbin0 -> 6380 bytes
-rw-r--r--test/reference/arc-direction.traps.rgb24.ref.pngbin0 -> 6380 bytes
-rw-r--r--test/reference/arc-infinite-loop.mask.argb32.ref.pngbin0 -> 96 bytes
-rw-r--r--test/reference/arc-infinite-loop.mask.rgb24.ref.pngbin0 -> 96 bytes
-rw-r--r--test/reference/arc-looping-dash.mask.argb32.ref.pngbin0 -> 464 bytes
-rw-r--r--test/reference/arc-looping-dash.mask.rgb24.ref.pngbin0 -> 464 bytes
-rw-r--r--test/reference/big-empty-triangle.mask.argb32.ref.pngbin0 -> 111 bytes
-rw-r--r--test/reference/big-empty-triangle.mask.rgb24.ref.pngbin0 -> 108 bytes
-rw-r--r--test/reference/big-line.mask.argb32.ref.pngbin0 -> 977 bytes
-rw-r--r--test/reference/big-line.mask.rgb24.ref.pngbin0 -> 977 bytes
-rw-r--r--test/reference/big-little-box.mask.argb32.ref.pngbin0 -> 169 bytes
-rw-r--r--test/reference/big-little-box.mask.rgb24.ref.pngbin0 -> 160 bytes
-rw-r--r--test/reference/big-little-triangle.mask.argb32.ref.pngbin0 -> 409 bytes
-rw-r--r--test/reference/big-little-triangle.mask.rgb24.ref.pngbin0 -> 328 bytes
-rw-r--r--test/reference/big-trap.mask.argb32.ref.pngbin0 -> 319 bytes
-rw-r--r--test/reference/big-trap.mask.rgb24.ref.pngbin0 -> 319 bytes
-rw-r--r--test/reference/bilevel-image.mask.argb32.ref.pngbin0 -> 105 bytes
-rw-r--r--test/reference/bilevel-image.mask.rgb24.ref.pngbin0 -> 105 bytes
-rw-r--r--test/reference/bitmap-font.mask.argb32.ref.pngbin0 -> 931 bytes
-rw-r--r--test/reference/bitmap-font.mask.rgb24.ref.pngbin0 -> 871 bytes
-rw-r--r--test/reference/bug-40410.mask.argb32.ref.pngbin0 -> 429 bytes
-rw-r--r--test/reference/bug-40410.mask.rgb24.ref.pngbin0 -> 429 bytes
-rw-r--r--test/reference/bug-bo-rectangular.mask.argb32.ref.pngbin0 -> 950 bytes
-rw-r--r--test/reference/bug-bo-rectangular.mask.rgb24.ref.pngbin0 -> 950 bytes
-rw-r--r--test/reference/bug-bo-ricotz.base.argb32.ref.pngbin0 -> 2125 bytes
-rw-r--r--test/reference/bug-bo-ricotz.base.rgb24.ref.pngbin0 -> 2125 bytes
-rw-r--r--test/reference/bug-bo-ricotz.mask.argb32.ref.pngbin0 -> 2128 bytes
-rw-r--r--test/reference/bug-bo-ricotz.mask.rgb24.ref.pngbin0 -> 2128 bytes
-rw-r--r--test/reference/bug-bo-ricotz.traps.argb32.ref.pngbin0 -> 2128 bytes
-rw-r--r--test/reference/bug-bo-ricotz.traps.rgb24.ref.pngbin0 -> 2128 bytes
-rw-r--r--test/reference/bug-extents.mask.argb32.ref.pngbin0 -> 9251 bytes
-rw-r--r--test/reference/bug-extents.mask.rgb24.ref.pngbin0 -> 9251 bytes
-rw-r--r--test/reference/bug-seams.mask.argb32.ref.pngbin0 -> 1647 bytes
-rw-r--r--test/reference/bug-seams.mask.rgb24.ref.pngbin0 -> 1647 bytes
-rw-r--r--test/reference/caps-joins-alpha.mask.argb32.ref.pngbin0 -> 2662 bytes
-rw-r--r--test/reference/caps-joins-alpha.mask.rgb24.ref.pngbin0 -> 2662 bytes
-rw-r--r--test/reference/caps-joins-curve.mask.argb32.ref.pngbin0 -> 6217 bytes
-rw-r--r--test/reference/caps-joins-curve.mask.rgb24.ref.pngbin0 -> 6217 bytes
-rw-r--r--test/reference/caps-joins.mask.argb32.ref.pngbin0 -> 2893 bytes
-rw-r--r--test/reference/caps-joins.mask.rgb24.ref.pngbin0 -> 2893 bytes
-rw-r--r--test/reference/caps-sub-paths.mask.argb32.ref.pngbin0 -> 168 bytes
-rw-r--r--test/reference/caps-sub-paths.mask.rgb24.ref.pngbin0 -> 168 bytes
-rw-r--r--test/reference/caps-tails-curve.mask.argb32.ref.pngbin0 -> 53311 bytes
-rw-r--r--test/reference/caps-tails-curve.mask.rgb24.ref.pngbin0 -> 53311 bytes
-rw-r--r--test/reference/caps.mask.argb32.ref.pngbin0 -> 2115 bytes
-rw-r--r--test/reference/caps.mask.rgb24.ref.pngbin0 -> 2115 bytes
-rw-r--r--test/reference/checkerboard.mask.argb32.ref.pngbin0 -> 142 bytes
-rw-r--r--test/reference/checkerboard.mask.rgb24.ref.pngbin0 -> 142 bytes
-rw-r--r--test/reference/clear-source.mask.argb32.ref.pngbin0 -> 882 bytes
-rw-r--r--test/reference/clear-source.mask.rgb24.ref.pngbin0 -> 882 bytes
-rw-r--r--test/reference/clear.mask.argb32.ref.pngbin0 -> 692 bytes
-rw-r--r--test/reference/clear.mask.rgb24.ref.pngbin0 -> 617 bytes
-rw-r--r--test/reference/clip-all.mask.argb32.ref.pngbin0 -> 95 bytes
-rw-r--r--test/reference/clip-all.mask.rgb24.ref.pngbin0 -> 95 bytes
-rw-r--r--test/reference/clip-complex-shape-eo-aa.mask.argb32.ref.pngbin0 -> 325 bytes
-rw-r--r--test/reference/clip-complex-shape-eo-aa.mask.rgb24.ref.pngbin0 -> 325 bytes
-rw-r--r--test/reference/clip-complex-shape-eo-mono.mask.argb32.ref.pngbin0 -> 325 bytes
-rw-r--r--test/reference/clip-complex-shape-eo-mono.mask.rgb24.ref.pngbin0 -> 325 bytes
-rw-r--r--test/reference/clip-contexts.mask.argb32.ref.pngbin0 -> 98 bytes
-rw-r--r--test/reference/clip-contexts.mask.rgb24.ref.pngbin0 -> 98 bytes
-rw-r--r--test/reference/clip-device-offset.mask.argb32.ref.pngbin0 -> 175 bytes
-rw-r--r--test/reference/clip-device-offset.mask.rgb24.ref.pngbin0 -> 168 bytes
-rw-r--r--test/reference/clip-disjoint-hatching.mask.argb32.ref.pngbin0 -> 8789 bytes
-rw-r--r--test/reference/clip-disjoint-hatching.mask.rgb24.ref.pngbin0 -> 8789 bytes
-rw-r--r--test/reference/clip-disjoint.mask.argb32.ref.pngbin0 -> 5399 bytes
-rw-r--r--test/reference/clip-disjoint.mask.rgb24.ref.pngbin0 -> 5399 bytes
-rw-r--r--test/reference/clip-empty-group.mask.argb32.ref.pngbin0 -> 103 bytes
-rw-r--r--test/reference/clip-empty-group.mask.rgb24.ref.pngbin0 -> 103 bytes
-rw-r--r--test/reference/clip-empty-save.mask.argb32.ref.pngbin0 -> 95 bytes
-rw-r--r--test/reference/clip-empty-save.mask.rgb24.ref.pngbin0 -> 95 bytes
-rw-r--r--test/reference/clip-empty.mask.argb32.ref.pngbin0 -> 95 bytes
-rw-r--r--test/reference/clip-empty.mask.rgb24.ref.pngbin0 -> 95 bytes
-rw-r--r--test/reference/clip-fill-eo-unbounded.mask.argb32.ref.pngbin0 -> 3769 bytes
-rw-r--r--test/reference/clip-fill-eo-unbounded.mask.rgb24.ref.pngbin0 -> 3211 bytes
-rw-r--r--test/reference/clip-fill-no-op.mask.argb32.ref.pngbin0 -> 152 bytes
-rw-r--r--test/reference/clip-fill-no-op.mask.rgb24.ref.pngbin0 -> 152 bytes
-rw-r--r--test/reference/clip-fill-nz-unbounded.mask.argb32.ref.pngbin0 -> 3764 bytes
-rw-r--r--test/reference/clip-fill-nz-unbounded.mask.rgb24.ref.pngbin0 -> 3215 bytes
-rw-r--r--test/reference/clip-fill-rule-pixel-aligned.mask.argb32.ref.pngbin0 -> 176 bytes
-rw-r--r--test/reference/clip-fill-rule-pixel-aligned.mask.rgb24.ref.pngbin0 -> 165 bytes
-rw-r--r--test/reference/clip-fill-rule.mask.argb32.ref.pngbin0 -> 437 bytes
-rw-r--r--test/reference/clip-fill-rule.mask.rgb24.ref.pngbin0 -> 393 bytes
-rw-r--r--test/reference/clip-fill.mask.argb32.ref.pngbin0 -> 1039 bytes
-rw-r--r--test/reference/clip-fill.mask.rgb24.ref.pngbin0 -> 1039 bytes
-rw-r--r--test/reference/clip-group-shapes-aligned-rectangles.mask.argb32.ref.pngbin0 -> 378 bytes
-rw-r--r--test/reference/clip-group-shapes-aligned-rectangles.mask.rgb24.ref.pngbin0 -> 378 bytes
-rw-r--r--test/reference/clip-group-shapes-circles.mask.argb32.ref.pngbin0 -> 1511 bytes
-rw-r--r--test/reference/clip-group-shapes-circles.mask.rgb24.ref.pngbin0 -> 1511 bytes
-rw-r--r--test/reference/clip-group-shapes-unaligned-rectangles.mask.argb32.ref.pngbin0 -> 431 bytes
-rw-r--r--test/reference/clip-group-shapes-unaligned-rectangles.mask.rgb24.ref.pngbin0 -> 431 bytes
-rw-r--r--test/reference/clip-image.mask.argb32.ref.pngbin0 -> 2678 bytes
-rw-r--r--test/reference/clip-image.mask.rgb24.ref.pngbin0 -> 2678 bytes
-rw-r--r--test/reference/clip-intersect.mask.argb32.ref.pngbin0 -> 200 bytes
-rw-r--r--test/reference/clip-intersect.mask.rgb24.ref.pngbin0 -> 200 bytes
-rw-r--r--test/reference/clip-mixed-antialias.mask.argb32.ref.pngbin0 -> 1084 bytes
-rw-r--r--test/reference/clip-mixed-antialias.mask.rgb24.ref.pngbin0 -> 1084 bytes
-rw-r--r--test/reference/clip-nesting.mask.argb32.ref.pngbin0 -> 1044 bytes
-rw-r--r--test/reference/clip-nesting.mask.rgb24.ref.pngbin0 -> 937 bytes
-rw-r--r--test/reference/clip-operator.mask.argb32.ref.pngbin0 -> 8680 bytes
-rw-r--r--test/reference/clip-operator.mask.rgb24.ref.pngbin0 -> 3519 bytes
-rw-r--r--test/reference/clip-polygons.base.argb32.ref.pngbin0 -> 1296 bytes
-rw-r--r--test/reference/clip-polygons.base.rgb24.ref.pngbin0 -> 1296 bytes
-rw-r--r--test/reference/clip-polygons.mask.argb32.ref.pngbin0 -> 1336 bytes
-rw-r--r--test/reference/clip-polygons.mask.rgb24.ref.pngbin0 -> 1336 bytes
-rw-r--r--test/reference/clip-polygons.traps.argb32.ref.pngbin0 -> 1336 bytes
-rw-r--r--test/reference/clip-polygons.traps.rgb24.ref.pngbin0 -> 1336 bytes
-rw-r--r--test/reference/clip-push-group.mask.argb32.ref.pngbin0 -> 164 bytes
-rw-r--r--test/reference/clip-push-group.mask.rgb24.ref.pngbin0 -> 164 bytes
-rw-r--r--test/reference/clip-rectilinear.base.argb32.ref.pngbin0 -> 440 bytes
-rw-r--r--test/reference/clip-rectilinear.base.rgb24.ref.pngbin0 -> 440 bytes
-rw-r--r--test/reference/clip-rectilinear.mask.argb32.ref.pngbin0 -> 440 bytes
-rw-r--r--test/reference/clip-rectilinear.mask.rgb24.ref.pngbin0 -> 440 bytes
-rw-r--r--test/reference/clip-rectilinear.traps.argb32.ref.pngbin0 -> 440 bytes
-rw-r--r--test/reference/clip-rectilinear.traps.rgb24.ref.pngbin0 -> 440 bytes
-rw-r--r--test/reference/clip-rotate-image-surface-paint.mask.argb32.ref.pngbin0 -> 202 bytes
-rw-r--r--test/reference/clip-rotate-image-surface-paint.mask.rgb24.ref.pngbin0 -> 202 bytes
-rw-r--r--test/reference/clip-shape.mask.argb32.ref.pngbin0 -> 3094 bytes
-rw-r--r--test/reference/clip-shape.mask.rgb24.ref.pngbin0 -> 3094 bytes
-rw-r--r--test/reference/clip-stroke-no-op.mask.argb32.ref.pngbin0 -> 152 bytes
-rw-r--r--test/reference/clip-stroke-no-op.mask.rgb24.ref.pngbin0 -> 152 bytes
-rw-r--r--test/reference/clip-stroke-unbounded.mask.argb32.ref.pngbin0 -> 3991 bytes
-rw-r--r--test/reference/clip-stroke-unbounded.mask.rgb24.ref.pngbin0 -> 3372 bytes
-rw-r--r--test/reference/clip-stroke.mask.argb32.ref.pngbin0 -> 1500 bytes
-rw-r--r--test/reference/clip-stroke.mask.rgb24.ref.pngbin0 -> 1500 bytes
-rw-r--r--test/reference/clip-text.mask.argb32.ref.pngbin0 -> 918 bytes
-rw-r--r--test/reference/clip-text.mask.rgb24.ref.pngbin0 -> 918 bytes
-rw-r--r--test/reference/clip-twice-rectangle.mask.argb32.ref.pngbin0 -> 323 bytes
-rw-r--r--test/reference/clip-twice-rectangle.mask.rgb24.ref.pngbin0 -> 323 bytes
-rw-r--r--test/reference/clip-twice.mask.argb32.ref.pngbin0 -> 1306 bytes
-rw-r--r--test/reference/clip-twice.mask.rgb24.ref.pngbin0 -> 1215 bytes
-rw-r--r--test/reference/clip-unbounded.mask.argb32.ref.pngbin0 -> 100 bytes
-rw-r--r--test/reference/clip-unbounded.mask.rgb24.ref.pngbin0 -> 97 bytes
-rw-r--r--test/reference/clipped-group.mask.argb32.ref.pngbin0 -> 336 bytes
-rw-r--r--test/reference/clipped-group.mask.rgb24.ref.pngbin0 -> 336 bytes
-rw-r--r--test/reference/clipped-surface.mask.argb32.ref.pngbin0 -> 345 bytes
-rw-r--r--test/reference/clipped-surface.mask.rgb24.ref.pngbin0 -> 345 bytes
-rw-r--r--test/reference/close-path-current-point.mask.argb32.ref.pngbin0 -> 2324 bytes
-rw-r--r--test/reference/close-path-current-point.mask.rgb24.ref.pngbin0 -> 2324 bytes
-rw-r--r--test/reference/close-path.mask.argb32.ref.pngbin0 -> 294 bytes
-rw-r--r--test/reference/close-path.mask.rgb24.ref.pngbin0 -> 294 bytes
-rw-r--r--test/reference/composite-integer-translate-over-repeat.mask.argb32.ref.pngbin0 -> 334 bytes
-rw-r--r--test/reference/composite-integer-translate-over-repeat.mask.rgb24.ref.pngbin0 -> 334 bytes
-rw-r--r--test/reference/composite-integer-translate-over.mask.argb32.ref.pngbin0 -> 13998 bytes
-rw-r--r--test/reference/composite-integer-translate-over.mask.rgb24.ref.pngbin0 -> 13998 bytes
-rw-r--r--test/reference/composite-integer-translate-source.mask.argb32.ref.pngbin0 -> 13998 bytes
-rw-r--r--test/reference/composite-integer-translate-source.mask.rgb24.ref.pngbin0 -> 13998 bytes
-rw-r--r--test/reference/copy-disjoint.base.argb32.ref.pngbin0 -> 1098 bytes
-rw-r--r--test/reference/copy-disjoint.base.rgb24.ref.pngbin0 -> 1098 bytes
-rw-r--r--test/reference/copy-disjoint.mask.argb32.ref.pngbin0 -> 1098 bytes
-rw-r--r--test/reference/copy-disjoint.mask.rgb24.ref.pngbin0 -> 1098 bytes
-rw-r--r--test/reference/copy-disjoint.traps.argb32.ref.pngbin0 -> 1098 bytes
-rw-r--r--test/reference/copy-disjoint.traps.rgb24.ref.pngbin0 -> 1098 bytes
-rw-r--r--test/reference/copy-path.mask.argb32.ref.pngbin0 -> 616 bytes
-rw-r--r--test/reference/copy-path.mask.rgb24.ref.pngbin0 -> 616 bytes
-rw-r--r--test/reference/create-from-png-stream.mask.argb32.ref.pngbin0 -> 96 bytes
-rw-r--r--test/reference/create-from-png-stream.mask.rgb24.ref.pngbin0 -> 96 bytes
-rw-r--r--test/reference/create-from-png.mask.argb32.ref.pngbin0 -> 96 bytes
-rw-r--r--test/reference/create-from-png.mask.rgb24.ref.pngbin0 -> 96 bytes
-rw-r--r--test/reference/create-from-png.traps.argb32.ref.pngbin0 -> 96 bytes
-rw-r--r--test/reference/create-from-png.traps.rgb24.ref.pngbin0 -> 96 bytes
-rw-r--r--test/reference/culled-glyphs.mask.argb32.ref.pngbin0 -> 440 bytes
-rw-r--r--test/reference/culled-glyphs.mask.rgb24.ref.pngbin0 -> 440 bytes
-rw-r--r--test/reference/curve-to-as-line-to.mask.argb32.ref.pngbin0 -> 109 bytes
-rw-r--r--test/reference/curve-to-as-line-to.mask.rgb24.ref.pngbin0 -> 109 bytes
-rw-r--r--test/reference/dash-caps-joins.mask.argb32.ref.pngbin0 -> 5157 bytes
-rw-r--r--test/reference/dash-caps-joins.mask.rgb24.ref.pngbin0 -> 5157 bytes
-rw-r--r--test/reference/dash-curve.mask.argb32.ref.pngbin0 -> 41040 bytes
-rw-r--r--test/reference/dash-curve.mask.rgb24.ref.pngbin0 -> 41040 bytes
-rw-r--r--test/reference/dash-infinite-loop.mask.argb32.ref.pngbin0 -> 877 bytes
-rw-r--r--test/reference/dash-infinite-loop.mask.rgb24.ref.pngbin0 -> 877 bytes
-rw-r--r--test/reference/dash-no-dash.mask.argb32.ref.pngbin0 -> 119 bytes
-rw-r--r--test/reference/dash-no-dash.mask.rgb24.ref.pngbin0 -> 119 bytes
-rw-r--r--test/reference/dash-offset-negative.mask.argb32.ref.pngbin0 -> 129 bytes
-rw-r--r--test/reference/dash-offset-negative.mask.rgb24.ref.pngbin0 -> 129 bytes
-rw-r--r--test/reference/dash-offset.mask.argb32.ref.pngbin0 -> 794 bytes
-rw-r--r--test/reference/dash-offset.mask.rgb24.ref.pngbin0 -> 794 bytes
-rw-r--r--test/reference/dash-scale.mask.argb32.ref.pngbin0 -> 8913 bytes
-rw-r--r--test/reference/dash-scale.mask.rgb24.ref.pngbin0 -> 8913 bytes
-rw-r--r--test/reference/dash-state.mask.argb32.ref.pngbin0 -> 8027 bytes
-rw-r--r--test/reference/dash-state.mask.rgb24.ref.pngbin0 -> 8027 bytes
-rw-r--r--test/reference/dash-zero-length.mask.argb32.ref.pngbin0 -> 230 bytes
-rw-r--r--test/reference/dash-zero-length.mask.rgb24.ref.pngbin0 -> 210 bytes
-rw-r--r--test/reference/degenerate-arc.mask.argb32.ref.pngbin0 -> 653 bytes
-rw-r--r--test/reference/degenerate-arc.mask.rgb24.ref.pngbin0 -> 653 bytes
-rw-r--r--test/reference/degenerate-arcs.mask.argb32.ref.pngbin0 -> 120 bytes
-rw-r--r--test/reference/degenerate-arcs.mask.rgb24.ref.pngbin0 -> 120 bytes
-rw-r--r--test/reference/degenerate-curve-to.mask.argb32.ref.pngbin0 -> 280 bytes
-rw-r--r--test/reference/degenerate-curve-to.mask.rgb24.ref.pngbin0 -> 280 bytes
-rw-r--r--test/reference/degenerate-dash.mask.argb32.ref.pngbin0 -> 2086 bytes
-rw-r--r--test/reference/degenerate-dash.mask.rgb24.ref.pngbin0 -> 2086 bytes
-rw-r--r--test/reference/degenerate-linear-gradient.mask.argb32.ref.pngbin0 -> 336 bytes
-rw-r--r--test/reference/degenerate-linear-gradient.mask.rgb24.ref.pngbin0 -> 336 bytes
-rw-r--r--test/reference/degenerate-path.mask.argb32.ref.pngbin0 -> 250 bytes
-rw-r--r--test/reference/degenerate-path.mask.rgb24.ref.pngbin0 -> 219 bytes
-rw-r--r--test/reference/degenerate-pen.mask.argb32.ref.pngbin0 -> 1019 bytes
-rw-r--r--test/reference/degenerate-pen.mask.rgb24.ref.pngbin0 -> 1019 bytes
-rw-r--r--test/reference/degenerate-radial-gradient.mask.argb32.ref.pngbin0 -> 428 bytes
-rw-r--r--test/reference/degenerate-radial-gradient.mask.rgb24.ref.pngbin0 -> 428 bytes
-rw-r--r--test/reference/degenerate-rel-curve-to.mask.argb32.ref.pngbin0 -> 277 bytes
-rw-r--r--test/reference/degenerate-rel-curve-to.mask.rgb24.ref.pngbin0 -> 277 bytes
-rw-r--r--test/reference/device-offset-fractional.mask.argb32.ref.pngbin0 -> 266 bytes
-rw-r--r--test/reference/device-offset-fractional.mask.rgb24.ref.pngbin0 -> 266 bytes
-rw-r--r--test/reference/device-offset-positive.mask.argb32.ref.pngbin0 -> 120 bytes
-rw-r--r--test/reference/device-offset-positive.mask.rgb24.ref.pngbin0 -> 111 bytes
-rw-r--r--test/reference/device-offset-scale.mask.argb32.ref.pngbin0 -> 109 bytes
-rw-r--r--test/reference/device-offset-scale.mask.rgb24.ref.pngbin0 -> 109 bytes
-rw-r--r--test/reference/device-offset.mask.argb32.ref.pngbin0 -> 118 bytes
-rw-r--r--test/reference/device-offset.mask.rgb24.ref.pngbin0 -> 111 bytes
-rw-r--r--test/reference/drunkard-tails.mask.argb32.ref.pngbin0 -> 6116 bytes
-rw-r--r--test/reference/drunkard-tails.mask.rgb24.ref.pngbin0 -> 6116 bytes
-rw-r--r--test/reference/extend-pad-border.mask.argb32.ref.pngbin0 -> 495 bytes
-rw-r--r--test/reference/extend-pad-border.mask.rgb24.ref.pngbin0 -> 495 bytes
-rw-r--r--test/reference/extend-pad-similar.mask.argb32.ref.pngbin0 -> 279 bytes
-rw-r--r--test/reference/extend-pad-similar.mask.rgb24.ref.pngbin0 -> 279 bytes
-rw-r--r--test/reference/extend-pad.mask.argb32.ref.pngbin0 -> 279 bytes
-rw-r--r--test/reference/extend-pad.mask.rgb24.ref.pngbin0 -> 279 bytes
-rw-r--r--test/reference/extend-reflect-similar.mask.argb32.ref.pngbin0 -> 133406 bytes
-rw-r--r--test/reference/extend-reflect-similar.mask.rgb24.ref.pngbin0 -> 133406 bytes
-rw-r--r--test/reference/extend-reflect.mask.argb32.ref.pngbin0 -> 133406 bytes
-rw-r--r--test/reference/extend-reflect.mask.rgb24.ref.pngbin0 -> 133406 bytes
-rw-r--r--test/reference/extend-repeat-similar.mask.argb32.ref.pngbin0 -> 108603 bytes
-rw-r--r--test/reference/extend-repeat-similar.mask.rgb24.ref.pngbin0 -> 108603 bytes
-rw-r--r--test/reference/extend-repeat.mask.argb32.ref.pngbin0 -> 108603 bytes
-rw-r--r--test/reference/extend-repeat.mask.rgb24.ref.pngbin0 -> 108603 bytes
-rw-r--r--test/reference/extended-blend-alpha-mask.mask.argb32.ref.pngbin0 -> 9221 bytes
-rw-r--r--test/reference/extended-blend-alpha-mask.mask.rgb24.ref.pngbin0 -> 4597 bytes
-rw-r--r--test/reference/extended-blend-alpha.mask.argb32.ref.pngbin0 -> 9406 bytes
-rw-r--r--test/reference/extended-blend-alpha.mask.rgb24.ref.pngbin0 -> 5740 bytes
-rw-r--r--test/reference/extended-blend-mask.mask.argb32.ref.pngbin0 -> 3971 bytes
-rw-r--r--test/reference/extended-blend-mask.mask.rgb24.ref.pngbin0 -> 3643 bytes
-rw-r--r--test/reference/extended-blend-solid-alpha.mask.argb32.ref.pngbin0 -> 9406 bytes
-rw-r--r--test/reference/extended-blend-solid-alpha.mask.rgb24.ref.pngbin0 -> 5740 bytes
-rw-r--r--test/reference/extended-blend-solid.mask.argb32.ref.pngbin0 -> 4063 bytes
-rw-r--r--test/reference/extended-blend-solid.mask.rgb24.ref.pngbin0 -> 3775 bytes
-rw-r--r--test/reference/extended-blend.mask.argb32.ref.pngbin0 -> 4063 bytes
-rw-r--r--test/reference/extended-blend.mask.rgb24.ref.pngbin0 -> 3775 bytes
-rw-r--r--test/reference/fallback.base.argb32.ref.pngbin0 -> 4156 bytes
-rw-r--r--test/reference/fallback.base.rgb24.ref.pngbin0 -> 3332 bytes
-rw-r--r--test/reference/fallback.mask.argb32.ref.pngbin0 -> 4070 bytes
-rw-r--r--test/reference/fallback.mask.rgb24.ref.pngbin0 -> 3141 bytes
-rw-r--r--test/reference/fallback.traps.argb32.ref.pngbin0 -> 4070 bytes
-rw-r--r--test/reference/fallback.traps.rgb24.ref.pngbin0 -> 3141 bytes
-rw-r--r--test/reference/fill-alpha-pattern.mask.argb32.ref.pngbin0 -> 3381 bytes
-rw-r--r--test/reference/fill-alpha-pattern.mask.rgb24.ref.pngbin0 -> 3381 bytes
-rw-r--r--test/reference/fill-alpha.mask.argb32.ref.pngbin0 -> 2736 bytes
-rw-r--r--test/reference/fill-alpha.mask.rgb24.ref.pngbin0 -> 2736 bytes
-rw-r--r--test/reference/fill-and-stroke-alpha-add.mask.argb32.ref.pngbin0 -> 556 bytes
-rw-r--r--test/reference/fill-and-stroke-alpha-add.mask.rgb24.ref.pngbin0 -> 556 bytes
-rw-r--r--test/reference/fill-and-stroke-alpha.mask.argb32.ref.pngbin0 -> 508 bytes
-rw-r--r--test/reference/fill-and-stroke-alpha.mask.rgb24.ref.pngbin0 -> 508 bytes
-rw-r--r--test/reference/fill-and-stroke.mask.argb32.ref.pngbin0 -> 312 bytes
-rw-r--r--test/reference/fill-and-stroke.mask.rgb24.ref.pngbin0 -> 283 bytes
-rw-r--r--test/reference/fill-degenerate-sort-order.mask.argb32.ref.pngbin0 -> 2400 bytes
-rw-r--r--test/reference/fill-degenerate-sort-order.mask.rgb24.ref.pngbin0 -> 2049 bytes
-rw-r--r--test/reference/fill-disjoint.base.argb32.ref.pngbin0 -> 1098 bytes
-rw-r--r--test/reference/fill-disjoint.base.rgb24.ref.pngbin0 -> 1098 bytes
-rw-r--r--test/reference/fill-disjoint.mask.argb32.ref.pngbin0 -> 1098 bytes
-rw-r--r--test/reference/fill-disjoint.mask.rgb24.ref.pngbin0 -> 1098 bytes
-rw-r--r--test/reference/fill-disjoint.traps.argb32.ref.pngbin0 -> 1098 bytes
-rw-r--r--test/reference/fill-disjoint.traps.rgb24.ref.pngbin0 -> 1098 bytes
-rw-r--r--test/reference/fill-empty.mask.argb32.ref.pngbin0 -> 99 bytes
-rw-r--r--test/reference/fill-empty.mask.rgb24.ref.pngbin0 -> 97 bytes
-rw-r--r--test/reference/fill-image.mask.argb32.ref.pngbin0 -> 1315 bytes
-rw-r--r--test/reference/fill-image.mask.rgb24.ref.pngbin0 -> 1315 bytes
-rw-r--r--test/reference/fill-missed-stop.mask.argb32.ref.pngbin0 -> 455 bytes
-rw-r--r--test/reference/fill-missed-stop.mask.rgb24.ref.pngbin0 -> 382 bytes
-rw-r--r--test/reference/fill-rule.mask.argb32.ref.pngbin0 -> 2065 bytes
-rw-r--r--test/reference/fill-rule.mask.rgb24.ref.pngbin0 -> 1803 bytes
-rw-r--r--test/reference/filter-bilinear-extents.mask.argb32.ref.pngbin0 -> 1210 bytes
-rw-r--r--test/reference/filter-bilinear-extents.mask.rgb24.ref.pngbin0 -> 1210 bytes
-rw-r--r--test/reference/filter-nearest-offset.mask.argb32.ref.pngbin0 -> 201 bytes
-rw-r--r--test/reference/filter-nearest-offset.mask.rgb24.ref.pngbin0 -> 201 bytes
-rw-r--r--test/reference/filter-nearest-transformed.mask.argb32.ref.pngbin0 -> 514 bytes
-rw-r--r--test/reference/filter-nearest-transformed.mask.rgb24.ref.pngbin0 -> 514 bytes
-rw-r--r--test/reference/finer-grained-fallbacks.mask.argb32.ref.pngbin0 -> 1167 bytes
-rw-r--r--test/reference/finer-grained-fallbacks.mask.rgb24.ref.pngbin0 -> 891 bytes
-rw-r--r--test/reference/font-matrix-translation.mask.argb32.ref.pngbin0 -> 865 bytes
-rw-r--r--test/reference/font-matrix-translation.mask.rgb24.ref.pngbin0 -> 865 bytes
-rw-r--r--test/reference/font-matrix-translation.traps.argb32.ref.pngbin0 -> 865 bytes
-rw-r--r--test/reference/font-matrix-translation.traps.rgb24.ref.pngbin0 -> 865 bytes
-rw-r--r--test/reference/ft-show-glyphs-positioning.mask.argb32.ref.pngbin0 -> 3243 bytes
-rw-r--r--test/reference/ft-show-glyphs-positioning.mask.rgb24.ref.pngbin0 -> 3243 bytes
-rw-r--r--test/reference/ft-show-glyphs-positioning.traps.argb32.ref.pngbin0 -> 3243 bytes
-rw-r--r--test/reference/ft-show-glyphs-positioning.traps.rgb24.ref.pngbin0 -> 3243 bytes
-rw-r--r--test/reference/ft-show-glyphs-table.mask.argb32.ref.pngbin0 -> 9975 bytes
-rw-r--r--test/reference/ft-show-glyphs-table.mask.rgb24.ref.pngbin0 -> 9975 bytes
-rw-r--r--test/reference/ft-show-glyphs-table.traps.argb32.ref.pngbin0 -> 9975 bytes
-rw-r--r--test/reference/ft-show-glyphs-table.traps.rgb24.ref.pngbin0 -> 9975 bytes
-rw-r--r--test/reference/ft-text-antialias-none.mask.argb32.ref.pngbin0 -> 295 bytes
-rw-r--r--test/reference/ft-text-antialias-none.mask.rgb24.ref.pngbin0 -> 295 bytes
-rw-r--r--test/reference/ft-text-vertical-layout-type1.mask.argb32.ref.pngbin0 -> 3062 bytes
-rw-r--r--test/reference/ft-text-vertical-layout-type1.mask.rgb24.ref.pngbin0 -> 3062 bytes
-rw-r--r--test/reference/ft-text-vertical-layout-type3.mask.argb32.ref.pngbin0 -> 3610 bytes
-rw-r--r--test/reference/ft-text-vertical-layout-type3.mask.rgb24.ref.pngbin0 -> 3610 bytes
-rw-r--r--test/reference/get-group-target.mask.argb32.ref.pngbin0 -> 113 bytes
-rw-r--r--test/reference/get-group-target.mask.rgb24.ref.pngbin0 -> 113 bytes
-rw-r--r--test/reference/gl-surface-source.base.argb32.ref.pngbin0 -> 377 bytes
-rw-r--r--test/reference/gl-surface-source.base.rgb24.ref.pngbin0 -> 301 bytes
-rw-r--r--test/reference/gl-surface-source.mask.argb32.ref.pngbin0 -> 377 bytes
-rw-r--r--test/reference/gl-surface-source.mask.rgb24.ref.pngbin0 -> 301 bytes
-rw-r--r--test/reference/gl-surface-source.traps.argb32.ref.pngbin0 -> 377 bytes
-rw-r--r--test/reference/gl-surface-source.traps.rgb24.ref.pngbin0 -> 301 bytes
-rw-r--r--test/reference/glyph-cache-pressure.mask.argb32.ref.pngbin0 -> 2858 bytes
-rw-r--r--test/reference/glyph-cache-pressure.mask.rgb24.ref.pngbin0 -> 2858 bytes
-rw-r--r--test/reference/glyph-cache-pressure.traps.argb32.ref.pngbin0 -> 2858 bytes
-rw-r--r--test/reference/glyph-cache-pressure.traps.rgb24.ref.pngbin0 -> 2858 bytes
-rw-r--r--test/reference/gradient-alpha.mask.argb32.ref.pngbin0 -> 125 bytes
-rw-r--r--test/reference/gradient-alpha.mask.rgb24.ref.pngbin0 -> 119 bytes
-rw-r--r--test/reference/gradient-constant-alpha.mask.argb32.ref.pngbin0 -> 111 bytes
-rw-r--r--test/reference/gradient-constant-alpha.mask.rgb24.ref.pngbin0 -> 106 bytes
-rw-r--r--test/reference/gradient-zero-stops-mask.mask.argb32.ref.pngbin0 -> 86 bytes
-rw-r--r--test/reference/gradient-zero-stops-mask.mask.rgb24.ref.pngbin0 -> 86 bytes
-rw-r--r--test/reference/gradient-zero-stops.mask.argb32.ref.pngbin0 -> 86 bytes
-rw-r--r--test/reference/gradient-zero-stops.mask.rgb24.ref.pngbin0 -> 86 bytes
-rw-r--r--test/reference/group-clip.mask.argb32.ref.pngbin0 -> 191 bytes
-rw-r--r--test/reference/group-clip.mask.rgb24.ref.pngbin0 -> 191 bytes
-rw-r--r--test/reference/group-paint.mask.argb32.ref.pngbin0 -> 95 bytes
-rw-r--r--test/reference/group-paint.mask.rgb24.ref.pngbin0 -> 95 bytes
-rw-r--r--test/reference/group-unaligned.mask.argb32.ref.pngbin0 -> 427 bytes
-rw-r--r--test/reference/group-unaligned.mask.rgb24.ref.pngbin0 -> 427 bytes
-rw-r--r--test/reference/halo-transform.mask.argb32.ref.pngbin0 -> 15063 bytes
-rw-r--r--test/reference/halo-transform.mask.rgb24.ref.pngbin0 -> 15063 bytes
-rw-r--r--test/reference/halo-transform.traps.argb32.ref.pngbin0 -> 15063 bytes
-rw-r--r--test/reference/halo-transform.traps.rgb24.ref.pngbin0 -> 15063 bytes
-rw-r--r--test/reference/halo.mask.argb32.ref.pngbin0 -> 8726 bytes
-rw-r--r--test/reference/halo.mask.rgb24.ref.pngbin0 -> 8726 bytes
-rw-r--r--test/reference/halo.traps.argb32.ref.pngbin0 -> 8726 bytes
-rw-r--r--test/reference/halo.traps.rgb24.ref.pngbin0 -> 8726 bytes
-rw-r--r--test/reference/hatchings.mask.argb32.ref.pngbin0 -> 94631 bytes
-rw-r--r--test/reference/hatchings.mask.rgb24.ref.pngbin0 -> 94631 bytes
-rw-r--r--test/reference/horizontal-clip.mask.argb32.ref.pngbin0 -> 113 bytes
-rw-r--r--test/reference/horizontal-clip.mask.rgb24.ref.pngbin0 -> 113 bytes
-rw-r--r--test/reference/huge-linear.mask.argb32.ref.pngbin0 -> 1600 bytes
-rw-r--r--test/reference/huge-linear.mask.rgb24.ref.pngbin0 -> 1600 bytes
-rw-r--r--test/reference/huge-radial.mask.argb32.ref.pngbin0 -> 41702 bytes
-rw-r--r--test/reference/huge-radial.mask.rgb24.ref.pngbin0 -> 41702 bytes
-rw-r--r--test/reference/image-bug-710072-aligned.mask.argb32.ref.pngbin0 -> 151 bytes
-rw-r--r--test/reference/image-bug-710072-aligned.mask.rgb24.ref.pngbin0 -> 151 bytes
-rw-r--r--test/reference/image-bug-710072-unaligned.mask.argb32.ref.pngbin0 -> 212 bytes
-rw-r--r--test/reference/image-bug-710072-unaligned.mask.rgb24.ref.pngbin0 -> 212 bytes
-rw-r--r--test/reference/image-surface-source.mask.argb32.ref.pngbin0 -> 377 bytes
-rw-r--r--test/reference/image-surface-source.mask.rgb24.ref.pngbin0 -> 301 bytes
-rw-r--r--test/reference/implicit-close.mask.argb32.ref.pngbin0 -> 251 bytes
-rw-r--r--test/reference/implicit-close.mask.rgb24.ref.pngbin0 -> 251 bytes
-rw-r--r--test/reference/infinite-join.mask.argb32.ref.pngbin0 -> 164 bytes
-rw-r--r--test/reference/infinite-join.mask.rgb24.ref.pngbin0 -> 164 bytes
-rw-r--r--test/reference/inverse-text.base.argb32.ref.pngbin0 -> 2162 bytes
-rw-r--r--test/reference/inverse-text.base.rgb24.ref.pngbin0 -> 2162 bytes
-rw-r--r--test/reference/inverse-text.mask.argb32.ref.pngbin0 -> 2162 bytes
-rw-r--r--test/reference/inverse-text.mask.rgb24.ref.pngbin0 -> 2162 bytes
-rw-r--r--test/reference/inverse-text.traps.argb32.ref.pngbin0 -> 2162 bytes
-rw-r--r--test/reference/inverse-text.traps.rgb24.ref.pngbin0 -> 2162 bytes
-rw-r--r--test/reference/joins-loop.mask.argb32.ref.pngbin0 -> 4492 bytes
-rw-r--r--test/reference/joins-loop.mask.rgb24.ref.pngbin0 -> 4492 bytes
-rw-r--r--test/reference/joins-retrace.mask.argb32.ref.pngbin0 -> 4997 bytes
-rw-r--r--test/reference/joins-retrace.mask.rgb24.ref.pngbin0 -> 4997 bytes
-rw-r--r--test/reference/joins-star.mask.argb32.ref.pngbin0 -> 4914 bytes
-rw-r--r--test/reference/joins-star.mask.rgb24.ref.pngbin0 -> 4914 bytes
-rw-r--r--test/reference/joins.mask.argb32.ref.pngbin0 -> 6970 bytes
-rw-r--r--test/reference/joins.mask.rgb24.ref.pngbin0 -> 6970 bytes
-rw-r--r--test/reference/large-clip.mask.argb32.ref.pngbin0 -> 305 bytes
-rw-r--r--test/reference/large-clip.mask.rgb24.ref.pngbin0 -> 305 bytes
-rw-r--r--test/reference/large-font.mask.argb32.ref.pngbin0 -> 6117 bytes
-rw-r--r--test/reference/large-font.mask.rgb24.ref.pngbin0 -> 6117 bytes
-rw-r--r--test/reference/large-source-roi.mask.argb32.ref.pngbin0 -> 93 bytes
-rw-r--r--test/reference/large-source-roi.mask.rgb24.ref.pngbin0 -> 93 bytes
-rw-r--r--test/reference/large-source.mask.argb32.ref.pngbin0 -> 112 bytes
-rw-r--r--test/reference/large-source.mask.rgb24.ref.pngbin0 -> 112 bytes
-rw-r--r--test/reference/large-twin-antialias-mixed.mask.argb32.ref.pngbin0 -> 16660 bytes
-rw-r--r--test/reference/large-twin-antialias-mixed.mask.rgb24.ref.pngbin0 -> 16660 bytes
-rw-r--r--test/reference/leaky-dash.mask.argb32.ref.pngbin0 -> 197 bytes
-rw-r--r--test/reference/leaky-dash.mask.rgb24.ref.pngbin0 -> 197 bytes
-rw-r--r--test/reference/leaky-dashed-rectangle.mask.argb32.ref.pngbin0 -> 357 bytes
-rw-r--r--test/reference/leaky-dashed-rectangle.mask.rgb24.ref.pngbin0 -> 357 bytes
-rw-r--r--test/reference/leaky-dashed-stroke.mask.argb32.ref.pngbin0 -> 9387 bytes
-rw-r--r--test/reference/leaky-dashed-stroke.mask.rgb24.ref.pngbin0 -> 9387 bytes
-rw-r--r--test/reference/leaky-polygon.mask.argb32.ref.pngbin0 -> 337 bytes
-rw-r--r--test/reference/leaky-polygon.mask.rgb24.ref.pngbin0 -> 337 bytes
-rw-r--r--test/reference/line-width-large-overlap-dashed.base.argb32.ref.pngbin0 -> 338 bytes
-rw-r--r--test/reference/line-width-large-overlap-dashed.base.rgb24.ref.pngbin0 -> 338 bytes
-rw-r--r--test/reference/line-width-large-overlap-dashed.mask.argb32.ref.pngbin0 -> 343 bytes
-rw-r--r--test/reference/line-width-large-overlap-dashed.mask.rgb24.ref.pngbin0 -> 343 bytes
-rw-r--r--test/reference/line-width-large-overlap-dashed.traps.argb32.ref.pngbin0 -> 343 bytes
-rw-r--r--test/reference/line-width-large-overlap-dashed.traps.rgb24.ref.pngbin0 -> 343 bytes
-rw-r--r--test/reference/line-width-large-overlap-flipped.base.argb32.ref.pngbin0 -> 305 bytes
-rw-r--r--test/reference/line-width-large-overlap-flipped.base.rgb24.ref.pngbin0 -> 305 bytes
-rw-r--r--test/reference/line-width-large-overlap-flipped.mask.argb32.ref.pngbin0 -> 305 bytes
-rw-r--r--test/reference/line-width-large-overlap-flipped.mask.rgb24.ref.pngbin0 -> 305 bytes
-rw-r--r--test/reference/line-width-large-overlap-flipped.traps.argb32.ref.pngbin0 -> 305 bytes
-rw-r--r--test/reference/line-width-large-overlap-flipped.traps.rgb24.ref.pngbin0 -> 305 bytes
-rw-r--r--test/reference/line-width-large-overlap-flopped.base.argb32.ref.pngbin0 -> 305 bytes
-rw-r--r--test/reference/line-width-large-overlap-flopped.base.rgb24.ref.pngbin0 -> 305 bytes
-rw-r--r--test/reference/line-width-large-overlap-flopped.mask.argb32.ref.pngbin0 -> 305 bytes
-rw-r--r--test/reference/line-width-large-overlap-flopped.mask.rgb24.ref.pngbin0 -> 305 bytes
-rw-r--r--test/reference/line-width-large-overlap-flopped.traps.argb32.ref.pngbin0 -> 305 bytes
-rw-r--r--test/reference/line-width-large-overlap-flopped.traps.rgb24.ref.pngbin0 -> 305 bytes
-rw-r--r--test/reference/line-width-large-overlap-offset.base.argb32.ref.pngbin0 -> 305 bytes
-rw-r--r--test/reference/line-width-large-overlap-offset.base.rgb24.ref.pngbin0 -> 305 bytes
-rw-r--r--test/reference/line-width-large-overlap-offset.mask.argb32.ref.pngbin0 -> 305 bytes
-rw-r--r--test/reference/line-width-large-overlap-offset.mask.rgb24.ref.pngbin0 -> 305 bytes
-rw-r--r--test/reference/line-width-large-overlap-offset.traps.argb32.ref.pngbin0 -> 305 bytes
-rw-r--r--test/reference/line-width-large-overlap-offset.traps.rgb24.ref.pngbin0 -> 305 bytes
-rw-r--r--test/reference/line-width-large-overlap-rotated.base.argb32.ref.pngbin0 -> 404 bytes
-rw-r--r--test/reference/line-width-large-overlap-rotated.base.rgb24.ref.pngbin0 -> 404 bytes
-rw-r--r--test/reference/line-width-large-overlap-rotated.mask.argb32.ref.pngbin0 -> 427 bytes
-rw-r--r--test/reference/line-width-large-overlap-rotated.mask.rgb24.ref.pngbin0 -> 427 bytes
-rw-r--r--test/reference/line-width-large-overlap-rotated.traps.argb32.ref.pngbin0 -> 427 bytes
-rw-r--r--test/reference/line-width-large-overlap-rotated.traps.rgb24.ref.pngbin0 -> 427 bytes
-rw-r--r--test/reference/line-width-large-overlap.base.argb32.ref.pngbin0 -> 305 bytes
-rw-r--r--test/reference/line-width-large-overlap.base.rgb24.ref.pngbin0 -> 305 bytes
-rw-r--r--test/reference/line-width-large-overlap.mask.argb32.ref.pngbin0 -> 305 bytes
-rw-r--r--test/reference/line-width-large-overlap.mask.rgb24.ref.pngbin0 -> 305 bytes
-rw-r--r--test/reference/line-width-large-overlap.traps.argb32.ref.pngbin0 -> 305 bytes
-rw-r--r--test/reference/line-width-large-overlap.traps.rgb24.ref.pngbin0 -> 305 bytes
-rw-r--r--test/reference/line-width-overlap-dashed.mask.argb32.ref.pngbin0 -> 401 bytes
-rw-r--r--test/reference/line-width-overlap-dashed.mask.rgb24.ref.pngbin0 -> 401 bytes
-rw-r--r--test/reference/line-width-overlap-flipped.mask.argb32.ref.pngbin0 -> 324 bytes
-rw-r--r--test/reference/line-width-overlap-flipped.mask.rgb24.ref.pngbin0 -> 324 bytes
-rw-r--r--test/reference/line-width-overlap-flopped.mask.argb32.ref.pngbin0 -> 324 bytes
-rw-r--r--test/reference/line-width-overlap-flopped.mask.rgb24.ref.pngbin0 -> 324 bytes
-rw-r--r--test/reference/line-width-overlap-offset.mask.argb32.ref.pngbin0 -> 348 bytes
-rw-r--r--test/reference/line-width-overlap-offset.mask.rgb24.ref.pngbin0 -> 348 bytes
-rw-r--r--test/reference/line-width-overlap-offset.traps.argb32.ref.pngbin0 -> 365 bytes
-rw-r--r--test/reference/line-width-overlap-offset.traps.rgb24.ref.pngbin0 -> 365 bytes
-rw-r--r--test/reference/line-width-overlap-rotated.mask.argb32.ref.pngbin0 -> 828 bytes
-rw-r--r--test/reference/line-width-overlap-rotated.mask.rgb24.ref.pngbin0 -> 828 bytes
-rw-r--r--test/reference/line-width-overlap.mask.argb32.ref.pngbin0 -> 324 bytes
-rw-r--r--test/reference/line-width-overlap.mask.rgb24.ref.pngbin0 -> 324 bytes
-rw-r--r--test/reference/line-width-scale.mask.argb32.ref.pngbin0 -> 5721 bytes
-rw-r--r--test/reference/line-width-scale.mask.rgb24.ref.pngbin0 -> 5721 bytes
-rw-r--r--test/reference/line-width-tolerance.mask.argb32.ref.pngbin0 -> 168 bytes
-rw-r--r--test/reference/line-width-tolerance.mask.rgb24.ref.pngbin0 -> 168 bytes
-rw-r--r--test/reference/line-width.mask.argb32.ref.pngbin0 -> 178 bytes
-rw-r--r--test/reference/line-width.mask.rgb24.ref.pngbin0 -> 178 bytes
-rw-r--r--test/reference/linear-gradient-extend.mask.argb32.ref.pngbin0 -> 371 bytes
-rw-r--r--test/reference/linear-gradient-extend.mask.rgb24.ref.pngbin0 -> 371 bytes
-rw-r--r--test/reference/linear-gradient-large.mask.argb32.ref.pngbin0 -> 4076 bytes
-rw-r--r--test/reference/linear-gradient-large.mask.rgb24.ref.pngbin0 -> 4076 bytes
-rw-r--r--test/reference/linear-gradient-one-stop.mask.argb32.ref.pngbin0 -> 225 bytes
-rw-r--r--test/reference/linear-gradient-one-stop.mask.rgb24.ref.pngbin0 -> 174 bytes
-rw-r--r--test/reference/linear-gradient-reflect.mask.argb32.ref.pngbin0 -> 185 bytes
-rw-r--r--test/reference/linear-gradient-reflect.mask.rgb24.ref.pngbin0 -> 185 bytes
-rw-r--r--test/reference/linear-gradient-subset.mask.argb32.ref.pngbin0 -> 820 bytes
-rw-r--r--test/reference/linear-gradient-subset.mask.rgb24.ref.pngbin0 -> 820 bytes
-rw-r--r--test/reference/linear-gradient.mask.argb32.ref.pngbin0 -> 974 bytes
-rw-r--r--test/reference/linear-gradient.mask.rgb24.ref.pngbin0 -> 974 bytes
-rw-r--r--test/reference/linear-step-function.mask.argb32.ref.pngbin0 -> 118 bytes
-rw-r--r--test/reference/linear-step-function.mask.rgb24.ref.pngbin0 -> 118 bytes
-rw-r--r--test/reference/linear-uniform.mask.argb32.ref.pngbin0 -> 128 bytes
-rw-r--r--test/reference/linear-uniform.mask.rgb24.ref.pngbin0 -> 128 bytes
-rw-r--r--test/reference/long-dashed-lines.mask.argb32.ref.pngbin0 -> 2548 bytes
-rw-r--r--test/reference/long-dashed-lines.mask.rgb24.ref.pngbin0 -> 2548 bytes
-rw-r--r--test/reference/long-lines.mask.argb32.ref.pngbin0 -> 201 bytes
-rw-r--r--test/reference/long-lines.mask.rgb24.ref.pngbin0 -> 201 bytes
-rw-r--r--test/reference/map-all-to-image.mask.argb32.ref.pngbin0 -> 86 bytes
-rw-r--r--test/reference/map-all-to-image.mask.rgb24.ref.pngbin0 -> 86 bytes
-rw-r--r--test/reference/map-bit-to-image.mask.argb32.ref.pngbin0 -> 103 bytes
-rw-r--r--test/reference/map-bit-to-image.mask.rgb24.ref.pngbin0 -> 103 bytes
-rw-r--r--test/reference/map-to-image-fill.mask.argb32.ref.pngbin0 -> 103 bytes
-rw-r--r--test/reference/map-to-image-fill.mask.rgb24.ref.pngbin0 -> 103 bytes
-rw-r--r--test/reference/mask-alpha.mask.argb32.ref.pngbin0 -> 632 bytes
-rw-r--r--test/reference/mask-alpha.mask.rgb24.ref.pngbin0 -> 589 bytes
-rw-r--r--test/reference/mask-ctm.mask.argb32.ref.pngbin0 -> 110 bytes
-rw-r--r--test/reference/mask-ctm.mask.rgb24.ref.pngbin0 -> 105 bytes
-rw-r--r--test/reference/mask-surface-ctm.mask.argb32.ref.pngbin0 -> 110 bytes
-rw-r--r--test/reference/mask-surface-ctm.mask.rgb24.ref.pngbin0 -> 105 bytes
-rw-r--r--test/reference/mask-transformed-image.mask.argb32.ref.pngbin0 -> 3812 bytes
-rw-r--r--test/reference/mask-transformed-image.mask.rgb24.ref.pngbin0 -> 3812 bytes
-rw-r--r--test/reference/mask-transformed-similar.mask.argb32.ref.pngbin0 -> 3812 bytes
-rw-r--r--test/reference/mask-transformed-similar.mask.rgb24.ref.pngbin0 -> 3812 bytes
-rw-r--r--test/reference/mask.mask.argb32.ref.pngbin0 -> 8565 bytes
-rw-r--r--test/reference/mask.mask.rgb24.ref.pngbin0 -> 7135 bytes
-rw-r--r--test/reference/mesh-pattern-accuracy.mask.argb32.ref.pngbin0 -> 8086 bytes
-rw-r--r--test/reference/mesh-pattern-accuracy.mask.rgb24.ref.pngbin0 -> 8086 bytes
-rw-r--r--test/reference/mesh-pattern-conical.mask.argb32.ref.pngbin0 -> 8655 bytes
-rw-r--r--test/reference/mesh-pattern-conical.mask.rgb24.ref.pngbin0 -> 8655 bytes
-rw-r--r--test/reference/mesh-pattern-control-points.mask.argb32.ref.pngbin0 -> 10665 bytes
-rw-r--r--test/reference/mesh-pattern-control-points.mask.rgb24.ref.pngbin0 -> 10665 bytes
-rw-r--r--test/reference/mesh-pattern-fold.mask.argb32.ref.pngbin0 -> 52980 bytes
-rw-r--r--test/reference/mesh-pattern-fold.mask.rgb24.ref.pngbin0 -> 52980 bytes
-rw-r--r--test/reference/mesh-pattern-overlap.mask.argb32.ref.pngbin0 -> 9129 bytes
-rw-r--r--test/reference/mesh-pattern-overlap.mask.rgb24.ref.pngbin0 -> 9129 bytes
-rw-r--r--test/reference/mesh-pattern-transformed.mask.argb32.ref.pngbin0 -> 14463 bytes
-rw-r--r--test/reference/mesh-pattern-transformed.mask.rgb24.ref.pngbin0 -> 14463 bytes
-rw-r--r--test/reference/mesh-pattern.mask.argb32.ref.pngbin0 -> 19566 bytes
-rw-r--r--test/reference/mesh-pattern.mask.rgb24.ref.pngbin0 -> 19566 bytes
-rw-r--r--test/reference/mime-data.mask.argb32.ref.pngbin0 -> 185 bytes
-rw-r--r--test/reference/mime-data.mask.rgb24.ref.pngbin0 -> 185 bytes
-rw-r--r--test/reference/miter-precision.mask.argb32.ref.pngbin0 -> 1030 bytes
-rw-r--r--test/reference/miter-precision.mask.rgb24.ref.pngbin0 -> 1030 bytes
-rw-r--r--test/reference/move-to-show-surface.mask.argb32.ref.pngbin0 -> 96 bytes
-rw-r--r--test/reference/move-to-show-surface.mask.rgb24.ref.pngbin0 -> 96 bytes
-rw-r--r--test/reference/negative-stride-image.base.argb32.ref.pngbin0 -> 81121 bytes
-rw-r--r--test/reference/negative-stride-image.base.rgb24.ref.pngbin0 -> 81121 bytes
-rw-r--r--test/reference/negative-stride-image.mask.argb32.ref.pngbin0 -> 81121 bytes
-rw-r--r--test/reference/negative-stride-image.mask.rgb24.ref.pngbin0 -> 81121 bytes
-rw-r--r--test/reference/negative-stride-image.traps.argb32.ref.pngbin0 -> 81121 bytes
-rw-r--r--test/reference/negative-stride-image.traps.rgb24.ref.pngbin0 -> 81121 bytes
-rw-r--r--test/reference/new-sub-path.mask.argb32.ref.pngbin0 -> 408 bytes
-rw-r--r--test/reference/new-sub-path.mask.rgb24.ref.pngbin0 -> 371 bytes
-rw-r--r--test/reference/nil-surface.mask.argb32.ref.pngbin0 -> 88 bytes
-rw-r--r--test/reference/nil-surface.mask.rgb24.ref.pngbin0 -> 87 bytes
-rw-r--r--test/reference/operator-alpha-alpha.mask.argb32.ref.pngbin0 -> 3441 bytes
-rw-r--r--test/reference/operator-alpha-alpha.mask.rgb24.ref.pngbin0 -> 3441 bytes
-rw-r--r--test/reference/operator-alpha.mask.argb32.ref.pngbin0 -> 280 bytes
-rw-r--r--test/reference/operator-alpha.mask.rgb24.ref.pngbin0 -> 205 bytes
-rw-r--r--test/reference/operator-clear.mask.argb32.ref.pngbin0 -> 1071 bytes
-rw-r--r--test/reference/operator-clear.mask.rgb24.ref.pngbin0 -> 947 bytes
-rw-r--r--test/reference/operator-source.mask.argb32.ref.pngbin0 -> 5612 bytes
-rw-r--r--test/reference/operator-source.mask.rgb24.ref.pngbin0 -> 3975 bytes
-rw-r--r--test/reference/operator.mask.argb32.ref.pngbin0 -> 238 bytes
-rw-r--r--test/reference/operator.mask.rgb24.ref.pngbin0 -> 189 bytes
-rw-r--r--test/reference/over-above-source.mask.argb32.ref.pngbin0 -> 564 bytes
-rw-r--r--test/reference/over-above-source.mask.rgb24.ref.pngbin0 -> 465 bytes
-rw-r--r--test/reference/over-around-source.mask.argb32.ref.pngbin0 -> 633 bytes
-rw-r--r--test/reference/over-around-source.mask.rgb24.ref.pngbin0 -> 499 bytes
-rw-r--r--test/reference/over-below-source.mask.argb32.ref.pngbin0 -> 447 bytes
-rw-r--r--test/reference/over-below-source.mask.rgb24.ref.pngbin0 -> 385 bytes
-rw-r--r--test/reference/over-between-source.mask.argb32.ref.pngbin0 -> 596 bytes
-rw-r--r--test/reference/over-between-source.mask.rgb24.ref.pngbin0 -> 463 bytes
-rw-r--r--test/reference/overlapping-boxes.mask.argb32.ref.pngbin0 -> 179 bytes
-rw-r--r--test/reference/overlapping-boxes.mask.rgb24.ref.pngbin0 -> 170 bytes
-rw-r--r--test/reference/overlapping-dash-caps.mask.argb32.ref.pngbin0 -> 3986 bytes
-rw-r--r--test/reference/overlapping-dash-caps.mask.rgb24.ref.pngbin0 -> 3986 bytes
-rw-r--r--test/reference/overlapping-glyphs.mask.argb32.ref.pngbin0 -> 2717 bytes
-rw-r--r--test/reference/overlapping-glyphs.mask.rgb24.ref.pngbin0 -> 1663 bytes
-rw-r--r--test/reference/paint-clip-fill-aa.mask.argb32.ref.pngbin0 -> 327 bytes
-rw-r--r--test/reference/paint-clip-fill-aa.mask.rgb24.ref.pngbin0 -> 327 bytes
-rw-r--r--test/reference/paint-clip-fill-mono.mask.argb32.ref.pngbin0 -> 327 bytes
-rw-r--r--test/reference/paint-clip-fill-mono.mask.rgb24.ref.pngbin0 -> 327 bytes
-rw-r--r--test/reference/paint-repeat.mask.argb32.ref.pngbin0 -> 122 bytes
-rw-r--r--test/reference/paint-repeat.mask.rgb24.ref.pngbin0 -> 122 bytes
-rw-r--r--test/reference/paint-source-alpha.mask.argb32.ref.pngbin0 -> 224 bytes
-rw-r--r--test/reference/paint-source-alpha.mask.rgb24.ref.pngbin0 -> 224 bytes
-rw-r--r--test/reference/paint-with-alpha-clip-mask.mask.argb32.ref.pngbin0 -> 330 bytes
-rw-r--r--test/reference/paint-with-alpha-clip-mask.mask.rgb24.ref.pngbin0 -> 330 bytes
-rw-r--r--test/reference/paint-with-alpha-clip.mask.argb32.ref.pngbin0 -> 269 bytes
-rw-r--r--test/reference/paint-with-alpha-clip.mask.rgb24.ref.pngbin0 -> 269 bytes
-rw-r--r--test/reference/paint-with-alpha-solid-clip.mask.argb32.ref.pngbin0 -> 266 bytes
-rw-r--r--test/reference/paint-with-alpha-solid-clip.mask.rgb24.ref.pngbin0 -> 266 bytes
-rw-r--r--test/reference/paint-with-alpha.mask.argb32.ref.pngbin0 -> 224 bytes
-rw-r--r--test/reference/paint-with-alpha.mask.rgb24.ref.pngbin0 -> 224 bytes
-rw-r--r--test/reference/paint.mask.argb32.ref.pngbin0 -> 93 bytes
-rw-r--r--test/reference/paint.mask.rgb24.ref.pngbin0 -> 93 bytes
-rw-r--r--test/reference/partial-clip-text-bottom.mask.argb32.ref.pngbin0 -> 261 bytes
-rw-r--r--test/reference/partial-clip-text-bottom.mask.rgb24.ref.pngbin0 -> 261 bytes
-rw-r--r--test/reference/partial-clip-text-left.mask.argb32.ref.pngbin0 -> 301 bytes
-rw-r--r--test/reference/partial-clip-text-left.mask.rgb24.ref.pngbin0 -> 301 bytes
-rw-r--r--test/reference/partial-clip-text-right.mask.argb32.ref.pngbin0 -> 155 bytes
-rw-r--r--test/reference/partial-clip-text-right.mask.rgb24.ref.pngbin0 -> 155 bytes
-rw-r--r--test/reference/partial-clip-text-right.traps.argb32.ref.pngbin0 -> 155 bytes
-rw-r--r--test/reference/partial-clip-text-right.traps.rgb24.ref.pngbin0 -> 155 bytes
-rw-r--r--test/reference/partial-clip-text-top.mask.argb32.ref.pngbin0 -> 181 bytes
-rw-r--r--test/reference/partial-clip-text-top.mask.rgb24.ref.pngbin0 -> 181 bytes
-rw-r--r--test/reference/partial-clip-text-top.traps.argb32.ref.pngbin0 -> 181 bytes
-rw-r--r--test/reference/partial-clip-text-top.traps.rgb24.ref.pngbin0 -> 181 bytes
-rw-r--r--test/reference/partial-coverage-half-reference.mask.argb32.ref.pngbin0 -> 189 bytes
-rw-r--r--test/reference/partial-coverage-half-reference.mask.rgb24.ref.pngbin0 -> 189 bytes
-rw-r--r--test/reference/partial-coverage-reference.mask.argb32.ref.pngbin0 -> 202 bytes
-rw-r--r--test/reference/partial-coverage-reference.mask.rgb24.ref.pngbin0 -> 202 bytes
-rw-r--r--test/reference/partial-coverage-three-quarter-reference.mask.argb32.ref.pngbin0 -> 186 bytes
-rw-r--r--test/reference/partial-coverage-three-quarter-reference.mask.rgb24.ref.pngbin0 -> 186 bytes
-rw-r--r--test/reference/pass-through.base.argb32.ref.pngbin0 -> 221 bytes
-rw-r--r--test/reference/pass-through.base.rgb24.ref.pngbin0 -> 158 bytes
-rw-r--r--test/reference/pass-through.mask.argb32.ref.pngbin0 -> 221 bytes
-rw-r--r--test/reference/pass-through.mask.rgb24.ref.pngbin0 -> 158 bytes
-rw-r--r--test/reference/pass-through.traps.argb32.ref.pngbin0 -> 221 bytes
-rw-r--r--test/reference/pass-through.traps.rgb24.ref.pngbin0 -> 158 bytes
-rw-r--r--test/reference/path-append.mask.argb32.ref.pngbin0 -> 6144 bytes
-rw-r--r--test/reference/path-append.mask.rgb24.ref.pngbin0 -> 6144 bytes
-rw-r--r--test/reference/path-stroke-twice.mask.argb32.ref.pngbin0 -> 240 bytes
-rw-r--r--test/reference/path-stroke-twice.mask.rgb24.ref.pngbin0 -> 240 bytes
-rw-r--r--test/reference/pattern-getters.mask.argb32.ref.pngbin0 -> 87 bytes
-rw-r--r--test/reference/pattern-getters.mask.rgb24.ref.pngbin0 -> 87 bytes
-rw-r--r--test/reference/pdf-surface-source.mask.argb32.ref.pngbin0 -> 377 bytes
-rw-r--r--test/reference/pdf-surface-source.mask.rgb24.ref.pngbin0 -> 301 bytes
-rw-r--r--test/reference/pixman-rotate.mask.argb32.ref.pngbin0 -> 260 bytes
-rw-r--r--test/reference/pixman-rotate.mask.rgb24.ref.pngbin0 -> 225 bytes
-rw-r--r--test/reference/ps-surface-source.mask.argb32.ref.pngbin0 -> 377 bytes
-rw-r--r--test/reference/ps-surface-source.mask.rgb24.ref.pngbin0 -> 301 bytes
-rw-r--r--test/reference/pthread-same-source.mask.argb32.ref.pngbin0 -> 1000 bytes
-rw-r--r--test/reference/pthread-same-source.mask.rgb24.ref.pngbin0 -> 1000 bytes
-rw-r--r--test/reference/pthread-show-text.mask.argb32.ref.pngbin0 -> 30199 bytes
-rw-r--r--test/reference/pthread-show-text.mask.rgb24.ref.pngbin0 -> 30199 bytes
-rw-r--r--test/reference/pthread-show-text.traps.argb32.ref.pngbin0 -> 30199 bytes
-rw-r--r--test/reference/pthread-show-text.traps.rgb24.ref.pngbin0 -> 30199 bytes
-rw-r--r--test/reference/pthread-similar.mask.argb32.ref.pngbin0 -> 170 bytes
-rw-r--r--test/reference/pthread-similar.mask.rgb24.ref.pngbin0 -> 170 bytes
-rw-r--r--test/reference/push-group-color.mask.argb32.ref.pngbin0 -> 2892 bytes
-rw-r--r--test/reference/push-group-color.mask.rgb24.ref.pngbin0 -> 2892 bytes
-rw-r--r--test/reference/push-group-path-offset.mask.argb32.ref.pngbin0 -> 186 bytes
-rw-r--r--test/reference/push-group-path-offset.mask.rgb24.ref.pngbin0 -> 186 bytes
-rw-r--r--test/reference/push-group.mask.argb32.ref.pngbin0 -> 3062 bytes
-rw-r--r--test/reference/push-group.mask.rgb24.ref.pngbin0 -> 2899 bytes
-rw-r--r--test/reference/radial-gradient-extend.mask.argb32.ref.pngbin0 -> 466 bytes
-rw-r--r--test/reference/radial-gradient-extend.mask.rgb24.ref.pngbin0 -> 466 bytes
-rw-r--r--test/reference/radial-gradient-mask-source.mask.argb32.ref.pngbin0 -> 145713 bytes
-rw-r--r--test/reference/radial-gradient-mask-source.mask.rgb24.ref.pngbin0 -> 150945 bytes
-rw-r--r--test/reference/radial-gradient-mask.mask.argb32.ref.pngbin0 -> 286065 bytes
-rw-r--r--test/reference/radial-gradient-mask.mask.rgb24.ref.pngbin0 -> 286065 bytes
-rw-r--r--test/reference/radial-gradient-one-stop.mask.argb32.ref.pngbin0 -> 6306 bytes
-rw-r--r--test/reference/radial-gradient-one-stop.mask.rgb24.ref.pngbin0 -> 6306 bytes
-rw-r--r--test/reference/radial-gradient-source.mask.argb32.ref.pngbin0 -> 408848 bytes
-rw-r--r--test/reference/radial-gradient-source.mask.rgb24.ref.pngbin0 -> 263908 bytes
-rw-r--r--test/reference/radial-gradient.mask.argb32.ref.pngbin0 -> 382283 bytes
-rw-r--r--test/reference/radial-gradient.mask.rgb24.ref.pngbin0 -> 382283 bytes
-rw-r--r--test/reference/radial-outer-focus.base.argb32.ref.pngbin0 -> 38310 bytes
-rw-r--r--test/reference/radial-outer-focus.base.rgb24.ref.pngbin0 -> 38310 bytes
-rw-r--r--test/reference/radial-outer-focus.mask.argb32.ref.pngbin0 -> 38310 bytes
-rw-r--r--test/reference/radial-outer-focus.mask.rgb24.ref.pngbin0 -> 38310 bytes
-rw-r--r--test/reference/radial-outer-focus.traps.argb32.ref.pngbin0 -> 38310 bytes
-rw-r--r--test/reference/radial-outer-focus.traps.rgb24.ref.pngbin0 -> 38310 bytes
-rw-r--r--test/reference/random-clip.base.argb32.ref.pngbin0 -> 521040 bytes
-rw-r--r--test/reference/random-clip.base.rgb24.ref.pngbin0 -> 521040 bytes
-rw-r--r--test/reference/random-clip.mask.argb32.ref.pngbin0 -> 550190 bytes
-rw-r--r--test/reference/random-clip.mask.rgb24.ref.pngbin0 -> 550190 bytes
-rw-r--r--test/reference/random-intersections-curves-eo.mask.argb32.ref.pngbin0 -> 245848 bytes
-rw-r--r--test/reference/random-intersections-curves-eo.mask.rgb24.ref.pngbin0 -> 245848 bytes
-rw-r--r--test/reference/random-intersections-curves-nz.mask.argb32.ref.pngbin0 -> 265249 bytes
-rw-r--r--test/reference/random-intersections-curves-nz.mask.rgb24.ref.pngbin0 -> 265249 bytes
-rw-r--r--test/reference/random-intersections-eo.mask.argb32.ref.pngbin0 -> 136632 bytes
-rw-r--r--test/reference/random-intersections-eo.mask.rgb24.ref.pngbin0 -> 136632 bytes
-rw-r--r--test/reference/random-intersections-nonzero.mask.argb32.ref.pngbin0 -> 142139 bytes
-rw-r--r--test/reference/random-intersections-nonzero.mask.rgb24.ref.pngbin0 -> 142139 bytes
-rw-r--r--test/reference/raster-source.mask.argb32.ref.pngbin0 -> 1209 bytes
-rw-r--r--test/reference/raster-source.mask.rgb24.ref.pngbin0 -> 1209 bytes
-rw-r--r--test/reference/rectangle-rounding-error.mask.argb32.ref.pngbin0 -> 212 bytes
-rw-r--r--test/reference/rectangle-rounding-error.mask.rgb24.ref.pngbin0 -> 212 bytes
-rw-r--r--test/reference/rectilinear-dash.mask.argb32.ref.pngbin0 -> 291 bytes
-rw-r--r--test/reference/rectilinear-dash.mask.rgb24.ref.pngbin0 -> 291 bytes
-rw-r--r--test/reference/rectilinear-fill.mask.argb32.ref.pngbin0 -> 151 bytes
-rw-r--r--test/reference/rectilinear-fill.mask.rgb24.ref.pngbin0 -> 151 bytes
-rw-r--r--test/reference/rectilinear-grid.mask.argb32.ref.pngbin0 -> 569 bytes
-rw-r--r--test/reference/rectilinear-grid.mask.rgb24.ref.pngbin0 -> 569 bytes
-rw-r--r--test/reference/rectilinear-miter-limit.mask.argb32.ref.pngbin0 -> 145 bytes
-rw-r--r--test/reference/rectilinear-miter-limit.mask.rgb24.ref.pngbin0 -> 145 bytes
-rw-r--r--test/reference/rectilinear-stroke.mask.argb32.ref.pngbin0 -> 172 bytes
-rw-r--r--test/reference/rectilinear-stroke.mask.rgb24.ref.pngbin0 -> 172 bytes
-rw-r--r--test/reference/reflected-stroke.mask.argb32.ref.pngbin0 -> 5119 bytes
-rw-r--r--test/reference/reflected-stroke.mask.rgb24.ref.pngbin0 -> 5119 bytes
-rw-r--r--test/reference/rel-path.mask.argb32.ref.pngbin0 -> 197 bytes
-rw-r--r--test/reference/rel-path.mask.rgb24.ref.pngbin0 -> 216 bytes
-rw-r--r--test/reference/rgb24-ignore-alpha.mask.argb32.ref.pngbin0 -> 97 bytes
-rw-r--r--test/reference/rgb24-ignore-alpha.mask.rgb24.ref.pngbin0 -> 97 bytes
-rw-r--r--test/reference/rotate-clip-image-surface-paint.mask.argb32.ref.pngbin0 -> 331 bytes
-rw-r--r--test/reference/rotate-clip-image-surface-paint.mask.rgb24.ref.pngbin0 -> 331 bytes
-rw-r--r--test/reference/rotate-image-surface-paint.mask.argb32.ref.pngbin0 -> 220 bytes
-rw-r--r--test/reference/rotate-image-surface-paint.mask.rgb24.ref.pngbin0 -> 220 bytes
-rw-r--r--test/reference/rotated-clip.mask.argb32.ref.pngbin0 -> 3697 bytes
-rw-r--r--test/reference/rotated-clip.mask.rgb24.ref.pngbin0 -> 3697 bytes
-rw-r--r--test/reference/rounded-rectangle-fill.mask.argb32.ref.pngbin0 -> 787 bytes
-rw-r--r--test/reference/rounded-rectangle-fill.mask.rgb24.ref.pngbin0 -> 787 bytes
-rw-r--r--test/reference/rounded-rectangle-stroke.mask.argb32.ref.pngbin0 -> 951 bytes
-rw-r--r--test/reference/rounded-rectangle-stroke.mask.rgb24.ref.pngbin0 -> 951 bytes
-rw-r--r--test/reference/scale-down-source-surface-paint.mask.argb32.ref.pngbin0 -> 96 bytes
-rw-r--r--test/reference/scale-down-source-surface-paint.mask.rgb24.ref.pngbin0 -> 96 bytes
-rw-r--r--test/reference/scale-offset-image.mask.argb32.ref.pngbin0 -> 9748 bytes
-rw-r--r--test/reference/scale-offset-image.mask.rgb24.ref.pngbin0 -> 9748 bytes
-rw-r--r--test/reference/scale-offset-similar.mask.argb32.ref.pngbin0 -> 9748 bytes
-rw-r--r--test/reference/scale-offset-similar.mask.rgb24.ref.pngbin0 -> 9748 bytes
-rw-r--r--test/reference/scale-source-surface-paint.mask.argb32.ref.pngbin0 -> 128 bytes
-rw-r--r--test/reference/scale-source-surface-paint.mask.rgb24.ref.pngbin0 -> 117 bytes
-rw-r--r--test/reference/select-font-face.mask.argb32.ref.pngbin0 -> 2250 bytes
-rw-r--r--test/reference/select-font-face.mask.rgb24.ref.pngbin0 -> 2250 bytes
-rw-r--r--test/reference/select-font-face.traps.argb32.ref.pngbin0 -> 2250 bytes
-rw-r--r--test/reference/select-font-face.traps.rgb24.ref.pngbin0 -> 2250 bytes
-rw-r--r--test/reference/self-copy-overlap.mask.argb32.ref.pngbin0 -> 1140 bytes
-rw-r--r--test/reference/self-copy-overlap.mask.rgb24.ref.pngbin0 -> 213 bytes
-rw-r--r--test/reference/self-copy.mask.argb32.ref.pngbin0 -> 257 bytes
-rw-r--r--test/reference/self-copy.mask.rgb24.ref.pngbin0 -> 257 bytes
-rw-r--r--test/reference/self-intersecting.mask.argb32.ref.pngbin0 -> 168 bytes
-rw-r--r--test/reference/self-intersecting.mask.rgb24.ref.pngbin0 -> 168 bytes
-rw-r--r--test/reference/set-source.mask.argb32.ref.pngbin0 -> 101 bytes
-rw-r--r--test/reference/set-source.mask.rgb24.ref.pngbin0 -> 101 bytes
-rw-r--r--test/reference/shape-general-convex.mask.argb32.ref.pngbin0 -> 2742 bytes
-rw-r--r--test/reference/shape-general-convex.mask.rgb24.ref.pngbin0 -> 2742 bytes
-rw-r--r--test/reference/shape-sierpinski.mask.argb32.ref.pngbin0 -> 63714 bytes
-rw-r--r--test/reference/shape-sierpinski.mask.rgb24.ref.pngbin0 -> 63714 bytes
-rw-r--r--test/reference/show-glyphs-advance.mask.argb32.ref.pngbin0 -> 1394 bytes
-rw-r--r--test/reference/show-glyphs-advance.mask.rgb24.ref.pngbin0 -> 1394 bytes
-rw-r--r--test/reference/show-glyphs-advance.traps.argb32.ref.pngbin0 -> 1394 bytes
-rw-r--r--test/reference/show-glyphs-advance.traps.rgb24.ref.pngbin0 -> 1394 bytes
-rw-r--r--test/reference/show-glyphs-many.mask.argb32.ref.pngbin0 -> 96 bytes
-rw-r--r--test/reference/show-glyphs-many.mask.rgb24.ref.pngbin0 -> 96 bytes
-rw-r--r--test/reference/show-text-current-point.mask.argb32.ref.pngbin0 -> 2151 bytes
-rw-r--r--test/reference/show-text-current-point.mask.rgb24.ref.pngbin0 -> 2151 bytes
-rw-r--r--test/reference/show-text-current-point.traps.argb32.ref.pngbin0 -> 2151 bytes
-rw-r--r--test/reference/show-text-current-point.traps.rgb24.ref.pngbin0 -> 2151 bytes
-rw-r--r--test/reference/skew-extreme.mask.argb32.ref.pngbin0 -> 799 bytes
-rw-r--r--test/reference/skew-extreme.mask.rgb24.ref.pngbin0 -> 799 bytes
-rw-r--r--test/reference/smask-fill.mask.argb32.ref.pngbin0 -> 1197 bytes
-rw-r--r--test/reference/smask-fill.mask.rgb24.ref.pngbin0 -> 1197 bytes
-rw-r--r--test/reference/smask-image-mask.mask.argb32.ref.pngbin0 -> 619 bytes
-rw-r--r--test/reference/smask-image-mask.mask.rgb24.ref.pngbin0 -> 619 bytes
-rw-r--r--test/reference/smask-mask.mask.argb32.ref.pngbin0 -> 2353 bytes
-rw-r--r--test/reference/smask-mask.mask.rgb24.ref.pngbin0 -> 2353 bytes
-rw-r--r--test/reference/smask-paint.mask.argb32.ref.pngbin0 -> 2469 bytes
-rw-r--r--test/reference/smask-paint.mask.rgb24.ref.pngbin0 -> 2469 bytes
-rw-r--r--test/reference/smask-stroke.mask.argb32.ref.pngbin0 -> 1709 bytes
-rw-r--r--test/reference/smask-stroke.mask.rgb24.ref.pngbin0 -> 1709 bytes
-rw-r--r--test/reference/smask-text.mask.argb32.ref.pngbin0 -> 1660 bytes
-rw-r--r--test/reference/smask-text.mask.rgb24.ref.pngbin0 -> 1660 bytes
-rw-r--r--test/reference/smask-text.traps.argb32.ref.pngbin0 -> 1661 bytes
-rw-r--r--test/reference/smask-text.traps.rgb24.ref.pngbin0 -> 1661 bytes
-rw-r--r--test/reference/smask.mask.argb32.ref.pngbin0 -> 3413 bytes
-rw-r--r--test/reference/smask.mask.rgb24.ref.pngbin0 -> 3413 bytes
-rw-r--r--test/reference/smask.traps.argb32.ref.pngbin0 -> 3393 bytes
-rw-r--r--test/reference/smask.traps.rgb24.ref.pngbin0 -> 3393 bytes
-rw-r--r--test/reference/solid-pattern-cache-stress.mask.argb32.ref.pngbin0 -> 87 bytes
-rw-r--r--test/reference/solid-pattern-cache-stress.mask.rgb24.ref.pngbin0 -> 87 bytes
-rw-r--r--test/reference/source-clip-scale.mask.argb32.ref.pngbin0 -> 136 bytes
-rw-r--r--test/reference/source-clip-scale.mask.rgb24.ref.pngbin0 -> 136 bytes
-rw-r--r--test/reference/source-clip.mask.argb32.ref.pngbin0 -> 111 bytes
-rw-r--r--test/reference/source-clip.mask.rgb24.ref.pngbin0 -> 111 bytes
-rw-r--r--test/reference/source-surface-scale-paint.mask.argb32.ref.pngbin0 -> 120 bytes
-rw-r--r--test/reference/source-surface-scale-paint.mask.rgb24.ref.pngbin0 -> 114 bytes
-rw-r--r--test/reference/spline-decomposition.mask.argb32.ref.pngbin0 -> 19520 bytes
-rw-r--r--test/reference/spline-decomposition.mask.rgb24.ref.pngbin0 -> 19520 bytes
-rw-r--r--test/reference/stride-12-image.base.argb32.ref.pngbin0 -> 81121 bytes
-rw-r--r--test/reference/stride-12-image.base.rgb24.ref.pngbin0 -> 81121 bytes
-rw-r--r--test/reference/stride-12-image.mask.argb32.ref.pngbin0 -> 81121 bytes
-rw-r--r--test/reference/stride-12-image.mask.rgb24.ref.pngbin0 -> 81121 bytes
-rw-r--r--test/reference/stride-12-image.traps.argb32.ref.pngbin0 -> 81121 bytes
-rw-r--r--test/reference/stride-12-image.traps.rgb24.ref.pngbin0 -> 81121 bytes
-rw-r--r--test/reference/stroke-ctm-caps.mask.argb32.ref.pngbin0 -> 942 bytes
-rw-r--r--test/reference/stroke-ctm-caps.mask.rgb24.ref.pngbin0 -> 942 bytes
-rw-r--r--test/reference/stroke-image.mask.argb32.ref.pngbin0 -> 1424 bytes
-rw-r--r--test/reference/stroke-image.mask.rgb24.ref.pngbin0 -> 1424 bytes
-rw-r--r--test/reference/stroke-open-box.mask.argb32.ref.pngbin0 -> 148 bytes
-rw-r--r--test/reference/stroke-open-box.mask.rgb24.ref.pngbin0 -> 148 bytes
-rw-r--r--test/reference/stroke-pattern.base.argb32.ref.pngbin0 -> 1487 bytes
-rw-r--r--test/reference/stroke-pattern.base.rgb24.ref.pngbin0 -> 1487 bytes
-rw-r--r--test/reference/stroke-pattern.mask.argb32.ref.pngbin0 -> 1491 bytes
-rw-r--r--test/reference/stroke-pattern.mask.rgb24.ref.pngbin0 -> 1491 bytes
-rw-r--r--test/reference/stroke-pattern.traps.argb32.ref.pngbin0 -> 1487 bytes
-rw-r--r--test/reference/stroke-pattern.traps.rgb24.ref.pngbin0 -> 1487 bytes
-rw-r--r--test/reference/subsurface-image-repeat.mask.argb32.ref.pngbin0 -> 915 bytes
-rw-r--r--test/reference/subsurface-image-repeat.mask.rgb24.ref.pngbin0 -> 915 bytes
-rw-r--r--test/reference/subsurface-modify-child.mask.argb32.ref.pngbin0 -> 197 bytes
-rw-r--r--test/reference/subsurface-modify-child.mask.rgb24.ref.pngbin0 -> 197 bytes
-rw-r--r--test/reference/subsurface-modify-parent.mask.argb32.ref.pngbin0 -> 197 bytes
-rw-r--r--test/reference/subsurface-modify-parent.mask.rgb24.ref.pngbin0 -> 197 bytes
-rw-r--r--test/reference/subsurface-outside-target.mask.argb32.ref.pngbin0 -> 2063 bytes
-rw-r--r--test/reference/subsurface-outside-target.mask.rgb24.ref.pngbin0 -> 1648 bytes
-rw-r--r--test/reference/subsurface-outside-target.traps.argb32.ref.pngbin0 -> 2063 bytes
-rw-r--r--test/reference/subsurface-outside-target.traps.rgb24.ref.pngbin0 -> 1648 bytes
-rw-r--r--test/reference/subsurface-pad.mask.argb32.ref.pngbin0 -> 181 bytes
-rw-r--r--test/reference/subsurface-pad.mask.rgb24.ref.pngbin0 -> 181 bytes
-rw-r--r--test/reference/subsurface-reflect.mask.argb32.ref.pngbin0 -> 210 bytes
-rw-r--r--test/reference/subsurface-reflect.mask.rgb24.ref.pngbin0 -> 210 bytes
-rw-r--r--test/reference/subsurface-repeat.mask.argb32.ref.pngbin0 -> 197 bytes
-rw-r--r--test/reference/subsurface-repeat.mask.rgb24.ref.pngbin0 -> 197 bytes
-rw-r--r--test/reference/subsurface-scale.base.argb32.ref.pngbin0 -> 5921 bytes
-rw-r--r--test/reference/subsurface-scale.base.rgb24.ref.pngbin0 -> 5921 bytes
-rw-r--r--test/reference/subsurface-scale.mask.argb32.ref.pngbin0 -> 5921 bytes
-rw-r--r--test/reference/subsurface-scale.mask.rgb24.ref.pngbin0 -> 5921 bytes
-rw-r--r--test/reference/subsurface-scale.traps.argb32.ref.pngbin0 -> 5921 bytes
-rw-r--r--test/reference/subsurface-scale.traps.rgb24.ref.pngbin0 -> 5921 bytes
-rw-r--r--test/reference/subsurface-similar-repeat.mask.argb32.ref.pngbin0 -> 197 bytes
-rw-r--r--test/reference/subsurface-similar-repeat.mask.rgb24.ref.pngbin0 -> 197 bytes
-rw-r--r--test/reference/subsurface.mask.argb32.ref.pngbin0 -> 1811 bytes
-rw-r--r--test/reference/subsurface.mask.rgb24.ref.pngbin0 -> 1811 bytes
-rw-r--r--test/reference/surface-pattern-big-scale-down.mask.argb32.ref.pngbin0 -> 191 bytes
-rw-r--r--test/reference/surface-pattern-big-scale-down.mask.rgb24.ref.pngbin0 -> 191 bytes
-rw-r--r--test/reference/surface-pattern-operator.mask.argb32.ref.pngbin0 -> 5217 bytes
-rw-r--r--test/reference/surface-pattern-operator.mask.rgb24.ref.pngbin0 -> 1942 bytes
-rw-r--r--test/reference/surface-pattern-scale-down-extend-none.mask.argb32.ref.pngbin0 -> 329 bytes
-rw-r--r--test/reference/surface-pattern-scale-down-extend-none.mask.rgb24.ref.pngbin0 -> 329 bytes
-rw-r--r--test/reference/surface-pattern-scale-down-extend-pad.mask.argb32.ref.pngbin0 -> 320 bytes
-rw-r--r--test/reference/surface-pattern-scale-down-extend-pad.mask.rgb24.ref.pngbin0 -> 320 bytes
-rw-r--r--test/reference/surface-pattern-scale-down-extend-reflect.mask.argb32.ref.pngbin0 -> 328 bytes
-rw-r--r--test/reference/surface-pattern-scale-down-extend-reflect.mask.rgb24.ref.pngbin0 -> 328 bytes
-rw-r--r--test/reference/surface-pattern-scale-down-extend-repeat.mask.argb32.ref.pngbin0 -> 330 bytes
-rw-r--r--test/reference/surface-pattern-scale-down-extend-repeat.mask.rgb24.ref.pngbin0 -> 330 bytes
-rw-r--r--test/reference/surface-pattern-scale-down.mask.argb32.ref.pngbin0 -> 1326 bytes
-rw-r--r--test/reference/surface-pattern-scale-down.mask.rgb24.ref.pngbin0 -> 1326 bytes
-rw-r--r--test/reference/surface-pattern-scale-up.mask.argb32.ref.pngbin0 -> 4020 bytes
-rw-r--r--test/reference/surface-pattern-scale-up.mask.rgb24.ref.pngbin0 -> 4020 bytes
-rw-r--r--test/reference/surface-pattern.mask.argb32.ref.pngbin0 -> 11088 bytes
-rw-r--r--test/reference/surface-pattern.mask.rgb24.ref.pngbin0 -> 11088 bytes
-rw-r--r--test/reference/svg-surface-source.mask.argb32.ref.pngbin0 -> 377 bytes
-rw-r--r--test/reference/svg-surface-source.mask.rgb24.ref.pngbin0 -> 301 bytes
-rw-r--r--test/reference/text-antialias-gray.mask.argb32.ref.pngbin0 -> 966 bytes
-rw-r--r--test/reference/text-antialias-gray.mask.rgb24.ref.pngbin0 -> 966 bytes
-rw-r--r--test/reference/text-antialias-gray.traps.argb32.ref.pngbin0 -> 966 bytes
-rw-r--r--test/reference/text-antialias-gray.traps.rgb24.ref.pngbin0 -> 966 bytes
-rw-r--r--test/reference/text-antialias-none.mask.argb32.ref.pngbin0 -> 265 bytes
-rw-r--r--test/reference/text-antialias-none.mask.rgb24.ref.pngbin0 -> 265 bytes
-rw-r--r--test/reference/text-antialias-none.traps.argb32.ref.pngbin0 -> 265 bytes
-rw-r--r--test/reference/text-antialias-none.traps.rgb24.ref.pngbin0 -> 265 bytes
-rw-r--r--test/reference/text-antialias-subpixel-bgr.base.argb32.ref.pngbin0 -> 917 bytes
-rw-r--r--test/reference/text-antialias-subpixel-bgr.base.rgb24.ref.pngbin0 -> 917 bytes
-rw-r--r--test/reference/text-antialias-subpixel-bgr.mask.argb32.ref.pngbin0 -> 917 bytes
-rw-r--r--test/reference/text-antialias-subpixel-bgr.mask.rgb24.ref.pngbin0 -> 917 bytes
-rw-r--r--test/reference/text-antialias-subpixel-bgr.traps.argb32.ref.pngbin0 -> 1005 bytes
-rw-r--r--test/reference/text-antialias-subpixel-bgr.traps.rgb24.ref.pngbin0 -> 1005 bytes
-rw-r--r--test/reference/text-antialias-subpixel-rgb.base.argb32.ref.pngbin0 -> 917 bytes
-rw-r--r--test/reference/text-antialias-subpixel-rgb.base.rgb24.ref.pngbin0 -> 917 bytes
-rw-r--r--test/reference/text-antialias-subpixel-rgb.mask.argb32.ref.pngbin0 -> 917 bytes
-rw-r--r--test/reference/text-antialias-subpixel-rgb.mask.rgb24.ref.pngbin0 -> 917 bytes
-rw-r--r--test/reference/text-antialias-subpixel-rgb.traps.argb32.ref.pngbin0 -> 1013 bytes
-rw-r--r--test/reference/text-antialias-subpixel-rgb.traps.rgb24.ref.pngbin0 -> 1013 bytes
-rw-r--r--test/reference/text-antialias-subpixel-vbgr.base.argb32.ref.pngbin0 -> 932 bytes
-rw-r--r--test/reference/text-antialias-subpixel-vbgr.base.rgb24.ref.pngbin0 -> 932 bytes
-rw-r--r--test/reference/text-antialias-subpixel-vbgr.mask.argb32.ref.pngbin0 -> 932 bytes
-rw-r--r--test/reference/text-antialias-subpixel-vbgr.mask.rgb24.ref.pngbin0 -> 932 bytes
-rw-r--r--test/reference/text-antialias-subpixel-vbgr.traps.argb32.ref.pngbin0 -> 985 bytes
-rw-r--r--test/reference/text-antialias-subpixel-vbgr.traps.rgb24.ref.pngbin0 -> 985 bytes
-rw-r--r--test/reference/text-antialias-subpixel-vrgb.base.argb32.ref.pngbin0 -> 932 bytes
-rw-r--r--test/reference/text-antialias-subpixel-vrgb.base.rgb24.ref.pngbin0 -> 932 bytes
-rw-r--r--test/reference/text-antialias-subpixel-vrgb.mask.argb32.ref.pngbin0 -> 932 bytes
-rw-r--r--test/reference/text-antialias-subpixel-vrgb.mask.rgb24.ref.pngbin0 -> 932 bytes
-rw-r--r--test/reference/text-antialias-subpixel-vrgb.traps.argb32.ref.pngbin0 -> 1009 bytes
-rw-r--r--test/reference/text-antialias-subpixel-vrgb.traps.rgb24.ref.pngbin0 -> 1009 bytes
-rw-r--r--test/reference/text-antialias-subpixel.base.argb32.ref.pngbin0 -> 917 bytes
-rw-r--r--test/reference/text-antialias-subpixel.base.rgb24.ref.pngbin0 -> 917 bytes
-rw-r--r--test/reference/text-antialias-subpixel.mask.argb32.ref.pngbin0 -> 917 bytes
-rw-r--r--test/reference/text-antialias-subpixel.mask.rgb24.ref.pngbin0 -> 917 bytes
-rw-r--r--test/reference/text-antialias-subpixel.traps.argb32.ref.pngbin0 -> 1013 bytes
-rw-r--r--test/reference/text-antialias-subpixel.traps.rgb24.ref.pngbin0 -> 1013 bytes
-rw-r--r--test/reference/text-glyph-range.mask.argb32.ref.pngbin0 -> 1928 bytes
-rw-r--r--test/reference/text-glyph-range.mask.rgb24.ref.pngbin0 -> 1928 bytes
-rw-r--r--test/reference/text-glyph-range.traps.argb32.ref.pngbin0 -> 1979 bytes
-rw-r--r--test/reference/text-glyph-range.traps.rgb24.ref.pngbin0 -> 1979 bytes
-rw-r--r--test/reference/text-pattern.mask.argb32.ref.pngbin0 -> 3455 bytes
-rw-r--r--test/reference/text-pattern.mask.rgb24.ref.pngbin0 -> 2684 bytes
-rw-r--r--test/reference/text-rotate.mask.argb32.ref.pngbin0 -> 16655 bytes
-rw-r--r--test/reference/text-rotate.mask.rgb24.ref.pngbin0 -> 16655 bytes
-rw-r--r--test/reference/text-rotate.traps.argb32.ref.pngbin0 -> 16597 bytes
-rw-r--r--test/reference/text-rotate.traps.rgb24.ref.pngbin0 -> 16597 bytes
-rw-r--r--test/reference/text-transform.mask.argb32.ref.pngbin0 -> 5579 bytes
-rw-r--r--test/reference/text-transform.mask.rgb24.ref.pngbin0 -> 5579 bytes
-rw-r--r--test/reference/tiger.mask.argb32.ref.pngbin0 -> 93916 bytes
-rw-r--r--test/reference/tiger.mask.rgb24.ref.pngbin0 -> 93916 bytes
-rw-r--r--test/reference/transforms.mask.argb32.ref.pngbin0 -> 348 bytes
-rw-r--r--test/reference/transforms.mask.rgb24.ref.pngbin0 -> 348 bytes
-rw-r--r--test/reference/translate-show-surface.mask.argb32.ref.pngbin0 -> 96 bytes
-rw-r--r--test/reference/translate-show-surface.mask.rgb24.ref.pngbin0 -> 96 bytes
-rw-r--r--test/reference/trap-clip.mask.argb32.ref.pngbin0 -> 6162 bytes
-rw-r--r--test/reference/trap-clip.mask.rgb24.ref.pngbin0 -> 5606 bytes
-rw-r--r--test/reference/twin-antialias-gray.mask.argb32.ref.pngbin0 -> 3990 bytes
-rw-r--r--test/reference/twin-antialias-gray.mask.rgb24.ref.pngbin0 -> 3990 bytes
-rw-r--r--test/reference/twin-antialias-mixed.mask.argb32.ref.pngbin0 -> 2230 bytes
-rw-r--r--test/reference/twin-antialias-mixed.mask.rgb24.ref.pngbin0 -> 2230 bytes
-rw-r--r--test/reference/twin-antialias-none.mask.argb32.ref.pngbin0 -> 690 bytes
-rw-r--r--test/reference/twin-antialias-none.mask.rgb24.ref.pngbin0 -> 690 bytes
-rw-r--r--test/reference/twin-antialias-subpixel.mask.argb32.ref.pngbin0 -> 3990 bytes
-rw-r--r--test/reference/twin-antialias-subpixel.mask.rgb24.ref.pngbin0 -> 3990 bytes
-rw-r--r--test/reference/twin.mask.argb32.ref.pngbin0 -> 3990 bytes
-rw-r--r--test/reference/twin.mask.rgb24.ref.pngbin0 -> 3990 bytes
-rw-r--r--test/reference/unaligned-box.mask.argb32.ref.pngbin0 -> 496 bytes
-rw-r--r--test/reference/unaligned-box.mask.rgb24.ref.pngbin0 -> 496 bytes
-rw-r--r--test/reference/unantialiased-shapes.mask.argb32.ref.pngbin0 -> 3926 bytes
-rw-r--r--test/reference/unantialiased-shapes.mask.rgb24.ref.pngbin0 -> 3926 bytes
-rw-r--r--test/reference/unbounded-operator.mask.argb32.ref.pngbin0 -> 2666 bytes
-rw-r--r--test/reference/unbounded-operator.mask.rgb24.ref.pngbin0 -> 1300 bytes
-rw-r--r--test/reference/unclosed-strokes.mask.argb32.ref.pngbin0 -> 1901 bytes
-rw-r--r--test/reference/unclosed-strokes.mask.rgb24.ref.pngbin0 -> 1901 bytes
-rw-r--r--test/reference/user-font-mask.mask.argb32.ref.pngbin0 -> 5476 bytes
-rw-r--r--test/reference/user-font-mask.mask.rgb24.ref.pngbin0 -> 5476 bytes
-rw-r--r--test/reference/user-font-proxy.mask.argb32.ref.pngbin0 -> 16941 bytes
-rw-r--r--test/reference/user-font-proxy.mask.rgb24.ref.pngbin0 -> 16941 bytes
-rw-r--r--test/reference/user-font-proxy.traps.argb32.ref.pngbin0 -> 16854 bytes
-rw-r--r--test/reference/user-font-proxy.traps.rgb24.ref.pngbin0 -> 16854 bytes
-rw-r--r--test/reference/user-font-rescale.mask.argb32.ref.pngbin0 -> 14883 bytes
-rw-r--r--test/reference/user-font-rescale.mask.rgb24.ref.pngbin0 -> 14883 bytes
-rw-r--r--test/reference/user-font-rescale.traps.argb32.ref.pngbin0 -> 14883 bytes
-rw-r--r--test/reference/user-font-rescale.traps.rgb24.ref.pngbin0 -> 14883 bytes
-rw-r--r--test/reference/user-font.mask.argb32.ref.pngbin0 -> 6478 bytes
-rw-r--r--test/reference/user-font.mask.rgb24.ref.pngbin0 -> 6478 bytes
-rw-r--r--test/reference/white-in-noop.mask.argb32.ref.pngbin0 -> 95 bytes
-rw-r--r--test/reference/white-in-noop.mask.rgb24.ref.pngbin0 -> 95 bytes
-rw-r--r--test/reference/world-map-fill.mask.argb32.ref.pngbin0 -> 57308 bytes
-rw-r--r--test/reference/world-map-fill.mask.rgb24.ref.pngbin0 -> 57308 bytes
-rw-r--r--test/reference/world-map-stroke.mask.argb32.ref.pngbin0 -> 65149 bytes
-rw-r--r--test/reference/world-map-stroke.mask.rgb24.ref.pngbin0 -> 65149 bytes
-rw-r--r--test/reference/world-map.mask.argb32.ref.pngbin0 -> 70474 bytes
-rw-r--r--test/reference/world-map.mask.rgb24.ref.pngbin0 -> 70474 bytes
-rw-r--r--test/reference/xcb-huge-image-shm.mask.argb32.ref.pngbin0 -> 97 bytes
-rw-r--r--test/reference/xcb-huge-image-shm.mask.rgb24.ref.pngbin0 -> 97 bytes
-rw-r--r--test/reference/xcb-snapshot-assert.mask.argb32.ref.pngbin0 -> 97 bytes
-rw-r--r--test/reference/xcb-snapshot-assert.mask.rgb24.ref.pngbin0 -> 97 bytes
-rw-r--r--test/reference/xcb-stress-cache.mask.argb32.ref.pngbin0 -> 97 bytes
-rw-r--r--test/reference/xcb-stress-cache.mask.rgb24.ref.pngbin0 -> 97 bytes
-rw-r--r--test/reference/xcb-surface-source.mask.argb32.ref.pngbin0 -> 377 bytes
-rw-r--r--test/reference/xcb-surface-source.mask.rgb24.ref.pngbin0 -> 301 bytes
-rw-r--r--test/reference/xcomposite-projection.mask.argb32.ref.pngbin0 -> 1109 bytes
-rw-r--r--test/reference/xcomposite-projection.mask.rgb24.ref.pngbin0 -> 1109 bytes
-rw-r--r--test/reference/xlib-expose-event.mask.argb32.ref.pngbin0 -> 40717 bytes
-rw-r--r--test/reference/xlib-expose-event.mask.rgb24.ref.pngbin0 -> 40717 bytes
-rw-r--r--test/reference/xlib-surface-source.mask.argb32.ref.pngbin0 -> 377 bytes
-rw-r--r--test/reference/xlib-surface-source.mask.rgb24.ref.pngbin0 -> 301 bytes
-rw-r--r--test/reference/zero-alpha.mask.argb32.ref.pngbin0 -> 91 bytes
-rw-r--r--test/reference/zero-alpha.mask.rgb24.ref.pngbin0 -> 91 bytes
-rw-r--r--test/reference/zero-mask.mask.argb32.ref.pngbin0 -> 402 bytes
-rw-r--r--test/reference/zero-mask.mask.rgb24.ref.pngbin0 -> 382 bytes
948 files changed, 0 insertions, 0 deletions
diff --git a/test/reference/a1-bug.mask.argb32.ref.png b/test/reference/a1-bug.mask.argb32.ref.png
new file mode 100644
index 00000000..f9ae8a87
--- /dev/null
+++ b/test/reference/a1-bug.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/a1-bug.mask.rgb24.ref.png b/test/reference/a1-bug.mask.rgb24.ref.png
new file mode 100644
index 00000000..f9ae8a87
--- /dev/null
+++ b/test/reference/a1-bug.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/a1-clip-fill-equal.mask.argb32.ref.png b/test/reference/a1-clip-fill-equal.mask.argb32.ref.png
new file mode 100644
index 00000000..384ba4a0
--- /dev/null
+++ b/test/reference/a1-clip-fill-equal.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/a1-clip-fill-equal.mask.rgb24.ref.png b/test/reference/a1-clip-fill-equal.mask.rgb24.ref.png
new file mode 100644
index 00000000..384ba4a0
--- /dev/null
+++ b/test/reference/a1-clip-fill-equal.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/a1-clip-fill-rule.mask.argb32.ref.png b/test/reference/a1-clip-fill-rule.mask.argb32.ref.png
new file mode 100644
index 00000000..c3ba9dd5
--- /dev/null
+++ b/test/reference/a1-clip-fill-rule.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/a1-clip-fill-rule.mask.rgb24.ref.png b/test/reference/a1-clip-fill-rule.mask.rgb24.ref.png
new file mode 100644
index 00000000..6fe9346b
--- /dev/null
+++ b/test/reference/a1-clip-fill-rule.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/a1-clip-fill.mask.argb32.ref.png b/test/reference/a1-clip-fill.mask.argb32.ref.png
new file mode 100644
index 00000000..384ba4a0
--- /dev/null
+++ b/test/reference/a1-clip-fill.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/a1-clip-fill.mask.rgb24.ref.png b/test/reference/a1-clip-fill.mask.rgb24.ref.png
new file mode 100644
index 00000000..384ba4a0
--- /dev/null
+++ b/test/reference/a1-clip-fill.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/a1-clip-paint.mask.argb32.ref.png b/test/reference/a1-clip-paint.mask.argb32.ref.png
new file mode 100644
index 00000000..384ba4a0
--- /dev/null
+++ b/test/reference/a1-clip-paint.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/a1-clip-paint.mask.rgb24.ref.png b/test/reference/a1-clip-paint.mask.rgb24.ref.png
new file mode 100644
index 00000000..384ba4a0
--- /dev/null
+++ b/test/reference/a1-clip-paint.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/a1-clip-stroke.mask.argb32.ref.png b/test/reference/a1-clip-stroke.mask.argb32.ref.png
new file mode 100644
index 00000000..384ba4a0
--- /dev/null
+++ b/test/reference/a1-clip-stroke.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/a1-clip-stroke.mask.rgb24.ref.png b/test/reference/a1-clip-stroke.mask.rgb24.ref.png
new file mode 100644
index 00000000..384ba4a0
--- /dev/null
+++ b/test/reference/a1-clip-stroke.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/a1-fill.base.argb32.ref.png b/test/reference/a1-fill.base.argb32.ref.png
new file mode 100644
index 00000000..e40202bf
--- /dev/null
+++ b/test/reference/a1-fill.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/a1-fill.base.rgb24.ref.png b/test/reference/a1-fill.base.rgb24.ref.png
new file mode 100644
index 00000000..e40202bf
--- /dev/null
+++ b/test/reference/a1-fill.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/a1-fill.mask.argb32.ref.png b/test/reference/a1-fill.mask.argb32.ref.png
new file mode 100644
index 00000000..e40202bf
--- /dev/null
+++ b/test/reference/a1-fill.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/a1-fill.mask.rgb24.ref.png b/test/reference/a1-fill.mask.rgb24.ref.png
new file mode 100644
index 00000000..e40202bf
--- /dev/null
+++ b/test/reference/a1-fill.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/a1-fill.traps.argb32.ref.png b/test/reference/a1-fill.traps.argb32.ref.png
new file mode 100644
index 00000000..e40202bf
--- /dev/null
+++ b/test/reference/a1-fill.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/a1-fill.traps.rgb24.ref.png b/test/reference/a1-fill.traps.rgb24.ref.png
new file mode 100644
index 00000000..e40202bf
--- /dev/null
+++ b/test/reference/a1-fill.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/a1-image-sample.mask.argb32.ref.png b/test/reference/a1-image-sample.mask.argb32.ref.png
new file mode 100644
index 00000000..b8fd4570
--- /dev/null
+++ b/test/reference/a1-image-sample.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/a1-image-sample.mask.rgb24.ref.png b/test/reference/a1-image-sample.mask.rgb24.ref.png
new file mode 100644
index 00000000..b8fd4570
--- /dev/null
+++ b/test/reference/a1-image-sample.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/a1-line-width.mask.argb32.ref.png b/test/reference/a1-line-width.mask.argb32.ref.png
new file mode 100644
index 00000000..35d9cad6
--- /dev/null
+++ b/test/reference/a1-line-width.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/a1-line-width.mask.rgb24.ref.png b/test/reference/a1-line-width.mask.rgb24.ref.png
new file mode 100644
index 00000000..35d9cad6
--- /dev/null
+++ b/test/reference/a1-line-width.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/a1-mask-sample.mask.argb32.ref.png b/test/reference/a1-mask-sample.mask.argb32.ref.png
new file mode 100644
index 00000000..b8fd4570
--- /dev/null
+++ b/test/reference/a1-mask-sample.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/a1-mask-sample.mask.rgb24.ref.png b/test/reference/a1-mask-sample.mask.rgb24.ref.png
new file mode 100644
index 00000000..b8fd4570
--- /dev/null
+++ b/test/reference/a1-mask-sample.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/a1-mask.mask.argb32.ref.png b/test/reference/a1-mask.mask.argb32.ref.png
new file mode 100644
index 00000000..864fc103
--- /dev/null
+++ b/test/reference/a1-mask.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/a1-mask.mask.rgb24.ref.png b/test/reference/a1-mask.mask.rgb24.ref.png
new file mode 100644
index 00000000..864fc103
--- /dev/null
+++ b/test/reference/a1-mask.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/a1-rasterisation-rectangles.mask.argb32.ref.png b/test/reference/a1-rasterisation-rectangles.mask.argb32.ref.png
new file mode 100644
index 00000000..784cf873
--- /dev/null
+++ b/test/reference/a1-rasterisation-rectangles.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/a1-rasterisation-rectangles.mask.rgb24.ref.png b/test/reference/a1-rasterisation-rectangles.mask.rgb24.ref.png
new file mode 100644
index 00000000..784cf873
--- /dev/null
+++ b/test/reference/a1-rasterisation-rectangles.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/a1-rasterisation-triangles.mask.argb32.ref.png b/test/reference/a1-rasterisation-triangles.mask.argb32.ref.png
new file mode 100644
index 00000000..784cf873
--- /dev/null
+++ b/test/reference/a1-rasterisation-triangles.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/a1-rasterisation-triangles.mask.rgb24.ref.png b/test/reference/a1-rasterisation-triangles.mask.rgb24.ref.png
new file mode 100644
index 00000000..784cf873
--- /dev/null
+++ b/test/reference/a1-rasterisation-triangles.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/a1-rectilinear-grid.mask.argb32.ref.png b/test/reference/a1-rectilinear-grid.mask.argb32.ref.png
new file mode 100644
index 00000000..2dfb85e1
--- /dev/null
+++ b/test/reference/a1-rectilinear-grid.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/a1-rectilinear-grid.mask.rgb24.ref.png b/test/reference/a1-rectilinear-grid.mask.rgb24.ref.png
new file mode 100644
index 00000000..2dfb85e1
--- /dev/null
+++ b/test/reference/a1-rectilinear-grid.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/a1-sample.mask.argb32.ref.png b/test/reference/a1-sample.mask.argb32.ref.png
new file mode 100644
index 00000000..4c6131ce
--- /dev/null
+++ b/test/reference/a1-sample.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/a1-sample.mask.rgb24.ref.png b/test/reference/a1-sample.mask.rgb24.ref.png
new file mode 100644
index 00000000..4c6131ce
--- /dev/null
+++ b/test/reference/a1-sample.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/a1-tiger.mask.argb32.ref.png b/test/reference/a1-tiger.mask.argb32.ref.png
new file mode 100644
index 00000000..9a62af76
--- /dev/null
+++ b/test/reference/a1-tiger.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/a1-tiger.mask.rgb24.ref.png b/test/reference/a1-tiger.mask.rgb24.ref.png
new file mode 100644
index 00000000..9a62af76
--- /dev/null
+++ b/test/reference/a1-tiger.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/a1-traps-sample.mask.argb32.ref.png b/test/reference/a1-traps-sample.mask.argb32.ref.png
new file mode 100644
index 00000000..384ba4a0
--- /dev/null
+++ b/test/reference/a1-traps-sample.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/a1-traps-sample.mask.rgb24.ref.png b/test/reference/a1-traps-sample.mask.rgb24.ref.png
new file mode 100644
index 00000000..384ba4a0
--- /dev/null
+++ b/test/reference/a1-traps-sample.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/a8-clear.mask.argb32.ref.png b/test/reference/a8-clear.mask.argb32.ref.png
new file mode 100644
index 00000000..98a624eb
--- /dev/null
+++ b/test/reference/a8-clear.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/a8-clear.mask.rgb24.ref.png b/test/reference/a8-clear.mask.rgb24.ref.png
new file mode 100644
index 00000000..98a624eb
--- /dev/null
+++ b/test/reference/a8-clear.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/a8-mask.mask.argb32.ref.png b/test/reference/a8-mask.mask.argb32.ref.png
new file mode 100644
index 00000000..e0503d93
--- /dev/null
+++ b/test/reference/a8-mask.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/a8-mask.mask.rgb24.ref.png b/test/reference/a8-mask.mask.rgb24.ref.png
new file mode 100644
index 00000000..e0503d93
--- /dev/null
+++ b/test/reference/a8-mask.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/aliasing.mask.argb32.ref.png b/test/reference/aliasing.mask.argb32.ref.png
new file mode 100644
index 00000000..c11eb67d
--- /dev/null
+++ b/test/reference/aliasing.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/aliasing.mask.rgb24.ref.png b/test/reference/aliasing.mask.rgb24.ref.png
new file mode 100644
index 00000000..c11eb67d
--- /dev/null
+++ b/test/reference/aliasing.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/alpha-similar.mask.argb32.ref.png b/test/reference/alpha-similar.mask.argb32.ref.png
new file mode 100644
index 00000000..9e1bfaac
--- /dev/null
+++ b/test/reference/alpha-similar.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/alpha-similar.mask.rgb24.ref.png b/test/reference/alpha-similar.mask.rgb24.ref.png
new file mode 100644
index 00000000..a1f5280a
--- /dev/null
+++ b/test/reference/alpha-similar.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/api-special-cases.mask.argb32.ref.png b/test/reference/api-special-cases.mask.argb32.ref.png
new file mode 100644
index 00000000..56b88a93
--- /dev/null
+++ b/test/reference/api-special-cases.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/api-special-cases.mask.rgb24.ref.png b/test/reference/api-special-cases.mask.rgb24.ref.png
new file mode 100644
index 00000000..56b88a93
--- /dev/null
+++ b/test/reference/api-special-cases.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/arc-direction.base.argb32.ref.png b/test/reference/arc-direction.base.argb32.ref.png
new file mode 100644
index 00000000..2790a2b7
--- /dev/null
+++ b/test/reference/arc-direction.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/arc-direction.base.rgb24.ref.png b/test/reference/arc-direction.base.rgb24.ref.png
new file mode 100644
index 00000000..2790a2b7
--- /dev/null
+++ b/test/reference/arc-direction.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/arc-direction.mask.argb32.ref.png b/test/reference/arc-direction.mask.argb32.ref.png
new file mode 100644
index 00000000..280c09b6
--- /dev/null
+++ b/test/reference/arc-direction.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/arc-direction.mask.rgb24.ref.png b/test/reference/arc-direction.mask.rgb24.ref.png
new file mode 100644
index 00000000..280c09b6
--- /dev/null
+++ b/test/reference/arc-direction.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/arc-direction.traps.argb32.ref.png b/test/reference/arc-direction.traps.argb32.ref.png
new file mode 100644
index 00000000..280c09b6
--- /dev/null
+++ b/test/reference/arc-direction.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/arc-direction.traps.rgb24.ref.png b/test/reference/arc-direction.traps.rgb24.ref.png
new file mode 100644
index 00000000..280c09b6
--- /dev/null
+++ b/test/reference/arc-direction.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/arc-infinite-loop.mask.argb32.ref.png b/test/reference/arc-infinite-loop.mask.argb32.ref.png
new file mode 100644
index 00000000..82d645f3
--- /dev/null
+++ b/test/reference/arc-infinite-loop.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/arc-infinite-loop.mask.rgb24.ref.png b/test/reference/arc-infinite-loop.mask.rgb24.ref.png
new file mode 100644
index 00000000..82d645f3
--- /dev/null
+++ b/test/reference/arc-infinite-loop.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/arc-looping-dash.mask.argb32.ref.png b/test/reference/arc-looping-dash.mask.argb32.ref.png
new file mode 100644
index 00000000..516e66ce
--- /dev/null
+++ b/test/reference/arc-looping-dash.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/arc-looping-dash.mask.rgb24.ref.png b/test/reference/arc-looping-dash.mask.rgb24.ref.png
new file mode 100644
index 00000000..516e66ce
--- /dev/null
+++ b/test/reference/arc-looping-dash.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/big-empty-triangle.mask.argb32.ref.png b/test/reference/big-empty-triangle.mask.argb32.ref.png
new file mode 100644
index 00000000..a88d3b6d
--- /dev/null
+++ b/test/reference/big-empty-triangle.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/big-empty-triangle.mask.rgb24.ref.png b/test/reference/big-empty-triangle.mask.rgb24.ref.png
new file mode 100644
index 00000000..6c2ca32f
--- /dev/null
+++ b/test/reference/big-empty-triangle.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/big-line.mask.argb32.ref.png b/test/reference/big-line.mask.argb32.ref.png
new file mode 100644
index 00000000..1bcde8f5
--- /dev/null
+++ b/test/reference/big-line.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/big-line.mask.rgb24.ref.png b/test/reference/big-line.mask.rgb24.ref.png
new file mode 100644
index 00000000..1bcde8f5
--- /dev/null
+++ b/test/reference/big-line.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/big-little-box.mask.argb32.ref.png b/test/reference/big-little-box.mask.argb32.ref.png
new file mode 100644
index 00000000..928c5e69
--- /dev/null
+++ b/test/reference/big-little-box.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/big-little-box.mask.rgb24.ref.png b/test/reference/big-little-box.mask.rgb24.ref.png
new file mode 100644
index 00000000..c069d6fd
--- /dev/null
+++ b/test/reference/big-little-box.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/big-little-triangle.mask.argb32.ref.png b/test/reference/big-little-triangle.mask.argb32.ref.png
new file mode 100644
index 00000000..1c2522fa
--- /dev/null
+++ b/test/reference/big-little-triangle.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/big-little-triangle.mask.rgb24.ref.png b/test/reference/big-little-triangle.mask.rgb24.ref.png
new file mode 100644
index 00000000..24fc4725
--- /dev/null
+++ b/test/reference/big-little-triangle.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/big-trap.mask.argb32.ref.png b/test/reference/big-trap.mask.argb32.ref.png
new file mode 100644
index 00000000..c0975c9b
--- /dev/null
+++ b/test/reference/big-trap.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/big-trap.mask.rgb24.ref.png b/test/reference/big-trap.mask.rgb24.ref.png
new file mode 100644
index 00000000..c0975c9b
--- /dev/null
+++ b/test/reference/big-trap.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/bilevel-image.mask.argb32.ref.png b/test/reference/bilevel-image.mask.argb32.ref.png
new file mode 100644
index 00000000..3fb25c2e
--- /dev/null
+++ b/test/reference/bilevel-image.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/bilevel-image.mask.rgb24.ref.png b/test/reference/bilevel-image.mask.rgb24.ref.png
new file mode 100644
index 00000000..3fb25c2e
--- /dev/null
+++ b/test/reference/bilevel-image.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/bitmap-font.mask.argb32.ref.png b/test/reference/bitmap-font.mask.argb32.ref.png
new file mode 100644
index 00000000..bc2bc52e
--- /dev/null
+++ b/test/reference/bitmap-font.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/bitmap-font.mask.rgb24.ref.png b/test/reference/bitmap-font.mask.rgb24.ref.png
new file mode 100644
index 00000000..285d7428
--- /dev/null
+++ b/test/reference/bitmap-font.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/bug-40410.mask.argb32.ref.png b/test/reference/bug-40410.mask.argb32.ref.png
new file mode 100644
index 00000000..ae4420a7
--- /dev/null
+++ b/test/reference/bug-40410.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/bug-40410.mask.rgb24.ref.png b/test/reference/bug-40410.mask.rgb24.ref.png
new file mode 100644
index 00000000..ae4420a7
--- /dev/null
+++ b/test/reference/bug-40410.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/bug-bo-rectangular.mask.argb32.ref.png b/test/reference/bug-bo-rectangular.mask.argb32.ref.png
new file mode 100644
index 00000000..ffa4edef
--- /dev/null
+++ b/test/reference/bug-bo-rectangular.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/bug-bo-rectangular.mask.rgb24.ref.png b/test/reference/bug-bo-rectangular.mask.rgb24.ref.png
new file mode 100644
index 00000000..ffa4edef
--- /dev/null
+++ b/test/reference/bug-bo-rectangular.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/bug-bo-ricotz.base.argb32.ref.png b/test/reference/bug-bo-ricotz.base.argb32.ref.png
new file mode 100644
index 00000000..ff7a552f
--- /dev/null
+++ b/test/reference/bug-bo-ricotz.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/bug-bo-ricotz.base.rgb24.ref.png b/test/reference/bug-bo-ricotz.base.rgb24.ref.png
new file mode 100644
index 00000000..ff7a552f
--- /dev/null
+++ b/test/reference/bug-bo-ricotz.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/bug-bo-ricotz.mask.argb32.ref.png b/test/reference/bug-bo-ricotz.mask.argb32.ref.png
new file mode 100644
index 00000000..0e52b245
--- /dev/null
+++ b/test/reference/bug-bo-ricotz.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/bug-bo-ricotz.mask.rgb24.ref.png b/test/reference/bug-bo-ricotz.mask.rgb24.ref.png
new file mode 100644
index 00000000..0e52b245
--- /dev/null
+++ b/test/reference/bug-bo-ricotz.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/bug-bo-ricotz.traps.argb32.ref.png b/test/reference/bug-bo-ricotz.traps.argb32.ref.png
new file mode 100644
index 00000000..0e52b245
--- /dev/null
+++ b/test/reference/bug-bo-ricotz.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/bug-bo-ricotz.traps.rgb24.ref.png b/test/reference/bug-bo-ricotz.traps.rgb24.ref.png
new file mode 100644
index 00000000..0e52b245
--- /dev/null
+++ b/test/reference/bug-bo-ricotz.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/bug-extents.mask.argb32.ref.png b/test/reference/bug-extents.mask.argb32.ref.png
new file mode 100644
index 00000000..2c6875e4
--- /dev/null
+++ b/test/reference/bug-extents.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/bug-extents.mask.rgb24.ref.png b/test/reference/bug-extents.mask.rgb24.ref.png
new file mode 100644
index 00000000..2c6875e4
--- /dev/null
+++ b/test/reference/bug-extents.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/bug-seams.mask.argb32.ref.png b/test/reference/bug-seams.mask.argb32.ref.png
new file mode 100644
index 00000000..99098db8
--- /dev/null
+++ b/test/reference/bug-seams.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/bug-seams.mask.rgb24.ref.png b/test/reference/bug-seams.mask.rgb24.ref.png
new file mode 100644
index 00000000..99098db8
--- /dev/null
+++ b/test/reference/bug-seams.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/caps-joins-alpha.mask.argb32.ref.png b/test/reference/caps-joins-alpha.mask.argb32.ref.png
new file mode 100644
index 00000000..964a70f3
--- /dev/null
+++ b/test/reference/caps-joins-alpha.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/caps-joins-alpha.mask.rgb24.ref.png b/test/reference/caps-joins-alpha.mask.rgb24.ref.png
new file mode 100644
index 00000000..964a70f3
--- /dev/null
+++ b/test/reference/caps-joins-alpha.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/caps-joins-curve.mask.argb32.ref.png b/test/reference/caps-joins-curve.mask.argb32.ref.png
new file mode 100644
index 00000000..35959002
--- /dev/null
+++ b/test/reference/caps-joins-curve.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/caps-joins-curve.mask.rgb24.ref.png b/test/reference/caps-joins-curve.mask.rgb24.ref.png
new file mode 100644
index 00000000..35959002
--- /dev/null
+++ b/test/reference/caps-joins-curve.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/caps-joins.mask.argb32.ref.png b/test/reference/caps-joins.mask.argb32.ref.png
new file mode 100644
index 00000000..4983c023
--- /dev/null
+++ b/test/reference/caps-joins.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/caps-joins.mask.rgb24.ref.png b/test/reference/caps-joins.mask.rgb24.ref.png
new file mode 100644
index 00000000..4983c023
--- /dev/null
+++ b/test/reference/caps-joins.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/caps-sub-paths.mask.argb32.ref.png b/test/reference/caps-sub-paths.mask.argb32.ref.png
new file mode 100644
index 00000000..74433895
--- /dev/null
+++ b/test/reference/caps-sub-paths.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/caps-sub-paths.mask.rgb24.ref.png b/test/reference/caps-sub-paths.mask.rgb24.ref.png
new file mode 100644
index 00000000..74433895
--- /dev/null
+++ b/test/reference/caps-sub-paths.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/caps-tails-curve.mask.argb32.ref.png b/test/reference/caps-tails-curve.mask.argb32.ref.png
new file mode 100644
index 00000000..b0f477df
--- /dev/null
+++ b/test/reference/caps-tails-curve.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/caps-tails-curve.mask.rgb24.ref.png b/test/reference/caps-tails-curve.mask.rgb24.ref.png
new file mode 100644
index 00000000..b0f477df
--- /dev/null
+++ b/test/reference/caps-tails-curve.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/caps.mask.argb32.ref.png b/test/reference/caps.mask.argb32.ref.png
new file mode 100644
index 00000000..bf784fd4
--- /dev/null
+++ b/test/reference/caps.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/caps.mask.rgb24.ref.png b/test/reference/caps.mask.rgb24.ref.png
new file mode 100644
index 00000000..bf784fd4
--- /dev/null
+++ b/test/reference/caps.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/checkerboard.mask.argb32.ref.png b/test/reference/checkerboard.mask.argb32.ref.png
new file mode 100644
index 00000000..1444bc41
--- /dev/null
+++ b/test/reference/checkerboard.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/checkerboard.mask.rgb24.ref.png b/test/reference/checkerboard.mask.rgb24.ref.png
new file mode 100644
index 00000000..1444bc41
--- /dev/null
+++ b/test/reference/checkerboard.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clear-source.mask.argb32.ref.png b/test/reference/clear-source.mask.argb32.ref.png
new file mode 100644
index 00000000..352bf450
--- /dev/null
+++ b/test/reference/clear-source.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clear-source.mask.rgb24.ref.png b/test/reference/clear-source.mask.rgb24.ref.png
new file mode 100644
index 00000000..352bf450
--- /dev/null
+++ b/test/reference/clear-source.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clear.mask.argb32.ref.png b/test/reference/clear.mask.argb32.ref.png
new file mode 100644
index 00000000..102ac3dd
--- /dev/null
+++ b/test/reference/clear.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clear.mask.rgb24.ref.png b/test/reference/clear.mask.rgb24.ref.png
new file mode 100644
index 00000000..3267affb
--- /dev/null
+++ b/test/reference/clear.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-all.mask.argb32.ref.png b/test/reference/clip-all.mask.argb32.ref.png
new file mode 100644
index 00000000..1ed070ca
--- /dev/null
+++ b/test/reference/clip-all.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-all.mask.rgb24.ref.png b/test/reference/clip-all.mask.rgb24.ref.png
new file mode 100644
index 00000000..1ed070ca
--- /dev/null
+++ b/test/reference/clip-all.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-complex-shape-eo-aa.mask.argb32.ref.png b/test/reference/clip-complex-shape-eo-aa.mask.argb32.ref.png
new file mode 100644
index 00000000..bafbb8ad
--- /dev/null
+++ b/test/reference/clip-complex-shape-eo-aa.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-complex-shape-eo-aa.mask.rgb24.ref.png b/test/reference/clip-complex-shape-eo-aa.mask.rgb24.ref.png
new file mode 100644
index 00000000..bafbb8ad
--- /dev/null
+++ b/test/reference/clip-complex-shape-eo-aa.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-complex-shape-eo-mono.mask.argb32.ref.png b/test/reference/clip-complex-shape-eo-mono.mask.argb32.ref.png
new file mode 100644
index 00000000..bafbb8ad
--- /dev/null
+++ b/test/reference/clip-complex-shape-eo-mono.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-complex-shape-eo-mono.mask.rgb24.ref.png b/test/reference/clip-complex-shape-eo-mono.mask.rgb24.ref.png
new file mode 100644
index 00000000..bafbb8ad
--- /dev/null
+++ b/test/reference/clip-complex-shape-eo-mono.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-contexts.mask.argb32.ref.png b/test/reference/clip-contexts.mask.argb32.ref.png
new file mode 100644
index 00000000..0d575a62
--- /dev/null
+++ b/test/reference/clip-contexts.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-contexts.mask.rgb24.ref.png b/test/reference/clip-contexts.mask.rgb24.ref.png
new file mode 100644
index 00000000..0d575a62
--- /dev/null
+++ b/test/reference/clip-contexts.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-device-offset.mask.argb32.ref.png b/test/reference/clip-device-offset.mask.argb32.ref.png
new file mode 100644
index 00000000..06be9851
--- /dev/null
+++ b/test/reference/clip-device-offset.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-device-offset.mask.rgb24.ref.png b/test/reference/clip-device-offset.mask.rgb24.ref.png
new file mode 100644
index 00000000..24193845
--- /dev/null
+++ b/test/reference/clip-device-offset.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-disjoint-hatching.mask.argb32.ref.png b/test/reference/clip-disjoint-hatching.mask.argb32.ref.png
new file mode 100644
index 00000000..a29f04ac
--- /dev/null
+++ b/test/reference/clip-disjoint-hatching.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-disjoint-hatching.mask.rgb24.ref.png b/test/reference/clip-disjoint-hatching.mask.rgb24.ref.png
new file mode 100644
index 00000000..a29f04ac
--- /dev/null
+++ b/test/reference/clip-disjoint-hatching.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-disjoint.mask.argb32.ref.png b/test/reference/clip-disjoint.mask.argb32.ref.png
new file mode 100644
index 00000000..4e18b7c7
--- /dev/null
+++ b/test/reference/clip-disjoint.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-disjoint.mask.rgb24.ref.png b/test/reference/clip-disjoint.mask.rgb24.ref.png
new file mode 100644
index 00000000..4e18b7c7
--- /dev/null
+++ b/test/reference/clip-disjoint.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-empty-group.mask.argb32.ref.png b/test/reference/clip-empty-group.mask.argb32.ref.png
new file mode 100644
index 00000000..a59ca472
--- /dev/null
+++ b/test/reference/clip-empty-group.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-empty-group.mask.rgb24.ref.png b/test/reference/clip-empty-group.mask.rgb24.ref.png
new file mode 100644
index 00000000..a59ca472
--- /dev/null
+++ b/test/reference/clip-empty-group.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-empty-save.mask.argb32.ref.png b/test/reference/clip-empty-save.mask.argb32.ref.png
new file mode 100644
index 00000000..1ed070ca
--- /dev/null
+++ b/test/reference/clip-empty-save.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-empty-save.mask.rgb24.ref.png b/test/reference/clip-empty-save.mask.rgb24.ref.png
new file mode 100644
index 00000000..1ed070ca
--- /dev/null
+++ b/test/reference/clip-empty-save.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-empty.mask.argb32.ref.png b/test/reference/clip-empty.mask.argb32.ref.png
new file mode 100644
index 00000000..1ed070ca
--- /dev/null
+++ b/test/reference/clip-empty.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-empty.mask.rgb24.ref.png b/test/reference/clip-empty.mask.rgb24.ref.png
new file mode 100644
index 00000000..1ed070ca
--- /dev/null
+++ b/test/reference/clip-empty.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-fill-eo-unbounded.mask.argb32.ref.png b/test/reference/clip-fill-eo-unbounded.mask.argb32.ref.png
new file mode 100644
index 00000000..2340bdf1
--- /dev/null
+++ b/test/reference/clip-fill-eo-unbounded.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-fill-eo-unbounded.mask.rgb24.ref.png b/test/reference/clip-fill-eo-unbounded.mask.rgb24.ref.png
new file mode 100644
index 00000000..299bd72a
--- /dev/null
+++ b/test/reference/clip-fill-eo-unbounded.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-fill-no-op.mask.argb32.ref.png b/test/reference/clip-fill-no-op.mask.argb32.ref.png
new file mode 100644
index 00000000..2256461a
--- /dev/null
+++ b/test/reference/clip-fill-no-op.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-fill-no-op.mask.rgb24.ref.png b/test/reference/clip-fill-no-op.mask.rgb24.ref.png
new file mode 100644
index 00000000..2256461a
--- /dev/null
+++ b/test/reference/clip-fill-no-op.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-fill-nz-unbounded.mask.argb32.ref.png b/test/reference/clip-fill-nz-unbounded.mask.argb32.ref.png
new file mode 100644
index 00000000..05b26282
--- /dev/null
+++ b/test/reference/clip-fill-nz-unbounded.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-fill-nz-unbounded.mask.rgb24.ref.png b/test/reference/clip-fill-nz-unbounded.mask.rgb24.ref.png
new file mode 100644
index 00000000..9ce760b1
--- /dev/null
+++ b/test/reference/clip-fill-nz-unbounded.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-fill-rule-pixel-aligned.mask.argb32.ref.png b/test/reference/clip-fill-rule-pixel-aligned.mask.argb32.ref.png
new file mode 100644
index 00000000..9b82c4b5
--- /dev/null
+++ b/test/reference/clip-fill-rule-pixel-aligned.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-fill-rule-pixel-aligned.mask.rgb24.ref.png b/test/reference/clip-fill-rule-pixel-aligned.mask.rgb24.ref.png
new file mode 100644
index 00000000..0b4f0688
--- /dev/null
+++ b/test/reference/clip-fill-rule-pixel-aligned.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-fill-rule.mask.argb32.ref.png b/test/reference/clip-fill-rule.mask.argb32.ref.png
new file mode 100644
index 00000000..cb23ea61
--- /dev/null
+++ b/test/reference/clip-fill-rule.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-fill-rule.mask.rgb24.ref.png b/test/reference/clip-fill-rule.mask.rgb24.ref.png
new file mode 100644
index 00000000..5265ddea
--- /dev/null
+++ b/test/reference/clip-fill-rule.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-fill.mask.argb32.ref.png b/test/reference/clip-fill.mask.argb32.ref.png
new file mode 100644
index 00000000..c3f27003
--- /dev/null
+++ b/test/reference/clip-fill.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-fill.mask.rgb24.ref.png b/test/reference/clip-fill.mask.rgb24.ref.png
new file mode 100644
index 00000000..c3f27003
--- /dev/null
+++ b/test/reference/clip-fill.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-group-shapes-aligned-rectangles.mask.argb32.ref.png b/test/reference/clip-group-shapes-aligned-rectangles.mask.argb32.ref.png
new file mode 100644
index 00000000..cba75078
--- /dev/null
+++ b/test/reference/clip-group-shapes-aligned-rectangles.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-group-shapes-aligned-rectangles.mask.rgb24.ref.png b/test/reference/clip-group-shapes-aligned-rectangles.mask.rgb24.ref.png
new file mode 100644
index 00000000..cba75078
--- /dev/null
+++ b/test/reference/clip-group-shapes-aligned-rectangles.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-group-shapes-circles.mask.argb32.ref.png b/test/reference/clip-group-shapes-circles.mask.argb32.ref.png
new file mode 100644
index 00000000..7dd6a835
--- /dev/null
+++ b/test/reference/clip-group-shapes-circles.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-group-shapes-circles.mask.rgb24.ref.png b/test/reference/clip-group-shapes-circles.mask.rgb24.ref.png
new file mode 100644
index 00000000..7dd6a835
--- /dev/null
+++ b/test/reference/clip-group-shapes-circles.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-group-shapes-unaligned-rectangles.mask.argb32.ref.png b/test/reference/clip-group-shapes-unaligned-rectangles.mask.argb32.ref.png
new file mode 100644
index 00000000..877e78bd
--- /dev/null
+++ b/test/reference/clip-group-shapes-unaligned-rectangles.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-group-shapes-unaligned-rectangles.mask.rgb24.ref.png b/test/reference/clip-group-shapes-unaligned-rectangles.mask.rgb24.ref.png
new file mode 100644
index 00000000..877e78bd
--- /dev/null
+++ b/test/reference/clip-group-shapes-unaligned-rectangles.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-image.mask.argb32.ref.png b/test/reference/clip-image.mask.argb32.ref.png
new file mode 100644
index 00000000..86c28afd
--- /dev/null
+++ b/test/reference/clip-image.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-image.mask.rgb24.ref.png b/test/reference/clip-image.mask.rgb24.ref.png
new file mode 100644
index 00000000..86c28afd
--- /dev/null
+++ b/test/reference/clip-image.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-intersect.mask.argb32.ref.png b/test/reference/clip-intersect.mask.argb32.ref.png
new file mode 100644
index 00000000..6627b3a5
--- /dev/null
+++ b/test/reference/clip-intersect.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-intersect.mask.rgb24.ref.png b/test/reference/clip-intersect.mask.rgb24.ref.png
new file mode 100644
index 00000000..6627b3a5
--- /dev/null
+++ b/test/reference/clip-intersect.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-mixed-antialias.mask.argb32.ref.png b/test/reference/clip-mixed-antialias.mask.argb32.ref.png
new file mode 100644
index 00000000..243c4dde
--- /dev/null
+++ b/test/reference/clip-mixed-antialias.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-mixed-antialias.mask.rgb24.ref.png b/test/reference/clip-mixed-antialias.mask.rgb24.ref.png
new file mode 100644
index 00000000..243c4dde
--- /dev/null
+++ b/test/reference/clip-mixed-antialias.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-nesting.mask.argb32.ref.png b/test/reference/clip-nesting.mask.argb32.ref.png
new file mode 100644
index 00000000..ce0cc0d0
--- /dev/null
+++ b/test/reference/clip-nesting.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-nesting.mask.rgb24.ref.png b/test/reference/clip-nesting.mask.rgb24.ref.png
new file mode 100644
index 00000000..52478437
--- /dev/null
+++ b/test/reference/clip-nesting.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-operator.mask.argb32.ref.png b/test/reference/clip-operator.mask.argb32.ref.png
new file mode 100644
index 00000000..8db1a07c
--- /dev/null
+++ b/test/reference/clip-operator.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-operator.mask.rgb24.ref.png b/test/reference/clip-operator.mask.rgb24.ref.png
new file mode 100644
index 00000000..ddd1ec37
--- /dev/null
+++ b/test/reference/clip-operator.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-polygons.base.argb32.ref.png b/test/reference/clip-polygons.base.argb32.ref.png
new file mode 100644
index 00000000..e1f294ce
--- /dev/null
+++ b/test/reference/clip-polygons.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-polygons.base.rgb24.ref.png b/test/reference/clip-polygons.base.rgb24.ref.png
new file mode 100644
index 00000000..e1f294ce
--- /dev/null
+++ b/test/reference/clip-polygons.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-polygons.mask.argb32.ref.png b/test/reference/clip-polygons.mask.argb32.ref.png
new file mode 100644
index 00000000..e139ef3f
--- /dev/null
+++ b/test/reference/clip-polygons.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-polygons.mask.rgb24.ref.png b/test/reference/clip-polygons.mask.rgb24.ref.png
new file mode 100644
index 00000000..e139ef3f
--- /dev/null
+++ b/test/reference/clip-polygons.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-polygons.traps.argb32.ref.png b/test/reference/clip-polygons.traps.argb32.ref.png
new file mode 100644
index 00000000..e139ef3f
--- /dev/null
+++ b/test/reference/clip-polygons.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-polygons.traps.rgb24.ref.png b/test/reference/clip-polygons.traps.rgb24.ref.png
new file mode 100644
index 00000000..e139ef3f
--- /dev/null
+++ b/test/reference/clip-polygons.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-push-group.mask.argb32.ref.png b/test/reference/clip-push-group.mask.argb32.ref.png
new file mode 100644
index 00000000..86724a23
--- /dev/null
+++ b/test/reference/clip-push-group.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-push-group.mask.rgb24.ref.png b/test/reference/clip-push-group.mask.rgb24.ref.png
new file mode 100644
index 00000000..86724a23
--- /dev/null
+++ b/test/reference/clip-push-group.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-rectilinear.base.argb32.ref.png b/test/reference/clip-rectilinear.base.argb32.ref.png
new file mode 100644
index 00000000..2a27beca
--- /dev/null
+++ b/test/reference/clip-rectilinear.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-rectilinear.base.rgb24.ref.png b/test/reference/clip-rectilinear.base.rgb24.ref.png
new file mode 100644
index 00000000..2a27beca
--- /dev/null
+++ b/test/reference/clip-rectilinear.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-rectilinear.mask.argb32.ref.png b/test/reference/clip-rectilinear.mask.argb32.ref.png
new file mode 100644
index 00000000..2a27beca
--- /dev/null
+++ b/test/reference/clip-rectilinear.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-rectilinear.mask.rgb24.ref.png b/test/reference/clip-rectilinear.mask.rgb24.ref.png
new file mode 100644
index 00000000..2a27beca
--- /dev/null
+++ b/test/reference/clip-rectilinear.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-rectilinear.traps.argb32.ref.png b/test/reference/clip-rectilinear.traps.argb32.ref.png
new file mode 100644
index 00000000..2a27beca
--- /dev/null
+++ b/test/reference/clip-rectilinear.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-rectilinear.traps.rgb24.ref.png b/test/reference/clip-rectilinear.traps.rgb24.ref.png
new file mode 100644
index 00000000..2a27beca
--- /dev/null
+++ b/test/reference/clip-rectilinear.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-rotate-image-surface-paint.mask.argb32.ref.png b/test/reference/clip-rotate-image-surface-paint.mask.argb32.ref.png
new file mode 100644
index 00000000..1093804d
--- /dev/null
+++ b/test/reference/clip-rotate-image-surface-paint.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-rotate-image-surface-paint.mask.rgb24.ref.png b/test/reference/clip-rotate-image-surface-paint.mask.rgb24.ref.png
new file mode 100644
index 00000000..1093804d
--- /dev/null
+++ b/test/reference/clip-rotate-image-surface-paint.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-shape.mask.argb32.ref.png b/test/reference/clip-shape.mask.argb32.ref.png
new file mode 100644
index 00000000..03edf68f
--- /dev/null
+++ b/test/reference/clip-shape.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-shape.mask.rgb24.ref.png b/test/reference/clip-shape.mask.rgb24.ref.png
new file mode 100644
index 00000000..03edf68f
--- /dev/null
+++ b/test/reference/clip-shape.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-stroke-no-op.mask.argb32.ref.png b/test/reference/clip-stroke-no-op.mask.argb32.ref.png
new file mode 100644
index 00000000..2256461a
--- /dev/null
+++ b/test/reference/clip-stroke-no-op.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-stroke-no-op.mask.rgb24.ref.png b/test/reference/clip-stroke-no-op.mask.rgb24.ref.png
new file mode 100644
index 00000000..2256461a
--- /dev/null
+++ b/test/reference/clip-stroke-no-op.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-stroke-unbounded.mask.argb32.ref.png b/test/reference/clip-stroke-unbounded.mask.argb32.ref.png
new file mode 100644
index 00000000..274feb64
--- /dev/null
+++ b/test/reference/clip-stroke-unbounded.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-stroke-unbounded.mask.rgb24.ref.png b/test/reference/clip-stroke-unbounded.mask.rgb24.ref.png
new file mode 100644
index 00000000..a9a8f7be
--- /dev/null
+++ b/test/reference/clip-stroke-unbounded.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-stroke.mask.argb32.ref.png b/test/reference/clip-stroke.mask.argb32.ref.png
new file mode 100644
index 00000000..afa7fc0d
--- /dev/null
+++ b/test/reference/clip-stroke.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-stroke.mask.rgb24.ref.png b/test/reference/clip-stroke.mask.rgb24.ref.png
new file mode 100644
index 00000000..afa7fc0d
--- /dev/null
+++ b/test/reference/clip-stroke.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-text.mask.argb32.ref.png b/test/reference/clip-text.mask.argb32.ref.png
new file mode 100644
index 00000000..98484cdd
--- /dev/null
+++ b/test/reference/clip-text.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-text.mask.rgb24.ref.png b/test/reference/clip-text.mask.rgb24.ref.png
new file mode 100644
index 00000000..98484cdd
--- /dev/null
+++ b/test/reference/clip-text.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-twice-rectangle.mask.argb32.ref.png b/test/reference/clip-twice-rectangle.mask.argb32.ref.png
new file mode 100644
index 00000000..d0e65ead
--- /dev/null
+++ b/test/reference/clip-twice-rectangle.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-twice-rectangle.mask.rgb24.ref.png b/test/reference/clip-twice-rectangle.mask.rgb24.ref.png
new file mode 100644
index 00000000..d0e65ead
--- /dev/null
+++ b/test/reference/clip-twice-rectangle.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-twice.mask.argb32.ref.png b/test/reference/clip-twice.mask.argb32.ref.png
new file mode 100644
index 00000000..828dd23b
--- /dev/null
+++ b/test/reference/clip-twice.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-twice.mask.rgb24.ref.png b/test/reference/clip-twice.mask.rgb24.ref.png
new file mode 100644
index 00000000..8b6baed5
--- /dev/null
+++ b/test/reference/clip-twice.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clip-unbounded.mask.argb32.ref.png b/test/reference/clip-unbounded.mask.argb32.ref.png
new file mode 100644
index 00000000..0b659056
--- /dev/null
+++ b/test/reference/clip-unbounded.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clip-unbounded.mask.rgb24.ref.png b/test/reference/clip-unbounded.mask.rgb24.ref.png
new file mode 100644
index 00000000..2baf9f46
--- /dev/null
+++ b/test/reference/clip-unbounded.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clipped-group.mask.argb32.ref.png b/test/reference/clipped-group.mask.argb32.ref.png
new file mode 100644
index 00000000..53b149fc
--- /dev/null
+++ b/test/reference/clipped-group.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clipped-group.mask.rgb24.ref.png b/test/reference/clipped-group.mask.rgb24.ref.png
new file mode 100644
index 00000000..53b149fc
--- /dev/null
+++ b/test/reference/clipped-group.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/clipped-surface.mask.argb32.ref.png b/test/reference/clipped-surface.mask.argb32.ref.png
new file mode 100644
index 00000000..8e8b0083
--- /dev/null
+++ b/test/reference/clipped-surface.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/clipped-surface.mask.rgb24.ref.png b/test/reference/clipped-surface.mask.rgb24.ref.png
new file mode 100644
index 00000000..8e8b0083
--- /dev/null
+++ b/test/reference/clipped-surface.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/close-path-current-point.mask.argb32.ref.png b/test/reference/close-path-current-point.mask.argb32.ref.png
new file mode 100644
index 00000000..ab3124b7
--- /dev/null
+++ b/test/reference/close-path-current-point.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/close-path-current-point.mask.rgb24.ref.png b/test/reference/close-path-current-point.mask.rgb24.ref.png
new file mode 100644
index 00000000..ab3124b7
--- /dev/null
+++ b/test/reference/close-path-current-point.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/close-path.mask.argb32.ref.png b/test/reference/close-path.mask.argb32.ref.png
new file mode 100644
index 00000000..5506ff8b
--- /dev/null
+++ b/test/reference/close-path.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/close-path.mask.rgb24.ref.png b/test/reference/close-path.mask.rgb24.ref.png
new file mode 100644
index 00000000..5506ff8b
--- /dev/null
+++ b/test/reference/close-path.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/composite-integer-translate-over-repeat.mask.argb32.ref.png b/test/reference/composite-integer-translate-over-repeat.mask.argb32.ref.png
new file mode 100644
index 00000000..c4257498
--- /dev/null
+++ b/test/reference/composite-integer-translate-over-repeat.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/composite-integer-translate-over-repeat.mask.rgb24.ref.png b/test/reference/composite-integer-translate-over-repeat.mask.rgb24.ref.png
new file mode 100644
index 00000000..c4257498
--- /dev/null
+++ b/test/reference/composite-integer-translate-over-repeat.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/composite-integer-translate-over.mask.argb32.ref.png b/test/reference/composite-integer-translate-over.mask.argb32.ref.png
new file mode 100644
index 00000000..7ac3ddf4
--- /dev/null
+++ b/test/reference/composite-integer-translate-over.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/composite-integer-translate-over.mask.rgb24.ref.png b/test/reference/composite-integer-translate-over.mask.rgb24.ref.png
new file mode 100644
index 00000000..7ac3ddf4
--- /dev/null
+++ b/test/reference/composite-integer-translate-over.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/composite-integer-translate-source.mask.argb32.ref.png b/test/reference/composite-integer-translate-source.mask.argb32.ref.png
new file mode 100644
index 00000000..7ac3ddf4
--- /dev/null
+++ b/test/reference/composite-integer-translate-source.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/composite-integer-translate-source.mask.rgb24.ref.png b/test/reference/composite-integer-translate-source.mask.rgb24.ref.png
new file mode 100644
index 00000000..7ac3ddf4
--- /dev/null
+++ b/test/reference/composite-integer-translate-source.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/copy-disjoint.base.argb32.ref.png b/test/reference/copy-disjoint.base.argb32.ref.png
new file mode 100644
index 00000000..da9a3b11
--- /dev/null
+++ b/test/reference/copy-disjoint.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/copy-disjoint.base.rgb24.ref.png b/test/reference/copy-disjoint.base.rgb24.ref.png
new file mode 100644
index 00000000..da9a3b11
--- /dev/null
+++ b/test/reference/copy-disjoint.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/copy-disjoint.mask.argb32.ref.png b/test/reference/copy-disjoint.mask.argb32.ref.png
new file mode 100644
index 00000000..da9a3b11
--- /dev/null
+++ b/test/reference/copy-disjoint.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/copy-disjoint.mask.rgb24.ref.png b/test/reference/copy-disjoint.mask.rgb24.ref.png
new file mode 100644
index 00000000..da9a3b11
--- /dev/null
+++ b/test/reference/copy-disjoint.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/copy-disjoint.traps.argb32.ref.png b/test/reference/copy-disjoint.traps.argb32.ref.png
new file mode 100644
index 00000000..da9a3b11
--- /dev/null
+++ b/test/reference/copy-disjoint.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/copy-disjoint.traps.rgb24.ref.png b/test/reference/copy-disjoint.traps.rgb24.ref.png
new file mode 100644
index 00000000..da9a3b11
--- /dev/null
+++ b/test/reference/copy-disjoint.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/copy-path.mask.argb32.ref.png b/test/reference/copy-path.mask.argb32.ref.png
new file mode 100644
index 00000000..b50e9e47
--- /dev/null
+++ b/test/reference/copy-path.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/copy-path.mask.rgb24.ref.png b/test/reference/copy-path.mask.rgb24.ref.png
new file mode 100644
index 00000000..b50e9e47
--- /dev/null
+++ b/test/reference/copy-path.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/create-from-png-stream.mask.argb32.ref.png b/test/reference/create-from-png-stream.mask.argb32.ref.png
new file mode 100644
index 00000000..0a145d91
--- /dev/null
+++ b/test/reference/create-from-png-stream.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/create-from-png-stream.mask.rgb24.ref.png b/test/reference/create-from-png-stream.mask.rgb24.ref.png
new file mode 100644
index 00000000..0a145d91
--- /dev/null
+++ b/test/reference/create-from-png-stream.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/create-from-png.mask.argb32.ref.png b/test/reference/create-from-png.mask.argb32.ref.png
new file mode 100644
index 00000000..0a145d91
--- /dev/null
+++ b/test/reference/create-from-png.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/create-from-png.mask.rgb24.ref.png b/test/reference/create-from-png.mask.rgb24.ref.png
new file mode 100644
index 00000000..0a145d91
--- /dev/null
+++ b/test/reference/create-from-png.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/create-from-png.traps.argb32.ref.png b/test/reference/create-from-png.traps.argb32.ref.png
new file mode 100644
index 00000000..0a145d91
--- /dev/null
+++ b/test/reference/create-from-png.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/create-from-png.traps.rgb24.ref.png b/test/reference/create-from-png.traps.rgb24.ref.png
new file mode 100644
index 00000000..0a145d91
--- /dev/null
+++ b/test/reference/create-from-png.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/culled-glyphs.mask.argb32.ref.png b/test/reference/culled-glyphs.mask.argb32.ref.png
new file mode 100644
index 00000000..6701295b
--- /dev/null
+++ b/test/reference/culled-glyphs.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/culled-glyphs.mask.rgb24.ref.png b/test/reference/culled-glyphs.mask.rgb24.ref.png
new file mode 100644
index 00000000..6701295b
--- /dev/null
+++ b/test/reference/culled-glyphs.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/curve-to-as-line-to.mask.argb32.ref.png b/test/reference/curve-to-as-line-to.mask.argb32.ref.png
new file mode 100644
index 00000000..d2411832
--- /dev/null
+++ b/test/reference/curve-to-as-line-to.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/curve-to-as-line-to.mask.rgb24.ref.png b/test/reference/curve-to-as-line-to.mask.rgb24.ref.png
new file mode 100644
index 00000000..d2411832
--- /dev/null
+++ b/test/reference/curve-to-as-line-to.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/dash-caps-joins.mask.argb32.ref.png b/test/reference/dash-caps-joins.mask.argb32.ref.png
new file mode 100644
index 00000000..b09b86fc
--- /dev/null
+++ b/test/reference/dash-caps-joins.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/dash-caps-joins.mask.rgb24.ref.png b/test/reference/dash-caps-joins.mask.rgb24.ref.png
new file mode 100644
index 00000000..b09b86fc
--- /dev/null
+++ b/test/reference/dash-caps-joins.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/dash-curve.mask.argb32.ref.png b/test/reference/dash-curve.mask.argb32.ref.png
new file mode 100644
index 00000000..8bebde20
--- /dev/null
+++ b/test/reference/dash-curve.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/dash-curve.mask.rgb24.ref.png b/test/reference/dash-curve.mask.rgb24.ref.png
new file mode 100644
index 00000000..8bebde20
--- /dev/null
+++ b/test/reference/dash-curve.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/dash-infinite-loop.mask.argb32.ref.png b/test/reference/dash-infinite-loop.mask.argb32.ref.png
new file mode 100644
index 00000000..2ae1717a
--- /dev/null
+++ b/test/reference/dash-infinite-loop.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/dash-infinite-loop.mask.rgb24.ref.png b/test/reference/dash-infinite-loop.mask.rgb24.ref.png
new file mode 100644
index 00000000..2ae1717a
--- /dev/null
+++ b/test/reference/dash-infinite-loop.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/dash-no-dash.mask.argb32.ref.png b/test/reference/dash-no-dash.mask.argb32.ref.png
new file mode 100644
index 00000000..c150a4f0
--- /dev/null
+++ b/test/reference/dash-no-dash.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/dash-no-dash.mask.rgb24.ref.png b/test/reference/dash-no-dash.mask.rgb24.ref.png
new file mode 100644
index 00000000..c150a4f0
--- /dev/null
+++ b/test/reference/dash-no-dash.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/dash-offset-negative.mask.argb32.ref.png b/test/reference/dash-offset-negative.mask.argb32.ref.png
new file mode 100644
index 00000000..df22d08b
--- /dev/null
+++ b/test/reference/dash-offset-negative.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/dash-offset-negative.mask.rgb24.ref.png b/test/reference/dash-offset-negative.mask.rgb24.ref.png
new file mode 100644
index 00000000..df22d08b
--- /dev/null
+++ b/test/reference/dash-offset-negative.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/dash-offset.mask.argb32.ref.png b/test/reference/dash-offset.mask.argb32.ref.png
new file mode 100644
index 00000000..52600c43
--- /dev/null
+++ b/test/reference/dash-offset.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/dash-offset.mask.rgb24.ref.png b/test/reference/dash-offset.mask.rgb24.ref.png
new file mode 100644
index 00000000..52600c43
--- /dev/null
+++ b/test/reference/dash-offset.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/dash-scale.mask.argb32.ref.png b/test/reference/dash-scale.mask.argb32.ref.png
new file mode 100644
index 00000000..deef9dcd
--- /dev/null
+++ b/test/reference/dash-scale.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/dash-scale.mask.rgb24.ref.png b/test/reference/dash-scale.mask.rgb24.ref.png
new file mode 100644
index 00000000..deef9dcd
--- /dev/null
+++ b/test/reference/dash-scale.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/dash-state.mask.argb32.ref.png b/test/reference/dash-state.mask.argb32.ref.png
new file mode 100644
index 00000000..31551cfe
--- /dev/null
+++ b/test/reference/dash-state.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/dash-state.mask.rgb24.ref.png b/test/reference/dash-state.mask.rgb24.ref.png
new file mode 100644
index 00000000..31551cfe
--- /dev/null
+++ b/test/reference/dash-state.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/dash-zero-length.mask.argb32.ref.png b/test/reference/dash-zero-length.mask.argb32.ref.png
new file mode 100644
index 00000000..fdc5f5ef
--- /dev/null
+++ b/test/reference/dash-zero-length.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/dash-zero-length.mask.rgb24.ref.png b/test/reference/dash-zero-length.mask.rgb24.ref.png
new file mode 100644
index 00000000..b14bd8dc
--- /dev/null
+++ b/test/reference/dash-zero-length.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/degenerate-arc.mask.argb32.ref.png b/test/reference/degenerate-arc.mask.argb32.ref.png
new file mode 100644
index 00000000..4da4fd6e
--- /dev/null
+++ b/test/reference/degenerate-arc.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/degenerate-arc.mask.rgb24.ref.png b/test/reference/degenerate-arc.mask.rgb24.ref.png
new file mode 100644
index 00000000..4da4fd6e
--- /dev/null
+++ b/test/reference/degenerate-arc.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/degenerate-arcs.mask.argb32.ref.png b/test/reference/degenerate-arcs.mask.argb32.ref.png
new file mode 100644
index 00000000..fc1869dc
--- /dev/null
+++ b/test/reference/degenerate-arcs.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/degenerate-arcs.mask.rgb24.ref.png b/test/reference/degenerate-arcs.mask.rgb24.ref.png
new file mode 100644
index 00000000..fc1869dc
--- /dev/null
+++ b/test/reference/degenerate-arcs.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/degenerate-curve-to.mask.argb32.ref.png b/test/reference/degenerate-curve-to.mask.argb32.ref.png
new file mode 100644
index 00000000..18ab11ec
--- /dev/null
+++ b/test/reference/degenerate-curve-to.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/degenerate-curve-to.mask.rgb24.ref.png b/test/reference/degenerate-curve-to.mask.rgb24.ref.png
new file mode 100644
index 00000000..18ab11ec
--- /dev/null
+++ b/test/reference/degenerate-curve-to.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/degenerate-dash.mask.argb32.ref.png b/test/reference/degenerate-dash.mask.argb32.ref.png
new file mode 100644
index 00000000..2ddfc8bb
--- /dev/null
+++ b/test/reference/degenerate-dash.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/degenerate-dash.mask.rgb24.ref.png b/test/reference/degenerate-dash.mask.rgb24.ref.png
new file mode 100644
index 00000000..2ddfc8bb
--- /dev/null
+++ b/test/reference/degenerate-dash.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/degenerate-linear-gradient.mask.argb32.ref.png b/test/reference/degenerate-linear-gradient.mask.argb32.ref.png
new file mode 100644
index 00000000..ceed48a7
--- /dev/null
+++ b/test/reference/degenerate-linear-gradient.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/degenerate-linear-gradient.mask.rgb24.ref.png b/test/reference/degenerate-linear-gradient.mask.rgb24.ref.png
new file mode 100644
index 00000000..ceed48a7
--- /dev/null
+++ b/test/reference/degenerate-linear-gradient.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/degenerate-path.mask.argb32.ref.png b/test/reference/degenerate-path.mask.argb32.ref.png
new file mode 100644
index 00000000..04593971
--- /dev/null
+++ b/test/reference/degenerate-path.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/degenerate-path.mask.rgb24.ref.png b/test/reference/degenerate-path.mask.rgb24.ref.png
new file mode 100644
index 00000000..07fda634
--- /dev/null
+++ b/test/reference/degenerate-path.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/degenerate-pen.mask.argb32.ref.png b/test/reference/degenerate-pen.mask.argb32.ref.png
new file mode 100644
index 00000000..ea65d227
--- /dev/null
+++ b/test/reference/degenerate-pen.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/degenerate-pen.mask.rgb24.ref.png b/test/reference/degenerate-pen.mask.rgb24.ref.png
new file mode 100644
index 00000000..ea65d227
--- /dev/null
+++ b/test/reference/degenerate-pen.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/degenerate-radial-gradient.mask.argb32.ref.png b/test/reference/degenerate-radial-gradient.mask.argb32.ref.png
new file mode 100644
index 00000000..9a5213b5
--- /dev/null
+++ b/test/reference/degenerate-radial-gradient.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/degenerate-radial-gradient.mask.rgb24.ref.png b/test/reference/degenerate-radial-gradient.mask.rgb24.ref.png
new file mode 100644
index 00000000..9a5213b5
--- /dev/null
+++ b/test/reference/degenerate-radial-gradient.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/degenerate-rel-curve-to.mask.argb32.ref.png b/test/reference/degenerate-rel-curve-to.mask.argb32.ref.png
new file mode 100644
index 00000000..c4293adf
--- /dev/null
+++ b/test/reference/degenerate-rel-curve-to.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/degenerate-rel-curve-to.mask.rgb24.ref.png b/test/reference/degenerate-rel-curve-to.mask.rgb24.ref.png
new file mode 100644
index 00000000..c4293adf
--- /dev/null
+++ b/test/reference/degenerate-rel-curve-to.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/device-offset-fractional.mask.argb32.ref.png b/test/reference/device-offset-fractional.mask.argb32.ref.png
new file mode 100644
index 00000000..b1eef5f2
--- /dev/null
+++ b/test/reference/device-offset-fractional.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/device-offset-fractional.mask.rgb24.ref.png b/test/reference/device-offset-fractional.mask.rgb24.ref.png
new file mode 100644
index 00000000..b1eef5f2
--- /dev/null
+++ b/test/reference/device-offset-fractional.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/device-offset-positive.mask.argb32.ref.png b/test/reference/device-offset-positive.mask.argb32.ref.png
new file mode 100644
index 00000000..1115bca7
--- /dev/null
+++ b/test/reference/device-offset-positive.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/device-offset-positive.mask.rgb24.ref.png b/test/reference/device-offset-positive.mask.rgb24.ref.png
new file mode 100644
index 00000000..dcdd3324
--- /dev/null
+++ b/test/reference/device-offset-positive.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/device-offset-scale.mask.argb32.ref.png b/test/reference/device-offset-scale.mask.argb32.ref.png
new file mode 100644
index 00000000..fdffbf3c
--- /dev/null
+++ b/test/reference/device-offset-scale.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/device-offset-scale.mask.rgb24.ref.png b/test/reference/device-offset-scale.mask.rgb24.ref.png
new file mode 100644
index 00000000..fdffbf3c
--- /dev/null
+++ b/test/reference/device-offset-scale.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/device-offset.mask.argb32.ref.png b/test/reference/device-offset.mask.argb32.ref.png
new file mode 100644
index 00000000..43ced46b
--- /dev/null
+++ b/test/reference/device-offset.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/device-offset.mask.rgb24.ref.png b/test/reference/device-offset.mask.rgb24.ref.png
new file mode 100644
index 00000000..f19acba1
--- /dev/null
+++ b/test/reference/device-offset.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/drunkard-tails.mask.argb32.ref.png b/test/reference/drunkard-tails.mask.argb32.ref.png
new file mode 100644
index 00000000..053e4707
--- /dev/null
+++ b/test/reference/drunkard-tails.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/drunkard-tails.mask.rgb24.ref.png b/test/reference/drunkard-tails.mask.rgb24.ref.png
new file mode 100644
index 00000000..053e4707
--- /dev/null
+++ b/test/reference/drunkard-tails.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/extend-pad-border.mask.argb32.ref.png b/test/reference/extend-pad-border.mask.argb32.ref.png
new file mode 100644
index 00000000..f4fc524a
--- /dev/null
+++ b/test/reference/extend-pad-border.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/extend-pad-border.mask.rgb24.ref.png b/test/reference/extend-pad-border.mask.rgb24.ref.png
new file mode 100644
index 00000000..f4fc524a
--- /dev/null
+++ b/test/reference/extend-pad-border.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/extend-pad-similar.mask.argb32.ref.png b/test/reference/extend-pad-similar.mask.argb32.ref.png
new file mode 100644
index 00000000..93452218
--- /dev/null
+++ b/test/reference/extend-pad-similar.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/extend-pad-similar.mask.rgb24.ref.png b/test/reference/extend-pad-similar.mask.rgb24.ref.png
new file mode 100644
index 00000000..93452218
--- /dev/null
+++ b/test/reference/extend-pad-similar.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/extend-pad.mask.argb32.ref.png b/test/reference/extend-pad.mask.argb32.ref.png
new file mode 100644
index 00000000..93452218
--- /dev/null
+++ b/test/reference/extend-pad.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/extend-pad.mask.rgb24.ref.png b/test/reference/extend-pad.mask.rgb24.ref.png
new file mode 100644
index 00000000..93452218
--- /dev/null
+++ b/test/reference/extend-pad.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/extend-reflect-similar.mask.argb32.ref.png b/test/reference/extend-reflect-similar.mask.argb32.ref.png
new file mode 100644
index 00000000..5fc3448f
--- /dev/null
+++ b/test/reference/extend-reflect-similar.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/extend-reflect-similar.mask.rgb24.ref.png b/test/reference/extend-reflect-similar.mask.rgb24.ref.png
new file mode 100644
index 00000000..5fc3448f
--- /dev/null
+++ b/test/reference/extend-reflect-similar.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/extend-reflect.mask.argb32.ref.png b/test/reference/extend-reflect.mask.argb32.ref.png
new file mode 100644
index 00000000..5fc3448f
--- /dev/null
+++ b/test/reference/extend-reflect.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/extend-reflect.mask.rgb24.ref.png b/test/reference/extend-reflect.mask.rgb24.ref.png
new file mode 100644
index 00000000..5fc3448f
--- /dev/null
+++ b/test/reference/extend-reflect.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/extend-repeat-similar.mask.argb32.ref.png b/test/reference/extend-repeat-similar.mask.argb32.ref.png
new file mode 100644
index 00000000..81f0503d
--- /dev/null
+++ b/test/reference/extend-repeat-similar.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/extend-repeat-similar.mask.rgb24.ref.png b/test/reference/extend-repeat-similar.mask.rgb24.ref.png
new file mode 100644
index 00000000..81f0503d
--- /dev/null
+++ b/test/reference/extend-repeat-similar.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/extend-repeat.mask.argb32.ref.png b/test/reference/extend-repeat.mask.argb32.ref.png
new file mode 100644
index 00000000..81f0503d
--- /dev/null
+++ b/test/reference/extend-repeat.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/extend-repeat.mask.rgb24.ref.png b/test/reference/extend-repeat.mask.rgb24.ref.png
new file mode 100644
index 00000000..81f0503d
--- /dev/null
+++ b/test/reference/extend-repeat.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/extended-blend-alpha-mask.mask.argb32.ref.png b/test/reference/extended-blend-alpha-mask.mask.argb32.ref.png
new file mode 100644
index 00000000..a1dd2a93
--- /dev/null
+++ b/test/reference/extended-blend-alpha-mask.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/extended-blend-alpha-mask.mask.rgb24.ref.png b/test/reference/extended-blend-alpha-mask.mask.rgb24.ref.png
new file mode 100644
index 00000000..b5f12f14
--- /dev/null
+++ b/test/reference/extended-blend-alpha-mask.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/extended-blend-alpha.mask.argb32.ref.png b/test/reference/extended-blend-alpha.mask.argb32.ref.png
new file mode 100644
index 00000000..4d56a21f
--- /dev/null
+++ b/test/reference/extended-blend-alpha.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/extended-blend-alpha.mask.rgb24.ref.png b/test/reference/extended-blend-alpha.mask.rgb24.ref.png
new file mode 100644
index 00000000..86d0e2d9
--- /dev/null
+++ b/test/reference/extended-blend-alpha.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/extended-blend-mask.mask.argb32.ref.png b/test/reference/extended-blend-mask.mask.argb32.ref.png
new file mode 100644
index 00000000..5fa78e4c
--- /dev/null
+++ b/test/reference/extended-blend-mask.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/extended-blend-mask.mask.rgb24.ref.png b/test/reference/extended-blend-mask.mask.rgb24.ref.png
new file mode 100644
index 00000000..1c854745
--- /dev/null
+++ b/test/reference/extended-blend-mask.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/extended-blend-solid-alpha.mask.argb32.ref.png b/test/reference/extended-blend-solid-alpha.mask.argb32.ref.png
new file mode 100644
index 00000000..4d56a21f
--- /dev/null
+++ b/test/reference/extended-blend-solid-alpha.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/extended-blend-solid-alpha.mask.rgb24.ref.png b/test/reference/extended-blend-solid-alpha.mask.rgb24.ref.png
new file mode 100644
index 00000000..86d0e2d9
--- /dev/null
+++ b/test/reference/extended-blend-solid-alpha.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/extended-blend-solid.mask.argb32.ref.png b/test/reference/extended-blend-solid.mask.argb32.ref.png
new file mode 100644
index 00000000..902ef884
--- /dev/null
+++ b/test/reference/extended-blend-solid.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/extended-blend-solid.mask.rgb24.ref.png b/test/reference/extended-blend-solid.mask.rgb24.ref.png
new file mode 100644
index 00000000..4580e0da
--- /dev/null
+++ b/test/reference/extended-blend-solid.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/extended-blend.mask.argb32.ref.png b/test/reference/extended-blend.mask.argb32.ref.png
new file mode 100644
index 00000000..902ef884
--- /dev/null
+++ b/test/reference/extended-blend.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/extended-blend.mask.rgb24.ref.png b/test/reference/extended-blend.mask.rgb24.ref.png
new file mode 100644
index 00000000..4580e0da
--- /dev/null
+++ b/test/reference/extended-blend.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/fallback.base.argb32.ref.png b/test/reference/fallback.base.argb32.ref.png
new file mode 100644
index 00000000..c0c5f467
--- /dev/null
+++ b/test/reference/fallback.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/fallback.base.rgb24.ref.png b/test/reference/fallback.base.rgb24.ref.png
new file mode 100644
index 00000000..18b6a7c8
--- /dev/null
+++ b/test/reference/fallback.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/fallback.mask.argb32.ref.png b/test/reference/fallback.mask.argb32.ref.png
new file mode 100644
index 00000000..b7ce5736
--- /dev/null
+++ b/test/reference/fallback.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/fallback.mask.rgb24.ref.png b/test/reference/fallback.mask.rgb24.ref.png
new file mode 100644
index 00000000..16d3c14e
--- /dev/null
+++ b/test/reference/fallback.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/fallback.traps.argb32.ref.png b/test/reference/fallback.traps.argb32.ref.png
new file mode 100644
index 00000000..b7ce5736
--- /dev/null
+++ b/test/reference/fallback.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/fallback.traps.rgb24.ref.png b/test/reference/fallback.traps.rgb24.ref.png
new file mode 100644
index 00000000..16d3c14e
--- /dev/null
+++ b/test/reference/fallback.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/fill-alpha-pattern.mask.argb32.ref.png b/test/reference/fill-alpha-pattern.mask.argb32.ref.png
new file mode 100644
index 00000000..4344f230
--- /dev/null
+++ b/test/reference/fill-alpha-pattern.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/fill-alpha-pattern.mask.rgb24.ref.png b/test/reference/fill-alpha-pattern.mask.rgb24.ref.png
new file mode 100644
index 00000000..4344f230
--- /dev/null
+++ b/test/reference/fill-alpha-pattern.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/fill-alpha.mask.argb32.ref.png b/test/reference/fill-alpha.mask.argb32.ref.png
new file mode 100644
index 00000000..9de7b504
--- /dev/null
+++ b/test/reference/fill-alpha.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/fill-alpha.mask.rgb24.ref.png b/test/reference/fill-alpha.mask.rgb24.ref.png
new file mode 100644
index 00000000..9de7b504
--- /dev/null
+++ b/test/reference/fill-alpha.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/fill-and-stroke-alpha-add.mask.argb32.ref.png b/test/reference/fill-and-stroke-alpha-add.mask.argb32.ref.png
new file mode 100644
index 00000000..c804c7a7
--- /dev/null
+++ b/test/reference/fill-and-stroke-alpha-add.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/fill-and-stroke-alpha-add.mask.rgb24.ref.png b/test/reference/fill-and-stroke-alpha-add.mask.rgb24.ref.png
new file mode 100644
index 00000000..c804c7a7
--- /dev/null
+++ b/test/reference/fill-and-stroke-alpha-add.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/fill-and-stroke-alpha.mask.argb32.ref.png b/test/reference/fill-and-stroke-alpha.mask.argb32.ref.png
new file mode 100644
index 00000000..e22ebf91
--- /dev/null
+++ b/test/reference/fill-and-stroke-alpha.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/fill-and-stroke-alpha.mask.rgb24.ref.png b/test/reference/fill-and-stroke-alpha.mask.rgb24.ref.png
new file mode 100644
index 00000000..e22ebf91
--- /dev/null
+++ b/test/reference/fill-and-stroke-alpha.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/fill-and-stroke.mask.argb32.ref.png b/test/reference/fill-and-stroke.mask.argb32.ref.png
new file mode 100644
index 00000000..b51f4b03
--- /dev/null
+++ b/test/reference/fill-and-stroke.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/fill-and-stroke.mask.rgb24.ref.png b/test/reference/fill-and-stroke.mask.rgb24.ref.png
new file mode 100644
index 00000000..40172935
--- /dev/null
+++ b/test/reference/fill-and-stroke.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/fill-degenerate-sort-order.mask.argb32.ref.png b/test/reference/fill-degenerate-sort-order.mask.argb32.ref.png
new file mode 100644
index 00000000..38bb1a03
--- /dev/null
+++ b/test/reference/fill-degenerate-sort-order.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/fill-degenerate-sort-order.mask.rgb24.ref.png b/test/reference/fill-degenerate-sort-order.mask.rgb24.ref.png
new file mode 100644
index 00000000..c392c211
--- /dev/null
+++ b/test/reference/fill-degenerate-sort-order.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/fill-disjoint.base.argb32.ref.png b/test/reference/fill-disjoint.base.argb32.ref.png
new file mode 100644
index 00000000..da9a3b11
--- /dev/null
+++ b/test/reference/fill-disjoint.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/fill-disjoint.base.rgb24.ref.png b/test/reference/fill-disjoint.base.rgb24.ref.png
new file mode 100644
index 00000000..da9a3b11
--- /dev/null
+++ b/test/reference/fill-disjoint.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/fill-disjoint.mask.argb32.ref.png b/test/reference/fill-disjoint.mask.argb32.ref.png
new file mode 100644
index 00000000..da9a3b11
--- /dev/null
+++ b/test/reference/fill-disjoint.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/fill-disjoint.mask.rgb24.ref.png b/test/reference/fill-disjoint.mask.rgb24.ref.png
new file mode 100644
index 00000000..da9a3b11
--- /dev/null
+++ b/test/reference/fill-disjoint.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/fill-disjoint.traps.argb32.ref.png b/test/reference/fill-disjoint.traps.argb32.ref.png
new file mode 100644
index 00000000..da9a3b11
--- /dev/null
+++ b/test/reference/fill-disjoint.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/fill-disjoint.traps.rgb24.ref.png b/test/reference/fill-disjoint.traps.rgb24.ref.png
new file mode 100644
index 00000000..da9a3b11
--- /dev/null
+++ b/test/reference/fill-disjoint.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/fill-empty.mask.argb32.ref.png b/test/reference/fill-empty.mask.argb32.ref.png
new file mode 100644
index 00000000..8c26f7eb
--- /dev/null
+++ b/test/reference/fill-empty.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/fill-empty.mask.rgb24.ref.png b/test/reference/fill-empty.mask.rgb24.ref.png
new file mode 100644
index 00000000..dc7a8a0e
--- /dev/null
+++ b/test/reference/fill-empty.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/fill-image.mask.argb32.ref.png b/test/reference/fill-image.mask.argb32.ref.png
new file mode 100644
index 00000000..068fbb7c
--- /dev/null
+++ b/test/reference/fill-image.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/fill-image.mask.rgb24.ref.png b/test/reference/fill-image.mask.rgb24.ref.png
new file mode 100644
index 00000000..068fbb7c
--- /dev/null
+++ b/test/reference/fill-image.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/fill-missed-stop.mask.argb32.ref.png b/test/reference/fill-missed-stop.mask.argb32.ref.png
new file mode 100644
index 00000000..477eec9a
--- /dev/null
+++ b/test/reference/fill-missed-stop.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/fill-missed-stop.mask.rgb24.ref.png b/test/reference/fill-missed-stop.mask.rgb24.ref.png
new file mode 100644
index 00000000..2e663f05
--- /dev/null
+++ b/test/reference/fill-missed-stop.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/fill-rule.mask.argb32.ref.png b/test/reference/fill-rule.mask.argb32.ref.png
new file mode 100644
index 00000000..23e0a3a8
--- /dev/null
+++ b/test/reference/fill-rule.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/fill-rule.mask.rgb24.ref.png b/test/reference/fill-rule.mask.rgb24.ref.png
new file mode 100644
index 00000000..55486e62
--- /dev/null
+++ b/test/reference/fill-rule.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/filter-bilinear-extents.mask.argb32.ref.png b/test/reference/filter-bilinear-extents.mask.argb32.ref.png
new file mode 100644
index 00000000..797e7981
--- /dev/null
+++ b/test/reference/filter-bilinear-extents.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/filter-bilinear-extents.mask.rgb24.ref.png b/test/reference/filter-bilinear-extents.mask.rgb24.ref.png
new file mode 100644
index 00000000..797e7981
--- /dev/null
+++ b/test/reference/filter-bilinear-extents.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/filter-nearest-offset.mask.argb32.ref.png b/test/reference/filter-nearest-offset.mask.argb32.ref.png
new file mode 100644
index 00000000..8cca9a1d
--- /dev/null
+++ b/test/reference/filter-nearest-offset.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/filter-nearest-offset.mask.rgb24.ref.png b/test/reference/filter-nearest-offset.mask.rgb24.ref.png
new file mode 100644
index 00000000..8cca9a1d
--- /dev/null
+++ b/test/reference/filter-nearest-offset.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/filter-nearest-transformed.mask.argb32.ref.png b/test/reference/filter-nearest-transformed.mask.argb32.ref.png
new file mode 100644
index 00000000..24adf8bc
--- /dev/null
+++ b/test/reference/filter-nearest-transformed.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/filter-nearest-transformed.mask.rgb24.ref.png b/test/reference/filter-nearest-transformed.mask.rgb24.ref.png
new file mode 100644
index 00000000..24adf8bc
--- /dev/null
+++ b/test/reference/filter-nearest-transformed.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/finer-grained-fallbacks.mask.argb32.ref.png b/test/reference/finer-grained-fallbacks.mask.argb32.ref.png
new file mode 100644
index 00000000..8cd99d0e
--- /dev/null
+++ b/test/reference/finer-grained-fallbacks.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/finer-grained-fallbacks.mask.rgb24.ref.png b/test/reference/finer-grained-fallbacks.mask.rgb24.ref.png
new file mode 100644
index 00000000..5d6cd94f
--- /dev/null
+++ b/test/reference/finer-grained-fallbacks.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/font-matrix-translation.mask.argb32.ref.png b/test/reference/font-matrix-translation.mask.argb32.ref.png
new file mode 100644
index 00000000..a4a10820
--- /dev/null
+++ b/test/reference/font-matrix-translation.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/font-matrix-translation.mask.rgb24.ref.png b/test/reference/font-matrix-translation.mask.rgb24.ref.png
new file mode 100644
index 00000000..a4a10820
--- /dev/null
+++ b/test/reference/font-matrix-translation.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/font-matrix-translation.traps.argb32.ref.png b/test/reference/font-matrix-translation.traps.argb32.ref.png
new file mode 100644
index 00000000..a4a10820
--- /dev/null
+++ b/test/reference/font-matrix-translation.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/font-matrix-translation.traps.rgb24.ref.png b/test/reference/font-matrix-translation.traps.rgb24.ref.png
new file mode 100644
index 00000000..a4a10820
--- /dev/null
+++ b/test/reference/font-matrix-translation.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/ft-show-glyphs-positioning.mask.argb32.ref.png b/test/reference/ft-show-glyphs-positioning.mask.argb32.ref.png
new file mode 100644
index 00000000..af6dcaf9
--- /dev/null
+++ b/test/reference/ft-show-glyphs-positioning.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/ft-show-glyphs-positioning.mask.rgb24.ref.png b/test/reference/ft-show-glyphs-positioning.mask.rgb24.ref.png
new file mode 100644
index 00000000..af6dcaf9
--- /dev/null
+++ b/test/reference/ft-show-glyphs-positioning.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/ft-show-glyphs-positioning.traps.argb32.ref.png b/test/reference/ft-show-glyphs-positioning.traps.argb32.ref.png
new file mode 100644
index 00000000..af6dcaf9
--- /dev/null
+++ b/test/reference/ft-show-glyphs-positioning.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/ft-show-glyphs-positioning.traps.rgb24.ref.png b/test/reference/ft-show-glyphs-positioning.traps.rgb24.ref.png
new file mode 100644
index 00000000..af6dcaf9
--- /dev/null
+++ b/test/reference/ft-show-glyphs-positioning.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/ft-show-glyphs-table.mask.argb32.ref.png b/test/reference/ft-show-glyphs-table.mask.argb32.ref.png
new file mode 100644
index 00000000..ed691248
--- /dev/null
+++ b/test/reference/ft-show-glyphs-table.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/ft-show-glyphs-table.mask.rgb24.ref.png b/test/reference/ft-show-glyphs-table.mask.rgb24.ref.png
new file mode 100644
index 00000000..ed691248
--- /dev/null
+++ b/test/reference/ft-show-glyphs-table.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/ft-show-glyphs-table.traps.argb32.ref.png b/test/reference/ft-show-glyphs-table.traps.argb32.ref.png
new file mode 100644
index 00000000..ed691248
--- /dev/null
+++ b/test/reference/ft-show-glyphs-table.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/ft-show-glyphs-table.traps.rgb24.ref.png b/test/reference/ft-show-glyphs-table.traps.rgb24.ref.png
new file mode 100644
index 00000000..ed691248
--- /dev/null
+++ b/test/reference/ft-show-glyphs-table.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/ft-text-antialias-none.mask.argb32.ref.png b/test/reference/ft-text-antialias-none.mask.argb32.ref.png
new file mode 100644
index 00000000..c638c9ea
--- /dev/null
+++ b/test/reference/ft-text-antialias-none.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/ft-text-antialias-none.mask.rgb24.ref.png b/test/reference/ft-text-antialias-none.mask.rgb24.ref.png
new file mode 100644
index 00000000..c638c9ea
--- /dev/null
+++ b/test/reference/ft-text-antialias-none.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/ft-text-vertical-layout-type1.mask.argb32.ref.png b/test/reference/ft-text-vertical-layout-type1.mask.argb32.ref.png
new file mode 100644
index 00000000..4941965b
--- /dev/null
+++ b/test/reference/ft-text-vertical-layout-type1.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/ft-text-vertical-layout-type1.mask.rgb24.ref.png b/test/reference/ft-text-vertical-layout-type1.mask.rgb24.ref.png
new file mode 100644
index 00000000..4941965b
--- /dev/null
+++ b/test/reference/ft-text-vertical-layout-type1.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/ft-text-vertical-layout-type3.mask.argb32.ref.png b/test/reference/ft-text-vertical-layout-type3.mask.argb32.ref.png
new file mode 100644
index 00000000..7f7b428c
--- /dev/null
+++ b/test/reference/ft-text-vertical-layout-type3.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/ft-text-vertical-layout-type3.mask.rgb24.ref.png b/test/reference/ft-text-vertical-layout-type3.mask.rgb24.ref.png
new file mode 100644
index 00000000..7f7b428c
--- /dev/null
+++ b/test/reference/ft-text-vertical-layout-type3.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/get-group-target.mask.argb32.ref.png b/test/reference/get-group-target.mask.argb32.ref.png
new file mode 100644
index 00000000..d162775e
--- /dev/null
+++ b/test/reference/get-group-target.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/get-group-target.mask.rgb24.ref.png b/test/reference/get-group-target.mask.rgb24.ref.png
new file mode 100644
index 00000000..d162775e
--- /dev/null
+++ b/test/reference/get-group-target.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/gl-surface-source.base.argb32.ref.png b/test/reference/gl-surface-source.base.argb32.ref.png
new file mode 100644
index 00000000..01829720
--- /dev/null
+++ b/test/reference/gl-surface-source.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/gl-surface-source.base.rgb24.ref.png b/test/reference/gl-surface-source.base.rgb24.ref.png
new file mode 100644
index 00000000..0d68a82c
--- /dev/null
+++ b/test/reference/gl-surface-source.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/gl-surface-source.mask.argb32.ref.png b/test/reference/gl-surface-source.mask.argb32.ref.png
new file mode 100644
index 00000000..01829720
--- /dev/null
+++ b/test/reference/gl-surface-source.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/gl-surface-source.mask.rgb24.ref.png b/test/reference/gl-surface-source.mask.rgb24.ref.png
new file mode 100644
index 00000000..0d68a82c
--- /dev/null
+++ b/test/reference/gl-surface-source.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/gl-surface-source.traps.argb32.ref.png b/test/reference/gl-surface-source.traps.argb32.ref.png
new file mode 100644
index 00000000..01829720
--- /dev/null
+++ b/test/reference/gl-surface-source.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/gl-surface-source.traps.rgb24.ref.png b/test/reference/gl-surface-source.traps.rgb24.ref.png
new file mode 100644
index 00000000..0d68a82c
--- /dev/null
+++ b/test/reference/gl-surface-source.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/glyph-cache-pressure.mask.argb32.ref.png b/test/reference/glyph-cache-pressure.mask.argb32.ref.png
new file mode 100644
index 00000000..a6e1b061
--- /dev/null
+++ b/test/reference/glyph-cache-pressure.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/glyph-cache-pressure.mask.rgb24.ref.png b/test/reference/glyph-cache-pressure.mask.rgb24.ref.png
new file mode 100644
index 00000000..a6e1b061
--- /dev/null
+++ b/test/reference/glyph-cache-pressure.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/glyph-cache-pressure.traps.argb32.ref.png b/test/reference/glyph-cache-pressure.traps.argb32.ref.png
new file mode 100644
index 00000000..a6e1b061
--- /dev/null
+++ b/test/reference/glyph-cache-pressure.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/glyph-cache-pressure.traps.rgb24.ref.png b/test/reference/glyph-cache-pressure.traps.rgb24.ref.png
new file mode 100644
index 00000000..a6e1b061
--- /dev/null
+++ b/test/reference/glyph-cache-pressure.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/gradient-alpha.mask.argb32.ref.png b/test/reference/gradient-alpha.mask.argb32.ref.png
new file mode 100644
index 00000000..f64b26a7
--- /dev/null
+++ b/test/reference/gradient-alpha.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/gradient-alpha.mask.rgb24.ref.png b/test/reference/gradient-alpha.mask.rgb24.ref.png
new file mode 100644
index 00000000..3c7258d9
--- /dev/null
+++ b/test/reference/gradient-alpha.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/gradient-constant-alpha.mask.argb32.ref.png b/test/reference/gradient-constant-alpha.mask.argb32.ref.png
new file mode 100644
index 00000000..7f49e2c6
--- /dev/null
+++ b/test/reference/gradient-constant-alpha.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/gradient-constant-alpha.mask.rgb24.ref.png b/test/reference/gradient-constant-alpha.mask.rgb24.ref.png
new file mode 100644
index 00000000..69cd5963
--- /dev/null
+++ b/test/reference/gradient-constant-alpha.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/gradient-zero-stops-mask.mask.argb32.ref.png b/test/reference/gradient-zero-stops-mask.mask.argb32.ref.png
new file mode 100644
index 00000000..0a50f4ca
--- /dev/null
+++ b/test/reference/gradient-zero-stops-mask.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/gradient-zero-stops-mask.mask.rgb24.ref.png b/test/reference/gradient-zero-stops-mask.mask.rgb24.ref.png
new file mode 100644
index 00000000..21465ce4
--- /dev/null
+++ b/test/reference/gradient-zero-stops-mask.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/gradient-zero-stops.mask.argb32.ref.png b/test/reference/gradient-zero-stops.mask.argb32.ref.png
new file mode 100644
index 00000000..0a50f4ca
--- /dev/null
+++ b/test/reference/gradient-zero-stops.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/gradient-zero-stops.mask.rgb24.ref.png b/test/reference/gradient-zero-stops.mask.rgb24.ref.png
new file mode 100644
index 00000000..21465ce4
--- /dev/null
+++ b/test/reference/gradient-zero-stops.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/group-clip.mask.argb32.ref.png b/test/reference/group-clip.mask.argb32.ref.png
new file mode 100644
index 00000000..7b8a7532
--- /dev/null
+++ b/test/reference/group-clip.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/group-clip.mask.rgb24.ref.png b/test/reference/group-clip.mask.rgb24.ref.png
new file mode 100644
index 00000000..7b8a7532
--- /dev/null
+++ b/test/reference/group-clip.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/group-paint.mask.argb32.ref.png b/test/reference/group-paint.mask.argb32.ref.png
new file mode 100644
index 00000000..1ed070ca
--- /dev/null
+++ b/test/reference/group-paint.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/group-paint.mask.rgb24.ref.png b/test/reference/group-paint.mask.rgb24.ref.png
new file mode 100644
index 00000000..1ed070ca
--- /dev/null
+++ b/test/reference/group-paint.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/group-unaligned.mask.argb32.ref.png b/test/reference/group-unaligned.mask.argb32.ref.png
new file mode 100644
index 00000000..beb0ae2d
--- /dev/null
+++ b/test/reference/group-unaligned.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/group-unaligned.mask.rgb24.ref.png b/test/reference/group-unaligned.mask.rgb24.ref.png
new file mode 100644
index 00000000..beb0ae2d
--- /dev/null
+++ b/test/reference/group-unaligned.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/halo-transform.mask.argb32.ref.png b/test/reference/halo-transform.mask.argb32.ref.png
new file mode 100644
index 00000000..96c6f422
--- /dev/null
+++ b/test/reference/halo-transform.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/halo-transform.mask.rgb24.ref.png b/test/reference/halo-transform.mask.rgb24.ref.png
new file mode 100644
index 00000000..96c6f422
--- /dev/null
+++ b/test/reference/halo-transform.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/halo-transform.traps.argb32.ref.png b/test/reference/halo-transform.traps.argb32.ref.png
new file mode 100644
index 00000000..96c6f422
--- /dev/null
+++ b/test/reference/halo-transform.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/halo-transform.traps.rgb24.ref.png b/test/reference/halo-transform.traps.rgb24.ref.png
new file mode 100644
index 00000000..96c6f422
--- /dev/null
+++ b/test/reference/halo-transform.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/halo.mask.argb32.ref.png b/test/reference/halo.mask.argb32.ref.png
new file mode 100644
index 00000000..191ee479
--- /dev/null
+++ b/test/reference/halo.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/halo.mask.rgb24.ref.png b/test/reference/halo.mask.rgb24.ref.png
new file mode 100644
index 00000000..191ee479
--- /dev/null
+++ b/test/reference/halo.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/halo.traps.argb32.ref.png b/test/reference/halo.traps.argb32.ref.png
new file mode 100644
index 00000000..191ee479
--- /dev/null
+++ b/test/reference/halo.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/halo.traps.rgb24.ref.png b/test/reference/halo.traps.rgb24.ref.png
new file mode 100644
index 00000000..191ee479
--- /dev/null
+++ b/test/reference/halo.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/hatchings.mask.argb32.ref.png b/test/reference/hatchings.mask.argb32.ref.png
new file mode 100644
index 00000000..77fe853a
--- /dev/null
+++ b/test/reference/hatchings.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/hatchings.mask.rgb24.ref.png b/test/reference/hatchings.mask.rgb24.ref.png
new file mode 100644
index 00000000..77fe853a
--- /dev/null
+++ b/test/reference/hatchings.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/horizontal-clip.mask.argb32.ref.png b/test/reference/horizontal-clip.mask.argb32.ref.png
new file mode 100644
index 00000000..43dd07f1
--- /dev/null
+++ b/test/reference/horizontal-clip.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/horizontal-clip.mask.rgb24.ref.png b/test/reference/horizontal-clip.mask.rgb24.ref.png
new file mode 100644
index 00000000..43dd07f1
--- /dev/null
+++ b/test/reference/horizontal-clip.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/huge-linear.mask.argb32.ref.png b/test/reference/huge-linear.mask.argb32.ref.png
new file mode 100644
index 00000000..f89217b8
--- /dev/null
+++ b/test/reference/huge-linear.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/huge-linear.mask.rgb24.ref.png b/test/reference/huge-linear.mask.rgb24.ref.png
new file mode 100644
index 00000000..f89217b8
--- /dev/null
+++ b/test/reference/huge-linear.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/huge-radial.mask.argb32.ref.png b/test/reference/huge-radial.mask.argb32.ref.png
new file mode 100644
index 00000000..541bb309
--- /dev/null
+++ b/test/reference/huge-radial.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/huge-radial.mask.rgb24.ref.png b/test/reference/huge-radial.mask.rgb24.ref.png
new file mode 100644
index 00000000..541bb309
--- /dev/null
+++ b/test/reference/huge-radial.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/image-bug-710072-aligned.mask.argb32.ref.png b/test/reference/image-bug-710072-aligned.mask.argb32.ref.png
new file mode 100644
index 00000000..42abd205
--- /dev/null
+++ b/test/reference/image-bug-710072-aligned.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/image-bug-710072-aligned.mask.rgb24.ref.png b/test/reference/image-bug-710072-aligned.mask.rgb24.ref.png
new file mode 100644
index 00000000..42abd205
--- /dev/null
+++ b/test/reference/image-bug-710072-aligned.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/image-bug-710072-unaligned.mask.argb32.ref.png b/test/reference/image-bug-710072-unaligned.mask.argb32.ref.png
new file mode 100644
index 00000000..13efa30f
--- /dev/null
+++ b/test/reference/image-bug-710072-unaligned.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/image-bug-710072-unaligned.mask.rgb24.ref.png b/test/reference/image-bug-710072-unaligned.mask.rgb24.ref.png
new file mode 100644
index 00000000..13efa30f
--- /dev/null
+++ b/test/reference/image-bug-710072-unaligned.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/image-surface-source.mask.argb32.ref.png b/test/reference/image-surface-source.mask.argb32.ref.png
new file mode 100644
index 00000000..01829720
--- /dev/null
+++ b/test/reference/image-surface-source.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/image-surface-source.mask.rgb24.ref.png b/test/reference/image-surface-source.mask.rgb24.ref.png
new file mode 100644
index 00000000..0d68a82c
--- /dev/null
+++ b/test/reference/image-surface-source.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/implicit-close.mask.argb32.ref.png b/test/reference/implicit-close.mask.argb32.ref.png
new file mode 100644
index 00000000..f15f8a3a
--- /dev/null
+++ b/test/reference/implicit-close.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/implicit-close.mask.rgb24.ref.png b/test/reference/implicit-close.mask.rgb24.ref.png
new file mode 100644
index 00000000..f15f8a3a
--- /dev/null
+++ b/test/reference/implicit-close.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/infinite-join.mask.argb32.ref.png b/test/reference/infinite-join.mask.argb32.ref.png
new file mode 100644
index 00000000..54a91124
--- /dev/null
+++ b/test/reference/infinite-join.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/infinite-join.mask.rgb24.ref.png b/test/reference/infinite-join.mask.rgb24.ref.png
new file mode 100644
index 00000000..54a91124
--- /dev/null
+++ b/test/reference/infinite-join.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/inverse-text.base.argb32.ref.png b/test/reference/inverse-text.base.argb32.ref.png
new file mode 100644
index 00000000..b7bbb972
--- /dev/null
+++ b/test/reference/inverse-text.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/inverse-text.base.rgb24.ref.png b/test/reference/inverse-text.base.rgb24.ref.png
new file mode 100644
index 00000000..b7bbb972
--- /dev/null
+++ b/test/reference/inverse-text.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/inverse-text.mask.argb32.ref.png b/test/reference/inverse-text.mask.argb32.ref.png
new file mode 100644
index 00000000..b7bbb972
--- /dev/null
+++ b/test/reference/inverse-text.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/inverse-text.mask.rgb24.ref.png b/test/reference/inverse-text.mask.rgb24.ref.png
new file mode 100644
index 00000000..b7bbb972
--- /dev/null
+++ b/test/reference/inverse-text.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/inverse-text.traps.argb32.ref.png b/test/reference/inverse-text.traps.argb32.ref.png
new file mode 100644
index 00000000..b7bbb972
--- /dev/null
+++ b/test/reference/inverse-text.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/inverse-text.traps.rgb24.ref.png b/test/reference/inverse-text.traps.rgb24.ref.png
new file mode 100644
index 00000000..b7bbb972
--- /dev/null
+++ b/test/reference/inverse-text.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/joins-loop.mask.argb32.ref.png b/test/reference/joins-loop.mask.argb32.ref.png
new file mode 100644
index 00000000..8e3f25ad
--- /dev/null
+++ b/test/reference/joins-loop.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/joins-loop.mask.rgb24.ref.png b/test/reference/joins-loop.mask.rgb24.ref.png
new file mode 100644
index 00000000..8e3f25ad
--- /dev/null
+++ b/test/reference/joins-loop.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/joins-retrace.mask.argb32.ref.png b/test/reference/joins-retrace.mask.argb32.ref.png
new file mode 100644
index 00000000..22b0ecf9
--- /dev/null
+++ b/test/reference/joins-retrace.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/joins-retrace.mask.rgb24.ref.png b/test/reference/joins-retrace.mask.rgb24.ref.png
new file mode 100644
index 00000000..22b0ecf9
--- /dev/null
+++ b/test/reference/joins-retrace.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/joins-star.mask.argb32.ref.png b/test/reference/joins-star.mask.argb32.ref.png
new file mode 100644
index 00000000..76a541cc
--- /dev/null
+++ b/test/reference/joins-star.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/joins-star.mask.rgb24.ref.png b/test/reference/joins-star.mask.rgb24.ref.png
new file mode 100644
index 00000000..76a541cc
--- /dev/null
+++ b/test/reference/joins-star.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/joins.mask.argb32.ref.png b/test/reference/joins.mask.argb32.ref.png
new file mode 100644
index 00000000..a1d069d3
--- /dev/null
+++ b/test/reference/joins.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/joins.mask.rgb24.ref.png b/test/reference/joins.mask.rgb24.ref.png
new file mode 100644
index 00000000..a1d069d3
--- /dev/null
+++ b/test/reference/joins.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/large-clip.mask.argb32.ref.png b/test/reference/large-clip.mask.argb32.ref.png
new file mode 100644
index 00000000..3c3464be
--- /dev/null
+++ b/test/reference/large-clip.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/large-clip.mask.rgb24.ref.png b/test/reference/large-clip.mask.rgb24.ref.png
new file mode 100644
index 00000000..3c3464be
--- /dev/null
+++ b/test/reference/large-clip.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/large-font.mask.argb32.ref.png b/test/reference/large-font.mask.argb32.ref.png
new file mode 100644
index 00000000..503061a9
--- /dev/null
+++ b/test/reference/large-font.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/large-font.mask.rgb24.ref.png b/test/reference/large-font.mask.rgb24.ref.png
new file mode 100644
index 00000000..503061a9
--- /dev/null
+++ b/test/reference/large-font.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/large-source-roi.mask.argb32.ref.png b/test/reference/large-source-roi.mask.argb32.ref.png
new file mode 100644
index 00000000..216a065e
--- /dev/null
+++ b/test/reference/large-source-roi.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/large-source-roi.mask.rgb24.ref.png b/test/reference/large-source-roi.mask.rgb24.ref.png
new file mode 100644
index 00000000..216a065e
--- /dev/null
+++ b/test/reference/large-source-roi.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/large-source.mask.argb32.ref.png b/test/reference/large-source.mask.argb32.ref.png
new file mode 100644
index 00000000..a54455fb
--- /dev/null
+++ b/test/reference/large-source.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/large-source.mask.rgb24.ref.png b/test/reference/large-source.mask.rgb24.ref.png
new file mode 100644
index 00000000..a54455fb
--- /dev/null
+++ b/test/reference/large-source.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/large-twin-antialias-mixed.mask.argb32.ref.png b/test/reference/large-twin-antialias-mixed.mask.argb32.ref.png
new file mode 100644
index 00000000..ace463b1
--- /dev/null
+++ b/test/reference/large-twin-antialias-mixed.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/large-twin-antialias-mixed.mask.rgb24.ref.png b/test/reference/large-twin-antialias-mixed.mask.rgb24.ref.png
new file mode 100644
index 00000000..ace463b1
--- /dev/null
+++ b/test/reference/large-twin-antialias-mixed.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/leaky-dash.mask.argb32.ref.png b/test/reference/leaky-dash.mask.argb32.ref.png
new file mode 100644
index 00000000..0973ece7
--- /dev/null
+++ b/test/reference/leaky-dash.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/leaky-dash.mask.rgb24.ref.png b/test/reference/leaky-dash.mask.rgb24.ref.png
new file mode 100644
index 00000000..0973ece7
--- /dev/null
+++ b/test/reference/leaky-dash.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/leaky-dashed-rectangle.mask.argb32.ref.png b/test/reference/leaky-dashed-rectangle.mask.argb32.ref.png
new file mode 100644
index 00000000..05f45846
--- /dev/null
+++ b/test/reference/leaky-dashed-rectangle.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/leaky-dashed-rectangle.mask.rgb24.ref.png b/test/reference/leaky-dashed-rectangle.mask.rgb24.ref.png
new file mode 100644
index 00000000..05f45846
--- /dev/null
+++ b/test/reference/leaky-dashed-rectangle.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/leaky-dashed-stroke.mask.argb32.ref.png b/test/reference/leaky-dashed-stroke.mask.argb32.ref.png
new file mode 100644
index 00000000..ae64dae4
--- /dev/null
+++ b/test/reference/leaky-dashed-stroke.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/leaky-dashed-stroke.mask.rgb24.ref.png b/test/reference/leaky-dashed-stroke.mask.rgb24.ref.png
new file mode 100644
index 00000000..ae64dae4
--- /dev/null
+++ b/test/reference/leaky-dashed-stroke.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/leaky-polygon.mask.argb32.ref.png b/test/reference/leaky-polygon.mask.argb32.ref.png
new file mode 100644
index 00000000..d2a06a3c
--- /dev/null
+++ b/test/reference/leaky-polygon.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/leaky-polygon.mask.rgb24.ref.png b/test/reference/leaky-polygon.mask.rgb24.ref.png
new file mode 100644
index 00000000..d2a06a3c
--- /dev/null
+++ b/test/reference/leaky-polygon.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-dashed.base.argb32.ref.png b/test/reference/line-width-large-overlap-dashed.base.argb32.ref.png
new file mode 100644
index 00000000..e6cdcc2f
--- /dev/null
+++ b/test/reference/line-width-large-overlap-dashed.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-dashed.base.rgb24.ref.png b/test/reference/line-width-large-overlap-dashed.base.rgb24.ref.png
new file mode 100644
index 00000000..e6cdcc2f
--- /dev/null
+++ b/test/reference/line-width-large-overlap-dashed.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-dashed.mask.argb32.ref.png b/test/reference/line-width-large-overlap-dashed.mask.argb32.ref.png
new file mode 100644
index 00000000..8cd4d31e
--- /dev/null
+++ b/test/reference/line-width-large-overlap-dashed.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-dashed.mask.rgb24.ref.png b/test/reference/line-width-large-overlap-dashed.mask.rgb24.ref.png
new file mode 100644
index 00000000..8cd4d31e
--- /dev/null
+++ b/test/reference/line-width-large-overlap-dashed.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-dashed.traps.argb32.ref.png b/test/reference/line-width-large-overlap-dashed.traps.argb32.ref.png
new file mode 100644
index 00000000..8cd4d31e
--- /dev/null
+++ b/test/reference/line-width-large-overlap-dashed.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-dashed.traps.rgb24.ref.png b/test/reference/line-width-large-overlap-dashed.traps.rgb24.ref.png
new file mode 100644
index 00000000..8cd4d31e
--- /dev/null
+++ b/test/reference/line-width-large-overlap-dashed.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-flipped.base.argb32.ref.png b/test/reference/line-width-large-overlap-flipped.base.argb32.ref.png
new file mode 100644
index 00000000..3c3464be
--- /dev/null
+++ b/test/reference/line-width-large-overlap-flipped.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-flipped.base.rgb24.ref.png b/test/reference/line-width-large-overlap-flipped.base.rgb24.ref.png
new file mode 100644
index 00000000..3c3464be
--- /dev/null
+++ b/test/reference/line-width-large-overlap-flipped.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-flipped.mask.argb32.ref.png b/test/reference/line-width-large-overlap-flipped.mask.argb32.ref.png
new file mode 100644
index 00000000..3c3464be
--- /dev/null
+++ b/test/reference/line-width-large-overlap-flipped.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-flipped.mask.rgb24.ref.png b/test/reference/line-width-large-overlap-flipped.mask.rgb24.ref.png
new file mode 100644
index 00000000..3c3464be
--- /dev/null
+++ b/test/reference/line-width-large-overlap-flipped.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-flipped.traps.argb32.ref.png b/test/reference/line-width-large-overlap-flipped.traps.argb32.ref.png
new file mode 100644
index 00000000..3c3464be
--- /dev/null
+++ b/test/reference/line-width-large-overlap-flipped.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-flipped.traps.rgb24.ref.png b/test/reference/line-width-large-overlap-flipped.traps.rgb24.ref.png
new file mode 100644
index 00000000..3c3464be
--- /dev/null
+++ b/test/reference/line-width-large-overlap-flipped.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-flopped.base.argb32.ref.png b/test/reference/line-width-large-overlap-flopped.base.argb32.ref.png
new file mode 100644
index 00000000..3c3464be
--- /dev/null
+++ b/test/reference/line-width-large-overlap-flopped.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-flopped.base.rgb24.ref.png b/test/reference/line-width-large-overlap-flopped.base.rgb24.ref.png
new file mode 100644
index 00000000..3c3464be
--- /dev/null
+++ b/test/reference/line-width-large-overlap-flopped.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-flopped.mask.argb32.ref.png b/test/reference/line-width-large-overlap-flopped.mask.argb32.ref.png
new file mode 100644
index 00000000..3c3464be
--- /dev/null
+++ b/test/reference/line-width-large-overlap-flopped.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-flopped.mask.rgb24.ref.png b/test/reference/line-width-large-overlap-flopped.mask.rgb24.ref.png
new file mode 100644
index 00000000..3c3464be
--- /dev/null
+++ b/test/reference/line-width-large-overlap-flopped.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-flopped.traps.argb32.ref.png b/test/reference/line-width-large-overlap-flopped.traps.argb32.ref.png
new file mode 100644
index 00000000..3c3464be
--- /dev/null
+++ b/test/reference/line-width-large-overlap-flopped.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-flopped.traps.rgb24.ref.png b/test/reference/line-width-large-overlap-flopped.traps.rgb24.ref.png
new file mode 100644
index 00000000..3c3464be
--- /dev/null
+++ b/test/reference/line-width-large-overlap-flopped.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-offset.base.argb32.ref.png b/test/reference/line-width-large-overlap-offset.base.argb32.ref.png
new file mode 100644
index 00000000..3c3464be
--- /dev/null
+++ b/test/reference/line-width-large-overlap-offset.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-offset.base.rgb24.ref.png b/test/reference/line-width-large-overlap-offset.base.rgb24.ref.png
new file mode 100644
index 00000000..3c3464be
--- /dev/null
+++ b/test/reference/line-width-large-overlap-offset.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-offset.mask.argb32.ref.png b/test/reference/line-width-large-overlap-offset.mask.argb32.ref.png
new file mode 100644
index 00000000..3c3464be
--- /dev/null
+++ b/test/reference/line-width-large-overlap-offset.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-offset.mask.rgb24.ref.png b/test/reference/line-width-large-overlap-offset.mask.rgb24.ref.png
new file mode 100644
index 00000000..3c3464be
--- /dev/null
+++ b/test/reference/line-width-large-overlap-offset.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-offset.traps.argb32.ref.png b/test/reference/line-width-large-overlap-offset.traps.argb32.ref.png
new file mode 100644
index 00000000..3c3464be
--- /dev/null
+++ b/test/reference/line-width-large-overlap-offset.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-offset.traps.rgb24.ref.png b/test/reference/line-width-large-overlap-offset.traps.rgb24.ref.png
new file mode 100644
index 00000000..3c3464be
--- /dev/null
+++ b/test/reference/line-width-large-overlap-offset.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-rotated.base.argb32.ref.png b/test/reference/line-width-large-overlap-rotated.base.argb32.ref.png
new file mode 100644
index 00000000..87fe7523
--- /dev/null
+++ b/test/reference/line-width-large-overlap-rotated.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-rotated.base.rgb24.ref.png b/test/reference/line-width-large-overlap-rotated.base.rgb24.ref.png
new file mode 100644
index 00000000..87fe7523
--- /dev/null
+++ b/test/reference/line-width-large-overlap-rotated.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-rotated.mask.argb32.ref.png b/test/reference/line-width-large-overlap-rotated.mask.argb32.ref.png
new file mode 100644
index 00000000..35dca5cf
--- /dev/null
+++ b/test/reference/line-width-large-overlap-rotated.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-rotated.mask.rgb24.ref.png b/test/reference/line-width-large-overlap-rotated.mask.rgb24.ref.png
new file mode 100644
index 00000000..35dca5cf
--- /dev/null
+++ b/test/reference/line-width-large-overlap-rotated.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-rotated.traps.argb32.ref.png b/test/reference/line-width-large-overlap-rotated.traps.argb32.ref.png
new file mode 100644
index 00000000..35dca5cf
--- /dev/null
+++ b/test/reference/line-width-large-overlap-rotated.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap-rotated.traps.rgb24.ref.png b/test/reference/line-width-large-overlap-rotated.traps.rgb24.ref.png
new file mode 100644
index 00000000..35dca5cf
--- /dev/null
+++ b/test/reference/line-width-large-overlap-rotated.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap.base.argb32.ref.png b/test/reference/line-width-large-overlap.base.argb32.ref.png
new file mode 100644
index 00000000..3c3464be
--- /dev/null
+++ b/test/reference/line-width-large-overlap.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap.base.rgb24.ref.png b/test/reference/line-width-large-overlap.base.rgb24.ref.png
new file mode 100644
index 00000000..3c3464be
--- /dev/null
+++ b/test/reference/line-width-large-overlap.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap.mask.argb32.ref.png b/test/reference/line-width-large-overlap.mask.argb32.ref.png
new file mode 100644
index 00000000..3c3464be
--- /dev/null
+++ b/test/reference/line-width-large-overlap.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap.mask.rgb24.ref.png b/test/reference/line-width-large-overlap.mask.rgb24.ref.png
new file mode 100644
index 00000000..3c3464be
--- /dev/null
+++ b/test/reference/line-width-large-overlap.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap.traps.argb32.ref.png b/test/reference/line-width-large-overlap.traps.argb32.ref.png
new file mode 100644
index 00000000..3c3464be
--- /dev/null
+++ b/test/reference/line-width-large-overlap.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-large-overlap.traps.rgb24.ref.png b/test/reference/line-width-large-overlap.traps.rgb24.ref.png
new file mode 100644
index 00000000..3c3464be
--- /dev/null
+++ b/test/reference/line-width-large-overlap.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-overlap-dashed.mask.argb32.ref.png b/test/reference/line-width-overlap-dashed.mask.argb32.ref.png
new file mode 100644
index 00000000..0de187d4
--- /dev/null
+++ b/test/reference/line-width-overlap-dashed.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-overlap-dashed.mask.rgb24.ref.png b/test/reference/line-width-overlap-dashed.mask.rgb24.ref.png
new file mode 100644
index 00000000..0de187d4
--- /dev/null
+++ b/test/reference/line-width-overlap-dashed.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-overlap-flipped.mask.argb32.ref.png b/test/reference/line-width-overlap-flipped.mask.argb32.ref.png
new file mode 100644
index 00000000..13d70c8f
--- /dev/null
+++ b/test/reference/line-width-overlap-flipped.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-overlap-flipped.mask.rgb24.ref.png b/test/reference/line-width-overlap-flipped.mask.rgb24.ref.png
new file mode 100644
index 00000000..13d70c8f
--- /dev/null
+++ b/test/reference/line-width-overlap-flipped.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-overlap-flopped.mask.argb32.ref.png b/test/reference/line-width-overlap-flopped.mask.argb32.ref.png
new file mode 100644
index 00000000..13d70c8f
--- /dev/null
+++ b/test/reference/line-width-overlap-flopped.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-overlap-flopped.mask.rgb24.ref.png b/test/reference/line-width-overlap-flopped.mask.rgb24.ref.png
new file mode 100644
index 00000000..13d70c8f
--- /dev/null
+++ b/test/reference/line-width-overlap-flopped.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-overlap-offset.mask.argb32.ref.png b/test/reference/line-width-overlap-offset.mask.argb32.ref.png
new file mode 100644
index 00000000..eafa50b1
--- /dev/null
+++ b/test/reference/line-width-overlap-offset.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-overlap-offset.mask.rgb24.ref.png b/test/reference/line-width-overlap-offset.mask.rgb24.ref.png
new file mode 100644
index 00000000..eafa50b1
--- /dev/null
+++ b/test/reference/line-width-overlap-offset.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-overlap-offset.traps.argb32.ref.png b/test/reference/line-width-overlap-offset.traps.argb32.ref.png
new file mode 100644
index 00000000..13a138b9
--- /dev/null
+++ b/test/reference/line-width-overlap-offset.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-overlap-offset.traps.rgb24.ref.png b/test/reference/line-width-overlap-offset.traps.rgb24.ref.png
new file mode 100644
index 00000000..13a138b9
--- /dev/null
+++ b/test/reference/line-width-overlap-offset.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-overlap-rotated.mask.argb32.ref.png b/test/reference/line-width-overlap-rotated.mask.argb32.ref.png
new file mode 100644
index 00000000..619a5938
--- /dev/null
+++ b/test/reference/line-width-overlap-rotated.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-overlap-rotated.mask.rgb24.ref.png b/test/reference/line-width-overlap-rotated.mask.rgb24.ref.png
new file mode 100644
index 00000000..619a5938
--- /dev/null
+++ b/test/reference/line-width-overlap-rotated.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-overlap.mask.argb32.ref.png b/test/reference/line-width-overlap.mask.argb32.ref.png
new file mode 100644
index 00000000..13d70c8f
--- /dev/null
+++ b/test/reference/line-width-overlap.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-overlap.mask.rgb24.ref.png b/test/reference/line-width-overlap.mask.rgb24.ref.png
new file mode 100644
index 00000000..13d70c8f
--- /dev/null
+++ b/test/reference/line-width-overlap.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-scale.mask.argb32.ref.png b/test/reference/line-width-scale.mask.argb32.ref.png
new file mode 100644
index 00000000..5767bc7d
--- /dev/null
+++ b/test/reference/line-width-scale.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-scale.mask.rgb24.ref.png b/test/reference/line-width-scale.mask.rgb24.ref.png
new file mode 100644
index 00000000..5767bc7d
--- /dev/null
+++ b/test/reference/line-width-scale.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width-tolerance.mask.argb32.ref.png b/test/reference/line-width-tolerance.mask.argb32.ref.png
new file mode 100644
index 00000000..9c4d4398
--- /dev/null
+++ b/test/reference/line-width-tolerance.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width-tolerance.mask.rgb24.ref.png b/test/reference/line-width-tolerance.mask.rgb24.ref.png
new file mode 100644
index 00000000..9c4d4398
--- /dev/null
+++ b/test/reference/line-width-tolerance.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/line-width.mask.argb32.ref.png b/test/reference/line-width.mask.argb32.ref.png
new file mode 100644
index 00000000..2a788285
--- /dev/null
+++ b/test/reference/line-width.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/line-width.mask.rgb24.ref.png b/test/reference/line-width.mask.rgb24.ref.png
new file mode 100644
index 00000000..2a788285
--- /dev/null
+++ b/test/reference/line-width.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/linear-gradient-extend.mask.argb32.ref.png b/test/reference/linear-gradient-extend.mask.argb32.ref.png
new file mode 100644
index 00000000..79ce747d
--- /dev/null
+++ b/test/reference/linear-gradient-extend.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/linear-gradient-extend.mask.rgb24.ref.png b/test/reference/linear-gradient-extend.mask.rgb24.ref.png
new file mode 100644
index 00000000..79ce747d
--- /dev/null
+++ b/test/reference/linear-gradient-extend.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/linear-gradient-large.mask.argb32.ref.png b/test/reference/linear-gradient-large.mask.argb32.ref.png
new file mode 100644
index 00000000..f1f37ab4
--- /dev/null
+++ b/test/reference/linear-gradient-large.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/linear-gradient-large.mask.rgb24.ref.png b/test/reference/linear-gradient-large.mask.rgb24.ref.png
new file mode 100644
index 00000000..f1f37ab4
--- /dev/null
+++ b/test/reference/linear-gradient-large.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/linear-gradient-one-stop.mask.argb32.ref.png b/test/reference/linear-gradient-one-stop.mask.argb32.ref.png
new file mode 100644
index 00000000..da02fda4
--- /dev/null
+++ b/test/reference/linear-gradient-one-stop.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/linear-gradient-one-stop.mask.rgb24.ref.png b/test/reference/linear-gradient-one-stop.mask.rgb24.ref.png
new file mode 100644
index 00000000..efc12ee7
--- /dev/null
+++ b/test/reference/linear-gradient-one-stop.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/linear-gradient-reflect.mask.argb32.ref.png b/test/reference/linear-gradient-reflect.mask.argb32.ref.png
new file mode 100644
index 00000000..b68dccb5
--- /dev/null
+++ b/test/reference/linear-gradient-reflect.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/linear-gradient-reflect.mask.rgb24.ref.png b/test/reference/linear-gradient-reflect.mask.rgb24.ref.png
new file mode 100644
index 00000000..b68dccb5
--- /dev/null
+++ b/test/reference/linear-gradient-reflect.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/linear-gradient-subset.mask.argb32.ref.png b/test/reference/linear-gradient-subset.mask.argb32.ref.png
new file mode 100644
index 00000000..3d30d0ab
--- /dev/null
+++ b/test/reference/linear-gradient-subset.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/linear-gradient-subset.mask.rgb24.ref.png b/test/reference/linear-gradient-subset.mask.rgb24.ref.png
new file mode 100644
index 00000000..3d30d0ab
--- /dev/null
+++ b/test/reference/linear-gradient-subset.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/linear-gradient.mask.argb32.ref.png b/test/reference/linear-gradient.mask.argb32.ref.png
new file mode 100644
index 00000000..3f78c52e
--- /dev/null
+++ b/test/reference/linear-gradient.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/linear-gradient.mask.rgb24.ref.png b/test/reference/linear-gradient.mask.rgb24.ref.png
new file mode 100644
index 00000000..3f78c52e
--- /dev/null
+++ b/test/reference/linear-gradient.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/linear-step-function.mask.argb32.ref.png b/test/reference/linear-step-function.mask.argb32.ref.png
new file mode 100644
index 00000000..0ed126e1
--- /dev/null
+++ b/test/reference/linear-step-function.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/linear-step-function.mask.rgb24.ref.png b/test/reference/linear-step-function.mask.rgb24.ref.png
new file mode 100644
index 00000000..0ed126e1
--- /dev/null
+++ b/test/reference/linear-step-function.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/linear-uniform.mask.argb32.ref.png b/test/reference/linear-uniform.mask.argb32.ref.png
new file mode 100644
index 00000000..94ca3361
--- /dev/null
+++ b/test/reference/linear-uniform.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/linear-uniform.mask.rgb24.ref.png b/test/reference/linear-uniform.mask.rgb24.ref.png
new file mode 100644
index 00000000..94ca3361
--- /dev/null
+++ b/test/reference/linear-uniform.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/long-dashed-lines.mask.argb32.ref.png b/test/reference/long-dashed-lines.mask.argb32.ref.png
new file mode 100644
index 00000000..9c7208c1
--- /dev/null
+++ b/test/reference/long-dashed-lines.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/long-dashed-lines.mask.rgb24.ref.png b/test/reference/long-dashed-lines.mask.rgb24.ref.png
new file mode 100644
index 00000000..9c7208c1
--- /dev/null
+++ b/test/reference/long-dashed-lines.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/long-lines.mask.argb32.ref.png b/test/reference/long-lines.mask.argb32.ref.png
new file mode 100644
index 00000000..fe911631
--- /dev/null
+++ b/test/reference/long-lines.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/long-lines.mask.rgb24.ref.png b/test/reference/long-lines.mask.rgb24.ref.png
new file mode 100644
index 00000000..fe911631
--- /dev/null
+++ b/test/reference/long-lines.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/map-all-to-image.mask.argb32.ref.png b/test/reference/map-all-to-image.mask.argb32.ref.png
new file mode 100644
index 00000000..c56d9698
--- /dev/null
+++ b/test/reference/map-all-to-image.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/map-all-to-image.mask.rgb24.ref.png b/test/reference/map-all-to-image.mask.rgb24.ref.png
new file mode 100644
index 00000000..c56d9698
--- /dev/null
+++ b/test/reference/map-all-to-image.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/map-bit-to-image.mask.argb32.ref.png b/test/reference/map-bit-to-image.mask.argb32.ref.png
new file mode 100644
index 00000000..b42dcb62
--- /dev/null
+++ b/test/reference/map-bit-to-image.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/map-bit-to-image.mask.rgb24.ref.png b/test/reference/map-bit-to-image.mask.rgb24.ref.png
new file mode 100644
index 00000000..b42dcb62
--- /dev/null
+++ b/test/reference/map-bit-to-image.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/map-to-image-fill.mask.argb32.ref.png b/test/reference/map-to-image-fill.mask.argb32.ref.png
new file mode 100644
index 00000000..c2893e0d
--- /dev/null
+++ b/test/reference/map-to-image-fill.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/map-to-image-fill.mask.rgb24.ref.png b/test/reference/map-to-image-fill.mask.rgb24.ref.png
new file mode 100644
index 00000000..c2893e0d
--- /dev/null
+++ b/test/reference/map-to-image-fill.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/mask-alpha.mask.argb32.ref.png b/test/reference/mask-alpha.mask.argb32.ref.png
new file mode 100644
index 00000000..20f06634
--- /dev/null
+++ b/test/reference/mask-alpha.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/mask-alpha.mask.rgb24.ref.png b/test/reference/mask-alpha.mask.rgb24.ref.png
new file mode 100644
index 00000000..df7a0c19
--- /dev/null
+++ b/test/reference/mask-alpha.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/mask-ctm.mask.argb32.ref.png b/test/reference/mask-ctm.mask.argb32.ref.png
new file mode 100644
index 00000000..07d903d1
--- /dev/null
+++ b/test/reference/mask-ctm.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/mask-ctm.mask.rgb24.ref.png b/test/reference/mask-ctm.mask.rgb24.ref.png
new file mode 100644
index 00000000..de3fa097
--- /dev/null
+++ b/test/reference/mask-ctm.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/mask-surface-ctm.mask.argb32.ref.png b/test/reference/mask-surface-ctm.mask.argb32.ref.png
new file mode 100644
index 00000000..07d903d1
--- /dev/null
+++ b/test/reference/mask-surface-ctm.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/mask-surface-ctm.mask.rgb24.ref.png b/test/reference/mask-surface-ctm.mask.rgb24.ref.png
new file mode 100644
index 00000000..de3fa097
--- /dev/null
+++ b/test/reference/mask-surface-ctm.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/mask-transformed-image.mask.argb32.ref.png b/test/reference/mask-transformed-image.mask.argb32.ref.png
new file mode 100644
index 00000000..af84b39d
--- /dev/null
+++ b/test/reference/mask-transformed-image.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/mask-transformed-image.mask.rgb24.ref.png b/test/reference/mask-transformed-image.mask.rgb24.ref.png
new file mode 100644
index 00000000..af84b39d
--- /dev/null
+++ b/test/reference/mask-transformed-image.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/mask-transformed-similar.mask.argb32.ref.png b/test/reference/mask-transformed-similar.mask.argb32.ref.png
new file mode 100644
index 00000000..af84b39d
--- /dev/null
+++ b/test/reference/mask-transformed-similar.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/mask-transformed-similar.mask.rgb24.ref.png b/test/reference/mask-transformed-similar.mask.rgb24.ref.png
new file mode 100644
index 00000000..af84b39d
--- /dev/null
+++ b/test/reference/mask-transformed-similar.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/mask.mask.argb32.ref.png b/test/reference/mask.mask.argb32.ref.png
new file mode 100644
index 00000000..2d740d41
--- /dev/null
+++ b/test/reference/mask.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/mask.mask.rgb24.ref.png b/test/reference/mask.mask.rgb24.ref.png
new file mode 100644
index 00000000..12114a7e
--- /dev/null
+++ b/test/reference/mask.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/mesh-pattern-accuracy.mask.argb32.ref.png b/test/reference/mesh-pattern-accuracy.mask.argb32.ref.png
new file mode 100644
index 00000000..dfc19ff4
--- /dev/null
+++ b/test/reference/mesh-pattern-accuracy.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/mesh-pattern-accuracy.mask.rgb24.ref.png b/test/reference/mesh-pattern-accuracy.mask.rgb24.ref.png
new file mode 100644
index 00000000..dfc19ff4
--- /dev/null
+++ b/test/reference/mesh-pattern-accuracy.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/mesh-pattern-conical.mask.argb32.ref.png b/test/reference/mesh-pattern-conical.mask.argb32.ref.png
new file mode 100644
index 00000000..f5dc21dc
--- /dev/null
+++ b/test/reference/mesh-pattern-conical.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/mesh-pattern-conical.mask.rgb24.ref.png b/test/reference/mesh-pattern-conical.mask.rgb24.ref.png
new file mode 100644
index 00000000..f5dc21dc
--- /dev/null
+++ b/test/reference/mesh-pattern-conical.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/mesh-pattern-control-points.mask.argb32.ref.png b/test/reference/mesh-pattern-control-points.mask.argb32.ref.png
new file mode 100644
index 00000000..841fc3ef
--- /dev/null
+++ b/test/reference/mesh-pattern-control-points.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/mesh-pattern-control-points.mask.rgb24.ref.png b/test/reference/mesh-pattern-control-points.mask.rgb24.ref.png
new file mode 100644
index 00000000..841fc3ef
--- /dev/null
+++ b/test/reference/mesh-pattern-control-points.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/mesh-pattern-fold.mask.argb32.ref.png b/test/reference/mesh-pattern-fold.mask.argb32.ref.png
new file mode 100644
index 00000000..6275b82d
--- /dev/null
+++ b/test/reference/mesh-pattern-fold.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/mesh-pattern-fold.mask.rgb24.ref.png b/test/reference/mesh-pattern-fold.mask.rgb24.ref.png
new file mode 100644
index 00000000..6275b82d
--- /dev/null
+++ b/test/reference/mesh-pattern-fold.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/mesh-pattern-overlap.mask.argb32.ref.png b/test/reference/mesh-pattern-overlap.mask.argb32.ref.png
new file mode 100644
index 00000000..1394c9ec
--- /dev/null
+++ b/test/reference/mesh-pattern-overlap.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/mesh-pattern-overlap.mask.rgb24.ref.png b/test/reference/mesh-pattern-overlap.mask.rgb24.ref.png
new file mode 100644
index 00000000..1394c9ec
--- /dev/null
+++ b/test/reference/mesh-pattern-overlap.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/mesh-pattern-transformed.mask.argb32.ref.png b/test/reference/mesh-pattern-transformed.mask.argb32.ref.png
new file mode 100644
index 00000000..9aa482f5
--- /dev/null
+++ b/test/reference/mesh-pattern-transformed.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/mesh-pattern-transformed.mask.rgb24.ref.png b/test/reference/mesh-pattern-transformed.mask.rgb24.ref.png
new file mode 100644
index 00000000..9aa482f5
--- /dev/null
+++ b/test/reference/mesh-pattern-transformed.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/mesh-pattern.mask.argb32.ref.png b/test/reference/mesh-pattern.mask.argb32.ref.png
new file mode 100644
index 00000000..1f76639f
--- /dev/null
+++ b/test/reference/mesh-pattern.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/mesh-pattern.mask.rgb24.ref.png b/test/reference/mesh-pattern.mask.rgb24.ref.png
new file mode 100644
index 00000000..1f76639f
--- /dev/null
+++ b/test/reference/mesh-pattern.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/mime-data.mask.argb32.ref.png b/test/reference/mime-data.mask.argb32.ref.png
new file mode 100644
index 00000000..3a912c54
--- /dev/null
+++ b/test/reference/mime-data.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/mime-data.mask.rgb24.ref.png b/test/reference/mime-data.mask.rgb24.ref.png
new file mode 100644
index 00000000..3a912c54
--- /dev/null
+++ b/test/reference/mime-data.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/miter-precision.mask.argb32.ref.png b/test/reference/miter-precision.mask.argb32.ref.png
new file mode 100644
index 00000000..aa8e2292
--- /dev/null
+++ b/test/reference/miter-precision.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/miter-precision.mask.rgb24.ref.png b/test/reference/miter-precision.mask.rgb24.ref.png
new file mode 100644
index 00000000..aa8e2292
--- /dev/null
+++ b/test/reference/miter-precision.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/move-to-show-surface.mask.argb32.ref.png b/test/reference/move-to-show-surface.mask.argb32.ref.png
new file mode 100644
index 00000000..0a145d91
--- /dev/null
+++ b/test/reference/move-to-show-surface.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/move-to-show-surface.mask.rgb24.ref.png b/test/reference/move-to-show-surface.mask.rgb24.ref.png
new file mode 100644
index 00000000..0a145d91
--- /dev/null
+++ b/test/reference/move-to-show-surface.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/negative-stride-image.base.argb32.ref.png b/test/reference/negative-stride-image.base.argb32.ref.png
new file mode 100644
index 00000000..44284566
--- /dev/null
+++ b/test/reference/negative-stride-image.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/negative-stride-image.base.rgb24.ref.png b/test/reference/negative-stride-image.base.rgb24.ref.png
new file mode 100644
index 00000000..44284566
--- /dev/null
+++ b/test/reference/negative-stride-image.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/negative-stride-image.mask.argb32.ref.png b/test/reference/negative-stride-image.mask.argb32.ref.png
new file mode 100644
index 00000000..44284566
--- /dev/null
+++ b/test/reference/negative-stride-image.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/negative-stride-image.mask.rgb24.ref.png b/test/reference/negative-stride-image.mask.rgb24.ref.png
new file mode 100644
index 00000000..44284566
--- /dev/null
+++ b/test/reference/negative-stride-image.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/negative-stride-image.traps.argb32.ref.png b/test/reference/negative-stride-image.traps.argb32.ref.png
new file mode 100644
index 00000000..44284566
--- /dev/null
+++ b/test/reference/negative-stride-image.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/negative-stride-image.traps.rgb24.ref.png b/test/reference/negative-stride-image.traps.rgb24.ref.png
new file mode 100644
index 00000000..44284566
--- /dev/null
+++ b/test/reference/negative-stride-image.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/new-sub-path.mask.argb32.ref.png b/test/reference/new-sub-path.mask.argb32.ref.png
new file mode 100644
index 00000000..87a6c91c
--- /dev/null
+++ b/test/reference/new-sub-path.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/new-sub-path.mask.rgb24.ref.png b/test/reference/new-sub-path.mask.rgb24.ref.png
new file mode 100644
index 00000000..eb297bee
--- /dev/null
+++ b/test/reference/new-sub-path.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/nil-surface.mask.argb32.ref.png b/test/reference/nil-surface.mask.argb32.ref.png
new file mode 100644
index 00000000..50e35a24
--- /dev/null
+++ b/test/reference/nil-surface.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/nil-surface.mask.rgb24.ref.png b/test/reference/nil-surface.mask.rgb24.ref.png
new file mode 100644
index 00000000..7d5589c1
--- /dev/null
+++ b/test/reference/nil-surface.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/operator-alpha-alpha.mask.argb32.ref.png b/test/reference/operator-alpha-alpha.mask.argb32.ref.png
new file mode 100644
index 00000000..695d0d01
--- /dev/null
+++ b/test/reference/operator-alpha-alpha.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/operator-alpha-alpha.mask.rgb24.ref.png b/test/reference/operator-alpha-alpha.mask.rgb24.ref.png
new file mode 100644
index 00000000..695d0d01
--- /dev/null
+++ b/test/reference/operator-alpha-alpha.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/operator-alpha.mask.argb32.ref.png b/test/reference/operator-alpha.mask.argb32.ref.png
new file mode 100644
index 00000000..b4f3b71f
--- /dev/null
+++ b/test/reference/operator-alpha.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/operator-alpha.mask.rgb24.ref.png b/test/reference/operator-alpha.mask.rgb24.ref.png
new file mode 100644
index 00000000..bc7be3ae
--- /dev/null
+++ b/test/reference/operator-alpha.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/operator-clear.mask.argb32.ref.png b/test/reference/operator-clear.mask.argb32.ref.png
new file mode 100644
index 00000000..41f63bdb
--- /dev/null
+++ b/test/reference/operator-clear.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/operator-clear.mask.rgb24.ref.png b/test/reference/operator-clear.mask.rgb24.ref.png
new file mode 100644
index 00000000..3d58ab34
--- /dev/null
+++ b/test/reference/operator-clear.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/operator-source.mask.argb32.ref.png b/test/reference/operator-source.mask.argb32.ref.png
new file mode 100644
index 00000000..74ad1dad
--- /dev/null
+++ b/test/reference/operator-source.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/operator-source.mask.rgb24.ref.png b/test/reference/operator-source.mask.rgb24.ref.png
new file mode 100644
index 00000000..c0033562
--- /dev/null
+++ b/test/reference/operator-source.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/operator.mask.argb32.ref.png b/test/reference/operator.mask.argb32.ref.png
new file mode 100644
index 00000000..34fce987
--- /dev/null
+++ b/test/reference/operator.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/operator.mask.rgb24.ref.png b/test/reference/operator.mask.rgb24.ref.png
new file mode 100644
index 00000000..aa6103df
--- /dev/null
+++ b/test/reference/operator.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/over-above-source.mask.argb32.ref.png b/test/reference/over-above-source.mask.argb32.ref.png
new file mode 100644
index 00000000..8c2ce1d3
--- /dev/null
+++ b/test/reference/over-above-source.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/over-above-source.mask.rgb24.ref.png b/test/reference/over-above-source.mask.rgb24.ref.png
new file mode 100644
index 00000000..240de27e
--- /dev/null
+++ b/test/reference/over-above-source.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/over-around-source.mask.argb32.ref.png b/test/reference/over-around-source.mask.argb32.ref.png
new file mode 100644
index 00000000..38df9b73
--- /dev/null
+++ b/test/reference/over-around-source.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/over-around-source.mask.rgb24.ref.png b/test/reference/over-around-source.mask.rgb24.ref.png
new file mode 100644
index 00000000..65fd8e80
--- /dev/null
+++ b/test/reference/over-around-source.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/over-below-source.mask.argb32.ref.png b/test/reference/over-below-source.mask.argb32.ref.png
new file mode 100644
index 00000000..0b55974b
--- /dev/null
+++ b/test/reference/over-below-source.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/over-below-source.mask.rgb24.ref.png b/test/reference/over-below-source.mask.rgb24.ref.png
new file mode 100644
index 00000000..9ddde0e2
--- /dev/null
+++ b/test/reference/over-below-source.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/over-between-source.mask.argb32.ref.png b/test/reference/over-between-source.mask.argb32.ref.png
new file mode 100644
index 00000000..dd03f982
--- /dev/null
+++ b/test/reference/over-between-source.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/over-between-source.mask.rgb24.ref.png b/test/reference/over-between-source.mask.rgb24.ref.png
new file mode 100644
index 00000000..8569720b
--- /dev/null
+++ b/test/reference/over-between-source.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/overlapping-boxes.mask.argb32.ref.png b/test/reference/overlapping-boxes.mask.argb32.ref.png
new file mode 100644
index 00000000..1c684381
--- /dev/null
+++ b/test/reference/overlapping-boxes.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/overlapping-boxes.mask.rgb24.ref.png b/test/reference/overlapping-boxes.mask.rgb24.ref.png
new file mode 100644
index 00000000..0edeafa0
--- /dev/null
+++ b/test/reference/overlapping-boxes.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/overlapping-dash-caps.mask.argb32.ref.png b/test/reference/overlapping-dash-caps.mask.argb32.ref.png
new file mode 100644
index 00000000..367d6835
--- /dev/null
+++ b/test/reference/overlapping-dash-caps.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/overlapping-dash-caps.mask.rgb24.ref.png b/test/reference/overlapping-dash-caps.mask.rgb24.ref.png
new file mode 100644
index 00000000..367d6835
--- /dev/null
+++ b/test/reference/overlapping-dash-caps.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/overlapping-glyphs.mask.argb32.ref.png b/test/reference/overlapping-glyphs.mask.argb32.ref.png
new file mode 100644
index 00000000..4ec4ee54
--- /dev/null
+++ b/test/reference/overlapping-glyphs.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/overlapping-glyphs.mask.rgb24.ref.png b/test/reference/overlapping-glyphs.mask.rgb24.ref.png
new file mode 100644
index 00000000..5217c157
--- /dev/null
+++ b/test/reference/overlapping-glyphs.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/paint-clip-fill-aa.mask.argb32.ref.png b/test/reference/paint-clip-fill-aa.mask.argb32.ref.png
new file mode 100644
index 00000000..768322a3
--- /dev/null
+++ b/test/reference/paint-clip-fill-aa.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/paint-clip-fill-aa.mask.rgb24.ref.png b/test/reference/paint-clip-fill-aa.mask.rgb24.ref.png
new file mode 100644
index 00000000..768322a3
--- /dev/null
+++ b/test/reference/paint-clip-fill-aa.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/paint-clip-fill-mono.mask.argb32.ref.png b/test/reference/paint-clip-fill-mono.mask.argb32.ref.png
new file mode 100644
index 00000000..768322a3
--- /dev/null
+++ b/test/reference/paint-clip-fill-mono.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/paint-clip-fill-mono.mask.rgb24.ref.png b/test/reference/paint-clip-fill-mono.mask.rgb24.ref.png
new file mode 100644
index 00000000..768322a3
--- /dev/null
+++ b/test/reference/paint-clip-fill-mono.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/paint-repeat.mask.argb32.ref.png b/test/reference/paint-repeat.mask.argb32.ref.png
new file mode 100644
index 00000000..8cdd9b4b
--- /dev/null
+++ b/test/reference/paint-repeat.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/paint-repeat.mask.rgb24.ref.png b/test/reference/paint-repeat.mask.rgb24.ref.png
new file mode 100644
index 00000000..8cdd9b4b
--- /dev/null
+++ b/test/reference/paint-repeat.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/paint-source-alpha.mask.argb32.ref.png b/test/reference/paint-source-alpha.mask.argb32.ref.png
new file mode 100644
index 00000000..65d9c179
--- /dev/null
+++ b/test/reference/paint-source-alpha.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/paint-source-alpha.mask.rgb24.ref.png b/test/reference/paint-source-alpha.mask.rgb24.ref.png
new file mode 100644
index 00000000..65d9c179
--- /dev/null
+++ b/test/reference/paint-source-alpha.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/paint-with-alpha-clip-mask.mask.argb32.ref.png b/test/reference/paint-with-alpha-clip-mask.mask.argb32.ref.png
new file mode 100644
index 00000000..95746ffc
--- /dev/null
+++ b/test/reference/paint-with-alpha-clip-mask.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/paint-with-alpha-clip-mask.mask.rgb24.ref.png b/test/reference/paint-with-alpha-clip-mask.mask.rgb24.ref.png
new file mode 100644
index 00000000..95746ffc
--- /dev/null
+++ b/test/reference/paint-with-alpha-clip-mask.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/paint-with-alpha-clip.mask.argb32.ref.png b/test/reference/paint-with-alpha-clip.mask.argb32.ref.png
new file mode 100644
index 00000000..c1da67e0
--- /dev/null
+++ b/test/reference/paint-with-alpha-clip.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/paint-with-alpha-clip.mask.rgb24.ref.png b/test/reference/paint-with-alpha-clip.mask.rgb24.ref.png
new file mode 100644
index 00000000..c1da67e0
--- /dev/null
+++ b/test/reference/paint-with-alpha-clip.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/paint-with-alpha-solid-clip.mask.argb32.ref.png b/test/reference/paint-with-alpha-solid-clip.mask.argb32.ref.png
new file mode 100644
index 00000000..2cd2df21
--- /dev/null
+++ b/test/reference/paint-with-alpha-solid-clip.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/paint-with-alpha-solid-clip.mask.rgb24.ref.png b/test/reference/paint-with-alpha-solid-clip.mask.rgb24.ref.png
new file mode 100644
index 00000000..2cd2df21
--- /dev/null
+++ b/test/reference/paint-with-alpha-solid-clip.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/paint-with-alpha.mask.argb32.ref.png b/test/reference/paint-with-alpha.mask.argb32.ref.png
new file mode 100644
index 00000000..65d9c179
--- /dev/null
+++ b/test/reference/paint-with-alpha.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/paint-with-alpha.mask.rgb24.ref.png b/test/reference/paint-with-alpha.mask.rgb24.ref.png
new file mode 100644
index 00000000..65d9c179
--- /dev/null
+++ b/test/reference/paint-with-alpha.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/paint.mask.argb32.ref.png b/test/reference/paint.mask.argb32.ref.png
new file mode 100644
index 00000000..22cc7a1a
--- /dev/null
+++ b/test/reference/paint.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/paint.mask.rgb24.ref.png b/test/reference/paint.mask.rgb24.ref.png
new file mode 100644
index 00000000..22cc7a1a
--- /dev/null
+++ b/test/reference/paint.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/partial-clip-text-bottom.mask.argb32.ref.png b/test/reference/partial-clip-text-bottom.mask.argb32.ref.png
new file mode 100644
index 00000000..6a299d48
--- /dev/null
+++ b/test/reference/partial-clip-text-bottom.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/partial-clip-text-bottom.mask.rgb24.ref.png b/test/reference/partial-clip-text-bottom.mask.rgb24.ref.png
new file mode 100644
index 00000000..6a299d48
--- /dev/null
+++ b/test/reference/partial-clip-text-bottom.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/partial-clip-text-left.mask.argb32.ref.png b/test/reference/partial-clip-text-left.mask.argb32.ref.png
new file mode 100644
index 00000000..54a1a858
--- /dev/null
+++ b/test/reference/partial-clip-text-left.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/partial-clip-text-left.mask.rgb24.ref.png b/test/reference/partial-clip-text-left.mask.rgb24.ref.png
new file mode 100644
index 00000000..54a1a858
--- /dev/null
+++ b/test/reference/partial-clip-text-left.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/partial-clip-text-right.mask.argb32.ref.png b/test/reference/partial-clip-text-right.mask.argb32.ref.png
new file mode 100644
index 00000000..2fbdca03
--- /dev/null
+++ b/test/reference/partial-clip-text-right.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/partial-clip-text-right.mask.rgb24.ref.png b/test/reference/partial-clip-text-right.mask.rgb24.ref.png
new file mode 100644
index 00000000..2fbdca03
--- /dev/null
+++ b/test/reference/partial-clip-text-right.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/partial-clip-text-right.traps.argb32.ref.png b/test/reference/partial-clip-text-right.traps.argb32.ref.png
new file mode 100644
index 00000000..2fbdca03
--- /dev/null
+++ b/test/reference/partial-clip-text-right.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/partial-clip-text-right.traps.rgb24.ref.png b/test/reference/partial-clip-text-right.traps.rgb24.ref.png
new file mode 100644
index 00000000..2fbdca03
--- /dev/null
+++ b/test/reference/partial-clip-text-right.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/partial-clip-text-top.mask.argb32.ref.png b/test/reference/partial-clip-text-top.mask.argb32.ref.png
new file mode 100644
index 00000000..d18475be
--- /dev/null
+++ b/test/reference/partial-clip-text-top.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/partial-clip-text-top.mask.rgb24.ref.png b/test/reference/partial-clip-text-top.mask.rgb24.ref.png
new file mode 100644
index 00000000..d18475be
--- /dev/null
+++ b/test/reference/partial-clip-text-top.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/partial-clip-text-top.traps.argb32.ref.png b/test/reference/partial-clip-text-top.traps.argb32.ref.png
new file mode 100644
index 00000000..d18475be
--- /dev/null
+++ b/test/reference/partial-clip-text-top.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/partial-clip-text-top.traps.rgb24.ref.png b/test/reference/partial-clip-text-top.traps.rgb24.ref.png
new file mode 100644
index 00000000..d18475be
--- /dev/null
+++ b/test/reference/partial-clip-text-top.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/partial-coverage-half-reference.mask.argb32.ref.png b/test/reference/partial-coverage-half-reference.mask.argb32.ref.png
new file mode 100644
index 00000000..17f4ff06
--- /dev/null
+++ b/test/reference/partial-coverage-half-reference.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/partial-coverage-half-reference.mask.rgb24.ref.png b/test/reference/partial-coverage-half-reference.mask.rgb24.ref.png
new file mode 100644
index 00000000..17f4ff06
--- /dev/null
+++ b/test/reference/partial-coverage-half-reference.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/partial-coverage-reference.mask.argb32.ref.png b/test/reference/partial-coverage-reference.mask.argb32.ref.png
new file mode 100644
index 00000000..9e4a6fe4
--- /dev/null
+++ b/test/reference/partial-coverage-reference.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/partial-coverage-reference.mask.rgb24.ref.png b/test/reference/partial-coverage-reference.mask.rgb24.ref.png
new file mode 100644
index 00000000..9e4a6fe4
--- /dev/null
+++ b/test/reference/partial-coverage-reference.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/partial-coverage-three-quarter-reference.mask.argb32.ref.png b/test/reference/partial-coverage-three-quarter-reference.mask.argb32.ref.png
new file mode 100644
index 00000000..ea16dc4b
--- /dev/null
+++ b/test/reference/partial-coverage-three-quarter-reference.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/partial-coverage-three-quarter-reference.mask.rgb24.ref.png b/test/reference/partial-coverage-three-quarter-reference.mask.rgb24.ref.png
new file mode 100644
index 00000000..ea16dc4b
--- /dev/null
+++ b/test/reference/partial-coverage-three-quarter-reference.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/pass-through.base.argb32.ref.png b/test/reference/pass-through.base.argb32.ref.png
new file mode 100644
index 00000000..058a1920
--- /dev/null
+++ b/test/reference/pass-through.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/pass-through.base.rgb24.ref.png b/test/reference/pass-through.base.rgb24.ref.png
new file mode 100644
index 00000000..1be631aa
--- /dev/null
+++ b/test/reference/pass-through.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/pass-through.mask.argb32.ref.png b/test/reference/pass-through.mask.argb32.ref.png
new file mode 100644
index 00000000..058a1920
--- /dev/null
+++ b/test/reference/pass-through.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/pass-through.mask.rgb24.ref.png b/test/reference/pass-through.mask.rgb24.ref.png
new file mode 100644
index 00000000..1be631aa
--- /dev/null
+++ b/test/reference/pass-through.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/pass-through.traps.argb32.ref.png b/test/reference/pass-through.traps.argb32.ref.png
new file mode 100644
index 00000000..058a1920
--- /dev/null
+++ b/test/reference/pass-through.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/pass-through.traps.rgb24.ref.png b/test/reference/pass-through.traps.rgb24.ref.png
new file mode 100644
index 00000000..1be631aa
--- /dev/null
+++ b/test/reference/pass-through.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/path-append.mask.argb32.ref.png b/test/reference/path-append.mask.argb32.ref.png
new file mode 100644
index 00000000..f097af03
--- /dev/null
+++ b/test/reference/path-append.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/path-append.mask.rgb24.ref.png b/test/reference/path-append.mask.rgb24.ref.png
new file mode 100644
index 00000000..f097af03
--- /dev/null
+++ b/test/reference/path-append.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/path-stroke-twice.mask.argb32.ref.png b/test/reference/path-stroke-twice.mask.argb32.ref.png
new file mode 100644
index 00000000..743c6ce5
--- /dev/null
+++ b/test/reference/path-stroke-twice.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/path-stroke-twice.mask.rgb24.ref.png b/test/reference/path-stroke-twice.mask.rgb24.ref.png
new file mode 100644
index 00000000..743c6ce5
--- /dev/null
+++ b/test/reference/path-stroke-twice.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/pattern-getters.mask.argb32.ref.png b/test/reference/pattern-getters.mask.argb32.ref.png
new file mode 100644
index 00000000..3cc39a8b
--- /dev/null
+++ b/test/reference/pattern-getters.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/pattern-getters.mask.rgb24.ref.png b/test/reference/pattern-getters.mask.rgb24.ref.png
new file mode 100644
index 00000000..3cc39a8b
--- /dev/null
+++ b/test/reference/pattern-getters.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/pdf-surface-source.mask.argb32.ref.png b/test/reference/pdf-surface-source.mask.argb32.ref.png
new file mode 100644
index 00000000..01829720
--- /dev/null
+++ b/test/reference/pdf-surface-source.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/pdf-surface-source.mask.rgb24.ref.png b/test/reference/pdf-surface-source.mask.rgb24.ref.png
new file mode 100644
index 00000000..0d68a82c
--- /dev/null
+++ b/test/reference/pdf-surface-source.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/pixman-rotate.mask.argb32.ref.png b/test/reference/pixman-rotate.mask.argb32.ref.png
new file mode 100644
index 00000000..7e47a4d8
--- /dev/null
+++ b/test/reference/pixman-rotate.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/pixman-rotate.mask.rgb24.ref.png b/test/reference/pixman-rotate.mask.rgb24.ref.png
new file mode 100644
index 00000000..397acbe7
--- /dev/null
+++ b/test/reference/pixman-rotate.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/ps-surface-source.mask.argb32.ref.png b/test/reference/ps-surface-source.mask.argb32.ref.png
new file mode 100644
index 00000000..01829720
--- /dev/null
+++ b/test/reference/ps-surface-source.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/ps-surface-source.mask.rgb24.ref.png b/test/reference/ps-surface-source.mask.rgb24.ref.png
new file mode 100644
index 00000000..0d68a82c
--- /dev/null
+++ b/test/reference/ps-surface-source.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/pthread-same-source.mask.argb32.ref.png b/test/reference/pthread-same-source.mask.argb32.ref.png
new file mode 100644
index 00000000..cfb519d3
--- /dev/null
+++ b/test/reference/pthread-same-source.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/pthread-same-source.mask.rgb24.ref.png b/test/reference/pthread-same-source.mask.rgb24.ref.png
new file mode 100644
index 00000000..cfb519d3
--- /dev/null
+++ b/test/reference/pthread-same-source.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/pthread-show-text.mask.argb32.ref.png b/test/reference/pthread-show-text.mask.argb32.ref.png
new file mode 100644
index 00000000..90d0af34
--- /dev/null
+++ b/test/reference/pthread-show-text.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/pthread-show-text.mask.rgb24.ref.png b/test/reference/pthread-show-text.mask.rgb24.ref.png
new file mode 100644
index 00000000..90d0af34
--- /dev/null
+++ b/test/reference/pthread-show-text.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/pthread-show-text.traps.argb32.ref.png b/test/reference/pthread-show-text.traps.argb32.ref.png
new file mode 100644
index 00000000..90d0af34
--- /dev/null
+++ b/test/reference/pthread-show-text.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/pthread-show-text.traps.rgb24.ref.png b/test/reference/pthread-show-text.traps.rgb24.ref.png
new file mode 100644
index 00000000..90d0af34
--- /dev/null
+++ b/test/reference/pthread-show-text.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/pthread-similar.mask.argb32.ref.png b/test/reference/pthread-similar.mask.argb32.ref.png
new file mode 100644
index 00000000..a22210db
--- /dev/null
+++ b/test/reference/pthread-similar.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/pthread-similar.mask.rgb24.ref.png b/test/reference/pthread-similar.mask.rgb24.ref.png
new file mode 100644
index 00000000..a22210db
--- /dev/null
+++ b/test/reference/pthread-similar.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/push-group-color.mask.argb32.ref.png b/test/reference/push-group-color.mask.argb32.ref.png
new file mode 100644
index 00000000..56151968
--- /dev/null
+++ b/test/reference/push-group-color.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/push-group-color.mask.rgb24.ref.png b/test/reference/push-group-color.mask.rgb24.ref.png
new file mode 100644
index 00000000..56151968
--- /dev/null
+++ b/test/reference/push-group-color.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/push-group-path-offset.mask.argb32.ref.png b/test/reference/push-group-path-offset.mask.argb32.ref.png
new file mode 100644
index 00000000..b836a919
--- /dev/null
+++ b/test/reference/push-group-path-offset.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/push-group-path-offset.mask.rgb24.ref.png b/test/reference/push-group-path-offset.mask.rgb24.ref.png
new file mode 100644
index 00000000..b836a919
--- /dev/null
+++ b/test/reference/push-group-path-offset.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/push-group.mask.argb32.ref.png b/test/reference/push-group.mask.argb32.ref.png
new file mode 100644
index 00000000..60f5eec1
--- /dev/null
+++ b/test/reference/push-group.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/push-group.mask.rgb24.ref.png b/test/reference/push-group.mask.rgb24.ref.png
new file mode 100644
index 00000000..19f0a2b7
--- /dev/null
+++ b/test/reference/push-group.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/radial-gradient-extend.mask.argb32.ref.png b/test/reference/radial-gradient-extend.mask.argb32.ref.png
new file mode 100644
index 00000000..3d7de5e5
--- /dev/null
+++ b/test/reference/radial-gradient-extend.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/radial-gradient-extend.mask.rgb24.ref.png b/test/reference/radial-gradient-extend.mask.rgb24.ref.png
new file mode 100644
index 00000000..3d7de5e5
--- /dev/null
+++ b/test/reference/radial-gradient-extend.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/radial-gradient-mask-source.mask.argb32.ref.png b/test/reference/radial-gradient-mask-source.mask.argb32.ref.png
new file mode 100644
index 00000000..2bf65b3d
--- /dev/null
+++ b/test/reference/radial-gradient-mask-source.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/radial-gradient-mask-source.mask.rgb24.ref.png b/test/reference/radial-gradient-mask-source.mask.rgb24.ref.png
new file mode 100644
index 00000000..55335196
--- /dev/null
+++ b/test/reference/radial-gradient-mask-source.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/radial-gradient-mask.mask.argb32.ref.png b/test/reference/radial-gradient-mask.mask.argb32.ref.png
new file mode 100644
index 00000000..4db39aa3
--- /dev/null
+++ b/test/reference/radial-gradient-mask.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/radial-gradient-mask.mask.rgb24.ref.png b/test/reference/radial-gradient-mask.mask.rgb24.ref.png
new file mode 100644
index 00000000..4db39aa3
--- /dev/null
+++ b/test/reference/radial-gradient-mask.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/radial-gradient-one-stop.mask.argb32.ref.png b/test/reference/radial-gradient-one-stop.mask.argb32.ref.png
new file mode 100644
index 00000000..fb35be61
--- /dev/null
+++ b/test/reference/radial-gradient-one-stop.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/radial-gradient-one-stop.mask.rgb24.ref.png b/test/reference/radial-gradient-one-stop.mask.rgb24.ref.png
new file mode 100644
index 00000000..fb35be61
--- /dev/null
+++ b/test/reference/radial-gradient-one-stop.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/radial-gradient-source.mask.argb32.ref.png b/test/reference/radial-gradient-source.mask.argb32.ref.png
new file mode 100644
index 00000000..4ab4796f
--- /dev/null
+++ b/test/reference/radial-gradient-source.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/radial-gradient-source.mask.rgb24.ref.png b/test/reference/radial-gradient-source.mask.rgb24.ref.png
new file mode 100644
index 00000000..afaa2411
--- /dev/null
+++ b/test/reference/radial-gradient-source.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/radial-gradient.mask.argb32.ref.png b/test/reference/radial-gradient.mask.argb32.ref.png
new file mode 100644
index 00000000..a2cbbc82
--- /dev/null
+++ b/test/reference/radial-gradient.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/radial-gradient.mask.rgb24.ref.png b/test/reference/radial-gradient.mask.rgb24.ref.png
new file mode 100644
index 00000000..a2cbbc82
--- /dev/null
+++ b/test/reference/radial-gradient.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/radial-outer-focus.base.argb32.ref.png b/test/reference/radial-outer-focus.base.argb32.ref.png
new file mode 100644
index 00000000..21f0bf6f
--- /dev/null
+++ b/test/reference/radial-outer-focus.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/radial-outer-focus.base.rgb24.ref.png b/test/reference/radial-outer-focus.base.rgb24.ref.png
new file mode 100644
index 00000000..21f0bf6f
--- /dev/null
+++ b/test/reference/radial-outer-focus.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/radial-outer-focus.mask.argb32.ref.png b/test/reference/radial-outer-focus.mask.argb32.ref.png
new file mode 100644
index 00000000..21f0bf6f
--- /dev/null
+++ b/test/reference/radial-outer-focus.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/radial-outer-focus.mask.rgb24.ref.png b/test/reference/radial-outer-focus.mask.rgb24.ref.png
new file mode 100644
index 00000000..21f0bf6f
--- /dev/null
+++ b/test/reference/radial-outer-focus.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/radial-outer-focus.traps.argb32.ref.png b/test/reference/radial-outer-focus.traps.argb32.ref.png
new file mode 100644
index 00000000..21f0bf6f
--- /dev/null
+++ b/test/reference/radial-outer-focus.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/radial-outer-focus.traps.rgb24.ref.png b/test/reference/radial-outer-focus.traps.rgb24.ref.png
new file mode 100644
index 00000000..21f0bf6f
--- /dev/null
+++ b/test/reference/radial-outer-focus.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/random-clip.base.argb32.ref.png b/test/reference/random-clip.base.argb32.ref.png
new file mode 100644
index 00000000..85f7808a
--- /dev/null
+++ b/test/reference/random-clip.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/random-clip.base.rgb24.ref.png b/test/reference/random-clip.base.rgb24.ref.png
new file mode 100644
index 00000000..85f7808a
--- /dev/null
+++ b/test/reference/random-clip.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/random-clip.mask.argb32.ref.png b/test/reference/random-clip.mask.argb32.ref.png
new file mode 100644
index 00000000..41643cba
--- /dev/null
+++ b/test/reference/random-clip.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/random-clip.mask.rgb24.ref.png b/test/reference/random-clip.mask.rgb24.ref.png
new file mode 100644
index 00000000..41643cba
--- /dev/null
+++ b/test/reference/random-clip.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/random-intersections-curves-eo.mask.argb32.ref.png b/test/reference/random-intersections-curves-eo.mask.argb32.ref.png
new file mode 100644
index 00000000..c8b0c538
--- /dev/null
+++ b/test/reference/random-intersections-curves-eo.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/random-intersections-curves-eo.mask.rgb24.ref.png b/test/reference/random-intersections-curves-eo.mask.rgb24.ref.png
new file mode 100644
index 00000000..c8b0c538
--- /dev/null
+++ b/test/reference/random-intersections-curves-eo.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/random-intersections-curves-nz.mask.argb32.ref.png b/test/reference/random-intersections-curves-nz.mask.argb32.ref.png
new file mode 100644
index 00000000..2678590c
--- /dev/null
+++ b/test/reference/random-intersections-curves-nz.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/random-intersections-curves-nz.mask.rgb24.ref.png b/test/reference/random-intersections-curves-nz.mask.rgb24.ref.png
new file mode 100644
index 00000000..2678590c
--- /dev/null
+++ b/test/reference/random-intersections-curves-nz.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/random-intersections-eo.mask.argb32.ref.png b/test/reference/random-intersections-eo.mask.argb32.ref.png
new file mode 100644
index 00000000..0e8460ed
--- /dev/null
+++ b/test/reference/random-intersections-eo.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/random-intersections-eo.mask.rgb24.ref.png b/test/reference/random-intersections-eo.mask.rgb24.ref.png
new file mode 100644
index 00000000..0e8460ed
--- /dev/null
+++ b/test/reference/random-intersections-eo.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/random-intersections-nonzero.mask.argb32.ref.png b/test/reference/random-intersections-nonzero.mask.argb32.ref.png
new file mode 100644
index 00000000..dfc2f335
--- /dev/null
+++ b/test/reference/random-intersections-nonzero.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/random-intersections-nonzero.mask.rgb24.ref.png b/test/reference/random-intersections-nonzero.mask.rgb24.ref.png
new file mode 100644
index 00000000..dfc2f335
--- /dev/null
+++ b/test/reference/random-intersections-nonzero.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/raster-source.mask.argb32.ref.png b/test/reference/raster-source.mask.argb32.ref.png
new file mode 100644
index 00000000..ac5e5606
--- /dev/null
+++ b/test/reference/raster-source.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/raster-source.mask.rgb24.ref.png b/test/reference/raster-source.mask.rgb24.ref.png
new file mode 100644
index 00000000..ac5e5606
--- /dev/null
+++ b/test/reference/raster-source.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/rectangle-rounding-error.mask.argb32.ref.png b/test/reference/rectangle-rounding-error.mask.argb32.ref.png
new file mode 100644
index 00000000..6cc1b21a
--- /dev/null
+++ b/test/reference/rectangle-rounding-error.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/rectangle-rounding-error.mask.rgb24.ref.png b/test/reference/rectangle-rounding-error.mask.rgb24.ref.png
new file mode 100644
index 00000000..6cc1b21a
--- /dev/null
+++ b/test/reference/rectangle-rounding-error.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/rectilinear-dash.mask.argb32.ref.png b/test/reference/rectilinear-dash.mask.argb32.ref.png
new file mode 100644
index 00000000..33e7851e
--- /dev/null
+++ b/test/reference/rectilinear-dash.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/rectilinear-dash.mask.rgb24.ref.png b/test/reference/rectilinear-dash.mask.rgb24.ref.png
new file mode 100644
index 00000000..33e7851e
--- /dev/null
+++ b/test/reference/rectilinear-dash.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/rectilinear-fill.mask.argb32.ref.png b/test/reference/rectilinear-fill.mask.argb32.ref.png
new file mode 100644
index 00000000..dbaf3836
--- /dev/null
+++ b/test/reference/rectilinear-fill.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/rectilinear-fill.mask.rgb24.ref.png b/test/reference/rectilinear-fill.mask.rgb24.ref.png
new file mode 100644
index 00000000..dbaf3836
--- /dev/null
+++ b/test/reference/rectilinear-fill.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/rectilinear-grid.mask.argb32.ref.png b/test/reference/rectilinear-grid.mask.argb32.ref.png
new file mode 100644
index 00000000..8d47ef56
--- /dev/null
+++ b/test/reference/rectilinear-grid.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/rectilinear-grid.mask.rgb24.ref.png b/test/reference/rectilinear-grid.mask.rgb24.ref.png
new file mode 100644
index 00000000..8d47ef56
--- /dev/null
+++ b/test/reference/rectilinear-grid.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/rectilinear-miter-limit.mask.argb32.ref.png b/test/reference/rectilinear-miter-limit.mask.argb32.ref.png
new file mode 100644
index 00000000..d64d581e
--- /dev/null
+++ b/test/reference/rectilinear-miter-limit.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/rectilinear-miter-limit.mask.rgb24.ref.png b/test/reference/rectilinear-miter-limit.mask.rgb24.ref.png
new file mode 100644
index 00000000..d64d581e
--- /dev/null
+++ b/test/reference/rectilinear-miter-limit.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/rectilinear-stroke.mask.argb32.ref.png b/test/reference/rectilinear-stroke.mask.argb32.ref.png
new file mode 100644
index 00000000..260909b6
--- /dev/null
+++ b/test/reference/rectilinear-stroke.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/rectilinear-stroke.mask.rgb24.ref.png b/test/reference/rectilinear-stroke.mask.rgb24.ref.png
new file mode 100644
index 00000000..260909b6
--- /dev/null
+++ b/test/reference/rectilinear-stroke.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/reflected-stroke.mask.argb32.ref.png b/test/reference/reflected-stroke.mask.argb32.ref.png
new file mode 100644
index 00000000..9a7d6bc4
--- /dev/null
+++ b/test/reference/reflected-stroke.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/reflected-stroke.mask.rgb24.ref.png b/test/reference/reflected-stroke.mask.rgb24.ref.png
new file mode 100644
index 00000000..9a7d6bc4
--- /dev/null
+++ b/test/reference/reflected-stroke.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/rel-path.mask.argb32.ref.png b/test/reference/rel-path.mask.argb32.ref.png
new file mode 100644
index 00000000..67fe178a
--- /dev/null
+++ b/test/reference/rel-path.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/rel-path.mask.rgb24.ref.png b/test/reference/rel-path.mask.rgb24.ref.png
new file mode 100644
index 00000000..78d8a088
--- /dev/null
+++ b/test/reference/rel-path.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/rgb24-ignore-alpha.mask.argb32.ref.png b/test/reference/rgb24-ignore-alpha.mask.argb32.ref.png
new file mode 100644
index 00000000..922eddda
--- /dev/null
+++ b/test/reference/rgb24-ignore-alpha.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/rgb24-ignore-alpha.mask.rgb24.ref.png b/test/reference/rgb24-ignore-alpha.mask.rgb24.ref.png
new file mode 100644
index 00000000..922eddda
--- /dev/null
+++ b/test/reference/rgb24-ignore-alpha.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/rotate-clip-image-surface-paint.mask.argb32.ref.png b/test/reference/rotate-clip-image-surface-paint.mask.argb32.ref.png
new file mode 100644
index 00000000..7f74b2b3
--- /dev/null
+++ b/test/reference/rotate-clip-image-surface-paint.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/rotate-clip-image-surface-paint.mask.rgb24.ref.png b/test/reference/rotate-clip-image-surface-paint.mask.rgb24.ref.png
new file mode 100644
index 00000000..7f74b2b3
--- /dev/null
+++ b/test/reference/rotate-clip-image-surface-paint.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/rotate-image-surface-paint.mask.argb32.ref.png b/test/reference/rotate-image-surface-paint.mask.argb32.ref.png
new file mode 100644
index 00000000..06a48200
--- /dev/null
+++ b/test/reference/rotate-image-surface-paint.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/rotate-image-surface-paint.mask.rgb24.ref.png b/test/reference/rotate-image-surface-paint.mask.rgb24.ref.png
new file mode 100644
index 00000000..06a48200
--- /dev/null
+++ b/test/reference/rotate-image-surface-paint.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/rotated-clip.mask.argb32.ref.png b/test/reference/rotated-clip.mask.argb32.ref.png
new file mode 100644
index 00000000..8168f9d9
--- /dev/null
+++ b/test/reference/rotated-clip.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/rotated-clip.mask.rgb24.ref.png b/test/reference/rotated-clip.mask.rgb24.ref.png
new file mode 100644
index 00000000..8168f9d9
--- /dev/null
+++ b/test/reference/rotated-clip.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/rounded-rectangle-fill.mask.argb32.ref.png b/test/reference/rounded-rectangle-fill.mask.argb32.ref.png
new file mode 100644
index 00000000..3232c078
--- /dev/null
+++ b/test/reference/rounded-rectangle-fill.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/rounded-rectangle-fill.mask.rgb24.ref.png b/test/reference/rounded-rectangle-fill.mask.rgb24.ref.png
new file mode 100644
index 00000000..3232c078
--- /dev/null
+++ b/test/reference/rounded-rectangle-fill.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/rounded-rectangle-stroke.mask.argb32.ref.png b/test/reference/rounded-rectangle-stroke.mask.argb32.ref.png
new file mode 100644
index 00000000..3f2a1fb2
--- /dev/null
+++ b/test/reference/rounded-rectangle-stroke.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/rounded-rectangle-stroke.mask.rgb24.ref.png b/test/reference/rounded-rectangle-stroke.mask.rgb24.ref.png
new file mode 100644
index 00000000..3f2a1fb2
--- /dev/null
+++ b/test/reference/rounded-rectangle-stroke.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/scale-down-source-surface-paint.mask.argb32.ref.png b/test/reference/scale-down-source-surface-paint.mask.argb32.ref.png
new file mode 100644
index 00000000..74770948
--- /dev/null
+++ b/test/reference/scale-down-source-surface-paint.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/scale-down-source-surface-paint.mask.rgb24.ref.png b/test/reference/scale-down-source-surface-paint.mask.rgb24.ref.png
new file mode 100644
index 00000000..74770948
--- /dev/null
+++ b/test/reference/scale-down-source-surface-paint.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/scale-offset-image.mask.argb32.ref.png b/test/reference/scale-offset-image.mask.argb32.ref.png
new file mode 100644
index 00000000..ab1ced83
--- /dev/null
+++ b/test/reference/scale-offset-image.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/scale-offset-image.mask.rgb24.ref.png b/test/reference/scale-offset-image.mask.rgb24.ref.png
new file mode 100644
index 00000000..ab1ced83
--- /dev/null
+++ b/test/reference/scale-offset-image.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/scale-offset-similar.mask.argb32.ref.png b/test/reference/scale-offset-similar.mask.argb32.ref.png
new file mode 100644
index 00000000..ab1ced83
--- /dev/null
+++ b/test/reference/scale-offset-similar.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/scale-offset-similar.mask.rgb24.ref.png b/test/reference/scale-offset-similar.mask.rgb24.ref.png
new file mode 100644
index 00000000..ab1ced83
--- /dev/null
+++ b/test/reference/scale-offset-similar.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/scale-source-surface-paint.mask.argb32.ref.png b/test/reference/scale-source-surface-paint.mask.argb32.ref.png
new file mode 100644
index 00000000..e159d15e
--- /dev/null
+++ b/test/reference/scale-source-surface-paint.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/scale-source-surface-paint.mask.rgb24.ref.png b/test/reference/scale-source-surface-paint.mask.rgb24.ref.png
new file mode 100644
index 00000000..3491a7c0
--- /dev/null
+++ b/test/reference/scale-source-surface-paint.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/select-font-face.mask.argb32.ref.png b/test/reference/select-font-face.mask.argb32.ref.png
new file mode 100644
index 00000000..1334a9a0
--- /dev/null
+++ b/test/reference/select-font-face.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/select-font-face.mask.rgb24.ref.png b/test/reference/select-font-face.mask.rgb24.ref.png
new file mode 100644
index 00000000..1334a9a0
--- /dev/null
+++ b/test/reference/select-font-face.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/select-font-face.traps.argb32.ref.png b/test/reference/select-font-face.traps.argb32.ref.png
new file mode 100644
index 00000000..1334a9a0
--- /dev/null
+++ b/test/reference/select-font-face.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/select-font-face.traps.rgb24.ref.png b/test/reference/select-font-face.traps.rgb24.ref.png
new file mode 100644
index 00000000..1334a9a0
--- /dev/null
+++ b/test/reference/select-font-face.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/self-copy-overlap.mask.argb32.ref.png b/test/reference/self-copy-overlap.mask.argb32.ref.png
new file mode 100644
index 00000000..a70e819e
--- /dev/null
+++ b/test/reference/self-copy-overlap.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/self-copy-overlap.mask.rgb24.ref.png b/test/reference/self-copy-overlap.mask.rgb24.ref.png
new file mode 100644
index 00000000..e9cd7b56
--- /dev/null
+++ b/test/reference/self-copy-overlap.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/self-copy.mask.argb32.ref.png b/test/reference/self-copy.mask.argb32.ref.png
new file mode 100644
index 00000000..d8221d8a
--- /dev/null
+++ b/test/reference/self-copy.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/self-copy.mask.rgb24.ref.png b/test/reference/self-copy.mask.rgb24.ref.png
new file mode 100644
index 00000000..d8221d8a
--- /dev/null
+++ b/test/reference/self-copy.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/self-intersecting.mask.argb32.ref.png b/test/reference/self-intersecting.mask.argb32.ref.png
new file mode 100644
index 00000000..d554d83e
--- /dev/null
+++ b/test/reference/self-intersecting.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/self-intersecting.mask.rgb24.ref.png b/test/reference/self-intersecting.mask.rgb24.ref.png
new file mode 100644
index 00000000..d554d83e
--- /dev/null
+++ b/test/reference/self-intersecting.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/set-source.mask.argb32.ref.png b/test/reference/set-source.mask.argb32.ref.png
new file mode 100644
index 00000000..222b3723
--- /dev/null
+++ b/test/reference/set-source.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/set-source.mask.rgb24.ref.png b/test/reference/set-source.mask.rgb24.ref.png
new file mode 100644
index 00000000..5e13c82e
--- /dev/null
+++ b/test/reference/set-source.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/shape-general-convex.mask.argb32.ref.png b/test/reference/shape-general-convex.mask.argb32.ref.png
new file mode 100644
index 00000000..b4d4df73
--- /dev/null
+++ b/test/reference/shape-general-convex.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/shape-general-convex.mask.rgb24.ref.png b/test/reference/shape-general-convex.mask.rgb24.ref.png
new file mode 100644
index 00000000..b4d4df73
--- /dev/null
+++ b/test/reference/shape-general-convex.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/shape-sierpinski.mask.argb32.ref.png b/test/reference/shape-sierpinski.mask.argb32.ref.png
new file mode 100644
index 00000000..ac985576
--- /dev/null
+++ b/test/reference/shape-sierpinski.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/shape-sierpinski.mask.rgb24.ref.png b/test/reference/shape-sierpinski.mask.rgb24.ref.png
new file mode 100644
index 00000000..ac985576
--- /dev/null
+++ b/test/reference/shape-sierpinski.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/show-glyphs-advance.mask.argb32.ref.png b/test/reference/show-glyphs-advance.mask.argb32.ref.png
new file mode 100644
index 00000000..e65ad05d
--- /dev/null
+++ b/test/reference/show-glyphs-advance.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/show-glyphs-advance.mask.rgb24.ref.png b/test/reference/show-glyphs-advance.mask.rgb24.ref.png
new file mode 100644
index 00000000..e65ad05d
--- /dev/null
+++ b/test/reference/show-glyphs-advance.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/show-glyphs-advance.traps.argb32.ref.png b/test/reference/show-glyphs-advance.traps.argb32.ref.png
new file mode 100644
index 00000000..e65ad05d
--- /dev/null
+++ b/test/reference/show-glyphs-advance.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/show-glyphs-advance.traps.rgb24.ref.png b/test/reference/show-glyphs-advance.traps.rgb24.ref.png
new file mode 100644
index 00000000..e65ad05d
--- /dev/null
+++ b/test/reference/show-glyphs-advance.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/show-glyphs-many.mask.argb32.ref.png b/test/reference/show-glyphs-many.mask.argb32.ref.png
new file mode 100644
index 00000000..b638015d
--- /dev/null
+++ b/test/reference/show-glyphs-many.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/show-glyphs-many.mask.rgb24.ref.png b/test/reference/show-glyphs-many.mask.rgb24.ref.png
new file mode 100644
index 00000000..b638015d
--- /dev/null
+++ b/test/reference/show-glyphs-many.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/show-text-current-point.mask.argb32.ref.png b/test/reference/show-text-current-point.mask.argb32.ref.png
new file mode 100644
index 00000000..d60d4ac0
--- /dev/null
+++ b/test/reference/show-text-current-point.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/show-text-current-point.mask.rgb24.ref.png b/test/reference/show-text-current-point.mask.rgb24.ref.png
new file mode 100644
index 00000000..d60d4ac0
--- /dev/null
+++ b/test/reference/show-text-current-point.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/show-text-current-point.traps.argb32.ref.png b/test/reference/show-text-current-point.traps.argb32.ref.png
new file mode 100644
index 00000000..d60d4ac0
--- /dev/null
+++ b/test/reference/show-text-current-point.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/show-text-current-point.traps.rgb24.ref.png b/test/reference/show-text-current-point.traps.rgb24.ref.png
new file mode 100644
index 00000000..d60d4ac0
--- /dev/null
+++ b/test/reference/show-text-current-point.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/skew-extreme.mask.argb32.ref.png b/test/reference/skew-extreme.mask.argb32.ref.png
new file mode 100644
index 00000000..5ccd8c03
--- /dev/null
+++ b/test/reference/skew-extreme.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/skew-extreme.mask.rgb24.ref.png b/test/reference/skew-extreme.mask.rgb24.ref.png
new file mode 100644
index 00000000..5ccd8c03
--- /dev/null
+++ b/test/reference/skew-extreme.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/smask-fill.mask.argb32.ref.png b/test/reference/smask-fill.mask.argb32.ref.png
new file mode 100644
index 00000000..84e17558
--- /dev/null
+++ b/test/reference/smask-fill.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/smask-fill.mask.rgb24.ref.png b/test/reference/smask-fill.mask.rgb24.ref.png
new file mode 100644
index 00000000..84e17558
--- /dev/null
+++ b/test/reference/smask-fill.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/smask-image-mask.mask.argb32.ref.png b/test/reference/smask-image-mask.mask.argb32.ref.png
new file mode 100644
index 00000000..12063bda
--- /dev/null
+++ b/test/reference/smask-image-mask.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/smask-image-mask.mask.rgb24.ref.png b/test/reference/smask-image-mask.mask.rgb24.ref.png
new file mode 100644
index 00000000..12063bda
--- /dev/null
+++ b/test/reference/smask-image-mask.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/smask-mask.mask.argb32.ref.png b/test/reference/smask-mask.mask.argb32.ref.png
new file mode 100644
index 00000000..80329c26
--- /dev/null
+++ b/test/reference/smask-mask.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/smask-mask.mask.rgb24.ref.png b/test/reference/smask-mask.mask.rgb24.ref.png
new file mode 100644
index 00000000..80329c26
--- /dev/null
+++ b/test/reference/smask-mask.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/smask-paint.mask.argb32.ref.png b/test/reference/smask-paint.mask.argb32.ref.png
new file mode 100644
index 00000000..95af29af
--- /dev/null
+++ b/test/reference/smask-paint.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/smask-paint.mask.rgb24.ref.png b/test/reference/smask-paint.mask.rgb24.ref.png
new file mode 100644
index 00000000..95af29af
--- /dev/null
+++ b/test/reference/smask-paint.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/smask-stroke.mask.argb32.ref.png b/test/reference/smask-stroke.mask.argb32.ref.png
new file mode 100644
index 00000000..d7b56e57
--- /dev/null
+++ b/test/reference/smask-stroke.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/smask-stroke.mask.rgb24.ref.png b/test/reference/smask-stroke.mask.rgb24.ref.png
new file mode 100644
index 00000000..d7b56e57
--- /dev/null
+++ b/test/reference/smask-stroke.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/smask-text.mask.argb32.ref.png b/test/reference/smask-text.mask.argb32.ref.png
new file mode 100644
index 00000000..344ac208
--- /dev/null
+++ b/test/reference/smask-text.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/smask-text.mask.rgb24.ref.png b/test/reference/smask-text.mask.rgb24.ref.png
new file mode 100644
index 00000000..344ac208
--- /dev/null
+++ b/test/reference/smask-text.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/smask-text.traps.argb32.ref.png b/test/reference/smask-text.traps.argb32.ref.png
new file mode 100644
index 00000000..66ef289c
--- /dev/null
+++ b/test/reference/smask-text.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/smask-text.traps.rgb24.ref.png b/test/reference/smask-text.traps.rgb24.ref.png
new file mode 100644
index 00000000..66ef289c
--- /dev/null
+++ b/test/reference/smask-text.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/smask.mask.argb32.ref.png b/test/reference/smask.mask.argb32.ref.png
new file mode 100644
index 00000000..dab308d8
--- /dev/null
+++ b/test/reference/smask.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/smask.mask.rgb24.ref.png b/test/reference/smask.mask.rgb24.ref.png
new file mode 100644
index 00000000..dab308d8
--- /dev/null
+++ b/test/reference/smask.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/smask.traps.argb32.ref.png b/test/reference/smask.traps.argb32.ref.png
new file mode 100644
index 00000000..357e8e7f
--- /dev/null
+++ b/test/reference/smask.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/smask.traps.rgb24.ref.png b/test/reference/smask.traps.rgb24.ref.png
new file mode 100644
index 00000000..357e8e7f
--- /dev/null
+++ b/test/reference/smask.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/solid-pattern-cache-stress.mask.argb32.ref.png b/test/reference/solid-pattern-cache-stress.mask.argb32.ref.png
new file mode 100644
index 00000000..08a2ce15
--- /dev/null
+++ b/test/reference/solid-pattern-cache-stress.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/solid-pattern-cache-stress.mask.rgb24.ref.png b/test/reference/solid-pattern-cache-stress.mask.rgb24.ref.png
new file mode 100644
index 00000000..08a2ce15
--- /dev/null
+++ b/test/reference/solid-pattern-cache-stress.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/source-clip-scale.mask.argb32.ref.png b/test/reference/source-clip-scale.mask.argb32.ref.png
new file mode 100644
index 00000000..4b63ad9b
--- /dev/null
+++ b/test/reference/source-clip-scale.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/source-clip-scale.mask.rgb24.ref.png b/test/reference/source-clip-scale.mask.rgb24.ref.png
new file mode 100644
index 00000000..4b63ad9b
--- /dev/null
+++ b/test/reference/source-clip-scale.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/source-clip.mask.argb32.ref.png b/test/reference/source-clip.mask.argb32.ref.png
new file mode 100644
index 00000000..821bc6ca
--- /dev/null
+++ b/test/reference/source-clip.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/source-clip.mask.rgb24.ref.png b/test/reference/source-clip.mask.rgb24.ref.png
new file mode 100644
index 00000000..821bc6ca
--- /dev/null
+++ b/test/reference/source-clip.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/source-surface-scale-paint.mask.argb32.ref.png b/test/reference/source-surface-scale-paint.mask.argb32.ref.png
new file mode 100644
index 00000000..087ef752
--- /dev/null
+++ b/test/reference/source-surface-scale-paint.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/source-surface-scale-paint.mask.rgb24.ref.png b/test/reference/source-surface-scale-paint.mask.rgb24.ref.png
new file mode 100644
index 00000000..322af211
--- /dev/null
+++ b/test/reference/source-surface-scale-paint.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/spline-decomposition.mask.argb32.ref.png b/test/reference/spline-decomposition.mask.argb32.ref.png
new file mode 100644
index 00000000..e93e6210
--- /dev/null
+++ b/test/reference/spline-decomposition.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/spline-decomposition.mask.rgb24.ref.png b/test/reference/spline-decomposition.mask.rgb24.ref.png
new file mode 100644
index 00000000..e93e6210
--- /dev/null
+++ b/test/reference/spline-decomposition.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/stride-12-image.base.argb32.ref.png b/test/reference/stride-12-image.base.argb32.ref.png
new file mode 100644
index 00000000..44284566
--- /dev/null
+++ b/test/reference/stride-12-image.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/stride-12-image.base.rgb24.ref.png b/test/reference/stride-12-image.base.rgb24.ref.png
new file mode 100644
index 00000000..44284566
--- /dev/null
+++ b/test/reference/stride-12-image.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/stride-12-image.mask.argb32.ref.png b/test/reference/stride-12-image.mask.argb32.ref.png
new file mode 100644
index 00000000..44284566
--- /dev/null
+++ b/test/reference/stride-12-image.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/stride-12-image.mask.rgb24.ref.png b/test/reference/stride-12-image.mask.rgb24.ref.png
new file mode 100644
index 00000000..44284566
--- /dev/null
+++ b/test/reference/stride-12-image.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/stride-12-image.traps.argb32.ref.png b/test/reference/stride-12-image.traps.argb32.ref.png
new file mode 100644
index 00000000..44284566
--- /dev/null
+++ b/test/reference/stride-12-image.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/stride-12-image.traps.rgb24.ref.png b/test/reference/stride-12-image.traps.rgb24.ref.png
new file mode 100644
index 00000000..44284566
--- /dev/null
+++ b/test/reference/stride-12-image.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/stroke-ctm-caps.mask.argb32.ref.png b/test/reference/stroke-ctm-caps.mask.argb32.ref.png
new file mode 100644
index 00000000..3a77d3ea
--- /dev/null
+++ b/test/reference/stroke-ctm-caps.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/stroke-ctm-caps.mask.rgb24.ref.png b/test/reference/stroke-ctm-caps.mask.rgb24.ref.png
new file mode 100644
index 00000000..3a77d3ea
--- /dev/null
+++ b/test/reference/stroke-ctm-caps.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/stroke-image.mask.argb32.ref.png b/test/reference/stroke-image.mask.argb32.ref.png
new file mode 100644
index 00000000..03a07eb4
--- /dev/null
+++ b/test/reference/stroke-image.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/stroke-image.mask.rgb24.ref.png b/test/reference/stroke-image.mask.rgb24.ref.png
new file mode 100644
index 00000000..03a07eb4
--- /dev/null
+++ b/test/reference/stroke-image.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/stroke-open-box.mask.argb32.ref.png b/test/reference/stroke-open-box.mask.argb32.ref.png
new file mode 100644
index 00000000..b5f5bd58
--- /dev/null
+++ b/test/reference/stroke-open-box.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/stroke-open-box.mask.rgb24.ref.png b/test/reference/stroke-open-box.mask.rgb24.ref.png
new file mode 100644
index 00000000..b5f5bd58
--- /dev/null
+++ b/test/reference/stroke-open-box.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/stroke-pattern.base.argb32.ref.png b/test/reference/stroke-pattern.base.argb32.ref.png
new file mode 100644
index 00000000..67bb0314
--- /dev/null
+++ b/test/reference/stroke-pattern.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/stroke-pattern.base.rgb24.ref.png b/test/reference/stroke-pattern.base.rgb24.ref.png
new file mode 100644
index 00000000..67bb0314
--- /dev/null
+++ b/test/reference/stroke-pattern.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/stroke-pattern.mask.argb32.ref.png b/test/reference/stroke-pattern.mask.argb32.ref.png
new file mode 100644
index 00000000..38ff6ad8
--- /dev/null
+++ b/test/reference/stroke-pattern.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/stroke-pattern.mask.rgb24.ref.png b/test/reference/stroke-pattern.mask.rgb24.ref.png
new file mode 100644
index 00000000..38ff6ad8
--- /dev/null
+++ b/test/reference/stroke-pattern.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/stroke-pattern.traps.argb32.ref.png b/test/reference/stroke-pattern.traps.argb32.ref.png
new file mode 100644
index 00000000..67bb0314
--- /dev/null
+++ b/test/reference/stroke-pattern.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/stroke-pattern.traps.rgb24.ref.png b/test/reference/stroke-pattern.traps.rgb24.ref.png
new file mode 100644
index 00000000..67bb0314
--- /dev/null
+++ b/test/reference/stroke-pattern.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/subsurface-image-repeat.mask.argb32.ref.png b/test/reference/subsurface-image-repeat.mask.argb32.ref.png
new file mode 100644
index 00000000..3dd6306a
--- /dev/null
+++ b/test/reference/subsurface-image-repeat.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/subsurface-image-repeat.mask.rgb24.ref.png b/test/reference/subsurface-image-repeat.mask.rgb24.ref.png
new file mode 100644
index 00000000..3dd6306a
--- /dev/null
+++ b/test/reference/subsurface-image-repeat.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/subsurface-modify-child.mask.argb32.ref.png b/test/reference/subsurface-modify-child.mask.argb32.ref.png
new file mode 100644
index 00000000..c37e22e3
--- /dev/null
+++ b/test/reference/subsurface-modify-child.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/subsurface-modify-child.mask.rgb24.ref.png b/test/reference/subsurface-modify-child.mask.rgb24.ref.png
new file mode 100644
index 00000000..c37e22e3
--- /dev/null
+++ b/test/reference/subsurface-modify-child.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/subsurface-modify-parent.mask.argb32.ref.png b/test/reference/subsurface-modify-parent.mask.argb32.ref.png
new file mode 100644
index 00000000..c37e22e3
--- /dev/null
+++ b/test/reference/subsurface-modify-parent.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/subsurface-modify-parent.mask.rgb24.ref.png b/test/reference/subsurface-modify-parent.mask.rgb24.ref.png
new file mode 100644
index 00000000..c37e22e3
--- /dev/null
+++ b/test/reference/subsurface-modify-parent.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/subsurface-outside-target.mask.argb32.ref.png b/test/reference/subsurface-outside-target.mask.argb32.ref.png
new file mode 100644
index 00000000..337cdd80
--- /dev/null
+++ b/test/reference/subsurface-outside-target.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/subsurface-outside-target.mask.rgb24.ref.png b/test/reference/subsurface-outside-target.mask.rgb24.ref.png
new file mode 100644
index 00000000..368936e5
--- /dev/null
+++ b/test/reference/subsurface-outside-target.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/subsurface-outside-target.traps.argb32.ref.png b/test/reference/subsurface-outside-target.traps.argb32.ref.png
new file mode 100644
index 00000000..337cdd80
--- /dev/null
+++ b/test/reference/subsurface-outside-target.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/subsurface-outside-target.traps.rgb24.ref.png b/test/reference/subsurface-outside-target.traps.rgb24.ref.png
new file mode 100644
index 00000000..368936e5
--- /dev/null
+++ b/test/reference/subsurface-outside-target.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/subsurface-pad.mask.argb32.ref.png b/test/reference/subsurface-pad.mask.argb32.ref.png
new file mode 100644
index 00000000..eeb9f8f5
--- /dev/null
+++ b/test/reference/subsurface-pad.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/subsurface-pad.mask.rgb24.ref.png b/test/reference/subsurface-pad.mask.rgb24.ref.png
new file mode 100644
index 00000000..eeb9f8f5
--- /dev/null
+++ b/test/reference/subsurface-pad.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/subsurface-reflect.mask.argb32.ref.png b/test/reference/subsurface-reflect.mask.argb32.ref.png
new file mode 100644
index 00000000..55643f44
--- /dev/null
+++ b/test/reference/subsurface-reflect.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/subsurface-reflect.mask.rgb24.ref.png b/test/reference/subsurface-reflect.mask.rgb24.ref.png
new file mode 100644
index 00000000..55643f44
--- /dev/null
+++ b/test/reference/subsurface-reflect.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/subsurface-repeat.mask.argb32.ref.png b/test/reference/subsurface-repeat.mask.argb32.ref.png
new file mode 100644
index 00000000..c37e22e3
--- /dev/null
+++ b/test/reference/subsurface-repeat.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/subsurface-repeat.mask.rgb24.ref.png b/test/reference/subsurface-repeat.mask.rgb24.ref.png
new file mode 100644
index 00000000..c37e22e3
--- /dev/null
+++ b/test/reference/subsurface-repeat.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/subsurface-scale.base.argb32.ref.png b/test/reference/subsurface-scale.base.argb32.ref.png
new file mode 100644
index 00000000..69bb0fb9
--- /dev/null
+++ b/test/reference/subsurface-scale.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/subsurface-scale.base.rgb24.ref.png b/test/reference/subsurface-scale.base.rgb24.ref.png
new file mode 100644
index 00000000..69bb0fb9
--- /dev/null
+++ b/test/reference/subsurface-scale.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/subsurface-scale.mask.argb32.ref.png b/test/reference/subsurface-scale.mask.argb32.ref.png
new file mode 100644
index 00000000..69bb0fb9
--- /dev/null
+++ b/test/reference/subsurface-scale.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/subsurface-scale.mask.rgb24.ref.png b/test/reference/subsurface-scale.mask.rgb24.ref.png
new file mode 100644
index 00000000..69bb0fb9
--- /dev/null
+++ b/test/reference/subsurface-scale.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/subsurface-scale.traps.argb32.ref.png b/test/reference/subsurface-scale.traps.argb32.ref.png
new file mode 100644
index 00000000..69bb0fb9
--- /dev/null
+++ b/test/reference/subsurface-scale.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/subsurface-scale.traps.rgb24.ref.png b/test/reference/subsurface-scale.traps.rgb24.ref.png
new file mode 100644
index 00000000..69bb0fb9
--- /dev/null
+++ b/test/reference/subsurface-scale.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/subsurface-similar-repeat.mask.argb32.ref.png b/test/reference/subsurface-similar-repeat.mask.argb32.ref.png
new file mode 100644
index 00000000..c37e22e3
--- /dev/null
+++ b/test/reference/subsurface-similar-repeat.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/subsurface-similar-repeat.mask.rgb24.ref.png b/test/reference/subsurface-similar-repeat.mask.rgb24.ref.png
new file mode 100644
index 00000000..c37e22e3
--- /dev/null
+++ b/test/reference/subsurface-similar-repeat.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/subsurface.mask.argb32.ref.png b/test/reference/subsurface.mask.argb32.ref.png
new file mode 100644
index 00000000..feeb5dc8
--- /dev/null
+++ b/test/reference/subsurface.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/subsurface.mask.rgb24.ref.png b/test/reference/subsurface.mask.rgb24.ref.png
new file mode 100644
index 00000000..feeb5dc8
--- /dev/null
+++ b/test/reference/subsurface.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/surface-pattern-big-scale-down.mask.argb32.ref.png b/test/reference/surface-pattern-big-scale-down.mask.argb32.ref.png
new file mode 100644
index 00000000..c0509907
--- /dev/null
+++ b/test/reference/surface-pattern-big-scale-down.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/surface-pattern-big-scale-down.mask.rgb24.ref.png b/test/reference/surface-pattern-big-scale-down.mask.rgb24.ref.png
new file mode 100644
index 00000000..c0509907
--- /dev/null
+++ b/test/reference/surface-pattern-big-scale-down.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/surface-pattern-operator.mask.argb32.ref.png b/test/reference/surface-pattern-operator.mask.argb32.ref.png
new file mode 100644
index 00000000..81780304
--- /dev/null
+++ b/test/reference/surface-pattern-operator.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/surface-pattern-operator.mask.rgb24.ref.png b/test/reference/surface-pattern-operator.mask.rgb24.ref.png
new file mode 100644
index 00000000..2378bdd9
--- /dev/null
+++ b/test/reference/surface-pattern-operator.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/surface-pattern-scale-down-extend-none.mask.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-none.mask.argb32.ref.png
new file mode 100644
index 00000000..9df14cc5
--- /dev/null
+++ b/test/reference/surface-pattern-scale-down-extend-none.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/surface-pattern-scale-down-extend-none.mask.rgb24.ref.png b/test/reference/surface-pattern-scale-down-extend-none.mask.rgb24.ref.png
new file mode 100644
index 00000000..9df14cc5
--- /dev/null
+++ b/test/reference/surface-pattern-scale-down-extend-none.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/surface-pattern-scale-down-extend-pad.mask.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-pad.mask.argb32.ref.png
new file mode 100644
index 00000000..2ee94190
--- /dev/null
+++ b/test/reference/surface-pattern-scale-down-extend-pad.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/surface-pattern-scale-down-extend-pad.mask.rgb24.ref.png b/test/reference/surface-pattern-scale-down-extend-pad.mask.rgb24.ref.png
new file mode 100644
index 00000000..2ee94190
--- /dev/null
+++ b/test/reference/surface-pattern-scale-down-extend-pad.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/surface-pattern-scale-down-extend-reflect.mask.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-reflect.mask.argb32.ref.png
new file mode 100644
index 00000000..f2e93a7d
--- /dev/null
+++ b/test/reference/surface-pattern-scale-down-extend-reflect.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/surface-pattern-scale-down-extend-reflect.mask.rgb24.ref.png b/test/reference/surface-pattern-scale-down-extend-reflect.mask.rgb24.ref.png
new file mode 100644
index 00000000..f2e93a7d
--- /dev/null
+++ b/test/reference/surface-pattern-scale-down-extend-reflect.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/surface-pattern-scale-down-extend-repeat.mask.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-repeat.mask.argb32.ref.png
new file mode 100644
index 00000000..c5cff0fe
--- /dev/null
+++ b/test/reference/surface-pattern-scale-down-extend-repeat.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/surface-pattern-scale-down-extend-repeat.mask.rgb24.ref.png b/test/reference/surface-pattern-scale-down-extend-repeat.mask.rgb24.ref.png
new file mode 100644
index 00000000..c5cff0fe
--- /dev/null
+++ b/test/reference/surface-pattern-scale-down-extend-repeat.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/surface-pattern-scale-down.mask.argb32.ref.png b/test/reference/surface-pattern-scale-down.mask.argb32.ref.png
new file mode 100644
index 00000000..8bb58a2a
--- /dev/null
+++ b/test/reference/surface-pattern-scale-down.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/surface-pattern-scale-down.mask.rgb24.ref.png b/test/reference/surface-pattern-scale-down.mask.rgb24.ref.png
new file mode 100644
index 00000000..8bb58a2a
--- /dev/null
+++ b/test/reference/surface-pattern-scale-down.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/surface-pattern-scale-up.mask.argb32.ref.png b/test/reference/surface-pattern-scale-up.mask.argb32.ref.png
new file mode 100644
index 00000000..e8d84e2b
--- /dev/null
+++ b/test/reference/surface-pattern-scale-up.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/surface-pattern-scale-up.mask.rgb24.ref.png b/test/reference/surface-pattern-scale-up.mask.rgb24.ref.png
new file mode 100644
index 00000000..e8d84e2b
--- /dev/null
+++ b/test/reference/surface-pattern-scale-up.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/surface-pattern.mask.argb32.ref.png b/test/reference/surface-pattern.mask.argb32.ref.png
new file mode 100644
index 00000000..079ebfba
--- /dev/null
+++ b/test/reference/surface-pattern.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/surface-pattern.mask.rgb24.ref.png b/test/reference/surface-pattern.mask.rgb24.ref.png
new file mode 100644
index 00000000..079ebfba
--- /dev/null
+++ b/test/reference/surface-pattern.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/svg-surface-source.mask.argb32.ref.png b/test/reference/svg-surface-source.mask.argb32.ref.png
new file mode 100644
index 00000000..01829720
--- /dev/null
+++ b/test/reference/svg-surface-source.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/svg-surface-source.mask.rgb24.ref.png b/test/reference/svg-surface-source.mask.rgb24.ref.png
new file mode 100644
index 00000000..0d68a82c
--- /dev/null
+++ b/test/reference/svg-surface-source.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-gray.mask.argb32.ref.png b/test/reference/text-antialias-gray.mask.argb32.ref.png
new file mode 100644
index 00000000..06b805ea
--- /dev/null
+++ b/test/reference/text-antialias-gray.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-gray.mask.rgb24.ref.png b/test/reference/text-antialias-gray.mask.rgb24.ref.png
new file mode 100644
index 00000000..06b805ea
--- /dev/null
+++ b/test/reference/text-antialias-gray.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-gray.traps.argb32.ref.png b/test/reference/text-antialias-gray.traps.argb32.ref.png
new file mode 100644
index 00000000..06b805ea
--- /dev/null
+++ b/test/reference/text-antialias-gray.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-gray.traps.rgb24.ref.png b/test/reference/text-antialias-gray.traps.rgb24.ref.png
new file mode 100644
index 00000000..06b805ea
--- /dev/null
+++ b/test/reference/text-antialias-gray.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-none.mask.argb32.ref.png b/test/reference/text-antialias-none.mask.argb32.ref.png
new file mode 100644
index 00000000..86c09cd3
--- /dev/null
+++ b/test/reference/text-antialias-none.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-none.mask.rgb24.ref.png b/test/reference/text-antialias-none.mask.rgb24.ref.png
new file mode 100644
index 00000000..86c09cd3
--- /dev/null
+++ b/test/reference/text-antialias-none.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-none.traps.argb32.ref.png b/test/reference/text-antialias-none.traps.argb32.ref.png
new file mode 100644
index 00000000..86c09cd3
--- /dev/null
+++ b/test/reference/text-antialias-none.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-none.traps.rgb24.ref.png b/test/reference/text-antialias-none.traps.rgb24.ref.png
new file mode 100644
index 00000000..86c09cd3
--- /dev/null
+++ b/test/reference/text-antialias-none.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel-bgr.base.argb32.ref.png b/test/reference/text-antialias-subpixel-bgr.base.argb32.ref.png
new file mode 100644
index 00000000..f8d5130a
--- /dev/null
+++ b/test/reference/text-antialias-subpixel-bgr.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel-bgr.base.rgb24.ref.png b/test/reference/text-antialias-subpixel-bgr.base.rgb24.ref.png
new file mode 100644
index 00000000..f8d5130a
--- /dev/null
+++ b/test/reference/text-antialias-subpixel-bgr.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel-bgr.mask.argb32.ref.png b/test/reference/text-antialias-subpixel-bgr.mask.argb32.ref.png
new file mode 100644
index 00000000..f8d5130a
--- /dev/null
+++ b/test/reference/text-antialias-subpixel-bgr.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel-bgr.mask.rgb24.ref.png b/test/reference/text-antialias-subpixel-bgr.mask.rgb24.ref.png
new file mode 100644
index 00000000..f8d5130a
--- /dev/null
+++ b/test/reference/text-antialias-subpixel-bgr.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel-bgr.traps.argb32.ref.png b/test/reference/text-antialias-subpixel-bgr.traps.argb32.ref.png
new file mode 100644
index 00000000..a221472d
--- /dev/null
+++ b/test/reference/text-antialias-subpixel-bgr.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel-bgr.traps.rgb24.ref.png b/test/reference/text-antialias-subpixel-bgr.traps.rgb24.ref.png
new file mode 100644
index 00000000..a221472d
--- /dev/null
+++ b/test/reference/text-antialias-subpixel-bgr.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel-rgb.base.argb32.ref.png b/test/reference/text-antialias-subpixel-rgb.base.argb32.ref.png
new file mode 100644
index 00000000..f8d5130a
--- /dev/null
+++ b/test/reference/text-antialias-subpixel-rgb.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel-rgb.base.rgb24.ref.png b/test/reference/text-antialias-subpixel-rgb.base.rgb24.ref.png
new file mode 100644
index 00000000..f8d5130a
--- /dev/null
+++ b/test/reference/text-antialias-subpixel-rgb.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel-rgb.mask.argb32.ref.png b/test/reference/text-antialias-subpixel-rgb.mask.argb32.ref.png
new file mode 100644
index 00000000..f8d5130a
--- /dev/null
+++ b/test/reference/text-antialias-subpixel-rgb.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel-rgb.mask.rgb24.ref.png b/test/reference/text-antialias-subpixel-rgb.mask.rgb24.ref.png
new file mode 100644
index 00000000..f8d5130a
--- /dev/null
+++ b/test/reference/text-antialias-subpixel-rgb.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel-rgb.traps.argb32.ref.png b/test/reference/text-antialias-subpixel-rgb.traps.argb32.ref.png
new file mode 100644
index 00000000..af5e0aef
--- /dev/null
+++ b/test/reference/text-antialias-subpixel-rgb.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel-rgb.traps.rgb24.ref.png b/test/reference/text-antialias-subpixel-rgb.traps.rgb24.ref.png
new file mode 100644
index 00000000..af5e0aef
--- /dev/null
+++ b/test/reference/text-antialias-subpixel-rgb.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel-vbgr.base.argb32.ref.png b/test/reference/text-antialias-subpixel-vbgr.base.argb32.ref.png
new file mode 100644
index 00000000..9fd35ea2
--- /dev/null
+++ b/test/reference/text-antialias-subpixel-vbgr.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel-vbgr.base.rgb24.ref.png b/test/reference/text-antialias-subpixel-vbgr.base.rgb24.ref.png
new file mode 100644
index 00000000..9fd35ea2
--- /dev/null
+++ b/test/reference/text-antialias-subpixel-vbgr.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel-vbgr.mask.argb32.ref.png b/test/reference/text-antialias-subpixel-vbgr.mask.argb32.ref.png
new file mode 100644
index 00000000..9fd35ea2
--- /dev/null
+++ b/test/reference/text-antialias-subpixel-vbgr.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel-vbgr.mask.rgb24.ref.png b/test/reference/text-antialias-subpixel-vbgr.mask.rgb24.ref.png
new file mode 100644
index 00000000..9fd35ea2
--- /dev/null
+++ b/test/reference/text-antialias-subpixel-vbgr.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel-vbgr.traps.argb32.ref.png b/test/reference/text-antialias-subpixel-vbgr.traps.argb32.ref.png
new file mode 100644
index 00000000..905579b6
--- /dev/null
+++ b/test/reference/text-antialias-subpixel-vbgr.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel-vbgr.traps.rgb24.ref.png b/test/reference/text-antialias-subpixel-vbgr.traps.rgb24.ref.png
new file mode 100644
index 00000000..905579b6
--- /dev/null
+++ b/test/reference/text-antialias-subpixel-vbgr.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel-vrgb.base.argb32.ref.png b/test/reference/text-antialias-subpixel-vrgb.base.argb32.ref.png
new file mode 100644
index 00000000..9fd35ea2
--- /dev/null
+++ b/test/reference/text-antialias-subpixel-vrgb.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel-vrgb.base.rgb24.ref.png b/test/reference/text-antialias-subpixel-vrgb.base.rgb24.ref.png
new file mode 100644
index 00000000..9fd35ea2
--- /dev/null
+++ b/test/reference/text-antialias-subpixel-vrgb.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel-vrgb.mask.argb32.ref.png b/test/reference/text-antialias-subpixel-vrgb.mask.argb32.ref.png
new file mode 100644
index 00000000..9fd35ea2
--- /dev/null
+++ b/test/reference/text-antialias-subpixel-vrgb.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel-vrgb.mask.rgb24.ref.png b/test/reference/text-antialias-subpixel-vrgb.mask.rgb24.ref.png
new file mode 100644
index 00000000..9fd35ea2
--- /dev/null
+++ b/test/reference/text-antialias-subpixel-vrgb.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel-vrgb.traps.argb32.ref.png b/test/reference/text-antialias-subpixel-vrgb.traps.argb32.ref.png
new file mode 100644
index 00000000..f7c5befa
--- /dev/null
+++ b/test/reference/text-antialias-subpixel-vrgb.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel-vrgb.traps.rgb24.ref.png b/test/reference/text-antialias-subpixel-vrgb.traps.rgb24.ref.png
new file mode 100644
index 00000000..f7c5befa
--- /dev/null
+++ b/test/reference/text-antialias-subpixel-vrgb.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel.base.argb32.ref.png b/test/reference/text-antialias-subpixel.base.argb32.ref.png
new file mode 100644
index 00000000..f8d5130a
--- /dev/null
+++ b/test/reference/text-antialias-subpixel.base.argb32.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel.base.rgb24.ref.png b/test/reference/text-antialias-subpixel.base.rgb24.ref.png
new file mode 100644
index 00000000..f8d5130a
--- /dev/null
+++ b/test/reference/text-antialias-subpixel.base.rgb24.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel.mask.argb32.ref.png b/test/reference/text-antialias-subpixel.mask.argb32.ref.png
new file mode 100644
index 00000000..f8d5130a
--- /dev/null
+++ b/test/reference/text-antialias-subpixel.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel.mask.rgb24.ref.png b/test/reference/text-antialias-subpixel.mask.rgb24.ref.png
new file mode 100644
index 00000000..f8d5130a
--- /dev/null
+++ b/test/reference/text-antialias-subpixel.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel.traps.argb32.ref.png b/test/reference/text-antialias-subpixel.traps.argb32.ref.png
new file mode 100644
index 00000000..af5e0aef
--- /dev/null
+++ b/test/reference/text-antialias-subpixel.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/text-antialias-subpixel.traps.rgb24.ref.png b/test/reference/text-antialias-subpixel.traps.rgb24.ref.png
new file mode 100644
index 00000000..af5e0aef
--- /dev/null
+++ b/test/reference/text-antialias-subpixel.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/text-glyph-range.mask.argb32.ref.png b/test/reference/text-glyph-range.mask.argb32.ref.png
new file mode 100644
index 00000000..648fef5b
--- /dev/null
+++ b/test/reference/text-glyph-range.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/text-glyph-range.mask.rgb24.ref.png b/test/reference/text-glyph-range.mask.rgb24.ref.png
new file mode 100644
index 00000000..648fef5b
--- /dev/null
+++ b/test/reference/text-glyph-range.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/text-glyph-range.traps.argb32.ref.png b/test/reference/text-glyph-range.traps.argb32.ref.png
new file mode 100644
index 00000000..32686992
--- /dev/null
+++ b/test/reference/text-glyph-range.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/text-glyph-range.traps.rgb24.ref.png b/test/reference/text-glyph-range.traps.rgb24.ref.png
new file mode 100644
index 00000000..32686992
--- /dev/null
+++ b/test/reference/text-glyph-range.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/text-pattern.mask.argb32.ref.png b/test/reference/text-pattern.mask.argb32.ref.png
new file mode 100644
index 00000000..95410fa2
--- /dev/null
+++ b/test/reference/text-pattern.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/text-pattern.mask.rgb24.ref.png b/test/reference/text-pattern.mask.rgb24.ref.png
new file mode 100644
index 00000000..a6b9e4cf
--- /dev/null
+++ b/test/reference/text-pattern.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/text-rotate.mask.argb32.ref.png b/test/reference/text-rotate.mask.argb32.ref.png
new file mode 100644
index 00000000..b455aab6
--- /dev/null
+++ b/test/reference/text-rotate.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/text-rotate.mask.rgb24.ref.png b/test/reference/text-rotate.mask.rgb24.ref.png
new file mode 100644
index 00000000..b455aab6
--- /dev/null
+++ b/test/reference/text-rotate.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/text-rotate.traps.argb32.ref.png b/test/reference/text-rotate.traps.argb32.ref.png
new file mode 100644
index 00000000..ff3fe847
--- /dev/null
+++ b/test/reference/text-rotate.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/text-rotate.traps.rgb24.ref.png b/test/reference/text-rotate.traps.rgb24.ref.png
new file mode 100644
index 00000000..ff3fe847
--- /dev/null
+++ b/test/reference/text-rotate.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/text-transform.mask.argb32.ref.png b/test/reference/text-transform.mask.argb32.ref.png
new file mode 100644
index 00000000..4603bc52
--- /dev/null
+++ b/test/reference/text-transform.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/text-transform.mask.rgb24.ref.png b/test/reference/text-transform.mask.rgb24.ref.png
new file mode 100644
index 00000000..4603bc52
--- /dev/null
+++ b/test/reference/text-transform.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/tiger.mask.argb32.ref.png b/test/reference/tiger.mask.argb32.ref.png
new file mode 100644
index 00000000..85ae151f
--- /dev/null
+++ b/test/reference/tiger.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/tiger.mask.rgb24.ref.png b/test/reference/tiger.mask.rgb24.ref.png
new file mode 100644
index 00000000..85ae151f
--- /dev/null
+++ b/test/reference/tiger.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/transforms.mask.argb32.ref.png b/test/reference/transforms.mask.argb32.ref.png
new file mode 100644
index 00000000..390bad48
--- /dev/null
+++ b/test/reference/transforms.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/transforms.mask.rgb24.ref.png b/test/reference/transforms.mask.rgb24.ref.png
new file mode 100644
index 00000000..390bad48
--- /dev/null
+++ b/test/reference/transforms.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/translate-show-surface.mask.argb32.ref.png b/test/reference/translate-show-surface.mask.argb32.ref.png
new file mode 100644
index 00000000..0a145d91
--- /dev/null
+++ b/test/reference/translate-show-surface.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/translate-show-surface.mask.rgb24.ref.png b/test/reference/translate-show-surface.mask.rgb24.ref.png
new file mode 100644
index 00000000..0a145d91
--- /dev/null
+++ b/test/reference/translate-show-surface.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/trap-clip.mask.argb32.ref.png b/test/reference/trap-clip.mask.argb32.ref.png
new file mode 100644
index 00000000..98cd0a24
--- /dev/null
+++ b/test/reference/trap-clip.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/trap-clip.mask.rgb24.ref.png b/test/reference/trap-clip.mask.rgb24.ref.png
new file mode 100644
index 00000000..c0131533
--- /dev/null
+++ b/test/reference/trap-clip.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/twin-antialias-gray.mask.argb32.ref.png b/test/reference/twin-antialias-gray.mask.argb32.ref.png
new file mode 100644
index 00000000..6b091afd
--- /dev/null
+++ b/test/reference/twin-antialias-gray.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/twin-antialias-gray.mask.rgb24.ref.png b/test/reference/twin-antialias-gray.mask.rgb24.ref.png
new file mode 100644
index 00000000..6b091afd
--- /dev/null
+++ b/test/reference/twin-antialias-gray.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/twin-antialias-mixed.mask.argb32.ref.png b/test/reference/twin-antialias-mixed.mask.argb32.ref.png
new file mode 100644
index 00000000..d6c406fa
--- /dev/null
+++ b/test/reference/twin-antialias-mixed.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/twin-antialias-mixed.mask.rgb24.ref.png b/test/reference/twin-antialias-mixed.mask.rgb24.ref.png
new file mode 100644
index 00000000..d6c406fa
--- /dev/null
+++ b/test/reference/twin-antialias-mixed.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/twin-antialias-none.mask.argb32.ref.png b/test/reference/twin-antialias-none.mask.argb32.ref.png
new file mode 100644
index 00000000..cb9628e0
--- /dev/null
+++ b/test/reference/twin-antialias-none.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/twin-antialias-none.mask.rgb24.ref.png b/test/reference/twin-antialias-none.mask.rgb24.ref.png
new file mode 100644
index 00000000..cb9628e0
--- /dev/null
+++ b/test/reference/twin-antialias-none.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/twin-antialias-subpixel.mask.argb32.ref.png b/test/reference/twin-antialias-subpixel.mask.argb32.ref.png
new file mode 100644
index 00000000..6b091afd
--- /dev/null
+++ b/test/reference/twin-antialias-subpixel.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/twin-antialias-subpixel.mask.rgb24.ref.png b/test/reference/twin-antialias-subpixel.mask.rgb24.ref.png
new file mode 100644
index 00000000..6b091afd
--- /dev/null
+++ b/test/reference/twin-antialias-subpixel.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/twin.mask.argb32.ref.png b/test/reference/twin.mask.argb32.ref.png
new file mode 100644
index 00000000..6b091afd
--- /dev/null
+++ b/test/reference/twin.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/twin.mask.rgb24.ref.png b/test/reference/twin.mask.rgb24.ref.png
new file mode 100644
index 00000000..6b091afd
--- /dev/null
+++ b/test/reference/twin.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/unaligned-box.mask.argb32.ref.png b/test/reference/unaligned-box.mask.argb32.ref.png
new file mode 100644
index 00000000..ec7c4899
--- /dev/null
+++ b/test/reference/unaligned-box.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/unaligned-box.mask.rgb24.ref.png b/test/reference/unaligned-box.mask.rgb24.ref.png
new file mode 100644
index 00000000..ec7c4899
--- /dev/null
+++ b/test/reference/unaligned-box.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/unantialiased-shapes.mask.argb32.ref.png b/test/reference/unantialiased-shapes.mask.argb32.ref.png
new file mode 100644
index 00000000..d9f466e5
--- /dev/null
+++ b/test/reference/unantialiased-shapes.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/unantialiased-shapes.mask.rgb24.ref.png b/test/reference/unantialiased-shapes.mask.rgb24.ref.png
new file mode 100644
index 00000000..d9f466e5
--- /dev/null
+++ b/test/reference/unantialiased-shapes.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/unbounded-operator.mask.argb32.ref.png b/test/reference/unbounded-operator.mask.argb32.ref.png
new file mode 100644
index 00000000..08f43561
--- /dev/null
+++ b/test/reference/unbounded-operator.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/unbounded-operator.mask.rgb24.ref.png b/test/reference/unbounded-operator.mask.rgb24.ref.png
new file mode 100644
index 00000000..80d20dc5
--- /dev/null
+++ b/test/reference/unbounded-operator.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/unclosed-strokes.mask.argb32.ref.png b/test/reference/unclosed-strokes.mask.argb32.ref.png
new file mode 100644
index 00000000..8af84726
--- /dev/null
+++ b/test/reference/unclosed-strokes.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/unclosed-strokes.mask.rgb24.ref.png b/test/reference/unclosed-strokes.mask.rgb24.ref.png
new file mode 100644
index 00000000..8af84726
--- /dev/null
+++ b/test/reference/unclosed-strokes.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/user-font-mask.mask.argb32.ref.png b/test/reference/user-font-mask.mask.argb32.ref.png
new file mode 100644
index 00000000..02a9a5ec
--- /dev/null
+++ b/test/reference/user-font-mask.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/user-font-mask.mask.rgb24.ref.png b/test/reference/user-font-mask.mask.rgb24.ref.png
new file mode 100644
index 00000000..02a9a5ec
--- /dev/null
+++ b/test/reference/user-font-mask.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/user-font-proxy.mask.argb32.ref.png b/test/reference/user-font-proxy.mask.argb32.ref.png
new file mode 100644
index 00000000..5acbca52
--- /dev/null
+++ b/test/reference/user-font-proxy.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/user-font-proxy.mask.rgb24.ref.png b/test/reference/user-font-proxy.mask.rgb24.ref.png
new file mode 100644
index 00000000..5acbca52
--- /dev/null
+++ b/test/reference/user-font-proxy.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/user-font-proxy.traps.argb32.ref.png b/test/reference/user-font-proxy.traps.argb32.ref.png
new file mode 100644
index 00000000..094938c6
--- /dev/null
+++ b/test/reference/user-font-proxy.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/user-font-proxy.traps.rgb24.ref.png b/test/reference/user-font-proxy.traps.rgb24.ref.png
new file mode 100644
index 00000000..094938c6
--- /dev/null
+++ b/test/reference/user-font-proxy.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/user-font-rescale.mask.argb32.ref.png b/test/reference/user-font-rescale.mask.argb32.ref.png
new file mode 100644
index 00000000..09390601
--- /dev/null
+++ b/test/reference/user-font-rescale.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/user-font-rescale.mask.rgb24.ref.png b/test/reference/user-font-rescale.mask.rgb24.ref.png
new file mode 100644
index 00000000..09390601
--- /dev/null
+++ b/test/reference/user-font-rescale.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/user-font-rescale.traps.argb32.ref.png b/test/reference/user-font-rescale.traps.argb32.ref.png
new file mode 100644
index 00000000..09390601
--- /dev/null
+++ b/test/reference/user-font-rescale.traps.argb32.ref.png
Binary files differ
diff --git a/test/reference/user-font-rescale.traps.rgb24.ref.png b/test/reference/user-font-rescale.traps.rgb24.ref.png
new file mode 100644
index 00000000..09390601
--- /dev/null
+++ b/test/reference/user-font-rescale.traps.rgb24.ref.png
Binary files differ
diff --git a/test/reference/user-font.mask.argb32.ref.png b/test/reference/user-font.mask.argb32.ref.png
new file mode 100644
index 00000000..b234a880
--- /dev/null
+++ b/test/reference/user-font.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/user-font.mask.rgb24.ref.png b/test/reference/user-font.mask.rgb24.ref.png
new file mode 100644
index 00000000..b234a880
--- /dev/null
+++ b/test/reference/user-font.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/white-in-noop.mask.argb32.ref.png b/test/reference/white-in-noop.mask.argb32.ref.png
new file mode 100644
index 00000000..f42bb8d5
--- /dev/null
+++ b/test/reference/white-in-noop.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/white-in-noop.mask.rgb24.ref.png b/test/reference/white-in-noop.mask.rgb24.ref.png
new file mode 100644
index 00000000..f42bb8d5
--- /dev/null
+++ b/test/reference/white-in-noop.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/world-map-fill.mask.argb32.ref.png b/test/reference/world-map-fill.mask.argb32.ref.png
new file mode 100644
index 00000000..fad82ee7
--- /dev/null
+++ b/test/reference/world-map-fill.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/world-map-fill.mask.rgb24.ref.png b/test/reference/world-map-fill.mask.rgb24.ref.png
new file mode 100644
index 00000000..fad82ee7
--- /dev/null
+++ b/test/reference/world-map-fill.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/world-map-stroke.mask.argb32.ref.png b/test/reference/world-map-stroke.mask.argb32.ref.png
new file mode 100644
index 00000000..ec0d5021
--- /dev/null
+++ b/test/reference/world-map-stroke.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/world-map-stroke.mask.rgb24.ref.png b/test/reference/world-map-stroke.mask.rgb24.ref.png
new file mode 100644
index 00000000..ec0d5021
--- /dev/null
+++ b/test/reference/world-map-stroke.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/world-map.mask.argb32.ref.png b/test/reference/world-map.mask.argb32.ref.png
new file mode 100644
index 00000000..218a303a
--- /dev/null
+++ b/test/reference/world-map.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/world-map.mask.rgb24.ref.png b/test/reference/world-map.mask.rgb24.ref.png
new file mode 100644
index 00000000..218a303a
--- /dev/null
+++ b/test/reference/world-map.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/xcb-huge-image-shm.mask.argb32.ref.png b/test/reference/xcb-huge-image-shm.mask.argb32.ref.png
new file mode 100644
index 00000000..a0b24c8a
--- /dev/null
+++ b/test/reference/xcb-huge-image-shm.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/xcb-huge-image-shm.mask.rgb24.ref.png b/test/reference/xcb-huge-image-shm.mask.rgb24.ref.png
new file mode 100644
index 00000000..a0b24c8a
--- /dev/null
+++ b/test/reference/xcb-huge-image-shm.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/xcb-snapshot-assert.mask.argb32.ref.png b/test/reference/xcb-snapshot-assert.mask.argb32.ref.png
new file mode 100644
index 00000000..850ce59b
--- /dev/null
+++ b/test/reference/xcb-snapshot-assert.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/xcb-snapshot-assert.mask.rgb24.ref.png b/test/reference/xcb-snapshot-assert.mask.rgb24.ref.png
new file mode 100644
index 00000000..850ce59b
--- /dev/null
+++ b/test/reference/xcb-snapshot-assert.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/xcb-stress-cache.mask.argb32.ref.png b/test/reference/xcb-stress-cache.mask.argb32.ref.png
new file mode 100644
index 00000000..850ce59b
--- /dev/null
+++ b/test/reference/xcb-stress-cache.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/xcb-stress-cache.mask.rgb24.ref.png b/test/reference/xcb-stress-cache.mask.rgb24.ref.png
new file mode 100644
index 00000000..850ce59b
--- /dev/null
+++ b/test/reference/xcb-stress-cache.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/xcb-surface-source.mask.argb32.ref.png b/test/reference/xcb-surface-source.mask.argb32.ref.png
new file mode 100644
index 00000000..01829720
--- /dev/null
+++ b/test/reference/xcb-surface-source.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/xcb-surface-source.mask.rgb24.ref.png b/test/reference/xcb-surface-source.mask.rgb24.ref.png
new file mode 100644
index 00000000..0d68a82c
--- /dev/null
+++ b/test/reference/xcb-surface-source.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/xcomposite-projection.mask.argb32.ref.png b/test/reference/xcomposite-projection.mask.argb32.ref.png
new file mode 100644
index 00000000..9ccabda9
--- /dev/null
+++ b/test/reference/xcomposite-projection.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/xcomposite-projection.mask.rgb24.ref.png b/test/reference/xcomposite-projection.mask.rgb24.ref.png
new file mode 100644
index 00000000..9ccabda9
--- /dev/null
+++ b/test/reference/xcomposite-projection.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/xlib-expose-event.mask.argb32.ref.png b/test/reference/xlib-expose-event.mask.argb32.ref.png
new file mode 100644
index 00000000..fd71f5a3
--- /dev/null
+++ b/test/reference/xlib-expose-event.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/xlib-expose-event.mask.rgb24.ref.png b/test/reference/xlib-expose-event.mask.rgb24.ref.png
new file mode 100644
index 00000000..fd71f5a3
--- /dev/null
+++ b/test/reference/xlib-expose-event.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/xlib-surface-source.mask.argb32.ref.png b/test/reference/xlib-surface-source.mask.argb32.ref.png
new file mode 100644
index 00000000..01829720
--- /dev/null
+++ b/test/reference/xlib-surface-source.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/xlib-surface-source.mask.rgb24.ref.png b/test/reference/xlib-surface-source.mask.rgb24.ref.png
new file mode 100644
index 00000000..0d68a82c
--- /dev/null
+++ b/test/reference/xlib-surface-source.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/zero-alpha.mask.argb32.ref.png b/test/reference/zero-alpha.mask.argb32.ref.png
new file mode 100644
index 00000000..595c0aee
--- /dev/null
+++ b/test/reference/zero-alpha.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/zero-alpha.mask.rgb24.ref.png b/test/reference/zero-alpha.mask.rgb24.ref.png
new file mode 100644
index 00000000..595c0aee
--- /dev/null
+++ b/test/reference/zero-alpha.mask.rgb24.ref.png
Binary files differ
diff --git a/test/reference/zero-mask.mask.argb32.ref.png b/test/reference/zero-mask.mask.argb32.ref.png
new file mode 100644
index 00000000..ffae8d99
--- /dev/null
+++ b/test/reference/zero-mask.mask.argb32.ref.png
Binary files differ
diff --git a/test/reference/zero-mask.mask.rgb24.ref.png b/test/reference/zero-mask.mask.rgb24.ref.png
new file mode 100644
index 00000000..263c3d1e
--- /dev/null
+++ b/test/reference/zero-mask.mask.rgb24.ref.png
Binary files differ