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 000000000..f9ae8a87e Binary files /dev/null and b/test/reference/a1-bug.mask.argb32.ref.png 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 000000000..f9ae8a87e Binary files /dev/null and b/test/reference/a1-bug.mask.rgb24.ref.png 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 000000000..384ba4a04 Binary files /dev/null and b/test/reference/a1-clip-fill-equal.mask.argb32.ref.png 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 000000000..384ba4a04 Binary files /dev/null and b/test/reference/a1-clip-fill-equal.mask.rgb24.ref.png 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 000000000..c3ba9dd5f Binary files /dev/null and b/test/reference/a1-clip-fill-rule.mask.argb32.ref.png 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 000000000..6fe9346ba Binary files /dev/null and b/test/reference/a1-clip-fill-rule.mask.rgb24.ref.png 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 000000000..384ba4a04 Binary files /dev/null and b/test/reference/a1-clip-fill.mask.argb32.ref.png 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 000000000..384ba4a04 Binary files /dev/null and b/test/reference/a1-clip-fill.mask.rgb24.ref.png 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 000000000..384ba4a04 Binary files /dev/null and b/test/reference/a1-clip-paint.mask.argb32.ref.png 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 000000000..384ba4a04 Binary files /dev/null and b/test/reference/a1-clip-paint.mask.rgb24.ref.png 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 000000000..384ba4a04 Binary files /dev/null and b/test/reference/a1-clip-stroke.mask.argb32.ref.png 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 000000000..384ba4a04 Binary files /dev/null and b/test/reference/a1-clip-stroke.mask.rgb24.ref.png 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 000000000..e40202bf9 Binary files /dev/null and b/test/reference/a1-fill.base.argb32.ref.png 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 000000000..e40202bf9 Binary files /dev/null and b/test/reference/a1-fill.base.rgb24.ref.png 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 000000000..e40202bf9 Binary files /dev/null and b/test/reference/a1-fill.mask.argb32.ref.png 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 000000000..e40202bf9 Binary files /dev/null and b/test/reference/a1-fill.mask.rgb24.ref.png 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 000000000..e40202bf9 Binary files /dev/null and b/test/reference/a1-fill.traps.argb32.ref.png 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 000000000..e40202bf9 Binary files /dev/null and b/test/reference/a1-fill.traps.rgb24.ref.png 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 000000000..b8fd4570d Binary files /dev/null and b/test/reference/a1-image-sample.mask.argb32.ref.png 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 000000000..b8fd4570d Binary files /dev/null and b/test/reference/a1-image-sample.mask.rgb24.ref.png 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 000000000..35d9cad60 Binary files /dev/null and b/test/reference/a1-line-width.mask.argb32.ref.png 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 000000000..35d9cad60 Binary files /dev/null and b/test/reference/a1-line-width.mask.rgb24.ref.png 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 000000000..b8fd4570d Binary files /dev/null and b/test/reference/a1-mask-sample.mask.argb32.ref.png 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 000000000..b8fd4570d Binary files /dev/null and b/test/reference/a1-mask-sample.mask.rgb24.ref.png 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 000000000..864fc1031 Binary files /dev/null and b/test/reference/a1-mask.mask.argb32.ref.png 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 000000000..864fc1031 Binary files /dev/null and b/test/reference/a1-mask.mask.rgb24.ref.png 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 000000000..784cf873e Binary files /dev/null and b/test/reference/a1-rasterisation-rectangles.mask.argb32.ref.png 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 000000000..784cf873e Binary files /dev/null and b/test/reference/a1-rasterisation-rectangles.mask.rgb24.ref.png 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 000000000..784cf873e Binary files /dev/null and b/test/reference/a1-rasterisation-triangles.mask.argb32.ref.png 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 000000000..784cf873e Binary files /dev/null and b/test/reference/a1-rasterisation-triangles.mask.rgb24.ref.png 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 000000000..2dfb85e13 Binary files /dev/null and b/test/reference/a1-rectilinear-grid.mask.argb32.ref.png 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 000000000..2dfb85e13 Binary files /dev/null and b/test/reference/a1-rectilinear-grid.mask.rgb24.ref.png 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 000000000..4c6131ce0 Binary files /dev/null and b/test/reference/a1-sample.mask.argb32.ref.png 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 000000000..4c6131ce0 Binary files /dev/null and b/test/reference/a1-sample.mask.rgb24.ref.png 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 000000000..9a62af760 Binary files /dev/null and b/test/reference/a1-tiger.mask.argb32.ref.png 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 000000000..9a62af760 Binary files /dev/null and b/test/reference/a1-tiger.mask.rgb24.ref.png 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 000000000..384ba4a04 Binary files /dev/null and b/test/reference/a1-traps-sample.mask.argb32.ref.png 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 000000000..384ba4a04 Binary files /dev/null and b/test/reference/a1-traps-sample.mask.rgb24.ref.png 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 000000000..98a624eba Binary files /dev/null and b/test/reference/a8-clear.mask.argb32.ref.png 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 000000000..98a624eba Binary files /dev/null and b/test/reference/a8-clear.mask.rgb24.ref.png 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 000000000..e0503d93e Binary files /dev/null and b/test/reference/a8-mask.mask.argb32.ref.png 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 000000000..e0503d93e Binary files /dev/null and b/test/reference/a8-mask.mask.rgb24.ref.png differ diff --git a/test/reference/aliasing.mask.argb32.ref.png b/test/reference/aliasing.mask.argb32.ref.png new file mode 100644 index 000000000..c11eb67d5 Binary files /dev/null and b/test/reference/aliasing.mask.argb32.ref.png differ diff --git a/test/reference/aliasing.mask.rgb24.ref.png b/test/reference/aliasing.mask.rgb24.ref.png new file mode 100644 index 000000000..c11eb67d5 Binary files /dev/null and b/test/reference/aliasing.mask.rgb24.ref.png 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 000000000..9e1bfaace Binary files /dev/null and b/test/reference/alpha-similar.mask.argb32.ref.png 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 000000000..a1f5280a4 Binary files /dev/null and b/test/reference/alpha-similar.mask.rgb24.ref.png 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 000000000..56b88a935 Binary files /dev/null and b/test/reference/api-special-cases.mask.argb32.ref.png 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 000000000..56b88a935 Binary files /dev/null and b/test/reference/api-special-cases.mask.rgb24.ref.png 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 000000000..2790a2b75 Binary files /dev/null and b/test/reference/arc-direction.base.argb32.ref.png 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 000000000..2790a2b75 Binary files /dev/null and b/test/reference/arc-direction.base.rgb24.ref.png 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 000000000..280c09b6e Binary files /dev/null and b/test/reference/arc-direction.mask.argb32.ref.png 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 000000000..280c09b6e Binary files /dev/null and b/test/reference/arc-direction.mask.rgb24.ref.png 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 000000000..280c09b6e Binary files /dev/null and b/test/reference/arc-direction.traps.argb32.ref.png 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 000000000..280c09b6e Binary files /dev/null and b/test/reference/arc-direction.traps.rgb24.ref.png 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 000000000..82d645f30 Binary files /dev/null and b/test/reference/arc-infinite-loop.mask.argb32.ref.png 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 000000000..82d645f30 Binary files /dev/null and b/test/reference/arc-infinite-loop.mask.rgb24.ref.png 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 000000000..516e66ce0 Binary files /dev/null and b/test/reference/arc-looping-dash.mask.argb32.ref.png 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 000000000..516e66ce0 Binary files /dev/null and b/test/reference/arc-looping-dash.mask.rgb24.ref.png 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 000000000..a88d3b6de Binary files /dev/null and b/test/reference/big-empty-triangle.mask.argb32.ref.png 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 000000000..6c2ca32f0 Binary files /dev/null and b/test/reference/big-empty-triangle.mask.rgb24.ref.png 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 000000000..1bcde8f54 Binary files /dev/null and b/test/reference/big-line.mask.argb32.ref.png 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 000000000..1bcde8f54 Binary files /dev/null and b/test/reference/big-line.mask.rgb24.ref.png 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 000000000..928c5e690 Binary files /dev/null and b/test/reference/big-little-box.mask.argb32.ref.png 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 000000000..c069d6fdc Binary files /dev/null and b/test/reference/big-little-box.mask.rgb24.ref.png 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 000000000..1c2522fa6 Binary files /dev/null and b/test/reference/big-little-triangle.mask.argb32.ref.png 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 000000000..24fc47259 Binary files /dev/null and b/test/reference/big-little-triangle.mask.rgb24.ref.png 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 000000000..c0975c9b5 Binary files /dev/null and b/test/reference/big-trap.mask.argb32.ref.png 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 000000000..c0975c9b5 Binary files /dev/null and b/test/reference/big-trap.mask.rgb24.ref.png 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 000000000..3fb25c2e5 Binary files /dev/null and b/test/reference/bilevel-image.mask.argb32.ref.png 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 000000000..3fb25c2e5 Binary files /dev/null and b/test/reference/bilevel-image.mask.rgb24.ref.png 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 000000000..bc2bc52e0 Binary files /dev/null and b/test/reference/bitmap-font.mask.argb32.ref.png 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 000000000..285d74288 Binary files /dev/null and b/test/reference/bitmap-font.mask.rgb24.ref.png 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 000000000..ae4420a70 Binary files /dev/null and b/test/reference/bug-40410.mask.argb32.ref.png 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 000000000..ae4420a70 Binary files /dev/null and b/test/reference/bug-40410.mask.rgb24.ref.png 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 000000000..ffa4edef6 Binary files /dev/null and b/test/reference/bug-bo-rectangular.mask.argb32.ref.png 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 000000000..ffa4edef6 Binary files /dev/null and b/test/reference/bug-bo-rectangular.mask.rgb24.ref.png 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 000000000..ff7a552f7 Binary files /dev/null and b/test/reference/bug-bo-ricotz.base.argb32.ref.png 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 000000000..ff7a552f7 Binary files /dev/null and b/test/reference/bug-bo-ricotz.base.rgb24.ref.png 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 000000000..0e52b2454 Binary files /dev/null and b/test/reference/bug-bo-ricotz.mask.argb32.ref.png 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 000000000..0e52b2454 Binary files /dev/null and b/test/reference/bug-bo-ricotz.mask.rgb24.ref.png 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 000000000..0e52b2454 Binary files /dev/null and b/test/reference/bug-bo-ricotz.traps.argb32.ref.png 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 000000000..0e52b2454 Binary files /dev/null and b/test/reference/bug-bo-ricotz.traps.rgb24.ref.png 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 000000000..2c6875e46 Binary files /dev/null and b/test/reference/bug-extents.mask.argb32.ref.png 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 000000000..2c6875e46 Binary files /dev/null and b/test/reference/bug-extents.mask.rgb24.ref.png 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 000000000..99098db8c Binary files /dev/null and b/test/reference/bug-seams.mask.argb32.ref.png 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 000000000..99098db8c Binary files /dev/null and b/test/reference/bug-seams.mask.rgb24.ref.png 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 000000000..964a70f37 Binary files /dev/null and b/test/reference/caps-joins-alpha.mask.argb32.ref.png 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 000000000..964a70f37 Binary files /dev/null and b/test/reference/caps-joins-alpha.mask.rgb24.ref.png 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 000000000..35959002c Binary files /dev/null and b/test/reference/caps-joins-curve.mask.argb32.ref.png 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 000000000..35959002c Binary files /dev/null and b/test/reference/caps-joins-curve.mask.rgb24.ref.png 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 000000000..4983c0230 Binary files /dev/null and b/test/reference/caps-joins.mask.argb32.ref.png 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 000000000..4983c0230 Binary files /dev/null and b/test/reference/caps-joins.mask.rgb24.ref.png 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 000000000..744338957 Binary files /dev/null and b/test/reference/caps-sub-paths.mask.argb32.ref.png 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 000000000..744338957 Binary files /dev/null and b/test/reference/caps-sub-paths.mask.rgb24.ref.png 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 000000000..b0f477df9 Binary files /dev/null and b/test/reference/caps-tails-curve.mask.argb32.ref.png 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 000000000..b0f477df9 Binary files /dev/null and b/test/reference/caps-tails-curve.mask.rgb24.ref.png differ diff --git a/test/reference/caps.mask.argb32.ref.png b/test/reference/caps.mask.argb32.ref.png new file mode 100644 index 000000000..bf784fd40 Binary files /dev/null and b/test/reference/caps.mask.argb32.ref.png differ diff --git a/test/reference/caps.mask.rgb24.ref.png b/test/reference/caps.mask.rgb24.ref.png new file mode 100644 index 000000000..bf784fd40 Binary files /dev/null and b/test/reference/caps.mask.rgb24.ref.png differ diff --git a/test/reference/checkerboard.mask.argb32.ref.png b/test/reference/checkerboard.mask.argb32.ref.png new file mode 100644 index 000000000..1444bc41b Binary files /dev/null and b/test/reference/checkerboard.mask.argb32.ref.png differ diff --git a/test/reference/checkerboard.mask.rgb24.ref.png b/test/reference/checkerboard.mask.rgb24.ref.png new file mode 100644 index 000000000..1444bc41b Binary files /dev/null and b/test/reference/checkerboard.mask.rgb24.ref.png 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 000000000..352bf4503 Binary files /dev/null and b/test/reference/clear-source.mask.argb32.ref.png 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 000000000..352bf4503 Binary files /dev/null and b/test/reference/clear-source.mask.rgb24.ref.png differ diff --git a/test/reference/clear.mask.argb32.ref.png b/test/reference/clear.mask.argb32.ref.png new file mode 100644 index 000000000..102ac3dd1 Binary files /dev/null and b/test/reference/clear.mask.argb32.ref.png differ diff --git a/test/reference/clear.mask.rgb24.ref.png b/test/reference/clear.mask.rgb24.ref.png new file mode 100644 index 000000000..3267affbf Binary files /dev/null and b/test/reference/clear.mask.rgb24.ref.png 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 000000000..1ed070cae Binary files /dev/null and b/test/reference/clip-all.mask.argb32.ref.png 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 000000000..1ed070cae Binary files /dev/null and b/test/reference/clip-all.mask.rgb24.ref.png 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 000000000..bafbb8ad1 Binary files /dev/null and b/test/reference/clip-complex-shape-eo-aa.mask.argb32.ref.png 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 000000000..bafbb8ad1 Binary files /dev/null and b/test/reference/clip-complex-shape-eo-aa.mask.rgb24.ref.png 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 000000000..bafbb8ad1 Binary files /dev/null and b/test/reference/clip-complex-shape-eo-mono.mask.argb32.ref.png 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 000000000..bafbb8ad1 Binary files /dev/null and b/test/reference/clip-complex-shape-eo-mono.mask.rgb24.ref.png 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 000000000..0d575a628 Binary files /dev/null and b/test/reference/clip-contexts.mask.argb32.ref.png 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 000000000..0d575a628 Binary files /dev/null and b/test/reference/clip-contexts.mask.rgb24.ref.png 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 000000000..06be98519 Binary files /dev/null and b/test/reference/clip-device-offset.mask.argb32.ref.png 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 000000000..241938459 Binary files /dev/null and b/test/reference/clip-device-offset.mask.rgb24.ref.png 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 000000000..a29f04ac9 Binary files /dev/null and b/test/reference/clip-disjoint-hatching.mask.argb32.ref.png 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 000000000..a29f04ac9 Binary files /dev/null and b/test/reference/clip-disjoint-hatching.mask.rgb24.ref.png 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 000000000..4e18b7c7c Binary files /dev/null and b/test/reference/clip-disjoint.mask.argb32.ref.png 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 000000000..4e18b7c7c Binary files /dev/null and b/test/reference/clip-disjoint.mask.rgb24.ref.png 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 000000000..a59ca472d Binary files /dev/null and b/test/reference/clip-empty-group.mask.argb32.ref.png 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 000000000..a59ca472d Binary files /dev/null and b/test/reference/clip-empty-group.mask.rgb24.ref.png 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 000000000..1ed070cae Binary files /dev/null and b/test/reference/clip-empty-save.mask.argb32.ref.png 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 000000000..1ed070cae Binary files /dev/null and b/test/reference/clip-empty-save.mask.rgb24.ref.png 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 000000000..1ed070cae Binary files /dev/null and b/test/reference/clip-empty.mask.argb32.ref.png 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 000000000..1ed070cae Binary files /dev/null and b/test/reference/clip-empty.mask.rgb24.ref.png 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 000000000..2340bdf12 Binary files /dev/null and b/test/reference/clip-fill-eo-unbounded.mask.argb32.ref.png 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 000000000..299bd72a8 Binary files /dev/null and b/test/reference/clip-fill-eo-unbounded.mask.rgb24.ref.png 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 000000000..2256461a9 Binary files /dev/null and b/test/reference/clip-fill-no-op.mask.argb32.ref.png 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 000000000..2256461a9 Binary files /dev/null and b/test/reference/clip-fill-no-op.mask.rgb24.ref.png 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 000000000..05b26282c Binary files /dev/null and b/test/reference/clip-fill-nz-unbounded.mask.argb32.ref.png 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 000000000..9ce760b13 Binary files /dev/null and b/test/reference/clip-fill-nz-unbounded.mask.rgb24.ref.png 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 000000000..9b82c4b5f Binary files /dev/null and b/test/reference/clip-fill-rule-pixel-aligned.mask.argb32.ref.png 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 000000000..0b4f06883 Binary files /dev/null and b/test/reference/clip-fill-rule-pixel-aligned.mask.rgb24.ref.png 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 000000000..cb23ea61d Binary files /dev/null and b/test/reference/clip-fill-rule.mask.argb32.ref.png 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 000000000..5265ddea9 Binary files /dev/null and b/test/reference/clip-fill-rule.mask.rgb24.ref.png 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 000000000..c3f27003c Binary files /dev/null and b/test/reference/clip-fill.mask.argb32.ref.png 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 000000000..c3f27003c Binary files /dev/null and b/test/reference/clip-fill.mask.rgb24.ref.png 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 000000000..cba75078a Binary files /dev/null and b/test/reference/clip-group-shapes-aligned-rectangles.mask.argb32.ref.png 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 000000000..cba75078a Binary files /dev/null and b/test/reference/clip-group-shapes-aligned-rectangles.mask.rgb24.ref.png 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 000000000..7dd6a8353 Binary files /dev/null and b/test/reference/clip-group-shapes-circles.mask.argb32.ref.png 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 000000000..7dd6a8353 Binary files /dev/null and b/test/reference/clip-group-shapes-circles.mask.rgb24.ref.png 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 000000000..877e78bd7 Binary files /dev/null and b/test/reference/clip-group-shapes-unaligned-rectangles.mask.argb32.ref.png 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 000000000..877e78bd7 Binary files /dev/null and b/test/reference/clip-group-shapes-unaligned-rectangles.mask.rgb24.ref.png 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 000000000..86c28afd7 Binary files /dev/null and b/test/reference/clip-image.mask.argb32.ref.png 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 000000000..86c28afd7 Binary files /dev/null and b/test/reference/clip-image.mask.rgb24.ref.png 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 000000000..6627b3a50 Binary files /dev/null and b/test/reference/clip-intersect.mask.argb32.ref.png 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 000000000..6627b3a50 Binary files /dev/null and b/test/reference/clip-intersect.mask.rgb24.ref.png 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 000000000..243c4dde6 Binary files /dev/null and b/test/reference/clip-mixed-antialias.mask.argb32.ref.png 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 000000000..243c4dde6 Binary files /dev/null and b/test/reference/clip-mixed-antialias.mask.rgb24.ref.png 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 000000000..ce0cc0d08 Binary files /dev/null and b/test/reference/clip-nesting.mask.argb32.ref.png 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 000000000..524784371 Binary files /dev/null and b/test/reference/clip-nesting.mask.rgb24.ref.png 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 000000000..8db1a07c2 Binary files /dev/null and b/test/reference/clip-operator.mask.argb32.ref.png 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 000000000..ddd1ec376 Binary files /dev/null and b/test/reference/clip-operator.mask.rgb24.ref.png 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 000000000..e1f294ce3 Binary files /dev/null and b/test/reference/clip-polygons.base.argb32.ref.png 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 000000000..e1f294ce3 Binary files /dev/null and b/test/reference/clip-polygons.base.rgb24.ref.png 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 000000000..e139ef3f5 Binary files /dev/null and b/test/reference/clip-polygons.mask.argb32.ref.png 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 000000000..e139ef3f5 Binary files /dev/null and b/test/reference/clip-polygons.mask.rgb24.ref.png 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 000000000..e139ef3f5 Binary files /dev/null and b/test/reference/clip-polygons.traps.argb32.ref.png 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 000000000..e139ef3f5 Binary files /dev/null and b/test/reference/clip-polygons.traps.rgb24.ref.png 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 000000000..86724a23b Binary files /dev/null and b/test/reference/clip-push-group.mask.argb32.ref.png 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 000000000..86724a23b Binary files /dev/null and b/test/reference/clip-push-group.mask.rgb24.ref.png 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 000000000..2a27beca3 Binary files /dev/null and b/test/reference/clip-rectilinear.base.argb32.ref.png 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 000000000..2a27beca3 Binary files /dev/null and b/test/reference/clip-rectilinear.base.rgb24.ref.png 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 000000000..2a27beca3 Binary files /dev/null and b/test/reference/clip-rectilinear.mask.argb32.ref.png 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 000000000..2a27beca3 Binary files /dev/null and b/test/reference/clip-rectilinear.mask.rgb24.ref.png 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 000000000..2a27beca3 Binary files /dev/null and b/test/reference/clip-rectilinear.traps.argb32.ref.png 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 000000000..2a27beca3 Binary files /dev/null and b/test/reference/clip-rectilinear.traps.rgb24.ref.png 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 000000000..1093804d7 Binary files /dev/null and b/test/reference/clip-rotate-image-surface-paint.mask.argb32.ref.png 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 000000000..1093804d7 Binary files /dev/null and b/test/reference/clip-rotate-image-surface-paint.mask.rgb24.ref.png 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 000000000..03edf68f0 Binary files /dev/null and b/test/reference/clip-shape.mask.argb32.ref.png 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 000000000..03edf68f0 Binary files /dev/null and b/test/reference/clip-shape.mask.rgb24.ref.png 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 000000000..2256461a9 Binary files /dev/null and b/test/reference/clip-stroke-no-op.mask.argb32.ref.png 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 000000000..2256461a9 Binary files /dev/null and b/test/reference/clip-stroke-no-op.mask.rgb24.ref.png 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 000000000..274feb641 Binary files /dev/null and b/test/reference/clip-stroke-unbounded.mask.argb32.ref.png 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 000000000..a9a8f7be4 Binary files /dev/null and b/test/reference/clip-stroke-unbounded.mask.rgb24.ref.png 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 000000000..afa7fc0dc Binary files /dev/null and b/test/reference/clip-stroke.mask.argb32.ref.png 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 000000000..afa7fc0dc Binary files /dev/null and b/test/reference/clip-stroke.mask.rgb24.ref.png 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 000000000..98484cdd4 Binary files /dev/null and b/test/reference/clip-text.mask.argb32.ref.png 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 000000000..98484cdd4 Binary files /dev/null and b/test/reference/clip-text.mask.rgb24.ref.png 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 000000000..d0e65ead3 Binary files /dev/null and b/test/reference/clip-twice-rectangle.mask.argb32.ref.png 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 000000000..d0e65ead3 Binary files /dev/null and b/test/reference/clip-twice-rectangle.mask.rgb24.ref.png 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 000000000..828dd23b7 Binary files /dev/null and b/test/reference/clip-twice.mask.argb32.ref.png 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 000000000..8b6baed5e Binary files /dev/null and b/test/reference/clip-twice.mask.rgb24.ref.png 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 000000000..0b6590565 Binary files /dev/null and b/test/reference/clip-unbounded.mask.argb32.ref.png 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 000000000..2baf9f464 Binary files /dev/null and b/test/reference/clip-unbounded.mask.rgb24.ref.png 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 000000000..53b149fc8 Binary files /dev/null and b/test/reference/clipped-group.mask.argb32.ref.png 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 000000000..53b149fc8 Binary files /dev/null and b/test/reference/clipped-group.mask.rgb24.ref.png 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 000000000..8e8b0083e Binary files /dev/null and b/test/reference/clipped-surface.mask.argb32.ref.png 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 000000000..8e8b0083e Binary files /dev/null and b/test/reference/clipped-surface.mask.rgb24.ref.png 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 000000000..ab3124b79 Binary files /dev/null and b/test/reference/close-path-current-point.mask.argb32.ref.png 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 000000000..ab3124b79 Binary files /dev/null and b/test/reference/close-path-current-point.mask.rgb24.ref.png 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 000000000..5506ff8bd Binary files /dev/null and b/test/reference/close-path.mask.argb32.ref.png 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 000000000..5506ff8bd Binary files /dev/null and b/test/reference/close-path.mask.rgb24.ref.png 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 000000000..c42574988 Binary files /dev/null and b/test/reference/composite-integer-translate-over-repeat.mask.argb32.ref.png 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 000000000..c42574988 Binary files /dev/null and b/test/reference/composite-integer-translate-over-repeat.mask.rgb24.ref.png 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 000000000..7ac3ddf4c Binary files /dev/null and b/test/reference/composite-integer-translate-over.mask.argb32.ref.png 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 000000000..7ac3ddf4c Binary files /dev/null and b/test/reference/composite-integer-translate-over.mask.rgb24.ref.png 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 000000000..7ac3ddf4c Binary files /dev/null and b/test/reference/composite-integer-translate-source.mask.argb32.ref.png 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 000000000..7ac3ddf4c Binary files /dev/null and b/test/reference/composite-integer-translate-source.mask.rgb24.ref.png 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 000000000..da9a3b112 Binary files /dev/null and b/test/reference/copy-disjoint.base.argb32.ref.png 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 000000000..da9a3b112 Binary files /dev/null and b/test/reference/copy-disjoint.base.rgb24.ref.png 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 000000000..da9a3b112 Binary files /dev/null and b/test/reference/copy-disjoint.mask.argb32.ref.png 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 000000000..da9a3b112 Binary files /dev/null and b/test/reference/copy-disjoint.mask.rgb24.ref.png 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 000000000..da9a3b112 Binary files /dev/null and b/test/reference/copy-disjoint.traps.argb32.ref.png 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 000000000..da9a3b112 Binary files /dev/null and b/test/reference/copy-disjoint.traps.rgb24.ref.png 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 000000000..b50e9e47b Binary files /dev/null and b/test/reference/copy-path.mask.argb32.ref.png 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 000000000..b50e9e47b Binary files /dev/null and b/test/reference/copy-path.mask.rgb24.ref.png 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 000000000..0a145d918 Binary files /dev/null and b/test/reference/create-from-png-stream.mask.argb32.ref.png 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 000000000..0a145d918 Binary files /dev/null and b/test/reference/create-from-png-stream.mask.rgb24.ref.png 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 000000000..0a145d918 Binary files /dev/null and b/test/reference/create-from-png.mask.argb32.ref.png 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 000000000..0a145d918 Binary files /dev/null and b/test/reference/create-from-png.mask.rgb24.ref.png 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 000000000..0a145d918 Binary files /dev/null and b/test/reference/create-from-png.traps.argb32.ref.png 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 000000000..0a145d918 Binary files /dev/null and b/test/reference/create-from-png.traps.rgb24.ref.png 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 000000000..6701295be Binary files /dev/null and b/test/reference/culled-glyphs.mask.argb32.ref.png 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 000000000..6701295be Binary files /dev/null and b/test/reference/culled-glyphs.mask.rgb24.ref.png 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 000000000..d2411832e Binary files /dev/null and b/test/reference/curve-to-as-line-to.mask.argb32.ref.png 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 000000000..d2411832e Binary files /dev/null and b/test/reference/curve-to-as-line-to.mask.rgb24.ref.png 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 000000000..b09b86fce Binary files /dev/null and b/test/reference/dash-caps-joins.mask.argb32.ref.png 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 000000000..b09b86fce Binary files /dev/null and b/test/reference/dash-caps-joins.mask.rgb24.ref.png 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 000000000..8bebde204 Binary files /dev/null and b/test/reference/dash-curve.mask.argb32.ref.png 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 000000000..8bebde204 Binary files /dev/null and b/test/reference/dash-curve.mask.rgb24.ref.png 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 000000000..2ae1717a1 Binary files /dev/null and b/test/reference/dash-infinite-loop.mask.argb32.ref.png 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 000000000..2ae1717a1 Binary files /dev/null and b/test/reference/dash-infinite-loop.mask.rgb24.ref.png 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 000000000..c150a4f02 Binary files /dev/null and b/test/reference/dash-no-dash.mask.argb32.ref.png 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 000000000..c150a4f02 Binary files /dev/null and b/test/reference/dash-no-dash.mask.rgb24.ref.png 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 000000000..df22d08b2 Binary files /dev/null and b/test/reference/dash-offset-negative.mask.argb32.ref.png 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 000000000..df22d08b2 Binary files /dev/null and b/test/reference/dash-offset-negative.mask.rgb24.ref.png 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 000000000..52600c435 Binary files /dev/null and b/test/reference/dash-offset.mask.argb32.ref.png 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 000000000..52600c435 Binary files /dev/null and b/test/reference/dash-offset.mask.rgb24.ref.png 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 000000000..deef9dcd2 Binary files /dev/null and b/test/reference/dash-scale.mask.argb32.ref.png 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 000000000..deef9dcd2 Binary files /dev/null and b/test/reference/dash-scale.mask.rgb24.ref.png 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 000000000..31551cfee Binary files /dev/null and b/test/reference/dash-state.mask.argb32.ref.png 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 000000000..31551cfee Binary files /dev/null and b/test/reference/dash-state.mask.rgb24.ref.png 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 000000000..fdc5f5ef2 Binary files /dev/null and b/test/reference/dash-zero-length.mask.argb32.ref.png 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 000000000..b14bd8dca Binary files /dev/null and b/test/reference/dash-zero-length.mask.rgb24.ref.png 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 000000000..4da4fd6e4 Binary files /dev/null and b/test/reference/degenerate-arc.mask.argb32.ref.png 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 000000000..4da4fd6e4 Binary files /dev/null and b/test/reference/degenerate-arc.mask.rgb24.ref.png 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 000000000..fc1869dc1 Binary files /dev/null and b/test/reference/degenerate-arcs.mask.argb32.ref.png 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 000000000..fc1869dc1 Binary files /dev/null and b/test/reference/degenerate-arcs.mask.rgb24.ref.png 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 000000000..18ab11ece Binary files /dev/null and b/test/reference/degenerate-curve-to.mask.argb32.ref.png 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 000000000..18ab11ece Binary files /dev/null and b/test/reference/degenerate-curve-to.mask.rgb24.ref.png 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 000000000..2ddfc8bbf Binary files /dev/null and b/test/reference/degenerate-dash.mask.argb32.ref.png 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 000000000..2ddfc8bbf Binary files /dev/null and b/test/reference/degenerate-dash.mask.rgb24.ref.png 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 000000000..ceed48a72 Binary files /dev/null and b/test/reference/degenerate-linear-gradient.mask.argb32.ref.png 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 000000000..ceed48a72 Binary files /dev/null and b/test/reference/degenerate-linear-gradient.mask.rgb24.ref.png 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 000000000..045939719 Binary files /dev/null and b/test/reference/degenerate-path.mask.argb32.ref.png 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 000000000..07fda634a Binary files /dev/null and b/test/reference/degenerate-path.mask.rgb24.ref.png 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 000000000..ea65d2275 Binary files /dev/null and b/test/reference/degenerate-pen.mask.argb32.ref.png 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 000000000..ea65d2275 Binary files /dev/null and b/test/reference/degenerate-pen.mask.rgb24.ref.png 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 000000000..9a5213b58 Binary files /dev/null and b/test/reference/degenerate-radial-gradient.mask.argb32.ref.png 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 000000000..9a5213b58 Binary files /dev/null and b/test/reference/degenerate-radial-gradient.mask.rgb24.ref.png 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 000000000..c4293adf4 Binary files /dev/null and b/test/reference/degenerate-rel-curve-to.mask.argb32.ref.png 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 000000000..c4293adf4 Binary files /dev/null and b/test/reference/degenerate-rel-curve-to.mask.rgb24.ref.png 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 000000000..b1eef5f28 Binary files /dev/null and b/test/reference/device-offset-fractional.mask.argb32.ref.png 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 000000000..b1eef5f28 Binary files /dev/null and b/test/reference/device-offset-fractional.mask.rgb24.ref.png 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 000000000..1115bca7a Binary files /dev/null and b/test/reference/device-offset-positive.mask.argb32.ref.png 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 000000000..dcdd3324c Binary files /dev/null and b/test/reference/device-offset-positive.mask.rgb24.ref.png 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 000000000..fdffbf3c6 Binary files /dev/null and b/test/reference/device-offset-scale.mask.argb32.ref.png 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 000000000..fdffbf3c6 Binary files /dev/null and b/test/reference/device-offset-scale.mask.rgb24.ref.png 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 000000000..43ced46b2 Binary files /dev/null and b/test/reference/device-offset.mask.argb32.ref.png 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 000000000..f19acba17 Binary files /dev/null and b/test/reference/device-offset.mask.rgb24.ref.png 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 000000000..053e47075 Binary files /dev/null and b/test/reference/drunkard-tails.mask.argb32.ref.png 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 000000000..053e47075 Binary files /dev/null and b/test/reference/drunkard-tails.mask.rgb24.ref.png 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 000000000..f4fc524ac Binary files /dev/null and b/test/reference/extend-pad-border.mask.argb32.ref.png 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 000000000..f4fc524ac Binary files /dev/null and b/test/reference/extend-pad-border.mask.rgb24.ref.png 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 000000000..934522189 Binary files /dev/null and b/test/reference/extend-pad-similar.mask.argb32.ref.png 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 000000000..934522189 Binary files /dev/null and b/test/reference/extend-pad-similar.mask.rgb24.ref.png 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 000000000..934522189 Binary files /dev/null and b/test/reference/extend-pad.mask.argb32.ref.png 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 000000000..934522189 Binary files /dev/null and b/test/reference/extend-pad.mask.rgb24.ref.png 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 000000000..5fc3448fa Binary files /dev/null and b/test/reference/extend-reflect-similar.mask.argb32.ref.png 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 000000000..5fc3448fa Binary files /dev/null and b/test/reference/extend-reflect-similar.mask.rgb24.ref.png 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 000000000..5fc3448fa Binary files /dev/null and b/test/reference/extend-reflect.mask.argb32.ref.png 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 000000000..5fc3448fa Binary files /dev/null and b/test/reference/extend-reflect.mask.rgb24.ref.png 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 000000000..81f0503df Binary files /dev/null and b/test/reference/extend-repeat-similar.mask.argb32.ref.png 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 000000000..81f0503df Binary files /dev/null and b/test/reference/extend-repeat-similar.mask.rgb24.ref.png 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 000000000..81f0503df Binary files /dev/null and b/test/reference/extend-repeat.mask.argb32.ref.png 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 000000000..81f0503df Binary files /dev/null and b/test/reference/extend-repeat.mask.rgb24.ref.png 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 000000000..a1dd2a93f Binary files /dev/null and b/test/reference/extended-blend-alpha-mask.mask.argb32.ref.png 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 000000000..b5f12f145 Binary files /dev/null and b/test/reference/extended-blend-alpha-mask.mask.rgb24.ref.png 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 000000000..4d56a21fc Binary files /dev/null and b/test/reference/extended-blend-alpha.mask.argb32.ref.png 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 000000000..86d0e2d91 Binary files /dev/null and b/test/reference/extended-blend-alpha.mask.rgb24.ref.png 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 000000000..5fa78e4cc Binary files /dev/null and b/test/reference/extended-blend-mask.mask.argb32.ref.png 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 000000000..1c854745b Binary files /dev/null and b/test/reference/extended-blend-mask.mask.rgb24.ref.png 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 000000000..4d56a21fc Binary files /dev/null and b/test/reference/extended-blend-solid-alpha.mask.argb32.ref.png 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 000000000..86d0e2d91 Binary files /dev/null and b/test/reference/extended-blend-solid-alpha.mask.rgb24.ref.png 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 000000000..902ef8845 Binary files /dev/null and b/test/reference/extended-blend-solid.mask.argb32.ref.png 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 000000000..4580e0dad Binary files /dev/null and b/test/reference/extended-blend-solid.mask.rgb24.ref.png 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 000000000..902ef8845 Binary files /dev/null and b/test/reference/extended-blend.mask.argb32.ref.png 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 000000000..4580e0dad Binary files /dev/null and b/test/reference/extended-blend.mask.rgb24.ref.png differ diff --git a/test/reference/fallback.base.argb32.ref.png b/test/reference/fallback.base.argb32.ref.png new file mode 100644 index 000000000..c0c5f4676 Binary files /dev/null and b/test/reference/fallback.base.argb32.ref.png differ diff --git a/test/reference/fallback.base.rgb24.ref.png b/test/reference/fallback.base.rgb24.ref.png new file mode 100644 index 000000000..18b6a7c83 Binary files /dev/null and b/test/reference/fallback.base.rgb24.ref.png differ diff --git a/test/reference/fallback.mask.argb32.ref.png b/test/reference/fallback.mask.argb32.ref.png new file mode 100644 index 000000000..b7ce57363 Binary files /dev/null and b/test/reference/fallback.mask.argb32.ref.png differ diff --git a/test/reference/fallback.mask.rgb24.ref.png b/test/reference/fallback.mask.rgb24.ref.png new file mode 100644 index 000000000..16d3c14e4 Binary files /dev/null and b/test/reference/fallback.mask.rgb24.ref.png differ diff --git a/test/reference/fallback.traps.argb32.ref.png b/test/reference/fallback.traps.argb32.ref.png new file mode 100644 index 000000000..b7ce57363 Binary files /dev/null and b/test/reference/fallback.traps.argb32.ref.png differ diff --git a/test/reference/fallback.traps.rgb24.ref.png b/test/reference/fallback.traps.rgb24.ref.png new file mode 100644 index 000000000..16d3c14e4 Binary files /dev/null and b/test/reference/fallback.traps.rgb24.ref.png 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 000000000..4344f2303 Binary files /dev/null and b/test/reference/fill-alpha-pattern.mask.argb32.ref.png 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 000000000..4344f2303 Binary files /dev/null and b/test/reference/fill-alpha-pattern.mask.rgb24.ref.png 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 000000000..9de7b504b Binary files /dev/null and b/test/reference/fill-alpha.mask.argb32.ref.png 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 000000000..9de7b504b Binary files /dev/null and b/test/reference/fill-alpha.mask.rgb24.ref.png 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 000000000..c804c7a7e Binary files /dev/null and b/test/reference/fill-and-stroke-alpha-add.mask.argb32.ref.png 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 000000000..c804c7a7e Binary files /dev/null and b/test/reference/fill-and-stroke-alpha-add.mask.rgb24.ref.png 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 000000000..e22ebf91e Binary files /dev/null and b/test/reference/fill-and-stroke-alpha.mask.argb32.ref.png 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 000000000..e22ebf91e Binary files /dev/null and b/test/reference/fill-and-stroke-alpha.mask.rgb24.ref.png 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 000000000..b51f4b035 Binary files /dev/null and b/test/reference/fill-and-stroke.mask.argb32.ref.png 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 000000000..401729356 Binary files /dev/null and b/test/reference/fill-and-stroke.mask.rgb24.ref.png 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 000000000..38bb1a03d Binary files /dev/null and b/test/reference/fill-degenerate-sort-order.mask.argb32.ref.png 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 000000000..c392c211a Binary files /dev/null and b/test/reference/fill-degenerate-sort-order.mask.rgb24.ref.png 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 000000000..da9a3b112 Binary files /dev/null and b/test/reference/fill-disjoint.base.argb32.ref.png 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 000000000..da9a3b112 Binary files /dev/null and b/test/reference/fill-disjoint.base.rgb24.ref.png 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 000000000..da9a3b112 Binary files /dev/null and b/test/reference/fill-disjoint.mask.argb32.ref.png 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 000000000..da9a3b112 Binary files /dev/null and b/test/reference/fill-disjoint.mask.rgb24.ref.png 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 000000000..da9a3b112 Binary files /dev/null and b/test/reference/fill-disjoint.traps.argb32.ref.png 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 000000000..da9a3b112 Binary files /dev/null and b/test/reference/fill-disjoint.traps.rgb24.ref.png 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 000000000..8c26f7ebf Binary files /dev/null and b/test/reference/fill-empty.mask.argb32.ref.png 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 000000000..dc7a8a0e4 Binary files /dev/null and b/test/reference/fill-empty.mask.rgb24.ref.png 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 000000000..068fbb7c9 Binary files /dev/null and b/test/reference/fill-image.mask.argb32.ref.png 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 000000000..068fbb7c9 Binary files /dev/null and b/test/reference/fill-image.mask.rgb24.ref.png 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 000000000..477eec9a5 Binary files /dev/null and b/test/reference/fill-missed-stop.mask.argb32.ref.png 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 000000000..2e663f05b Binary files /dev/null and b/test/reference/fill-missed-stop.mask.rgb24.ref.png 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 000000000..23e0a3a8d Binary files /dev/null and b/test/reference/fill-rule.mask.argb32.ref.png 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 000000000..55486e629 Binary files /dev/null and b/test/reference/fill-rule.mask.rgb24.ref.png 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 000000000..797e7981f Binary files /dev/null and b/test/reference/filter-bilinear-extents.mask.argb32.ref.png 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 000000000..797e7981f Binary files /dev/null and b/test/reference/filter-bilinear-extents.mask.rgb24.ref.png 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 000000000..8cca9a1dc Binary files /dev/null and b/test/reference/filter-nearest-offset.mask.argb32.ref.png 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 000000000..8cca9a1dc Binary files /dev/null and b/test/reference/filter-nearest-offset.mask.rgb24.ref.png 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 000000000..24adf8bc1 Binary files /dev/null and b/test/reference/filter-nearest-transformed.mask.argb32.ref.png 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 000000000..24adf8bc1 Binary files /dev/null and b/test/reference/filter-nearest-transformed.mask.rgb24.ref.png 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 000000000..8cd99d0e4 Binary files /dev/null and b/test/reference/finer-grained-fallbacks.mask.argb32.ref.png 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 000000000..5d6cd94f8 Binary files /dev/null and b/test/reference/finer-grained-fallbacks.mask.rgb24.ref.png 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 000000000..a4a108206 Binary files /dev/null and b/test/reference/font-matrix-translation.mask.argb32.ref.png 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 000000000..a4a108206 Binary files /dev/null and b/test/reference/font-matrix-translation.mask.rgb24.ref.png 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 000000000..a4a108206 Binary files /dev/null and b/test/reference/font-matrix-translation.traps.argb32.ref.png 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 000000000..a4a108206 Binary files /dev/null and b/test/reference/font-matrix-translation.traps.rgb24.ref.png 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 000000000..af6dcaf95 Binary files /dev/null and b/test/reference/ft-show-glyphs-positioning.mask.argb32.ref.png 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 000000000..af6dcaf95 Binary files /dev/null and b/test/reference/ft-show-glyphs-positioning.mask.rgb24.ref.png 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 000000000..af6dcaf95 Binary files /dev/null and b/test/reference/ft-show-glyphs-positioning.traps.argb32.ref.png 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 000000000..af6dcaf95 Binary files /dev/null and b/test/reference/ft-show-glyphs-positioning.traps.rgb24.ref.png 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 000000000..ed6912489 Binary files /dev/null and b/test/reference/ft-show-glyphs-table.mask.argb32.ref.png 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 000000000..ed6912489 Binary files /dev/null and b/test/reference/ft-show-glyphs-table.mask.rgb24.ref.png 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 000000000..ed6912489 Binary files /dev/null and b/test/reference/ft-show-glyphs-table.traps.argb32.ref.png 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 000000000..ed6912489 Binary files /dev/null and b/test/reference/ft-show-glyphs-table.traps.rgb24.ref.png 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 000000000..c638c9ea6 Binary files /dev/null and b/test/reference/ft-text-antialias-none.mask.argb32.ref.png 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 000000000..c638c9ea6 Binary files /dev/null and b/test/reference/ft-text-antialias-none.mask.rgb24.ref.png 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 000000000..4941965b4 Binary files /dev/null and b/test/reference/ft-text-vertical-layout-type1.mask.argb32.ref.png 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 000000000..4941965b4 Binary files /dev/null and b/test/reference/ft-text-vertical-layout-type1.mask.rgb24.ref.png 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 000000000..7f7b428c1 Binary files /dev/null and b/test/reference/ft-text-vertical-layout-type3.mask.argb32.ref.png 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 000000000..7f7b428c1 Binary files /dev/null and b/test/reference/ft-text-vertical-layout-type3.mask.rgb24.ref.png 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 000000000..d162775e7 Binary files /dev/null and b/test/reference/get-group-target.mask.argb32.ref.png 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 000000000..d162775e7 Binary files /dev/null and b/test/reference/get-group-target.mask.rgb24.ref.png 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 000000000..018297208 Binary files /dev/null and b/test/reference/gl-surface-source.base.argb32.ref.png 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 000000000..0d68a82cc Binary files /dev/null and b/test/reference/gl-surface-source.base.rgb24.ref.png 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 000000000..018297208 Binary files /dev/null and b/test/reference/gl-surface-source.mask.argb32.ref.png 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 000000000..0d68a82cc Binary files /dev/null and b/test/reference/gl-surface-source.mask.rgb24.ref.png 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 000000000..018297208 Binary files /dev/null and b/test/reference/gl-surface-source.traps.argb32.ref.png 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 000000000..0d68a82cc Binary files /dev/null and b/test/reference/gl-surface-source.traps.rgb24.ref.png 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 000000000..a6e1b061f Binary files /dev/null and b/test/reference/glyph-cache-pressure.mask.argb32.ref.png 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 000000000..a6e1b061f Binary files /dev/null and b/test/reference/glyph-cache-pressure.mask.rgb24.ref.png 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 000000000..a6e1b061f Binary files /dev/null and b/test/reference/glyph-cache-pressure.traps.argb32.ref.png 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 000000000..a6e1b061f Binary files /dev/null and b/test/reference/glyph-cache-pressure.traps.rgb24.ref.png 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 000000000..f64b26a76 Binary files /dev/null and b/test/reference/gradient-alpha.mask.argb32.ref.png 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 000000000..3c7258d95 Binary files /dev/null and b/test/reference/gradient-alpha.mask.rgb24.ref.png 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 000000000..7f49e2c6f Binary files /dev/null and b/test/reference/gradient-constant-alpha.mask.argb32.ref.png 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 000000000..69cd5963a Binary files /dev/null and b/test/reference/gradient-constant-alpha.mask.rgb24.ref.png 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 000000000..0a50f4cac Binary files /dev/null and b/test/reference/gradient-zero-stops-mask.mask.argb32.ref.png 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 000000000..21465ce4a Binary files /dev/null and b/test/reference/gradient-zero-stops-mask.mask.rgb24.ref.png 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 000000000..0a50f4cac Binary files /dev/null and b/test/reference/gradient-zero-stops.mask.argb32.ref.png 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 000000000..21465ce4a Binary files /dev/null and b/test/reference/gradient-zero-stops.mask.rgb24.ref.png 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 000000000..7b8a7532f Binary files /dev/null and b/test/reference/group-clip.mask.argb32.ref.png 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 000000000..7b8a7532f Binary files /dev/null and b/test/reference/group-clip.mask.rgb24.ref.png 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 000000000..1ed070cae Binary files /dev/null and b/test/reference/group-paint.mask.argb32.ref.png 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 000000000..1ed070cae Binary files /dev/null and b/test/reference/group-paint.mask.rgb24.ref.png 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 000000000..beb0ae2d1 Binary files /dev/null and b/test/reference/group-unaligned.mask.argb32.ref.png 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 000000000..beb0ae2d1 Binary files /dev/null and b/test/reference/group-unaligned.mask.rgb24.ref.png 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 000000000..96c6f4225 Binary files /dev/null and b/test/reference/halo-transform.mask.argb32.ref.png 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 000000000..96c6f4225 Binary files /dev/null and b/test/reference/halo-transform.mask.rgb24.ref.png 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 000000000..96c6f4225 Binary files /dev/null and b/test/reference/halo-transform.traps.argb32.ref.png 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 000000000..96c6f4225 Binary files /dev/null and b/test/reference/halo-transform.traps.rgb24.ref.png differ diff --git a/test/reference/halo.mask.argb32.ref.png b/test/reference/halo.mask.argb32.ref.png new file mode 100644 index 000000000..191ee4794 Binary files /dev/null and b/test/reference/halo.mask.argb32.ref.png differ diff --git a/test/reference/halo.mask.rgb24.ref.png b/test/reference/halo.mask.rgb24.ref.png new file mode 100644 index 000000000..191ee4794 Binary files /dev/null and b/test/reference/halo.mask.rgb24.ref.png differ diff --git a/test/reference/halo.traps.argb32.ref.png b/test/reference/halo.traps.argb32.ref.png new file mode 100644 index 000000000..191ee4794 Binary files /dev/null and b/test/reference/halo.traps.argb32.ref.png differ diff --git a/test/reference/halo.traps.rgb24.ref.png b/test/reference/halo.traps.rgb24.ref.png new file mode 100644 index 000000000..191ee4794 Binary files /dev/null and b/test/reference/halo.traps.rgb24.ref.png differ diff --git a/test/reference/hatchings.mask.argb32.ref.png b/test/reference/hatchings.mask.argb32.ref.png new file mode 100644 index 000000000..77fe853a8 Binary files /dev/null and b/test/reference/hatchings.mask.argb32.ref.png differ diff --git a/test/reference/hatchings.mask.rgb24.ref.png b/test/reference/hatchings.mask.rgb24.ref.png new file mode 100644 index 000000000..77fe853a8 Binary files /dev/null and b/test/reference/hatchings.mask.rgb24.ref.png 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 000000000..43dd07f15 Binary files /dev/null and b/test/reference/horizontal-clip.mask.argb32.ref.png 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 000000000..43dd07f15 Binary files /dev/null and b/test/reference/horizontal-clip.mask.rgb24.ref.png 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 000000000..f89217b82 Binary files /dev/null and b/test/reference/huge-linear.mask.argb32.ref.png 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 000000000..f89217b82 Binary files /dev/null and b/test/reference/huge-linear.mask.rgb24.ref.png 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 000000000..541bb309a Binary files /dev/null and b/test/reference/huge-radial.mask.argb32.ref.png 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 000000000..541bb309a Binary files /dev/null and b/test/reference/huge-radial.mask.rgb24.ref.png 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 000000000..42abd2054 Binary files /dev/null and b/test/reference/image-bug-710072-aligned.mask.argb32.ref.png 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 000000000..42abd2054 Binary files /dev/null and b/test/reference/image-bug-710072-aligned.mask.rgb24.ref.png 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 000000000..13efa30f8 Binary files /dev/null and b/test/reference/image-bug-710072-unaligned.mask.argb32.ref.png 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 000000000..13efa30f8 Binary files /dev/null and b/test/reference/image-bug-710072-unaligned.mask.rgb24.ref.png 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 000000000..018297208 Binary files /dev/null and b/test/reference/image-surface-source.mask.argb32.ref.png 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 000000000..0d68a82cc Binary files /dev/null and b/test/reference/image-surface-source.mask.rgb24.ref.png 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 000000000..f15f8a3a0 Binary files /dev/null and b/test/reference/implicit-close.mask.argb32.ref.png 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 000000000..f15f8a3a0 Binary files /dev/null and b/test/reference/implicit-close.mask.rgb24.ref.png 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 000000000..54a911241 Binary files /dev/null and b/test/reference/infinite-join.mask.argb32.ref.png 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 000000000..54a911241 Binary files /dev/null and b/test/reference/infinite-join.mask.rgb24.ref.png 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 000000000..b7bbb972f Binary files /dev/null and b/test/reference/inverse-text.base.argb32.ref.png 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 000000000..b7bbb972f Binary files /dev/null and b/test/reference/inverse-text.base.rgb24.ref.png 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 000000000..b7bbb972f Binary files /dev/null and b/test/reference/inverse-text.mask.argb32.ref.png 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 000000000..b7bbb972f Binary files /dev/null and b/test/reference/inverse-text.mask.rgb24.ref.png 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 000000000..b7bbb972f Binary files /dev/null and b/test/reference/inverse-text.traps.argb32.ref.png 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 000000000..b7bbb972f Binary files /dev/null and b/test/reference/inverse-text.traps.rgb24.ref.png 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 000000000..8e3f25ada Binary files /dev/null and b/test/reference/joins-loop.mask.argb32.ref.png 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 000000000..8e3f25ada Binary files /dev/null and b/test/reference/joins-loop.mask.rgb24.ref.png 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 000000000..22b0ecf9a Binary files /dev/null and b/test/reference/joins-retrace.mask.argb32.ref.png 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 000000000..22b0ecf9a Binary files /dev/null and b/test/reference/joins-retrace.mask.rgb24.ref.png 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 000000000..76a541cc3 Binary files /dev/null and b/test/reference/joins-star.mask.argb32.ref.png 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 000000000..76a541cc3 Binary files /dev/null and b/test/reference/joins-star.mask.rgb24.ref.png differ diff --git a/test/reference/joins.mask.argb32.ref.png b/test/reference/joins.mask.argb32.ref.png new file mode 100644 index 000000000..a1d069d3d Binary files /dev/null and b/test/reference/joins.mask.argb32.ref.png differ diff --git a/test/reference/joins.mask.rgb24.ref.png b/test/reference/joins.mask.rgb24.ref.png new file mode 100644 index 000000000..a1d069d3d Binary files /dev/null and b/test/reference/joins.mask.rgb24.ref.png 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 000000000..3c3464bed Binary files /dev/null and b/test/reference/large-clip.mask.argb32.ref.png 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 000000000..3c3464bed Binary files /dev/null and b/test/reference/large-clip.mask.rgb24.ref.png 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 000000000..503061a9e Binary files /dev/null and b/test/reference/large-font.mask.argb32.ref.png 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 000000000..503061a9e Binary files /dev/null and b/test/reference/large-font.mask.rgb24.ref.png 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 000000000..216a065e1 Binary files /dev/null and b/test/reference/large-source-roi.mask.argb32.ref.png 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 000000000..216a065e1 Binary files /dev/null and b/test/reference/large-source-roi.mask.rgb24.ref.png 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 000000000..a54455fbb Binary files /dev/null and b/test/reference/large-source.mask.argb32.ref.png 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 000000000..a54455fbb Binary files /dev/null and b/test/reference/large-source.mask.rgb24.ref.png 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 000000000..ace463b12 Binary files /dev/null and b/test/reference/large-twin-antialias-mixed.mask.argb32.ref.png 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 000000000..ace463b12 Binary files /dev/null and b/test/reference/large-twin-antialias-mixed.mask.rgb24.ref.png 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 000000000..0973ece7e Binary files /dev/null and b/test/reference/leaky-dash.mask.argb32.ref.png 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 000000000..0973ece7e Binary files /dev/null and b/test/reference/leaky-dash.mask.rgb24.ref.png 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 000000000..05f45846a Binary files /dev/null and b/test/reference/leaky-dashed-rectangle.mask.argb32.ref.png 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 000000000..05f45846a Binary files /dev/null and b/test/reference/leaky-dashed-rectangle.mask.rgb24.ref.png 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 000000000..ae64dae4c Binary files /dev/null and b/test/reference/leaky-dashed-stroke.mask.argb32.ref.png 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 000000000..ae64dae4c Binary files /dev/null and b/test/reference/leaky-dashed-stroke.mask.rgb24.ref.png 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 000000000..d2a06a3cc Binary files /dev/null and b/test/reference/leaky-polygon.mask.argb32.ref.png 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 000000000..d2a06a3cc Binary files /dev/null and b/test/reference/leaky-polygon.mask.rgb24.ref.png 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 000000000..e6cdcc2f7 Binary files /dev/null and b/test/reference/line-width-large-overlap-dashed.base.argb32.ref.png 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 000000000..e6cdcc2f7 Binary files /dev/null and b/test/reference/line-width-large-overlap-dashed.base.rgb24.ref.png 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 000000000..8cd4d31e1 Binary files /dev/null and b/test/reference/line-width-large-overlap-dashed.mask.argb32.ref.png 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 000000000..8cd4d31e1 Binary files /dev/null and b/test/reference/line-width-large-overlap-dashed.mask.rgb24.ref.png 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 000000000..8cd4d31e1 Binary files /dev/null and b/test/reference/line-width-large-overlap-dashed.traps.argb32.ref.png 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 000000000..8cd4d31e1 Binary files /dev/null and b/test/reference/line-width-large-overlap-dashed.traps.rgb24.ref.png 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 000000000..3c3464bed Binary files /dev/null and b/test/reference/line-width-large-overlap-flipped.base.argb32.ref.png 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 000000000..3c3464bed Binary files /dev/null and b/test/reference/line-width-large-overlap-flipped.base.rgb24.ref.png 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 000000000..3c3464bed Binary files /dev/null and b/test/reference/line-width-large-overlap-flipped.mask.argb32.ref.png 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 000000000..3c3464bed Binary files /dev/null and b/test/reference/line-width-large-overlap-flipped.mask.rgb24.ref.png 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 000000000..3c3464bed Binary files /dev/null and b/test/reference/line-width-large-overlap-flipped.traps.argb32.ref.png 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 000000000..3c3464bed Binary files /dev/null and b/test/reference/line-width-large-overlap-flipped.traps.rgb24.ref.png 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 000000000..3c3464bed Binary files /dev/null and b/test/reference/line-width-large-overlap-flopped.base.argb32.ref.png 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 000000000..3c3464bed Binary files /dev/null and b/test/reference/line-width-large-overlap-flopped.base.rgb24.ref.png 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 000000000..3c3464bed Binary files /dev/null and b/test/reference/line-width-large-overlap-flopped.mask.argb32.ref.png 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 000000000..3c3464bed Binary files /dev/null and b/test/reference/line-width-large-overlap-flopped.mask.rgb24.ref.png 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 000000000..3c3464bed Binary files /dev/null and b/test/reference/line-width-large-overlap-flopped.traps.argb32.ref.png 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 000000000..3c3464bed Binary files /dev/null and b/test/reference/line-width-large-overlap-flopped.traps.rgb24.ref.png 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 000000000..3c3464bed Binary files /dev/null and b/test/reference/line-width-large-overlap-offset.base.argb32.ref.png 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 000000000..3c3464bed Binary files /dev/null and b/test/reference/line-width-large-overlap-offset.base.rgb24.ref.png 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 000000000..3c3464bed Binary files /dev/null and b/test/reference/line-width-large-overlap-offset.mask.argb32.ref.png 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 000000000..3c3464bed Binary files /dev/null and b/test/reference/line-width-large-overlap-offset.mask.rgb24.ref.png 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 000000000..3c3464bed Binary files /dev/null and b/test/reference/line-width-large-overlap-offset.traps.argb32.ref.png 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 000000000..3c3464bed Binary files /dev/null and b/test/reference/line-width-large-overlap-offset.traps.rgb24.ref.png 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 000000000..87fe7523b Binary files /dev/null and b/test/reference/line-width-large-overlap-rotated.base.argb32.ref.png 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 000000000..87fe7523b Binary files /dev/null and b/test/reference/line-width-large-overlap-rotated.base.rgb24.ref.png 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 000000000..35dca5cf1 Binary files /dev/null and b/test/reference/line-width-large-overlap-rotated.mask.argb32.ref.png 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 000000000..35dca5cf1 Binary files /dev/null and b/test/reference/line-width-large-overlap-rotated.mask.rgb24.ref.png 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 000000000..35dca5cf1 Binary files /dev/null and b/test/reference/line-width-large-overlap-rotated.traps.argb32.ref.png 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 000000000..35dca5cf1 Binary files /dev/null and b/test/reference/line-width-large-overlap-rotated.traps.rgb24.ref.png 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 000000000..3c3464bed Binary files /dev/null and b/test/reference/line-width-large-overlap.base.argb32.ref.png 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 000000000..3c3464bed Binary files /dev/null and b/test/reference/line-width-large-overlap.base.rgb24.ref.png 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 000000000..3c3464bed Binary files /dev/null and b/test/reference/line-width-large-overlap.mask.argb32.ref.png 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 000000000..3c3464bed Binary files /dev/null and b/test/reference/line-width-large-overlap.mask.rgb24.ref.png 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 000000000..3c3464bed Binary files /dev/null and b/test/reference/line-width-large-overlap.traps.argb32.ref.png 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 000000000..3c3464bed Binary files /dev/null and b/test/reference/line-width-large-overlap.traps.rgb24.ref.png 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 000000000..0de187d40 Binary files /dev/null and b/test/reference/line-width-overlap-dashed.mask.argb32.ref.png 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 000000000..0de187d40 Binary files /dev/null and b/test/reference/line-width-overlap-dashed.mask.rgb24.ref.png 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 000000000..13d70c8fe Binary files /dev/null and b/test/reference/line-width-overlap-flipped.mask.argb32.ref.png 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 000000000..13d70c8fe Binary files /dev/null and b/test/reference/line-width-overlap-flipped.mask.rgb24.ref.png 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 000000000..13d70c8fe Binary files /dev/null and b/test/reference/line-width-overlap-flopped.mask.argb32.ref.png 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 000000000..13d70c8fe Binary files /dev/null and b/test/reference/line-width-overlap-flopped.mask.rgb24.ref.png 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 000000000..eafa50b1f Binary files /dev/null and b/test/reference/line-width-overlap-offset.mask.argb32.ref.png 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 000000000..eafa50b1f Binary files /dev/null and b/test/reference/line-width-overlap-offset.mask.rgb24.ref.png 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 000000000..13a138b9a Binary files /dev/null and b/test/reference/line-width-overlap-offset.traps.argb32.ref.png 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 000000000..13a138b9a Binary files /dev/null and b/test/reference/line-width-overlap-offset.traps.rgb24.ref.png 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 000000000..619a5938c Binary files /dev/null and b/test/reference/line-width-overlap-rotated.mask.argb32.ref.png 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 000000000..619a5938c Binary files /dev/null and b/test/reference/line-width-overlap-rotated.mask.rgb24.ref.png 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 000000000..13d70c8fe Binary files /dev/null and b/test/reference/line-width-overlap.mask.argb32.ref.png 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 000000000..13d70c8fe Binary files /dev/null and b/test/reference/line-width-overlap.mask.rgb24.ref.png 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 000000000..5767bc7d8 Binary files /dev/null and b/test/reference/line-width-scale.mask.argb32.ref.png 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 000000000..5767bc7d8 Binary files /dev/null and b/test/reference/line-width-scale.mask.rgb24.ref.png 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 000000000..9c4d43987 Binary files /dev/null and b/test/reference/line-width-tolerance.mask.argb32.ref.png 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 000000000..9c4d43987 Binary files /dev/null and b/test/reference/line-width-tolerance.mask.rgb24.ref.png 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 000000000..2a788285f Binary files /dev/null and b/test/reference/line-width.mask.argb32.ref.png 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 000000000..2a788285f Binary files /dev/null and b/test/reference/line-width.mask.rgb24.ref.png 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 000000000..79ce747db Binary files /dev/null and b/test/reference/linear-gradient-extend.mask.argb32.ref.png 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 000000000..79ce747db Binary files /dev/null and b/test/reference/linear-gradient-extend.mask.rgb24.ref.png 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 000000000..f1f37ab47 Binary files /dev/null and b/test/reference/linear-gradient-large.mask.argb32.ref.png 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 000000000..f1f37ab47 Binary files /dev/null and b/test/reference/linear-gradient-large.mask.rgb24.ref.png 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 000000000..da02fda49 Binary files /dev/null and b/test/reference/linear-gradient-one-stop.mask.argb32.ref.png 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 000000000..efc12ee71 Binary files /dev/null and b/test/reference/linear-gradient-one-stop.mask.rgb24.ref.png 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 000000000..b68dccb5e Binary files /dev/null and b/test/reference/linear-gradient-reflect.mask.argb32.ref.png 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 000000000..b68dccb5e Binary files /dev/null and b/test/reference/linear-gradient-reflect.mask.rgb24.ref.png 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 000000000..3d30d0ab6 Binary files /dev/null and b/test/reference/linear-gradient-subset.mask.argb32.ref.png 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 000000000..3d30d0ab6 Binary files /dev/null and b/test/reference/linear-gradient-subset.mask.rgb24.ref.png 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 000000000..3f78c52ef Binary files /dev/null and b/test/reference/linear-gradient.mask.argb32.ref.png 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 000000000..3f78c52ef Binary files /dev/null and b/test/reference/linear-gradient.mask.rgb24.ref.png 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 000000000..0ed126e1d Binary files /dev/null and b/test/reference/linear-step-function.mask.argb32.ref.png 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 000000000..0ed126e1d Binary files /dev/null and b/test/reference/linear-step-function.mask.rgb24.ref.png 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 000000000..94ca33615 Binary files /dev/null and b/test/reference/linear-uniform.mask.argb32.ref.png 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 000000000..94ca33615 Binary files /dev/null and b/test/reference/linear-uniform.mask.rgb24.ref.png 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 000000000..9c7208c18 Binary files /dev/null and b/test/reference/long-dashed-lines.mask.argb32.ref.png 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 000000000..9c7208c18 Binary files /dev/null and b/test/reference/long-dashed-lines.mask.rgb24.ref.png 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 000000000..fe9116312 Binary files /dev/null and b/test/reference/long-lines.mask.argb32.ref.png 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 000000000..fe9116312 Binary files /dev/null and b/test/reference/long-lines.mask.rgb24.ref.png 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 000000000..c56d9698d Binary files /dev/null and b/test/reference/map-all-to-image.mask.argb32.ref.png 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 000000000..c56d9698d Binary files /dev/null and b/test/reference/map-all-to-image.mask.rgb24.ref.png 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 000000000..b42dcb62a Binary files /dev/null and b/test/reference/map-bit-to-image.mask.argb32.ref.png 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 000000000..b42dcb62a Binary files /dev/null and b/test/reference/map-bit-to-image.mask.rgb24.ref.png 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 000000000..c2893e0de Binary files /dev/null and b/test/reference/map-to-image-fill.mask.argb32.ref.png 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 000000000..c2893e0de Binary files /dev/null and b/test/reference/map-to-image-fill.mask.rgb24.ref.png 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 000000000..20f066340 Binary files /dev/null and b/test/reference/mask-alpha.mask.argb32.ref.png 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 000000000..df7a0c190 Binary files /dev/null and b/test/reference/mask-alpha.mask.rgb24.ref.png 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 000000000..07d903d15 Binary files /dev/null and b/test/reference/mask-ctm.mask.argb32.ref.png 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 000000000..de3fa097f Binary files /dev/null and b/test/reference/mask-ctm.mask.rgb24.ref.png 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 000000000..07d903d15 Binary files /dev/null and b/test/reference/mask-surface-ctm.mask.argb32.ref.png 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 000000000..de3fa097f Binary files /dev/null and b/test/reference/mask-surface-ctm.mask.rgb24.ref.png 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 000000000..af84b39d3 Binary files /dev/null and b/test/reference/mask-transformed-image.mask.argb32.ref.png 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 000000000..af84b39d3 Binary files /dev/null and b/test/reference/mask-transformed-image.mask.rgb24.ref.png 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 000000000..af84b39d3 Binary files /dev/null and b/test/reference/mask-transformed-similar.mask.argb32.ref.png 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 000000000..af84b39d3 Binary files /dev/null and b/test/reference/mask-transformed-similar.mask.rgb24.ref.png differ diff --git a/test/reference/mask.mask.argb32.ref.png b/test/reference/mask.mask.argb32.ref.png new file mode 100644 index 000000000..2d740d41b Binary files /dev/null and b/test/reference/mask.mask.argb32.ref.png differ diff --git a/test/reference/mask.mask.rgb24.ref.png b/test/reference/mask.mask.rgb24.ref.png new file mode 100644 index 000000000..12114a7e0 Binary files /dev/null and b/test/reference/mask.mask.rgb24.ref.png 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 000000000..dfc19ff4f Binary files /dev/null and b/test/reference/mesh-pattern-accuracy.mask.argb32.ref.png 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 000000000..dfc19ff4f Binary files /dev/null and b/test/reference/mesh-pattern-accuracy.mask.rgb24.ref.png 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 000000000..f5dc21dc8 Binary files /dev/null and b/test/reference/mesh-pattern-conical.mask.argb32.ref.png 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 000000000..f5dc21dc8 Binary files /dev/null and b/test/reference/mesh-pattern-conical.mask.rgb24.ref.png 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 000000000..841fc3ef9 Binary files /dev/null and b/test/reference/mesh-pattern-control-points.mask.argb32.ref.png 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 000000000..841fc3ef9 Binary files /dev/null and b/test/reference/mesh-pattern-control-points.mask.rgb24.ref.png 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 000000000..6275b82d8 Binary files /dev/null and b/test/reference/mesh-pattern-fold.mask.argb32.ref.png 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 000000000..6275b82d8 Binary files /dev/null and b/test/reference/mesh-pattern-fold.mask.rgb24.ref.png 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 000000000..1394c9ec5 Binary files /dev/null and b/test/reference/mesh-pattern-overlap.mask.argb32.ref.png 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 000000000..1394c9ec5 Binary files /dev/null and b/test/reference/mesh-pattern-overlap.mask.rgb24.ref.png 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 000000000..9aa482f52 Binary files /dev/null and b/test/reference/mesh-pattern-transformed.mask.argb32.ref.png 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 000000000..9aa482f52 Binary files /dev/null and b/test/reference/mesh-pattern-transformed.mask.rgb24.ref.png 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 000000000..1f76639f0 Binary files /dev/null and b/test/reference/mesh-pattern.mask.argb32.ref.png 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 000000000..1f76639f0 Binary files /dev/null and b/test/reference/mesh-pattern.mask.rgb24.ref.png 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 000000000..3a912c543 Binary files /dev/null and b/test/reference/mime-data.mask.argb32.ref.png 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 000000000..3a912c543 Binary files /dev/null and b/test/reference/mime-data.mask.rgb24.ref.png 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 000000000..aa8e2292d Binary files /dev/null and b/test/reference/miter-precision.mask.argb32.ref.png 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 000000000..aa8e2292d Binary files /dev/null and b/test/reference/miter-precision.mask.rgb24.ref.png 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 000000000..0a145d918 Binary files /dev/null and b/test/reference/move-to-show-surface.mask.argb32.ref.png 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 000000000..0a145d918 Binary files /dev/null and b/test/reference/move-to-show-surface.mask.rgb24.ref.png 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 000000000..44284566e Binary files /dev/null and b/test/reference/negative-stride-image.base.argb32.ref.png 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 000000000..44284566e Binary files /dev/null and b/test/reference/negative-stride-image.base.rgb24.ref.png 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 000000000..44284566e Binary files /dev/null and b/test/reference/negative-stride-image.mask.argb32.ref.png 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 000000000..44284566e Binary files /dev/null and b/test/reference/negative-stride-image.mask.rgb24.ref.png 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 000000000..44284566e Binary files /dev/null and b/test/reference/negative-stride-image.traps.argb32.ref.png 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 000000000..44284566e Binary files /dev/null and b/test/reference/negative-stride-image.traps.rgb24.ref.png 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 000000000..87a6c91c5 Binary files /dev/null and b/test/reference/new-sub-path.mask.argb32.ref.png 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 000000000..eb297beee Binary files /dev/null and b/test/reference/new-sub-path.mask.rgb24.ref.png 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 000000000..50e35a246 Binary files /dev/null and b/test/reference/nil-surface.mask.argb32.ref.png 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 000000000..7d5589c1d Binary files /dev/null and b/test/reference/nil-surface.mask.rgb24.ref.png 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 000000000..695d0d012 Binary files /dev/null and b/test/reference/operator-alpha-alpha.mask.argb32.ref.png 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 000000000..695d0d012 Binary files /dev/null and b/test/reference/operator-alpha-alpha.mask.rgb24.ref.png 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 000000000..b4f3b71f0 Binary files /dev/null and b/test/reference/operator-alpha.mask.argb32.ref.png 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 000000000..bc7be3aeb Binary files /dev/null and b/test/reference/operator-alpha.mask.rgb24.ref.png 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 000000000..41f63bdb8 Binary files /dev/null and b/test/reference/operator-clear.mask.argb32.ref.png 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 000000000..3d58ab341 Binary files /dev/null and b/test/reference/operator-clear.mask.rgb24.ref.png 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 000000000..74ad1dad6 Binary files /dev/null and b/test/reference/operator-source.mask.argb32.ref.png 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 000000000..c0033562b Binary files /dev/null and b/test/reference/operator-source.mask.rgb24.ref.png differ diff --git a/test/reference/operator.mask.argb32.ref.png b/test/reference/operator.mask.argb32.ref.png new file mode 100644 index 000000000..34fce987b Binary files /dev/null and b/test/reference/operator.mask.argb32.ref.png differ diff --git a/test/reference/operator.mask.rgb24.ref.png b/test/reference/operator.mask.rgb24.ref.png new file mode 100644 index 000000000..aa6103df8 Binary files /dev/null and b/test/reference/operator.mask.rgb24.ref.png 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 000000000..8c2ce1d3a Binary files /dev/null and b/test/reference/over-above-source.mask.argb32.ref.png 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 000000000..240de27e0 Binary files /dev/null and b/test/reference/over-above-source.mask.rgb24.ref.png 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 000000000..38df9b738 Binary files /dev/null and b/test/reference/over-around-source.mask.argb32.ref.png 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 000000000..65fd8e806 Binary files /dev/null and b/test/reference/over-around-source.mask.rgb24.ref.png 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 000000000..0b55974be Binary files /dev/null and b/test/reference/over-below-source.mask.argb32.ref.png 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 000000000..9ddde0e24 Binary files /dev/null and b/test/reference/over-below-source.mask.rgb24.ref.png 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 000000000..dd03f9827 Binary files /dev/null and b/test/reference/over-between-source.mask.argb32.ref.png 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 000000000..8569720b1 Binary files /dev/null and b/test/reference/over-between-source.mask.rgb24.ref.png 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 000000000..1c684381f Binary files /dev/null and b/test/reference/overlapping-boxes.mask.argb32.ref.png 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 000000000..0edeafa00 Binary files /dev/null and b/test/reference/overlapping-boxes.mask.rgb24.ref.png 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 000000000..367d68357 Binary files /dev/null and b/test/reference/overlapping-dash-caps.mask.argb32.ref.png 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 000000000..367d68357 Binary files /dev/null and b/test/reference/overlapping-dash-caps.mask.rgb24.ref.png 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 000000000..4ec4ee541 Binary files /dev/null and b/test/reference/overlapping-glyphs.mask.argb32.ref.png 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 000000000..5217c1577 Binary files /dev/null and b/test/reference/overlapping-glyphs.mask.rgb24.ref.png 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 000000000..768322a39 Binary files /dev/null and b/test/reference/paint-clip-fill-aa.mask.argb32.ref.png 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 000000000..768322a39 Binary files /dev/null and b/test/reference/paint-clip-fill-aa.mask.rgb24.ref.png 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 000000000..768322a39 Binary files /dev/null and b/test/reference/paint-clip-fill-mono.mask.argb32.ref.png 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 000000000..768322a39 Binary files /dev/null and b/test/reference/paint-clip-fill-mono.mask.rgb24.ref.png 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 000000000..8cdd9b4be Binary files /dev/null and b/test/reference/paint-repeat.mask.argb32.ref.png 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 000000000..8cdd9b4be Binary files /dev/null and b/test/reference/paint-repeat.mask.rgb24.ref.png 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 000000000..65d9c179b Binary files /dev/null and b/test/reference/paint-source-alpha.mask.argb32.ref.png 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 000000000..65d9c179b Binary files /dev/null and b/test/reference/paint-source-alpha.mask.rgb24.ref.png 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 000000000..95746ffcb Binary files /dev/null and b/test/reference/paint-with-alpha-clip-mask.mask.argb32.ref.png 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 000000000..95746ffcb Binary files /dev/null and b/test/reference/paint-with-alpha-clip-mask.mask.rgb24.ref.png 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 000000000..c1da67e01 Binary files /dev/null and b/test/reference/paint-with-alpha-clip.mask.argb32.ref.png 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 000000000..c1da67e01 Binary files /dev/null and b/test/reference/paint-with-alpha-clip.mask.rgb24.ref.png 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 000000000..2cd2df21c Binary files /dev/null and b/test/reference/paint-with-alpha-solid-clip.mask.argb32.ref.png 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 000000000..2cd2df21c Binary files /dev/null and b/test/reference/paint-with-alpha-solid-clip.mask.rgb24.ref.png 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 000000000..65d9c179b Binary files /dev/null and b/test/reference/paint-with-alpha.mask.argb32.ref.png 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 000000000..65d9c179b Binary files /dev/null and b/test/reference/paint-with-alpha.mask.rgb24.ref.png differ diff --git a/test/reference/paint.mask.argb32.ref.png b/test/reference/paint.mask.argb32.ref.png new file mode 100644 index 000000000..22cc7a1ae Binary files /dev/null and b/test/reference/paint.mask.argb32.ref.png differ diff --git a/test/reference/paint.mask.rgb24.ref.png b/test/reference/paint.mask.rgb24.ref.png new file mode 100644 index 000000000..22cc7a1ae Binary files /dev/null and b/test/reference/paint.mask.rgb24.ref.png 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 000000000..6a299d48c Binary files /dev/null and b/test/reference/partial-clip-text-bottom.mask.argb32.ref.png 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 000000000..6a299d48c Binary files /dev/null and b/test/reference/partial-clip-text-bottom.mask.rgb24.ref.png 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 000000000..54a1a8586 Binary files /dev/null and b/test/reference/partial-clip-text-left.mask.argb32.ref.png 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 000000000..54a1a8586 Binary files /dev/null and b/test/reference/partial-clip-text-left.mask.rgb24.ref.png 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 000000000..2fbdca038 Binary files /dev/null and b/test/reference/partial-clip-text-right.mask.argb32.ref.png 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 000000000..2fbdca038 Binary files /dev/null and b/test/reference/partial-clip-text-right.mask.rgb24.ref.png 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 000000000..2fbdca038 Binary files /dev/null and b/test/reference/partial-clip-text-right.traps.argb32.ref.png 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 000000000..2fbdca038 Binary files /dev/null and b/test/reference/partial-clip-text-right.traps.rgb24.ref.png 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 000000000..d18475be3 Binary files /dev/null and b/test/reference/partial-clip-text-top.mask.argb32.ref.png 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 000000000..d18475be3 Binary files /dev/null and b/test/reference/partial-clip-text-top.mask.rgb24.ref.png 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 000000000..d18475be3 Binary files /dev/null and b/test/reference/partial-clip-text-top.traps.argb32.ref.png 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 000000000..d18475be3 Binary files /dev/null and b/test/reference/partial-clip-text-top.traps.rgb24.ref.png 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 000000000..17f4ff06b Binary files /dev/null and b/test/reference/partial-coverage-half-reference.mask.argb32.ref.png 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 000000000..17f4ff06b Binary files /dev/null and b/test/reference/partial-coverage-half-reference.mask.rgb24.ref.png 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 000000000..9e4a6fe42 Binary files /dev/null and b/test/reference/partial-coverage-reference.mask.argb32.ref.png 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 000000000..9e4a6fe42 Binary files /dev/null and b/test/reference/partial-coverage-reference.mask.rgb24.ref.png 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 000000000..ea16dc4bb Binary files /dev/null and b/test/reference/partial-coverage-three-quarter-reference.mask.argb32.ref.png 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 000000000..ea16dc4bb Binary files /dev/null and b/test/reference/partial-coverage-three-quarter-reference.mask.rgb24.ref.png 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 000000000..058a1920f Binary files /dev/null and b/test/reference/pass-through.base.argb32.ref.png 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 000000000..1be631aad Binary files /dev/null and b/test/reference/pass-through.base.rgb24.ref.png 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 000000000..058a1920f Binary files /dev/null and b/test/reference/pass-through.mask.argb32.ref.png 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 000000000..1be631aad Binary files /dev/null and b/test/reference/pass-through.mask.rgb24.ref.png 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 000000000..058a1920f Binary files /dev/null and b/test/reference/pass-through.traps.argb32.ref.png 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 000000000..1be631aad Binary files /dev/null and b/test/reference/pass-through.traps.rgb24.ref.png 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 000000000..f097af032 Binary files /dev/null and b/test/reference/path-append.mask.argb32.ref.png 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 000000000..f097af032 Binary files /dev/null and b/test/reference/path-append.mask.rgb24.ref.png 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 000000000..743c6ce52 Binary files /dev/null and b/test/reference/path-stroke-twice.mask.argb32.ref.png 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 000000000..743c6ce52 Binary files /dev/null and b/test/reference/path-stroke-twice.mask.rgb24.ref.png 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 000000000..3cc39a8be Binary files /dev/null and b/test/reference/pattern-getters.mask.argb32.ref.png 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 000000000..3cc39a8be Binary files /dev/null and b/test/reference/pattern-getters.mask.rgb24.ref.png 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 000000000..018297208 Binary files /dev/null and b/test/reference/pdf-surface-source.mask.argb32.ref.png 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 000000000..0d68a82cc Binary files /dev/null and b/test/reference/pdf-surface-source.mask.rgb24.ref.png 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 000000000..7e47a4d8f Binary files /dev/null and b/test/reference/pixman-rotate.mask.argb32.ref.png 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 000000000..397acbe7e Binary files /dev/null and b/test/reference/pixman-rotate.mask.rgb24.ref.png 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 000000000..018297208 Binary files /dev/null and b/test/reference/ps-surface-source.mask.argb32.ref.png 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 000000000..0d68a82cc Binary files /dev/null and b/test/reference/ps-surface-source.mask.rgb24.ref.png 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 000000000..cfb519d35 Binary files /dev/null and b/test/reference/pthread-same-source.mask.argb32.ref.png 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 000000000..cfb519d35 Binary files /dev/null and b/test/reference/pthread-same-source.mask.rgb24.ref.png 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 000000000..90d0af349 Binary files /dev/null and b/test/reference/pthread-show-text.mask.argb32.ref.png 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 000000000..90d0af349 Binary files /dev/null and b/test/reference/pthread-show-text.mask.rgb24.ref.png 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 000000000..90d0af349 Binary files /dev/null and b/test/reference/pthread-show-text.traps.argb32.ref.png 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 000000000..90d0af349 Binary files /dev/null and b/test/reference/pthread-show-text.traps.rgb24.ref.png 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 000000000..a22210db8 Binary files /dev/null and b/test/reference/pthread-similar.mask.argb32.ref.png 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 000000000..a22210db8 Binary files /dev/null and b/test/reference/pthread-similar.mask.rgb24.ref.png 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 000000000..561519685 Binary files /dev/null and b/test/reference/push-group-color.mask.argb32.ref.png 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 000000000..561519685 Binary files /dev/null and b/test/reference/push-group-color.mask.rgb24.ref.png 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 000000000..b836a9197 Binary files /dev/null and b/test/reference/push-group-path-offset.mask.argb32.ref.png 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 000000000..b836a9197 Binary files /dev/null and b/test/reference/push-group-path-offset.mask.rgb24.ref.png 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 000000000..60f5eec1b Binary files /dev/null and b/test/reference/push-group.mask.argb32.ref.png 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 000000000..19f0a2b76 Binary files /dev/null and b/test/reference/push-group.mask.rgb24.ref.png 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 000000000..3d7de5e56 Binary files /dev/null and b/test/reference/radial-gradient-extend.mask.argb32.ref.png 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 000000000..3d7de5e56 Binary files /dev/null and b/test/reference/radial-gradient-extend.mask.rgb24.ref.png 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 000000000..2bf65b3d6 Binary files /dev/null and b/test/reference/radial-gradient-mask-source.mask.argb32.ref.png 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 000000000..55335196a Binary files /dev/null and b/test/reference/radial-gradient-mask-source.mask.rgb24.ref.png 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 000000000..4db39aa3f Binary files /dev/null and b/test/reference/radial-gradient-mask.mask.argb32.ref.png 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 000000000..4db39aa3f Binary files /dev/null and b/test/reference/radial-gradient-mask.mask.rgb24.ref.png 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 000000000..fb35be61d Binary files /dev/null and b/test/reference/radial-gradient-one-stop.mask.argb32.ref.png 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 000000000..fb35be61d Binary files /dev/null and b/test/reference/radial-gradient-one-stop.mask.rgb24.ref.png 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 000000000..4ab4796fa Binary files /dev/null and b/test/reference/radial-gradient-source.mask.argb32.ref.png 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 000000000..afaa24118 Binary files /dev/null and b/test/reference/radial-gradient-source.mask.rgb24.ref.png 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 000000000..a2cbbc82e Binary files /dev/null and b/test/reference/radial-gradient.mask.argb32.ref.png 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 000000000..a2cbbc82e Binary files /dev/null and b/test/reference/radial-gradient.mask.rgb24.ref.png 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 000000000..21f0bf6fb Binary files /dev/null and b/test/reference/radial-outer-focus.base.argb32.ref.png 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 000000000..21f0bf6fb Binary files /dev/null and b/test/reference/radial-outer-focus.base.rgb24.ref.png 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 000000000..21f0bf6fb Binary files /dev/null and b/test/reference/radial-outer-focus.mask.argb32.ref.png 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 000000000..21f0bf6fb Binary files /dev/null and b/test/reference/radial-outer-focus.mask.rgb24.ref.png 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 000000000..21f0bf6fb Binary files /dev/null and b/test/reference/radial-outer-focus.traps.argb32.ref.png 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 000000000..21f0bf6fb Binary files /dev/null and b/test/reference/radial-outer-focus.traps.rgb24.ref.png 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 000000000..85f7808af Binary files /dev/null and b/test/reference/random-clip.base.argb32.ref.png 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 000000000..85f7808af Binary files /dev/null and b/test/reference/random-clip.base.rgb24.ref.png 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 000000000..41643cbad Binary files /dev/null and b/test/reference/random-clip.mask.argb32.ref.png 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 000000000..41643cbad Binary files /dev/null and b/test/reference/random-clip.mask.rgb24.ref.png 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 000000000..c8b0c5382 Binary files /dev/null and b/test/reference/random-intersections-curves-eo.mask.argb32.ref.png 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 000000000..c8b0c5382 Binary files /dev/null and b/test/reference/random-intersections-curves-eo.mask.rgb24.ref.png 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 000000000..2678590cd Binary files /dev/null and b/test/reference/random-intersections-curves-nz.mask.argb32.ref.png 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 000000000..2678590cd Binary files /dev/null and b/test/reference/random-intersections-curves-nz.mask.rgb24.ref.png 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 000000000..0e8460ed6 Binary files /dev/null and b/test/reference/random-intersections-eo.mask.argb32.ref.png 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 000000000..0e8460ed6 Binary files /dev/null and b/test/reference/random-intersections-eo.mask.rgb24.ref.png 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 000000000..dfc2f3359 Binary files /dev/null and b/test/reference/random-intersections-nonzero.mask.argb32.ref.png 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 000000000..dfc2f3359 Binary files /dev/null and b/test/reference/random-intersections-nonzero.mask.rgb24.ref.png 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 000000000..ac5e56063 Binary files /dev/null and b/test/reference/raster-source.mask.argb32.ref.png 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 000000000..ac5e56063 Binary files /dev/null and b/test/reference/raster-source.mask.rgb24.ref.png 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 000000000..6cc1b21a2 Binary files /dev/null and b/test/reference/rectangle-rounding-error.mask.argb32.ref.png 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 000000000..6cc1b21a2 Binary files /dev/null and b/test/reference/rectangle-rounding-error.mask.rgb24.ref.png 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 000000000..33e7851e7 Binary files /dev/null and b/test/reference/rectilinear-dash.mask.argb32.ref.png 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 000000000..33e7851e7 Binary files /dev/null and b/test/reference/rectilinear-dash.mask.rgb24.ref.png 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 000000000..dbaf38368 Binary files /dev/null and b/test/reference/rectilinear-fill.mask.argb32.ref.png 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 000000000..dbaf38368 Binary files /dev/null and b/test/reference/rectilinear-fill.mask.rgb24.ref.png 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 000000000..8d47ef567 Binary files /dev/null and b/test/reference/rectilinear-grid.mask.argb32.ref.png 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 000000000..8d47ef567 Binary files /dev/null and b/test/reference/rectilinear-grid.mask.rgb24.ref.png 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 000000000..d64d581e4 Binary files /dev/null and b/test/reference/rectilinear-miter-limit.mask.argb32.ref.png 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 000000000..d64d581e4 Binary files /dev/null and b/test/reference/rectilinear-miter-limit.mask.rgb24.ref.png 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 000000000..260909b6f Binary files /dev/null and b/test/reference/rectilinear-stroke.mask.argb32.ref.png 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 000000000..260909b6f Binary files /dev/null and b/test/reference/rectilinear-stroke.mask.rgb24.ref.png 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 000000000..9a7d6bc41 Binary files /dev/null and b/test/reference/reflected-stroke.mask.argb32.ref.png 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 000000000..9a7d6bc41 Binary files /dev/null and b/test/reference/reflected-stroke.mask.rgb24.ref.png 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 000000000..67fe178a7 Binary files /dev/null and b/test/reference/rel-path.mask.argb32.ref.png 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 000000000..78d8a0884 Binary files /dev/null and b/test/reference/rel-path.mask.rgb24.ref.png 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 000000000..922eddda5 Binary files /dev/null and b/test/reference/rgb24-ignore-alpha.mask.argb32.ref.png 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 000000000..922eddda5 Binary files /dev/null and b/test/reference/rgb24-ignore-alpha.mask.rgb24.ref.png 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 000000000..7f74b2b3c Binary files /dev/null and b/test/reference/rotate-clip-image-surface-paint.mask.argb32.ref.png 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 000000000..7f74b2b3c Binary files /dev/null and b/test/reference/rotate-clip-image-surface-paint.mask.rgb24.ref.png 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 000000000..06a482005 Binary files /dev/null and b/test/reference/rotate-image-surface-paint.mask.argb32.ref.png 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 000000000..06a482005 Binary files /dev/null and b/test/reference/rotate-image-surface-paint.mask.rgb24.ref.png 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 000000000..8168f9d99 Binary files /dev/null and b/test/reference/rotated-clip.mask.argb32.ref.png 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 000000000..8168f9d99 Binary files /dev/null and b/test/reference/rotated-clip.mask.rgb24.ref.png 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 000000000..3232c078f Binary files /dev/null and b/test/reference/rounded-rectangle-fill.mask.argb32.ref.png 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 000000000..3232c078f Binary files /dev/null and b/test/reference/rounded-rectangle-fill.mask.rgb24.ref.png 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 000000000..3f2a1fb2c Binary files /dev/null and b/test/reference/rounded-rectangle-stroke.mask.argb32.ref.png 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 000000000..3f2a1fb2c Binary files /dev/null and b/test/reference/rounded-rectangle-stroke.mask.rgb24.ref.png 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 000000000..74770948d Binary files /dev/null and b/test/reference/scale-down-source-surface-paint.mask.argb32.ref.png 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 000000000..74770948d Binary files /dev/null and b/test/reference/scale-down-source-surface-paint.mask.rgb24.ref.png 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 000000000..ab1ced830 Binary files /dev/null and b/test/reference/scale-offset-image.mask.argb32.ref.png 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 000000000..ab1ced830 Binary files /dev/null and b/test/reference/scale-offset-image.mask.rgb24.ref.png 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 000000000..ab1ced830 Binary files /dev/null and b/test/reference/scale-offset-similar.mask.argb32.ref.png 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 000000000..ab1ced830 Binary files /dev/null and b/test/reference/scale-offset-similar.mask.rgb24.ref.png 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 000000000..e159d15e3 Binary files /dev/null and b/test/reference/scale-source-surface-paint.mask.argb32.ref.png 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 000000000..3491a7c05 Binary files /dev/null and b/test/reference/scale-source-surface-paint.mask.rgb24.ref.png 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 000000000..1334a9a01 Binary files /dev/null and b/test/reference/select-font-face.mask.argb32.ref.png 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 000000000..1334a9a01 Binary files /dev/null and b/test/reference/select-font-face.mask.rgb24.ref.png 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 000000000..1334a9a01 Binary files /dev/null and b/test/reference/select-font-face.traps.argb32.ref.png 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 000000000..1334a9a01 Binary files /dev/null and b/test/reference/select-font-face.traps.rgb24.ref.png 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 000000000..a70e819ed Binary files /dev/null and b/test/reference/self-copy-overlap.mask.argb32.ref.png 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 000000000..e9cd7b567 Binary files /dev/null and b/test/reference/self-copy-overlap.mask.rgb24.ref.png 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 000000000..d8221d8a7 Binary files /dev/null and b/test/reference/self-copy.mask.argb32.ref.png 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 000000000..d8221d8a7 Binary files /dev/null and b/test/reference/self-copy.mask.rgb24.ref.png 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 000000000..d554d83ee Binary files /dev/null and b/test/reference/self-intersecting.mask.argb32.ref.png 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 000000000..d554d83ee Binary files /dev/null and b/test/reference/self-intersecting.mask.rgb24.ref.png 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 000000000..222b3723e Binary files /dev/null and b/test/reference/set-source.mask.argb32.ref.png 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 000000000..5e13c82e7 Binary files /dev/null and b/test/reference/set-source.mask.rgb24.ref.png 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 000000000..b4d4df732 Binary files /dev/null and b/test/reference/shape-general-convex.mask.argb32.ref.png 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 000000000..b4d4df732 Binary files /dev/null and b/test/reference/shape-general-convex.mask.rgb24.ref.png 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 000000000..ac9855766 Binary files /dev/null and b/test/reference/shape-sierpinski.mask.argb32.ref.png 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 000000000..ac9855766 Binary files /dev/null and b/test/reference/shape-sierpinski.mask.rgb24.ref.png 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 000000000..e65ad05d5 Binary files /dev/null and b/test/reference/show-glyphs-advance.mask.argb32.ref.png 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 000000000..e65ad05d5 Binary files /dev/null and b/test/reference/show-glyphs-advance.mask.rgb24.ref.png 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 000000000..e65ad05d5 Binary files /dev/null and b/test/reference/show-glyphs-advance.traps.argb32.ref.png 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 000000000..e65ad05d5 Binary files /dev/null and b/test/reference/show-glyphs-advance.traps.rgb24.ref.png 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 000000000..b638015d3 Binary files /dev/null and b/test/reference/show-glyphs-many.mask.argb32.ref.png 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 000000000..b638015d3 Binary files /dev/null and b/test/reference/show-glyphs-many.mask.rgb24.ref.png 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 000000000..d60d4ac01 Binary files /dev/null and b/test/reference/show-text-current-point.mask.argb32.ref.png 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 000000000..d60d4ac01 Binary files /dev/null and b/test/reference/show-text-current-point.mask.rgb24.ref.png 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 000000000..d60d4ac01 Binary files /dev/null and b/test/reference/show-text-current-point.traps.argb32.ref.png 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 000000000..d60d4ac01 Binary files /dev/null and b/test/reference/show-text-current-point.traps.rgb24.ref.png 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 000000000..5ccd8c030 Binary files /dev/null and b/test/reference/skew-extreme.mask.argb32.ref.png 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 000000000..5ccd8c030 Binary files /dev/null and b/test/reference/skew-extreme.mask.rgb24.ref.png 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 000000000..84e175582 Binary files /dev/null and b/test/reference/smask-fill.mask.argb32.ref.png 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 000000000..84e175582 Binary files /dev/null and b/test/reference/smask-fill.mask.rgb24.ref.png 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 000000000..12063bda2 Binary files /dev/null and b/test/reference/smask-image-mask.mask.argb32.ref.png 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 000000000..12063bda2 Binary files /dev/null and b/test/reference/smask-image-mask.mask.rgb24.ref.png 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 000000000..80329c263 Binary files /dev/null and b/test/reference/smask-mask.mask.argb32.ref.png 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 000000000..80329c263 Binary files /dev/null and b/test/reference/smask-mask.mask.rgb24.ref.png 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 000000000..95af29af4 Binary files /dev/null and b/test/reference/smask-paint.mask.argb32.ref.png 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 000000000..95af29af4 Binary files /dev/null and b/test/reference/smask-paint.mask.rgb24.ref.png 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 000000000..d7b56e577 Binary files /dev/null and b/test/reference/smask-stroke.mask.argb32.ref.png 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 000000000..d7b56e577 Binary files /dev/null and b/test/reference/smask-stroke.mask.rgb24.ref.png 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 000000000..344ac2089 Binary files /dev/null and b/test/reference/smask-text.mask.argb32.ref.png 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 000000000..344ac2089 Binary files /dev/null and b/test/reference/smask-text.mask.rgb24.ref.png 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 000000000..66ef289ca Binary files /dev/null and b/test/reference/smask-text.traps.argb32.ref.png 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 000000000..66ef289ca Binary files /dev/null and b/test/reference/smask-text.traps.rgb24.ref.png differ diff --git a/test/reference/smask.mask.argb32.ref.png b/test/reference/smask.mask.argb32.ref.png new file mode 100644 index 000000000..dab308d8e Binary files /dev/null and b/test/reference/smask.mask.argb32.ref.png differ diff --git a/test/reference/smask.mask.rgb24.ref.png b/test/reference/smask.mask.rgb24.ref.png new file mode 100644 index 000000000..dab308d8e Binary files /dev/null and b/test/reference/smask.mask.rgb24.ref.png differ diff --git a/test/reference/smask.traps.argb32.ref.png b/test/reference/smask.traps.argb32.ref.png new file mode 100644 index 000000000..357e8e7fb Binary files /dev/null and b/test/reference/smask.traps.argb32.ref.png differ diff --git a/test/reference/smask.traps.rgb24.ref.png b/test/reference/smask.traps.rgb24.ref.png new file mode 100644 index 000000000..357e8e7fb Binary files /dev/null and b/test/reference/smask.traps.rgb24.ref.png 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 000000000..08a2ce152 Binary files /dev/null and b/test/reference/solid-pattern-cache-stress.mask.argb32.ref.png 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 000000000..08a2ce152 Binary files /dev/null and b/test/reference/solid-pattern-cache-stress.mask.rgb24.ref.png 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 000000000..4b63ad9bf Binary files /dev/null and b/test/reference/source-clip-scale.mask.argb32.ref.png 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 000000000..4b63ad9bf Binary files /dev/null and b/test/reference/source-clip-scale.mask.rgb24.ref.png 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 000000000..821bc6cab Binary files /dev/null and b/test/reference/source-clip.mask.argb32.ref.png 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 000000000..821bc6cab Binary files /dev/null and b/test/reference/source-clip.mask.rgb24.ref.png 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 000000000..087ef7521 Binary files /dev/null and b/test/reference/source-surface-scale-paint.mask.argb32.ref.png 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 000000000..322af211d Binary files /dev/null and b/test/reference/source-surface-scale-paint.mask.rgb24.ref.png 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 000000000..e93e6210c Binary files /dev/null and b/test/reference/spline-decomposition.mask.argb32.ref.png 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 000000000..e93e6210c Binary files /dev/null and b/test/reference/spline-decomposition.mask.rgb24.ref.png 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 000000000..44284566e Binary files /dev/null and b/test/reference/stride-12-image.base.argb32.ref.png 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 000000000..44284566e Binary files /dev/null and b/test/reference/stride-12-image.base.rgb24.ref.png 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 000000000..44284566e Binary files /dev/null and b/test/reference/stride-12-image.mask.argb32.ref.png 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 000000000..44284566e Binary files /dev/null and b/test/reference/stride-12-image.mask.rgb24.ref.png 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 000000000..44284566e Binary files /dev/null and b/test/reference/stride-12-image.traps.argb32.ref.png 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 000000000..44284566e Binary files /dev/null and b/test/reference/stride-12-image.traps.rgb24.ref.png 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 000000000..3a77d3ea6 Binary files /dev/null and b/test/reference/stroke-ctm-caps.mask.argb32.ref.png 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 000000000..3a77d3ea6 Binary files /dev/null and b/test/reference/stroke-ctm-caps.mask.rgb24.ref.png 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 000000000..03a07eb47 Binary files /dev/null and b/test/reference/stroke-image.mask.argb32.ref.png 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 000000000..03a07eb47 Binary files /dev/null and b/test/reference/stroke-image.mask.rgb24.ref.png 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 000000000..b5f5bd581 Binary files /dev/null and b/test/reference/stroke-open-box.mask.argb32.ref.png 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 000000000..b5f5bd581 Binary files /dev/null and b/test/reference/stroke-open-box.mask.rgb24.ref.png 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 000000000..67bb03143 Binary files /dev/null and b/test/reference/stroke-pattern.base.argb32.ref.png 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 000000000..67bb03143 Binary files /dev/null and b/test/reference/stroke-pattern.base.rgb24.ref.png 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 000000000..38ff6ad89 Binary files /dev/null and b/test/reference/stroke-pattern.mask.argb32.ref.png 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 000000000..38ff6ad89 Binary files /dev/null and b/test/reference/stroke-pattern.mask.rgb24.ref.png 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 000000000..67bb03143 Binary files /dev/null and b/test/reference/stroke-pattern.traps.argb32.ref.png 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 000000000..67bb03143 Binary files /dev/null and b/test/reference/stroke-pattern.traps.rgb24.ref.png 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 000000000..3dd6306a0 Binary files /dev/null and b/test/reference/subsurface-image-repeat.mask.argb32.ref.png 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 000000000..3dd6306a0 Binary files /dev/null and b/test/reference/subsurface-image-repeat.mask.rgb24.ref.png 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 000000000..c37e22e36 Binary files /dev/null and b/test/reference/subsurface-modify-child.mask.argb32.ref.png 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 000000000..c37e22e36 Binary files /dev/null and b/test/reference/subsurface-modify-child.mask.rgb24.ref.png 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 000000000..c37e22e36 Binary files /dev/null and b/test/reference/subsurface-modify-parent.mask.argb32.ref.png 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 000000000..c37e22e36 Binary files /dev/null and b/test/reference/subsurface-modify-parent.mask.rgb24.ref.png 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 000000000..337cdd803 Binary files /dev/null and b/test/reference/subsurface-outside-target.mask.argb32.ref.png 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 000000000..368936e5c Binary files /dev/null and b/test/reference/subsurface-outside-target.mask.rgb24.ref.png 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 000000000..337cdd803 Binary files /dev/null and b/test/reference/subsurface-outside-target.traps.argb32.ref.png 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 000000000..368936e5c Binary files /dev/null and b/test/reference/subsurface-outside-target.traps.rgb24.ref.png 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 000000000..eeb9f8f59 Binary files /dev/null and b/test/reference/subsurface-pad.mask.argb32.ref.png 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 000000000..eeb9f8f59 Binary files /dev/null and b/test/reference/subsurface-pad.mask.rgb24.ref.png 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 000000000..55643f448 Binary files /dev/null and b/test/reference/subsurface-reflect.mask.argb32.ref.png 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 000000000..55643f448 Binary files /dev/null and b/test/reference/subsurface-reflect.mask.rgb24.ref.png 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 000000000..c37e22e36 Binary files /dev/null and b/test/reference/subsurface-repeat.mask.argb32.ref.png 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 000000000..c37e22e36 Binary files /dev/null and b/test/reference/subsurface-repeat.mask.rgb24.ref.png 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 000000000..69bb0fb9a Binary files /dev/null and b/test/reference/subsurface-scale.base.argb32.ref.png 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 000000000..69bb0fb9a Binary files /dev/null and b/test/reference/subsurface-scale.base.rgb24.ref.png 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 000000000..69bb0fb9a Binary files /dev/null and b/test/reference/subsurface-scale.mask.argb32.ref.png 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 000000000..69bb0fb9a Binary files /dev/null and b/test/reference/subsurface-scale.mask.rgb24.ref.png 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 000000000..69bb0fb9a Binary files /dev/null and b/test/reference/subsurface-scale.traps.argb32.ref.png 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 000000000..69bb0fb9a Binary files /dev/null and b/test/reference/subsurface-scale.traps.rgb24.ref.png 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 000000000..c37e22e36 Binary files /dev/null and b/test/reference/subsurface-similar-repeat.mask.argb32.ref.png 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 000000000..c37e22e36 Binary files /dev/null and b/test/reference/subsurface-similar-repeat.mask.rgb24.ref.png differ diff --git a/test/reference/subsurface.mask.argb32.ref.png b/test/reference/subsurface.mask.argb32.ref.png new file mode 100644 index 000000000..feeb5dc8a Binary files /dev/null and b/test/reference/subsurface.mask.argb32.ref.png differ diff --git a/test/reference/subsurface.mask.rgb24.ref.png b/test/reference/subsurface.mask.rgb24.ref.png new file mode 100644 index 000000000..feeb5dc8a Binary files /dev/null and b/test/reference/subsurface.mask.rgb24.ref.png 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 000000000..c05099077 Binary files /dev/null and b/test/reference/surface-pattern-big-scale-down.mask.argb32.ref.png 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 000000000..c05099077 Binary files /dev/null and b/test/reference/surface-pattern-big-scale-down.mask.rgb24.ref.png 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 000000000..817803040 Binary files /dev/null and b/test/reference/surface-pattern-operator.mask.argb32.ref.png 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 000000000..2378bdd98 Binary files /dev/null and b/test/reference/surface-pattern-operator.mask.rgb24.ref.png 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 000000000..9df14cc5c Binary files /dev/null and b/test/reference/surface-pattern-scale-down-extend-none.mask.argb32.ref.png 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 000000000..9df14cc5c Binary files /dev/null and b/test/reference/surface-pattern-scale-down-extend-none.mask.rgb24.ref.png 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 000000000..2ee941907 Binary files /dev/null and b/test/reference/surface-pattern-scale-down-extend-pad.mask.argb32.ref.png 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 000000000..2ee941907 Binary files /dev/null and b/test/reference/surface-pattern-scale-down-extend-pad.mask.rgb24.ref.png 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 000000000..f2e93a7dd Binary files /dev/null and b/test/reference/surface-pattern-scale-down-extend-reflect.mask.argb32.ref.png 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 000000000..f2e93a7dd Binary files /dev/null and b/test/reference/surface-pattern-scale-down-extend-reflect.mask.rgb24.ref.png 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 000000000..c5cff0fe3 Binary files /dev/null and b/test/reference/surface-pattern-scale-down-extend-repeat.mask.argb32.ref.png 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 000000000..c5cff0fe3 Binary files /dev/null and b/test/reference/surface-pattern-scale-down-extend-repeat.mask.rgb24.ref.png 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 000000000..8bb58a2a1 Binary files /dev/null and b/test/reference/surface-pattern-scale-down.mask.argb32.ref.png 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 000000000..8bb58a2a1 Binary files /dev/null and b/test/reference/surface-pattern-scale-down.mask.rgb24.ref.png 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 000000000..e8d84e2b4 Binary files /dev/null and b/test/reference/surface-pattern-scale-up.mask.argb32.ref.png 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 000000000..e8d84e2b4 Binary files /dev/null and b/test/reference/surface-pattern-scale-up.mask.rgb24.ref.png 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 000000000..079ebfba1 Binary files /dev/null and b/test/reference/surface-pattern.mask.argb32.ref.png 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 000000000..079ebfba1 Binary files /dev/null and b/test/reference/surface-pattern.mask.rgb24.ref.png 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 000000000..018297208 Binary files /dev/null and b/test/reference/svg-surface-source.mask.argb32.ref.png 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 000000000..0d68a82cc Binary files /dev/null and b/test/reference/svg-surface-source.mask.rgb24.ref.png 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 000000000..06b805eaa Binary files /dev/null and b/test/reference/text-antialias-gray.mask.argb32.ref.png 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 000000000..06b805eaa Binary files /dev/null and b/test/reference/text-antialias-gray.mask.rgb24.ref.png 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 000000000..06b805eaa Binary files /dev/null and b/test/reference/text-antialias-gray.traps.argb32.ref.png 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 000000000..06b805eaa Binary files /dev/null and b/test/reference/text-antialias-gray.traps.rgb24.ref.png 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 000000000..86c09cd36 Binary files /dev/null and b/test/reference/text-antialias-none.mask.argb32.ref.png 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 000000000..86c09cd36 Binary files /dev/null and b/test/reference/text-antialias-none.mask.rgb24.ref.png 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 000000000..86c09cd36 Binary files /dev/null and b/test/reference/text-antialias-none.traps.argb32.ref.png 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 000000000..86c09cd36 Binary files /dev/null and b/test/reference/text-antialias-none.traps.rgb24.ref.png 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 000000000..f8d5130af Binary files /dev/null and b/test/reference/text-antialias-subpixel-bgr.base.argb32.ref.png 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 000000000..f8d5130af Binary files /dev/null and b/test/reference/text-antialias-subpixel-bgr.base.rgb24.ref.png 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 000000000..f8d5130af Binary files /dev/null and b/test/reference/text-antialias-subpixel-bgr.mask.argb32.ref.png 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 000000000..f8d5130af Binary files /dev/null and b/test/reference/text-antialias-subpixel-bgr.mask.rgb24.ref.png 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 000000000..a221472df Binary files /dev/null and b/test/reference/text-antialias-subpixel-bgr.traps.argb32.ref.png 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 000000000..a221472df Binary files /dev/null and b/test/reference/text-antialias-subpixel-bgr.traps.rgb24.ref.png 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 000000000..f8d5130af Binary files /dev/null and b/test/reference/text-antialias-subpixel-rgb.base.argb32.ref.png 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 000000000..f8d5130af Binary files /dev/null and b/test/reference/text-antialias-subpixel-rgb.base.rgb24.ref.png 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 000000000..f8d5130af Binary files /dev/null and b/test/reference/text-antialias-subpixel-rgb.mask.argb32.ref.png 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 000000000..f8d5130af Binary files /dev/null and b/test/reference/text-antialias-subpixel-rgb.mask.rgb24.ref.png 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 000000000..af5e0aef5 Binary files /dev/null and b/test/reference/text-antialias-subpixel-rgb.traps.argb32.ref.png 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 000000000..af5e0aef5 Binary files /dev/null and b/test/reference/text-antialias-subpixel-rgb.traps.rgb24.ref.png 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 000000000..9fd35ea2c Binary files /dev/null and b/test/reference/text-antialias-subpixel-vbgr.base.argb32.ref.png 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 000000000..9fd35ea2c Binary files /dev/null and b/test/reference/text-antialias-subpixel-vbgr.base.rgb24.ref.png 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 000000000..9fd35ea2c Binary files /dev/null and b/test/reference/text-antialias-subpixel-vbgr.mask.argb32.ref.png 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 000000000..9fd35ea2c Binary files /dev/null and b/test/reference/text-antialias-subpixel-vbgr.mask.rgb24.ref.png 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 000000000..905579b66 Binary files /dev/null and b/test/reference/text-antialias-subpixel-vbgr.traps.argb32.ref.png 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 000000000..905579b66 Binary files /dev/null and b/test/reference/text-antialias-subpixel-vbgr.traps.rgb24.ref.png 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 000000000..9fd35ea2c Binary files /dev/null and b/test/reference/text-antialias-subpixel-vrgb.base.argb32.ref.png 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 000000000..9fd35ea2c Binary files /dev/null and b/test/reference/text-antialias-subpixel-vrgb.base.rgb24.ref.png 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 000000000..9fd35ea2c Binary files /dev/null and b/test/reference/text-antialias-subpixel-vrgb.mask.argb32.ref.png 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 000000000..9fd35ea2c Binary files /dev/null and b/test/reference/text-antialias-subpixel-vrgb.mask.rgb24.ref.png 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 000000000..f7c5befa9 Binary files /dev/null and b/test/reference/text-antialias-subpixel-vrgb.traps.argb32.ref.png 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 000000000..f7c5befa9 Binary files /dev/null and b/test/reference/text-antialias-subpixel-vrgb.traps.rgb24.ref.png 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 000000000..f8d5130af Binary files /dev/null and b/test/reference/text-antialias-subpixel.base.argb32.ref.png 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 000000000..f8d5130af Binary files /dev/null and b/test/reference/text-antialias-subpixel.base.rgb24.ref.png 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 000000000..f8d5130af Binary files /dev/null and b/test/reference/text-antialias-subpixel.mask.argb32.ref.png 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 000000000..f8d5130af Binary files /dev/null and b/test/reference/text-antialias-subpixel.mask.rgb24.ref.png 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 000000000..af5e0aef5 Binary files /dev/null and b/test/reference/text-antialias-subpixel.traps.argb32.ref.png 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 000000000..af5e0aef5 Binary files /dev/null and b/test/reference/text-antialias-subpixel.traps.rgb24.ref.png 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 000000000..648fef5b7 Binary files /dev/null and b/test/reference/text-glyph-range.mask.argb32.ref.png 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 000000000..648fef5b7 Binary files /dev/null and b/test/reference/text-glyph-range.mask.rgb24.ref.png 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 000000000..326869923 Binary files /dev/null and b/test/reference/text-glyph-range.traps.argb32.ref.png 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 000000000..326869923 Binary files /dev/null and b/test/reference/text-glyph-range.traps.rgb24.ref.png 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 000000000..95410fa2b Binary files /dev/null and b/test/reference/text-pattern.mask.argb32.ref.png 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 000000000..a6b9e4cfc Binary files /dev/null and b/test/reference/text-pattern.mask.rgb24.ref.png 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 000000000..b455aab63 Binary files /dev/null and b/test/reference/text-rotate.mask.argb32.ref.png 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 000000000..b455aab63 Binary files /dev/null and b/test/reference/text-rotate.mask.rgb24.ref.png 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 000000000..ff3fe847c Binary files /dev/null and b/test/reference/text-rotate.traps.argb32.ref.png 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 000000000..ff3fe847c Binary files /dev/null and b/test/reference/text-rotate.traps.rgb24.ref.png 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 000000000..4603bc528 Binary files /dev/null and b/test/reference/text-transform.mask.argb32.ref.png 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 000000000..4603bc528 Binary files /dev/null and b/test/reference/text-transform.mask.rgb24.ref.png differ diff --git a/test/reference/tiger.mask.argb32.ref.png b/test/reference/tiger.mask.argb32.ref.png new file mode 100644 index 000000000..85ae151fe Binary files /dev/null and b/test/reference/tiger.mask.argb32.ref.png differ diff --git a/test/reference/tiger.mask.rgb24.ref.png b/test/reference/tiger.mask.rgb24.ref.png new file mode 100644 index 000000000..85ae151fe Binary files /dev/null and b/test/reference/tiger.mask.rgb24.ref.png differ diff --git a/test/reference/transforms.mask.argb32.ref.png b/test/reference/transforms.mask.argb32.ref.png new file mode 100644 index 000000000..390bad482 Binary files /dev/null and b/test/reference/transforms.mask.argb32.ref.png differ diff --git a/test/reference/transforms.mask.rgb24.ref.png b/test/reference/transforms.mask.rgb24.ref.png new file mode 100644 index 000000000..390bad482 Binary files /dev/null and b/test/reference/transforms.mask.rgb24.ref.png 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 000000000..0a145d918 Binary files /dev/null and b/test/reference/translate-show-surface.mask.argb32.ref.png 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 000000000..0a145d918 Binary files /dev/null and b/test/reference/translate-show-surface.mask.rgb24.ref.png 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 000000000..98cd0a244 Binary files /dev/null and b/test/reference/trap-clip.mask.argb32.ref.png 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 000000000..c01315331 Binary files /dev/null and b/test/reference/trap-clip.mask.rgb24.ref.png 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 000000000..6b091afd8 Binary files /dev/null and b/test/reference/twin-antialias-gray.mask.argb32.ref.png 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 000000000..6b091afd8 Binary files /dev/null and b/test/reference/twin-antialias-gray.mask.rgb24.ref.png 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 000000000..d6c406fa7 Binary files /dev/null and b/test/reference/twin-antialias-mixed.mask.argb32.ref.png 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 000000000..d6c406fa7 Binary files /dev/null and b/test/reference/twin-antialias-mixed.mask.rgb24.ref.png 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 000000000..cb9628e04 Binary files /dev/null and b/test/reference/twin-antialias-none.mask.argb32.ref.png 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 000000000..cb9628e04 Binary files /dev/null and b/test/reference/twin-antialias-none.mask.rgb24.ref.png 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 000000000..6b091afd8 Binary files /dev/null and b/test/reference/twin-antialias-subpixel.mask.argb32.ref.png 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 000000000..6b091afd8 Binary files /dev/null and b/test/reference/twin-antialias-subpixel.mask.rgb24.ref.png differ diff --git a/test/reference/twin.mask.argb32.ref.png b/test/reference/twin.mask.argb32.ref.png new file mode 100644 index 000000000..6b091afd8 Binary files /dev/null and b/test/reference/twin.mask.argb32.ref.png differ diff --git a/test/reference/twin.mask.rgb24.ref.png b/test/reference/twin.mask.rgb24.ref.png new file mode 100644 index 000000000..6b091afd8 Binary files /dev/null and b/test/reference/twin.mask.rgb24.ref.png 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 000000000..ec7c48996 Binary files /dev/null and b/test/reference/unaligned-box.mask.argb32.ref.png 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 000000000..ec7c48996 Binary files /dev/null and b/test/reference/unaligned-box.mask.rgb24.ref.png 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 000000000..d9f466e52 Binary files /dev/null and b/test/reference/unantialiased-shapes.mask.argb32.ref.png 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 000000000..d9f466e52 Binary files /dev/null and b/test/reference/unantialiased-shapes.mask.rgb24.ref.png 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 000000000..08f43561b Binary files /dev/null and b/test/reference/unbounded-operator.mask.argb32.ref.png 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 000000000..80d20dc57 Binary files /dev/null and b/test/reference/unbounded-operator.mask.rgb24.ref.png 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 000000000..8af847262 Binary files /dev/null and b/test/reference/unclosed-strokes.mask.argb32.ref.png 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 000000000..8af847262 Binary files /dev/null and b/test/reference/unclosed-strokes.mask.rgb24.ref.png 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 000000000..02a9a5eca Binary files /dev/null and b/test/reference/user-font-mask.mask.argb32.ref.png 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 000000000..02a9a5eca Binary files /dev/null and b/test/reference/user-font-mask.mask.rgb24.ref.png 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 000000000..5acbca527 Binary files /dev/null and b/test/reference/user-font-proxy.mask.argb32.ref.png 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 000000000..5acbca527 Binary files /dev/null and b/test/reference/user-font-proxy.mask.rgb24.ref.png 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 000000000..094938c6e Binary files /dev/null and b/test/reference/user-font-proxy.traps.argb32.ref.png 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 000000000..094938c6e Binary files /dev/null and b/test/reference/user-font-proxy.traps.rgb24.ref.png 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 000000000..093906014 Binary files /dev/null and b/test/reference/user-font-rescale.mask.argb32.ref.png 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 000000000..093906014 Binary files /dev/null and b/test/reference/user-font-rescale.mask.rgb24.ref.png 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 000000000..093906014 Binary files /dev/null and b/test/reference/user-font-rescale.traps.argb32.ref.png 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 000000000..093906014 Binary files /dev/null and b/test/reference/user-font-rescale.traps.rgb24.ref.png 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 000000000..b234a8801 Binary files /dev/null and b/test/reference/user-font.mask.argb32.ref.png 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 000000000..b234a8801 Binary files /dev/null and b/test/reference/user-font.mask.rgb24.ref.png 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 000000000..f42bb8d5f Binary files /dev/null and b/test/reference/white-in-noop.mask.argb32.ref.png 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 000000000..f42bb8d5f Binary files /dev/null and b/test/reference/white-in-noop.mask.rgb24.ref.png 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 000000000..fad82ee78 Binary files /dev/null and b/test/reference/world-map-fill.mask.argb32.ref.png 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 000000000..fad82ee78 Binary files /dev/null and b/test/reference/world-map-fill.mask.rgb24.ref.png 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 000000000..ec0d5021b Binary files /dev/null and b/test/reference/world-map-stroke.mask.argb32.ref.png 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 000000000..ec0d5021b Binary files /dev/null and b/test/reference/world-map-stroke.mask.rgb24.ref.png 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 000000000..218a303ac Binary files /dev/null and b/test/reference/world-map.mask.argb32.ref.png 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 000000000..218a303ac Binary files /dev/null and b/test/reference/world-map.mask.rgb24.ref.png 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 000000000..a0b24c8aa Binary files /dev/null and b/test/reference/xcb-huge-image-shm.mask.argb32.ref.png 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 000000000..a0b24c8aa Binary files /dev/null and b/test/reference/xcb-huge-image-shm.mask.rgb24.ref.png 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 000000000..850ce59be Binary files /dev/null and b/test/reference/xcb-snapshot-assert.mask.argb32.ref.png 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 000000000..850ce59be Binary files /dev/null and b/test/reference/xcb-snapshot-assert.mask.rgb24.ref.png 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 000000000..850ce59be Binary files /dev/null and b/test/reference/xcb-stress-cache.mask.argb32.ref.png 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 000000000..850ce59be Binary files /dev/null and b/test/reference/xcb-stress-cache.mask.rgb24.ref.png 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 000000000..018297208 Binary files /dev/null and b/test/reference/xcb-surface-source.mask.argb32.ref.png 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 000000000..0d68a82cc Binary files /dev/null and b/test/reference/xcb-surface-source.mask.rgb24.ref.png 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 000000000..9ccabda9f Binary files /dev/null and b/test/reference/xcomposite-projection.mask.argb32.ref.png 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 000000000..9ccabda9f Binary files /dev/null and b/test/reference/xcomposite-projection.mask.rgb24.ref.png 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 000000000..fd71f5a32 Binary files /dev/null and b/test/reference/xlib-expose-event.mask.argb32.ref.png 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 000000000..fd71f5a32 Binary files /dev/null and b/test/reference/xlib-expose-event.mask.rgb24.ref.png 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 000000000..018297208 Binary files /dev/null and b/test/reference/xlib-surface-source.mask.argb32.ref.png 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 000000000..0d68a82cc Binary files /dev/null and b/test/reference/xlib-surface-source.mask.rgb24.ref.png 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 000000000..595c0aee4 Binary files /dev/null and b/test/reference/zero-alpha.mask.argb32.ref.png 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 000000000..595c0aee4 Binary files /dev/null and b/test/reference/zero-alpha.mask.rgb24.ref.png 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 000000000..ffae8d995 Binary files /dev/null and b/test/reference/zero-mask.mask.argb32.ref.png 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 000000000..263c3d1e8 Binary files /dev/null and b/test/reference/zero-mask.mask.rgb24.ref.png differ