diff --git a/test/a1-image-sample.quartz.xfail.png b/test/a1-image-sample.quartz.xfail.png new file mode 100644 index 000000000..ca24391f7 Binary files /dev/null and b/test/a1-image-sample.quartz.xfail.png differ diff --git a/test/a1-mask-sample.quartz.xfail.png b/test/a1-mask-sample.quartz.xfail.png new file mode 100644 index 000000000..ca24391f7 Binary files /dev/null and b/test/a1-mask-sample.quartz.xfail.png differ diff --git a/test/a1-traps-sample.quartz.xfail.png b/test/a1-traps-sample.quartz.xfail.png new file mode 100644 index 000000000..c89f4fe05 Binary files /dev/null and b/test/a1-traps-sample.quartz.xfail.png differ diff --git a/test/big-line.quartz.ref.png b/test/big-line.quartz.ref.png new file mode 100644 index 000000000..a6f72404a Binary files /dev/null and b/test/big-line.quartz.ref.png differ diff --git a/test/caps-joins-curve.quartz.ref.png b/test/caps-joins-curve.quartz.ref.png new file mode 100644 index 000000000..ec3d30796 Binary files /dev/null and b/test/caps-joins-curve.quartz.ref.png differ diff --git a/test/clear.quartz.argb32.ref.png b/test/clear.quartz.argb32.ref.png new file mode 100644 index 000000000..12e604312 Binary files /dev/null and b/test/clear.quartz.argb32.ref.png differ diff --git a/test/clear.quartz.rgb24.ref.png b/test/clear.quartz.rgb24.ref.png new file mode 100644 index 000000000..6ea449094 Binary files /dev/null and b/test/clear.quartz.rgb24.ref.png differ diff --git a/test/clip-disjoint.quartz.ref.png b/test/clip-disjoint.quartz.ref.png new file mode 100644 index 000000000..10068152e Binary files /dev/null and b/test/clip-disjoint.quartz.ref.png differ diff --git a/test/clip-fill-rule.quartz.rgb24.ref.png b/test/clip-fill-rule.quartz.rgb24.ref.png new file mode 100644 index 000000000..c95f290d8 Binary files /dev/null and b/test/clip-fill-rule.quartz.rgb24.ref.png differ diff --git a/test/clip-fill-unbounded.quartz.argb32.ref.png b/test/clip-fill-unbounded.quartz.argb32.ref.png new file mode 100644 index 000000000..2915e6c8a Binary files /dev/null and b/test/clip-fill-unbounded.quartz.argb32.ref.png differ diff --git a/test/clip-fill-unbounded.quartz.rgb24.ref.png b/test/clip-fill-unbounded.quartz.rgb24.ref.png new file mode 100644 index 000000000..c410400b0 Binary files /dev/null and b/test/clip-fill-unbounded.quartz.rgb24.ref.png differ diff --git a/test/clip-fill.quartz.ref.png b/test/clip-fill.quartz.ref.png new file mode 100644 index 000000000..4f235b4dc Binary files /dev/null and b/test/clip-fill.quartz.ref.png differ diff --git a/test/clip-group-shapes-circles.quartz.ref.png b/test/clip-group-shapes-circles.quartz.ref.png new file mode 100644 index 000000000..c2ac9ea49 Binary files /dev/null and b/test/clip-group-shapes-circles.quartz.ref.png differ diff --git a/test/clip-nesting.quartz.ref.png b/test/clip-nesting.quartz.argb32.ref.png similarity index 76% rename from test/clip-nesting.quartz.ref.png rename to test/clip-nesting.quartz.argb32.ref.png index 5a3db7b3a..7bc187c7e 100644 Binary files a/test/clip-nesting.quartz.ref.png and b/test/clip-nesting.quartz.argb32.ref.png differ diff --git a/test/clip-nesting.quartz.rgb24.ref.png b/test/clip-nesting.quartz.rgb24.ref.png index b55d116b4..926f5f590 100644 Binary files a/test/clip-nesting.quartz.rgb24.ref.png and b/test/clip-nesting.quartz.rgb24.ref.png differ diff --git a/test/clip-operator.quartz.argb32.ref.png b/test/clip-operator.quartz.argb32.ref.png new file mode 100644 index 000000000..bf71993e3 Binary files /dev/null and b/test/clip-operator.quartz.argb32.ref.png differ diff --git a/test/clip-operator.quartz.ref.png b/test/clip-operator.quartz.ref.png deleted file mode 100644 index 1726944d0..000000000 Binary files a/test/clip-operator.quartz.ref.png and /dev/null differ diff --git a/test/clip-operator.quartz.rgb24.ref.png b/test/clip-operator.quartz.rgb24.ref.png index a18c6f214..51a30b03c 100644 Binary files a/test/clip-operator.quartz.rgb24.ref.png and b/test/clip-operator.quartz.rgb24.ref.png differ diff --git a/test/clip-push-group.quartz.ref.png b/test/clip-push-group.quartz.ref.png index 93c526809..22e15255d 100644 Binary files a/test/clip-push-group.quartz.ref.png and b/test/clip-push-group.quartz.ref.png differ diff --git a/test/clip-shape.quartz.ref.png b/test/clip-shape.quartz.ref.png new file mode 100644 index 000000000..292340676 Binary files /dev/null and b/test/clip-shape.quartz.ref.png differ diff --git a/test/clip-stroke-unbounded.quartz.argb32.ref.png b/test/clip-stroke-unbounded.quartz.argb32.ref.png new file mode 100644 index 000000000..0bf0df754 Binary files /dev/null and b/test/clip-stroke-unbounded.quartz.argb32.ref.png differ diff --git a/test/clip-stroke-unbounded.quartz.rgb24.ref.png b/test/clip-stroke-unbounded.quartz.rgb24.ref.png new file mode 100644 index 000000000..1f28649ec Binary files /dev/null and b/test/clip-stroke-unbounded.quartz.rgb24.ref.png differ diff --git a/test/clip-stroke.quartz.ref.png b/test/clip-stroke.quartz.ref.png new file mode 100644 index 000000000..994e31707 Binary files /dev/null and b/test/clip-stroke.quartz.ref.png differ diff --git a/test/clip-text.quartz.ref.png b/test/clip-text.quartz.ref.png new file mode 100644 index 000000000..d251bfa08 Binary files /dev/null and b/test/clip-text.quartz.ref.png differ diff --git a/test/clip-twice.quartz.argb32.ref.png b/test/clip-twice.quartz.argb32.ref.png new file mode 100644 index 000000000..04b588d80 Binary files /dev/null and b/test/clip-twice.quartz.argb32.ref.png differ diff --git a/test/clip-twice.quartz.ref.png b/test/clip-twice.quartz.ref.png deleted file mode 100644 index f8231b31a..000000000 Binary files a/test/clip-twice.quartz.ref.png and /dev/null differ diff --git a/test/clip-twice.quartz.rgb24.ref.png b/test/clip-twice.quartz.rgb24.ref.png index 65cd80fa7..eb4f62c2f 100644 Binary files a/test/clip-twice.quartz.rgb24.ref.png and b/test/clip-twice.quartz.rgb24.ref.png differ diff --git a/test/clipped-group.quartz.ref.png b/test/clipped-group.quartz.ref.png new file mode 100644 index 000000000..10e22f7a1 Binary files /dev/null and b/test/clipped-group.quartz.ref.png differ diff --git a/test/culled-glyphs.quartz.ref.png b/test/culled-glyphs.quartz.ref.png new file mode 100644 index 000000000..1aa234219 Binary files /dev/null and b/test/culled-glyphs.quartz.ref.png differ diff --git a/test/dash-caps-joins.quartz.ref.png b/test/dash-caps-joins.quartz.ref.png deleted file mode 100644 index 5e4aa76cf..000000000 Binary files a/test/dash-caps-joins.quartz.ref.png and /dev/null differ diff --git a/test/dash-caps-joins.quartz.xfail.png b/test/dash-caps-joins.quartz.xfail.png new file mode 100644 index 000000000..0dc54336b Binary files /dev/null and b/test/dash-caps-joins.quartz.xfail.png differ diff --git a/test/dash-curve.quartz.ref.png b/test/dash-curve.quartz.ref.png deleted file mode 100644 index 18a506e60..000000000 Binary files a/test/dash-curve.quartz.ref.png and /dev/null differ diff --git a/test/dash-curve.quartz.xfail.png b/test/dash-curve.quartz.xfail.png new file mode 100644 index 000000000..b68d7a735 Binary files /dev/null and b/test/dash-curve.quartz.xfail.png differ diff --git a/test/dash-scale.quartz.ref.png b/test/dash-scale.quartz.ref.png index 8fc897ba6..62ccdf52d 100644 Binary files a/test/dash-scale.quartz.ref.png and b/test/dash-scale.quartz.ref.png differ diff --git a/test/dash-state.quartz.ref.png b/test/dash-state.quartz.ref.png deleted file mode 100644 index f5f712a74..000000000 Binary files a/test/dash-state.quartz.ref.png and /dev/null differ diff --git a/test/dash-state.quartz.xfail.png b/test/dash-state.quartz.xfail.png new file mode 100644 index 000000000..993498ceb Binary files /dev/null and b/test/dash-state.quartz.xfail.png differ diff --git a/test/degenerate-arc.quartz.ref.png b/test/degenerate-arc.quartz.ref.png new file mode 100644 index 000000000..a43f6c9fd Binary files /dev/null and b/test/degenerate-arc.quartz.ref.png differ diff --git a/test/degenerate-curve-to.quartz.ref.png b/test/degenerate-curve-to.quartz.ref.png new file mode 100644 index 000000000..04483436e Binary files /dev/null and b/test/degenerate-curve-to.quartz.ref.png differ diff --git a/test/degenerate-dash.quartz.xfail.png b/test/degenerate-dash.quartz.xfail.png new file mode 100644 index 000000000..594437cca Binary files /dev/null and b/test/degenerate-dash.quartz.xfail.png differ diff --git a/test/degenerate-path.quartz.argb32.xfail.png b/test/degenerate-path.quartz.argb32.xfail.png new file mode 100644 index 000000000..d655e2758 Binary files /dev/null and b/test/degenerate-path.quartz.argb32.xfail.png differ diff --git a/test/degenerate-path.quartz.ref.png b/test/degenerate-path.quartz.ref.png deleted file mode 100644 index d1d8f2f20..000000000 Binary files a/test/degenerate-path.quartz.ref.png and /dev/null differ diff --git a/test/degenerate-path.quartz.rgb24.ref.png b/test/degenerate-path.quartz.rgb24.ref.png deleted file mode 100644 index d6ff7ebca..000000000 Binary files a/test/degenerate-path.quartz.rgb24.ref.png and /dev/null differ diff --git a/test/degenerate-path.quartz.rgb24.xfail.png b/test/degenerate-path.quartz.rgb24.xfail.png new file mode 100644 index 000000000..525695111 Binary files /dev/null and b/test/degenerate-path.quartz.rgb24.xfail.png differ diff --git a/test/degenerate-pen.quartz.ref.png b/test/degenerate-pen.quartz.ref.png deleted file mode 100644 index cc25b88b0..000000000 Binary files a/test/degenerate-pen.quartz.ref.png and /dev/null differ diff --git a/test/degenerate-rel-curve-to.quartz.ref.png b/test/degenerate-rel-curve-to.quartz.ref.png new file mode 100644 index 000000000..2d21e0480 Binary files /dev/null and b/test/degenerate-rel-curve-to.quartz.ref.png differ diff --git a/test/extend-pad-border.quartz.ref.png b/test/extend-pad-border.quartz.ref.png new file mode 100644 index 000000000..4ad67a1de Binary files /dev/null and b/test/extend-pad-border.quartz.ref.png differ diff --git a/test/extend-pad-similar.quartz.xfail.png b/test/extend-pad-similar.quartz.xfail.png new file mode 100644 index 000000000..a2cf3530c Binary files /dev/null and b/test/extend-pad-similar.quartz.xfail.png differ diff --git a/test/extend-pad.quartz.xfail.png b/test/extend-pad.quartz.xfail.png new file mode 100644 index 000000000..a2cf3530c Binary files /dev/null and b/test/extend-pad.quartz.xfail.png differ diff --git a/test/fill-alpha-pattern.quartz.ref.png b/test/fill-alpha-pattern.quartz.ref.png new file mode 100644 index 000000000..b612e7a6b Binary files /dev/null and b/test/fill-alpha-pattern.quartz.ref.png differ diff --git a/test/fill-alpha.quartz.ref.png b/test/fill-alpha.quartz.ref.png new file mode 100644 index 000000000..81cee81e2 Binary files /dev/null and b/test/fill-alpha.quartz.ref.png differ diff --git a/test/fill-and-stroke-alpha-add.quartz.ref.png b/test/fill-and-stroke-alpha-add.quartz.ref.png index d648eec33..1d8975253 100644 Binary files a/test/fill-and-stroke-alpha-add.quartz.ref.png and b/test/fill-and-stroke-alpha-add.quartz.ref.png differ diff --git a/test/fill-and-stroke-alpha.quartz.ref.png b/test/fill-and-stroke-alpha.quartz.ref.png deleted file mode 100644 index 012147905..000000000 Binary files a/test/fill-and-stroke-alpha.quartz.ref.png and /dev/null differ diff --git a/test/fill-and-stroke.quartz.argb32.ref.png b/test/fill-and-stroke.quartz.argb32.ref.png new file mode 100644 index 000000000..944071919 Binary files /dev/null and b/test/fill-and-stroke.quartz.argb32.ref.png differ diff --git a/test/fill-and-stroke.quartz.ref.png b/test/fill-and-stroke.quartz.ref.png deleted file mode 100644 index 4c48d2426..000000000 Binary files a/test/fill-and-stroke.quartz.ref.png and /dev/null differ diff --git a/test/fill-and-stroke.quartz.rgb24.ref.png b/test/fill-and-stroke.quartz.rgb24.ref.png index 5972d5604..5ba219756 100644 Binary files a/test/fill-and-stroke.quartz.rgb24.ref.png and b/test/fill-and-stroke.quartz.rgb24.ref.png differ diff --git a/test/fill-degenerate-sort-order.quartz.argb32.ref.png b/test/fill-degenerate-sort-order.quartz.argb32.ref.png new file mode 100644 index 000000000..a8b9f15bc Binary files /dev/null and b/test/fill-degenerate-sort-order.quartz.argb32.ref.png differ diff --git a/test/fill-degenerate-sort-order.quartz.ref.png b/test/fill-degenerate-sort-order.quartz.ref.png deleted file mode 100644 index 0ea4a67cc..000000000 Binary files a/test/fill-degenerate-sort-order.quartz.ref.png and /dev/null differ diff --git a/test/fill-degenerate-sort-order.quartz.rgb24.ref.png b/test/fill-degenerate-sort-order.quartz.rgb24.ref.png index 59e1cb6c8..703467cf2 100644 Binary files a/test/fill-degenerate-sort-order.quartz.rgb24.ref.png and b/test/fill-degenerate-sort-order.quartz.rgb24.ref.png differ diff --git a/test/fill-image.quartz.ref.png b/test/fill-image.quartz.ref.png new file mode 100644 index 000000000..bb205a7d1 Binary files /dev/null and b/test/fill-image.quartz.ref.png differ diff --git a/test/fill-rule.quartz.ref.png b/test/fill-rule.quartz.argb32.ref.png similarity index 93% rename from test/fill-rule.quartz.ref.png rename to test/fill-rule.quartz.argb32.ref.png index f7e616c9f..2ac534091 100644 Binary files a/test/fill-rule.quartz.ref.png and b/test/fill-rule.quartz.argb32.ref.png differ diff --git a/test/fill-rule.quartz.rgb24.ref.png b/test/fill-rule.quartz.rgb24.ref.png index 8b180c534..bd671d62d 100644 Binary files a/test/fill-rule.quartz.rgb24.ref.png and b/test/fill-rule.quartz.rgb24.ref.png differ diff --git a/test/filter-bilinear-extents.quartz.xfail.png b/test/filter-bilinear-extents.quartz.xfail.png new file mode 100644 index 000000000..312ee802d Binary files /dev/null and b/test/filter-bilinear-extents.quartz.xfail.png differ diff --git a/test/filter-nearest-offset.quartz.xfail.png b/test/filter-nearest-offset.quartz.xfail.png new file mode 100644 index 000000000..ee69e36bc Binary files /dev/null and b/test/filter-nearest-offset.quartz.xfail.png differ diff --git a/test/filter-nearest-transformed.quartz.xfail.png b/test/filter-nearest-transformed.quartz.xfail.png new file mode 100644 index 000000000..c616d6438 Binary files /dev/null and b/test/filter-nearest-transformed.quartz.xfail.png differ diff --git a/test/finer-grained-fallbacks.quartz.argb32.ref.png b/test/finer-grained-fallbacks.quartz.argb32.ref.png new file mode 100644 index 000000000..dc0576100 Binary files /dev/null and b/test/finer-grained-fallbacks.quartz.argb32.ref.png differ diff --git a/test/finer-grained-fallbacks.quartz.rgb24.ref.png b/test/finer-grained-fallbacks.quartz.rgb24.ref.png new file mode 100644 index 000000000..1fdedd01f Binary files /dev/null and b/test/finer-grained-fallbacks.quartz.rgb24.ref.png differ diff --git a/test/font-matrix-translation.quartz.ref.png b/test/font-matrix-translation.quartz.ref.png index 90fd9624e..187e2c1aa 100644 Binary files a/test/font-matrix-translation.quartz.ref.png and b/test/font-matrix-translation.quartz.ref.png differ diff --git a/test/ft-show-glyphs-table.quartz.xfail.png b/test/ft-show-glyphs-table.quartz.xfail.png new file mode 100644 index 000000000..0e131b26f Binary files /dev/null and b/test/ft-show-glyphs-table.quartz.xfail.png differ diff --git a/test/ft-text-vertical-layout-type1.quartz.xfail.png b/test/ft-text-vertical-layout-type1.quartz.xfail.png new file mode 100644 index 000000000..a603b3597 Binary files /dev/null and b/test/ft-text-vertical-layout-type1.quartz.xfail.png differ diff --git a/test/ft-text-vertical-layout-type3.quartz.ref.png b/test/ft-text-vertical-layout-type3.quartz.ref.png new file mode 100644 index 000000000..4a063f3b5 Binary files /dev/null and b/test/ft-text-vertical-layout-type3.quartz.ref.png differ diff --git a/test/glyph-cache-pressure.quartz.ref.png b/test/glyph-cache-pressure.quartz.ref.png index 88d3db685..6291e84b4 100644 Binary files a/test/glyph-cache-pressure.quartz.ref.png and b/test/glyph-cache-pressure.quartz.ref.png differ diff --git a/test/gradient-constant-alpha.quartz.argb32.ref.png b/test/gradient-constant-alpha.quartz.argb32.ref.png new file mode 100644 index 000000000..a426f5ad0 Binary files /dev/null and b/test/gradient-constant-alpha.quartz.argb32.ref.png differ diff --git a/test/group-unaligned.quartz.ref.png b/test/group-unaligned.quartz.ref.png new file mode 100644 index 000000000..1711025e9 Binary files /dev/null and b/test/group-unaligned.quartz.ref.png differ diff --git a/test/huge-radial.quartz.ref.png b/test/huge-radial.quartz.ref.png new file mode 100644 index 000000000..d823f8651 Binary files /dev/null and b/test/huge-radial.quartz.ref.png differ diff --git a/test/inverse-text.quartz.ref.png b/test/inverse-text.quartz.ref.png new file mode 100644 index 000000000..df0ea57ea Binary files /dev/null and b/test/inverse-text.quartz.ref.png differ diff --git a/test/joins.quartz.ref.png b/test/joins.quartz.ref.png new file mode 100644 index 000000000..59b8fdb0b Binary files /dev/null and b/test/joins.quartz.ref.png differ diff --git a/test/leaky-dash.quartz.ref.png b/test/leaky-dash.quartz.ref.png index 834335947..96928195a 100644 Binary files a/test/leaky-dash.quartz.ref.png and b/test/leaky-dash.quartz.ref.png differ diff --git a/test/leaky-dashed-rectangle.quartz.ref.png b/test/leaky-dashed-rectangle.quartz.ref.png new file mode 100644 index 000000000..fad8588fe Binary files /dev/null and b/test/leaky-dashed-rectangle.quartz.ref.png differ diff --git a/test/leaky-dashed-stroke.quartz.ref.png b/test/leaky-dashed-stroke.quartz.ref.png new file mode 100644 index 000000000..adbfd612a Binary files /dev/null and b/test/leaky-dashed-stroke.quartz.ref.png differ diff --git a/test/line-width-scale.quartz.ref.png b/test/line-width-scale.quartz.ref.png index 7a3153930..afdc9da76 100644 Binary files a/test/line-width-scale.quartz.ref.png and b/test/line-width-scale.quartz.ref.png differ diff --git a/test/linear-gradient-reflect.quartz.ref.png b/test/linear-gradient-reflect.quartz.ref.png index a0067ac32..89bac91da 100644 Binary files a/test/linear-gradient-reflect.quartz.ref.png and b/test/linear-gradient-reflect.quartz.ref.png differ diff --git a/test/linear-gradient-subset.quartz.ref.png b/test/linear-gradient-subset.quartz.ref.png new file mode 100644 index 000000000..818341147 Binary files /dev/null and b/test/linear-gradient-subset.quartz.ref.png differ diff --git a/test/linear-gradient.quartz.ref.png b/test/linear-gradient.quartz.ref.png index 43fb5085f..47332d3a9 100644 Binary files a/test/linear-gradient.quartz.ref.png and b/test/linear-gradient.quartz.ref.png differ diff --git a/test/long-dashed-lines.quartz.ref.png b/test/long-dashed-lines.quartz.ref.png index 439263adc..3f68d216d 100644 Binary files a/test/long-dashed-lines.quartz.ref.png and b/test/long-dashed-lines.quartz.ref.png differ diff --git a/test/mask-alpha.quartz.argb32.ref.png b/test/mask-alpha.quartz.argb32.ref.png index a7fdc5fd7..1d530ee17 100644 Binary files a/test/mask-alpha.quartz.argb32.ref.png and b/test/mask-alpha.quartz.argb32.ref.png differ diff --git a/test/mask-transformed-image.quartz.ref.png b/test/mask-transformed-image.quartz.ref.png new file mode 100644 index 000000000..58ac57558 Binary files /dev/null and b/test/mask-transformed-image.quartz.ref.png differ diff --git a/test/mask-transformed-similar.quartz.ref.png b/test/mask-transformed-similar.quartz.ref.png new file mode 100644 index 000000000..58ac57558 Binary files /dev/null and b/test/mask-transformed-similar.quartz.ref.png differ diff --git a/test/mask.quartz.argb32.ref.png b/test/mask.quartz.argb32.ref.png new file mode 100644 index 000000000..53d034a44 Binary files /dev/null and b/test/mask.quartz.argb32.ref.png differ diff --git a/test/mask.quartz.ref.png b/test/mask.quartz.ref.png deleted file mode 100644 index a90218acb..000000000 Binary files a/test/mask.quartz.ref.png and /dev/null differ diff --git a/test/mask.quartz.rgb24.ref.png b/test/mask.quartz.rgb24.ref.png index b9c57c7d1..f475ba933 100644 Binary files a/test/mask.quartz.rgb24.ref.png and b/test/mask.quartz.rgb24.ref.png differ diff --git a/test/new-sub-path.quartz.ref.png b/test/new-sub-path.quartz.ref.png index 42780176a..20d49ba33 100644 Binary files a/test/new-sub-path.quartz.ref.png and b/test/new-sub-path.quartz.ref.png differ diff --git a/test/new-sub-path.quartz.rgb24.ref.png b/test/new-sub-path.quartz.rgb24.ref.png deleted file mode 100644 index efc907e83..000000000 Binary files a/test/new-sub-path.quartz.rgb24.ref.png and /dev/null differ diff --git a/test/operator-clear.quartz.argb32.ref.png b/test/operator-clear.quartz.argb32.ref.png new file mode 100644 index 000000000..caf265e75 Binary files /dev/null and b/test/operator-clear.quartz.argb32.ref.png differ diff --git a/test/operator-clear.quartz.ref.png b/test/operator-clear.quartz.ref.png deleted file mode 100644 index 095f1824a..000000000 Binary files a/test/operator-clear.quartz.ref.png and /dev/null differ diff --git a/test/operator-clear.quartz.rgb24.ref.png b/test/operator-clear.quartz.rgb24.ref.png index f978967ec..a07a6e0af 100644 Binary files a/test/operator-clear.quartz.rgb24.ref.png and b/test/operator-clear.quartz.rgb24.ref.png differ diff --git a/test/operator-source.quartz.argb32.ref.png b/test/operator-source.quartz.argb32.ref.png new file mode 100644 index 000000000..4e159915d Binary files /dev/null and b/test/operator-source.quartz.argb32.ref.png differ diff --git a/test/operator-source.quartz.ref.png b/test/operator-source.quartz.ref.png deleted file mode 100644 index 31fc441a0..000000000 Binary files a/test/operator-source.quartz.ref.png and /dev/null differ diff --git a/test/operator-source.quartz.rgb24.ref.png b/test/operator-source.quartz.rgb24.ref.png index 358e95140..c40c24286 100644 Binary files a/test/operator-source.quartz.rgb24.ref.png and b/test/operator-source.quartz.rgb24.ref.png differ diff --git a/test/over-above-source.quartz.argb32.ref.png b/test/over-above-source.quartz.argb32.ref.png new file mode 100644 index 000000000..eeb3622b6 Binary files /dev/null and b/test/over-above-source.quartz.argb32.ref.png differ diff --git a/test/over-above-source.quartz.ref.png b/test/over-above-source.quartz.ref.png deleted file mode 100644 index 79d3c93af..000000000 Binary files a/test/over-above-source.quartz.ref.png and /dev/null differ diff --git a/test/over-above-source.quartz.rgb24.ref.png b/test/over-above-source.quartz.rgb24.ref.png index 38e823e91..2ab347653 100644 Binary files a/test/over-above-source.quartz.rgb24.ref.png and b/test/over-above-source.quartz.rgb24.ref.png differ diff --git a/test/over-around-source.quartz.ref.png b/test/over-around-source.quartz.argb32.ref.png similarity index 74% rename from test/over-around-source.quartz.ref.png rename to test/over-around-source.quartz.argb32.ref.png index 417c8a7df..26ab8e5cd 100644 Binary files a/test/over-around-source.quartz.ref.png and b/test/over-around-source.quartz.argb32.ref.png differ diff --git a/test/over-around-source.quartz.rgb24.ref.png b/test/over-around-source.quartz.rgb24.ref.png deleted file mode 100644 index 3e4d76400..000000000 Binary files a/test/over-around-source.quartz.rgb24.ref.png and /dev/null differ diff --git a/test/over-between-source.quartz.ref.png b/test/over-between-source.quartz.argb32.ref.png similarity index 76% rename from test/over-between-source.quartz.ref.png rename to test/over-between-source.quartz.argb32.ref.png index de954d5f8..adb17aee4 100644 Binary files a/test/over-between-source.quartz.ref.png and b/test/over-between-source.quartz.argb32.ref.png differ diff --git a/test/over-between-source.quartz.rgb24.ref.png b/test/over-between-source.quartz.rgb24.ref.png deleted file mode 100644 index 97dae07f4..000000000 Binary files a/test/over-between-source.quartz.rgb24.ref.png and /dev/null differ diff --git a/test/path-append.quartz.ref.png b/test/path-append.quartz.ref.png new file mode 100644 index 000000000..665d3ccb9 Binary files /dev/null and b/test/path-append.quartz.ref.png differ diff --git a/test/pthread-same-source.quartz.xfail.png b/test/pthread-same-source.quartz.xfail.png new file mode 100644 index 000000000..cc0998fd1 Binary files /dev/null and b/test/pthread-same-source.quartz.xfail.png differ diff --git a/test/pthread-show-text.quartz.ref.png b/test/pthread-show-text.quartz.ref.png new file mode 100644 index 000000000..9b6d7748d Binary files /dev/null and b/test/pthread-show-text.quartz.ref.png differ diff --git a/test/push-group-color.quartz.ref.png b/test/push-group-color.quartz.ref.png new file mode 100644 index 000000000..bca7c5693 Binary files /dev/null and b/test/push-group-color.quartz.ref.png differ diff --git a/test/push-group.quartz.argb32.ref.png b/test/push-group.quartz.argb32.ref.png new file mode 100644 index 000000000..b3867b98a Binary files /dev/null and b/test/push-group.quartz.argb32.ref.png differ diff --git a/test/push-group.quartz.rgb24.ref.png b/test/push-group.quartz.rgb24.ref.png new file mode 100644 index 000000000..1fd6ef321 Binary files /dev/null and b/test/push-group.quartz.rgb24.ref.png differ diff --git a/test/radial-gradient.quartz.ref.png b/test/radial-gradient.quartz.ref.png deleted file mode 100644 index be420f86a..000000000 Binary files a/test/radial-gradient.quartz.ref.png and /dev/null differ diff --git a/test/random-intersections-curves-eo.quartz.ref.png b/test/random-intersections-curves-eo.quartz.ref.png new file mode 100644 index 000000000..2a44a5a5d Binary files /dev/null and b/test/random-intersections-curves-eo.quartz.ref.png differ diff --git a/test/random-intersections-curves-nz.quartz.ref.png b/test/random-intersections-curves-nz.quartz.ref.png new file mode 100644 index 000000000..cf799bba9 Binary files /dev/null and b/test/random-intersections-curves-nz.quartz.ref.png differ diff --git a/test/random-intersections-eo.quartz.ref.png b/test/random-intersections-eo.quartz.ref.png index ef76cba94..859abb050 100644 Binary files a/test/random-intersections-eo.quartz.ref.png and b/test/random-intersections-eo.quartz.ref.png differ diff --git a/test/random-intersections-nonzero.quartz.ref.png b/test/random-intersections-nonzero.quartz.ref.png new file mode 100644 index 000000000..f4310ea27 Binary files /dev/null and b/test/random-intersections-nonzero.quartz.ref.png differ diff --git a/test/recording-surface-pattern.quartz.argb32.ref.png b/test/recording-surface-pattern.quartz.argb32.ref.png new file mode 100644 index 000000000..09d955967 Binary files /dev/null and b/test/recording-surface-pattern.quartz.argb32.ref.png differ diff --git a/test/recording-surface-pattern.quartz.ref.png b/test/recording-surface-pattern.quartz.ref.png deleted file mode 100644 index 755f28147..000000000 Binary files a/test/recording-surface-pattern.quartz.ref.png and /dev/null differ diff --git a/test/recording-surface-pattern.quartz.rgb24.ref.png b/test/recording-surface-pattern.quartz.rgb24.ref.png index b71891e0c..96aff408b 100644 Binary files a/test/recording-surface-pattern.quartz.rgb24.ref.png and b/test/recording-surface-pattern.quartz.rgb24.ref.png differ diff --git a/test/rectilinear-dash.quartz.xfail.png b/test/rectilinear-dash.quartz.xfail.png new file mode 100644 index 000000000..510184551 Binary files /dev/null and b/test/rectilinear-dash.quartz.xfail.png differ diff --git a/test/rectilinear-stroke.quartz.xfail.png b/test/rectilinear-stroke.quartz.xfail.png new file mode 100644 index 000000000..e2a508e41 Binary files /dev/null and b/test/rectilinear-stroke.quartz.xfail.png differ diff --git a/test/reflected-stroke.quartz.ref.png b/test/reflected-stroke.quartz.ref.png deleted file mode 100644 index 7568a9957..000000000 Binary files a/test/reflected-stroke.quartz.ref.png and /dev/null differ diff --git a/test/rel-path.quartz.ref.png b/test/rel-path.quartz.ref.png deleted file mode 100644 index 5878ce4d3..000000000 Binary files a/test/rel-path.quartz.ref.png and /dev/null differ diff --git a/test/rel-path.quartz.rgb24.ref.png b/test/rel-path.quartz.rgb24.ref.png deleted file mode 100644 index 0e33b6688..000000000 Binary files a/test/rel-path.quartz.rgb24.ref.png and /dev/null differ diff --git a/test/rotate-image-surface-paint.quartz.ref.png b/test/rotate-image-surface-paint.quartz.ref.png index f7ec95c8a..1b317f9e2 100644 Binary files a/test/rotate-image-surface-paint.quartz.ref.png and b/test/rotate-image-surface-paint.quartz.ref.png differ diff --git a/test/rotated-clip.quartz.ref.png b/test/rotated-clip.quartz.ref.png new file mode 100644 index 000000000..6282846e2 Binary files /dev/null and b/test/rotated-clip.quartz.ref.png differ diff --git a/test/rounded-rectangle-fill.quartz.ref.png b/test/rounded-rectangle-fill.quartz.ref.png new file mode 100644 index 000000000..ee685ca06 Binary files /dev/null and b/test/rounded-rectangle-fill.quartz.ref.png differ diff --git a/test/scale-offset-image.quartz.ref.png b/test/scale-offset-image.quartz.ref.png new file mode 100644 index 000000000..3d8e71a48 Binary files /dev/null and b/test/scale-offset-image.quartz.ref.png differ diff --git a/test/scale-offset-similar.quartz.ref.png b/test/scale-offset-similar.quartz.ref.png new file mode 100644 index 000000000..3d8e71a48 Binary files /dev/null and b/test/scale-offset-similar.quartz.ref.png differ diff --git a/test/select-font-face.quartz.ref.png b/test/select-font-face.quartz.ref.png index 8f285b8e8..69fd2e239 100644 Binary files a/test/select-font-face.quartz.ref.png and b/test/select-font-face.quartz.ref.png differ diff --git a/test/self-intersecting.quartz.xfail.png b/test/self-intersecting.quartz.xfail.png new file mode 100644 index 000000000..4d087137f Binary files /dev/null and b/test/self-intersecting.quartz.xfail.png differ diff --git a/test/show-text-current-point.quartz.ref.png b/test/show-text-current-point.quartz.ref.png index 538b0d1a1..a5313814a 100644 Binary files a/test/show-text-current-point.quartz.ref.png and b/test/show-text-current-point.quartz.ref.png differ diff --git a/test/smask-fill.quartz.ref.png b/test/smask-fill.quartz.ref.png new file mode 100644 index 000000000..ae0547652 Binary files /dev/null and b/test/smask-fill.quartz.ref.png differ diff --git a/test/smask-mask.quartz.ref.png b/test/smask-mask.quartz.ref.png new file mode 100644 index 000000000..97359b486 Binary files /dev/null and b/test/smask-mask.quartz.ref.png differ diff --git a/test/smask-paint.quartz.ref.png b/test/smask-paint.quartz.ref.png new file mode 100644 index 000000000..1d565589a Binary files /dev/null and b/test/smask-paint.quartz.ref.png differ diff --git a/test/smask-stroke.quartz.ref.png b/test/smask-stroke.quartz.ref.png new file mode 100644 index 000000000..f6f0d1bcc Binary files /dev/null and b/test/smask-stroke.quartz.ref.png differ diff --git a/test/smask-text.quartz.ref.png b/test/smask-text.quartz.ref.png new file mode 100644 index 000000000..096dc9853 Binary files /dev/null and b/test/smask-text.quartz.ref.png differ diff --git a/test/smask.quartz.ref.png b/test/smask.quartz.ref.png new file mode 100644 index 000000000..b8dd1af56 Binary files /dev/null and b/test/smask.quartz.ref.png differ diff --git a/test/source-clip-scale.quartz.ref.png b/test/source-clip-scale.quartz.ref.png index f21ae4bb3..366500905 100644 Binary files a/test/source-clip-scale.quartz.ref.png and b/test/source-clip-scale.quartz.ref.png differ diff --git a/test/spline-decomposition.quartz.xfail.png b/test/spline-decomposition.quartz.xfail.png new file mode 100644 index 000000000..18d67fbb5 Binary files /dev/null and b/test/spline-decomposition.quartz.xfail.png differ diff --git a/test/stroke-ctm-caps.quartz.ref.png b/test/stroke-ctm-caps.quartz.ref.png index 45ea14598..c9da2c9d3 100644 Binary files a/test/stroke-ctm-caps.quartz.ref.png and b/test/stroke-ctm-caps.quartz.ref.png differ diff --git a/test/stroke-image.quartz.ref.png b/test/stroke-image.quartz.ref.png index db1f5a708..f9a60f2a6 100644 Binary files a/test/stroke-image.quartz.ref.png and b/test/stroke-image.quartz.ref.png differ diff --git a/test/subsurface-pad.quartz.xfail.png b/test/subsurface-pad.quartz.xfail.png new file mode 100644 index 000000000..c37e22e36 Binary files /dev/null and b/test/subsurface-pad.quartz.xfail.png differ diff --git a/test/surface-pattern-big-scale-down.quartz.ref.png b/test/surface-pattern-big-scale-down.quartz.ref.png new file mode 100644 index 000000000..32deb2d9b Binary files /dev/null and b/test/surface-pattern-big-scale-down.quartz.ref.png differ diff --git a/test/surface-pattern-operator.quartz.argb32.xfail.png b/test/surface-pattern-operator.quartz.argb32.xfail.png new file mode 100644 index 000000000..eb6e890bd Binary files /dev/null and b/test/surface-pattern-operator.quartz.argb32.xfail.png differ diff --git a/test/surface-pattern-operator.quartz.rgb24.xfail.png b/test/surface-pattern-operator.quartz.rgb24.xfail.png new file mode 100644 index 000000000..6275a48b7 Binary files /dev/null and b/test/surface-pattern-operator.quartz.rgb24.xfail.png differ diff --git a/test/surface-pattern-scale-down-extend-none.quartz.ref.png b/test/surface-pattern-scale-down-extend-none.quartz.ref.png new file mode 100644 index 000000000..e126cbb31 Binary files /dev/null and b/test/surface-pattern-scale-down-extend-none.quartz.ref.png differ diff --git a/test/surface-pattern-scale-down-extend-pad.quartz.xfail.png b/test/surface-pattern-scale-down-extend-pad.quartz.xfail.png new file mode 100644 index 000000000..6b8f7540e Binary files /dev/null and b/test/surface-pattern-scale-down-extend-pad.quartz.xfail.png differ diff --git a/test/surface-pattern-scale-down-extend-reflect.quartz.ref.png b/test/surface-pattern-scale-down-extend-reflect.quartz.ref.png new file mode 100644 index 000000000..ef5e62e11 Binary files /dev/null and b/test/surface-pattern-scale-down-extend-reflect.quartz.ref.png differ diff --git a/test/surface-pattern-scale-down-extend-repeat.quartz.ref.png b/test/surface-pattern-scale-down-extend-repeat.quartz.ref.png new file mode 100644 index 000000000..6b8f7540e Binary files /dev/null and b/test/surface-pattern-scale-down-extend-repeat.quartz.ref.png differ diff --git a/test/surface-pattern-scale-down.quartz.ref.png b/test/surface-pattern-scale-down.quartz.ref.png index 93a34dac0..5b3ace4ae 100644 Binary files a/test/surface-pattern-scale-down.quartz.ref.png and b/test/surface-pattern-scale-down.quartz.ref.png differ diff --git a/test/surface-pattern-scale-up.quartz.xfail.png b/test/surface-pattern-scale-up.quartz.xfail.png new file mode 100644 index 000000000..ed52ee80a Binary files /dev/null and b/test/surface-pattern-scale-up.quartz.xfail.png differ diff --git a/test/surface-pattern.quartz.xfail.png b/test/surface-pattern.quartz.xfail.png new file mode 100644 index 000000000..4ac47de5e Binary files /dev/null and b/test/surface-pattern.quartz.xfail.png differ diff --git a/test/text-antialias-gray.quartz.ref.png b/test/text-antialias-gray.quartz.ref.png index 573848dd6..63926a8eb 100644 Binary files a/test/text-antialias-gray.quartz.ref.png and b/test/text-antialias-gray.quartz.ref.png differ diff --git a/test/text-antialias-none.quartz.ref.png b/test/text-antialias-none.quartz.ref.png index bcee5da24..872b21d64 100644 Binary files a/test/text-antialias-none.quartz.ref.png and b/test/text-antialias-none.quartz.ref.png differ diff --git a/test/text-antialias-subpixel.quartz.ref.png b/test/text-antialias-subpixel.quartz.ref.png index ffd487f38..f5b1aa8f0 100644 Binary files a/test/text-antialias-subpixel.quartz.ref.png and b/test/text-antialias-subpixel.quartz.ref.png differ diff --git a/test/text-glyph-range.quartz.ref.png b/test/text-glyph-range.quartz.ref.png new file mode 100644 index 000000000..e4a14b2aa Binary files /dev/null and b/test/text-glyph-range.quartz.ref.png differ diff --git a/test/text-pattern.quartz.argb32.ref.png b/test/text-pattern.quartz.argb32.ref.png new file mode 100644 index 000000000..1a15964e5 Binary files /dev/null and b/test/text-pattern.quartz.argb32.ref.png differ diff --git a/test/text-pattern.quartz.ref.png b/test/text-pattern.quartz.ref.png deleted file mode 100644 index 5cb587465..000000000 Binary files a/test/text-pattern.quartz.ref.png and /dev/null differ diff --git a/test/text-pattern.quartz.rgb24.ref.png b/test/text-pattern.quartz.rgb24.ref.png index 7eae4c87c..f19dd767d 100644 Binary files a/test/text-pattern.quartz.rgb24.ref.png and b/test/text-pattern.quartz.rgb24.ref.png differ diff --git a/test/text-rotate.quartz.ref.png b/test/text-rotate.quartz.ref.png index 6fb7f3da7..113e727af 100644 Binary files a/test/text-rotate.quartz.ref.png and b/test/text-rotate.quartz.ref.png differ diff --git a/test/trap-clip.quartz.argb32.ref.png b/test/trap-clip.quartz.argb32.ref.png new file mode 100644 index 000000000..8ad99ce4a Binary files /dev/null and b/test/trap-clip.quartz.argb32.ref.png differ diff --git a/test/trap-clip.quartz.ref.png b/test/trap-clip.quartz.ref.png deleted file mode 100644 index d1acd319d..000000000 Binary files a/test/trap-clip.quartz.ref.png and /dev/null differ diff --git a/test/trap-clip.quartz.rgb24.ref.png b/test/trap-clip.quartz.rgb24.ref.png index 24da4b9aa..110ac6e55 100644 Binary files a/test/trap-clip.quartz.rgb24.ref.png and b/test/trap-clip.quartz.rgb24.ref.png differ diff --git a/test/unantialiased-shapes.quartz.ref.png b/test/unantialiased-shapes.quartz.ref.png index 0760505d6..349ece778 100644 Binary files a/test/unantialiased-shapes.quartz.ref.png and b/test/unantialiased-shapes.quartz.ref.png differ diff --git a/test/unbounded-operator.quartz.ref.png b/test/unbounded-operator.quartz.ref.png deleted file mode 100644 index b0501db6d..000000000 Binary files a/test/unbounded-operator.quartz.ref.png and /dev/null differ diff --git a/test/unbounded-operator.quartz.rgb24.ref.png b/test/unbounded-operator.quartz.rgb24.ref.png deleted file mode 100644 index f8dae18d5..000000000 Binary files a/test/unbounded-operator.quartz.rgb24.ref.png and /dev/null differ diff --git a/test/user-font-proxy.quartz.ref.png b/test/user-font-proxy.quartz.ref.png new file mode 100644 index 000000000..3bead3d1f Binary files /dev/null and b/test/user-font-proxy.quartz.ref.png differ diff --git a/test/user-font-rescale.quartz.ref.png b/test/user-font-rescale.quartz.ref.png new file mode 100644 index 000000000..5fa2984ca Binary files /dev/null and b/test/user-font-rescale.quartz.ref.png differ diff --git a/test/user-font.quartz.ref.png b/test/user-font.quartz.ref.png new file mode 100644 index 000000000..8c0ec94e6 Binary files /dev/null and b/test/user-font.quartz.ref.png differ diff --git a/test/xcomposite-projection.quartz.ref.png b/test/xcomposite-projection.quartz.ref.png new file mode 100644 index 000000000..c7b6f5c9b Binary files /dev/null and b/test/xcomposite-projection.quartz.ref.png differ