summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2008-09-26 16:49:57 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2008-09-26 17:26:25 +0100
commite0f214710760a0e0332207cb3009e3119867bd13 (patch)
tree80ff9fc7dea054d279248485dc6e757783a75782
parent0c030d3b768718eac5d429d0c819934f32896b25 (diff)
[boilerplate] Add a PS 2 target.
Ensure that we can generate PS2 output when required by creating a PS level 2 target and using GhostScript for conformance testing.
-rw-r--r--boilerplate/cairo-boilerplate-ps-private.h29
-rw-r--r--boilerplate/cairo-boilerplate-ps.c55
-rw-r--r--boilerplate/cairo-boilerplate.c23
-rw-r--r--test/Makefile.am286
-rw-r--r--test/big-line-ps2-ref.png (renamed from test/big-line-ps-ref.png)bin1148 -> 1148 bytes
-rw-r--r--test/big-line-ps2-rgb24-ref.png (renamed from test/big-line-ps-rgb24-ref.png)bin830 -> 830 bytes
-rw-r--r--test/big-line-ps3-ref.pngbin0 -> 1148 bytes
-rw-r--r--test/big-line-ps3-rgb24-ref.pngbin0 -> 830 bytes
-rw-r--r--test/caps-joins-ps2-ref.png (renamed from test/caps-joins-ps-ref.png)bin1459 -> 1459 bytes
-rw-r--r--test/caps-joins-ps3-ref.pngbin0 -> 1459 bytes
-rw-r--r--test/clip-fill-rule-ps2-argb32-ref.png (renamed from test/clip-fill-rule-ps-argb32-ref.png)bin310 -> 310 bytes
-rw-r--r--test/clip-fill-rule-ps2-rgb24-ref.png (renamed from test/clip-fill-rule-ps-rgb24-ref.png)bin302 -> 302 bytes
-rw-r--r--test/clip-fill-rule-ps3-argb32-ref.pngbin0 -> 310 bytes
-rw-r--r--test/clip-fill-rule-ps3-rgb24-ref.pngbin0 -> 302 bytes
-rw-r--r--test/clip-nesting-ps2-argb32-ref.png (renamed from test/clip-nesting-ps-argb32-ref.png)bin651 -> 651 bytes
-rw-r--r--test/clip-nesting-ps2-rgb24-ref.png (renamed from test/clip-nesting-ps-rgb24-ref.png)bin636 -> 636 bytes
-rw-r--r--test/clip-nesting-ps3-argb32-ref.pngbin0 -> 651 bytes
-rw-r--r--test/clip-nesting-ps3-rgb24-ref.pngbin0 -> 636 bytes
-rw-r--r--test/clip-operator-ps2-rgb24-ref.png (renamed from test/clip-operator-ps-rgb24-ref.png)bin3624 -> 3624 bytes
-rw-r--r--test/clip-operator-ps3-ref.pngbin0 -> 8188 bytes
-rw-r--r--test/clip-operator-ps3-rgb24-ref.pngbin0 -> 3624 bytes
-rw-r--r--test/clip-push-group-ps2-argb32-ref.png (renamed from test/clip-push-group-ps-argb32-ref.png)bin179 -> 179 bytes
-rw-r--r--test/clip-push-group-ps2-rgb24-ref.png (renamed from test/clip-push-group-ps-rgb24-ref.png)bin179 -> 179 bytes
-rw-r--r--test/clip-push-group-ps3-argb32-ref.pngbin0 -> 179 bytes
-rw-r--r--test/clip-push-group-ps3-rgb24-ref.pngbin0 -> 179 bytes
-rw-r--r--test/clip-twice-ps2-argb32-ref.png (renamed from test/clip-twice-ps-argb32-ref.png)bin575 -> 575 bytes
-rw-r--r--test/clip-twice-ps2-rgb24-ref.png (renamed from test/clip-twice-ps-rgb24-ref.png)bin541 -> 541 bytes
-rw-r--r--test/clip-twice-ps3-argb32-ref.pngbin0 -> 575 bytes
-rw-r--r--test/clip-twice-ps3-rgb24-ref.pngbin0 -> 541 bytes
-rw-r--r--test/clipped-group-ps2-ref.png (renamed from test/clipped-group-ps-ref.png)bin343 -> 343 bytes
-rw-r--r--test/clipped-group-ps3-ref.pngbin0 -> 343 bytes
-rw-r--r--test/close-path-ps2-ref.png (renamed from test/close-path-ps-ref.png)bin309 -> 309 bytes
-rw-r--r--test/close-path-ps3-ref.pngbin0 -> 309 bytes
-rw-r--r--test/copy-path-ps2-ref.png (renamed from test/copy-path-ps-ref.png)bin474 -> 474 bytes
-rw-r--r--test/copy-path-ps3-ref.pngbin0 -> 474 bytes
-rw-r--r--test/dash-caps-joins-ps2-argb32-ref.png (renamed from test/dash-caps-joins-ps-argb32-ref.png)bin3870 -> 3870 bytes
-rw-r--r--test/dash-caps-joins-ps2-rgb24-ref.png (renamed from test/dash-caps-joins-ps-rgb24-ref.png)bin3870 -> 3870 bytes
-rw-r--r--test/dash-caps-joins-ps3-argb32-ref.pngbin0 -> 3870 bytes
-rw-r--r--test/dash-caps-joins-ps3-rgb24-ref.pngbin0 -> 3870 bytes
-rw-r--r--test/dash-curve-ps2-ref.png (renamed from test/dash-curve-ps-ref.png)bin27293 -> 27293 bytes
-rw-r--r--test/dash-curve-ps3-ref.pngbin0 -> 27293 bytes
-rw-r--r--test/dash-scale-ps2-argb32-ref.png (renamed from test/dash-scale-ps-argb32-ref.png)bin6318 -> 6318 bytes
-rw-r--r--test/dash-scale-ps2-rgb24-ref.png (renamed from test/dash-scale-ps-rgb24-ref.png)bin6316 -> 6316 bytes
-rw-r--r--test/dash-scale-ps3-argb32-ref.pngbin0 -> 6318 bytes
-rw-r--r--test/dash-scale-ps3-rgb24-ref.pngbin0 -> 6316 bytes
-rw-r--r--test/dash-state-ps2-ref.png (renamed from test/dash-state-ps-ref.png)bin10219 -> 10219 bytes
-rw-r--r--test/dash-state-ps3-ref.pngbin0 -> 10219 bytes
-rw-r--r--test/dash-zero-length-ps2-ref.png (renamed from test/dash-zero-length-ps-ref.png)bin319 -> 319 bytes
-rw-r--r--test/dash-zero-length-ps2-rgb24-ref.png (renamed from test/dash-zero-length-ps-rgb24-ref.png)bin304 -> 304 bytes
-rw-r--r--test/dash-zero-length-ps3-ref.pngbin0 -> 319 bytes
-rw-r--r--test/dash-zero-length-ps3-rgb24-ref.pngbin0 -> 304 bytes
-rw-r--r--test/degenerate-arc-ps2-ref.png (renamed from test/degenerate-arc-ps-ref.png)bin585 -> 585 bytes
-rw-r--r--test/degenerate-arc-ps3-ref.pngbin0 -> 585 bytes
-rw-r--r--test/degenerate-path-ps2-argb32-ref.png (renamed from test/degenerate-path-ps-argb32-ref.png)bin390 -> 390 bytes
-rw-r--r--test/degenerate-path-ps2-rgb24-ref.png (renamed from test/degenerate-path-ps-rgb24-ref.png)bin358 -> 358 bytes
-rw-r--r--test/degenerate-path-ps3-argb32-ref.pngbin0 -> 390 bytes
-rw-r--r--test/degenerate-path-ps3-rgb24-ref.pngbin0 -> 358 bytes
-rw-r--r--test/degenerate-pen-ps2-ref.png (renamed from test/degenerate-pen-ps-ref.png)bin865 -> 865 bytes
-rw-r--r--test/degenerate-pen-ps3-ref.pngbin0 -> 865 bytes
-rw-r--r--test/device-offset-fractional-ps2-ref.png (renamed from test/device-offset-fractional-ps-ref.png)bin201 -> 201 bytes
-rw-r--r--test/device-offset-fractional-ps3-ref.pngbin0 -> 201 bytes
-rw-r--r--test/extend-reflect-ps2-ref.png (renamed from test/extend-reflect-ps-ref.png)bin153322 -> 153322 bytes
-rw-r--r--test/extend-reflect-ps3-ref.png (renamed from test/extend-reflect-similar-ps-ref.png)bin153322 -> 153322 bytes
-rw-r--r--test/extend-reflect-similar-ps2-ref.pngbin0 -> 153322 bytes
-rw-r--r--test/extend-reflect-similar-ps3-ref.pngbin0 -> 153322 bytes
-rw-r--r--test/fill-alpha-pattern-ps3-ref.png (renamed from test/fill-alpha-pattern-ps-ref.png)bin4380 -> 4380 bytes
-rw-r--r--test/fill-and-stroke-ps2-argb32-ref.png (renamed from test/fill-and-stroke-ps-argb32-ref.png)bin310 -> 310 bytes
-rw-r--r--test/fill-and-stroke-ps2-rgb24-ref.png (renamed from test/fill-and-stroke-ps-rgb24-ref.png)bin319 -> 319 bytes
-rw-r--r--test/fill-and-stroke-ps3-argb32-ref.pngbin0 -> 310 bytes
-rw-r--r--test/fill-and-stroke-ps3-rgb24-ref.pngbin0 -> 319 bytes
-rw-r--r--test/fill-missed-stop-ps2-argb32-ref.png (renamed from test/fill-missed-stop-ps-argb32-ref.png)bin564 -> 564 bytes
-rw-r--r--test/fill-missed-stop-ps2-rgb24-ref.png (renamed from test/fill-missed-stop-ps-rgb24-ref.png)bin531 -> 531 bytes
-rw-r--r--test/fill-missed-stop-ps3-argb32-ref.pngbin0 -> 564 bytes
-rw-r--r--test/fill-missed-stop-ps3-rgb24-ref.pngbin0 -> 531 bytes
-rw-r--r--test/fill-rule-ps2-argb32-ref.png (renamed from test/fill-rule-ps-argb32-ref.png)bin2253 -> 2253 bytes
-rw-r--r--test/fill-rule-ps2-rgb24-ref.png (renamed from test/fill-rule-ps-rgb24-ref.png)bin2031 -> 2031 bytes
-rw-r--r--test/fill-rule-ps3-argb32-ref.pngbin0 -> 2253 bytes
-rw-r--r--test/fill-rule-ps3-rgb24-ref.pngbin0 -> 2031 bytes
-rw-r--r--test/finer-grained-fallbacks-ps2-argb32-ref.png (renamed from test/finer-grained-fallbacks-ps-argb32-ref.png)bin1047 -> 1047 bytes
-rw-r--r--test/finer-grained-fallbacks-ps2-rgb24-ref.png (renamed from test/finer-grained-fallbacks-ps-rgb24-ref.png)bin819 -> 819 bytes
-rw-r--r--test/finer-grained-fallbacks-ps3-argb32-ref.pngbin0 -> 1047 bytes
-rw-r--r--test/finer-grained-fallbacks-ps3-rgb24-ref.pngbin0 -> 819 bytes
-rw-r--r--test/font-matrix-translation-ps2-argb32-ref.png (renamed from test/font-matrix-translation-ps-argb32-ref.png)bin748 -> 748 bytes
-rw-r--r--test/font-matrix-translation-ps2-rgb24-ref.png (renamed from test/font-matrix-translation-ps-rgb24-ref.png)bin748 -> 748 bytes
-rw-r--r--test/font-matrix-translation-ps3-argb32-ref.pngbin0 -> 748 bytes
-rw-r--r--test/font-matrix-translation-ps3-rgb24-ref.pngbin0 -> 748 bytes
-rw-r--r--test/ft-show-glyphs-positioning-ps2-ref.png (renamed from test/ft-show-glyphs-positioning-ps-ref.png)bin2269 -> 2269 bytes
-rw-r--r--test/ft-show-glyphs-positioning-ps3-ref.pngbin0 -> 2269 bytes
-rw-r--r--test/ft-show-glyphs-table-ps2-ref.png (renamed from test/ft-show-glyphs-table-ps-ref.png)bin5687 -> 5687 bytes
-rw-r--r--test/ft-show-glyphs-table-ps3-ref.pngbin0 -> 5687 bytes
-rw-r--r--test/ft-text-antialias-none-ps2-argb32-ref.png (renamed from test/ft-text-antialias-none-ps-argb32-ref.png)bin335 -> 335 bytes
-rw-r--r--test/ft-text-antialias-none-ps3-argb32-ref.pngbin0 -> 335 bytes
-rw-r--r--test/ft-text-vertical-layout-type1-ps2-ref.png (renamed from test/ft-text-vertical-layout-type1-ps-ref.png)bin1846 -> 1846 bytes
-rw-r--r--test/ft-text-vertical-layout-type1-ps3-ref.pngbin0 -> 1846 bytes
-rw-r--r--test/ft-text-vertical-layout-type3-ps2-ref.png (renamed from test/ft-text-vertical-layout-type3-ps-ref.png)bin1804 -> 1804 bytes
-rw-r--r--test/ft-text-vertical-layout-type3-ps3-ref.pngbin0 -> 1804 bytes
-rw-r--r--test/glyph-cache-pressure-ps2-ref.png (renamed from test/glyph-cache-pressure-ps-ref.png)bin1454 -> 1454 bytes
-rw-r--r--test/glyph-cache-pressure-ps3-ref.pngbin0 -> 1454 bytes
-rw-r--r--test/gradient-alpha-ps2-argb32-ref.png (renamed from test/gradient-alpha-ps-argb32-ref.png)bin134 -> 134 bytes
-rw-r--r--test/gradient-alpha-ps2-rgb24-ref.png (renamed from test/gradient-alpha-ps-rgb24-ref.png)bin130 -> 130 bytes
-rw-r--r--test/gradient-alpha-ps3-argb32-ref.pngbin0 -> 134 bytes
-rw-r--r--test/gradient-alpha-ps3-rgb24-ref.pngbin0 -> 130 bytes
-rw-r--r--test/gradient-constant-alpha-ps2-ref.png (renamed from test/gradient-constant-alpha-ps-ref.png)bin124 -> 124 bytes
-rw-r--r--test/gradient-constant-alpha-ps2-rgb24-ref.png (renamed from test/gradient-constant-alpha-ps-rgb24-ref.png)bin124 -> 124 bytes
-rw-r--r--test/gradient-constant-alpha-ps3-ref.pngbin0 -> 124 bytes
-rw-r--r--test/gradient-constant-alpha-ps3-rgb24-ref.pngbin0 -> 124 bytes
-rw-r--r--test/infinite-join-ps2-ref.png (renamed from test/infinite-join-ps-ref.png)bin218 -> 218 bytes
-rw-r--r--test/infinite-join-ps3-ref.pngbin0 -> 218 bytes
-rw-r--r--test/leaky-dash-ps2-argb32-ref.png (renamed from test/leaky-dash-ps-argb32-ref.png)bin286 -> 286 bytes
-rw-r--r--test/leaky-dash-ps2-rgb24-ref.png (renamed from test/leaky-dash-ps-rgb24-ref.png)bin284 -> 284 bytes
-rw-r--r--test/leaky-dash-ps3-argb32-ref.pngbin0 -> 286 bytes
-rw-r--r--test/leaky-dash-ps3-rgb24-ref.pngbin0 -> 284 bytes
-rw-r--r--test/leaky-dashed-rectangle-ps2-ref.png (renamed from test/leaky-dashed-rectangle-ps-ref.png)bin444 -> 444 bytes
-rw-r--r--test/leaky-dashed-rectangle-ps3-ref.pngbin0 -> 444 bytes
-rw-r--r--test/leaky-polygon-ps2-ref.png (renamed from test/leaky-polygon-ps-ref.png)bin354 -> 354 bytes
-rw-r--r--test/leaky-polygon-ps3-ref.pngbin0 -> 354 bytes
-rw-r--r--test/line-width-scale-ps2-ref.png (renamed from test/line-width-scale-ps-ref.png)bin3911 -> 3911 bytes
-rw-r--r--test/line-width-scale-ps3-ref.pngbin0 -> 3911 bytes
-rw-r--r--test/linear-gradient-ps3-ref.png (renamed from test/linear-gradient-ps-ref.png)bin779 -> 779 bytes
-rw-r--r--test/linear-gradient-reflect-ps3-ref.png (renamed from test/linear-gradient-reflect-ps-ref.png)bin314 -> 314 bytes
-rw-r--r--test/long-dashed-lines-ps2-ref.png (renamed from test/long-dashed-lines-ps-ref.png)bin1516 -> 1516 bytes
-rw-r--r--test/long-dashed-lines-ps3-ref.pngbin0 -> 1516 bytes
-rw-r--r--test/meta-surface-pattern-ps2-argb32-ref.png (renamed from test/meta-surface-pattern-ps-argb32-ref.png)bin3257 -> 3257 bytes
-rw-r--r--test/meta-surface-pattern-ps2-rgb24-ref.png (renamed from test/meta-surface-pattern-ps-rgb24-ref.png)bin3873 -> 3873 bytes
-rw-r--r--test/meta-surface-pattern-ps3-argb32-ref.pngbin0 -> 3257 bytes
-rw-r--r--test/meta-surface-pattern-ps3-rgb24-ref.pngbin0 -> 3873 bytes
-rw-r--r--test/new-sub-path-ps2-argb32-ref.png (renamed from test/new-sub-path-ps-argb32-ref.png)bin556 -> 556 bytes
-rw-r--r--test/new-sub-path-ps2-rgb24-ref.png (renamed from test/new-sub-path-ps-rgb24-ref.png)bin423 -> 423 bytes
-rw-r--r--test/new-sub-path-ps3-argb32-ref.pngbin0 -> 556 bytes
-rw-r--r--test/new-sub-path-ps3-rgb24-ref.pngbin0 -> 423 bytes
-rw-r--r--test/over-above-source-ps2-argb32-ref.png (renamed from test/over-above-source-ps-argb32-ref.png)bin636 -> 636 bytes
-rw-r--r--test/over-above-source-ps3-argb32-ref.pngbin0 -> 636 bytes
-rw-r--r--test/over-around-source-ps2-argb32-ref.png (renamed from test/over-around-source-ps-argb32-ref.png)bin632 -> 632 bytes
-rw-r--r--test/over-around-source-ps2-rgb24-ref.png (renamed from test/over-around-source-ps-rgb24-ref.png)bin538 -> 538 bytes
-rw-r--r--test/over-around-source-ps3-argb32-ref.pngbin0 -> 632 bytes
-rw-r--r--test/over-around-source-ps3-rgb24-ref.pngbin0 -> 538 bytes
-rw-r--r--test/over-below-source-ps2-argb32-ref.png (renamed from test/over-below-source-ps-argb32-ref.png)bin503 -> 503 bytes
-rw-r--r--test/over-below-source-ps3-argb32-ref.pngbin0 -> 503 bytes
-rw-r--r--test/over-between-source-ps2-argb32-ref.png (renamed from test/over-between-source-ps-argb32-ref.png)bin678 -> 678 bytes
-rw-r--r--test/over-between-source-ps3-argb32-ref.pngbin0 -> 678 bytes
-rw-r--r--test/random-intersections-ps2-ref.png (renamed from test/random-intersections-ps-ref.png)bin89253 -> 89253 bytes
-rw-r--r--test/random-intersections-ps3-ref.pngbin0 -> 89253 bytes
-rw-r--r--test/rectilinear-miter-limit-ps2-ref.png (renamed from test/rectilinear-miter-limit-ps-ref.png)bin221 -> 221 bytes
-rw-r--r--test/rectilinear-miter-limit-ps3-ref.pngbin0 -> 221 bytes
-rw-r--r--test/reflected-stroke-ps2-ref.png (renamed from test/reflected-stroke-ps-ref.png)bin3898 -> 3898 bytes
-rw-r--r--test/reflected-stroke-ps3-ref.pngbin0 -> 3898 bytes
-rw-r--r--test/rel-path-ps2-rgb24-ref.png (renamed from test/rel-path-ps-rgb24-ref.png)bin243 -> 243 bytes
-rw-r--r--test/rel-path-ps3-rgb24-ref.pngbin0 -> 243 bytes
-rw-r--r--test/rotate-image-surface-paint-ps2-ref.png (renamed from test/rotate-image-surface-paint-ps-ref.png)bin212 -> 212 bytes
-rw-r--r--test/rotate-image-surface-paint-ps3-ref.pngbin0 -> 212 bytes
-rw-r--r--test/select-font-face-ps2-ref.png (renamed from test/select-font-face-ps-ref.png)bin959 -> 959 bytes
-rw-r--r--test/select-font-face-ps3-ref.pngbin0 -> 959 bytes
-rw-r--r--test/self-copy-ps2-ref.png (renamed from test/self-copy-ps-ref.png)bin335 -> 335 bytes
-rw-r--r--test/self-copy-ps3-ref.pngbin0 -> 335 bytes
-rw-r--r--test/show-text-current-point-ps2-ref.png (renamed from test/show-text-current-point-ps-ref.png)bin1356 -> 1356 bytes
-rw-r--r--test/show-text-current-point-ps3-ref.pngbin0 -> 1356 bytes
-rw-r--r--test/skew-extreme-ps2-ref.png (renamed from test/skew-extreme-ps-ref.png)bin1048 -> 1048 bytes
-rw-r--r--test/skew-extreme-ps3-ref.pngbin0 -> 1048 bytes
-rw-r--r--test/smask-ps2-ref.png (renamed from test/smask-ps-ref.png)bin3669 -> 3669 bytes
-rw-r--r--test/smask-ps3-ref.pngbin0 -> 3669 bytes
-rw-r--r--test/smask-text-ps2-ref.png (renamed from test/smask-text-ps-ref.png)bin2023 -> 2023 bytes
-rw-r--r--test/smask-text-ps3-ref.pngbin0 -> 2023 bytes
-rw-r--r--test/source-clip-scale-ps2-argb32-ref.png (renamed from test/source-clip-scale-ps-argb32-ref.png)bin183 -> 183 bytes
-rw-r--r--test/source-clip-scale-ps2-rgb24-ref.png (renamed from test/source-clip-scale-ps-rgb24-ref.png)bin183 -> 183 bytes
-rw-r--r--test/source-clip-scale-ps3-argb32-ref.pngbin0 -> 183 bytes
-rw-r--r--test/source-clip-scale-ps3-rgb24-ref.pngbin0 -> 183 bytes
-rw-r--r--test/stroke-ctm-caps-ps2-ref.png (renamed from test/stroke-ctm-caps-ps-ref.png)bin1079 -> 1079 bytes
-rw-r--r--test/stroke-ctm-caps-ps3-ref.pngbin0 -> 1079 bytes
-rw-r--r--test/stroke-image-ps2-ref.png (renamed from test/stroke-image-ps-ref.png)bin1786 -> 1786 bytes
-rw-r--r--test/stroke-image-ps3-ref.pngbin0 -> 1786 bytes
-rw-r--r--test/surface-pattern-ps2-argb32-ref.png (renamed from test/surface-pattern-ps-argb32-ref.png)bin2520 -> 2520 bytes
-rw-r--r--test/surface-pattern-ps3-argb32-ref.pngbin0 -> 2520 bytes
-rw-r--r--test/surface-pattern-scale-down-ps2-argb32-ref.png (renamed from test/surface-pattern-scale-down-ps-argb32-ref.png)bin1400 -> 1400 bytes
-rw-r--r--test/surface-pattern-scale-down-ps3-argb32-ref.pngbin0 -> 1400 bytes
-rw-r--r--test/surface-pattern-scale-up-ps2-argb32-ref.png (renamed from test/surface-pattern-scale-up-ps-argb32-ref.png)bin1011 -> 1011 bytes
-rw-r--r--test/surface-pattern-scale-up-ps3-argb32-ref.pngbin0 -> 1011 bytes
-rw-r--r--test/text-pattern-ps3-argb32-ref.png (renamed from test/text-pattern-ps-argb32-ref.png)bin966 -> 966 bytes
-rw-r--r--test/text-pattern-ps3-rgb24-ref.png (renamed from test/text-pattern-ps-rgb24-ref.png)bin924 -> 924 bytes
-rw-r--r--test/text-rotate-ps2-ref.png (renamed from test/text-rotate-ps-ref.png)bin6851 -> 6851 bytes
-rw-r--r--test/text-rotate-ps3-ref.pngbin0 -> 6851 bytes
-rw-r--r--test/text-transform-ps2-ref.png (renamed from test/text-transform-ps-ref.png)bin4154 -> 4154 bytes
-rw-r--r--test/text-transform-ps3-ref.pngbin0 -> 4154 bytes
-rw-r--r--test/transforms-ps2-ref.png (renamed from test/transforms-ps-ref.png)bin418 -> 418 bytes
-rw-r--r--test/transforms-ps3-ref.pngbin0 -> 418 bytes
-rw-r--r--test/trap-clip-ps3-argb32-ref.png (renamed from test/trap-clip-ps-argb32-ref.png)bin5591 -> 5591 bytes
-rw-r--r--test/trap-clip-ps3-rgb24-ref.png (renamed from test/trap-clip-ps-rgb24-ref.png)bin5512 -> 5512 bytes
-rw-r--r--test/user-font-proxy-ps2-ref.png (renamed from test/user-font-proxy-ps-ref.png)bin8171 -> 8171 bytes
-rw-r--r--test/user-font-proxy-ps3-ref.pngbin0 -> 8171 bytes
-rw-r--r--test/user-font-ps2-ref.png (renamed from test/user-font-ps-ref.png)bin5043 -> 5043 bytes
-rw-r--r--test/user-font-ps3-ref.pngbin0 -> 5043 bytes
-rw-r--r--test/user-font-rescale-ps2-ref.png (renamed from test/user-font-rescale-ps-ref.png)bin8041 -> 8041 bytes
-rw-r--r--test/user-font-rescale-ps3-ref.pngbin0 -> 8041 bytes
192 files changed, 277 insertions, 116 deletions
diff --git a/boilerplate/cairo-boilerplate-ps-private.h b/boilerplate/cairo-boilerplate-ps-private.h
index 6f1bad6b..a6a19500 100644
--- a/boilerplate/cairo-boilerplate-ps-private.h
+++ b/boilerplate/cairo-boilerplate-ps-private.h
@@ -28,15 +28,26 @@
#define _CAIRO_BOILERPLATE_PS_PRIVATE_H_
cairo_surface_t *
-_cairo_boilerplate_ps_create_surface (const char *name,
- cairo_content_t content,
- int width,
- int height,
- int max_width,
- int max_height,
- cairo_boilerplate_mode_t mode,
- int id,
- void **closure);
+_cairo_boilerplate_ps2_create_surface (const char *name,
+ cairo_content_t content,
+ int width,
+ int height,
+ int max_width,
+ int max_height,
+ cairo_boilerplate_mode_t mode,
+ int id,
+ void **closure);
+
+cairo_surface_t *
+_cairo_boilerplate_ps3_create_surface (const char *name,
+ cairo_content_t content,
+ int width,
+ int height,
+ int max_width,
+ int max_height,
+ cairo_boilerplate_mode_t mode,
+ int id,
+ void **closure);
void
_cairo_boilerplate_ps_cleanup (void *closure);
diff --git a/boilerplate/cairo-boilerplate-ps.c b/boilerplate/cairo-boilerplate-ps.c
index 6df9776d..7c6ebe9c 100644
--- a/boilerplate/cairo-boilerplate-ps.c
+++ b/boilerplate/cairo-boilerplate-ps.c
@@ -37,14 +37,14 @@
#include <signal.h>
#endif
-cairo_user_data_key_t ps_closure_key;
+static const cairo_user_data_key_t ps_closure_key;
-typedef struct _ps_target_closure
-{
+typedef struct _ps_target_closure {
char *filename;
int width;
int height;
cairo_surface_t *target;
+ cairo_ps_level_t level;
} ps_target_closure_t;
static cairo_status_t
@@ -65,9 +65,10 @@ _cairo_boilerplate_ps_surface_set_creation_date (cairo_surface_t *abstract_surfa
return CAIRO_STATUS_SUCCESS;
}
-cairo_surface_t *
+static cairo_surface_t *
_cairo_boilerplate_ps_create_surface (const char *name,
cairo_content_t content,
+ cairo_ps_level_t level,
int width,
int height,
int max_width,
@@ -89,6 +90,7 @@ _cairo_boilerplate_ps_create_surface (const char *name,
xasprintf (&ptc->filename, "%s-out.ps", name);
xunlink (ptc->filename);
+ ptc->level = level;
ptc->width = width;
ptc->height = height;
@@ -96,6 +98,7 @@ _cairo_boilerplate_ps_create_surface (const char *name,
if (cairo_surface_status (surface))
goto CLEANUP_FILENAME;
+ cairo_ps_surface_restrict_to_level (surface, level);
_cairo_boilerplate_ps_surface_set_creation_date (surface, 0);
cairo_surface_set_fallback_resolution (surface, 72., 72.);
@@ -125,6 +128,44 @@ _cairo_boilerplate_ps_create_surface (const char *name,
return surface;
}
+cairo_surface_t *
+_cairo_boilerplate_ps2_create_surface (const char *name,
+ cairo_content_t content,
+ int width,
+ int height,
+ int max_width,
+ int max_height,
+ cairo_boilerplate_mode_t mode,
+ int id,
+ void **closure)
+{
+ return _cairo_boilerplate_ps_create_surface (name, content,
+ CAIRO_PS_LEVEL_2,
+ width, height,
+ max_width, max_height,
+ mode, id,
+ closure);
+}
+
+cairo_surface_t *
+_cairo_boilerplate_ps3_create_surface (const char *name,
+ cairo_content_t content,
+ int width,
+ int height,
+ int max_width,
+ int max_height,
+ cairo_boilerplate_mode_t mode,
+ int id,
+ void **closure)
+{
+ return _cairo_boilerplate_ps_create_surface (name, content,
+ CAIRO_PS_LEVEL_3,
+ width, height,
+ max_width, max_height,
+ mode, id,
+ closure);
+}
+
cairo_status_t
_cairo_boilerplate_ps_finish_surface (cairo_surface_t *surface)
{
@@ -177,8 +218,10 @@ _cairo_boilerplate_ps_surface_write_to_png (cairo_surface_t *surface, const char
char command[4096];
int exitstatus;
- sprintf (command, "gs -q -r72 -g%dx%d -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pngalpha -sOutputFile=%s %s",
- ptc->width, ptc->height, filename, ptc->filename);
+ sprintf (command, "gs -q -r72 -g%dx%d -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pngalpha -sOutputFile=%s %s %s",
+ ptc->width, ptc->height, filename,
+ ptc->level == CAIRO_PS_LEVEL_2 ? "-c 2 .setlanguagelevel -f" : "",
+ ptc->filename);
exitstatus = system (command);
#if _XOPEN_SOURCE && HAVE_SIGNAL_H
if (WIFSIGNALED (exitstatus))
diff --git a/boilerplate/cairo-boilerplate.c b/boilerplate/cairo-boilerplate.c
index 7c9890f3..f88d983c 100644
--- a/boilerplate/cairo-boilerplate.c
+++ b/boilerplate/cairo-boilerplate.c
@@ -445,16 +445,31 @@ static cairo_boilerplate_target_t targets[] =
_cairo_boilerplate_xlib_synchronize},
#endif
#if CAIRO_HAS_PS_SURFACE && CAIRO_CAN_TEST_PS_SURFACE
- { "ps", ".ps", CAIRO_SURFACE_TYPE_PS,
+ { "ps2", ".ps", CAIRO_SURFACE_TYPE_PS,
CAIRO_TEST_CONTENT_COLOR_ALPHA_FLATTENED, 0,
- _cairo_boilerplate_ps_create_surface,
+ _cairo_boilerplate_ps2_create_surface,
_cairo_boilerplate_ps_finish_surface,
_cairo_boilerplate_ps_get_image_surface,
_cairo_boilerplate_ps_surface_write_to_png,
_cairo_boilerplate_ps_cleanup,
NULL, TRUE },
- { "ps", ".ps", CAIRO_INTERNAL_SURFACE_TYPE_META, CAIRO_CONTENT_COLOR, 0,
- _cairo_boilerplate_ps_create_surface,
+ { "ps2", ".ps", CAIRO_INTERNAL_SURFACE_TYPE_META, CAIRO_CONTENT_COLOR, 0,
+ _cairo_boilerplate_ps2_create_surface,
+ _cairo_boilerplate_ps_finish_surface,
+ _cairo_boilerplate_ps_get_image_surface,
+ _cairo_boilerplate_ps_surface_write_to_png,
+ _cairo_boilerplate_ps_cleanup,
+ NULL, TRUE },
+ { "ps3", ".ps", CAIRO_SURFACE_TYPE_PS,
+ CAIRO_TEST_CONTENT_COLOR_ALPHA_FLATTENED, 0,
+ _cairo_boilerplate_ps3_create_surface,
+ _cairo_boilerplate_ps_finish_surface,
+ _cairo_boilerplate_ps_get_image_surface,
+ _cairo_boilerplate_ps_surface_write_to_png,
+ _cairo_boilerplate_ps_cleanup,
+ NULL, TRUE },
+ { "ps3", ".ps", CAIRO_INTERNAL_SURFACE_TYPE_META, CAIRO_CONTENT_COLOR, 0,
+ _cairo_boilerplate_ps3_create_surface,
_cairo_boilerplate_ps_finish_surface,
_cairo_boilerplate_ps_get_image_surface,
_cairo_boilerplate_ps_surface_write_to_png,
diff --git a/test/Makefile.am b/test/Makefile.am
index 0a0d499b..9f3c0f13 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -297,8 +297,10 @@ REFERENCE_IMAGES = \
alpha-similar-rgb24-ref.png \
big-line-ref.png \
big-line-rgb24-ref.png \
- big-line-ps-ref.png \
- big-line-ps-rgb24-ref.png \
+ big-line-ps2-ref.png \
+ big-line-ps3-ref.png \
+ big-line-ps2-rgb24-ref.png \
+ big-line-ps3-rgb24-ref.png \
big-line-quartz-ref.png \
big-line-quartz-rgb24-ref.png \
bilevel-image-ref.png \
@@ -310,18 +312,23 @@ REFERENCE_IMAGES = \
caps-joins-alpha-svg12-ref.png \
caps-joins-alpha-svg11-ref.png \
caps-joins-ref.png \
- caps-joins-ps-ref.png \
+ caps-joins-ps2-ref.png \
+ caps-joins-ps3-ref.png \
caps-sub-paths-ref.png \
clip-all-ref.png \
clip-empty-ref.png \
clip-fill-rule-pixel-aligned-ref.png \
clip-fill-rule-pixel-aligned-rgb24-ref.png \
- clip-fill-rule-ps-argb32-ref.png \
- clip-fill-rule-ps-rgb24-ref.png \
+ clip-fill-rule-ps2-argb32-ref.png \
+ clip-fill-rule-ps3-argb32-ref.png \
+ clip-fill-rule-ps2-rgb24-ref.png \
+ clip-fill-rule-ps3-rgb24-ref.png \
clip-fill-rule-ref.png \
clip-fill-rule-rgb24-ref.png \
- clip-nesting-ps-argb32-ref.png \
- clip-nesting-ps-rgb24-ref.png \
+ clip-nesting-ps2-argb32-ref.png \
+ clip-nesting-ps3-argb32-ref.png \
+ clip-nesting-ps2-rgb24-ref.png \
+ clip-nesting-ps3-rgb24-ref.png \
clip-nesting-quartz-ref.png \
clip-nesting-quartz-rgb24-ref.png \
clip-nesting-ref.png \
@@ -329,28 +336,36 @@ REFERENCE_IMAGES = \
clip-operator-ref.png \
clip-operator-pdf-argb32-ref.png \
clip-operator-pdf-rgb24-ref.png \
- clip-operator-ps-rgb24-ref.png \
+ clip-operator-ps2-rgb24-ref.png \
+ clip-operator-ps3-rgb24-ref.png \
clip-operator-rgb24-ref.png \
clip-operator-quartz-ref.png \
clip-operator-quartz-rgb24-ref.png \
- clip-push-group-ps-argb32-ref.png \
- clip-push-group-ps-rgb24-ref.png \
+ clip-push-group-ps2-argb32-ref.png \
+ clip-push-group-ps3-argb32-ref.png \
+ clip-push-group-ps2-rgb24-ref.png \
+ clip-push-group-ps3-rgb24-ref.png \
clip-push-group-quartz-ref.png \
clip-push-group-ref.png \
- clip-twice-ps-argb32-ref.png \
- clip-twice-ps-rgb24-ref.png \
+ clip-twice-ps2-argb32-ref.png \
+ clip-twice-ps3-argb32-ref.png \
+ clip-twice-ps2-rgb24-ref.png \
+ clip-twice-ps3-rgb24-ref.png \
clip-twice-quartz-ref.png \
clip-twice-quartz-rgb24-ref.png \
clip-twice-ref.png \
clip-twice-rgb24-ref.png \
clipped-group-ref.png \
- clipped-group-ps-ref.png \
+ clipped-group-ps2-ref.png \
+ clipped-group-ps3-ref.png \
close-path-ref.png \
- close-path-ps-ref.png \
+ close-path-ps2-ref.png \
+ close-path-ps3-ref.png \
composite-integer-translate-over-ref.png \
composite-integer-translate-over-repeat-ref.png \
composite-integer-translate-source-ref.png \
- copy-path-ps-ref.png \
+ copy-path-ps2-ref.png \
+ copy-path-ps3-ref.png \
copy-path-ref.png \
create-from-png-ref.png \
create-from-png-alpha-ref.png \
@@ -359,40 +374,53 @@ REFERENCE_IMAGES = \
create-from-png-indexed-ref.png \
create-from-png-indexed-alpha-ref.png \
create-from-png-stream-ref.png \
- dash-caps-joins-ps-argb32-ref.png \
- dash-caps-joins-ps-rgb24-ref.png \
+ dash-caps-joins-ps2-argb32-ref.png \
+ dash-caps-joins-ps3-argb32-ref.png \
+ dash-caps-joins-ps2-rgb24-ref.png \
+ dash-caps-joins-ps3-rgb24-ref.png \
dash-caps-joins-quartz-ref.png \
dash-caps-joins-ref.png \
dash-curve-ref.png \
- dash-curve-ps-ref.png \
+ dash-curve-ps2-ref.png \
+ dash-curve-ps3-ref.png \
dash-curve-quartz-ref.png \
dash-no-dash-ref.png \
dash-offset-negative-ref.png \
- dash-scale-ps-argb32-ref.png \
- dash-scale-ps-rgb24-ref.png \
+ dash-scale-ps2-argb32-ref.png \
+ dash-scale-ps3-argb32-ref.png \
+ dash-scale-ps2-rgb24-ref.png \
+ dash-scale-ps3-rgb24-ref.png \
dash-scale-quartz-ref.png \
dash-scale-ref.png \
- dash-state-ps-ref.png \
+ dash-state-ps2-ref.png \
+ dash-state-ps3-ref.png \
dash-state-ref.png \
dash-state-quartz-ref.png \
- dash-zero-length-ps-ref.png \
- dash-zero-length-ps-rgb24-ref.png \
+ dash-zero-length-ps2-ref.png \
+ dash-zero-length-ps3-ref.png \
+ dash-zero-length-ps2-rgb24-ref.png \
+ dash-zero-length-ps3-rgb24-ref.png \
dash-zero-length-ref.png \
dash-zero-length-rgb24-ref.png \
degenerate-arc-ref.png \
- degenerate-arc-ps-ref.png \
+ degenerate-arc-ps2-ref.png \
+ degenerate-arc-ps3-ref.png \
degenerate-pen-ref.png \
- degenerate-pen-ps-ref.png \
+ degenerate-pen-ps2-ref.png \
+ degenerate-pen-ps3-ref.png \
degenerate-pen-quartz-ref.png \
- degenerate-path-ps-argb32-ref.png \
- degenerate-path-ps-rgb24-ref.png \
+ degenerate-path-ps2-argb32-ref.png \
+ degenerate-path-ps3-argb32-ref.png \
+ degenerate-path-ps2-rgb24-ref.png \
+ degenerate-path-ps2-rgb24-ref.png \
degenerate-path-ref.png \
degenerate-path-rgb24-ref.png \
degenerate-path-quartz-ref.png \
degenerate-path-quartz-rgb24-ref.png \
device-offset-fractional-ref.png \
device-offset-fractional-pdf-ref.png \
- device-offset-fractional-ps-ref.png \
+ device-offset-fractional-ps2-ref.png \
+ device-offset-fractional-ps3-ref.png \
device-offset-positive-ref.png \
device-offset-positive-rgb24-ref.png \
device-offset-ref.png \
@@ -401,21 +429,25 @@ REFERENCE_IMAGES = \
extend-pad-ref.png \
extend-reflect-ref.png \
extend-reflect-similar-ref.png \
- extend-reflect-similar-ps-ref.png \
- extend-reflect-ps-ref.png \
+ extend-reflect-similar-ps2-ref.png \
+ extend-reflect-similar-ps3-ref.png \
+ extend-reflect-ps2-ref.png \
+ extend-reflect-ps3-ref.png \
extend-repeat-ref.png \
extend-repeat-similar-ref.png \
fill-alpha-ref.png \
fill-alpha-pattern-ref.png \
fill-alpha-pattern-pdf-argb32-ref.png \
fill-alpha-pattern-pdf-rgb24-ref.png \
- fill-alpha-pattern-ps-ref.png \
+ fill-alpha-pattern-ps3-ref.png \
fill-and-stroke-alpha-add-quartz-ref.png \
fill-and-stroke-alpha-add-ref.png \
fill-and-stroke-alpha-quartz-ref.png \
fill-and-stroke-alpha-ref.png \
- fill-and-stroke-ps-argb32-ref.png \
- fill-and-stroke-ps-rgb24-ref.png \
+ fill-and-stroke-ps2-argb32-ref.png \
+ fill-and-stroke-ps3-argb32-ref.png \
+ fill-and-stroke-ps2-rgb24-ref.png \
+ fill-and-stroke-ps3-rgb24-ref.png \
fill-and-stroke-quartz-ref.png \
fill-and-stroke-quartz-rgb24-ref.png \
fill-and-stroke-ref.png \
@@ -424,62 +456,80 @@ REFERENCE_IMAGES = \
fill-degenerate-sort-order-quartz-rgb24-ref.png \
fill-degenerate-sort-order-ref.png \
fill-degenerate-sort-order-rgb24-ref.png \
- fill-missed-stop-ps-argb32-ref.png \
- fill-missed-stop-ps-rgb24-ref.png \
+ fill-missed-stop-ps2-argb32-ref.png \
+ fill-missed-stop-ps3-argb32-ref.png \
+ fill-missed-stop-ps2-rgb24-ref.png \
+ fill-missed-stop-ps3-rgb24-ref.png \
fill-missed-stop-ref.png \
fill-missed-stop-rgb24-ref.png \
- fill-rule-ps-argb32-ref.png \
+ fill-rule-ps2-argb32-ref.png \
+ fill-rule-ps3-argb32-ref.png \
+ fill-rule-ps2-rgb24-ref.png \
+ fill-rule-ps3-rgb24-ref.png \
fill-rule-quartz-ref.png \
fill-rule-quartz-rgb24-ref.png \
fill-rule-ref.png \
fill-rule-rgb24-ref.png \
- fill-rule-ps-rgb24-ref.png \
filter-bilinear-extents-ref.png \
filter-nearest-offset-ref.png \
finer-grained-fallbacks-ref.png \
finer-grained-fallbacks-rgb24-ref.png \
- finer-grained-fallbacks-ps-argb32-ref.png \
- finer-grained-fallbacks-ps-rgb24-ref.png \
- font-matrix-translation-ps-argb32-ref.png \
- font-matrix-translation-ps-rgb24-ref.png \
+ finer-grained-fallbacks-ps2-argb32-ref.png \
+ finer-grained-fallbacks-ps3-argb32-ref.png \
+ finer-grained-fallbacks-ps2-rgb24-ref.png \
+ finer-grained-fallbacks-ps3-rgb24-ref.png \
+ font-matrix-translation-ps2-argb32-ref.png \
+ font-matrix-translation-ps3-argb32-ref.png \
+ font-matrix-translation-ps2-rgb24-ref.png \
+ font-matrix-translation-ps3-rgb24-ref.png \
font-matrix-translation-ref.png \
font-matrix-translation-svg12-ref.png \
font-matrix-translation-svg11-ref.png \
font-matrix-translation-quartz-ref.png \
- ft-text-antialias-none-ps-argb32-ref.png \
+ ft-text-antialias-none-ps2-argb32-ref.png \
+ ft-text-antialias-none-ps3-argb32-ref.png \
ft-text-antialias-none-ref.png \
ft-show-glyphs-positioning-ref.png \
ft-show-glyphs-positioning-pdf-ref.png \
- ft-show-glyphs-positioning-ps-ref.png \
+ ft-show-glyphs-positioning-ps2-ref.png \
+ ft-show-glyphs-positioning-ps3-ref.png \
ft-show-glyphs-positioning-svg12-ref.png \
ft-show-glyphs-positioning-svg11-ref.png \
ft-show-glyphs-table-ref.png \
- ft-show-glyphs-table-ps-ref.png \
+ ft-show-glyphs-table-ps2-ref.png \
+ ft-show-glyphs-table-ps3-ref.png \
ft-text-vertical-layout-type1-pdf-ref.png \
- ft-text-vertical-layout-type1-ps-ref.png \
+ ft-text-vertical-layout-type1-ps2-ref.png \
+ ft-text-vertical-layout-type1-ps3-ref.png \
ft-text-vertical-layout-type1-ref.png \
ft-text-vertical-layout-type1-svg12-ref.png \
ft-text-vertical-layout-type1-svg11-ref.png \
ft-text-vertical-layout-type3-pdf-ref.png \
- ft-text-vertical-layout-type3-ps-ref.png \
+ ft-text-vertical-layout-type3-ps2-ref.png \
+ ft-text-vertical-layout-type3-ps3-ref.png \
ft-text-vertical-layout-type3-ref.png \
ft-text-vertical-layout-type3-svg12-ref.png \
ft-text-vertical-layout-type3-svg11-ref.png \
get-group-target-ref.png \
glitz-surface-source-ref.png \
glyph-cache-pressure-ref.png \
- glyph-cache-pressure-ps-ref.png \
+ glyph-cache-pressure-ps2-ref.png \
+ glyph-cache-pressure-ps3-ref.png \
glyph-cache-pressure-quartz-ref.png \
gradient-alpha-pdf-argb32-ref.png \
gradient-alpha-pdf-rgb24-ref.png \
- gradient-alpha-ps-argb32-ref.png \
- gradient-alpha-ps-rgb24-ref.png \
+ gradient-alpha-ps2-argb32-ref.png \
+ gradient-alpha-ps3-argb32-ref.png \
+ gradient-alpha-ps2-rgb24-ref.png \
+ gradient-alpha-ps3-rgb24-ref.png \
gradient-alpha-ref.png \
gradient-alpha-rgb24-ref.png \
gradient-constant-alpha-pdf-argb32-ref.png \
gradient-constant-alpha-pdf-rgb24-ref.png \
- gradient-constant-alpha-ps-ref.png \
- gradient-constant-alpha-ps-rgb24-ref.png \
+ gradient-constant-alpha-ps2-ref.png \
+ gradient-constant-alpha-ps3-ref.png \
+ gradient-constant-alpha-ps2-rgb24-ref.png \
+ gradient-constant-alpha-ps3-rgb24-ref.png \
gradient-constant-alpha-ref.png \
gradient-constant-alpha-rgb24-ref.png \
gradient-zero-stops-ref.png \
@@ -487,35 +537,42 @@ REFERENCE_IMAGES = \
group-paint-ref.png \
image-surface-source-ref.png \
infinite-join-ref.png \
- infinite-join-ps-ref.png \
+ infinite-join-ps2-ref.png \
+ infinite-join-ps3-ref.png \
large-clip-ref.png \
large-font-ref.png \
large-source-ref.png \
- leaky-dash-ps-argb32-ref.png \
- leaky-dash-ps-rgb24-ref.png \
+ leaky-dash-ps2-argb32-ref.png \
+ leaky-dash-ps3-argb32-ref.png \
+ leaky-dash-ps2-rgb24-ref.png \
+ leaky-dash-ps3-rgb24-ref.png \
leaky-dash-quartz-ref.png \
leaky-dash-ref.png \
leaky-dashed-rectangle-ref.png \
- leaky-dashed-rectangle-ps-ref.png \
+ leaky-dashed-rectangle-ps2-ref.png \
+ leaky-dashed-rectangle-ps3-ref.png \
leaky-polygon-ref.png \
- leaky-polygon-ps-ref.png \
+ leaky-polygon-ps2-ref.png \
+ leaky-polygon-ps3-ref.png \
linear-gradient-reflect-ref.png \
linear-gradient-reflect-pdf-argb32-ref.png \
linear-gradient-reflect-pdf-rgb24-ref.png \
- linear-gradient-reflect-ps-ref.png \
+ linear-gradient-reflect-ps3-ref.png \
linear-gradient-reflect-quartz-ref.png \
linear-gradient-pdf-ref.png \
- linear-gradient-ps-ref.png \
+ linear-gradient-ps3-ref.png \
linear-gradient-quartz-ref.png \
linear-gradient-ref.png \
linear-gradient-svg12-ref.png \
linear-gradient-svg11-ref.png \
line-width-ref.png \
- line-width-scale-ps-ref.png \
+ line-width-scale-ps2-ref.png \
+ line-width-scale-ps3-ref.png \
line-width-scale-quartz-ref.png \
line-width-scale-ref.png \
long-dashed-lines-ref.png \
- long-dashed-lines-ps-ref.png \
+ long-dashed-lines-ps2-ref.png \
+ long-dashed-lines-ps3-ref.png \
long-dashed-lines-quartz-ref.png \
long-lines-ref.png \
mask-alpha-ref.png \
@@ -545,16 +602,20 @@ REFERENCE_IMAGES = \
meta-surface-pattern-rgb24-ref.png \
meta-surface-pattern-pdf-ref.png \
meta-surface-pattern-pdf-rgb24-ref.png \
- meta-surface-pattern-ps-argb32-ref.png \
- meta-surface-pattern-ps-rgb24-ref.png \
+ meta-surface-pattern-ps2-argb32-ref.png \
+ meta-surface-pattern-ps3-rgb24-ref.png \
+ meta-surface-pattern-ps2-argb32-ref.png \
+ meta-surface-pattern-ps3-rgb24-ref.png \
meta-surface-pattern-quartz-ref.png \
meta-surface-pattern-quartz-rgb24-ref.png \
meta-surface-pattern-svg-argb32-ref.png \
meta-surface-pattern-svg-rgb24-ref.png \
miter-precision-ref.png \
move-to-show-surface-ref.png \
- new-sub-path-ps-argb32-ref.png \
- new-sub-path-ps-rgb24-ref.png \
+ new-sub-path-ps2-argb32-ref.png \
+ new-sub-path-ps3-argb32-ref.png \
+ new-sub-path-ps2-rgb24-ref.png \
+ new-sub-path-ps3-rgb24-ref.png \
new-sub-path-quartz-ref.png \
new-sub-path-quartz-rgb24-ref.png \
new-sub-path-ref.png \
@@ -577,21 +638,26 @@ REFERENCE_IMAGES = \
operator-source-rgb24-ref.png \
operator-source-quartz-ref.png \
operator-source-quartz-rgb24-ref.png \
- over-above-source-ps-argb32-ref.png \
+ over-above-source-ps2-argb32-ref.png \
+ over-above-source-ps3-argb32-ref.png \
over-above-source-quartz-ref.png \
over-above-source-quartz-rgb24-ref.png \
over-above-source-ref.png \
over-above-source-rgb24-ref.png \
- over-around-source-ps-argb32-ref.png \
- over-around-source-ps-rgb24-ref.png \
+ over-around-source-ps2-argb32-ref.png \
+ over-around-source-ps3-argb32-ref.png \
+ over-around-source-ps2-rgb24-ref.png \
+ over-around-source-ps3-rgb24-ref.png \
over-around-source-quartz-ref.png \
over-around-source-quartz-rgb24-ref.png \
over-around-source-ref.png \
over-around-source-rgb24-ref.png \
- over-below-source-ps-argb32-ref.png \
+ over-below-source-ps2-argb32-ref.png \
+ over-below-source-ps3-argb32-ref.png \
over-below-source-ref.png \
over-below-source-rgb24-ref.png \
- over-between-source-ps-argb32-ref.png \
+ over-between-source-ps2-argb32-ref.png \
+ over-between-source-ps3-argb32-ref.png \
over-between-source-quartz-ref.png \
over-between-source-quartz-rgb24-ref.png \
over-between-source-ref.png \
@@ -623,24 +689,29 @@ REFERENCE_IMAGES = \
radial-gradient-svg12-ref.png \
radial-gradient-svg11-ref.png \
random-intersections-ref.png \
- random-intersections-ps-ref.png \
+ random-intersections-ps2-ref.png \
+ random-intersections-ps3-ref.png \
random-intersections-quartz-ref.png \
rgb24-ignore-alpha-ref.png \
rectangle-rounding-error-ref.png \
rectilinear-fill-ref.png \
rectilinear-miter-limit-ref.png \
- rectilinear-miter-limit-ps-ref.png \
+ rectilinear-miter-limit-ps2-ref.png \
+ rectilinear-miter-limit-ps3-ref.png \
rectilinear-stroke-ref.png \
reflected-stroke-ref.png \
- reflected-stroke-ps-ref.png \
+ reflected-stroke-ps2-ref.png \
+ reflected-stroke-ps3-ref.png \
reflected-stroke-quartz-ref.png \
rel-path-quartz-ref.png \
rel-path-quartz-rgb24-ref.png \
- rel-path-ps-rgb24-ref.png \
+ rel-path-ps2-rgb24-ref.png \
+ rel-path-ps3-rgb24-ref.png \
rel-path-ref.png \
rel-path-rgb24-ref.png \
rotate-image-surface-paint-pdf-rgb24-ref.png \
- rotate-image-surface-paint-ps-ref.png \
+ rotate-image-surface-paint-ps2-ref.png \
+ rotate-image-surface-paint-ps3-ref.png \
rotate-image-surface-paint-pdf-argb32-ref.png \
rotate-image-surface-paint-quartz-ref.png \
rotate-image-surface-paint-ref.png \
@@ -656,10 +727,12 @@ REFERENCE_IMAGES = \
stroke-ctm-caps-ref.png \
stroke-ctm-caps-quartz-ref.png \
select-font-face-ref.png \
- select-font-face-ps-ref.png \
+ select-font-face-ps2-ref.png \
+ select-font-face-ps3-ref.png \
select-font-face-quartz-ref.png \
self-copy-ref.png \
- self-copy-ps-ref.png \
+ self-copy-ps2-ref.png \
+ self-copy-ps3-ref.png \
self-copy-overlap-ref.png \
self-copy-overlap-rgb24-ref.png \
self-intersecting-ref.png \
@@ -669,13 +742,16 @@ REFERENCE_IMAGES = \
set-source-svg-argb32-ref.png \
show-glyphs-many-ref.png \
show-text-current-point-ref.png \
- show-text-current-point-ps-ref.png \
+ show-text-current-point-ps2-ref.png \
+ show-text-current-point-ps3-ref.png \
show-text-current-point-quartz-ref.png \
skew-extreme-ref.png \
- skew-extreme-ps-ref.png \
+ skew-extreme-ps2-ref.png \
+ skew-extreme-ps3-ref.png \
smask-ref.png \
smask-pdf-ref.png \
- smask-ps-ref.png \
+ smask-ps2-ref.png \
+ smask-ps3-ref.png \
smask-svg12-ref.png \
smask-svg11-ref.png \
smask-fill-ref.png \
@@ -696,35 +772,43 @@ REFERENCE_IMAGES = \
smask-stroke-pdf-ref.png \
smask-text-ref.png \
smask-text-pdf-ref.png \
- smask-text-ps-ref.png \
+ smask-text-ps2-ref.png \
+ smask-text-ps3-ref.png \
smask-text-svg12-ref.png \
smask-text-svg11-ref.png \
stroke-image-ref.png \
stroke-image-pdf-ref.png \
- stroke-image-ps-ref.png \
+ stroke-image-ps2-ref.png \
+ stroke-image-ps3-ref.png \
stroke-image-quartz-ref.png \
solid-pattern-cache-stress-ref.png \
source-clip-ref.png \
source-clip-scale-quartz-ref.png \
- source-clip-scale-ps-argb32-ref.png \
- source-clip-scale-ps-rgb24-ref.png \
+ source-clip-scale-ps2-argb32-ref.png \
+ source-clip-scale-ps3-argb32-ref.png \
+ source-clip-scale-ps2-rgb24-ref.png \
+ source-clip-scale-ps3-rgb24-ref.png \
source-clip-scale-ref.png \
source-clip-scale-svg12-ref.png \
source-clip-scale-svg11-ref.png \
source-clip-scale-pdf-ref.png \
source-surface-scale-paint-ref.png \
source-surface-scale-paint-rgb24-ref.png \
- stroke-ctm-caps-ps-ref.png \
+ stroke-ctm-caps-ps2-ref.png \
+ stroke-ctm-caps-ps3-ref.png \
surface-pattern-big-scale-down-ref.png \
surface-pattern-pdf-argb32-ref.png \
- surface-pattern-ps-argb32-ref.png \
+ surface-pattern-ps2-argb32-ref.png \
+ surface-pattern-ps3-argb32-ref.png \
surface-pattern-ref.png \
surface-pattern-scale-down-pdf-argb32-ref.png \
- surface-pattern-scale-down-ps-argb32-ref.png \
+ surface-pattern-scale-down-ps2-argb32-ref.png \
+ surface-pattern-scale-down-ps3-argb32-ref.png \
surface-pattern-scale-down-ref.png \
surface-pattern-scale-down-quartz-ref.png \
surface-pattern-scale-up-pdf-argb32-ref.png \
- surface-pattern-scale-up-ps-argb32-ref.png \
+ surface-pattern-scale-up-ps2-argb32-ref.png \
+ surface-pattern-scale-up-ps3-argb32-ref.png \
surface-pattern-scale-up-ref.png \
surface-pattern-svg12-ref.png \
surface-pattern-svg11-ref.png \
@@ -737,8 +821,8 @@ REFERENCE_IMAGES = \
text-antialias-subpixel-quartz-ref.png \
text-glyph-range-ref.png \
text-glyph-range-rgb24-ref.png \
- text-pattern-ps-argb32-ref.png \
- text-pattern-ps-rgb24-ref.png \
+ text-pattern-ps3-argb32-ref.png \
+ text-pattern-ps3-rgb24-ref.png \
text-pattern-ref.png \
text-pattern-rgb24-ref.png \
text-pattern-svg-argb32-ref.png \
@@ -749,20 +833,25 @@ REFERENCE_IMAGES = \
text-pattern-quartz-rgb24-ref.png \
text-rotate-ref.png \
text-rotate-pdf-ref.png \
- text-rotate-ps-ref.png \
+ text-rotate-ps2-ref.png \
+ text-rotate-ps3-ref.png \
text-rotate-svg12-ref.png \
text-rotate-svg11-ref.png \
text-rotate-quartz-ref.png \
text-transform-ref.png \
text-transform-pdf-ref.png \
- text-transform-ps-ref.png \
+ text-transform-ps2-ref.png \
+ text-transform-ps3-ref.png \
transforms-ref.png \
- transforms-ps-ref.png \
+ transforms-ps2-ref.png \
+ transforms-ps3-ref.png \
translate-show-surface-ref.png \
trap-clip-quartz-ref.png \
trap-clip-quartz-rgb24-ref.png \
- trap-clip-ps-argb32-ref.png \
- trap-clip-ps-rgb24-ref.png \
+ trap-clip-ps2-argb32-ref.png \
+ trap-clip-ps3-argb32-ref.png \
+ trap-clip-ps2-rgb24-ref.png \
+ trap-clip-ps3-rgb24-ref.png \
trap-clip-ref.png \
trap-clip-rgb24-ref.png \
trap-clip-pdf-argb32-ref.png \
@@ -772,16 +861,19 @@ REFERENCE_IMAGES = \
unbounded-operator-ref.png \
unbounded-operator-rgb24-ref.png \
user-font-ref.png \
- user-font-ps-ref.png \
+ user-font-ps2-ref.png \
+ user-font-ps3-ref.png \
user-font-svg12-ref.png \
user-font-svg11-ref.png \
user-font-proxy-ref.png \
user-font-proxy-pdf-ref.png \
- user-font-proxy-ps-ref.png \
+ user-font-proxy-ps2-ref.png \
+ user-font-proxy-ps3-ref.png \
user-font-proxy-svg12-ref.png \
user-font-proxy-svg11-ref.png \
user-font-rescale-ref.png \
- user-font-rescale-ps-ref.png \
+ user-font-rescale-ps2-ref.png \
+ user-font-rescale-ps3-ref.png \
user-font-rescale-svg12-ref.png \
user-font-rescale-svg11-ref.png \
unbounded-operator-quartz-ref.png \
diff --git a/test/big-line-ps-ref.png b/test/big-line-ps2-ref.png
index 2a4f57c9..2a4f57c9 100644
--- a/test/big-line-ps-ref.png
+++ b/test/big-line-ps2-ref.png
Binary files differ
diff --git a/test/big-line-ps-rgb24-ref.png b/test/big-line-ps2-rgb24-ref.png
index d3d2356c..d3d2356c 100644
--- a/test/big-line-ps-rgb24-ref.png
+++ b/test/big-line-ps2-rgb24-ref.png
Binary files differ
diff --git a/test/big-line-ps3-ref.png b/test/big-line-ps3-ref.png
new file mode 100644
index 00000000..2a4f57c9
--- /dev/null
+++ b/test/big-line-ps3-ref.png
Binary files differ
diff --git a/test/big-line-ps3-rgb24-ref.png b/test/big-line-ps3-rgb24-ref.png
new file mode 100644
index 00000000..d3d2356c
--- /dev/null
+++ b/test/big-line-ps3-rgb24-ref.png
Binary files differ
diff --git a/test/caps-joins-ps-ref.png b/test/caps-joins-ps2-ref.png
index 1d473ac7..1d473ac7 100644
--- a/test/caps-joins-ps-ref.png
+++ b/test/caps-joins-ps2-ref.png
Binary files differ
diff --git a/test/caps-joins-ps3-ref.png b/test/caps-joins-ps3-ref.png
new file mode 100644
index 00000000..1d473ac7
--- /dev/null
+++ b/test/caps-joins-ps3-ref.png
Binary files differ
diff --git a/test/clip-fill-rule-ps-argb32-ref.png b/test/clip-fill-rule-ps2-argb32-ref.png
index 67a89889..67a89889 100644
--- a/test/clip-fill-rule-ps-argb32-ref.png
+++ b/test/clip-fill-rule-ps2-argb32-ref.png
Binary files differ
diff --git a/test/clip-fill-rule-ps-rgb24-ref.png b/test/clip-fill-rule-ps2-rgb24-ref.png
index 0697a42f..0697a42f 100644
--- a/test/clip-fill-rule-ps-rgb24-ref.png
+++ b/test/clip-fill-rule-ps2-rgb24-ref.png
Binary files differ
diff --git a/test/clip-fill-rule-ps3-argb32-ref.png b/test/clip-fill-rule-ps3-argb32-ref.png
new file mode 100644
index 00000000..67a89889
--- /dev/null
+++ b/test/clip-fill-rule-ps3-argb32-ref.png
Binary files differ
diff --git a/test/clip-fill-rule-ps3-rgb24-ref.png b/test/clip-fill-rule-ps3-rgb24-ref.png
new file mode 100644
index 00000000..0697a42f
--- /dev/null
+++ b/test/clip-fill-rule-ps3-rgb24-ref.png
Binary files differ
diff --git a/test/clip-nesting-ps-argb32-ref.png b/test/clip-nesting-ps2-argb32-ref.png
index 41f7160c..41f7160c 100644
--- a/test/clip-nesting-ps-argb32-ref.png
+++ b/test/clip-nesting-ps2-argb32-ref.png
Binary files differ
diff --git a/test/clip-nesting-ps-rgb24-ref.png b/test/clip-nesting-ps2-rgb24-ref.png
index 8238deba..8238deba 100644
--- a/test/clip-nesting-ps-rgb24-ref.png
+++ b/test/clip-nesting-ps2-rgb24-ref.png
Binary files differ
diff --git a/test/clip-nesting-ps3-argb32-ref.png b/test/clip-nesting-ps3-argb32-ref.png
new file mode 100644
index 00000000..41f7160c
--- /dev/null
+++ b/test/clip-nesting-ps3-argb32-ref.png
Binary files differ
diff --git a/test/clip-nesting-ps3-rgb24-ref.png b/test/clip-nesting-ps3-rgb24-ref.png
new file mode 100644
index 00000000..8238deba
--- /dev/null
+++ b/test/clip-nesting-ps3-rgb24-ref.png
Binary files differ
diff --git a/test/clip-operator-ps-rgb24-ref.png b/test/clip-operator-ps2-rgb24-ref.png
index 6ed9fc45..6ed9fc45 100644
--- a/test/clip-operator-ps-rgb24-ref.png
+++ b/test/clip-operator-ps2-rgb24-ref.png
Binary files differ
diff --git a/test/clip-operator-ps3-ref.png b/test/clip-operator-ps3-ref.png
new file mode 100644
index 00000000..dee12ca8
--- /dev/null
+++ b/test/clip-operator-ps3-ref.png
Binary files differ
diff --git a/test/clip-operator-ps3-rgb24-ref.png b/test/clip-operator-ps3-rgb24-ref.png
new file mode 100644
index 00000000..6ed9fc45
--- /dev/null
+++ b/test/clip-operator-ps3-rgb24-ref.png
Binary files differ
diff --git a/test/clip-push-group-ps-argb32-ref.png b/test/clip-push-group-ps2-argb32-ref.png
index 31b32842..31b32842 100644
--- a/test/clip-push-group-ps-argb32-ref.png
+++ b/test/clip-push-group-ps2-argb32-ref.png
Binary files differ
diff --git a/test/clip-push-group-ps-rgb24-ref.png b/test/clip-push-group-ps2-rgb24-ref.png
index 31b32842..31b32842 100644
--- a/test/clip-push-group-ps-rgb24-ref.png
+++ b/test/clip-push-group-ps2-rgb24-ref.png
Binary files differ
diff --git a/test/clip-push-group-ps3-argb32-ref.png b/test/clip-push-group-ps3-argb32-ref.png
new file mode 100644
index 00000000..31b32842
--- /dev/null
+++ b/test/clip-push-group-ps3-argb32-ref.png
Binary files differ
diff --git a/test/clip-push-group-ps3-rgb24-ref.png b/test/clip-push-group-ps3-rgb24-ref.png
new file mode 100644
index 00000000..31b32842
--- /dev/null
+++ b/test/clip-push-group-ps3-rgb24-ref.png
Binary files differ
diff --git a/test/clip-twice-ps-argb32-ref.png b/test/clip-twice-ps2-argb32-ref.png
index 0cb61862..0cb61862 100644
--- a/test/clip-twice-ps-argb32-ref.png
+++ b/test/clip-twice-ps2-argb32-ref.png
Binary files differ
diff --git a/test/clip-twice-ps-rgb24-ref.png b/test/clip-twice-ps2-rgb24-ref.png
index 8a121c40..8a121c40 100644
--- a/test/clip-twice-ps-rgb24-ref.png
+++ b/test/clip-twice-ps2-rgb24-ref.png
Binary files differ
diff --git a/test/clip-twice-ps3-argb32-ref.png b/test/clip-twice-ps3-argb32-ref.png
new file mode 100644
index 00000000..0cb61862
--- /dev/null
+++ b/test/clip-twice-ps3-argb32-ref.png
Binary files differ
diff --git a/test/clip-twice-ps3-rgb24-ref.png b/test/clip-twice-ps3-rgb24-ref.png
new file mode 100644
index 00000000..8a121c40
--- /dev/null
+++ b/test/clip-twice-ps3-rgb24-ref.png
Binary files differ
diff --git a/test/clipped-group-ps-ref.png b/test/clipped-group-ps2-ref.png
index 6ce36709..6ce36709 100644
--- a/test/clipped-group-ps-ref.png
+++ b/test/clipped-group-ps2-ref.png
Binary files differ
diff --git a/test/clipped-group-ps3-ref.png b/test/clipped-group-ps3-ref.png
new file mode 100644
index 00000000..6ce36709
--- /dev/null
+++ b/test/clipped-group-ps3-ref.png
Binary files differ
diff --git a/test/close-path-ps-ref.png b/test/close-path-ps2-ref.png
index e43821c8..e43821c8 100644
--- a/test/close-path-ps-ref.png
+++ b/test/close-path-ps2-ref.png
Binary files differ
diff --git a/test/close-path-ps3-ref.png b/test/close-path-ps3-ref.png
new file mode 100644
index 00000000..e43821c8
--- /dev/null
+++ b/test/close-path-ps3-ref.png
Binary files differ
diff --git a/test/copy-path-ps-ref.png b/test/copy-path-ps2-ref.png
index f66015b2..f66015b2 100644
--- a/test/copy-path-ps-ref.png
+++ b/test/copy-path-ps2-ref.png
Binary files differ
diff --git a/test/copy-path-ps3-ref.png b/test/copy-path-ps3-ref.png
new file mode 100644
index 00000000..f66015b2
--- /dev/null
+++ b/test/copy-path-ps3-ref.png
Binary files differ
diff --git a/test/dash-caps-joins-ps-argb32-ref.png b/test/dash-caps-joins-ps2-argb32-ref.png
index baadcb4e..baadcb4e 100644
--- a/test/dash-caps-joins-ps-argb32-ref.png
+++ b/test/dash-caps-joins-ps2-argb32-ref.png
Binary files differ
diff --git a/test/dash-caps-joins-ps-rgb24-ref.png b/test/dash-caps-joins-ps2-rgb24-ref.png
index baadcb4e..baadcb4e 100644
--- a/test/dash-caps-joins-ps-rgb24-ref.png
+++ b/test/dash-caps-joins-ps2-rgb24-ref.png
Binary files differ
diff --git a/test/dash-caps-joins-ps3-argb32-ref.png b/test/dash-caps-joins-ps3-argb32-ref.png
new file mode 100644
index 00000000..baadcb4e
--- /dev/null
+++ b/test/dash-caps-joins-ps3-argb32-ref.png
Binary files differ
diff --git a/test/dash-caps-joins-ps3-rgb24-ref.png b/test/dash-caps-joins-ps3-rgb24-ref.png
new file mode 100644
index 00000000..baadcb4e
--- /dev/null
+++ b/test/dash-caps-joins-ps3-rgb24-ref.png
Binary files differ
diff --git a/test/dash-curve-ps-ref.png b/test/dash-curve-ps2-ref.png
index 25a768be..25a768be 100644
--- a/test/dash-curve-ps-ref.png
+++ b/test/dash-curve-ps2-ref.png
Binary files differ
diff --git a/test/dash-curve-ps3-ref.png b/test/dash-curve-ps3-ref.png
new file mode 100644
index 00000000..25a768be
--- /dev/null
+++ b/test/dash-curve-ps3-ref.png
Binary files differ
diff --git a/test/dash-scale-ps-argb32-ref.png b/test/dash-scale-ps2-argb32-ref.png
index efe8b119..efe8b119 100644
--- a/test/dash-scale-ps-argb32-ref.png
+++ b/test/dash-scale-ps2-argb32-ref.png
Binary files differ
diff --git a/test/dash-scale-ps-rgb24-ref.png b/test/dash-scale-ps2-rgb24-ref.png
index 5a92f55c..5a92f55c 100644
--- a/test/dash-scale-ps-rgb24-ref.png
+++ b/test/dash-scale-ps2-rgb24-ref.png
Binary files differ
diff --git a/test/dash-scale-ps3-argb32-ref.png b/test/dash-scale-ps3-argb32-ref.png
new file mode 100644
index 00000000..efe8b119
--- /dev/null
+++ b/test/dash-scale-ps3-argb32-ref.png
Binary files differ
diff --git a/test/dash-scale-ps3-rgb24-ref.png b/test/dash-scale-ps3-rgb24-ref.png
new file mode 100644
index 00000000..5a92f55c
--- /dev/null
+++ b/test/dash-scale-ps3-rgb24-ref.png
Binary files differ
diff --git a/test/dash-state-ps-ref.png b/test/dash-state-ps2-ref.png
index ec6904ea..ec6904ea 100644
--- a/test/dash-state-ps-ref.png
+++ b/test/dash-state-ps2-ref.png
Binary files differ
diff --git a/test/dash-state-ps3-ref.png b/test/dash-state-ps3-ref.png
new file mode 100644
index 00000000..ec6904ea
--- /dev/null
+++ b/test/dash-state-ps3-ref.png
Binary files differ
diff --git a/test/dash-zero-length-ps-ref.png b/test/dash-zero-length-ps2-ref.png
index 68fd3fb2..68fd3fb2 100644
--- a/test/dash-zero-length-ps-ref.png
+++ b/test/dash-zero-length-ps2-ref.png
Binary files differ
diff --git a/test/dash-zero-length-ps-rgb24-ref.png b/test/dash-zero-length-ps2-rgb24-ref.png
index 8a4a40fd..8a4a40fd 100644
--- a/test/dash-zero-length-ps-rgb24-ref.png
+++ b/test/dash-zero-length-ps2-rgb24-ref.png
Binary files differ
diff --git a/test/dash-zero-length-ps3-ref.png b/test/dash-zero-length-ps3-ref.png
new file mode 100644
index 00000000..68fd3fb2
--- /dev/null
+++ b/test/dash-zero-length-ps3-ref.png
Binary files differ
diff --git a/test/dash-zero-length-ps3-rgb24-ref.png b/test/dash-zero-length-ps3-rgb24-ref.png
new file mode 100644
index 00000000..8a4a40fd
--- /dev/null
+++ b/test/dash-zero-length-ps3-rgb24-ref.png
Binary files differ
diff --git a/test/degenerate-arc-ps-ref.png b/test/degenerate-arc-ps2-ref.png
index 3cbf4dab..3cbf4dab 100644
--- a/test/degenerate-arc-ps-ref.png
+++ b/test/degenerate-arc-ps2-ref.png
Binary files differ
diff --git a/test/degenerate-arc-ps3-ref.png b/test/degenerate-arc-ps3-ref.png
new file mode 100644
index 00000000..3cbf4dab
--- /dev/null
+++ b/test/degenerate-arc-ps3-ref.png
Binary files differ
diff --git a/test/degenerate-path-ps-argb32-ref.png b/test/degenerate-path-ps2-argb32-ref.png
index 85b9d4ba..85b9d4ba 100644
--- a/test/degenerate-path-ps-argb32-ref.png
+++ b/test/degenerate-path-ps2-argb32-ref.png
Binary files differ
diff --git a/test/degenerate-path-ps-rgb24-ref.png b/test/degenerate-path-ps2-rgb24-ref.png
index 99e6c661..99e6c661 100644
--- a/test/degenerate-path-ps-rgb24-ref.png
+++ b/test/degenerate-path-ps2-rgb24-ref.png
Binary files differ
diff --git a/test/degenerate-path-ps3-argb32-ref.png b/test/degenerate-path-ps3-argb32-ref.png
new file mode 100644
index 00000000..85b9d4ba
--- /dev/null
+++ b/test/degenerate-path-ps3-argb32-ref.png
Binary files differ
diff --git a/test/degenerate-path-ps3-rgb24-ref.png b/test/degenerate-path-ps3-rgb24-ref.png
new file mode 100644
index 00000000..99e6c661
--- /dev/null
+++ b/test/degenerate-path-ps3-rgb24-ref.png
Binary files differ
diff --git a/test/degenerate-pen-ps-ref.png b/test/degenerate-pen-ps2-ref.png
index 2d0f07b7..2d0f07b7 100644
--- a/test/degenerate-pen-ps-ref.png
+++ b/test/degenerate-pen-ps2-ref.png
Binary files differ
diff --git a/test/degenerate-pen-ps3-ref.png b/test/degenerate-pen-ps3-ref.png
new file mode 100644
index 00000000..2d0f07b7
--- /dev/null
+++ b/test/degenerate-pen-ps3-ref.png
Binary files differ
diff --git a/test/device-offset-fractional-ps-ref.png b/test/device-offset-fractional-ps2-ref.png
index 72b144c5..72b144c5 100644
--- a/test/device-offset-fractional-ps-ref.png
+++ b/test/device-offset-fractional-ps2-ref.png
Binary files differ
diff --git a/test/device-offset-fractional-ps3-ref.png b/test/device-offset-fractional-ps3-ref.png
new file mode 100644
index 00000000..72b144c5
--- /dev/null
+++ b/test/device-offset-fractional-ps3-ref.png
Binary files differ
diff --git a/test/extend-reflect-ps-ref.png b/test/extend-reflect-ps2-ref.png
index b33b38d3..b33b38d3 100644
--- a/test/extend-reflect-ps-ref.png
+++ b/test/extend-reflect-ps2-ref.png
Binary files differ
diff --git a/test/extend-reflect-similar-ps-ref.png b/test/extend-reflect-ps3-ref.png
index b33b38d3..b33b38d3 100644
--- a/test/extend-reflect-similar-ps-ref.png
+++ b/test/extend-reflect-ps3-ref.png
Binary files differ
diff --git a/test/extend-reflect-similar-ps2-ref.png b/test/extend-reflect-similar-ps2-ref.png
new file mode 100644
index 00000000..b33b38d3
--- /dev/null
+++ b/test/extend-reflect-similar-ps2-ref.png
Binary files differ
diff --git a/test/extend-reflect-similar-ps3-ref.png b/test/extend-reflect-similar-ps3-ref.png
new file mode 100644
index 00000000..b33b38d3
--- /dev/null
+++ b/test/extend-reflect-similar-ps3-ref.png
Binary files differ
diff --git a/test/fill-alpha-pattern-ps-ref.png b/test/fill-alpha-pattern-ps3-ref.png
index c8d14b11..c8d14b11 100644
--- a/test/fill-alpha-pattern-ps-ref.png
+++ b/test/fill-alpha-pattern-ps3-ref.png
Binary files differ
diff --git a/test/fill-and-stroke-ps-argb32-ref.png b/test/fill-and-stroke-ps2-argb32-ref.png
index 850f0cbb..850f0cbb 100644
--- a/test/fill-and-stroke-ps-argb32-ref.png
+++ b/test/fill-and-stroke-ps2-argb32-ref.png
Binary files differ
diff --git a/test/fill-and-stroke-ps-rgb24-ref.png b/test/fill-and-stroke-ps2-rgb24-ref.png
index 41e39916..41e39916 100644
--- a/test/fill-and-stroke-ps-rgb24-ref.png
+++ b/test/fill-and-stroke-ps2-rgb24-ref.png
Binary files differ
diff --git a/test/fill-and-stroke-ps3-argb32-ref.png b/test/fill-and-stroke-ps3-argb32-ref.png
new file mode 100644
index 00000000..850f0cbb
--- /dev/null
+++ b/test/fill-and-stroke-ps3-argb32-ref.png
Binary files differ
diff --git a/test/fill-and-stroke-ps3-rgb24-ref.png b/test/fill-and-stroke-ps3-rgb24-ref.png
new file mode 100644
index 00000000..41e39916
--- /dev/null
+++ b/test/fill-and-stroke-ps3-rgb24-ref.png
Binary files differ
diff --git a/test/fill-missed-stop-ps-argb32-ref.png b/test/fill-missed-stop-ps2-argb32-ref.png
index b94a7089..b94a7089 100644
--- a/test/fill-missed-stop-ps-argb32-ref.png
+++ b/test/fill-missed-stop-ps2-argb32-ref.png
Binary files differ
diff --git a/test/fill-missed-stop-ps-rgb24-ref.png b/test/fill-missed-stop-ps2-rgb24-ref.png
index fd54c7b1..fd54c7b1 100644
--- a/test/fill-missed-stop-ps-rgb24-ref.png
+++ b/test/fill-missed-stop-ps2-rgb24-ref.png
Binary files differ
diff --git a/test/fill-missed-stop-ps3-argb32-ref.png b/test/fill-missed-stop-ps3-argb32-ref.png
new file mode 100644
index 00000000..b94a7089
--- /dev/null
+++ b/test/fill-missed-stop-ps3-argb32-ref.png
Binary files differ
diff --git a/test/fill-missed-stop-ps3-rgb24-ref.png b/test/fill-missed-stop-ps3-rgb24-ref.png
new file mode 100644
index 00000000..fd54c7b1
--- /dev/null
+++ b/test/fill-missed-stop-ps3-rgb24-ref.png
Binary files differ
diff --git a/test/fill-rule-ps-argb32-ref.png b/test/fill-rule-ps2-argb32-ref.png
index 971b5601..971b5601 100644
--- a/test/fill-rule-ps-argb32-ref.png
+++ b/test/fill-rule-ps2-argb32-ref.png
Binary files differ
diff --git a/test/fill-rule-ps-rgb24-ref.png b/test/fill-rule-ps2-rgb24-ref.png
index 8e1efc24..8e1efc24 100644
--- a/test/fill-rule-ps-rgb24-ref.png
+++ b/test/fill-rule-ps2-rgb24-ref.png
Binary files differ
diff --git a/test/fill-rule-ps3-argb32-ref.png b/test/fill-rule-ps3-argb32-ref.png
new file mode 100644
index 00000000..971b5601
--- /dev/null
+++ b/test/fill-rule-ps3-argb32-ref.png
Binary files differ
diff --git a/test/fill-rule-ps3-rgb24-ref.png b/test/fill-rule-ps3-rgb24-ref.png
new file mode 100644
index 00000000..8e1efc24
--- /dev/null
+++ b/test/fill-rule-ps3-rgb24-ref.png
Binary files differ
diff --git a/test/finer-grained-fallbacks-ps-argb32-ref.png b/test/finer-grained-fallbacks-ps2-argb32-ref.png
index 402f01b8..402f01b8 100644
--- a/test/finer-grained-fallbacks-ps-argb32-ref.png
+++ b/test/finer-grained-fallbacks-ps2-argb32-ref.png
Binary files differ
diff --git a/test/finer-grained-fallbacks-ps-rgb24-ref.png b/test/finer-grained-fallbacks-ps2-rgb24-ref.png
index e821344f..e821344f 100644
--- a/test/finer-grained-fallbacks-ps-rgb24-ref.png
+++ b/test/finer-grained-fallbacks-ps2-rgb24-ref.png
Binary files differ
diff --git a/test/finer-grained-fallbacks-ps3-argb32-ref.png b/test/finer-grained-fallbacks-ps3-argb32-ref.png
new file mode 100644
index 00000000..402f01b8
--- /dev/null
+++ b/test/finer-grained-fallbacks-ps3-argb32-ref.png
Binary files differ
diff --git a/test/finer-grained-fallbacks-ps3-rgb24-ref.png b/test/finer-grained-fallbacks-ps3-rgb24-ref.png
new file mode 100644
index 00000000..e821344f
--- /dev/null
+++ b/test/finer-grained-fallbacks-ps3-rgb24-ref.png
Binary files differ
diff --git a/test/font-matrix-translation-ps-argb32-ref.png b/test/font-matrix-translation-ps2-argb32-ref.png
index 41d05a07..41d05a07 100644
--- a/test/font-matrix-translation-ps-argb32-ref.png
+++ b/test/font-matrix-translation-ps2-argb32-ref.png
Binary files differ
diff --git a/test/font-matrix-translation-ps-rgb24-ref.png b/test/font-matrix-translation-ps2-rgb24-ref.png
index 41d05a07..41d05a07 100644
--- a/test/font-matrix-translation-ps-rgb24-ref.png
+++ b/test/font-matrix-translation-ps2-rgb24-ref.png
Binary files differ
diff --git a/test/font-matrix-translation-ps3-argb32-ref.png b/test/font-matrix-translation-ps3-argb32-ref.png
new file mode 100644
index 00000000..41d05a07
--- /dev/null
+++ b/test/font-matrix-translation-ps3-argb32-ref.png
Binary files differ
diff --git a/test/font-matrix-translation-ps3-rgb24-ref.png b/test/font-matrix-translation-ps3-rgb24-ref.png
new file mode 100644
index 00000000..41d05a07
--- /dev/null
+++ b/test/font-matrix-translation-ps3-rgb24-ref.png
Binary files differ
diff --git a/test/ft-show-glyphs-positioning-ps-ref.png b/test/ft-show-glyphs-positioning-ps2-ref.png
index c5fbf30b..c5fbf30b 100644
--- a/test/ft-show-glyphs-positioning-ps-ref.png
+++ b/test/ft-show-glyphs-positioning-ps2-ref.png
Binary files differ
diff --git a/test/ft-show-glyphs-positioning-ps3-ref.png b/test/ft-show-glyphs-positioning-ps3-ref.png
new file mode 100644
index 00000000..c5fbf30b
--- /dev/null
+++ b/test/ft-show-glyphs-positioning-ps3-ref.png
Binary files differ
diff --git a/test/ft-show-glyphs-table-ps-ref.png b/test/ft-show-glyphs-table-ps2-ref.png
index 5143663f..5143663f 100644
--- a/test/ft-show-glyphs-table-ps-ref.png
+++ b/test/ft-show-glyphs-table-ps2-ref.png
Binary files differ
diff --git a/test/ft-show-glyphs-table-ps3-ref.png b/test/ft-show-glyphs-table-ps3-ref.png
new file mode 100644
index 00000000..5143663f
--- /dev/null
+++ b/test/ft-show-glyphs-table-ps3-ref.png
Binary files differ
diff --git a/test/ft-text-antialias-none-ps-argb32-ref.png b/test/ft-text-antialias-none-ps2-argb32-ref.png
index 4f7ee832..4f7ee832 100644
--- a/test/ft-text-antialias-none-ps-argb32-ref.png
+++ b/test/ft-text-antialias-none-ps2-argb32-ref.png
Binary files differ
diff --git a/test/ft-text-antialias-none-ps3-argb32-ref.png b/test/ft-text-antialias-none-ps3-argb32-ref.png
new file mode 100644
index 00000000..4f7ee832
--- /dev/null
+++ b/test/ft-text-antialias-none-ps3-argb32-ref.png
Binary files differ
diff --git a/test/ft-text-vertical-layout-type1-ps-ref.png b/test/ft-text-vertical-layout-type1-ps2-ref.png
index 4523495b..4523495b 100644
--- a/test/ft-text-vertical-layout-type1-ps-ref.png
+++ b/test/ft-text-vertical-layout-type1-ps2-ref.png
Binary files differ
diff --git a/test/ft-text-vertical-layout-type1-ps3-ref.png b/test/ft-text-vertical-layout-type1-ps3-ref.png
new file mode 100644
index 00000000..4523495b
--- /dev/null
+++ b/test/ft-text-vertical-layout-type1-ps3-ref.png
Binary files differ
diff --git a/test/ft-text-vertical-layout-type3-ps-ref.png b/test/ft-text-vertical-layout-type3-ps2-ref.png
index e6ad8fc0..e6ad8fc0 100644
--- a/test/ft-text-vertical-layout-type3-ps-ref.png
+++ b/test/ft-text-vertical-layout-type3-ps2-ref.png
Binary files differ
diff --git a/test/ft-text-vertical-layout-type3-ps3-ref.png b/test/ft-text-vertical-layout-type3-ps3-ref.png
new file mode 100644
index 00000000..e6ad8fc0
--- /dev/null
+++ b/test/ft-text-vertical-layout-type3-ps3-ref.png
Binary files differ
diff --git a/test/glyph-cache-pressure-ps-ref.png b/test/glyph-cache-pressure-ps2-ref.png
index 88fa4478..88fa4478 100644
--- a/test/glyph-cache-pressure-ps-ref.png
+++ b/test/glyph-cache-pressure-ps2-ref.png
Binary files differ
diff --git a/test/glyph-cache-pressure-ps3-ref.png b/test/glyph-cache-pressure-ps3-ref.png
new file mode 100644
index 00000000..88fa4478
--- /dev/null
+++ b/test/glyph-cache-pressure-ps3-ref.png
Binary files differ
diff --git a/test/gradient-alpha-ps-argb32-ref.png b/test/gradient-alpha-ps2-argb32-ref.png
index 37eafba3..37eafba3 100644
--- a/test/gradient-alpha-ps-argb32-ref.png
+++ b/test/gradient-alpha-ps2-argb32-ref.png
Binary files differ
diff --git a/test/gradient-alpha-ps-rgb24-ref.png b/test/gradient-alpha-ps2-rgb24-ref.png
index 2432c299..2432c299 100644
--- a/test/gradient-alpha-ps-rgb24-ref.png
+++ b/test/gradient-alpha-ps2-rgb24-ref.png
Binary files differ
diff --git a/test/gradient-alpha-ps3-argb32-ref.png b/test/gradient-alpha-ps3-argb32-ref.png
new file mode 100644
index 00000000..37eafba3
--- /dev/null
+++ b/test/gradient-alpha-ps3-argb32-ref.png
Binary files differ
diff --git a/test/gradient-alpha-ps3-rgb24-ref.png b/test/gradient-alpha-ps3-rgb24-ref.png
new file mode 100644
index 00000000..2432c299
--- /dev/null
+++ b/test/gradient-alpha-ps3-rgb24-ref.png
Binary files differ
diff --git a/test/gradient-constant-alpha-ps-ref.png b/test/gradient-constant-alpha-ps2-ref.png
index 7089f4fd..7089f4fd 100644
--- a/test/gradient-constant-alpha-ps-ref.png
+++ b/test/gradient-constant-alpha-ps2-ref.png
Binary files differ
diff --git a/test/gradient-constant-alpha-ps-rgb24-ref.png b/test/gradient-constant-alpha-ps2-rgb24-ref.png
index 5962925f..5962925f 100644
--- a/test/gradient-constant-alpha-ps-rgb24-ref.png
+++ b/test/gradient-constant-alpha-ps2-rgb24-ref.png
Binary files differ
diff --git a/test/gradient-constant-alpha-ps3-ref.png b/test/gradient-constant-alpha-ps3-ref.png
new file mode 100644
index 00000000..7089f4fd
--- /dev/null
+++ b/test/gradient-constant-alpha-ps3-ref.png
Binary files differ
diff --git a/test/gradient-constant-alpha-ps3-rgb24-ref.png b/test/gradient-constant-alpha-ps3-rgb24-ref.png
new file mode 100644
index 00000000..5962925f
--- /dev/null
+++ b/test/gradient-constant-alpha-ps3-rgb24-ref.png
Binary files differ
diff --git a/test/infinite-join-ps-ref.png b/test/infinite-join-ps2-ref.png
index 6fba8f4b..6fba8f4b 100644
--- a/test/infinite-join-ps-ref.png
+++ b/test/infinite-join-ps2-ref.png
Binary files differ
diff --git a/test/infinite-join-ps3-ref.png b/test/infinite-join-ps3-ref.png
new file mode 100644
index 00000000..6fba8f4b
--- /dev/null
+++ b/test/infinite-join-ps3-ref.png
Binary files differ
diff --git a/test/leaky-dash-ps-argb32-ref.png b/test/leaky-dash-ps2-argb32-ref.png
index 93b8640a..93b8640a 100644
--- a/test/leaky-dash-ps-argb32-ref.png
+++ b/test/leaky-dash-ps2-argb32-ref.png
Binary files differ
diff --git a/test/leaky-dash-ps-rgb24-ref.png b/test/leaky-dash-ps2-rgb24-ref.png
index c11eb480..c11eb480 100644
--- a/test/leaky-dash-ps-rgb24-ref.png
+++ b/test/leaky-dash-ps2-rgb24-ref.png
Binary files differ
diff --git a/test/leaky-dash-ps3-argb32-ref.png b/test/leaky-dash-ps3-argb32-ref.png
new file mode 100644
index 00000000..93b8640a
--- /dev/null
+++ b/test/leaky-dash-ps3-argb32-ref.png
Binary files differ
diff --git a/test/leaky-dash-ps3-rgb24-ref.png b/test/leaky-dash-ps3-rgb24-ref.png
new file mode 100644
index 00000000..c11eb480
--- /dev/null
+++ b/test/leaky-dash-ps3-rgb24-ref.png
Binary files differ
diff --git a/test/leaky-dashed-rectangle-ps-ref.png b/test/leaky-dashed-rectangle-ps2-ref.png
index e432de26..e432de26 100644
--- a/test/leaky-dashed-rectangle-ps-ref.png
+++ b/test/leaky-dashed-rectangle-ps2-ref.png
Binary files differ
diff --git a/test/leaky-dashed-rectangle-ps3-ref.png b/test/leaky-dashed-rectangle-ps3-ref.png
new file mode 100644
index 00000000..e432de26
--- /dev/null
+++ b/test/leaky-dashed-rectangle-ps3-ref.png
Binary files differ
diff --git a/test/leaky-polygon-ps-ref.png b/test/leaky-polygon-ps2-ref.png
index 5e8808c4..5e8808c4 100644
--- a/test/leaky-polygon-ps-ref.png
+++ b/test/leaky-polygon-ps2-ref.png
Binary files differ
diff --git a/test/leaky-polygon-ps3-ref.png b/test/leaky-polygon-ps3-ref.png
new file mode 100644
index 00000000..5e8808c4
--- /dev/null
+++ b/test/leaky-polygon-ps3-ref.png
Binary files differ
diff --git a/test/line-width-scale-ps-ref.png b/test/line-width-scale-ps2-ref.png
index 9d95aafa..9d95aafa 100644
--- a/test/line-width-scale-ps-ref.png
+++ b/test/line-width-scale-ps2-ref.png
Binary files differ
diff --git a/test/line-width-scale-ps3-ref.png b/test/line-width-scale-ps3-ref.png
new file mode 100644
index 00000000..9d95aafa
--- /dev/null
+++ b/test/line-width-scale-ps3-ref.png
Binary files differ
diff --git a/test/linear-gradient-ps-ref.png b/test/linear-gradient-ps3-ref.png
index c2fa71b1..c2fa71b1 100644
--- a/test/linear-gradient-ps-ref.png
+++ b/test/linear-gradient-ps3-ref.png
Binary files differ
diff --git a/test/linear-gradient-reflect-ps-ref.png b/test/linear-gradient-reflect-ps3-ref.png
index ea6d25c1..ea6d25c1 100644
--- a/test/linear-gradient-reflect-ps-ref.png
+++ b/test/linear-gradient-reflect-ps3-ref.png
Binary files differ
diff --git a/test/long-dashed-lines-ps-ref.png b/test/long-dashed-lines-ps2-ref.png
index 82484f4f..82484f4f 100644
--- a/test/long-dashed-lines-ps-ref.png
+++ b/test/long-dashed-lines-ps2-ref.png
Binary files differ
diff --git a/test/long-dashed-lines-ps3-ref.png b/test/long-dashed-lines-ps3-ref.png
new file mode 100644
index 00000000..82484f4f
--- /dev/null
+++ b/test/long-dashed-lines-ps3-ref.png
Binary files differ
diff --git a/test/meta-surface-pattern-ps-argb32-ref.png b/test/meta-surface-pattern-ps2-argb32-ref.png
index fbd58ef7..fbd58ef7 100644
--- a/test/meta-surface-pattern-ps-argb32-ref.png
+++ b/test/meta-surface-pattern-ps2-argb32-ref.png
Binary files differ
diff --git a/test/meta-surface-pattern-ps-rgb24-ref.png b/test/meta-surface-pattern-ps2-rgb24-ref.png
index 84da8daf..84da8daf 100644
--- a/test/meta-surface-pattern-ps-rgb24-ref.png
+++ b/test/meta-surface-pattern-ps2-rgb24-ref.png
Binary files differ
diff --git a/test/meta-surface-pattern-ps3-argb32-ref.png b/test/meta-surface-pattern-ps3-argb32-ref.png
new file mode 100644
index 00000000..fbd58ef7
--- /dev/null
+++ b/test/meta-surface-pattern-ps3-argb32-ref.png
Binary files differ
diff --git a/test/meta-surface-pattern-ps3-rgb24-ref.png b/test/meta-surface-pattern-ps3-rgb24-ref.png
new file mode 100644
index 00000000..84da8daf
--- /dev/null
+++ b/test/meta-surface-pattern-ps3-rgb24-ref.png
Binary files differ
diff --git a/test/new-sub-path-ps-argb32-ref.png b/test/new-sub-path-ps2-argb32-ref.png
index 69257d90..69257d90 100644
--- a/test/new-sub-path-ps-argb32-ref.png
+++ b/test/new-sub-path-ps2-argb32-ref.png
Binary files differ
diff --git a/test/new-sub-path-ps-rgb24-ref.png b/test/new-sub-path-ps2-rgb24-ref.png
index bceb5b75..bceb5b75 100644
--- a/test/new-sub-path-ps-rgb24-ref.png
+++ b/test/new-sub-path-ps2-rgb24-ref.png
Binary files differ
diff --git a/test/new-sub-path-ps3-argb32-ref.png b/test/new-sub-path-ps3-argb32-ref.png
new file mode 100644
index 00000000..69257d90
--- /dev/null
+++ b/test/new-sub-path-ps3-argb32-ref.png
Binary files differ
diff --git a/test/new-sub-path-ps3-rgb24-ref.png b/test/new-sub-path-ps3-rgb24-ref.png
new file mode 100644
index 00000000..bceb5b75
--- /dev/null
+++ b/test/new-sub-path-ps3-rgb24-ref.png
Binary files differ
diff --git a/test/over-above-source-ps-argb32-ref.png b/test/over-above-source-ps2-argb32-ref.png
index 886faad4..886faad4 100644
--- a/test/over-above-source-ps-argb32-ref.png
+++ b/test/over-above-source-ps2-argb32-ref.png
Binary files differ
diff --git a/test/over-above-source-ps3-argb32-ref.png b/test/over-above-source-ps3-argb32-ref.png
new file mode 100644
index 00000000..886faad4
--- /dev/null
+++ b/test/over-above-source-ps3-argb32-ref.png
Binary files differ
diff --git a/test/over-around-source-ps-argb32-ref.png b/test/over-around-source-ps2-argb32-ref.png
index ea6de696..ea6de696 100644
--- a/test/over-around-source-ps-argb32-ref.png
+++ b/test/over-around-source-ps2-argb32-ref.png
Binary files differ
diff --git a/test/over-around-source-ps-rgb24-ref.png b/test/over-around-source-ps2-rgb24-ref.png
index ee325eab..ee325eab 100644
--- a/test/over-around-source-ps-rgb24-ref.png
+++ b/test/over-around-source-ps2-rgb24-ref.png
Binary files differ
diff --git a/test/over-around-source-ps3-argb32-ref.png b/test/over-around-source-ps3-argb32-ref.png
new file mode 100644
index 00000000..ea6de696
--- /dev/null
+++ b/test/over-around-source-ps3-argb32-ref.png
Binary files differ
diff --git a/test/over-around-source-ps3-rgb24-ref.png b/test/over-around-source-ps3-rgb24-ref.png
new file mode 100644
index 00000000..ee325eab
--- /dev/null
+++ b/test/over-around-source-ps3-rgb24-ref.png
Binary files differ
diff --git a/test/over-below-source-ps-argb32-ref.png b/test/over-below-source-ps2-argb32-ref.png
index 980ad5f9..980ad5f9 100644
--- a/test/over-below-source-ps-argb32-ref.png
+++ b/test/over-below-source-ps2-argb32-ref.png
Binary files differ
diff --git a/test/over-below-source-ps3-argb32-ref.png b/test/over-below-source-ps3-argb32-ref.png
new file mode 100644
index 00000000..980ad5f9
--- /dev/null
+++ b/test/over-below-source-ps3-argb32-ref.png
Binary files differ
diff --git a/test/over-between-source-ps-argb32-ref.png b/test/over-between-source-ps2-argb32-ref.png
index 43e9424b..43e9424b 100644
--- a/test/over-between-source-ps-argb32-ref.png
+++ b/test/over-between-source-ps2-argb32-ref.png
Binary files differ
diff --git a/test/over-between-source-ps3-argb32-ref.png b/test/over-between-source-ps3-argb32-ref.png
new file mode 100644
index 00000000..43e9424b
--- /dev/null
+++ b/test/over-between-source-ps3-argb32-ref.png
Binary files differ
diff --git a/test/random-intersections-ps-ref.png b/test/random-intersections-ps2-ref.png
index 590c8324..590c8324 100644
--- a/test/random-intersections-ps-ref.png
+++ b/test/random-intersections-ps2-ref.png
Binary files differ
diff --git a/test/random-intersections-ps3-ref.png b/test/random-intersections-ps3-ref.png
new file mode 100644
index 00000000..590c8324
--- /dev/null
+++ b/test/random-intersections-ps3-ref.png
Binary files differ
diff --git a/test/rectilinear-miter-limit-ps-ref.png b/test/rectilinear-miter-limit-ps2-ref.png
index 82130606..82130606 100644
--- a/test/rectilinear-miter-limit-ps-ref.png
+++ b/test/rectilinear-miter-limit-ps2-ref.png
Binary files differ
diff --git a/test/rectilinear-miter-limit-ps3-ref.png b/test/rectilinear-miter-limit-ps3-ref.png
new file mode 100644
index 00000000..82130606
--- /dev/null
+++ b/test/rectilinear-miter-limit-ps3-ref.png
Binary files differ
diff --git a/test/reflected-stroke-ps-ref.png b/test/reflected-stroke-ps2-ref.png
index 6290a176..6290a176 100644
--- a/test/reflected-stroke-ps-ref.png
+++ b/test/reflected-stroke-ps2-ref.png
Binary files differ
diff --git a/test/reflected-stroke-ps3-ref.png b/test/reflected-stroke-ps3-ref.png
new file mode 100644
index 00000000..6290a176
--- /dev/null
+++ b/test/reflected-stroke-ps3-ref.png
Binary files differ
diff --git a/test/rel-path-ps-rgb24-ref.png b/test/rel-path-ps2-rgb24-ref.png
index ccdcebbc..ccdcebbc 100644
--- a/test/rel-path-ps-rgb24-ref.png
+++ b/test/rel-path-ps2-rgb24-ref.png
Binary files differ
diff --git a/test/rel-path-ps3-rgb24-ref.png b/test/rel-path-ps3-rgb24-ref.png
new file mode 100644
index 00000000..ccdcebbc
--- /dev/null
+++ b/test/rel-path-ps3-rgb24-ref.png
Binary files differ
diff --git a/test/rotate-image-surface-paint-ps-ref.png b/test/rotate-image-surface-paint-ps2-ref.png
index dd725064..dd725064 100644
--- a/test/rotate-image-surface-paint-ps-ref.png
+++ b/test/rotate-image-surface-paint-ps2-ref.png
Binary files differ
diff --git a/test/rotate-image-surface-paint-ps3-ref.png b/test/rotate-image-surface-paint-ps3-ref.png
new file mode 100644
index 00000000..dd725064
--- /dev/null
+++ b/test/rotate-image-surface-paint-ps3-ref.png
Binary files differ
diff --git a/test/select-font-face-ps-ref.png b/test/select-font-face-ps2-ref.png
index 6c2f3611..6c2f3611 100644
--- a/test/select-font-face-ps-ref.png
+++ b/test/select-font-face-ps2-ref.png
Binary files differ
diff --git a/test/select-font-face-ps3-ref.png b/test/select-font-face-ps3-ref.png
new file mode 100644
index 00000000..6c2f3611
--- /dev/null
+++ b/test/select-font-face-ps3-ref.png
Binary files differ
diff --git a/test/self-copy-ps-ref.png b/test/self-copy-ps2-ref.png
index 5c9dd577..5c9dd577 100644
--- a/test/self-copy-ps-ref.png
+++ b/test/self-copy-ps2-ref.png
Binary files differ
diff --git a/test/self-copy-ps3-ref.png b/test/self-copy-ps3-ref.png
new file mode 100644
index 00000000..5c9dd577
--- /dev/null
+++ b/test/self-copy-ps3-ref.png
Binary files differ
diff --git a/test/show-text-current-point-ps-ref.png b/test/show-text-current-point-ps2-ref.png
index b42c48e7..b42c48e7 100644
--- a/test/show-text-current-point-ps-ref.png
+++ b/test/show-text-current-point-ps2-ref.png
Binary files differ
diff --git a/test/show-text-current-point-ps3-ref.png b/test/show-text-current-point-ps3-ref.png
new file mode 100644
index 00000000..b42c48e7
--- /dev/null
+++ b/test/show-text-current-point-ps3-ref.png
Binary files differ
diff --git a/test/skew-extreme-ps-ref.png b/test/skew-extreme-ps2-ref.png
index 69f1d374..69f1d374 100644
--- a/test/skew-extreme-ps-ref.png
+++ b/test/skew-extreme-ps2-ref.png
Binary files differ
diff --git a/test/skew-extreme-ps3-ref.png b/test/skew-extreme-ps3-ref.png
new file mode 100644
index 00000000..69f1d374
--- /dev/null
+++ b/test/skew-extreme-ps3-ref.png
Binary files differ
diff --git a/test/smask-ps-ref.png b/test/smask-ps2-ref.png
index c006bbda..c006bbda 100644
--- a/test/smask-ps-ref.png
+++ b/test/smask-ps2-ref.png
Binary files differ
diff --git a/test/smask-ps3-ref.png b/test/smask-ps3-ref.png
new file mode 100644
index 00000000..c006bbda
--- /dev/null
+++ b/test/smask-ps3-ref.png
Binary files differ
diff --git a/test/smask-text-ps-ref.png b/test/smask-text-ps2-ref.png
index ae61325c..ae61325c 100644
--- a/test/smask-text-ps-ref.png
+++ b/test/smask-text-ps2-ref.png
Binary files differ
diff --git a/test/smask-text-ps3-ref.png b/test/smask-text-ps3-ref.png
new file mode 100644
index 00000000..ae61325c
--- /dev/null
+++ b/test/smask-text-ps3-ref.png
Binary files differ
diff --git a/test/source-clip-scale-ps-argb32-ref.png b/test/source-clip-scale-ps2-argb32-ref.png
index be57d772..be57d772 100644
--- a/test/source-clip-scale-ps-argb32-ref.png
+++ b/test/source-clip-scale-ps2-argb32-ref.png
Binary files differ
diff --git a/test/source-clip-scale-ps-rgb24-ref.png b/test/source-clip-scale-ps2-rgb24-ref.png
index be57d772..be57d772 100644
--- a/test/source-clip-scale-ps-rgb24-ref.png
+++ b/test/source-clip-scale-ps2-rgb24-ref.png
Binary files differ
diff --git a/test/source-clip-scale-ps3-argb32-ref.png b/test/source-clip-scale-ps3-argb32-ref.png
new file mode 100644
index 00000000..be57d772
--- /dev/null
+++ b/test/source-clip-scale-ps3-argb32-ref.png
Binary files differ
diff --git a/test/source-clip-scale-ps3-rgb24-ref.png b/test/source-clip-scale-ps3-rgb24-ref.png
new file mode 100644
index 00000000..be57d772
--- /dev/null
+++ b/test/source-clip-scale-ps3-rgb24-ref.png
Binary files differ
diff --git a/test/stroke-ctm-caps-ps-ref.png b/test/stroke-ctm-caps-ps2-ref.png
index 63c10645..63c10645 100644
--- a/test/stroke-ctm-caps-ps-ref.png
+++ b/test/stroke-ctm-caps-ps2-ref.png
Binary files differ
diff --git a/test/stroke-ctm-caps-ps3-ref.png b/test/stroke-ctm-caps-ps3-ref.png
new file mode 100644
index 00000000..63c10645
--- /dev/null
+++ b/test/stroke-ctm-caps-ps3-ref.png
Binary files differ
diff --git a/test/stroke-image-ps-ref.png b/test/stroke-image-ps2-ref.png
index f557c750..f557c750 100644
--- a/test/stroke-image-ps-ref.png
+++ b/test/stroke-image-ps2-ref.png
Binary files differ
diff --git a/test/stroke-image-ps3-ref.png b/test/stroke-image-ps3-ref.png
new file mode 100644
index 00000000..f557c750
--- /dev/null
+++ b/test/stroke-image-ps3-ref.png
Binary files differ
diff --git a/test/surface-pattern-ps-argb32-ref.png b/test/surface-pattern-ps2-argb32-ref.png
index 2ec3a53b..2ec3a53b 100644
--- a/test/surface-pattern-ps-argb32-ref.png
+++ b/test/surface-pattern-ps2-argb32-ref.png
Binary files differ
diff --git a/test/surface-pattern-ps3-argb32-ref.png b/test/surface-pattern-ps3-argb32-ref.png
new file mode 100644
index 00000000..2ec3a53b
--- /dev/null
+++ b/test/surface-pattern-ps3-argb32-ref.png
Binary files differ
diff --git a/test/surface-pattern-scale-down-ps-argb32-ref.png b/test/surface-pattern-scale-down-ps2-argb32-ref.png
index 1f0b3e05..1f0b3e05 100644
--- a/test/surface-pattern-scale-down-ps-argb32-ref.png
+++ b/test/surface-pattern-scale-down-ps2-argb32-ref.png
Binary files differ
diff --git a/test/surface-pattern-scale-down-ps3-argb32-ref.png b/test/surface-pattern-scale-down-ps3-argb32-ref.png
new file mode 100644
index 00000000..1f0b3e05
--- /dev/null
+++ b/test/surface-pattern-scale-down-ps3-argb32-ref.png
Binary files differ
diff --git a/test/surface-pattern-scale-up-ps-argb32-ref.png b/test/surface-pattern-scale-up-ps2-argb32-ref.png
index dc9f8d26..dc9f8d26 100644
--- a/test/surface-pattern-scale-up-ps-argb32-ref.png
+++ b/test/surface-pattern-scale-up-ps2-argb32-ref.png
Binary files differ
diff --git a/test/surface-pattern-scale-up-ps3-argb32-ref.png b/test/surface-pattern-scale-up-ps3-argb32-ref.png
new file mode 100644
index 00000000..dc9f8d26
--- /dev/null
+++ b/test/surface-pattern-scale-up-ps3-argb32-ref.png
Binary files differ
diff --git a/test/text-pattern-ps-argb32-ref.png b/test/text-pattern-ps3-argb32-ref.png
index fa68f643..fa68f643 100644
--- a/test/text-pattern-ps-argb32-ref.png
+++ b/test/text-pattern-ps3-argb32-ref.png
Binary files differ
diff --git a/test/text-pattern-ps-rgb24-ref.png b/test/text-pattern-ps3-rgb24-ref.png
index 943149c7..943149c7 100644
--- a/test/text-pattern-ps-rgb24-ref.png
+++ b/test/text-pattern-ps3-rgb24-ref.png
Binary files differ
diff --git a/test/text-rotate-ps-ref.png b/test/text-rotate-ps2-ref.png
index 125736bf..125736bf 100644
--- a/test/text-rotate-ps-ref.png
+++ b/test/text-rotate-ps2-ref.png
Binary files differ
diff --git a/test/text-rotate-ps3-ref.png b/test/text-rotate-ps3-ref.png
new file mode 100644
index 00000000..125736bf
--- /dev/null
+++ b/test/text-rotate-ps3-ref.png
Binary files differ
diff --git a/test/text-transform-ps-ref.png b/test/text-transform-ps2-ref.png
index 6f33fb6c..6f33fb6c 100644
--- a/test/text-transform-ps-ref.png
+++ b/test/text-transform-ps2-ref.png
Binary files differ
diff --git a/test/text-transform-ps3-ref.png b/test/text-transform-ps3-ref.png
new file mode 100644
index 00000000..6f33fb6c
--- /dev/null
+++ b/test/text-transform-ps3-ref.png
Binary files differ
diff --git a/test/transforms-ps-ref.png b/test/transforms-ps2-ref.png
index 6d195aaf..6d195aaf 100644
--- a/test/transforms-ps-ref.png
+++ b/test/transforms-ps2-ref.png
Binary files differ
diff --git a/test/transforms-ps3-ref.png b/test/transforms-ps3-ref.png
new file mode 100644
index 00000000..6d195aaf
--- /dev/null
+++ b/test/transforms-ps3-ref.png
Binary files differ
diff --git a/test/trap-clip-ps-argb32-ref.png b/test/trap-clip-ps3-argb32-ref.png
index 8bbd1fd3..8bbd1fd3 100644
--- a/test/trap-clip-ps-argb32-ref.png
+++ b/test/trap-clip-ps3-argb32-ref.png
Binary files differ
diff --git a/test/trap-clip-ps-rgb24-ref.png b/test/trap-clip-ps3-rgb24-ref.png
index f3ded801..f3ded801 100644
--- a/test/trap-clip-ps-rgb24-ref.png
+++ b/test/trap-clip-ps3-rgb24-ref.png
Binary files differ
diff --git a/test/user-font-proxy-ps-ref.png b/test/user-font-proxy-ps2-ref.png
index 0d902444..0d902444 100644
--- a/test/user-font-proxy-ps-ref.png
+++ b/test/user-font-proxy-ps2-ref.png
Binary files differ
diff --git a/test/user-font-proxy-ps3-ref.png b/test/user-font-proxy-ps3-ref.png
new file mode 100644
index 00000000..0d902444
--- /dev/null
+++ b/test/user-font-proxy-ps3-ref.png
Binary files differ
diff --git a/test/user-font-ps-ref.png b/test/user-font-ps2-ref.png
index e1dd00ab..e1dd00ab 100644
--- a/test/user-font-ps-ref.png
+++ b/test/user-font-ps2-ref.png
Binary files differ
diff --git a/test/user-font-ps3-ref.png b/test/user-font-ps3-ref.png
new file mode 100644
index 00000000..e1dd00ab
--- /dev/null
+++ b/test/user-font-ps3-ref.png
Binary files differ
diff --git a/test/user-font-rescale-ps-ref.png b/test/user-font-rescale-ps2-ref.png
index 7e112da8..7e112da8 100644
--- a/test/user-font-rescale-ps-ref.png
+++ b/test/user-font-rescale-ps2-ref.png
Binary files differ
diff --git a/test/user-font-rescale-ps3-ref.png b/test/user-font-rescale-ps3-ref.png
new file mode 100644
index 00000000..7e112da8
--- /dev/null
+++ b/test/user-font-rescale-ps3-ref.png
Binary files differ